Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
new g_MsgSync, SayTxT
new bool: info_off[33] = false
public plugin_init()
{
register_plugin("Say Team Where Bomb", "1.0", "Okorok & Orty_Hart")
RegisterHam(Ham_Killed, "player", "ham_player_kill", 0)
register_clcmd ("say /dropinfooff", "drop_info_off", 0, "- drop info off")
register_clcmd ("say /dropinfoon", "drop_info_on", 0, "- drop info on")
SayTxT = get_user_msgid("SayText")
set_hudmessage(0, 255, 0, 0.7, 0.78, 2, 0.1, 5.0, 0.02, 0.5, -1)
g_MsgSync = CreateHudSyncObj()
}
public client_putinserver(id)
{
info_off[id] = false
}
public drop_info_on(id)
{
info_off[id] = false
}
public drop_info_off(id)
{
info_off[id] = true
client_printcolor(id, "/gINFO /yДля включения информационного сообщения о бомбе, введите в чат команду /g/dropinfoon")
}
public ham_player_kill(victim, attacker)
{
if(pev(victim, pev_weapons) & (1 << CSW_C4)) //если у жертвы есть C4
{
if(info_off[attacker] == false)
{
if(is_user_alive(attacker) && get_user_team(attacker) == 2)
{
ShowSyncHudMsg(attacker, g_MsgSync,"Вы убили игрока с бомбой.^nНаведите на нее прицел и нажмите^nклавишу ^"Использовать^", чтобы передать координаты бомбы своей^nкоманде")
client_printcolor(attacker, "/gINFO /yДля отключения информационного сообщения о бомбе, введите в чат команду /g/dropinfooff")
}
}
}
}
stock client_printcolor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg,190,input,3)
while(replace(msg,190,"/g","^4")) {}
while(replace(msg,190,"/y","^1")) {}
while(replace(msg,190,"/ctr","^3")) {}
while(replace(msg,190,"/w","^0")) {}
if(id) players[0] = id; else get_players(players,count,"ch")
for(new i; i < count; i++)
{
if(is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, SayTxT, _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}