HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. /*
  2. * _______ _ _ __ __
  3. * | _____/ | | | | \ \ __ / /
  4. * | | | | | | | | / \ | |
  5. * | | | |____| | | |/ __ \| |
  6. * | | ___ | ______ | | / \ |
  7. * | | |_ | | | | | | / \ |
  8. * | | | | | | | | | | | |
  9. * | |____| | | | | | | | | |
  10. * |_______/ |_| |_| \_/ \_/
  11. *
  12. *
  13. *
  14. * Last Edited: 12-30-07
  15. *
  16. * ============
  17. * Changelog:
  18. * ============
  19. *
  20. * v4.0
  21. * -Added ML
  22. * -Optimized Code
  23. *
  24. * v3.0
  25. * -ReWrite #2
  26. *
  27. * v2.0
  28. * -ReWrite #1
  29. *
  30. * v1.0
  31. * -Initial Release
  32. *
  33. */
  34.  
  35. #define VERSION "4.0"
  36.  
  37. #include <amxmodx>
  38. #include <amxmisc>
  39. #include <fun>
  40.  
  41. new Float:grav[33]
  42. new bool:grav_all
  43.  
  44. new show_activity_pcvar
  45.  
  46. public plugin_init()
  47. {
  48. register_plugin("Personal Gravity",VERSION,"GHW_Chronic")
  49. register_concmd("amx_gravityp","SetGrav",ADMIN_LEVEL_C,"<nick or @all> <gravity>")
  50. register_event("ResetHUD","possible_spawn","b")
  51.  
  52. register_dictionary("GHW_Personal_Gravity.txt")
  53.  
  54. show_activity_pcvar = get_cvar_pointer("show_activity")
  55. }
  56.  
  57. public client_connect(id) grav[id]=1.0
  58.  
  59. public possible_spawn(id)
  60. {
  61. if(is_user_alive(id))
  62. {
  63. if(!grav_all)
  64. set_user_gravity(id,grav[id])
  65. else
  66. set_user_gravity(id,grav[0])
  67. }
  68. }
  69.  
  70. public SetGrav(id,level,cid)
  71. {
  72. if(!cmd_access(id,level,cid,3))
  73. {
  74. return PLUGIN_HANDLED
  75. }
  76.  
  77. new arg[32]
  78. read_argv(1,arg,31)
  79.  
  80. if(equali(arg,"@all"))
  81. {
  82. grav_all=true
  83.  
  84. read_argv(2,arg,31)
  85.  
  86. grav[0] = str_to_float(arg) / 800.0
  87.  
  88. new players[32], num
  89. get_players(players,num,"ah")
  90.  
  91. for(new i=0;i<num;i++)
  92. possible_spawn(players[i])
  93.  
  94. new cvar_value = get_pcvar_num(show_activity_pcvar)
  95. new gravity = str_to_num(arg)
  96. if(cvar_value==1)
  97. {
  98. client_print(0,print_chat,"[AMXX] %L",0,"MSG_GRAVITY_ALL_CHAT1",gravity)
  99. }
  100. else if(cvar_value>1)
  101. {
  102. new aName[32]
  103. get_user_name(id,aName,31)
  104. client_print(0,print_chat,"[AMXX] %L",0,"MSG_GRAVITY_ALL_CHAT2",aName,gravity)
  105. }
  106. console_print(id,"[AMXX] ",id,"MSG_GRAVITY_ALL_CONSOLE",gravity)
  107. }
  108. else
  109. {
  110. new target = cmd_target(id,arg,3)
  111. if(!target)
  112. {
  113. return PLUGIN_HANDLED
  114. }
  115.  
  116. new pName[32]
  117. get_user_name(target,pName,31)
  118.  
  119. read_argv(2,arg,31)
  120. grav[target] = str_to_float(arg) / 800.0
  121.  
  122. new cvar_value = get_pcvar_num(show_activity_pcvar)
  123. new gravity = str_to_num(arg)
  124. if(cvar_value==1)
  125. {
  126. client_print(0,print_chat,"[AMXX] %L",0,"MSG_GRAVITY_SINGLE_CHAT1",pName,gravity)
  127. }
  128. else if(cvar_value>1)
  129. {
  130. new aName[32]
  131. get_user_name(id,aName,31)
  132. client_print(0,print_chat,"[AMXX] %L",0,"MSG_GRAVITY_SINGLE_CHAT2",aName,pName,gravity)
  133. }
  134. console_print(id,"[AMXX] %L",id,"MSG_GRAVITY_SINGLE_CONSOLE",pName,gravity)
  135.  
  136. set_user_gravity(id,grav[target])
  137. }
  138. return PLUGIN_HANDLED
  139. }