Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

DLDialog / Dynamic List Dialog

Статус
В этой теме нельзя размещать новые ответы.

James Black

Умник
Вечер добрый. Недавно понадобилось создать динамические диалоги, поискав немного в интернете, я нашел инклуд DLDialog. Все, вроде бы, подключил.. Но столкнулся с такой проблемой, список создается нормально, но когда выбираю пункт из списка ничего не происходит, просто закрывается диалог. Может я чего упустил, не подскажите?

PHP:
enum 
{
	APANEL_VIP_PLAYERS,
	APANEL_ADMINS,
	APANEL_ALL_ADMINS,
	APANEL_COMMANDS,
	APANEL_SETTINGS_ADMIN,
	APANEL_CONTROL_SERVER
}
OnDialogResponse:
PHP:
case DLG_ADMIN_PANEL:
{
	if(response)
	{
		switch(DLItemID)
		{
			case APANEL_VIP_PLAYERS:
			{
				new year, month, day, string[100];
				new current_date = getdate(year, month, day);
				SendClientMessage(playerid, COLOR_BLUE, "VIP игроки:");
				foreach(new i: Player)
				{
					if(!PlayerLogged[i] || !PI[i][pVip]) continue;
					format(string, sizeof(string), "- %s (осталось дн.: %i)", getName(i), PI[i][pVipTime] - current_date);
					SendClientMessage(playerid, COLOR_WHITE, string);
				}
			}
			case APANEL_ADMINS: callcmd::admins(playerid);
			case APANEL_ALL_ADMINS:
			{
				mysql_tquery(dbHandle, "SELECT * FROM "T_ADMIN" WHERE level > '0'", "AllAdmins", "i", playerid);
			}
			case APANEL_COMMANDS:
			{
				new string[128];

				if(PI[playerid][pAdmin] >= ADM_MODER)
					format(string, sizeof string, "1-й уровень");

				if(PI[playerid][pAdmin] >= ADM_SUPER_MODER)
					format(string, sizeof string, "%s\n2-й уровень", string);

				if(PI[playerid][pAdmin] >= ADM_ADMIN)
					format(string, sizeof string, "%s\n3-й уровень", string);

				if(PI[playerid][pAdmin] >= ADM_SUPER_ADMIN)
					format(string, sizeof string, "%s\n4-й уровень", string);

				if(PI[playerid][pAdmin] >= ADM_GRAND_ADMIN)
					format(string, sizeof string, "%s\n5-й уровень", string);

				if(PI[playerid][pAdmin] >= ADM_SPECIAL_ADMIN)
					format(string, sizeof string, "%s\n6-й уровень", string);

				if(PI[playerid][pAdmin] >= ADM_FOUNDER)
					format(string, sizeof string, "%s\n7-й уровень", string);

				ShowPlayerDialog(
					playerid, DLG_ADMIN_COMMAND, DIALOG_STYLE_LIST, 
					!"Команды администратора", string, !"Выбрать", !"Назад"
				);
			}
			case APANEL_SETTINGS_ADMIN:
			{
				if(PI[playerid][pAdmin] < ADM_SUPER_ADMIN) return SendClientMessage(playerid, COLOR_GREY, "[Ошибка] У вас нет доступа!");
				new string[350];
				format(string, sizeof(string), "{ffffff}Телепорт к себе\t\t| %s\n{ffffff}Телепорт себя\t\t\t| %s\n{ffffff}Слежка за собой\t\t| %s\nИнформация",
				(AdminInfo[playerid][admGoto]) ? ("{F04245}Запрещён") : ("{63BD4E}Разрешён"),
				(AdminInfo[playerid][admGethere]) ? ("{F04245}Запрещён") : ("{63BD4E}Разрешён"),
				(AdminInfo[playerid][admSpectate]) ? ("{F04245}Запрещена") : ("{63BD4E}Разрешена"));
				ShowPlayerDialog(playerid, dAdminPanel_Permission, 2, "{FFCC00}Настройки администратора", string, "Выбрать", "Назад");
			}
			case APANEL_CONTROL_SERVER:
			{
				if(PI[playerid][pAdmin] < ADM_FOUNDER) return SendClientMessage(playerid, COLOR_GREY, "[Ошибка] У вас нет доступа!");
				new string[256];
				format(string, sizeof(string), "{ffffff}Удвоение опыта:\t %s\n{ffffff}Удвоение доната:\t %s\n",
				(!doubling_exp) ? ("{F04245}Выкл") : ("{63BD4E}Вкл"),
				(!doubling_donate) ? ("{F04245}Выкл") : ("{63BD4E}Вкл"));
				ShowPlayerDialog(playerid, dAdminPanel_Bonuses, DIALOG_STYLE_TABLIST, "Бонусы", string, "Выбрать", "Назад");
			}
		}
	}
}
Команда:
PHP:
CMD:apanel(playerid)
{
	if(PI[playerid][pAdmin] >= ADM_GRAND_ADMIN) 
		AddDListItem(playerid, "VIP игроки [ONLINE]", APANEL_VIP_PLAYERS); 

	AddDListItem(playerid, "Список администрации [ONLINE]", APANEL_ADMINS); 

	if(PI[playerid][pAdmin] >= ADM_GRAND_ADMIN) 
		AddDListItem(playerid, "Весь список администрации", APANEL_ALL_ADMINS); 

	AddDListItem(playerid, "Команды сервера", APANEL_COMMANDS); 

	if(PI[playerid][pAdmin] >= ADM_SUPER_ADMIN) 
		AddDListItem(playerid, "Настройки администратора", APANEL_SETTINGS_ADMIN); 

	if(PI[playerid][pAdmin] >= ADM_SPECIAL_ADMIN) 
		AddDListItem(playerid, "Управление сервером", APANEL_CONTROL_SERVER); 

	ShowPlayerDList(playerid, DLG_ADMIN_PANEL, "Панель администратора", "Выбрать", "Закрыть");
	return true;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу