KNIFE damage

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
Pukuotukas951
Gana aktyvus vartotojas
Posts: 445
Joined: 2011 Aug 27 09:29

KNIFE damage

Post by Pukuotukas951 »

Turiu tokį koda, jis turėtų veikti taip:

Jeigu žaidėjas yra Terorist komandoje ir turi crowbaruser ir laiko rankose peili KNIFE, tada jo žala su peiliu būna x50 didesnė, bet man dabar žalos išvis nenustato. Kodo dalis atrodo taip:

Code: Select all

public plugin_init(){    RegisterHam(Ham_TakeDamage, "player", "client_damage")} public client_damage(victim, entid, attacker, Float:damage, damagebits){    if(!is_user_connected(victim) || !is_user_connected(attacker) || attacker == victim)        return HAM_IGNORED        if(get_pcvar_num(cvar_revolt)) {            if(cs_get_user_team(attacker) == CS_TEAM_T && cs_get_user_team(victim) == CS_TEAM_CT) {            if(!revolt_started) start_revolt()        }    }    if(get_pcvar_num(cvar_crowbar)) {         new Weapon2 = read_data(2)        if(cs_get_user_team(attacker) == CS_TEAM_T && attacker == crowbaruser && Weapon2 == CSW_KNIFE) {            SetHamParamFloat(4, damage * 50.0)            return HAM_OVERRIDE        }           }       return HAM_IGNORED}

Fly3r
Jau po truputį tampa savu
Posts: 138
Joined: 2011 Nov 06 11:35

Re: KNIFE damage

Post by Fly3r »

Code: Select all

new Weapon2 = read_data(2)
Čia yra blogai.
read_data() galima naudoti TIK EVENTUOSE, todėl tau nieko ir neduoda. Čia attacker'io ginklą reikėtų gauti su get_user_weapon(). Beje, gali būti, kad kai meti granatą, pasikeiti ginklą į peilį, ir granata nuema, o get_user_weapon() tuo metu bus KNIFE, nors ne su KNIFE darei žalą. Tada dar reikia tikrinti

Code: Select all

if (attacker == entid)

Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests