Данный туториал является неким логическим продолжением статьи "Добавление ресурсов (Спрайтов, звуков, тайлов, бэкграундов) из папок." автором которой является Dva_Kota.
Для возможности создавать к игре патчи необходимо вынести все ресурсы из .ехе файла. Как выносить спрайты, бэкграунды и т д описано в этой статье
http://forum.hellroom.ru/index.php?topic=2239.0Но одной из самых важных частей данного примера является вынесения кода в сторонний файл. Как это сделать я сейчас и опишу.
Для начала я советую завершить разработку основной части игры(приложения), прописать всё как обычно в исходнике. Это позволит в случае необходимости быстро отловить и исправить вопиющие ошибки так же позволит избежать различных опечаток и грамматических ошибок в названиях функций. После этого переходим к самому важному, но весьма скучному процессу переноса кода в сторонний файл.
Для начала создаём текстовый файл(.txt) в папке например Cod, которая в свою очередь должна находится в папке resurs для облегчения ориентировки в файлах. После этого вносим туда код всех событий всех объектов. Самым первым надо писать код объекта obj_load_resurs(о причинах этого скажу немного позже). События объектам задаются с помощью вот этой функции:
object_event_add(ind,evtype,evnumb,codestr) Вы должны определить объект, тип события, номер события. Кроме того, Вы задаете строку с кодом, которая должна быть выполнена. Вы можете добавить много действий к каждому событию. Примерно код с событием выгдит так:
object_event_add(hero,ev_create,0,
"
sprite_index=o_loader.s_hero_kulaki;
alarm[0]=1*room_speed;
alarm[1]=3*room_speed;
global.k=0;
prom=true;
global.ud=0;
global.levelup1=0;
"
);
Остальные события можно посмотреть в справке.
После внесения всего кода игры в текстовый файл необходимо подключить его к самому ГМу. Для этого в объекте obj_load_resurs в событие создания пришем такой вот код:
execute_file('resurs\Cod\Наш_файл.txt');
Если вы дали папкам другое название то надо указывать разумеется его. И поскольку мы загружаем все ресурсы в том числе и код в объекте obj_load_resurs, то и его надо писать первым(для него можно не указывать событие создания кодом, весь код уже там).
После этого удаляем все события из объектов в ГМ исходнике, кроме события создания в загрузчике ресурсов.
Так же желательно вынести код скриптов из исходника это делается аналогично коду: создаётся файл в соответствующей папке, переносится туда код, в исходнике указывается путь к файлу.
После выполнения всех выше описанных "махинаций" ваша игра готова к установке на неё патчей. Для того что бы сделать патч нужно: взять файл с кодом, внести туда требуемые изменения и сохранить в отдельную папку. Так же если необходимо в патче добавить спрайты и т д они аналогично добавляются в папку с новым кодом(не забудьте упомянуть их в новом коде). Для удобности установки патча советую создать копию соответствующих папок в патче для того чтобы при установке просто заменить ими имеющиеся. После этого желательно закинуть получившийся файлы в архив.
Теперь вроде всё. Хотя есть один нюанс, формат текстового файла можно заменить на какой угодно, ГМ "скушает" всё, главное не забыть правильно указать его в пути к файлу.