Seaward.ru

Здравствуйте, гость ( Вход | Регистрация )

> Составление FAQ по модификациям, прнимается помощь всех желающих
Dogeva
сообщение Apr 25 2006, 00:56
Сообщение #1


Расплетающая Сновидения
******

Ветеран ФорумаЗаслуженный Художник
Группа: форумчанин
Сообщений: 852
Регистрация: 10-February 06
Пользователь №: 2,632



предлагаю всем добрым и умным человекам 1.gif собраться и составить ФАК по внесениям модификаций в аддон. причина проста - обычно спрашивают одни и те же вопросы вроде "а как изменить текстуру гг", "а как вставить ее в игру" и т.д. dry.gif поэтому все желающие помочь вэлком! 3.gif

для примера приведу пост, найденный в "Готовых интерфейсах":
Цитата(SONIkom @ Jan 4 2006, 03:53) *

ФАК по созданию собственного интерфейса в ВМЛ.

Введение.
Для того чтобы создать интерфейс в ВМЛ, разработчикам пришлось придерживаться нескольких правил: 1-е правило из которых было создать мультиплатформенную систему интерфейса (для ПК и консоли Xbox), что означает приминение не только указателя мыши, но и кнопок джойстика. Для удобства управления джойстиком ессесно нужно чтобы иконки, кнопки и другие элементы управления находились в четырех (максимум для крестика геймпада) сторонах. В то же время, мышью по ним тоже можно тыкать, но это уже не интересно для ПК-шников. Поэтому команда аддонтима переделывала интерфейс под привычную компьютерную мышь.
Для этого им пришлось полностью перевернуть кверх дном каталог "игра\RESOURCE\INI\INTERFACES", где на языке С-подобном приписаны координаты элементов управления интерфейсом (кнопки, иконки, фоны и др.), цветовая гамма, анимация фона и др. полезные вещи. Естесственно в этих *.ini файлах прописаны названия текстур этих самых элементов. Вот о них-то нам и нужно знать...

Начнем.
Каждый для себя может делать свой интерфейс и в *.ini файлах, но эти файлы еще в стадии разработки и, поэтому, их редактировать смысла мало - все-равно с каждым обновлением они меняются (ну, почти с каждым). Мы будем переделывать файлы текстур для ПКМ и ВМЛ. Чтобы их переделать, нужно иметь под рукой Фотошоп, tx_convertor, запущенную игру ВМЛ в оконном! режиме, мозги, руки и... кофе.

- Почти каждая текстура имеет альфа-канал, нужно уметь с ним работать
- ПРАВКА!!! - Для того, чтобы правильно отредактировать альфа-канал в текстуре см. самый конец ФАК'а - раздел HELP.
- Почти каждая текстура разделена на несколько более мелких, не накладывайте одну на другую, старайтесь не менять положения иконок
- Все текстуры сохранены в формате *.tga.tx - т.е. они открываются в tx_converter, конвертируются в формат *.tga, ред-ся в Фотошопе, а потом конв-ся в *.tga.tx.
- Если возникают вопросы, спрашивайте на форуме, не надо почты!!! на форуме много народа, которые знают тоже, что и я...
- ПРАВКА!!!: вверху при конвертировании из tx и обратно, вверху и внизу ставим на A8R8G8B8... справа "none", внизу всего: (*)minimum mip size, и слайдер влево до упора (1 pix)

Каталоги, которые нам необходимы (я бы на вашем месте перед работой сделал бы их копию):

1. Resource\Textures\Interfaces - бОльшая часть всех элементов интерфейса
2. Resource\Textures\DIALOG - меню диалогов
3. Resource\Textures\BATTLE_INTERFACE - иконки действий в море, на суше
4. Resource\Textures\Fonts - в ней шрифты
5. Resource\Textures\Loading - *опционально, фоны при загрузках.
6. Resource\Textures\TextureSequence - фоны кнопок управления+анимация фона в главном меню

* - этого я не редактировал, мне нравятся оригинальные.

=====================================================Итак, начнем с 1-го:

_"Resource\Textures\Interfaces" файлы, нам интересные, там есть много чего, но это по вашему желанию, я привел тока самое необходимое

