Raised This Month: $ Target: $400
 0% 

Working radius damage function with id


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Sylwester
Veteran Member
Join Date: Oct 2006
Location: Poland
Old 05-19-2010 , 16:07   Re: Working radius damage function with id
Reply With Quote #2

You can use something like this:
PHP Code:
#include <amxmodx>
#include <cstrike>
#include <fun>

new g_max_players
public plugin_init(){
    
g_max_players get_maxplayers()
}

//if self_dmg is true, then player "id" will also receive dmg
//if ignore_teams is true, then teammates within range will also receive dmg
public radius_dmg(idradiusdmgbool:ignore_teamsbool:self_dmg){
    static 
source_origin[3], o[3], CsTeams:team
    get_user_origin
(idsource_origin)
    
team cs_get_user_team(id)
    for(new 
i=1i<=g_max_playersi++){
        if(!
is_user_alive(i) || (!self_dmg && id==i) || (!ignore_teams && team == cs_get_user_team(i)))
            continue
        
get_user_origin(io)
        
o[0]-=source_origin[0]
        
o[1]-=source_origin[1]
        
o[2]-=source_origin[2]
        if(
radius sqroot(o[0]*o[0]+o[1]*o[1]+o[2]*o[2]))
            continue
        
do_damage(iiddmg)
    }
}

//example damage function
public do_damage(victimattackerdmg){
    static 
name[32]
    
set_user_health(victimget_user_health(victim)-dmg)
    
get_user_name(attackername31)
    
client_print(victimprint_chat"You have lost %d health due to radius damage caused by %s"dmgname)

__________________
Impossible is Nothing
Sylwester 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 03:35.


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