[Include] Dynamic Dialogs
#1

Dynamic Dialogs BETA
  • Упрощает работу с диалогами, содержащими динамические пункты.
  • Перед тем, как ставить инклуд, подключите foreach.
  • Наличие багов не исключается.
Скачать
Полная версия:Упрощенная версия: Функции
Полная версия:
pawn Code:
// Создает диалог. Пример: TestDialog[playerid] = CreateDialog("{ffffff}» {ffd100}Оружие", "Выбрать", "Отмена");
native CreateDialog(caption[], button1[], button2[] = "");

// Удаляет диалог. Пример: DestroyDialog(TestDialog[playerid]);
native DestroyDialog(dialogid);

// Добавляет пункт. Пример: AddDialogItem(TestDialog[playerid], 123, "Desert {ffd100}Eagle");
native AddDialogItem(dialogid, itemid, itemtext[]);

// Обновляет пункт. Пример: UpdateDialogItem(TestDialog[playerid], 123, "Капот");
native UpdateDialogItem(dialogid, itemid, newitemtext[]);

// Получает текст пункта. Пример:
// new item_text[MAX_ITEM_LENGTH];
// GetDialogItemText(TestDialog[playerid], 123, item_text);
native GetDialogItemText(dialogid, itemid, dest[]);

// Удаляет пункт. Пример: DeleteDialogItem(TestDialog[playerid], 123);
native DeleteDialogItem(dialogid, itemid);

// Обновляет заголовок диалогового окна. Пример: UpdateDialogCaption(TestDialog[playerid], newcaption[]);
native UpdateDialogCaption(dialogid, newcaption[]);

// Получает заголовок. Пример:
// new caption_str[MAX_CAPTION_LENGTH];
// GetDialogItemText(TestDialog[playerid], caption_str);
native GetDialogCaption(dialogid, dest[]);

// Обновляет первую кнопку. Пример: UpdateDialogButton1(TestDialog[playerid], "Ок");
native UpdateDialogButton1(dialogid, newbutton[]);

// Обновляет вторую кнопку. Пример: UpdateDialogButton2(TestDialog[playerid], "Назад");
native UpdateDialogButton2(dialogid, newbutton[]);

// Получает название первой кнопки. Пример:
// new button1_name[MAX_BUTTON_LENGTH];
// GetDialogButton1(TestDialog[playerid], button1_name);
native GetDialogButton1(dialogid, dest[]);

// Получает название второй кнопки. Пример:
// new button2_name[MAX_BUTTON_LENGTH];
// GetDialogButton2(TestDialog[playerid], button2_name);
native GetDialogButton2(dialogid, dest[]);

// Показывает диалог игроку. Пример:
// ShowDialogForPlayer(playerid, TestDialog[playerid]);
native ShowDialogForPlayer(playerid, dialogid);

// Скрывает диалог игроку. Пример: HideDialogForPlayer(playerid);
native HideDialogForPlayer(playerid);

// Получает ID динамического диалога, который открыт у игрока.
// Пример: GetPlayerDialog(playerid);
native GetPlayerDialog(playerid);
Упрощенная версия:
pawn Code:
// Удаляет все пункты.
native ClearDialogListItems(playerid);

// Добавляет пункт.
native AddDialogListItem(playerid, itemid, itemtext[]);

// Показывает диалог.
native ShowPlayerDialogList(playerid, dialogid, caption[], button1[], button2[]);
Обратные вызовы
Полная версия:
pawn Code:
/* Вызывается при нажатии любого пункта в динамическом диалоге.
    playerid   - ID игрока
    dialogid   - ID динамического диалога
    response   - ID кнопки
    itemid     - ID пункта
    itemtext[] - Текст пункта
*/

forward OnDynamicDialogResponse(playerid, dialogid, response, itemid, itemtext[]);
В упрощенной версии вызывается стандартный callback OnDialogResponse с модифицированным значением listitem.

Изменения
16.04.2013 11:05
  • Добавлена упрощенная версия
16.04.2013 12:33
  • Релиз публичной бета версии
Благодарности
  • Y_Less за foreach
Reply


Messages In This Thread
Dynamic Dialogs - by GameMan - 15.04.2013, 20:12
Re: Dynamic Dialogs - by AirKite - 15.04.2013, 20:37
Re: Dynamic Dialogs - by GameMan - 15.04.2013, 20:40
Re: Dynamic Dialogs - by AirKite - 15.04.2013, 21:32
Re: Dynamic Dialogs - by GameMan - 15.04.2013, 22:35
Re: Dynamic Dialogs - by AirKite - 16.04.2013, 12:32
Re: Dynamic Dialogs - by GameMan - 16.04.2013, 15:51

Forum Jump:


Users browsing this thread: 1 Guest(s)