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

Cucumber

Участник
40
21
Зачем же вы цифры в кавычки то берете? -_-..
Что за тупое считывание выбора в диалоге? Зачем этот вечный цикл?
if ((isDialogOpen())) Зачем столько скобок?
Очень много примеров перепробовал с выбором строки в диалоге, и в вечном цикле этот вариант с меньшим количеством ложных срабатываний.
Даже если вашим кодом пользоваться который для диалогов, то в нем 1/3 нажатий - не считывается.
По поводу лишних скобок в isDialogOpen() - да накосячил, но они большого значения в работе программы не играют. От этих лишних символов вес файла будет чуть больше, но я сомневаюсь, что на данном этапе это так важно.
 
  • Нравится
Реакции: Andy Safino

Black King

Новичок
8
0
Дайте ссылку на новый samp udf, у меня старый, на нем ничего не работает, заранее спасибо.
 

Black King

Новичок
8
0
Как сделать так чтобы текст сразу писался в чат, а то у меня открывается чат и я вижу как там печатается текст
 

Phoenixxx_CZAR

Известный
61
31
Как сделать так чтобы текст сразу писался в чат, а то у меня открывается чат и я вижу как там печатается текст
Используй удф и функцию SendChat, например - SendChat("Еху!! Мой первый опыт!").

Очень много примеров перепробовал с выбором строки в диалоге, и в вечном цикле этот вариант с меньшим количеством ложных срабатываний.
Даже если вашим кодом пользоваться который для диалогов, то в нем 1/3 нажатий - не считывается.
По поводу лишних скобок в isDialogOpen() - да накосячил, но они большого значения в работе программы не играют. От этих лишних символов вес файла будет чуть больше, но я сомневаюсь, что на данном этапе это так важно.
Тут главная проблема в isDialogButtonSelected, она не у всех работает и у меня в том числе.
 

Black King

Новичок
8
0
У меня глупый вопрос, если на оф.сайте сампа есть версия 0.3.7 R3, можно как-то скачать 1.3.7 R1 или R2? А то самп удф только для R2 или R1
 

Black King

Новичок
8
0
Мне нужно добавить еще 3 пункта в диалог и чтобы при нажатии выполнялось действие

[/code]
:?:/start::
addChatMessage("{FA5858}[MZ Helper]{FFFEFE} - Приветствую, вы успешно запустили скрипт! Автор: {58ACFA}") ;
Sleep 200
addChatMessage("{FA5858}[MZ Helper]{FFFEFE} - Чтобы открыть меню введите /hmenu") ;
Return
:?:/hmenu::
showDialog("2", "{ffc801}MZ Helper", "{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)
{
SendMessage, 0x50,, 0x4190419,, A
SendInput, {F6}Получая высокое звание врача и приступая к профессиональной деятельности, я торжественно клянусь:{Enter}
Sleep 1000
SendInput, {F6}Честно исполнять свой врачебный долг, посвятить свои знания и умения предупреждению и лечению заболеваний...{Enter}
Sleep 1000
SendInput, {F6}...сохранению и укреплению здоровья человека...{Enter}
Sleep 1000
SendInput, {F6}Быть всегда готовым оказать медицинскую помощь, хранить врачебную тайну, внимательно относиться к пациенту...{Enter}
Sleep 1000
SendInput, {F6}...действовать в его интересах независимо от пола, расы, национальности, языка, происхождения, имущественного...{Enter}
Sleep 1000
SendInput, {F6}...и должностного положения, места жительства, принадлежности к общественным объединениям...{Enter}
Sleep 1000
SendInput, {F6}...а также других обстоятельств.{Enter}
Sleep 1000
SendInput, {F6}Обращаться к коллегам за помощью и советом, если этого требуют интересы пациента...{Enter}
Sleep 1000
SendInput, {F6}...и самому никогда не отказывать коллегам в помощи и совете...{Enter}
Sleep 1000
SendInput, {F6}Постоянно совершенствовать свое профессиональное мастерство, беречь и развивать благородные традиции медицины.{Enter}
Return
}
if (tnumber = 2)
{
SendMessage, 0x50,, 0x4190419,, A
SendInput, {F6}Сейчас я дам Вам лекарство, после него Вам станет лучше.{Enter}
Sleep 1000
SendInput, {F6}/do на плече мед.сумка{Enter}
Sleep 1000
SendInput, {F6}/me снял сумку с плеча{Enter}
Sleep 1000
SendInput, {F6}/me достал из сумки нужные препараты{Enter}
Sleep 1000
SendInput, {F6}/me передал препараты человеку на против{Enter}
Sleep 1000
SendInput, {F6}Удачного дня, не болейте.{Enter}
Sleep 1000
addChatMessage("{FA5858}[Подсказка]{FFFEFE} - Используйте /heal [id] [Цена] для того чтобы вылечить пациента") ;
Return
}
if (tnumber = 3)
SendMessage, 0x50,, 0x4190419,, A
SendInput, {F6}/do мед.сумка на плече.{Enter}
Sleep 1000
SendInput, {F6}/me достал(a) новый шприц и ампулу с лекарством{Enter}
Sleep 1000
SendInput, {F6}/do шприц с ампулой в руке{Enter}
Sleep 1000
SendInput, {F6}/me достал(a) спирт и ватку{Enter}
Sleep 1000
SendInput, {F6}/me намочил(a) ватку спиртом{Enter}
Sleep 1000
SendInput, {F6}/me протер(лa) ваткой место укола{Enter}
Sleep 1000
SendInput, {F6}/me разбил(a) ампулу с лекарством{Enter}
Sleep 1000
SendInput, {F6}/me набрал(a) лекарство в шприц{Enter}
Sleep 1000
SendInput, {F6}Закотите рукав и протяните руку, пожалуйста.{Enter}
Sleep 1000
SendInput, {F6}/me вколол(a) лекарство пациенту{Enter}
Sleep 1000
SendInput, {F6}/me выбросил(a) шприц в мусорку{Enter}
Sleep 1000
SendInput, {F6}/me передал(a) ватку пациенту{Enter}
Sleep 1000
SendInput, {F6}Удачного дня, не болейте.{Enter}
Return
}
if (GetKeyState("ESC", "P"))
{
Addchatmessage("Вы отменили действие")
Return
}
}
else
Return
}
[/code]
 
