1

Тема: AHK: SA:MP

!1::
FileRead, file, E:\Documents and Settings\Admin\Мои документы\GTA San Andreas User Files\SAMP\chatlog.txt
foundpos:=RegExMatch(file, "SMS: +. Отправитель: Evgeniy_Naumov\[([0-9]*)\]", code, -400)
sleep 300
Sendplay {F6}/gethere %code1%{enter}
return

Есть такой код.
Мне нужно переделать скрипт так, чтобы считывало из этой строчки SMS: +. Отправитель: Fast_Zoom[191] только 191.
Помогите пожалуйста
Т.е. может быть SMS: +. Отправитель: Faas_Afasa[142] и т.д

2

Re: AHK: SA:MP

Вот похожая тема: http://forum.script-coding.com/viewtopic.php?id=8870

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

3

Re: AHK: SA:MP

Не могу понять как ...

4

Re: AHK: SA:MP

str = SMS: +. Отправитель: Fast_Zoom[191]

RegExMatch(str, "\[(\d*)\]", code)

MsgBox, % code1

5

Re: AHK: SA:MP

А если у меня на сервере если вот так "Входящее: +. Отправитель: Justin_Thomas тел:255922" то как сделать ?

6 (изменено: belyankin12, 2016-12-21 19:54:24)

Re: AHK: SA:MP

global path_log := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"  ; путь к chatlog
log := {str:"",find:0,num:0}    ,    log.str := []
Loop, read, %path_log%
log.str.Insert(A_LoopReadLine)    ,log.num := A_Index
loop 20
if RegExMatch(     log.str[log.num + 1 - A_Index]
,"\[(.*)\]  SMS: +. Отправитель: (.*)_(.*)\[(.*)\]"
, end_st) and (log.find:=log.num + 1 - A_Index)
break
; [12:12:12]  SMS: +. Отправитель: Faas_Afasa[142]
sleep 300
if (end_st1 != "") {
sendplay {F6}/gethere %end_st4%{Enter}
} else {
msgbox, Ошибка чтения чатлога
}
return

ID отправителя это переменная end_st4 (4-я скобочка "(.*)"). Третья это фамилия, вторая это имя, первая это время через timestamp.

Пробуйте это. Учтите, он поймает последнего отправившего смс, а не всех по очереди будет ТПшить. Если выдает ошибку через msgbox, вставьте следующее после второй строчки:

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

7

Re: AHK: SA:MP

!1::
FileRead, file, E:\Documents and Settings\Admin\Мои документы\GTA San Andreas User Files\SAMP\chatlog.txt
foundpos:=RegExMatch(file, "SMS: +. Отправитель: (.*)\[([0-9]*)\]", code, -400)
sleep 300
Sendplay {F6}/gethere %code2%{enter}
return