If (Lua): различия между версиями
Tatikoma (обсуждение | вклад) |
Cirus (обсуждение | вклад) |
||
| Строка 43: | Строка 43: | ||
end | end | ||
-- Результат: вывод сообщения "два не может быть больше трех" | -- Результат: вывод сообщения "два не может быть больше трех" | ||
| + | |||
| + | --lua | ||
| + | if color(403, 234) == 4727808 then -- если в координатах 403, 234 цвет 4727808 | ||
| + | log (1) -- вывести в лог 1 | ||
| + | end | ||
| + | |||
| + | --lua | ||
| + | if color(403, 234) == 4727808 then -- если в координатах 403, 234 цвет 4727808 | ||
| + | log (1) -- вывести в лог 1 | ||
| + | else -- иначе | ||
| + | log(0) -- вывести 0 | ||
| + | end | ||
--lua | --lua | ||
Текущая версия на 12:19, 11 апреля 2020
Содержание
Описание
if - условный оператор содержит логическое выражение. Позволяет выполнять определенный код в зависимости от результатов некоторого условия. Так же выполняет проверку последнего сообщения от сервера (для ultima online). Операция принимает вид сравнения.
Если логическое выражение истинно (true) - будет выполнен код. Если ложно (false)- код выполняться не будет.
Часто if используется в связке с else. Конструкция if-else имеет тот же вид, что if, но с дополнительной возможностью для выполнения другого кода, если условие не истинно (false).
Для выполнения операций отрицания результата выражения: if (not (условие)).
Для операций сравнения используются знаки операций: >, <, ==(равно), <=, >=, ~=(не равно). Так же используются логические операторы or или and.
or- логическое ИЛИ. Или один или другой или оба.
and- логическое И. И один и другой.
Результатом логической операции является число 1, если результат истинный, или 0, если результат ложный.
Для указания приоритета нескольких операций используются круглые скобки: (, ).
В конце операции необходимо поставить end для корректного выполнения сценария.
Синтаксис
Привязка к окну: опциональна.
Работа со свернутым окном: частично.
if условие then
[строки кода]
end
if (not (условие)) then
[строки кода]
end
if условие then
[строки кода]
else
[строки кода, если условие ложно]
end
Примеры
--lua
if 2 < 3 then
msg ("два меньше трех")
end
-- Результат: вывод сообщения "два меньше трех"
--lua
if 2 > 3 then
msg ("два больше трех")
else
msg ("два не может быть больше трех")
end
-- Результат: вывод сообщения "два не может быть больше трех"
--lua
if color(403, 234) == 4727808 then -- если в координатах 403, 234 цвет 4727808
log (1) -- вывести в лог 1
end
--lua
if color(403, 234) == 4727808 then -- если в координатах 403, 234 цвет 4727808
log (1) -- вывести в лог 1
else -- иначе
log(0) -- вывести 0
end
--lua
local two = 2
local five = 5
if two < five or 3 < five then
msg ("два меньше пяти или три меньше пяти")
end
-- Результат: вывод сообщения "два меньше пяти или три меньше пяти"
--lua
local num = 3
if 7 ~= 4 and num ~= 4 then
msg ("семь не равно четырём и три не равно четырём")
else
msg ("четыре и num равно семи")
end
-- Результат: вывод сообщения "семь не равно четырём и три не равно четырём"
--lua
-- Выполнение действия в определённое время
if os.date("%H:%M") == "23:14" then -- в 23:14 выполнится условие
-- тут пишем что нужно выполнить, например:
start_script (3) -- запустить скрипт номер 3
alarm () -- звуковой сигнал
stop_script () -- остановить текущий скрипт
end