Как добавить остров из игры Корсары 3 в игру "Пираты Карибского Моря"
Так.
Возьмём для примера один остров. Невис.
Копируешь папку
Корсары 3\RESOURCE\MODELS\Islands\Nevis
Pirates of the Caribbean\RESOURCE\MODELS\Islands\Nevis
потом копируешь папку D:\Games\Корсары 3\RESOURCE\MODELS\Locations\Town_Nevis\
Pirates of the Caribbean\RESOURCE\MODELS\Locations\
потом из папки Корсары 3\RESOURCE\MODELS\Locations\Inside копируешь модели локаций,
которые используются в этом городе...ну например эти папки (в них модели) - bank01, church01, residence01, shipyard01,
store02, Tavern04, Tavern_room. Копируешь их Pirates of the Caribbean\RESOURCE\MODELS\Locations\Inside\
Потом все текстуры, которые используют данные модели копируешь в Pirates of the Caribbean\RESOURCE\Textures\
плюс текстуры, находящиеся в папке Корсары 3\RESOURCE\Textures\lighting
Pirates of the Caribbean\RESOURCE\Textures\lighting.
Копируешь следующим образом:
Из любой из папок day (там их 4, а в ПКМ одна) папку
Корсары 3\RESOURCE\Textures\lighting\day1\locations\Town_Nevis в папку:
Pirates of the Caribbean\RESOURCE\Textures\lighting\day\locations,
из папки evening папку
Корсары 3\RESOURCE\Textures\lighting\evening\locations\Town_Nevis в папку:
Pirates of the Caribbean\RESOURCE\Textures\lighting\evening\locations,
из папки morning папку
Корсары 3\RESOURCE\Textures\lighting\morning\locations\Town_Nevis в папку:
Pirates of the Caribbean\RESOURCE\Textures\lighting\mn\locations,
из папки storm папку
Корсары 3\RESOURCE\Textures\lighting\evening\locations\Town_Nevis в папку:
Pirates of the Caribbean\RESOURCE\Textures\lighting\storm\locations.
Это всё были файлы освещения
.
Далее. Уже посложнее, нужно редактировать скрипты.
Идём первым делом в D:\Games\Pirates of the Caribbean\Program\ISLANDS
и открываем файл Islands_init.c, чтобы добавить остров. Можно скопировать например Conceicao
и внизу после последнего острова добавить:
// ================================================================================
==================
// Nevis
n = n + 1;
Islands[n].id = "Nevis"; - ID острова, нужен будет при создания острова на глобалке.
Islands[n].model = "Nevis"; - модель острова.
Islands[n].filespath.models = "islands\Nevis"; файлы модели острова, которые мы кидали в Pirates of the Caribbean\RESOURCE\MODELS\Islands\Nevis. Это остров который будет рисоваться в море.
Islands[n].refl_model = "Nevis_refl"; - связано с моделью острова...
Islands[n].locators = "Nevis_locators"; - локаторы модели в этом файле
Islands[n].visible = true; - Видим; При значении false будет невидим. (Вроде так.)
Islands[n].smuggling_nation = ENGLAND; - Нация острова.
Islands[n].reload.l1.label = "Порт Невис"; Метка, отображающаяся в меню "доплыть до"
Islands[n].reload.l1.name = "reload_1"; - локатор, где высаживаемся в порт.
Islands[n].reload.l1.go = "Nevis_town"; - локация, которая будет заггружаться после того, как мы нажмём "причалить"
Islands[n].reload.l1.emerge = "reload2"; - В каком месте появимся
Islands[n].reload.l1.radius = 200.0; - радиус
Islands[n].reload.l1.pic = 0; - картинка порта для меню "доплыть до"
Islands[n].reload.l1.tex = "t1"; - имя картинки, на который иконка порта для меню "доплыть до"
Islands[n].reload.l2.label = "Форт Невис"; Метка, отображающаяся в меню "доплыть до"
Islands[n].reload.l2.name = "reload_fort1"; локатор
Islands[n].reload.l2.go = "Nevis_fort";
Islands[n].reload.l2.GoAfterBoard.location = "reload_1";
Islands[n].reload.l2.emerge = "see";
Islands[n].reload.l2.radius = 600.0;
Islands[n].reload.l2.fortname = "fort_Nevis";
Islands[n].reload.l2.fort.model = "Nevis_fort1";
Islands[n].reload.l2.fort.locators = "Nevis_fort1_locators";
Islands[n].reload.l2.pic = 1;
Islands[n].reload.l2.tex = "t1";
Islands[n].InterfaceTextures.t1 = "battle_interface\moor_3.tga"; - текстура с иконкой порта и форта, а так же бухт и т.д., если таковые нужны.
Islands[n].InterfaceTextures.t1.h = 4;
Islands[n].InterfaceTextures.t1.v = 1;
Islands[n].Trade.Export.id1 = GOOD_TOBACCO; // товары, отображающиеся в журнале торговли.
Islands[n].Trade.Export.id2 = GOOD_COFFEE; //Товары экспорта
Islands[n].Trade.Export.id3 = GOOD_COPRA;
Islands[n].Trade.Export.id4 = GOOD_ALE;
Islands[n].Trade.Import.id1 = GOOD_PLANKS; // Товары импорта
Islands[n].Trade.Import.id2 = GOOD_SAILCLOTH;
Islands[n].Trade.Import.id3 = GOOD_WHEAT;
Islands[n].Trade.Import.id4 = GOOD_WINE;
Islands[n].Trade.Contraband.id1 = GOOD_SUGAR; // Контрабандтные товары
Islands[n].Trade.Contraband.id2 = GOOD_LINEN;
Islands[n].Trade.Contraband.id3 = GOOD_RUM;
// Islands[n].Trade.Contraband.id4 = GOOD_SLAVES;
SendMessage(&locator,"le",LM_LOCATE_I,&Islands[n]);
Как делать остров на глобалке читать в теме FAQ по модификациям пост от Жакуина Де Массе.
Вот...Ну ведь нам нужно теперь написать локации невиса и т.д.
Идём дальше...
Идём сюда: Pirates of the Caribbean\Program\Locations\init
и копируем сюда любой файл ".c" из Корсаров 3...Или ПКМ...
Переименуем его в Nevis. Ну а дальше там пишем скрипты локаций...долго объяснять...Я ещё и
Ну я всё таки объясню. Можете скопировать всё написанное ниже мной, только коментарии удалите
:
int LocationInitNevis(int n)
{
// Nevis town
locations[n].id = "Nevis_town"; - ID локации
locations[n].id.label = "Nevis"; - Метка.
locations[n].worldmap = "Nevis"; - Имя города на карте
locations[n].filespath.models = "locations\Town_Nevis\Town\"; - модель города
locations[n].image = "loading\Town.tga"; - Картинка, отображающаяся при загрузке данной локации.
locations[n].citizens = true; - Люди разрешены.
locations[n].soldiers = true; - Солдаты разрешены
//Town sack
locations[n].townsack = "Nevis";
//Sound
locations[n].type = "town";
locations[n].fastreload = "Nevis";
LAi_LocationFantomsGen(&locations[n], true);
//Models
//Always //Всё, связанное с моделями города
locations[n].models.always.town = "Nevis"; - Модель города
locations[n].models.always.L1 = "Nevis_signsA";
Locations[n].models.always.seabed = "Nevis_sb";
locations[n].models.always.locators = "Nevis_locators"; - локаторы для локации
locations[n].models.always.grassPatch = "Nevis_grass"; - Патч травы для локации
locations[n].models.always.plan = "plan1";
locations[n].models.always.plan.level = 9;
//Day
locations[n].models.day.fonar = "Nevis_fd";
locations[n].models.day.charactersPatch = "Nevis_patch_day";
locations[n].models.day.rinok = "Nevis_rinok";
Locations[n].models.always.somemodel1 = "church1"; Начиная отсюда, это модели, которые помещаются в отдельные локаторы, если их не прописать отображаться не будут. Это всё потому что в К3 есть такая фича как апгрейд колоний...Разрушенную церковь починить например можно и т.д. Да, эти модели, а именно: church1, Shipyard1, academy1, huts1, storehouse1, mill1, fishingpier1, обязательно нужно скопировать из Корсары 3\RESOURCE\MODELS\Locations\upgrades в Pirates of the Caribbean\RESOURCE\MODELS\Locations\Town_Nevis\Town, а текстуры, которые используют данные модели скопировать надо в папку: Pirates of the Caribbean\RESOURCE\Textures\
Locations[n].models.always.somemodel1.locator.group = "Upgrades";
Locations[n].models.always.somemodel1.locator.name = "church";
Locations[n].models.always.somemodel2 = "Shipyard3";
Locations[n].models.always.somemodel2.locator.group = "Upgrades";
Locations[n].models.always.somemodel2.locator.name = "shipyard";
Locations[n].models.always.somemodel3 = "academy1";
Locations[n].models.always.somemodel3.locator.group = "Upgrades";
Locations[n].models.always.somemodel3.locator.name = "academy";
Locations[n].models.always.somemodel4 = "huts1";
Locations[n].models.always.somemodel4.locator.group = "Upgrades";
Locations[n].models.always.somemodel4.locator.name = "huts";
Locations[n].models.always.somemodel5 = "storehouse1";
Locations[n].models.always.somemodel5.locator.group = "Upgrades";
Locations[n].models.always.somemodel5.locator.name = "storehouse";
Locations[n].models.always.somemodel6 = "mill1";
Locations[n].models.always.somemodel6.locator.group = "Upgrades";
Locations[n].models.always.somemodel6.locator.name = "mill";
Locations[n].models.always.somemodel7 = "fishingpier1";
Locations[n].models.always.somemodel7.locator.group = "Upgrades";
Locations[n].models.always.somemodel7.locator.name = "fishingpier";
//Night
locations[n].models.night.fonar = "Nevis_fn";
locations[n].models.night.charactersPatch = "Nevis_patch_night";
Locations[n].models.always.somemodel1 = "church1";
Locations[n].models.always.somemodel1.locator.group = "Upgrades";
Locations[n].models.always.somemodel1.locator.name = "church";
Locations[n].models.always.somemodel2 = "Shipyard3";
Locations[n].models.always.somemodel2.locator.group = "Upgrades";
Locations[n].models.always.somemodel2.locator.name = "shipyard";
Locations[n].models.always.somemodel3 = "academy1";
Locations[n].models.always.somemodel3.locator.group = "Upgrades";
Locations[n].models.always.somemodel3.locator.name = "academy";
Locations[n].models.always.somemodel4 = "huts1";
Locations[n].models.always.somemodel4.locator.group = "Upgrades";
Locations[n].models.always.somemodel4.locator.name = "huts";
Locations[n].models.always.somemodel5 = "storehouse1";
Locations[n].models.always.somemodel5.locator.group = "Upgrades";
Locations[n].models.always.somemodel5.locator.name = "storehouse";
Locations[n].models.always.somemodel6 = "mill1";
Locations[n].models.always.somemodel6.locator.group = "Upgrades";
Locations[n].models.always.somemodel6.locator.name = "mill";
Locations[n].models.always.somemodel7 = "fishingpier1";
Locations[n].models.always.somemodel7.locator.group = "Upgrades";
Locations[n].models.always.somemodel7.locator.name = "fishingpier";
//Environment
locations[n].environment.weather = "true"; Погода разрешена, если написать значение false то не будет.
locations[n].environment.sea = "true"; Море разрешено, если написать значение false то не будет. Этож порт
. Значит надо оставить так как есть.
//Reload map // теперь же нам нужно будет видеть локаторы, как это сделать, читать в теме FAQ по модификациям пост от Жакуина Де Массе.
locations[n].reload.l1.name = "reload1_back"; имя локатора, находясь в котором и нажав действие мы окажемся в море, то есть в водах Невиса.
locations[n].reload.l1.go = "Nevis"; - Куда попадём
locations[n].reload.l1.emerge = "reload_1"; - Где появимся, то есть в в каком локаторе на Nevis. Оставьте всё как есть.
locations[n].reload.l1.autoreload = "0"; - автопереход, который не требует нажатия кнопки действия, пробела обычно, если значение "0" то не работает, если "1" то будет работать.
locations[n].reload.l1.label = "Море"; - Метка локаци в которую переход по этому локатору.
locations[n].locators_radius.reload.reload1_back = 1.8; - радиус локатора.
locations[n].reload.l3.name = "reload3_back";
locations[n].reload.l3.go = "Nevis_townhall"; - куда попадём, в данном случае Резиденция
locations[n].reload.l3.emerge = "reload1";
locations[n].reload.l3.autoreload = "0";
locations[n].reload.l3.label = "Резиденция";
Locations[n].reload.l3.close_for_night = 1; - параметр, который запрещает доступ в локацию ночью, если потавить 0, то работать небудет, если 1 будет, а если убрать этот параметр, то ночью можно будет спокойно заходить в локацию.
locations[n].reload.l4.name = "reload4_back";
locations[n].reload.l4.go = "Nevis_tavern"; - куда попадём, в данном случае таверна
locations[n].reload.l4.emerge = "reload1";
locations[n].reload.l4.autoreload = "0";
locations[n].reload.l4.label = "Таверна";
locations[n].reload.l5.name = "reload5_back";
locations[n].reload.l5.go = "Nevis_shipyard"; - куда попадём, в данном случае верфь.
locations[n].reload.l5.emerge = "reload1";
locations[n].reload.l5.autoreload = "0";
locations[n].reload.l5.label = "Верфь";
Locations[n].reload.l5.close_for_night = 1;
locations[n].reload.l6.name = "reload6_back";
locations[n].reload.l6.go = "Nevis_store"; - куда попадём, в данном случае магазин.
locations[n].reload.l6.emerge = "reload1";
locations[n].reload.l6.autoreload = "0";
locations[n].reload.l6.label = "Магазин";
Locations[n].reload.l6.close_for_night = 1;
locations[n].reload.l7.name = "reload7_back";
locations[n].reload.l7.go = "Nevis_church"; - куда попадём, в данном случае церковь.
locations[n].reload.l7.emerge = "reload1";
locations[n].reload.l7.autoreload = "0";
locations[n].reload.l7.label = "Церковь";
Locations[n].reload.l7.close_for_night = 1;
locations[n].reload.l8.name = "reload8_back";
locations[n].reload.l8.go = "Nevis_bank"; - куда попадём, в данном случае дом ростовщика.
locations[n].reload.l8.emerge = "reload1";
locations[n].reload.l8.autoreload = "0";
locations[n].reload.l8.label = "Ростовщик";
Locations[n].reload.l8.close_for_night = 1;
n = n + 1;
// Tavern
locations[n].id = "Nevis_tavern"; - id локации, как вы видели, используется вот здесь locations[n].reload.l4.name = "reload4_back";
locations[n].id.label = "Таверна"; - Метка локации
locations[n].filespath.models = "locations\inside\Tavern01\"; - Модель локации
locations[n].image = "loading\Tavern.tga"; - Картинка, отображающаяся при загрузке данной локации.
locations[n].habitues = 1;
//Town sack
locations[n].townsack = "Nevis";
Locations[n].lockWeather = "Inside";
//Sound
locations[n].type = "tavern";
locations[n].fastreload = "Nevis";
//Models // Опять же всё, что связано с моделями.
//Always
locations[n].models.always.tavern = "Tavern01";
locations[n].models.always.locators = "Tavern01_locators";
locations[n].models.always.window = "tavern01_windows";
locations[n].models.always.window.tech = "LocationWindows";
locations[n].models.always.window.level = 50;
//Day
locations[n].models.day.charactersPatch = "Tavern01_patch";
//Night
locations[n].models.night.charactersPatch = "Tavern01_patch";
//Environment
locations[n].environment.weather = "false"; - Погода запрещена в даннном случае, в таверне всё ж
locations[n].environment.sea = "false"; - Море запрещено
//Reload map
locations[n].reload.l1.name = "reload1_back"; Локатор выхода, нам надо выйти в город.
locations[n].reload.l1.go = "Nevis_town";
locations[n].reload.l1.emerge = "reload4"; локатор, в котором появимся в след.локации.
locations[n].reload.l1.autoreload = "0";
locations[n].reload.l1.label = "Невис";
LAi_LocationFightDisable(&locations[n], true); - Тот самый параметр, который и делает "Здесь не стоит обнажать оружие, если эту строчку стереть, то оружие можно будет доставать."
n = n + 1;
И собственно все остальные абсолютно аналогично.
// Tavern room
locations[n].id = "Nevis_tavern_upstairs";
locations[n].id.label = "Комната";
locations[n].image = "loading\Tavern_512.tga";
//Town sack
locations[n].townsack = "Nevis";
Locations[n].lockWeather = "Inside";
//Sound
locations[n].type = "house";
locations[n].fastreload = "Nevis";
//Models
//Always
locations[n].filespath.models = "locations\inside\Tavern_room";
locations[n].models.always.locators = "Tavern_room_locators";
locations[n].models.always.tavern = "Tavern_room";
locations[n].models.always.window = "tavern_room_window";
locations[n].models.always.window.tech = "LocationWindows";
locations[n].models.always.window.level = 50;
//Day
locations[n].models.day.charactersPatch = "Tavern_room_patch";
//Night
locations[n].models.night.charactersPatch = "Tavern_room_patch";
//Environment
locations[n].environment.weather = "false";
locations[n].environment.sea = "false";
//Reload map
locations[n].reload.l1.name = "reload1_back";
locations[n].reload.l1.go = "Nevis_tavern";
locations[n].reload.l1.emerge = "reload2";
locations[n].reload.l1.autoreload = "0";
locations[n].reload.l1.label = "Таверна";
locations[n].locators_radius.reload.reload1 = 0.8;
n = n + 1;
// Store
locations[n].id = "Nevis_store";
locations[n].id.label = "Магазин";
locations[n].filespath.models = "locations\inside\Store01\";
locations[n].image = "loading\Store.tga";
//Town sack
locations[n].townsack = "Nevis";
Locations[n].lockWeather = "Inside";
//Sound
locations[n].type = "shop";
locations[n].fastreload = "Nevis";
//Models
//Always
locations[n].models.always.locators = "Store01_locators";
locations[n].models.always.store = "Store01";
locations[n].models.always.window = "store01_window";
locations[n].models.always.window.tech = "LocationWindows";
locations[n].models.always.window.level = 50;
//Day
locations[n].models.day.charactersPatch = "Store01_patch";
//Night
locations[n].models.night.charactersPatch = "Store01_patch";
//Environment
locations[n].environment.weather = "false";
locations[n].environment.sea = "false";
//Reload map
locations[n].reload.l1.name = "reload1_back";
locations[n].reload.l1.go = "Nevis_town";
locations[n].reload.l1.emerge = "reload6";
locations[n].reload.l1.autoreload = "0";
locations[n].reload.l1.label = "Невис";
LAi_LocationFightDisable(&locations[n], true);
n = n + 1;
// Bank
locations[n].id = "Nevis_bank";
locations[n].id.label = "Ростовщик";
locations[n].filespath.models = "locations\inside\Bank01\";
locations[n].image = "loading\Bank.tga";
//Town sack
locations[n].townsack = "Nevis";
Locations[n].lockWeather = "Inside";
//Sound
locations[n].type = "house";
locations[n].fastreload = "Nevis";
//Models
//Always
locations[n].models.always.locators = "Bank01_locators";
locations[n].models.always.store = "Bank01";
locations[n].models.always.window = "bank01_windows";
locations[n].models.always.window.tech = "LocationWindows";
locations[n].models.always.window.level = 50;
//Day
locations[n].models.day.charactersPatch = "Bank01_patch";
//Night
locations[n].models.night.charactersPatch = "Bank01_patch";
//Environment
locations[n].environment.weather = "false";
locations[n].environment.sea = "false";
//Reload map
locations[n].reload.l1.name = "reload1_back";
locations[n].reload.l1.go = "Nevis_town";
locations[n].reload.l1.emerge = "reload8";
locations[n].reload.l1.autoreload = "0";
locations[n].reload.l1.label = "Невис";
LAi_LocationFightDisable(&locations[n], true);
n = n + 1;
// Shipyard
locations[n].id = "Nevis_Shipyard";
locations[n].id.label = "Верфь";
locations[n].filespath.models = "locations\inside\Shipyard01\";
locations[n].image = "loading\Shipyard.tga";
//Town sack
locations[n].townsack = "Nevis";
Locations[n].lockWeather = "Inside";
//Sound
locations[n].type = "shipyard";
locations[n].fastreload = "Nevis";
//Models
//Always
locations[n].models.always.locators = "Shipyard01_locators";
locations[n].models.always.shipyard = "Shipyard01";
//Day
locations[n].models.day.charactersPatch = "Shipyard01_patch";
//Night
locations[n].models.night.charactersPatch = "Shipyard01_patch";
//Environment
locations[n].environment.weather = "false";
locations[n].environment.sea = "false";
//Reload map
locations[n].reload.l1.name = "reload1_back";
locations[n].reload.l1.go = "Nevis_town";
locations[n].reload.l1.emerge = "reload5";
locations[n].reload.l1.autoreload = "0";
locations[n].reload.l1.label = "Невис";
LAi_LocationFightDisable(&locations[n], true);
n = n + 1;
// Residence
locations[n].id = "Nevis_townhall";
locations[n].id.label = "Резиденция";
locations[n].filespath.models = "locations\inside\Residence01";
locations[n].image = "loading\Residence.tga";
//Town sack
locations[n].townsack = "Nevis";
Locations[n].lockWeather = "Inside";
//Sound
locations[n].type = "residence";
locations[n].fastreload = "Nevis";
//Models
//Always
locations[n].models.always.locators = "Residence01_locators";
locations[n].models.always.l1 = "Residence01";
locations[n].models.always.window = "residence01_window";
locations[n].models.always.window.tech = "LocationWindows";
locations[n].models.always.window.level = 50;
//Day
locations[n].models.day.charactersPatch = "Residence01_patch";
//Night
locations[n].models.night.charactersPatch = "Residence01_patch";
//Environment
locations[n].environment.weather = "false";
locations[n].environment.sea = "false";
//Reload map
locations[n].reload.l1.name = "reload1_back";
locations[n].reload.l1.go = "Nevis_town";
locations[n].reload.l1.emerge = "reload3";
locations[n].reload.l1.autoreload = "0";
locations[n].reload.l1.label = "Невис";
LAi_LocationFightDisable(&locations[n], true);
locations[n].locators_radius.reload.dialog_event = 0.2;
locations[n].locators_radius.camdetector.dialog_event = 2.2;
n = n + 1;
// Church
locations[n].id = "Nevis_church";
locations[n].id.label = "Церковь";
locations[n].image = "loading\Church.tga";
//Town sack
locations[n].townsack = "Nevis";
Locations[n].lockWeather = "Inside";
//Sound
locations[n].type = "church";
locations[n].fastreload = "Nevis";
//Models
//Always
locations[n].filespath.models = "locations\inside\Church01";
locations[n].models.always.locators = "Church01_locators";
locations[n].models.always.tavern = "Church01";
locations[n].models.always.window = "church01_window";
locations[n].models.always.window.tech = "LocationWindows";
locations[n].models.always.window.level = 50;
//Day
locations[n].models.day.charactersPatch = "Church01_patch";
//Night
locations[n].models.night.charactersPatch = "Church01_patch";
//Environment
locations[n].environment.weather = "false";
locations[n].environment.sea = "false";
//Reload map
locations[n].reload.l1.name = "reload1_back";
locations[n].reload.l1.go = "Nevis_town";
locations[n].reload.l1.emerge = "reload7";
locations[n].reload.l1.autoreload = "0";
locations[n].reload.l1.label = "Невис";
n = n + 1;
ВОТ И ВСЁ!!!
Далее.
Открываем файл Pirates of the Caribbean\Program\Locations\locations_init.c
и ищём секцию, она в самом начале:
#include "locations\init\FalaiseDeFleur.c"
#include "locations\init\Redmond.c"
#include "locations\init\IslaMuelle.c"
#include "locations\init\Oxbay.c"
#include "locations\init\QuebradasCostillas.c"
#include "locations\init\Douwesen.c"
#include "locations\init\KhaelRoa.c"
#include "locations\init\Conceicao.c"
#include "locations\init\QuestLocations.c"
#include "locations\init\boarding.c"
и добавляем после последней строчки строчку:
#include "locations\init\Nevis.c"
дальше идём сюда: Pirates of the Caribbean\Program\Characters и открываем файл characters_init.c
также ищем секцию
#include "characters\init\FalaiseDeFleur.c"
#include "characters\init\Redmond.c"
#include "characters\init\IslaMuelle.c"
#include "characters\init\Oxbay.c"
#include "characters\init\Conceicao.c"
#include "characters\init\Douwesen.c"
#include "characters\init\officers.c"
#include "characters\init\StoryCharacters.c"
#include "characters\init\TempQuestCharacters.c"
#include "characters\init\Other.c"
#include "characters\init\QuebradasCostillas.c"
#include "characters\init\TempQuestEnemy.c"
#include "characters\init\FortCommandants.c"
#include "characters\init\Usurers.c"
#include "characters\init\Item Traders.c"
и также после последней строчки добавляем
#include "characters\init\Nevis.c"
идём вниз этого же файла
и ищем секцию ReloadProgressUpdate();
и после строки n = CreateQuebradasCostillasCharacters(n); ниже добавляем следующее:
ReloadProgressUpdate();
n = CreateNevisCharacters(n);
ReloadProgressUpdate();
далее закрываем этот файл и идём сюда: Pirates of the Caribbean\Program\Characters\init - это файл персонажей города.
И здесь нужно скопировать например файл Oxbay.c и переименовать его в Nevis.c...Инструкцию, как создавать персонажей
можете прочитать также в теме FAQ по модификациям пост от Жакуина Де Массе.
Идём дальше...Чтобы нормально отображалсь картинка острова в журнале торговли нужно прописать к ней путь в файле
Pirates of the Caribbean\RESOURCE\INI\INTERFACES\pictures.ini в секции:
[ISLANDSICON]
stextureName = small_islands.tga
wTextureWidth = 512
wTextureHeight = 256
picture = Redmond,0,0,128,128
picture = Conceicao,128,0,256,128
picture = Douwesen,256,0,384,128
picture = IslaMuelle,384,0,512,128
picture = Oxbay,0,128,128,256
picture = FalaiseDeFleur,128,128,256,256
picture = QuebradasCostillas,256,128,384,256
picture = KhaelRoa,384,128,512,256
и после посл.строчки добавить:
picture = Nevis, и пропишите также как предыдущие.
Чтобы добавить модель острова на глобальную карту необходимо саму модель перемоделировать, она здесь:
Pirates of the Caribbean\RESOURCE\MODELS\WorldMap\islands.gm
По моему есть какой то другой способ, без моделирования, но его я еще не нашёл
.
Ещё в файле Pirates of the Caribbean\Program\Characters\init\FortCommandants.c нужно создать коменданта форта Невиса, просто
скопируйте ничего не изменяя конец файла это:
makeref(ch,Characters[n]); //Командир гарнизона на Невисе
ch.name = "Форт Невис";
ch.lastname = "Commandant";
ch.id = "Nevis Commander";
ch.model = "Soldier_eng3";
ch.sex = "man";
ch.act.type = "Soldier";
ch.location = "Redmond";
ch.location.group = "reload";
ch.location.locator = "reload_fort1";
ch.nation = ENGLAND;
ch.rank = 1;
ch.reputation = "None";
ch.experience = "0";
ch.skill.Leadership = "6";
ch.skill.Fencing = "9";
ch.skill.Sailing = "1";
ch.skill.Accuracy = "9";
ch.skill.Cannons = "5";
ch.skill.Grappling = "1";
ch.skill.Repair = "1";
ch.skill.Defence = "8";
ch.skill.Commerce = "1";
ch.skill.Sneak = "1";
ch.money = "10";
ch.ship.type = SHIP_FORT;
ch.Fort.Cannons.Charge.Type = GOOD_BOMBS;
ch.Fort.Cannons.Type.1 = CANNON_TYPE_CULVERINE_LBS24;
ch.Fort.Cannons.Type.2 = CANNON_TYPE_CANNON_LBS32;
LAi_SetHP(ch, 100.0, 100.0);
n = n + 1;
Ещё нужно создать кой чаво, чтобы можно было этот самый форт захватить
...Для этого идём сюда:
Pirates of the Caribbean\Program\Locations\init\boarding.c и спускаемся ниже к секции FORTS...Скопируйте это:
// -------------------------------------------------
// ------------------------------------Nevis_fort
//ID
Locations[n].id = "Nevis_fort";
locations[n].id.label = "Fort inside";
//Info
Locations[n].filespath.models = "locations\Fort_inside\Fort_1\";
Locations[n].image = "loading\Fort.tga";
//Sound
locations[n].type = "deck";
//Models
//Always
Locations[n].models.always.locators = "fort1_l";
Locations[n].models.always.l1 = "fort1";
//Day
Locations[n].models.day.charactersPatch = "fort1_p";
Locations[n].models.day.fonar = "fort1_fd";
//Night
Locations[n].models.night.charactersPatch = "fort1_p";
Locations[n].models.night.fonar = "fort1_fn";
//Environment
Locations[n].environment.weather = "true";
Locations[n].environment.sea = "false";
Locations[n].boarding = "fort";
Locations[n].boarding.nextdeck = "NEXT1_Nevis_fort";
n = n + 1;
//ID
Locations[n].id = "NEXT1_Nevis_fort";
Locations[n].id.label = "Boarding deck";
//Info
Locations[n].filespath.models = "locations\Fort_inside\Fort_2\";
Locations[n].image = "loading\Fort.tga";
//Sound
Locations[n].type = "deck";
//Models
//Always
Locations[n].models.always.locators = "fort2_l";
Locations[n].models.always.l1 = "fort2";
//Day
Locations[n].models.day.charactersPatch = "fort2_p";
Locations[n].models.day.fonar = "fort2_fd";
//Night
Locations[n].models.night.charactersPatch = "fort2_p";
Locations[n].models.night.fonar = "fort2_fn";
//Environment
Locations[n].environment.weather = "true";
Locations[n].environment.sea = "true";
Locations[n].boarding = "fort";
Locations[n].boarding.nextdeck = "NEXT2_Nevis_fort";
n = n + 1;
//ID
Locations[n].id = "NEXT2_Nevis_fort";
Locations[n].id.label = "Boarding deck";
//Info
Locations[n].filespath.models = "locations\Fort_inside\Fort_3\";
Locations[n].image = "loading\Fort.tga";
//Sound
Locations[n].type = "deck";
//Models
//Always
Locations[n].models.always.locators = "fort3_l";
Locations[n].models.always.l1 = "fort3";
//Day
Locations[n].models.day.charactersPatch = "fort3_p";
Locations[n].models.day.fonar = "fort3_fd";
//Night
Locations[n].models.night.charactersPatch = "fort3_p";
Locations[n].models.night.fonar = "fort3_fn";
//Environment
Locations[n].environment.weather = "true";
Locations[n].environment.sea = "true";
Locations[n].boarding = "fort";
Locations[n].boarding.nextdeck = "";
n = n + 1;
Ну вот собственно и всё. Я описал лишь самое важное вкратце для того чтобы только добавить остров!