blank_ship.tga.tx - кораблика нет (иконка)
buy_sell.tga.tx
buySellFlags.tga.tx
cannons.tga.tx - пушки (иконки)
CorruptSave.tga.tx - редкость, но нада - иконка плохого сохранения
Cursor32.tga.tx - курсор, меня устроил базовый
DisketaEmpty.tga.tx |
DisketaSave.tga.tx | текстуры из меню сохр\загр
EmptyFace.tga.tx |
EmptyBorder.tga.tx - пустая рамка (жел-но схожая из icons.tga.tx)
ExchangeButtons.tga.tx - кнопки меню обмен
FortPris.tga.tx - заставка при захвате форта
glowbutton.tga.tx - подсветка кнопок (мона закрасить черной альфа, она исчезнет)
goods.tga.tx - иконки товаров
Hold.tga.tx - изображение трюма в меню покупок
icons.tga.tx - самое большое сборище всех основных элементов (не забудьте про
альфа-канал!!!)
icons_spec.tga.tx - дополнительные элементы управления (в том числе крестик
закрытия окна)
items1-11.tga.tx - иконки вещей, самый настоящий гемор переделки:)
old_map.tga.tx - на фоне главного меню игры есть старая карта, перемещающаяся по
экрану в разные стороны, это она и есть (я переделал в
дым: Photoshop->фильтр dClouds)
perkuse.tga.tx - галка применяемого перка
scroll.tga.tx - фон для меню журнала, статистики, цен на товары...
ship_status.tga.tx - иконки состояния: Корпус\Паруса\Пушки\Команда из меню корабля
Slider_line\line_base\pointes.tga.tx - слайдеры из меню настроек яркости, звука...
small_islands.tga.tx - острова из меню торговли (импорт\экспорт\контрабанда, там они вверху прокручиваются)
Store.tga.tx - (из темы Hold.tga.tx) - изображение склада магазина в меню торговли
swapItem.tga.tx - (из темы ExchangeButtons.tga.tx) кнопка обмена вещами
usedflag.tga.tx - тоже самое в perkuse.tga.tx только для чего-то другого
z_salay.tga.tx - заставка выдачи зарплаты

...Продолжаем...

_"Resource\Textures\Interfaces\Circle"
circle1.tga.tx | круги из главного меню ПКМ, да и в ВМЛ
circle2.tga.tx | они тоже есть
circle3.tga.tx - в игре не нашел...

_"Resource\Textures\Interfaces\MainBack" - фоны в меню
mb1.tga.tx
mb2.tga.tx
mb3.tga.tx - фон в главном меню
ship copy.tga.tx

_"Resource\Textures\Interfaces\Perks" - *опционально, по желанию

_"Resource\Textures\Interfaces\Portraits" - *опционально, по желанию
\128 - 128x128, 16bpp цвет
\64 - 64x64, 16bpp цвет
\64Disable - 64x64, 16bpp черн\бел

=====================================================Следующий - 2й
_"Resource\Textures\DIALOG"
dialog.tga.tx - Здесь интерфес общения со всеми npc, да, и только здесь (был где-то еще,
но он для ПКМ)

=====================================================Следующий - 3й
_"Resource\Textures\BATTLE_INTERFACE"
Здесь расписывать не буду, там все по идее надо менять (что я и сделал), но скажу лишь про некоторые непонятные файлы:
Panel.tga.tx - фон, где отображается все, что видно в подзорную трубу
compass.tga.tx - Компасс - гемор, альфа канал и текстура, постоянно глючат.
Кому надо пример переделки ко мне на почту (sonik-a@narod.ru)
ir_buttons - не нужна ваще (для Xbox)

=====================================================Следующий - 4й
_"Resource\Textures\Fonts"
Здесь шрифты, сами разберетесь. Лично я менял тока цветовую гамму (под желтовато-коричневый, симпатишно:)

=====================================================Следующий - 5й
_"Resource\Textures\Loading"
Описанию тож не поддается, все фоны загрузок, добро пожаловать:)
progress.tga.tx - всеми любимый крутящийся череп, разложенный на кадры
(чтобы заменить разложите любую анимацию на кадры в
редакторе каком-нить специальном и вставьте)

=====================================================Следующий - 6й
_"Resource\Textures\TextureSequence"
Фоны кнопок, волны морские. Я скопировал из К3 и добавил (уменьшив по вертикали в два раза) в текстуру ПКМ, чуть затемнил - получилось неплохо.
===???===HELP===???===

