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

Админка выдается нормально если я 0 ID, а вот если я первый ID то наоборот я себя редактирую.
PHP код:
CMD:setadmin(playeridparams[])
{
    if(!
PI[playerid][Login]) return true;
    if(
GetPVarInt(playerid,"Admins") < || !GetPVarInt(playerid,"AdminLogin")) return true;
    
NameStats[playerid] = params[0];
    
ShowPlayerDialog(playeridAPANEL_7DIALOG_STYLE_LIST"Выдача прав модератора""Добавить в список модераторов\nПовысить / Понизить модератора\nУдалить права модератора""Выбрать""Отмена");
    return 
true;

PHP код:
case APANEL_7:
        {
            if(
response)
            {
                if(
GetPVarInt(playerid,"Admins") < || !GetPVarInt(playerid,"AdminLogin")) return true;
                switch(
listitem)
                {
                    case 
0: return ShowPlayerDialog(playeridAPANEL_81"Параметры""Введите ник игрока и уровень модерирования.\nПример: Имя_Фамилия, уровень.""Принять""Выход");
                    case 
1: return ShowPlayerDialog(playeridAPANEL_91"Параметры""Введите ник игрока и уровень модерирования.\nПример: Имя_Фамилия, уровень.""Принять""Выход");
                    case 
2: return ShowPlayerDialog(playeridAPANEL_101"Параметры""Введите ник администратора для удаление из списка.""Принять""Выход");
                }
            }
        }
        case 
APANEL_8:
        {
            if(
response)
            {
                if(!
strlen(inputtext)) return ShowPlayerDialog(playeridAPANEL_81"Параметры""Введите ник игрока и уровень модерирования.\nПример: Имя_Фамилия, уровень.""Принять""Выход");
                new 
levelname[24];
                if(
sscanf(inputtext"p<,>s[24]d"namelevel)) return ShowPlayerDialog(playeridAPANEL_91"Параметры""Введите ник игрока и уровень модерирования.\nПример: Имя_Фамилия, уровень.""Принять""Выход");
                if(
level 7) return SendClientMessage(playeridCOLOR_WHITE"Ошибка: Нельзя выдать больше 7-го уровня администрирования.");
                
format(PI[playerid][CMDstr], 100"SELECT `name` FROM `admins` WHERE `name` = '%s'"name);
                
mysql_function_query(DATABASEPI[playerid][CMDstr], true"checkAdmin""dsd"playeridnamelevel);
            }
        } 
PHP код:
forward checkAdmin(playeridname[], level);
public 
checkAdmin(playeridname[], level)
{
    new 
rowsfields;
    
cache_get_data(rowsfields);
    
//if(rows) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: Этот ник уже есть списке администраторов.");
    //else
    
{
        
format(PI[playerid][CMDstr], 73"INSERT INTO `admins` ( `name`, `level` ) VALUES ( '%s','%d')"namelevel);
        
mysql_function_query(DATABASEPI[playerid][CMDstr], false"""") ;
        
format(PI[playerid][CMDstr], 75"Вы успешно добавили %s на %d уровень модерирования"namelevel);
        
SendClientMessage(playeridCOLOR_YELLOWPI[playerid][CMDstr]);
        
printf("admin %s giveadmin %s"PI[playerid][Name], name);
        
SetPVarInt(NameStats[playerid], "Admins"level);
         
strmid(AdminKey[NameStats[playerid]],"0"0strlen("0"), 32);
    }
    return 
true;

P.S. Делал сам своими кривыми руками, вот не знаю как присвоить ID.
Reply
#2

В Базу добавляется нормально, а вот SetPVarInt(NameStats[playerid], "Admins", level); не нравится как работает :с
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)