Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.11 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <engine>
  5. #include <fakemeta>
  6. #include <hamsandwich>
  7. #include <xs>
  8. #include <fun>
  9. #include <nvault>
  10.  
  11. #define PLUGIN "CSO Awakens || Buy Menu"
  12. #define VERSION "1.0"
  13. #define AUTHOR "LegendofWarior"
  14.  
  15. new g_save, g_save3
  16.  
  17. new prim[33], sec[33]
  18. native cso_get_user_levels(id)
  19. native cso_get_user_zombie(id)
  20. native cso_open_knife_menu(id)
  21. native cso_get_user_type_hero(id)
  22. native cso_get_user_type_heroine(id)
  23. native cso_is_round_started()
  24.  
  25. native give_weapon_luger(id)
  26. native give_weapon_infi(id)
  27. native give_weapon_anaconda(id)
  28.  
  29. native give_weapon_dbarrel(id)
  30. native give_weapon_m1887(id)
  31. native give_weapon_usas(id)
  32. native give_weapon_ksg12(id)
  33. native give_weapon_spas12(id)
  34.  
  35. native give_weapon_tmpdragon(id)
  36. native give_weapon_p90lapin(id)
  37. native give_weapon_mp5tiger(id)
  38. native give_weapon_mp7a160r(id)
  39. native give_weapon_k1ase(id)
  40. native give_weapon_thompson(id)
  41.  
  42. native give_weapon_akdragon(id)
  43. native give_weapon_m4a1dragon(id)
  44. native give_weapon_m14ebr(id)
  45. native give_weapon_scar(id)
  46. native give_weapon_tar21(id)
  47. native give_weapon_guitar(id)
  48. native give_weapon_xm8(id)
  49.  
  50. native give_weapon_m24(id)
  51. native give_weapon_awpcamo(id)
  52. native give_weapon_m200(id)
  53. native give_weapon_xm2010(id)
  54. native give_weapon_vsk94(id)
  55.  
  56. native give_weapon_hk23(id)
  57. native give_weapon_mg3(id)
  58. native give_weapon_m60e4(id)
  59. native give_weapon_pkm(id)
  60.  
  61. const OFFSET_CSMENUCODE = 205
  62. const OFFSET_LINUX = 5;
  63.  
  64. const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0;
  65.  
  66. new g_secondary[33], g_primary[33]
  67.  
  68. public plugin_init() {
  69. register_plugin(PLUGIN, VERSION, AUTHOR)
  70. register_clcmd("say /buy", "buy_clcmd")
  71. RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1);
  72. register_menu("Buy Menu", KEYSMENU, "buy_game");// Add your code here...
  73.  
  74. g_save = nvault_open("AUTOBUY1_SAVE")
  75. g_save3 = nvault_open("AUTOBUY2_SAVE")
  76.  
  77. register_clcmd( "buy" , "buy_clcmd" );
  78. register_clcmd( "client_buy_open" , "clcmd_client_buy_open" );
  79. register_clcmd( "autobuy" , "auto_buy" );
  80. register_clcmd( "cl_autobuy" , "auto_buy" );
  81. register_clcmd( "cl_setautobuy", "auto_buy" )
  82. register_clcmd( "rebuy" , "auto_buy" );
  83. register_clcmd( "cl_rebuy" , "auto_buy" );
  84. register_clcmd( "cl_setrebuy", "auto_buy" )
  85. register_clcmd( "buyequip" , "return_buy" );
  86. register_clcmd( "buyammo1" , "return_buy" );
  87. register_clcmd( "buyammo2" , "return_buy" );
  88. }
  89. public fw_PlayerSpawn_Post(id)
  90. {
  91. g_primary[id] = false
  92. g_secondary[id] = false
  93. }
  94. public plugin_natives()
  95. {
  96. register_native("cso_open_buy_menu", "native_open_buy_menu", 1)
  97. }
  98. public native_open_buy_menu(id)
  99. {
  100. buy_clcmd(id)
  101. }
  102. public client_connect(id)
  103. {
  104. prim[id] = 0
  105. sec[id] = 0
  106. Load_Data(id)
  107. }
  108. public client_disconnect(id)
  109. {
  110. Save_Data(id)
  111. prim[id] = 0
  112. sec[id] = 0
  113. }
  114. public give_dangerous(id, item)
  115. {
  116. switch(item)
  117. {
  118. case 1 :
  119. {
  120. give_item(id, "weapon_xm1014")
  121. cs_set_user_bpammo(id, CSW_XM1014, 200)
  122. }
  123. case 2 :
  124. {
  125. give_item(id, "weapon_m3")
  126. cs_set_user_bpammo(id, CSW_M3, 200)
  127. }
  128. case 3 :
  129. {
  130. give_item(id, "weapon_tmp")
  131. cs_set_user_bpammo(id, CSW_TMP, 90)
  132. }
  133. case 4 :
  134. {
  135. give_item(id, "weapon_ump45")
  136. cs_set_user_bpammo(id, CSW_UMP45, 90)
  137. }
  138. case 5 :
  139. {
  140. give_item(id, "weapon_ak47")
  141. cs_set_user_bpammo(id, CSW_AK47, 90)
  142. }
  143. case 6 :
  144. {
  145. give_item(id, "weapon_m4a1")
  146. cs_set_user_bpammo(id, CSW_M4A1, 90)
  147. }
  148. case 7 :
  149. {
  150. give_item(id, "weapon_scout")
  151. cs_set_user_bpammo(id, CSW_SCOUT, 90)
  152. }
  153. case 8 :
  154. {
  155. give_item(id, "weapon_awp")
  156. cs_set_user_bpammo(id, CSW_AWP, 90)
  157. }
  158. case 9 :
  159. {
  160. give_item(id, "weapon_m249")
  161. cs_set_user_bpammo(id, CSW_M249, 200)
  162. }
  163. case 10 :
  164. {
  165. give_item(id, "weapon_usp")
  166. cs_set_user_bpammo(id, CSW_USP, 90)
  167. }
  168. case 11 :
  169. {
  170. give_item(id, "weapon_deagle")
  171. cs_set_user_bpammo(id, CSW_DEAGLE, 90)
  172. }
  173. }
  174. }
  175. public auto_buy(id)
  176. {
  177. if(!g_primary[id] && !cso_is_round_started())
  178. {
  179. if(prim[id] == 0)
  180. give_dangerous(id, 1)
  181. else if(prim[id] == 1)
  182. give_dangerous(id, 2)
  183. else if(prim[id] == 2)
  184. give_weapon_dbarrel(id)
  185. else if(prim[id] == 3)
  186. give_weapon_m1887(id)
  187. else if(prim[id] == 4)
  188. give_weapon_usas(id)
  189. else if(prim[id] == 5)
  190. give_weapon_ksg12(id)
  191. else if(prim[id] == 6)
  192. give_weapon_spas12(id)
  193. else if(prim[id] == 7)
  194. give_dangerous(id, 3)
  195. else if(prim[id] == 8)
  196. give_dangerous(id, 4)
  197. else if(prim[id] == 9)
  198. give_weapon_tmpdragon(id)
  199. else if(prim[id] == 10)
  200. give_weapon_p90lapin(id)
  201. else if(prim[id] == 11)
  202. give_weapon_mp5tiger(id)
  203. else if(prim[id] == 12)
  204. give_weapon_mp7a160r(id)
  205. else if(prim[id] == 13)
  206. give_weapon_k1ase(id)
  207. else if(prim[id] == 14)
  208. give_weapon_thompson(id)
  209. else if(prim[id] == 15)
  210. give_dangerous(id, 5)
  211. else if(prim[id] == 16)
  212. give_dangerous(id, 6)
  213. else if(prim[id] == 17)
  214. give_weapon_akdragon(id)
  215. else if(prim[id] == 18)
  216. give_weapon_m4a1dragon(id)
  217. else if(prim[id] == 19)
  218. give_weapon_m14ebr(id)
  219. else if(prim[id] == 20)
  220. give_weapon_scar(id)
  221. else if(prim[id] == 21)
  222. give_weapon_tar21(id)
  223. else if(prim[id] == 22)
  224. give_weapon_guitar(id)
  225. else if(prim[id] == 23)
  226. give_weapon_xm8(id)
  227. else if(prim[id] == 24)
  228. give_dangerous(id, 7)
  229. else if(prim[id] == 25)
  230. give_dangerous(id, 8)
  231. else if(prim[id] == 26)
  232. give_weapon_m24(id)
  233. else if(prim[id] == 27)
  234. give_weapon_awpcamo(id)
  235. else if(prim[id] == 28)
  236. give_weapon_m200(id)
  237. else if(prim[id] == 29)
  238. give_weapon_xm2010(id)
  239. else if(prim[id] == 30)
  240. give_weapon_vsk94(id)
  241. else if(prim[id] == 31)
  242. give_dangerous(id, 9)
  243. else if(prim[id] == 32)
  244. give_weapon_hk23(id)
  245. else if(prim[id] == 33)
  246. give_weapon_mg3(id)
  247. else if(prim[id] == 34)
  248. give_weapon_m60e4(id)
  249. else if(prim[id] == 35)
  250. give_weapon_pkm(id)
  251. g_primary[id] = true
  252. }
  253. if(!g_secondary[id] && !cso_is_round_started())
  254. {
  255. if(sec[id] == 0)
  256. give_dangerous(id, 10)
  257. else if(sec[id] == 1)
  258. give_dangerous(id, 11)
  259. else if(sec[id] == 2)
  260. give_weapon_luger(id)
  261. else if(sec[id] == 3)
  262. give_weapon_infi(id)
  263. else if(sec[id] == 4)
  264. give_weapon_anaconda(id)
  265. else if(sec[id] == 5)
  266. give_dangerous(id, 11)
  267. g_secondary[id] = true
  268. }
  269. return PLUGIN_HANDLED;
  270. }
  271. public return_buy(id)
  272. {
  273. return PLUGIN_HANDLED
  274. }
  275. public buy_clcmd(id)
  276. {
  277. if(!cso_is_round_started() || !cso_get_user_zombie(id))
  278. show_buy_menu(id)
  279.  
  280. return PLUGIN_HANDLED;
  281. }
  282. public clcmd_client_buy_open( id )
  283. {
  284. static msg_buyclose; if ( !msg_buyclose ) msg_buyclose = get_user_msgid( "BuyClose" );
  285. message_begin( MSG_ONE, msg_buyclose, _, id ), message_end();
  286. buy_clcmd(id)
  287. return PLUGIN_HANDLED;
  288. }
  289. public show_buy_menu(id) {
  290.  
  291. static menu[512], len
  292. len = 0
  293.  
  294. // Title
  295. len += formatex(menu[len], charsmax(menu) - len, "\yCSO Awakens \r|| \yBuy Menu^n^n")
  296. // Items
  297. if(g_secondary[id])
  298. len += formatex(menu[len], charsmax(menu) - len, "\r1.\d Pistols^n")
  299. else
  300. len += formatex(menu[len], charsmax(menu) - len, "\r1.\w Pistols^n")
  301.  
  302. if(g_primary[id]){
  303. len += formatex(menu[len], charsmax(menu) - len, "\r2.\d ShotGuns^n")
  304. len += formatex(menu[len], charsmax(menu) - len, "\r3.\d Automates^n")
  305. len += formatex(menu[len], charsmax(menu) - len, "\r4.\d Assault Rifles^n")
  306. len += formatex(menu[len], charsmax(menu) - len, "\r5.\d Sniper Rifles^n")
  307. len += formatex(menu[len], charsmax(menu) - len, "\r6.\d Machine Guns^n^n")
  308. }
  309. else
  310. {
  311. len += formatex(menu[len], charsmax(menu) - len, "\r2.\w ShotGuns^n")
  312. len += formatex(menu[len], charsmax(menu) - len, "\r3.\w Automates^n")
  313. len += formatex(menu[len], charsmax(menu) - len, "\r4.\w Assault Rifles^n")
  314. len += formatex(menu[len], charsmax(menu) - len, "\r5.\w Sniper Rifles^n")
  315. len += formatex(menu[len], charsmax(menu) - len, "\r6.\w Machine Guns^n^n")
  316. }
  317. len += formatex(menu[len], charsmax(menu) - len, "\r7.\w Choose a Knife")
  318. len += formatex(menu[len], charsmax(menu) - len, "^n^n\r0.\y Exit")
  319.  
  320. set_pdata_int(id, OFFSET_CSMENUCODE, 0, OFFSET_LINUX)
  321. show_menu(id, KEYSMENU, menu, -1, "Buy Menu")
  322. }
  323. public buy_game(id, key) {
  324. if(cso_is_round_started())
  325. return PLUGIN_HANDLED;
  326.  
  327. switch (key)
  328. {
  329. case 0:
  330. {
  331. if(g_secondary[id])
  332. return PLUGIN_HANDLED;
  333.  
  334. pis_h(id)
  335. }
  336. case 1:
  337. {
  338. if(g_primary[id])
  339. return PLUGIN_HANDLED;
  340.  
  341. sh_h(id)
  342. }
  343. case 2:
  344. {
  345. if(g_primary[id])
  346. return PLUGIN_HANDLED;
  347.  
  348. at_h(id)
  349. }
  350. case 3:
  351. {
  352. if(g_primary[id])
  353. return PLUGIN_HANDLED;
  354.  
  355. ar_h(id)
  356. }
  357. case 4:
  358. {
  359. if(g_primary[id])
  360. return PLUGIN_HANDLED;
  361.  
  362. sr_h(id)
  363. }
  364. case 5:
  365. {
  366. if(g_primary[id])
  367. return PLUGIN_HANDLED;
  368. mg_h(id)
  369. }
  370. case 6:
  371. {
  372. cso_open_knife_menu(id)
  373. }
  374.  
  375. }
  376. return PLUGIN_HANDLED;
  377. }
  378. /* Pistols */
  379. public pis_h(id)
  380. {
  381. static menu, string[128]
  382.  
  383. new level = cso_get_user_levels(id)
  384.  
  385. formatex(string, sizeof(string), "\yPistols")
  386. menu = menu_create(string, "pis_handle")
  387.  
  388. formatex(string, sizeof(string), "\wUSP \d- \yLevel 0")
  389. menu_additem(menu, string, "1", 0)
  390.  
  391. if(level <= 7)
  392. formatex(string, sizeof(string), "\dDeagle - \yLevel 8")
  393. else
  394. formatex(string, sizeof(string), "\wDeagle \d- \yLevel 8")
  395. menu_additem(menu, string, "2", 0)
  396.  
  397. if(level <= 13)
  398. formatex(string, sizeof(string), "\dLuger - \yLevel 14")
  399. else
  400. formatex(string, sizeof(string), "\wLuger \d- \yLevel 14")
  401. menu_additem(menu, string, "3", 0)
  402.  
  403. if(level <= 19)
  404. formatex(string, sizeof(string), "\dDual Infinity - \yLevel 20")
  405. else
  406. formatex(string, sizeof(string), "\wDual Infinity \d- \yLevel 20")
  407. menu_additem(menu, string, "4", 0)
  408.  
  409. if(level <= 29)
  410. formatex(string, sizeof(string), "\dAnaconda - \yLevel 30")
  411. else
  412. formatex(string, sizeof(string), "\wAnaconda \d- \yLevel 30")
  413. menu_additem(menu, string, "5", 0)
  414.  
  415. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
  416. menu_display(id, menu, 0)
  417. }
  418. public pis_handle(id, menu, item)
  419. {
  420. if(!is_user_connected(id))
  421. return
  422.  
  423. if(cso_get_user_zombie(id))
  424. return
  425.  
  426. if(cso_get_user_type_hero(id) || cso_get_user_type_heroine(id))
  427. return
  428.  
  429. if(g_secondary[id])
  430. return
  431.  
  432. if(item == MENU_EXIT)
  433. {
  434. menu_destroy(menu)
  435. return
  436. }
  437.  
  438. new data[6], szName[64];
  439. new access, callback;
  440. new level = cso_get_user_levels(id)
  441. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
  442. new key = str_to_num(data);
  443.  
  444. switch(key)
  445. {
  446. case 1:
  447. {
  448. give_item(id, "weapon_usp")
  449. cs_set_user_bpammo(id, CSW_USP, 90)
  450. g_secondary[id] = true
  451. sec[id] = 0
  452. }
  453. case 2:
  454. {
  455. if(level <= 7)
  456. return
  457.  
  458. give_item(id, "weapon_deagle")
  459. cs_set_user_bpammo(id, CSW_DEAGLE, 90)
  460. g_secondary[id] = true
  461. sec[id] = 1
  462. }
  463. case 3:
  464. {
  465. if(level <= 13)
  466. return
  467.  
  468. give_weapon_luger(id)
  469. g_secondary[id] = true
  470. sec[id] = 2
  471. }
  472. case 4:
  473. {
  474. if(level <= 19)
  475. return
  476.  
  477. give_weapon_infi(id)
  478. g_secondary[id] = true
  479. sec[id] = 3
  480. }
  481. case 5:
  482. {
  483. if(level <= 29)
  484. return
  485.  
  486. give_weapon_anaconda(id)
  487. g_secondary[id] = true
  488. sec[id] = 4
  489. }
  490. }
  491. return
  492. }
  493. /* Shot Guns */
  494. public sh_h(id)
  495. {
  496. static menu, string[128]
  497.  
  498. new level = cso_get_user_levels(id)
  499.  
  500. formatex(string, sizeof(string), "\yShotguns")
  501. menu = menu_create(string, "sh_handle")
  502.  
  503. formatex(string, sizeof(string), "\wXM1014 \d- \yLevel 0")
  504. menu_additem(menu, string, "1", 0)
  505.  
  506. if(level <= 1)
  507. formatex(string, sizeof(string), "\dM3 Shotgun - \yLevel 2")
  508. else
  509. formatex(string, sizeof(string), "\wM3 Shotgun \d- \yLevel 2")
  510. menu_additem(menu, string, "2", 0)
  511.  
  512. if(level <= 3)
  513. formatex(string, sizeof(string), "\dDual Barrels - \yLevel 4")
  514. else
  515. formatex(string, sizeof(string), "\wDual Barrels \d- \yLevel 4")
  516. menu_additem(menu, string, "3", 0)
  517.  
  518. if(level <= 24)
  519. formatex(string, sizeof(string), "\dWinchester M1887 - \yLevel 25")
  520. else
  521. formatex(string, sizeof(string), "\wWinchester M1887 \d- \yLevel 25")
  522. menu_additem(menu, string, "4", 0)
  523.  
  524. if(level <= 29)
  525. formatex(string, sizeof(string), "\dUSAS 12 - \yLevel 30")
  526. else
  527. formatex(string, sizeof(string), "\wUSAS 12 \d- \yLevel 30")
  528. menu_additem(menu, string, "5", 0)
  529.  
  530. if(level <= 39)
  531. formatex(string, sizeof(string), "\dKSG 12 - \yLevel 40")
  532. else
  533. formatex(string, sizeof(string), "\wKSG 12 \d- \yLevel 40")
  534. menu_additem(menu, string, "6", 0)
  535.  
  536. if(level <= 79)
  537. formatex(string, sizeof(string), "\dSPAS 12 - \yLevel 80")
  538. else
  539. formatex(string, sizeof(string), "\wSPAS 12 \d- \yLevel 80")
  540. menu_additem(menu, string, "7", 0)
  541.  
  542. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
  543. menu_display(id, menu, 0)
  544. }
  545. public sh_handle(id, menu, item)
  546. {
  547. if(cso_get_user_type_hero(id) || cso_get_user_type_heroine(id))
  548. return
  549.  
  550. if(cso_get_user_zombie(id))
  551. return
  552.  
  553. if(g_primary[id])
  554. return
  555.  
  556. if(item == MENU_EXIT)
  557. {
  558. menu_destroy(menu)
  559. return
  560. }
  561.  
  562. new data[6], szName[64];
  563. new access, callback;
  564. new level = cso_get_user_levels(id)
  565. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
  566. new key = str_to_num(data);
  567.  
  568. switch(key)
  569. {
  570. case 1:
  571. {
  572. give_item(id, "weapon_xm1014")
  573. cs_set_user_bpammo(id, CSW_XM1014, 200)
  574. g_primary[id] = true
  575. prim[id] = 0
  576. }
  577. case 2:
  578. {
  579. if(level <= 1)
  580. return
  581.  
  582. give_item(id, "weapon_m3")
  583. cs_set_user_bpammo(id, CSW_M3, 200)
  584. g_primary[id] = true
  585. prim[id] = 1
  586. }
  587. case 3:
  588. {
  589. if(level <= 3)
  590. return
  591.  
  592. give_weapon_dbarrel(id)
  593. g_primary[id] = true
  594. prim[id] = 2
  595. }
  596. case 4:
  597. {
  598. if(level <= 24)
  599. return
  600.  
  601. give_weapon_m1887(id)
  602. g_primary[id] = true
  603. prim[id] = 3
  604. }
  605. case 5:
  606. {
  607. if(level <= 29)
  608. return
  609.  
  610. give_weapon_usas(id)
  611. g_primary[id] = true
  612. prim[id] = 4
  613. }
  614. case 6:
  615. {
  616. if(level <= 39)
  617. return
  618.  
  619. give_weapon_ksg12(id)
  620. g_primary[id] = true
  621. prim[id] = 5
  622. }
  623. case 7:
  624. {
  625. if(level <= 79)
  626. return
  627.  
  628. give_weapon_spas12(id)
  629. g_primary[id] = true
  630. prim[id] = 6
  631. }
  632. }
  633. return
  634. }
  635. // Automates
  636. public at_h(id)
  637. {
  638. static menu, string[128]
  639.  
  640. new level = cso_get_user_levels(id)
  641.  
  642. formatex(string, sizeof(string), "\yAutomates")
  643. menu = menu_create(string, "at_handle")
  644.  
  645. if(level <= 2)
  646. formatex(string, sizeof(string), "\dTMP - \yLevel 3")
  647. else
  648. formatex(string, sizeof(string), "\wTMP \d- \yLevel 3")
  649. menu_additem(menu, string, "1", 0)
  650.  
  651. if(level <= 4)
  652. formatex(string, sizeof(string), "\dUMP 45 - \yLevel 5")
  653. else
  654. formatex(string, sizeof(string), "\wUMP 45 \d- \yLevel 5")
  655. menu_additem(menu, string, "2", 0)
  656.  
  657. if(level <= 6)
  658. formatex(string, sizeof(string), "\dTMP Dragon - \yLevel 7")
  659. else
  660. formatex(string, sizeof(string), "\wTMP Dragon \d- \yLevel 7")
  661. menu_additem(menu, string, "3", 0)
  662.  
  663. if(level <= 9)
  664. formatex(string, sizeof(string), "\dP90 Lapin - \yLevel 10")
  665. else
  666. formatex(string, sizeof(string), "\wP90 Lapin \d- \yLevel 10")
  667. menu_additem(menu, string, "4", 0)
  668.  
  669.  
  670. if(level <= 12)
  671. formatex(string, sizeof(string), "\dMP5 Tiger - \yLevel 13")
  672. else
  673. formatex(string, sizeof(string), "\wMP5 Tiger \d- \yLevel 13")
  674. menu_additem(menu, string, "5", 0)
  675.  
  676. if(level <= 16)
  677. formatex(string, sizeof(string), "\dMP7A160R - \yLevel 17")
  678. else
  679. formatex(string, sizeof(string), "\wMP7A160R \d- \yLevel 17")
  680. menu_additem(menu, string, "6", 0)
  681.  
  682. if(level <= 22)
  683. formatex(string, sizeof(string), "\dK1ASE - \yLevel 23")
  684. else
  685. formatex(string, sizeof(string), "\wK1ASE \d- \yLevel 23")
  686. menu_additem(menu, string, "7", 0)
  687.  
  688. if(level <= 29)
  689. formatex(string, sizeof(string), "\dThompson - \yLevel 30")
  690. else
  691. formatex(string, sizeof(string), "\wThompson \d- \yLevel 30")
  692. menu_additem(menu, string, "8", 0)
  693.  
  694. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
  695. menu_display(id, menu, 0)
  696. }
  697. public at_handle(id, menu, item)
  698. {
  699. if(cso_get_user_type_hero(id) || cso_get_user_type_heroine(id))
  700. return
  701.  
  702. if(cso_get_user_zombie(id))
  703. return
  704.  
  705. if(g_primary[id])
  706. return
  707.  
  708. if(item == MENU_EXIT)
  709. {
  710. menu_destroy(menu)
  711. return
  712. }
  713.  
  714. new data[6], szName[64];
  715. new access, callback;
  716. new level = cso_get_user_levels(id)
  717. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
  718. new key = str_to_num(data);
  719.  
  720. switch(key)
  721. {
  722. case 1:
  723. {
  724. if(level <= 2)
  725. return
  726.  
  727. give_item(id, "weapon_tmp")
  728. cs_set_user_bpammo(id, CSW_TMP, 90)
  729. g_primary[id] = true
  730. prim[id] = 7
  731. }
  732. case 2:
  733. {
  734. if(level <= 4)
  735. return
  736.  
  737. give_item(id, "weapon_ump45")
  738. cs_set_user_bpammo(id, CSW_UMP45, 90)
  739. g_primary[id] = true
  740. prim[id] = 8
  741. }
  742. case 3:
  743. {
  744. if(level <= 6)
  745. return
  746.  
  747. give_weapon_tmpdragon(id)
  748. g_primary[id] = true
  749. prim[id] = 9
  750. }
  751. case 4:
  752. {
  753. if(level <= 9)
  754. return
  755.  
  756. give_weapon_p90lapin(id)
  757. g_primary[id] = true
  758. prim[id] = 10
  759. }
  760. case 5:
  761. {
  762. if(level <= 12)
  763. return
  764.  
  765. give_weapon_mp5tiger(id)
  766. g_primary[id] = true
  767. prim[id] = 11
  768. }
  769. case 6:
  770. {
  771. if(level <= 16)
  772. return
  773.  
  774. give_weapon_mp7a160r(id)
  775. g_primary[id] = true
  776. prim[id] = 12
  777. }
  778. case 7:
  779. {
  780. if(level <= 22)
  781. return
  782.  
  783. give_weapon_k1ase(id)
  784. g_primary[id] = true
  785. prim[id] = 13
  786. }
  787. case 8:
  788. {
  789. if(level <= 29)
  790. return
  791.  
  792. give_weapon_thompson(id)
  793. g_primary[id] = true
  794. prim[id] = 14
  795. }
  796. }
  797. return
  798. }
  799. // Ausault Rifles
  800. public ar_h(id)
  801. {
  802. static menu, string[128]
  803.  
  804. new level = cso_get_user_levels(id)
  805.  
  806. formatex(string, sizeof(string), "\yAssault Rifles")
  807. menu = menu_create(string, "ar_handle")
  808.  
  809. if(level <= 2)
  810. formatex(string, sizeof(string), "\dAK47 Kalashinkov - \yLevel 5")
  811. else
  812. formatex(string, sizeof(string), "\wAK47 Kalashinkov \d- \yLevel 5")
  813. menu_additem(menu, string, "1", 0)
  814.  
  815. if(level <= 8)
  816. formatex(string, sizeof(string), "\dM4A1 Carabine - \yLevel 9")
  817. else
  818. formatex(string, sizeof(string), "\wM4A1 Carabine \d- \yLevel 9")
  819. menu_additem(menu, string, "2", 0)
  820.  
  821. if(level <= 12)
  822. formatex(string, sizeof(string), "\dAK47 Red Dragon - \yLevel 13")
  823. else
  824. formatex(string, sizeof(string), "\wAK47 Red Dragon \d- \yLevel 13")
  825. menu_additem(menu, string, "3", 0)
  826.  
  827. if(level <= 14)
  828. formatex(string, sizeof(string), "\dM4A1 Ice Dragon - \yLevel 15")
  829. else
  830. formatex(string, sizeof(string), "\wM4A1 Ice Dragon \d- \yLevel 15")
  831. menu_additem(menu, string, "4", 0)
  832.  
  833.  
  834. if(level <= 19)
  835. formatex(string, sizeof(string), "\dBlack Tornado M14 EBR - \yLevel 20")
  836. else
  837. formatex(string, sizeof(string), "\wBlack Tornado M14 EBR \d- \yLevel 20")
  838. menu_additem(menu, string, "5", 0)
  839.  
  840. if(level <= 25)
  841. formatex(string, sizeof(string), "\dSCAR Limit - \yLevel 26")
  842. else
  843. formatex(string, sizeof(string), "\wSCAR Limit \d- \yLevel 26")
  844. menu_additem(menu, string, "6", 0)
  845.  
  846. if(level <= 28)
  847. formatex(string, sizeof(string), "\dTavor TAR-21 - \yLevel 29")
  848. else
  849. formatex(string, sizeof(string), "\wTavor TAR-21 \d- \yLevel 29")
  850. menu_additem(menu, string, "7", 0)
  851.  
  852. if(level <= 45)
  853. formatex(string, sizeof(string), "\dLightning AR-1 - \yLevel 46")
  854. else
  855. formatex(string, sizeof(string), "\wLightning AR-1 \d- \yLevel 46")
  856. menu_additem(menu, string, "8", 0)
  857.  
  858. if(level <= 59)
  859. formatex(string, sizeof(string), "\dXM8 Limit - \yLevel 60")
  860. else
  861. formatex(string, sizeof(string), "\wXM8 Limit \d- \yLevel 60")
  862. menu_additem(menu, string, "9", 0)
  863.  
  864. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
  865. menu_display(id, menu, 0)
  866. }
  867. public ar_handle(id, menu, item)
  868. {
  869. if(cso_get_user_type_hero(id) || cso_get_user_type_heroine(id))
  870. return
  871.  
  872. if(cso_get_user_zombie(id))
  873. return
  874.  
  875. if(g_primary[id])
  876. return
  877.  
  878. if(item == MENU_EXIT)
  879. {
  880. menu_destroy(menu)
  881. return
  882. }
  883.  
  884. new data[6], szName[64];
  885. new access, callback;
  886. new level = cso_get_user_levels(id)
  887. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
  888. new key = str_to_num(data);
  889.  
  890. switch(key)
  891. {
  892. case 1:
  893. {
  894. if(level <= 4)
  895. return
  896.  
  897. give_item(id, "weapon_ak47")
  898. cs_set_user_bpammo(id, CSW_AK47, 90)
  899. g_primary[id] = true
  900. prim[id] = 15
  901. }
  902. case 2:
  903. {
  904. if(level <= 8)
  905. return
  906.  
  907. give_item(id, "weapon_m4a1")
  908. cs_set_user_bpammo(id, CSW_M4A1, 90)
  909. g_primary[id] = true
  910. prim[id] = 16
  911. }
  912. case 3:
  913. {
  914. if(level <= 12)
  915. return
  916.  
  917. give_weapon_akdragon(id)
  918. g_primary[id] = true
  919. prim[id] = 17
  920. }
  921. case 4:
  922. {
  923. if(level <= 14)
  924. return
  925.  
  926. give_weapon_m4a1dragon(id)
  927. g_primary[id] = true
  928. prim[id] = 18
  929. }
  930. case 5:
  931. {
  932. if(level <= 19)
  933. return
  934.  
  935. give_weapon_m14ebr(id)
  936. g_primary[id] = true
  937. prim[id] = 19
  938. }
  939. case 6:
  940. {
  941. if(level <= 25)
  942. return
  943.  
  944. give_weapon_scar(id)
  945. g_primary[id] = true
  946. prim[id] = 20
  947. }
  948. case 7:
  949. {
  950. if(level <= 28)
  951. return
  952.  
  953. give_weapon_tar21(id)
  954. g_primary[id] = true
  955. prim[id] = 21
  956. }
  957. case 8:
  958. {
  959. if(level <= 45)
  960. return
  961.  
  962. give_weapon_guitar(id)
  963. g_primary[id] = true
  964. prim[id] = 22
  965. }
  966. case 9:
  967. {
  968. if(level <= 59)
  969. return
  970.  
  971. give_weapon_xm8(id)
  972. g_primary[id] = true
  973. prim[id] = 23
  974. }
  975. }
  976. return
  977. }
  978. // Sniper Rifles
  979. public sr_h(id)
  980. {
  981. static menu, string[128]
  982.  
  983. new level = cso_get_user_levels(id)
  984.  
  985. formatex(string, sizeof(string), "\ySniper Rifles")
  986. menu = menu_create(string, "sr_handle")
  987.  
  988. if(level <= 7)
  989. formatex(string, sizeof(string), "\dScout - \yLevel 8")
  990. else
  991. formatex(string, sizeof(string), "\wScout \d- \yLevel 8")
  992. menu_additem(menu, string, "1", 0)
  993.  
  994. if(level <= 13)
  995. formatex(string, sizeof(string), "\dAWP - \yLevel 14")
  996. else
  997. formatex(string, sizeof(string), "\wAWP \d- \yLevel 14")
  998. menu_additem(menu, string, "2", 0)
  999.  
  1000. if(level <= 15)
  1001. formatex(string, sizeof(string), "\dM24 - \yLevel 16")
  1002. else
  1003. formatex(string, sizeof(string), "\wM24 \d- \yLevel 16")
  1004. menu_additem(menu, string, "3", 0)
  1005.  
  1006. if(level <= 19)
  1007. formatex(string, sizeof(string), "\dAWP Camo - \yLevel 20")
  1008. else
  1009. formatex(string, sizeof(string), "\wAWP Camo \d- \yLevel 20")
  1010. menu_additem(menu, string, "4", 0)
  1011.  
  1012.  
  1013. if(level <= 24)
  1014. formatex(string, sizeof(string), "\dChey-Tac M200 - \yLevel 25")
  1015. else
  1016. formatex(string, sizeof(string), "\wChey-Tac M200 \d- \yLevel 25")
  1017. menu_additem(menu, string, "5", 0)
  1018.  
  1019. if(level <= 29)
  1020. formatex(string, sizeof(string), "\dDevil XM2010 - \yLevel 30")
  1021. else
  1022. formatex(string, sizeof(string), "\wDevil XM2010 \d- \yLevel 30")
  1023. menu_additem(menu, string, "6", 0)
  1024.  
  1025. if(level <= 32)
  1026. formatex(string, sizeof(string), "\dVSK 94 - \yLevel 33")
  1027. else
  1028. formatex(string, sizeof(string), "\wVSK 94 \d- \yLevel 33")
  1029. menu_additem(menu, string, "7", 0)
  1030.  
  1031. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
  1032. menu_display(id, menu, 0)
  1033. }
  1034. public sr_handle(id, menu, item)
  1035. {
  1036. if(cso_get_user_type_hero(id) || cso_get_user_type_heroine(id))
  1037. return
  1038.  
  1039. if(cso_get_user_zombie(id))
  1040. return
  1041.  
  1042. if(g_primary[id])
  1043. return
  1044.  
  1045. if(item == MENU_EXIT)
  1046. {
  1047. menu_destroy(menu)
  1048. return
  1049. }
  1050.  
  1051. new data[6], szName[64];
  1052. new access, callback;
  1053. new level = cso_get_user_levels(id)
  1054. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
  1055. new key = str_to_num(data);
  1056.  
  1057. switch(key)
  1058. {
  1059. case 1:
  1060. {
  1061. if(level <= 7)
  1062. return
  1063.  
  1064. give_item(id, "weapon_scout")
  1065. cs_set_user_bpammo(id, CSW_SCOUT, 90)
  1066. g_primary[id] = true
  1067. prim[id] = 24
  1068. }
  1069. case 2:
  1070. {
  1071. if(level <= 13)
  1072. return
  1073.  
  1074. give_item(id, "weapon_awp")
  1075. cs_set_user_bpammo(id, CSW_AWP, 90)
  1076. g_primary[id] = true
  1077. prim[id] = 25
  1078. }
  1079. case 3:
  1080. {
  1081. if(level <= 15)
  1082. return
  1083.  
  1084. give_weapon_m24(id)
  1085. g_primary[id] = true
  1086. prim[id] = 26
  1087. }
  1088. case 4:
  1089. {
  1090. if(level <= 19)
  1091. return
  1092.  
  1093. give_weapon_awpcamo(id)
  1094. g_primary[id] = true
  1095. prim[id] = 27
  1096. }
  1097. case 5:
  1098. {
  1099. if(level <= 24)
  1100. return
  1101.  
  1102. give_weapon_m200(id)
  1103. g_primary[id] = true
  1104. prim[id] = 28
  1105. }
  1106. case 6:
  1107. {
  1108. if(level <= 29)
  1109. return
  1110.  
  1111. give_weapon_xm2010(id)
  1112. g_primary[id] = true
  1113. prim[id] = 29
  1114. }
  1115. case 7:
  1116. {
  1117. if(level <= 32)
  1118. return
  1119.  
  1120. give_weapon_vsk94(id)
  1121. g_primary[id] = true
  1122. prim[id] = 30
  1123. }
  1124. }
  1125. return
  1126. }
  1127. // Mashin Guns
  1128. public mg_h(id)
  1129. {
  1130. static menu, string[128]
  1131.  
  1132. new level = cso_get_user_levels(id)
  1133.  
  1134. formatex(string, sizeof(string), "\yMachine Guns")
  1135. menu = menu_create(string, "mg_handle")
  1136.  
  1137. if(level <= 9)
  1138. formatex(string, sizeof(string), "\dM249 - \yLevel 10")
  1139. else
  1140. formatex(string, sizeof(string), "\wM249 \d- \yLevel 10")
  1141. menu_additem(menu, string, "1", 0)
  1142.  
  1143. if(level <= 19)
  1144. formatex(string, sizeof(string), "\dH&K HK23E - \yLevel 20")
  1145. else
  1146. formatex(string, sizeof(string), "\wH&K HK23E \d- \yLevel 20")
  1147. menu_additem(menu, string, "2", 0)
  1148.  
  1149. if(level <= 24)
  1150. formatex(string, sizeof(string), "\dMG3 - \yLevel 25")
  1151. else
  1152. formatex(string, sizeof(string), "\wMG3 \d- \yLevel 25")
  1153. menu_additem(menu, string, "3", 0)
  1154.  
  1155. if(level <= 29)
  1156. formatex(string, sizeof(string), "\dM60E4 - \yLevel 30")
  1157. else
  1158. formatex(string, sizeof(string), "\wM60E4 \d- \yLevel 30")
  1159. menu_additem(menu, string, "4", 0)
  1160.  
  1161.  
  1162. if(level <= 34)
  1163. formatex(string, sizeof(string), "\dPKM - \yLevel 35")
  1164. else
  1165. formatex(string, sizeof(string), "\wPKM \d- \yLevel 35")
  1166. menu_additem(menu, string, "5", 0)
  1167.  
  1168. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
  1169. menu_display(id, menu, 0)
  1170. }
  1171. public mg_handle(id, menu, item)
  1172. {
  1173. if(cso_get_user_type_hero(id) || cso_get_user_type_heroine(id))
  1174. return
  1175.  
  1176. if(cso_get_user_zombie(id))
  1177. return
  1178.  
  1179. if(g_primary[id])
  1180. return
  1181.  
  1182. if(item == MENU_EXIT)
  1183. {
  1184. menu_destroy(menu)
  1185. return
  1186. }
  1187.  
  1188. new data[6], szName[64];
  1189. new access, callback;
  1190. new level = cso_get_user_levels(id)
  1191. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
  1192. new key = str_to_num(data);
  1193.  
  1194. switch(key)
  1195. {
  1196. case 1:
  1197. {
  1198. if(level <= 9)
  1199. return
  1200.  
  1201. give_item(id, "weapon_m249")
  1202. cs_set_user_bpammo(id, CSW_M249, 200)
  1203. g_primary[id] = true
  1204. prim[id] = 31
  1205. }
  1206. case 2:
  1207. {
  1208. if(level <= 19)
  1209. return
  1210.  
  1211. give_weapon_hk23(id)
  1212. g_primary[id] = true
  1213. prim[id] = 32
  1214. }
  1215. case 3:
  1216. {
  1217. if(level <= 24)
  1218. return
  1219.  
  1220. give_weapon_mg3(id)
  1221. g_primary[id] = true
  1222. prim[id] = 33
  1223. }
  1224. case 4:
  1225. {
  1226. if(level <= 29)
  1227. return
  1228.  
  1229. give_weapon_m60e4(id)
  1230. g_primary[id] = true
  1231. prim[id] = 34
  1232. }
  1233. case 5:
  1234. {
  1235. if(level <= 34)
  1236. return
  1237.  
  1238. give_weapon_pkm(id)
  1239. g_primary[id] = true
  1240. prim[id] = 35
  1241. }
  1242. }
  1243. return
  1244. }
  1245. // Save
  1246. public Save_Data(id)
  1247. {
  1248. new vaultkey[64], vaultdata[256], vaultdata2[256]
  1249.  
  1250. new name[33];
  1251. get_user_name(id,name,32)
  1252.  
  1253. format(vaultkey, 63, "%s-/", name)
  1254.  
  1255. format(vaultdata, 255, "%i#", prim[id])
  1256.  
  1257. format(vaultdata2, 255, "%i#", sec[id])
  1258.  
  1259. nvault_set(g_save, vaultkey, vaultdata)
  1260. nvault_set(g_save3, vaultkey, vaultdata2)
  1261. return PLUGIN_CONTINUE;
  1262. }
  1263.  
  1264. public Load_Data(id)
  1265. {
  1266. new vaultkey[64], vaultdata[256], vaultdata2[256]
  1267.  
  1268. new name[33];
  1269. get_user_name(id,name,32)
  1270.  
  1271. format(vaultkey, 63, "%s-/", name)
  1272.  
  1273. format(vaultdata, 255, "%i#", prim[id])
  1274.  
  1275. format(vaultdata2, 255, "%i#", sec[id])
  1276.  
  1277.  
  1278. nvault_get(g_save, vaultkey, vaultdata, 255)
  1279. nvault_get(g_save3, vaultkey, vaultdata2, 255)
  1280. replace_all(vaultdata, 255, "#", " ")
  1281. replace_all(vaultdata2, 255, "#", " ")
  1282.  
  1283. new XP[32], Level[32]
  1284. parse(vaultdata, XP, 31)
  1285. parse(vaultdata2, Level, 31)
  1286. prim[id] = str_to_num(XP)
  1287. sec[id] = str_to_num(Level)
  1288.  
  1289. return PLUGIN_CONTINUE;
  1290. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement