Вопросы по AHK-скриптингу

pavel4956

Новичок
6
0
AutoHotKey:
SetTimer, agent, 50
agent:
    lastline := getChatLineEx()
    if (RegExMatch(lastline, "SMS:\[RIELT\]: Дом эконом класса \[№(\d\d)\]\. Гос: \d\d\d?\.\d\d\d?\.", number)) {
        SendChat("/hm " number1 "")
    }
Return

Error: Call to nonexistent function.
Specifially: getChatLineEx()
Line#
001: Settime,agent,50
002: lastline:-getChatLineEx()
...
008: Exit
The program will exit.
 
  • Злость
Реакции: BASS_DEVSOFTWARE

BASS_DEVSOFTWARE

Известный 🇺🇦
Друг
264
568
Error: Call to nonexistent function.
Specifially: getChatLineEx()
Line#
001: Settime,agent,50
002: lastline:-getChatLineEx()
...
008: Exit
The program will exit.
Скажи пожалуйста, а как в этом фрагменте у тебя запускался скрипт?

Здравствуйте, без вашей помощи не справлюсь...
Смотрите: хочу сделать такой скрипт, который будет читать чатлог и при виде строчки, допустим "SMS:Агент [№2] прибыл по вашему приказу", в чат автоматически писалась команда: допустим "/hesoyam 2". И обязательно, чтобы в этой команде писалось число, в этом случае - агента т.е. "2".
И в связи с этим у меня получилась проблема...Посмотри то, что я попытался сделать и надеюсь на вашу помощь)

Код:
Loop {
    if (!active)
        Continue
    lastline := getChatLineEx()
    if (RegExMatch(lastline, "SMS:Агент [№number] по вашему приказу прибыл)) {
        SendChat("/hesoyam " number "")
    }
}
Return

Так же нужно, чтобы код работал автоматически без нажатия клавиш.
Надеюсь на вашу помощь ^_^
 

pavel4956

Новичок
6
0
Скажи пожалуйста, а как в этом фрагменте у тебя запускался скрипт?

Не знаю🤷‍♀️ Сначало не получалось, потом я как-то лазил по форумам, смотрел и что-то исправил, оно запускалось, но не работало.
Что можете посоветовать?
 

BASS_DEVSOFTWARE

Известный 🇺🇦
Друг
264
568
Не знаю🤷‍♀️ Сначало не получалось, потом я как-то лазил по форумам, смотрел и что-то исправил, оно запускалось, но не работало.
Что можете посоветовать?

Устанавливайте UDF для вашей версии самп.

Перед основным кодом пишем:
#include путь к файлу UDF
 

pavel4956

Новичок
6
0
Устанавливайте UDF для вашей версии самп.

Перед основным кодом пишем:
#include путь к файлу UDF

Наверное, самый тупой вопрос, который был на этом форуме: А как установить UDF?)
Устанавливайте UDF для вашей версии самп.

Перед основным кодом пишем:
#include путь к файлу UDF

Вроде-бы установил, все в одной папке, в скрипте указал путь к UDF, но теперь просто не запускается АХК, ни ошибки не выдаёт, ничего, просто не запускается. Может, это из-за формата UDF? У меня оно вот так- SAMP-UDF.ahk.txt
 
Последнее редактирование:

pavel4956

Новичок
6
0
Вы ответили на свой вопрос. Должно быть так - SAMP-UDF.ahk

Код:
#include C:\Users\павел\Desktop\Скрипт\SAMP-UDF.ahk

SetTimer, agent, 50
agent:
    lastline := getChatLineEx()
    if (RegExMatch(lastline, "SMS:\[RIELT\]: Дом эконом класса \[№(\d\d)\]\. Гос: \d\d\d?\.\d\d\d?\.", number)) {
        SendChat("/hm " number1 "")
    }
Return

Вот так получилось, но АХК всё равно не запускается, даже ничего не пишет...
 

BASS_DEVSOFTWARE

Известный 🇺🇦
Друг
264
568
Код:
#include C:\Users\павел\Desktop\Скрипт\SAMP-UDF.ahk

SetTimer, agent, 50
agent:
    lastline := getChatLineEx()
    if (RegExMatch(lastline, "SMS:\[RIELT\]: Дом эконом класса \[№(\d\d)\]\. Гос: \d\d\d?\.\d\d\d?\.", number)) {
        SendChat("/hm " number1 "")
    }
Return

Вот так получилось, но АХК всё равно не запускается, даже ничего не пишет...
Запускается, нужен любой хоткей добавить.


AutoHotKey:
#include C:\Users\павел\Desktop\Скрипт\SAMP-UDF.ahk

SetTimer, agent, 50
agent:
    lastline := getChatLineEx()
    if (RegExMatch(lastline, "SMS:\[RIELT\]: Дом эконом класса \[№(\d\d)\]\. Гос: \d\d\d?\.\d\d\d?\.", number)) {
        SendChat("/hm " number1 "")
    }
Return

!f3::
exitapp
 
Запускается, нужен любой хоткей добавить.


AutoHotKey:
#include C:\Users\павел\Desktop\Скрипт\SAMP-UDF.ahk

SetTimer, agent, 50
agent:
    lastline := getChatLineEx()
    if (RegExMatch(lastline, "SMS:\[RIELT\]: Дом эконом класса \[№(\d\d)\]\. Гос: \d\d\d?\.\d\d\d?\.", number)) {
        SendChat("/hm " number1 "")
    }
Return

!f3::
exitapp
Метки в 2019?
 

index

Известный
126
82
Это теперь не модно? :oops:
Если уж хочешь докопаться к коду - укажи на то, что он будет пропускать строки, если одновременно придут 2+, и на то что регулярка работает только на номерах домов от 10 до 99 и суммах от 10000 до 999999.

PS Вместо добавления хоткея можно использовать #Persistent.
PPS Немного рекламы ahk v2. Там этот же код можно было бы записать в 1 строку:
AutoHotKey:
#Persistent
#include udf.ahk
SetTimer () => RegExMatch(getChatLineEx(), "SMS:\[RIELT\]: Дом эконом класса \[№(\d+)\]\. Гос:", numb) ? sendChat("/hm " numb[1]) : "", 50
 
Последнее редактирование:

meowprd

Тот самый Котовский
Проверенный
1,280
712
Это теперь не модно? :oops:
Если уж хочешь докопаться к коду - укажи на то, что он будет пропускать строки, если одновременно придут 2+, и на то что регулярка работает только на номерах домов от 10 до 99 и суммах от 10000 до 999999.

PS Вместо добавления хоткея можно использовать #Persistent.
PPS Немного рекламы ahk v2. Там этот же код можно было бы записать в 1 строку:
AutoHotKey:
#Persistent
#include udf.ahk
SetTimer () => RegExMatch(getChatLineEx(), "SMS:\[RIELT\]: Дом эконом класса \[№(\d+)\]\. Гос:", numb) ? sendChat("/hm " numb[1]) : "", 50

Что за ahk v2?
Первый раз слышу
 

index

Известный
126
82
Что за ahk v2?
Первый раз слышу
Альфа-ветка. Находится в разработке, но уже можно использовать. Отличается более адекватным синтаксисом и отхода от меток к функциональщине. Gui представлен в виде объектов с также адекватным (в отличие от v1) синтаксисом.

https://www.autohotkey.com/v2/v2-changes.htm

 
Последнее редактирование:

meowprd

Тот самый Котовский
Проверенный
1,280
712
Альфа-ветка. Находится в разработке, но уже можно использовать. Отличается более адекватным синтаксисом и отхода от меток к функциональщине. Gui представлен в виде объектов с также адекватным (в отличие от v1) синтаксисом.

https://www.autohotkey.com/v2/v2-changes.htm


Овер удобная штука, спасибо
 

kongra

Новичок
3
0
Можете пожалуйста помочь с переменной в AHK.
Например: Пишу /дм тут айди игрока
И это заменяется на /jail айди игрока 30 DM
помогите пожалуйста
 

клешь рояль

Известный
1,255
551
AutoHotKey:
PixelSearch, Px, Py, 200, 200, 300, 300, 0x9d6346, 3, Fast
if ErrorLevel
    MsgBox, Color not found.
else
    MsgBox, Found color with 3-ColorNuances at X%Px% Y%Py% .
return

что надо указывать вместо 200,200,300,300 . Прочитал инструкцию, так и не понял
 
  • Bug
Реакции: BASS_DEVSOFTWARE

meowprd

Тот самый Котовский
Проверенный
1,280
712
Можете пожалуйста помочь с переменной в AHK.
Например: Пишу /дм тут айди игрока
И это заменяется на /jail айди игрока 30 DM
помогите пожалуйста

AutoHotKey:
CMD.Register("test", "TestFunc") ; Где test - команда, где TestFunc - функция

TestFunc(params)
{
    ; Твой код
}

Подключай samp.ahk и используй SendChat()
AutoHotKey:
PixelSearch, Px, Py, 200, 200, 300, 300, 0x9d6346, 3, Fast
if ErrorLevel
    MsgBox, Color not found.
else
    MsgBox, Found color with 3-ColorNuances at X%Px% Y%Py% .
return

что надо указывать вместо 200,200,300,300 . Прочитал инструкцию, так и не понял

37626


Начальные и конечные координаты, проще говоря
 

Вложения

  • cmd.ahk
    1.8 KB · Просмотры: 11