1

Тема: SAMP. Обнаружение строки в чате

Необходимо чтобы при КАЖДОМ обнаружении в chatlog строки "12345" моментально выполнялось действие (например Sendinput {F6}54321{enter})

2 (изменено: SeaVodikendu, 2016-06-21 21:35:00)

Re: SAMP. Обнаружение строки в чате

К примеру:


Search:
A=0
Loop, read, %path%chatlog.txt
{
last_line := A_LoopReadLine
}

if last_line = "12345"

{
A=1
Sendinput, {F6}54321{enter}
Goto, Search
}

If !a

{
Goto, Search
}
}
Return

3

Re: SAMP. Обнаружение строки в чате

SeaVodikendu пишет:

К примеру:


Search:
A=0
Loop, read, %path%chatlog.txt
{
last_line := A_LoopReadLine
}

if last_line = "12345"

{
A=1
Sendinput, {F6}54321{enter}
Goto, Search
}

If !a

{
Goto, Search
}
}
Return

не работает как надо

4

Re: SAMP. Обнаружение строки в чате

44, ознакомьтесь с этой темой, отредактируйте свои посты. Пока ответы в теме запрещены.

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

5

Re: SAMP. Обнаружение строки в чате

Попробуй на примере этого сделать свое:

FileCLog:=% A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"

loop
{

lastline := GetNewLine(FileCLog)

If lastline contains привет,здрав,здаров, Привет
{
RegExMatch(lastline, "i).*\[([0-9]*)\]: \{FFCD00\}.*", idPl)
Sendinput {F6}/sms %idPl1% Здравствуйте{ENTER}
}

}

GetNewLine(filename)
{ ;функция чтения последней строки, если файл изменен каждыее 100 мс
static old
static new
if !old
{
FileGetSize, old, %filename%
new := old
}
while old = new
{
sleep 100
FileGetSize, new, %filename%
}
old := new
Loop, read, %filename%
if A_LoopReadLine
{
last := A_LoopReadLine ;последняя строка
}
return last
}