Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
477
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.88 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <cstrike>
  5. #include <fakemeta>
  6. #include <fakemeta_util>
  7. #include <hamsandwich>
  8. #include <colorchat>
  9. #include <jailbreak>
  10. #include <nvault>
  11.  
  12. native get_user_jbpack(id);
  13. native set_user_jbpack(id, ile);
  14.  
  15. #define PLUGIN "Jail Zyczenia"
  16. #define VERSION "1.0.14b"
  17. #define AUTHOR "Cypis"
  18.  
  19. #define TASK_KONIECPOJEDYNKU 867
  20.  
  21. /////////// Pojedynek ///////////
  22. new bronie_pojedynek, pojedynek[2], kandydaci_pojedynek[2], obstawki[2], kogo_obstawia[33], ile_obstawia[33], czas_do_pojedynku, czas_do_konca_pojedynku, kosy=false, wybral_zyczenie;
  23. new HamHook:fHamKill, HamHook:fHamDamage, HamHook:fHamTrace, HamHook:fHamWeapon[31], fDropGranade, fDotykKnife, fTraceLine;
  24. /////////// Pojedynek ///////////
  25.  
  26. new const maxAmmo[31] = {0,52,0,90,1,31,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,31,90,120,90,2,35,90,90,0,100};
  27. new id_wlasne, id_bezruch, id_freeday, id_duszek, id_rambomod, id_pojedynek, id_szlugi;
  28. new blood, blood2;
  29. new bool:celownik, typ_pojedynku;
  30. new g_iHud;
  31. public plugin_init() {
  32. register_plugin(PLUGIN, VERSION, AUTHOR)
  33. register_forward(FM_CmdStart,"CmdStart");
  34.  
  35. id_wlasne = jail_register_wish("Wlasne zyczenie");
  36. id_bezruch = jail_register_wish("Bezruch");
  37. id_freeday = jail_register_wish("FreeDay");
  38. id_duszek = jail_register_wish("Duszek");
  39. id_rambomod = jail_register_wish("RamboMod");
  40. id_pojedynek = jail_register_wish("Pojedynek");
  41. id_szlugi = jail_register_wish("+50 Szlugow");
  42.  
  43. register_clcmd("zaklad_IleObstawic", "cmd_WpisalIleObstawic");
  44.  
  45. g_iHud = CreateHudSyncObj();
  46.  
  47. //register_clcmd("say /mywish", "cmd_Pokazilezyczen")
  48. }
  49. public plugin_precache()
  50. {
  51. blood = precache_model("sprites/blood.spr");
  52. blood2 = precache_model("sprites/bloodspray.spr");
  53.  
  54. precache_model("models/w_throw.mdl");
  55. //precache_model("models/v_shawins_pknife.mdl");
  56.  
  57. precache_sound("jb_cypis/rambomode.wav");
  58. //precache_sound("jb_cypis/pojedynek.wav");
  59. precache_sound("jb_donaciak/pojedynek_fix.wav");
  60. precache_sound("jb_donaciak/pojedynek2_fix.wav");
  61. precache_sound("jb_donaciak/dodupy_fix.wav");
  62. precache_sound("jb_donaciak/niewstan_fix.wav");
  63.  
  64. }
  65.  
  66. public OnRemoveData(day)
  67. {
  68. set_task(0.1, "task_RemoveData", 666);
  69. }
  70.  
  71. public task_RemoveData() {
  72. /////////// Pojedynek ///////////
  73. if(pojedynek[0] || pojedynek[1])
  74. {
  75. pojedynek[0] = 0;
  76. pojedynek[1] = 0;
  77. }
  78. wybral_zyczenie=false
  79. remove_task()
  80. remove_task(333);
  81. remove_task(TASK_KONIECPOJEDYNKU);
  82. bronie_pojedynek = 0;
  83. kosy=false;
  84. celownik=false;
  85. typ_pojedynku = 0;
  86. kandydaci_pojedynek[0] = 0;
  87. kandydaci_pojedynek[1] = 0;
  88. obstawki[0] = 0;
  89. obstawki[1] = 0;
  90. RegisterHams(false);
  91. /////////// Pojedynek ///////////
  92. }
  93. public OnLastPrisonerShowWish(id)
  94. {
  95. ColorChat(0, GREEN, "[JailBreak]^x01 Wiezien ma^x03 30 sekund^x01 na wybranie zyczenia!")
  96. client_print(0, print_center, "Ostatni wiezien ma zyczenie!")
  97. //set_task(30.0, "KoniecCzasuWybranie")
  98. }
  99. public OnLastPrisonerTakeWish(id, zyczenie)
  100. {
  101. wybral_zyczenie=true;
  102. if(zyczenie == id_wlasne)
  103. {
  104. client_cmd(0, "spk buttons/bell1.wav")
  105. DodajZyczenie(id)
  106.  
  107.  
  108. }
  109. else if(zyczenie == id_bezruch)
  110. {
  111. strip_user_weapons(id);
  112. give_item(id, "weapon_knife");
  113. give_item(id, "weapon_deagle")
  114. cs_set_user_bpammo(id, CSW_DEAGLE, maxAmmo[CSW_DEAGLE]);
  115.  
  116. jail_set_ct_hit_tt(true);
  117.  
  118. for(new i=1; i<=32; i++)
  119. {
  120. if(!is_user_alive(i) || !is_user_connected(i) || cs_get_user_team(i) != CS_TEAM_CT)
  121. continue;
  122.  
  123. strip_user_weapons(i);
  124. give_item(i, "weapon_knife");
  125. jail_set_user_speed(i, 0.1);
  126. }
  127. DodajZyczenie(id)
  128. set_task(40.0, "KoniecCzasu")
  129. }
  130. else if(zyczenie == id_freeday)
  131. {
  132. if(jail_get_days() == PIATEK || jail_get_days() == SOBOTA) //w tych dniach nie mozna wziac fd
  133. return JAIL_HANDLED;
  134.  
  135. user_kill(id);
  136. jail_set_prisoner_free(id);
  137. DodajZyczenie(id)
  138. }
  139. else if(zyczenie == id_duszek)
  140. {
  141. if(jail_get_days() == PIATEK || jail_get_days() == SOBOTA) //w tych dniach nie mozna wziac duszka
  142. return JAIL_HANDLED;
  143.  
  144. user_kill(id);
  145. jail_set_prisoner_ghost(id);
  146. DodajZyczenie(id)
  147. }
  148. else if(zyczenie == id_rambomod)
  149. {
  150. client_cmd(0, "spk jb_cypis/rambomode.wav");
  151. set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 4.0);
  152. show_hudmessage(0, "RamboMod aktywny!");
  153.  
  154. set_user_health(id, 1500);
  155.  
  156. strip_user_weapons(id);
  157. give_item(id, "weapon_knife");
  158. give_item(id, "weapon_awp");
  159. give_item(id, "weapon_m249");
  160. cs_set_user_bpammo(id, CSW_M249, maxAmmo[CSW_M249]);
  161. DodajZyczenie(id)
  162. }
  163. else if(zyczenie == id_pojedynek)
  164. {
  165. pojedynek[0]= id;
  166. WybierzPojedynekMenu(id)
  167. DodajZyczenie(id)
  168. } else if(zyczenie == id_szlugi) {
  169. user_kill(id);
  170. set_user_jbpack(id, get_user_jbpack(id) + 50);
  171. DodajZyczenie(id)
  172. }
  173. return JAIL_CONTINUE;
  174. }
  175. public WybierzPojedynekMenu(id)
  176. {
  177. new menu = menu_create("Pojedynek na:", "Menu1_Handler");
  178. menu_additem(menu, "Pistolety");
  179. menu_additem(menu, "Reszta broni");
  180. menu_additem(menu, "Granaty odlamkowe");
  181. menu_additem(menu, "Piesci");
  182. menu_additem(menu, "Noze");
  183. menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER);
  184. menu_display(id, menu);
  185. }
  186. public Menu1_Handler(id, menu, item)
  187. {
  188. new name[33]
  189. get_user_name(id, name, 32)
  190. switch(item)
  191. {
  192. case 0:
  193. {
  194. new menu = menu_create("Pistolety:", "Menu1_Handler_Pistolety");
  195. menu_additem(menu, "Glock");
  196. menu_additem(menu, "Usp");
  197. menu_additem(menu, "P228");
  198. menu_additem(menu, "Fiveseven");
  199. menu_additem(menu, "Elite");
  200. menu_additem(menu, "Deagle");
  201. menu_setprop(menu, MPROP_EXITNAME, "Wroc");
  202. menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
  203. menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
  204. menu_display(id, menu);
  205. }
  206. case 1:
  207. {
  208. new menu = menu_create("Reszta broni:", "Menu_Handler_ResztaBroni");
  209. menu_additem(menu, "M3");
  210. menu_additem(menu, "XM1014");
  211. menu_additem(menu, "MP5-Navy");
  212. menu_additem(menu, "TMP");
  213. menu_additem(menu, "P90");
  214. menu_additem(menu, "MAC10");
  215. menu_additem(menu, "UMP");
  216. menu_additem(menu, "Galil");
  217. menu_additem(menu, "Famas");
  218. menu_additem(menu, "AK47");
  219. menu_additem(menu, "M4A1");
  220. menu_additem(menu, "SG552");
  221. menu_additem(menu, "AUG");
  222. menu_additem(menu, "Scout");
  223. menu_additem(menu, "AWP");
  224. menu_setprop(menu, MPROP_EXITNAME, "Wroc");
  225. menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
  226. menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
  227. menu_display(id, menu);
  228. }
  229. case 2:
  230. {
  231. kandydaci_pojedynek[0] = id;
  232. bronie_pojedynek = CSW_HEGRENADE;
  233. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 Granaty odlamkowe", name)
  234. MenuPojedynek(id);
  235. }
  236. case 3:
  237. {
  238. kandydaci_pojedynek[0] = id;
  239. bronie_pojedynek = CSW_KNIFE;
  240. kosy=true;
  241. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 Piesci", name)
  242. MenuTypPojedynku(id);
  243. }
  244. case 4:
  245. {
  246. kandydaci_pojedynek[0] = id;
  247. bronie_pojedynek = CSW_KNIFE;
  248. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 Noze", name)
  249. MenuPojedynek(id);
  250. }
  251. case 5:
  252. {
  253. kandydaci_pojedynek[0]=id
  254. bronie_pojedynek = CSW_G3SG1
  255. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 RPG", name)
  256. MenuTypPojedynku(id);
  257.  
  258. }
  259. }
  260.  
  261. }
  262. public Menu1_Handler_Pistolety(id, menu, item)
  263. {
  264. if(item==MENU_EXIT)
  265. {
  266. menu_destroy(menu)
  267. WybierzPojedynekMenu(id)
  268. return;
  269. }
  270. new name[33]
  271. get_user_name(id, name, 32)
  272. switch(item)
  273. {
  274. case 0:
  275. {
  276. kandydaci_pojedynek[0]=id
  277. bronie_pojedynek = CSW_GLOCK18
  278. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 GLOCK18", name)
  279. MenuTypPojedynku(id);
  280.  
  281. }
  282. case 1:
  283. {
  284. kandydaci_pojedynek[0]=id
  285. bronie_pojedynek = CSW_USP
  286. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 USP", name)
  287. MenuTypPojedynku(id);
  288.  
  289. }
  290. case 2:
  291. {
  292. kandydaci_pojedynek[0]=id
  293. bronie_pojedynek = CSW_P228
  294. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 P228", name)
  295. MenuTypPojedynku(id);
  296.  
  297. }
  298. case 3:
  299. {
  300. kandydaci_pojedynek[0]=id
  301. bronie_pojedynek = CSW_FIVESEVEN
  302. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 Fiveseven", name)
  303. MenuTypPojedynku(id);
  304.  
  305. }
  306. case 4:
  307. {
  308. kandydaci_pojedynek[0]=id
  309. bronie_pojedynek = CSW_ELITE
  310. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 Elite", name)
  311. MenuTypPojedynku(id);
  312.  
  313. }
  314. case 5:
  315. {
  316. kandydaci_pojedynek[0]=id
  317. bronie_pojedynek = CSW_DEAGLE
  318. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 Deagle", name)
  319. MenuTypPojedynku(id);
  320.  
  321. }
  322. }
  323. }
  324. public Menu_Handler_ResztaBroni(id, menu, item)
  325. {
  326. if(item==MENU_EXIT)
  327. {
  328. menu_destroy(menu)
  329. WybierzPojedynekMenu(id)
  330. return;
  331. }
  332. new name[33]
  333. get_user_name(id, name, 32)
  334. switch(item)
  335. {
  336. case 0:
  337. {
  338. kandydaci_pojedynek[0]=id
  339. bronie_pojedynek = CSW_M3
  340. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 M3", name)
  341. MenuTypPojedynku(id);
  342.  
  343. }
  344. case 1:
  345. {
  346. kandydaci_pojedynek[0]=id
  347. bronie_pojedynek = CSW_XM1014
  348. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 XM1014", name)
  349. MenuTypPojedynku(id);
  350.  
  351. }
  352. case 2:
  353. {
  354. kandydaci_pojedynek[0]=id
  355. bronie_pojedynek = CSW_MP5NAVY
  356. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 Mp3Navy", name)
  357. MenuTypPojedynku(id);
  358.  
  359. }
  360. case 3:
  361. {
  362. kandydaci_pojedynek[0]=id
  363. bronie_pojedynek = CSW_TMP
  364. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 Tmp", name)
  365. MenuTypPojedynku(id);
  366.  
  367. }
  368. case 4:
  369. {
  370. kandydaci_pojedynek[0]=id
  371. bronie_pojedynek = CSW_P90
  372. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 P90", name)
  373. MenuTypPojedynku(id);
  374.  
  375. }
  376. case 5:
  377. {
  378. kandydaci_pojedynek[0]=id
  379. bronie_pojedynek = CSW_MAC10
  380. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 Mac-10", name)
  381. MenuTypPojedynku(id);
  382.  
  383. }
  384. case 6:
  385. {
  386. kandydaci_pojedynek[0]=id
  387. bronie_pojedynek = CSW_UMP45
  388. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 Ump 45", name)
  389. MenuTypPojedynku(id);
  390.  
  391. }
  392. case 7:
  393. {
  394. kandydaci_pojedynek[0]=id
  395. bronie_pojedynek = CSW_GALIL
  396. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 Galil", name)
  397. MenuTypPojedynku(id);
  398.  
  399. }
  400. case 8:
  401. {
  402. kandydaci_pojedynek[0]=id
  403. bronie_pojedynek = CSW_FAMAS
  404. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 Famas", name)
  405. MenuTypPojedynku(id);
  406.  
  407. }
  408. case 9:
  409. {
  410. kandydaci_pojedynek[0]=id
  411. bronie_pojedynek = CSW_AK47
  412. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 Ak47", name)
  413. MenuTypPojedynku(id);
  414.  
  415. }
  416. case 10:
  417. {
  418. kandydaci_pojedynek[0]=id
  419. bronie_pojedynek = CSW_M4A1
  420. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 M4a1", name)
  421. MenuTypPojedynku(id);
  422.  
  423. }
  424. case 11:
  425. {
  426. kandydaci_pojedynek[0]=id
  427. bronie_pojedynek = CSW_SG552
  428. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 SG552", name)
  429. MenuTypPojedynku(id);
  430.  
  431. }
  432. case 12:
  433. {
  434. kandydaci_pojedynek[0]=id
  435. bronie_pojedynek = CSW_AUG
  436. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 AUG", name)
  437. MenuTypPojedynku(id);
  438.  
  439. }
  440. case 13:
  441. {
  442. kandydaci_pojedynek[0]=id
  443. bronie_pojedynek = CSW_SCOUT
  444. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 Scout", name)
  445. ZoomZapytanie(id);
  446.  
  447. }
  448. case 14:
  449. {
  450. kandydaci_pojedynek[0]=id
  451. bronie_pojedynek = CSW_AWP
  452. ColorChat(0, GREEN, "[Pojedynek]^x03 %s^x01 wybral pojedynek na^x03 AWP", name)
  453. ZoomZapytanie(id);
  454.  
  455. }
  456.  
  457. }
  458. }
  459. public ZoomZapytanie(id)
  460. {
  461. new menu = menu_create("Opcje:", "Zoom_Handler")
  462. menu_additem(menu, "Bez celownika")
  463. menu_additem(menu, "Z celownikiem")
  464. menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER);
  465. menu_display(id, menu)
  466. }
  467.  
  468. public Zoom_Handler(id, menu, item)
  469. {
  470. if(item==0)
  471. {
  472. celownik=true;
  473. ColorChat(0, GREEN, "[Pojedynek]^x01 Opcja:^x03 Bez celownika")
  474. MenuTypPojedynku(id)
  475. }
  476. else
  477. {
  478. ColorChat(0, GREEN, "[Pojedynek]^x01 Opcja:^x03 Z celownikiem")
  479. celownik=false;
  480. MenuTypPojedynku(id)
  481. }
  482. }
  483.  
  484. public MenuTypPojedynku(id) {
  485. new iMenu = menu_create("Wybierz rodzaj pojedynku: ", "TypPojedynku_Handler");
  486.  
  487. menu_additem(iMenu, "Zwykly pojedynek \y[zabijanie na zwyklych zasadach]");
  488. menu_additem(iMenu, "Only HeadShoty \y[mozna zabic tylko przez HeadShota]");
  489. menu_additem(iMenu, "1shot1kill \y[jeden strzal zabija]");
  490.  
  491. menu_setprop(iMenu, MPROP_EXIT, MEXIT_NEVER);
  492. menu_display(id, iMenu);
  493. }
  494.  
  495. public TypPojedynku_Handler(id, iMenu, iItem) {
  496. new iTyp;
  497.  
  498. if(iItem == MENU_EXIT) {
  499. iTyp = 0;
  500. } else {
  501. iTyp = iItem;
  502. }
  503.  
  504. switch(iTyp) {
  505. case 0: ColorChat(0, GREEN, "[Pojedynek]^x01 Rodzaj pojedynku:^x03 Zwykly");
  506. case 1: ColorChat(0, GREEN, "[Pojedynek]^x01 Rodzaj pojedynku:^x03 Only HeadShoty");
  507. case 2: ColorChat(0, GREEN, "[Pojedynek]^x01 Rodzaj pojedynku:^x03 1shot1kill");
  508. }
  509.  
  510. typ_pojedynku = iTyp;
  511. MenuPojedynek(id);
  512.  
  513. menu_destroy(iMenu);
  514. }
  515.  
  516. public KoniecCzasu() ColorChat(0, GREEN, "[JailBreak]^x01 40 sekund minelo, ct moze wpisac killa!")
  517. public KoniecCzasuWybranie() if(!wybral_zyczenie) ColorChat(0, GREEN, "[JailBreak]^x01 30 sekund minelo, ct moze zabic wieznia!")
  518. /////////// Pojedynek ///////////
  519. public MenuPojedynek(id)
  520. {
  521. new menu = menu_create("Pojedynek Z:", "Handel_Pojedynek");
  522. for(new i=1; i<=32; i++)
  523. {
  524. if(!is_user_alive(i) || !is_user_connected(i) || cs_get_user_team(i) != CS_TEAM_CT)
  525. continue;
  526. new name[64];
  527. get_user_name(i, name, 63);
  528. menu_additem(menu, name);
  529. }
  530. menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER);
  531. menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
  532. menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
  533. menu_display(id, menu);
  534. }
  535.  
  536. public Handel_Pojedynek(id, menu, item)
  537. {
  538. if(kandydaci_pojedynek[0] != id || kandydaci_pojedynek[1] || !is_user_alive(id))
  539. return;
  540.  
  541. if(item == MENU_EXIT)
  542. {
  543. menu_display(id, menu);
  544. return;
  545. }
  546.  
  547. new acces, callback, data[3], szName2[64];
  548. menu_item_getinfo(menu, item, acces, data, 2, szName2, 63, callback);
  549.  
  550. new kandydat = get_user_index(szName2);
  551. if(!is_user_alive(kandydat)) {
  552. MenuPojedynek(id);
  553. return;
  554. }
  555.  
  556. kandydaci_pojedynek[1] = kandydat;
  557. RegisterHams(true);
  558.  
  559. ZacznijObstawianie();
  560. }
  561.  
  562. ZacznijObstawianie() {
  563. new iMenu, szName[2][32];
  564.  
  565. get_user_name(kandydaci_pojedynek[0], szName[0], 31);
  566. get_user_name(kandydaci_pojedynek[1], szName[1], 31);
  567.  
  568. show_menu(kandydaci_pojedynek[0], 1023, " ", 1);
  569. show_menu(kandydaci_pojedynek[1], 1023, " ", 1);
  570.  
  571. obstawki[0] = obstawki[1] = 0;
  572.  
  573. iMenu = menu_create("Kogo chcesz obstawic?^nWybieraj rozwaznie, gdyz wyboru nie da sie cofnac!", "Obstawianie_Handler");
  574.  
  575. menu_additem(iMenu, szName[0]);
  576. menu_additem(iMenu, szName[1]);
  577.  
  578. menu_setprop(iMenu, MPROP_EXITNAME, "\rRezygnuj z obstawiania");
  579.  
  580. for(new i = 1; i < 33; i++) {
  581. kogo_obstawia[i] = -1;
  582. ile_obstawia[i] = 0;
  583.  
  584. if(!is_user_connected(i) || is_user_hltv(i) || kandydaci_pojedynek[0] == i || kandydaci_pojedynek[1] == i) {
  585. continue;
  586. }
  587.  
  588. menu_display(i, iMenu);
  589. ColorChat(i, GREEN, "***Zaklady***^x01 Posiadasz^x04 %d szlug(i/ow)", get_user_jbpack(i));
  590. ColorChat(i, GREEN, "***Zaklady***^x01 Posiadasz^x04 %d szlug(i/ow)", get_user_jbpack(i));
  591. }
  592.  
  593. czas_do_pojedynku = 12;
  594. set_task(1.0, "OdliczajObstawianie", 333, _, _, "b");
  595. }
  596.  
  597. public Obstawianie_Handler(id, iMenu, iItem) {
  598. if(0 <= iItem <= 1) {
  599. kogo_obstawia[id] = iItem;
  600. ile_obstawia[id] = 0;
  601.  
  602. new szNick[32]; get_user_name(kandydaci_pojedynek[iItem], szNick, 31);
  603.  
  604. ColorChat(id, GREEN, "***Zaklady***^x01 Wybrales^x03 %s", szNick);
  605. ColorChat(id, GREEN, "***Zaklady***^x01 Wpisz teraz, ile szlugow zamierzasz postawic. Maksymalnie mozna postawic^x03 300 szlugow!");
  606.  
  607. client_cmd(id, "messagemode zaklad_IleObstawic");
  608. }
  609. }
  610.  
  611. public cmd_WpisalIleObstawic(id) {
  612. new szIleObstawia[32], iIleObstawia, iTarget = kogo_obstawia[id];
  613.  
  614. read_argv(1, szIleObstawia, 31);
  615. iIleObstawia = str_to_num(szIleObstawia);
  616.  
  617. if(iTarget == -1 || czas_do_pojedynku <= 0) {
  618. ColorChat(id, GREEN, "***Zaklady***^x01 Nie zdazyles!");
  619. } else {
  620. new iIloscSzlugow = get_user_jbpack(id);
  621.  
  622. if(iIloscSzlugow <= 0) {
  623. ColorChat(id, GREEN, "***Zaklady***^x01 Nie posiadasz zadnych szlugow!");
  624. } else {
  625. if(iIleObstawia <= 0) {
  626. ColorChat(id, GREEN, "***Zaklady***^x01 Niepoprawna ilosc!");
  627. client_cmd(id, "messagemode zaklad_IleObstawic");
  628. } else {
  629. new szNick[2][32];
  630.  
  631. if(iIloscSzlugow < iIleObstawia) {
  632. iIleObstawia = iIloscSzlugow;
  633. }
  634.  
  635. if(iIleObstawia > 300) {
  636. iIleObstawia = 300;
  637. }
  638.  
  639. obstawki[iTarget] += iIleObstawia;
  640. ile_obstawia[id] = iIleObstawia;
  641.  
  642. get_user_name(id, szNick[0], 31);
  643. get_user_name(kandydaci_pojedynek[iTarget], szNick[1], 31);
  644.  
  645. ColorChat(0, GREEN, "***Zaklady***^x03 %s^x01 postawil na^x03 %s^x04 %d szlug(i/ow)!", szNick[0], szNick[1], iIleObstawia);
  646. }
  647. }
  648. }
  649.  
  650. return PLUGIN_HANDLED;
  651. }
  652.  
  653. public OdliczajObstawianie() {
  654. if(czas_do_pojedynku <= 0) {
  655. ClearSyncHud(0, g_iHud);
  656. PojedynekStart();
  657. remove_task(333);
  658. return PLUGIN_CONTINUE;
  659. }
  660.  
  661. new szLiczba[8], szName[2][32];
  662.  
  663. get_user_name(kandydaci_pojedynek[0], szName[0], 31);
  664. get_user_name(kandydaci_pojedynek[1], szName[1], 31);
  665.  
  666. set_hudmessage(255, 0, 0, -1.0, 0.15, 2, 0.02, 1.0, 0.01, 0.2, 2);
  667. ShowSyncHudMsg(0, g_iHud, "%s (%d szlugow) vs %s (%d szlugow)^nKoniec obstawiania za %d!", szName[0], obstawki[0], szName[1], obstawki[1], czas_do_pojedynku);
  668.  
  669. if(czas_do_pojedynku <= 10) {
  670. num_to_word(czas_do_pojedynku , szLiczba, 7);
  671. client_cmd(0, "spk ^"vox/%s^"", szLiczba);
  672. }
  673.  
  674. czas_do_pojedynku --;
  675.  
  676. return PLUGIN_CONTINUE;
  677. }
  678.  
  679. RozdajObstawioneSzlugi(iZwyciezca) {
  680. new iTarget ,Float:fSuma = float(obstawki[0]+obstawki[1]), iNagroda;
  681. for(new i = 1; i < 33; i++) {
  682. if(!is_user_connected(i) || is_user_hltv(i) || kandydaci_pojedynek[0] == i || kandydaci_pojedynek[1] == i) {
  683. continue;
  684. }
  685.  
  686. iTarget = kogo_obstawia[i];
  687.  
  688. if(iTarget == iZwyciezca && ile_obstawia[i] > 0) {
  689. iNagroda = floatround(fSuma * (float(ile_obstawia[i]) / float(obstawki[iTarget])));
  690.  
  691. ColorChat(i, GREEN, "***Zaklady***^x01 BRAWO! Udalo Ci sie wygrac^x04 %d szlug(i/ow)", iNagroda);
  692. set_user_jbpack(i, get_user_jbpack(i) + iNagroda);
  693. }
  694.  
  695.  
  696. //kogo_obstawia[i] = -1;
  697. }
  698.  
  699. iNagroda = floatround(0.05 * fSuma);
  700. ColorChat(pojedynek[iZwyciezca], GREEN, "***Zaklady***^x01 BRAWO! Za wygrana dostajesz^x04 %d szlug(i/ow)!", iNagroda);
  701. set_user_jbpack(pojedynek[iZwyciezca], get_user_jbpack(pojedynek[iZwyciezca]) + iNagroda);
  702. }
  703.  
  704. PojedynekStart() {
  705. pojedynek[0] = kandydaci_pojedynek[0];
  706. pojedynek[1] = kandydaci_pojedynek[1];
  707.  
  708. new szName[2][32];
  709. get_user_name(pojedynek[0], szName[0], 31);
  710. get_user_name(pojedynek[1], szName[1], 31);
  711.  
  712. czas_do_konca_pojedynku = 120;
  713. remove_task(TASK_KONIECPOJEDYNKU);
  714. set_task(1.0, "task_OdliczajKoniecPojedynku", TASK_KONIECPOJEDYNKU, _, _, "b");
  715.  
  716. new iTarget, iIloscSzlugow, iIleObstawia, Float:fSuma = float(obstawki[0]+obstawki[1]);
  717. for(new i = 1; i < 33; i++) {
  718. if(!is_user_connected(i) || is_user_hltv(i) || kandydaci_pojedynek[0] == i || kandydaci_pojedynek[1] == i || ile_obstawia[i] <= 0) {
  719. continue;
  720. }
  721.  
  722. iTarget = kogo_obstawia[i];
  723.  
  724. if(iTarget != -1) {
  725. iIloscSzlugow = get_user_jbpack(i);
  726. iIleObstawia = ile_obstawia[i];
  727.  
  728. if(iIloscSzlugow < iIleObstawia) {
  729. iIleObstawia = ile_obstawia[i] = iIloscSzlugow;
  730.  
  731. ColorChat(i, GREEN, "***Zaklady***^x01 Braklo Ci troche szlugow, postawiono wiec ostatecznie^x04 %d szlug(i/ow)", iIleObstawia);
  732. }
  733.  
  734. set_user_jbpack(i, iIloscSzlugow - iIleObstawia);
  735. ColorChat(i, GREEN, "***Zaklady***^x01 Jezeli wygra^x03 %s^x01, zgarniesz^x04 %d szlug(i/ow)", szName[iTarget], floatround(fSuma * (float(iIleObstawia) / float(obstawki[iTarget]))));
  736. }
  737.  
  738. }
  739.  
  740. ColorChat(0, GREEN, "^x04***Pojedynek***^x03 %s^x01 walczy z^x03 %s", szName[0], szName[1]);
  741. client_print(0, print_center, "%s vs %s", szName[0], szName[1]);
  742.  
  743. ColorChat(pojedynek[0], GREEN, "***Zaklady***^x01 Jezeli wygrasz, zgarniesz^x04 %d szlug(i/ow)", floatround(0.05 * float(obstawki[0]+obstawki[1])));
  744. ColorChat(pojedynek[1], GREEN, "***Zaklady***^x01 Jezeli wygrasz, zgarniesz^x04 %d szlug(i/ow)", floatround(0.05 * float(obstawki[0]+obstawki[1])));
  745.  
  746. new iEnt;
  747.  
  748. while((iEnt = fm_find_ent_by_class(iEnt, "grenade"))) {
  749. if(pev_valid(iEnt)) {
  750. fm_remove_entity(iEnt);
  751. }
  752. }
  753.  
  754. new iDualStart = random_num(0, 1)
  755. switch(iDualStart)
  756. {
  757. case 0:client_cmd(0, "spk sound/jb_donaciak/pojedynek_fix.wav");
  758. case 1:client_cmd(0, "spk sound/jb_donaciak/pojedynek2_fix.wav");
  759. }
  760.  
  761. set_user_rendering(pojedynek[0], kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 10);
  762. set_user_rendering(pojedynek[1], kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 10);
  763.  
  764. jail_set_user_block(pojedynek[0], true)
  765. jail_set_user_block(pojedynek[1], true);
  766.  
  767. set_user_health(pojedynek[0], 100);
  768. set_user_health(pojedynek[1], 100);
  769.  
  770. strip_user_weapons(pojedynek[0]);
  771. strip_user_weapons(pojedynek[1]);
  772.  
  773. if(bronie_pojedynek == CSW_G3SG1)
  774. {
  775. server_cmd("jail_add_rpg %d", pojedynek[0]);
  776. server_cmd("jail_add_rpg %d", pojedynek[1]);
  777. celownik=true;
  778. return;
  779. }
  780.  
  781. new weapon_name[24];
  782. get_weaponname(bronie_pojedynek, weapon_name, 23);
  783.  
  784. new ent = give_item(pojedynek[0], weapon_name);
  785. new ent2 = give_item(pojedynek[1], weapon_name);
  786.  
  787. if(bronie_pojedynek == CSW_KNIFE)
  788. {
  789. if(kosy)
  790. {
  791. //set_pev(id, pev_viewmodel2, "models/v_shawins_pknife.mdl");
  792. //set_pev(id, pev_weaponmodel2, "models/p_knife.mdl");
  793.  
  794. //set_pev(pojedynek[1], pev_viewmodel2, "models/v_shawins_pknife.mdl");
  795. //set_pev(pojedynek[1], pev_weaponmodel2, "models/p_knife.mdl");
  796. set_pev(pojedynek[0], pev_viewmodel2, "models/v_knife.mdl");
  797. set_pev(pojedynek[0], pev_weaponmodel2, "models/p_knife.mdl");
  798.  
  799. set_pev(pojedynek[1], pev_viewmodel2, "models/v_knife.mdl");
  800. set_pev(pojedynek[1], pev_weaponmodel2, "models/p_knife.mdl");
  801. cs_set_user_armor(pojedynek[0], 0, CS_ARMOR_NONE)
  802. cs_set_user_armor(pojedynek[1], 0, CS_ARMOR_NONE)
  803. return;
  804.  
  805.  
  806. }
  807.  
  808. }
  809.  
  810. if(bronie_pojedynek != CSW_HEGRENADE)
  811. {
  812. cs_set_weapon_ammo(ent, 1);
  813. cs_set_weapon_ammo(ent2, 1);
  814. }
  815. }
  816.  
  817. public task_OdliczajKoniecPojedynku(iTaskId) {
  818. if(!is_user_alive(pojedynek[0]) || !is_user_alive(pojedynek[1])) {
  819. remove_task(TASK_KONIECPOJEDYNKU);
  820. return PLUGIN_CONTINUE;
  821. }
  822.  
  823. czas_do_konca_pojedynku --;
  824.  
  825. switch(czas_do_konca_pojedynku) {
  826. case 0: {
  827. for(new i = 1; i < 33; i++) {
  828. if(!is_user_connected(i) || is_user_hltv(i) || pojedynek[0] == i || pojedynek[1] == i || ile_obstawia[i] <= 0) {
  829. continue;
  830. }
  831.  
  832. set_user_jbpack(i, get_user_jbpack(i) + ile_obstawia[i]);
  833. ile_obstawia[i] = 0;
  834. kogo_obstawia[i] = -1;
  835.  
  836. }
  837.  
  838. user_silentkill(pojedynek[0]);
  839. user_silentkill(pojedynek[1]);
  840.  
  841. ColorChat(0, GREEN, "***Zaklady***^x01 Czas minal! Wszystkie szlugi z zakladow zostaly zwrocone.");
  842. }
  843.  
  844. case 1..10: {
  845. new szLiczba[8];
  846.  
  847. num_to_word(czas_do_konca_pojedynku , szLiczba, 7);
  848. client_cmd(0, "spk ^"vox/%s^"", szLiczba);
  849. }
  850. }
  851.  
  852. set_hudmessage(0, 255, 0, -1.0, 0.15, 2, 0.02, 1.0, 0.01, 0.2, 2);
  853. ShowSyncHudMsg(0, g_iHud, "Trwa pojedynek: %s^nZakonczenie za %d!", (typ_pojedynku == 0) ? "Zwykly" : (typ_pojedynku == 1) ? "Only HS" : "1shot1kill", czas_do_konca_pojedynku);
  854.  
  855. return PLUGIN_CONTINUE;
  856. }
  857.  
  858. public TakeDamage(id, ent, attacker, Float:damage, damagebits)
  859. return vTracerAttack(id, attacker, ent);
  860.  
  861. public TraceAttack(id, attacker, Float:damage, Float:direction[3], tracehandle, damagebits)
  862. return vTracerAttack(id, attacker, -1);
  863.  
  864. vTracerAttack(id, attacker, ent)
  865. {
  866. if(!pojedynek[0] || !is_user_connected(id) || id == attacker)
  867. return HAM_IGNORED;
  868.  
  869. if((kandydaci_pojedynek[0] == id || kandydaci_pojedynek[1] == id) && czas_do_pojedynku > 0) {
  870. return HAM_SUPERCEDE;
  871. }
  872.  
  873. if(pojedynek[0] == id && pojedynek[1] != attacker)
  874. return HAM_SUPERCEDE;
  875.  
  876. if(pojedynek[0] == attacker && pojedynek[1] != id)
  877. return HAM_SUPERCEDE;
  878.  
  879. if(is_user_connected(attacker)) {/*
  880. if(typ_pojedynku == 1 && get_pdata_int(id, 75, 5) != HIT_HEAD) {
  881. return HAM_SUPERCEDE;
  882. }
  883. */
  884. if(typ_pojedynku == 2) {
  885. SetHamParamFloat(4, 999.0);
  886. return HAM_HANDLED;
  887. }
  888.  
  889. if(bronie_pojedynek == CSW_KNIFE && ent != -1 && !kosy)
  890. {
  891. if(ent == attacker)
  892. return HAM_SUPERCEDE;
  893.  
  894. new Float:ViewAngle[3], iOrigin[3];
  895. for(new i=0; i<3; i++)
  896. ViewAngle[i] = random_float(-50.0, 50.0);
  897.  
  898. get_user_origin(id, iOrigin);
  899. message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
  900. write_byte(TE_BLOODSPRITE);
  901. write_coord(iOrigin[0]);
  902. write_coord(iOrigin[1]);
  903. write_coord(iOrigin[2]);
  904. write_short(blood2);
  905. write_short(blood);
  906. write_byte(229);
  907. write_byte(25);
  908. message_end();
  909.  
  910. set_pev(id, pev_punchangle, ViewAngle);
  911. SetHamParamEntity(2, attacker);
  912. return HAM_IGNORED;
  913. }
  914. }
  915.  
  916. return HAM_IGNORED;
  917. }
  918.  
  919.  
  920. public TraceLine(Float:StartPos[3],Float:EndPos[3], SkipMonsters, id, Trace)
  921. {
  922. if(!is_user_alive(id))
  923. return FMRES_IGNORED;
  924.  
  925. if(typ_pojedynku != 1)
  926. return FMRES_IGNORED;
  927.  
  928. new Hited = get_tr2(Trace, TR_pHit);
  929. new HitGroup = (1 << get_tr2(Trace, TR_iHitgroup));
  930.  
  931. if(!is_user_alive(Hited))
  932. return FMRES_IGNORED;
  933.  
  934. if(!(HitGroup & (1 << 1)))
  935. {
  936. set_tr2(Trace, TR_flFraction, 1.0);
  937. return FMRES_SUPERCEDE;
  938. }
  939. return FMRES_IGNORED;
  940. }
  941.  
  942. public SmiercGraczaPost(id, attacker, shouldgib)
  943. {
  944. if(!is_user_connected(id))
  945. return HAM_IGNORED;
  946.  
  947. if(id == pojedynek[1]) {
  948. new iRandomSound = random_num(0,1)
  949. switch(iRandomSound)
  950. {
  951. case 0:client_cmd(0, "spk sound/jb_donaciak/dodupy_fix.wav")
  952. case 1:client_cmd(0, "spk sound/jb_donaciak/niewstan_fix.wav")
  953. }
  954.  
  955. jail_set_user_block(id, false);
  956.  
  957. client_print(0, print_center, "Losowanie przeciwnika...")
  958. set_task(2.0, "SzukajPrzeciwnika")
  959.  
  960. RozdajObstawioneSzlugi(0);
  961. }
  962.  
  963. if(id == pojedynek[0]) {
  964. RozdajObstawioneSzlugi(1);
  965. }
  966.  
  967.  
  968. if(kandydaci_pojedynek[1] == id) {
  969. client_print(0, print_center, "Losowanie przeciwnika...")
  970. set_task(2.0, "SzukajPrzeciwnika");
  971. }
  972.  
  973. return HAM_IGNORED;
  974. }
  975.  
  976. public WeaponAttack(ent)
  977. {
  978. new id = get_pdata_cbase(ent, 41, 4);
  979. if(pojedynek[0] == id || pojedynek[1] == id)
  980. {
  981. if(bronie_pojedynek == CSW_KNIFE && !kosy)
  982. StworzKnife(id);
  983. else if(bronie_pojedynek != CSW_KNIFE)
  984. cs_set_user_bpammo(id, bronie_pojedynek, 1);
  985. }
  986. }
  987.  
  988. public client_disconnect(id)
  989. {
  990. if(pojedynek[1] == id && czas_do_pojedynku <= 0) {
  991. RozdajObstawioneSzlugi(0);
  992.  
  993. client_print(0, print_center, "Losowanie przeciwnika...");
  994. set_task(2.0, "SzukajPrzeciwnika");
  995. }
  996.  
  997. if(pojedynek[0] == id && czas_do_pojedynku <= 0) {
  998. RozdajObstawioneSzlugi(1);
  999. }
  1000.  
  1001.  
  1002. if(kandydaci_pojedynek[1] == id && czas_do_pojedynku > 0) {
  1003. client_print(0, print_center, "Losowanie przeciwnika...");
  1004. set_task(2.0, "SzukajPrzeciwnika");
  1005. }
  1006.  
  1007. }
  1008.  
  1009. public SzukajPrzeciwnika()
  1010. {
  1011. kandydaci_pojedynek[1] = RandomPlayer(2);
  1012. if(!kandydaci_pojedynek[1])
  1013. return;
  1014.  
  1015. remove_task(333);
  1016. remove_task(TASK_KONIECPOJEDYNKU);
  1017. ZacznijObstawianie();
  1018. }
  1019. /*
  1020. if(is_user_alive(pojedynek[0]))
  1021. set_user_health(pojedynek[0], 100);
  1022.  
  1023. set_user_rendering(pojedynek[1], kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 10);
  1024.  
  1025. jail_set_user_block(pojedynek[1], true);
  1026. set_user_health(pojedynek[1], 100);
  1027. strip_user_weapons(pojedynek[1]);
  1028.  
  1029. new weapon_name[24]
  1030. get_weaponname(bronie_pojedynek, weapon_name, 23);
  1031. new ent = give_item(pojedynek[1], weapon_name);
  1032.  
  1033. if(bronie_pojedynek == CSW_G3SG1)
  1034. {
  1035. server_cmd("jail_add_rpg %d", pojedynek[1]);
  1036. celownik=true;
  1037. return;
  1038. }
  1039.  
  1040. if(bronie_pojedynek == CSW_KNIFE)
  1041. {
  1042. if(kosy)
  1043. {
  1044. set_pev(pojedynek[1], pev_viewmodel2, "models/v_knife.mdl");
  1045. set_pev(pojedynek[1], pev_weaponmodel2, "models/p_knife.mdl");
  1046. return;
  1047.  
  1048. }
  1049. else if(!kosy)
  1050. {
  1051. set_pev(pojedynek[1], pev_viewmodel2, "models/v_knife.mdl");
  1052. set_pev(pojedynek[1], pev_weaponmodel2, "models/p_knife.mdl");
  1053. return;
  1054.  
  1055. }
  1056.  
  1057. }
  1058.  
  1059. if(bronie_pojedynek != CSW_HEGRENADE)
  1060. cs_set_weapon_ammo(ent, 1);
  1061. }*/
  1062.  
  1063. public RegisterHams(bool:wartosc)
  1064. {
  1065. if(wartosc)
  1066. {
  1067. if(fHamKill)
  1068. EnableHamForward(fHamKill);
  1069. else
  1070. fHamKill = RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1);
  1071.  
  1072. if(fHamDamage)
  1073. EnableHamForward(fHamDamage);
  1074. else
  1075. fHamDamage = RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  1076.  
  1077. if(fHamTrace)
  1078. EnableHamForward(fHamTrace);
  1079. else
  1080. fHamTrace = RegisterHam(Ham_TraceAttack, "player", "TraceAttack");
  1081.  
  1082.  
  1083. if(!fTraceLine) {
  1084. fTraceLine = register_forward(FM_TraceLine, "TraceLine");
  1085. }
  1086.  
  1087. if(bronie_pojedynek != CSW_HEGRENADE)
  1088. {
  1089. if(fHamWeapon[bronie_pojedynek])
  1090. EnableHamForward(fHamWeapon[bronie_pojedynek]);
  1091. else
  1092. {
  1093. new WeaponName[24];
  1094. get_weaponname(bronie_pojedynek, WeaponName, 23);
  1095. fHamWeapon[bronie_pojedynek] = RegisterHam(Ham_Weapon_PrimaryAttack, WeaponName, "WeaponAttack", 1);
  1096. }
  1097. }
  1098.  
  1099. if(bronie_pojedynek == CSW_HEGRENADE && !fDropGranade)
  1100. fDropGranade = register_forward(FM_SetModel, "SetModel", 1);
  1101.  
  1102. if(bronie_pojedynek == CSW_KNIFE && !fDotykKnife)
  1103. fDotykKnife = register_forward(FM_Touch, "TouchKnife");
  1104. }
  1105. else
  1106. {
  1107. if(fHamKill)
  1108. DisableHamForward(fHamKill);
  1109.  
  1110. if(fHamDamage)
  1111. DisableHamForward(fHamDamage);
  1112.  
  1113. if(fHamTrace)
  1114. DisableHamForward(fHamTrace);
  1115.  
  1116.  
  1117. if(fTraceLine) {
  1118. unregister_forward(FM_Touch, fTraceLine);
  1119. }
  1120.  
  1121. if(fHamWeapon[bronie_pojedynek])
  1122. DisableHamForward(fHamWeapon[bronie_pojedynek]);
  1123.  
  1124. if(fDropGranade)
  1125. {
  1126. unregister_forward(FM_SetModel, fDropGranade, 1);
  1127. fDropGranade = 0;
  1128. }
  1129.  
  1130. if(fDotykKnife)
  1131. {
  1132. unregister_forward(FM_Touch, fDotykKnife);
  1133. fDotykKnife = 0;
  1134. }
  1135.  
  1136. }
  1137. }
  1138. /////////// Pojedynek ///////////
  1139. public CmdStart(id, uc_handle, seed)
  1140. {
  1141. if(!is_user_connected(id) || !is_user_alive(id))
  1142. return PLUGIN_CONTINUE;
  1143.  
  1144. if(celownik)
  1145. set_uc(uc_handle, UC_Buttons, get_uc(uc_handle, UC_Buttons) & ~IN_ATTACK2);
  1146.  
  1147. return PLUGIN_CONTINUE;
  1148. }
  1149. public SetModel(ent, model[])
  1150. {
  1151. if(!pev_valid(ent))
  1152. return FMRES_IGNORED;
  1153.  
  1154. if(!equali(model, "models/w_hegrenade.mdl"))
  1155. return FMRES_IGNORED;
  1156.  
  1157. new id = pev(ent, pev_owner);
  1158. if(pojedynek[0] == id || pojedynek[1] == id)
  1159. cs_set_user_bpammo(id, CSW_HEGRENADE, 2);
  1160.  
  1161. return FMRES_IGNORED;
  1162. }
  1163.  
  1164. public TouchKnife(ent, id)
  1165. {
  1166. if(!pev_valid(ent))
  1167. return FMRES_IGNORED
  1168.  
  1169. new class[32];
  1170. pev(ent, pev_classname, class, 31);
  1171.  
  1172. if(!equal(class, "throw_knife"))
  1173. return FMRES_IGNORED;
  1174.  
  1175. if((0 < id <= MAX) && is_user_alive(id))
  1176. {
  1177. new attacker = pev(ent, pev_owner);
  1178. ExecuteHamB(Ham_TakeDamage, id, ent, attacker, 30.0, DMG_BULLET);
  1179. }
  1180. engfunc(EngFunc_RemoveEntity, ent);
  1181. return FMRES_IGNORED;
  1182. }
  1183.  
  1184. public StworzKnife(id)
  1185. {
  1186. new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
  1187. new Float:vAngles[3], Float:nVelocity[3], Float:vOriginf[3], vOrigin[3];
  1188.  
  1189. set_pev(ent, pev_owner, id);
  1190. set_pev(ent, pev_classname, "throw_knife");
  1191. engfunc(EngFunc_SetModel, ent, "models/w_throw.mdl");
  1192. set_pev(ent, pev_gravity, 0.25);
  1193.  
  1194. get_user_origin(id, vOrigin, 1);
  1195. IVecFVec(vOrigin, vOriginf);
  1196. set_pev(ent, pev_origin,vOriginf);
  1197.  
  1198. static Float:player_angles[3];
  1199. pev(id, pev_angles, player_angles);
  1200. player_angles[2] = 0.0;
  1201. set_pev(ent, pev_angles, player_angles);
  1202.  
  1203. pev(id, pev_v_angle, vAngles);
  1204. set_pev(ent, pev_v_angle, vAngles);
  1205.  
  1206. pev(id, pev_view_ofs, vAngles);
  1207. set_pev(ent, pev_view_ofs, vAngles);
  1208.  
  1209. set_pev(ent, pev_movetype, MOVETYPE_TOSS);
  1210. set_pev(ent, pev_solid, 2);
  1211.  
  1212. velocity_by_aim(id, 700, nVelocity);
  1213. set_pev(ent, pev_velocity, nVelocity);
  1214.  
  1215. set_pev(ent, pev_effects, pev(ent, pev_effects) & ~EF_NODRAW);
  1216. set_pev(ent, pev_sequence, 0);
  1217. set_pev(ent, pev_framerate, 1.0);
  1218. }
  1219. public DodajZyczenie(id)
  1220. {
  1221. if(get_playersnum()>5)
  1222. {
  1223.  
  1224. new g_iVault = nvault_open("ZapisZyczen")
  1225. new Nick[33]; get_user_name(id, Nick, 32)
  1226. new IloscZyczen[32];
  1227. nvault_get(g_iVault, Nick, IloscZyczen, 31)
  1228. if(!nvault_get(g_iVault, Nick, IloscZyczen, 31))
  1229. {
  1230. /*new szDane[32];
  1231. parse(IloscZyczen, szDane, 31);
  1232. IloscZyczen[id] = str_to_num(szDane);
  1233. IloscZyczen[id]++
  1234. new dane[256]; formatex(dane, 255, "%d", IloscZyczen[id])
  1235. nvault_set(g_iVault ,Nick, dane);
  1236.  
  1237. nvault_close(g_iVault)
  1238. return;*/
  1239. IloscZyczen[id]=0
  1240. }
  1241. new szDane[32];
  1242. parse(IloscZyczen, szDane, 31);
  1243. IloscZyczen[id] = str_to_num(szDane);
  1244. IloscZyczen[id]++
  1245. new dane[256]; formatex(dane, 255, "%d", IloscZyczen[id])
  1246. nvault_set(g_iVault ,Nick, dane);
  1247. nvault_close(g_iVault)
  1248. }
  1249.  
  1250. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement