Делаем новые миссии. CLEO - скрипты, cutscene, статьи, программы. Игровые новости.
 
27.9.07 19:44 |

Устройство кода миссии

Раздел: Миссии | Автор: yelmi | Рейтинг: 10.00 (2) | Хитов 8499
Ну что ж пришло время подробно рассмотреть устройство кода миссии.

Код миссии состоит из 4 блоков:
1. блок запуска
2. блок успешного прохождения
3. блок провала
4. блок завершения миссии

Блок запуска выглядит следующим образом:

Код:
:MISSION             
thread 'MISSION'
gosub @MissionStart
if
wasted_or_busted
jf @MissionCleanup
gosub @MissionFailed


Командой thread 'MISSION' - даем имя нашему потоку, о полезности этого действия рассказывать не буду, это отдельная тема. Командой gosub @MissionStart мы и осуществляем переход к коду самой миссии, с последующим возвратом на следующую после gosub стоку. О работе gosub и вариантах переходов смотрите здесь.

Итак

Код:
gosub @MissionStart

. . . .

:MissionStart
< тело миссии>
return //– возвращаемся на следующую после gosub @MissionStart строку.


Сам return может быть как из блока успешного прохождения, так и из блока провала.

Блок успешного прохождения

Этот блок выполняется тогда, когда задание миссии выполнено.
Обычно в этом блоке выводится надпись об успешном прохождении миссии, увеличивают количество денег и т.д. Самый простой вариант выглядит так:

Код:
:MissionPassed 
01E3: text_1number_styled 'M_PASSD' 0 5000 ms 1 // MISSION PASSED!
// выводим надпись об успешном прохождении миссии
0394: play_music 1 // проигрываем музыку
return // возвращаемся на следующую после gosub @MissionStart строку


Блок провала

Если же поставленное задание в миссии не выполнено, то в этом случае и применяется блок провала. А также этот блок выполняется в случае смерти или ареста игрока.

Код:
:MissionFailed
00BA: text_styled 'M_FAIL' 5000 ms 1 // ~r~MISSION FAILED!
// выводим надпись о провале миссии
create_thread @START
// запускаем стартер нашей миссии
return // возвращаемся на следующую после gosub @MissionStart строку


Для того чтобы после провала миссии иметь возможность еще раз пройти нашу миссию необходимо в блок провала включить create_thread @START – запуск стартера миссии, при условии, что стартер у нас рассчитан на запуск одной миссии. При последовательном запуске миссий этого делать не нужно. О стартерах миссий смотреть здесь.


  123»

  1 2 3 4 5 6 7 8 9 10  

Родственные ссылки
» Другие статьи раздела Миссии
» Эта статья от пользователя yelmi

5 cамых читаемых статей из раздела Миссии:
» Устройство кода миссии
» Запуск миссии
» Создание миссии. Часть 1

5 последних статей раздела Миссии:
» Создание миссии. Часть 1
» Устройство кода миссии
» Запуск миссии

¤ Перевести статью в страницу для печати
¤ Послать эту cтатью другу

MyArticles 0.6 beta for RUNCMS: by RunCms.ru


Реклама

Вверх     Вернуться на главную. Вход в Систему. Статьи. Скачать. Миссии. ФОРУМ Обратная связь.   
   
   
Яндекс.Метрика
   
   
- Генерация страницы: 0.03 секунд -