===АЛЬФА-КАНАЛ В ТЕКСТУРАХ===
1. ПРО Альфа-канал.
Альфа-канал - используется в текстурах для разных вещей, например для прозрачности, формы... В ПКМ альфа-канал используется на всех текстурах. На некоторых есть какой-то черный вырез на белом фоне, на других полностью белый фон. Давайте представим флаг развивающийся на рее корабля в игре. Текстура, кроме как прямоугольной быть не может, а флаг надо заострить двумя треугольниками. Так как же это сделать? Очень просто - добавим новый канал к трем основным (красный, зеленый, голубой), который из этих трех основных будет показывать только ту часть, которую мы зарисуем, т.е. прямоугольник, в котором вырезан мааааленький треугольник. В альфа-канале (так его назвали) на черном фоне (ноль, цветная картинка не берется в изображение) рисуем флаг белого цвета (этот белый цвет есть единица, которая отображает цветную картинку там, где ее нарисовали), потом возвращаемся в rgb режим (выбирается там же) и добавляем уже что-то свое (иначе флаг будет цвета начального фона), например герб Франции.
Так вот из этой запутаной басни уясним, что белый цвет в альфа-канале показывает, что под ним прячется (т.е. цветную картинку), а черный, наоборот - не показывает (т.е. обрезает ее в этом месте), серый (процент от 99% черного до 1%) задает степень прозрачности текстуры (цветной картинки).
2. КАК это делается.
- Открываем в фотошопе, скажем icons.tga (уже конвертированную tx_converter'ом).
- Лезем в меню окно (где "файл\редактирование\изображение..."), там выбираем строку "каналы", щелкаем по ней.
- На экране появилось окно с черно-белом изображением, в котором показались контуры элементов текстуры icons.tga.
- Далее заливаем все 50% серым в альфа канале (щелкаем по нему один раз в том окне, которое только открывали), сохраняем, конвертируем в ВМЛ, запукаем игру - смотрите-ка, все кнопки и другие элементы прозрачные. Уже немного яснее что енто.
- Далее, не выходя из игры, сворачиваем ее (для этого нужно в настройках снять галку "полноэкранный режим"), откатываем одно действие назад в Фотошопе, опять контуры.
- Теперь, изменим кнопку с черепами по бокам. В альфа канале в середине этой кнопки черный прямоугольник, что значит в этом месте она прозрачна. Если нужно сделать свой фон в этой кнопке, то переходим через окно "каналы" в полноцветный режим (вверху окна), заливаем серединку кнопки чем-нито своим и, зайдя в альфа-канал обратно, заливаем сей черный прямоугольник белым цветом (терь он будет нашего фона цветом)
- Так можно каждую текстуру редактировать. Можно нарисовать, например свой perkuse.tga.tx, для этого открываем, конвертируем, открываем в Фотошопе, стираем старую галку, рисуем, создав новый слой, например перо, выделяем прозрачность слоя (для этого надо также как окно "каналы" открыть и окно "слои", зажать CTRL и выбрать наш новый слой с пером), далее лезем в "Выделение" (вверху Фотошоповского окна)->Сохранить выделение. Там откроется окно, просто жмем ОК. Появится новый альфа-канал. Старый удаляем (Правой кнопкой по старому каналу в окне "каналы"->УДАЛИТЬ). Теперь остается свести все слои (CTRL+E на англ. раскладке) и сохранить, заменив старую текстуру.
- Теперь конвертируем в ВМЛ и разворачиваем игру. Играем с новой галкой в меню перков. Если не работает, то выйдите из игры и войдите снова. (Не забывайте про настройку tx_converter'а: A8R8G8B8 вверху и внизу)

Позже дополню описание *.INI-файлов. Если чего забыл, поправьте меня!!!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
4 страниц V < 1 2 3 4 >  
Reply to this topicStart new topic
Ответов(20 - 39)
Командор Норрингтон
сообщение Aug 30 2006, 15:56
Сообщение #21


Madman
*****


Группа: форумчанин
Сообщений: 477
Регистрация: 28-August 06
Из: Planet Earth
Пользователь №: 4,052



Предлагаю скомпилировать фак в HTML-файл справки. Или накодить оболочку и сделать Exeшник. А потом выложить для скачивания. Могу сделать я, потом оцените.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Aug 30 2006, 16:06
Сообщение #22


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,970
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



Цитата(Командор Норрингтон @ Aug 30 2006, 16:56) *

Предлагаю скомпилировать фак в HTML-файл справки. Или накодить оболочку и сделать Exeшник. А потом выложить для скачивания. Могу сделать я, потом оцените.

ехе-шник нафиг... это потенциальная жертва вирусов.. компилед ХТМЛ пожалуйста.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Командор Норрингтон
сообщение Aug 30 2006, 16:24
Сообщение #23


Madman
*****


Группа: форумчанин
Сообщений: 477
Регистрация: 28-August 06
Из: Planet Earth
Пользователь №: 4,052



ОК постараюсь завтра или сегодня вечером сделать и выложить (в эту тему).
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Командор Норрингтон
сообщение Aug 30 2006, 20:44
Сообщение #24


Madman
*****


Группа: форумчанин
Сообщений: 477
Регистрация: 28-August 06
Из: Planet Earth
Пользователь №: 4,052



Попробовал ваши советы по моддингу smile.gif. Сделал пару новых сабель, ща мучаюсь с кораблём.
Кстати сделал фак. По обновлениям и если найдёте косяки пишите в личку:)
Делал с нуля, без шаблона, так что строго не ругайте:)


Прикрепленные файлы
Прикрепленный файл  FAQ.rar ( 30.99 килобайт ) Кол-во скачиваний: 176
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
барбосса3
сообщение Aug 31 2006, 19:28
Сообщение #25


юнга
**


Группа: форумчанин
Сообщений: 26
Регистрация: 7-August 06
Из: Харьков
Пользователь №: 3,831



как сделать в море от 1 лица людей:в AIcameras ищем case "SeaShipCamera":
if (!LAi_IsDead(&Characters[GetMainCharacterIndex()]))
{
SeaCameras.Camera = "SeaDeckCamera";
Crosshair.OutsideCamera = false;
PeopleOnShip.IsOnDeck = 1;
bSwitch = true;
}
break; и меняем на case "SeaShipCamera":
if (!LAi_IsDead(&Characters[GetMainCharacterIndex()]))
{
SeaCameras.Camera = "SeaDeckCamera";
Crosshair.OutsideCamera = false;
PeopleOnShip.IsOnDeck = 0; здесь
bSwitch = true;
}
break;
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Командор Норрингтон
сообщение Aug 31 2006, 21:08
Сообщение #26


Madman
*****


Группа: форумчанин
Сообщений: 477
Регистрация: 28-August 06
Из: Planet Earth
Пользователь №: 4,052



Надо попробовать, ну а как идея с компилед хтмл факом? продолжать его делать?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
барбосса3
сообщение Sep 1 2006, 14:35
Сообщение #27


юнга
**


Группа: форумчанин
Сообщений: 26
Регистрация: 7-August 06
Из: Харьков
Пользователь №: 3,831



идея хорошая,скачал,понравилось,но про НПС нету!!!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Командор Норрингтон
сообщение Sep 3 2006, 10:44
Сообщение #28


Madman
*****


Группа: форумчанин
Сообщений: 477
Регистрация: 28-August 06
Из: Planet Earth
Пользователь №: 4,052



э я сам не спец по созданию модов к игре фак делал из информации уже имеющейся в этой теме, напишите про НПС и я добавлю в фак. (Или сами добавьте и выложите, при желании)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
барбосса3
сообщение Sep 5 2006, 17:58
Сообщение #29


юнга
**


Группа: форумчанин
Сообщений: 26
Регистрация: 7-August 06
Из: Харьков
Пользователь №: 3,831



Было уже про НПС(в смысле новых персонажей,на 1ой странице писал Jaoquin de Masse)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Dogeva
сообщение Sep 5 2006, 18:10
Сообщение #30


Расплетающая Сновидения
******

Ветеран ФорумаЗаслуженный Художник
Группа: форумчанин
Сообщений: 852
Регистрация: 10-February 06
Пользователь №: 2,632



если было, то кидай ссылку, иначе какой смысл тут устраивать перепирательства на пустом месте? wink.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
барбосса3
сообщение Sep 12 2006, 16:21
Сообщение #31


юнга
**


Группа: форумчанин
Сообщений: 26
Регистрация: 7-August 06
Из: Харьков
Пользователь №: 3,831



Создаем подзорную трубу:в файле initItems ищем //SPYGLASSES, копируем описание любой трубы и вставляем в конец
makeref(itm,Items[n]);
itm.id = "spyglass5"; //ID трубы
itm.groupID = SPYGLASS_ITEM_TYPE; //ID группы
itm.name = "itmname_spyglass5";
itm.describe = "itmdescr_spyglass5";
itm.picIndex = 14; //№ картинки
itm.picTexture = "ITEMS_1"; //текстура
itm.folder = "items"; //папка с текстурами
itm.model = "spyglass4"; //модель
itm.price = 8000; //цена
itm.scope.texture = "eye_BestTub.tga";//текстура во время просмотра из трубы
itm.scope.zoom = 12.0; //зум
itm.scope.time_activate = 500;
itm.scope.time_update = 150;
itm.scope.show.nation = 1; //показатель нации //1-да,0-нет
itm.scope.show.cannons = 1; //показатель орудий
itm.scope.show.ship_name = 1; //показатель имя корабля
itm.scope.show.ship_type = 1; //показатель типа корабля
itm.scope.show.hull = 1; //показатель жизни корпуса
itm.scope.show.sail = 1; //показатель жизни парусов
itm.scope.show.crew = 1; //показатель команды
itm.scope.show.speed = 1; //показатель скорости
itm.scope.show.charge = 1; //показатель типа заряда
itm.minlevel = 0;
itm.rare = 4;
n++;
далее в RESOURSE/INI/TEXTS/RUSSIAN/ItemsDescribe.txt
ищем описания труб и делаем описание своей
для проверки в PROGRAM/QUESTS/both_reaction.c
ищем
locations[FindLocation(Pchar.location)].box1.items.pistol1 = 1;
locations[FindLocation(Pchar.location)].box1.items.spyglass1 = 1;
locations[FindLocation(Pchar.location)].box1.items.potion1 = 2;
locations[FindLocation(Pchar.location)].box1.money = 1000;
меняем spyglass1 на spyglass5 и в новой игре в коробке ищем ее unsure.gif 1.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Lugger
сообщение Sep 14 2006, 09:45
Сообщение #32


