Kod:
#include <amxmodx>
#include <amxmisc>
new Message[192];
new strName[191], strText[191];
public plugin_init()
{
register_plugin("Chat_Message", "3.0", "By.KinG");
register_clcmd("say", "hook_say");
register_message(get_user_msgid("SayText"), "avoid_duplicated");
}
public avoid_duplicated(msgId, msgDest, receiver)
{
return PLUGIN_HANDLED;
}
public hook_say(id)
{
read_args(Message, charsmax(Message));
remove_quotes(Message);
if (Message[0] == '@' || Message[0] == '!' || Message[0] == '/' || equal(Message, ""))
return PLUGIN_CONTINUE;
new name[32];
get_user_name(id, name, charsmax(name));
new alive[32];
new isAlive;
if (is_user_alive(id))
{
isAlive = 1;
alive = "";
}
else
{
isAlive = 0;
copy(alive, charsmax(alive), "^x04[ - OLU - ]");
}
new Color[10];
get_user_team(id, Color, charsmax(Color));
if (get_user_flags(id) & ADMIN_RESERVATION)
{
format(strName, charsmax(strName), "%s^x04[ - Tag - ] ^x03%s", alive, name);
format(strText, charsmax(strText), "^x04%s", Message);
}
else
{
format(strName, charsmax(strName), "%s ^x03%s", alive, name);
format(strText, charsmax(strText), "^x01%s", Message);
}
format(Message, charsmax(Message), "%s ^x01: %s", strName, strText);
sendMessage(Color, isAlive);
return PLUGIN_CONTINUE;
}
public sendMessage(color[], alive)
{
new teamName[10];
for (new player = 1; player <= get_maxplayers(); player++)
{
if (!is_user_connected(player))
continue;
get_user_team(player, teamName, charsmax(teamName));
changeTeamInfo(player, color);
writeMessage(player, Message);
changeTeamInfo(player, teamName);
}
}
public changeTeamInfo(player, team[])
{
message_begin(MSG_ONE, get_user_msgid("TeamInfo"), _, player);
write_byte(player);
write_string(team);
message_end();
}
public writeMessage(player, message[])
{
message_begin(MSG_ONE, get_user_msgid("SayText"), {0, 0, 0}, player);
write_byte(player);
write_string(message);
message_end();
}