1

Тема: Бесконечный код | sa:mp

На основе кое-какого другого скрипта сделал свой.Суть скрипта в том, что он ищет в чат логе игры последнюю строчку с "Вопрос от Имя_Игрока ID 123" и делает переменную для Имя_Игрока - suspectname , а для его ID - suspectid. Потом выводит мне в игру уже строчку : " /answ ID Здравствуйте, Имя_Игрока , решение вашей проблемы: ".
Вроде всё работает нормально, кроме одного - скрипт не останавливается и просто пишет бесконечное количество этой фразы в окно ввода.

+ открыть спойлер

#IfWinActive GTA:SA:MP
SLES := 0
suspectid := 0
suspectname := "Подозреваемый"
suspectid1 := 0
suspectname1 := "Подозреваемый"
path := "\GTA San Andreas User Files\SAMP\"

F3::
{
SLES := 1
suspectid := 0
suspectname := "Подозреваемый"
suspectid1 := 0
suspectname1 := "Подозреваемый"
sleep 1000
}
Return



!1::
{
FileDelete, %A_MyDocuments%%path%suspect.txt
sleep 50

Loop
{
Loop, read, %A_MyDocuments%%path%chatlog.txt, %A_MyDocuments%%path%suspect.txt
{
    IfInString, A_LoopReadLine, ] Ник{ffffff} , FileAppend, %A_LoopReadLine%`n
}

Loop, read, %A_MyDocuments%%path%suspect.txt
{
    RegExMatch(A_LoopReadLine, "] Вопрос от{ffffff} (.*) {33aa33}ID {ffffff}", suspectname)
    RegExMatch(A_LoopReadLine, " {33aa33}ID {ffffff}(.*)", suspectid)
}
sendinput {f6}/answ %suspectid% Здравствуйте, %suspectname% , решение вашей проблемы: {escape}
}
return

!2::
{
FileDelete, %A_MyDocuments%%path%suspect.txt

Loop, read, %A_MyDocuments%%path%chatlog.txt, %A_MyDocuments%%path%suspect.txt
{
    IfInString, A_LoopReadLine, ] Ник{ffffff} , FileAppend, %A_LoopReadLine%`n
}

Loop, read, %A_MyDocuments%%path%suspect.txt
{
    RegExMatch(A_LoopReadLine, "] Вопрос от{ffffff} (.*) {33aa33}ID {ffffff}", suspectname)
    RegExMatch(A_LoopReadLine, " {33aa33}ID {ffffff}(.*)", suspectid)
}
}
return

!3::
{
FileDelete, %A_MyDocuments%%path%suspect.txt

Loop, read, %A_MyDocuments%%path%chatlog.txt, %A_MyDocuments%%path%suspect.txt
{
    IfInString, A_LoopReadLine, ] Ник{ffffff} , FileAppend, %A_LoopReadLine%`n
}

Loop, read, %A_MyDocuments%%path%suspect.txt
{
    RegExMatch(A_LoopReadLine, "] Вопрос от{ffffff} (.*) {33aa33}ID {ffffff}", suspectname)
    RegExMatch(A_LoopReadLine, " {33aa33}ID {ffffff}(.*)", suspectid)
}
}
return

Помогите "остановить" скрипт

2

Re: Бесконечный код | sa:mp

Roma_Cuffor, теперь вам сюда. Как человеку, плохо знающему русский, подскажу: обратите особое внимание на оформление кода.

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

3

Re: Бесконечный код | sa:mp

#IfWinActive GTA:SA:MP
SLES := 0
suspectid := 0
suspectname := "Подозреваемый"
suspectid1 := 0
suspectname1 := "Подозреваемый"
path := "\GTA San Andreas User Files\SAMP\"
F3::
{
SLES := 1
suspectid := 0
suspectname := "Подозреваемый"
suspectid1 := 0
suspectname1 := "Подозреваемый"
sleep 1000
}
Return


!1::
{
FileDelete, %A_MyDocuments%%path%suspect.txt
sleep 50
Loop
{
Loop, read, %A_MyDocuments%%path%chatlog.txt, %A_MyDocuments%%path%suspect.txt
{
    IfInString, A_LoopReadLine, ] Ник{ffffff} , FileAppend, %A_LoopReadLine%`n
}
Loop, read, %A_MyDocuments%%path%suspect.txt
{
    RegExMatch(A_LoopReadLine, "] Вопрос от{ffffff} (.*) {33aa33}ID {ffffff}", suspectname)
    RegExMatch(A_LoopReadLine, " {33aa33}ID {ffffff}(.*)", suspectid)
}
sendinput {f6}/answ %suspectid% Здравствуйте, %suspectname% , решение вашей проблемы: {escape}
}
return
!2::
{
FileDelete, %A_MyDocuments%%path%suspect.txt
        Loop, read, %A_MyDocuments%%path%chatlog.txt, %A_MyDocuments%%path%suspect.txt
        {
            IfInString, A_LoopReadLine, ] Ник{ffffff} , FileAppend, %A_LoopReadLine%`n
        }
        Loop, read, %A_MyDocuments%%path%suspect.txt
        {
            RegExMatch(A_LoopReadLine, "] Вопрос от{ffffff} (.*) {33aa33}ID {ffffff}", suspectname)
            RegExMatch(A_LoopReadLine, " {33aa33}ID {ffffff}(.*)", suspectid)
        }
}
return
!3::
{
FileDelete, %A_MyDocuments%%path%suspect.txt
        Loop, read, %A_MyDocuments%%path%chatlog.txt, %A_MyDocuments%%path%suspect.txt
        {
            IfInString, A_LoopReadLine, ] Ник{ffffff} , FileAppend, %A_LoopReadLine%`n
        }
        Loop, read, %A_MyDocuments%%path%suspect.txt
        {
            RegExMatch(A_LoopReadLine, "] Вопрос от{ffffff} (.*) {33aa33}ID {ffffff}", suspectname)
            RegExMatch(A_LoopReadLine, " {33aa33}ID {ffffff}(.*)", suspectid)
        }
}
return

4

Re: Бесконечный код | sa:mp

Неужели только из-за неправильном оформлении кода вы не можете помочь?

5

Re: Бесконечный код | sa:mp

Если пост оформлен неправильно, правила форума помогать не рекомендуют. Что касается лично меня, я совсем в играх ничего не понимаю, так что ждите более компетентных помощников.

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

6

Re: Бесконечный код | sa:mp

Roma_Cuffor, темы по играм только в этой ветке.

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

7

Re: Бесконечный код | sa:mp

teadrinker пишет:

Roma_Cuffor, темы по играм только в этой ветке.

Но я там задал вопрос не на тему игры, там не важна игра, мне нужно разобраться с скриптом , почему он бесконечен

8

Re: Бесконечный код | sa:mp

Цитировать предыдущий пост не нужно. Предложения заканчиваются точкой. Если в посте упоминается игра, пост создаётся в этой ветке. За постоянные нарушения правил полагается бан.

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

9

Re: Бесконечный код | sa:mp


!1::
FileDelete, %A_MyDocuments%%path%suspect.txt
sleep 50
Loop
{
Loop, read, %A_MyDocuments%%path%chatlog.txt, %A_MyDocuments%%path%suspect.txt
{
    IfInString, A_LoopReadLine, ] Ник{ffffff} , FileAppend, %A_LoopReadLine%`n
}
Loop, read, %A_MyDocuments%%path%suspect.txt
{
    RegExMatch(A_LoopReadLine, "] Вопрос от{ffffff} (.*) {33aa33}ID {ffffff}", suspectname)
    RegExMatch(A_LoopReadLine, " {33aa33}ID {ffffff}(.*)", suspectid)
}
}
sendinput {f6}/answ %suspectid% Здравствуйте, %suspectname% , решение вашей проблемы: {escape}
return

Попробуй так , должно заработать , но правила форума соблюдай.