Warklot123
Новичок
- 9
- 0
Hi.so how to get getnewline in samp udf just add it or what
If want, you can send your code to me.hello why i get this error Посмотреть вложение 38999
#IfWinActive GTA: SA: MP
#NoEnv
#SingleInstance, force
#include SAMP.ahk
#UseHook
SetTimer, Update, 50
ChatLog = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
Update:
badwords := " (pyderas|duxas|gaidys|naxui) "
lastline := GetNewLine(ChatLog)
if(RegExMatch(lastline, "(.*)\s\(([0-9]{1,})\)praneðta\s(.*)(.*)\s\(([0-9]{1,})\)(.*)badwords", var))
{
SendChat("/mute " var3 " 1800 automute")
}
return
GetNewLine(filename)
{
static old
static new
if !old
{
FileGetSize, old, %filename%
new := old
}
while old = new
{
sleep 100 ;Delay
FileGetSize, new, %filename%
}
old := new
Loop, read, %filename%
if A_LoopReadLine
{
last := A_LoopReadLine
}
return last
}
!end::ExitApp ;alt+end = exit
end::Reload ;end = reload
У меня пара вопросов по "каркасу скрипта"Hi, install samp udf.
#Include samp.ahk
If samp udf writed in code, your version samp udf not have a func with name "getnewline(chatlog)"
static - это тип переменной.У меня пара вопросов по "каркасу скрипта"
От куда ты взял функцию static в 18 строке?
Объясни 16 строку, filename это переменная или путь?
Добрый день.Приветствую.
Строка с чатлога : [00:25:04] {FFC300}* [A] Nick_Name[915] на 30 дней. Причина: test | IP: 11.11.11.11
Как отсюда выдернуть IP, чтобы после появления данной строки открывался чат с командой и этим IP`ом?
Потому что
RegExMatch(var, "\Q[\E(.*):(.*):(.*)\Q]\E \Q{\FFC300\Q}\E\Q*\E \Q[\EA\Q]\E (.*)_(.*)\Q[\E(.*)\Q]\E (.*) (.*) (.*)\Q.\E (.*)\Q:\E (.*) \Q|\E IP\Q:\E (.*).(.*).(.*).(.*)", find)
Вот это вот - дичь, как я думаю.
var = [00:25:04] {FFC300}* [A] Nick_Name[915] на 30 дней. Причина: test | IP: 11.11.11.11
RegExMatch(var, "\[\d\d:\d\d:\d\d\] \{FFC300\}\* \[A\] (.*)_(.*)\[\d\d?\d?\] на \d\d? дней\. Причина: .* \| IP: (.*)", ip)
MsgBox % ip1 " " ip2
MsgBox % ip3
loop
{
lastline := GetNewLine(ChatLog)
RegExMatch(var, "\[\d\d:\d\d:\d\d\] \{FFC300\}\* \[A\] (.*)_(.*)\[\d\d?\d?\] на \d\d? дней\. Причина: .* \| IP: (.*)", ip)
MsgBox % ip1 " " ip2
MsgBox % ip3
{
SendChat("/banip " ip1)
}
}
GetNewLine(filename)
{
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
}
!end::ExitApp
end::Reload
Что после MsgBox тогда идти должно? Там же по идее if find3 != ?
Но тут ip и че то запутался в MsgBox`ами
Код:loop { lastline := GetNewLine(ChatLog) RegExMatch(var, "\[\d\d:\d\d:\d\d\] \{FFC300\}\* \[A\] (.*)_(.*)\[\d\d?\d?\] на \d\d? дней\. Причина: .* \| IP: (.*)", ip) MsgBox % ip1 " " ip2 MsgBox % ip3 { SendChat("/banip " ip1) } } GetNewLine(filename) { 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 } !end::ExitApp end::Reload
loop
{
lastline := GetNewLine(ChatLog)
RegExMatch(var, "\[\d\d:\d\d:\d\d\] \{FFC300\}\* \[A\] (.*)_(.*)\[\d\d?\d?\] на \d\d? дней\. Причина: .* \| IP: (.*)", ip)
MsgBox % ip1 " " ip2
MsgBox % ip3
SendChat("/banip " ip3)
}
От чего может быть? Тупо при входе в рекон выкидывает на рабочий стол.ip3 - ipКод:loop { lastline := GetNewLine(ChatLog) RegExMatch(var, "\[\d\d:\d\d:\d\d\] \{FFC300\}\* \[A\] (.*)_(.*)\[\d\d?\d?\] на \d\d? дней\. Причина: .* \| IP: (.*)", ip) MsgBox % ip1 " " ip2 MsgBox % ip3 SendChat("/banip " ip3) }
От чего может быть? Тупо при входе в рекон выкидывает на рабочий стол.
Чё то мне кажется, я какую-то херню сделал)
Посмотреть вложение 43680
#Include samp.ahk
ChatLog = C:\Users\Dmitry\Documents\GTA San Andreas User Files\SAMP\chatlog.txt
loop
{
lastline := GetNewLine(ChatLog)
RegExMatch(var, "\[\d\d:\d\d:\d\d\] \{FFC300\}\* \[A\] (.*)_(.*)\[\d\d?\d?\] на \d\d? дней\. Причина: .* \| IP: (.*)", ip)
MsgBox % ip1 " " ip2
MsgBox % ip3
SendChat("/banip " ip3)
}
GetNewLine(filename)
{
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
}
!end::ExitApp
end::Reload
#Include samp.ahk
ChatLog = C:\Users\Dmitry\Documents\GTA San Andreas User Files\SAMP\chatlog.txt
loop
if RegExMatch(GetNewLine(ChatLog), "\[\d\d:\d\d:\d\d\] \{FFC300\}\* \[A\] (.*)_(.*)\[\d\d?\d?\] на \d\d? дней\. Причина: .* \| IP: (.*)", ip)
SendChat("/banip " ip3)
GetNewLine(filename)
{
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
}
!end::ExitApp
end::Reload
А как будет выглядеть регулярка, например, для: , чтобы можно было вывести id, пытаюсь написать по Вашему примеру, не реагирует.
"\[\d\d:\d\d:\d\d\] \{FFC300\}\* \[A\] (.*)_(.*)\[(\d\d?\d?)\] на \d\d? дней\. Причина: .* \| IP: (.*)"
Сейчас буду разбираться, что не так сделал)AutoHotKey:#Include samp.ahk ChatLog = C:\Users\Dmitry\Documents\GTA San Andreas User Files\SAMP\chatlog.txt loop if RegExMatch(GetNewLine(ChatLog), "\[\d\d:\d\d:\d\d\] \{FFC300\}\* \[A\] (.*)_(.*)\[\d\d?\d?\] на \d\d? дней\. Причина: .* \| IP: (.*)", ip) SendChat("/banip " ip3) GetNewLine(filename) { 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 } !end::ExitApp end::Reload