Advertisement
MegastoRM

johnynno ili kako vec xD

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