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

Phoenixxx_CZAR

Известный
61
31
Букву одну пропустил, бывает)
AutoHotKey:
while(!isDialogOpen())   
   Continue
; Твой код
А теперь диалог по каким-то причинам не появился и весь скрипт ушел в цикл, браво!
Когда вы начнете нормально помогать, без своего быдло кода?
 

index

Известный
126
82
А теперь диалог по каким-то причинам не появился и весь скрипт ушел в цикл, браво!
Когда вы начнете нормально помогать, без своего быдло кода?
Видишь неверный код - лучше расскажи и покажи как лучше. Сказать "твой код говно" и повозмущаться каждый может, только это тут нафиг никому не сдалось.
 

darksoor

Известный
674
353
А теперь диалог по каким-то причинам не появился и весь скрипт ушел в цикл, браво!
Когда вы начнете нормально помогать, без своего быдло кода?
Лучше бы человеку помог.

Он просил помощи по этому вопросу:
Добрый вечер, мне нужна помощь с одним скриптом, который перед тем, как выбрать строку в окне, должен дождаться появления этого она, а то бывает задержка слишком маленькая и эмуляция нажатия клавиш проходит слишком рано.
И я ему помог по его вопросу. Где тут быдлокод?
 
Последнее редактирование:
  • Нравится
Реакции: Cucumber

TopMo3

Участник
121
7
Кто поможет? Как сделать так, чтобы чел стоял 10 мин в АФК, потом вышел на 3 секунды и опять пошёл 10 мин в АФК и так каждый, как это сделать?
 

#RCoffiano

Участник
19
2
Пацаны и Дэвушки,помогите мне нужен код типо я пишу
/r Здравия желаю пидарасы
а писалось
[A.D]:Здравия желаю пидарасы.
типо я пытался написать но получилось
Код:
$~vkD::
if (isInChat() && !isDialogOpen())
{
        if (RegExMatch(chatInput, "^\/r\s(.*)$", out))
        {
            Sendchat("/r [" tag "]: " out1)
            return
        }
        else if (RegExMatch(chatInput, "^\/f\s(.*)$", out))
        {
            Sendchat("/f [" army "]: " out1)
            return
        }
        else
        {
            if chatinput =
            {
                return
Но из-за моей косорукости он не работает,так что перепишите мне код))
 

vlaaDick228

Новичок
10
0
Привет.

Вопрос по RegExMatch..

Есть строка: 58 чит
Так же и аналог такой строки: чит 58

Нужно , дабы в переменные записались значения: "58" в var и "чит" в string

Необходимо одно решение к обоим вариантам чтобы подходило.

Буду благодарен :3
 

Nick Bianchi

Новичок
10
0
Привет.

Вопрос по RegExMatch..

Есть строка: 58 чит
Так же и аналог такой строки: чит 58

Нужно , дабы в переменные записались значения: "58" в var и "чит" в string

Необходимо одно решение к обоим вариантам чтобы подходило.

Буду благодарен :3
Сделаю тебе, напиши в лс
 

#RCoffiano

Участник
19
2
Здравствуйте, пользователи форума. В некоторых AHK скриптах видел активацию скрипта вводом команды в чат (SAMP).
Я знаю, что можно сделать так
Код:
:?:/privet:: SendInput {F6}Привет{Enter}
Но в данном случае скрипт активируется только тогда, когда команда была вручную введена в чат, а также к активации может привести нажатие пробела. Меня интересует, как сделать активацию командой таким образом, что бы скрипт активировался только по нажатию Enter и его можно было ввести как вручную так и автоматически. Подскажите пожалуйста.
работало
 
Последнее редактирование:

Nick Bianchi

Новичок
10
0
Здравствуйте, пользователи форума. В некоторых AHK скриптах видел активацию скрипта вводом команды в чат (SAMP).
Я знаю, что можно сделать так
Код:
:?:/privet:: SendInput {F6}Привет{Enter}
Но в данном случае скрипт активируется только тогда, когда команда была вручную введена в чат, а также к активации может привести нажатие пробела. Меня интересует, как сделать активацию командой таким образом, что бы скрипт активировался только по нажатию Enter и его можно было ввести как вручную так и автоматически. Подскажите пожалуйста.
работало
vk.com/mykolay_ned - пиши в вк, помогу, это нужно делать через командный процесор, регистрировать команду.
 

Nafa

Новичок
1
0
Я не спец в AHK,но навыки базы программирования имеются,хочу перейти на написание AHK,как минимум этот язык написан на плюсах (на плюсах могу что-то написать)...Мне нужна помощь,к сути дела,мне нужен код который будет юзать команду /pay.Принцип работы(напишите мне хотя бы какой-то шаблон,в дальнейшем попробую сам написать):
Игрок вводит команду /gpay,после чего открывается диалоговое окно с 1-ой строчкой: "Введите количество денег которое вы хотите передать(мин.1$,макс.5.000$):",ниже идёт ввод с клавиатуры(обязательно чтобы читал цифры,прочие символы/буквы - ошибка в чат+релог диал.окна и игрок заново должен написать)...После удачного завершения 1-ого этапа диалог.окна,идёт следующий - "Введите количество раз,сколько раз Вы хотите передать денег(мин.1,макс.100):",ниже идёт ввод с клавы,так же опять проверка на символы/буквы...После чего идёт 3-ий этап - окно в котором есть пункт "Наведите на игрока,которому хотите передать денег",после чего игрок нажимает на этот пункт и открывается новое окно c никами игроков по порядку+ в скобках будет указан ID,допустим:
"1. Mickey_Ward (ID 0)"
"2. Nikolay_Petrov (ID 1)"
После чего игрок нажимает на пункт,и идёт запуск команды /pay *ID* *Кол-во денег*
 

Black King

Новичок
8
0
Здравствуйте, подскажите как создать диалоговое окно с стилем #2 и чтобы при нажатии кнопки например "Сделать скриншот" выполнялось действие в моём случае отправка текста в чат.
 

Cucumber

Участник
40
21
Здравствуйте, подскажите как создать диалоговое окно с стилем #2 и чтобы при нажатии кнопки например "Сделать скриншот" выполнялось действие в моём случае отправка текста в чат.

C++:
showDialog("2", "{ffc801}Название", "{FFFFFF}Сделать доклад`nСделать скриншот`nОтыграть РП", "Выполнить")
Sleep 200
AntiCrash()
Loop
{
    if ((isDialogOpen()))
    {
        tg:
        if ((GetKeyState("Enter", "P")) or (isDialogButtonSelected(1) = true and GetKeyState("LButton", "P")) or (GetKeyState("LButton", "P")))
        {
            if (isDialogOpen())
                goto, tg
            Sleep 100
            tnumber := getDialogIndex()
            if (tnumber = 1)
                Addchatmessage("/r Докладывает вася пупкин")
            if (tnumber = 2)
            {
                SendChat("/r Пост. КПП. Состояние спокойное.")
                SendInput {F8}
            }
            if (tnumber = 3)
                Addchatmessage("RP")
            Return
        }
        if (GetKeyState("ESC", "P"))
        {
            Addchatmessage("Вы отменили действие")
            Return
        }
    }
    else
        Return
}

И SAMP UDF не забудь подключить в начале скрипта.
 
Последнее редактирование:

Cucumber

Участник
40
21
Привет.

Вопрос по RegExMatch..

Есть строка: 58 чит
Так же и аналог такой строки: чит 58

Нужно , дабы в переменные записались значения: "58" в var и "чит" в string

Необходимо одно решение к обоим вариантам чтобы подходило.

Буду благодарен :3

C++:
string := "58 Чит (аим)"
RegExMatch(string, "(\d+)", num)
RegExMatch(string, "([a-zA-Zа-яА-Я ()]+)", word)
Msgbox, % num1 ; Выведет - 58
Msgbox, % word1 ; Выведет - Чит (аим)

Пацаны и Дэвушки,помогите мне нужен код типо я пишу
/r Здравия желаю пидарасы
а писалось
[A.D]:Здравия желаю пидарасы.
типо я пытался написать но получилось
Код:
$~vkD::
if (isInChat() && !isDialogOpen())
{
        if (RegExMatch(chatInput, "^\/r\s(.*)$", out))
        {
            Sendchat("/r [" tag "]: " out1)
            return
        }
        else if (RegExMatch(chatInput, "^\/f\s(.*)$", out))
        {
            Sendchat("/f [" army "]: " out1)
            return
        }
        else
        {
            if chatinput =
            {
                return
Но из-за моей косорукости он не работает,так что перепишите мне код))

C++:
tag := "[PA]" ; Твой тег в рации

~*Enter::
BlockChatInput()
if (isInChat() && !isDialogOpen())
{
    sleep 300
    dwAddress := dwSAMP + 0x12D8F8
    chatInput := readString(hGTA, dwAddress, 256)
    unBlockChatInput()
    if (RegExMatch(chatInput, "/(r|f) (.*)", ptext))
        SendChat("/" ptext1 " " Tag " "ptext2)
    else if(chatInput != "")
        SendChat(chatInput)
}
Return
 
Последнее редактирование:

Phoenixxx_CZAR

Известный
61
31
C++:
showDialog("2", "{ffc801}Название", "{FFFFFF}Сделать доклад`nСделать скриншот`nОтыграть РП", "Выполнить")
Sleep 200
AntiCrash()
Loop
{
    if ((isDialogOpen()))
    {
        tg:
        if ((GetKeyState("Enter", "P")) or (isDialogButtonSelected(1) = true and GetKeyState("LButton", "P")) or (GetKeyState("LButton", "P")))
        {
            if (isDialogOpen())
                goto, tg
            Sleep 100
            tnumber := getDialogIndex()
            if (tnumber = 1)
                Addchatmessage("/r Докладывает вася пупкин")
            if (tnumber = 2)
            {
                SendChat("/r Пост. КПП. Состояние спокойное.")
                SendInput {F8}
            }
            if (tnumber = 3)
                Addchatmessage("RP")
            Return
        }
        if (GetKeyState("ESC", "P"))
        {
            Addchatmessage("Вы отменили действие")
            Return
        }
    }
    else
        Return
}

И SAMP UDF не забудь подключить в начале скрипта.
Зачем же вы цифры в кавычки то берете? -_-..
Что за тупое считывание выбора в диалоге? Зачем этот вечный цикл?
if ((isDialogOpen())) Зачем столько скобок?