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

AVENAX

Новичок
4
0
Здравствуйте, вопрос по samp udf. Подскажите как сделать парсер из файла, а точнее чтоб данные брал из текстового документа?
Вот у меня код
C++:
F1::
showDialog(0, "Подсказка биндера", "{C0392B}ALT+1{FFFFFF} - Приветствие`n{C0392B}ALT+2{FFFFFF} - Головная боль`n{C0392B}ALT+3{FFFFFF} - Боль в животе`n{C0392B}ALT+4{FFFFFF} - Боль в горле`n{C0392B}ALT+5{FFFFFF} - Боль в почках`n{C0392B}ALT+6{FFFFFF} - Боль в сердце`n{C0392B}ALT+7{FFFFFF} - Боль в половом органе`n{C0392B}ALT+8{FFFFFF} - Боль в анусе`n{C0392B}ALT+9{FFFFFF} - Лечение ожогов`n{C0392B}ALT+0{FFFFFF} - Лечение ушибов`n{C0392B}ALT+-{FFFFFF} - Кровь с пальца`n{C0392B}ALT+={FFFFFF} - Кровь с вены`n{C0392B}Ctrl+1{FFFFFF} - Лечение перелома`n{C0392B}Ctrl+2{FFFFFF} - Лечение пореза`n{C0392B}Ctrl+3{FFFFFF} - Лечение дипрессии`n{C0392B}Ctrl+4{FFFFFF} - Боль в глазах`n{C0392B}Ctrl+5{FFFFFF} - Рентген`n{C0392B}Ctrl+6{FFFFFF} - Лечение печени`n{C0392B}Ctrl+7{FFFFFF} - Выдача мед.карты`n{C0392B}Ctrl+8{FFFFFF} - Пулевое ранение`n{C0392B}Ctrl+9{FFFFFF} - Лечение ОРВИ", "Закрыть")
Но я хочу сделать чтоб строки брало из текстовика и так далее. Допустим я создаю текстовый документ и вписываю туда команду и описание
C++:
CMD1: {C0392B}ALT+1 {FFFFFF}- Приветствие
CMD2: {C0392B}ALT+2 {FFFFFF}- Головная боль
ну и так далее
После чего уже в скрипте прописываю
C++:
F1::
showDialog(0, "Подсказка биндера", "CMD1`nCMD2.....
И описание он берет из текстовика
 
Последнее редактирование:

Forfeit

Участник
69
12
Здравствуйте, вопрос по samp udf. Подскажите как сделать парсер из файла, а точнее чтоб данные брал из текстового документа?
Вот у меня код
C++:
F1::
showDialog(0, "Подсказка биндера", "{C0392B}ALT+1{FFFFFF} - Приветствие`n{C0392B}ALT+2{FFFFFF} - Головная боль`n{C0392B}ALT+3{FFFFFF} - Боль в животе`n{C0392B}ALT+4{FFFFFF} - Боль в горле`n{C0392B}ALT+5{FFFFFF} - Боль в почках`n{C0392B}ALT+6{FFFFFF} - Боль в сердце`n{C0392B}ALT+7{FFFFFF} - Боль в половом органе`n{C0392B}ALT+8{FFFFFF} - Боль в анусе`n{C0392B}ALT+9{FFFFFF} - Лечение ожогов`n{C0392B}ALT+0{FFFFFF} - Лечение ушибов`n{C0392B}ALT+-{FFFFFF} - Кровь с пальца`n{C0392B}ALT+={FFFFFF} - Кровь с вены`n{C0392B}Ctrl+1{FFFFFF} - Лечение перелома`n{C0392B}Ctrl+2{FFFFFF} - Лечение пореза`n{C0392B}Ctrl+3{FFFFFF} - Лечение дипрессии`n{C0392B}Ctrl+4{FFFFFF} - Боль в глазах`n{C0392B}Ctrl+5{FFFFFF} - Рентген`n{C0392B}Ctrl+6{FFFFFF} - Лечение печени`n{C0392B}Ctrl+7{FFFFFF} - Выдача мед.карты`n{C0392B}Ctrl+8{FFFFFF} - Пулевое ранение`n{C0392B}Ctrl+9{FFFFFF} - Лечение ОРВИ", "Закрыть")
Но я хочу сделать чтоб строки брало из текстовика и так далее. Допустим я создаю текстовый документ и вписываю туда команду и описание
C++:
CMD1: {C0392B}ALT+1 {FFFFFF}- Приветствие
CMD2: {C0392B}ALT+2 {FFFFFF}- Головная боль
ну и так далее
После чего уже в скрипте прописываю
C++:
F1::
showDialog(0, "Подсказка биндера", "CMD1`nCMD2.....
И описание он берет из текстовика
Код:
Loop, read, file
{
    MyVar:= A_LoopReadLine
}
Это как пример. A_LoopReadLine - строка из файла, можешь в массив всё сохранять
 

AVENAX

Новичок
4
0
Ребят очень нужна помощь с samp udf(
Как сделать чтоб при вводе команды "я в чат выводило мой ник
Пример:
C++:
Привет меня зовут "я
и в чате выходит
Привет меня зовут Maxi_Benz
А если набрать в чат "77 то в чат выходит ник человека под ID 77
C++:
Пример:
Этого парня зовут "77
И в чате выходит
Этого парня зовут Name_Name

77 - ID игрока
 

Forfeit

Участник
69
12
Ребят очень нужна помощь с samp udf(
Как сделать чтоб при вводе команды "я в чат выводило мой ник
Пример:
C++:
Привет меня зовут "я
и в чате выходит
Привет меня зовут Maxi_Benz
А если набрать в чат "77 то в чат выходит ник человека под ID 77
C++:
Пример:
Этого парня зовут "77
И в чате выходит
Этого парня зовут Name_Name

77 - ID игрока
Код:
$~Enter::
if (isInChat())
{
blockChatInput()
sleep 200
dwAddress := dwSAMP + 0x12D8F8
chatInput := readString(hGTA, dwAddress, 512)
writeString(hGTA, dwAddress, "")
if (RegExMatch(chatInput, "(.*?)`"(.*)", outCommand))
{
    IfInString, outCommand2, я
    {
        localmyname := getUserName()
        SendChat(outCommand1 " " %localmyname%)
    }
    if(RegExMatch(chatInput, "(.*?)`"(.[0-9]*)", outSCommand))
    {
        localnick := getPlayerNameById(outSCommand2)
        SendChat("Этого парня зовут " %localnick%)
    }
    return
}
 
  • Нравится
Реакции: AVENAX

never_dk

Новичок
9
0
Что я делаю не так, -1 выводит постоянно, хотя аккаунт на сервере находится
#Include UDF.ahk

Gui, Add, Edit, x32 y69 w400 h160 vText, Pico_Sorepa
; Generated using SmartGUI Creator for SciTE
Gui, Show, w479 h379, ахк
return
GuiClose:
ExitApp


F2::
GuiControlGet, Text
nick := getPlayerIdByName(%Text%)
SendInput, {f6}/pay %nick% 3000
return
 

Sam_Monroe

Известный
58
2
Может кто помочь нормально установить Autohotkey или что там надо еще? Были старые скрипты, написанные всевышним, он мне и ахк устанавливал (по этому и не знаю, в чем проблема). Сейчас пытаюсь тупо команду активации поменять - бестолку. Видимо опять криво сделал что-то
 

AVENAX

Новичок
4
0
Код:
$~Enter::
if (isInChat())
{
blockChatInput()
sleep 200
dwAddress := dwSAMP + 0x12D8F8
chatInput := readString(hGTA, dwAddress, 512)
writeString(hGTA, dwAddress, "")
if (RegExMatch(chatInput, "(.*?)`"(.*)", outCommand))
{
    IfInString, outCommand2, я
    {
        localmyname := getUserName()
        SendChat(outCommand1 " " %localmyname%)
    }
    if(RegExMatch(chatInput, "(.*?)`"(.[0-9]*)", outSCommand))
    {
        localnick := getPlayerNameById(outSCommand2)
        SendChat("Этого парня зовут " %localnick%)
    }
    return
}

Спасибо, но ругается на строки

Код:
if (RegExMatch(chatInput, "(.*?)`"(.*)", outCommand))

и

if(RegExMatch(chatInput, "(.*?)`"(.[0-9]*)", outSCommand))

Говорит ошибка (9558) : ==> Missing close-quote
     Specifically: ", outCommand))
 

Kev1H

Новичок
19
0
Приветствую. Требуется помощь. Я нубас...


Имеется такой код. Как сделать так, чтобы при нажатии клавиши ESC или F6 скрипт останавливался, а не продолжал выводить на экран диалоги, а потом вообще и не писал текст в чат. ТОЛЬКО ПОСЛЕ НАЖАТИЯ ESC или F6
:?:/mp::
Sleep 200
showDialog(1, "{fac152}Мероприятие", "{FFFFFF}Введите {00ff04}[Название] {FFFFFF}мероприятия", "Понятно") ;
input, NameMP, V, {enter}
Sleep 200
showDialog(1, "{fac152}Мероприятие", "{FFFFFF}Введите {00ff04}[Сумму] {FFFFFF}приза", "Понятно") ;
input, SummaPriza, V, {enter}
Sleep 200
showDialog(1, "{fac152}Мероприятие", "{FFFFFF}Введите {00ff04}[Ник] {FFFFFF}спонсора", "Понятно") ;
input, NameSponsor, V, {enter}
Sleep 200
Sendmessage, 0x50,, 0x4190419,, A
SendInput, {f6}/msg [МП]: Сейчас пройдет мероприятие «%NameMP%». Приз МП - %SummaPriza%$ и временный скин.{enter}
Sleep 200
SendInput, {f6}/msg [МП]: Спонсор мероприятия - %NameSponsor%{enter}
return
 

never_dk

Новичок
9
0
Почему он когда зашел в игру не видит будто сам ip, идет подключение к :7777. Что я делаю не так?!

F3::
Run, samp:194.61.44.67:7777
return

Решил, должно быть так: Run, "Путь к ГТА" " " "-n НикНэйм -h ИП СЕРВЕРА БЕЗ ПОРТА(без :7777)"
 
Последнее редактирование:

Kev1H

Новичок
19
0
Смотри урок с ЧМа, что я скинул. Там всё описано. Тебе up и down вообще не нужны.

не работает((((

upload_2019-2-16_18-3-47.png
 

hertoem

Новичок
6
0
Здравствуйте. Нужно сделать скрипт, который при вводе /offmembers брал из диалогового окна информацию по определенному человеку( например первая строка кликабельная) и зачитывал ее в чат