Страница 1 из 1

Миссия в теории [Уроки по созданию модов GTA SA]

Добавлено: 21 фев 2019, 20:58
Vovka
Для начала давайте определимся, что такое миссия. Миссия представляет из себя специальный скрипт , вызываемый специальной командой, под который выделяется отдельная память.
Прежде чем создать миссию, следует прикинуть, как будут развиватся действия в ней. Но сейчас не о этом, пожалуй изучим ‘внедрение’ миссии в игру.

Изображение

Взгляните на стороку
DEFINE MISSIONS 4
Число ‘4’ означает общее количество миссий в мейне.
Кстати, начинать счёт надо с нуля.

DEFINE MISSION 0 AT @INITIAL
Эта команда добавляет миссию под номером ‘0’, сама миссия начинается с потока @INITIAL

А вот эта команда запускает миссию
start_mission 0
В данном случае под номером ‘0’

Кстати, убедитесь, что в начале вашего мейна стоит эта команда
0180: set_on_mission_flag_to $ONMISSION
Без этого флага миссии не будут работать.

И так, с этим разобрались. Прежде чем начать создание миссии, следует сделать ‘шаблон’ миссии, включающий в себя обязательные проверки и команды для миссии.



:MYMISS //Стартовый поток мисии
thread 'SA' //Называем поток
gosub @START //Прыгаем на наши скрипты
if
wasted_or_busted //Если наш игрок мертв или пойман
else_jump @MYMISS_1 //То выключаем миссию
gosub @MYMISS_2 //И пишем что миссия провалена

:MYMISS_1
wait 100
gosub @MYMISS_OFF
end_thread

:START
increment_mission_attempts //Обязательный опкод при создании миссии
fade 0 0
054C: use_GXT_table 'INTRO1'
$ONMISSION = 1 // integer values
// Ваш код тут, вы можете создавать новые трейды и тд.
return
//end_thread

:MYMISS_2
00BA: text_styled 'M_FAIL' 5000 ms 1 //Выводим текст ‘Миссия провалена’
return

:MYMISS_OFF
$ONMISSION = 0 // integer values //Выключаем миссию.
mission_cleanup
return

Вы узнали основные действия при работе с миссией, теперь вам следует создать миссию на практике ;)