Raised This Month: $32 Target: $400
 8% 

KM - ninja knife - remove speed


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
niiii
Member
Join Date: Sep 2013
Old 10-05-2013 , 09:02   KM - ninja knife - remove speed
Reply With Quote #1

Hi Id like to remove speed from ninja knife. I dont know how to do it. Can you help me please?

Code:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <vault>
#include <fun>
#include <fakemeta>

#define PLUGIN "Knife Mod+"
#define VERSION "1.0"
#define AUTHOR "spunko,drastiq"
#define MAXPLAYERS 32
#define TASK_INTERVAL 4.0
#define MAX_HEALTH 255

#define m_pLastItem 375
#define m_pLastKnifeItem 370


new knife_model[33] 
new g_Menu
new g_pVisiblity;

new CVAR_HIGHSPEED
new CVAR_LOWSPEED
new CVAR_LOWGRAV
new CVAR_NORMGRAV
new CVAR_HEALTH_ADD
new CVAR_HEALTH_MAX
new CVAR_DAMAGE 

public plugin_init() { 
	
	register_plugin(PLUGIN, VERSION, AUTHOR) 
	
	register_event( "Damage", "event_damage", "be" )
	register_event("CurWeapon","EventCurWeapon","be","1=1") 
	
	g_Menu = register_menuid("Knife Mod")
	register_menucmd(g_Menu, 1023, "knifemenu")
	register_clcmd("say /knife", "display_knife")
	
	CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
	CVAR_LOWSPEED = register_cvar("km_lowspeed","170")
	CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
	CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")
	CVAR_DAMAGE = register_cvar("km_damage", "2")
	CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
	CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
	g_pVisiblity = register_cvar( "km_invis", "150" ); // 255 = clearly visible
	set_task(480.0, "kmodmsg", 0, _, _, "b")
}

public plugin_precache() { 
	precache_model("models/knife-mod/v_butcher.mdl") 
	precache_model("models/knife-mod/p_butcher.mdl") 
	precache_model("models/knife-mod/v_machete.mdl")
	precache_model("models/knife-mod/p_machete.mdl")
	precache_model("models/knife-mod/v_bak.mdl")
	precache_model("models/knife-mod/p_bak.mdl")
	precache_model("models/knife-mod/v_pocket.mdl")
	precache_model("models/knife-mod/p_pocket.mdl")
	precache_model("models/v_knife.mdl") 
	precache_model("models/p_knife.mdl")
	precache_model("models/knife-mod/v_claw.mdl")
} 

public display_knife(id) {

if(get_user_flags(id) & ADMIN_LEVEL_H)
{
	
	new menuBody[512]
	add(menuBody, 511, "\rKnife Mod\w^n^n")
	add(menuBody, 511, "1. Machete \y(Viac poskodenia/Mala rychlost)\w^n")
	add(menuBody, 511, "2. Bak Knife \y(Ziadne kroky)\w^n")
	add(menuBody, 511, "3. Pocket Knife \y(Vysoka rychlost)\w^n")
	add(menuBody, 511, "4. Butcher Knife \y(Mala gravitacia)\w^n")
	add(menuBody, 511, "5. Ninja Knife \y(Polovicna viditelnost)\w^n^n")
        add(menuBody, 511, "6. Default Knife \y(Regeneracia HP)\w^n^n")
	add(menuBody, 511, "0. Exit^n")
	
	new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<9 )
	show_menu(id, keys, menuBody, -1, "Knife Mod")
	}
	return PLUGIN_HANDLED
}
public knifemenu(id, key) {
	switch(key) 
	{
			case 0: SetKnife(id , 4)	
			case 1: SetKnife(id , 2)
			case 2: SetKnife(id , 3)
			case 3: SetKnife(id , 1)
			case 4: SetKnife(id , 0)
			case 5: SetKnife(id , 5)
			default: return PLUGIN_HANDLED
	}
	return PLUGIN_HANDLED
} 

public SetKnife(id , Knife) {
	knife_model[id] = Knife
	
	new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo) 
	if ( Weapon != CSW_KNIFE )
		return PLUGIN_HANDLED
	
	new vModel[56],pModel[56]
	
	switch(Knife)
	{
		case 0: {
			format(vModel,55,"models/v_knife.mdl")
			format(pModel,55,"models/p_knife.mdl")
		}
		case 1: {
			format(vModel,55,"models/knife-mod/v_butcher.mdl")
			format(pModel,55,"models/knife-mod/p_butcher.mdl")
		}
		case 2: {
			format(vModel,55,"models/knife-mod/v_bak.mdl")
			format(pModel,55,"models/knife-mod/p_bak.mdl")
		}
		case 3: {
			format(vModel,55,"models/knife-mod/v_pocket.mdl")
			format(pModel,55,"models/knife-mod/p_pocket.mdl")
		}
		case 4: {
			format(vModel,55,"models/knife-mod/v_machete.mdl")
			format(pModel,55,"models/knife-mod/p_machete.mdl")
		}
		case 5: {
			format(vModel,55,"models/knife-mod/v_claw.mdl")
		} 
	}
	
	entity_set_string(id, EV_SZ_viewmodel, vModel)
	entity_set_string(id, EV_SZ_weaponmodel, pModel)
	
	return PLUGIN_HANDLED;  
}

