Guten Abend,
Ich möchte mal gerne wissen, wie man einen /d - Chat scriptet, so das es 4 Fraktionen sehen können.
Kann mir einer einen Befehl machen? Wenns geht mit ocmd
Mit Freundlichen Grüßen
TheBester
Guten Abend,
Ich möchte mal gerne wissen, wie man einen /d - Chat scriptet, so das es 4 Fraktionen sehen können.
Kann mir einer einen Befehl machen? Wenns geht mit ocmd
Mit Freundlichen Grüßen
TheBester
Abfragen ob der Spieler in der Fraktion ist und den angegebenen Text via. SendclientMessage an die 4 Fraktionen weiterleiten
Alles anzeigenGuten Abend,
Ich möchte mal gerne wissen, wie man einen /d - Chat scriptet, so das es 4 Fraktionen sehen können.
Kann mir einer einen Befehl machen? Wenns geht mit ocmd
Mit Freundlichen Grüßen
TheBester
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)
Du bist Wahrlich der "Bester".
4 Fraktion, Öhm wie sind die Fraktion Abfragen von dir?
schau dir dein "/f(raktionschat) genau an dann weißt du wie man ein /d chat macht.
Alles anzeigen
ocmd:d(playerid,params[])
{
new Text[128];
format(Text,sizeof(Text2), "%s", Text);
if(sscanf(params,"s",text)) return SendClientMessage(playerid, FARBE, "Nutze: /d ");
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;
}
Mfg, sollte klappen (ungetestet)
Jop müsste klappen, du musst halt noch die if Abfragen mit deinen ersetzen und die Farbe natürlich
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
Zeile (357) : error 028: invalid subscript (not an array or too many subscripts): "IstSpielerMember"
Nun, das sagt eigentlich alles...IstSpielerMember scheint kein Array zu sein.
Das ist alles was ich zu IstSpielerMember habe
stock IstSpielerMember(playerid,frakid)
{
if(GetPVarInt(playerid,"Fraktion") == frakid)return 1;
return 0;
}
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
Ah, danke klappt