Fehler Hilfe bei freeze befehl

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
  • ocmd:freeze(playerid, params[])
    {
    if(IstSpielerAdmin(playerid,3))
    {
    new admstr[128], id;
    if(sscanf(params,"u", id))return SendClientMessage(playerid, COLOR_WHITE, "FEHLER: /Freeze [Spieler/ID]");
    new freezer[MAX_PLAYER_NAME];
    GetPlayerName(playerid, freezer, MAX_PLAYER_NAME);
    new freezed[MAX_PLAYER_NAME];
    GetPlayerName(id, freezed, MAX_PLAYER_NAME);
    format(admstr, sizeof(admstr), "AdmCmd: Spieler %s wurde von %s Gefreezed", freezer, freezed);
    TogglePlayerControllable(id, false);
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(IstSpielerAdmin(playerid,3))
    {
    SendClientMessageToAll(COLOR_ADM,admstr);
    }
    }
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_FREEZEZUGRIFF,DIALOG_STYLE_MSGBOX,"Zugriff Verweigert","Sie sind nicht Befugt diesen Befehl zunutzen","Schließen","");
    }
    return 1;
    }



    Mein Problem ist wenn ich diesen Befehl eingebe wird die Nachricht über 30mal Gesendet ich weis selber nicht woran es liegt Errors oder Warnings gibt es nicht


    Since 2012

  • for(new i;i<MAX_PLAYERS;i++)
    {
    if(IstSpielerAdmin(playerid,3))
    {
    SendClientMessageToAll(COLOR_ADM,admstr);
    }
    }
    Das sollte dich aber auch nicht wundern, wenn du eine Schleife benutzt und in dieser SendClientMessageToAll verwendest. Auch glaube ich,ist die If-Abfrage dabei nicht richtig.Sollte dort nicht i hin ?