Znajdź całą funckję
Spoiler
public pfn_touch ( ptr, ptd )
{
if (ptd == 0)
return PLUGIN_CONTINUE
new szClassName[32]
if(pev_valid(ptd)){
entity_get_string(ptd, EV_SZ_classname, szClassName, 31)
}
else return PLUGIN_HANDLED
if(equal(szClassName, "fireball"))
{
new owner = pev(ptd,pev_owner)
//Touch
if (get_user_team(owner) != get_user_team(ptr))
{
new Float:origin[3]
pev(ptd,pev_origin,origin)
Explode_Origin(owner,origin,55+player_intelligence[owner],150)
remove_entity(ptd)
}
}
if (ptr != 0 && pev_valid(ptr))
{
new szClassNameOther[32]
entity_get_string(ptr, EV_SZ_classname, szClassNameOther, 31)
if(equal(szClassName, "PowerUp") && equal(szClassNameOther, "player"))
{
entity_set_int(ptd,EV_INT_iuser2,1)
}
if(equal(szClassName, "Mine") && equal(szClassNameOther, "player"))
{
new owner = pev(ptd,pev_owner)
//Touch
if (get_user_team(owner) != get_user_team(ptr))
{
new Float:origin[3]
pev(ptd,pev_origin,origin)
Explode_Origin(owner,origin,55+player_intelligence[owner],150)
remove_entity(ptd)
}
}
if(equal(szClassName, "grenade") && equal(szClassNameOther, "player"))
{
new greModel[64]
entity_get_string(ptd, EV_SZ_model, greModel, 63)
if(equali(greModel, "models/w_smokegrenade.mdl" ))
{
new id = entity_get_edict(ptd,EV_ENT_owner)
if (is_user_connected(id)
&& is_user_connected(ptr)
&& is_user_alive(ptr)
&& player_b_smokehit[id] > 0
&& get_user_team(id) != get_user_team(ptr))
UTIL_Kill(id,ptr,"grenade")
}
}
}
/*if(equal(szClassName, "fireball"))
{
new Float:origin[3]
pev(ptd,pev_origin,origin)
new id = pev(ptd,pev_owner)
Explode_Origin(id,origin,100,player_b_fireball[id] + player_intelligence[id])
remove_entity(ptd)
}*/
return PLUGIN_CONTINUE
}
zamień na
Spoiler
public pfn_touch(ptr, ptd) {
if(!ptd)
return PLUGIN_CONTINUE;
if(!pev_valid(ptd))
return PLUGIN_HANDLED;
new szClassName[32], szClassNameOther[32];
entity_get_string(ptd, EV_SZ_classname, szClassName, 31);
if(ptr && pev_valid(ptr)) {
if(pev(ptr, pev_solid) == SOLID_TRIGGER)
return PLUGIN_CONTINUE;
entity_get_string(ptr, EV_SZ_classname, szClassNameOther, 31);
}
if(equal(szClassName, "fireball"))
{
new owner = pev(ptd,pev_owner)
//Touch
if(get_user_team(owner) != get_user_team(ptr)) {
new Float:origin[3]
pev(ptd,pev_origin,origin)
Explode_Origin(owner,origin,55+player_intelligence[owner],150);
remove_entity(ptd)
}
}
if(equal(szClassNameOther, "player")) {
if(equal(szClassName, "Mine")) {
new owner = pev(ptd, pev_owner);
//Touch
if(get_user_team(owner) != get_user_team(ptr)) {
new Float:origin[3];
pev(ptd, pev_origin, origin);
Explode_Origin(owner,origin,55+player_intelligence[owner],150);
remove_entity(ptd);
}
}
else if(equal(szClassName, "grenade")) {
new greModel[64];
entity_get_string(ptd, EV_SZ_model, greModel, 63);
if(equali(greModel, "models/w_smokegrenade.mdl")) {
new id = entity_get_edict(ptd, EV_ENT_owner);
if(is_user_connected(id) && is_user_alive(ptr)
&& player_b_smokehit[id] > 0 && get_user_team(id) != get_user_team(ptr))
UTIL_Kill(id, ptr, "grenade");
}
}
}
return PLUGIN_CONTINUE;
}
Przy okazji możecie też usunąć linijkę z
register_think("PowerUp","Think_PowerUp")
bo nie zauważyłem, żeby ona do czegoś służyła...
Kod poprawiony, teraz fb nie wybucha przy zwłokach.