15.04.2013, 20:12
(
Last edited by GameMan; 16/04/2013 at 08:12 AM.
Reason: Добавлена упрощенная версия
)
Dynamic Dialogs BETA
- Упрощает работу с диалогами, содержащими динамические пункты.
- Перед тем, как ставить инклуд, подключите foreach.
- Наличие багов не исключается.
Полная версия:
- [SolidFiles] - http://www.solidfiles.com/d/d2e0085c0e/
- [Pastebin] - http://pastebin.com/4wYcQA4s
- [SolidFiles] - http://www.solidfiles.com/d/def055a69c/
- [Pastebin] - http://pastebin.com/xQh1hzgp
Полная версия:
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[]);
Изменения
16.04.2013 11:05
- Добавлена упрощенная версия
- Релиз публичной бета версии
- Y_Less за foreach