[Ajuda] CARREGAR DINHEIRO
#1

todos os dados salvos estгo carregando exceto o dinheiro, quando vou na pasta constas e olho o arquivo criado o dinheiro esta salvo la, esta com a quantia certa mas ele nгo carrega no jogo.

aqui estгo os cуdigos:

pawn Код:
stock CarregarContas(playerid) {
      new file[90];
      format(file, sizeof(file), "Contas/%s.ini",  PlayerName(playerid));

      pDados[playerid][Dinheiro]   =   GetPlayerMoney(playerid);                                    /*  ADD FILE EXISTS | RETURN 1;      */
      pDados[playerid][Admin] = DOF2_GetInt(file, "Admin");
      pDados[playerid][Level] = DOF2_GetInt(file, "Level");
      pDados[playerid][Dinheiro] = DOF2_GetInt(file, "Dinheiro");
      pDados[playerid][Cargo] = DOF2_GetInt(file, "Cargo");
      pDados[playerid][Organizacao] = DOF2_GetInt(file, "Organizacao");
      pDados[playerid][Matou] = DOF2_GetInt(file, "Matou");
      pDados[playerid][Morreu] = DOF2_GetInt(file, "Morreu");
      pDados[playerid][Maconha] = DOF2_GetInt(file, "Maconha");
      SendClientMessage(playerid, Azul, "Sua conta foi carregada com sucesso !");
      SpawnPlayer(playerid);
      return 1;
      }
pawn Код:
public OnPlayerConnect(playerid)

{
/* AQUI EU JA TENTEI DEIXAR IF DOF2 FILE EXISTS MAS PERSISTIU EM NГO CARREGAR */
        SpawnPlayer(playerid);

        new file[90];
        format(file, sizeof(file), PASTA_CONTAS, file);
        if(DOF2_FileExists(file)) {
        CarregarContas(playerid);
        }
return 1;
}
pawn Код:
public OnPlayerDisconnect(playerid, reason)

{    new file[90];
        format(file, sizeof(file), PASTA_CONTAS, file);
        if(DOF2_FileExists(file)) {
        SalvarContas(playerid);
          }
return 1;
}
pawn Код:
stock SalvarContas(playerid) {
      new file[90];
      format(file, sizeof(file), "Contas/%s.ini",  PlayerName(playerid));

      DOF2_SetInt(file, "Admin",       pDados[playerid][Admin]);
      DOF2_SetInt(file, "Level",       pDados[playerid][Level]);
      DOF2_SetInt(file, "Dinheiro",    pDados[playerid][Dinheiro]);
      DOF2_SetInt(file, "Organizacao", pDados[playerid][Organizacao]);
      DOF2_SetInt(file, "Cargo",       pDados[playerid][Cargo]);
      DOF2_SetInt(file, "Senha",       pDados[playerid][Senha]);
      DOF2_SetInt(file, "Matou",       pDados[playerid][Matou]);
      DOF2_SetInt(file, "Morreu",      pDados[playerid][Morreu]);
      DOF2_SetInt(file, "Maconha",     pDados[playerid][Maconha]);
      pDados[playerid][Dinheiro]   =   GetPlayerMoney(playerid);
      DOF2_SaveFile();
      }
Reply
#2

O valor armazenado na variбvel esta sendo pego do retorno da funзгo GetPlayerMoney, se o jogador entrar no servidor, o seu money estarб como 0 e a funзгo retornarб 0. Entгo no cуdigo abaixo vocк nгo esta pegando do arquivo.
PHP код:
pDados[playerid][Dinheiro]   =   GetPlayerMoney(playerid); 
Para isso use a funзгo DOF2_GetInt:
PHP код:
pDados[playerid][Dinheiro] = DOF2_GetInt(file"Dinheiro"); 
PHP код:
Em OnPlayerConnect verifique se existe um arquivo com o nome do jogador caso nгo exista crie umcaso ao contrario carregue as informaзхes normalmente.

Em OnPlayerDisconnect sempre verifique se o arquivo existe e se existir salve as informaзхes
Para criar o arquivo vocк pode utilizar a funзгo DOF2_CreateFile:

PHP код:
new file[90];
format(filesizeof(file), PASTA_CONTASfile);
if(
DOF2_FileExists(file)) {
    
CarregarContas(playerid);
}
else{
    
DOF2_CreateFile(file);

Reply
#3

vlw pela ajuda,

ontem eu tentei dessa forma mas comeзou a criar um arquivo novo inves de salvar no arquivo existente, ou seja nгo dava para logar com o mesmo nick.
Reply
#4

PHP код:
 stock CarregarContas(playerid)
{
      new 
file[90];
      
format(filesizeof(file), "Contas/%s.ini",  PlayerName(playerid));
      
pDados[playerid][Admin] = DOF2_GetInt(file"Admin");
      
pDados[playerid][Level] = DOF2_GetInt(file"Level");
      
pDados[playerid][Dinheiro] = DOF2_GetInt(file"Dinheiro");
      
GivePlayerMoney(playeridpDados[playerid][Dinheiro]);
      
pDados[playerid][Cargo] = DOF2_GetInt(file"Cargo");
      
pDados[playerid][Organizacao] = DOF2_GetInt(file"Organizacao");
      
pDados[playerid][Matou] = DOF2_GetInt(file"Matou");
      
pDados[playerid][Morreu] = DOF2_GetInt(file"Morreu");
      
pDados[playerid][Maconha] = DOF2_GetInt(file"Maconha");
      
SendClientMessage(playeridAzul"Sua conta foi carregada com sucesso !");
      
SpawnPlayer(playerid);
      return 
1;

PHP код:
stock SalvarContas(playerid)
{
      new 
file[90];
      
format(filesizeof(file), "Contas/%s.ini",  PlayerName(playerid));
      
DOF2_SetInt(file"Admin",       pDados[playerid][Admin]);
      
DOF2_SetInt(file"Level",       pDados[playerid][Level]);
      
pDados[playerid][Dinheiro]   =   GetPlayerMoney(playerid);
      
DOF2_SetInt(file"Dinheiro",    pDados[playerid][Dinheiro]);
      
DOF2_SetInt(file"Organizacao"pDados[playerid][Organizacao]);
      
DOF2_SetInt(file"Cargo",       pDados[playerid][Cargo]);
      
DOF2_SetInt(file"Senha",       pDados[playerid][Senha]);
      
DOF2_SetInt(file"Matou",       pDados[playerid][Matou]);
      
DOF2_SetInt(file"Morreu",      pDados[playerid][Morreu]);
      
DOF2_SetInt(file"Maconha",     pDados[playerid][Maconha]);
      
DOF2_SaveFile();

Reply
#5

valeuu glederson...

deu certo '-'

no inicio estava setando + dinheiro toda vez que logava mas ai fui ver tinha colocado pra carregar contas quando entrasse no servidor e depois de logar kk.. Mas agora ta 100% vlw!!!
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)