боцман
****

Заслуженный КорсарСоздатель Модов к игре Корсары III
Группа: форумчанин
Сообщений: 282
Регистрация: 15-December 05
Из: Ульяновск
Пользователь №: 1,734



Как добавить остров из игры Корсары 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.

Это всё были файлы освещения smile.gif.

Далее. Уже посложнее, нужно редактировать скрипты.
Идём первым делом в 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. Ну а дальше там пишем скрипты локаций...долго объяснять...Я ещё и
Ну я всё таки объясню. Можете скопировать всё написанное ниже мной, только коментарии удалите smile.gif:


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 то не будет. Этож порт smile.gif. Значит надо оставить так как есть.
//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"; - Погода запрещена в даннном случае, в таверне всё ж smile.gif
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;

И собственно все остальные абсолютно аналогично. smile.gif

// 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
По моему есть какой то другой способ, без моделирования, но его я еще не нашёл sad.gif.

Ещё в файле 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;

Ещё нужно создать кой чаво, чтобы можно было этот самый форт захватить smile.gif...Для этого идём сюда:
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;

Ну вот собственно и всё. Я описал лишь самое важное вкратце для того чтобы только добавить остров!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Командор Норрингтон
сообщение Sep 25 2006, 15:23
Сообщение #33


Madman
*****


Группа: форумчанин
Сообщений: 477
Регистрация: 28-August 06
Из: Planet Earth
Пользователь №: 4,052



Думаю обновлять фак смысла нет, сделаю полный когда накопится много инфы а не по одному совету добавлять...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Jaoquin De Masse
сообщение Nov 3 2006, 03:17
Сообщение #34


боцман
****


Группа: форумчанин
Сообщений: 131
Регистрация: 11-April 06
Из: Краснодарский к-р.
Пользователь №: 3,072



Значит такс, сейчас я напишу (в общих чертах) как работать с альфа каналом. Я работал с Adobe Photoshop CS2. Редактировал файл goods.tga.tx. В Интернете я нарыл рисунок для товара лекарства (вроде даже из вмл). Затем через ConvertorTX перегнал в .tga формат.
Затем открыл Photoshop, в нем файлы goobs.tga и pic_x.tga.(картинка, скачанная с Интернета).
1.При помощи инструмента «Перемещение»(V) переносим изображение из файла pic_x.tga. в goobs.tga файлы с товарами.
2.Устанавливаем картинку нового товара примерно одинаково с остальными, как на рисунке 1.


Прикрепленное изображение

3.В верхней панели включаем «окно/каналы».
4.Затем выбираем альфа канал, как на рисунке 2.


Прикрепленное изображение

5.Включаем кисть «Ластик»(E) и аккуратно стираем красный слой (альфа) над рисунком, рисунок 3.

Прикрепленное изображение

6.Нажимаем одновременно Shift+Ctrl+E, объединить слои.
7.Сохраняем и смотрим в ConvertorеTX, что получилось. Должно получиться как на рисунке 4.


Прикрепленное изображение

ЗЫ – если кому надо эту картинку для товара, пишите в личку…
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Jaoquin De Masse
сообщение Nov 4 2006, 15:12
Сообщение #35


боцман
****


Группа: форумчанин
Сообщений: 131
Регистрация: 11-April 06
Из: Краснодарский к-р.
Пользователь №: 3,072



Сейчас я напишу как перенести модели абордажных палуб из к3 в пкм (для тех у кого есть к3). Для начала в GM_Viewere откроем к3\RESOURCE\MODELS\Locations\decks\decks 01\ decks 01.гм, смотрим какие текстуры нужны и переносим их из к3RESOURCE\Textures в пкм\RESOURCE\Textures. Затем переносим и сами модели. Затем в GM_Viewere открываем к3\RESOURCE\MODELS\Locations\инсайд\кабин01\кабин01.гм, и также переносим текстуры и модели. Но модели идут в пкм\RESOURCE\MODELS\Locations …
Далее идем пкм\PROGRAM\Locations\initбоардинг.с
Там ищем выбираем любой корабль например Барак, и переправляем на новое. Где что обозначает написано выше…
Короче должно получится так:
Цитата
// -------------------------------------------------
// BOARDING_BARQUE
// -------------------------------------------------
//ID
Locations[n].id = BOARDING_BARQUE;
locations[n].id.label = "Boarding deck";
//Info
Locations[n].filespath.models = "locations\decks\deck02";
Locations[n].image = "loading\Boarding.tga";
//Sound
locations[n].type = "deck";
Locations[n].lockCamAngle = 0.4;

//Models
//Always
Locations[n].models.always.locators = "deck02_locators";
Locations[n].models.always.l1 = "deck02";
//Day
Locations[n].models.day.charactersPatch = "deck02_patch";
//Night
Locations[n].models.night.charactersPatch = "deck02_patch";
//Environment
Locations[n].environment.weather = "true";
Locations[n].environment.sea = "true";
Locations[n].boarding = "true";
Locations[n].boarding.nextdeck = "NEXT_BRD";

n = n + 1;

//ID
Locations[n].id = "NEXT_BRD";
Locations[n].id.label = "Boarding deck";
//Info
Locations[n].filespath.models = "locations\decks\cabin01";
Locations[n].image = "loading\Deck_03.tga";
//Sound
Locations[n].type = "deck";

//Models
//Always
Locations[n].models.always.locators = "Cabin01_locators_x";
Locations[n].models.always.l1 = "Cabin01";
//Day
Locations[n].models.day.charactersPatch = "cabin01_patch";
//Night
Locations[n].models.night.charactersPatch = "cabin01_patch";
//Environment
Locations[n].environment.weather = "true";
Locations[n].environment.sea = "true";
Locations[n].boarding = "true";
Locations[n].boarding.nextdeck = "";

n = n + 1;

Но! Локации во второй палубе другие и появится черный экран при переходе. Чтобы этого избежать скачиваем файл с локаторами Прикрепленный файл  Cabin01_locators_x.rar ( 1.36 килобайт ) Кол-во скачиваний: 104
и закидываем его в пкм\RESOURCE\MODELS\Locations\decks\decks01\
Вроде все! Запускаем игру ипроверяем!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Jaoquin De Masse
сообщение Nov 5 2006, 02:32
Сообщение #36


боцман
****


Группа: форумчанин
Сообщений: 131
Регистрация: 11-April 06
Из: Краснодарский к-р.
Пользователь №: 3,072



Люди, составте пожалуйста путевый FAQ про перегон моделей из 3Д Макса в гм. smile.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
сообщение Dec 29 2006, 19:28
Сообщение #37






Группа:
Сообщений: 0
Регистрация: --
Пользователь №: 0

Предупреждения:
(0%) -----


Сейчас объясню, как создать новые навыки, все очень просто
заходи в Program\Interface\Perks\perks_init.c
открываем perks_init, появляется список
Вот это все навыки
Сначала вам нужно сделать 3 картинки своего навыка:
первый 128 закинуть в Resource\Textures\Interfaces\Perks\128
второй 64 закинуть в Resource\Textures\Interfaces\Perks\64
и третий должен быть тоже 64, но только черно-белым можно это
сделать в фотошопе ну и закинуть в Resource\Textures\Interfaces\Perks
после чего добавьте, например вот такую строчку в perks_init
ChrPerksList.list.Medicament.descr = "perkMedicament"; - это навык медика
после чего заходите в игру ну и наслаждайтесь

Вот как они примерно должны выглядить


Прикрепленные файлы
Прикрепленный файл  Perks.rar ( 43.29 килобайт ) Кол-во скачиваний: 149
User is offlinePM
Go to the top of the page
+Quote Post
Lugger
сообщение Jan 2 2007, 09:02
Сообщение #38


боцман
****

Заслуженный КорсарСоздатель Модов к игре Корсары III
Группа: форумчанин
Сообщений: 282
Регистрация: 15-December 05
Из: Ульяновск
Пользователь №: 1,734



Цитата(Captain Sparrow @ Dec 29 2006, 19:28) *

Сейчас объясню, как создать новые навыки, все очень просто...

Толку от этого будет - просто картинка в меню перков и всё! А добавление расчётов, чтобы перк реально уменьшал повреждения или в этом духе? А от простой картинки толку мало.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Sonik
сообщение Jan 8 2007, 01:03
Сообщение #39


2D/3D Artist
******

Ветеран ФорумаЗаслуженный КорсарЗаслуженный Художник
Seaward Team
Группа: Seaward.Ru Team
Сообщений: 709
Регистрация: 2-January 06
Из: Нижний Новгород
Пользователь №: 2,093



МИНИ-FAQ ПО TOOL (for seaward-forum)
--------------------------------------
ОСНОВНЫЕ ВОПРОСЫ:
--------------------------------------
__________________________
В:
Для чего вообще нужна программа TOOL?
О:
TOOL – программа, составленная из нескольких маленьких программ. TOOL умеет:
1. Просматривать gm-файлы и анимацию для них. Создавать анимацию для разных моделей.
2. Обрабатывать скелетную анимацию, что впоследствии выдаст более корректную анимацию персонажей в игре.
3. Конвертировать* .gm-файлы в VRML (конвертирует в этот формат, после чего этот файл обрабатывается в 3dsMax, сохраняется в этом же формате, и конвертируется обратно в .gm, хотя для кораблей этот способ имеет некоторые ограничения)
* - эта возможность имеет ряд ограничений, которые вы без особого труда найдете в разделе ВОПРОСЫ на этом форуме (www.seaward.ru/forum.htm), забив в поле поиска на форуме слово "MAYA" или "3d Max".
4. Редактировать и добавлять новые локаторы в 3d-модельках, и файлах локаторов.
5. Отображать и редактировать файлы с расширением .ptc.

