Speedhack Warns für Admins

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


    Wie mache ich das, dass Admins bei einem Speedhacker Warnungen bekommen, also brauche das Speedhack Script + Warnungen.


    Falls es jmd braucht: /A CHAT


    ocmd:a(playerid,params[]){
    // Platzhalter
    new text[96],textconent[128];
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /a(dminchat) [text].");
    if(PlayerInfo[playerid][pAdminLevel] < 1){
    format(textconent,sizeof(textconent),"(a)dmin Report von %s [ID: %d] - Nachricht: %s",PlayerName(playerid),playerid,text);
    }else{
    format(textconent,sizeof(textconent),"%s %s: %s",AdminRang[PlayerInfo[playerid][pAdminLevel]],PlayerName(playerid),text);
    }
    SendClientMessage(playerid,COLOR_DARKRED,textconent);
    SendAdminChat(textconent,playerid);
    return 1;
    }

  • Du kannst das mit einem Timer machen,
    hier haste alles:


    Ganz oben ins Script:

    new Warned[MAX_PLAYERS];
    new AntiSpeedHackTimer[MAX_PLAYERS];
    forward SpeedWaned(playerid);
    forward AntiSpeedTimer(playerid);


    Ganz unten:

    public AntiSpeedTimer(playerid)
    {
    new stat = GetPlayerState(playerid);
    if(AutoCheat(playerid) >= 300 && stat == PLAYER_STATE_DRIVER)
    {
    if(Warned[playerid] == 0)
    {
    new string[128];
    format(string,sizeof(string),"Achtung: Spieler %s ist schneller als %d KM/H! Verdacht auf SpeedHack!",SpielerName(playerid),AutoCheat(playerid));
    SendAdminMessage(COLOR_YELLOW,string);
    format(string,sizeof(string),"Bitte überprüfe ob der Spieler wirklich Cheatet, Spectaten kannst du ihn mit '/spec %d'",playerid);
    SendAdminMessage(COLOR_YELLOW,string);
    Warned[playerid] = 1;
    AntiSpeedHackTimer[playerid] = SetTimerEx("SpeedWaned",0,30000,"i",playerid);
    return 1;
    }
    return 1;
    }
    return 1;
    }
    public SpeedWaned(playerid)
    {
    Warned[playerid] = 0;
    return 1;
    }


    Unter OnPlayerConnect:

    AntiSpeedHackTimer[playerid] = SetTimerEx("AntiSpeedTimer",1000,0,"i",playerid);


    Unter OnPlayerDisconnect:

    KillTimer(AntiSpeedHackTimer[playerid]);

    05eb03de-9fda-461c-9dfc-834ae5b64e65.png << Server | Home >> 13462590508.png

  • C:\Users\Administrator\Desktop\DM\gamemodes\Gve.pwn(1579) : error 017: undefined symbol "AutoCheat"
    C:\Users\Administrator\Desktop\DM\gamemodes\Gve.pwn(1584) : error 017: undefined symbol "AutoCheat"
    C:\Users\Administrator\Desktop\DM\gamemodes\Gve.pwn(1585) : error 017: undefined symbol "SendAdminMessage"
    C:\Users\Administrator\Desktop\ DM\gamemodes\Gve.pwn(1587) : error 017: undefined symbol "SendAdminMessage"


  • stock SendAdminMessage(playerid, farbe, const message[]);
    {
    new i;
    while(i < MAX_PLAYERS)
    {
    i++;
    if SpielerInfo[i][pAdmin] >= 1)
    {
    SendClientMessage(i, farbe, message[]);
    }
    }
    }


    Sollte so in der Art funktionieren.

  • Sollte so in der Art funktionieren.


    Nutze doch bitte eine for-schleife:


    stock SendAdminMessage(playerid, farbe, const message[]) {
    for(new i; i<MAX_PLAYERS; i++) if SpielerInfo[i][pAdmin] >= 1 && IsPlayerConnected(i))) SendClientMessage(i, farbe, message[]);
    }


    Wenn man die Funktion aufrufen will, macht man kein ; ^^


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S