Problema com Salvamento de Contas.[RESOLVIDO] -
Poseidon4625 - 21.08.2018
Entгo pessoal estou tendo um problema com salvamento de contas pelo DOF2 jб faz algum tempo, vou dar um exemplo o Jogador
Tal entrou no servidor e criou uma conta e logo apуs saiu, a conta dele foi salva corretamente na pasta das Contas criou o arquivo com os dados do player
Tal tudo certinho e logo apуs de alguns segundos/minutos foi criado outro arquivo .ini com os dados do jogador que tinha criado a conta isso mesmo ele estando offline, alguйm sabe onde pode ser o problema se й por causa de variбveis que tem que ser zeradas ou algo do tipo??
Pois nгo vi nenhum erro em meu sistema, jб fiz diversos testes e nгo consegui encontrar o BUG, se alguйm poder ajudar agradeзo.
Como estб:
Se nгo for ajudar nгo comente.
@EDIT.
Resolvido pessoal, se o problema voltar eu aviso aqui no tуpico.
Resolvido, o Problema nгo voltou estava acontecendo porque eu tinha esquecido de por pra zerar as variбveis dos jogadores apуs o disconnect.
Re: Problema com Salvamento de Contas. -
F1N4L - 21.08.2018
Manda a funзгo de salvamento.
Existe um timer que efetua o salvamento de tempos em tempos?
Re: Problema com Salvamento de Contas. -
Poseidon4625 - 21.08.2018
Nгo tem timer, salva em tempo real, se um player comprar um MP3 jб salva na hora.
PHP код:
SavePlayer(playerid)
{
if(DOF2_FileExists(GetPlayerArquivo(playerid)))
{
DOF2_CreateFile(GetPlayerArquivo(playerid));
new grana;
grana = GetPlayerGrana(playerid);
GetPlayerPos(playerid, pPosX[playerid], pPosY[playerid], pPosZ[playerid]);
GetPlayerFacingAngle(playerid, pPosA[playerid]);
PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
DOF2_SetInt(GetPlayerArquivo(playerid),"Level", PlayerInfo[playerid][pLevel]);
DOF2_SetInt(GetPlayerArquivo(playerid),"Dinheiro", grana);
DOF2_SetInt(GetPlayerArquivo(playerid),"Admin", pAdmin[playerid]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Plano", PlayerInfo[playerid][pPlano]);
DOF2_SetInt(GetPlayerArquivo(playerid), "EXP", PlayerInfo[playerid][pExpe]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Porte", PlayerInfo[playerid][pPorte]);
DOF2_SetInt(GetPlayerArquivo(playerid), "HabTrem", PlayerInfo[playerid][pTrem]);
DOF2_SetInt(GetPlayerArquivo(playerid), "HELG", PlayerInfo[playerid][pHELG]);
DOF2_SetInt(GetPlayerArquivo(playerid), "HEVG", PlayerInfo[playerid][pHEVG]);
DOF2_SetInt(GetPlayerArquivo(playerid), "HEAG", PlayerInfo[playerid][pHEAG]);
DOF2_SetInt(GetPlayerArquivo(playerid), "RelogioUP", PlayerInfo[playerid][pRelogioUP]);
DOF2_SetInt(GetPlayerArquivo(playerid), "MP3", PlayerInfo[playerid][pMP3]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Oculos", PlayerInfo[playerid][pOculos]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Gorro", PlayerInfo[playerid][pGorro]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Motos", PlayerInfo[playerid][pMotos]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Carros", PlayerInfo[playerid][pCarros]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Caminhoes", PlayerInfo[playerid][pCaminhoes]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Carretas", PlayerInfo[playerid][pCarretas]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Onibus", PlayerInfo[playerid][pOnibus]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Barcos", PlayerInfo[playerid][pBarcos]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Avioes", PlayerInfo[playerid][pAvioes]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Helicopteros", PlayerInfo[playerid][pHelicopeteros]);
DOF2_SetInt(GetPlayerArquivo(playerid),"Skin", PlayerInfo[playerid][pSkin]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Profissao", PlayerInfo[playerid][pProfissao]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Tutorial", PlayerInfo[playerid][pTutorial]);
DOF2_SetInt(GetPlayerArquivo(playerid), "RelogioUPM",PlayerInfo[playerid][pminUP]);
DOF2_SetInt(GetPlayerArquivo(playerid), "RelogioUPS",PlayerInfo[playerid][psegUP]);
DOF2_SetFloat(GetPlayerArquivo(playerid), "PosX", pPosX[playerid]);
DOF2_SetFloat(GetPlayerArquivo(playerid), "PosY", pPosY[playerid]);
DOF2_SetFloat(GetPlayerArquivo(playerid), "PosZ", pPosZ[playerid]);
DOF2_SetFloat(GetPlayerArquivo(playerid), "PosA", pPosA[playerid]);
DOF2_SetInt(GetPlayerArquivo(playerid),"FOME", GetPVarInt(playerid,"FOME"));
DOF2_SetInt(GetPlayerArquivo(playerid),"SEDE", GetPVarInt(playerid,"SEDE"));
DOF2_SetInt(GetPlayerArquivo(playerid),"SONO", GetPVarInt(playerid,"SONO"));
DOF2_SetInt(GetPlayerArquivo(playerid),"SAUDE", GetPVarInt(playerid,"SAUDE"));
DOF2_SaveFile();
}
return 1;
}
Re: Problema com Salvamento de Contas. -
F1N4L - 21.08.2018
Й muito estranho.
Nessa print um arquivo й criado 3 minutos depois.
Quando o jogador sai do servidor, o console indica que o jogador realmente saiu? Tem um delay entre a desconexгo do jogador e a informaзгo no console indicando que o mesmo se desconectou?
@edit
O arquivo criado posteriormente nгo possui nome?
@edit І
PHP код:
if(DOF2_FileExists(GetPlayerArquivo(playerid)))
{
DOF2_CreateFile(GetPlayerArquivo(playerid));
Код:
Se (ArquivoExiste("Arquivo")) Entгo
Inicio
CriarArquivo("Arquivo")
Fim
Reveja essa sua lуgica de salvamento...
Re: Problema com Salvamento de Contas. -
Poseidon4625 - 21.08.2018
O arquivo que й criado nгo possui nome, e quando o jogador se desconecta aparece no console por isso achei bem estranho.
Re: Problema com Salvamento de Contas. -
F1N4L - 21.08.2018
Quote:
Originally Posted by Poseidon4625
O arquivo que й criado nгo possui nome, e quando o jogador se desconecta aparece no console por isso achei bem estranho.
|
Dб uma olhada no edit І.
Re: Problema com Salvamento de Contas. -
humildadeforever - 21.08.2018
Quote:
Originally Posted by Poseidon4625
Nгo tem timer, salva em tempo real, se um player comprar um MP3 jб salva na hora.
PHP код:
SavePlayer(playerid)
{
if(DOF2_FileExists(GetPlayerArquivo(playerid)))
{
DOF2_CreateFile(GetPlayerArquivo(playerid));
new grana;
grana = GetPlayerGrana(playerid);
GetPlayerPos(playerid, pPosX[playerid], pPosY[playerid], pPosZ[playerid]);
GetPlayerFacingAngle(playerid, pPosA[playerid]);
PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
DOF2_SetInt(GetPlayerArquivo(playerid),"Level", PlayerInfo[playerid][pLevel]);
DOF2_SetInt(GetPlayerArquivo(playerid),"Dinheiro", grana);
DOF2_SetInt(GetPlayerArquivo(playerid),"Admin", pAdmin[playerid]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Plano", PlayerInfo[playerid][pPlano]);
DOF2_SetInt(GetPlayerArquivo(playerid), "EXP", PlayerInfo[playerid][pExpe]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Porte", PlayerInfo[playerid][pPorte]);
DOF2_SetInt(GetPlayerArquivo(playerid), "HabTrem", PlayerInfo[playerid][pTrem]);
DOF2_SetInt(GetPlayerArquivo(playerid), "HELG", PlayerInfo[playerid][pHELG]);
DOF2_SetInt(GetPlayerArquivo(playerid), "HEVG", PlayerInfo[playerid][pHEVG]);
DOF2_SetInt(GetPlayerArquivo(playerid), "HEAG", PlayerInfo[playerid][pHEAG]);
DOF2_SetInt(GetPlayerArquivo(playerid), "RelogioUP", PlayerInfo[playerid][pRelogioUP]);
DOF2_SetInt(GetPlayerArquivo(playerid), "MP3", PlayerInfo[playerid][pMP3]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Oculos", PlayerInfo[playerid][pOculos]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Gorro", PlayerInfo[playerid][pGorro]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Motos", PlayerInfo[playerid][pMotos]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Carros", PlayerInfo[playerid][pCarros]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Caminhoes", PlayerInfo[playerid][pCaminhoes]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Carretas", PlayerInfo[playerid][pCarretas]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Onibus", PlayerInfo[playerid][pOnibus]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Barcos", PlayerInfo[playerid][pBarcos]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Avioes", PlayerInfo[playerid][pAvioes]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Helicopteros", PlayerInfo[playerid][pHelicopeteros]);
DOF2_SetInt(GetPlayerArquivo(playerid),"Skin", PlayerInfo[playerid][pSkin]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Profissao", PlayerInfo[playerid][pProfissao]);
DOF2_SetInt(GetPlayerArquivo(playerid), "Tutorial", PlayerInfo[playerid][pTutorial]);
DOF2_SetInt(GetPlayerArquivo(playerid), "RelogioUPM",PlayerInfo[playerid][pminUP]);
DOF2_SetInt(GetPlayerArquivo(playerid), "RelogioUPS",PlayerInfo[playerid][psegUP]);
DOF2_SetFloat(GetPlayerArquivo(playerid), "PosX", pPosX[playerid]);
DOF2_SetFloat(GetPlayerArquivo(playerid), "PosY", pPosY[playerid]);
DOF2_SetFloat(GetPlayerArquivo(playerid), "PosZ", pPosZ[playerid]);
DOF2_SetFloat(GetPlayerArquivo(playerid), "PosA", pPosA[playerid]);
DOF2_SetInt(GetPlayerArquivo(playerid),"FOME", GetPVarInt(playerid,"FOME"));
DOF2_SetInt(GetPlayerArquivo(playerid),"SEDE", GetPVarInt(playerid,"SEDE"));
DOF2_SetInt(GetPlayerArquivo(playerid),"SONO", GetPVarInt(playerid,"SONO"));
DOF2_SetInt(GetPlayerArquivo(playerid),"SAUDE", GetPVarInt(playerid,"SAUDE"));
DOF2_SaveFile();
}
return 1;
}
|
Vocк verifica se o arquivo existe e, caso exista, cria o mesmo arquivo de novo. Deve ser esse o problema.
O arquivo deve ser criado no ato do registro apenas. Nгo toda vez que vai salvar o arquivo.
Remova
PHP код:
DOF2_CreateFile(GetPlayerArquivo(playerid));
Do salvamento e coloque apenas no registro.
Re: Problema com Salvamento de Contas. -
Poseidon4625 - 21.08.2018
Vlw pela ajuda pessoal, mais tarde irei fazer uns testes e aviso se deu certo.