Авторизация администратора.
Добрый день, столкнулся с такой проблемой, сделал админ авторизацию все работает но есть одно но. Игрок должен вводить свой пароль и только тогда его должно пускать но игрок вводит любое число или любой пароль и его пускает в чем может быть проблема? раньше такого не было.
PHP код:
CMD:aduty(playerid,params[])
{
new string[124];
if(Player[playerid][pAdmin] == 0)return NoRights;
if(Player[playerid][pADostup] == false)return SPD(playerid,DIALOG_ADOSTUP,DIALOG_STYLE_INPUT,"{33CCFF}Администраторские права","{FFE4B5}У тебя еще не указан пароль к администраторским правам.\nПридумай и введи пароль отличающийся от основного пароля и нажми ''ОК''.","ОК","Закрыть");
if(AdminDuty[playerid] == false)
{
SPD(playerid,DIALOG_ADUTY,DIALOG_STYLE_PASSWORD,"{33CCFF}Администраторские права","{FFE4B5}Введи свой пароль для получения администраторских прав.","ОК","Закрыть");
}
else
{
switch(GetPVarInt(playerid,"Sex"))
{
case 1: f(string,"%s %s[%d] завершил дежурство.",NameAdmin[Player[playerid][pAdmin]-1],sendername(playerid),playerid);
case 2: f(string,"%s %s[%d] завершила дежурство.",NameAdmin[Player[playerid][pAdmin]-1],sendername(playerid),playerid);
}
ABroadCast(COLOR_YELLOW,string,1);
AdutyPas[playerid] = 0;
AdminDuty[playerid] = false;
}
return true;
}
PHP код:
case DIALOG_ADOSTUP:
{
if(!response)return 1;
if(!strlen(inputtext))return SPD(playerid,DIALOG_ADOSTUP,DIALOG_STYLE_INPUT,"{33CCFF}Администраторские права","{FFE4B5}У тебя еще не указан пароль к администраторским правам.\nПридумай и введи пароль отличающийся от основного пароля и нажми ''ОК''.","ОК","Закрыть");
if(strlen(inputtext) < 6 || strlen(inputtext) > 32)
{
send(playerid,0xFF0000AA,"[ОШИБКА] {FFFFFF}Длина пароля должна быть в пределах от 6 и до 32 символов.");
ShowPlayerDialog(playerid,DIALOG_ADOSTUP,DIALOG_STYLE_INPUT,"{33CCFF}Администраторские права","{FFE4B5}У тебя еще не указан пароль к администраторским правам.\nПридумай и введи пароль отличающийся от основного пароля и нажми ''ОК''.","ОК","Закрыть");
}
else
{
strmid(Player[playerid][pApass],inputtext,0,32,255);
f(string,"Твой администраторский пароль: %s. Не забывай его, а лучше запиши.",inputtext);
send(playerid,COLOR_GREEN,string);
switch(GetPVarInt(playerid,"Sex"))
{
case 1: f(string,"%s %s[%d] заступил на дежурство.",NameAdmin[Player[playerid][pAdmin]-1],sendername(playerid),playerid);
case 2: f(string,"%s %s[%d] заступила на дежурство.",NameAdmin[Player[playerid][pAdmin]-1],sendername(playerid),playerid);
}
ABroadCast(COLOR_YELLOW,string,1);
send(playerid,COLOR_YELLOW,string);
AdminDuty[playerid] = true;
Player[playerid][pADostup] = true;
}
}
PHP код:
case DIALOG_ADUTY:
{
if(response)
{
if(!strlen(inputtext))return ShowPlayerDialog(playerid,DIALOG_ADUTY,DIALOG_STYLE_PASSWORD,"{33CCFF}Администраторские права","{FFE4B5}Введи свой пароль для получения администраторских прав.","ОК","Закрыть");
if(!strcmp(inputtext,Player[playerid][pApass],true))
{
switch(GetPVarInt(playerid,"Sex"))
{
case 1: f(string,"%s %s[%d] заступил на дежурство.",NameAdmin[Player[playerid][pAdmin]-1],sendername(playerid),playerid);
case 2: f(string,"%s %s[%d] заступила на дежурство.",NameAdmin[Player[playerid][pAdmin]-1],sendername(playerid),playerid);
}
ABroadCast(COLOR_YELLOW,string,1);
send(playerid,COLOR_YELLOW,string);
AdminDuty[playerid] = true;
}
else
{
AdutyPas[playerid]++;
f(string,"[ОШИБКА] {FFFFFF}Неверный пароль от ''/aduty''. Осталось попыток {FF0000}%d{FFFFFF}.",3-AdutyPas[playerid]);
send(playerid,0xFF0000AA,string);
if(AdutyPas[playerid] >= 3)
{
f(string,"Античит: %s[%d] был(а) кикнут(а). Причина: Подбор пароля к ''/aduty''.",Player[playerid][pName],playerid);
ABroadCast(COLOR_YELLOW,string,1);
send(playerid,COLOR_YELLOW,"Ты был(а) кикнут(а) античитом. Причина: Подбор пароля к ''/aduty''.");
Kick(playerid);
}
}
return 1;
}
}