if(strcmp(cmd, "/showstaffactivity", true) == 0 || strcmp(cmd,"/sfa", true) == 0)
{
if(IsPlayerConnected(playerid))
GetPlayerName(playerid, sendername, sizeof(sendername));
{
ShowPlayerDialog(playerid, 9, DIALOG_STYLE_MSGBOX, "{FFFFFF}Acitivitatea lui %s", "
/opr 0 ori
/goto 0 ori
/unfreeze 0 ori
/setint 0 ori
/setvw 0 ori
/mute 0 ori
/mutereport 0 ori
/cc 0 ori
/respawn 0 ori
/slap 0 ori
/spec 0 ori
/setjob 0 ori
/kick 0 ori
/ban 0 ori
/banvip 0 ori
/jail 0 ori", sendername, "Close" ,"");
}
return 1;
}
Acest cod este total gresit.
1. Ca sa afisezi in titlul dialogului "Activitatea lui X", trebuie sa formatezi un string
new gString[32], sendername[32];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(gString, sizeof gString, "Acitivitatea lui %s", sendername);
Si sa-l aplici in dialogul tau:
ShowPlayerDialog(playerid, 9, DIALOG_STYLE_MSGBOX, gString, ..);
2. Ca sa afisezi activitatea, trebuie sa o treci in log-uri pentru a putea sa o folosesti altundeva.
Trebuie sa adaugi in enum-ul cu informatiile despre jucator cate o variabila ce semnifica fiecare actiune administrativa, de exemplu: pFreezedPlayers se incrementeaza de fiecare data cand actionezi comanda /freeze asupra altui jucator. Dupa ce faci ce am sugerat anterior, codul tau va arata cam asa:
new rString[512];
format(rString, sizeof rString, "Freeze-uri: %d\nKick-uri: %d", PlayerInfo[id][pFreezedPlayers], PlayerInfo[id][pKickedPlayers]);
ShowPlayerDialog(playerid, 9, DIALOG_STYLE_MSGBOX, gString, rString, "Exit");
id este variabila prin care declaram tinta noastra.