HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <hamsandwich>
  3. #include <reapi>
  4.  
  5. #define PL_VERSION "0.0.1b"
  6.  
  7. #define PLAYER_USE_RADIUS 75
  8.  
  9. new g_iHudSync
  10.  
  11. public plugin_init()
  12. {
  13. register_plugin("Bomba Elvetel", PL_VERSION, "Vaqtincha")
  14.  
  15. if(bool:get_member_game(m_bMapHasBombTarget))
  16. {
  17. RegisterHam(Ham_ObjectCaps, "bot", "CBasePlayer_ObjectCaps", .Post = false)
  18. RegisterHam(Ham_ObjectCaps, "player", "CBasePlayer_ObjectCaps", .Post = false)
  19. RegisterHam(Ham_Use, "bot", "CBasePlayer_PlayerUse", .Post = true)
  20. RegisterHam(Ham_Use, "player", "CBasePlayer_PlayerUse", .Post = true)
  21.  
  22. register_event("StatusValue", "Event_StatusValue_Show", "be", "1=3"/*HEALTH*/, "2>0")
  23. register_event("StatusValue", "Event_StatusValue_Hide", "b", "1=1", "2=0")
  24.  
  25. g_iHudSync = CreateHudSyncObj()
  26. }
  27. else {
  28. pause("ad")
  29. }
  30. }
  31.  
  32. public CBasePlayer_ObjectCaps(const pPlayer)
  33. {
  34. SetHamReturnInteger(FCAP_ONOFF_USE)
  35. return HAM_SUPERCEDE
  36. }
  37.  
  38.  
  39. public CBasePlayer_PlayerUse(const pPlayer, const pActivator, const pCaller, const use_type, const Float:value)
  40. {
  41. if(value == 0.0 || !is_user_alive(pActivator) || get_member(pActivator, m_iTeam) != TEAM_TERRORIST)
  42. return
  43.  
  44. if(is_user_alive(pPlayer) && CanUseThisPlayer(pPlayer)) {
  45. rg_transfer_c4(pPlayer, pActivator)
  46. }
  47. }
  48.  
  49. public Event_StatusValue_Hide(const pPlayer) {
  50. ClearSyncHud(pPlayer, g_iHudSync)
  51. }
  52.  
  53. public Event_StatusValue_Show(const pPlayer)
  54. {
  55. if(get_member(pPlayer, m_iTeam) != TEAM_TERRORIST)
  56. return
  57.  
  58. new pTarget, iBody
  59. get_user_aiming(pPlayer, pTarget, iBody, PLAYER_USE_RADIUS)
  60.  
  61. if(pTarget > 0 && iBody > 0 && is_user_alive(pTarget) && CanUseThisPlayer(pTarget))
  62. {
  63. set_hudmessage(INFO_HUD_COLOR, INFO_HUD_POSITION, .holdtime = 1.5, .fadeintime = 0.5, .fadeouttime = 0.5)
  64. ShowSyncHudMsg(pPlayer, g_iHudSync, "A bomba elvételéhez nyomd az ^"E^" betűt!")
  65. }
  66. else {
  67. ClearSyncHud(pPlayer, g_iHudSync)
  68. }
  69. }
  70.  
  71. stock bool:CanUseThisPlayer(pPlayer)
  72. {
  73. if(!get_member(pPlayer, m_bHasC4))
  74. return false
  75.  
  76. #if defined BOT_WAIT_TIME_IGNORE
  77. if(is_user_bot(pPlayer))
  78. return true
  79. #endif
  80.  
  81. return bool:((get_gametime() - Float:get_member(pPlayer, m_fLastMovement)) > PLAYER_MAX_WAIT_TIME.0)
  82. }
  83.  
  84.  
  85.