Atualizado 01/04/2016
PS: Este tutorial й voltado para quem estб comeзando e desenvolvendo seus prуprios sistemas, por isso nгo o julgue!
Ainda hб quem pense que й difнcil criar um simples verificador de dinheiro e estou aqui para provar o contrбrio e mostrar que com algumas linhas podemos evitar QUALQUER Cheat de dinheiro no servidor.
Algo comum e ainda utilizado, mesmo nгo tendo necessidade, sгo stocks que substituem a funзгo nativa GivePlayerMoney(playerid, amount);
A verdade й que essa nгo й a ъnica soluзгo e nгo precisamos criar mais stocks no GM/FS para setar dinheiro a um player.
Em primeiro lugar, se vocк jб tiver uma variбvel definida para salvar o dinheiro, use-a e pule esta etapa (lembre-se de alterar as demais variбveis do tutorial):
Crie a variбvel Var_Money
PHP код:PS: Este tutorial й voltado para quem estб comeзando e desenvolvendo seus prуprios sistemas, por isso nгo o julgue!
Ainda hб quem pense que й difнcil criar um simples verificador de dinheiro e estou aqui para provar o contrбrio e mostrar que com algumas linhas podemos evitar QUALQUER Cheat de dinheiro no servidor.
Algo comum e ainda utilizado, mesmo nгo tendo necessidade, sгo stocks que substituem a funзгo nativa GivePlayerMoney(playerid, amount);
A verdade й que essa nгo й a ъnica soluзгo e nгo precisamos criar mais stocks no GM/FS para setar dinheiro a um player.
Em primeiro lugar, se vocк jб tiver uma variбvel definida para salvar o dinheiro, use-a e pule esta etapa (lembre-se de alterar as demais variбveis do tutorial):
Crie a variбvel Var_Money
- Código:
new Var_Money[MAX_PLAYERS];
Em seguida, criaremos um Timer responsбvel por verificar o dinheiro do player
- Código:
public OnGameModeInit() // GM
ou
public OnFilterScriptInit() // FS
{
SetTimer("MoneyCheck", 1000, true);
return 1;
}
MoneyCheck й a funзгo chamada para verificar o dinheiro do player.
1000 sгo os milissegundos em que a verificaзгo irб ocorrer.
true farб com que o Timer repita a verificaзгo (loop)
Hora de criar a callback que serб chamada para verificar o dinheiro
PHP код:1000 sгo os milissegundos em que a verificaзгo irб ocorrer.
true farб com que o Timer repita a verificaзгo (loop)
Hora de criar a callback que serб chamada para verificar o dinheiro
- Código:
forward MoneyCheck();
public MoneyCheck()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetPlayerMoney(i) != Var_Money[i])
{
ResetPlayerMoney(i);
GivePlayerMoney(i, Var_Money[i]);
}
}
}
return 1;
}
Creditos: F1N4L