if(fexist(Arquivo(playerid)) && Logado[playerid] == true) {
DOF2_SetInt(Arquivo(playerid), "Admin", ContaPlayer[playerid][Admin]);
DOF2_SetInt(Arquivo(playerid), "Score", GetPlayerScore(playerid));
DOF2_SetInt(Arquivo(playerid), "Grana", GetPlayerMoney(playerid));
DOF2_SetInt(Arquivo(playerid), "Skin", ContaPlayer[playerid][Skin]);
DOF2_SetInt(Arquivo(playerid), "Preso", ContaPlayer[playerid][Preso]);
DOF2_SetString(Arquivo(playerid), "Pergunta", ContaPlayer[playerid][Pergunta]);
DOF2_SetString(Arquivo(playerid), "Resposta", ContaPlayer[playerid][Resposta]);
DOF2_SetInt(Arquivo(playerid), "Aviso", ContaPlayer[playerid][Aviso]);
new str[37];
if(ContaPlayer[playerid][Admin] > 0)
{
format(str, 37, "SD/ADM/%s.ini", Nome(playerid));
if(!fexist(str)) { DOF2_CreateFile(str); }
DOF2_SetInt(str, "Admin", ContaPlayer[playerid][Admin]);
}
DOF2_SaveFile();
}
Meu problema e que players que entram com o id de algum adm off setado...ganha o level dele e apareзe no CMD:admins eu ja refiz o admins e nгo e nele o erro... eu deduzo que seja no salvar os dados abaixo o codigo de salvamento...alguem pode me ajudar esse bug ta me matando.. -.- vlw
pawn Код:
|
if(ContaPlayer[playerid][Admin] > 0)
{
format(str, 37, "SD/ADM/%s.ini", Nome(playerid));
if(!fexist(str)) { DOF2_CreateFile(str); }
DOF2_SetInt(str, "Admin", ContaPlayer[playerid][Admin]);
}
forward p_PlayerLogin(playerid, pass[]);
public p_PlayerLogin(playerid, pass[])
{
if(strcmp(pass, DOF2_GetString(Arquivo(playerid), "Senha"), true))
{
if(tentativas[playerid] == 1)
return Msg(playerid, Vermelho, "Vocк errou 3 vezes a senha e por isso foi kickado!"), Kick(playerid);
new ip[16];
GetPlayerIp(playerid, ip, sizeof(ip));
new string2[270];
tentativas[playerid] --;
format(string2, 270, ""BRANCO2"Olб "AMARELO2"%s, "BRANCO2"vocк digitou a senha "VERMELHO2"incorretamente"BRANCO2"\nPor favor digite uma senha vбlida abaixo para fazer o login:\nVocк tem %d tentativas\n"CINZA1"Por questхes de seguranзa seu IP(%s) foi salvo em nossos registros.", Nome(playerid), tentativas[playerid], ip);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login", string2, "Logar", "Sair");
return 1;
}
Logado[playerid] = true;
ContaPlayer[playerid][Admin] = DOF2_GetInt(Arquivo(playerid), "Admin");
ContaPlayer[playerid][Score] = DOF2_GetInt(Arquivo(playerid), "Score");
ContaPlayer[playerid][Grana] = DOF2_GetInt(Arquivo(playerid), "Grana");
ContaPlayer[playerid][Skin] = DOF2_GetInt(Arquivo(playerid), "Skin");
ContaPlayer[playerid][Preso] = DOF2_GetInt(Arquivo(playerid), "Preso");
ContaPlayer[playerid][Pergunta] = DOF2_GetString(Arquivo(playerid), "Pergunta");
ContaPlayer[playerid][Resposta] = DOF2_GetString(Arquivo(playerid), "Resposta");
ContaPlayer[playerid][Aviso] = DOF2_GetInt(Arquivo(playerid), "Aviso");
SetPlayerScore(playerid, ContaPlayer[playerid][Score]);
GivePlayerMoney(playerid, ContaPlayer[playerid][Grana]);
format(String, 100, "Logado com sucesso! Admin: {FF0000}%d",ContaPlayer[playerid][Admin]);
Msg(playerid, COR_ADM, String);
GivePlayerWeapon(playerid,43,99999);
GivePlayerWeapon(playerid,23,99999);
SetPlayerHealth(playerid, 100000);
SetPlayerArmour(playerid, 100000);
SDSalvando(playerid);
return 1;
}
Arquivo(playerid)
{
new str[36];
format(str, 36, "SD/Contas/%s.ini", Nome(playerid));
return str;
}
SDSalvando(playerid);
DOF2_SaveFile();
stock SDSalvando(playerid)
{
if(fexist(Arquivo(playerid)) && Logado[playerid] == true) {
DOF2_SetInt(Arquivo(playerid), "Admin", ContaPlayer[playerid][Admin]);
DOF2_SetInt(Arquivo(playerid), "Score", GetPlayerScore(playerid));
DOF2_SetInt(Arquivo(playerid), "Grana", GetPlayerMoney(playerid));
DOF2_SetInt(Arquivo(playerid), "Skin", ContaPlayer[playerid][Skin]);
DOF2_SetInt(Arquivo(playerid), "Preso", ContaPlayer[playerid][Preso]);
DOF2_SetString(Arquivo(playerid), "Pergunta", ContaPlayer[playerid][Pergunta]);
DOF2_SetString(Arquivo(playerid), "Resposta", ContaPlayer[playerid][Resposta]);
DOF2_SetInt(Arquivo(playerid), "Aviso", ContaPlayer[playerid][Aviso]);
DOF2_SaveFile();
}
return 1;
}
Arquivo(playerid)
{
new str[40], Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, 32);
format(str, 40, "SD/Contas/%s.ini", Nome);
return str;
}
SDSalvando(playerid);
ContaPlayer[playerid][Admin] = 0;
Digamos que eu sou o ID 1 e sou administrador.. Se eu desconectar e outro jogador entrar com o ID 1, ele vai ser admin?
Se sim, basta deixar a variavel de administrador igual б 0 quando ele desconectar. Mas isto apуs ser salvo. pawn Код:
|