© PowerManGast50730290, август 2013. Перепечатка только с разрешения автора.

Модификация игры «Сафари Биатлон»

Данный инструктаж поможет вам немного модифицировать игру: увеличить количество противников на трассе, увеличить деньги собираемые на трассе и при победе, раскрыть нереализованные бонусы.

Примечание. Редактирование всех конфигурационных файлов проводится в текстовом редакторе типа «блокнот».

Cars.cfg

Начнём с машин. В папке «DATA» располагается файл «cars.cfg» (перетаскиваем его в блокнот). В нём можно провести лёгкие настройки для машин: изменить их цену в магазине и величину поворота. Скорость, вес, силу торможения изменить не удастся.

Скорость поворота

RotationSpeed = 0.9 — скорость поворота;
RotationAccel = 0.1 — ускорение разворота (чем меньше будет дробное число, тем плавнее будет разворот, в данном случае 0.1 — оптимальное значение).

Эти параметры отвечают за скорость разворота машины и принимают только дробные числа от 0.0 и более. Если поставить, к примеру, целые числа 1 или 2, то ваша машина не сможет разворачиваться. Поэтому стоит ставить только дробные числа 0.0, 1.0, 2.0, 14.5, 54.9 и т. д. Но не стоит ставить слишком большие цифры — велика вероятность, что не будет никакого эффекта.

Цена

Price = 1500 — цена данной машины.

Пример.
Price = -8000 — Если перед значением поставить знак «-», то при покупке машины магазин будет вам выплачивать 8000 кредитов.

JoystickSens = 3.0 — чувствительность джойстика.

Описательные параметры

А эти параметры относятся только под описание машины в магазине и не более. На примере машины «Пегас»:
CarName = 41 — «номер» имени машины.
MaximumSpeed = 100 — максимальная скорость, не влияет на саму машину.
Acceleration_i = 150 — ускорение/мощность, не влияет на саму машину.
Steering_i = 1 — класс машины, ничего особенного.
BrakeGear_i = 0 — сила торможения, не относится к машине. В магазине нигде не указана.
Mass_i = 208 — масса машины, не влияет на саму машину.

На этом с файлом «cars.cfg» всё.

Bonuses.cfg

Далее идёт файл «bonuses.cfg» лежащий всё в той же папке «DATA».

В нём настраиваются свойства бонусов самой игры (Патроны, Деньги, Антигравитатор, Ускорение, Утяжеление, Щит, Мина и еще дополнительные, которые не включили в игре, какие именно — узнаем чуть позже).

Патроны

object Bonus2
BonusID = 2 — идентификатор бонуса.
Description = 32 — «номер» описания бонуса возле его иконки.
BonusIcon = "Bonus_ammo" — иконка бонуса, отображаемая на экране.
Time = 0 — время действия бонуса (параметр не используется для денег и патронов).
SplashHelpTime = 3000 — время пребывания описания бонуса на экране.
UnitsAmount = 20 — количество подбираемых патронов. К деньгам этот параметр не имеет никакого отношения. Чтобы увеличить количество денег от собираемых монет на трассе и получаемых за победу в чемпионате — надо отредактировать файл «planets.cfg», который будет рассмотрен чуть позже.

Обычный Ускоритель

object Bonus3
BonusID = 3 — идентификатор бонуса.
Description = 33 — «номер» описания бонуса возле его иконки.
BonusIcon = "Bonus_speed1" — иконка бонуса, отображаемая на экране.
Time = 20000 — время действия ускорителя.
SplashHelpTime = 20000 — время пребывания описания бонуса на экране.
UnitsAmount = 40 — количество добавляемых км/ч. Но, это не значит, что если, к примеру, вы поставите этому параметру значение «4000», ваша машина будет лететь с такой же скоростью. Максимум что прибавиться к её скорости, так это еще одна её собственная. К примеру: скорость машины 250, а с ускорителем добавиться столько же + 250. Можете поставить значение «100» или «200».

В этой игре присутствуют ещё два вида «ускорителей»:

  • первый называется «Speed Down» (но это не ускоритель, а замедлитель — он замедляет скорость вашей машины);
  • второй «Crazy Driver» (тот же ускоритель только зелёного цвета. Увеличиваемая им скорость = 50).

Разработчики их почему-то так и не реализовали. Хотя можно их вручную включить в игру.

Чтобы их использовать в гонке понадобится редактирование файла «mission.mis», который будет рассмотрен чуть позже.

Бонус «Crazy driver»

Внешний вид бонуса «Crazy driver»Значок бонуса «Crazy driver»

Резко увеличивает максимальную скорость машины, в этом режиме тормоз не работает.
object Bonus6
BonusID = 6
Description = 36
BonusIcon = "Bonus_speed2"
Time = 10000
 — время действия. Чуть меньше, чем у обычного ускорителя.
SplashHelpTime = 10000
UnitsAmount = 50
 — добавляемая скорость.
end

Бонус «Speed Down»

Внешний вид бонуса «Speed Down»Бонус «Speed Down»

Замедляет скорость вашей машины на 30 единиц.
object Bonus4
BonusID = 4
Description = 34
BonusIcon = "Bonus_speed2"
Time = 10000
SplashHelpTime = 10000
UnitsAmount = 30
 — забираемая скорость.
end

Бонус «Dynamic Mine»

Внешний вид бонуса «Dynamic Mine»Значок бонуса «Dynamic Mine»

В конфигурационных файлах игры присутствует бонус «динамическая мина» — «Dynamic Mine», но его так и не получилось включить в игру.
object Bonus5
BonusID = 5
Description = 35
BonusIcon = "bonus_uprug"
Time = 0
SplashHelpTime = 0
UnitsAmount = 0
end

Бонус «Pinball Collision»

Внешний вид бонуса «Pinball Collision»Значок бонуса «Pinball Collision»

И ещё есть «Pinball Collision» — этот бонус даёт вашей машине свойства мячика, когда вы врезаетесь в стену/препятствие под прямым углом.
object Bonus10
BonusID = 10
Description = 40
BonusIcon = "Bonus_uprug"
Time = 15000
SplashHelpTime = 15000
UnitsAmount = 0
end

Но все они так и не были почему-то включены в игру. Однако их можно вернуть на трассу.

Если вы прокачаете возможности первого обычного ускорителя «Bonus_speed1» (его время действия и добавляемую им скорость), то он будет такой же, как и бонус «Crazy Driver», но при этом у вас будет возможность притормозить на повороте.

Примечание.
Нельзя все бонусы в этом файле превратить, к примеру, в ускорители. Эффекта будет ноль. Так как программа всё равно будет распознавать где и какой бонус.
Например, в бонус монеты вы поставили идентификатор, описание и иконку бонуса ускорителя — всё равно этот бонус будет распознаваться как «монета».

Редактирование остальных бонусов относится к редактированию времени их действия, и количеству подбираемых патронов.

planets.cfg

Чтобы увеличить количество кредитов от подобранных монет на трассе и при победе в чемпионате, нужно отредактировать файл «planets.cfg».

Contribution = 0 — взнос/плата за участие в этом чемпионате. Можете также поставить отрицательное число, чтобы вам платили за участие в чемпионате.
TotalMoney = 1500 — количество кредитов, которые вы можете собрать в гонке. Эта сумма делится на количество монет на трассе.
FinishBonus = 2000 — сумма кредитов, которая будет разделена на три победителя в чемпионате. Первому достаётся больше.

mission.mis

Чтобы на трассе были какие-то определённые бонусы, и чтобы активировать выключенные разработчиками бонусы, нужно отредактировать следующий файл.

missions\track1\MIS — по этому адресу располагаются конфигурационные файлы «mission.mis», «manual.mis» и несколько «car*.cfg», которые помогут нам настроить бонусы на первой трассе (а также раскрыть нереализованные), чуть увеличить количество противников на трассе и изменить скин/текстуру машин, как своих, так и противника. Аналогичные файлы лежат в папках с настройками других трасс (missions\track2\MIS, missions\track3\MIS и так далее до missions\track9\MIS).

Файл «mission.mis» — здесь настраивается количество кругов и типы бонусов на трассе.

racenum 1; — количество кругов.
bonus 29; — количество мест для бонусов на трассе за 1 круг.
money 7; — деньги.
mine 5; — обычные мины.
acceleration 3; — ускоритель.
ammo 7; — патроны.
deceleration 0; — «замедлитель» — новые (которые не включили в финал, это видно по значению «0»).
maxspeed 0; — «Crazy Driver» — новые (которые не включили в финал).
bigmass 2; — утяжелитель.
lowmass 2; — антигравитатор. Облегчает массу машины, увеличивая её поворотливость.
shield 3; — щит.
collision 0; — «Pinball Collision» — новые (которые не включили в финал).
Вот чего здесь нет, так это ещё одного бонуса — «Dynamic Mine». Может быть, разработчики не успели его хорошо продумать, поэтому он так и остался в виде иконки с описанием.

