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

Adam_Rockwell

Активный
143
25
А что делать если скрипт не запускается, нет ошибок, просто не запускается.

Ну блин, как таких элементарных то вещей можно не знать)
В начало кода вписать это надо:


#SingleInstance Force
#Persistent
#Include udf.ahk
#IfWinActive GTA:SA:MP

Надеюсь что такое udf и как сделать ansi-32, объяснять не нужно.
 
  • Нравится
Реакции: Cesar Ballard

StenMarsh

Новичок
29
2
Проблема, запускаю данный скрипт, в игре пишу /призыв.... и оно начинает флудить строчками в чат

dwAddress := dwSAMP + 0x12D8F8
chatInput := readString(hGTA, dwAddress, 256)
if chatInput contains /призыв
{
RegExMatch(chatInput, "/призыв (.*)", p)
if (p1 == "")
{
AddChatMessageex("{BEBEBE}", "Используйте: /призыв [привет | повестка | осмотр | годен | негоден]")
Return
}
if (p1 == "негоден ЧС" or p1 == "негоден розыск" or p1 == "негоден законка" or p1 == "негоден бред" or p1 == "негоден ник" or p1 == "негоден лвл" or p1 == "негоден" or p1 == "негоден лица")
{
RegExMatch(chatInput, "/призыв негоден (.*)", d)
if (d1 == "")
{
AddChatMessageex("{BEBEBE}", "Используйте: /призыв негоден [ЧС | розыск | законка | бред | ник | лвл | лица]")
return
}
if (d1 == "ЧС")
{
SendChat("Вы не годны, так как вы находитесь в черном списке МО.")
return
}
if (d1 == "розыск")
{
if Sex = Мужской
{
SendChat("/me посмотрел ориентировки на стене")
sleep 100
SendChat("/me сравнил ориентировку с человеком напротив и выявил сходства")
}
if Sex = Женский
{
SendChat("/me посмотрела ориентировки на стене")
sleep 100
SendChat("/me сравнила ориентировку с человеком напротив и выявила сходства")
}
sleep 500
SendChat("Вы находитесь в федеральном розыске.")
Sleep 1000
SendChat("Покиньте военкомат, иначе мне придется позвонить в полицию.")
return
}
if (d1 == "законка")
{
SendChat("Вы недостаточно законопослушны. Не годны.")
Sleep 1000
SendChat("/n Законка нужна для 3 лвл - +20 | для 5 лвл и выше - +30")
return
}
if (d1 == "бред")
{
SendChat("Вы не годны. Бредите.")
sleep 1000
SendChat("/n МГ соблюдайте")
return
}
if (d1 == "ник")
{
SendChat("У Вас опечатка в паспорте. Вы не годны.")
sleep 1000
SendChat("/n Поменяйте ник")
return
}
if (d1 == "лвл")
{
SendChat("Мало проживаете в штате. Не годны.")
sleep 1000
SendChat("/n 3 лвл минимум")
return
}
if (d1 == "лица")
{
SendChat("Вы не годны, так как у Вас нет комплекта лицензий")
sleep 1000
SendChat("/n У Вас нет лицензии на оружие или проф прав")
return
}
}
if (p1 == "привет")
{
sleep 500
sendChat("Здравия желаю. Я " nrang " " MyName " " Family ".")
sleep 1000
SendChat("Предъявите Ваш паспорт, лицензии и трудовую книгу.")
return
}
if (p1 == "повестка")
{
sendChat("Хорошо, теперь положите на стол Вашу мед. карту и повестку")
return
}
if (p1 == "осмотр")
{
if Sex = Мужской
{
sendChat("/me взял медицинскую книжку, после чего раскрыл её")
sleep 1000
sendChat("/me изучил данные в мед. книжке")
sleep 1000
SendChat("/me взял со стола повестку, затем осмотрел её")
sleep 2000
SendChat("/me вернул документы обратно призывнику")
sleep 1000
}
if Sex = Женский
{
sendChat("/me взяла медицинскую книжку, после чего раскрыла её")
sleep 1000
sendChat("/me изучила данные в мед. книжке")
sleep 1000
SendChat("/me взяла со стола повестку, затем осмотрела её")
sleep 2000
SendChat("/me вернула документы обратно призывнику")
sleep 1000
}
sendChat("Хорошо. Теперь готовы пройти психологический тест и ответить на пару вопросов?")
return
}
if (p1 == "годен")
{
if Sex = Мужской
{
SendChat("/me достал бланк призывника и ручку")
sleep 500
SendChat("/me заполняет первый бланк")
sleep 1000
SendChat("/me заполняет второй бланк")
sleep 1000
SendChat("/me заполняет третий бланк")
sleep 1500
SendChat("/me поставил в бланке печать ГОДЕН")
}
if Sex = Женский
{
SendChat("/me достала бланк призывника и ручку")
sleep 500
SendChat("/me заполняет первый бланк")
sleep 1000
SendChat("/me заполняет второй бланк")
sleep 1000
SendChat("/me заполняет третий бланк")
sleep 1500
SendChat("/me поставила в бланке печать ГОДЕН")
}
SendChat("/do Бланк призывника заполнен")
sleep 1000
if Frak = ВМФ
{
SendChat("Пройдем за мной, капитан 1 ранга/адмирал выдаст Вам форму.")
return
}
else
{
SendChat("Пройдем за мной, полковник/генерал выдаст Вам форму.")
return
}
return
}
}
 

Вложения

  • sa-mp-000.png
    sa-mp-000.png
    141.4 KB · Просмотры: 357

StenMarsh

Новичок
29
2
[code=autohotkey]Твой код[/code]
Используй в следующий раз, когда будешь просить помощь в коде, пожалуйста.

AutoHotKey:
dwAddress := dwSAMP + 0x12D8F8
chatInput := readString(hGTA, dwAddress, 256)
if chatInput contains /призыв
{
    RegExMatch(chatInput, "/призыв (.*)", p)
    if (p1 == "")
    {
    AddChatMessageex("{BEBEBE}", "Используйте: /призыв  [привет | повестка | осмотр | годен | негоден]")
        Return
    }
    if (p1 == "негоден ЧС" or p1 == "негоден розыск" or p1 == "негоден законка" or p1 == "негоден бред" or p1 == "негоден ник" or p1 == "негоден лвл" or p1 == "негоден" or p1 == "негоден лица")
    {
        RegExMatch(chatInput, "/призыв негоден (.*)", d)
        if (d1 == "")
        {
        AddChatMessageex("{BEBEBE}", "Используйте: /призыв негоден [ЧС | розыск | законка | бред | ник | лвл | лица]")
            return
        }
        if (d1 == "ЧС")
        {
            SendChat("Вы не годны, так как вы находитесь в черном списке МО.")
            return
        }
        if (d1 == "розыск")
       {
            if Sex = Мужской
            {
                SendChat("/me посмотрел ориентировки на стене")
                sleep 100
                SendChat("/me сравнил ориентировку с человеком напротив и выявил сходства")
            }
            if Sex = Женский
            {
                SendChat("/me посмотрела ориентировки на стене")
                sleep 100
                SendChat("/me сравнила ориентировку с человеком напротив и выявила сходства")
            }
            sleep 500
            SendChat("Вы находитесь в федеральном розыске.")
            Sleep 1000
            SendChat("Покиньте военкомат, иначе мне придется позвонить в полицию.")
            return
        }
        if (d1 == "законка")
        {
            SendChat("Вы недостаточно законопослушны. Не годны.")
            Sleep 1000
            SendChat("/n Законка нужна для 3 лвл - +20 | для 5 лвл и выше - +30")
            return
        }
        if (d1 == "бред")
        {
            SendChat("Вы не годны. Бредите.")
            sleep 1000
            SendChat("/n МГ соблюдайте")
            return
        }
        if (d1 == "ник")
        {
            SendChat("У Вас опечатка в паспорте. Вы не годны.")
            sleep 1000
            SendChat("/n Поменяйте ник")
            return
        }
        if (d1 == "лвл")
        {
            SendChat("Мало проживаете в штате. Не годны.")
            sleep 1000
            SendChat("/n 3 лвл минимум")
            return
        }
        if (d1 == "лица")
        {
            SendChat("Вы не годны, так как у Вас нет комплекта лицензий")
            sleep 1000
            SendChat("/n У Вас нет лицензии на оружие или проф прав")
            return
        }
    }
    if (p1 == "привет")
    {
        sleep 500
        sendChat("Здравия желаю. Я " nrang " " MyName " " Family ".")
        sleep 1000
        SendChat("Предъявите Ваш паспорт, лицензии и трудовую книгу.")
        return
    }
    if (p1 == "повестка")
    {
        sendChat("Хорошо, теперь положите на стол Вашу мед. карту и повестку")
        return
    }
    if (p1 == "осмотр")
    {
        if Sex = Мужской
        {
            sendChat("/me взял медицинскую книжку, после чего раскрыл её")
            sleep 1000
            sendChat("/me изучил данные в мед. книжке")
            sleep 1000
            SendChat("/me взял со стола повестку, затем осмотрел её")
            sleep 2000
            SendChat("/me вернул документы обратно призывнику")
            sleep 1000
        }
        if Sex = Женский
        {
            sendChat("/me взяла медицинскую книжку, после чего раскрыла её")
            sleep 1000
            sendChat("/me изучила данные в мед. книжке")
            sleep 1000
            SendChat("/me взяла со стола повестку, затем осмотрела её")
            sleep 2000
            SendChat("/me вернула документы обратно призывнику")
            sleep 1000
        }
        sendChat("Хорошо. Теперь готовы пройти психологический тест и ответить на пару вопросов?")
        return
    }
    if (p1 == "годен")
    {
        if Sex = Мужской
        {
            SendChat("/me достал бланк призывника и ручку")
            sleep 500
            SendChat("/me заполняет первый бланк")
            sleep 1000
            SendChat("/me заполняет второй бланк")
            sleep 1000
            SendChat("/me заполняет третий бланк")
            sleep 1500
            SendChat("/me поставил в бланке печать ГОДЕН")
        }
        if Sex = Женский
        {
            SendChat("/me достала бланк призывника и ручку")
            sleep 500
            SendChat("/me заполняет первый бланк")
            sleep 1000
            SendChat("/me заполняет второй бланк")
            sleep 1000
            SendChat("/me заполняет третий бланк")
            sleep 1500
            SendChat("/me поставила в бланке печать ГОДЕН")
        }
        SendChat("/do Бланк призывника заполнен")
        sleep 1000
        if Frak = ВМФ
        {
            SendChat("Пройдем за мной, капитан 1 ранга/адмирал выдаст Вам форму.")
            return
        }
        else
        {
            SendChat("Пройдем за мной, полковник/генерал выдаст Вам форму.")
            return
        }
        return
    }
}
 

StenMarsh

Новичок
29
2
AutoHotKey:
dwAddress := dwSAMP + 0x12D8F8
chatInput := readString(hGTA, dwAddress, 256)
if chatInput contains /призыв
{
    RegExMatch(chatInput, "/призыв (.*)", p)
    else if (p1 == "")
    {
    AddChatMessageex("{BEBEBE}", "Используйте: /призыв  [привет | повестка | осмотр | годен | негоден]")
        Return
    }
    if (p1 == "негоден ЧС" or p1 == "негоден розыск" or p1 == "негоден законка" or p1 == "негоден бред" or p1 == "негоден ник" or p1 == "негоден лвл" or p1 == "негоден" or p1 == "негоден лица")
    {
        RegExMatch(chatInput, "/призыв негоден (.*)", d)
        else if (d1 == "")
        {
        AddChatMessageex("{BEBEBE}", "Используйте: /призыв негоден [ЧС | розыск | законка | бред | ник | лвл | лица]")
            return
        }
        else if (d1 == "ЧС")
        {
            SendChat("Вы не годны, так как вы находитесь в черном списке МО.")
            return
        }
        else if (d1 == "розыск")
       {
            if Sex = Мужской
            {
                SendChat("/me посмотрел ориентировки на стене")
                sleep 100
                SendChat("/me сравнил ориентировку с человеком напротив и выявил сходства")
            }
            if Sex = Женский
            {
                SendChat("/me посмотрела ориентировки на стене")
                sleep 100
                SendChat("/me сравнила ориентировку с человеком напротив и выявила сходства")
            }
            sleep 500
            SendChat("Вы находитесь в федеральном розыске.")
            Sleep 1000
            SendChat("Покиньте военкомат, иначе мне придется позвонить в полицию.")
            return
        }
        else if (d1 == "законка")
        {
            SendChat("Вы недостаточно законопослушны. Не годны.")
            Sleep 1000
            SendChat("/n Законка нужна для 3 лвл - +20 | для 5 лвл и выше - +30")
            return
        }
        else if (d1 == "бред")
        {
            SendChat("Вы не годны. Бредите.")
            sleep 1000
            SendChat("/n МГ соблюдайте")
            return
        }
        else if (d1 == "ник")
        {
            SendChat("У Вас опечатка в паспорте. Вы не годны.")
            sleep 1000
            SendChat("/n Поменяйте ник")
            return
        }
        else if (d1 == "лвл")
        {
            SendChat("Мало проживаете в штате. Не годны.")
            sleep 1000
            SendChat("/n 3 лвл минимум")
            return
        }
        else if (d1 == "лица")
        {
            SendChat("Вы не годны, так как у Вас нет комплекта лицензий")
            sleep 1000
            SendChat("/n У Вас нет лицензии на оружие или проф прав")
            return
        }
    }
    else if (p1 == "привет")
    {
        sleep 500
        sendChat("Здравия желаю. Я " nrang " " MyName " " Family ".")
        sleep 1000
        SendChat("Предъявите Ваш паспорт, лицензии и трудовую книгу.")
        return
    }
    else if (p1 == "повестка")
    {
        sendChat("Хорошо, теперь положите на стол Вашу мед. карту и повестку")
        return
    }
    else if (p1 == "осмотр")
    {
        if Sex = Мужской
        {
            sendChat("/me взял медицинскую книжку, после чего раскрыл её")
            sleep 1000
            sendChat("/me изучил данные в мед. книжке")
            sleep 1000
            SendChat("/me взял со стола повестку, затем осмотрел её")
            sleep 2000
            SendChat("/me вернул документы обратно призывнику")
            sleep 1000
        }
        if Sex = Женский
        {
            sendChat("/me взяла медицинскую книжку, после чего раскрыла её")
            sleep 1000
            sendChat("/me изучила данные в мед. книжке")
            sleep 1000
            SendChat("/me взяла со стола повестку, затем осмотрела её")
            sleep 2000
            SendChat("/me вернула документы обратно призывнику")
            sleep 1000
        }
        sendChat("Хорошо. Теперь готовы пройти психологический тест и ответить на пару вопросов?")
        return
    }
    else if (p1 == "годен")
    {
        if Sex = Мужской
        {
            SendChat("/me достал бланк призывника и ручку")
            sleep 500
            SendChat("/me заполняет первый бланк")
            sleep 1000
            SendChat("/me заполняет второй бланк")
            sleep 1000
            SendChat("/me заполняет третий бланк")
            sleep 1500
            SendChat("/me поставил в бланке печать ГОДЕН")
        }
        if Sex = Женский
        {
            SendChat("/me достала бланк призывника и ручку")
            sleep 500
            SendChat("/me заполняет первый бланк")
            sleep 1000
            SendChat("/me заполняет второй бланк")
            sleep 1000
            SendChat("/me заполняет третий бланк")
            sleep 1500
            SendChat("/me поставила в бланке печать ГОДЕН")
        }
        SendChat("/do Бланк призывника заполнен")
        sleep 1000
        else if Frak = ВМФ
        {
            SendChat("Пройдем за мной, капитан 1 ранга/адмирал выдаст Вам форму.")
            return
        }
        else
        {
            SendChat("Пройдем за мной, полковник/генерал выдаст Вам форму.")
            return
        }
        return
    }
}
 

dobro111

Новичок
29
2
Доброго времени суток, уважаемые юзеры.

В AHK не шарю вообще, кроме простого бинда кнопок.

В общем, как то можно сделать "упрощённую команду"?
Допустим на сервере есть админская команда /jail, все наверное понимают, работает она так - /jail [id игрока] [время(мин)] [причина], иной раз писать причину и минуты лень, хотел бы сделать что-то подобное. Допустим хочу посадить 188 ID за nonRP drive, и что-бы не писать /jail 188 60 nonRP drive. Можно ли как-то сделать команду в AHK, что-бы я писал /drive 188 и его сажало на 60 минут с причиной nonRP drive? И так допустим сделать несколько упрощённых команд?

Заранее спасибо, даже если это нельзя сделать.
 

Adam_Rockwell

Активный
143
25
Доброго времени суток, уважаемые юзеры.

В AHK не шарю вообще, кроме простого бинда кнопок.

В общем, как то можно сделать "упрощённую команду"?
Допустим на сервере есть админская команда /jail, все наверное понимают, работает она так - /jail [id игрока] [время(мин)] [причина], иной раз писать причину и минуты лень, хотел бы сделать что-то подобное. Допустим хочу посадить 188 ID за nonRP drive, и что-бы не писать /jail 188 60 nonRP drive. Можно ли как-то сделать команду в AHK, что-бы я писал /drive 188 и его сажало на 60 минут с причиной nonRP drive? И так допустим сделать несколько упрощённых команд?

Заранее спасибо, даже если это нельзя сделать.

Есть огромное множество вариантов упрощения твоей задачи. Но в них много писанины)
Самый простой, это зафигачить автозамены слов.

Например если хочешь сократить команду или дополнить её чем-то ещё.
Код:
:?:.ьт::/mn
:?:.ыефеы::/stats
:?:/nb::/number
:?:/f::/f LV |
:?:/fn::/f (( )){left 3}

Или сократить слово:
Код:
:?:ку::Добрый день
:?:спс::Благодарю
:?:/drive::/drive 60 NonRP drive{left 15}
 
Последнее редактирование:

dobro111

Новичок
29
2
Код:
:?:/drive::/drive 60 NonRP drive{left 15}
Поставил в AHK это, пишу /drive , нажимаю пробел, всё заменяет как надо, но только в строке пишет "??? ??", как я понимаю, это из-за того, что я поставил не nonRP drive, а русскими нонРП езда. Но некоторые причины нужно на русском мне. Как это исправить?
 

sswsx

Участник
65
6
Поставил в AHK это, пишу /drive , нажимаю пробел, всё заменяет как надо, но только в строке пишет "??? ??", как я понимаю, это из-за того, что я поставил не nonRP drive, а русскими нонРП езда. Но некоторые причины нужно на русском мне. Как это исправить?
Поставь кодировку windows 1251
 

Adam_Rockwell

Активный
143
25
Проблема, запускаю данный скрипт, в игре пишу /призыв.... и оно начинает флудить строчками в чат

dwAddress := dwSAMP + 0x12D8F8
chatInput := readString(hGTA, dwAddress, 256)
if chatInput contains /призыв
{
RegExMatch(chatInput, "/призыв (.*)", p)
if (p1 == "")
{
AddChatMessageex("{BEBEBE}", "Используйте: /призыв [привет | повестка | осмотр | годен | негоден]")
Return
}
if (p1 == "негоден ЧС" or p1 == "негоден розыск" or p1 == "негоден законка" or p1 == "негоден бред" or p1 == "негоден ник" or p1 == "негоден лвл" or p1 == "негоден" or p1 == "негоден лица")
{
RegExMatch(chatInput, "/призыв негоден (.*)", d)
if (d1 == "")
{
AddChatMessageex("{BEBEBE}", "Используйте: /призыв негоден [ЧС | розыск | законка | бред | ник | лвл | лица]")
return
}
if (d1 == "ЧС")
{
SendChat("Вы не годны, так как вы находитесь в черном списке МО.")
return
}
if (d1 == "розыск")
{
if Sex = Мужской
{
SendChat("/me посмотрел ориентировки на стене")
sleep 100
SendChat("/me сравнил ориентировку с человеком напротив и выявил сходства")
}
if Sex = Женский
{
SendChat("/me посмотрела ориентировки на стене")
sleep 100
SendChat("/me сравнила ориентировку с человеком напротив и выявила сходства")
}
sleep 500
SendChat("Вы находитесь в федеральном розыске.")
Sleep 1000
SendChat("Покиньте военкомат, иначе мне придется позвонить в полицию.")
return
}
if (d1 == "законка")
{
SendChat("Вы недостаточно законопослушны. Не годны.")
Sleep 1000
SendChat("/n Законка нужна для 3 лвл - +20 | для 5 лвл и выше - +30")
return
}
if (d1 == "бред")
{
SendChat("Вы не годны. Бредите.")
sleep 1000
SendChat("/n МГ соблюдайте")
return
}
if (d1 == "ник")
{
SendChat("У Вас опечатка в паспорте. Вы не годны.")
sleep 1000
SendChat("/n Поменяйте ник")
return
}
if (d1 == "лвл")
{
SendChat("Мало проживаете в штате. Не годны.")
sleep 1000
SendChat("/n 3 лвл минимум")
return
}
if (d1 == "лица")
{
SendChat("Вы не годны, так как у Вас нет комплекта лицензий")
sleep 1000
SendChat("/n У Вас нет лицензии на оружие или проф прав")
return
}
}
if (p1 == "привет")
{
sleep 500
sendChat("Здравия желаю. Я " nrang " " MyName " " Family ".")
sleep 1000
SendChat("Предъявите Ваш паспорт, лицензии и трудовую книгу.")
return
}
if (p1 == "повестка")
{
sendChat("Хорошо, теперь положите на стол Вашу мед. карту и повестку")
return
}
if (p1 == "осмотр")
{
if Sex = Мужской
{
sendChat("/me взял медицинскую книжку, после чего раскрыл её")
sleep 1000
sendChat("/me изучил данные в мед. книжке")
sleep 1000
SendChat("/me взял со стола повестку, затем осмотрел её")
sleep 2000
SendChat("/me вернул документы обратно призывнику")
sleep 1000
}
if Sex = Женский
{
sendChat("/me взяла медицинскую книжку, после чего раскрыла её")
sleep 1000
sendChat("/me изучила данные в мед. книжке")
sleep 1000
SendChat("/me взяла со стола повестку, затем осмотрела её")
sleep 2000
SendChat("/me вернула документы обратно призывнику")
sleep 1000
}
sendChat("Хорошо. Теперь готовы пройти психологический тест и ответить на пару вопросов?")
return
}
if (p1 == "годен")
{
if Sex = Мужской
{
SendChat("/me достал бланк призывника и ручку")
sleep 500
SendChat("/me заполняет первый бланк")
sleep 1000
SendChat("/me заполняет второй бланк")
sleep 1000
SendChat("/me заполняет третий бланк")
sleep 1500
SendChat("/me поставил в бланке печать ГОДЕН")
}
if Sex = Женский
{
SendChat("/me достала бланк призывника и ручку")
sleep 500
SendChat("/me заполняет первый бланк")
sleep 1000
SendChat("/me заполняет второй бланк")
sleep 1000
SendChat("/me заполняет третий бланк")
sleep 1500
SendChat("/me поставила в бланке печать ГОДЕН")
}
SendChat("/do Бланк призывника заполнен")
sleep 1000
if Frak = ВМФ
{
SendChat("Пройдем за мной, капитан 1 ранга/адмирал выдаст Вам форму.")
return
}
else
{
SendChat("Пройдем за мной, полковник/генерал выдаст Вам форму.")
return
}
return
}
}

Пиши лучше на диалогах, так намного изящней, и не надо все эти быдло-команды /набор и т.д запоминать.
Не пожалел, потратил минут 10 тебе на код :) По аналогии думаю разберёшься, как он устроен и добавишь свой текст, отыгровки и т.д
C++:
#SingleInstance Force
#Persistent
#Include udf.ahk
#IfWinActive GTA:SA:MP

if (getsexbyskin(getPlayerSkinId()) = 2)
{
   global RP1 := "а"
   global RP2 := "ась"
}
else
{
   global RP1 := ""
   global RP2 := "ся"
}
return

$~vkD::
{
   if (IsInChat() && !IsDialogOpen())
   {
      Sleep, 170
      dwAddress := dwSAMP + 0x12D8F8
      chatInput := readString(hGTA, dwAddress, 256)
      Sleep, 30
      if (RegExMatch(chatInput, "i)^\/sobes"))
      {
         if (RegExMatch(chatInput, "i)^\/sobes (\d{1,3})", var))
         {
            id := var1
            nick := RegExReplace(getPlayerNameById(id), "_", " ")
            goto, dialoge
         }
          else
              addchatmessageEx("AAAAAA" , "/sobes [id]")
      }
   }
}
Return

