.::Создание поездов и железных дорог в RA2/YR::. Автор – Blade::Написано 24/03/2003::http://tx.cannis.net::Перевод – AAlucarDD Те, кто играл в Tiberian Sun, наверное, помнят, что там есть поезда и железные дороги, по которым эти поезда катаются. Немногие знают то, что создавать поезда и железные дороги так же можно и в RA2/YR. Здесь мы покажем вам, как заставить эту функцию работать и как создавать карты с поездами на них. Это можно использовать для увеселения в мультиплеере и в качестве важного компонента в одиночной игре, т.к. там разрешены различные скрипты, с помощью чего можно создавать интересные задания. Весь процесс реабилитации железнодорожного транспорта будем проводить в 3 шага. Первым делом мы присвоим некоторым юнитам свойства поездов, далее будем создавать необходимые условия для передвижения поездов. При этом нам придётся работать с разными версиями FA – 0.98 и 2.0, которые содержат необходимые почвы и юниты. Стоит заметить, что полностью реализовать возможность передвижения поездов по миру RA2, можно только изменяя файлы art(md).ini и rules(md).ini, в противном случае у вас ничего не получится. Также поезда как юниты могут быть созданы только при условии, что у вас найдутся необходимые воксельные модели. .:: Создание железнодорожной логики в RA2/YR ::. Создать юнита, который будет вести себя как поезд, совсем не сложно. Вообще-то здесь предусматривается то, что вы обладаете всеми необходимыми знаниями, и помните, что где лежит в файле rules.ini и при необходимости можете изменить существующие/создать новые строчки в нём, чтобы получить абсолютно нового юнита. Итак, всё, что нам нужно, это добавление/изменение следующих параметров наземного юнита: TechLevel=-1 IsTrain=yes Locomotor={4A582741-9839-11d1-B709-00A024DDAFD1} MovementZone=Normal MovementRestrictedTo=Railroad ImmuneToPsionics=yes Строка TechLevel не даёт юниту быть произведённым в стенах военной фабрики игрока, а то та просто-напросто взорвётся. Строка IsTrain при значении yes даёт несколько вещей: во-первых, останавливает поезд при повороте на какой-либо точке и позволяет двигаться задом наперёд по пути. Вторая позволяет ему уничтожать любой юнит на своём пути с помощью боеголовки C4, и, наконец, запрещает поезду быть захваченным или поврежденным различными юнитами, занимающимися этим (таких перцев можно встретить в некоторых модах). Locomotor и MovementZone отвечают за движение и ускорение поезда. MovementRestrictedTo=Railroad не даёт поезду двинуться никуда, кроме железнодорожных путей, которые, как известно в RA2 и YR не используются, поэтому не вздумайте создать танк с таким параметром. ImmuneToPsionics=yes. Ну, тут всё ясно. Поезд не может быть захвачен никакими негодяями типа Юрия потому что в этом случае любая часть пути может быть установлена как пункт назначения. Это особенно важно, если карта создана так, что поезд может перемещаться между раздельными частями ж/д. Эта фишка не работала в TS, но при правильном подходе может быть реализована. Если вы хотите сделать поезда из нескольких вагонов, которые будут себя вести так же, как и настоящие, то вам придётся создать юнит «Engine», который будет тянуть за собой весь поезд. В этом случае рекомендуется написать для него следующие строки в rules.ini: SlowdownDistance=700 DeaccelerationFactor=0.001 AccelerationFactor=0.01 Для тех, кто использует графику Terrain Expansion (TX), следует заметить, что для воксельных моделей поезда минимальное значение Z должно быть не менее 3 и не более чем соответствующего модели номера. http://tx.cannis.net обещает, что скоро выпустит статью о вышесказанном. Они и есть авторы Terrain eXpansion. .:: Создание железной дороги или специальной почвы для поезда ::. Начнём с того, что оверлей железной дороги в RA2/YR остался такой же, как и в TS, а это говорит о том, что он имеет неподходящую палитру (это один из TS'овских файлов iso***.pal), несмотря на то, что он будут работать правильно и имеет все графические и кодовые настройки. RA2 имеет повреждённый лист оверлеев, спасибо, блин, EA за лицензирование программы от Matze, кто сделал всё это. Ладно, забудем, всё-таки у нас есть нужный кусок прямой железной дороги и кусок наклонной, но вид у них ужасный. В итоге, нам придётся создать необходимые оверлеевые .shp и .tmp файлы (вообще-то, .tmp разрешение никогда не используется, это разрешение для зоны действий (к примеру URBAN, SNOW, LUNAR, NEWURBAN)) Если вам нужно, чтобы ваша ж/д выглядела по-новому, вам придётся иметь знания или человека со знаниями по 2D и 3D графике, который нарисует вам всё это в перспективе. Terrain Expansion от http://tx.cannis.net имеет все необходимые текстуры для железной дороги, включая повороты, тоннели перекрёстки и т.д. Всё это проделано человеком под псевдонимом DJBREIT не без помощи самого автора статьи на всемирном международном – Blade. Если вы будете делать свой мод, связанный с железными дорогами, вам следует прописать необходимые настройки в файле rules.ini, чем изменять их для каждой такой карты. А теперь заметка, сделанная во время перевода - оба этих джентльмена очень хотят быть упомянуты в титрах вашего мода, если он связан с ж/д. Я это не перевёл это прямым текстом, потому что это как буржуйство смотрелось бы… .:: Создание железных дорог ::. На данном этапе предполагается, что вы скачали распрекрасный буржуйский мод TX v 2.0 или выше и у вас есть модели поездов. А также выдернутые theatre.ini файлы в папке с игрой, FAData.ini and FALanguage.ini файлы опять же от мода TX. Теперь запускайте Final Alert версией 1.01 или выше. Стоит отметить, что железная дорога смотрится хорошо только на картах с местностью Temperate или Urban. Причина почему-то нам не раскрывается. Но это будет смотреться нормально, когда карта будет запущена в игре. Вам стоит хорошо разобраться в оверлее, чтобы знать, что за что отвечает. Теперь сделайте какой-нибудь ж/д путь. Не пробуйте совмещать некоторые объекты на поверхности и железную дорогу, это даёт непонятные вещи в игровом процессе. Так же в данной статье не раскрывается прохождение поездов через тоннели. Теперь у вас есть нужный трек для поезда. Теперь попробуем запрограммировать поезд на движение по нему. Вы можете заставить двигаться поезда из одного вагона создавая необходимые триггеры, где есть оверлей железной дороги. Если вы хотите заставить кататься длинный поезд, вам следует поставить готовые юниты за пределами видимой части карты (где вам, кстати, в любом случае придётся разместить железную дорогу, чтобы заставить поезд появляться и исчезать из видимой части карты)или точку старта в пределах карты. Также следует учитывать, что юниты должны быть расположены по порядку в связи с их идентификационным номером. То есть первом месте юнит с номером 0, на втором – с номером 1, на третьем – с номером 2 и так далее. Чтобы узнать этот самый номер, наведите курсор на юнит и посмотрите вниз влево, на строку состояния, там всё должно быть написано. Теперь дважды кликните по локомотиву. Найдите там опцию "Follows ID" или "Flag 4" в FA 0.98, там должно значится «-1».Но там поставьте ID следующего вагона. Теперь ту же самую операцию проделайте со следующим вагоном, только в строчке "Follows ID" поставьте номер следующего вагона. Повторите это со всеми вагонами, кроме последнего, у которого нет преследователя, там надо поставить -1. Теперь должно выйти, что первый юнит в цепи (локомотив) следует по заданным точкам, другие же просто устремляются за ним, как в принципе, и происходит в настоящем поезде. Чтобы расставить все точки для движения поезда вам следует отключить Beginner Mode и приняться за дело. Всё вышесказанное – переделка инструкции для FS от RVMECH. Кстати, FinalSun сделан тем же негодяем Matze. Чтобы заставить поезд двигаться, как вы хотите, установите waypoint под каким-либо номером прямо под локомотивом, далее установите остальные waypoint'ы в порядке возрастания номера в арифметической прогрессии с коэффициентом 1. Короче, если под локомотивом номер 15, то следующим должен быть номер 16 и т.д. Порядок waypoint’ов, естественно, зависит от вас. Теперь создайте новый скрипт (называйте его, как хотите, в нашем случае это ”Trainmove”) с таким кодом: action type: 3 (move to waypt), Waypoint: 11 action type: 5 (guard area), Time units: 15 action type: 3, Waypt: 12 action type: 5, Time: 15 (if если вы оставите это значение таким же, поезд затормозит моментально, но вы можете иметь больше направлений) .. action type: 3, Waypt: 10 action type: 5, Time: 15 action type: 6 (jump to action ), : 1 (это отправляет поезд к первому действию, что заставляет его ходить по кругу.) Теперь создайте Taskforce (тоже называйте, как хотите, но у нас это “Locomotive”) для первого юнита, то есть локомотива. Теперь создайте команду (в нашем случае это “LocoTeam”, а у вас вновь как хотите) Поставьте Waypoint на значение 15, в общем, на то, которое было под локомотивом. Приставьте House к такому же House локомотива, который уже расположен на карте. Теперь уберите все проверочные метки (хрен знает что, вот оригинал текста: all checks (so the boxes have no check mark in them)). Поставьте правильный скрипт (Trainmove) и Taskforce (Locomotive). Создайте новый триггер: Event type: 13 (Прошедшее время), Time: 10 Action type: 4 (создаёт команду, с таким же названием, как и команда с юнитами поезда на поле), Team: LocoTeam Если у вас что-то не так, когда вы играете на своей карте с поездами, проверьте всё ещё раз, уберите все моды из RA2 или прочтите эту статью на английском. Теперь поезд должен спокойно кататься по карте. Однако будьте осторожны с направлением поезда, не поставьте пункт следования за пределами железной дороги!!! .:: Поправки к настройкам оверлея в rules.ini ::. Это нужно для того, чтобы заставить юнитов реагировать с оверлеем правильно. Поэтому данные настройки должны быть импортированы в каждую нужную карту через редактирование текста или через изменение файла rules.ini. Чтобы всё это проделать, можно использовать функцию импортирования .ini файла в FA2YR и импортировать из файла track.ini. Вот ссылка на него: http://tx.cannis.net/download/download.php?id=trackini
Источник: http://tx.cannis.net/?p=train_tutorial |