Without SSCANF:
pawn Код:
CMD:stats(playerid,params[])
{
new targetid;
if(isnull(params)) targetid = playerid;
else targetid = strval(params);
if(!IsPlayerConnected(targetid) || targetid == INVALID_PLAYER_ID)
return SendClientMessage(playerid, red, "Player Not Connected!");
new hours, minutes, seconds, pDeaths, PlayerName[MAX_PLAYER_NAME];
TotalGameTime(targetid, hours, minutes, seconds);
GetPlayerName(targetid, PlayerName, sizeof(PlayerName));
if(PlayerInfo[targetid][Deaths] == 0) pDeaths = 1;
else pDeaths = PlayerInfo[targetid][Deaths];
new fstr[1000], str[250];
format(fstr, sizeof(fstr), "\t\t\t{F2C80C}YG Stats For %s's\n", PlayerName);
format(str, sizeof(str), "{FFFFFF}Scores:{00FFFF} %d{FFFFFF}, Money:{00FFFF} $%d{FFFFFF}, Kills:{00FFFF} %d{FFFFFF}, Deaths:{00FFFF} %d{FFFFFF}, K/D Ratio:{00FFFF} %0.2f{FFFFFF},\n", GetPlayerScore(targetid), GetPlayerMoney(targetid), PlayerInfo[targetid][Kills], PlayerInfo[targetid][Deaths], (PlayerInfo[targetid][Kills] / pDeaths));
strcat(fstr, str);
format(str, sizeof(str), "Admin Level:{00FFFF} %d{FFFFFF}, Skin:{00FFFF} %d{FFFFFF}, Ping:{00FFFF} %d, Bank:{00FFFF} $%d{FFFFFF} ~ Wanted Level:{00FFFF} %d{FFFFFF},\n", PlayerInfo[targetid][Level], GetPlayerSkin(targetid), GetPlayerPing(targetid), PlayerInfo[targetid][bank], GetPlayerWantedLevel(targetid));
strcat(fstr, str);
format(str, sizeof(str), "Playing Since: {00FFFF}%d {FFFFFF}Hours, {00FFFF}%d {FFFFFF}Mins, {00FFFF}%d{FFFFFF} Secs:, Interior: {00FFFF}%d{FFFFFF}, Country: {00FFFF}%s{FFFFFF},\n", hours, minutes, seconds, GetPlayerInterior(targetid), GetPlayerCountryName(targetid));
strcat(fstr, str);
format(str, sizeof(str), "Cookies: {00FFFF}%d{FFFFFF}, Cakes: {00FFFF}%d{FFFFFF}, AdminKills: {00FFFF}%d{FFFFFF}, VIP Level: %d{FFFFFF},\n", PlayerInfo[targetid][Cookies], PlayerInfo[targetid][Cakes], PlayerInfo[targetid][AdminKills], PlayerInfo[targetid][dRank]);
strcat(fstr, str);
format(str, sizeof(str), "TP Status: {00FFFF}%s{FFFFFF}.\n", PlayerInfo[targetid][Trusted] ? ("Yes") : ("No"));
strcat(fstr, str);
ShowPlayerDialog(playerid, DIALOG_STATS, DIALOG_STYLE_MSGBOX, "Player Stats", fstr, "OK", "");
return 1;
}
With SSCANF (Recommended):
pawn Код:
CMD:stats(playerid,params[])
{
new targetid;
sscanf(params, "U(-1)", targetid);
if(targetid == -1) targetid = playerid;
if(!IsPlayerConnected(targetid) || targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, red, "Player Not Connected!");
new hours, minutes, seconds, pDeaths, PlayerName[MAX_PLAYER_NAME];
TotalGameTime(targetid, hours, minutes, seconds);
GetPlayerName(targetid, PlayerName, sizeof(PlayerName));
if(PlayerInfo[targetid][Deaths] == 0) pDeaths = 1;
else pDeaths = PlayerInfo[targetid][Deaths];
new fstr[1000], str[250];
format(fstr, sizeof(fstr), "\t\t\t{F2C80C}YG Stats For %s's\n", PlayerName);
format(str, sizeof(str), "{FFFFFF}Scores:{00FFFF} %d{FFFFFF}, Money:{00FFFF} $%d{FFFFFF}, Kills:{00FFFF} %d{FFFFFF}, Deaths:{00FFFF} %d{FFFFFF}, K/D Ratio:{00FFFF} %0.2f{FFFFFF},\n", GetPlayerScore(targetid), GetPlayerMoney(targetid), PlayerInfo[targetid][Kills], PlayerInfo[targetid][Deaths], (PlayerInfo[targetid][Kills] / pDeaths));
strcat(fstr, str);
format(str, sizeof(str), "Admin Level:{00FFFF} %d{FFFFFF}, Skin:{00FFFF} %d{FFFFFF}, Ping:{00FFFF} %d, Bank:{00FFFF} $%d{FFFFFF} ~ Wanted Level:{00FFFF} %d{FFFFFF},\n", PlayerInfo[targetid][Level], GetPlayerSkin(targetid), GetPlayerPing(targetid), PlayerInfo[targetid][bank], GetPlayerWantedLevel(targetid));
strcat(fstr, str);
format(str, sizeof(str), "Playing Since: {00FFFF}%d {FFFFFF}Hours, {00FFFF}%d {FFFFFF}Mins, {00FFFF}%d{FFFFFF} Secs:, Interior: {00FFFF}%d{FFFFFF}, Country: {00FFFF}%s{FFFFFF},\n", hours, minutes, seconds, GetPlayerInterior(targetid), GetPlayerCountryName(targetid));
strcat(fstr, str);
format(str, sizeof(str), "Cookies: {00FFFF}%d{FFFFFF}, Cakes: {00FFFF}%d{FFFFFF}, AdminKills: {00FFFF}%d{FFFFFF}, VIP Level: %d{FFFFFF},\n", PlayerInfo[targetid][Cookies], PlayerInfo[targetid][Cakes], PlayerInfo[targetid][AdminKills], PlayerInfo[targetid][dRank]);
strcat(fstr, str);
format(str, sizeof(str), "TP Status: {00FFFF}%s{FFFFFF}.\n", PlayerInfo[targetid][Trusted] ? ("Yes") : ("No"));
strcat(fstr, str);
ShowPlayerDialog(playerid, DIALOG_STATS, DIALOG_STYLE_MSGBOX, "Player Stats", fstr, "OK", "");
return 1;
}