[Ajuda] SII Bug?
#1

Eae pessoal
To aqui para pedir ajuda com um problema q eu nгo estou entendendo o porque que esta acontecendo.
Estou usando o SII no meu sistema de registro mas ele esta Pulando e Nгo salvando a senha quando o player sai do servidor. Codigos se encontram abaixo \/

pawn Код:
stock RegistrarJogador(playerid, Senha[])
{
    new string[128];
    format(string, sizeof(string), "Jogadores/%s.txt", GetPlayerNameEx(playerid));
    strmid(PlayerInfo[playerid][pSenha], Senha, 0, strlen(Senha), 255);
    INI_Create(string);
    INI_Open(string);
    INI_WriteString("Senha", PlayerInfo[playerid][pSenha]);
    INI_WriteInt("Level", PlayerInfo[playerid][pLevel]);
    INI_WriteInt("Dinheiro", PlayerInfo[playerid][pDinheiro]);
    INI_WriteInt("Emprego", PlayerInfo[playerid][pEmprego]);
    INI_WriteInt("FimVipDia", PlayerInfo[playerid][pVipTime][0]);
    INI_WriteInt("FimVipMes", PlayerInfo[playerid][pVipTime][1]);
    INI_WriteInt("FimVipAno", PlayerInfo[playerid][pVipTime][2]);
    INI_WriteInt("UltimoLoginHoras", PlayerInfo[playerid][pUltimoLogin][0]);
    INI_WriteInt("UltimoLoginMinutos", PlayerInfo[playerid][pUltimoLogin][1]);
    INI_WriteInt("UltimoLoginSegundos", PlayerInfo[playerid][pUltimoLogin][2]);
    INI_WriteInt("UltimoLoginAno", PlayerInfo[playerid][pUltimoLogin][3]);
    INI_WriteInt("UltimoLoginMes", PlayerInfo[playerid][pUltimoLogin][4]);
    INI_WriteInt("UltimoLoginDia", PlayerInfo[playerid][pUltimoLogin][5]);
    INI_WriteInt("HabMecanico", PlayerInfo[playerid][pHabMecanico]);
    INI_WriteInt("HabLadrao", PlayerInfo[playerid][pHabLadrao]);
    INI_WriteInt("TempoLadrao", PlayerInfo[playerid][pTempoLadrao]);
    INI_WriteInt("Pizzas", PlayerInfo[playerid][pPizzas]);
    INI_Save();
    INI_Close();
    //...
    return 1;
}

stock LogarJogador(playerid, Senha[])
{
    new string[128];
    format(string, sizeof(string), "Jogadores/%s.txt", GetPlayerNameEx(playerid));
    //Pegar Senha
    INI_Open(string);
    INI_ReadString(PlayerInfo[playerid][pSenha], "Senha");
    INI_Close();

    //Checar Senha
    if(!strcmp(Senha, PlayerInfo[playerid][pSenha], true))
    {
        //Carregar Tudo
        INI_Open(string);
        PlayerInfo[playerid][pLevel] = INI_ReadInt("Level");
        PlayerInfo[playerid][pDinheiro] = INI_ReadInt("Dinheiro");
        PlayerInfo[playerid][pEmprego] = INI_ReadInt("Emprego");
        PlayerInfo[playerid][pVipTime][0] = INI_ReadInt("FimVipDia");
        PlayerInfo[playerid][pVipTime][1] = INI_ReadInt("FimVipMes");
        PlayerInfo[playerid][pVipTime][2] = INI_ReadInt("FimVipAno");
        PlayerInfo[playerid][pUltimoLogin][0] = INI_ReadInt("UltimoLoginHoras");
        PlayerInfo[playerid][pUltimoLogin][1] = INI_ReadInt("UltimoLoginMinutos");
        PlayerInfo[playerid][pUltimoLogin][2] = INI_ReadInt("UltimoLoginSegundos");
        PlayerInfo[playerid][pUltimoLogin][3] = INI_ReadInt("UltimoLoginAno");
        PlayerInfo[playerid][pUltimoLogin][4] = INI_ReadInt("UltimoLoginMes");
        PlayerInfo[playerid][pUltimoLogin][5] = INI_ReadInt("UltimoLoginDia");
        PlayerInfo[playerid][pHabMecanico] = INI_ReadInt("HabMecanico");
        PlayerInfo[playerid][pHabLadrao] = INI_ReadInt("HabLadrao");
        PlayerInfo[playerid][pTempoLadrao] = INI_ReadInt("TempoLadrao");
        PlayerInfo[playerid][pPizzas] = INI_ReadInt("Pizzas");
        INI_Close();
    }
    else
    {
        ShowPlayerDialog(playerid, BoxLogar, DIALOG_STYLE_PASSWORD, "Login", "Bem-Vindo.\n\nInsira a Senha Correta:", "Logar", "Sair");
        return 1;
    }
    //...
}

