HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4.  
  5. #define PLUGIN "Shove Mod"
  6. #define VERSION "1.0"
  7. #define AUTHOR "Styles"
  8.  
  9. new cShove, cCooldown, cInUse
  10. new gLastShove[32]
  11.  
  12. public plugin_init()
  13. {
  14. register_plugin(PLUGIN, VERSION, AUTHOR)
  15. register_clcmd("say /shove", "shovePlayer")
  16. register_clcmd("say /lokes", "shovePlayer")
  17. cShove = register_cvar("shove_force", "7")
  18. cCooldown = register_cvar("shove_cooldown", "10")
  19. cInUse = register_cvar("shove_allow_inuse", "1")
  20.  
  21. register_forward(FM_PlayerPreThink, "Forward_PlayerPreThink")
  22. }
  23.  
  24. public Forward_PlayerPreThink(id)
  25. {
  26. if(!get_pcvar_num(cInUse))
  27. return PLUGIN_HANDLED
  28. if(pev( id, pev_button ) & IN_USE && !(pev( id, pev_oldbuttons ) & IN_USE ) & !is_user_bot(id))
  29. shovePlayer(id)
  30.  
  31. return PLUGIN_CONTINUE
  32. }
  33.  
  34. public shovePlayer(id)
  35. {
  36. if(!is_user_alive(id))
  37. return PLUGIN_HANDLED
  38.  
  39. if(get_systime() - gLastShove[id] < get_pcvar_num(cCooldown))
  40. {
  41. client_print(id, print_chat, "[Lokes Mod] Az izmaid elfaradtak. Muszaj varnod. (%i)", (get_pcvar_num(cCooldown) - (get_systime() - gLastShove[id])))
  42. return PLUGIN_HANDLED
  43. }
  44.  
  45. new Index,Body, pName[64], tName[64]
  46. get_user_aiming(id,Index,Body,200)
  47.  
  48. if(!Index || !is_user_alive(Index))
  49. return PLUGIN_HANDLED
  50.  
  51. new Float:size[3]
  52. pev(id, pev_size, size)
  53. if(size[2] < 72.0)
  54. {
  55. client_print(id, print_chat, "[Lokes Mod] Mozgas kozben nem tudsz ellokni jatekost!")
  56. return PLUGIN_HANDLED
  57. }
  58.  
  59. get_user_name(id, pName, 63)
  60. get_user_name(Index, tName, 63)
  61. new Float:velocity[3], Float:shover[3], Float:shovee[3]
  62. pev(id, pev_origin, shover)
  63. pev(Index, pev_origin, shovee)
  64.  
  65. for(new Count;Count < 3;Count++)
  66. velocity[Count] = (shovee[Count] - shover[Count]) * get_pcvar_float(cShove)
  67. set_pev(Index, pev_velocity, velocity)
  68. client_print(id, print_chat, "[Lokes Mod] Ellokted %s-t!", tName)
  69. client_print(Index, print_chat, "[Lokes Mod] Teged ellokott %s!", pName)
  70. gLastShove[id] = get_systime()
  71. return PLUGIN_HANDLED
  72.  
  73. }
  74. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  75. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  76. */
  77.