[Помощь] Чтение чат лога + сортировка скриншотов
|
|
Laksheri231 |
Дата: Среда, 30.01.2019, 13:57 | Сообщение # 1
|
Новичок
Сообщений: 3
Статус: Offline
|
Кто может пояснить в чем тут проблема, почему после 1-го использования не работает чтение чат лога, в чем может быть трабл?
Код SetTimer, read, on global File := % A_MyDocuments . "\GTA San Andreas User Files\SAMP\Chatlog.txt" global SampDirScrennShot := % A_MyDocuments . "\GTA San Andreas User Files\SAMP\screens" ; путь к папке скриншотов samp global MoveDirScheenShot := % A_ScriptDir . "\ScreenShots\" ; путь перемещения скриншотов global NameScreenShot := "MyScreenShot-" ; приставка скриншота
:?:/org:: showDialog(2, "Helper","[1]`n[2]", "ОК") Result := LineResult() if (!Result) return Gosub, dil%Result% return
dil1: addChatMessage("1") SetTimer, ScreenTakeMove, On return
dil2: addChatMessage("[Информация] {FFFFFF}Время действия маски 10 минут, после исхода времени ее придётся выбросить.") return
SetTimer, read, on File := A_MyDocuments "\GTA San Andreas User Files\SAMP\Chatlog.txt"
read: FileRead, out, % File if (RegExMatch(out, "\[.*\] \[Информация] \{FFFFFF}Время действия маски 10 минут, после исхода времени ее придётся выбросить.")) { SendChat("/me достал из кармана маску, после чего надел её") delLine("\[.*\] \[Информация] \{FFFFFF}Время действия маски 10 минут, после исхода времени ее придётся выбросить.") } else if (RegExMatch(out, "\[.*\] \[Информация] \{FFFFFF}Вы успешно выкинули маску.")) { SendChat("/me резким движением руки снял маску с лица") delLine("\[.*\] \[Информация] \{FFFFFF}Вы успешно выкинули маску.") }
return
delLine(string) { File := A_MyDocuments "\GTA San Andreas User Files\SAMP\Chatlog.txt" FileRead, All, % File FileOpen(File, "w").Write(RegExReplace(All, "(^|\R)" . string . "|" . string . "(\R|$)")) }
return
LineResult() { if (!isDialogOpen()) return false if (getDialogStyle() = 0 || getDialogStyle() = 1 || getDialogStyle() = 3) return false while(!GetKeyState("LButton", "P") && !GetKeyState("Enter", "P") && !GetKeyState("Esc", "P")) continue if (GetKeyState("Enter", "P")) return getDialogLineNumber() else if (GetKeyState("Esc", "P")) return false else{ KeyWait, LButton KeyWait, LButton, D T0.4 if (isDialogOpen()) return LineResult() else return getDialogLineNumber() } } return
ScreenTakeMove: SetTimer, ScreenTakeMove, Off ; отключаем таймер во избежания мульти процессов Send {F8} ; имитирум нажатие клавиши f8 sleep 4000 ; пауза 4сек (4*1000) Line := 0 ; сбос строки с линии чата Loop { GetChatLine(Line, Chat) ; udf функция (считывание строк и чата) я хз вроде была ранше построена на основе чтения файла chatlog.txt рядом с папкой скринов IfInString, Chat, Screenshot Taken ; если в чате есть строка делаем следующее { RegExMatch(Chat, "Screenshot Taken - sa-mp-(?<index>.+).png", screen_) ; берем переменную чила скриншота и сохраняем как %screen_index% FormatTime, now_timecode, %A_Now%, dd.MM-HH.mm.ss ; создаем таймкод скрину с текущей датой на системе IfNotExist, % MoveDirScheenShot . LectioName FileCreateDir, % MoveDirScheenShot . LectioName FileMove, % SampDirScrennShot . "\sa-mp-" . screen_index . ".png", % MoveDirScheenShot . LectioName . "\" . NameScreenShot . now_timecode . ".png", 1 ;перемещаем с ключем 1 (если есть такой файл то с заменой) break ; завершаем цыкл } else Line++ ; добавляем +1 к циклу тоесть новую строку для чтения и поиска } return
Сообщение отредактировал Laksheri231 - Среда, 30.01.2019, 17:31 |
|
|
|
FForest |
Дата: Четверг, 31.01.2019, 13:10 | Сообщение # 2
|
Местный Дурачок
Сообщений: 129
Статус: Offline
|
Laksheri231, Код SetTimer, chat, On return
chat: FileRead, chat, % A_MyDocuments "\GTA San Andreas User Files\SAMP\Chatlog.txt" for k, v in StrSplit(chat, "`n") { save(chat) if (RegExMatch(out, "\[.*\] \[Информация] \{FFFFFF}Время действия маски 10 минут, после исхода времени ее придётся выбросить.")) { SendChat("/me достал из кармана маску, после чего надел её") } else if (RegExMatch(out, "\[.*\] \[Информация] \{FFFFFF}Вы успешно выкинули маску.")) { SendChat("/me резким движением руки снял маску с лица") } Return
save(chatlog) { static logschat := A_MyDocuments "\GTA San Andreas User Files\SAMP\ChatLogs\" static chat := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt" FileCreateDir, % logschat A_MM "-" A_YYYY FileAppend, % chatlog, % logschat A_MM "-" A_YYYY "\" A_DD "." A_MM "." A_YYYY ".txt" FileDelete, % chat return }
|
|
|
|
Laksheri231 |
Дата: Четверг, 31.01.2019, 13:41 | Сообщение # 3
|
Новичок
Сообщений: 3
Статус: Offline
|
Дублируется функция https://imgur.com/a/F5FxpBY
Сообщение отредактировал Laksheri231 - Четверг, 31.01.2019, 13:41 |
|
|
|
CZAR |
Дата: Четверг, 31.01.2019, 18:08 | Сообщение # 4
|
Czar Of Scripts
Сообщений: 1373
Статус: Offline
|
Удали эти строки:
Код save(chatlog) { static logschat := A_MyDocuments "\GTA San Andreas User Files\SAMP\ChatLogs\" static chat := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt" FileCreateDir, % logschat A_MM "-" A_YYYY FileAppend, % chatlog, % logschat A_MM "-" A_YYYY "\" A_DD "." A_MM "." A_YYYY ".txt" FileDelete, % chat return }
Я в ВК Ушел в веб.
• Ничего не покупаю. • Способы не проверяю.
У меня теперь новый домен, если ссылка не работает - напишите.
Гарант Cheat-Master: *тема* AHK [S-RP] House Finder / House Teleporter [SAMP] Online Counter [S-RP] [For Event] Show Star [S-RP] AntiCasino [S-RP] [BOT] Auto Fisher + Auto Find Worm + Auto Cook [S-RP] [BOT] /dance Winner | Делаем розыгрыши среди участников темы. SAMP-UDF [AHK Урок] Выбор в диалогах мышкой и enter`ом [SAMP] Быстрый ответ на СМС [ERP] Помощник для адвоката [DRP] FakeTime Достижения: - 26.02.2017 - 03.01.2018 - 26.05.2018 - 22.09.2018 - 04.04.2019
|
|
|
|
Laksheri231 |
Дата: Четверг, 31.01.2019, 20:10 | Сообщение # 5
|
Новичок
Сообщений: 3
Статус: Offline
|
Не работает, ноль реакции...
|
|
|
|
FForest |
Дата: Пятница, 01.02.2019, 15:03 | Сообщение # 6
|
Местный Дурачок
Сообщений: 129
Статус: Offline
|
Laksheri231, Код SetTimer, chat, On return
chat: FileRead, chat, % A_MyDocuments "\GTA San Andreas User Files\SAMP\Chatlog.txt" for k, v in StrSplit(chat, "`n") { if (RegExMatch(v, "\]\s\[Информация]\s{FFFFFF}Время действия маски 10 минут, после исхода времени ее придётся выбросить\.")) { save(chat) SendChat("/me достал из кармана маску, после чего надел её") } else if (RegExMatch(v, "\]\s\[Информация]\s{FFFFFF}Вы успешно выкинули маску\.")) { save(chat) SendChat("/me резким движением руки снял маску с лица") } } Return
Сообщение отредактировал FForest - Пятница, 01.02.2019, 15:08 |
|
|
|