!!!TOOL – это не программа 3d-моделирования - в ней нельзя создавать свои 3d-модели! Создавайте их в Maya 4.5 или 3ds MAX (для этого нужны определенные плагины, которые тоже есть в недрах форума)
__________________________
В:
Есть ли какие-нибудь самоучители для TOOL - Faq и т.п.?
О:
Существует, но их найти очень трудно, причем они на английском языке, - все самые основные опции, действия и примеры описаны в файле-помощи в программе TOOL (кнопка "?" справа вверху, но эта помощь тоже на английском). Есть описания упорядоченных действий правильного конвертирования файлов из TOOL в MAYA 3.0 и обратно, а остальное ищите на форумах, на этом форуме (www.seaward.ru/forum.htm) в разделе "Модификации" в теме "ВОПРОСЫ". Вообще разобраться в TOOL самому не составляет особой сложности, главное потратить время на метод "проб и ошибок" и тогда через пару дней можно уже смело создавать и редактировать что-нибудь в игре с помощью TOOL.
__________________________
В:
В Корсарах III на каждом корабле установлены ”нехорошие” сигнальные огни, которые напоминают огни самолета, заходящего на посадку, как их можно убрать с помощью TOOL?
О:
Модели кораблей в KIII сделаны очень даже неплохо, но их ночные "сигнальные огни" действительно портят впечатление об их качестве с первого взгляда. Как быть с фонариками, которые так не полюбили фанаты Корсаров?

Делаем все модели кораблей на примере простой лодки "Боевая Тартана" (что при продаже корабля достается нам):
1. Открываем TOOL, в ней выбираем "File -> Open gm". Ищем в открывшемся окне каталог Корсаров III: "C:\Корсары 3\RESOURCE\MODELS\Ships\WarTartane1", выбираем файл "WarTartane1.gm". Нажимаем "Открыть" и в черном окне TOOL появляется белая моделька на синем фоне. Без текстур и мачт. Это нормально. (Текстуры нужно конвертировать в формат .tga и в верхнем поле выбрать каталог текстур, но это делать необязательно, т.к. основное окно для нашей задачи нам не понадобится)
2. Щелкаем в верхней части окна TOOL по кнопке "View -> Locators". Появилось окно WarTartane1, в котором есть вкладка (-)__Locators.
3. Щелкаем по вкладке Locators, появилась таблица "Info", в которой слева направо есть загаловки

(?)-------------------------------------
Locator Name - имя локатора может принимать разные значения, обычно используются цифры вкупе с буквами. Напрямую зависят от следующего по порядку заголовка:
Locator Group - Это группа локаторов, которая прописана в скрипте и коде игры. На группу ссылаются определенные требования игры. Например, если значение этого столбца Flares, то эта строка отвечает за настройку позиции фонаря, а если geometry, то за настройку размещения какой-либо геометрии в данной модели (кстати, в данном случае имя 3d модели должно соответствовать имени Локатора в данной группе). Разберетесь, это только звучит сложно.
PosX,Y,Z - размещение данного локатора относительно центра модели.
XX,YY,ZZ - размер по осям X, Y, Z - имеет смысл изменять только группы локаторов Geometry (например мачты), значения от 0 - 0% до 10 - 10000% от оригинального размера (1 - 100%)
XY,XZ,YX,YZ,ZX,ZY - угол поворота локатора (используется пушками, группа локаторов CannonR, L, C, B)
s0, s1 – не тестированные мной значения, оставляейте их равными s0=1, s1=0. Если хотите, то в дальнейшем можно опробовать разные варианты значений этого параметра.
------------------------------------------
- Чтобы узнать какие из этих локаторов отвечают за фонари открываем программу ”GMview” (просмотрщик gm-моделек, есть на этом форуме ”www.seaward.ru/forum.htm”), в этой программе открываем нашу модель Tartane1 все в том же каталоге, что искали из TOOL (для удобства откроем и текстурку для этой тартаны ”Корсары III/Resource/Textures/Ships/Tartane1/Hull1”).
- В левом нижнем углу программки отметим в поле Locators две галочки ()Show labels и ()Show locators. Теперь мы наглядно видим где эти локаторы находятся непосредственно в gm-модельке.
- Смотрим... fm1a101, fm1a102, fm2a201, fm2a202 очень похоже на то, что эти локаторы в игре являются фонариками. Запускаем игру К3, продаем корабль, плаваем на тартане ночью - опа, и вправду фонари на этих местах. Сохраним игру, выходим из игры и делаем следующее:
4. Разворачиваем TOOL, смотрим на таблицу Info и видим, что fm1a101, fm1a102, fm2a201, fm2a202 принадлежат одной группе локаторов flares*, делаем вывод, что flares* - это фонарики во всех модельках кораблей.
5. Теперь щелкаем по самому левому пустому полю таблицы, столбец которых не имеет заголока, напротив fm2a202 - выделяется вся строка, нажимаем клавишу "delete" и все, одного огонька нет, делаем с другими то же самое. Только не удаляйте остальные локаторы. Они отвечают за расположение мачт, тросов, пушек и камер.
6. Теперь нажимаем APPLY CHANGES внизу слева окна с таблицей, закрываем окно, переходим в интерфейс TOOL.
7. Нажимаем "file -> Save gm". Внизу TOOL в поле строки состояния появилось сообщение "File saved in gm format" - все готово. Запускаем игру, загружаем наш сейв. Теперь тартана без огней! Ура, товарищи, мы сделали это.

