Ich weiß aber nicht, was beim /stats Befehl fehlt, könnte mir bitte jemand weiterhelfen?
2 Fehler waren da:
1. Du hast nirgends pID genutzt, das heißt egal welche ID du eingegeben hättest, du hättest immer die stats von dir selbst gesehen.
2. Du setzt zu oft ein , obwohl du ein ; verwenden willst. Dadurch hast du einen ) Fehler gemacht, der zu dem Problem führt.
Schreibe es mal so:
ocmd:stats(playerid,params[])
{
if(sInfo[playerid][eingeloggt]==0) return SendClientMessage(playerid,Kaminrot,"ERROR: Du bist nicht eingeloggt.");
new pID:
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,Orange,"INFO: /stats [id/name]");
new string[1024],pStats[16 + MAX_PLAYER_NAME];
new fID = sInfo[pID][fraktion], jID = sInfo[pID][job];
new Float:ratio=floatdiv(sInfo[pID][kills], sInfo[pID][tode]);
format(pStats,sizeof(pStats),"Statistiken von %s",getPlayerName(pID));
format(string,sizeof(string),"Name:[%s], ID:[%i], Level:[%i], XP:[%i/%i]\nSpielstunden:[], Payday:[%i/30], Account:[], Adminlevel:[%i]\nVerwarnungen:[], Geld ges.:[%i], Bargeld:[%i], Bank:[%i]\nFraktion:[%s], Rang:[%i], Drogen:[%i]\nKills:[%i], Tode:[%i], K/D Rate:[%.2f], Wanteds:[%i], Job:[%s]",
getPlayerName(pID),pID,GetPlayerScore(pID),sInfo[pID][xpres],sInfo[pID][xpmax],sInfo[pID][payday],sInfo[pID][alevel],GetPlayerMoney(pID)+sInfo[pID][bank],GetPlayerMoney(pID),sInfo[pID][bank],fInfo[fID][f_name],
sInfo[pID][rang],sInfo[pID][drogen],sInfo[pID][kills],sInfo[pID][tode],ratio,GetPlayerWantedLevel(pID),jInfo[jID][j_name]);
ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,pStats,string,"Okay","");
return 1;
}
Alles anzeigen