¿Qué tal?Se me ocurrio hacer un tuto y postearla con un atimoneyhack qye hicimos entre un amigo.
Bueno sin más que decir les dejo aca
En los defines, colocaremos uno nuevo, que con este se les facilitara cambiar cada cuento tiempo chequea el dinero del jugador.
Luego, crearemos una variable, en la que almacenaremos cuanto dinero tiene el jugador, para luego, chequear si el dinero del jugador es desigual a esta, devolverle el dinero.
Ahora, continuaremos con los forwards, estos forwards sirven para crear timers, osea una o varias acciones cada determinado tiempo.
Bien,nos dirigiremos al callback OnPlayerSpawn donde llamaremos un callback con un timer. Esto, lo crei nesesario por si el jugador usa un sistema de cargaddo o guardado lento, podria resetear el dinero del jugador.
Bien, ahora crearemos el callback Anteriormente definido con un forward, llamado Empiezachequear.
Bien, ya hemos creado el Anti Money Hack. No les aseguro la mejor optimización en éste script, pero algo es algo. Ojala que les sirva. Salúdos!
NOTA: Deben reemplazar todos los "GivePlayerMoney" de su server, por "DarDinero" o sino, no les funcionara.
Creditos:
Spell(De otra pagina la cual no diré)
Frank23(Modificado cosas,aporte de tutorial, arreglado algunos bugs)
Bueno sin más que decir les dejo aca
En los defines, colocaremos uno nuevo, que con este se les facilitara cambiar cada cuento tiempo chequea el dinero del jugador.
- Código:
#define SegCheck 1
Luego, crearemos una variable, en la que almacenaremos cuanto dinero tiene el jugador, para luego, chequear si el dinero del jugador es desigual a esta, devolverle el dinero.
- Código:
new dinero[MAX_PLAYERS];
Ahora, continuaremos con los forwards, estos forwards sirven para crear timers, osea una o varias acciones cada determinado tiempo.
- Código:
forward Empiezachequear(playerid);//Esta callback sirve, para que comienze a chequear al rato que se conecta, para evitar posibles bugs.
forward CheckPlata(playerid);//Aqui, crearemos la callback que detecta el dinero del jugador.
Bien,nos dirigiremos al callback OnPlayerSpawn donde llamaremos un callback con un timer. Esto, lo crei nesesario por si el jugador usa un sistema de cargaddo o guardado lento, podria resetear el dinero del jugador.
- Código:
SetTimerEx("Empiezachequear", 2000,false,"d",playerid);//En 2 segundos, empezara a chequear el dinero del jugador. Cambiar esto, si desean.
Bien, ahora crearemos el callback Anteriormente definido con un forward, llamado Empiezachequear.
- Código:
public Empiezachequear(playerid)
{
dinero[playerid] = GetPlayerMoney(playerid);//seteamos la variable según ¿Cuanto dinero tiene el jugador?
SetTimerEx("CheckPlata", SegCheck * 1000,true,"d",playerid);//Empieza a chequear si el dinero es legal, o ilegal.
return 1;
}
- Código:
public CheckPlata(playerid)
{
if(GetPlayerMoney(playerid) > dinero[playerid]) return SetPlayerMoney(playerid,dinero[playerid]);//Acá, actua el anticheat. Si el dinero es mayot a la variable, se establece al valor de la variable.
else if(GetPlayerMoney(playerid) == dinero[playerid]) return 0; //Se podría decir, que si el dinero es igual, el callback no tendrá funcionamiento, ya que no uso cheats.
dinero[playerid] = GetPlayerMoney(playerid);//Por si el dinero del jugador es menor, setea la variable al dinero.
return 1;
}
- Código:
stock DarDinero(playerid,cantidad)//Seteamos la variable dinero, a una cantidad deseada.
{
GivePlayerMoney(playerid,cantidad);
dinero[playerid] = GetPlayerMoney(playerid);
return 1;
}
SetPlayerMoney(playerid,cantidad)//Esta es una funcion que sirve para dar un dinero justo, no agregar ni quitar dinero, se podria decir que seria "Setear" el dinero a una cantidad deseada.
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,cantidad);
return 1;
}
Bien, ya hemos creado el Anti Money Hack. No les aseguro la mejor optimización en éste script, pero algo es algo. Ojala que les sirva. Salúdos!
NOTA: Deben reemplazar todos los "GivePlayerMoney" de su server, por "DarDinero" o sino, no les funcionara.
Creditos:
Spell(De otra pagina la cual no diré)
Frank23(Modificado cosas,aporte de tutorial, arreglado algunos bugs)