UmbrellaSwarm *Armored Zombie*

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
InvIs
Gana aktyvus vartotojas
Posts: 421
Joined: 2011 Aug 13 11:12
Skype: pksoldierlt
Location: ATOSTOGOSE

UmbrellaSwarm *Armored Zombie*

Post by InvIs »

public bacon_takedamage(victim, inflictor, attacker, Float:damage, Float:hedamage, damagetype, damagebits)
{
    if(damagetype & DMG_GENERIC || victim == attacker || !is_user_alive(victim) || !is_user_connected(attacker))
        return HAM_IGNORED
     
    static CsTeams:team[2], hitgroup
    team[0] = cs_get_user_team(attacker), team[1] = cs_get_user_team(victim)   
    hitgroup = g_hitgroups[victim]
   
    if(team[0] == team[1])
    {
        return HAM_HANDLED
    }
 
 if(g_zombie[victim] && InfectedClass[victim] == 4)
    {
            if( damagebits & DMG_HEGRENADE )
            {
                hedamage *= 0.0
                SetHamParamFloat(4, hedamage)
            }
        else
        {
            switch(hitgroup)
            {
                case HIT_HEAD:
                    damage *= 0.25
                case HIT_CHEST:
                    damage *= 0.25
                case HIT_STOMACH:
                    damage *= 0.25
                case HIT_LEFTARM:
                    damage *= 0.25
                case HIT_RIGHTARM:
                    damage *= 0.25
                case HIT_LEFTLEG:
                    damage *= 0.25
                case HIT_RIGHTLEG:
                    damage *= 0.25
                default:
                    damage *= (damagetype & DMG_HEGRENADE) ? get_pcvar_float(cvar_armored_hedamage) : 0.25
            }
       
            SetHamParamFloat(4, damage)
 
            return HAM_HANDLED
        }

    }
    else if(!g_zombie[attacker] && InfectedClass[victim] != 4)
    {   
        switch(hitgroup)
        {
            case HIT_HEAD:
                damage *= get_pcvar_float(cvar_hsdmg_multi)
            case HIT_CHEST:
                damage *= get_pcvar_float(cvar_chdmg_multi)
            case HIT_STOMACH:
                damage *= get_pcvar_float(cvar_stdmg_multi)
            case HIT_LEFTARM:
                damage *= get_pcvar_float(cvar_ladmg_multi)
            case HIT_RIGHTARM:
                damage *= get_pcvar_float(cvar_radmg_multi)
            case HIT_LEFTLEG:
                damage *= get_pcvar_float(cvar_lldmg_multi)
            case HIT_RIGHTLEG:
                damage *= get_pcvar_float(cvar_rldmg_multi)
            default:
                damage *= (damagetype & DMG_HEGRENADE) ? get_pcvar_float(cvar_hedmg_multi) : get_pcvar_float(cvar_wpdmg_multi)
        }
       
        SetHamParamFloat(4, damage)
 
        return HAM_HANDLED
    }
    else if(g_zombie[attacker] && InfectedClass[attacker] == 3)
    {
        switch(hitgroup)
        {
            case HIT_HEAD:
                damage *= get_pcvar_float(cvar_hsdmg_chain)
            case HIT_CHEST:
                damage *= get_pcvar_float(cvar_chdmg_chain)
            case HIT_STOMACH:
                damage *= get_pcvar_float(cvar_stdmg_chain)
            case HIT_LEFTARM:
                damage *= get_pcvar_float(cvar_ladmg_chain)
            case HIT_RIGHTARM:
                damage *= get_pcvar_float(cvar_radmg_chain)
            case HIT_LEFTLEG:
                damage *= get_pcvar_float(cvar_lldmg_chain)
            case HIT_RIGHTLEG:
                damage *= get_pcvar_float(cvar_rldmg_chain)
            default:
                damage *= get_pcvar_float(cvar_wpdmg_chain)
        }
 
        SetHamParamFloat(4, damage)
 
        return HAM_HANDLED
    }      
    return HAM_IGNORED
}
Paryškinta kodo vieta, dėl kurios kyla problemų. Žalos darymas iš ginklo puikiai veikia, su granata niekaip nesusitvarkau :)
ISVYKES

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: UmbrellaSwarm *Armored Zombie*

Post by aaarnas »

Kaip pas tave aprašyta DMG_HEGRENADE ?
Palikau CS pasaulį ;/ . Nebepasiekiamas.

InvIs
Gana aktyvus vartotojas
Posts: 421
Joined: 2011 Aug 13 11:12
Skype: pksoldierlt
Location: ATOSTOGOSE

Re: UmbrellaSwarm *Armored Zombie*

Post by InvIs »

#define DMG_HEGRENADE (1<<24)
ISVYKES

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: UmbrellaSwarm *Armored Zombie*

Post by aaarnas »

O toks dmg tipas bent yra?

Pamėgink DMG_BLAST. Šiaip reiktų kažkaip kitaip tikrinti ar tai granata.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

InvIs
Gana aktyvus vartotojas
Posts: 421
Joined: 2011 Aug 13 11:12
Skype: pksoldierlt
Location: ATOSTOGOSE

Re: UmbrellaSwarm *Armored Zombie*

Post by InvIs »

O kaip daug maž tu darytum? Nes kiek skaičiau tai visi kažką tokio panašaus daro.
ISVYKES

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: UmbrellaSwarm *Armored Zombie*

Post by aaarnas »

Ne, turėtų veikti DMG_HEGRENADE.

Tiesiog tikrink kurioje sąlygoje nesuveikia ir rasi šitaip. Galima su log amx arba client_print pvz.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

InvIs
Gana aktyvus vartotojas
Posts: 421
Joined: 2011 Aug 13 11:12
Skype: pksoldierlt
Location: ATOSTOGOSE

Re: UmbrellaSwarm *Armored Zombie*

Post by InvIs »

Susitvarkiau, ačiū.
Panaudojau print_chat, neprintino, tai persižiūrėjau atidžiai:

public bacon_takedamage(victim, inflictor, attacker, Float:damage, Float:hedamage, damagetype, damagebits) vieną iš šitų reikėjo nutrynti ir viskas jau veikia :)
ISVYKES

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Bing [Bot] and 2 guests