Hallo Community,
ich finde einfach kein richtiges Anti Money Hacksystem, ich brauch es für mein Selfmade Script, ich kenn
mich aber mit den Money hacks nicht aus... Ich hoffe mir kann einer weiterhelfen
LG
Hallo Community,
ich finde einfach kein richtiges Anti Money Hacksystem, ich brauch es für mein Selfmade Script, ich kenn
mich aber mit den Money hacks nicht aus... Ich hoffe mir kann einer weiterhelfen
LG
Punkbuster ist nicht schlecht ansonsten abfragen ob er mal über 3mio plötzlich bekommt dann an Admin sehen steht unter MoneyHack verdacht. Und am besten ist das auch abgesichert wenn man nur 1mio überweisen kann od. /pay max 10k dann wird da auch nicht's schief gehen und kein falscher alarm.
Ein Moneyhack - System basiert auf Serverseitigen Variablen, dass heißt, du gehst nicht vom normalen GetPlayerMoney aus, welches durch Moneyhacks manipuliert wird, sondern nimmst immer deine Variable des jeweiligen Spielers:
new PlayerMoney[MAX_PLAYERS];
stock GiveCash(playerid, Betrag)
{
new Busted;
if(GetPlayerMoney(playerid) > PlayerMoney[playerid])
{
Busted = GetPlayerMoney(playerid) > PlayerMoney[playerid];
new msg[256];
new pName[20];
GetPlayerName(playerid, pName, 20);
format(msg, 256, "Server: %s Moneyhack || %d $", pName, Busted);
SendClientMessageToAll(1, msg);
}
ResetPlayerMoney(playerid);
if(Betrag > 0)
{
PlayerMoney[playerid]+=Betrag;
}
if(Betrag < 0)
{
PlayerMoney[playerid]-=Betrag;
}
GivePlayerMoney(playerid, Betrag);
}
Dann darfst du natürlich nicht GivePlayerMoney benutzen sondern GiveCash(playerid, Betrag);
Ist dann eine Transaktion in bearbeitung und der Spieler hat gehackt, fällt das auf.
Wenn ich das einfüge sollte alles gehen ;)? Junkbuster ist der größte müll, ich werde gebannt wegen quick turn usw
Sollte gehen ist nicht getestet.
Du musst halt deine ganzen GivePlayerMoney in GiveCash ändern.
Ich will das aber behalten, sonst muss ich nochn tuningsystem schreiben
Dann mach halt die Tuninggarage als Ausnahme:
public OnEnterExitModShop(playerid, enterexit, interiorid)
{
if(enterexit == 1)
{
InGarage[playerid] = 1;
}
if(enterexit == 0)
{
InGarage[playerid] = 0;
}
return 1;
}
stock GiveCash(playerid, Betrag)
{
new Busted;
if(GetPlayerMoney(playerid) > PlayerMoney[playerid])
{
if(InGarage[playerid] == 0)
{
Busted = GetPlayerMoney(playerid) > PlayerMoney[playerid];
new msg[256];
new pName[20];
GetPlayerName(playerid, pName, 20);
format(msg, 256, "Server: %s Moneyhack || %d $", pName, Busted);
SendClientMessageToAll(1, msg);
}
}
ResetPlayerMoney(playerid);
if(Betrag > 0)
{
PlayerMoney[playerid]+=Betrag;
}
if(Betrag < 0)
{
PlayerMoney[playerid]-=Betrag;
}
GivePlayerMoney(playerid, Betrag);
}
Ich check das system nicht...
Alles anzeigenDann mach halt die Tuninggarage als Ausnahme:
public OnEnterExitModShop(playerid, enterexit, interiorid)
{
if(enterexit == 1)
{
InGarage[playerid] = 1;
}
if(enterexit == 0)
{
InGarage[playerid] = 0;
}
return 1;
}
stock GiveCash(playerid, Betrag)
{
new Busted;
if(GetPlayerMoney(playerid) > PlayerMoney[playerid])
{
if(InGarage[playerid] == 0)
{
Busted = GetPlayerMoney(playerid) > PlayerMoney[playerid];
new msg[256];
new pName[20];
GetPlayerName(playerid, pName, 20);
format(msg, 256, "Server: %s Moneyhack || %d $", pName, Busted);
SendClientMessageToAll(1, msg);
}
}
ResetPlayerMoney(playerid);
if(Betrag > 0)
{
PlayerMoney[playerid]+=Betrag;
}
if(Betrag < 0)
{
PlayerMoney[playerid]-=Betrag;
}
GivePlayerMoney(playerid, Betrag);
}
Stimmt nicht so ganz da er nach verlassen der Garage als Hacker erkannt wir, villt dann wenn er aus der Garage kommt erst das Geld speichern und dann auf 0 setzten ?
Ich check das system nicht...
Wenn spieler X nicht in Tuning garage ist, ist der Anti gültig