[Ajuda] Zera score [ajuda]
#1

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;
            }
Reply
#2

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 !
Reply
#3

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;
        }
    }
Reply
#4

alguem?
Reply
#5

mostre o code que salva a conta e o onplayerdisconect!
Reply
#6

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;
}
Reply
#7

Cade a funзгo que salvar

SalvarDados(playerid); ?
Reply
#8

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;
}
Reply
#9

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(StringRegistrosizeof(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(str50"ZP/ADM/%s.ini"PlayerName(playerid));
    if(
ContaPlayer[playerid][Level] > 0)
    {
        
format(StringRegistrosizeof StringRegistro"ZP/ADM/%s.ini"PlayerName(playerid));
        
DOF2_SetInt(str"Level"ContaPlayer[playerid][Level]);
    }
    
format(str50"ZP/HELPER/%s.ini"PlayerName(playerid));
    if(
ContaPlayer[playerid][Helper] > 0)
    {
        
format(StringRegistrosizeof StringRegistro"ZP/HELPER/%s.ini"PlayerName(playerid));
        
DOF2_SetInt(str"Helper"ContaPlayer[playerid][Helper]);
    }
    
DOF2_SaveFile();
    return 
1;

Reply
#10

showw.. era isso mesmo eu tinha criado porem faltou por no SalvarDados! vlw mano +REP! !RESOLVIDO
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)