Kod: Tümünü seç
public doInfected(rasgele)
{
if(is_user_alive(rasgele))
{
if(!is_infected[rasgele])
{
is_infected[rasgele]=true;
set_task(0.1,"infect_aura",rasgele + 6661,"",0,"b")
set_task(0.1,"infect_touch",rasgele + 6693,"",0,"b")
set_task(0.5,"infect_nvg",rasgele + 6725,"",0,"b")
set_user_rendering(rasgele,kRenderFxGlowShell,0,255,0,kRenderNormal,25)
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("ScreenFade"),{0,0,0},rasgele);
write_short((1<<10)*2);
write_short((1<<7));
write_short((1<<12));
write_byte(0);
write_byte(255);
write_byte(0);
write_byte(200);
message_end();
}
}
}
public infect_aura(TaskID)
{
new id = TaskID - 6661;
if(is_user_alive(id) && is_infected[id])
{
new Origin[3];
get_user_origin(id,Origin,0)
message_begin(MSG_ALL, SVC_TEMPENTITY)
write_byte(TE_DLIGHT)
write_coord(Origin[0])
write_coord(Origin[1])
write_coord(Origin[2])
write_byte(12)
write_byte(0)
write_byte(255)
write_byte(0)
write_byte(1)
write_byte(0)
message_end();
}
}
public infect_touch(TaskID)
{
new id = TaskID - 6693;
if(is_user_alive(id) && is_infected[id])
{
new Players[32]
new playerCount, i, xplayer
get_players(Players, playerCount,"a")
for (i=0; i<playerCount; i++)
{
xplayer = Players[i]
if(xplayer!=id)
{
new Float:vOrigin[3],Float:pOrigin[3];
static Float:dist;
pev(id,pev_origin,vOrigin)
pev(xplayer,pev_origin,pOrigin)
dist = get_distance_f(vOrigin,pOrigin);
if(dist<40.0)
{
if(get_user_team(xplayer) == 1 && is_user_alive(xplayer))
{
if(get_user_health(xplayer)<=1)
{
user_silentkill(xplayer)
make_deathmsg(id,xplayer,0,"worldspawn")
}
else
{
doInfected(xplayer)
set_user_rendering(xplayer,kRenderFxGlowShell,0,255,0,kRenderNormal,25)
}
}
}
}
}
}
}
public infect_nvg(TaskID)
{
new id = TaskID - 6725;
if(is_infected[id])
{
if(is_user_alive(id))
{
set_user_health(id, get_user_health(id) - 3)
}
}
}