pawn Код:
CMD:setadmin(playerid, params[])
{
new id, level, string[256], string2[256], ganhou[MAX_PLAYER_NAME], deu[MAX_PLAYER_NAME];
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo й um Administrador Logado Na RCON.");
if(sscanf(params, "ud", id, level)) return SendClientMessage(playerid, -1, "Use /setadmin [id] [LEVEL]");
if (level < 0 || level > 5) return SendClientMessage(playerid, -1, "Level invбlido. Use de 1 б 5 .");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Este jogador nгo estб online.");
GetPlayerName(id, ganhou, sizeof(ganhou));
GetPlayerName(playerid, deu, sizeof(deu));
format(string, sizeof(string), "Vocк deu admin level %s para o %s", GetLevelAdmin(level), ganhou);
SendClientMessage(playerid, -1, string);
format(string2, sizeof(string2), "O admin %s deu admin level %s para vocк.", deu , GetLevelAdmin(level));
SendClientMessage(id, -1, string2);
pAdmin[id][Level] = level;
return 1;
}
1) Nгo tem necessidade de ficar criando
string e
string2, basta enviб-la ao jogador antes de formatб-la novamente. Veja:
pawn Код:
CMD:setadmin(playerid, params[])
{
new id, level, string[256], ganhou[MAX_PLAYER_NAME], deu[MAX_PLAYER_NAME];
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo й um Administrador Logado Na RCON.");
if(sscanf(params, "ud", id, level)) return SendClientMessage(playerid, -1, "Use /setadmin [id] [LEVEL]");
if (level < 0 || level > 5) return SendClientMessage(playerid, -1, "Level invбlido. Use de 1 б 5 .");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Este jogador nгo estб online.");
GetPlayerName(id, ganhou, sizeof(ganhou));
GetPlayerName(playerid, deu, sizeof(deu));
format(string, sizeof(string), "Vocк deu admin level %s para o %s", GetLevelAdmin(level), ganhou);
SendClientMessage(playerid, -1, string);
format(string, sizeof(string), "O admin %s deu admin level %s para vocк.", deu , GetLevelAdmin(level));
SendClientMessage(id, -1, string);
pAdmin[id][Level] = level;
return 1;
}
2) Tambйm aconselho vocк a nгo ficar usando o valor
256 em todas as strings, pois na maioria das vezes nгo vai usar isso. Eu utilizo
este contador de caracteres e somo os outros valores como
parвmetros do comando,
nick do jogador, e por aн vai, e aumento mais uns
5-10 no resultado final, sу para garantir. A maior parte das minhas strings nгo ultrapassam o valor de
120 e essas sгo as que possui variedade de cores, pois as que sгo de uma cor sу, costumam ser de
70 a
90.
3) E por ъltimo, para facilitar sua vida, use uma funзгo para retornar o nome do jogador:
pawn Код:
PlayerName(playerid)
{
new nomej[MAX_PLAYER_NAME];
GetPlayerName(playerid, nomej, sizeof(nomej));
return nomej;
}
Sendo assim, ao invйs de usar, por exemplo:
pawn Код:
new arquivi[34], nomeplayer[MAX_PLAYER_NAME];
GetPlayerName(playerid, nomeplayer, sizeof(nomeplayer));
format(arquivi, sizeof(arquivi), "Admins/%s.ini", nomeplayer);
Vai usar apenas:
pawn Код:
new arquivi[34];
format(arquivi, sizeof(arquivi), "Admins/%s.ini", PlayerName(playerid));