Приветствую Вас Гость | RSS

Personal OFP Page by Freezer

Пятница, 22.11.2024, 00:20

Назад

История создания
 
Идея для создания данной модификации возникла после выхода специфической модификации для АРМА-2: DayZ, в которой игроку предлагалось возможность почувствовать всю тяжесть выживания в мире, зараженном вирусом, в котором живых людей осталось мало. В общем нет смысла перечислять всё то, что привнесла DayZ, но у многих появилось желание: "А почему бы не сделать подобное в ОФП?"  И если у большинства людей, у кого возникла эта идея либо не хватало опыта или же просто представляли объемы работы, и на этом останавливались, то мы поступили по другому. Отсутствие необходимого опыта и разные стереотипы породили полное отсутствие "невозможности" такого проекта. Тем более один из членов нашей команды постоянно терпел краши в сетевой игре, а второй постоянно требовал перерывов (В целях неразглашения конфиденциальной информации их никнеймы не будут разглашены).  Так что необходимо было как то решать эту проблему.
 
Процесс создания
 
В начале "пути" я заметил, что при применении команды "SaveGame" во время сетевой игры, создается файл сохранения. Но это был путь в тупик. Загрузить его, да ещё и в сетевой игре было невозможно. Это была попытка №1(Далее я я буду называть это Система №1)

Система №2 уже основывалась на сторонних программах типа Fwatch и OfpExt. Для начала я попробовал Fwatch, но отсутствие русского тутора+специфика программы убила мой мозжечок. Поэтому я решил использовать OfpExt от Voyager'a. В общем я честно пытался понять, как работает эта прога, даже консультировался у Voyager'a и труды принесли свои плоды. Удалось освоить функции, отвечающие за запись данных об игроке, при помощи тонны скриптов. Но возникла одна сложность: загружать их значит вбивать в скрипт в начале миссии все эти данные. А их там сотни. А если игрок будет играть в первый раз, и необходимо было поддерживать регулярный контроль за сервером.В общем этот путь тоже был в пропасть. На OfpExt была основана 2-я и 3 системы. Отличия 2-й от 3-й было в количестве скриптов.

Система №4 была прорывом. Некий Zeerwolf(Его ник я помню уже не очень хорошо, поэтому могу ошибаться) подкинул мне старый исходник системы сохранения от команды SOW, которая в свое время была занята той же проблемой. Доработав их систему, добавив в неё Save/LoadStatus начал появляться каркас, на котором была построена вся идея. В исходнике от
команды SOW не сохранялось состояние игрока, его вооружение всегда было полным или же пустым. Save/LoadStatus исправил эту дилемму но добавил баг со здоровьем, который исправить было нереально. Но в 4-й системе был ещё одни баг: Невозможно было сохраняться, находясь в зданиях. При загрузке, игрок оказывался на земле, нередко застревая в геометрии здания. Исправить этот баг было невозможно, так как система всё равно игнорировала переменную Z, которая отвечала за высоту.

Система №5(MSS 5.0) уже была окончательной. Её осуществление стало реальным лишь с выходом  ARMA:CWA 1.99, потому что именно в ней были такие команды как SetPosASL и GetPosASL, которые более корректно обрабатывали информацию, и баг с "Первым этажом" был исправлен. Именно для демонстрации этой системы был быстренько построен этот мод. Достоинством этой системы было лёгкое встраивание в любую миссию, возможность сохранение позиции и статуса транспорта и т.д.