Hallo,
ich habe mit Erfolg einen /Invite Befehl gescriptet. Nur habe ich keine Idee wie ich es anstelle das Script wissen zu lassen ob der Spieler den in Inviten lassen möchte in einer Fraktion ist...
Also ich denke mit einer Schleife die alle Fraktionen durch geht oder?
Nur wie muss die aussehen? Bitte um Hilfe.
IsPlayerInFraktion?
- Jay_Carnivora
- Geschlossen
- Erledigt
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
-
-
Hör bloß auf mit schleifen..
Du bestitz hoffentlich ein enum, und dort auch was ähnliches wie 'Fraktion' oder 'Team'. Und dann einfach Abfragen, wenn er drinnen ist, geht der Befehl nicht
-
Jop, Enums.
Also:
if(pInfo[pID][Fraktion] == ?)
Ich hab aber n strock, also:
if(IsPlayerInFraktion(pID,?))
Ich weiß nich wie ich überprüfe ob er in irgendeiner Fraktion ist... -
if(pInfo[pID][Fraktion] != 0)
-
Danke.
Ich hätte es jetzt so gemacht:
if(pInfo[pID][Fraktion] > 0)
Würde das auch gehen? -
Wenn du willst das jeder über der Fraktion 0 den Befehl kann. Musst du if(pInfo[pID][Fraktion] >= 1) .
Hoffe ich konnte dir helfen :). -
Oder einfach n Stock isplayerinfrakt .
-
ocmd:invite(playerid,params[])
{
new pID,string[128],string2[128]
if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_YELLOW,"Benutze: /Invite <Spielername/ID>");
{
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist nicht online!");
if(!IsPlayerInFraktion(pID,0))return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist bereits in einer Fraktion!");
pInfo[pID][Fraktion] = 1; //Nun ist er beim SFPD
format(string,sizeof(string),"%s hat dich ins SFPD eingeladen.");
format(string2,sizeof(string2),"Du hast %s in die Fraktion eingeladen.");
SendClientMessage(pID,ADMCMD,string);
SendClientMessage(playerid,INFO,string2);
return 1;
}
}
Wenn der Spieler den ich Inviten will schon in einer Fraktion ist. Müsste jetzt "Dieser Spieler ist bereits in einer Fraktion!" kommen oder? -
ocmd:invite(playerid,params[])
{
new pID,string[128],string2[128]
if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_YELLOW,"Benutze: /Invite <Spielername/ID>");
{
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist nicht online!");
if(!IsPlayerInFraktion(pID,0))return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist bereits in einer Fraktion!");
pInfo[pID][Fraktion] = 1; //Nun ist er beim SFPD
format(string,sizeof(string),"%s hat dich ins SFPD eingeladen.");
format(string2,sizeof(string2),"Du hast %s in die Fraktion eingeladen.");
SendClientMessage(pID,ADMCMD,string);
SendClientMessage(playerid,INFO,string2);
return 1;
}
}
Wenn der Spieler den ich Inviten will schon in einer Fraktion ist. Müsste jetzt Dieser Spieler ist bereits in einer Fraktion! kommen oder?
Ja -
Genau. Wenn du ihn jetzt invitest, er aber in einer Fraktion ist, kommt diese Meldung
-
Gut ok, danke.
-
breadfish.de
Hat das Thema geschlossen.