PDA

Просмотр полной версии : [Include] DLDialog / Dynamic List Dialog



Osetin
26.11.2013, 18:41
Описание:
Этот инклуд, позволяет создавать динамический список, в диалоговом окне, а так же удобно использовать его в дальнейшем.

Функции:

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 игрока для которого выполняется чистка списка.

Настройка и установка:
Для настройки инклуда, используются строки:


#define DLD_STRING_SIZE 256 // Размер списка,во всём диалоге.
#define DLD_MAX_LIST_ITEMS 10 // Максимальное количество строк в одном диалоге.
Для подключения инклуда, необходимо вставить следующий код, в начало мода:

#include <DLDiag>

Пример использования:

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: // Тут должен быть код выдачи денег.

}

}

}

}

Ссылка: Кликабельно (http://www.solidfiles.com/d/d88a/)

Автор: TheXIII