OnDialogResponse - Данная функция вызывается сервером, когда игрок выбирает любую кнопку в диалоге

Описание:

Данная функция вызывается сервером, когда игрок выбирает любую кнопку/пункт в созданном диалоге ShowPlayerDialog путём нажатия ENTER/ESC либо двойным кликом по кнопке/пункту (если используется DIALOG_STYLE_LIST).
playeridID игрока, который совершил действие с диалогом
dialogidID диалога, в котором игрок совершил действие.
responseВозвращает 1 — при выборе первой кнопки и 0 при выборе второй кнопки (если показана только одна кнопка, то всегда 1)
listitemID выбранного пункта из списка (начинаются с 0) (только при использовании стиля списка, при иных возвращает -1)
inputtext[]Текст, введенный игроком в поле ввода или текст из выбранного пункта списка

Возвращаемые значения:

Возвращая 0 в этом обратном вызове, это передаст диалог в другие скрипты, если он не соответствует ни одному из условий данного обратного вызова.
  • Это всегда вызывается первым из filterscript'ов, так что вернув 1 это не позволит увидеть его вызов в следующем filterscript'е.

Примечание

Диалоги для игроков не скрывается при перезапуске мода, что может являться причиной сообщения от сервера "Warning: PlayerDialogResponse PlayerId: 0 dialog ID doesn't match last sent dialog ID", если игрок ответил на прежнее незакрытое диалоговое окно после рестарта.

СоветРазумно использовать switch для поиска нужного диалога, если вы имеете их много.
Код:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {

if(!IsPlayerAdmin(playerid)) return 0; // только для администратора

if(dialogid == 1) {

if(!response) SendClientMessage(playerid, 0xFFFFFFFF, "Вы отменили действие!");

new message[196];

format(message, sizeof(message), "Вы ввели: %s", inputtext);

SendClientMessage(playerid, 0xFFFFFFFF, message);

return 1;

}

return 0;

}

RSS
Нет комментариев. Ваш будет первым!
Загрузка...