U_DIALOG.INC
Использование диалогов не отличается от использования стандартным методом
Описание:
Этот сравнительно небольшой инклуд работает с OnDialogResponse() для обработки диалогов. Метод создания диалогов похож с zcmd. Вы можете показывать диалог в вашем игровой мода, а обрабатывать в фильтрскрипте.
Я писал этот инклуд для упрощения работы с диалогами в больших скриптах (игровых модах).
Возможности:
- Есть 4 варианта создания диалогов:
PHP код:
DIALOG: /* id */ (playerid, response, listitem, inputtext[])
{
// что-то делаем
}
DLG: /* id */ (playerid, response, listitem, inputtext[])
{
// что-то делаем
}
dialog: /* id */ (playerid, response, listitem, inputtext[])
{
// что-то делаем
}
dlg: /* id */ (playerid, response, listitem, inputtext[])
{
// что-то делаем
}
- Вместо id диалога, можно использовать имя функции для вызова.
PHP код:
ShowPlayerDialogEx(playerid, function[], style, caption[], info[], button1[], button2[]);
- параметр function[] принимает имя функции
- остальные параемеры функции описаны здесь (клуц)
Возвращаемые значения:
- Функция не возвращает какого либо конкретного значения.
Пример:
PHP код:
#include "u_dialog.inc"
#define DLG_MESSAGE_SENDING (0)
dialog:DLG_MESSAGE_SENDING(playerid, response, listitem, inputtext[])
{
SendClientMessage(playerid, -1, (isnull(inputtext))?("Пустая строка !"):(inputtext));
}
public OnPlayerSpawn(playerid)
{
ShowPlayerDialog(playerid, DLG_MESSAGE_SENDING, DIALOG_STYLE_INPUT,
"Тестовй диалог",
"Введите текст:",
"Ок", ""
);
return 1;
}
Скачать:
Вы можете скачать инклуд от сюда (жми).
Убрал лишние скудные функции, оптимизировал инклуд,
а именно выделяемую память под массивы.