Помогите сделать скрипт

AngelLics

Новичок
Автор темы
6
0
Помогите сделать скрипт, просто только начал этим заниматься. Нужно что бы скрипт включался на команду в чате. Потом отслеживал pay day и при нём нажимал сначала LAlt, потом Enter.
Примерно:
В чате пишу /startahk
В ответ в чате: AHK включен
*Ждёт PayDay*
При PayDay нажимает LAlt, потом Enter
Буду очень благодарен
 

darksoor

Известный
674
353
Помогите сделать скрипт, просто только начал этим заниматься. Нужно что бы скрипт включался на команду в чате. Потом отслеживал pay day и при нём нажимал сначала LAlt, потом Enter.
Примерно:
В чате пишу /startahk
В ответ в чате: AHK включен
*Ждёт PayDay*
При PayDay нажимает LAlt, потом Enter
Буду очень благодарен

Не с того ты начал изучение AHK. Я бы тебе посоветовал для начала разобраться в тонкостях работы этого языка, а уже после прыгать на такого плана скрипты.

AutoHotKey:
Include SAMP-UDF.ahk ;подключаешь SAMP-UDF (создаёшь рядом со своим скриптом файлик SAMP-UDF.ahk, после переходишь в тему "https://blast.hk/threads/20318/"(без кавычек) и копируешь в данный файл код)

$~NumpadEnter::
$~Enter::
if (!isInChat()) || (isDialogOpen() && (getDialogStyle() == 1 || getDialogStyle() == 3))
   Return
Sleep 250
tempText := readString(hGTA, dwSAMP + 0x12D8F8, 256)
if (tempText == "/startahk")
{
   addChatMessage("{ffffff}AHK включен.")
   ; Тут код чтения чатлога
   Return
}
Return

Тут найдешь код для чтения чата: https://blast.hk/threads/23860/

Потом напиши из чатлога строку, какую тебе необходимо найти, дальше помогу с кодом.
 
Последнее редактирование:

Charls

Новичок
7
0
Не с того ты начал изучение AHK. Я бы тебе посоветовал для начала разобраться в тонкостях работы этого языка, а уже после прыгать на такого плана скрипты.

AutoHotKey:
Include SAMP-UDF.ahk ;подключаешь SAMP-UDF (создаёшь рядом со своим скриптом файлик SAMP-UDF.ahk, после переходишь в тему "https://blast.hk/threads/20318/"(без кавычек) и копируешь в данный файл код)

$~NumpadEnter::
$~Enter::
if (!isInChat()) || (isDialogOpen() && (getDialogStyle() == 1 || getDialogStyle() == 3))
   Return
Sleep 250
tempText := readString(hGTA, dwSAMP + 0x12D8F8, 256)
if (tempText == "/startahk")
{
   addChatMessage("{ffffff}AHK включен.")
   ; Тут код чтения чатлога
   Return
}
Return

Тут найдешь код для чтения чата: https://blast.hk/threads/23860/

Потом напиши из чатлога строку, какую тебе необходимо найти, дальше помогу с кодом.
Щас ночь, не могу понять как работает чтение чат лога.
Мне нужна строчка
До следующего уровня: (здесь кол-во часов, оно всегда меняется)
 

клешь рояль

Известный
1,255
551
Щас ночь, не могу понять как работает чтение чат лога.
Мне нужна строчка
До следующего уровня: (здесь кол-во часов, оно всегда меняется)
Может потому что его тут нету xD
 

darksoor

Известный
674
353
Щас ночь, не могу понять как работает чтение чат лога.
Мне нужна строчка
До следующего уровня: (здесь кол-во часов, оно всегда меняется)
SetTimer`ом запускается.

Регулярка нужна такая:
AutoHotKey:
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
}

Include SAMP-UDF.ahk ;подключаешь SAMP-UDF (создаёшь рядом со своим скриптом файлик SAMP-UDF.ahk, после переходишь в тему "https://blast.hk/threads/20318/"(без кавычек) и копируешь в данный файл код)
global file_chat := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"

$~NumpadEnter::
$~Enter::
if (!isInChat()) || (isDialogOpen() && (getDialogStyle() == 1 || getDialogStyle() == 3))
   Return
Sleep 250
tempText := readString(hGTA, dwSAMP + 0x12D8F8, 256)
if (tempText == "/startahk")
{
   save(chatlog)
   addChatMessage("{ffffff}AHK включен.")
   SetTimer, chat, 50
   Return
}
if (tempText == "/offahk")
{
   addChatMessage("{ffffff}AHK выключен.")
   SetTimer, chat, off
   Return
}
Return

Chat() {
  FileRead, chatlog, % file_chat
  if (RegExMatch(chatlog, "До следующего уровня\:\s(\d+)", var)) {
   save(chatlog)
   SendInput, {Alt}
   Sleep, 1500
   SendInput, {vkD}
   return
  }
}

Команда /offahk отключит чтение чатлога.
 
Последнее редактирование:

AngelLics

Новичок
Автор темы
6
0
SetTimer`ом запускается.

Регулярка нужна такая:
AutoHotKey:
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
}

Include SAMP-UDF.ahk ;подключаешь SAMP-UDF (создаёшь рядом со своим скриптом файлик SAMP-UDF.ahk, после переходишь в тему "https://blast.hk/threads/20318/"(без кавычек) и копируешь в данный файл код)
global file_chat := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"

$~NumpadEnter::
$~Enter::
if (!isInChat()) || (isDialogOpen() && (getDialogStyle() == 1 || getDialogStyle() == 3))
   Return
Sleep 250
tempText := readString(hGTA, dwSAMP + 0x12D8F8, 256)
if (tempText == "/startahk")
{
   save(chatlog)
   addChatMessage("{ffffff}AHK включен.")
   SetTimer, chat, 50
   Return
}
if (tempText == "/offahk")
{
   addChatMessage("{ffffff}AHK выключен.")
   SetTimer, chat, off
   Return
}
Return

Chat() {
  FileRead, chatlog, % file_chat
  if (RegExMatch(chatlog, "До следующего уровня\:\s(\d+)", var)) {
   save(chatlog)
   SendInput, {Alt}
   Sleep, 1500
   SendInput, {vkD}
   return
  }
}

Команда /offahk отключит чтение чатлога.
Получается мне нужно создать файл SAMP-UDF.ahk и в него скопировать весь текст от сюда "http://rebres.ru/AutoHotKey/SAMP-UDF-037-R2.ahk" ?
 

AngelLics

Новичок
Автор темы
6
0
SetTimer`ом запускается.

Регулярка нужна такая:
AutoHotKey:
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
}

Include SAMP-UDF.ahk ;подключаешь SAMP-UDF (создаёшь рядом со своим скриптом файлик SAMP-UDF.ahk, после переходишь в тему "https://blast.hk/threads/20318/"(без кавычек) и копируешь в данный файл код)
global file_chat := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"

$~NumpadEnter::
$~Enter::
if (!isInChat()) || (isDialogOpen() && (getDialogStyle() == 1 || getDialogStyle() == 3))
   Return
Sleep 250
tempText := readString(hGTA, dwSAMP + 0x12D8F8, 256)
if (tempText == "/startahk")
{
   save(chatlog)
   addChatMessage("{ffffff}AHK включен.")
   SetTimer, chat, 50
   Return
}
if (tempText == "/offahk")
{
   addChatMessage("{ffffff}AHK выключен.")
   SetTimer, chat, off
   Return
}
Return

Chat() {
  FileRead, chatlog, % file_chat
  if (RegExMatch(chatlog, "До следующего уровня\:\s(\d+)", var)) {
   save(chatlog)
   SendInput, {Alt}
   Sleep, 1500
   SendInput, {vkD}
   return
  }
}

Команда /offahk отключит чтение чатлога.
ты забыл в 10 строчке #Include
Ты сделал без #

SAMP-UDF и не нужно запускать.

Скриншот ошибки кинь.
Скрипт запустил, но не могу понять как его включить))
 
Последнее редактирование:

Smer4

Известный
424
51
Не с того ты начал изучение AHK. Я бы тебе посоветовал для начала разобраться в тонкостях работы этого языка, а уже после прыгать на такого плана скрипты.

AutoHotKey:
tempText := readString(hGTA, dwSAMP + 0x12D8F8, 256)
if (tempText == "/startahk")
Стоп это что, регистрация команды в чат??