crash94, держи:
10.01.2014, 05:17[pawn]
#include <amxmodx>
#include <fakemeta>
#define gmsg_ScreenFade 98
#define TEMPENTITY "23"
#define BLINDED_FULLY 255
#define BLINDED_PARTLY 200
new const TFSVERSION[] = "1.1"
new Float:FLASH_TIMER = 1.52;
new g_flasher;
public plugin_init() {
register_plugin("Team Flash Snitch",TFSVERSION,"Tender")
register_event("ScreenFade", "event_blinded", "be", "4=255", "5=255", "6=255", "7>199")
register_event(TEMPENTITY, "event_flashsmokepuff", "a", "1=5", "6=25", "7=6")
register_forward(FM_SetModel, "forward_setmodel")
}
public event_blinded(const ID) { // someone got flashed
new alpha = read_data(7)
if (alpha != BLINDED_FULLY && alpha != BLINDED_PARTLY || !is_user_alive(ID)) return PLUGIN_CONTINUE
if(get_user_team(ID) == get_user_team(g_flasher) && ID != g_flasher){
message_begin(MSG_ONE, gmsg_ScreenFade, _, ID)
write_short(1)
write_short(1)
write_short(1)
write_byte(0)
write_byte(0)
write_byte(0)
write_byte(255)
message_end()
}
return PLUGIN_CONTINUE
}
public event_flashsmokepuff() set_task(0.05,"reset_flasher")
public reset_flasher() g_flasher = 0
public get_flasher(id) g_flasher = id-524627
public forward_setmodel(const ENTITY, model[]) { // a flash is thrown
if (!equal(model, "models/w_flashbang.mdl")) return FMRES_IGNORED
new owner = pev(ENTITY, pev_owner)
if (owner == 0) return FMRES_IGNORED
set_task(FLASH_TIMER,"get_flasher", 524627+owner)
return FMRES_IGNORED
}
[/pawn]
pein, реально, ты упертый. Я написал вроде по русски: тут идет перебитие мессаги. Никакого блока или ещё чего либо нет. А то, что ты пишешь это вх и флэш блокеры делают.
Leonidddd, я знаю о чем Вы пишете. Я написал id мессаги, лучше брать её, чем ловить в plugin_init. А на счет get_user_team - в данном случае лучше использовать именно его. Команда записывается в начале раунда, так что в процессе игры
раз игрок жив, то команда определиться правильно.