Olб, estou revivendo esse tуpico pois nгo foi resolvido, e hoje fuзando no meu GM decidi tentar fazr isso e consegui e quero postar aqui pra este topico ficar resolvido, eu sei q pode ajudar alguem.
Eu criei o comando em ZCMD
Define
Variбveis
pawn Код:
new Admin[MAX_PLAYERS];
new Erro[MAX_PLAYERS];
Comando
pawn Код:
CMD:logaradmin(playerid, params[])
{
if(Admin[playerid] == 1) return SendClientMessage(playerid, ERRO, "| ERRO | Vocк jб estб logado de admin");
ShowPlayerDialog(playerid, DIALOG_ADMIN, DIALOG_STYLE_PASSWORD, "{FF0000}Login - Administrador", "\n» Informe a senha de administrador", "Logar", "Cancelar");
return 1;
}
OnDialogResponse
pawn Код:
if(dialogid == DIALOG_ADMIN) // Dialog registro
{
if(!response) // se ele clickar em Cancelar kicka ele !
return 1;
new aName[MAX_PLAYER_NAME];
new pIp[30];
new str2[512];
new str3[120];
new id;
if(!strcmp(inputtext,"senha"))
{
if(Admin[playerid] == 1){
format(str3,sizeof(str3),"%s[ID: %d] logou de administrador [IP: %s]",aName,id,pIp);
SendClientMessage(Admin[playerid], amarelo, str3);
}
GetPlayerName(playerid, aName, MAX_PLAYER_NAME);
GetPlayerIp(playerid, pIp, sizeof(pIp));
Admin[playerid] = 1;
format(str2,sizeof(str2),"%s logou de admin, Senha: %s [IP: %s]",aName,inputtext,pIp);
print(str2);
Erro[playerid] = 0;
}
else
{
new str1[512];
GetPlayerName(playerid, aName, MAX_PLAYER_NAME);
Erro[playerid]++;
format(str,sizeof(str), "| ERRO | A senha que vocк digitou estб incorreta [%d/3]",Erro[playerid]);
SendClientMessage(playerid, ERRO, str);
format(str1,sizeof(str1), "%s errou a senha de administrador [%d/3] Senha usada [%s] [IP: %s]",aName,Erro[playerid],inputtext,pIp);
print(str1);
ShowPlayerDialog(playerid, DIALOG_ADMIN, DIALOG_STYLE_PASSWORD, "{FF0000}Login - Administrador", "\n» Informe sua senha de administrador:", "Logar", "Cancelar");
if(Erro[playerid] == 3) // se ele errar 3 vezes ele serб banido !
{
SendClientMessage(playerid, Vermelho, "| INFO | Vocк foi banido por errar a senha de administrador 3 vezes");
Ban(playerid);
return 1;
}
}
}