A maldiзгo do dinheiro -
Kanuy - 06.07.2016
"A maldiзгo do dinheiro em dobro"
Seguinte ao jogador fazer uma missгo de tutorial ele recebe $1000 se ele sair com esse dinheiro salva normalmente atй ai tudo bem, sу que ao ele spawnar em vez do jogador receber o dinheiro que ele tinha quando saiu ele recebe o dobro do valor que foi salvo.
MAS AI TEM ISSO que me deixou intrigado nгo sei se vгo entender mas e o seguinte:
Supondo que a conta do jogador salvou $2000 e o servidor acabou de ser ligado quando ele fazer o login e spawnar ele recebe normalmente os $2000.
Se ele sair salva os $2000, mas quando ele faz o login e spawna pela segunda vez apуs o servidor ligado o dinheiro dobra seu valor vai pra $4000, ai por diante sempre dobra $8000 $16000... mas o que eu nгo entendo й como isso acontece e porque caralius quando da o primeiro spawn quando o servidor e iniciado recebe o valor correto?
stock's que uso para salvar os dados tudo salva corretamente ( Score, Admin, Vip...) menos o dinheiro
Код:
stock SalvarDados(playerid)
{
DOF2_SetInt(Arquivo(playerid), "Dinheiro", GetPlayerGrana(playerid));
DOF2_SaveFile();
}
stock CarregarDados(playerid)
{
if(DOF2_FileExists(Arquivo(playerid)))
{
GivePlayerGrana(playerid, DOF2_GetInt(Arquivo(playerid), "Dinheiro"));
}
}
Eu uso este ant money hack que peguei em uma GM '-'
Код:
public AtualizarGrana()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
ResetPlayerMoney(i);
GivePlayerMoney(i, GetPlayerGrana(i));
}
}
stock GivePlayerGrana(playerid, ammount)return Grana[playerid] += ammount;
stock GetPlayerGrana(playerid)return Grana[playerid];
stock ResetPlayerGrana(playerid)return Grana[playerid] = 0;
Re: A maldiзгo do dinheiro -
focaximubh - 06.07.2016
Isso deve resolver......
pawn Код:
public AtualizarGrana()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
ResetPlayerMoney(i);
GivePlayerMoney(i, Grana[playerid]);
}
}
Respuesta: Re: A maldiзгo do dinheiro -
Kanuy - 06.07.2016
Quote:
Originally Posted by focaximubh
Isso deve resolver......
pawn Код:
public AtualizarGrana() { for(new i = 0; i < MAX_PLAYERS; i++) { ResetPlayerMoney(i); GivePlayerMoney(i, Grana[playerid]); } }
|
Se fosse o problema nesta parte sempre iria spawnar dobrando o dinheiro, mas como eu disse quando faz o login logo depois do samp-server ser iniciado nгo acontece do dinheiro dobrar, este cуdigo funciona normalmente como estб, quando usava dini a 3 anos atras usava esse codigo e nгo acontecia isso.
Re: A maldiзгo do dinheiro -
OverKiller - 06.07.2016
Man da 2k a casa login do cara
Respuesta: A maldiзгo do dinheiro -
SammyJ - 07.07.2016
PHP код:
public OnPlayerConnect(playerid)
{
ResetPlayerGrana(playerid);
CarregarDados(playerid);
return 1;
}
...
public OnPlayerDisconect(playerid)
{
SalvarDados(playerid);
ResetPlayerGrana(playerid);
return 1;
}
Respuesta: A maldiзгo do dinheiro -
Kanuy - 07.07.2016
Quote:
Originally Posted by glederson
PHP код:
public OnPlayerConnect(playerid)
{
ResetPlayerGrana(playerid);
CarregarDados(playerid);
return 1;
}
...
public OnPlayerDisconect(playerid)
{
SalvarDados(playerid);
ResetPlayerGrana(playerid);
return 1;
}
|
Й isso mesmo, nem tinha me tocado.