Problem mit Anticheat

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 Brotfische,


    Mein Antispeed befehl befehl kickt geht nich ganz...
    Wenn ich als Admin speedhack benutze wird ein andere unser dafür gekickt, oder es steht als %s nichts da als ; [Anti-Cheat]: wurd auf Verdacht einses Speedhacks gekickt.


    Codes:
    //OngameModeInit
    SetTimer("Antispeed",2000,true);


    //mein Public
    public Antispeed(playerid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(sInfo[playerid][alevel] >1)
    {
    if(GetPlayerState(i)==PLAYER_STATE_DRIVER)
    {
    if(getPlayerSpeed(i) >299)
    {


    }
    return 1;
    }
    }
    if(sInfo[playerid][alevel]==0)
    {
    if(getPlayerSpeed(i) >299)
    {
    if(!IsPlayerConnected(i))return 1;
    new string[128];
    format(string,sizeof(string),"[Anti-Cheat]: {FFFFFF}%s {FFAA00}wurde auf Verdacht eines {FFFFFF}Speedhacks {FFAA00}gekickt.",SpielerName(playerid));
    SendClientMessageToAll(0xFFAA00FF,string);
    savePlayer(playerid);
    SetTimerEx("kickTimer",710,0,"i",playerid);
    }
    return 1;
    }
    return 1;
    }
    return 1;
    }


    Ich hoffe ihr könnt mir helfen :D


    MFG German_ScripterHD


    Mit freundlichen Grüßen
    German_ScripterHD


  • forward Antispeed();
    public Antispeed()
    {
    new string[145];
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(sInfo[playerid][alevel] > 1)continue;
    if(getPlayerSpeed(i) > 299)
    {
    format(string,sizeof(string),"[Anti-Cheat]:{FFFFFF}%s{FFAA00} wurde auf Verdacht eines{FFFFFF} Speedhacks{FFAA00} gekickt.",SpielerName(i));
    SendClientMessageToAll(0xFFAA00FF,string);
    savePlayer(i);
    SetTimerEx("kickTimer",710,0,"i",i);
    }
    }
    return 1;
    }


    So sollte das ganze funktionieren.


    Admins über dem Adminrank 1 werden nicht überprüft! ;)

    Einmal editiert, zuletzt von AirM4X ()

  • SetTimer startet einen Timer ohne parameter, du hast aber den parameter playerid im public angegeben. Dieser wird immer 0 sein (oder jedenfalls nicht die ID eines spielers so wie du es willst). Wenn du den Parameter weg machst und versuchst zu Compilen siehst du dass du bei
    if(sInfo[playerid][alevel] > 1)playerid anstatt i angibst, und da liegt ein(er der) Fehler.

    The fact is, I am right. And if you think I'm wrong, you are wrong.