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

RTD

Нестандартное звание
Модератор
391
414
Помогите, когда нажимаю ALT+4, то вводиться первые 2-3 сообщения, а потом игра переходит в оконный режим. Что делать ?

Код:
!4::
SendInput, {F6}Сэр, пожалуйста, ведите себя адекватно ..{Enter}
Sleep, 1000 ;
SendInput, {F6}...Ведь ваша неадекватность к хорошему не приведет...{Enter}
Sleep, 1000 ;
SendInput, {F6}.. в ином случае мне придется применить к вам силу ...{Enter}
Sleep, 1000 ;
SendInput, {F6}... и вывести из здания банка!{Enter}
SendInput, {F6}/me грозно взглянув на нарушителя покоя{Enter}
Return
8 строка, "!" поменяй на "{!}"
 

#saniwe

глаза пофикси
218
107
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вопрос закрыт.
 

Вложения

  • sa-mp-013.png
    sa-mp-013.png
    130.9 KB · Просмотры: 551
Последнее редактирование:

mag3nta01

Новичок
5
0
Нужен скрипт который бы нажимал кнопку "Enter" до то того момента пока в чате SAMP не появится одна из нужных мне фраз, а как ее найдет чтобы остановился.
 

Pakulichev

Software Developer & System Administrator
Друг
1,789
2,131
Добрый день, форумчане. Возможно есть те у кого возникает проблема при использовании Samp UDF. А именно при попытке получить свой ID по следующему коды вы получите ответ: "-1".



А при попытки получить cам nickname вы получаете пустую строку, а то есть такой код тоже не работает:



UDF подключен, AHK запущен от имени администратора. Помогите решить проблему. Буду благодарен :)

Решено!
Требуется использовать ANSI как кодировку для скрипта.
 

Tiva

Известный
76
1
Как сделать чтобы когда я нажимал кнопку писало так
Покажите мне ваши документы
(( /lic | /med | /pass | /skill ))​
Чтобы мой ид в конце писался сам
 

Tanaka

Участник
41
10
C++:
#SingleInstance, Force
#Include, SUD.ahk ;Подключаешь SAMP UDF

Pause
Loop {
    if (RegExMatch(getChatLineEx(), "Как твои дела\?", var)) { ;Между кавычек твоя фраза. Если есть один из знаков: ? . ( ) \ | /, то перед ним следует ставить \. Например: Привет, мир! Как твои дела\?
        Break
    } else {
        SendInput, {Enter}
    }
}
return
F4::Pause

Как сделать чтобы когда я нажимал кнопку писало так
Покажите мне ваши документы
(( /lic | /med | /pass | /skill ))​
Чтобы мой ид в конце писался сам
C++:
#Include, SUD.ahk ; Подключаешь SAMP UDF
F4::
ID := getId()
SendChat("Покажите мне ваши документы")
Sleep, 2000
SendChat("(( /lic " ID " | /med " ID " | /pass " ID " | /skill " ID)
return

10

Лол кек чебурек. Я использовал 024 версию, и даже не мог представить что так быстра вышла 025.
FYP красавец!
 
Последнее редактирование модератором:
  • Нравится
Реакции: JEEMBО

#saniwe

глаза пофикси
218
107
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вопрос закрыт.
 
Последнее редактирование:

mag3nta01

Новичок
5
0
C++:
#SingleInstance, Force
#Include, SUD.ahk ;Подключаешь SAMP UDF

Pause
Loop {
    if (RegExMatch(getChatLineEx(), "Как твои дела\?", var)) { ;Между кавычек твоя фраза. Если есть один из знаков: ? . ( ) \ | /, то перед ним следует ставить \. Например: Привет, мир! Как твои дела\?
        Break
    } else {
        SendInput, {Enter}
    }
}
return
F4::Pause
Спасибо большое, но не хочет почему то запускатся
 

Вложения

  • Untitled.png
    Untitled.png
    6.9 KB · Просмотры: 337
Последнее редактирование:

ШPEK

