Составление FAQ по модификациям, прнимается помощь всех желающих |
Здравствуйте, гость ( Вход | Регистрация )
Составление FAQ по модификациям, прнимается помощь всех желающих |
Dogeva |
Apr 25 2006, 00:56
Сообщение
#1
|
Расплетающая Сновидения Группа: форумчанин Сообщений: 852 Регистрация: 10-February 06 Пользователь №: 2,632 |
предлагаю всем добрым и умным человекам собраться и составить ФАК по внесениям модификаций в аддон. причина проста - обычно спрашивают одни и те же вопросы вроде "а как изменить текстуру гг", "а как вставить ее в игру" и т.д. поэтому все желающие помочь вэлком!
для примера приведу пост, найденный в "Готовых интерфейсах": ФАК по созданию собственного интерфейса в ВМЛ. Введение. Для того чтобы создать интерфейс в ВМЛ, разработчикам пришлось придерживаться нескольких правил: 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-файлов. Если чего забыл, поправьте меня!!! |
Командор Норрингтон |
Aug 30 2006, 15:56
Сообщение
#21
|
Madman Группа: форумчанин Сообщений: 477 Регистрация: 28-August 06 Из: Planet Earth Пользователь №: 4,052 |
Предлагаю скомпилировать фак в HTML-файл справки. Или накодить оболочку и сделать Exeшник. А потом выложить для скачивания. Могу сделать я, потом оцените.
|
navy |
Aug 30 2006, 16:06
Сообщение
#22
|
Hagane no Renkinjutsushi Группа: Seaward.Ru Team Сообщений: 5,972 Регистрация: 15-March 05 Из: Волгоград Пользователь №: 578 |
|
Командор Норрингтон |
Aug 30 2006, 16:24
Сообщение
#23
|
Madman Группа: форумчанин Сообщений: 477 Регистрация: 28-August 06 Из: Planet Earth Пользователь №: 4,052 |
ОК постараюсь завтра или сегодня вечером сделать и выложить (в эту тему).
|
Командор Норрингтон |
Aug 30 2006, 20:44
Сообщение
#24
|
Madman Группа: форумчанин Сообщений: 477 Регистрация: 28-August 06 Из: Planet Earth Пользователь №: 4,052 |
Попробовал ваши советы по моддингу . Сделал пару новых сабель, ща мучаюсь с кораблём.
Кстати сделал фак. По обновлениям и если найдёте косяки пишите в личку:) Делал с нуля, без шаблона, так что строго не ругайте:) Прикрепленные файлы FAQ.rar ( 30.99 килобайт ) Кол-во скачиваний: 176 |
барбосса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; |
Командор Норрингтон |
Aug 31 2006, 21:08
Сообщение
#26
|
Madman Группа: форумчанин Сообщений: 477 Регистрация: 28-August 06 Из: Planet Earth Пользователь №: 4,052 |
Надо попробовать, ну а как идея с компилед хтмл факом? продолжать его делать?
|
барбосса3 |
Sep 1 2006, 14:35
Сообщение
#27
|
юнга Группа: форумчанин Сообщений: 26 Регистрация: 7-August 06 Из: Харьков Пользователь №: 3,831 |
идея хорошая,скачал,понравилось,но про НПС нету!!!
|
Командор Норрингтон |
Sep 3 2006, 10:44
Сообщение
#28
|
Madman Группа: форумчанин Сообщений: 477 Регистрация: 28-August 06 Из: Planet Earth Пользователь №: 4,052 |
э я сам не спец по созданию модов к игре фак делал из информации уже имеющейся в этой теме, напишите про НПС и я добавлю в фак. (Или сами добавьте и выложите, при желании)
|
барбосса3 |
Sep 5 2006, 17:58
Сообщение
#29
|
юнга Группа: форумчанин Сообщений: 26 Регистрация: 7-August 06 Из: Харьков Пользователь №: 3,831 |
Было уже про НПС(в смысле новых персонажей,на 1ой странице писал Jaoquin de Masse)
|
Dogeva |
Sep 5 2006, 18:10
Сообщение
#30
|
Расплетающая Сновидения Группа: форумчанин Сообщений: 852 Регистрация: 10-February 06 Пользователь №: 2,632 |
если было, то кидай ссылку, иначе какой смысл тут устраивать перепирательства на пустом месте?
|
барбосса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 и в новой игре в коробке ищем ее |
Lugger |
Sep 14 2006, 09:45
Сообщение
#32
|
боцман Группа: форумчанин Сообщений: 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. Это всё были файлы освещения . Далее. Уже посложнее, нужно редактировать скрипты. Идём первым делом в 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; Ну вот собственно и всё. Я описал лишь самое важное вкратце для того чтобы только добавить остров! |
Командор Норрингтон |
Sep 25 2006, 15:23
Сообщение
#33
|
Madman Группа: форумчанин Сообщений: 477 Регистрация: 28-August 06 Из: Planet Earth Пользователь №: 4,052 |
Думаю обновлять фак смысла нет, сделаю полный когда накопится много инфы а не по одному совету добавлять...
|
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. ЗЫ – если кому надо эту картинку для товара, пишите в личку… |
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\ Вроде все! Запускаем игру ипроверяем! |
Jaoquin De Masse |
Nov 5 2006, 02:32
Сообщение
#36
|
боцман Группа: форумчанин Сообщений: 131 Регистрация: 11-April 06 Из: Краснодарский к-р. Пользователь №: 3,072 |
Люди, составте пожалуйста путевый FAQ про перегон моделей из 3Д Макса в гм.
|
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 |
Lugger |
Jan 2 2007, 09:02
Сообщение
#38
|
боцман Группа: форумчанин Сообщений: 282 Регистрация: 15-December 05 Из: Ульяновск Пользователь №: 1,734 |
|
Sonik |
Jan 8 2007, 01:03
Сообщение
#39
|
2D/3D Artist Группа: Seaward.Ru Team Сообщений: 711 Регистрация: 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. Буду рад ответить! |
Crazy FF |
Jun 5 2007, 07:28
Сообщение
#40
|
новичок Группа: Members Сообщений: 2 Регистрация: 31-May 07 Пользователь №: 10,301 |
уважаемый, а где мона качнуть данную программку?
|
Текстовая версия | Сейчас: 25th September 2024 - 06:58 |