Улучшенный глобальный чат с антифлудом от Londlem.
PHP код:
public OnPlayerText(playerid, text[])
{
new server_tick = GetTickCount();
if(GetPVarInt(playerid, "anti_flood") > server_tick)
return 0;
SetPVarInt(playerid, "anti_flood", server_tick + 1000);
static const admin_rank[] = "Администратор ";
static const format_str[] = "%s ({%06x}%s%s{ECF0F1})";
#define MAX_PLAYER_TEXT (MAX_CHATBUBBLE_LENGTH - (sizeof(format_str) - \
(2 * 3 + 6 + 8 + 2) + MAX_PLAYER_NAME * 2 + sizeof(admin_rank) + 1))
if(strlen(text) > MAX_PLAYER_TEXT)
return 0;
#undef MAX_PLAYER_TEXT
new player_name[MAX_PLAYER_NAME + 1];
GetPlayerName(playerid, player_name, MAX_PLAYER_NAME);
new player_msg[MAX_CHATBUBBLE_LENGTH];
format(player_msg, sizeof(player_msg), format_str,
text, GetPlayerColor(playerid) >>> 8,
IsPlayerAdmin(playerid) ? admin_rank : "", player_name);
SendClientMessageToAll(0xECF0F1FF, player_msg);
return 0;
}