Raised This Month: $51 Target: $400
 12% 

Subplugin Submission [ZP] Addon - Knife Knockback + for new modes


Post New Thread Reply   
 
Thread Tools Display Modes
Bladell
Senior Member
Join Date: Jun 2012
Old 05-21-2013 , 12:40   Re: [ZP] Addon - Knife Knockback + for new modes
Reply With Quote #101

Custom flag, that's great.It's ok
Ty very much
Bladell is offline
Catastrophe
Veteran Member
Join Date: Jul 2012
Location: somewhere between narnia
Old 05-21-2013 , 12:48   Re: [ZP] Addon - Knife Knockback + for new modes
Reply With Quote #102

here then :-

PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <engine>
#include <zombieplaguenew1.3>

#define CUSTOM_MODELS  1
#define MAX_KNIFE_SNDS 9

#if (CUSTOM_MODELS)
    
new MODEL_PLAYER[]     = "models/p_knife_kpecT.mdl"
#endif

#define PLUGIN    "Knife Knockback"
#define VERSION    "3.0"
#define AUTHOR    "CHyC"


new cvar_knife cvar_knock cvar_jump cvar_survivor cvar_sniper cvar_sounds_hum cvar_sounds_sur cvar_sounds_sni;

new const 
knife_sounds[][] =
{
        
"zombie_plague/knife_deploy1.wav",
        
"zombie_plague/knife_hit1.wav",
        
"zombie_plague/knife_hit2.wav",
        
"zombie_plague/knife_hit3.wav",
        
"zombie_plague/knife_hit4.wav",
        
"zombie_plague/knife_hitwall1.wav",
        
"zombie_plague/knife_slash1.wav",
        
"zombie_plague/knife_slash2.wav",
        
"zombie_plague/knife_stab.wav"
}

new const 
oldknife_sounds[][] =
{
    
"weapons/knife_deploy1.wav",
    
"weapons/knife_hit1.wav",
    
"weapons/knife_hit2.wav",
    
"weapons/knife_hit3.wav",
    
"weapons/knife_hit4.wav",
    
"weapons/knife_hitwall1.wav",
    
"weapons/knife_slash1.wav",
    
"weapons/knife_slash2.wav",
    
"weapons/knife_stab.wav"
}

public 
plugin_init()
{
    
register_plugin(PLUGIN VERSION AUTHOR);
    
register_cvar("zp_knife"VERSIONFCVAR_SERVER);
    
register_event("Damage" "event_Damage" "b" "2>0");
    
register_event"CurWeapon""Event_CurWeapon""be""1=1" );
    
register_forward(FM_EmitSound"fw_EmitSound");

    
cvar_knife     register_cvar("zp_knife_knock" "1");
    
cvar_knock    register_cvar("zp_knife_power" "10");
    
cvar_jump     register_cvar("zp_knife_jump""300.0");
    
cvar_survivor    register_cvar("zp_knife_survivor" "1");
    
cvar_sniper    register_cvar("zp_knife_sniper" "1");
    
cvar_sounds_hum    register_cvar("zp_knife_sound_human" "1");
    
cvar_sounds_sur    register_cvar("zp_knife_sound_survivor" "1");
    
cvar_sounds_sni    register_cvar("zp_knife_sound_sniper" "1");
}

public 
event_Damage(id)
{
    if(!
get_pcvar_num(cvar_knife))
        return 
PLUGIN_CONTINUE;

    if(!
is_user_alive(id))
        return 
PLUGIN_CONTINUE;

    if(
zp_get_user_survivor(id) && get_pcvar_num(cvar_survivor) == 0)
        return 
PLUGIN_CONTINUE;

    if(
zp_get_user_sniper(id) && get_pcvar_num(cvar_sniper) == 0)
        return 
PLUGIN_CONTINUE;

    new 
weapon attacker get_user_attacker(id weapon);

    if(!
is_user_alive(attacker))
        return 
PLUGIN_CONTINUE;

    if(
weapon == CSW_KNIFE && get_user_flags(id) & ADMIN_LEVEL_A)
    {
        new 
Float:vec[3];
        new 
Float:oldvelo[3];
        
get_user_velocity(idoldvelo);
        
create_velocity_vector(id attacker vec);
        
vec[0] += oldvelo[0];
        
vec[1] += oldvelo[1];
        
set_user_velocity(id vec);
    }

    return 
PLUGIN_CONTINUE;
}

public 
Event_CurWeaponid )
{
    if (!
is_user_connected(id) || !is_user_alive(id) || zp_get_user_zombie(id))
        return 
PLUGIN_CONTINUE
    
    
new WeaponID read_data(2)
    if (
WeaponID != CSW_KNIFE)
        return  
PLUGIN_CONTINUE
    
    
#if (CUSTOM_MODELS)
        
entity_set_string(idEV_SZ_weaponmodelMODEL_PLAYER)
    
#endif
    
    
return PLUGIN_CONTINUE;


stock create_velocity_vector(victim,attacker,Float:velocity[3])
{
    if(!
zp_get_user_zombie(victim) || !is_user_alive(attacker))
        return 
0;

    new 
Float:vicorigin[3];
    new 
Float:attorigin[3];
    
entity_get_vector(victim   EV_VEC_origin vicorigin);
    
entity_get_vector(attacker EV_VEC_origin attorigin);

    new 
Float:origin2[3]
    
origin2[0] = vicorigin[0] - attorigin[0];
    
origin2[1] = vicorigin[1] - attorigin[1];

    new 
Float:largestnum 0.0;

    if(
floatabs(origin2[0])>largestnumlargestnum floatabs(origin2[0]);
    if(
floatabs(origin2[1])>largestnumlargestnum floatabs(origin2[1]);

    
origin2[0] /= largestnum;
    
origin2[1] /= largestnum;

    
velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knock) * 3000) ) / get_entity_distance(victim attacker);
    
velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knock) * 3000) ) / get_entity_distance(victim attacker);
    if(
velocity[0] <= 20.0 || velocity[1] <= 20.0)
        
velocity[2] = random_float(200.0 275.0);

    return 
1;
}

public 
plugin_precache()
{
    for(new 
0sizeof knife_soundsi++)
        
precache_sound(knife_sounds[i])

    
#if (CUSTOM_MODELS)
        
precache_model(MODEL_PLAYER)
    
#endif
}


public 
fw_EmitSound(idchannel, const sound[])
{
    if(!
is_user_alive(id) || zp_get_user_zombie(id))
        return 
PLUGIN_CONTINUE

    
if(!is_user_alive(id) && !get_pcvar_num(cvar_sounds_hum))
        return 
FMRES_IGNORED

    
if(!is_user_alive(id) || !zp_get_user_survivor(id) && !get_pcvar_num(cvar_sounds_sur))
        return 
FMRES_IGNORED

    
if(!is_user_alive(id) || !zp_get_user_sniper(id) && !get_pcvar_num(cvar_sounds_sni))
        return 
FMRES_IGNORED
        
    
for(new 0sizeof knife_soundsi++)
    {
        if(
equal(soundoldknife_sounds[i]))
        {
            
emit_sound(idchannelknife_sounds[i], 1.0ATTN_NORM0PITCH_NORM)
            return 
FMRES_SUPERCEDE
        
}
    }
            
    return 
FMRES_IGNORED
}

public 
client_PreThink(id)
{
    if (!
is_user_connected(id) || !is_user_alive(id) || zp_get_user_zombie(id) || zp_get_user_sniper(id) || zp_get_user_survivor(id))
        return 
PLUGIN_CONTINUE

    
new temp[2], weapon get_user_weapon(idtemp[0], temp[1])
    if (
weapon != CSW_KNIFE)
        return 
PLUGIN_CONTINUE
        
    
if ((get_user_button(id) & IN_JUMP) && !(get_user_oldbutton(id) & IN_JUMP))
    {
        new 
flags entity_get_int(idEV_INT_flags)
        new 
waterlvl entity_get_int(idEV_INT_waterlevel)
        
        if (!(
flags FL_ONGROUND))
            return 
PLUGIN_CONTINUE
        
if (flags FL_WATERJUMP)
            return 
PLUGIN_CONTINUE
        
if (waterlvl 1)
            return 
PLUGIN_CONTINUE
                
        
new Float:fVelocity[3]
        
entity_get_vector(idEV_VEC_velocityfVelocity)
        
fVelocity[2] += get_pcvar_num(cvar_jump)
        
        
entity_set_vector(idEV_VEC_velocityfVelocity)
        
entity_set_int(idEV_INT_gaitsequence6)
    }
    return 
PLUGIN_CONTINUE;

Catastrophe is offline
Bladell
Senior Member
Join Date: Jun 2012
Old 05-21-2013 , 15:41   Re: [ZP] Addon - Knife Knockback + for new modes
Reply With Quote #103

Thanks bro' ! -_-
Bladell is offline
Catastrophe
Veteran Member
Join Date: Jul 2012
Location: somewhere between narnia
Old 05-22-2013 , 01:02   Re: [ZP] Addon - Knife Knockback + for new modes
Reply With Quote #104

Works ? If yeah then Enjoy !!
Catastrophe is offline
Bladell
Senior Member
Join Date: Jun 2012
Old 05-24-2013 , 06:12   Re: [ZP] Addon - Knife Knockback + for new modes
Reply With Quote #105

How can I add this in item shop?
Bladell is offline
Bladell
Senior Member
Join Date: Jun 2012
Old 05-31-2013 , 04:53   Re: [ZP] Addon - Knife Knockback + for new modes
Reply With Quote #106

So...I can't add this like a item to shop?
Bladell is offline
Catastrophe
Veteran Member
Join Date: Jul 2012
Location: somewhere between narnia
Old 06-05-2013 , 01:11   Re: [ZP] Addon - Knife Knockback + for new modes
Reply With Quote #107

You can but it requires sm extra code.... if u use zp50 tell me i'll try to make it.
__________________
You will find everything u need :-
Catastrophe is offline
Ju22dith
BANNED
Join Date: Jun 2013
Old 06-05-2013 , 02:38   Re: [ZP] Addon - Knife Knockback + for new modes
Reply With Quote #108

I will convert to 5.0 for you

Last edited by Ju22dith; 06-05-2013 at 02:39.
Ju22dith is offline
Reply



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 22:49.


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