00061. Cleo-миссии
Cleo-миссии|В этом уроке мы рассмотрим как создавать миссии, используя CLEO.|wmysterio|wmysterio||||Как и в main.scm в Cleo можно создавать миссии. Преимущество в Cleo в том, что количество миссий неограниченное! То есть если в мейне максимум 200, то в Cleo может быть 500, 600 и так дальше. Сегодня мы напишем первую Cleo-миссию ;)
Что бы компилятор сделал Cleo-миссию, нужно указать ему в директиве расширение "*.cm" ( custom mission ):
{$cleo .cm}Дальше указать код миссии. Вот очень стабильный код миссий:
{$CLEO .cm}
//------------- Mission ---------------
:MISSION
thread 'MISSION'
gosub @MISSION_29_57
if
wasted_or_busted
jf @MISSION_29_46
gosub @MISSION_29_144
:MISSION_29_46
$ONMISSION = 0
mission_cleanup
end_thread
:MISSION_29_57
increment_mission_attempts
$ONMISSION = 1
//
{ Код миссии }
//
gosub @MISSION_END
00BA: show_text_styled GXT 'M_PASS' time 5000 style 1 // MISSION PASSED
0318: set_latest_mission_passed 'MISS_01' // GXT mission name
return
:MISSION_29_144
wait 0
gosub @MISSION_END
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1 // MISSION FAILED
return
:MISSION_END
wait 0
returnОбратите внимание, что завершается поток командой "end_thread"! После компиляции, SB создаст файл "*.cm" в папке Cleo. Вы можете поместить его и в другую директорию, например в папку "CLEO\MISSIONS", что бы отделить написанные миссии от Cleo-скриптов.
Давайте напишем миссию, что бы на CJ-я нападали три тела и нужно их убить. После убийства мы получим 1000$.
Компилируем файл. В нас получился файл "MISSION.cm". Отлично! Мы создали миссию!
Как и в мейне, нам необходимо написать стартер для миссии - набор условий для запуска. Кстати, что бы запустить Cleo-миссию, необходимо использовать опкод:
Здесь: "MISSION" - имя миссии ( название файла! ). Обратите внимание, что расширение "*.cm" писать не надо!
Давайте напишем простой стартер. Для этого создадим Cleo-скрипт с таким содержимым:
Таким образом мы сделали полноценный стартер и миссия запустилась без проблем:

Обратите внимание на последний "jump". Мы перейдём на начало потока, что даёт возможность пройти миссию ещё раз. Если поставить в место неё опкод "0A93: end_custom_thread", то пройти миссию мы сможем только 1 раз за загрузку игры ( в том числе когда миссия провалена ), так что оставляем "jump".
Так по-немножку, мы подошли к стартерам. В следующем уроке мы подробнее рассмотрим стартеры, а именно будем учится запускать миссии по-очереди, делать что бы при завершении одной миссии открывались две новых и в таком духе. Материал достаточно сложный в освоении, так как нужно всегда всё держать в своей памяти.
Думаю основу создания cleo-миссий мы рассмотрели. Создайте несколько своих миссий. Тестируйте на здоровье :)|4071|1|0|01068717png600375400`250``||cleo_missii|1499616943
Last updated
Was this helpful?