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

Функции:
PHP код:
AddDListItem(playeridItem[], ItemID = -1, , ItemParameter = -1);
playerid ID игрока для которого создаётся список.
Item[] - Текст строки из списка.
ItemID ID строки из списка в дальнейшем используется в OnDialogResponse ).
ItemParameter Дополнительный параметр если требуется ).

ShowPlayerDList(playeridDialogIDCaption[], 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(playeridclickedplayeridsource)

{

    
// Код написан для примера.



    
AddDListItem(playerid"Личное сообщение"DLITEM_PMclickedplayerid);



    if( 
IsPlayerAdmin(playerid) ) AddDListItem(playerid"Кикнуть"DLITEM_KICKclickedplayerid);

    if( 
IsPlayerAdmin(playerid) ) Function2(playeridclickedplayerid);



    
AddDListItem(playerid"Дать денег"DLITEM_GIVEMONEYclickedplayerid);

    
AddDListItem(playerid"Закрыть");



    
ShowPlayerDlist(playerid1"Пример динамического диалога""Круто""Закрыть");

    return 
true;

}

public 
Function2(playeridExtraParam)

{

    return 
AddDListItem(playerid"Забанить"DLITEM_BANExtraParam);

}



public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])

{

    switch( 
dialogid )

    {

        case 
1:

        {

            switch( 
DLItemID )

            {

                case 
DLITEM_PM:

                {

                    
// Тут должен быть код отправки сообщения.

                
}

                case 
DLITEM_BANBan(DLParam);

                case 
DLITEM_KICKKick(DLParam);

                case 
DLITEM_GIVEMONEY// Тут должен быть код выдачи денег.

            
}

        }

    }


Ссылка: Кликабельно

Автор: TheXIII