Примечание.
Суммарное количество бонусов не должно превышать количество мест в параметре «bonus». Поэтому нужно заранее всё просчитать. Увеличение мест в параметре «bonus» приведёт к вылету игры. Поэтому придётся ограничиться этим количеством — «29». На разных уровнях/трассах количество мест в этом параметре разное.

Вы хотите, чтобы на трассе были только одни ускорители? Тогда вам нужно поставить значение «29» в параметре «acceleration» и обнулить все значения в остальных бонусах.

manual.mis

Следующий файл «manual.mis» — в нём настраивается количество противников на трассе, их тип (слабые/мощные машины) и текстура.

num_of_car 4; — количество машин на трассе, включая вашу.
num_of_pool = 5; — разновидности машин, из которых будут случайным образом отбираться машины для матча.

То есть в параметре стоит «num_of_car 4;», значит противников будет всего 3. Но у нас для данной гонки имеются 5 разных «типов» машин противника «num_of_pool = 5;», 3 из которых будут отбираться в случайном порядке.

camera_car 0; — значение «0» относится к вашей машине. Если поставить другие число, относящееся к номеру противника, то вы сможете только за ним наблюдать и стрелять из его пушки.

Количество машин не должно превышать 8–10 , иначе, либо машины будут генерироваться далеко за пределами старта, либо игра может зависнуть/вылететь из-за отсутствия дополнительных «триггеров» на трассе, в которые размещаются/подгружаются эти машины, либо вообще за неимением дополнительных мест в списке игроков. На счёт последнего: к примеру, у вас на трассе 10 машин, игра на старте не вылетела, но когда вы пересечёте финишную прямую — игра может на этом моменте вылететь.

Чтобы увеличить количество машин, к примеру до 7, поставьте значение «8» параметру num_of_car — на трассе будет 7 противников, вы будете 8-ым. Вы можете сюда поставить значение «1», чтобы одному участвовать в гонке, либо можете в двух параметрах поставить значение «1»: в «num_of_car» и в «camera_car», чтобы бот за вас проехал всю карту. Если значение «camera_car» будет больше значения «num_of_car», то камера переместиться на самую последнюю машину в гонке. Если в значении «num_of_car» поставить «0», а в »camera_car» поставить значение «1» или больше — игра вылетит или зависнет, так как камере не к чему привязываться.

num_of_pool = 8; — это 8 различных «типов» и вариантов «раскраски» машин для матча, а также их имён. Вы можете поставить значение «1», чтобы все машины были какого-то одного типа на трассе, который установлен только в первых строках (к сожалению, игра не может выбирать случайным образом в таком случае):
car_model1 UNITS\UNITS\battle\pegasus_2.dat; — модель машины;
car_driver1 missions\TRACK1\MIS\car4.cfg; — конфигурационный файл поведения противника на трассе.

И если вы решите сделать машины одного типа, то они будут иметь одинаковое поведение на трассе и имена в списке игроков за гонку.

Если вы хотите чтобы эти 7 противников отличались моделями, поведением и именами на трассе, то вам нужно:
1) Добавить две строчки для 6 и 7 машины в пункте физических моделей:
physics models
car_model1 UNITS\UNITS\battle\pegasus_2.dat;
car_model2 UNITS\UNITS\battle\pegasus_3.dat;
car_model3 UNITS\UNITS\battle\light_2.dat;
car_model4 UNITS\UNITS\battle\light_3.dat;
car_model5 UNITS\UNITS\battle\night_3.dat;

car_model6 UNITS\UNITS\battle\ модель машины.dat;
car_model7 UNITS\UNITS\battle\ модель машины.dat;
 — это две дополнительные строки, которые вам надо дописать, если вы соберётесь чуть увеличить число противников.

Если вы хотите использовать другие модели машин противников, то отправляйтесь по адресу, и копируйте оттуда имя и расширение файлов моделей, и вставляйте в соответствующие строки:
«UNITS\UNITS\battle\» По этому адресу располагаются модели машин, как ваших, так и противника.

«pegasus.dat» — «Пегас» — первая машина в магазине. Файлы без цифр являются вашими, все остальные с цифрами — используют противники.

Чтобы изменить свою модель или поменять цвет машины на другую, вам надо поменять имя файла, к примеру, возьмем машину «Пегас»: переименуем файл «pegasus_2.dat» на «pegasus.dat», а «pegasus.dat» на «pegasus_2.dat» — и у вас будет зелёный «Пегас», а у противников будет синий. Изменения можно увидеть только на трассе, но не в магазине.

Файлы моделей машин:
PEGASUS.dat — Пегас;
NIGHT.dat — Таран;
LIGHT.dat — Корсар;
creature.dat — Красный дьявол;
CAMEL.dat — Эльдорадо;
BAT.dat — Скорпион;
GOLD.dat — Тайфун;
Frog.dat — Аллигатор;
Fish.dat — Акула;
SHARK.dat — Сталкер;
METAL.dat — Смерч;
ORNAMENT.dat — Ураган;
PHOENIX.dat — Шквал;
CANVAS.dat — Фантом.

Все остальные файлы (с цифрами) — это различные окраски этих машин.

Вариант раскраски машины Пегас Вариант раскраски машины Пегас Вариант раскраски машины Пегас Вариант раскраски машины Таран Вариант раскраски машины Таран Вариант раскраски машины Таран Вариант раскраски машины Корсар Вариант раскраски машины Корсар Вариант раскраски машины Корсар Вариант раскраски машины Красный дьявол Вариант раскраски машины Красный дьявол Вариант раскраски машины Красный дьявол Вариант раскраски машины Эльдорадо Вариант раскраски машины Эльдорадо Вариант раскраски машины Эльдорадо Вариант раскраски машины Скорпион Вариант раскраски машины Скорпион Вариант раскраски машины Скорпион Вариант раскраски машины Тайфун Вариант раскраски машины Тайфун Вариант раскраски машины Тайфун Вариант раскраски машины Аллигатор Вариант раскраски машины Аллигатор Вариант раскраски машины Аллигатор Вариант раскраски машины Акула Вариант раскраски машины Акула Вариант раскраски машины Акула Вариант раскраски машины Сталкер Вариант раскраски машины Сталкер Вариант раскраски машины Сталкер Вариант раскраски машины Смерч Вариант раскраски машины Смерч Вариант раскраски машины Смерч Вариант раскраски машины Ураган Вариант раскраски машины Ураган Вариант раскраски машины Ураган Вариант раскраски машины Шквал Вариант раскраски машины Шквал Вариант раскраски машины Шквал Вариант раскраски машины Фантом Вариант раскраски машины Фантом Вариант раскраски машины Фантом

Игра использует два типа одних и тех же машин. Например, для гоночной трассы используется файл «pegas_1.dat», а для магазина берётся просто файл «pegas.dat». Поэтому нельзя провести подмену файлов (для магазина и для трассы) между собой — игра вылетит или зависнет. Так как характеристики машин в этих файлах разнятся. Возможно, «pegas_1.dat» имеет доступ к машине, расположенной в библиотечных файлах, а также к инструкциям для управления этой машиной с клавиатуры. Файл же «pegas.dat», предназначенный для магазина, имеет обычную болванку модели.

2) Вам надо дописать ещё две строчки для 6 и 7 машины в пункт подгружаемых конфигов для поведения этих противников.
files contain parameters for behaviours
car_driver1 missions\TRACK1\MIS\car4.cgf;
car_driver2 missions\TRACK1\MIS\car2.cgf;
car_driver3 missions\TRACK1\MIS\car3.cgf;
car_driver4 missions\TRACK1\MIS\car1.cgf;
car_driver5 missions\TRACK1\MIS\car5.cgf;

car_driver6 missions\TRACK1\MIS\car6.cgf;
car_driver7 missions\TRACK1\MIS\car7.cgf;
 — это две дополнительные строки для противника, которые будут использовать эти конфигурационные файлы. В них содержатся: имя водителя, скорость и прочие характеристики.

3) Создать два дополнительных файла «car6.cgf» и «car7.cgf» в этой папке для первого уровня («missions\TRACK1\MIS\»). Просто выделите какой-нибудь один файл из пяти таких же, создайте две его копии, и дайте им соответствующие имена («car6.cgf» и «car7.cgf»). Потом останется открыть их блокнотом и откорректировать параметры, которые мы разберём далее на следующем примере:

(Для примера был взят файл car4.cgf)

