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