Salvar Informaçoes - LostZinqs -  23/09/2024
 
 
Bom dia, como posso salvar a grana do player e etc?  
 
exemplo... 
 
Salvar a grana que o player tem na pasta Contas, junto com as informaçoes de login, minha tela de login salva o nome e a senha, eu queria poder salvar o dinheiro tbm no mesmo arquivo, como posso fazer isso? Uso DOF2...
 
 
 
RE: Salvar Informaçoes - xbruno1000x -  23/09/2024
 
 
Normalmente existe uma função que encapsula todos os salvamentos da conta, tipo uma função SavePlayer(playerid); 
 
Dentro dessa função, basta você inserir salvamentos como: 
Código: //file deve ser o caminho onde o arquivo será salvo. 
new file[128]; 
    format(file, sizeof(file), "players/%d.txt", playerid); // Define o caminho do arquivo. Normalmente usamos o nome do jogador, usei o playerid por exemplo. 
 
    DOF2_SetInt(file, "Dinheiro", GetPlayerMoney(playerid)); //1° um caminho para o salvamento, 2° uma chave para obter o valor depois e 3° o valor inteiro.
  
Depois você pode inserir na função de carregar os dados da dof2 algo como: 
Código: new file[128]; 
format(file, sizeof(file), "players/%d.txt", playerid); 
 
Player[playerid][Dinheiro] = DOF2_GetInt(file, "Dinheiro"); //O valor obtido no arquivo será atribuido a variável Player[playerid][Dinheiro].
  
 
 
 
RE: Salvar Informaçoes - LostZinqs -  23/09/2024
 
 
 (23/09/2024 10:55)xbruno1000x Escreveu:  Normalmente existe uma função que encapsula todos os salvamentos da conta, tipo uma função SavePlayer(playerid); 
 
Dentro dessa função, basta você inserir salvamentos como: 
Código: //file deve ser o caminho onde o arquivo será salvo. 
new file[128]; 
    format(file, sizeof(file), "players/%d.txt", playerid); // Define o caminho do arquivo. Normalmente usamos o nome do jogador, usei o playerid por exemplo. 
 
    DOF2_SetInt(file, "Dinheiro", GetPlayerMoney(playerid)); //1° um caminho para o salvamento, 2° uma chave para obter o valor depois e 3° o valor inteiro.
  
Depois você pode inserir na função de carregar os dados da dof2 algo como: 
Código: new file[128]; 
format(file, sizeof(file), "players/%d.txt", playerid); 
 
Player[playerid][Dinheiro] = DOF2_GetInt(file, "Dinheiro"); //O valor obtido no arquivo será atribuido a variável Player[playerid][Dinheiro].
  https://imgur.com/a/eb0UQ6B 
 
assim?
 
 
 
RE: Salvar Informaçoes - xbruno1000x -  23/09/2024
 
 
 (23/09/2024 12:10)LostZinqs Escreveu:  https://imgur.com/a/eb0UQ6B 
 
assim?  
É mais ou menos isso. 
Caso você já tenha uma função de salvamento, o ideal é jogar dentro dela. Além disso, como falei, salvar o arquivo com o playerid seria apenas para o exemplo, na prática você deve usar o nome da conta. 
 
A SalvarDados ficaria algo como: 
Código: public SalvarDados(playerid) { 
    new file[128], playerName[24]; 
 
    GetPlayerName(playerid, playerName, sizeof(playerName)); 
    format(file, sizeof(file), "players/%s.txt", playerName); 
 
    DOF2_SetInt(file, "Dinheiro", GetPlayerMoney(playerid)); 
    DOF2_SaveFile(); 
}
  
E a de carregar: 
Código: public CarregarDados(playerid) { 
    new file[128], playerName[24]; 
 
    GetPlayerName(playerid, playerName, sizeof(playerName)); 
    format(file, sizeof(file), "players/%s.txt", playerName); 
 
    Player[playerid][Dinheiro] = DOF2_GetInt(file, "Dinheiro"); 
}
  
 
 
 
RE: Salvar Informaçoes - LostZinqs -  23/09/2024
 
 
 (23/09/2024 12:38)xbruno1000x Escreveu:   (23/09/2024 12:10)LostZinqs Escreveu:  https://imgur.com/a/eb0UQ6B 
 
assim?  
É mais ou menos isso. 
Caso você já tenha uma função de salvamento, o ideal é jogar dentro dela. Além disso, como falei, salvar o arquivo com o playerid seria apenas para o exemplo, na prática você deve usar o nome da conta. 
 
A SalvarDados ficaria algo como: 
Código: public SalvarDados(playerid) { 
    new file[128], playerName[24]; 
 
    GetPlayerName(playerid, playerName, sizeof(playerName)); 
    format(file, sizeof(file), "players/%s.txt", playerName); 
 
    DOF2_SetInt(file, "Dinheiro", GetPlayerMoney(playerid)); 
    DOF2_SaveFile(); 
}
  
E a de carregar: 
Código: public CarregarDados(playerid) { 
    new file[128], playerName[24]; 
 
    GetPlayerName(playerid, playerName, sizeof(playerName)); 
    format(file, sizeof(file), "players/%s.txt", playerName); 
 
    Player[playerid][Dinheiro] = DOF2_GetInt(file, "Dinheiro"); 
}
   
so com isso ja esta sendo salvo o dinheiro? ou eu tenho que fazer algo, tipo botar alguam funçao pra quando o player sair ou ele logar
 
 
 
RE: Salvar Informaçoes - White_Blue -  23/09/2024
 
 
 (23/09/2024 14:29)LostZinqs Escreveu:   (23/09/2024 12:38)xbruno1000x Escreveu:   (23/09/2024 12:10)LostZinqs Escreveu:  https://imgur.com/a/eb0UQ6B 
 
assim?  
É mais ou menos isso. 
Caso você já tenha uma função de salvamento, o ideal é jogar dentro dela. Além disso, como falei, salvar o arquivo com o playerid seria apenas para o exemplo, na prática você deve usar o nome da conta. 
 
A SalvarDados ficaria algo como: 
Código: public SalvarDados(playerid) { 
    new file[128], playerName[24]; 
 
    GetPlayerName(playerid, playerName, sizeof(playerName)); 
    format(file, sizeof(file), "players/%s.txt", playerName); 
 
    DOF2_SetInt(file, "Dinheiro", GetPlayerMoney(playerid)); 
    DOF2_SaveFile(); 
}
  
E a de carregar: 
Código: public CarregarDados(playerid) { 
    new file[128], playerName[24]; 
 
    GetPlayerName(playerid, playerName, sizeof(playerName)); 
    format(file, sizeof(file), "players/%s.txt", playerName); 
 
    Player[playerid][Dinheiro] = DOF2_GetInt(file, "Dinheiro"); 
}
   
so com isso ja esta sendo salvo o dinheiro? ou eu tenho que fazer algo, tipo botar alguam funçao pra quando o player sair ou ele logar  
Obviamente, é necessário chamar essas funções quando o jogador faz login e desconecta. Suponho que você tenha uma função para quando o jogador digita sua senha na tela de login e é spawnado, é nessa função que você deve carregar os dados do jogador e salvá-los quando ele desconectar na callback OnPlayerDisconnect.
 
 
 
 |