#include <amxmodx>
#include <amxmisc>
#define PLUGIN "AСT"
#define VERSION "1.0"
#define AUTHOR "KsV"
#define VIP ADMIN_LEVEL_H
#define ADMIN ADMIN_RESERVATION
#define GL ADMIN_IMMUNITY
new SzMaxPlayers
new SzSayText
new Messages[192]
new SzName[32]
public plugin_init()
{
register_plugin (PLUGIN , VERSION , AUTHOR)
register_clcmd ("say", "hook_say");
register_clcmd ("say_team", "hook_say_team");
SzSayText = get_user_msgid ("SayText");
SzMaxPlayers = get_maxplayers();
register_message (SzSayText, "arubaid_duplicated");
}
public arubaid_duplicated (msgId, msgDest, receiver)
{
return PLUGIN_HANDLED
}
public hook_say(id)
{
read_args (Messages, 191)
remove_quotes (Messages)
if (Messages[0] == '/' || Messages[0] == '!' || equal (Messages, ""))
return PLUGIN_CONTINUE
new SzAlive = is_user_alive(id);
get_user_name(id, SzName, 31);
if(!is_valid_msg(Messages))
return PLUGIN_CONTINUE;
if(!(get_user_flags(id) & ADMIN) && !(get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
(SzAlive ? format(Messages, 191, "^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* ^3%s : ^1%s", SzName, Messages))
if((get_user_flags(id) & ADMIN) && !(get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
(SzAlive ? format(Messages, 191, "^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages))
if(!(get_user_flags(id) & ADMIN) && (get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
(SzAlive ? format(Messages, 191, "^1[^4VIP^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* ^1[^4VIP^1] ^3%s : ^1%s", SzName, Messages))
if((get_user_flags(id) & ADMIN) && (get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
(SzAlive ? format(Messages, 191, "^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages))
if((get_user_flags(id) & ADMIN) && (get_user_flags(id) & VIP) && (get_user_flags(id) & GL))
(SzAlive ? format(Messages, 191, "^1[^4ШЕФ:)^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* ^1[^4ШЕФ:)^1] ^3%s : ^1%s", SzName, Messages))
for(new i = 1; i <= SzMaxPlayers; i++){
if(!is_user_connected(i))
continue;
if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i)){
message_begin(MSG_ONE, SzSayText, {0, 0, 0}, i);
write_byte(id);
write_string(Messages);
message_end();} }
return PLUGIN_CONTINUE;
}
public hook_say_team(id)
{
read_args (Messages, 191)
remove_quotes (Messages)
if (Messages[0] == '/' || Messages[0] == '!' || equal (Messages, ""))
return PLUGIN_CONTINUE
new SzPlayerTeam = get_user_team(id);
new SzAlive = is_user_alive(id);
get_user_name(id, SzName, 31);
if(!is_valid_msg(Messages))
return PLUGIN_CONTINUE;
if(!(get_user_flags(id) & ADMIN) && !(get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
{
if( get_user_team( id ) == 2 )
(SzAlive ? format(Messages, 191, "^1(Counter-Terrorist) ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Counter-Terrorist) ^3%s : ^1%s", SzName, Messages))
if( get_user_team( id ) == 1 )
(SzAlive ? format(Messages, 191, "^1(Terrorist) ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Terrorist) ^3%s : ^1%s", SzName, Messages))
}
if((get_user_flags(id) & ADMIN) && !(get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
{
if( get_user_team( id ) == 2 )
(SzAlive ? format(Messages, 191, "^1(Counter-Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Counter-Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages))
if( get_user_team( id ) == 1 )
(SzAlive ? format(Messages, 191, "^1(Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages))
}
if(!(get_user_flags(id) & ADMIN) && (get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
{
if( get_user_team( id ) == 2 )
(SzAlive ? format(Messages, 191, "^1(Counter-Terrorist) ^1[^4VIP^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Counter-Terrorist) ^1[^4VIP^1] ^3%s : ^1%s", SzName, Messages))
if( get_user_team( id ) == 1 )
(SzAlive ? format(Messages, 191, "^1(Terrorist) ^1[^4VIP^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Terrorist) ^1[^4VIP^1] ^1%s : ^1%s", SzName, Messages))
}
if((get_user_flags(id) & ADMIN) && (get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
{
if( get_user_team( id ) == 2 )
(SzAlive ? format(Messages, 191, "^1(Counter-Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Counter-Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages))
if( get_user_team( id ) == 1 )
(SzAlive ? format(Messages, 191, "^1(Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages))
}
if((get_user_flags(id) & ADMIN) && (get_user_flags(id) & VIP) && (get_user_flags(id) & GL))
{
if( get_user_team( id ) == 2 )
(SzAlive ? format(Messages, 191, "^1(Counter-Terrorist) ^1[^4ШЕФ:)^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Counter-Terrorist) ^1[^4ШЕФ:)^1] ^3%s : ^1%s", SzName, Messages))
if( get_user_team( id ) == 1 )
(SzAlive ? format(Messages, 191, "^1(Terrorist) ^1[^4ШЕФ:)^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Terrorist) ^1[^4ШЕФ:)^1] ^3%s : ^1%s", SzName, Messages))
}
for(new i = 1; i <= SzMaxPlayers; i++){
if(!is_user_connected(i))
continue;
if(get_user_team(i) != SzPlayerTeam)
continue;
if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i)){
message_begin(MSG_ONE, SzSayText, {0, 0, 0}, i);
write_byte(id);
write_string(Messages);
message_end();} }
return PLUGIN_CONTINUE;
}
bool:is_valid_msg(const Messages[]){
if( Messages[0] == '@'
|| !strlen(Messages)){ return false; }
return true;}