[Помощь] Чтение чат лога + сортировка скриншотов - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir, Phoenixxx_Czar  
[Помощь] Чтение чат лога + сортировка скриншотов
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
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума