Показано с 1 по 6 из 6

Тема: DLDialog / Dynamic List Dialog

  1. #1
    Fallout MTA Аватар для Vovanm93
    Регистрация
    03.01.2011
    Адрес
    Армавир
    Возраст
    29
    Сообщений
    1,142
    Репутация: 129

    Звание: скоро придёт к известности

    DLDialog / Dynamic List Dialog

    Описание:

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

    Функции:

    Данный инклуд, имеет три функции,подробней о них:

    Код:
    AddDListItem(playerid, Item[], ItemID = -1, , ItemParameter = -1);
    
    playerid - ID игрока для которого создаётся список.
    Item[] - Текст строки из списка.
    ItemID - ID строки из списка ( в дальнейшем используется в OnDialogResponse ).
    ItemParameter - Дополнительный параметр ( если требуется ).
    Код:
    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/.
    Или pawno code:

    /*
    _____ _ _____ _
    | __ \| | | __ \(_)
    | | | | | | | | |_ __ _ __ _
    | | | | | | | | | |/ _` |/ _` |
    | |__| | |____| |__| | | (_| | (_| |
    |_____/|______|_____/|_|\__,_|\__, |
    DynamicListDialog (v1.2) __/ |
    ByTheXIII |___/
    */


    /*=====================================

    native AddDListItem(playerid, Item[], ItemID = -1, ItemParam = -1);
    native ShowPlayerDList(playerid, DialogID, Caption[], Button1[], Button2[]);
    native Clear_DList(playerid);

    =====================================*/

    #if defined _DLDiag_included
    #endinput
    #endif
    #define _DLDiag_included

    #if !defined _samp_included
    #error "<a_samp> must be included before <DLDiag>"
    #endif

    #if !defined DLD_STRING_SIZE
    #define DLD_STRING_SIZE 256
    #endif

    #if !defined DLD_MAX_LIST_ITEMS
    #define DLD_MAX_LIST_ITEMS 10
    #endif
    #define DLItemID DLDPlayerListItems[playerid][listitem]
    #define DLParam DLDPlayerListParam[playerid][listitem]

    new DLDString[DLD_STRING_SIZE];
    new DLDPlayerListItems[MAX_PLAYERS][DLD_MAX_LIST_ITEMS];
    new DLDPlayerListParam[MAX_PLAYERS][DLD_MAX_LIST_ITEMS];
    new DLDLastIS;

    stock AddDListItem(playerid, ItemStr[DLD_STRING_SIZE], ItemID = -1, ItemParam = -1)
    {
    DLDPlayerListItems[playerid][DLDLastIS] = ItemID;
    DLDPlayerListParam[playerid][DLDLastIS] = ItemParam;
    if( !DLDLastIS ){DLDString = ""; format(DLDString, sizeof(DLDString), "%s", ItemStr);}
    else format(DLDString, sizeof(DLDString), "%s\r\n%s", DLDString, ItemStr);
    DLDLastIS++;
    return DLDLastIS -1;
    }
    stock ShowPlayerDList(playerid, DialogID, Caption[], Button1[], Button2[])
    {
    DLDLastIS = 0;
    ShowPlayerDialog(playerid, DialogID, DIALOG_STYLE_LIST, Caption, DLDString, Button1, Button2);
    DLDString = "";
    return true;
    }
    stock Clear_DList(playerid)
    {
    for( new i; i < DLD_MAX_LIST_ITEMS; i++ )
    {
    DLDPlayerListItems[playerid][i] = 0;
    DLDPlayerListParam[playerid][i] = 0;
    }
    return true;
    }



    Автор:

    Автор инклуда: TheXIII.
    Тема на офф. форуме: sa-mp.com.

  2. #2
    Проверенный Аватар для OKStyle
    Регистрация
    26.04.2010
    Адрес
    Россия, Оренбург
    Возраст
    35
    Сообщений
    6,398
    Репутация: 532

    Звание: - луч света в тёмном царстве

    Re: DLDialog / Dynamic List Dialog

    Фигня... Посмотрите мой код ящика с оружием - вот там динамический список, а это - ерунда.

    Код:
    Applications
    Pawno Rus No 217 [28.06.2008] SA-MP 0.3e Rcon Edition Rus [16.09.2010] Win-server Autostarter [31.01.2011]
    
    Gamemodes
    Public Enemy LS/SF/LV [25.07.2010] TDM Style []
    
    Filterscripts
    Sex            [05.07.2008] Showgirls                 [24.05.2010] Equip                     [02.02.2011] Jellyfisher               [11.02.2012] Tank Lights System [14.03.2013]
    All Animations [13.07.2008] Colored Healthbar         [08.06.2010] Exclusive Clothes         [07.03.2011] Parking                   [12.02.2012] TextDraw Captcha   [22.03.2013]
                                Pay'n'Spray Colors Menu   [23.06.2010] 0.2.2 Class Selection     [07.03.2011] Serial ID Ban             [31.03.2012]
                                Wedding                   [28.06.2010] Other Chatname            [09.03.2011] Advanced Weapons          [02.04.2012]
                                Rusty Brown's Ring Donuts [29.06.2010] Top View                  [09.03.2011] Ingame Map Editor         [01.05.2012]
                                                                       Rainbow Tab               [10.03.2011] Colored Checkpoints       [10.05.2012]
                                                                       Textdraw Intro            [03.09.2011] Experience & Level System [22.07.2012]
                                                                       Kickstart Challange       [06.09.2011] Target Message System     [17.11.2012]
                                                                       Love Fist Concert         [09.10.2011]
                                                                       3D Info                   [12.10.2011]
                                                                       Vehicle Bonus Return      [13.10.2011]
                                                                       Rockstar Logos Collection [16.10.2011]
                                                                       Textures Ingame Editor    [16.10.2011]
                                                                       Map-Radar                 [17.10.2011]
    
    Maps
    Military Vehicle Interior  [06.04.2012]
    Barracks Soldiers Interior [07.04.2012]
    Barracks Officers Interior [08.04.2012]
    
    Include
    FD ASM - форматированный диалог на #emit [31.03.2013]
    






  3. #3
    Активный пользователь Аватар для ArtLine
    Регистрация
    24.03.2012
    Адрес
    Москва
    Возраст
    26
    Сообщений
    182
    Репутация: 12

    Звание: на пути к лучшему

    Re: DLDialog / Dynamic List Dialog

    Vovan228 ты вернулся ? :bi:

  4. #4
    Активный пользователь
    Регистрация
    18.01.2012
    Возраст
    27
    Сообщений
    418
    Репутация: 31

    Звание: на пути к лучшему

    Re: DLDialog / Dynamic List Dialog

    norm..

  5. #5
    Fallout MTA Аватар для Vovanm93
    Регистрация
    03.01.2011
    Адрес
    Армавир
    Возраст
    29
    Сообщений
    1,142
    Репутация: 129

    Звание: скоро придёт к известности

    Re: DLDialog / Dynamic List Dialog

    Цитата Сообщение от Denis902 Посмотреть сообщение
    Vovan228 ты вернулся ? :bi:
    Я и не уходил..

  6. #6
    Активный пользователь
    Регистрация
    29.07.2012
    Возраст
    33
    Сообщений
    25
    Репутация: 50

    Звание: скоро придёт к известности

    Re: DLDialog / Dynamic List Dialog

    А где его посмотреть?

Похожие темы

  1. Dynamic
    от Eazy_Jc_StaR в разделе Вопросы по скриптингу
    Ответов: 0
    Последнее сообщение: 06.01.2012, 15:21
  2. [Map] Dynamic labyrinth
    от Vinny в разделе Карты
    Ответов: 2
    Последнее сообщение: 21.11.2011, 15:25
  3. как исправить (dialog style List)
    от nok1a в разделе Вопросы по скриптингу
    Ответов: 1
    Последнее сообщение: 03.11.2011, 15:51
  4. как сделать в dialog style list только 1 пункт?
    от grandy в разделе Вопросы по скриптингу
    Ответов: 2
    Последнее сообщение: 19.08.2011, 22:13

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •