Advertisement
Guest User

Untitled

a guest
Sep 30th, 2016
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.26 KB | None | 0 0
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <ColorChat>
  6. #include <cstrike>
  7. #include <codmod>
  8. #include <hamsandwich>
  9. #include <Fakemeta>
  10. #include <engine>
  11. #include <fun>
  12.  
  13. native cod_set_user_coins(id, wartosc);
  14. native cod_get_user_coins(id);
  15.  
  16.  
  17. #define DMG_HEGRENADE (1<<24)
  18. #define DMG_BULLET (1<<1)
  19.  
  20. #define PLUGIN "COD:MW Sklep"
  21. #define VERSION "1.0"
  22. #define AUTHOR "Play"
  23.  
  24. #define set_waluta cod_set_user_coins
  25. #define get_waluta cod_get_user_coins(id)
  26.  
  27. new tytul[512], name[33];
  28. new const prefix[ ] = "[COD:MW - Sklep]^01";
  29.  
  30.  
  31.  
  32. new const say_dolar[]="dolarow";
  33.  
  34. new const max_clip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
  35. 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 };
  36.  
  37. new sprite_blast, ilosc_rakiet[33], poprzednia_rakieta[33], bool:ma_rakiete[33], bool:rakieta_gracza[33];
  38.  
  39. new CsArmorType:armortype
  40.  
  41. new g_msg_screenfade;
  42. new g_msgHostageAdd, g_msgHostageDel;
  43. new const sound_radar[] = "radar.wav"
  44.  
  45. new bool: a_dmg[33], odpornosc_he[33], odpornosc_fb[33], DodatkowySkok[33], skoki[33], NoRecoil[33], Niewidzialnosc[33], Regeneracja[33], NoAmmo[33], Radar[33]
  46.  
  47. /*================================
  48. [WYPOSAŻENIE]
  49. =================================*/
  50. new cvar_dmg,
  51. cvar_ciche_kroki,
  52. cvar_odpornosc_he,
  53. cvar_odpornosc_fb,
  54. cvar_skoki,
  55. cvar_pancerz,
  56. cvar_ile_pancerz,
  57. cvar_ile_skokow
  58.  
  59. /*================================
  60. [APTEKA]
  61. =================================*/
  62. new cvar_mhp,
  63. cvar_ile_mhp,
  64. cvar_shp,
  65. cvar_ile_shp,
  66. cvar_dhp,
  67. cvar_ile_dhp,
  68. cvar_rhp,
  69. cvar_lhp,
  70. cvar_min_lhp,
  71. cvar_max_lhp
  72.  
  73. /*================================
  74. [Doswiadczenie]
  75. =================================*/
  76. new cvar_ile_mze,
  77. cvar_mze,
  78. cvar_ile_sze,
  79. cvar_sze,
  80. cvar_ile_dze,
  81. cvar_dze,
  82. cvar_min_lexp,
  83. cvar_max_lexp,
  84. cvar_lexp
  85.  
  86.  
  87. /*================================
  88. [Czarny Rynek]
  89. =================================*/
  90.  
  91. new cvar_ile_rakiet,
  92. cvar_rakiety,
  93. cvar_zestaw,
  94. cvar_perk,
  95. cvar_recoil,
  96. cvar_plaszcz,
  97. cvar_ile_plaszcz,
  98. cvar_noammo,
  99. cvar_radar
  100.  
  101. new const g_Lang[][]={"say /sklep","say_team /sklep","say /shop","say_team /shop"};
  102.  
  103.  
  104. public plugin_init()
  105. {
  106. register_plugin(PLUGIN, VERSION, AUTHOR)
  107.  
  108. for(new i;i<sizeof g_Lang;i++)
  109. register_clcmd(g_Lang[i], "cmd_menu");
  110.  
  111.  
  112. g_msgHostageAdd = get_user_msgid("HostagePos");
  113. g_msgHostageDel = get_user_msgid("HostageK");
  114. g_msg_screenfade = get_user_msgid("ScreenFade");
  115.  
  116. RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  117.  
  118. register_touch("rocket2", "*" , "DotykRakiety");
  119.  
  120. register_forward(FM_CmdStart, "fwCmdStart_MultiJump");
  121. register_forward(FM_PlayerPreThink, "PreThink");
  122. register_forward(FM_UpdateClientData, "UpdateClientData", 1)
  123. register_forward(FM_CmdStart, "CmdStart");
  124.  
  125. register_logevent("Koniec_Rundy", 2, "1=Round_End")
  126.  
  127. register_message(get_user_msgid("ScreenFade"), "messageScreenFade");
  128.  
  129.  
  130. /*================================
  131. [WYPOSAŻENIE]
  132. =================================*/
  133.  
  134. cvar_dmg = register_cvar("cena_dmg", "15"); // Cena dodatkowego dmg
  135. cvar_ciche_kroki = register_cvar("cena_ciche_buty", "10"); // Cena za cichebuty
  136. cvar_odpornosc_he = register_cvar("cena_odpornosc_he", "13"); // Cena za odpornosc na granaty wybuchowe
  137. cvar_odpornosc_fb = register_cvar("cena_odpornosc_fb", "11"); // Cena za odporność na fleshe
  138. cvar_skoki = register_cvar("cena_dodatkowe_skoki", "16"); // Cena za dodatkowe skoki
  139. cvar_pancerz = register_cvar("cena_dodatkowy_pancerz", "11"); // Cena za dodatkowy pancerz
  140. cvar_ile_skokow = register_cvar("ile_skokow", "2"); // ilosc skoko wdo kupienia
  141. cvar_ile_pancerz = register_cvar("ile_pancerza", "100"); // ilość pancerza do kupienia limit 300
  142.  
  143.  
  144. /*================================
  145. [APTEKA]
  146. =================================*/
  147.  
  148. cvar_mhp = register_cvar("cena_mala_mikstura_hp", "15"); // Cena za male hp
  149. cvar_ile_mhp = register_cvar("ile_mala_mikstura_hp", "10"); // Ilość malego hp do kupienia.
  150. cvar_shp = register_cvar("cena_srednia_mikstura_hp", "24"); // Cena za srednia miksture hp
  151. cvar_ile_shp = register_cvar("ile_srednia_mikstura_hp", "20"); // Ilość sredniego hp do kupienia
  152. cvar_dhp = register_cvar("cena_duza_mikstura_hp", "34"); // Cena za dużą miksture hp.
  153. cvar_ile_dhp = register_cvar("ile_duzego_hp", "30"); // Ilość dużego hp do kupienia
  154. cvar_rhp = register_cvar("cena_regeneracji_hp", "35"); // Cena za regeneracje hp.
  155. cvar_lhp = register_cvar("cena_losowego_hp", "40"); // Cena za losowe hp.
  156. cvar_min_lhp = register_cvar("cena_min_losowego_hp", "10") // minimum hp ktore mozna wylosowac
  157. cvar_max_lhp = register_cvar("cena_max_losowego_hp", "70") // max hp ktore mzona wylosowac
  158.  
  159.  
  160. /*================================
  161. [Czarny Rynek]
  162. =================================*/
  163.  
  164. cvar_ile_rakiet = register_cvar("ilosc_rakiet", "1"); // ilsoc rakiet do kupienia
  165. cvar_rakiety = register_cvar("cena_za_rakiety", "35"); // Cena za rakiete
  166. cvar_zestaw = register_cvar("cena_za_zestaw_granatow", "25"); // Cena za Zestaw Granatow
  167. cvar_perk = register_cvar("cena_za_perk", "30"); // Cena za losowy perk
  168. cvar_recoil = register_cvar("cena_za_norecoil", "45"); // Cena za NoRecoil
  169. cvar_plaszcz = register_cvar("cena_za_plaszcz", "35"); // Mniejsza widzialność
  170. cvar_ile_plaszcz = register_cvar("ile_procent_niewidzialnosci", "60"); // ilość niewidzialności
  171. cvar_noammo = register_cvar("cena_za_noammo", "65"); // Cena za Nieskonczoność ammo
  172. cvar_radar = register_cvar("cena_za_radar", "50"); // Cena za Radar
  173.  
  174. /*================================
  175. [Doswiadczenie]
  176. =================================*/
  177.  
  178. cvar_ile_mze = register_cvar("ile_malego_zestawu_xp", "300"); // ilosc malego expa do kupienia
  179. cvar_mze = register_cvar("cena_malego_zestawu_xp", "50"); // cena za maly zestaw expa
  180. cvar_ile_sze = register_cvar("ile_sredniego_zestawu_xp", "700"); // ilosc sredniego expa do kupienia
  181. cvar_sze = register_cvar("cena_sredniego_zestawu_xp", "120"); // cena za sredni zestaw expa
  182. cvar_ile_dze = register_cvar("ile_duzego_zestawu_xp", "1200"); // ilosc duzego expa do kupienia
  183. cvar_dze = register_cvar("cena_duzego_zestawu_xp", "190"); // cena za duzy zestaw expa
  184.  
  185. cvar_min_lexp = register_cvar("ile_mix_losowego_xp", "300"); // minimum loswego doswiadczenia
  186. cvar_max_lexp = register_cvar("ile_max_losowego_xp", "300"); // max losowego doswiadcznia
  187. cvar_lexp = register_cvar("cena_losowego_xp", "2100"); // cena losowego doswiadczenia
  188.  
  189.  
  190. set_task(1.0, "plugin_cfg");
  191. }
  192. public plugin_cfg()
  193. {
  194. new lokalizacja_cfg[33];
  195. get_configsdir(lokalizacja_cfg, charsmax(lokalizacja_cfg));
  196. server_cmd("exec %s/sklep.cfg", lokalizacja_cfg);
  197. server_exec()
  198. }
  199. public Koniec_Rundy()
  200. {
  201. for(new i =1;i<33;i++)
  202. {
  203. if(is_user_connected(i))
  204. {
  205. a_dmg[i] = false;
  206. set_user_footsteps(i, 0);
  207. odpornosc_he[i] = false;
  208. odpornosc_fb[i] = false;
  209. DodatkowySkok[i] = false;
  210. NoRecoil[i] = false;
  211. Niewidzialnosc[i] = false;
  212. Regeneracja[i] = false;
  213. NoAmmo[i] = false;
  214. Radar[i] = false;
  215. }
  216. }
  217. }
  218. public client_authorized(id)
  219. {
  220. /* Rakiety */
  221. ilosc_rakiet[id] = 0;
  222. ma_rakiete[id] = false;
  223.  
  224. }
  225. public plugin_precache()
  226. {
  227. precache_sound(sound_radar)
  228. sprite_blast = precache_model("sprites/dexplo.spr");
  229. precache_model("models/rpgrocket.mdl");
  230. precache_sound("misc/select.wav");
  231. return PLUGIN_CONTINUE;
  232. }
  233. public client_disconnect(id)
  234. {
  235. /* Rakiety */
  236. new entRakiety = find_ent_by_class(0, "rocket2");
  237. while(entRakiety > 0)
  238. {
  239. if(entity_get_edict(entRakiety, EV_ENT_owner) == id)
  240. remove_entity(entRakiety);
  241. entRakiety = find_ent_by_class(entRakiety, "rocket2");
  242. }
  243. ilosc_rakiet[id] = 0;
  244. ma_rakiete[id] = false;
  245. }
  246. public cmd_menu(id)
  247. {
  248. if(is_user_alive(id)) {
  249. Menu(id);
  250. }
  251. else {
  252. ColorChat( id, TEAM_COLOR, "%s Musisz byc zywy, aby korzystac ze sklepu!", prefix );
  253. }
  254. return PLUGIN_HANDLED;
  255. }
  256. public Menu(id)
  257. {
  258. get_user_name(id, name, 32);
  259. formatex(tytul, 124,"Witaj\r %s", name );
  260. new menu = menu_create(tytul, "Menu_Handler" );
  261.  
  262. menu_additem(menu, "Wyposazenie")
  263. menu_additem(menu, "Apteka");
  264. menu_additem(menu, "Doswiadczenie");
  265. menu_additem(menu, "Czarny Rynek");
  266.  
  267. menu_display(id, menu)
  268. client_cmd(id, "spk misc/select");
  269. return PLUGIN_HANDLED;
  270. }
  271.  
  272. public Menu_Handler(id, menu, key)
  273. {
  274. if(key == MENU_EXIT)
  275. {
  276. menu_destroy(menu);
  277. return PLUGIN_HANDLED;
  278. }
  279. switch(key)
  280. {
  281. case 0: MenuWyposazenie(id)
  282. case 1: MenuApteka(id)
  283. case 2: MenuDoswiadczenie(id)
  284. case 3: CzarnyRynek(id)
  285. }
  286. client_cmd(id, "spk misc/select");
  287. return PLUGIN_HANDLED;
  288. }
  289.  
  290. public MenuWyposazenie(id)
  291. {
  292. new tytul[128];
  293.  
  294. formatex(tytul, charsmax(tytul), "\w-==|\r Wyposazenie\w |==-^nPosiadasz:\r %i\w %s", get_waluta, say_dolar );
  295. new menu = menu_create(tytul, "Wyposazenie_Handler");
  296.  
  297. formatex(tytul, charsmax(tytul), "Wieksze DMG \d[ +5 ] \yKoszt:\r %i %s", get_pcvar_num(cvar_dmg), say_dolar );
  298. menu_additem(menu, tytul);
  299.  
  300. formatex(tytul, charsmax(tytul), "Ciche Chodzenie \yKoszt:\r %i %s", get_pcvar_num(cvar_ciche_kroki), say_dolar );
  301. menu_additem(menu, tytul);
  302.  
  303. formatex(tytul, charsmax(tytul), "Odpornosc na HE \yKoszt:\r %i %s", get_pcvar_num(cvar_odpornosc_he), say_dolar );
  304. menu_additem(menu, tytul);
  305.  
  306. formatex(tytul, charsmax(tytul), "Odpornosc na Fleshe \yKoszt:\r %i %s", get_pcvar_num(cvar_odpornosc_fb), say_dolar );
  307. menu_additem(menu, tytul);
  308.  
  309. formatex(tytul, charsmax(tytul), "Dodatkowe Skoki \d[ +%i ] \yKoszt:\r %i %s", get_pcvar_num(cvar_ile_skokow), get_pcvar_num(cvar_skoki), say_dolar );
  310. menu_additem(menu, tytul);
  311.  
  312. formatex(tytul, charsmax(tytul), "Dodatkowy Pancerz \d[ +%i ] \yKoszt:\r %i %s", get_pcvar_num(cvar_ile_pancerz), get_pcvar_num(cvar_pancerz), say_dolar );
  313. menu_additem(menu, tytul);
  314.  
  315. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  316. menu_display(id, menu);
  317.  
  318. client_cmd(id, "spk misc/select");
  319. return PLUGIN_HANDLED;
  320. }
  321. public Wyposazenie_Handler(id, menu, key)
  322. {
  323. if(key == MENU_EXIT)
  324. {
  325. Menu(id)
  326. menu_destroy(menu);
  327. return PLUGIN_HANDLED;
  328. }
  329.  
  330. new kasa = get_waluta;
  331. switch(key)
  332. {
  333. case 0:
  334. {
  335. if(kasa >= get_pcvar_num(cvar_dmg) )
  336. {
  337. set_waluta(id, kasa - get_pcvar_num(cvar_dmg) )
  338. a_dmg[id] = true;
  339. ColorChat( id, TEAM_COLOR, "%s Kupiles dodatkowe obrazenia (+5)", prefix);
  340. }
  341. else
  342. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  343. }
  344. case 1:
  345. {
  346. if(kasa >= get_pcvar_num(cvar_ciche_kroki) )
  347. {
  348. set_waluta(id, kasa - get_pcvar_num(cvar_ciche_kroki) )
  349. set_user_footsteps(id, 1);
  350. ColorChat( id, TEAM_COLOR, "%s Kupiles Ciche Chodzenie", prefix);
  351. }
  352. else
  353. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  354. }
  355. case 2:
  356. {
  357. if(kasa >= get_pcvar_num(cvar_odpornosc_he) )
  358. {
  359. set_waluta(id, kasa - get_pcvar_num(cvar_odpornosc_he) )
  360. odpornosc_he[id] = true;
  361. ColorChat( id, TEAM_COLOR, "%s Kupiles Odpornosc na Granaty Wybuchowe", prefix);
  362. }
  363. else
  364. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  365. }
  366. case 3:
  367. {
  368. if(kasa >= get_pcvar_num(cvar_odpornosc_fb))
  369. {
  370. set_waluta(id, kasa - get_pcvar_num(cvar_odpornosc_fb))
  371. odpornosc_fb[id] = true;
  372. ColorChat( id, TEAM_COLOR, "%s Kupiles Odpornosc na Fleshe", prefix);
  373. }
  374. else
  375. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  376. }
  377. case 4:
  378. {
  379. if(kasa >= get_pcvar_num(cvar_skoki) )
  380. {
  381. set_waluta(id, kasa - get_pcvar_num(cvar_skoki) )
  382. DodatkowySkok[id] = true;
  383. ColorChat( id, TEAM_COLOR, "%s Kupiles %i dodatkowych skokow", prefix, get_pcvar_num(cvar_ile_skokow) );
  384. }
  385. else
  386. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  387. }
  388. case 5:
  389. {
  390. if(kasa >= get_pcvar_num(cvar_pancerz) )
  391. {
  392. set_waluta(id, kasa - get_pcvar_num(cvar_pancerz) )
  393. cs_set_user_armor(id, min(cs_get_user_armor(id,armortype)+ get_pcvar_num(cvar_ile_pancerz), 300), armortype);
  394. ColorChat( id, TEAM_COLOR, "%s Kupiles %i Pancerza", prefix, get_pcvar_num(cvar_ile_pancerz) );
  395. }
  396. else
  397. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  398. }
  399. }
  400. return PLUGIN_CONTINUE
  401. }
  402. public MenuApteka(id)
  403. {
  404. formatex(tytul, 124,"\w-==|\r Apteka\w |==-^nPosiadasz:\r %i\w %s", get_waluta, say_dolar );
  405. new menu = menu_create(tytul, "Apteka_Handler" );
  406.  
  407.  
  408. formatex(tytul, charsmax(tytul), "Mala Mikstura Leczenia \d[ +%i HP ] \yKoszt: \r%i %s", get_pcvar_num(cvar_ile_mhp), get_pcvar_num(cvar_mhp), say_dolar );
  409. menu_additem(menu, tytul);
  410.  
  411. formatex(tytul, charsmax(tytul), "Srednia Mikstura Leczenia \d[ +%i HP ] \yKoszt: \r%i %s", get_pcvar_num(cvar_ile_shp), get_pcvar_num(cvar_shp), say_dolar );
  412. menu_additem(menu, tytul);
  413.  
  414. formatex(tytul, charsmax(tytul), "Duza Mikstura Leczenia \d[ +%i HP ] \yKoszt: \r%i %s", get_pcvar_num(cvar_ile_dhp), get_pcvar_num(cvar_dhp), say_dolar );
  415. menu_additem(menu, tytul);
  416.  
  417. formatex(tytul, charsmax(tytul), "Regenreacja HP \d[ +1HP / 1Sekunda ] \yKoszt: \r%i %s", get_pcvar_num(cvar_rhp), say_dolar );
  418. menu_additem(menu, tytul);
  419.  
  420. formatex(tytul, charsmax(tytul), "Losowe HP \d[ +%i / %i HP ] \yKoszt: \r%i %s", get_pcvar_num(cvar_min_lhp), get_pcvar_num(cvar_max_lhp), get_pcvar_num(cvar_lhp), say_dolar );
  421. menu_additem(menu, tytul);
  422.  
  423. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  424. menu_display(id, menu);
  425.  
  426. client_cmd(id, "spk misc/select");
  427. return PLUGIN_HANDLED;
  428. }
  429. public Apteka_Handler(id, menu, key)
  430. {
  431. if(key == MENU_EXIT)
  432. {
  433. Menu(id)
  434. menu_destroy(menu);
  435. return PLUGIN_HANDLED;
  436. }
  437.  
  438. new kasa = get_waluta;
  439.  
  440. switch(key)
  441. {
  442. case 0:
  443. {
  444. if(kasa >= get_pcvar_num(cvar_mhp))
  445. {
  446. set_waluta(id, kasa - get_pcvar_num(cvar_mhp))
  447. set_user_health( id, get_user_health( id ) + get_pcvar_num(cvar_ile_mhp) );
  448. Display_Fade(id, 1<<10, 1<<10 ,1<<14, 118, 253, 89, 230);
  449. ColorChat( id, TEAM_COLOR, "%s Kupiles +%i HP", prefix, get_pcvar_num(cvar_ile_mhp));
  450. }
  451. else
  452. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  453. }
  454. case 1:
  455. {
  456. if(kasa >= get_pcvar_num(cvar_shp))
  457. {
  458. set_waluta(id, kasa - get_pcvar_num(cvar_shp))
  459. set_user_health( id, get_user_health( id ) + get_pcvar_num(cvar_ile_shp));
  460. Display_Fade(id, 1<<10, 1<<10 ,1<<14, 118, 253, 89, 230);
  461. ColorChat( id, TEAM_COLOR, "%s Kupiles +%i HP", prefix, get_pcvar_num(cvar_ile_shp));
  462. }
  463. else
  464. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  465. }
  466. case 2:
  467. {
  468. if(kasa >= get_pcvar_num(cvar_dhp))
  469. {
  470. set_waluta(id, kasa - get_pcvar_num(cvar_dhp))
  471. set_user_health( id, get_user_health( id ) + get_pcvar_num(cvar_ile_dhp));
  472. Display_Fade(id, 1<<10, 1<<10 ,1<<14, 118, 253, 89, 230);
  473. ColorChat( id, TEAM_COLOR, "%s Kupiles +%i HP", prefix, get_pcvar_num(cvar_ile_dhp));
  474. }
  475. else
  476. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  477. }
  478. case 3:
  479. {
  480. if(kasa >= get_pcvar_num(cvar_rhp))
  481. {
  482. set_waluta(id, kasa - get_pcvar_num(cvar_rhp))
  483. Regeneracja[id] = true
  484. Display_Fade(id, 1<<10, 1<<10 ,1<<14, 118, 253, 89, 230);
  485. ColorChat( id, TEAM_COLOR, "%s Kupiles Regeneracje HP", prefix);
  486. }
  487. else
  488. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  489. }
  490. case 4:
  491. {
  492. if(kasa >= get_pcvar_num(cvar_lhp))
  493. {
  494. set_waluta(id, kasa - get_pcvar_num(cvar_lhp))
  495. new los = random_num(get_pcvar_num(cvar_min_lhp), get_pcvar_num(cvar_max_lhp))
  496. set_user_health(id, get_user_health(id)+los);
  497. Display_Fade(id, 1<<10, 1<<10 ,1<<14, 118, 253, 89, 230);
  498. ColorChat( id, TEAM_COLOR, "%s Wylosowales %i HP", prefix, los);
  499. }
  500. else
  501. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  502. }
  503. }
  504. return PLUGIN_CONTINUE
  505. }
  506. public MenuDoswiadczenie(id)
  507. {
  508. new tytul[128];
  509.  
  510. formatex(tytul, charsmax(tytul), "\w-==|\r Doswiadczenie\w |==-^nPosiadasz:\r %i\w %s", get_waluta, say_dolar );
  511. new menu = menu_create(tytul, "Doswiadczenie_Handler");
  512.  
  513.  
  514. formatex(tytul, charsmax(tytul), "Maly Zestaw Expa \d[ +%i EXP ] \yKoszt: \r%i %s", get_pcvar_num(cvar_ile_mze), get_pcvar_num(cvar_mze), say_dolar );
  515. menu_additem(menu, tytul);
  516.  
  517. formatex(tytul, charsmax(tytul), "Sredni Zestaw Expa \d[ +%i EXP ] \yKoszt: \r%i %s", get_pcvar_num(cvar_ile_sze), get_pcvar_num(cvar_sze), say_dolar );
  518. menu_additem(menu, tytul);
  519.  
  520. formatex(tytul, charsmax(tytul), "Duzy Zestaw Expa \d[ +%i EXP ] \yKoszt: \r%i %s", get_pcvar_num(cvar_ile_dze), get_pcvar_num(cvar_dze), say_dolar );
  521. menu_additem(menu, tytul);
  522.  
  523. formatex(tytul, charsmax(tytul), "Losowy Exp \d[ %i | %i EXP ] \yKoszt: \r%i %s", get_pcvar_num(cvar_min_lexp), get_pcvar_num(cvar_max_lexp), get_pcvar_num(cvar_lexp), say_dolar );
  524. menu_additem(menu, tytul);
  525.  
  526.  
  527. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  528. menu_display(id, menu);
  529.  
  530. client_cmd(id, "spk misc/select");
  531. return PLUGIN_HANDLED;
  532. }
  533. public Doswiadczenie_Handler(id, menu, key)
  534. {
  535. if(key == MENU_EXIT)
  536. {
  537. Menu(id)
  538. menu_destroy(menu);
  539. return PLUGIN_HANDLED;
  540. }
  541.  
  542. new kasa = get_waluta;
  543. new exp = cod_get_user_xp(id);
  544.  
  545. switch(key)
  546. {
  547. case 0:
  548. {
  549. if(kasa >= get_pcvar_num(cvar_mze) )
  550. {
  551. set_waluta(id, kasa - get_pcvar_num(cvar_mze));
  552. cod_set_user_xp(id, exp + get_pcvar_num(cvar_ile_mze))
  553. ColorChat( id, TEAM_COLOR, "%s Kupiles %i EXP'a!", prefix, get_pcvar_num(cvar_ile_mze) );
  554. }
  555. else
  556. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  557. }
  558. case 1:
  559. {
  560. if(kasa >= get_pcvar_num(cvar_sze) )
  561. {
  562. set_waluta(id, kasa - get_pcvar_num(cvar_sze));
  563. cod_set_user_xp(id, exp + get_pcvar_num(cvar_ile_sze))
  564. ColorChat( id, TEAM_COLOR, "%s Kupiles %i EXP'a!", prefix, get_pcvar_num(cvar_ile_sze) );
  565. }
  566. else
  567. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  568. }
  569. case 2:
  570. {
  571. if(kasa >= get_pcvar_num(cvar_dze) )
  572. {
  573. set_waluta(id, kasa - get_pcvar_num(cvar_dze));
  574. cod_set_user_xp(id, exp + get_pcvar_num(cvar_ile_dze))
  575. ColorChat( id, TEAM_COLOR, "%s Kupiles %i EXP'a!", prefix, get_pcvar_num(cvar_ile_dze) );
  576. }
  577. else
  578. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  579. }
  580. case 3:
  581. {
  582. if(kasa >= get_pcvar_num(cvar_lexp))
  583. {
  584.  
  585. new losowy = random_num(get_pcvar_num(cvar_min_lexp), get_pcvar_num(cvar_max_lexp));
  586. set_waluta(id, kasa - get_pcvar_num(cvar_lexp));
  587. cod_set_user_xp(id, exp+losowy)
  588. ColorChat( id, TEAM_COLOR, "%s Wylosowales %i EXP'a!", prefix, losowy);
  589. }
  590. else
  591. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  592. }
  593. }
  594. return PLUGIN_CONTINUE
  595. }
  596. public CzarnyRynek(id)
  597. {
  598. formatex(tytul, 124,"\w-==|\r Czarny Rynek\w |==-^nPosiadasz:\r %i\w %s", get_waluta, say_dolar );
  599. new menu = menu_create(tytul, "CzarnyRynek_Handler" );
  600.  
  601.  
  602.  
  603. formatex(tytul, charsmax(tytul), "Rakieta \d[ +%i ] \yKoszt: \r%i %s", get_pcvar_num(cvar_ile_rakiet), get_pcvar_num(cvar_rakiety), say_dolar );
  604. menu_additem(menu, tytul);
  605.  
  606. formatex(tytul, charsmax(tytul), "Zestaw Granatow \d[ HE, FB, SB ] \yKoszt: \r%i %s", get_pcvar_num(cvar_zestaw), say_dolar );
  607. menu_additem(menu, tytul);
  608.  
  609. formatex(tytul, charsmax(tytul), "Losowy Perk \yKoszt: \r%i %s", get_pcvar_num(cvar_perk), say_dolar );
  610. menu_additem(menu, tytul);
  611.  
  612. formatex(tytul, charsmax(tytul), "NoRecoil \d[ Brak Rozrzutu ] \yKoszt: \r%i %s", get_pcvar_num(cvar_recoil), say_dolar );
  613. menu_additem(menu, tytul);
  614.  
  615. formatex(tytul, charsmax(tytul), "Plaszcz Ducha \d[ Redukcja niewidzialnosci o %i% ] \yKoszt: \r%i %s", get_pcvar_num(cvar_ile_plaszcz), get_pcvar_num(cvar_plaszcz), say_dolar );
  616. menu_additem(menu, tytul);
  617.  
  618. formatex(tytul, charsmax(tytul), "Nieskonczona Amunicja \yKoszt: \r%i %s", get_pcvar_num(cvar_noammo), say_dolar );
  619. menu_additem(menu, tytul);
  620.  
  621. formatex(tytul, charsmax(tytul), "Radar \d[Widzisz Wrogow Na Radarze] \yKoszt: \r%i %s", get_pcvar_num(cvar_radar), say_dolar );
  622. menu_additem(menu, tytul);
  623.  
  624.  
  625. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  626. menu_display(id, menu);
  627.  
  628. client_cmd(id, "spk misc/select");
  629. return PLUGIN_HANDLED;
  630. }
  631. public CzarnyRynek_Handler(id, menu, key)
  632. {
  633. if(key == MENU_EXIT)
  634. {
  635. Menu(id)
  636. menu_destroy(menu);
  637. return PLUGIN_HANDLED;
  638. }
  639.  
  640. new kasa = get_waluta;
  641.  
  642. switch(key)
  643. {
  644. case 0:
  645. {
  646. if(cod_get_user_class(id) == cod_get_classid("Wsparcie Ogniowe"))
  647. {
  648. ColorChat( id, TEAM_COLOR, "%s Zakaz kupowania rakiet na tej klasie !", prefix);
  649. return COD_STOP;
  650. }
  651. if(kasa >= get_pcvar_num(cvar_rakiety))
  652. {
  653. set_waluta(id, kasa - get_pcvar_num(cvar_rakiety))
  654. ilosc_rakiet[id] += get_pcvar_num(cvar_ile_rakiet);
  655. ma_rakiete[id] = true;
  656. rakieta_gracza[id] = true;
  657. ColorChat( id, TEAM_COLOR, "%s Kupiles %i Rakiet", prefix, get_pcvar_num(cvar_ile_rakiet));
  658. }
  659. else
  660. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  661. }
  662. case 1:
  663. {
  664. if(kasa >= get_pcvar_num(cvar_zestaw))
  665. {
  666. set_waluta(id, kasa - get_pcvar_num(cvar_zestaw))
  667. give_item(id, "weapon_hegrenade");
  668. give_item(id, "weapon_flashbang");
  669. give_item(id, "weapon_flashbang");
  670. give_item(id, "weapon_smokegrenade");
  671. ColorChat( id, TEAM_COLOR, "%s Kupiles Zestaw Granatow", prefix);
  672. }
  673. else
  674. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  675. }
  676. case 2:
  677. {
  678. if(kasa >= get_pcvar_num(cvar_perk))
  679. {
  680. set_waluta(id, kasa - get_pcvar_num(cvar_perk))
  681. cod_set_user_perk(id, -1, -1, 1);
  682. ColorChat( id, TEAM_COLOR, "%s Kupiles Losowy Perk", prefix);
  683. }
  684. else
  685. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  686. }
  687. case 3:
  688. {
  689. if(kasa >= get_pcvar_num(cvar_recoil))
  690. {
  691. set_waluta(id, kasa - get_pcvar_num(cvar_recoil))
  692. NoRecoil[id] = true;
  693. ColorChat( id, TEAM_COLOR, "%s Kupiles NoRecoila [Na 1 Runde]", prefix);
  694. }
  695. else
  696. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  697. }
  698. case 4:
  699. {
  700. if(kasa >= get_pcvar_num(cvar_plaszcz))
  701. {
  702. set_waluta(id, kasa - get_pcvar_num(cvar_plaszcz))
  703. Niewidzialnosc[id] = true;
  704. ColorChat( id, TEAM_COLOR, "%s Kupiles Placz Ducha (Redukcja Obrazen do 60%) [Na 1 Runde]", prefix);
  705. }
  706. else
  707. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  708. }
  709. case 5:
  710. {
  711. if(kasa >= get_pcvar_num(cvar_noammo))
  712. {
  713. set_waluta(id, kasa - get_pcvar_num(cvar_noammo))
  714. NoAmmo[id] = true;
  715. ColorChat( id, TEAM_COLOR, "%s Kupiles Nieskonczona Amunicje [Na 1 Runde]", prefix);
  716. }
  717. else
  718. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  719. }
  720. case 6:
  721. {
  722. if(kasa >= get_pcvar_num(cvar_radar))
  723. {
  724. set_waluta(id, kasa - get_pcvar_num(cvar_radar))
  725. Radar[id] = true;
  726. set_task (2.0,"radar_scan",_,_,_,"b");
  727. ColorChat( id, TEAM_COLOR, "%s Kupiles Radar (Widzisz Wrogow Na Radarze) [Na 1 Runde]", prefix);
  728. }
  729. else
  730. ColorChat( id, TEAM_COLOR, "%s Niestety, masz za malo %s", prefix, say_dolar);
  731. }
  732. }
  733. return PLUGIN_CONTINUE
  734. }
  735. public messageScreenFade(msgtype, msgid, id)
  736. {
  737. if(odpornosc_fb[id])
  738. return PLUGIN_HANDLED;
  739.  
  740. return PLUGIN_CONTINUE;
  741. }
  742. public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
  743. {
  744. if(!is_user_connected(this) || !is_user_connected(idattacker))
  745. return HAM_IGNORED;
  746.  
  747. if(odpornosc_he[this] && damagebits & DMG_HEGRENADE)
  748. return HAM_SUPERCEDE;
  749.  
  750. if(a_dmg[idattacker] && get_user_team(this) != get_user_team(idattacker) && damagebits & DMG_BULLET)
  751. cod_inflict_damage(idattacker, this, 5.0, 0.0, idinflictor, damagebits);
  752.  
  753. return HAM_IGNORED;
  754. }
  755.  
  756. public fwCmdStart_MultiJump(id, uc_handle)
  757. {
  758. if(!is_user_alive(id) || !DodatkowySkok[id])
  759. return FMRES_IGNORED;
  760.  
  761. new flags = pev(id, pev_flags);
  762.  
  763. if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
  764. {
  765. skoki[id]--;
  766. new Float:velocity[3];
  767. pev(id, pev_velocity,velocity);
  768. velocity[2] = random_float(265.0,285.0);
  769. set_pev(id, pev_velocity,velocity);
  770. }
  771. else if(flags & FL_ONGROUND)
  772. skoki[id] = get_pcvar_num(cvar_ile_skokow);
  773.  
  774. return FMRES_IGNORED;
  775. }
  776. stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
  777. {
  778. message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
  779. write_short( duration );
  780. write_short( holdtime );
  781. write_short( fadetype );
  782. write_byte ( red );
  783. write_byte ( green );
  784. write_byte ( blue );
  785. write_byte ( alpha );
  786. message_end();
  787. }
  788. public client_PreThink(id)
  789. {
  790. if (!is_user_alive(id))
  791. return
  792.  
  793. new button = get_user_button(id)
  794.  
  795. if (button & IN_USE)
  796. {
  797. if(ma_rakiete[id])
  798. {
  799. if (!ilosc_rakiet[id])
  800. {
  801. client_print(id, print_center, "Wykorzystales juz wszystkie rakiety!");
  802. ma_rakiete[id] = false;
  803. }
  804. else
  805. {
  806. if(poprzednia_rakieta[id] + 5.0 > get_gametime())
  807. {
  808. client_print(id, print_center, "Rakiet mozesz uzywac co 5 sekundy!");
  809. }
  810. else
  811. {
  812. poprzednia_rakieta[id] = floatround(get_gametime());
  813. ilosc_rakiet[id]--;
  814.  
  815. new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
  816.  
  817. entity_get_vector(id, EV_VEC_v_angle, vAngle);
  818. entity_get_vector(id, EV_VEC_origin , Origin);
  819.  
  820. new Ent = create_entity("info_target");
  821.  
  822. entity_set_string(Ent, EV_SZ_classname, "rocket2");
  823. entity_set_model(Ent, "models/rpgrocket.mdl");
  824.  
  825. vAngle[0] *= -1.0;
  826.  
  827. entity_set_origin(Ent, Origin);
  828. entity_set_vector(Ent, EV_VEC_angles, vAngle);
  829.  
  830. entity_set_int(Ent, EV_INT_effects, 2);
  831. entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
  832. entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
  833. entity_set_edict(Ent, EV_ENT_owner, id);
  834.  
  835. VelocityByAim(id, 1000 , Velocity);
  836. entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
  837. }
  838. }
  839. }
  840. }
  841. }
  842. public DotykRakiety(ent)
  843. {
  844. if (!is_valid_ent(ent))
  845. return;
  846.  
  847. new attacker = entity_get_edict(ent, EV_ENT_owner);
  848.  
  849.  
  850. new Float:fOrigin[3];
  851. entity_get_vector(ent, EV_VEC_origin, fOrigin);
  852.  
  853. new iOrigin[3];
  854. for(new i=0;i<3;i++)
  855. iOrigin[i] = floatround(fOrigin[i]);
  856.  
  857. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  858. write_byte(TE_EXPLOSION);
  859. write_coord(iOrigin[0]);
  860. write_coord(iOrigin[1]);
  861. write_coord(iOrigin[2]);
  862. write_short(sprite_blast);
  863. write_byte(32);
  864. write_byte(20);
  865. write_byte(0);
  866. message_end();
  867.  
  868. new entlist[33];
  869. new numfound = find_sphere_class(ent, "player", 190.0, entlist, 32);
  870.  
  871. for (new i=0; i < numfound; i++)
  872. {
  873. new pid = entlist[i];
  874.  
  875. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid))
  876. continue;
  877.  
  878. if (rakieta_gracza[attacker])
  879. {
  880. cod_inflict_damage(attacker, pid, 25.0, 0.2, ent, (1<<24));
  881. }
  882. }
  883. remove_entity(ent);
  884. }
  885. public PreThink(id)
  886. {
  887. if(NoRecoil[id])
  888. set_pev(id, pev_punchangle, {0.0,0.0,0.0})
  889. }
  890. public UpdateClientData(id, sw, cd_handle)
  891. {
  892. if(NoRecoil[id])
  893. set_cd(cd_handle, CD_PunchAngle, {0.0,0.0,0.0})
  894. }
  895. public Invisible(id)
  896. {
  897. if(Niewidzialnosc[id])
  898. set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, get_pcvar_num(cvar_ile_plaszcz));
  899. }
  900.  
  901. public WyszkolenieSanitarne(id)
  902. {
  903. if(!is_user_connected(id))
  904. return PLUGIN_CONTINUE;
  905.  
  906. if(Regeneracja[id])
  907. {
  908. set_task(1.0, "WyszkolenieSanitarne", id+736);
  909.  
  910. if(is_user_alive(id))
  911. {
  912. new cur_health = get_user_health(id);
  913. new max_health = (cod_get_user_health(id))+100;
  914. new new_health;
  915.  
  916. //floatround(wartosc_regeneracji_gracza[id], floatround_floor)
  917.  
  918. if(cur_health+1< max_health)
  919. {
  920. new_health = cur_health+1;
  921. set_user_health(id, new_health);
  922. message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
  923. write_short(1<<10)
  924. write_short(1<<10)
  925. write_short(0x0000)
  926. write_byte(0)
  927. write_byte(200)
  928. write_byte(0)
  929. write_byte(75)
  930. message_end()
  931. }
  932. else
  933. {
  934. new_health = max_health;
  935. }
  936. }
  937. }
  938. return PLUGIN_CONTINUE;
  939. }
  940. public CmdStart(id, uc_handle)
  941. {
  942. if(!is_user_alive(id) || !NoAmmo[id])
  943. return FMRES_IGNORED;
  944.  
  945. new buttons = get_uc(uc_handle, UC_Buttons);
  946. new oldbuttons = pev(id, pev_oldbuttons);
  947. new clip, ammo, weapon = get_user_weapon(id, clip, ammo);
  948.  
  949. if(max_clip[weapon] == -1 || !ammo)
  950. return FMRES_IGNORED;
  951.  
  952. if((buttons & IN_RELOAD && !(oldbuttons & IN_RELOAD) && !(buttons & IN_ATTACK)) || !clip)
  953. {
  954. cs_set_user_bpammo(id, weapon, ammo-(max_clip[weapon]-clip));
  955. new new_ammo = (max_clip[weapon] > ammo)? clip+ammo: max_clip[weapon]
  956. set_user_clip(id, new_ammo);
  957. }
  958.  
  959. return FMRES_IGNORED;
  960. }
  961.  
  962. stock set_user_clip(id, ammo)
  963. {
  964. new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
  965. get_weaponname(weapon, weaponname, 31);
  966. while ((weaponid = engfunc(EngFunc_FindEntityByString, weaponid, "classname", weaponname)) != 0)
  967. if (pev(weaponid, pev_owner) == id) {
  968. set_pdata_int(weaponid, 51, ammo, 4);
  969. return weaponid;
  970. }
  971. return 0;
  972. }
  973. public radar_scan(id)
  974. {
  975. new PlayerCoords[3];
  976.  
  977. for (new id=1; id<=32; id++)
  978. {
  979. if((!is_user_alive(id))||(!Radar[id])) continue;
  980.  
  981. for (new i=1;i<=32;i++)
  982. {
  983. if(!is_user_alive(i) || get_user_team(i) == get_user_team(id)) continue;
  984.  
  985. get_user_origin(i, PlayerCoords)
  986.  
  987. message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id)
  988. write_byte(id)
  989. write_byte(i)
  990. write_coord(PlayerCoords[0])
  991. write_coord(PlayerCoords[1])
  992. write_coord(PlayerCoords[2])
  993. message_end()
  994.  
  995. message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id)
  996. write_byte(i)
  997. message_end()
  998. }
  999. emit_sound(id, CHAN_ITEM, sound_radar, 1.0, ATTN_NORM, 0, PITCH_NORM);
  1000. }
  1001. }
  1002.  
  1003.  
  1004. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  1005. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
  1006. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement