1 (изменено: whiskasd2, 2017-02-17 19:08:33)

Тема: SAMP: Чтение чатлога и вывод переменной

Нужно чтобы при нахождении в последней строке слова Жалоба, скрипт должен написать в чате пару пустых строк обозначающих что он нашел нужное слово  и после сочетаний клавиш Alt+1 выполнялось одно действие, Alt+2 другое.

Alt+1:
Нужно чтобы в чат прописывалась команда /re [id].
Он должен отсеять из той строки id отправителя.
Alt+2:
Нужно чтобы в чат прописывалась команда /re [id].
Он должен отсеять из той строки id нарушителя и не спутать его с другими словами только цифры id от 0 до 999.

chatlog:

[19:30:26] [Жалоба] от Roberto_Fago[939]:{FFFFFF}id 281 cheat

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

[19:30:26] [Жалоба] от Roberto_Fago[939]:{FFFFFF}Много текста 281

2

Re: SAMP: Чтение чатлога и вывод переменной

Заголовок совсем не информативный. Сделайте так: "Чтение чатлога и вывод переменной". А пока делаете, уточните мне кое-что:
1) На alt 1 нужно re [id отправителя]
2) На alt 2 нужно re [id нарушителя]
Так?

3

Re: SAMP: Чтение чатлога и вывод переменной

whiskasd2
Изучите правила форума, уточните заголовок, поставьте 5 точек и одну заглавную букву в предложениях. После исправлений обсуждение откроется.

4

Re: SAMP: Чтение чатлога и вывод переменной

belyankin12
Да, именно так.

5

Re: SAMP: Чтение чатлога и вывод переменной

Это на ALT + 1. Тут все просто:


global path_log := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"

!1:
		log := {str:"",find:0,num:0}    ,    log.str := []

		Loop, read, %CheckUninvite%
		log.str.Insert(A_LoopReadLine)    ,log.num := A_Index
				
		loop 1000	
		if RegExMatch(     log.str[log.num + 1 - A_Index]
		,"\[(.*)] \[Жалоба\] от (.*)_(.*)\[(.*)\]:(.*)"
		, end_str) and (log.find:=log.num + 1 - A_Index)
		break
		
		if (end_str != "") {
			sendinput{F6}/re %end_str4%{Enter}
		} else {
			msgbox, error
		}

А вот с ALT+2 проблемы могут возникнуть: дело в том, что тот код, который я тебе предложу, может не сработать, если жалоба будет такой: "2 бомжа с 124 и 125 идами разносят все". В итоге  скрипт поймает двойку, а не 124 или 125, а конкретного условия разделения сообщения нету - все от смысла зависит. Возможно есть умельцы тут, что помогут тебе, а я не могу.