driver_name имя водителя — в этом параметре через пробел пишется имя водителя.
global_ws 2000; — частота стрельбы по врагам, чем меньше значение — тем чаще стреляет.
player_back_dist = 80; — дистанция допустимого отставания от игрока. К примеру, вы обогнали этого противника на 120 м. Противник сразу включит максимальную скорость, порой, даже превышающую максимальную скорость своей машины (которая указана в параметре «max_speed = 25;«), чтобы вас догнать. И когда дистанция между вами сократится и будет меньше 80 метров, противник включит обычную, максимальную скорость.
player_dist = 80; — дистанция от игрока (когда вас обгонят), на которой противник резко сбросит свою скорость до какого-то определённого уровня, чтобы вы могли его беспроблемно догнать.
max_speed = 25.0; — скорость данного противника (максимум = 50.0) Слишком большое значение ставить не стоит, иначе противники будут только мешать — они будут постоянно в вас врезаться и мешать ехать дальше, но с другой стороны это добавляет «хардкорности».
Поясняю, если стоит значение «25» то противник будет ехать с максимально-возможной скоростью своей машины даже тогда, когда вы его обгоните. Если будет стоять значение больше «25», например «30», «40» или «50» то у него всё равно будет прежняя скорость, но когда вы его обгоните, то он включит максимальную скорость, даже превышающую возможности своей машины, чтобы вас обогнать или, по крайней мере, не отставать от вас.
d_accel 1.4; — скорость ускорения машины противника.
d_stop 0.9; — сила торможения машины противника.
d_rotate 0.6; — скорость поворота машины противника.
max_fire_L 100; — дистанция на которой начнётся захват цели, как у нас на противника, так и у этого противника на нас. На дистанции больше 500 метров попасть в противника будет практически невозможно, но прицел всё равно будет его улавливать/прицеливаться в него, даже сквозь стены.
min_fire_cosa 0.99; — у всех машин, даже у нашей, есть автонаведение прицела на противника — чем меньше это число, тем лучше наш прицел будет улавливать данного противника, так же и он нас. Если поставить значение «0.01»-то наш прицел будет хорошо улавливать только данного противника, который использует этот конфигурационный файл.

Противники делят бонусы на две части. К первой части относят обычные бонусы: деньги, патроны, мины. Ко второй части относят «читерские» бонусы: ускоритель, щит, утяжелитель, антигравитатор.

bonus_cheater = false; — будет ли ваш противник использовать «читерские» бонусы для преимущества на трассе (при установке в значение false — не будет, в true — будет).
use_bonus = true; — будет ли ваш противник использовать бонусы на трассе (при установке в значение false — не будет, в true — будет).

В чемпионате есть сильные и слабые игроки. Можете всех сделать сильными, увеличив им максимальную скорость «max_speed» до «30.0», «40.0» или «50.0», увеличить частоту стрельбы путём понижения значения в параметре «global_ws», поставить значения «true» в параметре «bonus_cheater».

Примеры описанных модификаций игры можно увидеть в подборке видео и на скриншотах:

Скриншот результата модификации игры №1 Скриншот результата модификации игры №2 Скриншот результата модификации игры №3

Следы Паркана

Теперь о другом моменте:
В игре ещё присутствуют файлы роботов из игры «Parkan» (Parkan: Железная стратегия в непереизданной версии — прим. ред.), правда они все однотипны. Их можно добавить на трассу вместо обычных противников. В файле «manual.mis» (первого уровня) в пункте «physics models», вместо строчки
car_model1 UNITS\UNITS\battle\pegasus_2.dat;
поставить следующую
car_model1 UNITS\UNITS\HERO\hero_3.dat;
На трассу подгрузится робот из игры «Parkan».
Правда при запуске старта вас проинформирует ошибка, что не найден файл hero_3.tbl. После нажатия «ОК» игра продолжиться, и вы увидите этого/этих роботов, правда на нём будет использована неправильная текстура (текстура колеса машины). После успешного попадания в него 20–50 патронами, игра зависнет, так как один из участников гонки был уничтожен и игра не может его инициализировать в списке игроков за матч.

Модель капитана из Железной стратегии в модификации Сафари Биатлон Модель капитана из Железной стратегии в модификации Сафари Биатлон Модель капитана из Железной стратегии в модификации Сафари Биатлон Модель капитана из Железной стратегии в модификации Сафари Биатлон

Dat-файлы имеют ссылки на текстурную библиотеку «Textures.lib». Такой файл есть в играх «Сафари биатлон» и «Parkan Железная стратегия». Если заменить файл «Textures.lib» Сафари биатлон на файл «Textures.lib» из Parkan Железная стратегия, то в игре Сафари биатлон пропадут текстуры (всё будет серого или белого цвета) и будут постоянные ошибки с предупреждениями об отсутствии нужных текстур. Однако, даже при такой подмене модели из Железной стратегии не получают родных текстур. При подмене «objects.rlb» на свой аналог из Parkan Железная стратегия — игра при запуске вылетает с ошибкой. Также, если отредактировать dat-файл, изменив в нём параметры или ссылки, то он оказывается уже неработоспособным и игра вылетает с ошибкой.

Пожалуй, на этом всё.

Автор инструктажа: PowerManGast50730290 ©