OnDialogResponse RU
From SA-MP Wiki
OnDialogResponse
Описание:
Данная функция вызывается сервером, когда игрок выбирает любую кнопку/пункт в созданном диалоге ShowPlayerDialog путём нажатия ENTER/ESC либо двойным кликом по кнопке/пункту (если используется DIALOG_STYLE_LIST).
(playerid, dialogid, response, listitem, inputtext[])
playerid | ID игрока, который совершил действие с диалогом |
dialogid | ID диалога, в котором игрок совершил действие. |
response | Возвращает 1 - при выборе первой кнопки и 0 при выборе второй кнопки (если показана только одна кнопка, то всегда 1) |
listitem | ID выбранного пункта из списка (начинаются с 0) (только при использовании стиля списка, при иных возвращает -1) |
inputtext[] | Текст, введенный игроком в поле ввода или текст из выбранного пункта списка |
Возвращаемые значения:
Возвращая 0 в этом обратном вызове, это передаст диалог в другие скрипты, если он не соответствует ни одному из условий данного обратного вызова.
- Это всегда вызывается первым из filterscript'ов, так что вернув 1 это не позволит увидеть его вызов в следующем filterscript'е.
Совет | Разумно использовать 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; }
Связанные функции
Следующие функции могут быть полезны, т.к. они так или иначе связаны с текущей функцией.
- ShowPlayerDialog: Показывает диалог игроку.