Anti Money Hack

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Habe mir ein ganz einfaches Anti Money Hack System gemacht. Nur leider kann ich halt jetzt keine Getränke Automaten benutzen oder im Casino spielen ohne, dass ich gebannt werde. Wie kann ich ein Anti Money Hack System machen das auch solche clientseitigen Geldsachen integriert. Und ich will nicht abfragen ob der Spieler z.B in der Nähe von einem Getränkeautomaten steht. Oder hat jemand eine Include dafür? Habe gesucht, aber war mir nie sicher ob die Include auch diese Features hat.

  • Da müsstest Du unterscheiden welche Geldsummen draufgesetzt werden.
    Ich kenn die beim Casino leider nicht auswending.


    Alternativ könntest Du auch versuchen mit Spieler Positionen und Interior-ID's zu arbeiten.
    Nur wäre sowas eindeutig eine Schwachstelle in deinem System wenn der Hacker rausbekommt, an welchen Positionen und in welcher Interior-ID das funktioniert.


    Soweit ich es einschätzen kann gibt es da keine Sichere Lösung. Ich lasse mich aber gerne eines besseres Belehren.
    Dazu sei gesagt dass Ich mich nie mit den Casinos auseinander gesetzt habe.


    Wenn Dir das alles zu unsicher ist könntest Du dir ein eigenes Casino-System basteln.



  • Ist auch am besten sich ein eigenes zu machen, da ja die aus dem SinglepLayer so sind, wenn man 15 Min spielt, dass man dann ne Mio kriegt.

  • Frag mit einen Timer oder bei OnPlayerUpdate ob der Spieler mehr Geld auf der Hand hat als in der Datenbank
    wenn ja = zurücksetzen, wenn er weniger hat = weiter


    wie Firefan sagte Hacker geben sich eig. nicht weniger Geld wenn ja haben die ja nicht viel von


    Geld allerdings dann immer Serverseitig geben


    Beispiel:


    PlayerData[playerid][pCash] + 1 //oder so in der Art glaube da fehlt was soll aber nur so als Beispiel da sein



    Casino würde ich dann selber scheiben

    mfg RylPG

  • Mach es doch einfach so:

    //Ganz Oben:
    new ACOldMoney[MAX_PLAYERS],
    ACNewMoney[MAX_PLAYERS];
    //Spieler laden
    ACNewMoney[playerid] = dini_Int(Spielerdatei,"Geld"); //Abändern ;)
    GivePlayerMoneyEx(playerid,dini_Int(Spielerdatei,"Geld")); //Abändern


    //
    stock GivePlayerMoneyEx(playerid,money)
    {
    ACOldMoney[playerid] = GetPlayerMoney(playerid); //Du speicherst ab, wie viel Geld er gerade hat
    ACNewMoney[playerid] = GetPlayerMoney(playerid) + money; //Du speicherst ab, wie viel Geld er danach haben soll
    return GivePlayerMoney(playerid,money);//Gibst ihm das Geld
    }


    //Erstellst nen Timer und packst das rein
    if(GetPlayerMoney(i) > ACNewMoney[i]) // Wenn er mehr hat, als er eigentlich haben sollte
    {
    SendClientMessageToAllX(Rot,"Spieler '%s' wurde vom Anti-Cheat gekickt. Grund: Moneyhack!",Name(i));//Wird eine Nachricht ausgegeben
    return Kick(i);//Und er wird gekickt.
    }



    Wie gesagt, abändern..

  • Wäre eig. auch eine simple Lösung aber beißt es sich nicht mit Sprunk PnS und Tuning Werkstätte vom Spiel?
    Ein Problem ist doch, dass nur bei der Geld Übergabe überprüft wird ob das Geld denn mit dem der Datenbank überein stimmt

    mfg RylPG

  • Wäre eig. auch eine simple Lösung aber beißt es sich nicht mit Sprunk PnS und Tuning Werkstätte vom Spiel?


    Ohh.. daran habe ich nicht gedacht..
    Mach doch einfach bei OnPlayerKeyState hin, wenn er die "F / Enter"Taste benutzt, dass er automatisch Geld abzieht..
    Es steht:
    if(GetPlayerMoney(i) > ACNewMoney[i]) // Wenn er mehr hat, als er eigentlich haben sollte
    Und nicht:
    if(GetPlayerMoney(i) < ACNewMoney[i]) // Wenn er weniger hat, als er eigentlich haben sollte


  • ja aber es wird doch trotzdem nur bei der Geld übergabe auf cheat/hack kontrolliert
    ?(

    mfg RylPG