stock SalvarJogador(playerid)
{
    new string[128];
    format(string, sizeof(string), "Jogadores/%s.txt", GetPlayerNameEx(playerid));
    INI_Open(string);
    INI_WriteString("Senha", PlayerInfo[playerid][pSenha]); //Esta parte й que Pula.
    INI_WriteInt("Level", PlayerInfo[playerid][pLevel]);
    INI_WriteInt("Dinheiro", PlayerInfo[playerid][pDinheiro]);
    INI_WriteInt("Emprego", PlayerInfo[playerid][pEmprego]);
    INI_WriteInt("FimVipDia", PlayerInfo[playerid][pVipTime][0]);
    INI_WriteInt("FimVipMes", PlayerInfo[playerid][pVipTime][1]);
    INI_WriteInt("FimVipAno", PlayerInfo[playerid][pVipTime][2]);
    INI_WriteInt("UltimoLoginHoras", PlayerInfo[playerid][pUltimoLogin][0]);
    INI_WriteInt("UltimoLoginMinutos", PlayerInfo[playerid][pUltimoLogin][1]);
    INI_WriteInt("UltimoLoginSegundos", PlayerInfo[playerid][pUltimoLogin][2]);
    INI_WriteInt("UltimoLoginAno", PlayerInfo[playerid][pUltimoLogin][3]);
    INI_WriteInt("UltimoLoginMes", PlayerInfo[playerid][pUltimoLogin][4]);
    INI_WriteInt("UltimoLoginDia", PlayerInfo[playerid][pUltimoLogin][5]);
    INI_WriteInt("HabMecanico", PlayerInfo[playerid][pHabMecanico]);
    INI_WriteInt("HabLadrao", PlayerInfo[playerid][pHabLadrao]);
    INI_WriteInt("TempoLadrao", PlayerInfo[playerid][pTempoLadrao]);
    INI_WriteInt("Pizzas", PlayerInfo[playerid][pPizzas]);
    INI_Save();
    INI_Close();
    return 1;
}
No registro, salva normalmente so que quando eu saio do servidor o arquivo fica salvo...

Код:
>> Level=1 << Era pra salvar a Senha Aqui
Level=1
Dinheiro=1000
UltimoLoginHoras=15
UltimoLoginMinutos=51
UltimoLoginSegundos=49
UltimoLoginAno=2012
UltimoLoginMes=7
UltimoLoginDia=22
Emprego=1
FimVipDia=0
FimVipMes=0
FimVipAno=0
HabMecanico=0
HabLadrao=0
TempoLadrao=0
Pizzas=0
...Sem a senha. Alquem ae pode me ajudar?
Reply
#2

Jб tentou aumentar o valor da string?
Reply
#3

SII nгo tem extensгo para isto.
Reply
#4

Ao se registrar o que acontece? a senha й salvo perfeitamente? em qual pos?
Reply
#5

Antes de Registrar

Код:
Senha=???
Level=1
Dinheiro=1000
UltimoLoginHoras=15
UltimoLoginMinutos=51
UltimoLoginSegundos=49
UltimoLoginAno=2012
UltimoLoginMes=7
UltimoLoginDia=22
Emprego=1
FimVipDia=0
FimVipMes=0
FimVipAno=0
HabMecanico=0
HabLadrao=0
TempoLadrao=0
Pizzas=0
Apos Registrar e Sair do Server

Код:
Level=1
Level=1
Dinheiro=1000
UltimoLoginHoras=15
UltimoLoginMinutos=51
UltimoLoginSegundos=49
UltimoLoginAno=2012
UltimoLoginMes=7
UltimoLoginDia=22
Emprego=1
FimVipDia=0
FimVipMes=0
FimVipAno=0
HabMecanico=0
HabLadrao=0
TempoLadrao=0
Pizzas=0
#Edit

Nem ta LENDO a Senha :@
Reply
#6

Mostra como tб antes de se registrar..
Reply
#7

Descobri :@ Vlw ae por quem tentou ajudar .-.

Код:
INI_ReadString(PlayerInfo[playerid][pSenha], "Senha", 32);
Reply
#8

Pra que o strmid? Isto й inъtil passar para outra var, seria bem mais simples usar o inputtext ao invйs de strmid.

pawn Код:
PlayerInfo[playerid][pSenha]
//ficando assim
PlayerInfo[playerid][inputtext];
ou
inputtext =  PlayerInfo[playerid][pSenha];

ou atй mesmo ir diretamente no salvamento da string, e colocar "inputtext" ao invйs de criar uma var para isto.

e uma coisa, pra que criar stock se vai ser sу usada ao se registrar...
Reply
#9

Quote:
Originally Posted by leonardo1434
Посмотреть сообщение
Pra que o strmid? Isto й inъtil passar para outra var, seria bem mais simples usar o inputtext ao invйs de strmid.

pawn Код:
PlayerInfo[playerid][pSenha]
//ficando assim
PlayerInfo[playerid][inputtext];
ou
inputtext =  PlayerInfo[playerid][pSenha];

ou atй mesmo ir diretamente no salvamento da string, e colocar "inputtext" ao invйs de criar uma var para isto.

e uma coisa, pra que criar stock se vai ser sу usada ao se registrar...
Vocк sabe como funciona uma Strmid?

inputtext = PlayerInfo[playerid][pSenha]; Iria dar Erro ou Atй nгo formatar.
PlayerInfo[playerid][inputtext]; DA ONDE VC TIROU ISSO?
Reply
#10

Erro meu,os dois primeiros casos que postei sу iriam funcionar caso fosse nъmeros, e como nгo sгo, iria dar erros.

Entгo, somente a ultima que eu disse iria funcionar,sobre strmid sim, pegar partes de uma string.


#Fail.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)