#include #include #include #include #define PLUGIN "Stealth Assasin Mod" #define VERSION "1.0" #define AUTHOR "HoLLyWooD" new kn_on,kn_rend,kn_speed,kn_grav,kn_addheal,kn_healtime,kn_maxhp, kn_jumps; new jumpnum[33] = 0 new bool:dojump[33] = false new bool:with_knife[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) kn_on = register_cvar("kn_on","1"); kn_rend = register_cvar("kn_rend","50"); kn_grav = register_cvar("kn_grav","0.7"); kn_speed = register_cvar("kn_speed","350.0"); kn_addheal = register_cvar("kn_addheal","10"); kn_healtime = register_cvar("kn_healtime","3.0"); kn_maxhp = register_cvar("kn_maxhp","100"); kn_jumps = register_cvar("kn_jumps","2"); register_event("CurWeapon","CurWeapon","be") } public CurWeapon(id){ if(get_pcvar_num(kn_on) == 1 && is_user_alive(id) && is_user_connected(id)){ new clip, ammo new weapon = get_user_weapon(id,clip,ammo) if (weapon == CSW_KNIFE ){ set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransTexture,get_pcvar_num(kn_rend)); set_user_gravity(id,get_pcvar_float(kn_grav)); set_user_maxspeed(id,get_pcvar_float(kn_speed)); if(!task_exists(id)) set_task(get_pcvar_float(kn_healtime),"task_healing",id,_,_,"b") with_knife[id] = true }else{ set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransTexture, 255 ) set_user_gravity(id,1.0); set_user_maxspeed(id,250.0); if(task_exists(id)) remove_task(id) with_knife[id] = false } } } public task_healing(id){ if(get_pcvar_num(kn_on) && is_user_alive(id)){ new addhealth = get_pcvar_num(kn_addheal); new maxhealth = get_pcvar_num(kn_maxhp); new health = get_user_health(id); if (is_user_alive(id) && (health < maxhealth)){ if( ( health + addhealth ) < maxhealth ) set_user_health(id, health + addhealth) else set_user_health(id, maxhealth) 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(0) write_byte(200) write_byte(75) message_end() }else{ remove_task(id) } } } public client_putinserver(id){ jumpnum[id] = 0 dojump[id] = false with_knife[id] = false } public client_disconnect(id){ jumpnum[id] = 0 dojump[id] = false with_knife[id] = false } public client_PreThink(id){ if(is_user_alive(id) && with_knife[id] == true){ new nbut = get_user_button(id) new obut = get_user_oldbutton(id) if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP)) { if(jumpnum[id] < get_pcvar_num(kn_jumps)) { dojump[id] = true jumpnum[id]++ return PLUGIN_CONTINUE } } if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) { jumpnum[id] = 0 return PLUGIN_CONTINUE } } return PLUGIN_CONTINUE } public client_PostThink(id){ if(is_user_alive(id) && with_knife[id] == true){ if(dojump[id] == true) { new Float:velocity[3] entity_get_vector(id,EV_VEC_velocity,velocity) velocity[2] = random_float(265.0,285.0) entity_set_vector(id,EV_VEC_velocity,velocity) dojump[id] = false return PLUGIN_CONTINUE } } return PLUGIN_CONTINUE } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par } */