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

Overseas

Новичок
16
1
Имеется свой собственный скрипт AHK который я сделал под себя, но существует одна проблема, время от времени при входе в определенные виды транспорта, меня крашит. Играю я на Diamond RP. например в полицейском крузере меня никогда не крашит, а вот если садиться в sеntinel то примерно на 4-5 раз повторного входа в него, меня крашит (иногда краш может появиться на 10 вход, иногда уже на первый после захода на сервер, рандомно происходит). Это именно из-за AHK, я проверял. С чем именно это может быть связанно?
 

Revalto

Известный
532
225
Имеется свой собственный скрипт AHK который я сделал под себя, но существует одна проблема, время от времени при входе в определенные виды транспорта, меня крашит. Играю я на Diamond RP. например в полицейском крузере меня никогда не крашит, а вот если садиться в sеntinel то примерно на 4-5 раз повторного входа в него, меня крашит (иногда краш может появиться на 10 вход, иногда уже на первый после захода на сервер, рандомно происходит). Это именно из-за AHK, я проверял. С чем именно это может быть связанно?
Мы не ванги. Мб UDF по версии не совпадает? Хотя ничего не должно происходить без вызова функций
 

nevadaroid

Новичок
1
0
Приветствую, господа программисты, нужна помощь, я чайник и не понимаю как правильно сделать.
Нужен код для сампа, чтобы работал без активации.
Если видит в чате определенное слово, через некоторое время отправляет в чат другое определенное слово)
Накидайте пожалуйста как для чайников) с пометками ; Слово которое видит ; Слово которое отправляет
Спасибо))
 

oPawka

Новичок
23
4
Приветствую, господа программисты, нужна помощь, я чайник и не понимаю как правильно сделать.
Нужен код для сампа, чтобы работал без активации.
Если видит в чате определенное слово, через некоторое время отправляет в чат другое определенное слово)
Накидайте пожалуйста как для чайников) с пометками ; Слово которое видит ; Слово которое отправляет
Спасибо))
Можно немного по понятнее объяснить, что именно требуется от скриптера?

Приветствую, господа программисты, нужна помощь, я чайник и не понимаю как правильно сделать.
Нужен код для сампа, чтобы работал без активации.
Если видит в чате определенное слово, через некоторое время отправляет в чат другое определенное слово)
Накидайте пожалуйста как для чайников) с пометками ; Слово которое видит ; Слово которое отправляет
Спасибо))
Вроде понятно объяснил) +rep <3
Код:
#include UDF.ahk ; Название твоего UDF

SetTimer, Chat, 50

Chat() {
    GetChatLine(0, chatlog)

    if (RegExMatch(chatlog, "Слово которое видит", chattext))
        SendChat("Слово которое отправляет")
}
 

Nagenbl4

Новичок
107
2
Код:
#include SAMP.ahk
SetTimer, test, 50

countkm := 0

test:
if(getDialogCaption() == "Название диалога")
    countkm += 1
return

NumPad1::
addChatMessage("Количество: " countkm)
return
Есть такой код, но нету названия диалога, что делать? Как сравнить по ID? Можете написать?
 

darksoor

Известный
674
353
Код:
#include SAMP.ahk
SetTimer, test, 50

countkm := 0

test:
if(getDialogCaption() == "Название диалога")
    countkm += 1
return

NumPad1::
addChatMessage("Количество: " countkm)
return
Есть такой код, но нету названия диалога, что делать? Как сравнить по ID? Можете написать?
Попробуй сравнивать по тексту в диалоге (getDialogText())

Так наверное проще будет использовать:
Код:
countkm++
 

darksoor

Известный
674
353
Нет, не помогло. Я может код не верный написал...
Попробуй использовать регулярное выражение:
Код:
if RegExMatch(getDialogText(), "тут регулярка", var)

Если не знаешь, как написать регулярку, скинь скриншот диалогового окна, я тебе её напишу.
 

Overseas

Новичок
16
1
В моем цикле есть 2 задачи, первая проверяет попал ли я в нужные координаты, вторая задача это сообщение о запуске скрипта. Проблема в том что я не могу сделать так что бы они осуществлялись параллельно, в моем коде он 1 раз проверяет нахожусь ли я в координатах а затем зацикливается внутри второй задачи, перекидываясь с метки на метку, т.к. я не нашел другого способа сообщать о запуске всего 1 раз и только во время входа в игру, и так каждый следующий вход. Вопрос, как сделать что бы 2 задачи осуществлялись параллельно, и проверка координат, и верное сообщение о запуске скрипта?
Код:
Loop
{
start:
{
GetPlayerPos(x,y,z)
if ( x > 2750.843750 and x < 2752.616211 and y > -83.665733 and y < -82.559273 )
{
keywait, 2, D T2
If ErrorLevel != 0
goto start
Else
{
addChatMessageEx("FF0000", "Приложил личную пропускную карту к сканеру")
sleep, 300
goto start
}
}
else
{
Process, Wait, gta_sa.exe
Zapusk := ErrorLevel 
if not Zapusk
{
    goto start
}
sleep, 7000
addChatMessageEx("FF0000", """PD помощник V.2.0"" запущен. Удачной игры!")
goto Zakritie
Zakritie:
Process, WaitClose, %Da%
if ErrorLevel
{
goto Zakritie
}
sleep, 100
goto Zapusk
}
}
 

darksoor

Известный
674
353
В моем цикле есть 2 задачи, первая проверяет попал ли я в нужные координаты, вторая задача это сообщение о запуске скрипта. Проблема в том что я не могу сделать так что бы они осуществлялись параллельно, в моем коде он 1 раз проверяет нахожусь ли я в координатах а затем зацикливается внутри второй задачи, перекидываясь с метки на метку, т.к. я не нашел другого способа сообщать о запуске всего 1 раз и только во время входа в игру, и так каждый следующий вход. Вопрос, как сделать что бы 2 задачи осуществлялись параллельно, и проверка координат, и верное сообщение о запуске скрипта?
Код:
Loop
{
start:
{
GetPlayerPos(x,y,z)
if ( x > 2750.843750 and x < 2752.616211 and y > -83.665733 and y < -82.559273 )
{
keywait, 2, D T2
If ErrorLevel != 0
goto start
Else
{
addChatMessageEx("FF0000", "Приложил личную пропускную карту к сканеру")
sleep, 300
goto start
}
}
else
{
Process, Wait, gta_sa.exe
Zapusk := ErrorLevel
if not Zapusk
{
    goto start
}
sleep, 7000
addChatMessageEx("FF0000", """PD помощник V.2.0"" запущен. Удачной игры!")
goto Zakritie
Zakritie:
Process, WaitClose, %Da%
if ErrorLevel
{
goto Zakritie
}
sleep, 100
goto Zapusk
}
}
Самый простой способ: использовать SetTimer.
 

CooperMichaell

Новичок
1
0
Ребятки подскажите чё за хня ? Заливаю Lua. Скрипт "SuperMembers" в итоге: Когда захожу в игру скрипт на команды отвечает - Тобишь /smem help /smem clear работает, а когда жму на кнопку "END" Дабы появились ранги над никами. Ничего не происходит. Сказали Что-то мешает скрипту считывать нажатия клавиш. С чем это может быть связано ?
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
Ребятки подскажите чё за хня ? Заливаю Lua. Скрипт "SuperMembers" в итоге: Когда захожу в игру скрипт на команды отвечает - Тобишь /smem help /smem clear работает, а когда жму на кнопку "END" Дабы появились ранги над никами. Ничего не происходит. Сказали Что-то мешает скрипту считывать нажатия клавиш. С чем это может быть связано ?
Причем луа в ахк теме?

Сможешь продемонстрировать?
SetTimer - Syntax & Usage | AutoHotkey(https://autohotkey.com/docs/commands/SetTimer.htm)
 
  • Нравится
Реакции: Overseas

darksoor

Известный
674
353
Сможешь продемонстрировать?
Код:
#include SAMP.ahk
SetTimer, test, 50

countkm := 0

test:
if(getDialogCaption() == "Название диалога")
    countkm += 1
return

Вот к примеру данный код. Каждые 50 миллисекунд будет переходить на метку test. Дальше думаю разберёшься. Ничего сложного нет.
 
  • Нравится
Реакции: Overseas

NOOBPAndA

Участник
101
12
как сделат чтобы АХК автоматически определял какое у меня оружие в руках?
PHP:
F1::

per := getPlayerWeaponName()

Sendchat("/me достал из кубры " per "")
return