Microsoft-вагон бежит, качается... Вскрытие Microsoft Train Simulator
Microsoft Train Simulator — настоящий подарок любителям железных дорог. Но чего-то не хватает. Не знаю уж, чего именно, но думаю, не ошибусь, если предположу, что отсутствие возможности покопаться во внутренностях игровых поездов входит в список основных недостатков Microsoft Train Simulator. Да и возможности создания собственных поездов не хватает. Непорядок, товарищи… Давайте браться за дело. Чух-чух… По традиции начинаем с исследования внутренностей игровой директории. Нас
;)
могут привлечь лишь два ее подкаталога: \Sound и \Trains. В первом располагается большая часть звуковых эффектов игры в виде *.wav-файлов , а во втором поселились папки \Consists и \Trainset. В последней хранится множество директорий, каждая из которых отвечает за определенный поезд (названия директории и поезда совпадают). Зайдите в интересующий вас каталог — увидите ряд файлов и (не всегда) один-два подкаталога. Нам может пригодиться только подкаталог \Sound, где собрались *.wav-файлы со звуковыми эффектами, производимыми данным поездом (подкаталога \Sound может и не быть, если этот поезд не производит каких-либо специальных звуков). Что касается местных файлов, то среди всей их массы нас интересуют лишь те, что обзавелись расширениями *.eng и *.wag.
;)
Файлы с расширением *.eng содержат характеристики и атрибуты локомотива (в каждом каталоге, посвященном какому-либо поезду, существует только один такой файл), а *.wag-файлы — параметры и свойства грузовых, пассажирских вагонов, а также тендеров. Редактировать эти файлы удобнее всего при помощи другого продукта вездесущей компании Microsoft — текстового редактора Microsoft Word. Открыв любой *.eng- или *.wag-файл в Word’е, надо подобрать нужную кодировку. Выбирайте Unicode , и дело сделано — теперь можно приступать к корректировке. Но прежде познакомимся со структурой файлов. Оба вида файлов (я имею в виду *.eng и *.wag) буквально напичканы различными атрибутами и характеристиками, значения которых заключены в скобки (при редактировании будьте аккуратней — не сотрите случайно скобки там, где они требуются) следующим образом: имя параметра ( X ) , где X — значение для этого параметра (пример: WheelRadius ( 0.5m )). Обратите внимание на то, что все *.eng-файлы, в отличие от *.wag, разделены на две части: Wagon и Engine (в *.wag-файлах имеется только первая), в каждой из которых преобладают свои параметры и характеристики. В начале первой из них красуется строчка “ Wagon ( X ”, а в начале второй расположена надпись “ Engine ( X ”, где X — название вагона/локомотива. Следует учитывать, что некоторые параметры объединены в блоки (параметры внутри любого из таких блоков заключаются в скобки). Вот пример такого блока: Spring (Stiffness ( 2e7N/m 0 ) Break ( 2e7N 0 )) В данном случае Spring — название блока, а Stiffness и Break — его внутренние характеристики. Экстерьер Теперь разберем саму **
;)
структуру *.eng- и *.wag файлов (структура обоих весьма схожа, хотя отдельные характеристики могут не присутствовать в одном из них, но при этом содержаться в другом), начиная с первого блока, именуемогоWagon**.Во время редактирования значений некоторых игровых параметров не трогайте их единицы измерения, представленные в виде букв m, in, h и т.д.Type— тип вагона. Вот список возможных значений:Engine(локомотив),Freight(грузовой вагон),Carriage(пассажирский вагон),Tender(тендер). Хотите сделать локомотив грузовым вагоном? Нет ничего проще — просто подправьте местное значение в файле, относящемся к нужному локомотиву.Size— размеры вагона. Здесь укажите соответственно ширину, высоту и длину вагона. Значения указываются через пробел и измеряются в метрах. Пример: Size ( 2.62m 4.0072m 20m ).CentreOfGravity— центр гравитации вагона. При верном центре гравитации вагон ведет себя наиболее реалистично.MaxTilt— максимальный боковой угол наклона вагона (измеряется в градусах). При наклоне вагона боком на большее количество градусов, чем указано здесь, он (вагон) падает.Mass— масса вагона в тоннах. Если речь идет о пассажирских, грузовых вагонах или о тендере, то чем меньше масса одного из них, тем меньше нагрузки достается локомотиву. Если же говорить о локомотиве, то его масса существенно влияет на скорость передвижения. В общем, никому лишние килограммы, и тем более тонны, не нужны.WheelRadius — радиус колес вагона в метрах (должен быть больше нуля, иначе игра будет
;)
зависать). NumWheels — количество колес у вагона. Местное значение должно быть больше двух. При большом желании можно даже “поиздеваться” над вагоном, сделав количество колес нечетным. Далее идет блок Inside , внутри которого вы можете встретиться со следующими параметрами. PassengerCabinHeadPos — позиция “головы пассажира”, то есть место, откуда вы можете обозревать содержимое поезда, находясь в роли пассажира (вид Passenger view ). Если вам не нравится отведенное вам в вагоне место, можете его смело менять. Здесь, а также при редактировании параметра StartDirection, следует указать координаты “головы пассажира” соответственно по осям X, Y и Z. RotationLimit — предел вращения “головы пассажира”. Чем больше местные значения, тем дальше вы можете поворачивать голову по осям X, Y и Z, находясь в вагоне поезда, и тем больше местность, которую вы можете окинуть взглядом. Кстати говоря, быть пассажиром вагонов многих игровых поездов неинтересно и неудобно именно по причине того, что предел вращения головы в них весьма невысок. К тому же ни в одном местном вагоне нельзя наклонить и приподнять подбородок, что тоже неудобно и неправильно. StartDirection — позиция “головы пассажира” в тот момент, когда вы впервые за рейс переключаетесь на Passenger view. BrakeEquipmentType — элементы тормозной системы вагона. Их следует перечислить через запятую. Вот список основных элементов: handbrake (ручной тормоз), vacuum_brake (вакуумный тормоз), triple_valve (стандартный тройной клапан), ep_brake или ecp_brake (тормоз, работающий на электричестве), auxilary_reservoir (цистерна, наполненная воздухом и служащая для нормальной работы всей тормозной системы), emergency_brake_reservoir (бак с запасным воздухом, применяемый при чрезвычайных ситуациях), distributor (электронный или компьютерный контроллер, который в случае необходимости может установить контроль над любым параметром тормозной системы). Оптимальные элементы тормозной системы для паровоза — это вакуумный и ручной тормоза, а также цистерна с воздухом и бак с запасным воздухом. На электровоз лучше всего устанавливать тормоз, работающий на электричестве, или электронный контроллер (второй вариант предпочтительнее). Тепловозу же для максимальной производительности требуются тройной клапан, цистерна с воздухом и бак с запасным воздухом. Интерьер Часть Engine богата характеристиками, относящимися к разного рода локомотивам — к паровозам, электровозам и тепловозам (некоторые показатели являются общими для всех локомотивов, другие используются только определенными их видами). Паровозы IsTenderRequired — нужен ли паровозу для езды тендер (1 — да, 0 — нет). CutoffMaxReverse — максимальная отсечка пара во время езды на полном заднем ходу. CutoffMaxForward — максимальная отсечка пара во время езды вперед на полном ходу. BoilerLength — длина парового котла паровоза в метрах. BoilerVolume — максимальный объем воды, помещающийся в паровом котле паровоза. BoilerEffectivity — эффективность работы парового котла. Чем выше, тем быстрее генерация дыма достигает своего апогея и двигатель начинает работать на полную мощность. CoalBurnage — количество угля в фунтах, сжигаемое в топке паровоза за один час. MaxBoilerOutput — максимальное количество дыма, вырабатываемое паровым котлом (в фунтах в час). Чем больше, тем быстрее паровоз может набирать скорость. NumCylinders — количество цилиндров в паровозе. CylinderDiameter — диаметр цилиндра в дюймах. CylinderVolume — вместительность цилиндров. CylinderEffectivity — эффективность работы цилиндров. Чем выше здешнее значение, тем ниже эффективность (при значении больше единицы эффективность очень низка). ExhaustLimit — максимальное количество пара (измеряется в фунтах), используемое цилиндрами за один час. Чем выше значение этого показателя, тем большее количество вагонов и тем больший груз сможет тащить за собой паровоз на высокой скорости. MaxBoilerPressure — максимальное давление в паскалях, которое может выдержать паровой котел паровоза. MaxFireMass — максимальное количество огня, предназначенного для сжигания угля (измеряется в фунтах). IdealFireMass — идеальное количество огня для сжигания угля.
;)
Вид из-под колес. Красиво, но неудобно.
SafetyValvesSteamUsage — скорость расхода пара клапанами безопасности при их взрыве (измеряется в фунтах в час). MaxTenderCoalMass — вместимость угля для тендера (в фунтах). MaxTenderWaterMass — вместимость воды для тендера (в фунтах). SteamSmokeUnitsPerPoundOfFuel — минимальное количество дыма и пара в фунтах, производимое при помощи одной порции угля. SteamMaxSmokeUnitsReleaseRate —
;)
Вид с крыши. Красиво и удобно.
максимальное количество дыма и пара. BasicSteamUsage — расход пара паровозом, когда тот не движется (измеряется в фунтах в час). SteamCylinderCocksOperation — режим работы кранов цилиндров. Если вы напишете здесь “ automatic ” (без кавычек), краны цилиндров будут открываться и закрываться без вашего участия, когда того требует ситуация. Если вы хотите самостоятельно выполнять эти несложные операции, подставьте сюда значение “ manual ". CutoffSmallestSetting — минимальная отсечка пара. Здешнее значение должно быть больше нуля, но меньше семидесяти пяти. HeadOut — координаты специальной камеры (по осям X, Y и Z), расположенной на боку паровоза (чтобы ее активизировать, необходимо включить вид из кабины и нажать стрелку вниз). Тепловозы MaxDieselLevel — максимальное количество дизельного топлива, помещающееся в тепловозе (измеряется в галлонах). DieselUsedPerHourAtMaxPower — количество дизельного топлива в галлонах, расходуемое тепловозом в час, когда тот работает на полной мощности. DieselSmokeEffectInitialMagnitude — количество дыма, которое выходит из труб тепловоза, когда он трогается с места. DieselSmokeEffectMaxMagnitude — максимальное количество дыма, выпускаемое из труб тепловоза. Если вы хотите, чтобы тепловоз вообще не загрязнял атмосферу своим густым дымом, поставьте здесь “0”. DieselEngineType — система работы
;)
двигателя. Вот список возможных систем работы двигателя в порядке возрастания их “крутости”: electric (электрическая), hydraulic (гидравлическая), mechanical (механическая). Общие MaxBrakeForce — максимальная сила тормоза (измеряется в килоньютонах). Чем выше, тем быстрее вагон может остановиться в случае необходимости. MaxHandbrakeForce — максимальная сила ручного тормоза (в килоньютонах). MaxReleaseRate — максимальное понижение давления (в паскалях), которое может быть произведено за одну секунду при торможении вагона. MaxApplicationRate — максимальное повышение давления (в паскалях), которое может быть произведено за одну секунду при торможении вагона. MaxPower — максимальная мощность, достигаемая локомотивов (измеряется в киловаттах). MaxVelocity — максимальная скорость в милях, которую может достигать локомотив при минимальной мощности. MaxCurrent — максимальная сила электрического тока (в амперах), который может вырабатывать локомотив (у паровозов этот показатель отсутствует). DynamicBrakesMaximumForce — максимальная сила динамических тормозов в килоньютонах. DynamicBrakesResistorCurrentLimit — максимальная сила электрического тока, который могут генерировать динамические тормоза (в амперах). GearBoxNumberOfGears — число передач в коробке передач (должно быть больше единицы, иначе игра будет зависать). GearBoxOperation — тип коробки передач: automatic — автоматическая, manual — ручная. Старый поезд с новой начинкой В конце любого *.eng-файла (а именно после слов “Name ( " <название локомотива>" )”) можно
;)
обнаружить текстовый блок, где прописаны технические характеристики локомотива и его описание (все это заключено в кавычки), которые вы видите, когда нажимаете на кнопочку “Details” в игровом меню перед началом рейса. Если уж вы решились создать свой поезд, не мешает и указать здесь правильные технические данные локомотива, и изменить его описание. Чуть ниже, после слов EngineOperatingProcedures , находится блок, где рассказывается, как управлять данным локомотивом (в частности, как начать движение). Если у вас проблемы с вождением какого-либо локомотива, обращайтесь к этому блоку. Напоследок замечу, что в статье я обратил ваше внимание лишь на самые важные характеристики и параметры поездов, не затронув ряд второстепенных. Но если у вас есть желание, можете поработать и с ними. Теперь вы можете делать с игровыми поездами все, что захотите, и даже заменять их своими творениями путем изменения значения показателей и характеристик исходных поездов. Правда, при этом внешний вид нового поезда будет практически полностью соответствовать замененному. Но это не беда — главное, что внутри у них все будет обустроено по-новому.