Урок № 6. Добавить новый корабль на основе имеющихся моделей
Рассмотрим добавление корабля на основе имеющихся моделей и текстур.
Ну первым делом открываем файл program\ships\Ships_init
Здесь видим описания множества кораблей. Находим наиболее похожий на ваш будущий, и между описаниями вставляем свое( допустим, ваш корабль "Lodka", соответственно копируйте характеристики тартаны):
/////////////////////////////////////////////////////////////////////////// //// Мой новый корабль -здесь пишите любое, разницы нет /////////////////////////////////////////////////////////////////////////// makeref(refShip,ShipsTypes[SHIP_Lodka]); refShip.Name = "Lodka"; -это ID вашего корабля refship.Soundtype = "lugger"; -озвучка вашего корабля refShip.Class = 7; -класс refShip.Cannon = CANNON_TYPE_NONECANNON; -тип установленных орудий (он будет генерится) refShip.MaxCaliber = 12; -макс калибр орудий refShip.Weight = Tonnes2CWT(10); -масска корабля (зависит от заноса на поворотах) refShip.Capacity = 50; -трюм корабля refShip.CannonsQuantity = 0; -общее кол-во орудий refShip.rcannon = 0; -кол-во орудий на правом борту refShip.lcannon = 0; -кол-во орудий на левом борту refShip.fcannon = 0; -кол-во орудий на носу refShip.bcannon = 0; -кол-во орудий на корме refShip.MaxCrew = 12; -макс команда refShip.MinCrew = 3; -мин команда refShip.BoardingCrew = 2; -абордажники refShip.GunnerCrew = 2; -стрелки refShip.CannonerCrew = 16; -конониры refShip.SailorCrew = 20; -моряки refShip.SpeedRate = 7.0; -скорость refShip.TurnRate = 50; -маневренность refShip.Price = 500; -цена refShip.HP = 100; -корпус refShip.SP = 100; -паруса (в %) refship.CanEncounter = false; refship.Type.Merchant = false; refship.Type.War = false; refShip.fWindAgainstSpeed = 10.0; -бейдевинд refShip.sea_enchantment = 4.0; refShip.lowpolycrew = 3; refShip.buildtime = 10; -время постройки
Все, выше перечисленное добавили. далее путь лежит в файл program\ships\ships.н находим строчки #define SHIP_TYPES_QUANTITY 28 #define SHIP_TYPES_QUANTITY_WITH_FORT 30 // must be (SHIP_TYPES_QUANTITY + 1)
и в первой в во второй увеличиваем число на 1, т. е. :
#define SHIP_TYPES_QUANTITY 29 #define SHIP_TYPES_QUANTITY_WITH_FORT 31 // must be (SHIP_TYPES_QUANTITY + 1)
и вэтом же файле после строки #define SHIP_FORT 28 прописываем: #define SHIP_Lodka 29 (только в том случае, если ID-Lodka! ID может быть любым, на ваше желание, но только тогда во всех файлах, что будут описанны, оно должно быть соответствующее!!!!!)
Далее корабль нужно добавить на верфь. Открываем файл program/scripts/ShipsUtilites
if (CheckAttribute(NPChar, "shipyard")) return; // еще есть корабли с того раза
SaveCurrentNpcQuestDateParam(npchar, "shipyardDate"); // дата заполнения верфи
if (bBettaTestMode) { for (i = 1; i <=SHIP_TYPES_QUANTITY; i++) { attrName = "ship" + i; FillShipParamShipyard(NPChar, GenerateStoreShip(i-1), attrName); }
Tartane { Тартана появилась впервые в Средиземном море. Изначально это была небольшая рыбачья лодка с треугольным парусом, но хорошие ходовые характеристики сделали тартану очень популярным кораблем, используемым для каботажных плаваний и торговли между близко расположенными поселениями. }
WarTartane { Баркас - большая лодка, на которую устанавливают малые пушки. Серьезным кораблем никогда не станет, но для пиратских или контрабандных вылазок широко применяется по всему миру. }
Lugger { Люггер - небольшой корабль, созданный для перевозки грузов и охраны небольших конвоев. Несмотря на то, что вооружение люггера - слабое, а команда - небольшая, он специально сконструирован как для торговли, так и для сражений. Многие капитаны ценят люггер за его скорость и маневренность. Небольшие размеры не позволяют ему совершать дальние морские плавания. }
Sloop { Обладая небольшой осадкой и великолепными ходовыми качествами, шлюп преставляет собой высокоэффективный разведывательный корабль, пригодный для берегового патрулирования и торговли. }
Barque { Барк - корабль, приспособленный для дальних плаваний. Обладая вместительным трюмом и достаточной огневой мощью, барк считается одним из лучших кораблей в своем классе. Однако, большие размеры не позволяют ему развивать высокую скорость и быстро маневрировать, поэтому барк проигрывает по ходовым характеристикам более легким кораблям его класса. }
Schooner { Хорошие ходовые качества этого корабля, вкупе с вместительным трюмом, сделали шхуну одним из самых привлекательных кораблей в качестве торгового судна у торговцев средней руки, которые не могут позволить себе приобрести флейт. }
вставляем описание своему кораблю. пример:
Tartane { Тартана появилась впервые в Средиземном море. Изначально это была небольшая рыбачья лодка с треугольным парусом, но хорошие ходовые характеристики сделали тартану очень популярным кораблем, используемым для каботажных плаваний и торговли между близко расположенными поселениями. }
WarTartane { Баркас - большая лодка, на которую устанавливают малые пушки. Серьезным кораблем никогда не станет, но для пиратских или контрабандных вылазок широко применяется по всему миру. }
Lodka { Мой корабль! ведь я его лично создал! неплохо бы было с новой моделькой...лан, и с этой сыграну! -здесь любое описание (только не это, думаю в аддон "не очень" войдет!). :) }
Lugger { Люггер - небольшой корабль, созданный для перевозки грузов и охраны небольших конвоев. Несмотря на то, что вооружение люггера - слабое, а команда - небольшая, он специально сконструирован как для торговли, так и для сражений. Многие капитаны ценят люггер за его скорость и маневренность. Небольшие размеры не позволяют ему совершать дальние морские плавания. }
Далее мутим с иконкой корабля. Можно создать свою (прочтите "добавлять свой предмет", там описывается работа с текстурами через convertorТХ), но а я объясню уже на существующих. открываем RESOURCE\INI\interfaces\pictures находим строки
Ну все, основное сделанно. Остались модели, ну и сами текстуры нового корабля.
Сперва открываем папку \resource\models\ships тут видим множество папок. Добавляем сюда свою папку, и что бы название оканчивалось на 1. Вот так это выглядит с нашим кораблем: Lodka1
В эту созданную папку копируем в нее файлы из любой другой папки, в нашем случае из папки Tartane1 и переминуем все файлы на соответствующие названию:
Lodka1 Lodka1_geometry Lodka1_mast1 Lodka1_mast2
ну и т. д.
Теперь идем в resource\models\ships\Sailorspoints. Тут копируем сайлор поинты с наиболее похожего судна (мы копируем с тартаны) и называем как наш корабль в нашем случае Lodka1
Остались текстуры. Открываем \resource\textures\Ships и вновь создаем новую папку и все те же действия, что и с папкой с моделями. Т. е. переминовываем ее, копируем туда Hull1, Hull2 и Hull3 наиболее похожего судна (так как модель мы уже взяли тартаны, то желательно текстуры тоже ее взять). еще не забудьте все содержимое папок Hull тоже переминовать. к примеру
bortoutLodka1.tga
все, новый кораблик создан. Хотя нет, еще есть нюанс:
это помойму, скока определенного типа матросов у тя буде на палубе. Допустим, команда макс 100, если поставить refShip.BoardingCrew = 100; то у тя вся команда будет только из абордажников, а остальных не будет. поэтому ставь разумно. ПОМОЕМУ ЭТО ТАК, ХОТЯ ВОЗМОЖНО И ОШИБАЮСЬ
можно, тока нужно создавать новые модели и текстуры, если ЭТО ты имеешь ввиду
Я это имею в виду ладно попробую.
Добавлено (12.10.2010, 19:38) --------------------------------------------- Igorek-96, Вопрос! А какая версия должна быть уменя папки "програм" нет. Версия 1.2.12
я создал Чёрную жемчюжену !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Добавлено (05.02.2011, 13:31) --------------------------------------------- оооооооооооооооооооо правда с манёвреностью я нпутал
Добавлено (05.02.2011, 13:37) --------------------------------------------- блин чё за я опять захотел зайти и мне пишет типа Runtime [color=red]Error помоги!
блин чё за я опять захотел зайти и мне пишет типа Runtime [color=red]Error помоги!
ошибка где-то в коде. Назад верни изменения, когда все работало, и поправь манёвренность. Единственное, что можно сказать об удаче с уверенностью — она изменит. --------
Где еще можно найти папку scripts? Есть только папка Ships но shipsutilites там нет,да и просто во всем каталоге с игрой тоже (поиск включал) Я делаю мод на Пираты Карибского моря 2,может там немного другие названия?
в каталоге с игрой папка Resourse,в ней папка ships,через ConverterTX конвертируешь текстуры в формат TGA и изменяешь в фотошопе,затем обратно конвертишь через эту же прогу и кидаешь в папку с игрой.
На Пкм нет папки script как поступить подскажите пожайлуйста
Добавлено (25.03.2011, 21:28) --------------------------------------------- корабль добавил но столкнулся с проблемой на него нельзя покупать оружие и он не может стрелять тоесть прицела вообще нет и почему то на карте он не хочет совершать не каких действий тоесть перемещяться куда то быстрым перемещением
А можно же создавать корабли на обычных Корсарах 3
Добавлено (17.04.2011, 11:38) --------------------------------------------- Блин что мне делать я открываю program/scripts/ShipsUtilites а там нету /////////////////////// ВЕРФИ ////////////////////// void SetShipyardStore(ref NPChar)....???