HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fakemeta>
  5. #include <fakemeta_util>
  6. #include <fun>
  7. #include <hamsandwich>
  8. #include <colorchat>
  9.  
  10. #define PLUGIN "Bonus Box"
  11. #define VERSION "1.0"
  12. #define AUTHOR "Csabika20034"
  13.  
  14. new const ClassName[] = "BonusBox"
  15.  
  16. new Model[2][] =
  17. {
  18. "models/cs_box/box1.mdl",
  19. "models/cs_box/box2.mdl"
  20. }
  21.  
  22. public plugin_init()
  23. {
  24. register_plugin(PLUGIN, VERSION, AUTHOR)
  25.  
  26. register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
  27. register_event("DeathMsg", "Death", "a")
  28.  
  29. register_forward(FM_Touch, "Touch")
  30. }
  31.  
  32. public plugin_precache()
  33. {
  34. for(new i = 0; i < sizeof Model; i++)
  35. precache_model(Model[i])
  36. }
  37.  
  38. public RoundStart()
  39. {
  40. new ent = FM_NULLENT
  41.  
  42. while((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", ClassName)))
  43. {
  44. engfunc(EngFunc_RemoveEntity, ent)
  45. }
  46. }
  47.  
  48. public Death()
  49. {
  50. new victim = read_data(2)
  51. AddBonusBox(victim)
  52.  
  53. return HAM_IGNORED
  54. }
  55.  
  56. public AddBonusBox(id)
  57. {
  58. if(!is_user_connected(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR)
  59. return
  60.  
  61. new ent = fm_create_entity("info_target")
  62.  
  63. if(!pev_valid(ent))
  64. return
  65.  
  66. new origin[3]
  67. get_user_origin(id, origin)
  68.  
  69. new Float:fOrigin[3]
  70. IVecFVec(origin, fOrigin)
  71.  
  72. set_pev(ent, pev_classname, ClassName)
  73.  
  74. engfunc(EngFunc_SetModel, ent, Model[random(2)])
  75.  
  76. set_pev(ent, pev_mins, Float:{-10.0,-10.0,0.0})
  77. set_pev(ent, pev_maxs, Float:{10.0,10.0,25.0})
  78.  
  79. engfunc(EngFunc_SetSize, ent,
  80. Float:{-10.0,-10.0,0.0},
  81. Float:{10.0,10.0,25.0})
  82.  
  83. set_pev(ent, pev_solid, SOLID_BBOX)
  84. set_pev(ent, pev_movetype, MOVETYPE_TOSS)
  85.  
  86. set_pev(ent, pev_origin, fOrigin)
  87.  
  88.  
  89. set_pev(ent, pev_animtime, get_gametime())
  90. set_pev(ent, pev_framerate, 1.0)
  91. set_pev(ent, pev_sequence, 0)
  92. }
  93.  
  94. public Touch(toucher, touched)
  95. {
  96. if(!is_user_alive(toucher))
  97. return FMRES_IGNORED
  98.  
  99. if(!pev_valid(touched))
  100. return FMRES_IGNORED
  101.  
  102. new classname[32]
  103. pev(touched, pev_classname, classname, charsmax(classname))
  104.  
  105. if(!equal(classname, ClassName))
  106. return FMRES_IGNORED
  107.  
  108. GiveBonus(toucher)
  109.  
  110. set_pev(touched, pev_effects, EF_NODRAW)
  111. set_pev(touched, pev_solid, SOLID_NOT)
  112.  
  113. engfunc(EngFunc_RemoveEntity, touched)
  114.  
  115. return FMRES_IGNORED
  116. }
  117.  
  118. public GiveBonus(id)
  119. {
  120. switch(random_num(1,15))
  121. {
  122. case 1:
  123. {
  124. cs_set_user_money(id, cs_get_user_money(id) + 500)
  125. ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^4 500$")
  126. }
  127.  
  128. case 2:
  129. {
  130. give_item(id, "weapon_hegrenade")
  131. ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^3 HE Gránát")
  132. }
  133.  
  134. case 3:
  135. {
  136. set_user_health(id, get_user_health(id) + 10)
  137. ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^3 +10 HP")
  138. }
  139.  
  140. case 4:
  141. {
  142. set_user_frags(id, get_user_frags(id) + 5)
  143. ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^3 +5 Frag")
  144. }
  145.  
  146. case 5:
  147. {
  148. give_item(id, "weapon_deagle")
  149. ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^4 Deagle")
  150. }
  151.  
  152. case 6:
  153. {
  154. give_item(id, "weapon_m4a1")
  155. ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^4 M4A1")
  156. }
  157.  
  158. case 7:
  159. {
  160. set_user_maxspeed(id, 400.0)
  161. ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^3 Speed")
  162. }
  163.  
  164. case 8:
  165. {
  166. ColorChat(id, NORMAL, "^4[Bonus-Box]^1 Ebben a dobozban nem volt jutalom")
  167. }
  168.  
  169. case 9:
  170. {
  171. set_user_gravity(id, 0.5)
  172. ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^4 Gravity")
  173. }
  174.  
  175. case 10:
  176. {
  177. ColorChat(id, NORMAL, "^4[Bonus-Box]^1 Ebben a dobozban nem volt jutalom")
  178. }
  179.  
  180. case 11:
  181. {
  182. give_item(id, "weapon_awp")
  183. ColorChat(id, RED, "^4[Bonus-Box]^1Jutalmad:^4 AWP")
  184. }
  185.  
  186. case 12:
  187. {
  188. cs_set_user_money(id, cs_get_user_money(id) + 1000)
  189. ColorChat(id, RED, "^4[Bonus-Box]^1Jutalmad:^4 1000$")
  190. }
  191.  
  192. case 13:
  193. {
  194. ColorChat(id, NORMAL, "^4[Bonus-Box]^1 Ebben a dobozban nem volt jutalom")
  195. }
  196.  
  197. case 14:
  198. {
  199. give_item(id, "weapon_ak47")
  200. ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^4 AK47")
  201. }
  202.  
  203. case 15:
  204. {
  205. ColorChat(id, NORMAL, "^4[Bonus-Box]^1 Ebben a dobozban nem volt jutalom")
  206. }
  207. }
  208. }
  209.