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

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

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

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

Выдача админки Dialog/MySQL R31

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

Sanchez_Perez

Умник
Админка выдается нормально если я 0 ID, а вот если я первый ID то наоборот я себя редактирую.
PHP:
CMD:setadmin(playerid, params[])
{
	if(!PI[playerid][Login]) return true;
    if(GetPVarInt(playerid,"Admins") < 6 || !GetPVarInt(playerid,"AdminLogin")) return true;
    NameStats[playerid] = params[0];
	ShowPlayerDialog(playerid, APANEL_7, DIALOG_STYLE_LIST, "Выдача прав модератора", "Добавить в список модераторов\nПовысить / Понизить модератора\nУдалить права модератора", "Выбрать", "Отмена");
	return true;
}
PHP:
case APANEL_7:
		{
			if(response)
			{
			    if(GetPVarInt(playerid,"Admins") < 6 || !GetPVarInt(playerid,"AdminLogin")) return true;
				switch(listitem)
				{
					case 0: return ShowPlayerDialog(playerid, APANEL_8, 1, "Параметры", "Введите ник игрока и уровень модерирования.\nПример: Имя_Фамилия, уровень.", "Принять", "Выход");
					case 1: return ShowPlayerDialog(playerid, APANEL_9, 1, "Параметры", "Введите ник игрока и уровень модерирования.\nПример: Имя_Фамилия, уровень.", "Принять", "Выход");
					case 2: return ShowPlayerDialog(playerid, APANEL_10, 1, "Параметры", "Введите ник администратора для удаление из списка.", "Принять", "Выход");
				}
			}
		}
		case APANEL_8:
		{
		    if(response)
			{
				if(!strlen(inputtext)) return ShowPlayerDialog(playerid, APANEL_8, 1, "Параметры", "Введите ник игрока и уровень модерирования.\nПример: Имя_Фамилия, уровень.", "Принять", "Выход");
                new level, name[24];
                if(sscanf(inputtext, "p<,>s[24]d", name, level)) return ShowPlayerDialog(playerid, APANEL_9, 1, "Параметры", "Введите ник игрока и уровень модерирования.\nПример: Имя_Фамилия, уровень.", "Принять", "Выход");
				if(level > 7) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: Нельзя выдать больше 7-го уровня администрирования.");
                format(PI[playerid][CMDstr], 100, "SELECT `name` FROM `admins` WHERE `name` = '%s'", name);
				mysql_function_query(DATABASE, PI[playerid][CMDstr], true, "checkAdmin", "dsd", playerid, name, level);
			}
		}
PHP:
forward checkAdmin(playerid, name[], level);
public checkAdmin(playerid, name[], level)
{
	new rows, fields;
	cache_get_data(rows, fields);
	if(rows) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: Этот ник уже есть списке администраторов.");
	{
		format(PI[playerid][CMDstr], 73, "INSERT INTO `admins` ( `name`, `level` ) VALUES ( '%s','%d')", name, level);
		mysql_function_query(DATABASE, PI[playerid][CMDstr], false, "", "") ;
		format(PI[playerid][CMDstr], 75, "Вы успешно добавили %s на %d уровень модерирования", name, level);
		SendClientMessage(playerid, COLOR_YELLOW, PI[playerid][CMDstr]);
		printf("admin %s giveadmin %s", PI[playerid][Name], name);
		SetPVarInt(NameStats[playerid], "Admins", level);
 		strmid(AdminKey[NameStats[playerid]],"0", 0, strlen("0"), 32);
	}
    return true;
}
P.S. Делал сам своими кривыми руками, вот не знаю как присвоить ID.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу