Admin Chat

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
  • stock Spielername(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
    }


    ocmd:ach(playerid, params[])
    {
    new Message[1024];
    if(sscanf(params, "s", Message))
    {
    SendClientMessage(playerid, 0xBB0000FF, "/ach [NACHRICHT]");
    return 1;
    }
    else
    {
    if(Player[playerid][IsAdmin] == 1 || Player[playerid][IsAdmin] == 2)
    {
    new string[2048];
    format(string, sizeof(string), "[ADMIN-CHAT] %s: %s", Spielername(playerid), Message); //MARKIERT

    new x;
    for(x = 0; x < MAX_PLAYERS; x++)
    {
    if(Player[playerid][IsAdmin] == 1 || Player[playerid][IsAdmin] == 2)
    {
    SendClientMessage(x, 0xBBBB00FF, string);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, 0xBB0000FF, "Du besitzt nicht die erforderlichen Rechte um den Befehl auszuführen.");
    }
    return 1;
    }
    }


    Joa das wars :D Kannst die ausgabe Formatieren in der Zeile mit //MARKIERT
    Syntax des Cmds: /ach [NACHRICHT]


    (Ich habe das aus einem selbstgeschriebenen Gamemode, also kann es sein, dass der Code so noch nicht läuft)

    Programmierung: C/C++, Java, BASIC, SQL, HTML, CSS, JavaScript, PHP


    Einfach eine mega-große Schrift, die meine obige Nachricht nicht von meiner Signatur unterscheiden lässt, weil meine Signatur einfach nur gigantisch ist - Aber das ist mir egal...

  • CO2: Nachrichten dieser Größe sind unnötig. Das maximum liegt bei 144 zeichen. Außerdem kannst du auf sscanf verzichten.


    ocmd:achat(playerid,params[])
    {
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, ROT, "Du bist kein admin. ");
    if(!strlen(params)) return SendClientMessage(playerid, ROT, "Benutze: /achat (text)");
    new str[144];
    format(str, sizeof(str), "(Admin Chat) %s sagt: %s", SpielerName(playerid), params);
    for(new i = 0; i<MAX_PLAYERS; i++) if(IsPlayerAdmin(i)) SendClientMessage(i,FARBE, str);
    return 1;
    }


  • Danke, also so Richtig?
    Blicke mit denn for Schleifen nicht so ganz durch...



    ocmd:a(playerid,params[])
    {
    if(!IstSpielerEinAdmin(playerid,1))return SendClientMessage(playerid,FARBE_WEISS,"[{00FFFF}SERVER{FFFFFF}]: Du hast nicht das Recht dazu diesen Befehl zu nutzen!");
    if(!strlen(params))return SendClientMessage(playerid,FARBE_WEISS,"[{00FFFF}SERVER{FFFFFF}]: Nutze /a [TEXT]");
    new string[144];
    format(string,sizeof(string),"[ADMIN-CHAT] %s sagt: %s",SpielerName(playerid),params);
    for(new i = 0; i<MAX_PLAYERS; i++) if(IstSpielerEinAdmin(i,1))SendClientMessage(i,FARBE_GELB,string);
    return 1;
    }