Raised This Month: $ Target: $400
 0% 

VIP Knife


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
akefis
Junior Member
Join Date: Nov 2013
Location: France
Old 01-30-2016 , 18:57   VIP Knife
Reply With Quote #1

I would the 3 case for VIP knife only for admin flag acces level c.
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <engine> 
#include <vault>
#include <fun>

#define PLUGIN "Knife Mod"
#define VERSION "1.0" 
#define AUTHOR "spunko"

#define TASK_INTERVAL 4.0  
#define MAX_HEALTH 255  

new knife_model[33
new 
g_Menu

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(PLUGINVERSIONAUTHOR
    
    
register_event"Damage""event_damage""be" )
    
register_event("CurWeapon","CurWeapon","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_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" "550")
    
CVAR_NORMGRAV get_cvar_pointer("sv_gravity")
    
    
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/knife-mod/v_knife.mdl"
    
precache_model("models/knife-mod/p_knife.mdl")


public 
display_knife(id) {
    new 
menuBody[512]
    
add(menuBody511"\rKnife Mod\w^n^n")
    
add(menuBody511"1. Gravity Knife \y\w^n")
    
add(menuBody511"2. VIP Knife \y\w^n")
    
add(menuBody511"3. Default Knife \y\w^n^n")
    
add(menuBody511"0. Exit^n")
    
    new 
keys = ( 1<<1<<1<<1<<1<<1<<)
    
show_menu(idkeysmenuBody, -1"Knife Mod")
}

public 
knifemenu(idkey) {
    switch(
key
    {
        case 
0SetKnife(id 1)
        case 
1SetKnife(id 2)
        default: return 
PLUGIN_HANDLED
    
}
    
SaveData(id)
    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 
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/v_knife.mdl")
            
format(pModel,55,"models/p_knife.mdl")
        }
        case 
3: {
            
format(vModel55,"models/knife-mod/v_machete.mdl")
            
format(vModel55,"models/knife-mod/p_machete.mdl")
        }
    } 
    
    
entity_set_string(idEV_SZ_viewmodelvModel)
    
entity_set_string(idEV_SZ_weaponmodelpModel)
    
    return 
PLUGIN_HANDLED;  
}

public 
event_damageid ) {
    
    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 
CurWeapon(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)
    else if(
knife_model[id] == 4)
        
Speed get_pcvar_float(CVAR_LOWSPEED)
    
    
set_user_maxspeed(idSpeed)
    
    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) {  
    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,"<< !!HEAL IN PROGRESS!! >>")
        
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)  
}  


public 
kmodmsg() { 
    
    
client_print(0,print_chat,"[AMXX] Fait /knife pour avoir le gravity knife")
}  

public 
client_authorized(id)
    {
    
LoadData(id)
}

SaveData(id)

    
    new 
authid[32]
    
get_user_authid(idauthid31)
    
    new 
vaultkey[64]
    new 
vaultdata[64]
    
    
format(vaultkey63"KMOD_%s"authid)
    
format(vaultdata63"%d"knife_model[id])
    
set_vaultdata(vaultkeyvaultdata)
}

LoadData(id

    new 
authid[32
    
get_user_authid(id,authid,31)
    
    new 
vaultkey[64], vaultdata[64]
    
    
format(vaultkey63"KMOD_%s"authid)
    
get_vaultdata(vaultkeyvaultdata63)
    
knife_model[id] = str_to_num(vaultdata)
    

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/ 
Thanks
akefis 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 09:28.


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