Anti Cheat - Mehrere Probleme ..

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
  • Hey Jungs und Mädels,
    ich bin am verzweifeln. Ich habe mir ein Anti Cheat gedownloadet und es bei mir im Script eingefügt. Ich habe sogar M_Bot dafür raus genommen.
    Nun habe ich aber mehrere Probleme und ich weis nicht wie ich die Beheben kann ..


    Probleme :


    Undzwar, wenn ich /aduty mache wird ja mein Armor auf 100 gesetzt. Wenn ich aduty off gehe werde ich gekickt = Armor hack.
    Am Startower ist ein Fallschirm, wenn ich den aufhebe werde ich gekickt = Waffenhack.
    Wenn ich vom Startower runter springe werde ich gekickt = Speedhack.
    Nach einer bestimmten Zeit werde ich wegen Healthhack gekickt, obwohl ich nichts mache. Ich war aufm Desktop und als ich wieder ongekommen bin wurde ich gekickt.
    Wenn ich als Landwirt das Feld zuende geerntet habe, werde ich in einen LKW getan und sofort gekickt = Teleport hack


    Ich habe bis her nur das Moneycheat behoben.


    Ich habe mit dem Hersteller des Anti cheats gesprochen und er sagt bei ihm funktioniert es wunderbar.
    Ich soll alles mit Ex am ende machen sprich GivePlayerMoney wird zu GivePlayerMoneyEx. Das habe ich soweit bei allem gemacht, egal ob givegun oder armor oder health.


    Ich benutze das norme GnE Script welches ich editiert habe.


    Hier mal die Funktionen und die da wo ich gekickt werde.



    public GivePlayerWeaponEx(playerid,Gun,Muni){
    Waffe[playerid][Gun] = 1;
    return GivePlayerWeapon(playerid, Gun, Muni);
    }


    public GivePlayerMoneyEx(playerid,money){
    ACNewMoney[playerid] += money;
    return GivePlayerMoney(playerid,money);
    }


    public SetPlayerMoneyEx(playerid,money){
    ACNewMoney[playerid] = money;
    ResetPlayerMoney(playerid);
    return GivePlayerMoney(playerid,ACNewMoney[playerid]);
    }


    public SetPlayerArmourEx(playerid,Float:armour){
    ACNewArmour[playerid] = armour;
    parmour[playerid] = armour;
    return SetPlayerArmour(playerid,armour);
    }


    public GivePlayerArmourEx(playerid,Float:armour){
    new Float:oarmour;
    GetPlayerArmour(playerid,oarmour);
    ACOldArmour[playerid] = oarmour;
    ACNewArmour[playerid] = armour += oarmour;
    parmour[playerid] = armour += oarmour;
    return SetPlayerArmour(playerid,armour + oarmour);
    }


    public SetPlayerHealthEx(playerid,Float:health){
    ACNewHealth[playerid] = health;
    return SetPlayerHealth(playerid,health);
    }


    public GivePlayerHealthEx(playerid,Float:health){
    ACNewHealth[playerid] += health;
    return SetPlayerHealth(playerid,ACNewHealth[playerid]);
    }



    public AC_CheckWeapon(playerid){
    new Weaps[13][2],AC_Namee[MAX_PLAYER_NAME];
    if(SpawnWaffenVar[playerid] == 0)
    {
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerNPC(i))continue;
    if(!IsPlayerConnected(i))continue;
    GetPlayerName(i,AC_Namee,MAX_PLAYER_NAME);
    for(new _w = 0; _w < 13; _w++)
    {

    GetPlayerWeaponData(i, _w, Weaps[_w][0], Weaps[_w][1]);
    if(Weaps[_w][0] <= 0 && Waffe[i][Weaps[_w][0]] != 1)continue;
    else if(Weaps[_w][0] < 1 && Weaps[_w][0] > 47)continue;
    else if(Weaps[_w][0] <= 0 || Weaps[_w][1] <= 0)continue;
    else if(nwh[i][Weaps[_w][0]] == 1){nwh[i][Weaps[_w][0]] = 0; SetPlayerAmmo(i,_w,0); continue;}
    else if(Waffe[i][Weaps[_w][0]] <= 0 && nwh[i][Weaps[_w][0]] == 0)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Waffenhack!",AC_Namee),Kicks(i);
    }
    }
    }
    return 1;
    }



    public AC_AntiCheatTimer(){
    new i = 0,Float:health,Float:armour,surf;
    for(; i<MAX_PLAYERS; i++)
    {
    new a = 0;
    for(; a<MAX_PLAYERS; a++)
    {
    if(PlayerInfo[a][pAdmin] <= 0)
    {
    if(!IsPlayerConnected(i))continue;
    if(AC_start[i] == 0)continue;
    if(Desk[i] >= 1)continue;
    if(IsPlayerNPC(i))continue;
    GetPlayerHealth(i,health);
    GetPlayerArmour(i,armour);
    new SAC_Name[MAX_PLAYER_NAME]; GetPlayerName(i,SAC_Name,MAX_PLAYER_NAME);
    if(GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Jetpack!",SAC_Name),Kicks(i);
    else if(GetPlayerPing(i) > MAX_PING)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Zu hoher Ping! ( %i / %i )",SAC_Name,GetPlayerPing(i),MAX_PING),Kicks(i);
    else if(GetPlayerMoney(i) > ACNewMoney[i])return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Moneyhack!",SAC_Name),Kicks(i);//
    else if(health > ACNewHealth[i])return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Healthhack!",SAC_Name),Kicks(i);
    else if(armour > ACNewArmour[i])return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Armourhack!",SAC_Name),Kicks(i);
    else if(freezed[i] == 1 && AC_GetPlayerSpeed(i) > 0)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Unfreeze!",SAC_Name),Kicks(i);
    else if(AC_GetPlayerSpeed(i) > MAX_PLAYERSPEED)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Speedhack!",SAC_Name),Kicks(i);
    else if(IsPlayerInAnyVehicle(i))if(AC_GetVehicleSpeed(GetPlayerVehicleID(i)) > MAX_VEHSPEED)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Speedhack!",SAC_Name),Kicks(i);
    surf = GetPlayerSurfingVehicleID(i);
    if(!(GetPlayerSurfingVehicleID(i) == INVALID_VEHICLE_ID) && (AC_GetVehicleSpeed(surf) > 0))return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Carsurf!",SAC_Name),Kicks(i);
    if(switched[i] == 2)
    {
    GetPlayerPos(i,NewPos[i][0],NewPos[i][1],NewPos[i][2]);
    new Float:d = AC_Distance(OldPos[i][0],OldPos[i][1],OldPos[i][2],NewPos[i][0],NewPos[i][1],NewPos[i][2]);
    if(d >= 18 && posbyserver[i] != 1)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Airbrake / Teleporthack!",SAC_Name),Kicks(i);
    switched[i] = 1;
    }
    else if(switched[i] == 1)GetPlayerPos(i,OldPos[i][0],OldPos[i][1],OldPos[i][2]),switched[i] = 2;
    }
    }
    }
    return 1;
    }




    Ich möchte das Anti Cheat umbedingt benutzen, also bitte nicht mit "nimm es raus" ankommen ..


    Ja falls ihr noch Codes oder sonstiges braucht könnt ihr bescheid sagen ^^


    Ich hoffe jemand kann mir bei dem Problemen helfen ..



    Mfg Saphire

  • Nehm das Anticheat 3.0 raus und machen anti cheat 2.0 rein von ihm.
    Es hat sich einiges geändert du editierst einfach sein altes anti cheat.
    MfG.


    Erstens, wie komm ich an die v2 ?


    Zweitens, ich würde gerne v3 benutzen da in v3 auch sicherheitssysteme drin sind.


    Mfg Saphire

  • Davon hast du mir nichts erzählt..
    Aber bevor ich das AntiCheat released habe, habe ich es getestet, alles hat geklappt, jedoch sind anscheinend doch einige Bugs noch da..


    Du hast das AntiCheat jedoch auch editiert, wodurch du auch einige unnoetige Variablen setzt.. Werde mich demnächst auf jedenfall wenigstens an die Buggs setzen!



    Bitte schreibt mir alle Buggs per PN, oder in den Thread, damit ich sie fixxen kann..


    //Ich habe dir schon vor paar Tagen per PN geschrieben, erhoehe die "MAX_PLAYERSPEED" um ca 20.. (werde ich auch editieren)


    Das AntiCheat nimmt nur Waffen an, die mit "GivePlayerMoneyEx" gegeben werden.. ( werde eine Ausnahme bei Fallschirmen machen )


    Zu dem Health-/Armourhack: Werde es earbeiten, weiß glaube, worans liegt!


    Teleporthack: Wirst du dort weit teleportiert?

    Mit freundlichen Grüßen
    ErikSon



    Scripte kleine Systeme auf Anfrage umsonst!
    Per PN könnt ihr mir gerne Scriptingfragen stellen.

    2 Mal editiert, zuletzt von ErikSon ()