Brauche Hilfe bei dem Rang system
hab das Rangsystem jetzt mal nur für die army
Die Ränge sollen so aussehen
#define arang1 "Rekrut"
#define arang2 "Kanonier"
#define arang3 "BT-1 | Gefreiter"
#define arang4 "BT-2 | Obergefreiter"
#define arang5 "BT-3 | Hauptgefreiter"
#define arang6 "BT-4 | Oberhauptgefreiter"
#define arang7 "ST-1 | Scharfschützenanfänger"
#define arang8 "ST-2 | Scharfschütze"
#define arang9 "ST-3 | Hauptschütze"
#define arang10 "ST-4 | Oberschütze"
#define arang11 "LW-1 | Feldwebel"
#define arang12 "LW-2 | Oberfeldwebel"
#define arang13 "LW-3 | Hauptfeldwebel"
#define arang14 "LW-4 | OberHauptwebel"
#define arang15 "Leutnant"
#define arang16 "Oberleutnant*"
#define arang17 "BT-Oberst**"
#define arang18 "LW-Oberst***"
#define arang19 "Generalleutnant****"
#define arang20 "General*****"
der /r chat
/* ocmd:r(playerid, params[])
{
new text[128];
if(sscanf(params,"s",text))return SendClientMessage(playerid,COLOR_ROT,"BENUTZUNG: /r [TEXT]");
format(text,sizeof(text),"%s %s: %s",GetRankName(playerid), SpielerName(playerid),text);//
SendClientMessage(playerid, COLOR_BLAU, text);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")))
{
SendClientMessage(i,COLOR_BLAU,text);
}
}
}
return 1;
}*/ Derzeit in Klammern da ein Fehler drin ist
der /stats befehl
if(strcmp(cmdtext,"/stats",true)==0)
{
new string[128];
new fraktname[64];
new Rang[64];
switch(GetPVarInt(playerid,"Fraktion"))
{
case 0:{fraktname="Keine";}
case 1:{fraktname=fraktname1;}
case 2:{fraktname=fraktname2;}
case 3:{fraktname=fraktname3;}
}
switch(GetPVarInt(playerid,"Rang"))
{
case 0:{Rang="keiner";}
case 1:{Rang=arang1;}
case 2:{Rang=arang2;}
case 3:{Rang=arang3;}
case 4:{Rang=arang4;}
case 5:{Rang=arang5;}
case 6:{Rang=arang6;}
case 7:{Rang=arang7;}
case 8:{Rang=arang8;}
case 9:{Rang=arang9;}
case 10:{Rang=arang10;}
case 11:{Rang=arang11;}
case 12:{Rang=arang12;}
case 13:{Rang=arang13;}
case 14:{Rang=arang14;}
case 15:{Rang=arang15;}
case 16:{Rang=arang16;}
case 17:{Rang=arang17;}
case 18:{Rang=arang18;}
case 19:{Rang=arang19;}
case 20:{Rang=arang20;}
}
format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s] [Rang: %i]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),fraktname,Rang);
SendClientMessage(playerid,COLOR_BLAU,string);
return 1;
}
und die Stocks
stock IsPlayerRank(playerid,Rank)
{
if(GetPVarInt(playerid,"Rang") == Rang)return 1;//Hier würde ich >= machen, damit alle anderen Einheiten, die ein Höheren Rang haben, auch die Nachricht bekommen.
return 0;
}
stock GetRankName(playerid)
{
new faction = GetPVarInt(playerid,"Fraktion");
new rank = GetPVarInt(playerid,"Rang");
new tmpstr[32];
switch ( faction )
{
case "Fraktion"
{
switch ( rank )
{
return rankNameArray[rank-1];
}
}
}
}
aber da ist ein Fehler drin bei den Rängen mit dem #define das wird bei den stats oder so nicht gerechnet aufjedenfall ist ein Fehler bei den Stats wegen den Rängen
undich weiß nicht warum