Jak dodać do poniższego kodu warunek, że jeżeli gracz, którego się atakuje posiada item o ID == 84 to nie robi mu nic? Nie zabija, nie oślepia, nie spowalnia?
public item_rot(id)
{
if (used_item[id])
{
RemoveFlag(id,Flag_Rot)
used_item[id] = false
}
else
{
if (find_ent_by_owner(-1,"Effect_Rot",id) > 0)
return PLUGIN_CONTINUE
Create_Rot(id)
used_item[id] = true
}
return PLUGIN_CONTINUE
}
public Create_Rot(id)
{
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_Rot")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_solid,SOLID_NOT)
AddFlag(id,Flag_Rot)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)
}
public Effect_Rot_Think(ent)
{
new id = pev(ent,pev_owner)
if (!is_user_alive(id) || !HasFlag(id,Flag_Rot) || !freeze_ended)
{
Display_Icon(id,0,"dmg_bio",255,255,0)
set_user_maxspeed(id,245.0+player_dextery[id])
set_renderchange(id)
remove_entity(ent)
return PLUGIN_CONTINUE
}
set_user_maxspeed(id,252.0+player_dextery[id]+15)
Display_Icon(id,1,"dmg_bio",255,150,0)
set_renderchange(id)
new entlist[513]
new numfound = find_sphere_class(id,"player",250.0,entlist,512)
for (new i=0; i < numfound; i++)
{
new pid = entlist[i]
if (pid == id || !is_user_alive(pid))
continue
if (get_user_team(id) == get_user_team(pid))
continue
//Rot him!
if (random_num(1,2) == 1)
{
message_begin(MSG_ONE,g_msg_screenfade,{0,0,0},pid)
write_short( 1<<14 )
write_short( 1<<14 )
write_short( 1<<16 )
write_byte( 255 )
write_byte( 155 )
write_byte( 50 )
write_byte( 230 )
message_end()
}
Hurt_Entity(id,pid,45.0)
Effect_Bleed(pid,100)
Create_Slow(pid,3)
}
if (get_user_health(id)-10 <= 0)
UTIL_Kill(id,id,"world")
else
set_user_health(id,get_user_health(id)-10)
set_pev(ent,pev_nextthink, halflife_time() + 0.8)
return PLUGIN_CONTINUE
}
if(player_item_id[ ?? ] == 84)
{
return PLUGIN_HANDLED;
}