Raised This Month: $ Target: $400
 0% 

give items to killer for kill


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Liverwiz
Veteran Member
Join Date: Feb 2010
Location: Maryland
Old 05-02-2012 , 10:57   Re: give items to killer if victim == special player
Reply With Quote #3

Quote:
Originally Posted by simple_user View Post
Hi! I'm noob in scripting, and this one, I think, is easy for you - smart guys. Basically I want to add a function to this super player code. I want to give bonus grenades for killer, if one kills the super player.


Code:
public super_kill()
{    

    new victim = read_data(2)
    
    if ( victim != gSuperPlayerCT || victim != gSuperPlayerT  ) return

    {
        
    new killer = read_data(1)
    give_item(killer,"weapon_hegrenade")
    cs_set_user_bpammo(killer,CSW_HEGRENADE,2)
    
    give_item(killer,"weapon_flashbang")
    cs_set_user_bpammo(killer,CSW_FLASHBANG,1)
    client_print(killer, print_center, "You've got a grenade bonus for killing superplayer!")
    
    }
}

So:

if ( victim != gSuperPlayerCT || victim != gSuperPlayerT ) return // this has no effect at all

And if I change it to:

if ( victim == gSuperPlayerCT || victim == gSuperPlayerT ) // after I kill the special player, game kicks me out and I get text in console:

Code:
SZ_GetSpace: overflow on netchan->message
WARNING: reliable overflow for me.
me. overflowed
Reliable channel over
Or:

// Maybe I'm registering event incorrectly:

register_event("DeathMsg", "super_kill", "a", "1>0")
Use hamsandwich. Its a little easier.
Code:
register_event("DeathMsg", "super_kill", "a", "1>0")

PHP Code:
RegisterHam("Ham_Killed""player""super_kill"1
This will directly give you the person who died, and the attacker

Code:
public super_kill()

PHP Code:
public super_kill(victimIDkillerIDshouldgib
Then inside we're gonna switch it up a bit....

PHP Code:
if(victimID != gSuperPlayerCT || victimID != gSuperPlayerT || !is_user_alive(killerID))
    return 
HAM_HANDLED

give_item
(killerID,"weapon_hegrenade")
cs_set_user_bpammo(killerID,CSW_HEGRENADE,2)
    
give_item(killerID,"weapon_flashbang")
cs_set_user_bpammo(killerID,CSW_FLASHBANG,1)
client_print(killerIDprint_center"You've got a grenade bonus for killing superplayer!")

return 
HAM_HANDLED 
I changed the if statement to check to see if the victim is NOT a super_player, as well as if the killer is dead. This way it returns out of the function quicker, less hopping around code, and i feel it looks cleaner. I added !is_user_alive because there's no sense giving grenades to a dead client, is there?

The variables were changed to reflect the new header

shouldgib isn't used. Ignore that variable.
Liverwiz is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 07:45.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode