Okay erstmal danke für die Aufklärung und die Lösung meines Problems!
Also wäre es zum Vorteil dies auch bei meinem accept Befehl umzuändern? von quasi so:
ocmd:accept(playerid, params[])
{
new item[64];
if(sscanf(params,"s[64]", item))return SCM(playerid,WEISS, "[ {ECFF00}Information{FFFFFF} ]: /accept [invite]");
if(!strcmp(item, "invite", false))
{
if(GetPVarInt(playerid, "getfrak") == 0)return SCM(playerid,LROT,"[ Fehlerbericht ]: Du wurdest in keine Fraktion eingeladen!");
new fID = GetPVarInt(playerid, "getfrak");
new string[128];
PlayerInfo[playerid][pFraktion] = fID;
PlayerInfo[playerid][pFRang] = 1;
format(string,sizeof(string), "[ {ECFF00}Information{FFFFFF} ]: Du bist der Fraktion %s beigetreten.",FraktionsName(PlayerInfo[playerid][pFraktion]));
SCM(playerid, WEISS, string);
format(string,sizeof(string), "[ {ECFF00}Information{FFFFFF} ]: %s ist der Fraktion beigetreten.",SpielerName(playerid));
SCM(GetPVarInt(playerid, "inv_inviter"),WEISS, string);
SetPVarInt(playerid, "getfrak", 0);
}
return 1;
}
Alles anzeigen
auf so?:
ocmd:accept(playerid, params[])
{
static const info[] = "[ {ECFF00}Information{FFFFFF} ]: /accept [invite]"; //Und hier dann immer die nächsten keyword hinter invite einfügen?
if(!params[0]) return SCM(playerid, WEISS, info);
new item[64], idx = strfind(params, " ");
strmid(item, params, 0, (idx==-1)?strlen(params):idx);
if(!strcmp(item, "invite"))
{
if(GetPVarInt(playerid, "getfrak") == 0)return SCM(playerid,LROT,"[ Fehlerbericht ]: Du wurdest in keine Fraktion eingeladen!");
new fID = GetPVarInt(playerid, "getfrak");
new string[128];
PlayerInfo[playerid][pFraktion] = fID;
PlayerInfo[playerid][pFRang] = 1;
format(string,sizeof(string), "[ {ECFF00}Information{FFFFFF} ]: Du bist der Fraktion %s beigetreten.",FraktionsName(PlayerInfo[playerid][pFraktion]));
SCM(playerid, WEISS, string);
format(string,sizeof(string), "[ {ECFF00}Information{FFFFFF} ]: %s ist der Fraktion beigetreten.",SpielerName(playerid));
SCM(GetPVarInt(playerid, "inv_inviter"),WEISS, string);
SetPVarInt(playerid, "getfrak", 0);
}
return 1;
}
Alles anzeigen
Wollte auch noch zu meinem accept invite Befehl was "erzählen" der Befehl funktioniert soweit jedoch wird mein Fraktionsrang in der DB auf 70 gesetzt wie kann das zustande kommen? Kaliber
und wenn ich bspw. nur /accept eingebe kommt direkt ich wurde in keine fraktion eingeladen aber da sollte es ja eigentlich weitere keywords geben bspw. /accept heal
/edit sollte natürlich den invite befehl vielleicht auch zeigen
ocmd:invite(playerid,params[])
{
new pID,string[256];
if(isPlayerInFrakt(playerid,0))return NOFRAK_MSG);
if(PlayerInfo[playerid][pFRang] != 6)return NOLEADER_MSG);
if(sscanf(params,"u",pID))return SCM(playerid,WEISS,"[ {ECFF00}Information{FFFFFF} ]: /invite [playerid]");
if(pID == playerid)return SCM(playerid,LROT,"[ Fehlerbericht ]: Du kannst dich nicht selbst inviten!");
if(!IsPlayerConnected(pID))return NOTONLINE_MSG);
if(isPlayerInFrakt(pID,PlayerInfo[playerid][pFraktion]))return SCM(playerid,LROT,"[ Fehlerbericht ]: Spieler ist bereits in deiner Fraktion.");
if(PlayerInfo[pID][pFraktion] != 0)return SCM(playerid,LROT,"[ Fehlerbericht ]: Der angegebene Spieler ist bereits in einer Fraktion.");
format(string,sizeof(string),"[ {ECFF00}Information{FFFFFF} ]: Du wurdest von %s in die Fraktion %s eingeladen.",PlayerInfo[playerid][pName],FraktionsName(PlayerInfo[playerid][pFraktion]));
SCM(pID,WEISS,string);
SCM(pID,WEISS,"[{ECFF00}Information{FFFFFF}]: Um der Fraktion beizutreten nutze: /accept invite");
format(string,sizeof(string),"[ {ECFF00}Information{FFFFFF} ]: Du hast %s in deine Fraktion eingeladen.",PlayerInfo[pID][pName]);
SCM(playerid, WEISS,string);
SetPVarInt(pID,"getfrak",PlayerInfo[playerid][pFraktion]);
SetPVarInt(pID,"getleader",playerid);
return 1;
}
Alles anzeigen