22/10/2023 09:52
Olá a todos. Comecei a programar recentemente, por isso venho tendo tantos conflitos.
Obrigado a todos que se dispuserem a ajudar.
Algumas coisas eu mesmo fiz, outras coisas eu aprendi no YT.
Acredito que o sistema de salvamento esta funcionando, pois o arquivo em sriptfiles é atualizado.
O problema é que quando eu entro no servidor, as informações de vida, colete, arma e munição não são setadas.
Anteriormente eu tentei fazaer o codigo da seguinte maneira:
Mas estava com muitos erros, na verdade nem sei se estava certo.
Estou usando o mesmo estilo de linha de código para salvar e setar o dinheiro do jogador.
Uma outra questão. O que vocês acham sobre o salvamento de dados utilizando aquela enum la no topo da gamemode?
Eu não estou utilizando ela, na verdade tem apenas uma variavel que é o pLogado, para um sistema de registro mais elaborado no futuro.
Obrigado a todos que leram.
Obrigado a todos que se dispuserem a ajudar.
Código PHP:
stock sDados(playerid) // Salvar os dados do player
{
if(DOF2_FileExists(Arquivo(playerid)))
{
new Float:Vida, Float:Colete, Arma, Municao, String[20];
DOF2_SetInt(Arquivo(playerid), "Dinheiro", GetPlayerMoney(playerid));
DOF2_SetInt(Arquivo(playerid), "Score", GetPlayerScore(playerid));
GetPlayerHealth(playerid, Vida);
DOF2_SetFloat(Arquivo(playerid), "Vida", Vida);
GetPlayerArmour(playerid, Colete);
DOF2_SetFloat(Arquivo(playerid), "Colete", Colete);
for(new i = 0; i < 13; i++)
{
GetPlayerWeaponData(playerid, i, Arma, Municao);
format(String, 20, "Arma %d", i);
DOF2_SetInt(Arquivo(playerid), String, Arma);
format(String, 20, "Municao %d", i);
DOF2_SetInt(Arquivo(playerid), String, Municao);
}
DOF2_SaveFile();
return 1;
}
return 0;
}
stock cDados(playerid) // Carregar os dados do player
{
new Float:Vida, Float:Colete, Arma, Municao, String[20];
GivePlayerMoney(playerid, DOF2_GetInt(Arquivo(playerid), "Dinheiro"));
SetPlayerScore(playerid, DOF2_GetInt(Arquivo(playerid), "Score"));
Vida = DOF2_SetFloat(Arquivo(playerid), "Vida", Vida);
SetPlayerHealth(playerid, Vida);
Colete = DOF2_SetFloat(Arquivo(playerid), "Colete", Colete);
SetPlayerArmour(playerid, Colete);
ResetPlayerWeapons(playerid);
for(new i = 0; i < 13; i++)
{
format(String, 20, "Arma %d", i);
Arma = DOF2_SetInt(Arquivo(playerid), String, Arma);
format(String, 20, "Municao %d", i);
Municao = DOF2_SetInt(Arquivo(playerid), String, Municao);
GivePlayerWeapon(playerid, Arma, Municao);
}
}
Algumas coisas eu mesmo fiz, outras coisas eu aprendi no YT.
Acredito que o sistema de salvamento esta funcionando, pois o arquivo em sriptfiles é atualizado.
O problema é que quando eu entro no servidor, as informações de vida, colete, arma e munição não são setadas.
Anteriormente eu tentei fazaer o codigo da seguinte maneira:
Código PHP:
DOF2_SetFloat(Arquivo(playerid), "Vida", GetPlayerHealth(playerid)); para salvar
SetPlayerHealth(playerid, DOF2_GetFloat(Arquivo(playerid), "Vida")); para setar
Mas estava com muitos erros, na verdade nem sei se estava certo.
Estou usando o mesmo estilo de linha de código para salvar e setar o dinheiro do jogador.
Código PHP:
DOF2_SetInt(Arquivo(playerid), "Dinheiro", GetPlayerMoney(playerid));
DOF2_SetInt(Arquivo(playerid), "Score", GetPlayerScore(playerid));
GivePlayerMoney(playerid, DOF2_GetInt(Arquivo(playerid), "Dinheiro"));
SetPlayerScore(playerid, DOF2_GetInt(Arquivo(playerid), "Score"));
Uma outra questão. O que vocês acham sobre o salvamento de dados utilizando aquela enum la no topo da gamemode?
Eu não estou utilizando ela, na verdade tem apenas uma variavel que é o pLogado, para um sistema de registro mais elaborado no futuro.
Obrigado a todos que leram.