Описание:
Этот инклуд, позволяет создавать динамический список, в диалоговом окне, а так же удобно использовать его в дальнейшем.
Функции:
PHP код:
AddDListItem(playerid, Item[], ItemID = -1, , ItemParameter = -1);
playerid - ID игрока для которого создаётся список.
Item[] - Текст строки из списка.
ItemID - ID строки из списка ( в дальнейшем используется в OnDialogResponse ).
ItemParameter - Дополнительный параметр ( если требуется ).
ShowPlayerDList(playerid, DialogID, Caption[], Button1[], Button2[]);
Clear_DList(playerid);
playerid - ID игрока для которого выполняется чистка списка.
Настройка и установка:
Для настройки инклуда, используются строки:
PHP код:
#define DLD_STRING_SIZE 256 // Размер списка,во всём диалоге.
#define DLD_MAX_LIST_ITEMS 10 // Максимальное количество строк в одном диалоге.
Для подключения инклуда, необходимо вставить следующий код, в начало мода:
PHP код:
#include <DLDiag>
Пример использования:
PHP код:
enum
{
DLITEM_PM,
DLITEM_KICK,
DLITEM_BAN,
DLITEM_GIVEMONEY
}
// Данный enum, использовать не обязательно. ItemID может быть любым целым числом.
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
// Код написан для примера.
AddDListItem(playerid, "Личное сообщение", DLITEM_PM, clickedplayerid);
if( IsPlayerAdmin(playerid) ) AddDListItem(playerid, "Кикнуть", DLITEM_KICK, clickedplayerid);
if( IsPlayerAdmin(playerid) ) Function2(playerid, clickedplayerid);
AddDListItem(playerid, "Дать денег", DLITEM_GIVEMONEY, clickedplayerid);
AddDListItem(playerid, "Закрыть");
ShowPlayerDlist(playerid, 1, "Пример динамического диалога", "Круто", "Закрыть");
return true;
}
public Function2(playerid, ExtraParam)
{
return AddDListItem(playerid, "Забанить", DLITEM_BAN, ExtraParam);
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case 1:
{
switch( DLItemID )
{
case DLITEM_PM:
{
// Тут должен быть код отправки сообщения.
}
case DLITEM_BAN: Ban(DLParam);
case DLITEM_KICK: Kick(DLParam);
case DLITEM_GIVEMONEY: // Тут должен быть код выдачи денег.
}
}
}
}
Ссылка: Кликабельно
Автор: TheXIII