1

Тема: AHK:Чтение чат лога

Всем привет.Нужна помощь с чат логом,суть в том,что после нахождения строки:Restraint скрипт должен нажимать кнопку 1. Скрипт должен работать постоянно,т.е,например:при нажатии кнопки F2 он работает,при повторном нажатии на F2 он выключается.Путь к чат логу:%A_MyDocuments%\Fasv\chat.txt

2 (изменено: qqlexa, 2018-08-05 18:51:20)

Re: AHK:Чтение чат лога

Формулировка вопроса удивляет...
Пишете что скрипт должен работать постоянно, после этого приводите пример о переключении статуса работы скрипта.

3 (изменено: qqlexa, 2018-08-07 19:30:51)

Re: AHK:Чтение чат лога

Вот код из моего скрипта.

file = %A_MyDocuments%\Fasv\chat.txt
string = Restraint 
na:
FileReadLine, line, %file%, %a% ; Читаем файл на строке %a%
if ErrorLevel ; Если "не прочитало"
	goto, na ; Читаем еще раз
a++            ; Иначе если строка прочитана прибавляем строке 1 (a += 1; a := a +1; a++ - одинаковые способы) 
IfNotInString, line, %string% ; Если в этой строке нет фразы %string%
	goto, na                            ; Новую строку читаем
Send, {1}                              ; Иначе ( если есть фраза) нажимаем один и идём на начало
goto, na                                 ; Идти на начало
return
F2::                                      ; На F2 пауза
pause

4 (изменено: pro100andrik94, 2018-08-08 13:31:39)

Re: AHK:Чтение чат лога

qqlexa
Зачем так сложно?

loop
{
	loop, read, путь к файлу
	{
		if A_LoopReadLine contains Restraint
		send, {1}
	}
	sleep 1000 ;даем скрипту паузу на 1 секунду, либо он заспамит кнопкой 1, но если нужен именно спам то удалите эту строку
}
F2:: pause

5

Re: AHK:Чтение чат лога

pro100andrik94, русских справок по использованию функции loop с файлами нет, и для разбора и понимания кода мой сойдет лучше.

6

Re: AHK:Чтение чат лога

qqlexa
Да как нет то, если есть.
Ну и я так полагаю что этого проекта по переводу документации вы тоже не видели.
Так и если мой код прокомментировать то получиться и не очень то сложно его разобрать.

loop ; запускаем цикл который будет повторять чтение файла
{
	loop, read, путь к файлу ;начинаем читать файл построчно и до конца
	{
		if A_LoopReadLine contains Restraint ;если в строке присутствует слово "Restraint" то делаем действие ниже. если нет этого слова то цикл ищет в следующей строке и так до конца файла
		send, {1}	;отправляем единицу
	}
	sleep 1000 ;даем скрипту паузу на 1 секунду, либо он заспамит кнопкой 1, но если нужен именно спам то удалите эту строку
}
F2:: pause ;ставим на паузу

7

Re: AHK:Чтение чат лога

Моя ошибка, обходил глазами эту статью раньше .
Вот тут разбирался.