Salvamento de Conta -
StrondaXxT - 09.08.2012
Seguinte fiz um sistema de Registrar e login blz, ai nгo tava conseguindo fazer um sistema bom de org se ser como o do GF entгo pesquisei e vi um tutorial bom e fiz ele sу que nгo ta salvando a org do jogador tipo convido o cara pra org ai se ele relogar ele sai da org..alguem poderia me dar uma luz ja to a um tempo tentando mais nada ta dando certo
Esse й o registrar e login
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REGISTRO:
{
if (!response) return Kick(playerid);
if (response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, ""BRANCO"Registrando...",""VERMELHO"Vocк digitou uma senha invбlida.\n"BRANCO"Digite sua senha abaixo para registrar uma nova conta.","Registrar","Cancelar");
}
if(INI_Open(ObterINI(playerid)))
{
INI_WriteString("Senha",inputtext);
INI_WriteInt("Score",1);
INI_WriteInt("Dinheiro",5000);
INI_WriteInt("Admin",0);
INI_Save();
INI_Close();
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT,""BRANCO"Logar",""BRANCO"Digite sua senha abaixo para entrar.","Logar","Sair");
}
}
}
case DIALOG_LOGAR:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Senha invalida.\n"BRANCO"Digite sua senha abaixo para entrar.","Logar","Sair");
}
if(INI_Open(ObterINI(playerid)))
{
INI_ReadString(PlayerInfo[playerid][pSenha],"Senha",20);
if(strcmp(inputtext,PlayerInfo[playerid][pSenha],false))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Senha invalida.\n"BRANCO"Digite sua senha abaixo para entrar.","Logar","Sair");
}
SetPlayerScore( playerid, INI_ReadInt("Score" ) );
//ResetPlayerMoney( playerid );
GivePlayerMoney( playerid, INI_ReadInt( "Dinheiro" ) );
PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
INI_Close();
}
}
}
public OnPlayerDisconnect(playerid, reason)
{
if(INI_Open(ObterINI(playerid))) {
INI_WriteInt("Score",PlayerInfo[playerid][pScore]);
INI_WriteInt("Dinheiro",GetPlayerMoney(playerid));
INI_WriteInt("Admin",PlayerInfo[playerid][pAdmin]);
INI_Save();
INI_Close();
}
return 1;
}
aqui seria o salvar org
Код:
public SalvarOrg(playerid)
{
new arquivo[64], nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
format(arquivo, 30, "contas\%s.ini", nome);
if(!dini_Exists(arquivo))
{
dini_Create(arquivo);
}
if(JogadorInfo[playerid][Policia] > 0) dini_IntSet(arquivo, "Policia", JogadorInfo[playerid][Policia]);
if(JogadorInfo[playerid][Canaa] > 0) dini_IntSet(arquivo, "Canaa", JogadorInfo[playerid][Canaa]);
if(JogadorInfo[playerid][Planalto] > 0) dini_IntSet(arquivo, "Planalto", JogadorInfo[playerid][Planalto]);
return 1;
}
Re: Salvamento de Conta -
Rhayziin - 09.08.2012
^^ Tenta usar Dini ou Dof2
Re: Salvamento de Conta -
Don_Speed - 09.08.2012
Conflito por causa de 2 salvamentos
1 Salva e outro nao!
Re: Salvamento de Conta -
StrondaXxT - 09.08.2012
Quote:
Originally Posted by Don_Speed
Conflito por causa de 2 salvamentos
1 Salva e outro nao!
|
Na mosca o primeiro esta salvando corretamente mais o segundo( que й das orgs nгo salva tentei por tudo no primeiro mais nгo deu.
Re: Salvamento de Conta -
Don_Speed - 09.08.2012
Troca de dini_IntSet para INI_WriteInt .
Isso resolvera seu problema!
Re: Salvamento de Conta -
BreakDriFT - 09.08.2012
Usa so uma include de salvamento mano.
Re: Salvamento de Conta -
StrondaXxT - 09.08.2012
Fiz isso:
Quando o cara logar
Код:
case DIALOG_LOGAR:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Senha invalida.\n"BRANCO"Digite sua senha abaixo para entrar.","Logar","Sair");
}
if(INI_Open(ObterINI(playerid)))
{
INI_ReadString(PlayerInfo[playerid][pSenha],"Senha",20);
if(strcmp(inputtext,PlayerInfo[playerid][pSenha],false))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Senha invalida.\n"BRANCO"Digite sua senha abaixo para entrar.","Logar","Sair");
}
SetPlayerScore( playerid, INI_ReadInt("Score" ) );
//ResetPlayerMoney( playerid );
GivePlayerMoney( playerid, INI_ReadInt( "Dinheiro" ) );
PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
JogadorInfo[playerid][Policia] = INI_ReadInt("Policia");
JogadorInfo[playerid][Policia] = INI_ReadInt("Canaa");
JogadorInfo[playerid][Policia] = INI_ReadInt("Planalto");
INI_Close();
}
}
}
quando deslogar salvar qual org q ta
Код:
public OnPlayerDisconnect(playerid, reason)
{
if(INI_Open(ObterINI(playerid))) {
INI_WriteInt("Score",PlayerInfo[playerid][pScore]);
INI_WriteInt("Dinheiro",GetPlayerMoney(playerid));
INI_WriteInt("Admin",PlayerInfo[playerid][pAdmin]);
INI_WriteInt("Policia", JogadorInfo[playerid][Policia]);
INI_WriteInt("Canaa", JogadorInfo[playerid][Canaa]);
INI_WriteInt("Planalto", JogadorInfo[playerid][Planalto]);
INI_Save();
INI_Close();
}
return 1;
}
Sу que salva blz, mais ai quando logo de novo ta como cargo 0 da org ai vejo o jogador.ini ta la o nome da org = 0 de vez o numero do cargo
Re: Salvamento de Conta -
StrondaXxT - 10.08.2012
tem como alguйm me ajudar ai??
Respuesta: Salvamento de Conta -
AnonymouSs - 10.08.2012
Tente:
pawn Код:
case DIALOG_LOGAR:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Senha invalida.\n"BRANCO"Digite sua senha abaixo para entrar.","Logar","Sair");
}
if(INI_Open(ObterINI(playerid)))
{
INI_ReadString(PlayerInfo[playerid][pSenha],"Senha",20);
if(strcmp(inputtext,PlayerInfo[playerid][pSenha],false))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Senha invalida.\n"BRANCO"Digite sua senha abaixo para entrar.","Logar","Sair");
}
SetPlayerScore( playerid, INI_ReadInt("Score" ) );
//ResetPlayerMoney( playerid );
GivePlayerMoney( playerid, INI_ReadInt( "Dinheiro" ) );
PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
JogadorInfo[playerid][Policia] = INI_ReadInt("Policia");
JogadorInfo[playerid][Policia] = INI_ReadInt("Canaa");
JogadorInfo[playerid][Policia] = INI_ReadInt("Planalto");
JogadorInfo[playerid][pCargo] = INI_ReadInt("Cargo");
INI_Close();
}
}
}
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
if(INI_Open(ObterINI(playerid))) {
INI_WriteInt("Score",PlayerInfo[playerid][pScore]);
INI_WriteInt("Dinheiro",GetPlayerMoney(playerid));
INI_WriteInt("Admin",PlayerInfo[playerid][pAdmin]);
INI_WriteInt("Policia", JogadorInfo[playerid][Policia]);
INI_WriteInt("Canaa", JogadorInfo[playerid][Canaa]);
INI_WriteInt("Planalto", JogadorInfo[playerid][Planalto]);
INI_WriteInt("Cargo", JogadorInfo[playerid][pCargo]);
INI_Save();
INI_Close();
}
return 1;
}
Vc vai ter q colocar na sua enum o pCargo ou oq vc quiser.
Ai se ele for expulso da org seta o cargo dele pra 0 junto com a org claro.
Nгo testei e sou iniciante.
Re: Salvamento de Conta -
Don_Speed - 10.08.2012
Troca de dini_IntSet para INI_WriteInt .
Isso resolvera seu problema!