HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. /*
  2. *===============================================================================
  3. * Bloody Knife v0.2.1
  4. * Created by Dontask-jello
  5. * http://www.jello-net.com
  6. * For AMXX 1.71
  7. * 6/22/2006 10:45:33 AM
  8. *===============================================================================
  9. * Cvars: (Default values preceed others)
  10. * bk_enabled <1|0> : Enables/Disables all plugin functionality.
  11. * bk_rndreset <0|1> : Resets everyones knife to a non-bloody knife at round
  12. * end when set to 1.
  13. *===============================================================================
  14. * Required Modules:
  15. * Engine
  16. *===============================================================================
  17. * Credits:
  18. * Weapon skin by TriggerJunky
  19. *===============================================================================
  20. * Change Log:
  21. * Key (+ added | - removed | f fixed | r refactored)
  22. *
  23. * v0.1
  24. * + : Initial release
  25. * v0.2
  26. * + : The chucky doll laugh sounds when your knife becomes bloody
  27. * v0.2.1
  28. * f : Clients no longer have bloody enabled by chance upon connect due to
  29. * connecting in another clients previous slot that had the flag
  30. *===============================================================================
  31. * To Do:
  32. * Fix the models to be compatible with the shield by either reworking the
  33. * current ones or finding new ones
  34. *===============================================================================
  35. * Known Bugs:
  36. * The models are not compatible with the shield
  37. *===============================================================================
  38. */
  39.  
  40. /*
  41. *===============================================================================
  42. * Previews:
  43. * http://www.and-corp.org/plugins/images/bk_wob.jpg
  44. * http://www.and-corp.org/plugins/images/bk_wb.jpg
  45. * http://www.and-corp.org/plugins/sound/chucky.wav
  46. *===============================================================================
  47. */
  48.  
  49. #include <amxmodx>
  50. #include <engine>
  51. #include <csx>
  52.  
  53. new bloody[32]
  54. new g_bk_enabled, g_bk_rndreset
  55.  
  56. public plugin_precache(){
  57. precache_model("models/chucky_knife.mdl")
  58. precache_model("models/chucky_knifewob.mdl")
  59. precache_sound("misc/chucky.wav")
  60. return PLUGIN_CONTINUE
  61. }
  62.  
  63. public client_disconnect(id){
  64. bloody[id]=0
  65. return PLUGIN_CONTINUE
  66. }
  67.  
  68. public wpnchange(id){
  69. if(get_pcvar_num(g_bk_enabled)){
  70. if(bloody[id]){
  71. chuckyknife(id)
  72. }
  73. else{
  74. chuckyknifewob(id)
  75. }
  76. }
  77. return PLUGIN_HANDLED
  78. }
  79.  
  80. public chuckyknife(id){
  81. new clip, ammo, wpnid = get_user_weapon(id,clip,ammo)
  82. if (wpnid == CSW_KNIFE) {
  83. entity_set_string(id, EV_SZ_viewmodel, "models/chucky_knife.mdl")
  84. }
  85. return PLUGIN_HANDLED
  86. }
  87.  
  88. public chuckyknifewob(id){
  89. new clip, ammo, wpnid = get_user_weapon(id,clip,ammo)
  90. if (wpnid == CSW_KNIFE) {
  91. entity_set_string(id, EV_SZ_viewmodel, "models/chucky_knifewob.mdl")
  92. }
  93. return PLUGIN_HANDLED
  94. }
  95.  
  96. public client_damage(attacker,victim,damage,wpnindex,hitplace,TA){
  97. if(get_pcvar_num(g_bk_enabled)){
  98. if(wpnindex==CSW_KNIFE){
  99. if(!bloody[attacker])client_cmd(attacker,"spk misc/chucky")
  100. bloody[attacker]=1
  101. chuckyknife(attacker)
  102. }
  103. }
  104. return PLUGIN_CONTINUE
  105. }
  106.  
  107. public client_death(killer,victim,wpnindex,hitplace,TK){
  108. bloody[victim]=0
  109. return PLUGIN_CONTINUE
  110. }
  111.  
  112. public round_end(){
  113. if(get_pcvar_num(g_bk_rndreset)){
  114. 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}
  115. }
  116. return PLUGIN_CONTINUE
  117. }
  118.  
  119. public plugin_init(){
  120. register_plugin("Bloody Knife","0.2.1","Dontask-jello")
  121. g_bk_enabled=register_cvar("bk_enabled","1")
  122. g_bk_rndreset=register_cvar("bk_rndreset","0")
  123. register_event("CurWeapon","wpnchange","be","1=1")
  124. register_logevent("round_end",2,"1=Round_End")
  125. return PLUGIN_CONTINUE
  126. }
  127.