Всем привет! И это мой второй мини-урок и уже он будет расчитан на тех кто пользуется SAMP UDF и соответственно хочет сложить некоторый функционал в строки меню.
Сперва поговорим о логике кода который будет далее:
Задача кода должна быть следующей: при выводе меню при перемещении активной строки вверх и вниз мы будем выбирать нужный нам функционал меню и соответственно после выводить именно то, что мы выбрали и нажали {enter}
Теперь собственно сам код с описанием:
Код
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
С самими метками поступайте абсолютно так же как и с назначенными кнопками, весь функционал до return вашем распоряжении 0:)
И помните, код интересней чем чем вам кажется! Универсальный Brain Macros для MMORPG - https://cheat-master.ru/forum/80-768122-1
Выбрать пункт можно и с помощью LButton.. Так что либо заблокируй нажатие, либо нужно делать все через память. AutoReporter / http://cheat-master.ru/forum/150-486717-1 Finder / http://cheat-master.ru/forum/160-497245-1 DLQ Binder / http://cheat-master.ru/forum/150-594163-1
У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ
Когда часто использую скрипт с диалогами, то меня крашит. Подскажите, в чём дело? Я один такой?)
Нет, не один ) частенько тоже крашило. Но я привык их использовать не так часто как раньше Универсальный Brain Macros для MMORPG - https://cheat-master.ru/forum/80-768122-1
Как нибудь можно сделать, чтобы нажать на одну из клавиш в меню и открылась другая менюшка с другим текстом?)
При нажатии на кнопку сделай переменную которая будет отвечать за диалгги (0 - главное меню, 1 - первое подменю, 2 - второе подменю и т.д), и во всех функциях сделай проверку то меню которое нужно открыть
Как сделать , чтобы в label1 был еще 1 диалог , и там были пару пунктов которые работают , делал , диалог был , но дальше как это делать - я без понятия
Bogdan_Brody, нужно делать идентификатор по которому определяет какой диалог открывать и с какого диалога получать выбранную строку Помогаю новичкам! По всем вопросам в ЛС!
У меня когда много раз стрелку вниз нажимаешь (раз 20) он идёт к label20, хотя такого нет и b=9 , к примеру, нужно добавить if (a>b) { a:=b } . -------------------------- Advance RP Chocolade,Purlpe. Ставьте + плиз. Мои темы: http://cheat-master.ru/forum/150-643136-1 - MVD v3. http://cheat-master.ru/forum/150-657057-1 - auto leet http://cheat-master.ru/forum/150-648405-1 - Создать любую шпору.
Дата: Воскресенье, 09.10.2016, 22:53 | Сообщение # 15
В рядах СМ.
Сообщений: 321
Статус: Offline
theride228, тогда просто нужно инициализировать каждое меню и для каждого меню при нажатии на Enter выбирать пункт уже строго по активному идентификатору меню Помогаю новичкам! По всем вопросам в ЛС!