HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <fakemeta>
  3.  
  4. #define PLUGIN "Erotic Bomb"
  5. #define VERSION "0.4"
  6. #define AUTHOR "8dp & Spection"
  7.  
  8. #define EROTIC_BOMB_W "models/erotic_bomb/erotic_bomb.mdl"
  9. #define m_flNextBeep 102
  10. #define m_flNextBlink 106
  11. #define m_bIsC4 385
  12.  
  13. #define DEFUSE_ANIMATION_START // Hatastalanitaskor tancol, kikapcsolashoz irj ele "//" jelet
  14. #define BEEP_SOUND // Bomba csipogás, kikapcsolashoz irj ele "//" jelet
  15. #define CUSTOM_SOUND "erotic_bomb/erotic_bomb.wav" // Zene, kikapcsolashoz irj ele "//" jelet
  16.  
  17. new g_iBomb, g_iSequence
  18.  
  19. #if defined DEFUSE_ANIMATION_START
  20. public Event_BombDefusing()
  21. {
  22. if(pev(g_iBomb, pev_sequence)) return
  23. if(++g_iSequence == 4) g_iSequence = 1
  24. set_pev(g_iBomb, pev_frame, 0.0)
  25. set_pev(g_iBomb, pev_animtime, get_gametime())
  26. set_pev(g_iBomb, pev_sequence, g_iSequence)
  27. }
  28. #endif
  29.  
  30. bool:get_pdata_boolc(ent, charbased_offset, intbase_linuxdiff = 5) return !!( get_pdata_int(ent, charbased_offset / 4, intbase_linuxdiff) & (0xFF<<((charbased_offset % 4) * 8)) )
  31. public Event_BombPlanted()
  32. {
  33. g_iBomb = FM_NULLENT
  34. while((g_iBomb = engfunc(EngFunc_FindEntityByString, g_iBomb, "classname", "grenade")))
  35. {
  36. if(pev_valid(g_iBomb) && get_pdata_boolc(g_iBomb, m_bIsC4))
  37. {
  38. Setup_Bomb()
  39. return
  40. }
  41. }
  42. }
  43.  
  44. Setup_Bomb()
  45. {
  46. engfunc(EngFunc_SetModel, g_iBomb, EROTIC_BOMB_W)
  47. #if !defined DEFUSE_ANIMATION_START
  48. if(++g_iSequence == 4) g_iSequence = 1
  49. set_pev(g_iBomb, pev_sequence, g_iSequence)
  50. #endif
  51. set_pev(g_iBomb, pev_frame, 0.0)
  52. set_pev(g_iBomb, pev_animtime, get_gametime())
  53. set_pev(g_iBomb, pev_framerate, 1.0)
  54. set_pdata_float(g_iBomb, m_flNextBlink, get_gametime() + 9999.9)
  55. #if !defined BEEP_SOUND
  56. set_pdata_float(g_iBomb, m_flNextBeep, get_gametime() + 9999.9)
  57. #endif
  58. #if defined CUSTOM_SOUND
  59. emit_sound(g_iBomb, CHAN_STATIC, CUSTOM_SOUND, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  60. #endif
  61. }
  62.  
  63. public plugin_precache()
  64. {
  65. engfunc(EngFunc_PrecacheModel, EROTIC_BOMB_W)
  66. #if defined CUSTOM_SOUND
  67. engfunc(EngFunc_PrecacheSound, CUSTOM_SOUND)
  68. #endif
  69. }
  70.  
  71. public plugin_init()
  72. {
  73. register_plugin(PLUGIN, VERSION, AUTHOR)
  74. #if defined CUSTOM_SOUND
  75. register_logevent("Stop_BombSound", 2, "1=Round_End")
  76. register_event("HLTV", "Stop_BombSound", "a", "1=0", "2=0")
  77. #endif
  78. #if defined DEFUSE_ANIMATION_START
  79. register_event("BarTime", "Event_BombDefusing", "be", "1=5", "1=10")
  80. #endif
  81. register_logevent("Event_BombPlanted", 3, "2=Planted_The_Bomb")
  82. }
  83.  
  84. #if defined CUSTOM_SOUND
  85. public Stop_BombSound()
  86. {
  87. if(g_iBomb)
  88. {
  89. emit_sound(g_iBomb, CHAN_STATIC, CUSTOM_SOUND, VOL_NORM, ATTN_NORM, SND_STOP, PITCH_NORM)
  90. g_iBomb = 0
  91. }
  92. }
  93. #endif
  94. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  95. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  96. */
  97.