[FilterScript] Base sistema de Administraзгo
#4

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));
Reply


Messages In This Thread
Base sistema de Administraзгo - by FStralioti - 28.01.2015, 23:56
Re: Base sistema de Administraзгo - by PT - 29.01.2015, 00:16
Re: Base sistema de Administraзгo - by FStralioti - 29.01.2015, 00:18
Re: Base sistema de Administraзгo - by humildadeforever - 29.01.2015, 02:57

Forum Jump:


Users browsing this thread: 5 Guest(s)