Advertisement
Guest User

Untitled

a guest
Mar 24th, 2012
1,220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 173.26 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. #define STANDARDOWA_SZYBKOSC 250.0
  16. #define STANDARDTIMESTEPSOUND 400
  17.  
  18. new bool:bSilent[33]
  19. new Odliczanie[33]
  20. new itemo[33]
  21.  
  22. #define ZADANIE_POKAZ_INFORMACJE 672
  23. #define ZADANIE_WSKRZES 704
  24. #define ZADANIE_WYSZKOLENIE_SANITARNE 736
  25. #define ZADANIE_POKAZ_REKLAME 768
  26. #define ZADANIE_USTAW_SZYBKOSC 832
  27. #define ZADANIE_ODBIJAJ -96
  28.  
  29. #define TASKID_REVIVE 1337
  30. #define TASKID_RESPAWN 1338
  31. #define TASKID_CHECKRE 1339
  32. #define TASKID_CHECKST 13310
  33. #define TASKID_ORIGIN 13311
  34. #define TASKID_SETUSER 13312
  35.  
  36. #define pev_zorigin pev_fuser4
  37. #define seconds(%1) ((1<<12) * (%1))
  38. #define Keysrod (1<<0)|(1<<1)|(1<<9) // Keys: 1234567890
  39.  
  40. new SyncHudObj
  41. new SyncHudObj2
  42. new SyncHudObj3
  43. new g_msg_screenfade
  44.  
  45. new sprite_white
  46. new sprite_blast
  47.  
  48. new g_vault
  49.  
  50. new podkladajacy
  51. new rozbrajajacy
  52.  
  53. new doswiadczenia_za_zabojstwo
  54. new doswiadczenie_za_bombe
  55. new doswiadczenie_za_wygrana
  56. new doswiadczenie_za_hs
  57. new oddaj_id[33]
  58. new bool:dostal_przedmiot[33]
  59.  
  60. new Ubrania_CT[4][] = {"sas","gsg9","urban","gign"}
  61. new Ubrania_Terro[4][] = {"arctic","leet","guerilla","terror"}
  62.  
  63. 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}
  64. 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}
  65.  
  66. new g_msgHostageAdd, g_msgHostageDel
  67.  
  68. new pozostale_elektromagnesy[33]
  69.  
  70. new pcvar_ilosc_elektromagnesow, pcvar_zasieg, pcvar_widocznosc_fali
  71.  
  72. new informacje_przedmiotu_gracza[33][2]
  73. new const nazwy_przedmiotow[][] = {
  74. "Nema",
  75. "Napad Cizme", //1
  76. "Dvostruki Prsluk", //2
  77. "Robusna Vest", //3
  78. "Veteran sa Nozem", //4
  79. "Iznenadjenje Enemi", //5
  80. "Manto Partizana", //6
  81. "Morfijum", //7
  82. "Noz Komandosa", //8
  83. "Prirucnik Spijuna", //9
  84. "Misterija Generala", //10
  85. "Nindza Beleske", //11
  86. "Misterija Vojske", //12
  87. "AWP Snajper", //13
  88. "Adrenalin", //14
  89. "Misterija Ramba", //15
  90. "Obuka Voda", //16
  91. "NASA Prsluk", //17
  92. "Obuceni Veteran", //18
  93. "Komplet Za Prvu Pomoc", //19
  94. "Eliminator", //20
  95. "Titanijum Municija", //21
  96. "Municija Pukovnika", //22
  97. "Zaustavi da se siri", //23
  98. "SWAT Stit", //24
  99. "Obuceni Regrut", //25
  100. "Nomekov Oklop", //26
  101. "Beleske Kapetana", //27
  102. "Jet Modul", //28
  103. "Stil Jeremejskog Ratnika", //29
  104. "Misterija Komandosa", //30
  105. "Misterija Gieki", //31
  106. "Oprema Generala", //32
  107. "San Komandosa", //33
  108. "Deagle Master", //34
  109. "Sacmara Pro", //35
  110. "Telo Duxa" , //36
  111. "MC DONALD", //37
  112. "Set Lekara", //38
  113. "Eulia", //39
  114. "Zver", //40
  115. "Monari", //41
  116. "Rucak Generala", //42
  117. "Privatni Kondon", //43
  118. "Azijski Zraci", //44
  119. "Lik Jabola", //45
  120. "Oklop Samuraja", //46
  121. "Unik Gorusia", //47
  122. "Madjionicar", //48
  123. "Kletva Bandita", //49
  124. "Piwo Generala", //50
  125. "Poomoc Cevi", //51
  126. "Gordon Odbrana", //52
  127. "Snajper Komplet", //53
  128. "Misterija", //54
  129. "Trava", //55
  130. "Stil Ratnika", //56
  131. "Partizanski Bron", //57
  132. "Zajebi Samuraja", //58
  133. "Pro Vestina", //59
  134. "M4 Swatu", //60
  135. "Minolovac", //61
  136. "Galil Terorizma", //62
  137. "Vodic Snajpera", //63
  138. "Ranac Lopova", //64
  139. "Nevbia Haos", //65
  140. "Stomak Doknes", //66
  141. "Set Stuntera", //67
  142. "Kasike MakGajvera", //68
  143. "Aimerka Stunterra", // 69
  144. "Slepilo Stunterra", //70
  145. "HP BOOSTER", //71
  146. "SUPER AMMO", //72
  147. "Sisati Zivot", //73
  148. "Razbrojac", //74
  149. "Rusitelj", //75
  150. "Teleport", //76
  151. "Okretan", // 77
  152. "Misterija Nindze", //78
  153. "Misterija Stuntera", //79
  154. "Set Stunter Gume", // 80
  155. "Marfi Misterija", //81
  156. "Misterija Izgubljeni", //82
  157. "Lastis Guma", //83
  158. "Lazan C4",//84
  159. "Vojni Elektromagnet", //85
  160. "Radar Telegrafista", //86
  161. "Teski Oklop", //87
  162. "Osveta", //88
  163. "Curug-cs.com", //89
  164. "Jumper" //90
  165. }
  166.  
  167. new const opisy_przedmiotow[][] = {
  168. "Ubij nekoga da dobijes predmet", //!=
  169. "Necujno Trcanje", //1
  170. "Smanjuje Ostecenja Igracu LW", //2
  171. "Smanjuje Ostecenja Igracu LW", //3
  172. "Zadaje Vecu Povredu Nozem", //4
  173. "Kada Pogodite Nekoga Od Pozadi Povrede Su 2 Puta Vece", //5
  174. "Imate premije slepa", //6
  175. "1/LW Sanse za ponovno ozivljavanje", //7
  176. "Instant Kill nozem", //8
  177. "Imate 1/LW sanse da odmah ubijete sa HE. Takodje imate odecu neprijatelja", //9
  178. "Neposredno ubijanje granatem HE. Nanese LW dodatnu odstetu", //10
  179. "Mozete skociti dupli skok u vazduh", //11
  180. "Vase povrede su smanjene za 5 .Imate mogucnosti za zaslepite neprijatelja", //12
  181. "Instant Kill sa AWP", //13
  182. "Za svako ubistvo dobijate 50 zivota", //14
  183. "Za svako ubistvo dobijate pun magazin i +20 hp", //15
  184. "Dobijate 10 HP na svaki 5 sekundi", //16
  185. "Imate 500 Oklopa", //17
  186. "Dobijate na svakoj rundi +100 HP al kretanj sporije", //18
  187. "Koristite ga da se izleci na maksimalni broj HP", //19
  188. "Nemate serenje oruzja (nisana)", //20
  189. "Nanosite vise stete 10", //21
  190. "Nanosite vise stete 20", //22
  191. "Vasa disperzija je manja", //23
  192. "Ne radi na vas nijedan predmet", //24
  193. "Dobijate +50 HP na svakoj rundi,ali ste sporiji", //25
  194. "Imate 1/LW sanse na oporavak oklopa", //26
  195. "Vi ste otporni na 3 metka na svakoj rundi", //27
  196. "Pritisnite CTRL i SPACE da koristite ovaj modul na 4 sekunde", //28
  197. "Vi ste brzi 20, i smanjene odstete od 10,do +50 hp", //29
  198. "Dobijate +100hp, +20 do ostecenja,i tvoja oprema je samnjena za 30", //30
  199. "+25 dmg, kameleon, 1/LW od HE", //31
  200. "Dobijate AWP i AK za pocetak, tixu opremu za kretanje 1/1 za AWP", //32
  201. "Svake Runde Dobijate M4A1", //33
  202. "1/LW Ubistvo sa deagle", //34
  203. "1/LW da ubijete sa Shotguna", //35
  204. "Postavlja zeleni sloj debljine od 30 i nanosi vise stete od 9", //36
  205. "Dobijate svake runde +100hp",//37
  206. "Imate 5 Kompleta", //38
  207. "Skok Iznad", //39
  208. "Ide brze exp", //40
  209. "Ono sto 5 sekundi regenerise 15hp", //41
  210. "Dobijate +100 HP, tiho trcanje oduzima vise stete od 8", //42
  211. "Smanjuje ostecenja,uzima za 10,da trci brze, +10 dmg", //43
  212. "Imate auto bunny hop + 70hp", //44
  213. "Ovaj predmet mozete koristiti jednom u rundi,regenerise u potpunosti HP", //45
  214. "500 panzira, 1/LW sanse na odraz metka", //46
  215. "20% za izbegavanj rakete", //47
  216. "Kada cucnete postanete nevidljivi", //48
  217. "10 sekundi mozete prolaziti kroz zidove.", //49
  218. "+10 dmg, tixo trcanje, szybszy biego o 50 jednostek +100 hp", //50
  219. "+5 dmg i da smanji stenu na 7 dmg", //51
  220. "Besmrtan 5 sekundi", //52
  221. "1/1 Awp , 1/2 DGL", //53
  222. "JESTES PRO !!!", //54
  223. "Kameleon i 1/LW sa scouta", //55
  224. "Slobodno m4a1 + 1/LW sa njim", //56
  225. "Slobodno Ak + 1/LW sa njim", //57
  226. "+20 dmg, tixo radi", //58
  227. "+15 dgm, tixi koraci, 1/3 za HE", //59
  228. "Imate 1/LW sa m4 +oruzje", //60
  229. "Dobijate 5 minuta", //61
  230. "Dobijate galila + 1/LW sa njim", //62
  231. "Imate ZOOM na sva oruzja", //63
  232. "Vi ste bogati", //64
  233. "Vi ste imuni na HeadShot", //65
  234. "Moze da ubije samo HeadShot", //66
  235. "1/2 z Usp, kameleon i 1/5 sa mp5", //67
  236. "Beskrajna municija", //68
  237. "1/10 od headshota sa AWP", //69
  238. "Imate vece sirenj oruzja +100 HP povrede su smanjene za 10", //70
  239. "Dobijate dodatnih 100 HP na pocetku svake runde +25 hp za svako ubistvo", //71
  240. "Za svako ubistvo dobijate pun magazin", //72
  241. "Ako udaris nekoga krades mu HP i sebi dajes", //73
  242. "Ako pitate nekoga pomaze 40 ostecenja i pada svoje oruzje", //74
  243. "Za 10 sekundi mozete da setate kroz zidove", //75
  244. "Mozete se teleportovati na neko drugo mesot", //76
  245. "Instant preopterecenje", //77
  246. "Smanjena Gravitacija i manja vidljivost za noz", //78
  247. "+15 dmg + 10 jedinica,brzina,3 mine",//79
  248. "+ LW hp dobijate M3 i 1\5 ", //80
  249. "-(minus) 10 primljenih dmg, +20dmg i +25hp za ubistvo", //81
  250. "25 HP ukupno su nevidljivi 1/1 sa noza", //82
  251. "Vidljivost smanjena na 15,90 HP 1/1 sanse povrede su smanjene za 5", //83
  252. "Mozete postaviti bomby a zatim lazno detonira",//84
  253. "Svaki krug mozete postaviti elektro magnet.Delovanje zavisi od inteligencije", //85
  254. "Vi vidite neprijatelja na radaru", //86
  255. "Koristite je za 3 sekunde da povrati povrede", //87
  256. "Dobijate cim pocne 50% vise HP kao sto ubije nekoga bez HS gubi svoj zivot", //88
  257. "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
  258. "Mozete zaustaviti vreme na 3 sekunde.Predmet za jednu upotrebu" //90
  259. }
  260.  
  261. new zatrzymaj_czas
  262.  
  263. new nazwa_gracza[33][64]
  264. new klasa_gracza[33]
  265. new poziom_gracza[33] = 1
  266. new doswiadczenie_gracza[33]
  267.  
  268. new nowa_klasa_gracza[33]
  269.  
  270. new const doswiadczenie_poziomu[] = {
  271. 0,7,28,63,112,175,252,343,448,567,700,847,1008,1183,1372,1575,1792,2023,2268,2527,
  272. 2800,3087,3388,3703,4032,4375,4732,5103,5488,5887,6300,6727,7168,7623,8092,8575,9072,9583,10108,10647,
  273. 11200,11767,12348,12943,13552,14175,14812,15463,16128,16807,17500,18207,18928,19663,20412,21175,21952,22743,23548,24367,
  274. 25200,26047,26908,27783,28672,29575,30492,31423,32368,33327,34300,35287,36288,37303,38332,39375,40432,41503,42588,43687,
  275. 44800,45927,47068,48223,49392,50575,51772,52983,54208,55447,56700,57967,59248,60543,61852,63175,64512,65863,67228,68607,
  276. 70000,71407,72828,74263,75712,77175,78652,80143,81648,83167,84700,86247,87808,89383,90972,92575,94192,95823,97468,99127,
  277. 100800,102487,104188,105903,107632,109375,111132,112903,114688,116487,118300,120127,121968,123823,125692,127575,129472,131383,133308,135247,
  278. 137200,139167,141148,143143,145152,147175,149212,151263,153328,155407,157500,159607,161728,163863,166012,168175,170352,172543,174748,176967,
  279. 179200,181447,183708,185983,188272,190575,192892,195223,197568,199927,202300,204687,207088,209503,211932,214375,216832,219303,221788,224287,
  280. 226800,229327,231868,234423,236992,239575,242172,244783,247408,250047,252700,255367,258048,260743,263452,266175,268912,271663,274428,277207,
  281. 280000,282807,285628,288463,291312,294175,297052,299943,302848,305767,308700,311647,314608,317583,320572,323575,326592,329623,332668,335727,
  282. 338800,341887,344988,348103,351232,354375,357532,360703,363888,367087,370300,373527,376768,380023,383292,386575,389872,393183,396508,399847,
  283. 403200,406567,409948,413343,416752,420175,423612,427063,430528,434007,437500,441007,444528,448063,451612,455175,458752,462343,465948,469567,
  284. 473200,476847,480508,484183,487872,491575,495292,499023,502768,506527,510300,514087,517888,521703,525532,529375,533232,537103,540988,544887,
  285. 548800,552727,556668,560623,564592,568575,572572,576583,580608,584647,588700,592767,596848,600943,605052,609175,613312,617463,621628,625807,
  286. 630000,634207,638428,642663,646912,651175,655452,659743,664048,668367,672700,677047,681408,685783,690172,694575,698992,703423,707868,712327,
  287. 716800,721287,725788,730303,734832,739375,743932,748503,753088,757687,762300,766927,771568,776223,780892,785575,790272,794983,799708,804447,
  288. 809200,813967,818748,823543,828352,833175,838012,842863,847728,852607,857500,862407,867328,872263,877212,882175,887152,892143,897148,902167,
  289. 907200,912247,917308,922383,927472,932575,937692,942823,947968,953127,958300,963487,968688,973903,979132,984375,989632,994903,1000188,1005487,
  290. 1010800,1016127,1021468,1026823,1032192,1037575,1042972,1048383,1053808,1059247,1064700,1070167,1075648,1081143,1086652,1092175,1097712,1103263,1108828,1114407,
  291. 1120000,1125607,1131228,1136863,1142512,1148175,1153852,1159543,1165248,1170967,1176700,1182447,1188208,1193983,1199772,1205575,1211392,1217223,1223068,1228927,
  292. 1234800,1240687,1246588,1252503,1258432,1264375,1270332,1276303,1282288,1288287,1294300,1300327,1306368,1312423,1318492,1324575,1330672,1336783,1342908,1349047,
  293. 1355200,1361367,1367548,1373743,1379952,1386175,1392412,1398663,1404928,1411207,1417500,1423807,1430128,1436463,1442812,1449175,1455552,1461943,1468348,1474767,
  294. 1481200,1487647,1494108,1500583,1507072,1513575,1520092,1526623,1533168,1539727,1546300,1552887,1559488,1566103,1572732,1579375,1586032,1592703,1599388,1606087,
  295. 1612800,1619527,1626268,1633023,1639792,1646575,1653372,1660183,1667008,1673847,1680700,1687567,1694448,1701343,1708252,1715175,1722112,1729063,1736028,1743007,
  296. 1750000,1757007,1764028,1771063,1778112,1785175,1792252,1799343,1806448,1813567,1820700,1827847,1835008,1842183,1849372,1856575,1863792,1871023,1878268,1885527,
  297. 1892800,1900087,1907388,1914703,1922032,1929375,1936732,1944103,1951488,1958887,1966300,1973727,1981168,1988623,1996092,2003575,2011072,2018583,2026108,2033647,
  298. 2041200,2048767,2056348,2063943,2071552,2079175,2086812,2094463,2102128,2109807,2117500,2125207,2132928,2140663,2148412,2156175,2163952,2171743,2179548,2187367,
  299. 2195200,2203047,2210908,2218783,2226672,2234575,2242492,2250423,2258368,2266327,2274300,2282287,2290288,2298303,2306332,2314375,2322432,2330503,2338588,2346687,
  300. 2354800,2362927,2371068,2379223,2387392,2395575,2403772,2411983,2420208,2428447,2436700,2444967,2453248,2461543,2469852,2478175,2486512,2494863,2503228,2511607,
  301. 2520000,2528407,2536828,2545263,2553712,2562175,2570652,2579143,2587648,2596167,2604700,2613247,2621808,2630383,2638972,2647575,2656192,2664823,2673468,2682127,
  302. 2690800,2699487,2708188,2716903,2725632,2734375,2743132,2751903,2760688,2769487,2778300,2787127,2795968,2804823,2813692,2822575,2831472,2840383,2849308,2858247,
  303. 2867200,2876167,2885148,2894143,2903152,2912175,2921212,2930263,2939328,2948407,2957500,2966607,2975728,2984863,2994012,3003175,3012352,3021543,3030748,3039967,
  304. 3049200,3058447,3067708,3076983,3086272,3095575,3104892,3114223,3123568,3132927,3142300,3151687,3161088,3170503,3179932,3189375,3198832,3208303,3217788,3227287,
  305. 3236800,3246327,3255868,3265423,3274992,3284575,3294172,3303783,3313408,3323047,3332700,3342367,3352048,3361743,3371452,3381175,3390912,3400663,3410428,3420207,
  306. 3430000,3439807,3449628,3459463,3469312,3479175,3489052,3498943,3508848,3518767,3528700,3538647,3548608,3558583,3568572,3578575,3588592,3598623,3608668,3618727,
  307. 3628800,3638887,3648988,3659103,3669232,3679375,3689532,3699703,3709888,3720087,3730300,3740527,3750768,3761023,3771292,3781575,3791872,3802183,3812508,3822847,
  308. 3833200,3843567,3853948,3864343,3874752,3885175,3895612,3906063,3916528,3927007,3937500,3948007,3958528,3969063,3979612,3990175,4000752,4011343,4021948,4032567,
  309. 4043200,4053847,4064508,4075183,4085872,4096575,4107292,4118023,4128768,4139527,4150300,4161087,4171888,4182703,4193532,4204375,4215232,4226103,4236988,4247887,
  310. 4258800,4269727,4280668,4291623,4302592,4313575,4324572,4335583,4346608,4357647,4368700,4379767,4390848,4401943,4413052,4424175,4435312,4446463,4457628,4468807,
  311. 4480000,4491207,4502428,4513663,4524912,4536175,4547452,4558743,4570048,4581367,4592700,4604047,4615408,4626783,4638172,4649575,4660992,4672423,4683868,4695327,
  312. 4706800,4718287,4729788,4741303,4752832,4764375,4775932,4787503,4799088,4810687,4822300,4833927,4845568,4857223,4868892,4880575,4892272,4903983,4915708,4927447,
  313. 4939200,4950967,4962748,4974543,4986352,4998175,5010012,5021863,5033728,5045607,5057500,5069407,5081328,5093263,5105212,5117175,5129152,5141143,5153148,5165167,
  314. 5177200,5189247,5201308,5213383,5225472,5237575,5249692,5261823,5273968,5286127,5298300,5310487,5322688,5334903,5347132,5359375,5371632,5383903,5396188,5408487,
  315. 5420800,5433127,5445468,5457823,5470192,5482575,5494972,5507383,5519808,5532247,5544700,5557167,5569648,5582143,5594652,5607175,5619712,5632263,5644828,5657407,
  316. 5670000,5682607,5695228,5707863,5720512,5733175,5745852,5758543,5771248,5783967,5796700,5809447,5822208,5834983,5847772,5860575,5873392,5886223,5899068,5911927,
  317. 5924800,5937687,5950588,5963503,5976432,5989375,6002332,6015303,6028288,6041287,6054300,6067327,6080368,6093423,6106492,6119575,6132672,6145783,6158908,6172047,
  318. 6185200,6198367,6211548,6224743,6237952,6251175,6264412,6277663,6290928,6304207,6317500,6330807,6344128,6357463,6370812,6384175,6397552,6410943,6424348,6437767,
  319. 6451200,6464647,6478108,6491583,6505072,6518575,6532092,6545623,6559168,6572727,6586300,6599887,6613488,6627103,6640732,6654375,6668032,6681703,6695388,6709087,
  320. 6722800,6736527,6750268,6764023,6777792,6791575,6805372,6819183,6833008,6846847,6860700,6874567,6888448,6902343,6916252,6930175,6944112,6958063,6972028,6986007,
  321. 7000000,7014007,7028028,7042063,7056112,7070175,7084252,7098343,7112448,7126567,7140700,7154847,7169008,7183183,7197372,7211575,7225792,7240023,7254268,7268527,
  322. 7282800,7297087,7311388,7325703,7340032,7354375,7368732,7383103,7397488,7411887,7426300,7440727,7455168,7469623,7484092,7498575,7513072,7527583,7542108,7556647,
  323. 7571200,7585767,7600348,7614943,7629552,7644175,7658812,7673463,7688128,7702807,7717500,7732207,7746928,7761663,7776412,7791175,7805952,7820743,7835548,7850367,
  324. 7865200,7880047,7894908,7909783,7924672,7939575,7954492,7969423,7984368,7999327,8014300,8029287,8044288,8059303,8074332,8089375,8104432,8119503,8134588,8149687,
  325. 8164800,8179927,8195068,8210223,8225392,8240575,8255772,8270983,8286208,8301447,8316700,8331967,8347248,8362543,8377852,8393175,8408512,8423863,8439228,8454607,
  326. 8470000,8485407,8500828,8516263,8531712,8547175,8562652,8578143,8593648,8609167,8624700,8640247,8655808,8671383,8686972,8702575,8718192,8733823,8749468,8765127,
  327. 8780800,8796487,8812188,8827903,8843632,8859375,8875132,8890903,8906688,8922487,8938300,8954127,8969968,8985823,9001692,9017575,9033472,9049383,9065308,9081247,
  328. 9097200,9113167,9129148,9145143,9161152,9177175,9193212,9209263,9225328,9241407,9257500,9273607,9289728,9305863,9322012,9338175,9354352,9370543,9386748,9402967,
  329. 9419200,9435447,9451708,9467983,9484272,9500575,9516892,9533223,9549568,9565927,9582300,9598687,9615088,9631503,9647932,9664375,9680832,9697303,9713788,9730287,
  330. 9746800,9763327,9779868,9796423,9812992,9829575,9846172,9862783,9879408,9896047,9912700,9929367,9946048,9962743,9979452,9996175,10012912,10029663,10046428,10063207,
  331. 10080000,10096807,10113628,10130463,10147312,10164175,10181052,10197943,10214848,10231767,10248700,10265647,10282608,10299583,10316572,10333575,10350592,10367623,10384668,10401727,
  332. 10418800,10435887,10452988,10470103,10487232,10504375,10521532,10538703,10555888,10573087,10590300,10607527,10624768,10642023,10659292,10676575,10693872,10711183,10728508,10745847,
  333. 10763200,10780567,10797948,10815343,10832752,10850175,10867612,10885063,10902528,10920007,10937500,10955007,10972528,10990063,11007612,11025175,11042752,11060343,11077948,11095567,
  334. 11113200,11130847,11148508,11166183,11183872,11201575,11219292,11237023,11254768,11272527,11290300,11308087,11325888,11343703,11361532,11379375,11397232,11415103,11432988,11450887,
  335. 11468800,11486727,11504668,11522623,11540592,11558575,11576572,11594583,11612608,11630647,11648700,11666767,11684848,11702943,11721052,11739175,11757312,11775463,11793628,11811807,
  336. 11830000,11848207,11866428,11884663,11902912,11921175,11939452,11957743,11976048,11994367,12012700,12031047,12049408,12067783,12086172,12104575,12122992,12141423,12159868,12178327,
  337. 12196800,12215287,12233788,12252303,12270832,12289375,12307932,12326503,12345088,12363687,12382300,12400927,12419568,12438223,12456892,12475575,12494272,12512983,12531708,12550447,
  338. 12569200,12587967,12606748,12625543,12644352,12663175,12682012,12700863,12719728,12738607,12757500,12776407,12795328,12814263,12833212,12852175,12871152,12890143,12909148,12928167,
  339. 12947200,12966247,12985308,13004383,13023472,13042575,13061692,13080823,13099968,13119127,13138300,13157487,13176688,13195903,13215132,13234375,13253632,13272903,13292188,13311487,
  340. 13330800,13350127,13369468,13388823,13408192,13427575,13446972,13466383,13485808,13505247,13524700,13544167,13563648,13583143,13602652,13622175,13641712,13661263,13680828,13700407,
  341. 13720000,13739607,13759228,13778863,13798512,13818175,13837852,13857543,13877248,13896967,13916700,13936447,13956208,13975983,13995772,14015575,14035392,14055223,14075068,14094927,
  342. 14114800,14134687,14154588,14174503,14194432,14214375,14234332,14254303,14274288,14294287,14314300,14334327,14354368,14374423,14394492,14414575,14434672,14454783,14474908,14495047,
  343. 14515200,14535367,14555548,14575743,14595952,14616175,14636412,14656663,14676928,14697207,14717500,14737807,14758128,14778463,14798812,14819175,14839552,14859943,14880348,14900767,
  344. 14921200,14941647,14962108,14982583,15003072,15023575,15044092,15064623,15085168,15105727,15126300,15146887,15167488,15188103,15208732,15229375,15250032,15270703,15291388,15312087,
  345. 15332800,15353527,15374268,15395023,15415792,15436575,15457372,15478183,15499008,15519847,15540700,15561567,15582448,15603343,15624252,15645175,15666112,15687063,15708028,15729007,
  346. 15750000,15771007,15792028,15813063,15834112,15855175,15876252,15897343,15918448,15939567,15960700,15981847,16003008,16024183,16045372,16066575,16087792,16109023,16130268,16151527,
  347. 16172800,16194087,16215388,16236703,16258032,16279375,16300732,16322103,16343488,16364887,16386300,16407727,16429168,16450623,16472092,16493575,16515072,16536583,16558108,16579647,
  348. 16601200,16622767,16644348,16665943,16687552,16709175,16730812,16752463,16774128,16795807,16817500,16839207,16860928,16882663,16904412,16926175,16947952,16969743,16991548,17013367,
  349. 17035200,17057047,17078908,17100783,17122672,17144575,17166492,17188423,17210368,17232327,17254300,17276287,17298288,17320303,17342332,17364375,17386432,17408503,17430588,17452687,
  350. 17474800,17496927,17519068,17541223,17563392,17585575,17607772,17629983,17652208,17674447,17696700,17718967,17741248,17763543,17785852,17808175,17830512,17852863,17875228,17897607,
  351. 17920000,17942407,17964828,17987263,18009712,18032175,18054652,18077143,18099648,18122167,18144700,18167247,18189808,18212383,18234972,18257575,18280192,18302823,18325468,18348127,
  352. 18370800,18393487,18416188,18438903,18461632,18484375,18507132,18529903,18552688,18575487,18598300,18621127,18643968,18666823,18689692,18712575,18735472,18758383,18781308,18804247,
  353. 18827200,18850167,18873148,18896143,18919152,18942175,18965212,18988263,19011328,19034407,19057500,19080607,19103728,19126863,19150012,19173175,19196352,19219543,19242748,19265967,
  354. 19289200,19312447,19335708,19358983,19382272,19405575,19428892,19452223,19475568,19498927,19522300,19545687,19569088,19592503,19615932,19639375,19662832,19686303,19709788,19733287,
  355. 19756800,19780327,19803868,19827423,19850992,19874575,19898172,19921783,19945408,19969047,19992700,20016367,20040048,20063743,20087452,20111175,20134912,20158663,20182428,20206207,
  356. 20230000,20253807,20277628,20301463,20325312,20349175,20373052,20396943,20420848,20444767,20468700,20492647,20516608,20540583,20564572,20588575,20612592,20636623,20660668,20684727,
  357. 20708800,20732887,20756988,20781103,20805232,20829375,20853532,20877703,20901888,20926087,20950300,20974527,20998768,21023023,21047292,21071575,21095872,21120183,21144508,21168847,
  358. 21193200,21217567,21241948,21266343,21290752,21315175,21339612,21364063,21388528,21413007,21437500,21462007,21486528,21511063,21535612,21560175,21584752,21609343,21633948,21658567,
  359. 21683200,21707847,21732508,21757183,21781872,21806575,21831292,21856023,21880768,21905527,21930300,21955087,21979888,22004703,22029532,22054375,22079232,22104103,22128988,22153887,
  360. 22178800,22203727,22228668,22253623,22278592,22303575,22328572,22353583,22378608,22403647,22428700,22453767,22478848,22503943,22529052,22554175,22579312,22604463,22629628,22654807,
  361. 22680000,22705207,22730428,22755663,22780912,22806175,22831452,22856743,22882048,22907367,22932700,22958047,22983408,23008783,23034172,23059575,23084992,23110423,23135868,23161327,
  362. 23186800,23212287,23237788,23263303,23288832,23314375,23339932,23365503,23391088,23416687,23442300,23467927,23493568,23519223,23544892,23570575,23596272,23621983,23647708,23673447,
  363. 23699200,23724967,23750748,23776543,23802352,23828175,23854012,23879863,23905728,23931607,23957500,23983407,24009328,24035263,24061212,24087175,24113152,24139143,24165148,24191167,
  364. 24217200,24243247,24269308,24295383,24321472,24347575,24373692,24399823,24425968,24452127,24478300,24504487,24530688,24556903,24583132,24609375,24635632,24661903,24688188,24714487,
  365. 24740800,24767127,24793468,24819823,24846192,24872575,24898972,24925383,24951808,24978247,25004700,25031167,25057648,25084143,25110652,25137175,25163712,25190263,25216828,25243407,
  366. 25270000,25296607,25323228,25349863,25376512,25403175,25429852,25456543,25483248,25509967,25536700,25563447,25590208,25616983,25643772,25670575,25697392,25724223,25751068,25777927,
  367. 25804800,25831687,25858588,25885503,25912432,25939375,25966332,25993303,26020288,26047287,26074300,26101327,26128368,26155423,26182492,26209575,26236672,26263783,26290908,26318047,
  368. 26345200,26372367,26399548,26426743,26453952,26481175,26508412,26535663,26562928,26590207,26617500,26644807,26672128,26699463,26726812,26754175,26781552,26808943,26836348,26863767,
  369. 26891200,26918647,26946108,26973583,27001072,27028575,27056092,27083623,27111168,27138727,27166300,27193887,27221488,27249103,27276732,27304375,27332032,27359703,27387388,27415087,
  370. 27442800,27470527,27498268,27526023,27553792,27581575,27609372,27637183,27665008,27692847,27720700,27748567,27776448,27804343,27832252,27860175,27888112,27916063,27944028,27972007,
  371. 28000000,28028007,28056028,28084063,28112112,28140175,28168252,28196343,28224448,28252567,28280700,28308847,28337008,28365183,28393372,28421575,28449792,28478023,28506268,28534527,
  372. 28562800,28591087,28619388,28647703,28676032,28704375,28732732,28761103,28789488,28817887,28846300,28874727,28903168,28931623,28960092,28988575,29017072,29045583,29074108,29102647,
  373. 29131200,29159767,29188348,29216943,29245552,29274175,29302812,29331463,29360128,29388807,29417500,29446207,29474928,29503663,29532412,29561175,29589952,29618743,29647548,29676367,
  374. 29705200,29734047,29762908,29791783,29820672,29849575,29878492,29907423,29936368,29965327,29994300,30023287,30052288,30081303,30110332,30139375,30168432,30197503,30226588,30255687,
  375. 30284800,30313927,30343068,30372223,30401392,30430575,30459772,30488983,30518208,30547447,30576700,30605967,30635248,30664543,30693852,30723175,30752512,30781863,30811228,30840607,
  376. 30870000,30899407,30928828,30958263,30987712,31017175,31046652,31076143,31105648,31135167,31164700,31194247,31223808,31253383,31282972,31312575,31342192,31371823,31401468,31431127,
  377. 31460800,31490487,31520188,31549903,31579632,31609375,31639132,31668903,31698688,31728487,31758300,31788127,31817968,31847823,31877692,31907575,31937472,31967383,31997308,32027247,
  378. 32057200,32087167,32117148,32147143,32177152,32207175,32237212,32267263,32297328,32327407,32357500,32387607,32417728,32447863,32478012,32508175,32538352,32568543,32598748,32628967,
  379. 32659200,32689447,32719708,32749983,32780272,32810575,32840892,32871223,32901568,32931927,32962300,32992687,33023088,33053503,33083932,33114375,33144832,33175303,33205788,33236287,
  380. 33266800,33297327,33327868,33358423,33388992,33419575,33450172,33480783,33511408,33542047,33572700,33603367,33634048,33664743,33695452,33726175,33756912,33787663,33818428,33849207,
  381. 33880000,33910807,33941628,33972463,34003312,34034175,34065052,34095943,34126848,34157767,34188700,34219647,34250608,34281583,34312572,34343575,34374592,34405623,34436668,34467727,
  382. 34498800,34529887,34560988,34592103,34623232,34654375,34685532,34716703,34747888,34779087,34810300,34841527,34872768,34904023,34935292,34966575,34997872,35029183,35060508,35091847,
  383. 35123200,35154567,35185948,35217343,35248752,35280175,35311612,35343063,35374528,35406007,35437500,35469007,35500528,35532063,35563612,35595175,35626752,35658343,35689948,35721567,
  384. 35753200,35784847,35816508,35848183,35879872,35911575,35943292,35975023,36006768,36038527,36070300,36102087,36133888,36165703,36197532,36229375,36261232,36293103,36324988,36356887,
  385. 36388800,36420727,36452668,36484623,36516592,36548575,36580572,36612583,36644608,36676647,36708700,36740767,36772848,36804943,36837052,36869175,36901312,36933463,36965628,36997807,
  386. 37030000,37062207,37094428,37126663,37158912,37191175,37223452,37255743,37288048,37320367,37352700,37385047,37417408,37449783,37482172,37514575,37546992,37579423,37611868,37644327,
  387. 37676800,37709287,37741788,37774303,37806832,37839375,37871932,37904503,37937088,37969687,38002300,38034927,38067568,38100223,38132892,38165575,38198272,38230983,38263708,38296447,
  388. 38329200,38361967,38394748,38427543,38460352,38493175,38526012,38558863,38591728,38624607,38657500,38690407,38723328,38756263,38789212,38822175,38855152,38888143,38921148,38954167,
  389. 38987200,39020247,39053308,39086383,39119472,39152575,39185692,39218823,39251968,39285127,39318300,39351487,39384688,39417903,39451132,39484375,39517632,39550903,39584188,39617487,
  390. 39650800,39684127,39717468,39750823,39784192,39817575,39850972,39884383,39917808,39951247,39984700,40018167,40051648,40085143,40118652,40152175,40185712,40219263,40252828,40286407,
  391. 40320000,40353607,40387228,40420863,40454512,40488175,40521852,40555543,40589248,40622967,40656700,40690447,40724208,40757983,40791772,40825575,40859392,40893223,40927068,40960927,
  392. 40994800,41028687,41062588,41096503,41130432,41164375,41198332,41232303,41266288,41300287,41334300,41368327,41402368,41436423,41470492,41504575,41538672,41572783,41606908,41641047,
  393. 41675200,41709367,41743548,41777743,41811952,41846175,41880412,41914663,41948928,41983207,42017500,42051807,42086128,42120463,42154812,42189175,42223552,42257943,42292348,42326767,
  394. 42361200,42395647,42430108,42464583,42499072,42533575,42568092,42602623,42637168,42671727,42706300,42740887,42775488,42810103,42844732,42879375,42914032,42948703,42983388,43018087,
  395. 43052800,43087527,43122268,43157023,43191792,43226575,43261372,43296183,43331008,43365847,43400700,43435567,43470448,43505343,43540252,43575175,43610112,43645063,43680028,43715007,
  396. 43750000,43785007,43820028,43855063,43890112,43925175,43960252,43995343,44030448,44065567,44100700,44135847,44171008,44206183,44241372,44276575,44311792,44347023,44382268,44417527,
  397. 44452800,44488087,44523388,44558703,44594032,44629375,44664732,44700103,44735488,44770887,44806300,44841727,44877168,44912623,44948092,44983575,45019072,45054583,45090108,45125647,
  398. 45161200,45196767,45232348,45267943,45303552,45339175,45374812,45410463,45446128,45481807,45517500,45553207,45588928,45624663,45660412,45696175,45731952,45767743,45803548,45839367,
  399. 45875200,45911047,45946908,45982783,46018672,46054575,46090492,46126423,46162368,46198327,46234300,46270287,46306288,46342303,46378332,46414375,46450432,46486503,46522588,46558687,
  400. 46594800,46630927,46667068,46703223,46739392,46775575,46811772,46847983,46884208,46920447,46956700,46992967,47029248,47065543,47101852,47138175,47174512,47210863,47247228,47283607,
  401. 47320000,47356407,47392828,47429263,47465712,47502175,47538652,47575143,47611648,47648167,47684700,47721247,47757808,47794383,47830972,47867575,47904192,47940823,47977468,48014127,
  402. 48050800,48087487,48124188,48160903,48197632,48234375,48271132,48307903,48344688,48381487,48418300,48455127,48491968,48528823,48565692,48602575,48639472,48676383,48713308,48750247,
  403. 48787200,48824167,48861148,48898143,48935152,48972175,49009212,49046263,49083328,49120407,49157500,49194607,49231728,49268863,49306012,49343175,49380352,49417543,49454748,49491967,
  404. 49529200,49566447,49603708,49640983,49678272,49715575,49752892,49790223,49827568,49864927,49902300,49939687,49977088,50014503,50051932,50089375,50126832,50164303,50201788,50239287,
  405. 50276800,50314327,50351868,50389423,50426992,50464575,50502172,50539783,50577408,50615047,50652700,50690367,50728048,50765743,50803452,50841175,50878912,50916663,50954428,50992207,
  406. 51030000,51067807,51105628,51143463,51181312,51219175,51257052,51294943,51332848,51370767,51408700,51446647,51484608,51522583,51560572,51598575,51636592,51674623,51712668,51750727,
  407. 51788800,51826887,51864988,51903103,51941232,51979375,52017532,52055703,52093888,52132087,52170300,52208527,52246768,52285023,52323292,52361575,52399872,52438183,52476508,52514847,
  408. 52553200,52591567,52629948,52668343,52706752,52745175,52783612,52822063,52860528,52899007,52937500,52976007,53014528,53053063,53091612,53130175,53168752,53207343,53245948,53284567,
  409. 53323200,53361847,53400508,53439183,53477872,53516575,53555292,53594023,53632768,53671527,53710300,53749087,53787888,53826703,53865532,53904375,53943232,53982103,54020988,54059887,
  410. 54098800,54137727,54176668,54215623,54254592,54293575,54332572,54371583,54410608,54449647,54488700,54527767,54566848,54605943,54645052,54684175,54723312,54762463,54801628,54840807,
  411. 54880000,54919207,54958428,54997663,55036912,55076175,55115452,55154743,55194048,55233367,55272700,55312047,55351408,55390783,55430172,55469575,55508992,55548423,55587868,55627327,
  412. 55666800,55706287,55745788,55785303,55824832,55864375,55903932,55943503,55983088,56022687,56062300,56101927,56141568,56181223,56220892,56260575,56300272,56339983,56379708,56419447,
  413. 56459200,56498967,56538748,56578543,56618352,56658175,56698012,56737863,56777728,56817607,56857500,56897407,56937328,56977263,57017212,57057175,57097152,57137143,57177148,57217167,
  414. 57257200,57297247,57337308,57377383,57417472,57457575,57497692,57537823,57577968,57618127,57658300,57698487,57738688,57778903,57819132,57859375,57899632,57939903,57980188,58020487,
  415. 58060800,58101127,58141468,58181823,58222192,58262575,58302972,58343383,58383808,58424247,58464700,58505167,58545648,58586143,58626652,58667175,58707712,58748263,58788828,58829407,
  416. 58870000,58910607,58951228,58991863,59032512,59073175,59113852,59154543,59195248,59235967,59276700,59317447,59358208,59398983,59439772,59480575,59521392,59562223,59603068,59643927,
  417. 59684800,59725687,59766588,59807503,59848432,59889375,59930332,59971303,60012288,60053287,60094300,60135327,60176368,60217423,60258492,60299575,60340672,60381783,60422908,60464047,
  418. 60505200,60546367,60587548,60628743,60669952,60711175,60752412,60793663,60834928,60876207,60917500,60958807,61000128,61041463,61082812,61124175,61165552,61206943,61248348,61289767,
  419. 61331200,61372647,61414108,61455583,61497072,61538575,61580092,61621623,61663168,61704727,61746300,61787887,61829488,61871103,61912732,61954375,61996032,62037703,62079388,62121087,
  420. 62162800,62204527,62246268,62288023,62329792,62371575,62413372,62455183,62497008,62538847,62580700,62622567,62664448,62706343,62748252,62790175,62832112,62874063,62916028,62958007,
  421. 63000000,63042007,63084028,63126063,63168112,63210175,63252252,63294343,63336448,63378567,63420700,63462847,63505008,63547183,63589372,63631575,63673792,63716023,63758268,63800527,
  422. 63842800,63885087,63927388,63969703,64012032,64054375,64096732,64139103,64181488,64223887,64266300,64308727,64351168,64393623,64436092,64478575,64521072,64563583,64606108,64648647,
  423. 64691200,64733767,64776348,64818943,64861552,64904175,64946812,64989463,65032128,65074807,65117500,65160207,65202928,65245663,65288412,65331175,65373952,65416743,65459548,65502367,
  424. 65545200,65588047,65630908,65673783,65716672,65759575,65802492,65845423,65888368,65931327,65974300,66017287,66060288,66103303,66146332,66189375,66232432,66275503,66318588,66361687,
  425. 66404800,66447927,66491068,66534223,66577392,66620575,66663772,66706983,66750208,66793447,66836700,66879967,66923248,66966543,67009852,67053175,67096512,67139863,67183228,67226607,
  426. 67270000,67313407,67356828,67400263,67443712,67487175,67530652,67574143,67617648,67661167,67704700,67748247,67791808,67835383,67878972,67922575,67966192,68009823,68053468,68097127,
  427. 68140800,68184487,68228188,68271903,68315632,68359375,68403132,68446903,68490688,68534487,68578300,68622127,68665968,68709823,68753692,68797575,68841472,68885383,68929308,68973247,
  428. 69017200,69061167,69105148,69149143,69193152,69237175,69281212,69325263,69369328,69413407,69457500,69501607,69545728,69589863,69634012,69678175,69722352,69766543,69810748,69854967,
  429. 69899200,69943447,69987708,70031983,70076272,70120575,70164892,70209223,70253568,70297927,70342300,70386687,70431088,70475503,70519932,70564375,70608832,70653303,70697788,70742287,
  430. 70786800,70831327,70875868,70920423,70964992,71009575,71054172,71098783,71143408,71188047,71232700,71277367,71322048,71366743,71411452,71456175,71500912,71545663,71590428,71635207,
  431. 71680000,71724807,71769628,71814463,71859312,71904175,71949052,71993943,72038848,72083767,72128700,72173647,72218608,72263583,72308572,72353575,72398592,72443623,72488668,72533727,
  432. 72578800,72623887,72668988,72714103,72759232,72804375,72849532,72894703,72939888,72985087,73030300,73075527,73120768,73166023,73211292,73256575,73301872,73347183,73392508,73437847,
  433. 73483200,73528567,73573948,73619343,73664752,73710175,73755612,73801063,73846528,73892007,73937500,73983007,74028528,74074063,74119612,74165175,74210752,74256343,74301948,74347567,
  434. 74393200,74438847,74484508,74530183,74575872,74621575,74667292,74713023,74758768,74804527,74850300,74896087,74941888,74987703,75033532,75079375,75125232,75171103,75216988,75262887,
  435. 75308800,75354727,75400668,75446623,75492592,75538575,75584572,75630583,75676608,75722647,75768700,75814767,75860848,75906943,75953052,75999175,76045312,76091463,76137628,76183807,
  436. 76230000,76276207,76322428,76368663,76414912,76461175,76507452,76553743,76600048,76646367,76692700,76739047,76785408,76831783,76878172,76924575,76970992,77017423,77063868,77110327,
  437. 77156800,77203287,77249788,77296303,77342832,77389375,77435932,77482503,77529088,77575687,77622300,77668927,77715568,77762223,77808892,77855575,77902272,77948983,77995708,78042447,
  438. 78089200,78135967,78182748,78229543,78276352,78323175,78370012,78416863,78463728,78510607,78557500,78604407,78651328,78698263,78745212,78792175,78839152,78886143,78933148,78980167,
  439. 79027200,79074247,79121308,79168383,79215472,79262575,79309692,79356823,79403968,79451127,79498300,79545487,79592688,79639903,79687132,79734375,79781632,79828903,79876188,79923487,
  440. 79970800,80018127,80065468,80112823,80160192,80207575,80254972,80302383,80349808,80397247,80444700,80492167,80539648,80587143,80634652,80682175,80729712,80777263,80824828,80872407,
  441. 80920000,80967607,81015228,81062863,81110512,81158175,81205852,81253543,81301248,81348967,81396700,81444447,81492208,81539983,81587772,81635575,81683392,81731223,81779068,81826927,
  442. 81874800,81922687,81970588,82018503,82066432,82114375,82162332,82210303,82258288,82306287,82354300,82402327,82450368,82498423,82546492,82594575,82642672,82690783,82738908,82787047,
  443. 82835200,82883367,82931548,82979743,83027952,83076175,83124412,83172663,83220928,83269207,83317500,83365807,83414128,83462463,83510812,83559175,83607552,83655943,83704348,83752767,
  444. 83801200,83849647,83898108,83946583,83995072,84043575,84092092,84140623,84189168,84237727,84286300,84334887,84383488,84432103,84480732,84529375,84578032,84626703,84675388,84724087,
  445. 84772800,84821527,84870268,84919023,84967792,85016575,85065372,85114183,85163008,85211847,85260700,85309567,85358448,85407343,85456252,85505175,85554112,85603063,85652028,85701007,
  446. 85750000,85799007,85848028,85897063,85946112,85995175,86044252,86093343,86142448,86191567,86240700,86289847,86339008,86388183,86437372,86486575,86535792,86585023,86634268,86683527,
  447. 86732800,86782087,86831388,86880703,86930032,86979375,87028732,87078103,87127488,87176887,87226300,87275727,87325168,87374623,87424092,87473575,87523072,87572583,87622108,87671647,
  448. 87721200,87770767,87820348,87869943,87919552,87969175,88018812,88068463,88118128,88167807,88217500,88267207,88316928,88366663,88416412,88466175,88515952,88565743,88615548,88665367,
  449. 88715200,88765047,88814908,88864783,88914672,88964575,89014492,89064423,89114368,89164327,89214300,89264287,89314288,89364303,89414332,89464375,89514432,89564503,89614588,89664687,
  450. 89714800,89764927,89815068,89865223,89915392,89965575,90015772,90065983,90116208,90166447,90216700,90266967,90317248,90367543,90417852,90468175,90518512,90568863,90619228,90669607,
  451. 90720000,90770407,90820828,90871263,90921712,90972175,91022652,91073143,91123648,91174167,91224700,91275247,91325808,91376383,91426972,91477575,91528192,91578823,91629468,91680127,
  452. 91730800,91781487,91832188,91882903,91933632,91984375,92035132,92085903,92136688,92187487,92238300,92289127,92339968,92390823,92441692,92492575,92543472,92594383,92645308,92696247,
  453. 92747200,92798167,92849148,92900143,92951152,93002175,93053212,93104263,93155328,93206407,93257500,93308607,93359728,93410863,93462012,93513175,93564352,93615543,93666748,93717967,
  454. 93769200,93820447,93871708,93922983,93974272,94025575,94076892,94128223,94179568,94230927,94282300,94333687,94385088,94436503,94487932,94539375,94590832,94642303,94693788,94745287,
  455. 94796800,94848327,94899868,94951423,95002992,95054575,95106172,95157783,95209408,95261047,95312700,95364367,95416048,95467743,95519452,95571175,95622912,95674663,95726428,95778207,
  456. 95830000,95881807,95933628,95985463,96037312,96089175,96141052,96192943,96244848,96296767,96348700,96400647,96452608,96504583,96556572,96608575,96660592,96712623,96764668,96816727,
  457. 96868800,96920887,96972988,97025103,97077232,97129375,97181532,97233703,97285888,97338087,97390300,97442527,97494768,97547023,97599292,97651575,97703872,97756183,97808508,97860847,
  458. 97913200,97965567,98017948,98070343,98122752,98175175,98227612,98280063,98332528,98385007,98437500,98490007,98542528,98595063,98647612,98700175,98752752,98805343,98857948,98910567,
  459. 98963200,99015847,99068508,99121183,99173872,99226575,99279292,99332023,99384768,99437527,99490300,99543087,99595888,99648703,99701532,99754375,99807232,99860103,99912988,99965887,
  460. 100018800,100071727,100124668,100177623,100230592,100283575,100336572,100389583,100442608,100495647,100548700,100601767,100654848,100707943,100761052,100814175,100867312,100920463,100973628,101026807,
  461. 101080000,101133207,101186428,101239663,101292912,101346175,101399452,101452743,101506048,101559367,101612700,101666047,101719408,101772783,101826172,101879575,101932992,101986423,102039868,102093327,
  462. 102146800,102200287,102253788,102307303,102360832,102414375,102467932,102521503,102575088,102628687,102682300,102735927,102789568,102843223,102896892,102950575,103004272,103057983,103111708,103165447,
  463. 103219200,103272967,103326748,103380543,103434352,103488175,103542012,103595863,103649728,103703607,103757500,103811407,103865328,103919263,103973212,104027175,104081152,104135143,104189148,104243167,
  464. 104297200,104351247,104405308,104459383,104513472,104567575,104621692,104675823,104729968,104784127,104838300,104892487,104946688,105000903,105055132,105109375,105163632,105217903,105272188,105326487,
  465. 105380800,105435127,105489468,105543823,105598192,105652575,105706972,105761383,105815808,105870247,105924700,105979167,106033648,106088143,106142652,106197175,106251712,106306263,106360828,106415407,
  466. 106470000,106524607,106579228,106633863,106688512,106743175,106797852,106852543,106907248,106961967,107016700,107071447,107126208,107180983,107235772,107290575,107345392,107400223,107455068,107509927,
  467. 107564800,107619687,107674588,107729503,107784432,107839375,107894332,107949303,108004288,108059287,108114300,108169327,108224368,108279423,108334492,108389575,108444672,108499783,108554908,108610047,
  468. 108665200,108720367,108775548,108830743,108885952,108941175,108996412,109051663,109106928,109162207,109217500,109272807,109328128,109383463,109438812,109494175,109549552,109604943,109660348,109715767,
  469. 109771200,109826647,109882108,109937583,109993072,110048575,110104092,110159623,110215168,110270727,110326300,110381887,110437488,110493103,110548732,110604375,110660032,110715703,110771388,110827087,
  470. 110882800,110938527,110994268,111050023,111105792,111161575,111217372,111273183,111329008,111384847,111440700,111496567,111552448,111608343,111664252,111720175,111776112,111832063,111888028,111944007,
  471. 112000000,1073741824
  472. }
  473.  
  474. new punkty_gracza[33]
  475. new zdrowie_gracza[33]
  476. new inteligencja_gracza[33]
  477. new bool: pomocs[33]
  478. new wytrzymalosc_gracza[33]
  479. new Float:redukcja_obrazen_gracza[33]
  480. new kondycja_gracza[33]
  481. new maksymalne_zdrowie_gracza[33]
  482. new Float:szybkosc_gracza[33]
  483. new wytrzymalosc_itemu[33]
  484.  
  485. enum {
  486. NONE = 0,
  487. Snajperista,
  488. Marinac,
  489. ProStrelac,
  490. Mitraljezac,
  491. Doktor,
  492. VatrenaPodrska,
  493. Miner,
  494. Demolitions,
  495. Rusher,
  496. Rambo,
  497. Revolveras,
  498. Bombarder,
  499. Strelac,
  500. Informator,
  501. Pukovnik,
  502. Pobunjenik,
  503. SerijskiUbica,
  504. Desetar,
  505. Vodnik,
  506. Kamikaza,
  507. Assassin,
  508. Major,
  509. Kapetan,
  510. Potpukovnik,
  511. Marsal,
  512. NemackiStrelac,
  513. RuskiPukovnik,
  514. PoljskaPesadija,
  515. Mornar,
  516. Napadac ,
  517. Legija,
  518. Armageddon,
  519. Samuraj,
  520. Ludak,
  521. SWAT,
  522. Partizan,
  523. Gunner,
  524. Cleric,
  525. General,
  526. Terminator,
  527. Slayer,
  528. Zastavnik,
  529. Admiral,
  530. Fighter,
  531. Policajac,
  532. Specijalac,
  533. Predator,
  534. NemackiOficir,
  535. Budala,
  536. ProfVojnik,
  537. Crysis,
  538. ProfStrelac
  539. }
  540.  
  541. new const zdrowie_klasy[] = { //Helti Klase
  542. 0, //NONE
  543. 120, //Snajperista
  544. 140, //Marinac
  545. 130, //Pro-Strelac
  546. 120, //Mitraljezac
  547. 110, //Doktor
  548. 100, //Vatrena Podrska
  549. 100, //Miner
  550. 110, //Demolitions
  551. 100, //Rusher
  552. 130, //Rambo
  553. 120, //Revolveras
  554. 110, //Bombarder
  555. 120, //Strelac
  556. 70, //Informator
  557. 110, //Pukovnik
  558. 150, //Pobunjenik
  559. 110, //Serijski ubica
  560. 120, //Desetar
  561. 110, //Vodnik
  562. 120, //Kamikaza
  563. 10, //Assassin
  564. 100, //Major
  565. 100, //Kapetan
  566. 100, //Potpukovnik
  567. 120, //Marsal
  568. 120, //Nemacki strelac
  569. 130, //Ruski pukovnik
  570. 100, //Poljska pesadija
  571. 110, //Mornar
  572. 150, //Napadac
  573. 100, //Legija
  574. 160, //Armageddon
  575. 100, //Samuraj
  576. 150, //Ratko Mladic
  577. 150, //SWAT
  578. 100, //Partizan
  579. 125, //Gunner
  580. 100, //Cleric
  581. 130, //General
  582. 140, //Terminator
  583. 80, //Slayer
  584. 110, //Zastavnik
  585. 125, //Admiral
  586. 150, //Fighter
  587. 120, //Policajac
  588. 110, //Specijalac
  589. 100, //Predator
  590. 105, //NemackiOficir
  591. 124, //Cetnik
  592. 130, //ProfVojnik
  593. 80, //Crysis
  594. 105 //ProfStrelac
  595. }
  596.  
  597. new const Float:szybkosc_klasy[] = { //Brzina Klase
  598. 0.0, //None
  599. 1.3, //Snajperi
  600. 1.35, //Marinac
  601. 1.0, //Pro-Strelac
  602. 0.8, //Mitraljezac
  603. 1.5, //Doktor
  604. 1.2, //Vatrena Podrska
  605. 1.1, //Miner
  606. 1.1, //Demolitions
  607. 1.3, //Rusher
  608. 1.2, //Rambo
  609. 1.1, //Revolveras
  610. 1.1, //Bombarder
  611. 1.0, //Strelac
  612. 1.6, //Informator
  613. 1.1, //Pukovnik
  614. 1.4, //Pobunjenik
  615. 1.0, //Serijski ubica
  616. 1.0, //Desetar
  617. 1.1, //Vodnik
  618. 1.0, //Kamikaza
  619. 2.0, //Assassin
  620. 1.2, //Major
  621. 1.0, //Kapetan
  622. 1.6, //Potpukovnik
  623. 1.1, //Marsal
  624. 1.0, //Nemacki strelac
  625. 1.0, //Ruski pukovnik
  626. 1.2, //Poljska pesadija
  627. 0.7, //Mornar
  628. 1.2, //Napadac
  629. 1.0, //Legija
  630. 1.0, //Armageddon
  631. 1.4, //Samuraj
  632. 1.4, //Ratko Mladic
  633. 1.3, //SWAT
  634. 1.3, //Partizan
  635. 1.0, //Gunner
  636. 1.2, //Cleric
  637. 1.2, //General
  638. 1.4, //Terminator
  639. 1.6, //Slayer
  640. 1.4, //Zastavnik
  641. 1.1, //Admiral
  642. 1.4, //Fighter
  643. 1.2, //Policajac
  644. 1.8, //Specijalac
  645. 1.3, //Predator
  646. 1.0, //NemackiOficir
  647. 1.2, //Cetnik
  648. 1.6, //ProfVojnik
  649. 1.8, //Crysis
  650. 1.0 //ProfStrelac
  651. }
  652.  
  653. new const pancerz_klasy[] = { //Armor Klase
  654. 0, //None
  655. 100, //Snajperi
  656. 100, //Marinac
  657. 100, //Pro-Strelac
  658. 40, //Mitraljezac
  659. 0, //Doktor
  660. 0, //Vatrena Podrska
  661. 0, //Miner
  662. 100, //Demolitions
  663. 40, //Rusher
  664. 0, //Rambo
  665. 0, //Revolveras
  666. 100, //Bombarder
  667. 40, //Strelac
  668. 0, //Informator
  669. 0, //Pukovnik
  670. 150, //Pobunjenik
  671. 90, //Serijski ubica
  672. 0, //Desetar
  673. 200, //Vodnik
  674. 0, //Kamikaza
  675. 100, //Assassin
  676. 0, //Major
  677. 0, //Kapetan
  678. 200, //Potpukovnik
  679. 0, //Marsal
  680. 100, //Nemacki strelac
  681. 0, //Ruski pukovnik
  682. 0, //Poljska pesadija
  683. 100, //Mornar
  684. 0, //Napadac
  685. 0, //Legija
  686. 120, //Armageddon
  687. 0, //Samuraj
  688. 150, //Ratko Mladic
  689. 110, //SWAT
  690. 100, //Partizan
  691. 100, //Gunner
  692. 150, //Cleric
  693. 120, //General
  694. 50, //Terminator
  695. 120, //Slayer
  696. 300, //Zastavnik
  697. 70, //Admiral
  698. 100, //Fighter
  699. 50, //Policajac
  700. 0, //Specijalac
  701. 25, //Predator
  702. 80, //NemackiOficir
  703. 100, //Cetnik
  704. 90, //ProfVojnik
  705. 10, //Crysis
  706. 45 //ProfStrelac
  707. }
  708.  
  709. new const nazwy_klas[][] = {
  710. "Nema",
  711. "Snajperista",
  712. "Marinac",
  713. "Pro-Strelac",
  714. "Mitraljezac",
  715. "Doktor",
  716. "Vatrena podrska",
  717. "Miner",
  718. "Demolitions",
  719. "Rusher",
  720. "Rambo (200 Din Mesecno)",
  721. "Revolveras",
  722. "Bombarder",
  723. "Strelac",
  724. "Informator",
  725. "Pukovnik",
  726. "Pobunjenik",
  727. "Serijski ubica",
  728. "Desetar",
  729. "Vodnik",
  730. "Kamikaza",
  731. "Assassin (250 Din Mesecno)",
  732. "Major (200 Din Mesecno)",
  733. "Kapetan",
  734. "Potpukovnik",
  735. "Marsal",
  736. "Nemacki strelac",
  737. "Ruski pukovnik",
  738. "Poljska pesadija",
  739. "Mornar",
  740. "Napadac ",
  741. "Legija",
  742. "Armageddon (200 Din Mesecno)",
  743. "Samuraj",
  744. "Ludak (200 Din Mesecno)",
  745. "SWAT",
  746. "Partizan",
  747. "Gunner",
  748. "Cleric",
  749. "General (200 Din Mesecno)",
  750. "Terminator",
  751. "Slayer (150 Din Mesecno)",
  752. "Zastavnik",
  753. "Admiral",
  754. "Fighter (200 Din Mesecno)",
  755. "Policajac",
  756. "Specijalac",
  757. "Predator",
  758. "Nemacki Oficir",
  759. "Budala",
  760. "Profesionalni Vojnik",
  761. "Crysis",
  762. "Profesionalni Strelac"
  763. }
  764.  
  765. new const frakcje[][] = {
  766. "Nema",
  767. "Obicne Klase",
  768. "Premium Klase"
  769. }
  770.  
  771. enum { NONE = 0, o, p }
  772.  
  773. new const nalezy_do[] = {
  774. NONE,
  775. o,
  776. o,
  777. o,
  778. o,
  779. o,
  780. o,
  781. o,
  782. o,
  783. o,
  784. p,
  785. o,
  786. o,
  787. o,
  788. o,
  789. o,
  790. o,
  791. o,
  792. o,
  793. o,
  794. o,
  795. p,
  796. p,
  797. o,
  798. o,
  799. o,
  800. o,
  801. o,
  802. o,
  803. o,
  804. o,
  805. o,
  806. p,
  807. o,
  808. p,
  809. o,
  810. o,
  811. o,
  812. o,
  813. p,
  814. o,
  815. p,
  816. o,
  817. o,
  818. p,
  819. o,
  820. o,
  821. o,
  822. o,
  823. o,
  824. o,
  825. o,
  826. o
  827. }
  828.  
  829. new frakcja_gracza[33]
  830.  
  831. new const opisy_klas[][] = {
  832. "Nema",
  833. "Dobija AWP, Deagle i Scout, 120 HP, 100 AP, 1/3 sanse za instant ubistvo nozem i 130% brzinu.",
  834. "Dobija Deagle, odma ubija nozem, 140 HP, 100 AP i 135% brzinu.",
  835. "Dobija Dobija AK47, M4A1, 110 HP, 100 AP i 80% brzinu.",
  836. "Dobija Dobija M249, otporan na mine, ima sve bombe, 120 HP, 150 AP i 80% brzinu.",
  837. "Dobija UMP45, komplet za prvu pomoc, 110 HP, 100 AP i 150% brzinu.",
  838. "Dobija MP5, HE grenade, 2 rakete, 100 HP, 100 AP i 120% brzinu.",
  839. "Dobija P90, 3 mine, 100 HP, 100 AP i 110% brzinu.",
  840. "Dobija Aug, sve bombe, dinamit koji ubija sve u krugu od 1m, 110 HP, 100 AP i 110% brzinu.",
  841. "Dobija M3, 100 HP, 100 AP i 130% brzinu.",
  842. "Dobija Famas, za svako ubistvo + 20hp i pun sanzer, dupli skok, 130 HP, 150 AP i 120% brzinu.",
  843. "Dobija Elites, 1 raketa, 120 HP, 0 AP i 110% brzinu.",
  844. "Dobija Dobija M4A1, Deagle, 140 HP, 100 AP i 90% brzinu.",
  845. "Dobija Dobija XM1014, Elites, 120 HP, 40 AP i 100% brzinu.",
  846. "Dobija MP5, 70 HP, 0 AP i 160% brzinu.",
  847. "Dobija Famas, Deagle, 110 HP, 0 AP i 110% brzinu i 2 mine.",
  848. "Dobija SG552 + 1 minu + 1 HE, 100hp",
  849. "Dobija M4A1, Smoke grenade, 110 HP, 100 AP i 100% brzinu.",
  850. "Dobija Scout(zadaje 10% vise stete), Deagle, 120 HP, 40 AP i 100% brzinu.",
  851. "Dobija M3, 110 Hp, 0 AP i 110% brzinu.",
  852. "Dobija M4A1, 2 rakete, 120 HP, 0 AP i 100% brzinu.",
  853. "Dobija Deagle, nevidljiv je, 30 HP, 0 AP i 200% brzinu i instant kill nozem (desni klik)",
  854. "Dobija sve pistolje, 10 mina, 90 HP, 0 AP i 110% brzinu.",
  855. "Dobija Aug, 100 HP, 0 AP i 100% brzinu.",
  856. "Dobija awp+deagle, 100 HP, 200 AP i 100% brzinu i manje je vidljiv",
  857. "Dobija Deagle, 120 HP, 0 AP i 120% brzinu.",
  858. "Dobija Ak47, 2 rakete, 90 HP, 100 AP i 120% brzinu.",
  859. "Dobija M4A1, 1 minu, 130 HP, 0 AP i 70% brzinu.",
  860. "Dobija MP5, 2 dinamita, 100 HP, 0 AP i 100% brzinu.",
  861. "Dobija Mac10, ima 50% gravitacije, 110 HP, 100 AP i 100% brzinu i 2 mine.",
  862. "Dobija Famas+P90, smanjena gravitacija, 150 HP, 0 AP i 250% brzinu i 3 dinamita.",
  863. "Dobija M4A1, Deagle, 100 HP, 0 AP i 100% brzinu.",
  864. "Dobija AK47, AUG, HE, 160 HP, 120 AP i 140% brzinui manje je vidljiv i 2 dinamita.",
  865. "Dobija usp, 100 HP, 0 AP i 120% brzinu.",
  866. "Dobija Scout(instant kill), Deagle, dupli skok, 140 HP, 150 AP i 130% brzinui 5 raketa.",
  867. "Dobija M4A1, USP, 150 HP, 110 AP i 10% brzinu.",
  868. "Dobija P90, Flash grenade, manje je vidljiv, 100 HP, 100 AP i 100% brzinu.",
  869. "Dobija G3SG1, Deagle, HE grenade, 1 raketu, 125 HP, 100 AP i 120% brzinu.",
  870. "Dobija AK47, Elites, 100 HP, 50 AP i 120% brzinui 3 mine.",
  871. "Dobija M4A1,P90,kamuflaza,1/10 sanse za instant ubistva DGL-om,130 HP,120 AP i 140% brzinu.",
  872. "Dobija AK47+Deagle, 140 HP, 50 AP i 120% brzinu.",
  873. "Dobija Famas, P90, 3 rakete, 110 HP, 120 AP i 140% brzinu i ubija instant sa nozem.",
  874. "Dobija M4A1, P90, Deagle, 2 rakete, 90 HP, 300 AP i 140% brzinu.",
  875. "Dobija AK47, Famas, 125 HP, 70 AP i 110% brzinu.",
  876. "Dobija M4A1,Scout,USP,2 dinamita,dupli skok,150 HP i 140% brzinu, 1/3 za instant kill nozem.",
  877. "Dobija XM1014, TMP, fiveseven, 150 HP, 50 AP i 120% brzinu.",
  878. "Dobija FAMAS, P228, , 110 HP, 0 AP i 150% brzinu.",
  879. "Dobija sg552, glock18, smokegrenade 100 HP , 25 AP.",
  880. "Dobija P90, glock18 smokegrenade 105 HP, 80 AP.",
  881. "Dobija AK47, 2 HE ,2 dinamita, 124 HP , 100 AP",
  882. "Dobija FAMAS,USP,1 raketu,130 HP , 90 AP",
  883. "Dobija SG552,m4a1,2 rakete,80 HP,10 AP ,super speed,65% nevidljiv",
  884. "Dobija AWP,m4a1,105 HP,45 AP"
  885. }
  886.  
  887. new ilosc_apteczek_gracza[33]
  888. new ilosc_rakiet_gracza[33]
  889. new Float:poprzednia_rakieta_gracza[33]
  890. new ilosc_min_gracza[33]
  891. new ilosc_dynamitow_gracza[33]
  892. new ilosc_skokow_gracza[33]
  893.  
  894. new SOUND_START[] = "items/medshot4.wav"
  895. new SOUND_FINISHED[] = "items/smallmedkit2.wav"
  896. new SOUND_FAILED[] = "items/medshotno1.wav"
  897.  
  898. enum {
  899. ICON_HIDE = 0,
  900. ICON_SHOW,
  901. ICON_FLASH
  902. }
  903.  
  904. new bool:g_haskit[33]
  905. new Float:g_revive_delay[33]
  906. new Float:g_body_origin[33][3]
  907. new bool:g_wasducking[33]
  908.  
  909. new g_msg_bartime
  910. new g_msg_statusicon
  911. new g_msg_clcorpse
  912.  
  913. new cvar_revival_time
  914. new cvar_revival_health
  915. new cvar_revival_dis
  916. new bool:freezetime = true
  917. new hasZoom[33]
  918.  
  919. /* --==[ KillStreak ]==-- */
  920. 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};
  921.  
  922. new cache_trail;
  923.  
  924. new licznik_zabic[33],radar[33],nalot[33],predator[33],nuke[33],emp[33],uav[33], pack[33]
  925. new user_controll[33]
  926. new emp_czasowe
  927.  
  928. new PobraneOrigin[3]
  929. native cod_set_user_xp(id, wartosc)
  930. native cod_get_user_xp(id)
  931. /* --==[ KillStreak ]==-- */
  932.  
  933. /* --==[ VIP ] ==-- */
  934. static const COLOR[] = "^x04" //green
  935. static const CONTACT[] = ""
  936. new maxplayers
  937. new gmsgSayText
  938. new mpd, mkb, mhb
  939. new g_MsgSync
  940. new health_add
  941. new health_hs_add
  942. new health_max
  943. new nKiller
  944. new nKiller_hp
  945. new nHp_add
  946. new nHp_max
  947. new g_vip_active
  948. new g_menu_active
  949. new bool:HasC4[33]
  950. #define DAMAGE_RECIEVED
  951. #define Keysrod (1<<0)|(1<<1)|(1<<9) // Keys: 1234567890
  952. new round;
  953. /* --==[ VIP ] ==-- */
  954.  
  955. public plugin_init()
  956. {
  957. register_plugin(PLUGIN, VERSION, AUTHOR);
  958.  
  959. g_vault = nvault_open("CodMod");
  960.  
  961. register_think("Apteczka","ApteczkaThink");
  962.  
  963. RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  964. RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
  965. RegisterHam(Ham_Touch, "armoury_entity", "DotykBroni");
  966. RegisterHam(Ham_Touch, "weapon_shield", "DotykBroni");
  967. RegisterHam(Ham_Touch, "weaponbox", "DotykBroni");
  968. /* --==[ KillStreak ]==-- */
  969. RegisterHam(Ham_Killed, "player", "SmiercGracza", 1);
  970. RegisterHam(Ham_Touch, "player", "pack_touch", 1);
  971. /* --==[ KillStreak ]==-- */
  972.  
  973. register_forward(FM_CmdStart, "CmdStart");
  974. register_forward(FM_EmitSound, "EmitSound");
  975. register_forward(FM_EmitSound, "fwd_emitsound")
  976. register_forward(FM_PlayerPostThink, "fwd_playerpostthink")
  977. register_forward(FM_PlayerPreThink, "forward_player_prethink" );
  978. register_forward(FM_TraceLine,"fw_traceline");
  979. /* --==[ KillStreak ]==-- */
  980. register_forward(FM_Touch, "fw_Touch");
  981. register_forward(FM_PlayerPreThink, "player_predator");
  982. register_forward(FM_PlayerPreThink, "Forward_FM_PlayerPreThink")
  983. register_forward(FM_ClientKill, "cmdKill")
  984. set_task (2.0,"radar_scan2",_,_,_,"b");
  985. /* --==[ KillStreak ]==-- */
  986.  
  987. register_logevent("PoczatekRundy", 2, "1=Round_Start");
  988. register_logevent("BombaPodlozona", 3, "2=Planted_The_Bomb");
  989. register_event("SendAudio", "BombaRozbrojona", "a", "2&%!MRAD_BOMBDEF");
  990. register_event("BarTime", "RozbrajaBombe", "be", "1=10", "1=5");
  991. register_event("DeathMsg", "Death", "ade");
  992. register_event("Damage", "Damage", "b", "2!=0");
  993. register_event("CurWeapon","CurWeapon","be", "1=1");
  994. register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
  995. register_event("DeathMsg", "event_death", "a")
  996. register_event("HLTV", "event_hltv", "a", "1=0", "2=0")
  997.  
  998. register_touch("Rocket", "*" , "DotykRakiety");
  999. register_touch("Mine", "player", "DotykMiny");
  1000.  
  1001. register_cvar("cod_killxp", "15");
  1002. register_cvar("cod_bombxp", "30");
  1003. register_cvar("cod_hsexp", "20");
  1004. register_cvar("cod_winxp", "20");
  1005.  
  1006. cvar_revival_time = register_cvar("amx_revkit_time", "4")
  1007. cvar_revival_health = register_cvar("amx_revkit_health", "75")
  1008. cvar_revival_dis = register_cvar("amx_revkit_distance", "100.0")
  1009. register_message(get_user_msgid("Health"),"message_health");
  1010. register_event("SendAudio", "WygranaTerro" , "a", "2&%!MRAD_terwin");
  1011. register_event("SendAudio", "WygranaCT", "a", "2&%!MRAD_ctwin");
  1012.  
  1013. register_menucmd(register_menuid("rod"), Keysrod, "Pressedrod")
  1014. /* --==[ KillStreak ]==-- */
  1015. register_clcmd("radio2", "uzyj_nagrody");
  1016. /* --==[ KillStreak ]==-- */
  1017.  
  1018. register_clcmd("say /klasa", "WybierzKlase")
  1019. register_clcmd("say /opis", "OpisKlasy")
  1020. register_clcmd("say /predmet", "OpisPrzedmiotu")
  1021. register_clcmd("say /item", "OpisPrzedmiotu")
  1022. register_clcmd("say /izbaci", "WyrzucPrzedmiot")
  1023. register_clcmd("say /reset", "KomendaResetujPunkty")
  1024. register_clcmd("say /shop", "Sklep")
  1025. register_clcmd("say /pomoc", "WylaczPomoc")
  1026. register_clcmd("say /daj", "OddajPrzedmiot")
  1027. register_clcmd("say /prodaj", "SprzedajPrzedmiot")
  1028.  
  1029. register_clcmd("fullupdate", "BlokujKomende");
  1030. register_clcmd("cl_autobuy", "BlokujKomende");
  1031. register_clcmd("say /molotov", "BlokujKomende");
  1032. register_clcmd("say molotov", "BlokujKomende");
  1033. register_clcmd("cl_rebuy", "BlokujKomende");
  1034. register_clcmd("cl_setautobuy","BlokujKomende");
  1035. register_clcmd("rebuy", "BlokujKomende");
  1036. register_clcmd("autobuy", "BlokujKomende");
  1037. register_clcmd("glock", "BlokujKomende");
  1038. register_clcmd("usp", "BlokujKomende");
  1039. register_clcmd("p228", "BlokujKomende");
  1040. register_clcmd("deagle", "BlokujKomende");
  1041. register_clcmd("elites", "BlokujKomende");
  1042. register_clcmd("fn57", "BlokujKomende");
  1043. register_clcmd("m3", "BlokujKomende");
  1044. register_clcmd("XM1014", "BlokujKomende");
  1045. register_clcmd("mac10", "BlokujKomende");
  1046. register_clcmd("tmp", "BlokujKomende");
  1047. register_clcmd("mp5", "BlokujKomende");
  1048. register_clcmd("ump45", "BlokujKomende");
  1049. register_clcmd("p90", "BlokujKomende");
  1050. register_clcmd("galil", "BlokujKomende");
  1051. register_clcmd("ak47", "BlokujKomende");
  1052. register_clcmd("scout", "BlokujKomende");
  1053. register_clcmd("sg552", "BlokujKomende");
  1054. register_clcmd("awp", "BlokujKomende");
  1055. register_clcmd("g3sg1", "BlokujKomende");
  1056. register_clcmd("famas", "BlokujKomende");
  1057. register_clcmd("m4a1", "BlokujKomende");
  1058. register_clcmd("bullpup", "BlokujKomende");
  1059. register_clcmd("sg550", "BlokujKomende");
  1060. register_clcmd("m249", "BlokujKomende");
  1061. register_clcmd("shield", "BlokujKomende");
  1062. register_clcmd("hegren", "BlokujKomende");
  1063. register_clcmd("sgren", "BlokujKomende");
  1064. register_clcmd("flash", "BlokujKomende");
  1065. register_clcmd("vest", "BlokujKomende");
  1066. register_clcmd("vesthelm", "BlokujKomende");
  1067.  
  1068. register_concmd("cod_lvl", "cmd_setlvl", ADMIN_CVAR, "<name> <level>");
  1069. register_concmd("cod_dajitemek", "KomendaDajPrzedmiot", ADMIN_KICK, "<nick> <item>");
  1070. register_message(g_msg_clcorpse, "message_clcorpse")
  1071. register_clcmd("say /vips", "print_adminlist")
  1072. gmsgSayText = get_user_msgid("SayText")
  1073.  
  1074. g_msg_screenfade = get_user_msgid("ScreenFade");
  1075. g_msg_bartime = get_user_msgid("BarTime")
  1076. g_msg_clcorpse = get_user_msgid("ClCorpse")
  1077. g_msg_statusicon = get_user_msgid("StatusIcon")
  1078. SyncHudObj = CreateHudSyncObj();
  1079. SyncHudObj2 = CreateHudSyncObj();
  1080. SyncHudObj3 = CreateHudSyncObj();
  1081. doswiadczenia_za_zabojstwo = get_cvar_num("cod_killxp");
  1082. doswiadczenie_za_bombe = get_cvar_num("cod_bombxp");
  1083. doswiadczenie_za_wygrana = get_cvar_num("cod_winxp");
  1084. doswiadczenie_za_hs = get_cvar_num("cod_hsexp");
  1085.  
  1086. register_event("ResetHUD", "ResetHUD", "abe");
  1087.  
  1088. register_think("magnet","MagnetThink");
  1089.  
  1090. pcvar_ilosc_elektromagnesow = register_cvar("cod_magnets", "1");
  1091. pcvar_zasieg = register_cvar("cod_magnetradius", "250");
  1092. pcvar_widocznosc_fali = register_cvar("cod_wavesvisibility", "5");
  1093. /* --==[ VIP ] ==-- */
  1094. mpd = register_cvar("money_per_damage","3")
  1095. mkb = register_cvar("money_kill_bonus","500")
  1096. mhb = register_cvar("money_hs_bonus","300")
  1097. health_add = register_cvar("amx_vip_hp", "15")
  1098. health_hs_add = register_cvar("amx_vip_hp_hs", "30")
  1099. health_max = register_cvar("amx_vip_max_hp", "1000")
  1100. g_vip_active = register_cvar("vip_active", "0")
  1101. g_menu_active = register_cvar("menu_active", "1")
  1102.  
  1103. register_event("CurWeapon", "event_CurWeapon_Vip", "be", "1=1")
  1104.  
  1105. register_event("Damage","Damage2","b")
  1106. register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")
  1107.  
  1108. register_menucmd(register_menuid("rod"), Keysrod, "Pressedrod")
  1109. register_clcmd("say /vip","ShowMotd")
  1110.  
  1111. maxplayers = get_maxplayers()
  1112. g_MsgSync = CreateHudSyncObj()
  1113. gmsgSayText = get_user_msgid("SayText")
  1114. register_clcmd("say", "handle_say")
  1115. register_cvar("sv_contact", CONTACT, FCVAR_SERVER)
  1116.  
  1117. register_logevent("Round_Reset", 2, "1=Game_Commencing")
  1118. register_event("TextMsg", "Round_Reset", "a", "2&Game_will_restart_in")
  1119. register_event("DeathMsg", "hook_death", "a", "1>0")
  1120. /* --==[ VIP ] ==-- */
  1121. set_task(30.0, "Pomoc");
  1122.  
  1123. g_msgHostageAdd = get_user_msgid("HostagePos");
  1124. g_msgHostageDel = get_user_msgid("HostageK");
  1125.  
  1126. set_task(1.5, "radar_scan", _, _, _, "b");
  1127. }
  1128.  
  1129. public Sklep(id)
  1130. {
  1131. new menu = menu_create("Sklep:", "Sklep_Handle");
  1132. menu_additem(menu, "Mala Apoteka \r[Daje 20 HP] \yCena: \r4000$");
  1133. menu_additem(menu, "Srednja Apoteka \r[Daje 50 HP] \yCena: \r10000$");
  1134. menu_additem(menu, "Velika Apoteka \r[Daje 100 HP] \yCena: \r15000$");
  1135. menu_additem(menu, "Slucajni Predmet \r[Dobijate Slucajni Predmet] \yCena: \r5000$");
  1136. menu_additem(menu, "Energija \r[+80] \yCena: \r9000$");
  1137. menu_additem(menu, "Kupi Granatu \yCena: \r2500$");
  1138. menu_additem(menu, "Mali Exp \r[Dobijate slucajno od 200 do 500 Exp]\yCena: \r8000$");
  1139. menu_additem(menu, "Veliki Exp \r[Dobijate slucajno od 500 do 1000 Exp]\yCena: \r16000$");
  1140. menu_display(id, menu);
  1141. }
  1142.  
  1143. public Sklep_Handle(id, menu, item)
  1144. {
  1145. client_cmd(id, "spk mw/select")
  1146.  
  1147. if(item == MENU_EXIT)
  1148. {
  1149. menu_destroy(menu)
  1150. return PLUGIN_HANDLED
  1151. }
  1152.  
  1153. menu_display(id, menu)
  1154.  
  1155. new kasa_gracza = cs_get_user_money(id)
  1156. new hp = get_user_health(id)
  1157.  
  1158. switch(item)
  1159. {
  1160. case 0:
  1161. {
  1162. new koszt = 4000;
  1163. if (kasa_gracza<koszt)
  1164. {
  1165. ColorChat(id,GREEN,"[SKLEP]^x01 Nemate dovoljno novca.");
  1166. return PLUGIN_CONTINUE;
  1167. }
  1168. if(hp >= maksymalne_zdrowie_gracza[id])
  1169. {
  1170. ColorChat(id,GREEN,"[SKLEP]^x01 Vi ste potpuno izleceni.");
  1171. return PLUGIN_CONTINUE;
  1172. }
  1173. cs_set_user_money(id, kasa_gracza-koszt);
  1174. new ammount=20;
  1175. new nowe_zdrowie = (hp+ammount<maksymalne_zdrowie_gracza[id])? hp+ammount: maksymalne_zdrowie_gracza[id];
  1176. set_user_health(id, nowe_zdrowie);
  1177. ColorChat(id,GREEN,"[SKLEP]^x01 Kupili ste^x03 Ketonal");
  1178. }
  1179. case 1:
  1180. {
  1181. new koszt = 10000;
  1182. if (kasa_gracza<koszt)
  1183. {
  1184. ColorChat(id,GREEN,"[SKLEP]^x01 Nemate dovoljno novca.");
  1185. return PLUGIN_CONTINUE;
  1186. }
  1187. if(hp >= maksymalne_zdrowie_gracza[id])
  1188. {
  1189. ColorChat(id,GREEN,"[SKLEP]^x01 Vi ste potpuno izleceni");
  1190. return PLUGIN_CONTINUE;
  1191. }
  1192. cs_set_user_money(id, kasa_gracza-koszt);
  1193. new ammount=50;
  1194. new nowe_zdrowie = (hp+ammount<maksymalne_zdrowie_gracza[id])? hp+ammount: maksymalne_zdrowie_gracza[id];
  1195. set_user_health(id, nowe_zdrowie);
  1196. ColorChat(id,GREEN,"[SKLEP]^x01 Kupili ste^x03 Flegamin");
  1197. }
  1198. case 2:
  1199. {
  1200. new koszt = 15000;
  1201. if (kasa_gracza<koszt)
  1202. {
  1203. ColorChat(id,GREEN,"[SKLEP]^x01 Nemate dovoljno novca.");
  1204. return PLUGIN_CONTINUE;
  1205. }
  1206. if(hp >= maksymalne_zdrowie_gracza[id])
  1207. {
  1208. ColorChat(id,GREEN,"[SKLEP]^x01 Vi ste potpuno izleceni.");
  1209. return PLUGIN_CONTINUE;
  1210. }
  1211. cs_set_user_money(id, kasa_gracza-koszt);
  1212. new ammount=100;
  1213. new nowe_zdrowie = (hp+ammount<maksymalne_zdrowie_gracza[id])? hp+ammount: maksymalne_zdrowie_gracza[id];
  1214. set_user_health(id, nowe_zdrowie);
  1215. ColorChat(id,GREEN,"[SKLEP]^x01 Kupili ste^x03 Aspirin");
  1216. }
  1217. case 3:
  1218. {
  1219. new koszt = 5000;
  1220. if (kasa_gracza<koszt)
  1221. {
  1222. ColorChat(id,RED,"[Shop]^x01 Nemate dovoljno novca!!");
  1223. return PLUGIN_HANDLED;
  1224. }
  1225. else if (kasa_gracza >= koszt)
  1226. {
  1227. cs_set_user_money(id, kasa_gracza-koszt);
  1228. DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1));
  1229. }
  1230. }
  1231. case 4:
  1232. {
  1233. new jego_wytrzymalosc = wytrzymalosc_itemu[id]
  1234. new koszt= 9000
  1235. new ilosc_wytrzy = 80
  1236.  
  1237. if(kasa_gracza < koszt)
  1238. {
  1239. ColorChat(id, RED, "[COD:MW3]^x04 Imate malo novca da bi kupili energiju ^x03 %d.", koszt);
  1240. }
  1241. else if(kasa_gracza >= koszt && jego_wytrzymalosc < 81)
  1242. {
  1243. cs_set_user_money(id, kasa_gracza -= koszt)
  1244. wytrzymalosc_itemu[id] += ilosc_wytrzy
  1245. ColorChat(id, RED, "[COD:MW3] ^x04 Kupili ste %d Energiju", ilosc_wytrzy);
  1246. }
  1247. else if(jego_wytrzymalosc >= 81)
  1248. {
  1249. ColorChat(id, RED, "[COD:MW3] ^x04 Morate imati manje od 81 energije da bi ste kupili!");
  1250. }
  1251. }
  1252. case 5:
  1253. {
  1254. new koszt = 2500
  1255. if(kasa_gracza < koszt)
  1256. {
  1257. ColorChat(id, RED, "[COD:MW3] ^x04 Imate malo novca da bi kupili granatu %d.", koszt)
  1258. }
  1259. else if(kasa_gracza >= koszt)
  1260. {
  1261. cs_set_user_money(id, kasa_gracza -= koszt)
  1262. give_item(id, "weapon_hegrenade");
  1263. give_item(id, "weapon_flashbang");
  1264. give_item(id, "weapon_smokegrenade");
  1265. ColorChat(id, GREEN, "^x04 [COD:MW3] ^x04 Kupili ste paket granata")
  1266. }
  1267. }
  1268. case 6:
  1269. {
  1270. new koszt = 8000
  1271. if(kasa_gracza < koszt)
  1272. {
  1273. ColorChat(id, RED, "[COD:MW3] ^x04 Imate malo novca da bi kupili mali Exp..")
  1274. }
  1275. else if(kasa_gracza >= koszt)
  1276. {
  1277. cs_set_user_money(id, kasa_gracza -= koszt)
  1278. new exp = random_num(15, 30);
  1279. ColorChat(id, RED, "[COD:MW3] ^x04 Dobili ste %i Expa.", exp)
  1280. doswiadczenie_gracza[id] += exp;
  1281. }
  1282. }
  1283. case 7:
  1284. {
  1285. new koszt = 16000
  1286. if(kasa_gracza < koszt)
  1287. {
  1288. ColorChat(id, RED, "[COD:MW3] ^x04 Imate malo novca da bi ste kupili veliki Exp.")
  1289. }
  1290. else if(kasa_gracza >= koszt)
  1291. {
  1292. cs_set_user_money(id, kasa_gracza -= koszt)
  1293. new exp = random_num(25, 45);
  1294. ColorChat(id, RED, "[COD:MW3] ^x04 Dobili ste %i Expa.", exp)
  1295. doswiadczenie_gracza[id] += exp;
  1296. }
  1297. }
  1298. }
  1299.  
  1300. return PLUGIN_CONTINUE
  1301. }
  1302.  
  1303. public plugin_precache()
  1304. {
  1305. sprite_white = precache_model("sprites/white.spr")
  1306. sprite_blast = precache_model("sprites/dexplo.spr")
  1307.  
  1308. precache_sound("mw/select.wav")
  1309. precache_sound("mw/start.wav")
  1310. precache_sound("mw/start2.wav")
  1311. precache_sound("mw/levelup.wav")
  1312.  
  1313. precache_model("models/w_medkit.mdl")
  1314. precache_model("models/rpgrocket.mdl")
  1315. precache_model("models/mine.mdl")
  1316.  
  1317. precache_sound("weapons/mine_charge.wav")
  1318. precache_sound("weapons/mine_activate.wav")
  1319. precache_sound("weapons/mine_deploy.wav")
  1320.  
  1321. precache_sound(SOUND_START)
  1322. precache_sound(SOUND_FINISHED)
  1323. precache_sound(SOUND_FAILED)
  1324.  
  1325. /* --==[ KillStreak ]==-- */
  1326. cache_trail = precache_model("sprites/smoke.spr")
  1327. precache_model("models/p_hegrenade.mdl");
  1328. precache_model("models/cod_carepackage.mdl")
  1329. precache_model("models/cod_plane.mdl")
  1330. precache_model("models/cod_predator.mdl")
  1331. precache_sound("mw/nuke_enemy1.wav")
  1332. precache_sound("mw/jet_fly1.wav")
  1333. precache_sound("mw/nuke_give.wav")
  1334. precache_sound("mw/emp_effect.wav")
  1335. precache_sound("mw/counter_enemy.wav")
  1336. precache_sound("mw/air_give.wav")
  1337. precache_sound("mw/predator_give.wav")
  1338. precache_sound("mw/emp_give.wav")
  1339. precache_sound("mw/uav_give.wav")
  1340. /* --==[ KillStreak ]==-- */
  1341. }
  1342.  
  1343. public CmdStart(id, uc_handle)
  1344. {
  1345. if(!is_user_alive(id))
  1346. {
  1347. return FMRES_IGNORED
  1348. }
  1349.  
  1350. if(zatrzymaj_czas && zatrzymaj_czas != id)
  1351. {
  1352. entity_set_vector(id, EV_VEC_velocity, Float:{0.0, 0.0, 0.0});
  1353. entity_set_vector(id, EV_VEC_v_angle, Float:{0.0, 0.0, 0.0});
  1354. entity_set_vector(id, EV_VEC_angles, Float:{0.0, 0.0, 0.0});
  1355. entity_set_int(id, EV_INT_fixangle, 1);
  1356. set_pdata_float(id, 83, 0.1, 5);
  1357. set_uc(uc_handle, UC_Buttons, 0);
  1358. new name[55];
  1359. get_user_name(zatrzymaj_czas, name, 54);
  1360. client_print(id, print_center, "%s Preostalo vreme na njegov predmet 3sek.", name);
  1361. }
  1362.  
  1363. new button = get_uc(uc_handle, UC_Buttons);
  1364. new oldbutton = get_user_oldbutton(id);
  1365. new flags = get_entity_flags(id);
  1366.  
  1367. if(informacje_przedmiotu_gracza[id][0] == 11 || klasa_gracza[id] == Rambo)
  1368. {
  1369. if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && ilosc_skokow_gracza[id] > 0)
  1370. {
  1371. ilosc_skokow_gracza[id]--;
  1372. new Float:velocity[3];
  1373. entity_get_vector(id,EV_VEC_velocity,velocity);
  1374. velocity[2] = random_float(265.0,285.0);
  1375. entity_set_vector(id,EV_VEC_velocity,velocity);
  1376. }
  1377. else if(flags & FL_ONGROUND)
  1378. {
  1379. ilosc_skokow_gracza[id] = 0
  1380.  
  1381. if(informacje_przedmiotu_gracza[id][0] == 11)
  1382. {
  1383. ilosc_skokow_gracza[id]++
  1384. }
  1385.  
  1386. if(klasa_gracza[id] == Rambo)
  1387. {
  1388. ilosc_skokow_gracza[id]++
  1389. }
  1390. }
  1391. }
  1392.  
  1393. if(informacje_przedmiotu_gracza[id][0] == 48)
  1394. {
  1395. if(button & IN_DUCK)
  1396. {
  1397. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 8)
  1398. }
  1399. else
  1400. {
  1401. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255)
  1402. }
  1403. }
  1404.  
  1405. if(button & IN_ATTACK2 && !(pev(id, pev_oldbuttons) & IN_ATTACK2) && informacje_przedmiotu_gracza[id][0] == 63)
  1406. {
  1407. new szClip, szAmmo
  1408. new WeapID = get_user_weapon( id, szClip, szAmmo )
  1409.  
  1410. if(WeapID != CSW_KNIFE && WeapID != CSW_C4 && WeapID != CSW_AWP && WeapID != CSW_SCOUT && WeapID != CSW_SG550 && WeapID != CSW_G3SG1 && !hasZoom[id])
  1411. {
  1412. hasZoom[id] = true;
  1413. cs_set_user_zoom(id, CS_SET_FIRST_ZOOM, 1);
  1414. emit_sound(id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100);
  1415. }
  1416.  
  1417. else if (hasZoom[id])
  1418. {
  1419. hasZoom[id] = false;
  1420. cs_set_user_zoom(id, CS_RESET_ZOOM, 0);
  1421. }
  1422. }
  1423.  
  1424. if(button & IN_ATTACK)
  1425. {
  1426. new Float:punchangle[3];
  1427.  
  1428. if(informacje_przedmiotu_gracza[id][0] == 20)
  1429. entity_set_vector(id, EV_VEC_punchangle, punchangle);
  1430. if(informacje_przedmiotu_gracza[id][0] == 23)
  1431. {
  1432. entity_get_vector(id, EV_VEC_punchangle, punchangle);
  1433. for(new i=0; i<3;i++)
  1434. punchangle[i]*=0.9;
  1435. entity_set_vector(id, EV_VEC_punchangle, punchangle);
  1436. }
  1437.  
  1438. if(informacje_przedmiotu_gracza[id][0] == 70)
  1439. {
  1440. entity_get_vector(id, EV_VEC_punchangle, punchangle);
  1441. for(new i=0; i<3;i++)
  1442. punchangle[i]*=1.1;
  1443. entity_set_vector(id, EV_VEC_punchangle, punchangle);
  1444. }
  1445. }
  1446.  
  1447. 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)
  1448. {
  1449. informacje_przedmiotu_gracza[id][1] = floatround(get_gametime())
  1450. new Float:velocity[3]
  1451. VelocityByAim(id, 700, velocity)
  1452. velocity[2] = random_float(265.0,285.0)
  1453. entity_set_vector(id, EV_VEC_velocity, velocity)
  1454. }
  1455.  
  1456. new clip, ammo, weapon = get_user_weapon(id, clip, ammo);
  1457.  
  1458. if(maxClip[weapon] == -1 || !ammo)
  1459. {
  1460. return FMRES_IGNORED
  1461. }
  1462.  
  1463. if(informacje_przedmiotu_gracza[id][0] == 77 && ((button & IN_RELOAD && !(oldbutton & IN_RELOAD) && !(button & IN_ATTACK)) || !clip))
  1464. {
  1465. cs_set_user_bpammo(id, weapon, ammo-(maxClip[weapon]-clip));
  1466. new new_ammo = min(clip+ammo, maxClip[weapon]);
  1467. set_user_clip(id, new_ammo);
  1468. }
  1469.  
  1470. return FMRES_IGNORED
  1471. }
  1472.  
  1473. public Odrodzenie(id)
  1474. {
  1475. if(!is_user_alive(id) || !is_user_connected(id))
  1476. return PLUGIN_CONTINUE;
  1477.  
  1478. if(nowa_klasa_gracza[id])
  1479. {
  1480. klasa_gracza[id] = nowa_klasa_gracza[id];
  1481. nowa_klasa_gracza[id] = 0;
  1482. strip_user_weapons(id);
  1483. give_item(id, "weapon_knife");
  1484. switch(get_user_team(id))
  1485. {
  1486. case 1: give_item(id, "weapon_glock18");
  1487. case 2: give_item(id, "weapon_usp");
  1488. }
  1489. WczytajDane(id, klasa_gracza[id]);
  1490. }
  1491.  
  1492. if(!klasa_gracza[id])
  1493. {
  1494. WybierzKlase(id);
  1495. return PLUGIN_CONTINUE;
  1496. }
  1497. switch(klasa_gracza[id])
  1498. {
  1499. case Snajperista:
  1500. {
  1501. give_item(id, "weapon_awp");
  1502. give_item(id, "weapon_scout");
  1503. give_item(id, "weapon_deagle");
  1504. }
  1505. case Marinac:
  1506. {
  1507. give_item(id, "weapon_deagle");
  1508. give_item(id, "weapon_famas");
  1509. }
  1510. case ProStrelac:
  1511. {
  1512. give_item(id, "weapon_m4a1");
  1513. give_item(id, "weapon_ak47");
  1514. }
  1515. case Mitraljezac:
  1516. {
  1517. give_item(id, "weapon_m249");
  1518. give_item(id, "weapon_hegrenade");
  1519. give_item(id, "weapon_flashbang");
  1520. give_item(id, "weapon_smokegrenade");
  1521. }
  1522. case Doktor:
  1523. {
  1524. give_item(id, "weapon_ump45")
  1525. ilosc_apteczek_gracza[id] = 4
  1526. }
  1527. case VatrenaPodrska:
  1528. {
  1529. give_item(id, "weapon_mp5navy");
  1530. ilosc_rakiet_gracza[id] = 2;
  1531. }
  1532. case Miner:
  1533. {
  1534. give_item(id, "weapon_p90");
  1535. ilosc_min_gracza[id] = 3
  1536. }
  1537. case Demolitions:
  1538. {
  1539. give_item(id, "weapon_aug");
  1540. give_item(id, "weapon_hegrenade");
  1541. give_item(id, "weapon_flashbang");
  1542. give_item(id, "weapon_smokegrenade");
  1543. ilosc_dynamitow_gracza[id] = 1;
  1544. }
  1545. case Rusher:
  1546. {
  1547. give_item(id, "weapon_m3");
  1548. }
  1549. case Rambo:
  1550. {
  1551. give_item(id, "weapon_famas");
  1552. }
  1553. case Revolveras:
  1554. {
  1555. give_item(id, "weapon_elite");
  1556. ilosc_rakiet_gracza[id] = 2;
  1557. }
  1558. case Bombarder:
  1559. {
  1560. give_item(id, "weapon_m4a1");
  1561. give_item(id, "weapon_deagle");
  1562. }
  1563. case Strelac:
  1564. {
  1565. give_item(id, "weapon_xm1014");
  1566. give_item(id, "weapon_elite");
  1567. }
  1568. case Informator:
  1569. {
  1570. give_item(id, "weapon_mp5navy");
  1571. }
  1572. case Pukovnik:
  1573. {
  1574. give_item(id, "weapon_famas");
  1575. give_item(id, "weapon_deagle");
  1576. ilosc_min_gracza[id] = 2
  1577. }
  1578. case Pobunjenik:
  1579. {
  1580. give_item(id, "weapon_sg552");
  1581. ilosc_rakiet_gracza[id] = 2;
  1582. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 65);
  1583. }
  1584. case SerijskiUbica:
  1585. {
  1586. give_item(id, "weapon_m4a1");
  1587. give_item(id, "weapon_smokegrenade");
  1588. }
  1589. case Desetar:
  1590. {
  1591. give_item(id, "weapon_scout");
  1592. give_item(id, "weapon_deagle");
  1593. }
  1594. case Vodnik:
  1595. {
  1596. give_item(id, "weapon_m3");
  1597.  
  1598. }
  1599. case Kamikaza:
  1600. {
  1601. give_item(id, "weapon_m4a1");
  1602. ilosc_rakiet_gracza[id] = 2;
  1603. }
  1604. case Assassin:
  1605. {
  1606. give_item(id, "weapon_deagle");
  1607. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 5);
  1608. }
  1609. case Major:
  1610. {
  1611. give_item(id, "weapon_glock18");
  1612. give_item(id, "weapon_m4a1");
  1613. give_item(id, "weapon_usp");
  1614. give_item(id, "weapon_p228");
  1615. give_item(id, "weapon_deagle");
  1616. give_item(id, "weapon_elite");
  1617. give_item(id, "weapon_fiveseven");
  1618. give_item(id, "weapon_smokegrenade");
  1619. ilosc_min_gracza[id] = 10
  1620. }
  1621. case Kapetan:
  1622. {
  1623. give_item(id, "weapon_aug");
  1624. }
  1625. case Potpukovnik:
  1626. {
  1627. give_item(id, "weapon_awp");
  1628. give_item(id, "weapon_deagle");
  1629. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 55);
  1630. }
  1631. case Marsal:
  1632. {
  1633. give_item(id, "weapon_deagle");
  1634. }
  1635. case NemackiStrelac:
  1636. {
  1637. give_item(id, "weapon_ak47");
  1638. ilosc_rakiet_gracza[id] = 2;
  1639. }
  1640. case RuskiPukovnik:
  1641. {
  1642. give_item(id, "weapon_m4a1");
  1643. ilosc_min_gracza[id] = 1
  1644. }
  1645. case PoljskaPesadija:
  1646. {
  1647. give_item(id, "weapon_mp5navy");
  1648. ilosc_dynamitow_gracza[id] = 2
  1649. }
  1650. case Mornar:
  1651. {
  1652. give_item(id, "weapon_mac10");
  1653. ilosc_min_gracza[id] = 2
  1654. }
  1655. case Napadac:
  1656. {
  1657. give_item(id, "weapon_famas");
  1658. give_item(id, "weapon_p90");
  1659. ilosc_dynamitow_gracza[id] = 3
  1660. }
  1661. case Legija:
  1662. {
  1663. give_item(id, "weapon_m4a1");
  1664. give_item(id, "weapon_sg552");
  1665. give_item(id, "weapon_deagle");
  1666. }
  1667. case Armageddon:
  1668. {
  1669. give_item(id, "weapon_ak47");
  1670. give_item(id, "weapon_aug");
  1671. give_item(id, "weapon_hegrenade");
  1672. ilosc_dynamitow_gracza[id] = 3
  1673. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 30);
  1674. }
  1675. case Samuraj:
  1676. {
  1677. give_item(id, "weapon_usp");
  1678. }
  1679. case Ludak:
  1680. {
  1681. give_item(id, "weapon_scout");
  1682. give_item(id, "weapon_deagle");
  1683. ilosc_rakiet_gracza[id] = 5;
  1684. }
  1685. case SWAT:
  1686. {
  1687. give_item(id, "weapon_m4a1");
  1688. give_item(id, "weapon_usp");
  1689. }
  1690. case Partizan:
  1691. {
  1692. give_item(id, "weapon_p90");
  1693. give_item(id, "weapon_flashbang");
  1694. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70);
  1695. }
  1696. case Gunner:
  1697. {
  1698. give_item(id, "weapon_g3sg1");
  1699. give_item(id, "weapon_deagle");
  1700. give_item(id, "weapon_hegrenade");
  1701. ilosc_rakiet_gracza[id] = 2;
  1702. }
  1703. case Cleric:
  1704. {
  1705. give_item(id, "weapon_ak47");
  1706. give_item(id, "weapon_elite");
  1707. ilosc_min_gracza[id] = 3
  1708. }
  1709. case General:
  1710. {
  1711. give_item(id, "weapon_m4a1");
  1712. give_item(id, "weapon_p90");
  1713. give_item(id, "weapon_deagle");
  1714. ZmienUbranie(id, 0);
  1715. }
  1716. case Terminator:
  1717. {
  1718. give_item(id, "weapon_ak47");
  1719. give_item(id, "weapon_usp");
  1720. ilosc_rakiet_gracza[id] = 2;
  1721. }
  1722. case Slayer:
  1723. {
  1724. give_item(id, "weapon_famas");
  1725. give_item(id, "weapon_p90");
  1726. ilosc_rakiet_gracza[id] = 3;
  1727. }
  1728. case Zastavnik:
  1729. {
  1730. give_item(id, "weapon_p90");
  1731. give_item(id, "weapon_deagle");
  1732. ilosc_rakiet_gracza[id] = 2;
  1733. }
  1734. case Admiral:
  1735. {
  1736. give_item(id, "weapon_ak47");
  1737. give_item(id, "weapon_famas");
  1738. }
  1739. case Fighter:
  1740. {
  1741. give_item(id, "weapon_mac10");
  1742. give_item(id, "weapon_scout");
  1743. give_item(id, "weapon_usp");
  1744. ilosc_dynamitow_gracza[id] = 2
  1745. }
  1746. case Policajac:
  1747. {
  1748. give_item(id, "weapon_xm014");
  1749. give_item(id, "weapon_tmp");
  1750. give_item(id, "weapon_fiveseven");
  1751.  
  1752. }
  1753. case Specijalac:
  1754. {
  1755. give_item(id, "weapon_famas");
  1756. give_item(id, "weapon_p228");
  1757. give_item(id, "weapon_m3");
  1758.  
  1759. }
  1760. case Predator:
  1761. {
  1762. give_item(id, "weapon_sg552");
  1763. give_item(id, "weapon_glock18");
  1764. give_item(id, "weapon_smokegrenade");
  1765.  
  1766. }
  1767. case NemackiOficir:
  1768. {
  1769. give_item(id, "weapon_p90");
  1770. give_item(id, "weapon_glock18");
  1771. give_item(id, "weapon_smokegrenade");
  1772. }
  1773. case Budala:
  1774. {
  1775. give_item(id, "weapon_ak47");
  1776. give_item(id, "weapon_hegrenade");
  1777. give_item(id, "weapon_hegrenade");
  1778. ilosc_dynamitow_gracza[id] = 2
  1779. }
  1780. case ProfVojnik:
  1781. {
  1782. give_item(id, "weapon_famas");
  1783. give_item(id, "weapon_usp");
  1784. ilosc_rakiet_gracza[id] = 2;
  1785. }
  1786. case Crysis:
  1787. {
  1788. give_item(id, "weapon_sg552");
  1789. give_item(id, "weapon_m4a1");
  1790. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70);
  1791. }
  1792. case ProfStrelac:
  1793. {
  1794. give_item(id, "weapon_awp");
  1795. give_item(id, "weapon_m4a1");
  1796. ilosc_rakiet_gracza[id] = 2;
  1797. }
  1798. }
  1799.  
  1800. if(!informacje_przedmiotu_gracza[id][0] && klasa_gracza[id] != Partizan)
  1801. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  1802.  
  1803. if(punkty_gracza[id]>0)
  1804. set_task(10.0, "PrzydzielPunkty", id);
  1805.  
  1806. if(informacje_przedmiotu_gracza[id][0] == 61)
  1807. ilosc_min_gracza[id] += 5;
  1808.  
  1809. if(informacje_przedmiotu_gracza[id][0] == 78)
  1810. set_user_gravity(id, 0.5);
  1811.  
  1812. if(informacje_przedmiotu_gracza[id][0] == 62)
  1813. give_item(id, "weapon_galil");
  1814.  
  1815. 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)
  1816. give_item(id, "weapon_hegrenade");
  1817.  
  1818. if(informacje_przedmiotu_gracza[id][0] == 56)
  1819. give_item(id, "weapon_m4a1");
  1820.  
  1821. if(informacje_przedmiotu_gracza[id][0] == 57)
  1822. give_item(id, "weapon_ak47");
  1823.  
  1824. if(informacje_przedmiotu_gracza[id][0] == 89)
  1825. {
  1826. itemo[id]++
  1827. if(itemo[id] > 1)
  1828. UsunPrzedmiot(id);
  1829. }
  1830.  
  1831. 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)
  1832. ZmienUbranie(id, 0);
  1833.  
  1834. if(informacje_przedmiotu_gracza[id][0] == 67)
  1835. {
  1836. give_item(id, "weapon_usp");
  1837. give_item(id, "weapon_mp5navy");
  1838. }
  1839.  
  1840. 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)
  1841. set_user_footsteps(id, 1);
  1842. else
  1843. set_user_footsteps(id, 0);
  1844.  
  1845. if(informacje_przedmiotu_gracza[id][0] == 13)
  1846. give_item(id, "weapon_awp");
  1847.  
  1848. if(informacje_przedmiotu_gracza[id][0] == 33)
  1849. give_item(id, "weapon_m4a1");
  1850.  
  1851. if(informacje_przedmiotu_gracza[id][0] == 32)
  1852. {
  1853. give_item(id, "weapon_ak47");
  1854. give_item(id, "weapon_awp");
  1855. }
  1856. if(informacje_przedmiotu_gracza[id][0] == 53)
  1857. {
  1858. give_item(id, "weapon_deagle");
  1859. give_item(id, "weapon_awp");
  1860. }
  1861. if(informacje_przedmiotu_gracza[id][0] == 33)
  1862. give_item(id, "weapon_m4a1");
  1863.  
  1864. if(informacje_przedmiotu_gracza[id][0] == 34)
  1865. give_item(id, "weapon_deagle");
  1866.  
  1867. if(informacje_przedmiotu_gracza[id][0] == 35)
  1868. give_item(id, "weapon_m3");
  1869.  
  1870. if(informacje_przedmiotu_gracza[id][0] == 55)
  1871. give_item(id, "weapon_scout");
  1872.  
  1873. if(informacje_przedmiotu_gracza[id][0] == 60)
  1874. give_item(id, "weapon_m4a1");
  1875.  
  1876. if(informacje_przedmiotu_gracza[id][0] == 19)
  1877. informacje_przedmiotu_gracza[id][1] = 1;
  1878.  
  1879. 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)
  1880. informacje_przedmiotu_gracza[id][1] = 1;
  1881.  
  1882. if(informacje_przedmiotu_gracza[id][0] == 27)
  1883. informacje_przedmiotu_gracza[id][1] = 3;
  1884.  
  1885. if(informacje_przedmiotu_gracza[id][0] == 38)
  1886. ilosc_apteczek_gracza[id] = 5;
  1887.  
  1888.  
  1889. if(informacje_przedmiotu_gracza[id][0] == 54)
  1890. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 1);
  1891.  
  1892. if(informacje_przedmiotu_gracza[id][0] == 36)
  1893. set_user_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderGlow, 30);
  1894.  
  1895.  
  1896. new weapons[32];
  1897. new weaponsnum;
  1898. get_user_weapons(id, weapons, weaponsnum);
  1899. for(new i=0; i<weaponsnum; i++)
  1900. if(is_user_alive(id))
  1901. if(maxAmmo[weapons[i]] > 0)
  1902. cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  1903.  
  1904. redukcja_obrazen_gracza[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(wytrzymalosc_gracza[id])))/100);
  1905. maksymalne_zdrowie_gracza[id] = zdrowie_klasy[klasa_gracza[id]]+zdrowie_gracza[id]*2;
  1906. szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC*szybkosc_klasy[klasa_gracza[id]]+floatround(kondycja_gracza[id]*1.3);
  1907.  
  1908. if(informacje_przedmiotu_gracza[id][0] == 82)
  1909. {
  1910. maksymalne_zdrowie_gracza[id] = 25;
  1911. set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 1)
  1912. }
  1913.  
  1914. if(informacje_przedmiotu_gracza[id][0] == 83)
  1915. {
  1916. maksymalne_zdrowie_gracza[id] = 90;
  1917. set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 15)
  1918. }
  1919.  
  1920. if(informacje_przedmiotu_gracza[id][0] == 80)
  1921. {
  1922. maksymalne_zdrowie_gracza[id] += informacje_przedmiotu_gracza[id][1];
  1923. give_item(id, "weapon_m3");
  1924. }
  1925.  
  1926. 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)
  1927. maksymalne_zdrowie_gracza[id] += 100;
  1928.  
  1929. if(informacje_przedmiotu_gracza[id][0] == 18)
  1930. szybkosc_gracza[id] -= 0.4;
  1931.  
  1932. if(informacje_przedmiotu_gracza[id][0] == 29)
  1933. {
  1934. maksymalne_zdrowie_gracza[id] += 50;
  1935. szybkosc_gracza[id] += 0.2;
  1936. }
  1937. if(informacje_przedmiotu_gracza[id][0] == 36)
  1938. maksymalne_zdrowie_gracza[id] = 10;
  1939.  
  1940. if(informacje_przedmiotu_gracza[id][0] == 39)
  1941. set_user_gravity(id, 0.5);
  1942.  
  1943. if(informacje_przedmiotu_gracza[id][0] == 54)
  1944. set_user_gravity(id, 0.8);
  1945.  
  1946. if(informacje_przedmiotu_gracza[id][0] == 30)
  1947. szybkosc_gracza[id] -= 20;
  1948.  
  1949. if(informacje_przedmiotu_gracza[id][0] == 25)
  1950. {
  1951. maksymalne_zdrowie_gracza[id] += 50;
  1952. szybkosc_gracza[id] -= 0.3;
  1953. }
  1954. if(informacje_przedmiotu_gracza[id][0] == 54)
  1955. maksymalne_zdrowie_gracza[id] = 1;
  1956.  
  1957. if(informacje_przedmiotu_gracza[id][0] == 50)
  1958. szybkosc_gracza[id] += 10;
  1959.  
  1960. if(informacje_przedmiotu_gracza[id][0] == 43)
  1961. szybkosc_gracza[id] += 20;
  1962.  
  1963. if(informacje_przedmiotu_gracza[id][0] == 44)
  1964. maksymalne_zdrowie_gracza[id] += 70;
  1965.  
  1966. if(informacje_przedmiotu_gracza[id][0] == 49)
  1967. informacje_przedmiotu_gracza[id][1] = 1;
  1968.  
  1969. if(informacje_przedmiotu_gracza[id][0] == 52)
  1970. informacje_przedmiotu_gracza[id][1] = 1;
  1971.  
  1972. if(informacje_przedmiotu_gracza[id][0] == 79)
  1973. ilosc_min_gracza[id] += 3;
  1974.  
  1975. if(informacje_przedmiotu_gracza[id][0] == 88)
  1976. maksymalne_zdrowie_gracza[id] *= 2;
  1977.  
  1978. set_user_armor(id, pancerz_klasy[klasa_gracza[id]]);
  1979. set_user_health(id, maksymalne_zdrowie_gracza[id]);
  1980. if(informacje_przedmiotu_gracza[id][0] == 17)
  1981. set_user_armor(id, 500);
  1982.  
  1983. if(informacje_przedmiotu_gracza[id][0] == 46)
  1984. set_user_armor(id, 500);
  1985.  
  1986. if(informacje_przedmiotu_gracza[id][0] == 64)
  1987. cs_set_user_money(id,16000);
  1988.  
  1989.  
  1990. return PLUGIN_CONTINUE;
  1991. }
  1992.  
  1993. public PoczatekRundy()
  1994. {
  1995. freezetime = false;
  1996. for(new id=0;id<=32;id++)
  1997. {
  1998. if(!is_user_alive(id))
  1999. continue;
  2000.  
  2001. set_task(0.1, "UstawSzybkosc", id+ZADANIE_USTAW_SZYBKOSC);
  2002.  
  2003. switch(get_user_team(id))
  2004. {
  2005. case 1: client_cmd(id, "spk mw/start");
  2006. case 2: client_cmd(id, "spk mw/start2");
  2007. }
  2008. }
  2009.  
  2010. round++;
  2011. new players[32], player, pnum;
  2012. get_players(players, pnum, "a");
  2013. for(new i = 0; i < pnum; i++)
  2014. {
  2015. player = players[i];
  2016. if(is_user_connected(player) && get_user_flags(player) & ADMIN_LEVEL_H)
  2017. {
  2018. if(!get_pcvar_num(g_menu_active))
  2019. return PLUGIN_CONTINUE
  2020. if(!is_user_hltv(player) && !is_user_bot(player))
  2021. {
  2022. give_item(player, "weapon_hegrenade");
  2023. give_item(player, "weapon_flashbang");
  2024. give_item(player, "weapon_flashbang");
  2025. give_item(player, "weapon_smokegrenade");
  2026. give_item(player, "item_assaultsuit");
  2027. give_item(player, "item_thighpack");
  2028. }
  2029. if(round > 3) Showrod(player)
  2030. }
  2031. }
  2032. return PLUGIN_HANDLED;
  2033. }
  2034.  
  2035. public NowaRunda()
  2036. {
  2037. NowaRunda_magnet();
  2038. freezetime = true;
  2039. new iEnt = find_ent_by_class(-1, "Mine");
  2040. while(iEnt > 0)
  2041. {
  2042. remove_entity(iEnt);
  2043. iEnt = find_ent_by_class(iEnt, "Mine");
  2044. }
  2045. }
  2046.  
  2047. public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
  2048. {
  2049. 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])
  2050. return HAM_IGNORED;
  2051.  
  2052. new health = get_user_health(this);
  2053. new weapon = get_user_weapon(idattacker);
  2054.  
  2055. if(health < 2)
  2056. return HAM_IGNORED;
  2057.  
  2058. if(informacje_przedmiotu_gracza[this][0] == 27 && informacje_przedmiotu_gracza[this][1]>0)
  2059. {
  2060. informacje_przedmiotu_gracza[this][1]--;
  2061. return HAM_SUPERCEDE;
  2062. }
  2063.  
  2064. if(informacje_przedmiotu_gracza[this][0] == 83)
  2065. damage -= floatmin(damage, 5.0);
  2066.  
  2067. if(informacje_przedmiotu_gracza[idattacker][0] == 81)
  2068. damage += 20.0;
  2069.  
  2070. if(informacje_przedmiotu_gracza[idattacker][0] == 30)
  2071. damage += 20.0;
  2072.  
  2073. if(informacje_przedmiotu_gracza[this][0] == 81)
  2074. damage -= floatmin(damage, 10.0);
  2075.  
  2076. if(informacje_przedmiotu_gracza[idattacker][0] == 79)
  2077. damage += 15.0;
  2078.  
  2079. if(informacje_przedmiotu_gracza[this][0] == 70)
  2080. damage -= floatmin(damage, 10.0);
  2081.  
  2082. if(wytrzymalosc_gracza[this]>0)
  2083. damage -= redukcja_obrazen_gracza[this]*damage;
  2084.  
  2085. if(informacje_przedmiotu_gracza[this][0] == 2 || informacje_przedmiotu_gracza[this][0] == 3)
  2086. damage-=(float(informacje_przedmiotu_gracza[this][1])<damage)? float(informacje_przedmiotu_gracza[this][1]): damage;
  2087.  
  2088. if(informacje_przedmiotu_gracza[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
  2089. damage*=2.0;
  2090.  
  2091. if(informacje_przedmiotu_gracza[idattacker][0] == 10)
  2092. damage+=informacje_przedmiotu_gracza[idattacker][1];
  2093.  
  2094. if(informacje_przedmiotu_gracza[this][0] == 12)
  2095. damage-=(5.0<damage)? 5.0: damage;
  2096.  
  2097. if(informacje_przedmiotu_gracza[this][0] == 29)
  2098. damage-=(10.0<damage)? 10.0: damage;
  2099.  
  2100. if(informacje_przedmiotu_gracza[this][0] == 43)
  2101. damage-=(10.0<damage)? 10.0: damage;
  2102.  
  2103. if(informacje_przedmiotu_gracza[this][0] == 51)
  2104. damage-=(7.0<damage)? 7.0: damage;
  2105.  
  2106. if(weapon == CSW_AWP && informacje_przedmiotu_gracza[idattacker][0] == 13)
  2107. damage=float(health);
  2108.  
  2109. if(informacje_przedmiotu_gracza[idattacker][0] == 21)
  2110. damage+=10;
  2111.  
  2112. if(informacje_przedmiotu_gracza[idattacker][0] == 22)
  2113. damage+=20;
  2114.  
  2115. if(informacje_przedmiotu_gracza[idattacker][0] == 31)
  2116. damage+=25;
  2117.  
  2118. if(informacje_przedmiotu_gracza[idattacker][0] == 36)
  2119. damage+=9;
  2120.  
  2121. if(informacje_przedmiotu_gracza[idattacker][0] == 42)
  2122. damage+=8;
  2123.  
  2124. if(informacje_przedmiotu_gracza[idattacker][0] == 54)
  2125. damage+=30;
  2126.  
  2127. if(informacje_przedmiotu_gracza[idattacker][0] == 43)
  2128. damage+=10;
  2129.  
  2130. if(informacje_przedmiotu_gracza[idattacker][0] == 50)
  2131. damage+=10;
  2132.  
  2133. if(informacje_przedmiotu_gracza[idattacker][0] == 51)
  2134. damage+=5;
  2135.  
  2136. if(informacje_przedmiotu_gracza[idattacker][0] == 58)
  2137. damage+=20;
  2138.  
  2139. if(informacje_przedmiotu_gracza[idattacker][0] == 59)
  2140. damage+=15;
  2141.  
  2142. if(informacje_przedmiotu_gracza[idattacker][0] == 74 && damage >= 40.0)
  2143. client_cmd(this, "drop");
  2144.  
  2145. if(informacje_przedmiotu_gracza[idattacker][0] == 73)
  2146. set_user_health(idattacker, min(maksymalne_zdrowie_gracza[idattacker], get_user_health(idattacker)+floatround(damage)))
  2147.  
  2148. if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
  2149. {
  2150. if(informacje_przedmiotu_gracza[idattacker][0] == 10 || (informacje_przedmiotu_gracza[idattacker][0] == 9 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
  2151. damage = float(health);
  2152. }
  2153.  
  2154. if(weapon == CSW_SCOUT)
  2155. {
  2156. if((informacje_przedmiotu_gracza[idattacker][0] == 55 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
  2157. damage = float(health);
  2158.  
  2159. if(klasa_gracza[idattacker] == Ludak && !random(2))
  2160. damage = float(health);
  2161. }
  2162.  
  2163. if(weapon == CSW_M4A1)
  2164. {
  2165. if((informacje_przedmiotu_gracza[idattacker][0] == 56 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
  2166. damage = float(health);
  2167. }
  2168.  
  2169. if(weapon == CSW_HEGRENADE)
  2170. {
  2171. if((klasa_gracza[idattacker] == Ludak && random(2) == 1))
  2172. damage = float(health);
  2173. }
  2174.  
  2175. if(weapon == CSW_AWP)
  2176. {
  2177. if(klasa_gracza[idattacker] == Ludak)
  2178. damage = float(health);
  2179. }
  2180.  
  2181. if(weapon == CSW_GALIL)
  2182. {
  2183. if((informacje_przedmiotu_gracza[idattacker][0] == 62 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
  2184. damage = float(health);
  2185. }
  2186.  
  2187. if(weapon == CSW_M4A1)
  2188. {
  2189. if((informacje_przedmiotu_gracza[idattacker][0] == 60 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
  2190. damage = float(health);
  2191. }
  2192.  
  2193. if(weapon == CSW_AK47)
  2194. {
  2195. if((informacje_przedmiotu_gracza[idattacker][0] == 57 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
  2196. damage = float(health);
  2197. }
  2198.  
  2199. if(weapon == CSW_KNIFE)
  2200. {
  2201. if(klasa_gracza[this] == SWAT)
  2202. return HAM_SUPERCEDE;
  2203. if(informacje_przedmiotu_gracza[this][0] == 4)
  2204. damage=damage*1.4+inteligencja_gracza[idattacker];
  2205. if(informacje_przedmiotu_gracza[idattacker][0] == 8 || (klasa_gracza[idattacker] == Snajperista && random(2) == 2) || klasa_gracza[idattacker] == Strelac && !(get_user_button(idattacker) & IN_ATTACK))
  2206. damage = float(health);
  2207.  
  2208. if(informacje_przedmiotu_gracza[this][0] == 82 || informacje_przedmiotu_gracza[this][0] == 83)
  2209. damage = float(health);
  2210.  
  2211. if(klasa_gracza[idattacker] == Samuraj && !random(2))
  2212. damage = float(health);
  2213.  
  2214. if(klasa_gracza[idattacker] == Assassin && !random(2))
  2215. damage = float(health);
  2216. }
  2217. if(weapon == CSW_DEAGLE)
  2218. {
  2219. if(informacje_przedmiotu_gracza[idattacker][0] == 34 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1)
  2220. damage = float(health);
  2221. }
  2222. if(weapon == CSW_DEAGLE)
  2223. {
  2224. if((informacje_przedmiotu_gracza[idattacker][0] == 53 && random(2) == 1))
  2225. damage = float(health);
  2226. }
  2227.  
  2228. if(weapon == CSW_HEGRENADE)
  2229. {
  2230. if((informacje_przedmiotu_gracza[idattacker][0] == 59 && random(3) == 1))
  2231. damage = float(health);
  2232. }
  2233.  
  2234. if(weapon == CSW_M3)
  2235. {
  2236. if((informacje_przedmiotu_gracza[idattacker][0] == 35 && random_num(2, informacje_przedmiotu_gracza[idattacker][1]) == 2) || (informacje_przedmiotu_gracza[idattacker][0] == 80 && !random(5)))
  2237. damage = float(health);
  2238. }
  2239. if(weapon == CSW_AWP)
  2240. {
  2241. if(informacje_przedmiotu_gracza[idattacker][0] == 35 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1)
  2242. damage = float(health);
  2243. }
  2244. if(weapon == CSW_AWP)
  2245. {
  2246. if(informacje_przedmiotu_gracza[idattacker][0] == 53)
  2247. damage = float(health);
  2248. }
  2249. if(weapon == CSW_AWP)
  2250. {
  2251. if(informacje_przedmiotu_gracza[idattacker][0] == 32 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1)
  2252. damage = float(health);
  2253. }
  2254. if(weapon == CSW_HEGRENADE)
  2255. {
  2256. if(informacje_przedmiotu_gracza[idattacker][0] == 31 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1)
  2257. damage = float(health);
  2258. }
  2259.  
  2260. if(informacje_przedmiotu_gracza[idattacker][0] == 67)
  2261. {
  2262. if(weapon == CSW_USP && !random(2))
  2263. damage = float(health);
  2264.  
  2265. if(weapon == CSW_MP5NAVY && !random(5))
  2266. damage = float(health);
  2267. }
  2268.  
  2269. if(informacje_przedmiotu_gracza[this][0] == 26 && random_num(1, informacje_przedmiotu_gracza[this][1]) == 1)
  2270. {
  2271. SetHamParamEntity(3, this);
  2272. SetHamParamEntity(1, idattacker);
  2273. }
  2274. if(informacje_przedmiotu_gracza[this][0] == 46 && random_num(1, informacje_przedmiotu_gracza[this][1]) == 1)
  2275. {
  2276. SetHamParamEntity(3, this);
  2277. SetHamParamEntity(1, idattacker);
  2278. }
  2279. if(informacje_przedmiotu_gracza[this][0] == 47 && random_num(1, informacje_przedmiotu_gracza[this][1]) == 1)
  2280. {
  2281. SetHamParamEntity(3, this);
  2282. SetHamParamEntity(1, idattacker);
  2283. }
  2284. if(task_exists(this+ZADANIE_ODBIJAJ))
  2285. {
  2286. SetHamParamEntity(3, this);
  2287. SetHamParamEntity(1, idattacker);
  2288. }
  2289.  
  2290. SetHamParamFloat(4, damage);
  2291. return HAM_IGNORED;
  2292. }
  2293.  
  2294. public Damage(id)
  2295. {
  2296. new attacker = get_user_attacker(id);
  2297. new damage = read_data(2);
  2298. if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !klasa_gracza[attacker])
  2299. return PLUGIN_CONTINUE;
  2300.  
  2301. if(informacje_przedmiotu_gracza[attacker][0] == 12 && random_num(1, informacje_przedmiotu_gracza[id][1]) == 1)
  2302. Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
  2303.  
  2304. if(get_user_team(id) != get_user_team(attacker))
  2305. {
  2306. while(damage>20)
  2307. {
  2308. damage-=20;
  2309. doswiadczenie_gracza[attacker]++;
  2310. }
  2311. }
  2312. SprawdzPoziom(attacker);
  2313. return PLUGIN_CONTINUE;
  2314. }
  2315.  
  2316. public Death()
  2317. {
  2318. new weaponname[20]
  2319. new headshot = read_data(3)
  2320. read_data(4,weaponname,31)
  2321. new id = read_data(2);
  2322. new attacker = read_data(1);
  2323.  
  2324. if(!is_user_alive(attacker) || !is_user_connected(attacker))
  2325. return PLUGIN_CONTINUE;
  2326.  
  2327. new weapon = get_user_weapon(attacker);
  2328. new zdrowie = get_user_health(attacker);
  2329. if(informacje_przedmiotu_gracza[id][0]) {
  2330. if(wytrzymalosc_itemu[id] > 0) {
  2331. wytrzymalosc_itemu[id]-=20;
  2332. }
  2333. if(wytrzymalosc_itemu[id] > 0) {
  2334. ColorChat(id, RED, "[COD:MW3] ^x01 Snaga Predmeta: %i.", wytrzymalosc_itemu[id]);
  2335. }
  2336. else {
  2337. ColorChat(id, RED, "[COD:MW3] ^x01 Predmet: %s, je potpuno unisten.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
  2338. UsunPrzedmiot(id);
  2339. }
  2340. }
  2341. if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
  2342. {
  2343. new nowe_doswiadczenie = 0;
  2344.  
  2345. nowe_doswiadczenie += doswiadczenia_za_zabojstwo;
  2346.  
  2347. if(klasa_gracza[id] == Rambo && klasa_gracza[attacker] != Rambo)
  2348. nowe_doswiadczenie += doswiadczenia_za_zabojstwo*2;
  2349.  
  2350. if(poziom_gracza[id] > poziom_gracza[attacker])
  2351. nowe_doswiadczenie += poziom_gracza[id] - poziom_gracza[attacker];
  2352.  
  2353. if(informacje_przedmiotu_gracza[id][0] == 88 && !read_data(3))
  2354. set_user_health(attacker, 1);
  2355.  
  2356. if (get_user_flags(attacker) & ADMIN_LEVEL_H)
  2357. {
  2358. if(headshot)
  2359. {
  2360. new nowe_zdrowie = (zdrowie+30);
  2361. set_user_health(attacker, nowe_zdrowie);
  2362. cs_set_user_money(attacker, cs_get_user_money(attacker)+800);
  2363. }
  2364. else
  2365. {
  2366. new nowe_zdrowie = (zdrowie+15);
  2367. set_user_health(attacker, nowe_zdrowie);
  2368. cs_set_user_money(attacker, cs_get_user_money(attacker)+500);
  2369. }
  2370. }
  2371. if(klasa_gracza[attacker] == Rambo || klasa_gracza[attacker] == Ludak|| informacje_przedmiotu_gracza[attacker][0] == 15 && maxClip[weapon] != -1)
  2372. {
  2373.  
  2374. new nowe_zdrowie = (zdrowie+20);
  2375. set_user_clip(attacker, maxClip[weapon]);
  2376. set_user_health(attacker, nowe_zdrowie);
  2377. }
  2378. if((!(klasa_gracza[attacker] == Rambo || klasa_gracza[attacker] == Ludak)) && (informacje_przedmiotu_gracza[attacker][0] == 71 || informacje_przedmiotu_gracza[attacker][0] == 81))
  2379. {
  2380.  
  2381. new nowe_zdrowie = (zdrowie+25);
  2382. set_user_health(attacker, nowe_zdrowie);
  2383. }
  2384.  
  2385. if((!(klasa_gracza[attacker] == Rambo || klasa_gracza[attacker] == Ludak)) && (informacje_przedmiotu_gracza[attacker][0] == 72 && maxClip[weapon] != -1))
  2386. set_user_clip(attacker, maxClip[weapon]);
  2387.  
  2388. #if defined BOTY
  2389. if(is_user_bot2(attacker) && random(9) == 0)
  2390. WyrzucPrzedmiot(id);
  2391. #endif
  2392. if(!informacje_przedmiotu_gracza[attacker][0])
  2393. DajPrzedmiot(attacker, random_num(1, sizeof nazwy_przedmiotow-1));
  2394.  
  2395. if(informacje_przedmiotu_gracza[attacker][0] == 14)
  2396. {
  2397. new nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_gracza[attacker])? zdrowie+50: maksymalne_zdrowie_gracza[attacker];
  2398. set_user_health(attacker, nowe_zdrowie);
  2399. }
  2400.  
  2401. set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
  2402. ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_doswiadczenie);
  2403.  
  2404. doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
  2405. }
  2406.  
  2407. SprawdzPoziom(attacker);
  2408.  
  2409. if(informacje_przedmiotu_gracza[id][0] == 7 && random_num(1, informacje_przedmiotu_gracza[id][1]) == 1)
  2410. set_task(0.1, "Wskrzes", id+ZADANIE_WSKRZES);
  2411.  
  2412. return PLUGIN_CONTINUE;
  2413. }
  2414.  
  2415. public client_connect(id)
  2416. {
  2417. //resetuje umiejetnosci
  2418. klasa_gracza[id] = 0;
  2419. poziom_gracza[id] = 0;
  2420. doswiadczenie_gracza[id] = 0;
  2421. punkty_gracza[id] = 0;
  2422. zdrowie_gracza[id] = 0;
  2423. inteligencja_gracza[id] = 0;
  2424. wytrzymalosc_gracza[id] = 0;
  2425. kondycja_gracza[id] = 0;
  2426. maksymalne_zdrowie_gracza[id] = 0;
  2427. szybkosc_gracza[id] = 0.0;
  2428. hasZoom[id] = false
  2429. pomocs[id] = true;
  2430.  
  2431. get_user_name(id, nazwa_gracza[id], 63);
  2432.  
  2433. remove_task(id+ZADANIE_POKAZ_INFORMACJE);
  2434. remove_task(id+ZADANIE_POKAZ_REKLAME);
  2435. remove_task(id+ZADANIE_USTAW_SZYBKOSC);
  2436. remove_task(id+ZADANIE_WSKRZES);
  2437. remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
  2438.  
  2439. set_task(10.0, "PokazReklame", id+ZADANIE_POKAZ_REKLAME);
  2440. set_task(3.0, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
  2441.  
  2442. //resetuje przedmioty
  2443. UsunPrzedmiot(id);
  2444. }
  2445.  
  2446. public client_disconnect(id)
  2447. {
  2448. remove_task(id+ZADANIE_POKAZ_INFORMACJE);
  2449. remove_task(id+ZADANIE_POKAZ_REKLAME);
  2450. remove_task(id+ZADANIE_USTAW_SZYBKOSC);
  2451. remove_task(id+ZADANIE_WSKRZES);
  2452. remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
  2453. hasZoom[id] = false
  2454. ZapiszDane(id);
  2455. UsunPrzedmiot(id);
  2456. client_disconnect_magnet(id);
  2457. }
  2458.  
  2459. public RozbrajaBombe(id)
  2460. if(klasa_gracza[id])
  2461. rozbrajajacy = id;
  2462.  
  2463. public BombaPodlozona()
  2464. {
  2465. new Players[32], playerCount, id;
  2466. get_players(Players, playerCount, "aeh", "TERRORIST");
  2467.  
  2468. if(get_playersnum() > 1)
  2469. {
  2470. doswiadczenie_gracza[podkladajacy] += doswiadczenie_za_bombe;
  2471. for (new i=0; i<playerCount; i++)
  2472. {
  2473. id = Players[i];
  2474. if(!klasa_gracza[id])
  2475. continue;
  2476.  
  2477. if(id != podkladajacy)
  2478. {
  2479. doswiadczenie_gracza[id] += doswiadczenia_za_zabojstwo;
  2480. ColorChat(id, RED, "[COD:MW3] ^x04 Dobio si %i zato sto je tvoj tim postavio bombu.", doswiadczenia_za_zabojstwo);
  2481. }
  2482. else
  2483. {
  2484. ColorChat(id, RED, "[COD:MW3] ^x04 Dobio si %i zato sto si postavio bombu.", doswiadczenie_za_bombe);
  2485. }
  2486. SprawdzPoziom(id);
  2487. }
  2488. }
  2489. }
  2490.  
  2491. public BombaRozbrojona()
  2492. {
  2493. new Players[32], playerCount, id;
  2494. get_players(Players, playerCount, "aeh", "CT");
  2495.  
  2496. doswiadczenie_gracza[rozbrajajacy] += doswiadczenie_za_bombe;
  2497. for (new i=0; i<playerCount; i++)
  2498. {
  2499. id = Players[i];
  2500. if(!klasa_gracza[id])
  2501. continue;
  2502. if(id != rozbrajajacy)
  2503. {
  2504. doswiadczenie_gracza[id]+= doswiadczenia_za_zabojstwo;
  2505. ColorChat(id, RED, "[COD:MW3] ^x04 Dobio si %i zato sto je tvoj tim deaktivirao bombu.", doswiadczenia_za_zabojstwo);
  2506. }
  2507. else
  2508. ColorChat(id, RED, "[COD:MW3] ^x04 Dobio si %i zato sto si deaktivirao bombu.",doswiadczenie_za_bombe);
  2509. SprawdzPoziom(id);
  2510. }
  2511. }
  2512.  
  2513. public OpisKlasy(id)
  2514. {
  2515. new menu = menu_create("Izaberi Klasu:", "OpisKlasy_Handle");
  2516. for(new i=1; i<sizeof nazwy_klas; i++)
  2517. menu_additem(menu, nazwy_klas[i]);
  2518. menu_setprop(menu, MPROP_EXITNAME, "Izlaz");
  2519. menu_setprop(menu, MPROP_BACKNAME, "Predhodna Strana");
  2520. menu_setprop(menu, MPROP_NEXTNAME, "Sledeca Strana");
  2521. menu_display(id, menu);
  2522.  
  2523. client_cmd(id, "spk mw/select");
  2524. }
  2525.  
  2526. public OpisKlasy_Handle(id, menu, item)
  2527. {
  2528. client_cmd(id, "spk mw/select");
  2529.  
  2530. if(item == MENU_EXIT)
  2531. {
  2532. menu_destroy(menu);
  2533. return PLUGIN_CONTINUE;
  2534. }
  2535. ColorChat(id, RED, "[COD:MW3] ^x04 %s: %s", nazwy_klas[item+1], opisy_klas[item+1]);
  2536. menu_display(id, menu);
  2537.  
  2538. return PLUGIN_CONTINUE;
  2539. }
  2540.  
  2541. public WybierzKlase(id)
  2542. {
  2543. new menu = menu_create("Izaberi Klase:", "Wybierzfrakcje_Handle");
  2544. for(new i = 1;i<sizeof(frakcje);i++){
  2545. menu_additem(menu, frakcje[i]);
  2546. }
  2547. menu_display(id, menu);
  2548. }
  2549.  
  2550. public Wybierzfrakcje_Handle(id, menu2, item)
  2551. {
  2552. if(item == MENU_EXIT)
  2553. {
  2554. menu_destroy(menu2);
  2555. return PLUGIN_CONTINUE;
  2556. }
  2557.  
  2558. item++;
  2559. frakcja_gracza[id] = item;
  2560. new menu = menu_create("Izaberi Klase:", "WybierzKlase_Handle");
  2561. new klasa[50];
  2562. for(new i=1; i<sizeof nazwy_klas; i++)
  2563. {
  2564. if(nalezy_do[i] == item){
  2565. WczytajDane(id, i);
  2566. format(klasa, 49, "%s \yLevel: %i", nazwy_klas[i], poziom_gracza[id]);
  2567. menu_additem(menu, klasa);
  2568. }
  2569. }
  2570.  
  2571. WczytajDane(id, klasa_gracza[id]);
  2572.  
  2573. menu_setprop(menu, MPROP_EXITNAME, "Izlaz");
  2574. menu_setprop(menu, MPROP_BACKNAME, "Predhodna Strana");
  2575. menu_setprop(menu, MPROP_NEXTNAME, "Sledeca Strana");
  2576. menu_display(id, menu);
  2577.  
  2578. client_cmd(id, "spk mw/select");
  2579. #if defined BOTY
  2580. if(is_user_bot2(id))
  2581. WybierzKlase_Handle(id, menu, random(sizeof nazwy_klas-1));
  2582. #endif
  2583.  
  2584. return PLUGIN_CONTINUE;
  2585. }
  2586.  
  2587. public WybierzKlase_Handle(id, menu, item)
  2588. {
  2589. client_cmd(id, "spk mw/select");
  2590.  
  2591. if(item == MENU_EXIT)
  2592. {
  2593. menu_destroy(menu);
  2594. return PLUGIN_CONTINUE;
  2595. }
  2596.  
  2597. item++;
  2598.  
  2599. new ile = 0;
  2600. for(new i=1; i<sizeof nazwy_klas; i++)
  2601. {
  2602. if(nalezy_do[i] == frakcja_gracza[id]){
  2603. ile++;
  2604. }
  2605. if(ile == item){
  2606. item = i;
  2607. break;
  2608. }
  2609. }
  2610.  
  2611. if(item == klasa_gracza[id])
  2612. return PLUGIN_CONTINUE;
  2613.  
  2614. if((item == Rambo || item == Terminator || item == Assassin || item == Ludak)&& !(get_user_flags(id) & ADMIN_LEVEL_G))
  2615. {
  2616. ColorChat(id, RED, "[COD:MW3] ^x04 Nemate pristup Premium Klasi.");
  2617. WybierzKlase(id);
  2618. return PLUGIN_CONTINUE;
  2619. }
  2620.  
  2621. if(klasa_gracza[id])
  2622. {
  2623. nowa_klasa_gracza[id] = item;
  2624. ColorChat(id, RED, "[COD:MW3] ^x04 Klasa ce biti promenjena sledece runde.");
  2625. }
  2626. else
  2627. {
  2628. klasa_gracza[id] = item;
  2629. WczytajDane(id, klasa_gracza[id]);
  2630. if(is_user_alive(id)) Odrodzenie(id);
  2631. }
  2632. return PLUGIN_CONTINUE;
  2633. }
  2634.  
  2635. public PrzydzielPunkty(id)
  2636. {
  2637. new inteligencja[65];
  2638. new zdrowie[60];
  2639. new wytrzymalosc[60];
  2640. new kondycja[60];
  2641. new tytul[25];
  2642. format(inteligencja, 64, "Inteligencija: \r%i \y(Povecava napad)", inteligencja_gracza[id]);
  2643. format(zdrowie, 59, "Energija: \r%i \y(Povecava Energiju)", zdrowie_gracza[id]);
  2644. format(wytrzymalosc, 59, "Snaga: \r%i \y(Smanjuje povrede)", wytrzymalosc_gracza[id]);
  2645. format(kondycja, 59, "Kondicija: \r%i \y(Povecava tempo trcanja)", kondycja_gracza[id]);
  2646. format(tytul, 24, "Preostalo ti je jos poena (%i):", punkty_gracza[id]);
  2647. new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
  2648. menu_additem(menu, inteligencja);
  2649. menu_additem(menu, zdrowie);
  2650. menu_additem(menu, wytrzymalosc);
  2651. menu_additem(menu, kondycja);
  2652. menu_display(id, menu);
  2653. #if defined BOTY
  2654. if(is_user_bot2(id))
  2655. PrzydzielPunkty_Handler(id, menu, random(4));
  2656. #endif
  2657. }
  2658.  
  2659. public PrzydzielPunkty_Handler(id, menu, item)
  2660. {
  2661. client_cmd(id, "spk mw/select");
  2662.  
  2663. if(item == MENU_EXIT)
  2664. {
  2665. menu_destroy(menu);
  2666. return PLUGIN_CONTINUE;
  2667. }
  2668.  
  2669. switch(item)
  2670. {
  2671. case 0:
  2672. {
  2673. if(inteligencja_gracza[id]<200)
  2674. inteligencja_gracza[id]++;
  2675. else
  2676. ColorChat(id, RED, "[COD:MW3] ^x04 Dostigli ste maksimalnu inteligenciju");
  2677.  
  2678. }
  2679. case 1:
  2680. {
  2681. if(zdrowie_gracza[id]<200)
  2682. zdrowie_gracza[id]++;
  2683. else
  2684. ColorChat(id, RED, "[COD:MW3] ^x04 Dostligli ste maksimalnu energiju");
  2685. }
  2686. case 2:
  2687. {
  2688. if(wytrzymalosc_gracza[id]<200)
  2689. wytrzymalosc_gracza[id]++;
  2690. else
  2691. ColorChat(id, RED, "[COD:MW3] ^x04 Dostigli ste maksimalnu vestinu");
  2692.  
  2693. }
  2694. case 3:
  2695. {
  2696. if(kondycja_gracza[id]<200)
  2697. kondycja_gracza[id]++;
  2698. else
  2699. ColorChat(id, RED, "[COD:MW3] ^x04 Dostigli ste maksimalnu kondiciju");
  2700. }
  2701. }
  2702.  
  2703. punkty_gracza[id]--;
  2704.  
  2705. if(punkty_gracza[id]>0)
  2706. PrzydzielPunkty(id);
  2707.  
  2708. return PLUGIN_CONTINUE;
  2709. }
  2710.  
  2711. public ResetujPunkty(id)
  2712. {
  2713. punkty_gracza[id] = poziom_gracza[id]*2-2;
  2714. inteligencja_gracza[id] = 0;
  2715. zdrowie_gracza[id] = 0;
  2716. kondycja_gracza[id] = 0;
  2717. wytrzymalosc_gracza[id] = 0;
  2718. PrzydzielPunkty(id)
  2719. }
  2720.  
  2721. public KomendaResetujPunkty(id)
  2722. {
  2723. ColorChat(id, RED, "[COD:MW3] ^x04 Poeni su resetovani.");
  2724. client_cmd(id, "spk mw/select");
  2725. ResetujPunkty(id);
  2726. }
  2727.  
  2728. public WyszkolenieSanitarne(id)
  2729. {
  2730. id -= ZADANIE_WYSZKOLENIE_SANITARNE;
  2731. if(informacje_przedmiotu_gracza[id][0] != 16 || informacje_przedmiotu_gracza[id][0] != 41)
  2732. return PLUGIN_CONTINUE;
  2733. set_task(5.0, "WyszkolenieSanitarne", id+ZADANIE_WYSZKOLENIE_SANITARNE);
  2734. if(!is_user_alive(id))
  2735. return PLUGIN_CONTINUE;
  2736. new health = get_user_health(id);
  2737.  
  2738. set_user_health(id, min((informacje_przedmiotu_gracza[id][0] == 16)? health+10: health+15, maksymalne_zdrowie_gracza[id]));
  2739. return PLUGIN_CONTINUE;
  2740. }
  2741.  
  2742. public StworzApteczke(id)
  2743. {
  2744. if (!ilosc_apteczek_gracza[id])
  2745. {
  2746. client_print(id, print_center, "Imate samo 2 kompleta po rundi!");
  2747. return PLUGIN_CONTINUE;
  2748. }
  2749.  
  2750. if(inteligencja_gracza[id] < 1)
  2751. client_print(id, print_center, "Da koristite prvu pomoc morate povecati inteligenciju!");
  2752.  
  2753. ilosc_apteczek_gracza[id]--;
  2754.  
  2755. new Float:origin[3];
  2756. entity_get_vector(id, EV_VEC_origin, origin);
  2757.  
  2758. new ent = create_entity("info_target");
  2759. entity_set_string(ent, EV_SZ_classname, "Apteczka");
  2760. entity_set_edict(ent, EV_ENT_owner, id);
  2761. entity_set_int(ent, EV_INT_solid, SOLID_NOT);
  2762. entity_set_vector(ent, EV_VEC_origin, origin);
  2763. entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
  2764.  
  2765.  
  2766. entity_set_model(ent, "models/w_medkit.mdl");
  2767. set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
  2768. drop_to_floor(ent);
  2769.  
  2770. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
  2771.  
  2772. return PLUGIN_CONTINUE;
  2773. }
  2774.  
  2775. public ApteczkaThink(ent)
  2776. {
  2777. new id = entity_get_edict(ent, EV_ENT_owner);
  2778. new totem_dist = 300;
  2779. new totem_heal = 5+floatround(inteligencja_gracza[id]*0.5);
  2780. if (entity_get_edict(ent, EV_ENT_euser2) == 1)
  2781. {
  2782. new Float:forigin[3], origin[3];
  2783. entity_get_vector(ent, EV_VEC_origin, forigin);
  2784. FVecIVec(forigin,origin);
  2785.  
  2786. new entlist[33];
  2787. new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);
  2788.  
  2789. for (new i=0; i < numfound; i++)
  2790. {
  2791. new pid = entlist[i];
  2792.  
  2793. if (get_user_team(pid) != get_user_team(id))
  2794. continue;
  2795.  
  2796. new zdrowie = get_user_health(pid);
  2797. new nowe_zdrowie = (zdrowie+totem_heal<maksymalne_zdrowie_gracza[pid])?zdrowie+totem_heal:maksymalne_zdrowie_gracza[pid];
  2798. if (is_user_alive(pid)) set_user_health(pid, nowe_zdrowie);
  2799. }
  2800.  
  2801. entity_set_edict(ent, EV_ENT_euser2, 0);
  2802. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
  2803.  
  2804. return PLUGIN_CONTINUE;
  2805. }
  2806.  
  2807. if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
  2808. {
  2809. remove_entity(ent);
  2810. return PLUGIN_CONTINUE;
  2811. }
  2812.  
  2813. if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
  2814. set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
  2815.  
  2816. new Float:forigin[3], origin[3];
  2817. entity_get_vector(ent, EV_VEC_origin, forigin);
  2818. FVecIVec(forigin,origin);
  2819.  
  2820. //Find people near and give them health
  2821. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
  2822. write_byte( TE_BEAMCYLINDER );
  2823. write_coord( origin[0] );
  2824. write_coord( origin[1] );
  2825. write_coord( origin[2] );
  2826. write_coord( origin[0] );
  2827. write_coord( origin[1] + totem_dist );
  2828. write_coord( origin[2] + totem_dist );
  2829. write_short( sprite_white );
  2830. write_byte( 0 ); // startframe
  2831. write_byte( 0 ); // framerate
  2832. write_byte( 10 ); // life
  2833. write_byte( 10 ); // width
  2834. write_byte( 255 ); // noise
  2835. write_byte( 255 ); // r, g, b
  2836. write_byte( 100 );// r, g, b
  2837. write_byte( 100 ); // r, g, b
  2838. write_byte( 128 ); // brightness
  2839. write_byte( 5 ); // speed
  2840. message_end();
  2841.  
  2842. entity_set_edict(ent, EV_ENT_euser2 ,1);
  2843. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
  2844.  
  2845.  
  2846. return PLUGIN_CONTINUE;
  2847.  
  2848. }
  2849.  
  2850. public StworzRakiete(id)
  2851. {
  2852. if (!ilosc_rakiet_gracza[id])
  2853. {
  2854. client_print(id, print_center, "Vec ste iskoristili rakete!");
  2855. return PLUGIN_CONTINUE;
  2856. }
  2857.  
  2858. if(poprzednia_rakieta_gracza[id] + 2.0 > get_gametime())
  2859. {
  2860. client_print(id, print_center, "Rakete mozes koristiti posle 2 sekunde!");
  2861. return PLUGIN_CONTINUE;
  2862. }
  2863.  
  2864. if (is_user_alive(id))
  2865. {
  2866. if(inteligencja_gracza[id] < 1)
  2867. client_print(id, print_center, "Da koristite rakete morate povecati inteligenciju!");
  2868.  
  2869. poprzednia_rakieta_gracza[id] = get_gametime();
  2870. ilosc_rakiet_gracza[id]--;
  2871.  
  2872. new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
  2873.  
  2874. entity_get_vector(id, EV_VEC_v_angle, vAngle);
  2875. entity_get_vector(id, EV_VEC_origin , Origin);
  2876.  
  2877. new Ent = create_entity("info_target");
  2878.  
  2879. entity_set_string(Ent, EV_SZ_classname, "Rocket");
  2880. entity_set_model(Ent, "models/rpgrocket.mdl");
  2881.  
  2882. vAngle[0] *= -1.0;
  2883.  
  2884. entity_set_origin(Ent, Origin);
  2885. entity_set_vector(Ent, EV_VEC_angles, vAngle);
  2886.  
  2887. entity_set_int(Ent, EV_INT_effects, 2);
  2888. entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
  2889. entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
  2890. entity_set_edict(Ent, EV_ENT_owner, id);
  2891.  
  2892. VelocityByAim(id, 1000 , Velocity);
  2893. entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
  2894. }
  2895. return PLUGIN_CONTINUE;
  2896. }
  2897.  
  2898. public PolozDynamit(id)
  2899. {
  2900. if(!ilosc_dynamitow_gracza[id])
  2901. {
  2902. client_print(id, print_center, "Vec ste iskoristili dinamit!");
  2903. return PLUGIN_CONTINUE;
  2904. }
  2905.  
  2906. if(inteligencja_gracza[id] < 1)
  2907. client_print(id, print_center, "Da koristis dinamit povecaj inteligenciju!");
  2908.  
  2909. ilosc_dynamitow_gracza[id]--;
  2910. new Float:fOrigin[3], iOrigin[3];
  2911. entity_get_vector( id, EV_VEC_origin, fOrigin);
  2912. iOrigin[0] = floatround(fOrigin[0]);
  2913. iOrigin[1] = floatround(fOrigin[1]);
  2914. iOrigin[2] = floatround(fOrigin[2]);
  2915.  
  2916. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  2917. write_byte(TE_EXPLOSION);
  2918. write_coord(iOrigin[0]);
  2919. write_coord(iOrigin[1]);
  2920. write_coord(iOrigin[2]);
  2921. write_short(sprite_blast);
  2922. write_byte(32);
  2923. write_byte(20);
  2924. write_byte(0);
  2925. message_end();
  2926.  
  2927. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  2928. write_byte( TE_BEAMCYLINDER );
  2929. write_coord( iOrigin[0] );
  2930. write_coord( iOrigin[1] );
  2931. write_coord( iOrigin[2] );
  2932. write_coord( iOrigin[0] );
  2933. write_coord( iOrigin[1] + 300 );
  2934. write_coord( iOrigin[2] + 300 );
  2935. write_short( sprite_white );
  2936. write_byte( 0 ); // startframe
  2937. write_byte( 0 ); // framerate
  2938. write_byte( 10 ); // life
  2939. write_byte( 10 ); // width
  2940. write_byte( 255 ); // noise
  2941. write_byte( 255 ); // r, g, b
  2942. write_byte( 100 );// r, g, b
  2943. write_byte( 100 ); // r, g, b
  2944. write_byte( 128 ); // brightness
  2945. write_byte( 8 ); // speed
  2946. message_end();
  2947.  
  2948. new entlist[33];
  2949. new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
  2950.  
  2951. for (new i=0; i < numfound; i++)
  2952. {
  2953. new pid = entlist[i];
  2954.  
  2955. if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24)
  2956. continue;
  2957. ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencja_gracza[id]) , 1);
  2958. }
  2959. return PLUGIN_CONTINUE;
  2960. }
  2961.  
  2962. public PostawMine(id)
  2963. {
  2964. if (!ilosc_min_gracza[id])
  2965. {
  2966. client_print(id, print_center, "Vec ste iskoristili sve mine!");
  2967. return PLUGIN_CONTINUE;
  2968. }
  2969.  
  2970. if(inteligencja_gracza[id] < 1)
  2971. client_print(id, print_center, "Da koristite mine,morate povecati inteligenciju!");
  2972.  
  2973. ilosc_min_gracza[id]--;
  2974.  
  2975. new Float:origin[3];
  2976. entity_get_vector(id, EV_VEC_origin, origin);
  2977.  
  2978. new ent = create_entity("info_target");
  2979. entity_set_string(ent ,EV_SZ_classname, "Mine");
  2980. entity_set_edict(ent ,EV_ENT_owner, id);
  2981. entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
  2982. entity_set_origin(ent, origin);
  2983. entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
  2984.  
  2985. entity_set_model(ent, "models/mine.mdl");
  2986. entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
  2987.  
  2988. drop_to_floor(ent);
  2989.  
  2990. entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;
  2991.  
  2992. set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50) ;
  2993.  
  2994. return PLUGIN_CONTINUE;
  2995. }
  2996.  
  2997. public DotykMiny(ent, id)
  2998. {
  2999. new attacker = entity_get_edict(ent, EV_ENT_owner);
  3000. if (get_user_team(attacker) != get_user_team(id))
  3001. {
  3002. new Float:fOrigin[3], iOrigin[3];
  3003. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  3004. iOrigin[0] = floatround(fOrigin[0]);
  3005. iOrigin[1] = floatround(fOrigin[1]);
  3006. iOrigin[2] = floatround(fOrigin[2]);
  3007.  
  3008. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  3009. write_byte(TE_EXPLOSION);
  3010. write_coord(iOrigin[0]);
  3011. write_coord(iOrigin[1]);
  3012. write_coord(iOrigin[2]);
  3013. write_short(sprite_blast);
  3014. write_byte(32); // scale
  3015. write_byte(20); // framerate
  3016. write_byte(0);// flags
  3017. message_end();
  3018. new entlist[33];
  3019. new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
  3020.  
  3021. for (new i=0; i < numfound; i++)
  3022. {
  3023. new pid = entlist[i];
  3024.  
  3025. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24 || klasa_gracza[id] == Doktor)
  3026. continue;
  3027.  
  3028. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencja_gracza[attacker]) , 1);
  3029. }
  3030. remove_entity(ent);
  3031. }
  3032. }
  3033.  
  3034. public DotykRakiety(ent)
  3035. {
  3036. if ( !is_valid_ent(ent))
  3037. return;
  3038.  
  3039. new attacker = entity_get_edict(ent, EV_ENT_owner);
  3040.  
  3041. new Float:fOrigin[3], iOrigin[3];
  3042. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  3043. iOrigin[0] = floatround(fOrigin[0]);
  3044. iOrigin[1] = floatround(fOrigin[1]);
  3045. iOrigin[2] = floatround(fOrigin[2]);
  3046.  
  3047. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  3048. write_byte(TE_EXPLOSION);
  3049. write_coord(iOrigin[0]);
  3050. write_coord(iOrigin[1]);
  3051. write_coord(iOrigin[2]);
  3052. write_short(sprite_blast);
  3053. write_byte(32); // scale
  3054. write_byte(20); // framerate
  3055. write_byte(0);// flags
  3056. message_end();
  3057.  
  3058. new entlist[33];
  3059. new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
  3060.  
  3061. for (new i=0; i < numfound; i++)
  3062. {
  3063. new pid = entlist[i];
  3064.  
  3065. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24)
  3066. continue;
  3067. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_gracza[attacker]) , 1);
  3068. }
  3069. remove_entity(ent);
  3070. }
  3071.  
  3072. public CurWeapon(id)
  3073. {
  3074. if(freezetime || !klasa_gracza[id])
  3075. return PLUGIN_CONTINUE;
  3076.  
  3077. new weapon = read_data(2);
  3078.  
  3079. if(informacje_przedmiotu_gracza[id][0] == 68 && maxClip[weapon] != -1)
  3080. set_user_clip(id, maxClip[weapon]);
  3081.  
  3082. UstawSzybkosc(id);
  3083.  
  3084. if(informacje_przedmiotu_gracza[id][0] == 82 && weapon != CSW_KNIFE)
  3085. engclient_cmd(id, "weapon_knife");
  3086.  
  3087. if(informacje_przedmiotu_gracza[id][0] == 78)
  3088. {
  3089. if(weapon == CSW_KNIFE)
  3090. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 8);
  3091. else
  3092. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  3093. }
  3094.  
  3095. if(klasa_gracza[id] == Samuraj)
  3096. {
  3097. if(weapon == CSW_KNIFE)
  3098. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 122);
  3099. else
  3100. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  3101. }
  3102.  
  3103. if(klasa_gracza[id] == Assassin)
  3104. {
  3105.  
  3106. if(weapon == CSW_KNIFE)
  3107. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 10);
  3108. else
  3109. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  3110. }
  3111.  
  3112. if(weapon == CSW_C4)
  3113. podkladajacy = id;
  3114. return PLUGIN_CONTINUE;
  3115. }
  3116.  
  3117. public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
  3118. {
  3119. if(equal(szSound, "common/wpn_denyselect.wav"))
  3120. {
  3121. UzyjPrzedmiotu(id);
  3122. return FMRES_SUPERCEDE;
  3123. }
  3124.  
  3125. return FMRES_IGNORED;
  3126. }
  3127.  
  3128. public UzyjPrzedmiotu(id)
  3129. {
  3130. if((informacje_przedmiotu_gracza[id][0] == 19 || informacje_przedmiotu_gracza[id][0] == 45) && informacje_przedmiotu_gracza[id][1]>0)
  3131. {
  3132. set_user_health(id, maksymalne_zdrowie_gracza[id]);
  3133. informacje_przedmiotu_gracza[id][1]--;
  3134. }
  3135. if(informacje_przedmiotu_gracza[id][0] == 49 && informacje_przedmiotu_gracza[id][1]>0)
  3136. {
  3137. set_task(0.1,"clipon",id,"",0,"a",1);
  3138. informacje_przedmiotu_gracza[id][1]--;
  3139. }
  3140. if(informacje_przedmiotu_gracza[id][0] == 52 && informacje_przedmiotu_gracza[id][1]>0)
  3141. {
  3142. set_task(0.1,"godon",id,"",0,"a",1);
  3143. informacje_przedmiotu_gracza[id][1]--;
  3144. }
  3145.  
  3146. if(informacje_przedmiotu_gracza[id][1] == 1 && informacje_przedmiotu_gracza[id][0] == 75)
  3147. {
  3148. set_task(0.1,"clipon",id,"",0,"a",1);
  3149. informacje_przedmiotu_gracza[id][1] = 0;
  3150. }
  3151.  
  3152. if(informacje_przedmiotu_gracza[id][1] == 1 && informacje_przedmiotu_gracza[id][0] == 89)
  3153. {
  3154. set_task(0.1,"clipon",id,"",0,"a",1);
  3155. informacje_przedmiotu_gracza[id][1] = 0;
  3156. }
  3157.  
  3158. if(informacje_przedmiotu_gracza[id][1] == 1 && informacje_przedmiotu_gracza[id][0] == 76)
  3159. {
  3160. new Origin[3], DstOrigin[3];
  3161. get_user_origin(id, Origin);
  3162. get_user_origin(id, DstOrigin, 3);
  3163.  
  3164. DstOrigin[0] += DstOrigin[0]-Origin[0] < 0 ? 50 : -50;
  3165. DstOrigin[1] += DstOrigin[1]-Origin[1] < 0 ? 50 : -50;
  3166. DstOrigin[2] += DstOrigin[2]-Origin[2]-50 < 0 ? 50 : -50;
  3167.  
  3168. informacje_przedmiotu_gracza[id][1] = 0;
  3169.  
  3170. set_user_origin(id, DstOrigin);
  3171. }
  3172.  
  3173. if(informacje_przedmiotu_gracza[id][1] == 1 && informacje_przedmiotu_gracza[id][0] == 84)
  3174. {
  3175. static meekstone_gracza[33];
  3176. if(is_valid_ent(meekstone_gracza[id]))
  3177. {
  3178. informacje_przedmiotu_gracza[id][1] = 0;
  3179.  
  3180. new Float:fOrigin[3];
  3181. entity_get_vector(meekstone_gracza[id], EV_VEC_origin, fOrigin);
  3182.  
  3183. new iOrigin[3];
  3184. for(new i=0;i<3;i++)
  3185. iOrigin[i] = floatround(fOrigin[i]);
  3186.  
  3187. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  3188. write_byte(TE_EXPLOSION);
  3189. write_coord(iOrigin[0]);
  3190. write_coord(iOrigin[1]);
  3191. write_coord(iOrigin[2]);
  3192. write_short(sprite_blast);
  3193. write_byte(32);
  3194. write_byte(20);
  3195. write_byte(0);
  3196. message_end();
  3197.  
  3198. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  3199. write_byte( TE_BEAMCYLINDER );
  3200. write_coord( iOrigin[0] );
  3201. write_coord( iOrigin[1] );
  3202. write_coord( iOrigin[2] );
  3203. write_coord( iOrigin[0] );
  3204. write_coord( iOrigin[1] + 250 );
  3205. write_coord( iOrigin[2] + 250 );
  3206. write_short( sprite_white );
  3207. write_byte( 0 );
  3208. write_byte( 0 );
  3209. write_byte( 10 );
  3210. write_byte( 10 );
  3211. write_byte( 255 );
  3212. write_byte( 255 );
  3213. write_byte( 100 );
  3214. write_byte( 100 );
  3215. write_byte( 128 );
  3216. write_byte( 0 );
  3217. message_end();
  3218.  
  3219. new entlist[33];
  3220. new numfound = find_sphere_class(meekstone_gracza[id], "player", 250.0 , entlist, 32);
  3221.  
  3222. for (new i=0; i < numfound; i++)
  3223. {
  3224. new pid = entlist[i];
  3225.  
  3226. if (is_user_alive(pid) && get_user_team(id) != get_user_team(pid))
  3227. ExecuteHam(Ham_TakeDamage, pid, meekstone_gracza[id], id, 95.0+inteligencja_gracza[id]*0.8, 1);
  3228.  
  3229. }
  3230. remove_entity(meekstone_gracza[id]);
  3231. return PLUGIN_CONTINUE;
  3232. }
  3233.  
  3234. new Float:origin[3];
  3235. entity_get_vector(id, EV_VEC_origin, origin);
  3236.  
  3237. meekstone_gracza[id] = create_entity("info_target");
  3238. entity_set_string(meekstone_gracza[id], EV_SZ_classname, "meekstone");
  3239. entity_set_edict(meekstone_gracza[id], EV_ENT_owner, id);
  3240. entity_set_int(meekstone_gracza[id], EV_INT_movetype, MOVETYPE_TOSS);
  3241. entity_set_origin(meekstone_gracza[id], origin);
  3242. entity_set_int(meekstone_gracza[id], EV_INT_solid, SOLID_BBOX);
  3243.  
  3244. entity_set_model(meekstone_gracza[id], "models/w_backpack.mdl");
  3245. entity_set_size(meekstone_gracza[id], Float:{-16.0,-16.0,0.0}, Float:{16.0,16.0,2.0})
  3246.  
  3247. drop_to_floor(meekstone_gracza[id])
  3248.  
  3249. }
  3250.  
  3251. if(informacje_przedmiotu_gracza[id][0] == 87 && informacje_przedmiotu_gracza[id][1])
  3252. {
  3253. informacje_przedmiotu_gracza[id][1] = 0
  3254. }
  3255.  
  3256. if(informacje_przedmiotu_gracza[id][0] == 90 && !zatrzymaj_czas)
  3257. {
  3258. zatrzymaj_czas = id
  3259. set_task(3.0, "Pusc")
  3260. UsunPrzedmiot(id)
  3261. }
  3262.  
  3263. if(ilosc_apteczek_gracza[id] > 0)
  3264. {
  3265. StworzApteczke(id)
  3266. }
  3267.  
  3268. if(ilosc_rakiet_gracza[id] > 0)
  3269. {
  3270. StworzRakiete(id)
  3271. }
  3272.  
  3273. if(ilosc_min_gracza[id] > 0)
  3274. {
  3275. PostawMine(id)
  3276. }
  3277.  
  3278. if(ilosc_dynamitow_gracza[id] > 0)
  3279. {
  3280. PolozDynamit(id)
  3281. }
  3282.  
  3283. return PLUGIN_HANDLED
  3284. }
  3285.  
  3286. public Pusc()
  3287. {
  3288. zatrzymaj_czas = 0
  3289. }
  3290.  
  3291. public ZapiszDane(id)
  3292. {
  3293. new vaultkey[64],vaultdata[256];
  3294. format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]);
  3295. 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]);
  3296. nvault_set(g_vault,vaultkey,vaultdata);
  3297. }
  3298.  
  3299. public WczytajDane(id, klasa)
  3300. {
  3301. new vaultkey[64],vaultdata[256];
  3302. format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa);
  3303. 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]);
  3304. nvault_get(g_vault,vaultkey,vaultdata,255);
  3305.  
  3306. replace_all(vaultdata, 255, "#", " ");
  3307.  
  3308. new doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32];
  3309.  
  3310. parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, inteligencjagracza, 31, silagracza, 31, zrecznoscgracza, 31, zwinnoscgracza, 31);
  3311.  
  3312. doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza);
  3313. poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1;
  3314. inteligencja_gracza[id] = str_to_num(inteligencjagracza);
  3315. zdrowie_gracza[id] = str_to_num(silagracza);
  3316. wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza);
  3317. kondycja_gracza[id] = str_to_num(zwinnoscgracza);
  3318. punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
  3319. }
  3320. public WyrzucPrzedmiot(id)
  3321. {
  3322. if(informacje_przedmiotu_gracza[id][0])
  3323. {
  3324. ColorChat(id, GREEN, "[COD:MW3] ^1 Bacio si: ^3%s.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]])
  3325. UsunPrzedmiot(id)
  3326. }
  3327. else
  3328. {
  3329. ColorChat(id, GREEN, "[COD:MW3] ^1 Nemas Nijedan Predmet")
  3330. }
  3331. }
  3332.  
  3333. public UsunPrzedmiot(id)
  3334. {
  3335. informacje_przedmiotu_gracza[id][0] = 0
  3336. informacje_przedmiotu_gracza[id][1] = 0
  3337.  
  3338. if(is_user_alive(id))
  3339. {
  3340. set_user_footsteps(id, 0)
  3341.  
  3342. if(!informacje_przedmiotu_gracza[id][0] && klasa_gracza[id] != Partizan)
  3343. {
  3344. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  3345. }
  3346.  
  3347. ZmienUbranie(id, 1)
  3348. }
  3349. }
  3350.  
  3351. public DajPrzedmiot(id, przedmiot)
  3352. {
  3353. UsunPrzedmiot(id)
  3354. informacje_przedmiotu_gracza[id][0] = przedmiot
  3355. new name[32]
  3356. get_user_name(id, name, 31)
  3357. ColorChat(0, GREEN, "%s ^x01 Je dobio Predmet - ^x03 %s", name, nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
  3358. wytrzymalosc_itemu[id] = 160;
  3359. switch(przedmiot)
  3360. {
  3361. case 1: set_user_footsteps(id, 1);
  3362. case 2: informacje_przedmiotu_gracza[id][1] = random_num(3,6);
  3363. case 3: informacje_przedmiotu_gracza[id][1] = random_num(6, 11);
  3364. case 5: informacje_przedmiotu_gracza[id][1] = random_num(6, 9);
  3365. case 6:
  3366. {
  3367. informacje_przedmiotu_gracza[id][1] = random_num(120, 170);
  3368. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, informacje_przedmiotu_gracza[id][1]);
  3369. }
  3370. case 7: informacje_przedmiotu_gracza[id][1] = random_num(2, 4);
  3371. case 8:
  3372. {
  3373. if(klasa_gracza[id] == Strelac)
  3374. DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1));
  3375. }
  3376. case 9:
  3377. {
  3378. informacje_przedmiotu_gracza[id][1] = random_num(1, 3);
  3379. ZmienUbranie(id, 0);
  3380. }
  3381. case 10: informacje_przedmiotu_gracza[id][1] = random_num(4, 8);
  3382. case 12: informacje_przedmiotu_gracza[id][1] = random_num(1, 4);
  3383. case 15:
  3384. {
  3385. if(klasa_gracza[id] == Rambo)
  3386. DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1));
  3387. }
  3388. case 16: set_task(5.0, "WyszkolenieSanitarne", id+ZADANIE_WYSZKOLENIE_SANITARNE);
  3389. case 17: set_user_armor(id, 500);
  3390. case 18:
  3391. {
  3392. maksymalne_zdrowie_gracza[id] += 100;
  3393. szybkosc_gracza[id] -= 0.4;
  3394. }
  3395. case 19: informacje_przedmiotu_gracza[id][1] = 1;
  3396. case 25:
  3397. {
  3398. maksymalne_zdrowie_gracza[id] += 50;
  3399. szybkosc_gracza[id] -= 0.3;
  3400. }
  3401. case 26: informacje_przedmiotu_gracza[id][1] = random_num(3, 6);
  3402. case 27: informacje_przedmiotu_gracza[id][1] = 3;
  3403. case 29:
  3404. {
  3405. maksymalne_zdrowie_gracza[id] += 50;
  3406. szybkosc_gracza[id] += 0.2;
  3407. }
  3408. case 30:
  3409. {
  3410. maksymalne_zdrowie_gracza[id] += 100;
  3411. szybkosc_gracza[id] -= 0.7;
  3412. }
  3413. case 31:
  3414. {
  3415. informacje_przedmiotu_gracza[id][1] = random_num(1, 3);
  3416. ZmienUbranie(id, 0);
  3417. }
  3418. case 34: informacje_przedmiotu_gracza[id][1] = random_num(2, 7);
  3419. case 35: informacje_przedmiotu_gracza[id][1] = random_num(3, 9);
  3420. case 36: maksymalne_zdrowie_gracza[id] = 10;
  3421. case 37: maksymalne_zdrowie_gracza[id] += 100;
  3422. case 38: ilosc_apteczek_gracza[id] = 5;
  3423. case 39: set_user_gravity(id, 0.5);
  3424. case 40: informacje_przedmiotu_gracza[id][1] = 1;
  3425. case 41: set_task(5.0, "WyszkolenieSanitarne", id+ZADANIE_WYSZKOLENIE_SANITARNE);
  3426. case 43: szybkosc_gracza[id] += 0.3;
  3427. case 42:
  3428. {
  3429. set_user_footsteps(id, 1);
  3430. maksymalne_zdrowie_gracza[id] += 100;
  3431. }
  3432. case 45: informacje_przedmiotu_gracza[id][1] = 1;
  3433. case 46:
  3434. {
  3435. informacje_przedmiotu_gracza[id][1] = random_num(4, 9);
  3436. set_user_armor(id, 500);
  3437. }
  3438. case 47: informacje_przedmiotu_gracza[id][1] = 5;
  3439. case 49: informacje_przedmiotu_gracza[id][1] = 1;
  3440. case 50:
  3441. {
  3442. set_user_footsteps(id, 1);
  3443. maksymalne_zdrowie_gracza[id] += 100;
  3444. szybkosc_gracza[id] += 0.4;
  3445. }
  3446. case 52: informacje_przedmiotu_gracza[id][1] = 1;
  3447. case 54:
  3448. {
  3449. set_user_footsteps(id, 1);
  3450. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 1);
  3451. set_user_gravity(id, 0.8);
  3452. }
  3453. case 55:
  3454. {
  3455. informacje_przedmiotu_gracza[id][1] = random_num(1, 3);
  3456. ZmienUbranie(id, 0);
  3457. }
  3458. case 56: informacje_przedmiotu_gracza[id][1] = random_num(7, 11);
  3459. case 57: informacje_przedmiotu_gracza[id][1] = random_num(7, 11);
  3460. case 58: set_user_footsteps(id, 1);
  3461. case 59: set_user_footsteps(id, 1);
  3462. case 60: informacje_przedmiotu_gracza[id][1] = random_num(3, 7);
  3463. case 61: ilosc_min_gracza[id] += 5;
  3464. case 62: informacje_przedmiotu_gracza[id][1] = random_num(4, 8);
  3465. case 64: cs_set_user_money(id,16000);
  3466. case 66: wytrzymalosc_itemu[id] = 80;
  3467. case 75: informacje_przedmiotu_gracza[id][1] = 1;
  3468. case 76: informacje_przedmiotu_gracza[id][1] = 1;
  3469. case 78: set_user_gravity(id, 0.5);
  3470. case 79:
  3471. {
  3472. szybkosc_gracza[id] += 10;
  3473. ilosc_min_gracza[id] += 3;
  3474. }
  3475. case 80:
  3476. {
  3477. give_item(id, "weapon_m3");
  3478. informacje_przedmiotu_gracza[id][1] = random_num(50, 100);
  3479. }
  3480. case 84: informacje_przedmiotu_gracza[id][1] = 1;
  3481. case 85: ResetHUD(id);
  3482. case 87: informacje_przedmiotu_gracza[id][1] = random_num(2, 4);
  3483. case 89:
  3484. {
  3485. szybkosc_gracza[id] *= 1.8;
  3486. UstawSzybkosc(id);
  3487. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 1);
  3488. give_item(id, "weapon_hegrenade");
  3489. cs_set_user_bpammo(id, CSW_HEGRENADE, 15);
  3490. informacje_przedmiotu_gracza[id][1] = 1;
  3491. }
  3492. }
  3493. }
  3494.  
  3495. public OpisPrzedmiotu(id)
  3496. {
  3497. new opis_przedmiotu[128];
  3498. new losowa_wartosc[3];
  3499. num_to_str(informacje_przedmiotu_gracza[id][1], losowa_wartosc, 2);
  3500. format(opis_przedmiotu, 127, opisy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
  3501. replace_all(opis_przedmiotu, 127, "LW", losowa_wartosc);
  3502.  
  3503. ColorChat(id, NORMAL, "^4Predmet: ^1%s.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
  3504. ColorChat(id, NORMAL, "^4Opis: ^1%s.", opis_przedmiotu);
  3505.  
  3506. }
  3507.  
  3508. public Wskrzes(id)
  3509. {
  3510. id-=ZADANIE_WSKRZES;
  3511. ExecuteHamB(Ham_CS_RoundRespawn, id);
  3512. }
  3513.  
  3514. public SprawdzPoziom(id)
  3515. {
  3516. if(poziom_gracza[id] < 201)
  3517. {
  3518. while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
  3519. {
  3520. poziom_gracza[id]++;
  3521. set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
  3522. ShowSyncHudMsg(id, SyncHudObj3, "Dobro dosli na sledeci nivo");
  3523. client_cmd(id, "spk mw/levelup");
  3524. }
  3525.  
  3526. while(doswiadczenie_gracza[id] < doswiadczenie_poziomu[poziom_gracza[id] - 1])
  3527. poziom_gracza[id]--
  3528.  
  3529. punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
  3530. }
  3531. ZapiszDane(id)
  3532. }
  3533.  
  3534. public message_health(msg_id,msg_dest,msg_entity)
  3535. {
  3536. if(pev(msg_entity, pev_health) >= 255)
  3537. {
  3538. set_msg_arg_int(1, ARG_BYTE, 255)
  3539. }
  3540.  
  3541. return PLUGIN_CONTINUE
  3542. }
  3543.  
  3544. public PokazInformacje(id)
  3545. {
  3546. id -= ZADANIE_POKAZ_INFORMACJE
  3547.  
  3548. set_task(0.1, "PokazInformacje", id + ZADANIE_POKAZ_INFORMACJE)
  3549.  
  3550. if(!is_user_alive(id))
  3551. {
  3552. new target = entity_get_int(id, EV_INT_iuser2)
  3553.  
  3554. if(target == 0)
  3555. {
  3556. return PLUGIN_CONTINUE
  3557. }
  3558.  
  3559. set_hudmessage(0, 255, 0, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  3560. 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]);
  3561.  
  3562. return PLUGIN_CONTINUE
  3563. }
  3564.  
  3565. set_hudmessage(0, 255, 0, 0.02, 0.17, 0, 0.0, 0.3, 0.0, 0.0);
  3566. 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]);
  3567.  
  3568. return PLUGIN_CONTINUE
  3569. }
  3570.  
  3571. public PokazReklame(id)
  3572. {
  3573. id -= ZADANIE_POKAZ_REKLAME
  3574.  
  3575. if(-1 < get_user_team(id) < 4)
  3576. {
  3577. ColorChat(0, GREEN, "[COD:MW3] ^1Dobro Dosli Na COD:MW2 ^3Edited mode")
  3578. }
  3579. }
  3580.  
  3581. public UstawSzybkosc(id)
  3582. {
  3583. id -= id > 32 ? ZADANIE_USTAW_SZYBKOSC : 0
  3584.  
  3585. if(klasa_gracza[id])
  3586. {
  3587. set_user_maxspeed(id, szybkosc_gracza[id])
  3588. }
  3589. }
  3590.  
  3591. public ZmienUbranie(id,reset)
  3592. {
  3593. if (id < 1 || id > 32 || !is_user_connected(id))
  3594. return PLUGIN_CONTINUE
  3595.  
  3596. if (reset)
  3597. cs_reset_user_model(id);
  3598. else
  3599. {
  3600. new num = random_num(0,3);
  3601. switch(get_user_team(id))
  3602. {
  3603. case 1: cs_set_user_model(id, Ubrania_CT[num]);
  3604. case 2:cs_set_user_model(id, Ubrania_Terro[num]);
  3605. }
  3606. }
  3607.  
  3608. return PLUGIN_CONTINUE;
  3609. }
  3610. public WylaczPomoc(id)
  3611. {
  3612. if(pomocs[id] == true)
  3613. {
  3614. pomocs[id] = false;
  3615. set_hudmessage(255, 0, 0, -1.0, 0.01)
  3616. show_hudmessage(id, "Pomoce je onemogucena")
  3617. }
  3618. else if(pomocs[id] == false)
  3619. {
  3620. pomocs[id] = true;
  3621. Pomoc();
  3622. set_hudmessage(255, 0, 0, -1.0, 0.01)
  3623. show_hudmessage(id, "Pomoc Ukljucena")
  3624. }
  3625. }
  3626. public Pomoc()
  3627. {
  3628. switch(random(8))
  3629. {
  3630. case 0:
  3631. {
  3632. ColorChat(0, GREEN, "[COD:MW3] ^1Da resetujes level-e,kucaj ^3/reset")
  3633. }
  3634. case 1:
  3635. {
  3636. ColorChat(0, GREEN, "[COD:MW3] ^1Da promenis klasu,kucaj ^3/klasa")
  3637. }
  3638. case 2:
  3639. {
  3640. ColorChat(0, GREEN, "[COD:MW3] ^1Da koristis predmete (mine, rakete), stisni ^3E")
  3641. }
  3642. case 3:
  3643. {
  3644. ColorChat(0, GREEN, "[COD:MW3] ^1Da izbacis predmet,kucaj ^3/izbaci")
  3645. }
  3646. case 4:
  3647. {
  3648. ColorChat(0, GREEN, "[COD:MW3] ^1Da vidis opis predmeta,kucaj ^3/predmet")
  3649. }
  3650. case 5:
  3651. {
  3652. ColorChat(0, GREEN, "[COD:MW3] ^1Da vidis opis klase,kucaj ^3/opis")
  3653. }
  3654. case 6:
  3655. {
  3656. ColorChat(0, GREEN, "[COD:MW3] ^1Da otvoris COD:MW Shop,kucaj ^3/shop")
  3657. }
  3658. case 7:
  3659. {
  3660. ColorChat(0, GREEN, "[COD:MW3] ^1Ako zelis nekom da das predmet kucaj, ^3/daj")
  3661. }
  3662. }
  3663. set_task(40.0, "Pomoc")
  3664. }
  3665. public cmd_setlvl(id, level, cid)
  3666. {
  3667. if(!cmd_access(id,level,cid,3))
  3668. return PLUGIN_HANDLED;
  3669. new arg1[33];
  3670. new arg2[6];
  3671. read_argv(1, arg1, 32);
  3672. read_argv(2, arg2, 5);
  3673. new player = cmd_target(id, arg1);
  3674. if(!is_user_connected(player))
  3675. return PLUGIN_HANDLED;
  3676. new value = str_to_num(arg2)-1;
  3677.  
  3678. doswiadczenie_gracza[player] = doswiadczenie_poziomu[value];
  3679. poziom_gracza[player] = 0;
  3680. SprawdzPoziom(player);
  3681. return PLUGIN_HANDLED;
  3682. }
  3683.  
  3684. public DotykBroni(weapon,id)
  3685. {
  3686. new model[23];
  3687. entity_get_string(weapon, EV_SZ_model, model, 22);
  3688. if (!is_user_connected(id) || entity_get_edict(weapon, EV_ENT_owner) == id || equal(model, "models/w_backpack.mdl"))
  3689. return HAM_IGNORED;
  3690. return HAM_SUPERCEDE;
  3691. }
  3692.  
  3693. public BlokujKomende()
  3694. return PLUGIN_HANDLED;
  3695.  
  3696. stock bool:UTIL_In_FOV(id,target)
  3697. {
  3698. if (Find_Angle(id,target,9999.9) > 0.0)
  3699. return true;
  3700.  
  3701. return false;
  3702. }
  3703.  
  3704. stock Float:Find_Angle(Core,Target,Float:dist)
  3705. {
  3706. new Float:vec2LOS[2];
  3707. new Float:flDot;
  3708. new Float:CoreOrigin[3];
  3709. new Float:TargetOrigin[3];
  3710. new Float:CoreAngles[3];
  3711.  
  3712. pev(Core,pev_origin,CoreOrigin);
  3713. pev(Target,pev_origin,TargetOrigin);
  3714.  
  3715. if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
  3716. return 0.0;
  3717.  
  3718. pev(Core,pev_angles, CoreAngles);
  3719.  
  3720. for ( new i = 0; i < 2; i++ )
  3721. vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i];
  3722.  
  3723. new Float:veclength = Vec2DLength(vec2LOS);
  3724.  
  3725. //Normalize V2LOS
  3726. if (veclength <= 0.0)
  3727. {
  3728. vec2LOS[0] = 0.0;
  3729. vec2LOS[1] = 0.0;
  3730. }
  3731. else
  3732. {
  3733. new Float:flLen = 1.0 / veclength;
  3734. vec2LOS[0] = vec2LOS[0]*flLen;
  3735. vec2LOS[1] = vec2LOS[1]*flLen;
  3736. }
  3737.  
  3738. //Do a makevector to make v_forward right
  3739. engfunc(EngFunc_MakeVectors,CoreAngles);
  3740.  
  3741. new Float:v_forward[3];
  3742. new Float:v_forward2D[2];
  3743. get_global_vector(GL_v_forward, v_forward);
  3744.  
  3745. v_forward2D[0] = v_forward[0];
  3746. v_forward2D[1] = v_forward[1];
  3747.  
  3748. flDot = vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1];
  3749.  
  3750. if ( flDot > 0.5 )
  3751. {
  3752. return flDot;
  3753. }
  3754.  
  3755. return 0.0;
  3756. }
  3757.  
  3758. stock Float:Vec2DLength( Float:Vec[2] )
  3759. {
  3760. return floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
  3761. }
  3762.  
  3763. stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
  3764. {
  3765. message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
  3766. write_short( duration ); // Duration of fadeout
  3767. write_short( holdtime ); // Hold time of color
  3768. write_short( fadetype ); // Fade type
  3769. write_byte ( red ); // Red
  3770. write_byte ( green ); // Green
  3771. write_byte ( blue ); // Blue
  3772. write_byte ( alpha ); // Alpha
  3773. message_end();
  3774. }
  3775.  
  3776. stock set_user_clip(id, ammo)
  3777. {
  3778. new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
  3779. get_weaponname(weapon, weaponname, 31);
  3780. while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
  3781. if(entity_get_edict(weaponid, EV_ENT_owner) == id)
  3782. {
  3783. set_pdata_int(weaponid, 51, ammo, 4);
  3784. return weaponid;
  3785. }
  3786. return 0;
  3787. }
  3788.  
  3789. public client_death(killer,victim,weapon,hitplace,TK) {
  3790.  
  3791. if(!killer || !victim || TK)
  3792. return;
  3793.  
  3794. if(hitplace == HIT_HEAD)
  3795. {
  3796.  
  3797. doswiadczenie_gracza[killer] += doswiadczenie_za_hs;
  3798.  
  3799. ColorChat(killer, RED, "[COD:MW3] ^x01 Dobio si ^x03 %i ^x01 iskustvo jer si pogodio u glavu.", doswiadczenie_za_hs);
  3800.  
  3801. }
  3802. }
  3803.  
  3804. public message_clcorpse()
  3805. return PLUGIN_HANDLED
  3806.  
  3807. public event_hltv()
  3808. {
  3809. remove_entity_name("fake_corpse")
  3810.  
  3811. static players[32], num
  3812. get_players(players, num, "a")
  3813. for(new i = 0; i < num; ++i)
  3814. reset_player(players[i])
  3815. }
  3816.  
  3817. public reset_player(id)
  3818. {
  3819. if(!is_user_connected(id))
  3820. return PLUGIN_HANDLED;
  3821. remove_task(TASKID_REVIVE + id)
  3822. remove_task(TASKID_RESPAWN + id)
  3823. remove_task(TASKID_CHECKRE + id)
  3824. remove_task(TASKID_CHECKST + id)
  3825. remove_task(TASKID_ORIGIN + id)
  3826. remove_task(TASKID_SETUSER + id)
  3827.  
  3828. msg_bartime(id, 0)
  3829. g_revive_delay[id] = 0.0
  3830. g_wasducking[id] = false
  3831. g_body_origin[id] = Float:{0.0, 0.0, 0.0}
  3832. return PLUGIN_HANDLED;
  3833. }
  3834.  
  3835. public event_death()
  3836. {
  3837. new id = read_data(2)
  3838.  
  3839. reset_player(id)
  3840.  
  3841. static Float:minsize[3]
  3842. pev(id, pev_mins, minsize)
  3843.  
  3844. if(minsize[2] == -18.0)
  3845. g_wasducking[id] = true
  3846. else
  3847. g_wasducking[id] = false
  3848.  
  3849. set_task(0.5, "task_check_dead_flag", id)
  3850.  
  3851. 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)
  3852. }
  3853.  
  3854. public fwd_playerpostthink(id)
  3855. {
  3856. if(!is_user_connected(id) || !g_haskit[id])
  3857. return FMRES_IGNORED
  3858.  
  3859. if(!is_user_alive(id))
  3860. {
  3861. msg_statusicon(id, ICON_HIDE)
  3862. return FMRES_IGNORED
  3863. }
  3864.  
  3865. new body = find_dead_body(id)
  3866. if(is_valid_ent(body))
  3867. {
  3868. new lucky_bastard = pev(body, pev_owner)
  3869.  
  3870. if(!is_user_connected(lucky_bastard))
  3871. return FMRES_IGNORED
  3872.  
  3873. new lb_team = get_user_team(lucky_bastard)
  3874. new rev_team = get_user_team(id)
  3875. if(lb_team == 1 || lb_team == 2 && lb_team == rev_team)
  3876. msg_statusicon(id, ICON_FLASH)
  3877. }
  3878. else
  3879. msg_statusicon(id, ICON_SHOW)
  3880.  
  3881. return FMRES_IGNORED
  3882. }
  3883.  
  3884. public task_check_dead_flag(id)
  3885. {
  3886. if(!is_user_connected(id))
  3887. return
  3888.  
  3889. if(pev(id, pev_deadflag) == DEAD_DEAD)
  3890. create_fake_corpse(id)
  3891. else
  3892. set_task(0.5, "task_check_dead_flag", id)
  3893. }
  3894.  
  3895. public create_fake_corpse(id)
  3896. {
  3897. set_pev(id, pev_effects, EF_NODRAW)
  3898.  
  3899. static model[32]
  3900. cs_get_user_model(id, model, 31)
  3901.  
  3902. static player_model[64]
  3903. format(player_model, 63, "models/player/%s/%s.mdl", model, model)
  3904.  
  3905. static Float: player_origin[3]
  3906. pev(id, pev_origin, player_origin)
  3907.  
  3908. static Float:mins[3]
  3909. mins[0] = -16.0
  3910. mins[1] = -16.0
  3911. mins[2] = -34.0
  3912.  
  3913. static Float:maxs[3]
  3914. maxs[0] = 16.0
  3915. maxs[1] = 16.0
  3916. maxs[2] = 34.0
  3917.  
  3918. if(g_wasducking[id])
  3919. {
  3920. mins[2] /= 2
  3921. maxs[2] /= 2
  3922. }
  3923.  
  3924. static Float:player_angles[3]
  3925. pev(id, pev_angles, player_angles)
  3926. player_angles[2] = 0.0
  3927.  
  3928. new sequence = pev(id, pev_sequence)
  3929.  
  3930. new ent = create_entity("info_target")
  3931. if(ent)
  3932. {
  3933. set_pev(ent, pev_classname, "fake_corpse")
  3934. engfunc(EngFunc_SetModel, ent, player_model)
  3935. engfunc(EngFunc_SetOrigin, ent, player_origin)
  3936. engfunc(EngFunc_SetSize, ent, mins, maxs)
  3937. set_pev(ent, pev_solid, SOLID_TRIGGER)
  3938. set_pev(ent, pev_movetype, MOVETYPE_TOSS)
  3939. set_pev(ent, pev_owner, id)
  3940. set_pev(ent, pev_angles, player_angles)
  3941. set_pev(ent, pev_sequence, sequence)
  3942. set_pev(ent, pev_frame, 9999.9)
  3943. }
  3944. }
  3945.  
  3946. public fwd_emitsound(id, channel, sound[])
  3947. {
  3948. if(!is_user_alive(id) || !g_haskit[id])
  3949. return FMRES_IGNORED
  3950.  
  3951. if(!equali(sound, "common/wpn_denyselect.wav"))
  3952. return FMRES_IGNORED
  3953.  
  3954. if(task_exists(TASKID_REVIVE + id))
  3955. return FMRES_IGNORED
  3956.  
  3957. if(!(get_user_button(id) & IN_USE))
  3958. {
  3959. return FMRES_IGNORED
  3960. }
  3961.  
  3962. new body = find_dead_body(id)
  3963. if(!is_valid_ent(body))
  3964. return FMRES_IGNORED
  3965.  
  3966. new lucky_bastard = pev(body, pev_owner)
  3967. new lb_team = get_user_team(lucky_bastard)
  3968. new rev_team = get_user_team(id)
  3969. if(lb_team != 1 && lb_team != 2 || lb_team != rev_team)
  3970. return FMRES_IGNORED
  3971.  
  3972. static name[32]
  3973. get_user_name(lucky_bastard, name, 31)
  3974. client_print(id, print_chat, "Reanimacja %s", name)
  3975.  
  3976. new revivaltime = get_pcvar_num(cvar_revival_time)
  3977. msg_bartime(id, revivaltime)
  3978.  
  3979. new Float:gametime = get_gametime()
  3980. g_revive_delay[id] = gametime + float(revivaltime) - 0.01
  3981.  
  3982. emit_sound(id, CHAN_AUTO, SOUND_START, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  3983. set_task(0.0, "task_revive", TASKID_REVIVE + id)
  3984.  
  3985. return FMRES_SUPERCEDE
  3986. }
  3987.  
  3988. public task_revive(taskid)
  3989. {
  3990. new id = taskid - TASKID_REVIVE
  3991.  
  3992. if(!is_user_alive(id))
  3993. {
  3994. failed_revive(id)
  3995. return FMRES_IGNORED
  3996. }
  3997.  
  3998. if(!(get_user_button(id) & IN_USE))
  3999. {
  4000. failed_revive(id)
  4001. return FMRES_IGNORED
  4002. }
  4003.  
  4004. new body = find_dead_body(id)
  4005. if(!is_valid_ent(body))
  4006. {
  4007. failed_revive(id)
  4008. return FMRES_IGNORED
  4009. }
  4010.  
  4011. new lucky_bastard = pev(body, pev_owner)
  4012. if(!is_user_connected(lucky_bastard))
  4013. {
  4014. failed_revive(id)
  4015. return FMRES_IGNORED
  4016. }
  4017.  
  4018. new lb_team = get_user_team(lucky_bastard)
  4019. new rev_team = get_user_team(id)
  4020. if(lb_team != 1 && lb_team != 2 || lb_team != rev_team)
  4021. {
  4022. failed_revive(id)
  4023. return FMRES_IGNORED
  4024. }
  4025.  
  4026. static Float:velocity[3]
  4027. pev(id, pev_velocity, velocity)
  4028. velocity[0] = 0.0
  4029. velocity[1] = 0.0
  4030. set_pev(id, pev_velocity, velocity)
  4031.  
  4032. new Float:gametime = get_gametime()
  4033. if(g_revive_delay[id] < gametime)
  4034. {
  4035. if(findemptyloc(body, 10.0))
  4036. {
  4037. remove_entity(body)
  4038. emit_sound(id, CHAN_AUTO, SOUND_FINISHED, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  4039. set_task(0.1, "task_respawn", TASKID_RESPAWN + lucky_bastard)
  4040. }
  4041. else
  4042. failed_revive(id)
  4043. }
  4044. else
  4045. set_task(0.1, "task_revive", TASKID_REVIVE + id)
  4046.  
  4047. return FMRES_IGNORED
  4048. }
  4049.  
  4050. public failed_revive(id)
  4051. {
  4052. msg_bartime(id, 0)
  4053. emit_sound(id, CHAN_AUTO, SOUND_FAILED, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  4054. }
  4055.  
  4056. public task_origin(taskid)
  4057. {
  4058. new id = taskid - TASKID_ORIGIN
  4059. engfunc(EngFunc_SetOrigin, id, g_body_origin[id])
  4060.  
  4061. static Float:origin[3]
  4062. pev(id, pev_origin, origin)
  4063. set_pev(id, pev_zorigin, origin[2])
  4064.  
  4065. set_task(0.1, "task_stuck_check", TASKID_CHECKST + id)
  4066. }
  4067.  
  4068. stock find_dead_body(id)
  4069. {
  4070. static Float:origin[3]
  4071. pev(id, pev_origin, origin)
  4072.  
  4073. new ent
  4074. static classname[32]
  4075. while((ent = find_ent_in_sphere(ent, origin, get_pcvar_float(cvar_revival_dis))) != 0)
  4076. {
  4077. pev(ent, pev_classname, classname, 31)
  4078. if(equali(classname, "fake_corpse") && is_visible(id, ent))
  4079. return ent
  4080. }
  4081. return 0
  4082. }
  4083.  
  4084. stock msg_bartime(id, seconds)
  4085. {
  4086. if(is_user_bot(id))
  4087. return
  4088.  
  4089. message_begin(MSG_ONE, g_msg_bartime, _, id)
  4090. write_byte(seconds)
  4091. write_byte(0)
  4092. message_end()
  4093. }
  4094.  
  4095. stock msg_statusicon(id, status)
  4096. {
  4097. if(is_user_bot(id))
  4098. return
  4099.  
  4100. message_begin(MSG_ONE, g_msg_statusicon, _, id)
  4101. write_byte(status)
  4102. write_string("rescue")
  4103. write_byte(0)
  4104. write_byte(160)
  4105. write_byte(0)
  4106. message_end()
  4107. }
  4108.  
  4109. public task_respawn(taskid)
  4110. {
  4111. new id = taskid - TASKID_RESPAWN
  4112.  
  4113. set_pev(id, pev_deadflag, DEAD_RESPAWNABLE)
  4114. dllfunc(DLLFunc_Spawn, id)
  4115. set_pev(id, pev_iuser1, 0)
  4116.  
  4117. set_task(0.1, "task_check_respawn", TASKID_CHECKRE + id)
  4118. }
  4119.  
  4120. public task_check_respawn(taskid)
  4121. {
  4122. new id = taskid - TASKID_CHECKRE
  4123.  
  4124. if(pev(id, pev_iuser1))
  4125. set_task(0.1, "task_respawn", TASKID_RESPAWN + id)
  4126. else
  4127. set_task(0.1, "task_origin", TASKID_ORIGIN + id)
  4128. }
  4129.  
  4130. public task_stuck_check(taskid)
  4131. {
  4132. new id = taskid - TASKID_CHECKST
  4133.  
  4134. static Float:origin[3]
  4135. pev(id, pev_origin, origin)
  4136.  
  4137. if(origin[2] == pev(id, pev_zorigin))
  4138. set_task(0.1, "task_respawn", TASKID_RESPAWN + id)
  4139. else
  4140. set_task(0.1, "task_setplayer", TASKID_SETUSER + id)
  4141. }
  4142.  
  4143. public task_setplayer(taskid)
  4144. {
  4145. new id = taskid - TASKID_SETUSER
  4146.  
  4147. set_user_health(id, get_pcvar_num(cvar_revival_health))
  4148.  
  4149. message_begin(MSG_ONE,g_msg_screenfade, _, id)
  4150. write_short(seconds(2))
  4151. write_short(seconds(2))
  4152. write_short(0)
  4153. write_byte(0)
  4154. write_byte(0)
  4155. write_byte(0)
  4156. write_byte(255)
  4157. message_end()
  4158. }
  4159.  
  4160.  
  4161. stock bool:findemptyloc(ent, Float:radius)
  4162. {
  4163. if(!is_valid_ent(ent))
  4164. return false
  4165.  
  4166. static Float:origin[3]
  4167. pev(ent, pev_origin, origin)
  4168. origin[2] += 2.0
  4169.  
  4170. new owner = pev(ent, pev_owner)
  4171. new num = 0, bool:found = false
  4172.  
  4173. while(num <= 100)
  4174. {
  4175. if(is_hull_vacant(origin))
  4176. {
  4177. g_body_origin[owner][0] = origin[0]
  4178. g_body_origin[owner][1] = origin[1]
  4179. g_body_origin[owner][2] = origin[2]
  4180.  
  4181. found = true
  4182. break
  4183. }
  4184. else
  4185. {
  4186. origin[0] += random_float(-radius, radius)
  4187. origin[1] += random_float(-radius, radius)
  4188. origin[2] += random_float(-radius, radius)
  4189.  
  4190. num++
  4191. }
  4192. }
  4193. return found
  4194. }
  4195.  
  4196. stock bool:is_hull_vacant(const Float:origin[3])
  4197. {
  4198. new tr = 0
  4199. engfunc(EngFunc_TraceHull, origin, origin, 0, HULL_HUMAN, 0, tr)
  4200. if(!get_tr2(tr, TR_StartSolid) && !get_tr2(tr, TR_AllSolid) && get_tr2(tr, TR_InOpen))
  4201. return true
  4202.  
  4203. return false
  4204. }
  4205. public godon(id)
  4206. {
  4207. set_user_godmode(id, 1) // Tutaj mo?emy np, da? co? co b?dzie uruchomione w trakcie odliczania ja da?em GodMode
  4208.  
  4209. Odliczanie[id] = 4 // nasza zmienna + czas ile ma odlicza? do zera w tym przypadku 4 sekundy
  4210.  
  4211. if(task_exists(id + 3431))
  4212. {
  4213. remove_task(id + 3431)
  4214. }
  4215. set_task(1.0, "godoff", id + 3431, _, _, "b")
  4216.  
  4217. return PLUGIN_CONTINUE
  4218. }
  4219. public godoff(task_id)
  4220. {
  4221. new id = task_id - 3431
  4222.  
  4223. set_hudmessage(0, 255, 0, 0.03, 0.76, 2, 0.02, 1.0, 0.01)
  4224. show_hudmessage(id, "Za %d sekundi gubite besmrtnost.", Odliczanie[id]) //Wiadomo?? pokazana w HUD'zie
  4225.  
  4226. Odliczanie[id] -= 1
  4227.  
  4228. if(Odliczanie[id] <= 0)
  4229. {
  4230. if(task_exists(task_id))
  4231. {
  4232. remove_task(task_id)
  4233. }
  4234. set_user_godmode(id, 0); // tutaj wy??cza goodmoda
  4235. }
  4236. }
  4237. public clipon(id)
  4238. {
  4239. set_user_noclip(id, 1) // Tutaj mo?emy np, da? co? co b?dzie uruchomione w trakcie odliczania ja da?em noclip
  4240.  
  4241. Odliczanie[id] = 9 // nasza zmienna + czas ile ma odlicza? do zera w tym przypadku 9sekund
  4242.  
  4243. if(task_exists(id + 3431))
  4244. {
  4245. remove_task(id + 3431)
  4246. }
  4247. set_task(1.0, "clipoff", id + 3431, _, _, "b")
  4248.  
  4249. return PLUGIN_CONTINUE
  4250. }
  4251. public clipoff(task_id)
  4252. {
  4253. new id = task_id - 3431
  4254.  
  4255. set_hudmessage(0, 255, 0, 0.03, 0.76, 2, 0.02, 1.0, 0.01)
  4256. show_hudmessage(id, "Za %d sekundi gubite nevidljivost", Odliczanie[id]) //Wiadomo?? pokazana w HUD'zie
  4257.  
  4258. Odliczanie[id] -= 1
  4259.  
  4260. if(Odliczanie[id] <= 0)
  4261. {
  4262. if(task_exists(task_id))
  4263. {
  4264. remove_task(task_id)
  4265. }
  4266. set_user_noclip(id, 0); // tutaj wy??cza noclipa
  4267. }
  4268. }
  4269.  
  4270. public client_PreThink(id) {
  4271. if (entity_get_int(id, EV_INT_button) & 2 && informacje_przedmiotu_gracza[id][0] == 44) {
  4272. new flags = entity_get_int(id, EV_INT_flags)
  4273.  
  4274. if (flags & FL_WATERJUMP)
  4275. return PLUGIN_CONTINUE
  4276. if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
  4277. return PLUGIN_CONTINUE
  4278. if ( !(flags & FL_ONGROUND) )
  4279. return PLUGIN_CONTINUE
  4280.  
  4281. new Float:velocity[3]
  4282. entity_get_vector(id, EV_VEC_velocity, velocity)
  4283. velocity[2] += 250.0
  4284. entity_set_vector(id, EV_VEC_velocity, velocity)
  4285.  
  4286. entity_set_int(id, EV_INT_gaitsequence, 6)
  4287. }
  4288. return PLUGIN_CONTINUE
  4289. }
  4290.  
  4291. public fw_traceline(Float:vecStart[3],Float:vecEnd[3],ignoreM,id,trace)
  4292. {
  4293. if(!is_user_connected(id))
  4294. return;
  4295.  
  4296. new hit = get_tr2(trace, TR_pHit);
  4297.  
  4298. if(!is_user_connected(hit))
  4299. return;
  4300.  
  4301. new hitzone = get_tr2(trace, TR_iHitgroup);
  4302. if((informacje_przedmiotu_gracza[hit][0] == 65 && hitzone == HIT_HEAD) || informacje_przedmiotu_gracza[hit][0] == 66 && hitzone != HIT_HEAD)
  4303. set_tr2(trace, TR_iHitgroup, 8);
  4304.  
  4305. if(informacje_przedmiotu_gracza[id][0] == 69 && !random(10) && get_user_weapon(id) == CSW_AWP)
  4306. set_tr2(trace, TR_iHitgroup, HIT_HEAD);
  4307. }
  4308.  
  4309. public WygranaTerro()
  4310. WygranaRunda("TERRORIST");
  4311.  
  4312. public WygranaCT()
  4313. WygranaRunda("CT");
  4314.  
  4315. public WygranaRunda(const Team[])
  4316. {
  4317. new Players[32], playerCount, id;
  4318. get_players(Players, playerCount, "aeh", Team);
  4319.  
  4320. if(get_playersnum() < 3)
  4321. return;
  4322.  
  4323. for (new i=0; i<playerCount; i++)
  4324. {
  4325. id = Players[i];
  4326. if(!klasa_gracza[id] && !is_user_connected(id))
  4327. continue;
  4328.  
  4329. doswiadczenie_gracza[id] += doswiadczenie_za_wygrana;
  4330. ColorChat(id, RED, "[COD:MW3] ^x01 Dobio si %i iskustvo za pobedjenu rundu.", doswiadczenie_za_wygrana);
  4331. SprawdzPoziom(id);
  4332. }
  4333. }
  4334.  
  4335. public OddajPrzedmiot(id)
  4336. {
  4337. new menu = menu_create("Oddaj przedmiot", "OddajPrzedmiot_Handle");
  4338. new cb = menu_makecallback("OddajPrzedmiot_Callback");
  4339. new numer_przedmiotu;
  4340. for(new i=0; i<=32; i++)
  4341. {
  4342. if(!is_user_connected(i))
  4343. continue;
  4344. oddaj_id[numer_przedmiotu++] = i;
  4345. menu_additem(menu, nazwa_gracza[i], "0", 0, cb);
  4346. }
  4347. menu_display(id, menu);
  4348. }
  4349.  
  4350. public OddajPrzedmiot_Handle(id, menu, item)
  4351. {
  4352. if(item < 1 || item > 32) return PLUGIN_CONTINUE;
  4353.  
  4354. if(!is_user_connected(oddaj_id[item]))
  4355. {
  4356. client_print(id, print_chat, "Igrac nije pronadjen.");
  4357. return PLUGIN_CONTINUE;
  4358. }
  4359. if(dostal_przedmiot[id])
  4360. {
  4361. client_print(id, print_chat, "Morate sacekati sledecu rundu");
  4362. return PLUGIN_CONTINUE;
  4363. }
  4364. if(!informacje_przedmiotu_gracza[id][0])
  4365. {
  4366. client_print(id, print_chat, "Nemate nijedan predmet.");
  4367. return PLUGIN_CONTINUE;
  4368. }
  4369. if(informacje_przedmiotu_gracza[oddaj_id[item]][0])
  4370. {
  4371. client_print(id, print_chat, "Ovaj igrac vec ima predmet.");
  4372. return PLUGIN_CONTINUE;
  4373. }
  4374. dostal_przedmiot[oddaj_id[item]] = true;
  4375. DajPrzedmiot(oddaj_id[item], informacje_przedmiotu_gracza[id][0]);
  4376. informacje_przedmiotu_gracza[oddaj_id[item]][1] = informacje_przedmiotu_gracza[id][1];
  4377. client_print(id, print_chat, "Nagradio %s Igraca %s.",nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]] , nazwa_gracza[oddaj_id[item]]);
  4378. client_print(oddaj_id[item], print_chat, "Dobio %s od igraca %s.",nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]] , nazwa_gracza[id]);
  4379. UsunPrzedmiot(id);
  4380. return PLUGIN_CONTINUE;
  4381. }
  4382.  
  4383. public OddajPrzedmiot_Callback(id, menu, item)
  4384. {
  4385. if(oddaj_id[item] == id)
  4386. return ITEM_DISABLED;
  4387. return ITEM_ENABLED;
  4388. }
  4389.  
  4390. public SprzedajPrzedmiot(id)
  4391. {
  4392. if(!informacje_przedmiotu_gracza[id][0])
  4393. {
  4394. client_print(id, print_chat, "Nie masz przedmiotu!");
  4395. return;
  4396. }
  4397.  
  4398. UsunPrzedmiot(id);
  4399. cs_set_user_money(id, cs_get_user_money(id)+2500);
  4400. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
  4401. }
  4402.  
  4403. public MagnetThink(ent)
  4404. {
  4405. if(entity_get_int(ent, EV_INT_iuser2))
  4406. return PLUGIN_CONTINUE;
  4407.  
  4408. if(!entity_get_int(ent, EV_INT_iuser1))
  4409. emit_sound(ent, CHAN_VOICE, "weapons/mine_activate.wav", 0.5, ATTN_NORM, 0, PITCH_NORM );
  4410.  
  4411. entity_set_int(ent, EV_INT_iuser1, 1);
  4412.  
  4413. new id = entity_get_edict(ent, EV_ENT_owner);
  4414. new dist = get_pcvar_num(pcvar_zasieg)+inteligencja_gracza[id];
  4415.  
  4416. new Float:forigin[3];
  4417. entity_get_vector(ent, EV_VEC_origin, forigin);
  4418.  
  4419. new entlist[33];
  4420. new numfound = find_sphere_class(0,"player", float(dist),entlist, 32,forigin);
  4421.  
  4422. for (new i=0; i < numfound; i++)
  4423. {
  4424. new pid = entlist[i];
  4425.  
  4426. if (get_user_team(pid) == get_user_team(id))
  4427. continue;
  4428.  
  4429. if (is_user_alive(pid))
  4430. {
  4431. new bronie_gracza = entity_get_int(pid, EV_INT_weapons);
  4432. for(new n=1; n <= 32;n++)
  4433. {
  4434. if(1<<n & bronie_gracza)
  4435. {
  4436. new weaponname[33];
  4437. get_weaponname(n, weaponname, 32);
  4438. engclient_cmd(pid, "drop", weaponname);
  4439. }
  4440. }
  4441. }
  4442. }
  4443.  
  4444. numfound = find_sphere_class(0,"weaponbox", float(dist)+100.0,entlist, 32,forigin);
  4445.  
  4446. for (new i=0; i < numfound; i++)
  4447. if(get_entity_distance(ent, entlist[i]) > 50.0)
  4448. set_velocity_to_origin(entlist[i], forigin, 999.0);
  4449.  
  4450. if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
  4451. {
  4452. entity_set_int(ent, EV_INT_iuser2, 1);
  4453. return PLUGIN_CONTINUE;
  4454. }
  4455.  
  4456. new iOrigin[3];
  4457. FVecIVec(forigin, iOrigin);
  4458.  
  4459. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  4460. write_byte( TE_BEAMCYLINDER );
  4461. write_coord( iOrigin[0] );
  4462. write_coord( iOrigin[1] );
  4463. write_coord( iOrigin[2] );
  4464. write_coord( iOrigin[0] );
  4465. write_coord( iOrigin[1] + dist );
  4466. write_coord( iOrigin[2] + dist );
  4467. write_short( sprite_white );
  4468. write_byte( 0 ); // startframe
  4469. write_byte( 0 ); // framerate
  4470. write_byte( 10 ); // life
  4471. write_byte( 10 ); // width
  4472. write_byte( 255 ); // noise
  4473. write_byte( 0 ); // r, g, b
  4474. write_byte( 100 );// r, g, b
  4475. write_byte( 255 ); // r, g, b
  4476. write_byte( get_pcvar_num(pcvar_widocznosc_fali) ); // brightness
  4477. write_byte( 0 ); // speed
  4478. message_end();
  4479.  
  4480. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.01);
  4481.  
  4482. return PLUGIN_CONTINUE;
  4483. }
  4484.  
  4485. public ResetHUD(id)
  4486. {
  4487. if(!is_user_connected(id))
  4488. return PLUGIN_HANDLED;
  4489. client_disconnect_magnet(id);
  4490. pozostale_elektromagnesy[id] = get_pcvar_num(pcvar_ilosc_elektromagnesow);
  4491. return PLUGIN_HANDLED
  4492. }
  4493.  
  4494. public client_disconnect_magnet(id)
  4495. {
  4496. new ent = find_ent_by_class(0, "magnet");
  4497. while(ent > 0)
  4498. {
  4499. if(entity_get_edict(id, EV_ENT_owner) == id)
  4500. remove_entity(ent);
  4501. ent = find_ent_by_class(ent, "magnet");
  4502. }
  4503. }
  4504.  
  4505. public NowaRunda_magnet()
  4506. {
  4507. new ent = find_ent_by_class(-1, "magnet");
  4508. while(ent > 0)
  4509. {
  4510. remove_entity(ent);
  4511. ent = find_ent_by_class(ent, "magnet");
  4512. }
  4513. }
  4514.  
  4515. stock get_velocity_to_origin( ent, Float:fOrigin[3], Float:fSpeed, Float:fVelocity[3] )
  4516. {
  4517. new Float:fEntOrigin[3];
  4518. entity_get_vector( ent, EV_VEC_origin, fEntOrigin );
  4519.  
  4520. // Velocity = Distance / Time
  4521.  
  4522. new Float:fDistance[3];
  4523. fDistance[0] = fEntOrigin[0] - fOrigin[0];
  4524. fDistance[1] = fEntOrigin[1] - fOrigin[1];
  4525. fDistance[2] = fEntOrigin[2] - fOrigin[2];
  4526.  
  4527. new Float:fTime = -( vector_distance( fEntOrigin,fOrigin ) / fSpeed );
  4528.  
  4529. fVelocity[0] = fDistance[0] / fTime;
  4530. fVelocity[1] = fDistance[1] / fTime;
  4531. fVelocity[2] = fDistance[2] / fTime + 50.0;
  4532.  
  4533. return ( fVelocity[0] && fVelocity[1] && fVelocity[2] );
  4534. }
  4535.  
  4536. stock set_velocity_to_origin( ent, Float:fOrigin[3], Float:fSpeed )
  4537. {
  4538. new Float:fVelocity[3];
  4539. get_velocity_to_origin( ent, fOrigin, fSpeed, fVelocity )
  4540.  
  4541. entity_set_vector( ent, EV_VEC_velocity, fVelocity );
  4542.  
  4543. return ( 1 );
  4544. }
  4545.  
  4546. public radar_scan(id)
  4547. {
  4548. if(!is_user_connected(id))
  4549. return PLUGIN_HANDLED;
  4550.  
  4551. new PlayerCoords[3];
  4552.  
  4553. for (new id=1; id<=32; id++)
  4554. {
  4555. if(!is_user_alive(id) || !is_user_connected(id) || informacje_przedmiotu_gracza[id][0] != 86)
  4556. continue;
  4557.  
  4558. for (new i=1;i<=32;i++)
  4559. {
  4560. if(!is_user_alive(i) || get_user_team(i) == get_user_team(id))
  4561.  
  4562. get_user_origin(i, PlayerCoords)
  4563.  
  4564. message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id)
  4565. write_byte(id)
  4566. write_byte(i)
  4567. write_coord(PlayerCoords[0])
  4568. write_coord(PlayerCoords[1])
  4569. write_coord(PlayerCoords[2])
  4570. message_end()
  4571.  
  4572. message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id)
  4573. write_byte(i)
  4574. message_end()
  4575. }
  4576. }
  4577. return PLUGIN_HANDLED;
  4578. }
  4579.  
  4580. public SmiercGracza(id, attacker, shouldgib)
  4581. {
  4582. if(is_user_alive(attacker) && is_user_connected(attacker))
  4583. {
  4584. if(get_user_team(attacker) != get_user_team(id))
  4585. {
  4586. new name[32]
  4587. licznik_zabic[attacker]++;
  4588. get_user_name(attacker,name,31);
  4589. if(licznik_zabic[attacker] > 0)
  4590. {
  4591. set_hudmessage(255, 255, 255, -1.0, 0.33, 0, 5.0, 5.0);
  4592. switch(licznik_zabic[attacker])
  4593. {
  4594. case 4:
  4595. {
  4596. switch(random_num(0,1))
  4597. {
  4598. case 0:{
  4599. pack[attacker] = true;
  4600. //show_hudmessage(0, "%s dostal Care Package za KILLSTRIKE x %i !", name, licznik_zabic[attacker]);
  4601. client_print(attacker, print_chat, "[KillStrike] Wskarz mesto gde ocekujete da ce pasti kutija i pritisnite X");
  4602. }
  4603. case 1:{
  4604. uav[attacker] = true;
  4605. //show_hudmessage(0, "%s dostal Counter-UAV za KILLSTRIKE x %i !", name, licznik_zabic[attacker]);
  4606. client_print(attacker, print_chat, "[KillStrike] Pritisnite X da onemogucite radar neprijatelja");
  4607. client_cmd(attacker, "spk sound/mw/counter_enemy.wav")
  4608. }
  4609. }
  4610. }
  4611. case 6:
  4612. {
  4613. switch(random_num(0,1))
  4614. {
  4615. case 0:{
  4616. predator[attacker]++;
  4617. //show_hudmessage(0, "%s dostal PREDATORA za KILLSTRIKE x %i !", name, licznik_zabic[attacker]);
  4618. client_print(attacker, print_chat, "[KillStrike] Pritisnite X da ubrzate grabljivca");
  4619. client_cmd(attacker, "spk sound/mw/predator_give.wav")
  4620. }
  4621. case 1:{
  4622. nalot[attacker]++;
  4623. //show_hudmessage(0, "%s dostal NALOT za KILLSTRIKE x %i !", name, licznik_zabic[attacker]);
  4624. client_print(attacker, print_chat, "[KillStrike] Wskarz miejsce mesto i pritisnite X");
  4625. client_cmd(attacker, "spk sound/mw/air_give.wav")
  4626. }
  4627. }
  4628. }
  4629. case 12:
  4630. {
  4631. emp[attacker] = true;
  4632. //show_hudmessage(0, "%s dostal EMP za KILLSTRIKE x %i !", name, licznik_zabic[attacker]);
  4633. client_print(attacker, print_chat, "[KillStrike] Pritisni X, da koristite EMP");
  4634. client_cmd(attacker, "spk sound/mw/emp_give.wav")
  4635. }
  4636. case 14:
  4637. {
  4638. nuke[attacker] = true;
  4639. show_hudmessage(0, "%s dostal NUKE! za KILLSTRIKE x %i !", name, licznik_zabic[attacker]);
  4640. client_print(attacker, print_chat, "[KillStrike] Pritisni X za upotrebu atomske bombe");
  4641. client_cmd(attacker, "spk sound/mw/nuke_give.wav")
  4642. licznik_zabic[attacker] = false;
  4643. }
  4644. case 15:
  4645. {
  4646. radar[attacker] = true;
  4647. cod_set_user_xp(id, cod_get_user_xp(id)+50);
  4648. //client_cmd(attacker, "drawradar")
  4649. show_hudmessage(0, "%s dostal UAV za KILLSTRIKE x %i !", name, licznik_zabic[attacker]);
  4650. client_print(attacker, print_chat, "[KillStrike] Crvene tacke na radaru je sve sto rade protivnici");
  4651. client_cmd(attacker, "spk sound/mw/uav_give.wav")
  4652. }
  4653. }
  4654. }
  4655. }
  4656. }
  4657. if(!is_user_alive(id))
  4658. {
  4659. licznik_zabic[id] = 0;
  4660. user_controll[id] = 0
  4661. }
  4662. }
  4663.  
  4664. public uzyj_nagrody(id)
  4665. {
  4666. if(!is_user_alive(id) || emp_czasowe)
  4667. return PLUGIN_HANDLED;
  4668.  
  4669. if(pack[id] > 0 && !nuke[id] && !predator[id] && !emp[id] && !nalot[id] && !uav[id]/* && !sentry[id]*/)
  4670. CreatePack(id)
  4671.  
  4672. if(uav[id] > 0 && !nuke[id] && !predator[id] && !emp[id] && !nalot[id]/* && !sentry[id]*/)
  4673. CreateUVA(id)
  4674.  
  4675. if(nalot[id] > 0 && !nuke[id] && !predator[id] && !emp[id])
  4676. CreateNalot(id)
  4677.  
  4678. if(predator[id] > 0 && !nuke[id] && !emp[id])
  4679. CreatePredator(id)
  4680.  
  4681. if(emp[id] > 0 && !nuke[id])
  4682. CreateEmp(id)
  4683.  
  4684. if(nuke[id] > 0)
  4685. CreateNuke(id)
  4686.  
  4687. return PLUGIN_HANDLED;
  4688. }
  4689. //radar
  4690. public radar_scan2(id)
  4691. {
  4692. if(!is_user_connected(id))
  4693. return PLUGIN_HANDLED;
  4694.  
  4695. new PlayerCoords[3];
  4696.  
  4697. for (new id=1; id<=32; id++)
  4698. {
  4699. if(!is_user_alive(id) || !is_user_connected(id) || !radar[id] || emp_czasowe)
  4700. continue;
  4701.  
  4702. for (new i=1;i<=32;i++)
  4703. {
  4704. if(!is_user_alive(i) || get_user_team(i) == get_user_team(id))
  4705. continue;
  4706.  
  4707. get_user_origin(i, PlayerCoords)
  4708.  
  4709. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostagePos"), {0,0,0}, id)
  4710. write_byte(id)
  4711. write_byte(i)
  4712. write_coord(PlayerCoords[0])
  4713. write_coord(PlayerCoords[1])
  4714. write_coord(PlayerCoords[2])
  4715. message_end()
  4716.  
  4717. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostageK"), {0,0,0}, id)
  4718. write_byte(i)
  4719. message_end()
  4720. }
  4721. }
  4722. return PLUGIN_HANDLED;
  4723. }
  4724. //dotyk enta
  4725. public fw_Touch(ent, id)
  4726. {
  4727. if (!pev_valid(ent))
  4728. return FMRES_IGNORED
  4729.  
  4730. new ClassName[32]
  4731. pev(ent, pev_classname, ClassName, charsmax(ClassName))
  4732.  
  4733. if(equal(ClassName, "Bomb"))
  4734. {
  4735. bombs_explode(ent, 100.0, 150.0)
  4736. set_pev(ent, pev_flags, FL_KILLME)
  4737. return FMRES_IGNORED
  4738. }
  4739. if(equal(ClassName, "Predator"))
  4740. {
  4741. new owner = pev(ent, pev_owner)
  4742. bombs_explode(ent, 220.0, 400.0)
  4743. attach_view(owner, owner)
  4744. user_controll[owner] = 0
  4745. set_pev(ent, pev_flags, FL_KILLME)
  4746. return FMRES_IGNORED
  4747. }
  4748. return FMRES_IGNORED
  4749. }
  4750. //airpack
  4751. public CreatePack(id)
  4752. {
  4753. cod_set_user_xp(id, cod_get_user_xp(id)+100);
  4754. CreatePlane(id)
  4755. pack[id] = false
  4756. set_task(1.0, "airpack", id+742)
  4757. set_task(6.0, "usun_ent")
  4758. }
  4759.  
  4760. public airpack(taskid)
  4761. {
  4762. new id = (taskid - 742)
  4763. new Origin[3];
  4764. get_user_origin(id, Origin, 3);
  4765.  
  4766. Origin[2] += 150;
  4767.  
  4768. new Float:LocVecs[3];
  4769. IVecFVec(Origin, LocVecs);
  4770.  
  4771. new g_pack = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
  4772. create_ent(id, g_pack, "Pack", "models/cod_carepackage.mdl", 1, 6, LocVecs)
  4773. }
  4774.  
  4775. public pack_touch(ent, id)
  4776. {
  4777. if (!pev_valid(ent))
  4778. return FMRES_IGNORED
  4779.  
  4780. new ClassName[32]
  4781. pev(ent, pev_classname, ClassName, charsmax(ClassName))
  4782.  
  4783. if(equal(ClassName, "Pack"))
  4784. {
  4785. new weapons[32];
  4786. new weaponsnum;
  4787. get_user_weapons(id, weapons, weaponsnum);
  4788. for(new i=0; i<weaponsnum; i++)
  4789. if(maxAmmo[weapons[i]] > 0)
  4790. set_pdata_int(id, CSW_to_offset[weapons[i]], maxAmmo[weapons[i]], 5);
  4791.  
  4792. set_pev(ent, pev_flags, FL_KILLME)
  4793. return FMRES_IGNORED
  4794. }
  4795. return FMRES_IGNORED
  4796. }
  4797.  
  4798. //counter-uva
  4799. public CreateUVA(id)
  4800. {
  4801. cod_set_user_xp(id, cod_get_user_xp(id)+100);
  4802. uav[id] = false
  4803. new num, players[32]
  4804. get_players(players, num, "cgh")
  4805. for(new a = 0; a < num; a++)
  4806. {
  4807. new i = players[a]
  4808. if(players[a] != id){
  4809. if(get_user_team(id)!=get_user_team(i))
  4810. {
  4811. radar[i] = false;
  4812. break;
  4813. }
  4814. }
  4815. }
  4816. }
  4817. //emp
  4818. public CreateEmp(id)
  4819. {
  4820. cod_set_user_xp(id, cod_get_user_xp(id)+200);
  4821. client_cmd(0, "spk sound/mw/emp_effect.wav")
  4822. emp[id] = false;
  4823. new num, players[32]
  4824. get_players(players, num, "cgh")
  4825. for(new a = 0; a < num; a++)
  4826. {
  4827. new i = players[a]
  4828. if(is_user_connected(i) || is_user_alive(i))
  4829. {
  4830. Display_Fade(i,4<<12,4<<12,1<<16,255,212,212,166)
  4831. }
  4832. //client_cmd(i, "hideradar")
  4833. }
  4834. emp_czasowe = true;
  4835. set_task(90.0,"usun_emp", 932)
  4836. }
  4837.  
  4838. public usun_emp()
  4839. {
  4840. emp_czasowe = false;
  4841. }
  4842. //nuke
  4843. public CreateNuke(id)
  4844. {
  4845. cod_set_user_xp(id, cod_get_user_xp(id)+250);
  4846. client_cmd(0, "spk sound/mw/nuke_enemy1.wav")
  4847.  
  4848. new num, players[32]
  4849. get_players(players, num, "cgh")
  4850. for(new a = 0; a < num; a++)
  4851. {
  4852. new i = players[a]
  4853. if(is_user_alive(i))
  4854. {
  4855. Display_Fade(i,8<<12,8<<12,1<<16,197,253,191,200)
  4856. set_task(4.0,"trzesienie", 0)
  4857. }
  4858. }
  4859. set_task(8.0,"usun", id)
  4860. nuke[id] = false;
  4861. }
  4862.  
  4863. public trzesienie()
  4864. {
  4865. new num, players[32]
  4866. get_players(players, num, "cgh")
  4867. for(new a = 0; a < num; a++)
  4868. {
  4869. new i = players[a]
  4870. if(is_user_connected(i) || is_user_alive(i))
  4871. {
  4872. message_begin(MSG_ONE, get_user_msgid("ScreenShake"), {0,0,0}, i)
  4873. write_short(255<<12)
  4874. write_short(8<<12)
  4875. write_short(255<<12)
  4876. message_end()
  4877. }
  4878. }
  4879. }
  4880. public usun(id)
  4881. {
  4882. if(!is_user_connected(id))
  4883. return PLUGIN_HANDLED;
  4884.  
  4885. new num, players[32]
  4886. get_players(players, num, "cgh")
  4887. for(new a = 0; a < num; a++)
  4888. {
  4889. new i = players[a]
  4890. if(is_user_alive(i))
  4891. {
  4892. user_silentkill(i)
  4893. if(get_user_team(id) != get_user_team(i))
  4894. {
  4895. set_user_frags(id, get_user_frags(id)+1);
  4896. cod_set_user_xp(id, cod_get_user_xp(id)+50);
  4897. }
  4898. }
  4899. }
  4900. return PLUGIN_HANDLED;
  4901. }
  4902. //nalot
  4903. public CreateNalot(id)
  4904. {
  4905. cod_set_user_xp(id, cod_get_user_xp(id)+150);
  4906. CreatePlane(id)
  4907. set_task(1.0, "CreateBombs", id+997, _, _, "a", 3)
  4908. set_task(6.0, "usun_ent")
  4909. nalot[id]--;
  4910. }
  4911.  
  4912. public usun_ent()
  4913. remove_entity_name("Samolot");
  4914.  
  4915. public CreateBombs(taskid)
  4916. {
  4917. new id = (taskid-997)
  4918.  
  4919. new g_bomby[15], radlocation[3], randomx, randomy;
  4920.  
  4921. PobraneOrigin[2] += 50;
  4922.  
  4923. for(new i=0; i<15; i++)
  4924. {
  4925. randomx = random_num(-150,150);
  4926. randomy = random_num(-150,150);
  4927.  
  4928. radlocation[0] = PobraneOrigin[0]+1*randomx;
  4929. radlocation[1] = PobraneOrigin[1]+1*randomy;
  4930. radlocation[2] = PobraneOrigin[2];
  4931.  
  4932. new Float:LocVec[3];
  4933. IVecFVec(radlocation, LocVec);
  4934.  
  4935. g_bomby[i] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
  4936. create_ent(id, g_bomby[i], "Bomb", "models/p_hegrenade.mdl", 2, 10, LocVec)
  4937. }
  4938. }
  4939.  
  4940. public CreatePlane(id){
  4941. new Float:Origin[3],Float: Angle[3], Float: Velocity[3];
  4942.  
  4943. get_user_origin(id, PobraneOrigin, 3);
  4944.  
  4945. velocity_by_aim(id, 1200, Velocity)
  4946. pev(id, pev_origin, Origin)
  4947. pev(id, pev_v_angle, Angle)
  4948.  
  4949. Origin[2] += 250;
  4950. Angle[0] = 0.0;
  4951. Velocity[2] = Origin[2]
  4952.  
  4953. new g_samolot = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
  4954. create_ent(id, g_samolot, "Samolot", "models/cod_plane.mdl", 2, 8, Origin)
  4955.  
  4956. set_pev(g_samolot, pev_velocity, Velocity)
  4957. set_pev(g_samolot, pev_angles, Angle)
  4958.  
  4959. emit_sound(g_samolot, CHAN_ITEM, "mw/jet_fly1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
  4960. }
  4961.  
  4962. //predator
  4963. public CreatePredator(id){
  4964. cod_set_user_xp(id, cod_get_user_xp(id)+150);
  4965. new Float:Origin[3], Float:Angle[3], Float:Velocity[3]
  4966.  
  4967. velocity_by_aim(id, 700, Velocity)
  4968. pev(id, pev_origin, Origin)
  4969. pev(id, pev_v_angle, Angle)
  4970.  
  4971. Angle[0] *= -1.0
  4972.  
  4973. new g_predator = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
  4974. create_ent(id, g_predator, "Predator", "models/cod_predator.mdl", 2, 5, Origin)
  4975.  
  4976. set_pev(g_predator, pev_velocity, Velocity)
  4977. set_pev(g_predator, pev_angles, Angle)
  4978.  
  4979. message_begin( MSG_BROADCAST, SVC_TEMPENTITY)
  4980. write_byte(TE_BEAMFOLLOW)
  4981. write_short(g_predator)
  4982. write_short(cache_trail)
  4983. write_byte(10)
  4984. write_byte(5)
  4985. write_byte(205)
  4986. write_byte(237)
  4987. write_byte(163)
  4988. write_byte(200)
  4989. message_end()
  4990.  
  4991. predator[id] = false;
  4992.  
  4993. set_pev(g_predator, pev_rendermode, 1)
  4994. attach_view(id, g_predator)
  4995. user_controll[id] = g_predator
  4996. }
  4997.  
  4998. public player_predator(id)
  4999. {
  5000. if(!is_user_connected(id))
  5001. return PLUGIN_HANDLED;
  5002.  
  5003. if (user_controll[id] > 0)
  5004. {
  5005. new ent = user_controll[id]
  5006. if (pev_valid(ent))
  5007. {
  5008. new Float:Velocity[3], Float:Angle[3]
  5009. velocity_by_aim(id, 500, Velocity)
  5010. pev(id, pev_v_angle, Angle)
  5011.  
  5012. set_pev(ent, pev_velocity, Velocity)
  5013. set_pev(ent, pev_angles, Angle)
  5014. }
  5015. else
  5016. {
  5017. attach_view(id, id)
  5018. }
  5019. }
  5020. return PLUGIN_HANDLED;
  5021. }
  5022.  
  5023. public bombs_explode(ent, Float:zadaje, Float:promien)
  5024. {
  5025. if (!pev_valid(ent))
  5026. return;
  5027.  
  5028. new attacker = pev(ent, pev_owner)
  5029. new Float:entOrigin[3], Float:fDistance, Float:fDamage, Float:vOrigin[3]
  5030. pev(ent, pev_origin, entOrigin)
  5031. entOrigin[2] += 1.0
  5032.  
  5033. new victim = -1
  5034. while ((victim = engfunc(EngFunc_FindEntityInSphere, victim, entOrigin, promien)) != 0)
  5035. {
  5036. if (attacker==victim || !pev_valid(victim)) continue;
  5037.  
  5038. pev(victim, pev_origin, vOrigin)
  5039. fDistance = get_distance_f(vOrigin, entOrigin)
  5040. fDamage = zadaje - floatmul(zadaje, floatdiv(fDistance, promien))
  5041. fDamage *= estimate_take_hurt(entOrigin, victim, 0)
  5042.  
  5043. if(fDamage>0.0)
  5044. {
  5045. if(get_user_team(attacker)!=get_user_team(victim))
  5046. if(pev(victim, pev_health))
  5047. ExecuteHam(Ham_TakeDamage, victim, ent, attacker, fDamage, DMG_BULLET)
  5048. }
  5049. }
  5050. message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
  5051. write_byte(TE_EXPLOSION);
  5052. write_coord(floatround(entOrigin[0]));
  5053. write_coord(floatround(entOrigin[1]));
  5054. write_coord(floatround(entOrigin[2]));
  5055. write_short(sprite_blast);
  5056. write_byte(32);
  5057. write_byte(20);
  5058. write_byte(0);
  5059. message_end();
  5060. }
  5061.  
  5062. public cmdKill()
  5063. {
  5064. return FMRES_SUPERCEDE
  5065. }
  5066.  
  5067. stock create_ent(id, ent, szName[], szModel[], iSolid, iMovetype, Float:fOrigin[3])
  5068. {
  5069. if(!pev_valid(ent))
  5070. {
  5071. return
  5072. }
  5073.  
  5074. set_pev(ent, pev_classname, szName)
  5075. engfunc(EngFunc_SetModel, ent, szModel)
  5076. set_pev(ent, pev_solid, iSolid)
  5077. set_pev(ent, pev_movetype, iMovetype)
  5078. set_pev(ent, pev_owner, id)
  5079. set_pev(ent, pev_origin, fOrigin)
  5080. }
  5081.  
  5082. stock Float:estimate_take_hurt(Float:fPoint[3], ent, ignored)
  5083. {
  5084. new Float:fOrigin[3]
  5085. new tr
  5086. new Float:fFraction
  5087. pev(ent, pev_origin, fOrigin)
  5088. engfunc(EngFunc_TraceLine, fPoint, fOrigin, DONT_IGNORE_MONSTERS, ignored, tr)
  5089. get_tr2(tr, TR_flFraction, fFraction)
  5090.  
  5091. if(fFraction == 1.0 || get_tr2(tr, TR_pHit) == ent)
  5092. {
  5093. return 1.0
  5094. }
  5095.  
  5096. return 0.6
  5097. }
  5098.  
  5099. public plugin_natives()
  5100. {
  5101. register_native("cod_set_user_xp", "UstawDoswiadczenie", 1)
  5102. register_native("cod_get_user_xp", "PobierzDoswiadczenie", 1)
  5103. register_native("cod_get_user_health", "PobierzZdrowieMax", 1)
  5104. }
  5105.  
  5106. public UstawDoswiadczenie(id, wartosc)
  5107. {
  5108. doswiadczenie_gracza[id] = wartosc
  5109. SprawdzPoziom(id)
  5110. }
  5111.  
  5112. public PobierzDoswiadczenie(id)
  5113. return doswiadczenie_gracza[id];
  5114.  
  5115. public PobierzZdrowieMax(id)
  5116. return maksymalne_zdrowie_gracza[id];
  5117.  
  5118.  
  5119. /* --==[ VIP ] ==-- */
  5120. public event_CurWeapon_Vip(id)
  5121. {
  5122. if(!is_user_connected(id))
  5123. return PLUGIN_HANDLED;
  5124.  
  5125. if (!get_pcvar_num(g_vip_active))
  5126. return PLUGIN_CONTINUE
  5127.  
  5128. if(read_data(2) == CSW_SG550)
  5129. {
  5130. if(!(get_user_flags(id) & ADMIN_LEVEL_H))
  5131. {
  5132. client_print(id, print_center, "AutoKampa 'SG550' samo za VIP-a!")
  5133. client_cmd(id, "drop")
  5134. }
  5135. }
  5136. else if(read_data(2) == CSW_G3SG1)
  5137. {
  5138. if(!(get_user_flags(id) & ADMIN_LEVEL_H))
  5139. {
  5140. client_print(id, print_center, "AutoKampa 'G3SG1' samo za VIP-a!")
  5141. client_cmd(id, "drop")
  5142. }
  5143. }
  5144. else if(read_data(2) == CSW_M249)
  5145. {
  5146. if(!(get_user_flags(id) & ADMIN_LEVEL_H))
  5147. {
  5148. client_print(id, print_center, "Bron 'M249 Para' samo za VIP-a")
  5149. client_cmd(id, "drop")
  5150. }
  5151. }
  5152. return PLUGIN_HANDLED
  5153. }
  5154.  
  5155. public on_damage(id)
  5156. {
  5157. new attacker = get_user_attacker(id)
  5158. if ( is_user_connected(id) && is_user_connected(attacker) )
  5159. if (get_user_flags(attacker) & ADMIN_LEVEL_H)
  5160. {
  5161. new damage = read_data(2)
  5162. set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
  5163. ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage)
  5164. }
  5165. }
  5166.  
  5167.  
  5168. public Damage2(id)
  5169. {
  5170. new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint)
  5171. if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id)
  5172. if (is_user_connected(attacker) && get_user_flags(attacker) & ADMIN_LEVEL_H)
  5173. {
  5174. new money = read_data(2) * get_pcvar_num(mpd)
  5175. if(hitpoint==1) money += get_pcvar_num(mhb)
  5176. cs_set_user_money(attacker,cs_get_user_money(attacker) + money)
  5177. }
  5178. }
  5179. public HandleCmd(id)
  5180. {
  5181. if(!get_pcvar_num(g_vip_active))
  5182. {
  5183. return PLUGIN_CONTINUE
  5184. }
  5185.  
  5186. if(get_user_flags(id) & ADMIN_LEVEL_H)
  5187. {
  5188. return PLUGIN_CONTINUE
  5189. }
  5190.  
  5191. client_print(id, print_center, "Neka Oruzja Su Samo Za VIP-a!")
  5192. return PLUGIN_HANDLED
  5193. }
  5194.  
  5195. public Showrod(id)
  5196. {
  5197. 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
  5198. }
  5199. public Pressedrod(id, key)
  5200. {
  5201. /* Menu:
  5202. * VIP Menu
  5203. * 1. Wez M4A1 + Deagle
  5204. * 2. Wez AK47+Deagle
  5205. * 0. Exit
  5206. */
  5207. switch(key)
  5208. {
  5209. case 0:
  5210. {
  5211. if(user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
  5212. {
  5213. HasC4[id] = true
  5214. }
  5215. else
  5216. {
  5217. HasC4[id] = false
  5218. }
  5219.  
  5220. strip_user_weapons (id)
  5221. give_item(id,"weapon_m4a1")
  5222. give_item(id,"ammo_556nato")
  5223. give_item(id,"ammo_556nato")
  5224. give_item(id,"ammo_556nato")
  5225. give_item(id,"weapon_deagle")
  5226. give_item(id,"ammo_50ae")
  5227. give_item(id,"ammo_50ae")
  5228. give_item(id,"ammo_50ae")
  5229. give_item(id,"ammo_50ae")
  5230. give_item(id,"ammo_50ae")
  5231. give_item(id,"ammo_50ae")
  5232. give_item(id,"ammo_50ae")
  5233. give_item(id,"weapon_knife")
  5234.  
  5235. if(get_user_flags(id) & ADMIN_RCON)
  5236. {
  5237. give_item(id, "weapon_hegrenade");
  5238. give_item(id, "weapon_flashbang");
  5239. give_item(id, "weapon_flashbang");
  5240. give_item(id, "weapon_smokegrenade");
  5241. client_print(id, print_center, "Primite M4A1, Deagle, HE, Smoke i 2x Flesh!")
  5242. }
  5243. else
  5244. {
  5245. give_item(id, "weapon_hegrenade");
  5246. }
  5247.  
  5248. give_item(id, "item_assaultsuit")
  5249. give_item(id, "item_thighpack")
  5250. client_print(id, print_center, "Uzeo si M4A1, Deagle i HE!")
  5251.  
  5252. if (HasC4[id])
  5253. {
  5254. give_item(id, "weapon_c4");
  5255. cs_set_user_plant( id );
  5256. }
  5257. }
  5258. case 1:
  5259. {
  5260. if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
  5261. {
  5262. HasC4[id] = true
  5263. }
  5264. else
  5265. {
  5266. HasC4[id] = false
  5267. }
  5268.  
  5269. strip_user_weapons (id)
  5270. give_item(id,"weapon_ak47")
  5271. give_item(id,"ammo_762nato")
  5272. give_item(id,"ammo_762nato")
  5273. give_item(id,"ammo_762nato")
  5274. give_item(id,"weapon_deagle")
  5275. give_item(id,"ammo_50ae")
  5276. give_item(id,"ammo_50ae")
  5277. give_item(id,"ammo_50ae")
  5278. give_item(id,"ammo_50ae")
  5279. give_item(id,"ammo_50ae")
  5280. give_item(id,"ammo_50ae")
  5281. give_item(id,"ammo_50ae")
  5282. give_item(id,"weapon_knife")
  5283.  
  5284. if(get_user_flags(id) & ADMIN_RCON)
  5285. {
  5286. give_item(id, "weapon_hegrenade")
  5287. give_item(id, "weapon_flashbang")
  5288. give_item(id, "weapon_flashbang")
  5289. give_item(id, "weapon_smokegrenade")
  5290. client_print(id, print_center, "Uzeo si AK47, Deagle, HE")
  5291. }
  5292. else
  5293. {
  5294. give_item(id, "weapon_hegrenade")
  5295. client_print(id, print_center, "Primite AK47, Deagle i HE!")
  5296. }
  5297. give_item(id, "item_assaultsuit")
  5298. give_item(id, "item_thighpack")
  5299.  
  5300. if(HasC4[id])
  5301. {
  5302. give_item(id, "weapon_c4")
  5303. cs_set_user_plant(id)
  5304. }
  5305. }
  5306. case 9: {
  5307. // 0
  5308. client_print(id, print_center, "Primite Granate!")
  5309. }
  5310. }
  5311. return PLUGIN_CONTINUE
  5312. }
  5313.  
  5314. public Round_Reset()
  5315. {
  5316. round = 0;
  5317. }
  5318.  
  5319. public hook_death()
  5320. {
  5321. // Killer id
  5322. nKiller = read_data(1)
  5323.  
  5324. if(!is_user_connected(nKiller))
  5325. return;
  5326.  
  5327. if ( (read_data(3) == 1) && (read_data(5) == 0) )
  5328. {
  5329. nHp_add = get_pcvar_num (health_hs_add)
  5330. }
  5331. else
  5332. nHp_add = get_pcvar_num (health_add)
  5333. nHp_max = get_pcvar_num (health_max)
  5334. // Updating Killer HP
  5335. if(!(get_user_flags(nKiller) & ADMIN_LEVEL_H))
  5336. return;
  5337.  
  5338. nKiller_hp = get_user_health(nKiller)
  5339. nKiller_hp += nHp_add
  5340. // Maximum HP check
  5341. if (nKiller_hp > nHp_max) nKiller_hp = nHp_max
  5342. set_user_health(nKiller, nKiller_hp)
  5343. // Hud message "Healed +15/+30 hp"
  5344. set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
  5345. show_hudmessage(nKiller, "Healed +%d hp", nHp_add)
  5346. // Screen fading
  5347. message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
  5348. write_short(1<<10)
  5349. write_short(1<<10)
  5350. write_short(0x0000)
  5351. write_byte(0)
  5352. write_byte(0)
  5353. write_byte(200)
  5354. write_byte(75)
  5355. message_end()
  5356.  
  5357. }
  5358.  
  5359. public handle_say(id) {
  5360. new said[192]
  5361. read_args(said,192)
  5362. if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/vips") != -1 )
  5363. set_task(0.1,"print_adminlist",id)
  5364. return PLUGIN_CONTINUE
  5365. }
  5366.  
  5367. public print_adminlist(user)
  5368. {
  5369. new adminnames[33][32]
  5370. new message[256]
  5371. new contactinfo[256], contact[112]
  5372. new id, count, x, len
  5373.  
  5374. for(id = 1 ; id <= maxplayers ; id++)
  5375. if(is_user_connected(id))
  5376. if(get_user_flags(id) & ADMIN_LEVEL_H)
  5377. get_user_name(id, adminnames[count++], 31)
  5378.  
  5379. len = format(message, 255, "%s VIP'y ONLINE: ",COLOR)
  5380. if(count > 0)
  5381. {
  5382. for(x = 0 ; x < count ; x++)
  5383. {
  5384. len += format(message[len], 255-len, "%s%s%s ", COLOR, adminnames[x], x < (count-1) ? "^x01, ":"")
  5385. if(len > 96 ) {
  5386. print_message(user, message)
  5387. len = format(message, 255, "%s ",COLOR)
  5388. }
  5389. }
  5390. print_message(user, message)
  5391. }
  5392. else {
  5393. len += format(message[len], 255-len, "Brak Vip'ow Online")
  5394. print_message(user, message)
  5395. }
  5396.  
  5397. get_cvar_string("amx_contactinfo", contact, 63)
  5398. if(contact[0]) {
  5399. format(contactinfo, 111, "%s Kontakt z Adminem -- %s", COLOR, contact)
  5400. print_message(user, contactinfo)
  5401. }
  5402. return PLUGIN_HANDLED;
  5403. }
  5404.  
  5405. public print_message(id, msg[])
  5406. {
  5407. if(!is_user_connected(id))
  5408. return;
  5409. message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
  5410. write_byte(id)
  5411. write_string(msg)
  5412. message_end()
  5413. }
  5414.  
  5415. public ShowMotd(id)
  5416. {
  5417. show_motd(id, "vip.txt")
  5418. }
  5419.  
  5420. public forward_player_prethink( id )
  5421. {
  5422. if( bSilent[ id ] )
  5423. {
  5424. set_pev( id, pev_flTimeStepSound, 999 );
  5425. }
  5426. }
  5427. public KomendaDajPrzedmiot(id, level, cid)
  5428. {
  5429. if(!cmd_access(id,level,cid,3))
  5430. return PLUGIN_HANDLED;
  5431.  
  5432. new arg1[33]
  5433. new arg2[6]
  5434. read_argv(1, arg1, 32)
  5435. read_argv(2, arg2, 5)
  5436. new gracz = cmd_target(id, arg1, 0)
  5437. new przedmiot = str_to_num(arg2)-1
  5438.  
  5439. if(przedmiot < 1 || przedmiot > sizeof nazwy_przedmiotow-1)
  5440. {
  5441. client_print(id, print_console, "Uneli ste pogresan broj predmeta.")
  5442. return PLUGIN_HANDLED;
  5443. }
  5444.  
  5445. DajPrzedmiot(gracz, przedmiot);
  5446. return PLUGIN_HANDLED;
  5447. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement