сразу приведу пример
допустим нам нужно чтобы по команде /dh
вызывалось меню с 6 пунктами
в public OnPlayerCommandText(playerid,cmdtext[])
пихаем
Code
if(strcmp(cmd, "/dh", true) == 0)
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST, "НАЗВАНИЕ МЕНЮ","ПУНКТ 1\nПУНКТ 2\nПУНКТ 3\nПУНКТ 4\nПУНКТ 5\nПУНКТ 6","Выбрать","Выход");
return 1;
}
так ми создали само меню теперь перейдём к шагу где выполняются функции при нажатии на один из пунктов
проверяем мод на наличие public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[]) если его нету то пихаем в самый низ следующий код
Code
public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
{
if(dialogid == 1) // ИД созданного меню в нашем случае это 1
{
if(response)
{
if(listitem == 0)
{
//Тут то что происходит при нажатии на ПУНКТ 1
}
if(listitem == 1)
{
//Тут то что происходит при нажатии на ПУНКТ 2
}
if(listitem == 2)
{
//Тут то что происходит при нажатии на ПУНКТ 3
}
if(listitem == 3)
{
//Тут то что происходит при нажатии на ПУНКТ 4
}
if(listitem == 4)
{
//Тут то что происходит при нажатии на ПУНКТ 5
}
if(listitem == 5)
{
//Тут то что происходит при нажатии на ПУНКТ 6
}
}
else
{
// Тут то что происходит при нажатии на кнопку Выход
}
}
return 1;
}
ну вот вроде как то так
Ну а если в моде есть public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
то вставляем в него
Code
if(dialogid == 1) // ИД созданного меню в нашем случае это 1
{
if(response)
{
if(listitem == 0)
{
//Тут то что происходит при нажатии на ПУНКТ 1
}
if(listitem == 1)
{
//Тут то что происходит при нажатии на ПУНКТ 2
}
if(listitem == 2)
{
//Тут то что происходит при нажатии на ПУНКТ 3
}
if(listitem == 3)
{
//Тут то что происходит при нажатии на ПУНКТ 4
}
if(listitem == 4)
{
//Тут то что происходит при нажатии на ПУНКТ 5
}
if(listitem == 5)
{
//Тут то что происходит при нажатии на ПУНКТ 6
}
}
else
{
// Тут то что происходит при нажатии на кнопку Выход
}
}