Raised This Month: $ Target: $400
 0% 

TR_Trace


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Doc-Holiday
AlliedModders Donor
Join Date: Jul 2007
Old 01-31-2010 , 20:23   TR_Trace
Reply With Quote #1

Is their a way to do something like the follwing using a switch.

In source mod i know i had to set the values from 0 = false then 1 - 4 = true.. never done this with amx modx. so i have no idea how it works.

PHP Code:
//==============================================================//
//                        *******************                        //
//                        *    Cvar  Values  *                        //
//                        *******************                        //
//    nhs_mode 1 Blocks bots from shooting humans in the head     //
//    nhs_mode 2 Blocks all headshots (Humans and bots)           //
//    nhs_mode 3 Headshots Only (blocks all other hitzones)       //
//    nhs_mode 4 Redirects all hitzones to the head               //
//==============================================================//    

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

new modebool:gBotsRegistered;

public 
plugin_init()
{
    
register_plugin("No Headshot""1.0""=(GrG)=");
    
RegisterHam(Ham_TraceAttack"player""HamTraceAttack");
    
    
mode register_cvar("nhs_mode""2");
}

public 
client_authorizedid )
{
    if( !
gBotsRegistered && is_user_botid ) )
    {
        
set_task0.1"register_bots"id );
    }
}

public 
register_botsid )
{
    if( !
gBotsRegistered && is_user_connectedid ) )
    {
        
RegisterHamFromEntityHam_TraceAttackid"HamTraceAttack");
        
gBotsRegistered true;
    }
}

public 
HamTraceAttack(VicAttFloat:dmgFloat:dir[3], traceresultdmgbits)
{
    new 
Nhs_Modes get_pcvar_num(mode);
    
    switch(
Nhs_Modes)
    {
        case 
1:
        {
            if(!
is_user_bot(Vic) && is_user_bot(Att))
            {
                if(
get_tr2(traceresultTR_iHitgroup) == HIT_HEAD)
                {
                    
//set_tr2(traceresult, TR_iHitgroup, HIT_CHEST) //uncomment to make headshots hit the chest
                    
return HAM_HANDLED
                
}
            }
        }
        case 
2:
        {
            if(
get_tr2(traceresultTR_iHitgroup) == HIT_HEAD)
            {
                
//set_tr2(traceresult, TR_iHitgroup, HIT_CHEST) //uncomment to make headshots hit the chest
                
return HAM_HANDLED
            
}
        }
        case 
3:
        {
            if(
get_tr2(traceresultTR_iHitgroup) != HIT_HEAD)
            {
                return 
HAM_HANDLED
            
}
        }
        case 
4:
        {
            if(
get_tr2(traceresultTR_iHitgroup) != HIT_HEAD)
            {
                
set_tr2(traceresultTR_iHitgroupHIT_HEAD//uncomment to make headshots hit the chest
                
return HAM_HANDLED
            
}
        }
    }
    return 
HAM_IGNORED;

Doc-Holiday is offline
 


Thread Tools
Display Modes

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:17.


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