Тема: Использование and и or в выражениях
Доброго времени суток вам господа, в общем возможно вопрос и является простым, но ответа на него найти я не могу
Input chat_1, V, {space}, /point1,/point2,/point3,/point4,/point%n% ;/point%n% - говорит о том, что кол-во /point может
loop ; во много раз превышать нижепреведенное
{
if (GetKeyState("y", "P") = 1)
{
if (KPP_Name = 0) and (chat_1 = /point1") or (chat_1=/point2) or (chat_1 = point3) ; Тут и есть моя загвоздка
{ ;if (KPP_Name = 0 ) and (chat_1 = /point1, /point2, /point3)
ToolTip Введите имя кпп! ;Такой вариант ввода тоже не устраивает (условие не выполянется)
sleep 2000 ;в переменной "KPP_Name" хранится некая запись, которая должна проверяться,
Gosub KPP_Name _Enter ;только при вызове первых трех /point
}
else
{
If chat_1 = /point1
{
ToolTip
Send {Enter}
Send {F6}
Send /r %KPP_Name% блаблабла{enter}
return
}
If chat_1 = /point2
{
Send /r %KPP_Name% блаблабла{enter}
return
}
If chat_1 = /point3
{
Send /r %KPP_Name% блаблабла{enter}
return
}
If chat_1 = /point4
{
Send {F6}text
return
}
}
}
if (GetKeyState("n", "P") = 1)
{
ToolTip ,Неверная команда | Отменено пользователем
sleep 1000
ToolTip
return
}
}
return
}
Условие должно выглядеть примерно так, но при данном выражении, скрипт не исполняет возложенных на него надежд
Вообщем суть я уже пояснил в комментарии, но уточню и здесь.
Скрипт должен при нажатии клавиши "Y" и предварительном вводе содержания переменной "chat_1" оценивает данные и если содержание KPP_Name пустое (объявлена глобальная переменная KPP_Name:=0) И введена какая нибудь из /point[1-3] скрипт переходил по
GoSub KPP_Name_Enter
, иначе (при не выполнении какого либо из этих вариантов, (или KPP_Name <>0 или содержание переменной chat_1 не удовлетворяет условие) скрипт продолжил свое выполнение.
P.S. Версия ahk Version v1.1.15.00 unicode x86