Точно так же, по аналогии, делаем и с другими кораблями.
* - не только "flares" отвечает за огни на моделях кораблей, но и группа "lights" с именем локаторов "l00xx" - но эти фонари не нужно удалять, т.к. это кормовые огни, они придают кораблям ночью красивое освещение палубы и придают игре баланс (ночью в игре почти ничего не видно), в реальности они даже часто не гасились в бою – на палубе ничего не видно.

----------------------------------------------------------------------------------------------------------------
ОШИБКИ, КОТОРЫЕ ЧАСТО ВОЗНИКАЮТ У НОВЫХ ПОЛЬЗОВАТЕЛЕЙ:
----------------------------------------------------------------------------------------------------------------
__________________________
В:
Я скачиваю TOOL, запускаю установку - всплывает ошибка о какой-то отсутствующей программе. Что делать?
О:
Это совершенно нормальное явление, т.к. в Windows XP не предусматривается обязательная установка некоторых программ, таких, например, как Microsoft .NET-Framework - набор функций и описаний необходимых для TOOL. Существует две распространенных версий этой программы - 1.4 и 2.0.
И та и другая версии подходят для TOOL.
Microsoft .Net-Framework v1.4 можно найти в следующих местах:
1. Лицензионный диск WinXP (Запустите установку WinXP из Windows, в появившемся синем окошке выберите: Выполнение иных задач->Установка .NET-Framework) - далее пойдет установка, со всеми вопросами соглашайтейсь и нажимайте "next". НО!: Установка может и не пойти, т.е. после нажатия кнопки "Установка .NET-Framework" может ничего не произойти, тогда у вас пиратская версия Windows, переходите к следующему пункту.
2. Поищите самый последний диск Игромании из тех, что есть дома на полке (если таковой вообще имеется, если нет, то см. дальше), обычно в каталоге "Игромания ..-06\Soft\!Standard\microsoft_net" лежит эта прога, если такого каталога нет - поройтесь на диске через интерфейс. (Игромания обычно выкладывала версию 1.4, но в 2006 году вышла версия 2.0, напомню, что обе подходят)
3. Если есть дистрибьютив MS Office, то в каталоге воспользуйтесь поиском "dotnetfx".
4. Если нет результата, то остается последний способ - качать ~40 mb в незжатом состоянии файла dotnetfx.exe по адресу:
http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&displaylang=en
Все. После того как поставите .NET-framework, установка TOOL пойдет нормально.
__________________________
В:
Установка прошла успешно, но TOOL не хочет запускаться.
О:
Все просто - если TOOL не запускается, значит не хватает каких-либо библиотек в Вашем Windows XP (если это происходит, значит на компьютере есть еще программы, которые не запускаются) - выход - проверьте компьютер на наличие вирусов (троянов), сделайте дефрагментацию системного раздела, переустановите TOOL, в крайнем случае переустановите Windows XP (желательно SP2).
__________________________
В:
TOOL установилась, запустилась, но когда я сворачиваю все окна, или запускаю/закрываю какие-либо программы, или запускаю вторую копию TOOL, то вылетает ошибка Microsoft .NET Framework: Unhandled exception has.... Error in the application. Details, Continue, Quit.
О:
При возникновении подобной ошибки нажмите Continue в появившемся окне, разверните TOOL и можно работать дальше. TOOL не совершенна, в ней много глюков, нужно не забывать сохранять изменения, т.к. иногда TOOL может хитро вылететь в самый нужный момент:)

ПИШИТЕ ВОПРОСЫ В Личных Сообщениях ИЛИ НА E-MAIL. Буду рад ответить!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Crazy FF
сообщение Jun 5 2007, 07:28
Сообщение #40


новичок
*


Группа: Members
Сообщений: 2
Регистрация: 31-May 07
Пользователь №: 10,301



уважаемый, а где мона качнуть данную программку? blink.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

4 страниц V < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28th March 2024 - 12:37

Блок рекламы
Яндекс цитирования Rambler's Top100
Rambler's Top100