MegastoRM

Sirmium COD by Gladan Samm

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