Известный
1,476
524
Возможно ли как-то исправить ошибку которая выходит при использовании любой функции SAMP UDF. При использовании этих функций вылезает ошибка моментально и остаётся выключить SAMP. В обычном ahk функции работают. (ОС WinXP)
 

Tanaka

Участник
41
10
Доброго времени суток, у меня вот такая проблема. Я пишу к примеру /anim 44 , выходит анимация, но в углу написано , чтобы ее убрать надо нажать на "L-Alt". Как в биндере правильно указать данную клавишу, чтобы функционировала. Писал в {LAlt} не работало.
C++:
SendInput, {vkA4 Down}
SendInput, {vkA4 Up}
Еще между ними можно поставить задержку
 

Tiva

Известный
76
1
Как сделать так чтобы когда кто то пишет пример:
Докладывает Имя Фамиля Пост: ?? Состояние: ??​
А вы ahk отвечал сам на это пример:
Доклад принят​
 

Tanaka

Участник
41
10
Как сделать так чтобы когда кто то пишет пример:
Докладывает Имя Фамиля Пост: ?? Состояние: ??​
А вы ahk отвечал сам на это пример:
Доклад принят​
В таком случае нужно кидать строку из чатлога, но да ладно.
C++:
#SingleInstance, Force
#Include, SUD.ahk ;Подключаешь SAMP UDF

Pause

Loop {
    if (RegExMatch(getChatLineEx(), "(Д|д)окладывает.*", var)) {
        SendChat("Доклад принят")
    }
}
F4::Pause
return
 

#saniwe

глаза пофикси
218
107
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вопрос закрыт.
 

Вложения

  • v25Gjboqjyw.jpg
    v25Gjboqjyw.jpg
    175.7 KB · Просмотры: 513
Последнее редактирование:

Tanaka

Участник
41
10
Доброго времени суток, в чем может быть проблема? Скрин ошибки ниже. samp.ahk 0.3.1 r1. При запуске выдает ошибку.
Modify > ANSI 32-bit
upload_2017-11-9_0-21-37.png
upload_2017-11-9_0-21-57.png

Спасибо большое, но не хочет почему то запускатся
У тебя, скорее всего, старый SAMP UDF
Более-менее новая версия [C++] SAMP-UDF-Devepoler - Pastebin.com(https://pastebin.com/eMD1N6vb)
 
Последнее редактирование модератором:

Danila_Demidow

Новичок
3
0
Код:
$~Enter::
if (isInChat() && !isDialogOpen()) {
    Sleep, 200
    dwAddress := dwSAMP + 0x12D8F8
    chatText  := readString(hGTA, dwAddress, 256)
    if (RegExMatch(chatText, "^\/lic (.*)", var)) {
        Nick := RegExReplace(getPlayerNameById(var1), "_", " ")
        Sleep 2500
        SendChat("/me достал чистый бланк для лицензий ")
        Sleep 4000
        SendChat("/me заполнил бланк по паспортным данным: " Nick " ")
        Sleep 3000
        SendChat("/do в бланке стоит печать: ''With love from Driving School'' ")
        Sleep 2000
        SendChat("/do Лицензия оформлена на имя: " Nick "  ")
        Sleep 1100
        SendChat("/givelicense " var1 )
    }else if (RegExMatch(chatText, "^\/lis (.*)", var)) {
        Nick := RegExReplace(getPlayerNameById(var1), "_", " ")
        Sleep 1100
        SendChat("/do На плече сумка с документами ")
        Sleep 3000
        SendChat("/me достал из сумки чистый бланк для лицензий ")
        Sleep 4500
        SendChat("/me заполнил бланк по паспортным данным: " Nick " ")
        Sleep 3000
        SendChat("/do в бланке стоит печать: ''With love from Driving School'' ")
        Sleep 2000
        SendChat("/do Лицензия оформлена на имя: " Nick "  ")
        Sleep 1100
        SendChat("/givelicense " var1 )
    }
}
Return

Почему-то вообще не реагирует на команды, не на /lic, не на /lis