AntiWaffenHack Geht nicht richtig!

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
  • Hallo
    ich habe mir ein AntiWaffenhack geschreiben eigendlich kein Prob, aber wenn man connecte und sich einlogt gleich bann weil man waffen id 0 hat, obwohl die waffe erlaubt ist.
    Das sind die verbotenen waffen


    und hier soll es abgefragt werden. Und wenn die waffen id von da oben in de rhand ist dann gibt ein ban.

    Einmal editiert, zuletzt von HoneyKing ()

  • Du gehst mit der Schleife nur die ID's durch, wie groß das Array VerboteneWaffen ist. Also 0-4.
    Und da du diesen Wert zum überprüfen nimmst, funktioniert das nicht.
    Du musst also die Abfrage auf if(GetPlayerWeapon(playerid) == VerboteneWaffen[w][])
    setzen.


    Sollte funktionieren.


    LG, Zunno

  • Also ich habe es jetzt so


    So weit man gespawnt ist reagiert der server nicht mehr. ka wieso das ist in onplayerupdate
    //edit 4 Die CPu lastung geht auch dann sehr hoch auf 95%

    3 Mal editiert, zuletzt von HoneyKing ()

  • Unter OnPlayerUpdate sollte man sowas lieber nich platzieren...
    Denn wenn du dich Bewegst wird dein Code ca 50 mal in einer Sekunde aufgerufen.
    Und da SA-MP immer nur eine sache gleichzeitig machen kann, fängt dein Server dann an zu laggen.


    Mach für dein Anticheat lieber einen neuen Timer der ca jede Sekunde aufgerufen wird, ist schonender :)

  • Na Gut ich werde dann in ein Public machen und timer der jede sekunde aufgerufen wird


    //Edit
    Also ich habe es in eine Public gepackt der jede sekunde aufgerufen wird es ist zwar schon durch das moneycheat system schon etwas erhöt der cpu auf 10% aber soweit das antiwaffen hack dazu kommt geht nix mehr das führt zu lags wieso auch immer

    Einmal editiert, zuletzt von HoneyKing ()

  • Also es wird public Checks()
    aufgerufen
    SetTimer("Checks",1000,1);


    und das public sieht so aus
    die Belastung geht erst hoch wenn einer drauf connecte ka wieso


    Timer in OnGamemodeInit un ddas public ganz unten


    /edit


    habs hingekricht es war die while teil da habe es in eien foreach schleife gemacht und es geht

    2 Mal editiert, zuletzt von HoneyKing ()