[FilterScript] Anti Money Hacker.
#1

Anti Money Hacker SA:MP

Olб amiguets,


Bom, hoje 2 caras havia me mandado MP sobre a funзгo do money hack do s0rvete,

Bom o code й simples, pequeno porйm funcional:

• Descriзгo:
» Simples, com 1 Timer para checagem ele confere se a grana atual e compбtivel com a grana do GTA, caso nгo for ele ira fazer determinadas funзгo:



Iniciando:
pawn Код:
#include < a_samp  >

new TimerAtuPlayer[MAX_PLAYERS];
new Grana[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
    TimerAtuPlayer[playerid] = SetTimerEx("UpdatePlayer", 2000, true, "d", playerid);
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    KillTimer(TimerAtuPlayer[playerid]);
    return 1;
}
• Por que um Timer ?
» Simples, lуgicamente para atualizar as informaзхes do jogador em questгo.


Meio:
pawn Код:
forward UpdatePlayer(playerid);
public UpdatePlayer(playerid)
{
    if(GetPlayerMoney(playerid) != Grana[playerid])
    {
        ResetPlayerMoney(playerid);
        GivePlayerMoney(playerid, Grana[playerid]);
    }
    return 1;
}


• Funcionalidade Grana[playerid]
» Funciona como sua segunda moeda do servidor, nela serб salva as informaзгo de tudo o que usar GivePlayerMoneyEx.


• Tenho um timer de atualizar, posso trocar por ele ?
» Sim, desde que troque o nome da callback para chamar no timer, assim chamando a callback certa e eliminando um timer a mais em seu servidor.
» OBS: Evite de utilizar a callback OnPlayerUpdate, opcional



stock's:

pawn Код:
stock GivePlayerMoneyEx(id, money) return Grana[id] += money;
stock GetPlayerMoneyEx(id) return Grana[id];
stock ResetPlayerMoneyEx(id) return Grana[id] = 0;


• GivePlayerMoneyEx ?
» Essa funзгo faz com que a grana colocada ou retirada seja igual a Grana[playeri] pois assim nгo serб identificado como hacker ou algo do tipo.


• GetPlayerMoneyEx ?
» Essa funзгo faz getar a Grana do jogador e nгo o GivePlayerMoney como padrгo do SA:MP


• ResetPlayerMoneyEx ?
» Essa funзгo ira resetar a grana do jogador e do GTA, fazendo assim a grana do jogador seja igual a 0 juntamente com a grana do GTA.



Finalizando:


• Mais por que ResetPlayerMoney ao invez de ResetPlayerMoneyEx ?
» Simples, como o s0rvete e derivados geta na raiz do SA:MP, temos que resetar a grana do GTA tambйm,
» Assim colocando as duas igual a 0

• Mais por que GivePlayerMoney ao invez de GivePlayerMoneyEx ?
» Para normalizar, temos que fazer com que a grana do GTA ficar igual a do player " Grana[playerid] "
» Assim todas as funзхes que usar " GivePlayerMoneyEx " nгo serб resetada pela public de atualizaзгo

• Como Usar ?
» Troque todas os:

GivePlayerMoney(playerid) por GivePlayerMoneyEx(playerid) exceto o que estб dentro da public de atualizaзгo da grana.

GetPlayerMoney(playerid)
por GetPlayerMoneyEx(playerid) exceto o que estб dentro da public de atualizaзгo da grana.

ResetPlayerMoney(playerid) por ResetPlayerMoneyEx(playerid) exceto o que estб dentro da public de atualizaзгo da grana.


• Download
» Download tambйm disponнvel aqui.


• Crйditos:

pawn Код:
//[Full]Garfield[XDB]  me ajudado com o mesmo
// Larceny me ajudado na funзгo das stocks
// DrTHE por ser vagabundo mais tb me deu dicas para diminuir o code
Reply
#2

Usando Define e talz seria melhor

Mais й Legal esse Sistema ae

Parabйns !
Reply
#3

Quote:
Originally Posted by Jonathan_Feitosa
Посмотреть сообщение
Usando Define e talz seria melhor

Mais й Legal esse Sistema ae

Parabйns !
Thanks pela dica assim ficar melhor para configurar o mesmo
Reply
#4

Nice work.
Sу nгo dou +REP porque sou "mгo de vaca".
Reply
#5

Esporadicamente podem haver bugs ...
Reply
#6

Quote:
Originally Posted by Viniborn
Посмотреть сообщение
Esporadicamente podem haver bugs ...
Bom, aberto a sugestхes e criticas

Off: Esporadicamente: Coisas que acontecem de vez em quando, na casualidade, By: ******, nгo sabia dessa rsrs' :P

Quote:
Originally Posted by paulor
Посмотреть сообщение
Vc ao menos testou isso ? Como vocк irб comparar o GetPlayerMoney se nem Setando o Money vc estб ?
Sim,

Quando se usa GivePlayerMoney o valor do GTA ira ficar mais alto que o do Grana[playerid], assim resetando e voltando a grana para a normal, aberto a crнticas.
Reply
#7

Quote:
Originally Posted by Murilo_sousa
Посмотреть сообщение
Bom, aberto a sugestхes e criticas

Off: Esporadicamente: Coisas que acontecem de vez em quando, na casualidade, By: ******, nгo sabia dessa rsrs' :P



Sim,

Quando se usa GivePlayerMoney o valor do GTA ira ficar mais alto que o do Grana[playerid], assim resetando e voltando a grana para a normal, aberto a crнticas.
Soh me diz o momento em que isso ocorre:

pawn Код:
stock GivePlayerMoneyEx(id, money) return Grana[id] += money;
Se vocк nгo der um GiverPlayerMoney o GetPlayerMoney irб retornar 0 meu caro!
Reply
#8

Quote:
Originally Posted by paulor
Посмотреть сообщение
Soh me diz o momento em que isso ocorre:

pawn Код:
stock GivePlayerMoneyEx(id, money) return Grana[id] += money;
Se vocк nгo der um GiverPlayerMoney o GetPlayerMoney irб retornar 0 meu caro!
Testei o mesmo usando GivePlayerMoneyEx, estб ocorrendo normalmente, quando uso o ****** para aumentar o valor, a grana e voltada para a minha que tinha antes de aumentar com o xiter, caso queira testar o code para tirar suas conclusхes,

Testei com todos valores de aumentar a grana.
Reply
#9

Quote:
Originally Posted by Murilo_sousa
Посмотреть сообщение
Testei o mesmo usando GivePlayerMoneyEx, estб ocorrendo normalmente, quando uso o ****** para aumentar o valor, a grana e voltada para a minha que tinha antes de aumentar com o xiter, caso queira testar o code para tirar suas conclusхes,

Testei com todos valores de aumentar a grana.
Entгo use o GivePlayerMoneyEx e veja se ele aumentarб o Money do GTA.
Reply
#10

Bacana, mas nada muito inovador.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)