Advertisement
OvidiuS

COD:MW v1

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