Hallo,
ich habe ein dynamisches Rangsystem und möchte anhand des Ranges des Spielers einen individuellen Rangnamen (in der DB festgelegt) auslesen lassen.
Das ganze sieht derzeit so aus:
ocmd:f(playerid,params[])
{
if(Friedhof[playerid] > 0)return SCM(playerid, ROT,"Du bist zu Verletzt um dein Funkgerät zu benutzen!");
if(pInfo[playerid][pFraktion] == 0)return SCM(playerid, ROT,"Du bist in keiner Fraktion!");
if(pTie[playerid] == 1)
{
SCM(playerid,ROT,"Du wurdest gefesselt, du kannst nicht reden!");
return 1;
}
new inputtext[128],string[256],fname[10],ausgabe[128];
if(sscanf(params,"s",inputtext))return SCM(playerid, ROT,"/f [text]");
switch(pInfo[playerid][pFraktion])
{
case 1:{fname = "LSPD";}
case 2:{fname = "BND";}
case 3:{fname = "Assasins";}
case 4:{fname = "SAA";}
case 5:{fname = "Regierung";}
case 6:{fname = "LSMD";}
case 7:{fname = "OAmt";}
case 8:{fname = "LEER";}
case 9:{fname = "SAM AG";}
case 10:{fname = "Grove";}
case 11:{fname = "Ballas";}
case 12:{fname = "Terror";}
case 13:{fname = "LCN";}
}
new query[256];
mysql_query(query);
switch(pInfo[playerid][pRank])
{
case 0:{return SCM(playerid,ROT,"Du hast keinen Fraktionsrang!");}
case 1:{format(query, sizeof(query), "SELECT `Rang1` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
case 2:{format(query, sizeof(query), "SELECT `Rang2` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
case 3:{format(query, sizeof(query), "SELECT `Rang3` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
case 4:{format(query, sizeof(query), "SELECT `Rang4` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
case 5:{format(query, sizeof(query), "SELECT `Rang5` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
case 6:{format(query, sizeof(query), "SELECT `Rang6` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
}
mysql_query(query);
mysql_store_result();
new rows = mysql_num_rows();
if(rows > 0)
{
mysql_fetch_row(ausgabe);
}
if(pInfo[playerid][pFraktion] == 1)
{
format(string,sizeof(string),"[%s]{C30000}%s %s: {FFFFFF}%s,over.",fname,ausgabe,SpielerName(playerid),inputtext);
}
else
{
format(string,sizeof(string),"[%s]{C30000}%s %s: {FFFFFF}%s",fname,ausgabe,SpielerName(playerid),inputtext);
}
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(pInfo[i][pFraktion] == pInfo[playerid][pFraktion])
{
SCM(i,0x0091FFFF,string);
}
}
}
BigearCast(playerid,string,1);
return 1;
}
Das Problem ist, dass er zwar die Fraktion (fname) erkennt, jedoch den Rang nicht.
Egal welchen Rang ich InGame habe, ich bekomme immer den return, dass ich keinen Fraktionsrang habe ![]()
Habt ihr eine Idee? :O