Создание cleo скриптов (часть 2)

29-08-2012, 13:54    444andrei444

Статьи

Я решил писать уроки по созданию скриптов не в порядке теория, а затем практика, так как пока сам не попробуешь что нибудь создать нет желания учить дальше. И сегодня мы разберем циклы в Cleo скриптах, работу с переменными.
Перед тем как привести пример простого цикла следует рассказать вам о метках.
Метки начинаются с двоеточия, а дальше идет название метки.
{$cleo}
:metka
0A93: end_custom_thread

Этот бесполезный скрипт вообще ничего не делает просто создается метка с названием metka, название метки должно содержать только латинские буквы или цифры.
Циклы - позволяют повторять одни и те же команды бесконечно или пока выполняется определенное условие. При создании сложных скриптов нужно использовать множество циклов и проверок.
Для создания цикла нам нужно создать метку, а затем дать команду перехода в начало метки или же на другую метку.
:metka
wait 5000
jump @metka

Здесь все просто в начале скрипта создается метка ждем пять секунд и переходим в начало. А вот и небольшой пример. Создадим cleo скрипт который каждые пять секунд дает игроку 10$. Знаний которые вы получили в прошлом уроке и сегодня должно вам хватить для этого, но если ничего не получается тогда смотрите ответ:

{$cleo}
:metka
wait 5000
0109: player $PLAYER_CHAR money += +10
jump @metka 

Видите нету необходимости ставить команду завершения скрипта, потому что скрипт будет выполняться бесконечно.
Условия
Как и в других языках программирования для постановки условий используется команда if, if and и if or.
if если выполняется условие, если вы хотите сразу проверить несколько условий, то нужно использовать команду if and, ну а если проверить выполняется одно из нескольких тогда if or.
После завершения списка условий нужно ставить команду jf и указать на какую метку нужно перейти если условие не выполнилось.
Практика:
Давайте создадим скрипт который дает игроку уровень розыска, если у него в руках пистолет. Ничего сложного в этом скрипте нету и его можно создать за пять минут.
{$CLEO}
:metka
wait 0
if
02D8:   actor $PLAYER_ACTOR current_weapon == 22
jf @metka
010D: set_player $PLAYER_CHAR wanted_level_to 2 
0A93: end_custom_thread

Все элементарно
02D8:   actor $PLAYER_ACTOR current_weapon == 22

Если у игрока в руке оружие с идентификатором 22, то выполняем команды ниже jf если нет, то возвращаемся в начало и проверяем снова. Вы наверное подумали зачем стоит задержка в 0 секунд перед условием. Это правило хорошего тона, если его не будет, то игра может зависнуть, обязательно ставьте его перед каждым условием.
010D: set_player $PLAYER_CHAR wanted_level_to 2

Эта команда устанавливает уровень розыска 2, но а что если у игрока уже есть 3 звезды? Выходит оружие спасет ему жизнь, а это уже не соответствует логике игры. Поэтому нам нужно именно увеличить уровень розыска, а не установить. Для этого мы должны научиться работать с переменными.
В игре есть два типа переменных: глобальные и локальные. В cleo скриптах рекомендуется использовать локальные переменные.
Переменные начинаются всегда с числа начиная с 0 и до 31, а затем ставиться @. Этого количества хватит даже на самые мощные скрипты.
Переменные не надо предварительно создавать при вызове несуществующей переменной ошибки не будет, ее значение будет равняться -1.
А теперь напишем скрипт, который будет увеличивать розыск на две звезды, а также дополним условия и теперь розыск бкдкт давать и за ношение автомата AK 47.

{$CLEO}
:metka
01C0: 1@ = player $PLAYER_CHAR wanted_level 

wait 0
if or
02D8:   actor $PLAYER_ACTOR current_weapon == 30
02D8:   actor $PLAYER_ACTOR current_weapon == 22
jf @metka
1@ += 2
010D: set_player $PLAYER_CHAR wanted_level_to 1@ 
0A93: end_custom_thread


А теперь небольшие комментарии, записываем в переменную 1@ текущий уровень розыска, затем проверяем есть ли в руках оружие нужного типа, если нету снова возвращаемся в начало, если есть, то увеличиваем значение переменной на два и устанавливаем новое количество розыска. Кажется все просто хоть и у этого скрипта много недостатков, например он будет давать уровень розыска только один раз за игру, рассматривать лучший вариант сейчас нету смысла, потому что скрипт станет намного сложней. Вот и разобрались с основой условий и переменными в cleo скриптах. В следующий раз мы научимся создавать оружие, машины и работать с кнопками, а также узнаете какие программы могут помочь при создании скриптов. С вами был 444andrei444 статья написана специально для сайта filesgta.ru

Приветствуем тебя, на этой странице можно скачать Создание cleo скриптов (часть 2) бесплатно и многое другое на остальных страницах
  Автор файла: 444andrei444. Сайт автора: Filesgta.ru.
  Как установить модификацию?


Просмотров: 138   | Комментарии (0)   

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.