Zera score [ajuda] -
best95 - 22.07.2016
Quando eu logo no server e erro a senha e so kickado... quando retorno meu score ta zerado... pq sera?
codigo de login:
pawn Код:
if (dialogid == LOGIN)
{
if(response)
{
if(!strlen(inputtext))
{
format(String, sizeof(String), "{FFFFFF}Bem-Vindo Novamente%s{FFFFFF}, Digite Sua Senha Para Logar.\n\nDigite a Senha:", PlayerName(playerid));
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Login", String, "Logar", "Sair");
return 1;
}
format(StringRegistro, sizeof(StringRegistro), "ZP/Contas/%s.ini", PlayerName(playerid));
if(strcmp(inputtext, DOF2_GetString(StringRegistro, "Senha"), true))
{
if(ErrouSenha[playerid] == 4)
{
format(String, sizeof(String), "{1E90FF}CONTA: {FF0000}O jogador %s Foi Kickado Motivo: [Errou Senha]", PlayerName(playerid));
MsgToAll(cortag, String);
ZPKick(playerid);
return 1;
}
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Senha Errada!", "{FFFFFF}A Senha Que Vocк Digitou Estб {FF0000}Errada!\n\n{FFFFFF}Digite Sua Senha:", "Logar", "Sair");
ErrouSenha[playerid]++;
return 1;
}
Re: Zera score [ajuda] -
oDenniS - 22.07.2016
Cade o Salvamente?
Quando o player loga, tem que setar e quando ele desloga tem que salvar, lembre-se disso!.
Se o player nгo fez o login, nгo tem como salvar, entгo o erro estб no salvamento !
Re: Zera score [ajuda] -
best95 - 22.07.2016
pawn Код:
if(dialogid == REGISTRO)
{
if(response)
{
if(!strlen(inputtext))
{
format(String, sizeof(String), "{FFFFFF}Bem-Vindo ao Servidor ZP %s!\n\nPor Favor Registre-se:", PlayerName(playerid));
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "{FFFFFF}Registro", String, "Registrar", "Sair");
return 1;
}
new StrIp[300];
GetPlayerIp(playerid, StrIp, 300);
format(StringRegistro, sizeof(StringRegistro), "ZP/Contas/%s.ini", PlayerName(playerid));
DOF2_CreateFile(StringRegistro);
DOF2_SetString(StringRegistro, "Senha", inputtext);
DOF2_SetInt(StringRegistro, "Dinheiro", 50000);
DOF2_SetInt(StringRegistro, "Score", 0);
DOF2_SetInt(StringRegistro, "TempoOn", 0);
DOF2_SetString(StringRegistro, "IP", StrIp);
DOF2_SaveFile();
ContaNova[playerid] = true;
ContaPlayer[playerid][Dinheiro] = DOF2_GetInt(StringRegistro, "Dinheiro");
ContaPlayer[playerid][pScore] = DOF2_GetInt(StringRegistro, "Score");
new str[50];
format(str, sizeof(str), "ZP/ADM/%s.ini", PlayerName(playerid));
ContaPlayer[playerid][Level] = DOF2_GetInt(str, "Level");
Msg(playerid, cortag, "{1E90FF}CONTA: {FFFFFF}Vocк Foi Registrado e Logado Automaticamente!");
CarregarVariaveis(playerid);
return 1;
}
else
{
format(String, sizeof(String), "{1E90FF}CONTA: {FF0000}O jogador %s Foi Kickado Motivo: [Cancelou Registro]", PlayerName(playerid));
MsgToAll(cortag, String);
ZPKick(playerid);
return 1;
}
}
if (dialogid == LOGIN)
{
if(response)
{
if(!strlen(inputtext))
{
format(String, sizeof(String), "{FFFFFF}Bem-Vindo Novamente%s{FFFFFF}, Digite Sua Senha Para Logar.\n\nDigite a Senha:", PlayerName(playerid));
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Login", String, "Logar", "Sair");
return 1;
}
format(StringRegistro, sizeof(StringRegistro), "ZP/Contas/%s.ini", PlayerName(playerid));
if(strcmp(inputtext, DOF2_GetString(StringRegistro, "Senha"), true))
{
if(ErrouSenha[playerid] == 4)
{
format(String, sizeof(String), "{1E90FF}CONTA: {FF0000}O jogador %s Foi Kickado Motivo: [Errou Senha]", PlayerName(playerid));
MsgToAll(cortag, String);
ZPKick(playerid);
return 1;
}
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Senha Errada!", "{FFFFFF}A Senha Que Vocк Digitou Estб {FF0000}Errada!\n\n{FFFFFF}Digite Sua Senha:", "Logar", "Sair");
ErrouSenha[playerid]++;
return 1;
}
else
{
new str[50];
format(str, 50, "ZP/ADM/%s.ini", PlayerName(playerid));
if(DOF2_FileExists(str))
{
if(DOF2_IsSet(str, "Level"))
{
format(str, sizeof(str), "ZP/ADM/%s.ini", PlayerName(playerid));
ContaPlayer[playerid][Level] = DOF2_GetInt(str, "Level");
}
format(str, 50, "ZP/HELPER/%s.ini", PlayerName(playerid));
if(DOF2_IsSet(str, "Helper"))
{
format(str, sizeof(str), "ZP/HELPER/%s.ini", PlayerName(playerid));
ContaPlayer[playerid][Helper] = DOF2_GetInt(str, "Helper");
}
}
ContaPlayer[playerid][Dinheiro] = DOF2_GetInt(StringRegistro, "Dinheiro");
ContaPlayer[playerid][pScore] = DOF2_GetInt(StringRegistro, "Score");
ContaPlayer[playerid][TempoOn] = DOF2_GetInt(StringRegistro, "TempoOn");
GivePlayerMoney(playerid, ContaPlayer[playerid][Dinheiro]);
SetPlayerScore(playerid, ContaPlayer[playerid][pScore]);
new StrIp[300];
GetPlayerIp(playerid, StrIp, 300);
DOF2_SetString(StringRegistro, "IP", StrIp);
DOF2_SaveFile();
ContaNova[playerid] = false;
CarregarVariaveis(playerid);
return 1;
}
}
else
{
format(String, sizeof(String), "{1E90FF}CONTA: {FF0000}O jogador %s Foi Kickado Motivo: [Cancelou Login]", PlayerName(playerid));
MsgToAll(cortag, String);
ZPKick(playerid);
return 1;
}
}
Re: Zera score [ajuda] -
best95 - 22.07.2016
alguem?
Respuesta: Zera score [ajuda] -
SammyJ - 22.07.2016
mostre o code que salva a conta e o onplayerdisconect!
Re: Respuesta: Zera score [ajuda] -
best95 - 22.07.2016
Quote:
Originally Posted by Glederson_dom
mostre o code que salva a conta e o onplayerdisconect!
|
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
SalvarDados(playerid);
new StrDisconnect[350];
switch(reason)
{
case 0: format(StrDisconnect, sizeof(StrDisconnect), "{FF0000}~~ {E0FFFF}(ID:%d) %s Saiu do Server!(Internet/Erro)", playerid, PlayerName(playerid));
case 1: format(StrDisconnect, sizeof(StrDisconnect), "{FF0000}~~ {E0FFFF}(ID:%d) %s Saiu do Server!", playerid, PlayerName(playerid));
case 2: format(StrDisconnect, sizeof(StrDisconnect), "{FF0000}~~ {E0FFFF}(ID:%d) %s Saiu do Server!(Kick/Ban)", playerid, PlayerName(playerid));
}
MsgToAll(cortag, StrDisconnect);
TextDrawHideForPlayer(playerid,Textdraw0);
return 1;
}
Respuesta: Zera score [ajuda] -
SammyJ - 22.07.2016
Cade a funзгo que salvar
SalvarDados(playerid); ?
Re: Zera score [ajuda] -
best95 - 22.07.2016
pawn Код:
stock SalvarDados(playerid)
{
format(StringRegistro, sizeof(StringRegistro), "ZP/Contas/%s.ini", PlayerName(playerid));
DOF2_SetInt(StringRegistro, "Dinheiro", GetPlayerMoney(playerid));
DOF2_SetInt(StringRegistro, "Score", GetPlayerScore(playerid));
DOF2_SetInt(StringRegistro, "Skin", GetPlayerSkin(playerid));
DOF2_SetInt(StringRegistro, "TempoOn", ContaPlayer[playerid][TempoOn]);
new str[50];
format(str, 50, "ZP/ADM/%s.ini", PlayerName(playerid));
if(ContaPlayer[playerid][Level] > 0)
{
format(StringRegistro, sizeof StringRegistro, "ZP/ADM/%s.ini", PlayerName(playerid));
DOF2_SetInt(str, "Level", ContaPlayer[playerid][Level]);
}
format(str, 50, "ZP/HELPER/%s.ini", PlayerName(playerid));
if(ContaPlayer[playerid][Helper] > 0)
{
format(StringRegistro, sizeof StringRegistro, "ZP/HELPER/%s.ini", PlayerName(playerid));
DOF2_SetInt(str, "Helper", ContaPlayer[playerid][Helper]);
}
DOF2_SaveFile();
return 1;
}
Respuesta: Zera score [ajuda] -
SammyJ - 22.07.2016
Vocк esta salvando a conta ao desconectar.
Porйm vocк sу carrega a conta se for sucesso no login. ou seja quando vocк erra a senha e/ou й kickado
vocк salva a conta.
Porque o erro acontece?
Como vocк nгo carregou os dados do jogador, ao dar GetPlayerScore(playerid), vocк vai getar 0, pois vocк ainda nгo setou o SetPlayerScore(playerid score);
Soluзгo:
Crie uma variavel para saber o jogador esta logado.
PHP код:
new bool:Logado[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
Logado[playerid] = false;
}
public OnPlayerSpawn(playerid)
{
if(Logado[playerid] == false)Logado[playerid] = true;
return 1;
}
stock SalvarDados(playerid)
{
if(Logado[playerid] == false)return 1;
format(StringRegistro, sizeof(StringRegistro), "ZP/Contas/%s.ini", PlayerName(playerid));
DOF2_SetInt(StringRegistro, "Dinheiro", GetPlayerMoney(playerid));
DOF2_SetInt(StringRegistro, "Score", GetPlayerScore(playerid));
DOF2_SetInt(StringRegistro, "Skin", GetPlayerSkin(playerid));
DOF2_SetInt(StringRegistro, "TempoOn", ContaPlayer[playerid][TempoOn]);
new str[50];
format(str, 50, "ZP/ADM/%s.ini", PlayerName(playerid));
if(ContaPlayer[playerid][Level] > 0)
{
format(StringRegistro, sizeof StringRegistro, "ZP/ADM/%s.ini", PlayerName(playerid));
DOF2_SetInt(str, "Level", ContaPlayer[playerid][Level]);
}
format(str, 50, "ZP/HELPER/%s.ini", PlayerName(playerid));
if(ContaPlayer[playerid][Helper] > 0)
{
format(StringRegistro, sizeof StringRegistro, "ZP/HELPER/%s.ini", PlayerName(playerid));
DOF2_SetInt(str, "Helper", ContaPlayer[playerid][Helper]);
}
DOF2_SaveFile();
return 1;
}
Re: Respuesta: Zera score [ajuda] -
best95 - 22.07.2016
showw.. era isso mesmo eu tinha criado porem faltou por no SalvarDados! vlw mano +REP! !RESOLVIDO