1 (изменено: Anton_8237, 2019-08-24 00:05:33)

Тема: AHK: Не понимаю, как правильно использовать "if then else if then"

Приветствую.
Заранее извиняюсь за путаницу ниже.
Нужно поправить код скрипта, благодаря которому происходила бы авторизация в игре, то есть ввод пароля и выбор определённого пункта для спавна после появления в чате строки "Добро пожаловать на GTA RolePlay", потом после спавна и появлении строки "Здравствуйте, VIP игрок!" происходил зацикленный выход в меню до появления строчки "Server closed the connection.", после которой происходил бы выход из игры, а потом благодаря наведению курсора на определённую части экрана и активацию кнопки происходил вход в игру. И чтобы весь этот скрипт был зациклен до нажатия определённой клавиши например при нажатии Numpad7, скрипт снимался с паузы, а потом после нового нажатия скрипт запускался бы с начала.
Желательно готовый исправленный код.

#ifWinActived GTARP CRMP
pause
way = C:\Users\Anton\Documents\GTA San Andreas User Files\SAMP\chatlog.txt
FileDelete %way%
Loop 999999999
{
If (IfInString, file, Добро пожаловать на GTA RolePlay)
{ 
Sleep 10000 
SendInput, [Пароль]
FileDelete %way%
Sleep 1500 
SendInput {Enter} 
FileDelete %way% 
sleep 1500 
SendInput {down down} 
FileDelete %way%
sleep 1000 
SendInput {down up}
FileDelete %way%
sleep 1500 
SendInput {down down} 
FileDelete %way%
sleep 1000 
SendInput {down up}
FileDelete %way%
sleep 1000 
SendInput {Enter}
FileDelete %way% 
Sleep 1500 
SendInput {F6}/clist 24{Enter} 
FileDelete %way%
Sleep 1500 
SendInput {F6}/b 888{Enter} 
FileDelete %way%
} 
else If (IfInString, file, (( [Ник]: 888 )))
{
loop 9999999   
{
  SendInput {Escape down}
sleep 1
  Send {Escape up}
sleep 1000
SendInput {Escape down}
sleep 1
  Send {Escape up}
sleep 5000
FileRead, file, %way%
}
}
else if (IfInString, file, Server closed the connection.)
{
Sleep 1500 
SendInput {F6}/q{Enter}  
FileDelete %way%
sleep 7000 
DllCall("SetCursorPos", int, 800, int, 264)
 Sendinput {LButton Down}
sleep 1
 Sendinput {LButton Up}
}
return
F10:: pause

nathantaft98

2 (изменено: Anton_8237, 2019-08-23 23:56:17)

Re: AHK: Не понимаю, как правильно использовать "if then else if then"

stealzy, да, я знаю, но я всё перепробовал и не работает выдаёт ошибку и показывает стрелочкой на строчку с первым "if".

3

Re: AHK: Не понимаю, как правильно использовать "if then else if then"

А где вы в справке такую конструкцию нашли:

If (IfInString ...

IfInString — это отдельная команда, она не может использоваться, как часть другой, смотрите справку по ней.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

4

Re: AHK: Не понимаю, как правильно использовать "if then else if then"

Во-первых: в заголовках точки не ставятся - это грубая ошибка, в школе не проходили эту тему что-ли? В любом случае в правилах составления заголовков это указано - потрудитесь соблюдать. Во-вторых: обращение обрамляется запятыми, наш форум не имеет функций упоминания пользователей, а потому все ваши сообщения в этой теме содержат ошибки. Но если требовать от Вас приемлемого уровня русского языка я не имею права, да и не буду, то расставить точки в конце предложений требую. Это последнее предупреждение.

Вам стоит осознать, что если вы собираетесь перенимать опыт у товарищей на этом Форуме, то Вам стоит соблюдать здешние Правила. В противном случае с вами никто дела иметь не будет. От Вас не требуют ничего сверхъестественного. Просто нужно в первую очередь осознавать, что вы приходите сюда в гости к другим людям за советом (которые Вам ничего не обязаны, но при этом сталкиваются с вашим наплевательским отношением к правилам), а не в стол заказов.

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

5 (изменено: Anton_8237, 2019-08-24 00:33:36)

Re: AHK: Не понимаю, как правильно использовать "if then else if then"

teadrinker, спасибо, изменил и стало запускаться, осталось найти почему не активируется выход в меню после определённой строки в чате.

Numpad7::
SendMessage, 0x50,, 0x4190419,, A
way = C:\Users\Anton\Documents\GTA San Andreas User Files\SAMP\chatlog.txt
FileDelete %way%
{
Loop 999999999
{
FileRead, file, %way%
IfInString, file, (Добро пожаловать на GTA RolePlay) then
{ 
Sleep 10000 
SendInput, [Пароль]
FileDelete %way%
Sleep 1500 
SendInput {Enter} 
FileDelete %way% 
sleep 1500 
SendInput {down down} 
FileDelete %way%
sleep 1000 
SendInput {down up}
FileDelete %way%
sleep 1500 
SendInput {down down} 
FileDelete %way%
sleep 1000 
SendInput {down up}
FileDelete %way%
sleep 1000 
SendInput {Enter}
FileDelete %way% 
Sleep 1500 
SendInput {F6}/clist 24{Enter} 
FileDelete %way%
Sleep 1500 
SendInput {F6}/b 888{Enter} 
FileDelete %way%
}
else 
FileRead, file, %way%
IfInString, file, ((( [Ник]: 888 ))) then
{
loop 9999999   
{
  SendInput {Escape down}
sleep 1
  Send {Escape up}
sleep 1000
SendInput {Escape down}
sleep 1
  Send {Escape up}
sleep 5000
FileRead, file, %way%
}
}
else 
FileRead, file, %way%
IfInString, file, (Server closed the connection.) then
{
Sleep 1500 
SendInput {F6}/q{Enter}  
FileDelete %way%
sleep 7000 
DllCall("SetCursorPos", int, 800, int, 264)
 Sendinput {LButton Down}
sleep 1
 Sendinput {LButton Up}
}
}
}
Numpad9::
reload
return