CARREGAR DINHEIRO -
johntrybescripter - 04.01.2017
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();
}
Re: CARREGAR DINHEIRO -
MultiKill - 04.01.2017
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 um, caso 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(file, sizeof(file), PASTA_CONTAS, file);
if(DOF2_FileExists(file)) {
CarregarContas(playerid);
}
else{
DOF2_CreateFile(file);
}
Re: CARREGAR DINHEIRO -
johntrybescripter - 04.01.2017
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.
Respuesta: CARREGAR DINHEIRO -
SammyJ - 04.01.2017
PHP код:
stock CarregarContas(playerid)
{
new file[90];
format(file, sizeof(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(playerid, pDados[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(playerid, Azul, "Sua conta foi carregada com sucesso !");
SpawnPlayer(playerid);
return 1;
}
PHP код:
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]);
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();
}
Re: CARREGAR DINHEIRO -
johntrybescripter - 04.01.2017
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!!!