HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. /*
  2.   Fordította: BBk - Death of Legend
  3. */
  4. #include <amxmodx>
  5. #include <amxmisc>
  6. #include <fun>
  7. #include <fakemeta>
  8.  
  9. #define PLUGIN "Half Life Give Items And Weapons"
  10. #define VERSION "2.0"
  11. #define AUTHOR "tuty"
  12.  
  13. #define ACCESS_LEVEL ADMIN_LEVEL_A
  14.  
  15. #define RPG_BPAMMO_OFFSET 315
  16. #define TRIPMINE_BPAMMO_OFFSET 317
  17. #define SATCHEL_BPAMMO_OFFSET 318
  18. #define HORNET_BPAMMO_OFFSET 321
  19. #define GRENADE_BPAMMO_OFFSET 319
  20. #define SNARK_BPAMMO_OFFSET 320
  21. #define PYTHON_BPAMMO_OFFSET 313
  22. #define CROSSBOW_BPAMMO_OFFSET 316
  23. #define GAUSS_EGON_BPAMMO_OFFSET 314
  24. #define SHOTGUN_BPAMMO_OFFSET 310
  25. #define GLOCK_MP5_9MM_BPAMMO_OFFSET 311
  26. #define CHAINGUN_BPAMMO_OFFSET 312
  27.  
  28. public plugin_init()
  29. {
  30. register_plugin( PLUGIN, VERSION, AUTHOR );
  31. register_concmd( "hl_weapon", "cmdGiveWeapon", ACCESS_LEVEL, "<nev> <fegyver / @ALL> - jatekosnak fegyver adas | @ALL = minden fegyver" );
  32. register_concmd( "hl_item", "cmdGiveItem", ACCESS_LEVEL, "<nev> <eszkoz / @ALL> - jatekosnak eszkoz adas | @ALL = minden eszkoz" );
  33. }
  34.  
  35.  
  36. public cmdGiveWeapon( id, level, cid )
  37. {
  38. if( !cmd_access( id, level, cid, 3 ) )
  39. {
  40. return PLUGIN_HANDLED;
  41. }
  42.  
  43. new arg[ 32 ], wpnarg[ 20 ];
  44. read_argv( 1, arg, charsmax( arg ) );
  45.  
  46. new target = cmd_target( id, arg, charsmax( arg ) );
  47.  
  48. if( !target )
  49. {
  50. return PLUGIN_HANDLED;
  51. }
  52.  
  53. read_argv( 2, wpnarg, charsmax( wpnarg ) );
  54.  
  55. if( equal( wpnarg, "crowbar" ) )
  56. {
  57. give_item( target, "weapon_crowbar" );
  58. }
  59.  
  60. else if( equal( wpnarg, "hivehand" ) )
  61. {
  62. give_item( target, "weapon_hornetgun" );
  63. set_user_bpammo( target, HLW_HORNETGUN, 8 );
  64. }
  65.  
  66. else if( equal( wpnarg, "python" ) )
  67. {
  68. give_item( target, "weapon_python" );
  69. set_user_bpammo( target, HLW_PYTHON, 36 );
  70. }
  71.  
  72. else if( equal( wpnarg, "357" ) )
  73. {
  74. give_item( target, "weapon_357" );
  75. set_user_bpammo( target, HLW_PYTHON, 36 );
  76. }
  77.  
  78. else if( equal( wpnarg, "crossbow" ) )
  79. {
  80. give_item( target, "weapon_crossbow" );
  81. set_user_bpammo( target, HLW_CROSSBOW, 50 );
  82. }
  83.  
  84. else if( equal( wpnarg, "squeak" ) )
  85. {
  86. give_item( target, "weapon_snark");
  87. set_user_bpammo( id, HLW_SNARK, 15 );
  88. }
  89.  
  90. else if( equal( wpnarg, "tripmine" ) )
  91. {
  92. give_item( target, "weapon_tripmine" );
  93. set_user_bpammo( target, HLW_TRIPMINE, 5 );
  94. }
  95.  
  96. else if( equal( wpnarg, "satchel" ) )
  97. {
  98. give_item( target, "weapon_satchel" );
  99. set_user_bpammo( target, HLW_SATCHEL, 5 );
  100. }
  101.  
  102. else if( equal( wpnarg, "handgrenade" ) )
  103. {
  104. give_item( target, "weapon_handgrenade" );
  105. set_user_bpammo( target, HLW_HANDGRENADE, 10 );
  106. }
  107.  
  108. else if( equal( wpnarg, "9mmhandgun" ) )
  109. {
  110. give_item( target, "weapon_9mmhandgun" );
  111. set_user_bpammo( target, HLW_GLOCK, 250 );
  112. }
  113.  
  114. else if( equal( wpnarg, "glock" ) )
  115. {
  116. give_item( target, "weapon_glock" );
  117. set_user_bpammo( target, HLW_GLOCK, 250 );
  118. }
  119.  
  120. else if( equal( wpnarg, "9mmAR" ) )
  121. {
  122. give_item( target, "weapon_9mmAR" );
  123. set_user_bpammo( target, HLW_MP5, 250 );
  124. give_item( target, "ammo_ARgrenades" );
  125. give_item( target, "ammo_ARgrenades" );
  126. give_item( target, "ammo_ARgrenades" );
  127. give_item( target, "ammo_ARgrenades" );
  128. give_item( target, "ammo_ARgrenades" );
  129. }
  130.  
  131. else if( equal( wpnarg, "gauss" ) )
  132. {
  133. give_item( target, "weapon_gauss" );
  134. set_user_bpammo( target, HLW_GAUSS, 100 );
  135. }
  136.  
  137. else if( equal( wpnarg, "mp5gun" ) )
  138. {
  139. give_item( target, "weapon_mp5" );
  140. set_user_bpammo( target, HLW_MP5, 250 );
  141. give_item( target, "ammo_mp5grenades" );
  142. give_item( target, "ammo_mp5grenades" );
  143. give_item( target, "ammo_mp5grenades" );
  144. give_item( target, "ammo_mp5grenades" );
  145. give_item( target, "ammo_mp5grenades" );
  146. }
  147.  
  148. else if( equal( wpnarg, "egon" ) )
  149. {
  150. give_item( target, "weapon_egon" );
  151. set_user_bpammo( target, HLW_EGON, 100 );
  152. }
  153.  
  154. else if( equal( wpnarg, "rpgrocket" ) )
  155. {
  156. give_item( target, "weapon_rpg" );
  157. set_user_bpammo( target, HLW_RPG, 5 );
  158. }
  159.  
  160. else if( equal( wpnarg, "shotgun" ) )
  161. {
  162. give_item( target, "weapon_shotgun" );
  163. set_user_bpammo( target, HLW_SHOTGUN, 125 );
  164. }
  165.  
  166. else if( equal( wpnarg, "@ALL" ) )
  167. {
  168. give_item( target, "weapon_crowbar" );
  169. give_item( target, "weapon_hornetgun" );
  170. set_user_bpammo( target, HLW_HORNETGUN, 8 );
  171. give_item( target, "weapon_python" );
  172. set_user_bpammo( target, HLW_PYTHON, 36 );
  173. give_item( target, "weapon_357" );
  174. set_user_bpammo( target, HLW_PYTHON, 36 );
  175. give_item( target, "weapon_crossbow" );
  176. set_user_bpammo( target, HLW_CROSSBOW, 50 );
  177. give_item( target, "weapon_snark");
  178. set_user_bpammo( id, HLW_SNARK, 15 );
  179. give_item( target, "weapon_tripmine" );
  180. set_user_bpammo( target, HLW_TRIPMINE, 5 );
  181. give_item( target, "weapon_satchel" );
  182. set_user_bpammo( target, HLW_SATCHEL, 5 );
  183. give_item( target, "weapon_handgrenade" );
  184. set_user_bpammo( target, HLW_HANDGRENADE, 10 );
  185. give_item( target, "weapon_9mmhandgun" );
  186. set_user_bpammo( target, HLW_GLOCK, 250 );
  187. give_item( target, "weapon_glock" );
  188. set_user_bpammo( target, HLW_GLOCK, 250 );
  189. give_item( target, "weapon_9mmAR" );
  190. set_user_bpammo( target, HLW_MP5, 250 );
  191. give_item( target, "ammo_ARgrenades" );
  192. give_item( target, "ammo_ARgrenades" );
  193. give_item( target, "ammo_ARgrenades" );
  194. give_item( target, "ammo_ARgrenades" );
  195. give_item( target, "ammo_ARgrenades" );
  196. give_item( target, "weapon_gauss" );
  197. set_user_bpammo( target, HLW_GAUSS, 100 );
  198. give_item( target, "weapon_mp5" );
  199. set_user_bpammo( target, HLW_MP5, 250 );
  200. give_item( target, "ammo_mp5grenades" );
  201. give_item( target, "ammo_mp5grenades" );
  202. give_item( target, "ammo_mp5grenades" );
  203. give_item( target, "ammo_mp5grenades" );
  204. give_item( target, "ammo_mp5grenades" );
  205. give_item( target, "weapon_egon" );
  206. set_user_bpammo( target, HLW_EGON, 100 );
  207. give_item( target, "weapon_rpg" );
  208. set_user_bpammo( target, HLW_RPG, 5 );
  209. give_item( target, "weapon_shotgun" );
  210. set_user_bpammo( target, HLW_SHOTGUN, 125 );
  211. }
  212.  
  213. else
  214. {
  215. console_print( id, "[HL] Ismeretlen fegyvernev!" );
  216. return PLUGIN_HANDLED;
  217. }
  218.  
  219. return PLUGIN_HANDLED;
  220. }
  221.  
  222.  
  223. public cmdGiveItem( id, level, cid )
  224. {
  225. if( !cmd_access( id, level, cid, 3 ) )
  226. {
  227. return PLUGIN_HANDLED;
  228. }
  229.  
  230. new arg[ 32 ], itemarg[ 20 ];
  231. read_argv( 1, arg, charsmax( arg ) );
  232.  
  233. new target = cmd_target( id, arg, charsmax( arg ) );
  234.  
  235. if( !target )
  236. {
  237. return PLUGIN_HANDLED;
  238. }
  239.  
  240. read_argv( 2, itemarg, charsmax( itemarg ) );
  241.  
  242. if( equal( itemarg, "battery" ) )
  243. {
  244. give_item( target, "item_battery" );
  245. }
  246.  
  247. else if( equal( itemarg, "healthkit" ) )
  248. {
  249. give_item( target, "item_healthkit" );
  250. }
  251.  
  252. else if( equal( itemarg, "longjump" ) )
  253. {
  254. give_item( target, "item_longjump" );
  255. }
  256.  
  257. else if( equal( itemarg, "security" ) )
  258. {
  259. give_item( target, "item_security" );
  260. }
  261.  
  262. else if( equal( itemarg, "antidote" ) )
  263. {
  264. give_item( target, "item_antidote" );
  265. }
  266.  
  267. else if( equal( itemarg, "@ALL" ) )
  268. {
  269. give_item( target, "item_battery" );
  270. give_item( target, "item_healthkit" );
  271. give_item( target, "item_longjump" );
  272. give_item( target, "item_security" );
  273. give_item( target, "item_antidote" );
  274. }
  275.  
  276. else
  277. {
  278. console_print( id, "[HL] Invalid item name!" );
  279. return PLUGIN_HANDLED;
  280. }
  281.  
  282. return PLUGIN_HANDLED;
  283. }
  284.  
  285.  
  286. stock set_user_bpammo( index, weapon, amount )
  287. {
  288. new offset;
  289. switch( weapon )
  290. {
  291. case HLW_GLOCK, HLW_MP5: offset = GLOCK_MP5_9MM_BPAMMO_OFFSET;
  292. case HLW_PYTHON: offset = PYTHON_BPAMMO_OFFSET;
  293. case HLW_CHAINGUN: offset = CHAINGUN_BPAMMO_OFFSET;
  294. case HLW_CROSSBOW: offset = CROSSBOW_BPAMMO_OFFSET;
  295. case HLW_SHOTGUN: offset = SHOTGUN_BPAMMO_OFFSET;
  296. case HLW_RPG: offset = RPG_BPAMMO_OFFSET;
  297. case HLW_GAUSS, HLW_EGON: offset = GAUSS_EGON_BPAMMO_OFFSET;
  298. case HLW_HORNETGUN: offset = HORNET_BPAMMO_OFFSET;
  299. case HLW_HANDGRENADE: offset = GRENADE_BPAMMO_OFFSET;
  300. case HLW_TRIPMINE: offset = TRIPMINE_BPAMMO_OFFSET;
  301. case HLW_SATCHEL: offset = SATCHEL_BPAMMO_OFFSET;
  302. case HLW_SNARK: offset = SNARK_BPAMMO_OFFSET;
  303. }
  304.  
  305. set_pdata_int( index, offset, amount );
  306. }
  307.