Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 102.44 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <cstrike>
  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.8.0"
  13. #define AUTHOR "Rocky"
  14.  
  15. #define STANDARDNA_brzina 250.0
  16.  
  17. #define ZADATAK_POKAZI_INFORMACIJE 672
  18. #define ZADATAK_PROVERA 704
  19. #define ZADATAK_POKAZI_REKLAME 768
  20. #define ZADATAK_POSTAVI_brzinu 832
  21.  
  22. //#define BOTY 1
  23.  
  24. new za_hejtere[] = "MARS U PICKU MATERINU I TI I DISASSEMBLER, BOTINO RASPALA" // hvala desikac
  25.  
  26. new SyncHudObj;
  27. new SyncHudObj3;
  28. new g_msg_screenfade;
  29. new cvr_startlvl;
  30.  
  31. new cvar_xp_za_ubistvo;
  32.  
  33. new sprite_white;
  34. new sprite_blast;
  35. new sprite_beam;
  36.  
  37. new g_vault;
  38.  
  39. new iskustvo_za_pare;
  40. new iskustvo_za_mnogopara;
  41.  
  42. new Ubrania_CT[4][]={"sas","gsg9","urban","gign"};
  43. new Ubrania_Terro[4][]={"arctic","leet","guerilla","terror"};
  44.  
  45. 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};
  46. new const maxClip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
  47. 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 };
  48.  
  49. new informacije_predmet_igraca[33][2];
  50. new const naziv_predmeta[][] = {"None",
  51. "Necujne Cizme", //1
  52. "Dupli Pancir", //2
  53. "Ojacani Pancir", //3
  54. "Veteran sa nozem", //4
  55. "Iznenadi neprijatelje", //5
  56. "Nevidljivost", //6
  57. "Respawn", //7
  58. "Noz Marinca", //8
  59. "Kamuflaza", //9
  60. "HE Expert", //10
  61. "Dupli Skok", //11
  62. "Vojna tajna", //12
  63. "AWP Master",//13
  64. "Adrenalin",//14
  65. "Rambova tajna",//15
  66. "Deagle Manijak",//16
  67. "Super Pancir",//17
  68. "Extra HP++",//18
  69. "Komplet za prvu pomoc",//19
  70. "No Recoil",//20
  71. "Titanijumski metci",//21
  72. "Pukovnikovi metci",//22
  73. "Ogranicen no-recoil",//23
  74. "SWAT Stit",//24
  75. "50 HP++",//25
  76. "Nano Oklop",//26
  77. "BulletProof",//27
  78. "Jetpack",
  79. "Gravitacija",
  80. "Speed"
  81. };
  82.  
  83. new const opis_predmet[][] = {"Ubi nekog i dobices predmet",
  84. "Necujno trcanje",
  85. "Smanjuje stetu za LW %",
  86. "Smanjuje stetu za LW %",
  87. "Brze ubijas nozem",
  88. "Kada pogodite nekog od pozadi, povrede su dva puta vece",
  89. "Imate LW % nevidljivosti",
  90. "1/LW sanse da se respawn posle smrti",
  91. "Brzo ubijanje nozem",
  92. "Imate 1/LW sanse da odmah ubijete sa HE. Takodje izgledate kao neprijatelj",
  93. "Instant kill sa granatom (HE). Zadajes LW % dodatne stete",
  94. "Dupli skok",
  95. "Vase povrede su smanjene za 5. Imate 1/LW sanse da oslepite neprijatelja",
  96. "Instant kill sa AWP",
  97. "Za svaki kill dobijate 50hp",
  98. "Za svaki kill dobijate pun sarzer i 20hp",
  99. "Dobijate Deagle",
  100. "Imate 500 stita",
  101. "Dobijate +100hp svake runde, ali zato ste sporiji",
  102. "Koristite da regeneriste maximalni HP",
  103. "Nema trzanja puske kad pucate",
  104. "Zadajete protivnicima +10 vise stete",
  105. "Zadajete protivnicima +20 vise stete",
  106. "Smanjeno trazanje puske",
  107. "Ni jedan predmet nece uticati na vas",
  108. "Dobijate +50hp svake runde, ali zato ste sporiji",
  109. "Imate 1/LW sanse da izbegnete stetu",
  110. "Otporni ste na 3 metka u svakom krugu",
  111. "Pritisnite CRTL i SPACE da koristite jetpack, jetpack se obnavlja svake 4 sec",
  112. "Smanjena gravitacija",
  113. "Povecana Brzina"
  114. };
  115.  
  116. new klasa_igraca[33];
  117. new level_igraca[33] = 1;
  118. new iskustvo_igraca[33];
  119.  
  120. new nova_klasa_igraca[33];
  121.  
  122. new const iskusnew const iskustvo_levelu[] = {0, 7,28,63,112,175,252,343,448,567,700,847,1008,1183,1372,1575,1792,2023,2268,2527,
  123. 2800, 3087,3388,3703,4032,4375,4732,5103,5488,5887,6300,6727,7168,7623,8092,8575,9072,9583,10108,10647,
  124. 11200, 11767,12348,12943,13552,14175,14812,15463,16128,16807,17500,18207,18928,19663,20412,21175,21952,22743,23548,24367,
  125. 25200, 26047,26908,27783,28672,29575,30492,31423,32368,33327,34300,35287,36288,37303,38332,39375,40432,41503,42588,43687,
  126. 44800, 45927,47068,48223,49392,50575,51772,52983,54208,55447,56700,57967,59248,60543,61852,63175,64512,65863,67228,68607,
  127. 70000, 71407,72828,74263,75712,77175,78652,80143,81648,83167,84700,86247,87808,89383,90972,92575,94192,95823,97468,99127,
  128. 100800, 102487,104188,105903,107632,109375,111132,112903,114688,116487,118300,120127,121968,123823,125692,127575,129472,131383,133308,135247,
  129. 137200, 139167,141148,143143,145152,147175,149212,151263,153328,155407,157500,159607,161728,163863,166012,168175,170352,172543,174748,176967,
  130. 179200, 181447,183708,185983,188272,190575,192892,195223,197568,199927,202300,204687,207088,209503,211932,214375,216832,219303,221788,224287,
  131. 226800, 229327,231868,234423,236992,239575,242172,244783,247408,250047,252700,255367,258048,260743,263452,266175,268912,271663,274428,277207,
  132. 280000, 282807,285628,288463,291312,294175,297052,299943,302848,305767,308700,311647,314608,317583,320572,323575,326592,329623,332668,335727,
  133. 338800, 341887,344988,348103,351232,354375,357532,360703,363888,367087,370300,373527,376768,380023,383292,386575,389872,393183,396508,399847,
  134. 403200, 406567,409948,413343,416752,420175,423612,427063,430528,434007,437500,441007,444528,448063,451612,455175,458752,462343,465948,469567,
  135. 473200, 476847,480508,484183,487872,491575,495292,499023,502768,506527,510300,514087,517888,521703,525532,529375,533232,537103,540988,544887,
  136. 548800, 552727,556668,560623,564592,568575,572572,576583,580608,584647,588700,592767,596848,600943,605052,609175,613312,617463,621628,625807,
  137. 630000, 634207,638428,642663,646912,651175,655452,659743,664048,668367,672700,677047,681408,685783,690172,694575,698992,703423,707868,712327,
  138. 716800, 721287,725788,730303,734832,739375,743932,748503,753088,757687,762300,766927,771568,776223,780892,785575,790272,794983,799708,804447,
  139. 809200, 813967,818748,823543,828352,833175,838012,842863,847728,852607,857500,862407,867328,872263,877212,882175,887152,892143,897148,902167,
  140. 907200, 912247,917308,922383,927472,932575,937692,942823,947968,953127,958300,963487,968688,973903,979132,984375,989632,994903,1000188,1005487,
  141. 1010800, 1016127,1021468,1026823,1032192,1037575,1042972,1048383,1053808,1059247,1064700,1070167,1075648,1081143,1086652,1092175,1097712,1103263,1108828,1114407,
  142. 1120000, 1125607,1131228,1136863,1142512,1148175,1153852,1159543,1165248,1170967,1176700,1182447,1188208,1193983,1199772,1205575,1211392,1217223,1223068,1228927,
  143. 1234800, 1240687,1246588,1252503,1258432,1264375,1270332,1276303,1282288,1288287,1294300,1300327,1306368,1312423,1318492,1324575,1330672,1336783,1342908,1349047,
  144. 1355200, 1361367,1367548,1373743,1379952,1386175,1392412,1398663,1404928,1411207,1417500,1423807,1430128,1436463,1442812,1449175,1455552,1461943,1468348,1474767,
  145. 1481200, 1487647,1494108,1500583,1507072,1513575,1520092,1526623,1533168,1539727,1546300,1552887,1559488,1566103,1572732,1579375,1586032,1592703,1599388,1606087,
  146. 1612800, 1619527,1626268,1633023,1639792,1646575,1653372,1660183,1667008,1673847,1680700,1687567,1694448,1701343,1708252,1715175,1722112,1729063,1736028,1743007,
  147. 1750000, 1757007,1764028,1771063,1778112,1785175,1792252,1799343,1806448,1813567,1820700,1827847,1835008,1842183,1849372,1856575,1863792,1871023,1878268,1885527,
  148. 1892800, 1900087,1907388,1914703,1922032,1929375,1936732,1944103,1951488,1958887,1966300,1973727,1981168,1988623,1996092,2003575,2011072,2018583,2026108,2033647,
  149. 2041200, 2048767,2056348,2063943,2071552,2079175,2086812,2094463,2102128,2109807,2117500,2125207,2132928,2140663,2148412,2156175,2163952,2171743,2179548,2187367,
  150. 2195200, 2203047,2210908,2218783,2226672,2234575,2242492,2250423,2258368,2266327,2274300,2282287,2290288,2298303,2306332,2314375,2322432,2330503,2338588,2346687,
  151. 2354800, 2362927,2371068,2379223,2387392,2395575,2403772,2411983,2420208,2428447,2436700,2444967,2453248,2461543,2469852,2478175,2486512,2494863,2503228,2511607,
  152. 2520000, 2528407,2536828,2545263,2553712,2562175,2570652,2579143,2587648,2596167,2604700,2613247,2621808,2630383,2638972,2647575,2656192,2664823,2673468,2682127,
  153. 2690800, 2699487,2708188,2716903,2725632,2734375,2743132,2751903,2760688,2769487,2778300,2787127,2795968,2804823,2813692,2822575,2831472,2840383,2849308,2858247,
  154. 2867200, 2876167,2885148,2894143,2903152,2912175,2921212,2930263,2939328,2948407,2957500,2966607,2975728,2984863,2994012,3003175,3012352,3021543,3030748,3039967,
  155. 3049200, 3058447,3067708,3076983,3086272,3095575,3104892,3114223,3123568,3132927,3142300,3151687,3161088,3170503,3179932,3189375,3198832,3208303,3217788,3227287,
  156. 3236800, 3246327,3255868,3265423,3274992,3284575,3294172,3303783,3313408,3323047,3332700,3342367,3352048,3361743,3371452,3381175,3390912,3400663,3410428,3420207,
  157. 3430000, 3439807,3449628,3459463,3469312,3479175,3489052,3498943,3508848,3518767,3528700,3538647,3548608,3558583,3568572,3578575,3588592,3598623,3608668,3618727,
  158. 3628800, 3638887,3648988,3659103,3669232,3679375,3689532,3699703,3709888,3720087,3730300,3740527,3750768,3761023,3771292,3781575,3791872,3802183,3812508,3822847,
  159. 3833200, 3843567,3853948,3864343,3874752,3885175,3895612,3906063,3916528,3927007,3937500,3948007,3958528,3969063,3979612,3990175,4000752,4011343,4021948,4032567,
  160. 4043200, 4053847,4064508,4075183,4085872,4096575,4107292,4118023,4128768,4139527,4150300,4161087,4171888,4182703,4193532,4204375,4215232,4226103,4236988,4247887,
  161. 4258800, 4269727,4280668,4291623,4302592,4313575,4324572,4335583,4346608,4357647,4368700,4379767,4390848,4401943,4413052,4424175,4435312,4446463,4457628,4468807,
  162. 4480000, 4491207,4502428,4513663,4524912,4536175,4547452,4558743,4570048,4581367,4592700,4604047,4615408,4626783,4638172,4649575,4660992,4672423,4683868,4695327,
  163. 4706800, 4718287,4729788,4741303,4752832,4764375,4775932,4787503,4799088,4810687,4822300,4833927,4845568,4857223,4868892,4880575,4892272,4903983,4915708,4927447,
  164. 4939200, 4950967,4962748,4974543,4986352,4998175,5010012,5021863,5033728,5045607,5057500,5069407,5081328,5093263,5105212,5117175,5129152,5141143,5153148,5165167,
  165. 5177200, 5189247,5201308,5213383,5225472,5237575,5249692,5261823,5273968,5286127,5298300,5310487,5322688,5334903,5347132,5359375,5371632,5383903,5396188,5408487,
  166. 5420800, 5433127,5445468,5457823,5470192,5482575,5494972,5507383,5519808,5532247,5544700,5557167,5569648,5582143,5594652,5607175,5619712,5632263,5644828,5657407,
  167. 5670000, 5682607,5695228,5707863,5720512,5733175,5745852,5758543,5771248,5783967,5796700,5809447,5822208,5834983,5847772,5860575,5873392,5886223,5899068,5911927,
  168. 5924800, 5937687,5950588,5963503,5976432,5989375,6002332,6015303,6028288,6041287,6054300,6067327,6080368,6093423,6106492,6119575,6132672,6145783,6158908,6172047,
  169. 6185200, 6198367,6211548,6224743,6237952,6251175,6264412,6277663,6290928,6304207,6317500,6330807,6344128,6357463,6370812,6384175,6397552,6410943,6424348,6437767,
  170. 6451200, 6464647,6478108,6491583,6505072,6518575,6532092,6545623,6559168,6572727,6586300,6599887,6613488,6627103,6640732,6654375,6668032,6681703,6695388,6709087,
  171. 6722800, 6736527,6750268,6764023,6777792,6791575,6805372,6819183,6833008,6846847,6860700,6874567,6888448,6902343,6916252,6930175,6944112,6958063,6972028,6986007,
  172. 7000000, 7014007,7028028,7042063,7056112,7070175,7084252,7098343,7112448,7126567,7140700,7154847,7169008,7183183,7197372,7211575,7225792,7240023,7254268,7268527,
  173. 7282800, 7297087,7311388,7325703,7340032,7354375,7368732,7383103,7397488,7411887,7426300,7440727,7455168,7469623,7484092,7498575,7513072,7527583,7542108,7556647,
  174. 7571200, 7585767,7600348,7614943,7629552,7644175,7658812,7673463,7688128,7702807,7717500,7732207,7746928,7761663,7776412,7791175,7805952,7820743,7835548,7850367,
  175. 7865200, 7880047,7894908,7909783,7924672,7939575,7954492,7969423,7984368,7999327,8014300,8029287,8044288,8059303,8074332,8089375,8104432,8119503,8134588,8149687,
  176. 8164800, 8179927,8195068,8210223,8225392,8240575,8255772,8270983,8286208,8301447,8316700,8331967,8347248,8362543,8377852,8393175,8408512,8423863,8439228,8454607,
  177. 8470000, 8485407,8500828,8516263,8531712,8547175,8562652,8578143,8593648,8609167,8624700,8640247,8655808,8671383,8686972,8702575,8718192,8733823,8749468,8765127,
  178. 8780800, 8796487,8812188,8827903,8843632,8859375,8875132,8890903,8906688,8922487,8938300,8954127,8969968,8985823,9001692,9017575,9033472,9049383,9065308,9081247,
  179. 9097200, 9113167,9129148,9145143,9161152,9177175,9193212,9209263,9225328,9241407,9257500,9273607,9289728,9305863,9322012,9338175,9354352,9370543,9386748,9402967,
  180. 9419200, 9435447,9451708,9467983,9484272,9500575,9516892,9533223,9549568,9565927,9582300,9598687,9615088,9631503,9647932,9664375,9680832,9697303,9713788,9730287,
  181. 9746800, 9763327,9779868,9796423,9812992,9829575,9846172,9862783,9879408,9896047,9912700,9929367,9946048,9962743,9979452,9996175,10012912,10029663,10046428,10063207};
  182.  
  183. new poeni_igraca[33];
  184. new energija_igraca[33];
  185. new inteligencija_igraca[33];
  186. new snaga_igraca[33];
  187. new Float:smanjene_povrede_igraca[33];
  188. new kondicija_igraca[33];
  189. new maximalna_energija_igraca[33];
  190. new Float:brzina_igraca[33];
  191.  
  192. enum { NONE = 0,
  193. Snajperista,
  194. Marinac,
  195. ProStrelac,
  196. Mitraljezac,
  197. Doktor,
  198. VatrenaPodrska,
  199. Miner,
  200. Demolitions,
  201. Rusher,
  202. Rambo,
  203. Partizan,
  204. Spijun,
  205. Bombarder,
  206. Gunner,
  207. Pesadinac,
  208. Pobunjenik,
  209. Assassin,
  210. SWAT,
  211. Major,
  212. Hitman,
  213. NjemackiStrijelac,
  214. Armageddon,
  215. Terminator,
  216. ProMiner,
  217. Zagor,
  218. Camper,
  219. Slayer,
  220. ProAssassin,
  221. Zastavnik,
  222. Admiral,
  223. Fighter,
  224. Policajac,
  225. Specijalac,
  226. Predator,
  227. NemackiOficir,
  228. Kurwa,
  229. ProfVojnik,
  230. Crysis,
  231. ProfStrelac,
  232. UniverzalniSoldier,
  233. Komandos,
  234. ProSwat
  235. }
  236. new const energija_klasa[] = { //Helti Klase
  237. 0, // Nema
  238. 120, // Snajperista
  239. 140, // Marinac
  240. 130, // Pro-Strelac
  241. 120, // Mitraljezac
  242. 110, // Doktor
  243. 100, // Vatrena Podrska
  244. 100, // Miner
  245. 110, // Demolitions
  246. 100, // Rusher
  247. 130, // Rambo
  248. 120, // Partizan
  249. 110, // Spijun
  250. 120, // Bombarder
  251. 70, // Gunner
  252. 110, // Pesadinac
  253. 150, // Pobunjenik
  254. 110, // Assassin
  255. 120, // SWAT
  256. 120, //Major
  257. 120, //Hitman
  258. 100, //Njemacki Strijelac
  259. 130, //Armageddon
  260. 100, //Terminator
  261. 120, //ProMiner
  262. 120, //Zagor
  263. 130, //Camper
  264. 140, //Slayer
  265. 120, //ProAssassin
  266. 110, // Zastavnik
  267. 125, // Admiral
  268. 150, // Fighter
  269. 120, // Policajac
  270. 110, // Specijalac
  271. 100, // Predator
  272. 105, // NemackiOficir
  273. 124, // Kurwa
  274. 130, // ProfVojnik
  275. 80, // Crysis
  276. 105, // ProfStrelac
  277. 120, //UniverzalniSoldier
  278. 130, //Komandos
  279. 120 //ProSwat
  280. }
  281. new const Float:brzina_klasa[] = { //Brzina Klase
  282. 0.0, // Nema
  283. 1.2, // Snajperista
  284. 1.35, // Marinac
  285. 0.8, // Pro-Strelac
  286. 0.8, // Mitraljezac
  287. 1.0, // Doktor
  288. 1.0, // Vatrena Podrska
  289. 1.0, // Miner
  290. 1.0, // Demolitions
  291. 1.3, // Rusher
  292. 1.15, // Rambo
  293. 1.1, // Partizan
  294. 1.2, // Spijun
  295. 0.9, // Bombarder
  296. 1.35, // Gunner
  297. 1.2, // Pesadinac
  298. 1.5, // Pobunjenik
  299. 2.0, // Assassin
  300. 0.8, // SWAT
  301. 1.5, //Major
  302. 1.2, //Hitman
  303. 1.15, //Njemacki Strijelac
  304. 1.2, //Armageddon
  305. 1.2, //Terminator
  306. 1.3, //ProMiner
  307. 1.3, //Zagor
  308. 1.2, //Camper
  309. 1.1, //Slayer
  310. 1.2, //ProAssassin
  311. 1.4, // Zastavnik
  312. 1.1, // Admiral
  313. 1.4, // Fighter
  314. 1.2, // Policajac
  315. 1.8, // Specijalac
  316. 1.3, // Predator
  317. 1.0, // NemackiOficir
  318. 1.2, // Kurwa
  319. 1.6, // ProfVojnik
  320. 1.8, // Crysis
  321. 1.0, // ProfStrelac
  322. 1.3, //UniverzalniSoldier
  323. 1.2, //Komandos
  324. 1.2 //ProSwat
  325. }
  326. new const oklop_klase[] = { //Armor Klase
  327. 0, // Nema
  328. 120, // Snajperista
  329. 140, // Marinac
  330. 130, // Pro-Strelac
  331. 120, // Mitraljezac
  332. 110, // Doktor
  333. 100, // Vatrena Podrska
  334. 100, // Miner
  335. 110, // Demolitions
  336. 100, // Rusher
  337. 130, // Rambo
  338. 120, // Partizan
  339. 110, // Spijun
  340. 120, // Bombarder
  341. 70, // Gunner
  342. 110, // Pesadinac
  343. 150, // Pobunjenik
  344. 110, // Assassin
  345. 120, // SWAT
  346. 120, //Major
  347. 110, //Hitman
  348. 100, //Njemacki Strijelac
  349. 120, //Armageddon
  350. 100, //Terminator
  351. 100, //ProMiner
  352. 100, //Zagor
  353. 100, //Camper
  354. 100, //Slayer
  355. 160, //ProAssassin
  356. 8300, //Zastavnik
  357. 70, //Admiral
  358. 100, //Fighter
  359. 50, //Policajac
  360. 0, //Specijalac
  361. 25, //Predator
  362. 80, //NemackiOficir
  363. 100, //Kurwa
  364. 90, //ProfVojnik
  365. 10, //Crysis
  366. 45, //ProfStrelac
  367. 568, //UniverzalniSoldier
  368. 100, //Komandos
  369. 100 //ProSwat
  370. }
  371. new const naziv_klase[][] = {"Nema",
  372. "Snajperista",
  373. "Marinac",
  374. "Pro-Strelac",
  375. "Mitraljezac",
  376. "Doktor",
  377. "Vatrena podrska",
  378. "Miner",
  379. "Demolitions",
  380. "Rusher",
  381. "Rambo",
  382. "Partizan",
  383. "Spijun",
  384. "Bombarder",
  385. "Gunner",
  386. "Pesadinac",
  387. "Pobunjenik",
  388. "Assassin",
  389. "SWAT",
  390. "Major",
  391. "Hitman",
  392. "Njemacki Strijelac",
  393. "Armageddon",
  394. "Terminator",
  395. "ProMiner",
  396. "Zagor",
  397. "Camper",
  398. "Slayer",
  399. "ProAssassin",
  400. "Zastavnik",
  401. "Admiral",
  402. "Fighter",
  403. "Policajac",
  404. "Specijalac",
  405. "Predator",
  406. "Nemacki Oficir",
  407. "Kurwa",
  408. "Profesionalni Vojnik",
  409. "Crysis",
  410. "Profesionalni Strelac",
  411. "UniverzalniSoldier",
  412. "Komandos",
  413. "ProSwat"
  414.  
  415. };
  416. new const frakcije[][] = {
  417. "Nema",
  418. "\y[\rFree\y] \wClasses",
  419. "\y[\rPremium\y] \wClasses"
  420. }
  421.  
  422. enum {
  423. NONE = 0,
  424. obicna,
  425. premium,
  426. superpremium
  427. }
  428.  
  429. new const pripada[] = {
  430. NONE, // Nema 0
  431. obicna, // Snajperista 1
  432. obicna, // Marinac 2
  433. obicna, // Pro Strelac 3
  434. obicna, // Mitraljezac 4
  435. obicna, // Doktor 5
  436. obicna, // Vatrena Podrska 6
  437. obicna, // Miner 7
  438. obicna, // Demolitions 8
  439. obicna, // Rusher 9
  440. obicna, // Rambo 10
  441. obicna, // Partizan 11
  442. obicna, // Spijun 12
  443. obicna, // Bomberder 13
  444. obicna, // Gunner 14
  445. obicna,
  446. obicna,
  447. premium,
  448. obicna,
  449. premium,
  450. premium,
  451. obicna,
  452. obicna,
  453. obicna,
  454. obicna,
  455. premium,
  456. premium,
  457. obicna,
  458. premium,
  459. obicna,
  460. obicna,
  461. obicna,
  462. obicna,
  463. obicna,
  464. obicna,
  465. obicna,
  466. obicna,
  467. obicna,
  468. obicna,
  469. obicna,
  470. premium,
  471. premium,
  472. premium
  473.  
  474. }
  475. new frakcija_igraca[33]
  476. new const opis_klase[][] = {"Nema",
  477. "\yOruzije:\w AWP, Deagle, Scout^n\yEnergija:\w 120 HP^n\yArmor:\w 100 AP^n\yBrzina:\w 120%^n\ySpecijalne moci:\w 1:3 sansa za brzo ubijanje nozem",
  478. "\yOruzije:\w Deagle^n\yEnergija:\w 140 HP^n\yArmor:\w 100 AP^n\yBrzina:\w 135%^n\ySpecijalne moci:\w Odma ubija nozem",
  479. "\yOruzije:\w AK47, M4A1^n\yEnergija:\w 110 HP^n\yArmor:\w 100 AP^n\yBrzina:\w 80%^n\ySpecijalne moci:\w Nema",
  480. "\yOruzije:\w M249(krmaca)^n\yEnergija:\w 120 HP^n\yArmor:\w 150 AP^n\yBrzina:\w 80%^n\ySpecijalne moci:\w Otporan na mine, ima sve bombe",
  481. "\yOruzije:\w UMP45^n\yEnergija:\w 110 HP^n\yArmor:\w 100 AP^n\yBrzina:\w 100%^n\ySpecijalne moci:\w Ima komplet za prvu pomoc",
  482. "\yOruzije:\w MP5^n\yEnergija:\w 100 HP^n\yArmor:\w 0 AP^n\yBrzina:\w 100%^n\ySpecijalne moci:\w Ima dve rakete",
  483. "\yOruzije:\w P90^n\yEnergija:\w 100 HP^n\yArmor:\w 100 AP^n\yBrzina:\w 100%^n\ySpecijalne moci:\w Dobija 3 mine",
  484. "\yOruzije:\w AUG^n\yEnergija:\w 110 HP^n\yArmor:\w 100 AP^n\yBrzina:\w 100%^n\ySpecijalne moci:\w Ima sve bombe, dobija dinamit, koji ubija sve u krugu od 1m",
  485. "\yOruzije:\w M3(pumparica)^n\yEnergija:\w 100 HP^n\yArmor:\w 0 AP^n\yBrzina:\w 130%^n\ySpecijalne moci:\w Nema",
  486. "\yOruzije:\w FAMAS^n\yEnergija:\w 130 HP^n\yArmor:\w 150 AP^n\yBrzina:\w 115%^n\ySpecijalne moci:\w Za svako ubistvo dobija 20 HP i pun sanzer, dupli skok^n\yKontakt:\w vaske.va08@hotmail.com",
  487. "\yOruzije:\w P90, FLASHBANG^n\yEnergija:\w 100 HP^n\yArmor:\w 0 AP^n\yBrzina:\w 110%^n\ySpecijalne moci:\w Manje je vidljiv",
  488. "\yOruzije:\w Deagle^n\yEnergija:\w 70 HP^n\yArmor:\w 0 AP^n\yBrzina:\w 120%^n\ySpecijalne moci:\w Kamuflaza (izgleda kao neprijatelj)",
  489. "\yOruzije:\w M4A1, Deagle, HE-Grenade^n\yEnergija:\w 140 HP^n\yArmor:\w 150 AP^n\yBrzina:\w 90%^n\ySpecijalne moci:\w Nema",
  490. "\yOruzije:\w G3/SG-1(rafalni snajper)^n\yEnergija:\w 125 HP^n\yArmor:\w 50 AP^n\yBrzina:\w 90%^n\ySpecijalne moci:\w Ima 1 raketu^n\yKontakt:\w vaske.va08@hotmail.com",
  491. "\yOruzije:\w GAIL + P228,^n\yEnergija:\w 100 HP^n\yArmor:\w 0 AP^n\yBrzina:\w 135%^n\ySpecijalne moci:\w Nema",
  492. "\yOruzije:\w SG552, HE-Grenade^n\yEnergija:\w 100 HP^n\yArmor:\w 25 AP^n\yBrzina:\w 120%^n\ySpecijalne moci:\w Ima 1 minu",
  493. "\yOruzije:\w Noz, USP^n\yEnergija:\w 10 HP^n\yArmor:\w 100 AP^n\yBrzina:\w 200%^n\ySpecijalne moci:\w Nevidljiv kad ima noz^n\yKontakt:\w vaske.va08@hotmail.com",
  494. "\yOruzije:\w M4a1^n\yEnergija:\w 100 HP^n\yArmor:\w 0 AP^n\yBrzina:\w 80%^n\ySpecijalne moci:\w Otporan na noz",
  495. "\rOruzije:\y Ak47,M4a1,Svi pistolji^n\rEnergija:\y 90HP^n\rPancir:\y 0AP\r^nBrzina:\y 110%\r^nSpecijalne moci:\y Ima 10 mine",
  496. "\rOruzije:\y Ak47,M4a1^n\rEnergija:\y 90HP^n\rPancir:\y 0AP\r^nBrzina:\y 110%\r^nSpecijalne moci:\y Ima 6 Raketa",
  497. "\yOruzije:\w Ak47 \yEnergija:\w 120 HP^n\yArmor:\w 110 AP^n\yBrzina:\w 100%^n\ySpecijalne moci:\w Ima 2 Raketa",
  498. "\rOruzije:\y AK47, AUG, HE^n\rEnergija:\y 160HP ^n\rPancir:\y 120AP\r^nBrzina:\y 140%\r^nSpecijalne moci:\y Manje je vidljiv i 2 dinamita",
  499. "\rOruzije:\y AK47+Deagle^n\rEnergija:\y 140HP ^n\rPancir:\y 50AP\r^nBrzina:\y 120%\r^nSpecijalne moci:\y 2 Rakete",
  500. "\rOruzije:\y MP5^n\rEnergija:\y 140HP ^n\rPancir:\y 50AP\r^nBrzina:\y 120%\r^nSpecijalne moci:\y Ima 5 mini",
  501. "\rOruzije:\y M4a1, ak47^n\rEnergija:\y 120HP ^n\rPancir:\y 50AP\r^nBrzina:\y 120%\r^nSpecijalne moci:\y Ima 10 Raketa",
  502. "\rOruzije:\y AWP, Deagle^n\rEnergija:\y 120HP ^n\rPancir:\y 50AP\r^nBrzina:\y 120%\r^nSpecijalne moci:\y Ima awp master",
  503. "\rOruzije:\y Famas, P90^n\rEnergija:\y 110HP^n\rPancir:\y 120AP\r^nBrzina:\y 140%\r^nSpecijalne moci:\yIma 3 rakete",
  504. "\rOruzije:\y Ak47, Deagle^n\rEnergija:\y 110HP^n\rPancir:\y 160AP\r^nBrzina:\y 140%\r^nSpecijalne moci:\y Ima m249 1/5 Sansi sA Killom",
  505. "\rOruzije:\y M4A1, P90, Deagle ^n\rEnergija:\y 90HP ^n\rPancir:\y 300AP \r^nBrzina:\y 140% \r^nSpecijalne moci:\y 2 rakete", // 42
  506. "\rOruzije:\y AK47, Famas ^n\rEnergija:\y 125HP ^n\rPancir:\y 70AP \r^nBrzina:\y 110% \r^nSpecijalne moci:\y NEMA", // 43
  507. "\rOruzije:\y M4A1, Scout, USP ^n\rEnergija:\y 150HP ^n\rPancir:\y 100AP \r^nBrzina:\y 140% \r^nSpecijalne moci:\y 2 dinamita, dupli skok, 1/3 za instant kill nozem", // 44
  508. "\rOruzije:\y XM1014, TMP, fiveseven ^n\rEnergija:\y 150HP ^n\rPancir:\y 50AP \r^nBrzina:\y 120% \r^nSpecijalne moci:\y NEMA", // 45
  509. "\rOruzije:\y FAMAS, P228 ^n\rEnergija:\y 110HP ^n\rPancir:\y 0AP \r^nBrzina:\y 150% \r^nSpecijalne moci:\y NEMA", // 46
  510. "\rOruzije:\y sg552, glock18, smokegrenade ^n\rEnergija:\y 100HP ^n\rPancir:\y 25AP \r^nBrzina:\y 130% \r^nSpecijalne moci:\y NEMA", // 47
  511. "\rOruzije:\y P90, glock18, smokegrenade ^n\rEnergija:\y 105HP ^n\rPancir:\y 80AP \r^nBrzina:\y 100% \r^nSpecijalne moci:\y NEMA", // 48
  512. "\rOruzije:\y AK47, 2 HE ^n\rEnergija:\y 124HP ^n\rPancir:\y 100AP \r^nBrzina:\y 120% \r^nSpecijalne moci:\y 2 dinamita", // 49
  513. "\rOruzije:\y FAMAS,USP ^n\rEnergija:\y 130HP ^n\rPancir:\y 90AP \r^nBrzina:\y 160% \r^nSpecijalne moci:\y 1 raketu", // 50
  514. "\rOruzije:\y SG552,m4a1 ^n\rEnergija:\y 80HP ^n\rPancir:\y 10AP \r^nBrzina:\y 180% \r^nSpecijalne moci:\y 2 rakete, super speed, nevidljiv", // 51
  515. "\rOruzije:\y AWP, m4a1 ^n\rEnergija:\y 105HP ^n\rPancir:\y 45AP \r^nBrzina:\y 100% \r^nSpecijalne moci:\y Smanjeno trzanje puske", // 52
  516. "\rOruzije:\y Bazook,Usp ^n\rEnergija:\y 125HP ^n\rPancir:\y 586AP \r^nBrzina:\y 100% \r^nSpecijalne moci:\y IMa bazooku",
  517. "\rOruzije:\y M4a1\r^nEnergija:\y 150 HP^n\rPancir:\y 100 AP^n\rBrzina:\y 120%^n\rSpecijalne moci: Ima 3 rakete,dinamita,mine i instant kill nozem(levi klik)",
  518. "\rOruzije:\y M4a1\r^nEnergija:\y 150 HP^n\rPancir:\y 100 AP^n\rBrzina:\y 120%^n\rSpecijalne moci: Ima 1/3 Sanse Sa killom M4A1"
  519.  
  520. };
  521.  
  522. new broj_medkit_igraca[33];
  523. new broj_raketa_igraca[33];
  524. new Float:prethodna_raketa_igraca[33];
  525. new broj_min_igraca[33];
  526. new broj_dinamita_igraca[33];
  527. new broj_skokova_igraca[33];
  528.  
  529. new bool:freezetime = true;
  530.  
  531. public plugin_init()
  532. {
  533. register_plugin(PLUGIN, VERSION, AUTHOR);
  534.  
  535. g_vault = nvault_open("CodMod");
  536. cvr_startlvl = register_cvar( "cod_startlevel", "50" );
  537.  
  538. register_think("MedKit","MedKitThink");
  539.  
  540. RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  541. RegisterHam(Ham_Spawn, "player", "Pocetak", 1);
  542. RegisterHam(Ham_Touch, "armoury_entity", "DodirOruzija");
  543. RegisterHam(Ham_Touch, "weapon_shield", "DodirOruzija");
  544. RegisterHam(Ham_Touch, "weaponbox", "DodirOruzija");
  545.  
  546. register_forward(FM_CmdStart, "CmdStart");
  547. register_forward(FM_EmitSound, "EmitSound");
  548.  
  549. register_logevent("PocetakRunde", 2, "1=Round_Start");
  550.  
  551. register_event("DeathMsg", "Death", "ade");
  552. register_event("Damage", "Damage", "b", "2!=0");
  553. register_event("CurWeapon","CurWeapon","be", "1=1");
  554. register_event("HLTV", "novaRunda", "a", "1=0", "2=0");
  555.  
  556. register_touch("Rocket", "*" , "DodirRakete");
  557. register_touch("Mine", "player", "DodirMine");
  558.  
  559. cvar_xp_za_ubistvo = register_cvar("cod_killxp", "70");
  560. register_concmd("cod_addlvl", "cmd_addlvl", ADMIN_RCON, "<name> <level>");
  561.  
  562. register_clcmd("say /klasa", "IzaberiKlasu");
  563. register_clcmd("say /opis", "OpisKlase");
  564. register_clcmd("say /predmet", "OpisPredmeta");
  565. register_clcmd("say /item", "OpisPredmeta");
  566. register_clcmd("say /drop", "IzbaciPredmet");
  567. register_clcmd("say /izbaci", "IzbaciPredmet");
  568. register_clcmd("say /reset", "KomandaResetujPoene");
  569. register_clcmd("say /shop", "Shop");
  570. register_clcmd("say /pomoc", "Pomoc");
  571. register_clcmd("say /help", "Pomoc");
  572. register_clcmd("fullupdate", "BlokirajKomande");
  573. register_clcmd("say", "hook_say")
  574.  
  575. g_msg_screenfade = get_user_msgid("ScreenFade");
  576.  
  577. SyncHudObj = CreateHudSyncObj();
  578. SyncHudObj3 = CreateHudSyncObj();
  579.  
  580. register_menucmd(register_menuid("Klasa:"), 1023, "OpisKlase");
  581. iskustvo_za_pare = 400;
  582. iskustvo_za_mnogopara = 1000;
  583.  
  584. format(za_hejtere, 10, "1")
  585. }
  586.  
  587. public plugin_cfg()
  588. {
  589. server_cmd("sv_maxspeed 9999");
  590. }
  591.  
  592. public plugin_precache()
  593. {
  594. new Entity = create_entity( "info_map_parameters" );
  595.  
  596. DispatchKeyValue( Entity, "buying", "3" );
  597. DispatchSpawn( Entity );
  598.  
  599. sprite_white = precache_model("sprites/white.spr") ;
  600. sprite_blast = precache_model("sprites/dexplo.spr");
  601. sprite_beam = precache_model("sprites/zbeam4.spr")
  602.  
  603. precache_sound("QTM_CodMod/select.wav");
  604. precache_sound("QTM_CodMod/start.wav");
  605. precache_sound("QTM_CodMod/start2.wav");
  606. precache_sound("QTM_CodMod/levelup.wav");
  607.  
  608. precache_model("models/w_medkit.mdl");
  609. precache_model("models/rpgrocket.mdl");
  610. precache_model("models/mine.mdl");
  611. }
  612.  
  613. public pfn_keyvalue( Entity )
  614. {
  615. new ClassName[ 20 ], Dummy[ 2 ];
  616. copy_keyvalue( ClassName, charsmax( ClassName ), Dummy, charsmax( Dummy ), Dummy, charsmax( Dummy ) );
  617.  
  618. if( equal( ClassName, "info_map_parameters" ) )
  619. {
  620. remove_entity( Entity );
  621. return PLUGIN_HANDLED ;
  622. }
  623. return PLUGIN_CONTINUE;
  624. }
  625.  
  626. public CmdStart(id, uc_handle)
  627. {
  628. if(!is_user_alive(id))
  629. return FMRES_IGNORED;
  630.  
  631. new button = get_uc(uc_handle, UC_Buttons);
  632. new flags = pev(id, pev_flags);
  633.  
  634. if(informacije_predmet_igraca[id][0] == 11 || klasa_igraca[id] == Rambo)
  635. {
  636. new oldbutton = pev(id, pev_oldbuttons);
  637.  
  638. if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && broj_skokova_igraca[id] > 0)
  639. {
  640. broj_skokova_igraca[id]--;
  641. new Float:velocity[3];
  642. pev(id, pev_velocity,velocity);
  643. velocity[2] = random_float(265.0,285.0);
  644. set_pev(id, pev_velocity,velocity);
  645. }
  646. else if(flags & FL_ONGROUND)
  647. {
  648. broj_skokova_igraca[id] = 0;
  649. if(informacije_predmet_igraca[id][0] == 11)
  650. broj_skokova_igraca[id]++;
  651. if(klasa_igraca[id] == Rambo)
  652. broj_skokova_igraca[id]++;
  653. }
  654. }
  655.  
  656. if(button & IN_ATTACK)
  657. {
  658. new Float:punchangle[3];
  659.  
  660. if(informacije_predmet_igraca[id][0] == 20)
  661. set_pev(id, pev_punchangle, punchangle);
  662. if(informacije_predmet_igraca[id][0] == 23)
  663. {
  664. set_pev(id, pev_punchangle, punchangle);
  665. for(new i=0; i<3;i++)
  666. punchangle[i]*=0.9;
  667. set_pev(id, pev_punchangle, punchangle);
  668. }
  669. }
  670.  
  671. if(informacije_predmet_igraca[id][0] == 28 && button & IN_JUMP && button & IN_DUCK && flags & FL_ONGROUND && get_gametime() > informacije_predmet_igraca[id][1]+4.0)
  672. {
  673. informacije_predmet_igraca[id][1] = floatround(get_gametime());
  674. new Float:velocity[3];
  675. VelocityByAim(id, 700, velocity);
  676. velocity[2] = random_float(265.0,285.0);
  677. set_pev(id, pev_velocity, velocity);
  678. }
  679. return FMRES_IGNORED;
  680. }
  681.  
  682. public cmd_addlvl(id, level, cid)
  683. {
  684. if(!cmd_access(id,level,cid,3))
  685. return PLUGIN_HANDLED;
  686. new arg1[33];
  687. new arg2[6];
  688. read_argv(1, arg1, 32);
  689. read_argv(2, arg2, 5);
  690. new player = cmd_target(id, arg1);
  691. new value = str_to_num(arg2)-1;
  692.  
  693. iskustvo_igraca[player] = iskustvo_levelu[value];
  694. level_igraca[player] = 0;
  695. ProveriNivo(player);
  696. return PLUGIN_HANDLED;
  697. }
  698.  
  699. public Shop(id)
  700. {
  701. new menu = menu_create("Shop:", "Shop_Handle");
  702. menu_additem(menu, "Aspirin \r[Add 50 HP] \yPrice: \r3000$");
  703. menu_additem(menu, "Morphine \r[Add 100 HP] \yPrice: \r5000$");
  704. menu_additem(menu, "RedBull \r[Larger Jump + More Speed] \yPrice: \r7500$");
  705. menu_additem(menu, "Experience \r[Add 400 XP] \yPrice: \r5000$");
  706. menu_additem(menu, "Super experience \r[Add 1000 XP] \yPrice: \r10000$");
  707. menu_additem(menu, "Random Selection \r[Item] \yPrice: \r3000$");
  708. menu_additem(menu, "Mine \r[Add 2 Mine] \yPrice: \r10000$");
  709. menu_display(id, menu);
  710. }
  711. public Shop_Handle(id, menu, item)
  712. {
  713. client_cmd(id, "spk QTM_CodMod/select");
  714.  
  715. if(item == MENU_EXIT)
  716. {
  717. menu_destroy(menu);
  718. return PLUGIN_CONTINUE;
  719. }
  720. menu_display(id, menu);
  721. new pare_igraca = cs_get_user_money(id);
  722. new hp = get_user_health(id);
  723. switch(item)
  724. {
  725. case 0:
  726. {
  727. new cena = 3000;
  728. if (pare_igraca<cena)
  729. {
  730. ColorChat(id,GREEN,"[Shop] ^1You do not have enough money.");
  731. return PLUGIN_CONTINUE;
  732. }
  733. if(hp >= maximalna_energija_igraca[id] || klasa_igraca[id] == Assassin)
  734. {
  735. ColorChat(id,GREEN,"[Shop] ^1You already have the maximum energy.");
  736. return PLUGIN_CONTINUE;
  737. }
  738. new ammount=50;
  739. new nova_energija = (hp+ammount<maximalna_energija_igraca[id])? hp+ammount: maximalna_energija_igraca[id];
  740. set_user_health(id, nova_energija);
  741. ColorChat(id,GREEN,"[Shop] ^1You bought ^3Aspirin");
  742. cs_set_user_money(id, pare_igraca-cena);
  743. }
  744. case 1:
  745. {
  746. new cena = 5000;
  747. if (pare_igraca<cena)
  748. {
  749. ColorChat(id,GREEN,"[Shop] ^1You do not have enough money.");
  750. return PLUGIN_CONTINUE;
  751. }
  752. if(hp >= maximalna_energija_igraca[id] || klasa_igraca[id] == Assassin)
  753. {
  754. ColorChat(id,GREEN,"[Shop] ^1You already have the maximum energy.");
  755. return PLUGIN_CONTINUE;
  756. }
  757. new ammount=100;
  758. new nova_energija = (hp+ammount<maximalna_energija_igraca[id])? hp+ammount: maximalna_energija_igraca[id];
  759. set_user_health(id, nova_energija);
  760. ColorChat(id,GREEN,"[Shop] ^1You bought^3 Morphine");
  761. cs_set_user_money(id, pare_igraca-cena);
  762. }
  763. case 2:
  764. {
  765. new cena = 7500;
  766. if (pare_igraca<cena)
  767. {
  768. ColorChat(id,GREEN,"[Shop] ^1You do not have enough money.");
  769. return PLUGIN_CONTINUE;
  770. }
  771. set_user_gravity(id,get_user_gravity(id) - 0.3);
  772. set_user_maxspeed(id,get_user_maxspeed(id) + 10.0);
  773. ColorChat(id,GREEN,"[Shop]^1 You bought^3 RedBull");
  774. cs_set_user_money(id, pare_igraca-cena)
  775. }
  776. case 3:
  777. {
  778. new cena = 5000;
  779. if (pare_igraca<cena)
  780. {
  781. ColorChat(id,GREEN,"[Shop]^1 You do not have enough money.");
  782. return PLUGIN_CONTINUE;
  783. }
  784. iskustvo_igraca[id] += iskustvo_za_pare;
  785. ColorChat(id,GREEN,"[Shop] ^1You bought ^3Experience");
  786. cs_set_user_money(id, pare_igraca-cena)
  787. ProveriNivo(id);
  788. }
  789. case 4:
  790. {
  791. new cena = 10000;
  792. if (pare_igraca<cena)
  793. {
  794. ColorChat(id,GREEN,"[Shop]^1 You do not have enough money.");
  795. return PLUGIN_CONTINUE;
  796. }
  797. iskustvo_igraca[id] += iskustvo_za_mnogopara;
  798. ColorChat(id,GREEN,"[Shop]^1You bought ^3Super Experience");
  799. cs_set_user_money(id, pare_igraca-cena)
  800. ProveriNivo(id);
  801. }
  802. case 5:
  803. {
  804. new cena = 3000;
  805. if (pare_igraca<cena)
  806. {
  807. ColorChat(id,RED,"[Shop]^1 You do not have enough money!");
  808. return PLUGIN_CONTINUE;
  809. }
  810. cs_set_user_money(id, pare_igraca-cena)
  811. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  812. }
  813. case 6:
  814. {
  815. new cena = 10000;
  816. if (pare_igraca<cena)
  817. {
  818. ColorChat(id,RED,"[Shop]^1 You do not have enough money!");
  819. return PLUGIN_HANDLED;
  820. }
  821. else if(klasa_igraca[id] == VatrenaPodrska || klasa_igraca[id] == Marinac || klasa_igraca[id] == Miner || klasa_igraca[id] == Demolitions || klasa_igraca[id] == Gunner)
  822. {
  823. ColorChat(id,GREEN,"[Shop]^1 Your class can not buy mine");
  824. return PLUGIN_CONTINUE;
  825. }
  826. broj_min_igraca[id] +=2;
  827. ColorChat(id,GREEN,"[Shop]^1 You bought^3 2 ^1mine");
  828. cs_set_user_money(id, pare_igraca-cena)
  829. }
  830. }
  831. return PLUGIN_CONTINUE;
  832. }
  833.  
  834. public Pocetak(id)
  835. {
  836. if(!is_user_alive(id) || !is_user_connected(id))
  837. return PLUGIN_CONTINUE;
  838.  
  839. if(nova_klasa_igraca[id])
  840. {
  841. klasa_igraca[id] = nova_klasa_igraca[id];
  842. nova_klasa_igraca[id] = 0;
  843. strip_user_weapons(id);
  844. give_item(id, "weapon_knife");
  845.  
  846. UcitajPodatke(id, klasa_igraca[id]);
  847. }
  848.  
  849. if(!klasa_igraca[id])
  850. {
  851. IzaberiKlasu(id);
  852. return PLUGIN_CONTINUE;
  853. }
  854.  
  855. switch(klasa_igraca[id])
  856. {
  857. case Snajperista:
  858. {
  859. give_item(id, "weapon_awp");
  860. give_item(id, "weapon_scout");
  861. give_item(id, "weapon_deagle");
  862. }
  863. case Marinac:
  864. {
  865. give_item(id, "weapon_deagle");
  866. }
  867. case ProStrelac:
  868. {
  869. give_item(id, "weapon_m4a1");
  870. give_item(id, "weapon_ak47");
  871. }
  872. case Mitraljezac:
  873. {
  874. give_item(id, "weapon_m249");
  875. give_item(id, "weapon_hegrenade");
  876. give_item(id, "weapon_flashbang");
  877. give_item(id, "weapon_smokegrenade");
  878. }
  879. case Doktor:
  880. {
  881. give_item(id, "weapon_ump45");
  882. broj_medkit_igraca[id] = 2;
  883. }
  884. case VatrenaPodrska:
  885. {
  886. give_item(id, "weapon_mp5navy");
  887. broj_raketa_igraca[id] = 2;
  888. }
  889. case Miner:
  890. {
  891. give_item(id, "weapon_p90");
  892. broj_min_igraca[id] = 3;
  893. }
  894. case Demolitions:
  895. {
  896. give_item(id, "weapon_aug");
  897. give_item(id, "weapon_hegrenade");
  898. give_item(id, "weapon_flashbang");
  899. give_item(id, "weapon_smokegrenade");
  900. broj_dinamita_igraca[id] = 1;
  901. }
  902. case Rusher:
  903. {
  904. give_item(id, "weapon_m3");
  905. }
  906. case Rambo:
  907. {
  908. give_item(id, "weapon_famas");
  909. }
  910. case Partizan:
  911. {
  912. give_item(id, "weapon_p90");
  913. give_item(id, "weapon_flashbang");
  914. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70);
  915. }
  916. case Spijun:
  917. {
  918. give_item(id, "weapon_deagle");
  919. PromeniModel(id, 0);
  920. }
  921. case Bombarder:
  922. {
  923. give_item(id, "weapon_m4a1");
  924. give_item(id, "weapon_deagle");
  925. give_item(id, "weapon_hegrenade");
  926. }
  927. case Gunner:
  928. {
  929. give_item(id, "weapon_g3sg1");
  930. broj_raketa_igraca[id] = 1 ;
  931. }
  932. case Pesadinac:
  933. {
  934. give_item(id, "weapon_galil");
  935. give_item(id, "weapon_p228");
  936. }
  937. case Pobunjenik:
  938. {
  939. give_item(id, "weapon_sg552");
  940. give_item(id, "weapon_hegrenade");
  941. broj_min_igraca[id] = 1 ;
  942. }
  943. case Assassin:
  944. {
  945. give_item(id, "weapon_knife");
  946. give_item(id, "weapon_usp");
  947. }
  948. case SWAT:
  949. {
  950. give_item(id, "weapon_m4a1");
  951. }
  952. case Major:
  953. {
  954. give_item(id, "weapon_glock18");
  955. give_item(id, "weapon_m4a1");
  956. give_item(id, "weapon_usp");
  957. give_item(id, "weapon_p228");
  958. give_item(id, "weapon_deagle");
  959. give_item(id, "weapon_elite");
  960. give_item(id, "weapon_fiveseven");
  961. give_item(id, "weapon_smokegrenade");
  962. broj_min_igraca[id] = 10
  963. }
  964. case Hitman:
  965. {
  966. give_item(id, "weapon_m4a1");
  967. give_item(id, "weapon_ak47");
  968. give_item(id, "weapon_hegrenade");
  969. give_item(id, "weapon_deagle");
  970. broj_raketa_igraca[id] = 5;
  971. }
  972. case NjemackiStrijelac:
  973. {
  974. give_item(id, "weapon_ak47");
  975. broj_raketa_igraca[id] = 2;
  976. }
  977. case Armageddon:
  978. {
  979. give_item(id, "weapon_ak47");
  980. give_item(id, "weapon_aug");
  981. give_item(id, "weapon_hegrenade");
  982. broj_dinamita_igraca[id] = 3
  983. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 30);
  984. }
  985. case Terminator:
  986. {
  987. give_item(id, "weapon_ak47");
  988. give_item(id, "weapon_usp");
  989. broj_raketa_igraca[id] = 2;
  990. }
  991. case ProMiner:
  992. {
  993. give_item(id, "weapon_mp5navy");
  994. give_item(id, "weapon_usp");
  995. broj_min_igraca[id] = 5;
  996. }
  997. case Zagor:
  998. {
  999. give_item(id, "weapon_m4a1");
  1000. give_item(id, "weapon_ak47");
  1001. broj_raketa_igraca[id] = 10;
  1002. }
  1003. case Camper:
  1004. {
  1005. give_item(id, "weapon_awp");
  1006. give_item(id, "weapon_deagle");
  1007. broj_raketa_igraca[id] = 10;
  1008. }
  1009. case Slayer:
  1010. {
  1011. give_item(id, "weapon_p90");
  1012. give_item(id, "weapon_famas");
  1013. broj_raketa_igraca[id] = 3;
  1014. }
  1015. case ProAssassin:
  1016. {
  1017. give_item(id, "weapon_m249");
  1018. give_item(id, "weapon_deagle");
  1019. }
  1020. case Zastavnik:
  1021. {
  1022. give_item(id, "weapon_p90");
  1023. give_item(id, "weapon_deagle");
  1024. broj_raketa_igraca[id] = 2;
  1025. }
  1026. case Admiral:
  1027. {
  1028. give_item(id, "weapon_ak47");
  1029. give_item(id, "weapon_famas");
  1030. }
  1031. case Fighter:
  1032. {
  1033. give_item(id, "weapon_mac10");
  1034. give_item(id, "weapon_scout");
  1035. give_item(id, "weapon_usp");
  1036. broj_dinamita_igraca[id] = 2
  1037. }
  1038. case Policajac:
  1039. {
  1040. give_item(id, "weapon_xm1014");
  1041. give_item(id, "weapon_tmp");
  1042. give_item(id, "weapon_fiveseven");
  1043.  
  1044. }
  1045. case Specijalac:
  1046. {
  1047. give_item(id, "weapon_famas");
  1048. give_item(id, "weapon_p228");
  1049. give_item(id, "weapon_m3");
  1050.  
  1051. }
  1052. case Predator:
  1053. {
  1054. give_item(id, "weapon_sg552");
  1055. give_item(id, "weapon_glock18");
  1056. give_item(id, "weapon_smokegrenade");
  1057.  
  1058. }
  1059. case NemackiOficir:
  1060. {
  1061. give_item(id, "weapon_p90");
  1062. give_item(id, "weapon_glock18");
  1063. give_item(id, "weapon_smokegrenade");
  1064. }
  1065. case Kurwa:
  1066. {
  1067. give_item(id, "weapon_ak47");
  1068. give_item(id, "weapon_hegrenade");
  1069. give_item(id, "weapon_hegrenade");
  1070. broj_dinamita_igraca[id] = 2
  1071. }
  1072. case ProfVojnik:
  1073. {
  1074. give_item(id, "weapon_famas");
  1075. give_item(id, "weapon_usp");
  1076. broj_raketa_igraca[id] = 2;
  1077. }
  1078. case Crysis:
  1079. {
  1080. give_item(id, "weapon_sg552");
  1081. give_item(id, "weapon_m4a1");
  1082. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70);
  1083. }
  1084. case ProfStrelac:
  1085. {
  1086. give_item(id, "weapon_awp");
  1087. give_item(id, "weapon_m4a1");
  1088. broj_raketa_igraca[id] = 2;
  1089. }
  1090. case UniverzalniSoldier:
  1091. {
  1092. give_item(id, "weapon_ak47");
  1093. give_item(id, "weapon_deagle");
  1094. }
  1095. case Komandos:
  1096. {
  1097. give_item(id, "weapon_m4a1");
  1098. broj_dinamita_igraca[id] = 3;
  1099. broj_raketa_igraca[id] = 3;
  1100. broj_min_igraca[id] = 3;
  1101. }
  1102. case ProSwat:
  1103. {
  1104. give_item(id, "weapon_m4a1");
  1105. }
  1106.  
  1107. }
  1108.  
  1109. if(poeni_igraca[id]>0)
  1110. DodelaPoena(id);
  1111.  
  1112. if(informacije_predmet_igraca[id][0] == 10 || informacije_predmet_igraca[id][0] == 9)
  1113. give_item(id, "weapon_hegrenade");
  1114.  
  1115. if(informacije_predmet_igraca[id][0] == 9)
  1116. PromeniModel(id, 0);
  1117.  
  1118. if(informacije_predmet_igraca[id][0] == 1)
  1119. set_user_footsteps(id, 1);
  1120. else
  1121. set_user_footsteps(id, 0);
  1122.  
  1123. if(informacije_predmet_igraca[id][0] == 13)
  1124. give_item(id, "weapon_awp");
  1125.  
  1126. if(informacije_predmet_igraca[id][0] == 16)
  1127. give_item(id, "weapon_deagle");
  1128.  
  1129. if(informacije_predmet_igraca[id][0] == 19)
  1130. informacije_predmet_igraca[id][1] = 1;
  1131.  
  1132. if(informacije_predmet_igraca[id][0] == 27)
  1133. informacije_predmet_igraca[id][1] = 3;
  1134.  
  1135. if(informacije_predmet_igraca[id][0] == 29)
  1136. set_user_gravity(id,get_user_gravity(id) - 0.4);
  1137.  
  1138.  
  1139. new weapons[32];
  1140. new weaponsnum;
  1141. get_user_weapons(id, weapons, weaponsnum);
  1142. for(new i=0; i<weaponsnum; i++)
  1143. if(is_user_alive(id))
  1144. if(maxAmmo[weapons[i]] > 0)
  1145. cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  1146.  
  1147. PostaviAtribute(id)
  1148.  
  1149. return PLUGIN_CONTINUE;
  1150. }
  1151.  
  1152. public PostaviAtribute(id)
  1153. {
  1154. smanjene_povrede_igraca[id] = (0.7*(1.0-floatpower(1.1, -0.112311341*float(snaga_igraca[id]))));
  1155. maximalna_energija_igraca[id] = energija_klasa[klasa_igraca[id]]+energija_igraca[id]*2;
  1156. brzina_igraca[id] = STANDARDNA_brzina*brzina_klasa[klasa_igraca[id]]+floatround(kondicija_igraca[id]*1.3);
  1157.  
  1158. if(informacije_predmet_igraca[id][0] == 18 && klasa_igraca[id] != Assassin)
  1159. {
  1160. maximalna_energija_igraca[id] += 100;
  1161. brzina_igraca[id] -= 0.4;
  1162. }
  1163.  
  1164. if(informacije_predmet_igraca[id][0] == 25 && klasa_igraca[id] != Assassin)
  1165. {
  1166. maximalna_energija_igraca[id] += 50;
  1167. brzina_igraca[id] -= 0.3;
  1168. }
  1169. if(informacije_predmet_igraca[id][0] == 30)
  1170. {
  1171. brzina_igraca[id] += 1.2;
  1172. }
  1173. set_user_armor(id, oklop_klase[klasa_igraca[id]]);
  1174.  
  1175. if(informacije_predmet_igraca[id][0] == 17)
  1176. set_user_armor(id, 500);
  1177.  
  1178. set_user_health(id, maximalna_energija_igraca[id]);
  1179. new freelvl = get_pcvar_num( cvr_startlvl );
  1180.  
  1181. if(klasa_igraca[id] == Partizan)
  1182. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70);
  1183. else
  1184. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  1185. }
  1186.  
  1187. public PocetakRunde()
  1188. {
  1189. freezetime = false;
  1190. for(new id=0;id<=32;id++)
  1191. {
  1192. if(!is_user_alive(id))
  1193. continue;
  1194.  
  1195. set_task(0.1, "PostaviBrzinu", id+ZADATAK_POSTAVI_brzinu);
  1196.  
  1197. switch(get_user_team(id))
  1198. {
  1199. case 1: client_cmd(id, "spk QTM_CodMod/start2");
  1200. case 2: client_cmd(id, "spk QTM_CodMod/start");
  1201. }
  1202. }
  1203. }
  1204.  
  1205. public novaRunda()
  1206. {
  1207. freezetime = true;
  1208. new iEnt = find_ent_by_class(-1, "Mine");
  1209. while(iEnt > 0)
  1210. {
  1211. remove_entity(iEnt);
  1212. iEnt = find_ent_by_class(iEnt, "Mine");
  1213. }
  1214. }
  1215.  
  1216. public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
  1217. {
  1218. if(!is_user_alive(this) || !is_user_connected(this) || informacije_predmet_igraca[this][0] == 24 || !is_user_connected(idattacker) || get_user_team(this) == get_user_team(idattacker) || !klasa_igraca[idattacker])
  1219. return HAM_IGNORED;
  1220.  
  1221. new health = get_user_health(this);
  1222. new weapon = get_user_weapon(idattacker);
  1223.  
  1224. if(health < 2)
  1225. return HAM_IGNORED;
  1226.  
  1227. if(informacije_predmet_igraca[this][0] == 27 && informacije_predmet_igraca[this][1]>0)
  1228. {
  1229. informacije_predmet_igraca[this][1]--;
  1230. return HAM_SUPERCEDE;
  1231. }
  1232.  
  1233. if(snaga_igraca[this]>0)
  1234. damage -= smanjene_povrede_igraca[this]*damage;
  1235.  
  1236. if(informacije_predmet_igraca[this][0] == 2 || informacije_predmet_igraca[this][0] == 3)
  1237. damage-=(float(informacije_predmet_igraca[this][1])<damage)? float(informacije_predmet_igraca[this][1]): damage;
  1238.  
  1239. if(informacije_predmet_igraca[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
  1240. damage*=2.0;
  1241.  
  1242. if(informacije_predmet_igraca[idattacker][0] == 10)
  1243. damage+=informacije_predmet_igraca[idattacker][1];
  1244.  
  1245. if(informacije_predmet_igraca[this][0] == 12)
  1246. damage-=(5.0<damage)? 5.0: damage;
  1247.  
  1248. if(weapon == CSW_AWP && informacije_predmet_igraca[idattacker][0] == 13)
  1249. damage=float(health);
  1250.  
  1251. if(informacije_predmet_igraca[idattacker][0] == 21)
  1252. damage+=10;
  1253.  
  1254. if(informacije_predmet_igraca[idattacker][0] == 22)
  1255. damage+=20;
  1256.  
  1257. if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
  1258. {
  1259. if((informacije_predmet_igraca[idattacker][0] == 9 && random_num(1, informacije_predmet_igraca[idattacker][1]) == 1) || informacije_predmet_igraca[idattacker][0] == 10)
  1260. damage = float(health);
  1261. }
  1262.  
  1263. if(weapon == CSW_KNIFE)
  1264. {
  1265. if(klasa_igraca[this] == SWAT)
  1266. return HAM_SUPERCEDE;
  1267. if(informacije_predmet_igraca[this][0] == 4)
  1268. damage=damage*1.4+inteligencija_igraca[idattacker];
  1269. if(informacije_predmet_igraca[idattacker][0] == 8 || (klasa_igraca[idattacker] == Snajperista && random_num(1,2) == 1) || klasa_igraca[idattacker] == Marinac || klasa_igraca[idattacker] == Assassin && !(get_user_button(idattacker) & IN_ATTACK))
  1270. damage = float(health);
  1271. }
  1272.  
  1273. if(klasa_igraca[idattacker] == Camper)
  1274. {
  1275. if(weapon == CSW_AWP)
  1276. damage = float(health);
  1277. }
  1278. if(klasa_igraca[idattacker] == ProSwat)
  1279. {
  1280. if(weapon == CSW_M4A1 && !random(3))
  1281. damage = float(health);
  1282. }
  1283. if(klasa_igraca[idattacker] == UniverzalniSoldier)
  1284. {
  1285. if(weapon == CSW_AK47 && !random(3))
  1286. damage = float(health);
  1287. }
  1288. if(klasa_igraca[idattacker] == ProAssassin)
  1289. {
  1290. if(weapon == CSW_M249 && !random(5))
  1291. damage = float(health);
  1292. }
  1293.  
  1294. if(informacije_predmet_igraca[this][0] == 26 && random_num(1, informacije_predmet_igraca[this][1]) == 1)
  1295. {
  1296. SetHamParamEntity(3, this);
  1297. SetHamParamEntity(1, idattacker);
  1298. }
  1299.  
  1300.  
  1301. SetHamParamFloat(4, damage);
  1302. return HAM_IGNORED;
  1303. }
  1304.  
  1305. public Damage(id)
  1306. {
  1307. new attacker = get_user_attacker(id);
  1308. new damage = read_data(2);
  1309. if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !klasa_igraca[attacker])
  1310. return PLUGIN_CONTINUE;
  1311.  
  1312. if(informacije_predmet_igraca[attacker][0] == 12 && random_num(1, informacije_predmet_igraca[id][1]) == 1)
  1313. Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
  1314.  
  1315. if(get_user_team(id) != get_user_team(attacker))
  1316. {
  1317. while(damage>20)
  1318. {
  1319. damage-=20;
  1320. iskustvo_igraca[attacker]++;
  1321. }
  1322. }
  1323. ProveriNivo(attacker);
  1324. return PLUGIN_CONTINUE;
  1325. }
  1326.  
  1327. public Death()
  1328. {
  1329. new id = read_data(2);
  1330. new attacker = read_data(1);
  1331.  
  1332. if(!is_user_alive(attacker) || !is_user_connected(attacker))
  1333. return PLUGIN_CONTINUE;
  1334.  
  1335. new weapon = get_user_weapon(attacker);
  1336. new energija = get_user_health(attacker);
  1337.  
  1338. if(get_user_team(id) != get_user_team(attacker) && klasa_igraca[attacker])
  1339. {
  1340. new iskustvo_za_ubistvo = get_pcvar_num(cvar_xp_za_ubistvo);
  1341. new novo_iskustvo = get_pcvar_num(cvar_xp_za_ubistvo);
  1342.  
  1343. if(klasa_igraca[id] == Rambo && klasa_igraca[attacker] != Rambo)
  1344. novo_iskustvo += iskustvo_za_ubistvo*2;
  1345.  
  1346. if(level_igraca[id] > level_igraca[attacker])
  1347. novo_iskustvo += (level_igraca[id]-level_igraca[attacker])*(iskustvo_za_ubistvo/10);
  1348.  
  1349. if(klasa_igraca[attacker] == Rambo || informacije_predmet_igraca[attacker][0] == 15 && maxClip[weapon] != -1)
  1350. {
  1351.  
  1352. new nova_energija = (energija+20<maximalna_energija_igraca[attacker])? energija+20: maximalna_energija_igraca[attacker];
  1353. set_user_clip(attacker, maxClip[weapon]);
  1354. set_user_health(attacker, nova_energija);
  1355. }
  1356. #if defined BOTY
  1357. if(is_user_bot2(attacker) && random(9) == 0)
  1358. IzbaciPredmet(id);
  1359. #endif
  1360. if(!informacije_predmet_igraca[attacker][0])
  1361. DajPredmet(attacker, random_num(1, sizeof naziv_predmeta-1));
  1362.  
  1363. if(informacije_predmet_igraca[attacker][0] == 14)
  1364. {
  1365. new nova_energija = (energija+50<maximalna_energija_igraca[attacker])? energija+50: maximalna_energija_igraca[attacker];
  1366. set_user_health(attacker, nova_energija);
  1367. }
  1368. iskustvo_igraca[attacker] += novo_iskustvo;
  1369. }
  1370.  
  1371. ProveriNivo(attacker);
  1372.  
  1373. if(informacije_predmet_igraca[id][0] == 7 && random_num(1, informacije_predmet_igraca[id][1]) == 1)
  1374. set_task(0.1, "Provera", id+ZADATAK_PROVERA);
  1375.  
  1376. return PLUGIN_CONTINUE;
  1377. }
  1378.  
  1379. public client_putinserver(id)
  1380. {
  1381. DeleteSkills(id);
  1382.  
  1383. ObrisiZadatke(id);
  1384. Obrisipredmet(id);
  1385.  
  1386. set_task(3.0, "PokaziInformacije", id+ZADATAK_POKAZI_INFORMACIJE);
  1387. set_task(10.0, "PokaziReklame", id+ZADATAK_POKAZI_REKLAME);
  1388. }
  1389.  
  1390. public client_disconnect(id)
  1391. {
  1392. SacuvajPodatke(id);
  1393. DeleteSkills(id);
  1394. ObrisiZadatke(id);
  1395. Obrisipredmet(id);
  1396. }
  1397. public DeleteSkills(id)
  1398. {
  1399. klasa_igraca[id] = 0;
  1400. level_igraca[id] = 0;
  1401. iskustvo_igraca[id] = 0;
  1402. poeni_igraca[id] = 0;
  1403. energija_igraca[id] = 0;
  1404. inteligencija_igraca[id] = 0;
  1405. snaga_igraca[id] = 0;
  1406. kondicija_igraca[id] = 0;
  1407. maximalna_energija_igraca[id] = 0;
  1408. brzina_igraca[id] = 0.0;
  1409. }
  1410.  
  1411. public ObrisiZadatke(id)
  1412. {
  1413. remove_task(id+ZADATAK_POKAZI_INFORMACIJE);
  1414. remove_task(id+ZADATAK_POKAZI_REKLAME);
  1415. remove_task(id+ZADATAK_POSTAVI_brzinu);
  1416. remove_task(id+ZADATAK_PROVERA);
  1417. }
  1418.  
  1419. public OpisKlase(id)
  1420. {
  1421. new menu = menu_create("Select Classes:", "OpisKlase_Handle");
  1422. for(new i=1; i <sizeof naziv_klase; i++)
  1423. menu_additem(menu, naziv_klase[i]);
  1424. menu_setprop(menu, MPROP_EXITNAME, "Exit");
  1425. menu_setprop(menu, MPROP_BACKNAME, "Back");
  1426. menu_setprop(menu, MPROP_NEXTNAME, "Next");
  1427. menu_display(id, menu);
  1428.  
  1429. client_cmd(id, "spk QTM_CodMod/select");
  1430. }
  1431.  
  1432. public OpisKlase_Handle(id, menu, item)
  1433. {
  1434. client_cmd(id, "spk QTM_CodMod/select");
  1435.  
  1436. if(item++ == MENU_EXIT)
  1437. {
  1438. menu_destroy(menu);
  1439. return PLUGIN_CONTINUE;
  1440. }
  1441. new opis[512];
  1442. format(opis, charsmax(opis), "\yKlasa: \w%s^n%s", naziv_klase[item], opis_klase[item]);
  1443. show_menu(id, 1023, opis);
  1444.  
  1445. return PLUGIN_CONTINUE;
  1446. }
  1447. public IzaberiKlasu(id)
  1448. {
  1449. new menu = menu_create("\rSelect Classes:", "IzaberiFrakciju_Handle");
  1450. for(new i = 1;i<sizeof(frakcije);i++)
  1451. {
  1452. menu_additem(menu, frakcije[i]);
  1453. }
  1454. menu_display(id, menu);
  1455. menu_setprop(menu, MPROP_EXITNAME, "Exit");
  1456. }
  1457.  
  1458. public IzaberiFrakciju_Handle(id, menu2, item)
  1459. {
  1460. if(item == MENU_EXIT)
  1461. {
  1462. menu_destroy(menu2);
  1463. return PLUGIN_CONTINUE;
  1464. }
  1465.  
  1466. item++;
  1467. frakcija_igraca[id] = item;
  1468. new menu = menu_create("\rSelect Classes:", "IzaberiKlasu_Handle");
  1469. new klasa[50];
  1470. for(new i=1; i<sizeof naziv_klase; i++)
  1471. {
  1472. if(pripada[i] == item)
  1473. {
  1474. UcitajPodatke(id, i);
  1475. format(klasa, 49, "\w%s \yLevel: %i", naziv_klase[i], level_igraca[id]);
  1476. menu_additem(menu, klasa);
  1477. }
  1478. }
  1479.  
  1480. UcitajPodatke(id, klasa_igraca[id]);
  1481.  
  1482. menu_setprop(menu, MPROP_EXITNAME, "Exit");
  1483. menu_setprop(menu, MPROP_BACKNAME, "Back");
  1484. menu_setprop(menu, MPROP_NEXTNAME, "Next");
  1485. menu_display(id, menu);
  1486.  
  1487. client_cmd(id, "spk QTM_CodMod/select");
  1488.  
  1489. return PLUGIN_CONTINUE;
  1490. }
  1491. public IzaberiKlasu_Handle(id, menu, item)
  1492. {
  1493.  
  1494. client_cmd(id, "spk QTM_CodMod/select");
  1495.  
  1496. if(item == MENU_EXIT)
  1497. {
  1498. menu_destroy(menu);
  1499. return PLUGIN_CONTINUE;
  1500. }
  1501.  
  1502. item++;
  1503.  
  1504. new ile = 0;
  1505. for(new i=1; i<sizeof naziv_klase; i++)
  1506. {
  1507. if(pripada[i] == frakcija_igraca[id])
  1508. {
  1509. ile++;
  1510. }
  1511. if(ile == item)
  1512. {
  1513. item = i;
  1514. break;
  1515. }
  1516. }
  1517.  
  1518. if(item == klasa_igraca[id])
  1519. return PLUGIN_CONTINUE;
  1520.  
  1521. if(item == ProSwat && !(get_user_flags(id) & ADMIN_LEVEL_A) || item == ProAssassin && !(get_user_flags(id) & ADMIN_LEVEL_E) || item == Komandos && !(get_user_flags(id) & ADMIN_LEVEL_E) || item == Camper && !(get_user_flags(id) & ADMIN_LEVEL_A) || item == Zagor && !(get_user_flags(id) & ADMIN_LEVEL_A) || item == UniverzalniSoldier && !(get_user_flags(id) & ADMIN_LEVEL_A) || item == Assassin && !(get_user_flags(id) & ADMIN_LEVEL_B)
  1522. ||item == Hitman && !(get_user_flags(id) & ADMIN_LEVEL_C) || item == Major && !(get_user_flags(id) & ADMIN_LEVEL_D))
  1523. {
  1524. ColorChat(id, RED, "^4[COD:MW2] ^1You don't have permission to this class.");
  1525. IzaberiKlasu(id);
  1526. return PLUGIN_CONTINUE;
  1527. }
  1528.  
  1529. if(klasa_igraca[id])
  1530. {
  1531. nova_klasa_igraca[id] = item;
  1532. ColorChat(id, RED, "^4[COD:MW2] ^1The class will be changed in next round.");
  1533. }
  1534. else
  1535. {
  1536. klasa_igraca[id] = item;
  1537. UcitajPodatke(id, klasa_igraca[id]);
  1538. Pocetak(id);
  1539. }
  1540. return PLUGIN_CONTINUE;
  1541. }
  1542. public DodelaPoena(id)
  1543. {
  1544. new inteligencija[65], inteligencija10[65];
  1545. new energija[60], energija10[60];
  1546. new snaga[60], snaga10[60];
  1547. new kondicija[60], kondicija10[60];
  1548. new naslov[25];
  1549. format(inteligencija, 64, "Intelligence: \r%i \y(increases attack)", inteligencija_igraca[id]);
  1550. format(energija, 59, "Energy: \r%i \y(increase energy)", energija_igraca[id]);
  1551. format(snaga, 59, "Power: \r%i \y(reduces injury)", snaga_igraca[id]);
  1552. format(kondicija, 59, "Shape: \r%i \y(Increasing the pace of walking)", kondicija_igraca[id]);
  1553. format(inteligencija10, 64, "Add 10 points to intelligence");
  1554. format(energija10, 59, "Add 10 points to energy");
  1555. format(snaga10, 59, "Add 10 points to power");
  1556. format(kondicija10, 59, "Add 10 points to the condition");
  1557. format(naslov, 24, "Assign points(%i):", poeni_igraca[id]);
  1558. new menu = menu_create(naslov, "DodelaPoena_Handler");
  1559. menu_additem(menu, inteligencija);
  1560. menu_additem(menu, energija);
  1561. menu_additem(menu, snaga);
  1562. menu_additem(menu, kondicija);
  1563. menu_additem(menu, inteligencija10);
  1564. menu_additem(menu, energija10);
  1565. menu_additem(menu, snaga10);
  1566. menu_additem(menu, kondicija10);
  1567. menu_display(id, menu);
  1568. #if defined BOTY
  1569. if(is_user_bot2(id))
  1570. DodelaPoena_Handler(id, menu, random(4));
  1571. #endif
  1572. }
  1573.  
  1574. public DodelaPoena_Handler(id, menu, item)
  1575. {
  1576. client_cmd(id, "spk QTM_CodMod/select");
  1577.  
  1578. if(item == MENU_EXIT)
  1579. {
  1580. menu_destroy(menu);
  1581. return PLUGIN_CONTINUE;
  1582. }
  1583.  
  1584.  
  1585. if(poeni_igraca[id] < 1)
  1586. return PLUGIN_CONTINUE;
  1587.  
  1588. switch(item)
  1589. {
  1590. case 0:
  1591. {
  1592. if(inteligencija_igraca[id]<4001)
  1593. {
  1594. inteligencija_igraca[id]++;
  1595. poeni_igraca[id]--;
  1596. }
  1597. else
  1598. ColorChat(id, RED, "^4[COD:MW2] ^1You have reached the maximum level of intelligence");
  1599.  
  1600. }
  1601. case 1:
  1602. {
  1603. if(energija_igraca[id]<4001)
  1604. {
  1605. energija_igraca[id]++;
  1606. poeni_igraca[id]--;
  1607. }
  1608. else
  1609. ColorChat(id, RED, "^4[COD:MW2] ^1You have reached the maximum level of energy");
  1610. }
  1611. case 2:
  1612. {
  1613. if(snaga_igraca[id]<4001)
  1614. {
  1615. snaga_igraca[id]++;
  1616. poeni_igraca[id]--;
  1617. }
  1618. else
  1619. ColorChat(id, RED, "^4[COD:MW2] ^1You have reached the maximum power level");
  1620.  
  1621. }
  1622. case 3:
  1623. {
  1624. if(kondicija_igraca[id]<4001)
  1625. {
  1626. kondicija_igraca[id]++;
  1627. poeni_igraca[id]--;
  1628. }
  1629. else
  1630. ColorChat(id, RED, "^4[COD:MW2] ^1You have reached the maximum level of fitness");
  1631. }
  1632. case 4:
  1633. {
  1634. if(poeni_igraca[id] < 10)
  1635. {
  1636. ColorChat(id, RED, "^4[COD:MW2] ^1You do not have enough points");
  1637. }
  1638. else if(inteligencija_igraca[id]<4001)
  1639. {
  1640. inteligencija_igraca[id]+=10;
  1641. poeni_igraca[id]-=10
  1642. }
  1643. else
  1644. ColorChat(id, RED, "^4[COD:MW2] ^1You have reached the maximum level of intelligence");
  1645. }
  1646. case 5:
  1647. {
  1648. if(poeni_igraca[id] < 10)
  1649. {
  1650. ColorChat(id, RED, "^4[COD:MW2] ^1You do not have enough points");
  1651. }
  1652. else if(energija_igraca[id]<4001)
  1653. {
  1654. energija_igraca[id]+=10;
  1655. poeni_igraca[id]-=10;
  1656. }
  1657. else
  1658. ColorChat(id, RED, "^4[COD:MW2] ^1You have reached the maximum level of energy");
  1659. }
  1660. case 6:
  1661. {
  1662. if(poeni_igraca[id] < 10)
  1663. {
  1664. ColorChat(id, RED, "^4[COD:MW2] ^1You do not have enough points");
  1665. }
  1666. else if(snaga_igraca[id]<4001)
  1667. {
  1668. snaga_igraca[id]+=10;
  1669. poeni_igraca[id]-=10;
  1670. }
  1671. else
  1672. ColorChat(id, RED, "^4[COD:MW2] ^1You have reached the maximum power level");
  1673. }
  1674. case 7:
  1675. {
  1676. if(poeni_igraca[id] < 10)
  1677. {
  1678. ColorChat(id, RED, "^4[COD:MW2] ^1You do not have enough points");
  1679. }
  1680. else if(kondicija_igraca[id]<4001)
  1681. {
  1682. kondicija_igraca[id]+=10;
  1683. poeni_igraca[id]-=10;
  1684. }
  1685. else
  1686. ColorChat(id, RED, "^4[COD:MW2] ^1You have reached the maximum level of fitness");
  1687. }
  1688.  
  1689. }
  1690.  
  1691. if(poeni_igraca[id]>0)
  1692. DodelaPoena(id);
  1693.  
  1694. return PLUGIN_CONTINUE;
  1695. }
  1696.  
  1697. public KomandaResetujPoene(id)
  1698. {
  1699. ColorChat(id, RED, "^4[COD:MW2] ^1Points are reset");
  1700. client_cmd(id, "spk QTM_CodMod/select");
  1701.  
  1702. ResetujPoene(id)
  1703. }
  1704.  
  1705. public ResetujPoene(id)
  1706. {
  1707. poeni_igraca[id] = level_igraca[id]*2-2;
  1708. inteligencija_igraca[id] = 0;
  1709. energija_igraca[id] = 0;
  1710. kondicija_igraca[id] = 0;
  1711. snaga_igraca[id] = 0;
  1712.  
  1713. if(poeni_igraca[id])
  1714. DodelaPoena(id);
  1715. }
  1716.  
  1717. public KreirajMedKit(id)
  1718. {
  1719. if (!broj_medkit_igraca[id])
  1720. {
  1721. client_print(id, print_center, "You only have 2 packages for first aid in one round!");
  1722. return PLUGIN_CONTINUE;
  1723. }
  1724.  
  1725. if(inteligencija_igraca[id] < 1)
  1726. client_print(id, print_center, "To use the package for first aid, you need to increase intelligence");
  1727.  
  1728. broj_medkit_igraca[id]--;
  1729.  
  1730. new Float:origin[3];
  1731. entity_get_vector(id, EV_VEC_origin, origin);
  1732.  
  1733. new ent = create_entity("info_target");
  1734. entity_set_string(ent, EV_SZ_classname, "MedKit");
  1735. entity_set_edict(ent, EV_ENT_owner, id);
  1736. entity_set_int(ent, EV_INT_solid, SOLID_NOT);
  1737. entity_set_vector(ent, EV_VEC_origin, origin);
  1738. entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
  1739.  
  1740.  
  1741. entity_set_model(ent, "models/w_medkit.mdl");
  1742. set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
  1743. drop_to_floor(ent);
  1744.  
  1745. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
  1746.  
  1747. return PLUGIN_CONTINUE;
  1748. }
  1749.  
  1750. public MedKitThink(ent)
  1751. {
  1752. new id = entity_get_edict(ent, EV_ENT_owner);
  1753. new totem_dist = 300;
  1754. new totem_heal = 5+floatround(inteligencija_igraca[id]*0.5);
  1755. if (entity_get_edict(ent, EV_ENT_euser2) == 1)
  1756. {
  1757. new Float:forigin[3], origin[3];
  1758. entity_get_vector(ent, EV_VEC_origin, forigin);
  1759. FVecIVec(forigin,origin);
  1760.  
  1761. new entlist[33];
  1762. new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);
  1763.  
  1764. for (new i=0; i < numfound; i++)
  1765. {
  1766. new pid = entlist[i];
  1767.  
  1768. if (get_user_team(pid) != get_user_team(id))
  1769. continue;
  1770.  
  1771. new energija = get_user_health(pid);
  1772. new nova_energija = (energija+totem_heal<maximalna_energija_igraca[pid])?energija+totem_heal:maximalna_energija_igraca[pid];
  1773. if (is_user_alive(pid)) set_user_health(pid, nova_energija);
  1774. }
  1775.  
  1776. entity_set_edict(ent, EV_ENT_euser2, 0);
  1777. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
  1778.  
  1779. return PLUGIN_CONTINUE;
  1780. }
  1781.  
  1782. if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
  1783. {
  1784. remove_entity(ent);
  1785. return PLUGIN_CONTINUE;
  1786. }
  1787.  
  1788. if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
  1789. set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) ;
  1790.  
  1791. new Float:forigin[3], origin[3];
  1792. entity_get_vector(ent, EV_VEC_origin, forigin);
  1793. FVecIVec(forigin,origin);
  1794.  
  1795. //Find people near and give them health
  1796. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
  1797. write_byte( TE_BEAMCYLINDER );
  1798. write_coord( origin[0] );
  1799. write_coord( origin[1] );
  1800. write_coord( origin[2] );
  1801. write_coord( origin[0] );
  1802. write_coord( origin[1] + totem_dist );
  1803. write_coord( origin[2] + totem_dist );
  1804. write_short( sprite_white );
  1805. write_byte( 0 ); // startframe
  1806. write_byte( 0 ); // framerate
  1807. write_byte( 10 ); // life
  1808. write_byte( 10 ); // width
  1809. write_byte( 255 ); // noise
  1810. write_byte( 255 ); // r, g, b
  1811. write_byte( 100 );// r, g, b
  1812. write_byte( 100 ); // r, g, b
  1813. write_byte( 128 ); // brightness
  1814. write_byte( 5 ); // speed
  1815. message_end();
  1816.  
  1817. entity_set_edict(ent, EV_ENT_euser2 ,1);
  1818. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
  1819.  
  1820.  
  1821. return PLUGIN_CONTINUE;
  1822. }
  1823.  
  1824. public KreirajRakete(id)
  1825. {
  1826. if (!broj_raketa_igraca[id])
  1827. {
  1828. client_print(id, print_center, "You have already used up all missiles!");
  1829. return PLUGIN_CONTINUE;
  1830. }
  1831.  
  1832. if(prethodna_raketa_igraca[id] + 2.0 > get_gametime())
  1833. {
  1834. client_print(id, print_center, "Manly to use a rocket for 2 seconds!");
  1835. return PLUGIN_CONTINUE;
  1836. }
  1837.  
  1838. if (is_user_alive(id))
  1839. {
  1840. if(inteligencija_igraca[id] < 1)
  1841. client_print(id, print_center, "To use the missiles, you have to increase intelligence!");
  1842.  
  1843. prethodna_raketa_igraca[id] = get_gametime();
  1844. broj_raketa_igraca[id]--;
  1845.  
  1846. new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
  1847.  
  1848. entity_get_vector(id, EV_VEC_v_angle, vAngle);
  1849. entity_get_vector(id, EV_VEC_origin , Origin);
  1850.  
  1851. new Ent = create_entity("info_target");
  1852.  
  1853. entity_set_string(Ent, EV_SZ_classname, "Rocket");
  1854. entity_set_model(Ent, "models/rpgrocket.mdl");
  1855.  
  1856. vAngle[0] *= -1.0;
  1857.  
  1858. entity_set_origin(Ent, Origin);
  1859. entity_set_vector(Ent, EV_VEC_angles, vAngle);
  1860.  
  1861. entity_set_int(Ent, EV_INT_effects, 2);
  1862. entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
  1863. entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
  1864. entity_set_edict(Ent, EV_ENT_owner, id);
  1865.  
  1866. VelocityByAim(id, 1000 , Velocity);
  1867. entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
  1868.  
  1869. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  1870. write_byte(22)
  1871. write_short(Ent)
  1872. write_short(sprite_beam)
  1873. write_byte(45)
  1874. write_byte(4)
  1875. write_byte(255)
  1876. write_byte(105)
  1877. write_byte(180)
  1878. write_byte(25)
  1879. message_end()
  1880. }
  1881. return PLUGIN_CONTINUE;
  1882. }
  1883.  
  1884. public KreirajDinamit(id)
  1885. {
  1886. if(!broj_dinamita_igraca[id])
  1887. {
  1888. client_print(id, print_center, "You have already used all the dynamite!");
  1889. return PLUGIN_CONTINUE;
  1890. }
  1891.  
  1892. if(inteligencija_igraca[id] < 1)
  1893. client_print(id, print_center, "To use the dynamite, you need to increase intelligence!");
  1894.  
  1895. broj_dinamita_igraca[id]--;
  1896.  
  1897. new Float:fOrigin[3];
  1898. entity_get_vector(id, EV_VEC_origin, fOrigin);
  1899.  
  1900. new iOrigin[3];
  1901. for(new i=0;i<3;i++)
  1902. iOrigin[i] = floatround(fOrigin[i]);
  1903.  
  1904. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1905. write_byte(TE_EXPLOSION);
  1906. write_coord(iOrigin[0]);
  1907. write_coord(iOrigin[1]);
  1908. write_coord(iOrigin[2]);
  1909. write_short(sprite_blast);
  1910. write_byte(32);
  1911. write_byte(20);
  1912. write_byte(0);
  1913. message_end();
  1914.  
  1915. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  1916. write_byte( TE_BEAMCYLINDER );
  1917. write_coord( iOrigin[0] );
  1918. write_coord( iOrigin[1] );
  1919. write_coord( iOrigin[2] );
  1920. write_coord( iOrigin[0] );
  1921. write_coord( iOrigin[1] + 300 );
  1922. write_coord( iOrigin[2] + 300 );
  1923. write_short( sprite_white );
  1924. write_byte( 0 ); // startframe
  1925. write_byte( 0 ); // framerate
  1926. write_byte( 10 ); // life
  1927. write_byte( 10 ); // width
  1928. write_byte( 255 ); // noise
  1929. write_byte( 255 ); // r, g, b
  1930. write_byte( 100 );// r, g, b
  1931. write_byte( 100 ); // r, g, b
  1932. write_byte( 128 ); // brightness
  1933. write_byte( 8 ); // speed
  1934. message_end();
  1935.  
  1936. new entlist[33];
  1937. new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
  1938.  
  1939. for (new i=0; i < numfound; i++)
  1940. {
  1941. new pid = entlist[i];
  1942.  
  1943. if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24)
  1944. continue;
  1945. ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencija_igraca[id]) , 1);
  1946. }
  1947. return PLUGIN_CONTINUE;
  1948. }
  1949.  
  1950. public PostaviMine(id)
  1951. {
  1952. if (!broj_min_igraca[id])
  1953. {
  1954. client_print(id, print_center, "You have already used up all mine!");
  1955. return PLUGIN_CONTINUE;
  1956. }
  1957.  
  1958. if(inteligencija_igraca[id] < 1)
  1959. client_print(id, print_center, "To use mine, you have to increase intelligence!");
  1960.  
  1961. broj_min_igraca[id]--;
  1962.  
  1963. new Float:origin[3];
  1964. entity_get_vector(id, EV_VEC_origin, origin);
  1965.  
  1966. new ent = create_entity("info_target");
  1967. entity_set_string(ent ,EV_SZ_classname, "Mine");
  1968. entity_set_edict(ent ,EV_ENT_owner, id);
  1969. entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
  1970. entity_set_origin(ent, origin);
  1971. entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
  1972.  
  1973. entity_set_model(ent, "models/mine.mdl");
  1974. entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
  1975.  
  1976. drop_to_floor(ent);
  1977.  
  1978. entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;
  1979.  
  1980. set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50) ;
  1981.  
  1982.  
  1983. return PLUGIN_CONTINUE;
  1984. }
  1985.  
  1986. public DodirMine(ent, id)
  1987. {
  1988. new attacker = entity_get_edict(ent, EV_ENT_owner);
  1989. if (get_user_team(attacker) != get_user_team(id))
  1990. {
  1991. new Float:fOrigin[3];
  1992. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  1993.  
  1994. new iOrigin[3];
  1995. for(new i=0;i<3;i++)
  1996. iOrigin[i] = floatround(fOrigin[i]);
  1997.  
  1998. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1999. write_byte(TE_EXPLOSION);
  2000. write_coord(iOrigin[0]);
  2001. write_coord(iOrigin[1]);
  2002. write_coord(iOrigin[2]);
  2003. write_short(sprite_blast);
  2004. write_byte(32); // scale
  2005. write_byte(20); // framerate
  2006. write_byte(0);// flags
  2007. message_end();
  2008. new entlist[33];
  2009. new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
  2010.  
  2011. for (new i=0; i < numfound; i++)
  2012. {
  2013. new pid = entlist[i];
  2014.  
  2015. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24 || klasa_igraca[id] == Mitraljezac)
  2016. continue;
  2017.  
  2018. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencija_igraca[attacker]) , 1);
  2019. }
  2020. remove_entity(ent);
  2021. }
  2022. }
  2023.  
  2024. public DodirRakete(ent)
  2025. {
  2026. if ( !is_valid_ent(ent))
  2027. return;
  2028.  
  2029. new attacker = entity_get_edict(ent, EV_ENT_owner);
  2030.  
  2031. new Float:fOrigin[3];
  2032. entity_get_vector(ent, EV_VEC_origin, fOrigin);
  2033.  
  2034. new iOrigin[3];
  2035. for(new i=0;i<3;i++)
  2036. iOrigin[i] = floatround(fOrigin[i]);
  2037.  
  2038. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  2039. write_byte(TE_EXPLOSION);
  2040. write_coord(iOrigin[0]);
  2041. write_coord(iOrigin[1]);
  2042. write_coord(iOrigin[2]);
  2043. write_short(sprite_blast);
  2044. write_byte(32); // scale
  2045. write_byte(20); // framerate
  2046. write_byte(0);// flags
  2047. message_end();
  2048.  
  2049. new entlist[33];
  2050. new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
  2051.  
  2052. for (new i=0; i < numfound; i++)
  2053. {
  2054. new pid = entlist[i];
  2055.  
  2056. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24)
  2057. continue;
  2058. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencija_igraca[attacker]) , 1);
  2059. }
  2060. remove_entity(ent);
  2061. }
  2062.  
  2063. public CurWeapon(id)
  2064. {
  2065. if(freezetime || !klasa_igraca[id])
  2066. return PLUGIN_CONTINUE;
  2067.  
  2068. new weapon = get_user_weapon(id);
  2069.  
  2070. if(klasa_igraca[id] == Assassin && weapon == CSW_KNIFE)
  2071. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 10);
  2072. else if(klasa_igraca[id] == Assassin && weapon != CSW_KNIFE)
  2073. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  2074.  
  2075. new weapons[32];
  2076. new weaponsnum;
  2077. get_user_weapons(id, weapons, weaponsnum);
  2078. for(new i=0; i<weaponsnum; i++)
  2079. if(is_user_alive(id))
  2080. if(maxAmmo[weapons[i]] > 0)
  2081. cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  2082.  
  2083. PostaviBrzinu(id);
  2084. return PLUGIN_CONTINUE;
  2085. }
  2086.  
  2087. public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
  2088. {
  2089. if(!is_user_alive(id))
  2090. return FMRES_IGNORED;
  2091.  
  2092. if(equal(szSound, "common/wpn_denyselect.wav"))
  2093. {
  2094. KoristiPredmet(id);
  2095. return FMRES_SUPERCEDE;
  2096. }
  2097.  
  2098. return FMRES_IGNORED;
  2099. }
  2100.  
  2101. public KoristiPredmet(id)
  2102. {
  2103. if(informacije_predmet_igraca[id][0] == 19 && informacije_predmet_igraca[id][1]>0)
  2104. {
  2105. set_user_health(id, maximalna_energija_igraca[id]);
  2106. informacije_predmet_igraca[id][1]--;
  2107. }
  2108.  
  2109. if(broj_medkit_igraca[id]>0)
  2110. KreirajMedKit(id);
  2111. if(broj_raketa_igraca[id]>0)
  2112. KreirajRakete(id);
  2113. if(broj_min_igraca[id]>0)
  2114. PostaviMine(id);
  2115. if(broj_dinamita_igraca[id]>0)
  2116. KreirajDinamit(id);
  2117.  
  2118. return PLUGIN_HANDLED;
  2119. }
  2120.  
  2121. public SacuvajPodatke(id)
  2122. {
  2123. if(!klasa_igraca[id])
  2124. return PLUGIN_CONTINUE;
  2125.  
  2126. new vaultkey[128],vaultdata[256], ID_igraca[64];
  2127. format(vaultdata, charsmax(vaultdata),"#%i#%i#%i#%i#%i#%i", iskustvo_igraca[id], level_igraca[id], inteligencija_igraca[id], energija_igraca[id], snaga_igraca[id], kondicija_igraca[id]);
  2128.  
  2129. get_user_authid(id, ID_igraca, charsmax(ID_igraca))
  2130.  
  2131. format(vaultkey, charsmax(vaultkey),"%s-%i-cod", ID_igraca, klasa_igraca[id]);
  2132. nvault_set(g_vault,vaultkey,vaultdata);
  2133.  
  2134. return PLUGIN_CONTINUE;
  2135. }
  2136.  
  2137. public hook_say(id)
  2138. {
  2139. new chat[192]
  2140. read_args(chat, 191)
  2141. remove_quotes(chat)
  2142.  
  2143. new name[32]
  2144. get_user_name(id, name, 31)
  2145.  
  2146. if(equal(chat, ""))
  2147. return PLUGIN_HANDLED
  2148.  
  2149. new CsTeams:userteam = cs_get_user_team(id)
  2150.  
  2151. if (is_user_alive(id))
  2152. {
  2153. ColorChat(0, RED, " ^x04[%s - %i] ^3%s ^x01%s", naziv_klase[klasa_igraca[id]], level_igraca[id], name, chat);
  2154.  
  2155. }
  2156. else if (!is_user_alive(id) && userteam != CS_TEAM_SPECTATOR)
  2157. {
  2158. ColorChat(0, GREY, "[%s - %i] ^3%s ^x01%s", naziv_klase[klasa_igraca[id]], level_igraca[id], name, chat);
  2159. }
  2160. else
  2161. {
  2162. ColorChat(0, GREY, "[%s - %i] ^3%s ^x01%s", naziv_klase[klasa_igraca[id]], level_igraca[id], name, chat);
  2163. }
  2164. return PLUGIN_HANDLED
  2165. }
  2166.  
  2167. public UcitajPodatke(id, klasa)
  2168. {
  2169. new vaultkey[128],vaultdata[256], ID_igraca[64];
  2170.  
  2171. get_user_authid(id, ID_igraca, charsmax(ID_igraca))
  2172.  
  2173. format(vaultkey, charsmax(vaultkey),"%s-%i-cod", ID_igraca, klasa);
  2174. nvault_get(g_vault,vaultkey,vaultdata,255);
  2175.  
  2176. replace_all(vaultdata, 255, "#", " ");
  2177.  
  2178. new playerdata[6][32];
  2179.  
  2180. parse(vaultdata, playerdata[0], 31, playerdata[1], 31, playerdata[2], 31, playerdata[3], 31, playerdata[4], 31, playerdata[5], 31);
  2181.  
  2182. iskustvo_igraca[id] = str_to_num(playerdata[0]);
  2183. level_igraca[id] = str_to_num(playerdata[1])>0?str_to_num(playerdata[1]):1;
  2184. inteligencija_igraca[id] = str_to_num(playerdata[2]);
  2185. energija_igraca[id] = str_to_num(playerdata[3]);
  2186. snaga_igraca[id] = str_to_num(playerdata[4]);
  2187. kondicija_igraca[id] = str_to_num(playerdata[5]);
  2188. poeni_igraca[id] = (level_igraca[id]-1)*2-inteligencija_igraca[id]-energija_igraca[id]-snaga_igraca[id]-kondicija_igraca[id];
  2189.  
  2190. return PLUGIN_CONTINUE;
  2191. }
  2192.  
  2193. public IzbaciPredmet(id)
  2194. {
  2195. if(informacije_predmet_igraca[id][0])
  2196. {
  2197. ColorChat(id, RED, "^4[COD:MW2] ^1Bacio si ^3%s.", naziv_predmeta[informacije_predmet_igraca[id][0]]);
  2198. Obrisipredmet(id);
  2199. }
  2200. else
  2201. ColorChat(id, RED, "^4[COD:MW2] ^1Nemate nijedan predmet.", naziv_predmeta[informacije_predmet_igraca[id][0]]);
  2202. }
  2203.  
  2204. public Obrisipredmet(id)
  2205. {
  2206. informacije_predmet_igraca[id][0] = 0;
  2207. informacije_predmet_igraca[id][1] = 0;
  2208. if(is_user_alive(id))
  2209. {
  2210. set_user_footsteps(id, 0);
  2211. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  2212. PromeniModel(id, 1);
  2213. }
  2214. }
  2215.  
  2216. public DajPredmet(id, predmet)
  2217. {
  2218. Obrisipredmet(id);
  2219. informacije_predmet_igraca[id][0] = predmet;
  2220. ColorChat(id, RED, "^4[COD:MW2] ^1You got ^3%s.", naziv_predmeta[informacije_predmet_igraca[id][0]]);
  2221.  
  2222. switch(predmet)
  2223. {
  2224. case 1:
  2225. {
  2226. set_user_footsteps(id, 1);
  2227. }
  2228. case 2:
  2229. {
  2230. informacije_predmet_igraca[id][1] = random_num(3,6);
  2231. }
  2232. case 3:
  2233. {
  2234. informacije_predmet_igraca[id][1] = random_num(6, 11);
  2235. }
  2236. case 5:
  2237. {
  2238. informacije_predmet_igraca[id][1] = random_num(6, 9);
  2239. }
  2240. case 6:
  2241. {
  2242. if(klasa_igraca[id] == Partizan || klasa_igraca[id] == Assassin )
  2243. {
  2244. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  2245. }
  2246. else
  2247. {
  2248. informacije_predmet_igraca[id][1] = random_num(100, 150);
  2249. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, informacije_predmet_igraca[id][1]);
  2250. }
  2251. }
  2252. case 7:
  2253. {
  2254. informacije_predmet_igraca[id][1] = random_num(2, 4);
  2255. }
  2256. case 8:
  2257. {
  2258. if(klasa_igraca[id] == Marinac || klasa_igraca[id] == Assassin)
  2259. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  2260. }
  2261. case 9:
  2262. {
  2263. informacije_predmet_igraca[id][1] = random_num(1, 3);
  2264. PromeniModel(id, 0);
  2265. give_item(id, "weapon_hegrenade");
  2266. }
  2267. case 10:
  2268. {
  2269. informacije_predmet_igraca[id][1] = random_num(4, 8);
  2270. give_item(id, "weapon_hegrenade");
  2271. }
  2272. case 12:
  2273. {
  2274. informacije_predmet_igraca[id][1] = random_num(1, 4);
  2275. }
  2276. case 13:
  2277. {
  2278. give_item(id, "weapon_awp");
  2279. }
  2280. case 15:
  2281. {
  2282. if(klasa_igraca[id] == Rambo)
  2283. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  2284. }
  2285. case 19:
  2286. {
  2287. informacije_predmet_igraca[id][1] = 1;
  2288. }
  2289. case 26:
  2290. {
  2291. informacije_predmet_igraca[id][1] = random_num(3, 6);
  2292. }
  2293. case 27:
  2294. {
  2295. informacije_predmet_igraca[id][1] = 3;
  2296. }
  2297. }
  2298. }
  2299.  
  2300. public OpisPredmeta(id)
  2301. {
  2302. new opis_predmeta[128];
  2303. new slucajne_vrednosti[3];
  2304. num_to_str(informacije_predmet_igraca[id][1], slucajne_vrednosti, 2);
  2305. format(opis_predmeta, 127, opis_predmet[informacije_predmet_igraca[id][0]]);
  2306. replace_all(opis_predmeta, 127, "LW", slucajne_vrednosti);
  2307.  
  2308. ColorChat(id, RED, "^4Item: ^1%s.", naziv_predmeta[informacije_predmet_igraca[id][0]]);
  2309. ColorChat(id, RED, "^4Description: ^1%s.", opis_predmeta);
  2310. }
  2311.  
  2312. public Provera(id)
  2313. {
  2314. id-=ZADATAK_PROVERA;
  2315. ExecuteHamB(Ham_CS_RoundRespawn, id);
  2316. }
  2317.  
  2318. public ProveriNivo(id)
  2319. {
  2320. if(level_igraca[id] < 1200)
  2321. {
  2322. while(iskustvo_igraca[id] >= iskustvo_levelu[level_igraca[id]])
  2323. {
  2324. level_igraca[id]++;
  2325. set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
  2326. ShowSyncHudMsg(id, SyncHudObj3, "Welcome to %i level!", level_igraca[id]);
  2327. client_cmd(id, "spk QTM_CodMod/levelup");
  2328. }
  2329. poeni_igraca[id] = (level_igraca[id]-1)*2-inteligencija_igraca[id]-energija_igraca[id]-snaga_igraca[id]-kondicija_igraca[id];
  2330. }
  2331. SacuvajPodatke(id);
  2332. }
  2333.  
  2334. public PokaziInformacije(id)
  2335. {
  2336. id -= ZADATAK_POKAZI_INFORMACIJE;
  2337.  
  2338. set_task(0.1, "PokaziInformacije", id+ZADATAK_POKAZI_INFORMACIJE);
  2339.  
  2340. if(is_user_connected(id) && !is_user_alive(id))
  2341. {
  2342. new target = entity_get_int(id, EV_INT_iuser2);
  2343.  
  2344. if(!target)
  2345. return PLUGIN_CONTINUE;
  2346.  
  2347. set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  2348. ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nIskustvo : %i / %i^nLevel : %i^nPredmet : %s^nEnergija %d", naziv_klase[klasa_igraca[target]], iskustvo_igraca[target], iskustvo_levelu[level_igraca[target]], level_igraca[target], naziv_predmeta[informacije_predmet_igraca[target][0]], get_user_health(target));
  2349.  
  2350. return PLUGIN_CONTINUE;
  2351. }
  2352. set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0, -1);
  2353. ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Experience : %i / %i]^n[Level : %i]^n[Item : %s]^n[Energy: %d]^n^n++ KPS COD:MW2 ++", naziv_klase[klasa_igraca[id]], iskustvo_igraca[id], iskustvo_levelu[level_igraca[id]], level_igraca[id], naziv_predmeta[informacije_predmet_igraca[id][0]], get_user_health(id));
  2354.  
  2355. return PLUGIN_CONTINUE;
  2356. }
  2357.  
  2358. public PokaziReklame(id)
  2359. {
  2360. id-=ZADATAK_POKAZI_REKLAME;
  2361. ColorChat(0, GREEN, "Welcomte To #KPS# Elite [COD:MW2]")
  2362. }
  2363.  
  2364. public Pomoc(id)
  2365. show_menu(id, 1023, "\y/reset\w - Resetuje poene^n\y/klasa\w - Promeni klasu^n\y/drop\w - Izbaci predmet^n\y/perk\w - Pokazuje opis vaseg predmeta^n\y/opis\w - Pokazuje opis klase^n\y+use\w - Koristi specijalne moci klase", -1, "Pomoc");
  2366.  
  2367. public PostaviBrzinu(id)
  2368. {
  2369. id -= id>32? ZADATAK_POSTAVI_brzinu: 0;
  2370.  
  2371. if(klasa_igraca[id])
  2372. set_user_maxspeed(id, brzina_igraca[id]);
  2373. }
  2374.  
  2375. public PromeniModel(id,reset)
  2376. {
  2377. if (id<1 || id>32 || !is_user_connected(id))
  2378. return PLUGIN_CONTINUE;
  2379.  
  2380. if (reset)
  2381. cs_reset_user_model(id);
  2382. else
  2383. {
  2384. new num = random_num(0,3);
  2385. switch(get_user_team(id))
  2386. {
  2387. case 1: cs_set_user_model(id, Ubrania_CT[num]);
  2388. case 2:cs_set_user_model(id, Ubrania_Terro[num]);
  2389. }
  2390. }
  2391. return PLUGIN_CONTINUE;
  2392. }
  2393. public DodirOruzija(weapon,id)
  2394. {
  2395. if(!is_user_connected(id))
  2396. return HAM_IGNORED;
  2397.  
  2398. new model[23];
  2399. pev(weapon, pev_model, model, 22);
  2400. if (pev(weapon, pev_owner) == id || containi(model, "w_backpack") != -1)
  2401. return HAM_IGNORED;
  2402. return HAM_SUPERCEDE;
  2403. }
  2404.  
  2405. stock bool:UTIL_In_FOV(id,target)
  2406. {
  2407. if (Find_Angle(id,target,9999.9) > 0.0)
  2408. return true;
  2409.  
  2410. return false;
  2411. }
  2412. #if defined BOTY
  2413. public is_user_bot2(id)
  2414. {
  2415. new ping, loss
  2416. get_user_ping(id, ping, loss)
  2417. if(ping > 0 && loss > 0)
  2418. return false
  2419. return true
  2420. }
  2421. #endif
  2422.  
  2423. stock Float:Find_Angle(Core,Target,Float:dist)
  2424. {
  2425. new Float:vec2LOS[2];
  2426. new Float:flDot;
  2427. new Float:CoreOrigin[3];
  2428. new Float:TargetOrigin[3];
  2429. new Float:CoreAngles[3];
  2430.  
  2431. pev(Core,pev_origin,CoreOrigin);
  2432. pev(Target,pev_origin,TargetOrigin);
  2433.  
  2434. if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
  2435. return 0.0;
  2436.  
  2437. pev(Core,pev_angles, CoreAngles);
  2438.  
  2439. for ( new i = 0; i < 2; i++ )
  2440. vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i];
  2441.  
  2442. new Float:veclength = Vec2DLength(vec2LOS);
  2443.  
  2444. //Normalize V2LOS
  2445. if (veclength <= 0.0)
  2446. {
  2447. vec2LOS[0] = 0.0;
  2448. vec2LOS[1] = 0.0;
  2449. }
  2450. else
  2451. {
  2452. new Float:flLen = 1.0 / veclength;
  2453. vec2LOS[0] = vec2LOS[0]*flLen;
  2454. vec2LOS[1] = vec2LOS[1]*flLen;
  2455. }
  2456.  
  2457. //Do a makevector to make v_forward right
  2458. engfunc(EngFunc_MakeVectors,CoreAngles);
  2459.  
  2460. new Float:v_forward[3];
  2461. new Float:v_forward2D[2];
  2462. get_global_vector(GL_v_forward, v_forward);
  2463.  
  2464. v_forward2D[0] = v_forward[0];
  2465. v_forward2D[1] = v_forward[1];
  2466.  
  2467. flDot = vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1];
  2468.  
  2469. if ( flDot > 0.5 )
  2470. {
  2471. return flDot;
  2472. }
  2473.  
  2474. return 0.0;
  2475. }
  2476.  
  2477. stock Float:Vec2DLength( Float:Vec[2] )
  2478. {
  2479. return floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
  2480. }
  2481.  
  2482. stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
  2483. {
  2484. message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
  2485. write_short( duration ); // Duration of fadeout
  2486. write_short( holdtime ); // Hold time of color
  2487. write_short( fadetype ); // Fade type
  2488. write_byte ( red ); // Red
  2489. write_byte ( green ); // Green
  2490. write_byte ( blue ); // Blue
  2491. write_byte ( alpha ); // Alpha
  2492. message_end();
  2493. }
  2494.  
  2495. stock set_user_clip(id, ammo)
  2496. {
  2497. new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
  2498. get_weaponname(weapon, weaponname, 31);
  2499. while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
  2500. if(entity_get_edict(weaponid, EV_ENT_owner) == id)
  2501. {
  2502. set_pdata_int(weaponid, 51, ammo, 4);
  2503. return weaponid;
  2504. }
  2505. return 0;
  2506. }
  2507.  
  2508. public BlokirajKomande()
  2509. return PLUGIN_HANDLED;
  2510.  
  2511. public plugin_end()
  2512. nvault_close( g_vault )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement