Wie Scripte ich das?

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:d(playerid,params[])
    {
    new Text[128];
    format(Text,sizeof(Text2), "[Staatschat]: %s %s", SpielerName(playerid),Text); //Anpassen... rest auch anpassen
    if(sscanf(params,"s",text)) return SendClientMessage(playerid, FARBE, "Nutze: /d <Text>");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(FrakID[i] == 1 || FrakID[i] == 2 || FrakID[i] == 3 || FrakID[i] == 4)
    {
    SendClientMessage(i, Farbe, text);
    }
    }
    return 1;
    }


    //Edit ausssehn verbessert.


    Mfg, sollte klappen (ungetestet) :P


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!


  • Jop müsste klappen, du musst halt noch die if Abfragen mit deinen ersetzen und die Farbe natürlich :P

  • Dankeschön, Ich teste das gleich mal, Danke an allen ;)





    edit: Wenn ich diesen Befehl reinmache und dann den Compiler drücke bekomme ich Errors:


    Zeile (357) : error 028: invalid subscript (not an array or too many subscripts): "IstSpielerMember"
    Zeile (357) : warning 215: expression has no effect
    Zeile (357) : error 001: expected token: ";", but found "]"
    Zeile (357) : error 029: invalid expression, assumed zero
    Zeile (357) : fatal error 107: too many error messages on one line


    Der Befehl: ocmd:d(playerid,params[])
    {
    new Text[128];
    format(Text,sizeof(Text), "[Staatschat]: %s %s", SpielerName(playerid),Text); //Anpassen... rest auch anpassen
    if(sscanf(params,"s",Text)) return SendClientMessage(playerid, DUNKELGRAU, "BENUTZE: /d [TEXT]");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IstSpielerMember[i] == 1 || IstSpielerMember[i] == 2 || IstSpielerMember[i] == 3 || IstSpielerMember[i] == 4)
    {
    SendClientMessage(i, HELLROT, Text);
    }
    }
    return 1;

    MFG,TheBester

    Einmal editiert, zuletzt von TheBester ()

  • Das ist alles was ich zu IstSpielerMember habe


    stock IstSpielerMember(playerid,frakid)
    {
    if(GetPVarInt(playerid,"Fraktion") == frakid)return 1;
    return 0;
    }

    Na da haben wirs schon. IstSpielerMember ist eine Funktion, kein Array. Somit kannst du nicht per
    if(IstSpielerMember[i] == xyz)


    abfragen.


    Du musst es mit
    if(IstSpielerMember(i,xyz))


    Selbstverständlich solltest du das xyz ersetzen mit der fraktionsid.
    MfG