Problemas com Y_INI no GMX -
Rodney Francalim - 27.10.2012
Olб, tф enfrentando alguns problemas com o Y_INI.
Ele salva as informaзхes normalmente, quando o jogador desloga as informaзхes ficam salvas, quando ele entra continua tudo normal, MAAAAAAAS quando eu dф GMX, com o jogador online ou nгo, e quando ele loga no servidor e na tela de login a conta do jogador й detectada, atй porque o arquivo .ini ainda estб na pasta com todas as informaзхes ainda corretнssimas, e quando eu digito a senha para logar, й como se eu tivesse acabo de me registrar, e vou pra tela de escolha de grupo, ou seja, й como se os valores fossem resetados, mas sу quando o servidor й ligado (ou seja, quando der o GMX tambйm).
Se alguйm jб teve algum problema desse e souber a soluзгo, pode me falar como resolveu?
Caso seja preciso postar o cуdigo, basta pedir.
Re: Problemas com Y_INI no GMX -
MatheusAlcapone - 27.10.2012
poste o OnGameModeExit
Re: Problemas com Y_INI no GMX -
Rodney Francalim - 27.10.2012
pawn Код:
public OnGameModeExit()
{
return 1;
}
'-'
Re: Problemas com Y_INI no GMX -
Rodney Francalim - 28.10.2012
Up. Ainda nгo consegui resolver esse problema. :/
Re: Problemas com Y_INI no GMX -
zSuYaNw - 28.10.2012
Por favor, й de grande importвncia vocк postar a parte que loga.
Re: Problemas com Y_INI no GMX -
Rodney Francalim - 28.10.2012
pawn Код:
public OnPlayerConnect(playerid)
{
LimparChat(playerid, 125);
SetPlayerColor(playerid, COR_CINZA);
SetPlayerVirtualWorld(playerid, playerid+1);
TogglePlayerAllDynamicCPs(playerid, 1);
SCM(playerid, "{FFFF00}(INFO){A9C4E4}: Carregando suas informaзхes...");
SCM(playerid, "{FFFF00}(INFO){A9C4E4}: Aguarde...");
JogadorInfo[playerid][jLogado] = false;
SetPlayerMapIcon( playerid, 0, 2200.8806,1394.2930,11.0625, 55, 0, MAPICON_LOCAL); // ENTRADA - CONCESSIONARIA
SetPlayerMapIcon( playerid, 1, 2151.3625,1403.4315,11.1328, 38, 1, MAPICON_LOCAL); // SPAWN - CORREDORES
return 1;
}
Hб um SetTimer para tela de bem-vindo e lб й chamada й tela de login
pawn Код:
stock LogarRegistrar(playerid)
{
if(fexist(jPasta(playerid)))
{
INI_ParseFile(jPasta(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"{FFFF00}(LOGIN)", "Bem-vindo de volta ao RWGA: Las Venturas.\n\nDigite sua senha para logar-se.", "Logar", "");
}
else ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD,"{FFFF00}(REGISTRO)", "Bem-vindo ao RWGA: Las Venturas.\n\nDigite sua senha para registrar-se.", "Registrar", "");
return 1;
}
pawn Код:
//No OnDialogResponse
case REGISTRO:
{
if(!response) return LimparChat(playerid, 125), SCM(playerid, "{FF0000}(ERRO){A9C4E4}: Vocк foi kickado automaticamente. Motivo: Recusou o registro."), Kick(playerid);
else
{
if(strlen(inputtext) < 5 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD,"{FFFF00}REGISTRO", "{FF0000}Vocк precisa digitar no mнnimo 5 caractйres e no mбximo 20.\n\n{A9C4E4}Digite sua senha para registrar-se.", "Registrar", "");
// ------------------ REGISTRAR JOGADOR ------------------ //
new INI:jArquivo = INI_Open(jPasta(playerid));
INI_SetTag(jArquivo,"dados");
INI_WriteString(jArquivo,"Senha", inputtext);
INI_WriteInt(jArquivo,"Admin", 0);
INI_WriteInt(jArquivo,"Nivel", 0);
INI_WriteInt(jArquivo,"Dinheiro", 0);
INI_WriteInt(jArquivo,"Skin", 0);
INI_Close(jArquivo);
format(gstring, sizeof(gstring), "%s", inputtext);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"{FFFF00}(LOGIN)", "{FFFF00}Conta criada com sucesso.\n\n{A9C4E4}Digite sua senha para logar-se.", "Logar", "");
}
}
case LOGIN:
{
if(!response) return LimparChat(playerid, 125), SCM(playerid, "{FF0000}(ERRO){A9C4E4}: Vocк foi kickado automaticamente. Motivo: Recusou o login."), Kick(playerid);
else
{
if(strlen(inputtext) < 5 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"{FFFF00}(LOGIN)", "{FF0000}Vocк precisa digitar no mнnimo 5 caractйres e no mбximo 20.\n\n{A9C4E4}Digite sua senha para logar-se.", "Logar", "");
INI_ParseFile(jPasta(playerid), "j_pSenha", false, true, playerid);
GetPVarString(playerid, "a_jSenha", gstring, sizeof gstring);
if(!strcmp(inputtext, gstring, true)) JogadorInfo[playerid][jLogado] = true, SpawnPlayer(playerid);
else ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"{FFFF00}(LOGIN)", "{FF0000}Senha incorreta.\n\n{A9C4E4}Digite sua senha para logar-se.", "Logar", "");
}
}
Re: Problemas com Y_INI no GMX -
zSuYaNw - 28.10.2012
j_pSenha, й uma callback?
Re: Problemas com Y_INI no GMX -
Rodney Francalim - 28.10.2012
Sim, sim.
pawn Код:
forward j_pSenha(playerid, name[], value[]);
public j_pSenha(playerid, name[], value[]) if(!strcmp(name, "Senha")) SetPVarString(playerid, "a_jSenha", value);
Eu tive que fazer isso, pois a senha nгo ficava salva no arquivo de jeito nenhum.
Re: Problemas com Y_INI no GMX -
zSuYaNw - 28.10.2012
Vamos fazer debug para descobrir qual parte estamos errando:
pawn Код:
case LOGIN:
{
if(!response)
return LimparChat(playerid, 125), SCM(playerid, "{FF0000}(ERRO){A9C4E4}: Vocк foi kickado automaticamente. Motivo: Recusou o login."), Kick(playerid);
if(strlen(inputtext) < 5 || strlen(inputtext) > 20)
return ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"{FFFF00}(LOGIN)", "{FF0000}Vocк precisa digitar no mнnimo 5 caractйres e no mбximo 20.\n\n{A9C4E4}Digite sua senha para logar-se.", "Logar", "");
INI_ParseFile(jPasta(playerid), "j_pSenha", false, true, playerid);
GetPVarString(playerid, "a_jSenha", gstring, sizeof gstring);
//
{
printf("DEBUG: (LOGIN) INPUTTEXT: %s | a_jSenha: %s", inputtext, GetPVarString(playerid, "a_jSenha", gstring, sizeof gstring));
///
if(!strcmp(inputtext, gstring, true)) JogadorInfo[playerid][jLogado] = true, SpawnPlayer(playerid);
else {
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"{FFFF00}(LOGIN)", "{FF0000}Senha incorreta.\n\n{A9C4E4}Digite sua senha para logar-se.", "Logar", "");
}
}
Re: Problemas com Y_INI no GMX -
Rodney Francalim - 28.10.2012
Ok, vou colocar isso.
Mas foi como eu falei, as contas resetam, sу quando eu abro o samp-server, ou quando dou GMX.
E isso й o que me deixa maluco. --'
@EDIT
Apareceu isso:
"DEBUG: (LOGIN) INPUTTEXT: olokomano | a_jSenha:/Contas/Rodney_Francalim.ini"