Последнее редактирование:

Phoenixxx_CZAR

Известный
61
31
Мне нужно добавить еще 3 пункта в диалог и чтобы при нажатии выполнялось действие

[/code]
:?:/start::
addChatMessage("{FA5858}[MZ Helper]{FFFEFE} - Приветствую, вы успешно запустили скрипт! Автор: {58ACFA}") ;
Sleep 200
addChatMessage("{FA5858}[MZ Helper]{FFFEFE} - Чтобы открыть меню введите /hmenu") ;
Return
:?:/hmenu::
showDialog("2", "{ffc801}MZ Helper", "{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)
{
SendMessage, 0x50,, 0x4190419,, A
SendInput, {F6}Получая высокое звание врача и приступая к профессиональной деятельности, я торжественно клянусь:{Enter}
Sleep 1000
SendInput, {F6}Честно исполнять свой врачебный долг, посвятить свои знания и умения предупреждению и лечению заболеваний...{Enter}
Sleep 1000
SendInput, {F6}...сохранению и укреплению здоровья человека...{Enter}
Sleep 1000
SendInput, {F6}Быть всегда готовым оказать медицинскую помощь, хранить врачебную тайну, внимательно относиться к пациенту...{Enter}
Sleep 1000
SendInput, {F6}...действовать в его интересах независимо от пола, расы, национальности, языка, происхождения, имущественного...{Enter}
Sleep 1000
SendInput, {F6}...и должностного положения, места жительства, принадлежности к общественным объединениям...{Enter}
Sleep 1000
SendInput, {F6}...а также других обстоятельств.{Enter}
Sleep 1000
SendInput, {F6}Обращаться к коллегам за помощью и советом, если этого требуют интересы пациента...{Enter}
Sleep 1000
SendInput, {F6}...и самому никогда не отказывать коллегам в помощи и совете...{Enter}
Sleep 1000
SendInput, {F6}Постоянно совершенствовать свое профессиональное мастерство, беречь и развивать благородные традиции медицины.{Enter}
Return
}
if (tnumber = 2)
{
SendMessage, 0x50,, 0x4190419,, A
SendInput, {F6}Сейчас я дам Вам лекарство, после него Вам станет лучше.{Enter}
Sleep 1000
SendInput, {F6}/do на плече мед.сумка{Enter}
Sleep 1000
SendInput, {F6}/me снял сумку с плеча{Enter}
Sleep 1000
SendInput, {F6}/me достал из сумки нужные препараты{Enter}
Sleep 1000
SendInput, {F6}/me передал препараты человеку на против{Enter}
Sleep 1000
SendInput, {F6}Удачного дня, не болейте.{Enter}
Sleep 1000
addChatMessage("{FA5858}[Подсказка]{FFFEFE} - Используйте /heal [id] [Цена] для того чтобы вылечить пациента") ;
Return
}
if (tnumber = 3)
SendMessage, 0x50,, 0x4190419,, A
SendInput, {F6}/do мед.сумка на плече.{Enter}
Sleep 1000
SendInput, {F6}/me достал(a) новый шприц и ампулу с лекарством{Enter}
Sleep 1000
SendInput, {F6}/do шприц с ампулой в руке{Enter}
Sleep 1000
SendInput, {F6}/me достал(a) спирт и ватку{Enter}
Sleep 1000
SendInput, {F6}/me намочил(a) ватку спиртом{Enter}
Sleep 1000
SendInput, {F6}/me протер(лa) ваткой место укола{Enter}
Sleep 1000
SendInput, {F6}/me разбил(a) ампулу с лекарством{Enter}
Sleep 1000
SendInput, {F6}/me набрал(a) лекарство в шприц{Enter}
Sleep 1000
SendInput, {F6}Закотите рукав и протяните руку, пожалуйста.{Enter}
Sleep 1000
SendInput, {F6}/me вколол(a) лекарство пациенту{Enter}
Sleep 1000
SendInput, {F6}/me выбросил(a) шприц в мусорку{Enter}
Sleep 1000
SendInput, {F6}/me передал(a) ватку пациенту{Enter}
Sleep 1000
SendInput, {F6}Удачного дня, не болейте.{Enter}
Return
}
if (GetKeyState("ESC", "P"))
{
Addchatmessage("Вы отменили действие")
Return
}
}
else
Return
}
[/code]
Когда научитесь код в code брать?
 

Black King

Новичок
8
0
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 не забудь подключить в начале скрипта.
Мне нужно еще 4: Вылечить пациента, операция, вакцинация, печать, и так же чтобы при нажатии выполнялось действие в моем случаи текст в чат

Когда научитесь код в code брать?
Я умею, случайно вышло
 

Charls

Новичок
7
0
Можете помочь?
Нужен скрипт, что бы при payday нажимались определённые кнопки
Буду очень благодарен