public event_damage(id) {
	
	new victim_id = id;
	if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE
	new dmg_take = read_data( 2 );
	new dmgtype = read_data( 3 );
	new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
	new Float:damage = dmg_take * multiplier;
	new health = get_user_health( victim_id );
	
	new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );
	
	if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
		return PLUGIN_HANDLED
	}
	
	if( iWeapID == CSW_KNIFE && knife_model[attacker_id] == 4 ) {
		
		if( floatround(damage) >= health ) {
			if( victim_id == attacker_id ) {
				return PLUGIN_CONTINUE
				}else{
				log_kill( attacker_id, victim_id, "knife", 0 );
			}
			
			return PLUGIN_CONTINUE
			}else {
			if( victim_id == attacker_id ) return PLUGIN_CONTINUE
			
			fakedamage( victim_id, "weapon_knife", damage, dmgtype );
		}
		
	}
	return PLUGIN_CONTINUE
}

public EventCurWeapon(id)
{
	new Weapon = read_data(2)
	
	// Set Knife Model
	SetKnife(id, knife_model[id])   
	
	// Task Options
	
	if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
		set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
	else if(task_exists(id))
		remove_task(id)
	
	// Abilities
	set_user_footsteps(id , ( (knife_model[id] == 2 && Weapon == CSW_KNIFE) ? 1 : 0) )
	
	new Float:Gravity = ((knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
	set_user_gravity(id , Gravity)
	
	
	// Speed
	new Float:Speed
	if(Weapon != CSW_KNIFE || knife_model[id] < 3)
		return PLUGIN_CONTINUE
	else if(knife_model[id] == 3)
		Speed = get_pcvar_float(CVAR_HIGHSPEED)
	else if(knife_model[id] == 4)
		Speed = get_pcvar_float(CVAR_LOWSPEED)
	
	set_user_maxspeed(id, Speed)
	
	
	
	// Ninja
	if(Weapon != CSW_KNIFE || knife_model[id] == 5)
		set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, get_pcvar_num( g_pVisiblity ) );
		return PLUGIN_HANDLED

}

stock log_kill(killer, victim, weapon[],headshot) {
user_silentkill( victim );

message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
write_byte( killer );
write_byte( victim );
write_byte( headshot );
write_string( weapon );
message_end();

new kfrags = get_user_frags( killer );
set_user_frags( killer, kfrags++ );
new vfrags = get_user_frags( victim );
set_user_frags( victim, vfrags++ );

return  PLUGIN_CONTINUE
} 


public task_healing(id) {

if(get_user_flags(id) & ADMIN_LEVEL_H)
{  
new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)  
if (!addhealth)
	return  

new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)  
if (maxhealth > MAX_HEALTH) { 
	set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)  
	maxhealth = MAX_HEALTH 
}  

new health = get_user_health(id)   

if (is_user_alive(id) && (health < maxhealth)) { 
	set_user_health(id, health + addhealth)
	set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
	show_hudmessage(id,"Prebieha regeneracia HP")
	message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
	write_short(1<<10)
	write_short(1<<10)
	write_short(0x0000)
	write_byte(0)
	write_byte(200)
	write_byte(0)
	write_byte(75)
	message_end()
}

else {
	if (is_user_alive(id) && (health > maxhealth))
		remove_task(id)
	
}
}
}  

public client_disconnect(id) {  
if(task_exists(id)) remove_task(id)  
}
niiii is offline
~Ice*shOt
Veteran Member
Join Date: Mar 2009
Location: Lithuania
Old 10-05-2013 , 12:33   Re: KM - ninja knife - remove speed
Reply With Quote #2

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <vault>
#include <fun>
#include <fakemeta>

#define PLUGIN "Knife Mod+"
#define VERSION "1.0"
#define AUTHOR "spunko,drastiq"
#define MAXPLAYERS 32
#define TASK_INTERVAL 4.0
#define MAX_HEALTH 255

#define m_pLastItem 375
#define m_pLastKnifeItem 370


new knife_model[33
new 
g_Menu
new g_pVisiblity;

new 
CVAR_HIGHSPEED
new CVAR_LOWGRAV
new CVAR_NORMGRAV
new CVAR_HEALTH_ADD
new CVAR_HEALTH_MAX
new CVAR_DAMAGE 

public plugin_init() { 
    
    
register_plugin(PLUGINVERSIONAUTHOR
    
    
register_event"Damage""event_damage""be" )
    
register_event("CurWeapon","EventCurWeapon","be","1=1"
    
    
g_Menu register_menuid("Knife Mod")
    
register_menucmd(g_Menu1023"knifemenu")
    
register_clcmd("say /knife""display_knife")
    
    
CVAR_HIGHSPEED register_cvar("km_highspeed","340")
    
CVAR_HEALTH_ADD register_cvar("km_addhealth""3")
    
CVAR_HEALTH_MAX register_cvar("km_maxhealth""75")
    
CVAR_DAMAGE register_cvar("km_damage""2")
    
CVAR_LOWGRAV register_cvar("km_lowgravity" "400")
    
CVAR_NORMGRAV get_cvar_pointer("sv_gravity")
    
g_pVisiblity register_cvar"km_invis""150" ); // 255 = clearly visible
    
set_task(480.0"kmodmsg"0__"b")
}

public 
plugin_precache() { 
    
precache_model("models/knife-mod/v_butcher.mdl"
    
precache_model("models/knife-mod/p_butcher.mdl"
    
precache_model("models/knife-mod/v_machete.mdl")
    
precache_model("models/knife-mod/p_machete.mdl")
    
precache_model("models/knife-mod/v_bak.mdl")
    
precache_model("models/knife-mod/p_bak.mdl")
    
precache_model("models/knife-mod/v_pocket.mdl")
    
precache_model("models/knife-mod/p_pocket.mdl")
    
precache_model("models/v_knife.mdl"
    
precache_model("models/p_knife.mdl")
    
precache_model("models/knife-mod/v_claw.mdl")


public 
display_knife(id) {
    
    if(
get_user_flags(id) & ADMIN_LEVEL_H)
        {
        
        new 
menuBody[512]
        
add(menuBody511"\rKnife Mod\w^n^n")
        
add(menuBody511"1. Machete \y(Viac poskodenia/Mala rychlost)\w^n")
        
add(menuBody511"2. Bak Knife \y(Ziadne kroky)\w^n")
        
add(menuBody511"3. Pocket Knife \y(Vysoka rychlost)\w^n")
        
add(menuBody511"4. Butcher Knife \y(Mala gravitacia)\w^n")
        
add(menuBody511"5. Ninja Knife \y(Polovicna viditelnost)\w^n^n")
        
add(menuBody511"6. Default Knife \y(Regeneracia HP)\w^n^n")
        
add(menuBody511"0. Exit^n")
        
        new 
keys = ( 1<<1<<1<<1<<1<<1<<1<<)
        
show_menu(idkeysmenuBody, -1"Knife Mod")
    }
    return 
PLUGIN_HANDLED
}
public 
knifemenu(idkey) {
    switch(
key
    {
        case 
0SetKnife(id 4)    
        case 
1SetKnife(id 2)
        case 
2SetKnife(id 3)
        case 
3SetKnife(id 1)
        case 
4SetKnife(id 0)
        case 
5SetKnife(id 5)
        default: return 
PLUGIN_HANDLED
    
}
    return 
PLUGIN_HANDLED


public 
SetKnife(id Knife) {
    
knife_model[id] = Knife
    
    
new ClipAmmoWeapon get_user_weapon(idClipAmmo
    if ( 
Weapon != CSW_KNIFE )
        return 
PLUGIN_HANDLED
    
    
new vModel[56],pModel[56]
    
    switch(
Knife)
    {
        case 
0: {
            
format(vModel,55,"models/v_knife.mdl")
            
format(pModel,55,"models/p_knife.mdl")
        }
        case 
1: {
            
format(vModel,55,"models/knife-mod/v_butcher.mdl")
            
format(pModel,55,"models/knife-mod/p_butcher.mdl")
        }
        case 
2: {
            
format(vModel,55,"models/knife-mod/v_bak.mdl")
            
format(pModel,55,"models/knife-mod/p_bak.mdl")
        }
        case 
3: {
            
format(vModel,55,"models/knife-mod/v_pocket.mdl")
            
format(pModel,55,"models/knife-mod/p_pocket.mdl")
        }
        case 
4: {
            
format(vModel,55,"models/knife-mod/v_machete.mdl")
            
format(pModel,55,"models/knife-mod/p_machete.mdl")
        }
        case 
5: {
            
format(vModel,55,"models/knife-mod/v_claw.mdl")
        } 
    }
    
    
entity_set_string(idEV_SZ_viewmodelvModel)
    
entity_set_string(idEV_SZ_weaponmodelpModel)
    
    return 
PLUGIN_HANDLED;  
}

public 
event_damage(id) {
    
    new 
victim_id id;
    if( !
is_user_connectedvictim_id ) ) return PLUGIN_CONTINUE
    
new dmg_take read_data);
    new 
dmgtype read_data);
    new 
Float:multiplier get_pcvar_float(CVAR_DAMAGE);
    new 
Float:damage dmg_take multiplier;
    new 
health get_user_healthvictim_id );
    
    new 
iWeapIDattacker_id get_user_attackervictim_idiWeapID );
    
    if( !
is_user_connectedattacker_id ) || !is_user_alivevictim_id ) ) {
        return 
PLUGIN_HANDLED
    
}
    
    if( 
iWeapID == CSW_KNIFE && knife_model[attacker_id] == ) {
        
        if( 
floatround(damage) >= health ) {
            if( 
victim_id == attacker_id ) {
                return 
PLUGIN_CONTINUE
                
}else{
                
log_killattacker_idvictim_id"knife");
            }
            
            return 
PLUGIN_CONTINUE
            
}else {
            if( 
victim_id == attacker_id ) return PLUGIN_CONTINUE
            
            fakedamage
victim_id"weapon_knife"damagedmgtype );
        }
        
    }
    return 
PLUGIN_CONTINUE
}

public 
EventCurWeapon(id)
    {
    new 
Weapon read_data(2)
    
    
// Set Knife Model
    
SetKnife(idknife_model[id])   
    
    
// Task Options
    
    
if(knife_model[id] == && !task_exists(id) && Weapon == CSW_KNIFE)
        
set_task(TASK_INTERVAL "task_healing",id,_,_,"b")
    else if(
task_exists(id))
        
remove_task(id)
    
    
// Abilities
    
set_user_footsteps(id , ( (knife_model[id] == && Weapon == CSW_KNIFE) ? 0) )
    
    new 
Float:Gravity = ((knife_model[id] == && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
    set_user_gravity
(id Gravity)
    
    
    
// Speed
    
new Float:Speed
    
if(Weapon != CSW_KNIFE || knife_model[id] < 3)
        return 
PLUGIN_CONTINUE
    
else if(knife_model[id] == 3)
        
Speed get_pcvar_float(CVAR_HIGHSPEED)
    
    
set_user_maxspeed(idSpeed)
    
    
    
    
// Ninja
    
if(Weapon != CSW_KNIFE || knife_model[id] == 5)
        
set_user_renderingidkRenderFxNone000kRenderTransAlphaget_pcvar_numg_pVisiblity ) );
    return 
PLUGIN_HANDLED
    
}

stock log_kill(killervictimweapon[],headshot) {
    
user_silentkillvictim );
    
    
message_beginMSG_ALLget_user_msgid"DeathMsg" ), {0,0,0}, );
    
write_bytekiller );
    
write_bytevictim );
    
write_byteheadshot );
    
write_stringweapon );
    
message_end();
    
    new 
kfrags get_user_fragskiller );
    
set_user_fragskillerkfrags++ );
    new 
vfrags get_user_fragsvictim );
    
set_user_fragsvictimvfrags++ );
    
    return  
PLUGIN_CONTINUE



public 
task_healing(id) {
    
    if(
get_user_flags(id) & ADMIN_LEVEL_H)
        {  
        new 
addhealth get_pcvar_num(CVAR_HEALTH_ADD)  
        if (!
addhealth)
            return  
        
        new 
maxhealth get_pcvar_num(CVAR_HEALTH_MAX)  
        if (
maxhealth MAX_HEALTH) { 
            
set_pcvar_num(CVAR_HEALTH_MAXMAX_HEALTH)  
            
maxhealth MAX_HEALTH 
        
}  
        
        new 
health get_user_health(id)   
        
        if (
is_user_alive(id) && (health maxhealth)) { 
            
set_user_health(idhealth addhealth)
            
set_hudmessage(02550, -1.00.2501.02.00.10.14)
            
show_hudmessage(id,"Prebieha regeneracia HP")
            
message_begin(MSG_ONEget_user_msgid("ScreenFade"), {0,0,0}, id)
            
write_short(1<<10)
            
write_short(1<<10)
            
write_short(0x0000)
            
write_byte(0)
            
write_byte(200)
            
write_byte(0)
            
write_byte(75)
            
message_end()
        }
        
        else {
            if (
is_user_alive(id) && (health maxhealth))
                
remove_task(id)
            
        }
    }
}  

public 
client_disconnect(id) {  
    if(
task_exists(id)) remove_task(id)  

~Ice*shOt is offline
Send a message via Skype™ to ~Ice*shOt
niiii
Member
Join Date: Sep 2013
Old 10-05-2013 , 13:43   Re: KM - ninja knife - remove speed
Reply With Quote #3

you removed speed from machete knife (slow speed) i need to remove speed from ninja knife that has same speed as pocket knife.

Last edited by niiii; 10-05-2013 at 13:51.
niiii 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 18:08.


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