Don't like ads? PRO users don't see any ads ;-)
Guest

x7- mac

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