Guten Tag,
Ich habe mich an ein Fraktions Rangsystem gesetzt. Diese sind per Befehl InGame vom Leader änderbar.
Nun habe ich versucht einen Fraktionschat zu schreiben. Jedoch funktioniert dies nicht ganz so wie ich wollte.
Der Rang Name wird nicht angezeigt. Beispiel: (( Akira_Miyako: Test )) und nicht wie gewollt: (( Rang3 Akira_Miyako: Test ))
Der Fraktionschat Befehl
ocmd:f(playerid,params[])
{
if(SpielerInfo[playerid][pFrak] == 4 || SpielerInfo[playerid][pFrak] == 5 || SpielerInfo[playerid][pFrak] == 6)
{
new text[128];
new textstring[128];
new Rangname[64];
if(sscanf(params,"s",text))return SendClientMessage(playerid,weiss,"Benutzung: /f [TEXT]");
{
new fID = SpielerInfo[playerid][pFrak];
LoadRang(fID);
switch(SpielerInfo[playerid][pFrakRank])
{
case 0:{Rangname="Unbekannt";}
case 1:{Rangname=fInfo[fID][fRang1];}
case 2:{Rangname=fInfo[fID][fRang2];}
case 3:{Rangname=fInfo[fID][fRang3];}
case 4:{Rangname=fInfo[fID][fRang4];}
case 5:{Rangname=fInfo[fID][fRang5];}
case 6:{Rangname=fInfo[fID][fRang6];}
}
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(isPlayerInFrakt(i,SpielerInfo[playerid][pFrak]))
{
format(textstring,sizeof(textstring)," (( %s %s: %s. ))",Rangname,SpielerName(playerid),text);
SendClientMessage(i,blau,textstring);
}
}
}
}
}
return 1;
}
Hier der LoadRang stock
stock LoadRang(frakid)
{
for(new i = 0; i < MAX_FRACS; i++)
{
new string[128];
format(string,sizeof(string), "%d", frakid);
format(fInfo[i][fRang1],64,"%s",mysql_GetString("frakranks", "Rang1", "ID", string));
format(fInfo[i][fRang2],64,"%s",mysql_GetString("frakranks", "Rang2", "ID", string));
format(fInfo[i][fRang3],64,"%s",mysql_GetString("frakranks", "Rang3", "ID", string));
format(fInfo[i][fRang4],64,"%s",mysql_GetString("frakranks", "Rang4", "ID", string));
format(fInfo[i][fRang5],64,"%s",mysql_GetString("frakranks", "Rang5", "ID", string));
format(fInfo[i][fRang6],64,"%s",mysql_GetString("frakranks", "Rang6", "ID", string));
}
}
Ich hoffe mir kann wer helfen. Danke schonmal im Vorraus.