06.05.2013, 21:00
Try this.
If not works, try to chaging your "SendAdminMessage" function to this one:
pawn Код:
dcmd_a(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] == 0) return 1;
new Message[128], Sendername[MAX_PLAYER_NAME];
if(sscanf(params, "s[128]", Message)) return SendClientMessage(playerid, -1, "Type: /a (your message)");
else
{
new arank[24];
switch(PlayerInfo[playerid][pAdmin])
{
case 1:arank = "Trial Administrator";
case 2:arank = "Normal Administrator";
case 3:arank = "Senior Administrator";
case 4:arank = "Lead Administrator";
case 5:arank = "Head Administrator";
case 6:arank = "Head of Admins";
case 1337:arank = "Scripter";
case 1338:arank = "Server Owner";
default:arank = "Unknown / Player";
}
GetPlayerName(playerid, Sendername, MAX_PLAYER_NAME);
new S[128];
format(S, 128, "[%s] %s (%d): %s", arank, Sendername, playerid, Message);
SendAdminMessage(COLOR_LIGHTRED, S);
//Debug
printf("String Lenght: %d", strlen(S)); // If is more than 128, will not send all the message!
new d, m, y, h, mi, s; gettime(h, mi, s); getdate(y, m, d);
format(S, 128, "(%d/%d/%d)[%d:%d:%d] %s %s: %s", arank, d, m, y, h, mi, s, Sendername, Message);
AdminChatLog(S);
}
return 1;
}
pawn Код:
SendAdminMessage(color = -1, const message[], minadminlvl = 1)
{
#if defined foreach
foreach(Player, i) if(PlayerInfo[i][pAdmin] >= minadminlvl) SendClientMessage(i, color, message);
#else
for(new i; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
if(PlayerInfo[i][pAdmin] >= minadminlvl) SendClientMessage(i, color, message);
#endif
return 1;
}