Advertisement
spikeyspik

screen sort system

Mar 14th, 2017
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ~F8::
  2. ; Записываем и разделяем чат в переменную в момент создания скриншота
  3. FileRead, chatlog, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
  4. chat := StrSplit(chatlog, "`n")
  5. sleep 3000
  6. ; Узнаем размер чата из sa-mp.cfg
  7. FileRead, config, %A_MyDocuments%\GTA San Andreas User Files\SAMP\sa-mp.cfg
  8. cfg := StrSplit(config, "`n")
  9. for i, el in cfg
  10. {
  11.     if RegExMatch(el, "pagesize=(.*)", s)
  12.     pagesize := s1
  13. }
  14. pagesize += 0 ; string to number
  15.  
  16. switch := false
  17.  
  18. ; Выясняем, какой из скриншотов был сделан последним через дату его создания
  19. loop, %A_MyDocuments%\GTA San Andreas User Files\SAMP\screens\*.png
  20. {
  21.     FileGetTime, time, %A_LoopFileFullPath%, C
  22.     if (time > maxtime)
  23.     {
  24.         maxtime := time
  25.         screen := A_LoopFileFullPath
  26.     }
  27. }
  28.  
  29. Loop %pagesize%
  30. {
  31.     string := chat[chat.MaxIndex() - pagesize - 1 + A_Index]
  32.     ; Регулярное выражение
  33.     if RegExMatch(string, "^\[\d{2}:\d{2}:\d{2}\] \* Вы арестовали .*\.")
  34.     {
  35.         saveScreen(screen, "arrests")
  36.         switch := true
  37.     }
  38.     ; Регулярное выражение
  39.     if RegExMatch(string, "^\[\d{2}:\d{2}:\d{2}\] \* Вы изъяли .* у .*")
  40.     {
  41.         saveScreen(screen, "licenses")
  42.         switch := true
  43.     }
  44.     ; Регулярное выражение
  45.     if RegExMatch(string, "^\[\d{2}:\d{2}:\d{2}\] \[R\] (.*)\: Произвел задержание. Напарник: Lewis_Flow")
  46.     {
  47.         saveScreen(screen, "newbee")
  48.         switch := true
  49.     }
  50.     ; Регулярное выражение
  51.     if RegExMatch(string, "^\[\d{2}:\d{2}:\d{2}\] \[DRUGS\] Сотрудник FBI Lewis_Flow сдал\(а\) конфискованные наркотики \(\d+ гр\)\.")
  52.     {
  53.         saveScreen(screen, "drugs")
  54.         switch := true
  55.     }
  56. }
  57. if (switch)
  58. {
  59.     FileDelete, %screen%
  60. }
  61. return
  62.  
  63. /*
  64. Функция сохранения скриншота
  65. Параметры:
  66. screen - полный путь до скриншота, который будет перемещаться
  67. pattern - папка, в которую будет сохранен скриншот
  68. */
  69. saveScreen(screen, pattern) {
  70.     IfNotExist, %A_MyDocuments%\GTA San Andreas User Files\SAMP\screens\%pattern%\
  71.     {
  72.         FileCreateDir, %A_MyDocuments%\GTA San Andreas User Files\SAMP\screens\%pattern%
  73.     }
  74.     count := 1
  75.     loop, %A_MyDocuments%\GTA San Andreas User Files\SAMP\screens\%pattern%\*.png
  76.     count++
  77.     FileCopy, %screen%, %A_MyDocuments%\GTA San Andreas User Files\SAMP\screens\%pattern%\%count%.png
  78.     /*
  79.     Если вы пользуетесь SAMP API, можете добавить отпись в чате о сохранении, выглядит это примерно так:
  80.     addchatmessageEx(0xFFFFFF00, "[SORT SYSTEM] screen has saved as {FFFFFF}" pattern "\" count ".png")
  81.     */
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement