/*
*===============================================================================
* Bloody Knife v0.2.1
* Created by Dontask-jello
* http://www.jello-net.com
* For AMXX 1.71
* 6/22/2006 10:45:33 AM
*===============================================================================
* Cvars: (Default values preceed others)
* bk_enabled <1|0> : Enables/Disables all plugin functionality.
* bk_rndreset <0|1> : Resets everyones knife to a non-bloody knife at round
* end when set to 1.
*===============================================================================
* Required Modules:
* Engine
*===============================================================================
* Credits:
* Weapon skin by TriggerJunky
*===============================================================================
* Change Log:
* Key (+ added | - removed | f fixed | r refactored)
*
* v0.1
* + : Initial release
* v0.2
* + : The chucky doll laugh sounds when your knife becomes bloody
* v0.2.1
* f : Clients no longer have bloody enabled by chance upon connect due to
* connecting in another clients previous slot that had the flag
*===============================================================================
* To Do:
* Fix the models to be compatible with the shield by either reworking the
* current ones or finding new ones
*===============================================================================
* Known Bugs:
* The models are not compatible with the shield
*===============================================================================
*/
/*
*===============================================================================
* Previews:
* http://www.and-corp.org/plugins/images/bk_wob.jpg
* http://www.and-corp.org/plugins/images/bk_wb.jpg
* http://www.and-corp.org/plugins/sound/chucky.wav
*===============================================================================
*/
#include <amxmodx>
#include <engine>
#include <csx>
new bloody[32]
new g_bk_enabled, g_bk_rndreset
public plugin_precache(){
precache_model("models/chucky_knife.mdl")
precache_model("models/chucky_knifewob.mdl")
precache_sound("misc/chucky.wav")
return PLUGIN_CONTINUE
}
public client_disconnect(id){
bloody[id]=0
return PLUGIN_CONTINUE
}
public wpnchange(id){
if(get_pcvar_num(g_bk_enabled)){
if(bloody[id]){
chuckyknife(id)
}
else{
chuckyknifewob(id)
}
}
return PLUGIN_HANDLED
}
public chuckyknife(id){
new clip, ammo, wpnid = get_user_weapon(id,clip,ammo)
if (wpnid == CSW_KNIFE) {
entity_set_string(id, EV_SZ_viewmodel, "models/chucky_knife.mdl")
}
return PLUGIN_HANDLED
}
public chuckyknifewob(id){
new clip, ammo, wpnid = get_user_weapon(id,clip,ammo)
if (wpnid == CSW_KNIFE) {
entity_set_string(id, EV_SZ_viewmodel, "models/chucky_knifewob.mdl")
}
return PLUGIN_HANDLED
}
public client_damage(attacker,victim,damage,wpnindex,hitplace,TA){
if(get_pcvar_num(g_bk_enabled)){
if(wpnindex==CSW_KNIFE){
if(!bloody[attacker])client_cmd(attacker,"spk misc/chucky")
bloody[attacker]=1
chuckyknife(attacker)
}
}
return PLUGIN_CONTINUE
}
public client_death(killer,victim,wpnindex,hitplace,TK){
bloody[victim]=0
return PLUGIN_CONTINUE
}
public round_end(){
if(get_pcvar_num(g_bk_rndreset)){
bloody={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
}
return PLUGIN_CONTINUE
}
public plugin_init(){
register_plugin("Bloody Knife","0.2.1","Dontask-jello")
g_bk_enabled=register_cvar("bk_enabled","1")
g_bk_rndreset=register_cvar("bk_rndreset","0")
register_event("CurWeapon","wpnchange","be","1=1")
register_logevent("round_end",2,"1=Round_End")
return PLUGIN_CONTINUE
}