Скрипт AHK

Статус
В этой теме нельзя размещать новые ответы.

loklok33

Новичок
Автор темы
4
0
Нужен скрипт в AHK, чтобы выдавал диалоговое окно-список в сампе. При выборе какой-нибудь строчки из этого списка в чат печаталась соответствующая информация. Как вывести такой список я понял, а как закрепить за каждой строчкой конкретное действие не понял. Помогите
 

ufdhbi

Известный
Проверенный
1,460
866
Нужен скрипт в AHK, чтобы выдавал диалоговое окно-список в сампе. При выборе какой-нибудь строчки из этого списка в чат печаталась соответствующая информация. Как вывести такой список я понял, а как закрепить за каждой строчкой конкретное действие не понял. Помогите
в ахк пока не сделали возможности вернуть выбранную строчку в диалоге, делай на lua, пример в лс могу кинуть
 

loklok33

Новичок
Автор темы
4
0
Я не знаю ни что такое луа, ни как им пользоваться. Поэтому не хочу его использовать
 

IceBurn

Известный
10
1
Не это?
C++:
#Include SAMP.ahk
NumPad5::
ShowDialog("2", "1", "2`n 2", "Выбрать", "Закрыть")
Return
Вот это я смог написать. Но теперь как сделать так, чтобы при выборе первой строчки "2" появлялся один текст, а при выборе второй строчки "2" другой?
 

ufdhbi

Известный
Проверенный
1,460
866
Вот это я смог написать. Но теперь как сделать так, чтобы при выборе первой строчки "2" появлялся один текст, а при выборе второй строчки "2" другой?
да говорю каллбэки диалоги в ахк не дают, ты никак не вытащишь инфу о выбранной строчке, но сейчас подумаю как сделать
 

ufdhbi

Известный
Проверенный
1,460
866
нашел код, но выбор не мышкой, а только через стрелки на клаве.
код с описанием:
Код:
b:=9 ; кол-во строк в меню
~F6::
menu:=0 ; если открыли чат то выключаем меню
return

F3:: ; вызов самого фейкового меню
a:=1 ; как и говорилось переменная получающая выбранную строку (1 т.к в меню активная строка начинается с первой)
menu:=1 ; Меню активно
ShowDialog("2", "Диалог", "Первая строка`nВторая строка`nТретья строка`nЧетвертая строка`nПятая строка`nШестая строка`nСедьмая строка`nВосьмая строка`nДевятая строка","Отмена") ; сам диалог
return

~UP:: ; при нажатии на кнопку вверх
if a>1 ; если активная строка не первая
{
a:=a-1 ; поднимаем значение активной строки на 1 пункт вверх
}
return ; ретерним
~Down:: ; при нажатии на кнопку вниз
if a<b ; если активная строка не последняя
{
a:=a+1 ; опускаем активную строку на 1 пункт вниз
}
return ; ретерним

~Enter:: ; при нажатии на Entrer
if (menu==1) { ; если меню активно

punk:="label"+a ; получение имени метки выбранного пункта в переменную
Gosub, %punk% ; переходит на мету выбранного пункта
menu:=0 ; деактивирует меню
}
return ; ретерним

label1:
return

label2:
return

label3:
return

label4:
return

label5:
return

label6:
return

label7:
return

label8:
return

label9:
return
 
Статус
В этой теме нельзя размещать новые ответы.