1 (изменено: Akio Mori, 2016-11-24 18:46:55)

Тема: AHK: Как создать свое меню в SA:MP ?

Добрый день! Подскажите кто знает. Как создать меню похожее на обычное [ /mn ] в SA:MP.
К примеру
Нажимаешь F5 , появляется меню с выбором : Гос новости , ниже уволить игрока , ниже принять .
И далее когда выбираешь какой либо раздел появляется еще меню куда надо вводить к примеру текст для гос.волны 3 Строки будет , или же вводить ид игрока для принятие , вначале идет отыгровка RolePlay , а потом уже и /invte [ id ]
Если выбрать увольнения , то будет такой текст : Введите id игрока и через пробел причину увольнения .
Если поможете буду благодарен .

2

Re: AHK: Как создать свое меню в SA:MP ?

Akio Mori, не создавайте темы по играм в ветке AHK.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Как создать свое меню в SA:MP ?

Akio Mori Приветствую. AHK не умеет создавать диалоги. Вы можете подключить SAMP UDF (SAMP.ahk), в нем кажется есть функция ShowDialog

4 (изменено: mr.ramser, 2016-12-15 13:49:34)

Re: AHK: Как создать свое меню в SA:MP ?

Empire пишет:

Akio Mori Приветствую. AHK не умеет создавать диалоги. Вы можете подключить SAMP UDF (SAMP.ahk), в нем кажется есть функция ShowDialog

Да в САМП ЮДФ есть такая функция но она создаёт Фейк диалог и вывести из него какую либо переменную невозможно будет.

5

Re: AHK: Как создать свое меню в SA:MP ?

Тоже делаю такой. Посмотри что получилось. Как выйдет скину код.

^1::
    showDialog("2", "Меню", "Наказания`nОтыгровка`nFunktion3", "Ок", "Отмена")
return
#If isDialogOpen() && WinActive("GTA:SA:MP")
$Enter::
    OnDialogResponse(true)
return
ESC::
    OnDialogResponse(false)
return
#If
OnDialogResponse(response) {
    caption := getDialogCaption()
    if (response) {
  if (caption == "Меню") {
   line := getDialogLine(getDialogIndex())
   if (line == "Наказания") {
    showDialog("2", "Под список", "Заглушки`nНаказания кпз`nРелоги", "Ок", "Отмена")
   }
   else if (line == "Отыгровка") 
   {
    showDialog("1", "/я текст", "Введите отыгровку", "Ок", "Отмена")
    input, text, V, {Enter} 
    SendChat("/я " text)
   }
   return
  }
  else if (caption == "Под список") {
   line := getDialogLine(getDialogIndex())
   AddChatMessage(line)
   Send, {Enter}
  }
  else if (caption == "Keybinder - Funktion2") {
   clipboardBuffer := ClipboardAll
   clipboard := ""
   Send, ^{A}
   Send, ^{X}
   sleep, 100
   dialogInput := clipboard
   clipboard := clipboardBuffer
   if (dialogInput != -1 && dialogInput != "") {
    AddChatMessage("Dialog Input: " dialogInput)
   }
   Send, {Enter}
  }
  else
   Send, {Enter}
    }
    else {
  if (caption == "Под список") 
  {
   showDialog("2", "Меню", "Наказания`nОтыгровка`nFunktion3", "Ок", "Отмена")
  }
  else
   Send, {ESC}
    }
    return
}

Не забудь что нужен UDF.

6 (изменено: belyankin12, 2016-12-21 20:03:30)

Re: AHK: Как создать свое меню в SA:MP ?

Нужен SAMP-UDF. Готовый код:

F5::
Showdialog("1", "{FFFAFA}Выберите пункт", "{FFFAFA}[1] - Гос. новости`n[2] - Пригласить игрока`n[3] - Уволить игрока", "Ok")
input, text, V, {Enter}
Keywait, Enter, D
sleep 300

if (text = 1) {
sendchanmessage("/gov текст введешь сам")
sleep 1100
sendchanmessage("/gov текст введешь сам")
sleep 1100
sendchanmessage("/gov текст введешь сам")
} else if (text = 2) {
sendchanmessage("/gov РП отыгровка принятия (1-я строчка)")
sleep 1100
sendchanmessage("/gov РП отыгровка принятия (2-я строчка)")
sleep 1100
sendinput {F6}/invite{Space}
} else if (text = 3) {
sendinput {F6}/uninvite{Space}
} else { 
addMessageToChatWindow("[AHK]: Ошибка. Выберите пункт с помощью цифр 1-3"
}
return

Вот простейший код без всяких красивостей (типо ввод причины и ID в диалоговое окно: зачем это делать если можно прямо в строчку чата вводить. Диалоговое окно красивое, но оно нестабильное и иногда вызывает краши, лучше избегать лишнее использование его), некоторые строчки измени под себя.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

7

Re: AHK: Как создать свое меню в SA:MP ?

Скачай Player Helper от murKotik. По мне хорошую вещь для игроков сделал. Насколько я знаю, основное направление - SAMP-RP. Там есть и меню, и всё насвете.

8

Re: AHK: Как создать свое меню в SA:MP ?

slavafedora

Точь в точь написал , как у тебя код , захожу в игру , нажимаю F5 не работает ( Поменял на свою клавишу ).

9

Re: AHK: Как создать свое меню в SA:MP ?

mr.ramser, не совсем верно. Само окно, да, фэйковое. Но вывести из него переменные можно с помощью input: посмотрите пример моего кода выше.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.