This is pretty useless IMO, but given that there is no other plugin that does this I will let it pass if you make this changes:
1.#define ADMIN_FLAG ADMIN_IMMUNITY
make it a cvar/command instead.
2.Add cvars for colors. You could let the owner decide if he wants random color or some predefined ones(that he can set up from cvars too).
should be 192 and not 64. 192 is the max.
4.Remove the "stock" keyword, stock is used for functions that may not be used, but you should use everything from your plugin, thus "stock" does not make sense.
- use charsmax() instead of hardcoding a string-array size, it's better for readability.
- if (is_user_connected(id)) check is not needed, get_players give you an array of valid player.
- if (index) -> check if it is between 1 and MaxPlayers.
6.Put any relevant informations inside source file, it's easier for the owner. This include cvars, how to use the plugin, thread link etc.
1.Allow users to use this messages too(maybe a cvar, why not ?)
2.You could include a command like amx_showcolorcodes(or sth like this) and print the shortcuts(!g, etc).
3.Allow the player to specify to which player to send the message. For example, you may want to send the message only to player X or to all players. You can add another argument inside the command for this(like 0(for all)/CT/T/X(the player name)).