Приветствую всех пользователей форума cheat-master.ru! В этой теме я бы хотел выложить код, созданный мною, но с помощью пользователя McFree_. McFree описывал в своем уроке, как можно сделать проверку на нажатие клавиш в диалоге с ID 2. Быть может код не идеален, но тем не менее за всю историю его существования [больше недели] он дал осечку всего лишь один раз,и то по вине самого же меня. Пример возьму из созданным мною скриптом "Mass Media Helper!", который гуляет по просторам D-RP. Для создания кода нам протребуется SAMP UDF, скачать можно тут - http://cheat-master.ru/forum/149-619860-1. Собственно сам код:
Код
i := 1 allstr := 1 ; общее количество строк G_Menu := 0 S_Menu := 0 Y_Menu := 0 A_Menu := 0 !1:: ; Наша кнопка активации { G_Menu := 0 S_Menu := 0 i := 1 allstr := 1 ;Для безопасности обнулим все переменные Sleep, 300 ; Делаем задержку для красотени BlockInput, MouseMove ; Блокируем мышку ShowDialog("2", "{FF8000}[AHK] {BDBDBD}Mass Media Helper! by Julian Porello", "{FF8000}[1] {BDBDBD}Показать ПРО`n{FF8000}[2] {BDBDBD}Показать время`n{FF8000}[3] {BDBDBD}Показать устав", "Окей", "Закрыть", "0") allstr := 3 ; указываем общее количество строк в главном меню i := 1 G_Menu := 1 } return
~Up:: if (G_Menu = 1 || S_Menu = 1) { if (i > 1) { ;Если наша переменная больше 1 i-- ;уменьшаем ее на 1 } } return
~Down:: if (G_Menu = 1 || S_Menu = 1) { if (i < allstr) { ;Если наша переменная меньше кол-ва всех строк i++ } } return
~Enter:: BlockInput, MouseMoveOff { if (G_Menu = 1) { if (getDialogLine(i) = "{FF8000}[1] {BDBDBD}Показать ПРО") { G_Menu := 0 i := 1 allstr := 1 Sleep, 300 ShowDialog("0", "{FF8000}[AHK] {BDBDBD}Mass Media Helper! by Julian Porello", "{FF8000}[1] {BDBDBD}Показать первую главу`n{FF8000}[2] {BDBDBD}Показать вторую главу`n{FF8000}[3] {BDBDBD}Показать третью главу","Закрыть", "", "1") S_Menu := 1 } else if (getDialogLine(i) = "{FF8000}[2] {BDBDBD}Показать время") { G_Menu := 0 i := 1 allstr := 1 Sleep, 300 ShowDialog("0","{FF8000}[AHK] {BDBDBD}Mass Media Helper! by Julian Porello", "{BDBDBD}Точное время: " A_Hour ":" A_Min ":" A_Sec "", "Закрыть, "", "2") } else if (getDialogLine(i) = "{FF8000}[3] {BDBDBD}Показать устав") { G_Menu := 0 i := 1 allstr := 1 Sleep, 300 ShowDialog("0", "{FF8000}[AHK] {BDBDBD}Mass Media Helper! by Julian Porello", "Тестик", "Закрыть", "", "3") } } else if (S_Menu = 1) { if (getDialogLine(i) = "{FF8000}[1] {BDBDBD}Показать первую главу") { S_Menu := 0 i := 1 allstr := 1 Sleep, 300 addChatMessageEx(0xBDBDBD,"{FF8000}[AHK] {BDBDBD}Первая глава") } else if (getDialogLine(i) = "{FF8000}[2] {BDBDBD}Показать вторую главу") { S_Menu := 0 i := 1 allstr := 1 Sleep, 300 addChatMessageEx(0xBDBDBD,"{FF8000}[AHK] {BDBDBD}Вторая глава") } else if (getDialogLine(i) = "{FF8000}[3] {BDBDBD}Показать третью главу") { S_Menu := 0 i := 1 allstr := 1 addChatMessageEx(0xBDBDBD,"{FF8000}[AHK] {BDBDBD}Третья глава") } } } return
Зачем вся эта фигня? Можно все осуществить используя функции UDF R15.. Универсальность := 0 Заливай на dumpz дабы сохранить табуляцию. 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
У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