Проверки и переходы [Уроки по созданию модов GTA SA]

Скриптинг GTA. Инструкции по скриптингу в GTA.
Ответить
Автор
Сообщение
Аватара пользователя
Не в сети
Vovka
Автор темы
Продвинутый
    • Подробная инфа
      • Сообщения: 78
        Зарегистрирован: 22 фев 2019, 00:47
        Point: 0
        Репутация: 0

Проверки и переходы [Уроки по созданию модов GTA SA]

#1 Сообщение Vovka » 21 фев 2019, 20:58

Проверки и ‘прыжки’

Как говорилось ранее, перед без проверок нормально ‘скриптить’ в GTA не возможно. Поэтому подробно разберем оператор ‘if’ и специальный ‘jump’ для проверок.

004D: jump_if_false @LABEL
Так изначально выглядит команда перехода на другой поток в случае фальши проверки.
Но благодаря возможностям SB, для удобства эта команда была сокращена и выглядит вот так:
jf @LABEL

Теперь об операторе IF.
Максимум можно одновременно осуществлять не более семи проверок, рассмотрим пример:

:LABEL
wait 100
if AND
$1 = 0
$2 = 5
$3 = 2
$4 = 7
$5 = 8
$6 = 1
$7 = 3
jf @LABEL
//Тут мы проверяем кол-во чисел в переменных.

Опять же, благодаря SB компилятор автоматически подсчитывает количество проверок. Стоит просто ввести if AND .

Также взгляните на этот код:

:LABEL
wait 100
if OR
$1 = 0
$2 = 5
$3 = 2
$4 = 7
$5 = 8
$6 = 1
$7 = 3
jf @LABEL

Тут проверка интереснее: чтение кода пойдет дальше в том случае, если хотя бы одна переменная равна.
Теперь рассмотрим пример использования перехода на другой поток при фальши проверки.

:LABEL
0004: $01 = 0 //Создаем переменную со значением ‘0’

:LABEL_2
if AND
$01 = 5 //Проверяем, равна ли переменная пятерке
jf @LABEL_3 //Так как мы знаем, что переменная равна нулю, переходим на указанный поток (LABEL_3)
create_thread @LABEL_4 //Теперь переменная равна пяти, поэтому прыжок в случае фальши игнорируется, выполняем команду (в данном случае создаем поток)
end_thread //Скрипт выполнен, закрываем поток

:LABEL_3
0008: $01 += 5 //Прибавляем к переменной пять единиц
jump @LABEL_2 //И проверяем заново (переход на поток с проверкой)
end_thread

В этой статье мы рассмотрели основные методы проверки.
Успехов в скриптинге!


Быстрый ответ


В целях предотвращения автоматических действий, пожалуйста подтвердите что вы человек, используя сервис Google’s reCaptcha.
Изменение регистра текста: 
Смайлики
:) :)` :yes: :gamer2: :drink: :reed: :reeds: :pravila: :nea: :( :facepalm: :sorry: :maniac: :sarc: :wilds: :rgu: :redface: :geimz: :gyi: :bomb: :tanc: :good: :bzik:
Ещё смайлики…

Сообщения отправленные гостями проходят предварительною проверку в течении от 1 до 6 часов.
Зарегистрируйтесь для мгновенного размещения своих сообщений без предварительного одобрения.
Гостям Запрещено размещение ссылок, в т.ч. картинок. Зарегистрируйтесь.

   
Ответить

Вернуться в «Скриптинг в GTA San Andreas»