Report befehl bei Admins kommt keine Nachricht

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,
    wenn ein User das eingibt bekommen wir admins keine Benachrichtigung bzw den Report nicht -.- Was ist falsch ?
    ocmd:report(playerid,params[])
    {
    new pID, grund[128];
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,grau,"INFO: /report [Spieler der Reportet werden soll] [Grund]");
    for(new i = 1; i <= MAX_PLAYERS; i++)
    {
    if(isPlayerAnAdmin(i,2))
    {
    new string[128];
    format(string,sizeof(string),"Report von %s : Der Spieler %s wurde Reportet: %s ",SpielerName(playerid),SpielerName(pID),grund);
    SendClientMessage(playerid,drot,string);
    return 1;
    }
    }
    return 1;
    }

  • Gib dir mal Adminrang 2 und versuch es dann noch einmal :)

  • Hab den Code mal ein wenig verbessert:

    ocmd:report(playerid,params[])
    {
    new pID, grund[80];
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,grau,"INFO: /report [Spieler der Reportet werden soll] [Grund]");
    //falls du sscanf2 verwendest musst du die Größe des Strings mit "s[80]" angeben
    new string[128];
    format(string,sizeof(string),"Report von %s : Der Spieler %s wurde Reportet: %s ",SpielerName(playerid),SpielerName(pID),grund); //Es reicht, den String nur einmal zu formatieren


    for(new i = 0; i < MAX_PLAYERS; i++) // Spieler-ID's werden von 0 bis MAX_PLAYERS-1 vergeben
    {
    if(isPlayerAnAdmin(i,2))
    {
    SendClientMessage(i,drot,string); //wenn du die Nachricht an playerid sendest bekommt der Spieler, der den Befehl eingegeben hat die Meldung
    //return 1; //return hat hier keinen Sinn, da die Nachricht dann nur an den ersten Spieler gesendet und die Schleife dann abgebrochen wird.
    }
    }
    return 1;
    }