dialoge:
ShowDialog(2, "Призыв", "Начать призыв`nПопросить паспорт`nПроверки на MG`nОдобрить`nОтказать", "Ок")
Result := LineResultForScript()
if (!Result)
    return
goto, met%Result%
return

met1:
SendChat("Здарова! Ты кароч на призыве. Чё как сам?")
sleep 1000
addChatMessageEx("B8DBB8", "[F11]: {CCCCCC}Открыть диалог с возможными действиями.")
Keywait, F11 , D
goto, dialoge
return

met2:
SendChat("Кароч. Не будем тянуть кота. Давай сюда паспорт.")
sleep 1000
addChatMessageEx("B8DBB8", "[F11]: {CCCCCC}Открыть диалог с возможными действиями.")
Keywait, F11 , D
goto, dialoge
return

met3:
ShowDialog(2, "Проверки на MG", "Что такое скиллы?`n/n Покажите паспорт ещё раз", "Ок")
Result := LineResultForScript()
if (!Result)
    return
goto, Proverka%Result%
return

Proverka1:
SendChat("Что такое скиллы?")
sleep 1000
addChatMessageEx("B8DBB8", "[F11]: {CCCCCC}Открыть диалог с возможными действиями.")
Keywait, F11 , D
goto, dialoge
return

Proverka2:
SendChat("/n Покажите паспорт ещё раз")
sleep 1000
addChatMessageEx("B8DBB8", "[F11]: {CCCCCC}Открыть диалог с возможными действиями.")
Keywait, F11 , D
goto, dialoge
return

met4:
SendChat("Поздравляю " nick ". Ты нам подходишь!")
sleep 2000
SendChat("/me передал" RP1 " талон " nick)
sleep 1000
SendChat("/r [Призыв]: Жетон №" id " - подходит!")
return

met5:
SendChat("Извини братан, ты не годен.")
return

LineResultForScript()
{
    if (!isDialogOpen() || getDialogStyle() = 0 || getDialogStyle() = 1 || getDialogStyle() = 3)
        return false
    while (isDialogOpen())
        continue
    if (GetKeyState("Esc", "P"))
        return false
    return getDialogLineNumber()
}
 
Последнее редактирование:

dobro111

Новичок
29
2
Нужно переключить язык на русский. Загугли как это сделать, бо я не у компании сейчас .
Как я понял, вот так:
Код:
Numpad1::
{ SendMessage, 0x50,, 0x4190419,, A 
Тело скрипта 
return 
}

Это я понимаю для бинда клавиш, а как для автозамены сделать?)
 
  • Нравится
Реакции: Adam_Rockwell

Adam_Rockwell

Активный
143
25
Как я понял, вот так:
Код:
Numpad1::
{ SendMessage, 0x50,, 0x4190419,, A
Тело скрипта
return
}

Это я понимаю для бинда клавиш, а как для автозамены сделать?)

Вот надо тебе допустим написать
Код:
SendInput {F6}Привет!{enter}

А у тебя выдаёт вместо "Привет" - "??????".

В таком случае пишешь так:
Код:
SendMessage, 0x50,, 0x4190419,, A
SendInput {F6}Привет!{enter}
... и считай. что жизнь удалась!
 

Pakulichev

Software Developer & System Administrator
Друг
1,789
2,131
Как я понял, вот так:
Код:
Numpad1::
{ SendMessage, 0x50,, 0x4190419,, A
Тело скрипта
return
}

Это я понимаю для бинда клавиш, а как для автозамены сделать?)
Код:
$~Enter::
if (isInChat() && !isDialogOpen()) {
Sleep 200
chatInput:= readString(hGTA, dwSAMP + 0x12D8F8, 256)
if (RegExMatch(chatInput, "^\/jnrp\s(%d+)", value))
{
SendChat('/jail ' value1 ' 60 nonRP')
}
}
return
Не забудь подключить SAMP UDF.
Если что команда /jnrp, которая требует только ID.