Mission Pack и с чем его едят

11 августа 2019
VitalRus


Введение

Слышали ли Вы о Mission Pack'ах? А слышали ли Вы о DYOM (Design Your Own Mission)? Если на первый вопрос Вы ответили «нет», а на второй — «да», спешу Вас обрадовать: DYOM — это самый известный пример MPACK'а.
Основная суть

Итак, Mission Pack (≈«набор миссий») — это оставшаяся со времён разработки игры и случайно найденная моддерами технология, позволяющая загружать и использовать отдельный, независимый .scm-файл. Что это означает на практике? А на практике это значит возможность создавать крупномасштабные скриптовые модификации, не прибегая к редактированию оригинального main.scm. Напомню, что SCM-скриптинг значительно расширяет Ваши возможности: в едином файле удобно работать с множеством взаимосвязанных скриптов и миссий; можно пользоваться всеми глобальными переменными, в отличие от cleo-скриптов/миссий; если библиотека CLEO установлена, можно свободно пользоваться её опкодами.
Как устроен Mission Pack и как его создать?

MPACK'и следует хранить в холодильнике папке Мои документыGTA San Andreas User FilesMPACK. В папке MPACK создаём папку MPACK#, где # — это номер Mission Pack'а от 1 до 24. Да-да, игра поддерживает аж до 24 MPACK'ов, однако, к сожалению, в меню будет показано максимум девять, о чём предупредил создатель Sanny Builder скриптер Seemann.
Внутри получившейся папки (представим, что это у нас MPACK6) должны располагаться следующие файлы:
mpack.dat — файл со свойствами MPACK'а
scr.scm — файл со всеми скриптами (при работе с ним в SB рядышком заведётся ещё и scr.txt, это исходный код, не пугайтесь)
text.gxt — файл с текстом (лично я им не пользовался, предпочитаю вывод текста через опкоды CLEO 4).
Теперь по порядку о том, что откуда брать:
mpack.dat — создаём «Блокнотом» или подобной программой, вписываем туда следующее: (номер MPACK'а)#(название MPACK'а)#
В качестве примера данные моего MPACK'а: 6#Air & Land#
Как видите, в самом начале должен стоять номер, который соответствует номеру самого Mission Pack'а (MPACK6 > 6#…#). Далее, после знака “#”, идёт название нашего «набора миссий». Оно может быть написано по-английски или, если у Вас стоит программа для перевода с русского на «символьный» (например, Rus2GxtCoder), на русском или ином поддерживаемом языке. Именно это название и будет отображаться в меню при начале новой игры.
N.B.* Скриптер Deji справедливо отметил, что если указать в качестве номера ноль, то MPACK попросту не покажется в меню. Однако он ошибся, сказав, что этот номер служит всего лишь «выключателем» (переменной типа boolean) Mission Pack'а: моя небольшая проверка показала, что игра, увидев в mpack.dat из папки MPACK6, к примеру, номер 1, будет грузить именно MPACK1, а не MPACK6. Тем не менее теперь Вы знаете, что при необходимости Mission Pack можно скрыть, не удаляя всю папку с ним.
*Nota bene (лат. «заметь хорошо») — важное примечание.
scr.scm — лучше всего взять очищенный .scm (stripped.txt) из папки Sanny Builderdatasa. Почему — объясню чуть позже. Итак, необходимо открыть stripped.txt в SB и скомпилировать его под именем scr.scm, сохранив в папку Вашего MPACK'а. Теперь там будет файл .scm и файл исходного кода в .txt, который и следует редактировать впоследствии (по крайней мере, это во сто крат удобнее, нежели каждый раз декомпилировать .scm).
text.gxt — можно просто позаимствовать этот файл у DYOM, а можно скопировать american.gxt из папки GTA San Andreastext и переименовать его в text.gxt.
Запуск Mission Pack'а

Когда создание MPACK'а завершено, он станет (должен стать, если всё сделано правильно) доступен в меню при начале новой игры. Вам будет предложен выбор между оригинальной игрой, с её обычным сюжетом и возможностями, и одним из MPACK'ов. Выглядеть это должно так:
Плюсы и минусы Mission Pack'ов

Плюсы:
• относительная простота создания
• независимость от main.scm
• возможность выбора между обычной игрой и «наборами миссий»
• отсутствие конфликтов между разными MPACK'ами, в отличие от одновременно работающих cleo-скриптов/миссий от разных авторов
• удобство разработки и проверки сразу нескольких скриптовых модификаций
Минусы:
• меньшее, чем у cleo-скриптов/миссий, удобство установки
• неработоспособность так называемых внешних скриптов (external scripts) без специального патча*: это означает отсутствие таких привычных всем возможностей GTA SA, как парашют**, еда, тюнинг машин и пр. Именно поэтому, если Вы не планируете ставить этот патч, я советую брать для MPACK'ов очищенный .scm, где нет внешних скриптов, которые занимают огромные объёмы текста и которые трудно вычистить из оригинального main.scm.
*В Readme патча говорится, что содержащий внешние скрипты .img-файл загружается только в начале сеанса игры, то есть, «если Вы решите во время игры загрузить другой пак, Вам нужно будет выйти из игры и только потом начать его».
**Слегка переделанный скрипт парашюта был представлен в DYOM. Он не требует никаких патчей и прекрасно работает. Затем, нагло заимствованный мной, он перешёл в мои MPACK'и, получив небольшую доработку в модификации Air & Land.
Модификации, созданные с помощью технологии MPACK

А теперь привожу небольшой (увы, их в принципе мало) список модификаций, представляющих собой Mission Pack'и (а заодно позволю себе минутку саморекламы):
DYOM (Design Your Own Mission)
Creator
Experiment
Air & Land
Успехов в скриптинге!
Vital
Рейтинг: 5 (2 голосов)
(признано в России экстремистской организацией)