Guest User

COD MW MOD By Mr. In White

a guest
Jun 3rd, 2012
547
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 98.03 KB | None | 0 0
  1. /*
  2. ~Dobro Dosli na COD MOD By QTM_Peyote & Mr. In White ~
  3. ~Ovako Za pocetak cu vam par sitnica objasniti (za pocetnike).
  4. ~Kako aktivirati mod: ubacite fajl "COD_MOD.amxx" u plugins, zatim u plugins-cod.ini ubacite ovo "COD_MOD.amxx", obavezno ubaciti sve dodatne modele.
  5. ~Ovaj mod sadrzi: 49 Predmeta, 23 Klase,6 Premium / 17 Obicnih ,2 Meni-a sa Obicnim/Premium Klasama, premium klase su besplatne od 22 H do 10 H.
  6. ~Dodaci: Prefix Chat, Level Rank od Nikole .
  7. ~Max Level 1000, Za Kill se dobija 250 XP, vi postavite kako vi zelite, na sledeci nacin.
  8. ~Cvar Komande:Fast XP "amx_cvar cod_killxp 750", Slow XP "amx_cvar cod_killxp 50".
  9. ~Mod je testiran Nepuni Logs , ako primijetite kakav bug ili gresku u pisanju obavijestite me na KGB Forumu , kako bi smo je ispravili~
  10. */
  11. #include <amxmodx>
  12. #include <amxmisc>
  13. #include <cstrike>
  14. #include <colorchat>
  15. #include <engine>
  16. #include <fun>
  17. #include <fakemeta>
  18. #include <hamsandwich>
  19. #include <nvault>
  20.  
  21. //#define BOTY 1
  22. #define ZADATAK_POKAZI_INFORMACIJE 672
  23. #define ZADATAK_POKAZI_ORUZIJA 672
  24. #define ZADATAK_PROVERA 704
  25. #define ZADATAK_POKAZI_REKLAME 768
  26. #define ZADATAK_POSTAVI_BRZINU 832
  27.  
  28. new Novo[] = "~Vrsta: Call Of Duty MW2,~Verzija: v1.5,~Autor: QTM_Peyote & Mr. In White  ";
  29.  
  30. new sprite_white;
  31. new sprite_blast;
  32. new sprite_beam;
  33. new sprite_trail;
  34. new sprite_smoke;
  35.  
  36. new SyncHudObj;
  37. new SyncHudObj2;
  38. new SyncHudObj3;
  39.  
  40. new g_vault;
  41. new g_msg_screenfade;
  42. new cvar_xp_za_ubistvo;
  43.  
  44. new iskustvo_za_pare;
  45. new iskustvo_za_mnogopara;
  46.  
  47. new Ubrania_CT[4][]={"sas","gsg9","urban","gign"};
  48. new Ubrania_Terro[4][]={"arctic","leet","guerilla","terror"};
  49.  
  50. 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};
  51. new const maxClip[31] = { -1, 13, -1, 10,  1,  7,  1,  30, 30,  1,  30,  20,  25, 30, 35, 25,  12,  20, 10,  30, 100,  8, 30,  30, 20,  2,  7, 30, 30, -1,  50 };
  52.  
  53. new informacije_predmet_igraca[33][2];
  54. new const naziv_predmeta[][] =
  55. {
  56.     "Nema",             // 0
  57.     "Necujne Cizme",        // 1
  58.     "Dupli Pancir",         // 2
  59.     "Ojacani Pancir",       // 3
  60.     "Veteran sa nozem",         // 4
  61.     "Iznenadi neprijatelje",    // 5
  62.     "Nevidljivost",         // 6
  63.     "Respawn",          // 7
  64.     "Noz Marinca",          // 8
  65.     "Kamuflaza",            // 9
  66.     "HE Expert",            //10
  67.     "Dupli Skok",           //11
  68.     "Vojna tajna",          //12
  69.     "AWP Master",           //13
  70.     "Adrenalin",            //14
  71.     "Rambova tajna",        //15
  72.     "Deagle Manijak",       //16
  73.     "Super Pancir",         //17
  74.     "Extra HP++",           //18
  75.     "Komplet za prvu pomoc",    //19
  76.     "No Recoil",            //20
  77.     "Titanijumski metci",       //21
  78.     "Pukovnikovi metci",        //22
  79.     "Ogranicen no-recoil",      //23
  80.     "SWAT Stit",            //24
  81.     "50 HP++",          //25
  82.     "Nano Oklop",           //26
  83.     "BulletProof",          //27
  84.     "Jetpack",          //28
  85.     "Gravitacija",          //29
  86.     "Speed",            //30
  87.     "Set Stuntera",         //31
  88.     "M4 Master",            //32
  89.     "Deagle Master",        //33
  90.     "Scout Master",         //34
  91.     "Oprema Generala",      //35
  92.     "Strucni M3",           //36
  93.     "HE Vjestina",          //37
  94.     "Super Galil",          //38
  95.     "Snajper Komplet",      //39
  96.     "Assassin Ogrtac",      //40
  97.     "Only Headshot",        //41
  98.     "M4a1-Aim",         //42
  99.     "Ak47-Aim",         //43
  100.     "Beskonacno Municije",      //44
  101.     "Auto Bhop",            //45
  102.     "Fast XP",          //46
  103.     "Troskok",          //47
  104.     "Novac",            //48
  105.     "Droga"             //49
  106. };
  107. new const opis_predmet[][] =
  108. {
  109.     "Ubi nekog i dobices predmet",
  110.     "Necujno trcanje.",
  111.     "Smanjuje stetu za LW %.",
  112.     "Smanjuje stetu za LW %.",
  113.     "Sa nozom nanosite vise DMG.",
  114.     "Kada pogodite protivnika od pozadi nanosite mu 2x vise stete.",
  115.     "Dobijate LW % nevidljivosti.",
  116.     "1/LW sanse da vas ozivi nakon smrti.",
  117.     "Instant kill s nozom.",
  118.     "Imate 1/LW sanse da ubijete sa HE. Takodzer imate Kamuflazu.",
  119.     "Instant kill sa HE. Zadajes LW % dodatne stete.",
  120.     "Mozete 2 puta skociti.",
  121.     "Vase povrede su smanjene za 5%. Imate 1/LW sanse da oslepite protivnika.",
  122.     "Instant kill sa AWP.",
  123.     "Za svaki kill dobijate 50hp.",
  124.     "Za svaki kill dobijate pun sarzer i 20hp.",
  125.     "Dobijate Deagle.",
  126.     "Dobijate 500 pancira svake runde.",
  127.     "Svake runde dobijate 100 HP , ali zato vam je smanjena brzina.",
  128.     "Koristite komplet kako bi povratili sebi HP.",
  129.     "Prilikom pucanja nema trzanja Nisana.",
  130.     "Nanosite 10 DMG vise stete.",
  131.     "Nanosite 20 DMG vise stete.",
  132.     "Minimalno trzanje puske prilikom pucanja.",
  133.     "Otporni ste na Dinamit,Rakete,Mine i Predmete.",
  134.     "Svake runde dobijate 50 HP , ali vam je smanjena brzina.",
  135.     "1/LW sanse da uzvratite neprijatelju njegov metak , tako mu naneseta stetu.",
  136.     "Otporni ste na 3 Metka u svakoj Rundi",
  137.     "Koristi se na CTR i SPACE , moze se korititi svake 4 sekunde.",
  138.     "Smanjena vam je gravitacija , mozete vise skociti.",
  139.     "Povecana vam je brzina.",
  140.     "Dobijate MP5 i USP , imate 1/2 s USP , 1/5 s MP5.",
  141.     "Dobijate M4A1 , imate 1/4 s njom.",
  142.     "Dobijate Deagle , imate 1/3 sa njim.",
  143.     "Dobijate Scout , imate instant kill.",
  144.     "Dobijate Ak47 , AWP , s tim sto Awp ima 1/1 sanse za kill.",
  145.     "Dobijate M5 , imate 1/3 s njim sanse za kill.",
  146.     "Imate 1/3 sanse za kill sa He (Bombom).",
  147.     "Dobijate Galil , imate 1/5 sanse za kill s njim.",
  148.     "Dobijate Awp+Deagle , sa Awp imate 1/1 , sa Deagle 1/2 sanse za kill.",
  149.     "Nevidljivi ste kada uzmete noz.",
  150.     "Samo HeadShot vas moze ubiti.",
  151.     "Dobijate M4a1 , imate 1/3 sanse da ubijete sa HeadShot.",
  152.     "Dobijate Ak47 , imate 1/3 sanse da ubijete sa HeadShot.",
  153.     "Nemate kraja municiji.",
  154.     "Imate Auto bunny hop.",
  155.     "Za svaki kill dobijate 2x vise EXP-a od ostalih.",
  156.     "Mozete 3 puta skociti u zrak.",
  157.     "Dobijate +8000 $ Svake runde.",
  158.     "Drogirani ste."
  159. };
  160. new klasa_igraca[33];
  161. new level_igraca[33] = 1;
  162. new iskustvo_igraca[33];
  163.  
  164. new nova_klasa_igraca[33];
  165.  
  166. new const iskustvo_levelu[] =
  167. {
  168.     0,7,28,63,112,175,252,343,448,567,700,847,1008,1183,1372,1575,1792,2023,2268,2527,              // 20 levela
  169.     2800,3087,3388,3703,4032,4375,4732,5103,5488,5887,6300,6727,7168,7623,8092,8575,9072,9583,10108,10647,                      // 40 levela
  170.     11200,11767,12348,12943,13552,14175,14812,15463,16128,16807,17500,18207,18928,19663,20412,21175,21952,22743,23548,24367,            // 60 levela
  171.     25200,26047,26908,27783,28672,29575,30492,31423,32368,33327,34300,35287,36288,37303,38332,39375,40432,41503,42588,43687,            // 80 levela
  172.     44800,45927,47068,48223,49392,50575,51772,52983,54208,55447,56700,57967,59248,60543,61852,63175,64512,65863,67228,68607,            // 100 levela
  173.     70000,71407,72828,74263,75712,77175,78652,80143,81648,83167,84700,86247,87808,89383,90972,92575,94192,95823,97468,99127,            // 120 levela
  174.     100800,102487,104188,105903,107632,109375,111132,112903,114688,116487,118300,120127,121968,123823,125692,127575,129472,131383,133308,135247,    // 140 levela
  175.     137200,139167,141148,143143,145152,147175,149212,151263,153328,155407,157500,159607,161728,163863,166012,168175,170352,172543,174748,176967,    // 160 levela
  176.     179200,181447,183708,185983,188272,190575,192892,195223,197568,199927,202300,204687,207088,209503,211932,214375,216832,219303,221788,224287,    // 180 levela
  177.     226800,229327,231868,234423,236992,239575,242172,244783,247408,250047,252700,255367,258048,260743,263452,266175,268912,271663,274428,277207,    // 200 levela
  178.     280000,282807,285628,288463,291312,294175,297052,299943,302848,305767,308700,311647,314608,317583,320572,323575,326592,329623,332668,335727,    // 220 levela
  179.     338800,341887,344988,348103,351232,354375,357532,360703,363888,367087,370300,373527,376768,380023,383292,386575,389872,393183,396508,399847,    // 240 levela
  180.     403200,406567,409948,413343,416752,420175,423612,427063,430528,434007,437500,441007,444528,448063,451612,455175,458752,462343,465948,469567,    // 260 levela
  181.     473200,476847,480508,484183,487872,491575,495292,499023,502768,506527,510300,514087,517888,521703,525532,529375,533232,537103,540988,544887,    // 280 levela
  182.     548800,552727,556668,560623,564592,568575,572572,576583,580608,584647,588700,592767,596848,600943,605052,609175,613312,617463,621628,625807,    // 300 levela
  183.     630000,634207,638428,642663,646912,651175,655452,659743,664048,668367,672700,677047,681408,685783,690172,694575,698992,703423,707868,712327,    // 320 levela
  184.     716800,721287,725788,730303,734832,739375,743932,748503,753088,757687,762300,766927,771568,776223,780892,785575,790272,794983,799708,804447,    // 340 levela
  185.     809200,813967,818748,823543,828352,833175,838012,842863,847728,852607,857500,862407,867328,872263,877212,882175,887152,892143,897148,902167,    // 360 levela
  186.     907200,912247,917308,922383,927472,932575,937692,942823,947968,953127,958300,963487,968688,973903,979132,984375,989632,994903,1000188,1005487,  // 380 levela
  187.     1010800,1016127,1021468,1026823,1032192,1037575,1042972,1048383,1053808,1059247,1064700,1070167,1075648,1081143,1086652,1092175,1097712,1103263,1108828,1114407,    // 400 levela
  188.     1120000,1125607,1131228,1136863,1142512,1148175,1153852,1159543,1165248,1170967,1176700,1182447,1188208,1193983,1199772,1205575,1211392,1217223,1223068,1228927,    // 420 levela
  189.     1234800,1240687,1246588,1252503,1258432,1264375,1270332,1276303,1282288,1288287,1294300,1300327,1306368,1312423,1318492,1324575,1330672,1336783,1342908,1349047,    // 440 levela
  190.     1355200,1361367,1367548,1373743,1379952,1386175,1392412,1398663,1404928,1411207,1417500,1423807,1430128,1436463,1442812,1449175,1455552,1461943,1468348,1474767,    // 460 levela
  191.     1481200,1487647,1494108,1500583,1507072,1513575,1520092,1526623,1533168,1539727,1546300,1552887,1559488,1566103,1572732,1579375,1586032,1592703,1599388,1606087,    // 480 levela
  192.     1612800,1619527,1626268,1633023,1639792,1646575,1653372,1660183,1667008,1673847,1680700,1687567,1694448,1701343,1708252,1715175,1722112,1729063,1736028,1743007,    // 500 levela
  193.     1750000,1757007,1764028,1771063,1778112,1785175,1792252,1799343,1806448,1813567,1820700,1827847,1835008,1842183,1849372,1856575,1863792,1871023,1878268,1885527,    // 520 levela
  194.     1892800,1900087,1907388,1914703,1922032,1929375,1936732,1944103,1951488,1958887,1966300,1973727,1981168,1988623,1996092,2003575,2011072,2018583,2026108,2033647,    // 540 levela
  195.     2041200,2048767,2056348,2063943,2071552,2079175,2086812,2094463,2102128,2109807,2117500,2125207,2132928,2140663,2148412,2156175,2163952,2171743,2179548,2187367,    // 560 levela
  196.     2195200,2203047,2210908,2218783,2226672,2234575,2242492,2250423,2258368,2266327,2274300,2282287,2290288,2298303,2306332,2314375,2322432,2330503,2338588,2346687,    // 580 levela
  197.     2354800,2362927,2371068,2379223,2387392,2395575,2403772,2411983,2420208,2428447,2436700,2444967,2453248,2461543,2469852,2478175,2486512,2494863,2503228,2511607,    // 600 levela
  198.     2520000,2528407,2536828,2545263,2553712,2562175,2570652,2579143,2587648,2596167,2604700,2613247,2621808,2630383,2638972,2647575,2656192,2664823,2673468,2682127,    // 620 levela
  199.     2690800,2699487,2708188,2716903,2725632,2734375,2743132,2751903,2760688,2769487,2778300,2787127,2795968,2804823,2813692,2822575,2831472,2840383,2849308,2858247,    // 640 levela
  200.     2867200,2876167,2885148,2894143,2903152,2912175,2921212,2930263,2939328,2948407,2957500,2966607,2975728,2984863,2994012,3003175,3012352,3021543,3030748,3039967,    // 660 levela
  201.     3049200,3058447,3067708,3076983,3086272,3095575,3104892,3114223,3123568,3132927,3142300,3151687,3161088,3170503,3179932,3189375,3198832,3208303,3217788,3227287,    // 680 levela
  202.     3236800,3246327,3255868,3265423,3274992,3284575,3294172,3303783,3313408,3323047,3332700,3342367,3352048,3361743,3371452,3381175,3390912,3400663,3410428,3420207,    // 700 levela
  203.     3430000,3439807,3449628,3459463,3469312,3479175,3489052,3498943,3508848,3518767,3528700,3538647,3548608,3558583,3568572,3578575,3588592,3598623,3608668,3618727,    // 720 levela
  204.     3628800,3638887,3648988,3659103,3669232,3679375,3689532,3699703,3709888,3720087,3730300,3740527,3750768,3761023,3771292,3781575,3791872,3802183,3812508,3822847,    // 740 levela
  205.     3833200,3843567,3853948,3864343,3874752,3885175,3895612,3906063,3916528,3927007,3937500,3948007,3958528,3969063,3979612,3990175,4000752,4011343,4021948,4032567,    // 760 levela
  206.     4043200,4053847,4064508,4075183,4085872,4096575,4107292,4118023,4128768,4139527,4150300,4161087,4171888,4182703,4193532,4204375,4215232,4226103,4236988,4247887,    // 780 levela
  207.     4258800,4269727,4280668,4291623,4302592,4313575,4324572,4335583,4346608,4357647,4368700,4379767,4390848,4401943,4413052,4424175,4435312,4446463,4457628,4468807,    // 800 levela
  208.     4480000,4491207,4502428,4513663,4524912,4536175,4547452,4558743,4570048,4581367,4592700,4604047,4615408,4626783,4638172,4649575,4660992,4672423,4683868,4695327,    // 820 levela
  209.     4706800,4718287,4729788,4741303,4752832,4764375,4775932,4787503,4799088,4810687,4822300,4833927,4845568,4857223,4868892,4880575,4892272,4903983,4915708,4927447,    // 840 levela
  210.     4939200,4950967,4962748,4974543,4986352,4998175,5010012,5021863,5033728,5045607,5057500,5069407,5081328,5093263,5105212,5117175,5129152,5141143,5153148,5165167,    // 860 levela
  211.     5177200,5189247,5201308,5213383,5225472,5237575,5249692,5261823,5273968,5286127,5298300,5310487,5322688,5334903,5347132,5359375,5371632,5383903,5396188,5408487,    // 880 levela
  212.     5420800,5433127,5445468,5457823,5470192,5482575,5494972,5507383,5519808,5532247,5544700,5557167,5569648,5582143,5594652,5607175,5619712,5632263,5644828,5657407,    // 900 levela
  213.     5670000,5682607,5695228,5707863,5720512,5733175,5745852,5758543,5771248,5783967,5796700,5809447,5822208,5834983,5847772,5860575,5873392,5886223,5899068,5911927,    // 920 levela
  214.     5924800,5937687,5950588,5963503,5976432,5989375,6002332,6015303,6028288,6041287,6054300,6067327,6080368,6093423,6106492,6119575,6132672,6145783,6158908,6172047,    // 940 levela
  215.     6185200,6198367,6211548,6224743,6237952,6251175,6264412,6277663,6290928,6304207,6317500,6330807,6344128,6357463,6370812,6384175,6397552,6410943,6424348,6437767,    // 960 levela
  216.     6451200,6464647,6478108,6491583,6505072,6518575,6532092,6545623,6559168,6572727,6586300,6599887,6613488,6627103,6640732,6654375,6668032,6681703,6695388,6709087,    // 980 levela
  217.     6722800,6736527,6750268,6764023,6777792,6791575,6805372,6819183,6833008,6846847,6860700,6874567,6888448,6902343,6916252,6930175,6944112,6958063,6972028,
  218.     6986007 // 1000 levela
  219. };
  220. new inteligencija_igraca[33];
  221. new energija_igraca[33];
  222. new snaga_igraca[33];
  223. new kondicija_igraca[33];
  224.  
  225. new rakete_igraca[33];
  226. new poeni_igraca[33];
  227.  
  228. new maximalna_energija_igraca[33];
  229. new Float:smanjene_povrede_igraca[33];
  230. new Float:brzina_igraca[33]
  231.  
  232. new snaga_predmeta[33];
  233. new LevelRank[33];
  234.  
  235. enum { NONE = 0,
  236.     Snajperista,                //  1
  237.     Marinac,                //  2
  238.     Pro_Strelac,                //  3
  239.     Mitraljezac,                //  4
  240.     Doktor,                 //  5
  241.     VatrenaPodrska,             //  6
  242.     Miner,                  //  7
  243.     Rambo,                  //  8
  244.     Bombarder,              //  9
  245.     Gunner,                 // 10
  246.     Pobunjenik,             // 11
  247.     Assassin,               // 12
  248.     SWAT,                   // 13
  249.     Bazooka,                // 14
  250.     Crysis,                 // 15
  251.     Prof_Vojnik,                // 16
  252.     Prof_Strijelac,             // 17
  253.     Napadac,                // 18
  254.     Manijak,                // 19
  255.     Armageddon,             // 20
  256.     Major,                  // 21
  257.     Pjandura,               // 22
  258.     FBIAgent                // 23
  259. };
  260. new const energija_klasa[] =
  261. {   // HP Klase
  262.     0,          // Nema     //  0
  263.     120,            // Snajperista  //  1
  264.     140,            // Marinac  //  2
  265.     110,            // Pro Strelac  //  3
  266.     120,            // Mitraljezac  //  4
  267.     110,            // Doktor   //  5
  268.     100,            // VatrenaPodska//  6
  269.     100,            // Miner    //  7
  270.     130,            // Rambo    //  8
  271.     140,            // Bombarder    //  9
  272.     125,            // Gunner   // 10
  273.     125,            // Pobunjenik   // 11
  274.     100,            // Assassin // 12
  275.     100,            // SWAT     // 13
  276.     80,         // Bazukas  // 14
  277.     80,         // Crysis   // 15
  278.     110,            // Prof_Vojnik  // 16
  279.     120,            // Prof_Strelac // 17
  280.     130,            // Napadac  // 18
  281.     150,            // Manijak  // 19
  282.     160,            // Armageddon   // 20
  283.     100,            // Major    // 21
  284.     80,         // Pjandura // 22
  285.     120         // FBIAgent // 23
  286. };
  287. new const Float:brzina_klase[] =
  288. {   //Brzina Klase
  289.     0.0,            // Nema     //  0
  290.     1.2,            // Snajperista  //  1
  291.     1.35,           // Marinac  //  2
  292.     0.8,            // Pro Strelac  //  3
  293.     0.9,            // Mitraljezac  //  4
  294.     1.0,            // Doktor   //  5
  295.     1.0,            // VatrenaPodska//  6
  296.     1.0,            // Miner    //  7
  297.     1.15,           // Rambo    //  8
  298.     1.1,            // Bombarder    //  9
  299.     1.0,            // Gunner   // 10
  300.     1.2,            // Pobunjenik   // 11
  301.     1.5,            // Assassin // 12
  302.     1.0,            // SWAT     // 13
  303.     1.1,            // Bazukas  // 14
  304.     1.6,            // Crysis   // 15
  305.     1.4,            // Prof_Vojnik  // 16
  306.     1.2,            // Prof_Strelac // 17
  307.     1.5,            // Napadac  // 18
  308.     1.8,            // Manijak  // 19
  309.     1.0,            // Armageddon   // 20
  310.     1.2,            // Major    // 21
  311.     1.3,            // Pjandura // 22
  312.     1.1         // FBIAgent // 23
  313. };
  314. new const oklop_klase[] =
  315. {       // Pancir Klasa
  316.     0,          // Nema     //  0
  317.     100,            // Snajperista  //  1
  318.     100,            // Marinac  //  2
  319.     100,            // Pro Strelac  //  3
  320.     150,            // Mitraljezac  //  4
  321.     100,            // Doktor   //  5
  322.     0,          // VatrenaPodska//  6
  323.     100,            // Miner    //  7
  324.     150,            // Rambo    //  8
  325.     150,            // Bombarder    //  9
  326.     50,             // Gunner   // 10
  327.     25,             // Pobunjenik   // 11
  328.     100,            // Assassin // 12
  329.     0,          // SWAT     // 13
  330.     200,            // Bazukas  // 14
  331.     0,          // Crysis   // 15
  332.     100,            // Prof_Vojnik  // 16
  333.     120,            // Prof_Strelac // 17
  334.     15,             // Napadac  // 18
  335.     0,          // Manijak  // 19
  336.     120,            // Armageddon   // 20
  337.     0,              // Major    // 21
  338.     100,            // Pjandura // 22
  339.     500         // FBIAgent // 23
  340. };     
  341. new const naziv_klase[][] =
  342. {
  343.     "Nema",                 //  0
  344.     "Snajperista",              //  1
  345.     "Marinac",              //  2
  346.     "Pro-Strelac",              //  3
  347.     "Mitraljezac",              //  4
  348.     "Doktor",               //  5
  349.     "Vatrena podrska",          //  6
  350.     "Miner",                //  7
  351.     "Rambo",                //  8
  352.     "Bombarder",                //  9
  353.     "Gunner",               // 10
  354.     "Pobunjenik",               // 11
  355.     "Assassin",             // 12
  356.     "SWAT",                 // 13
  357.     "Bazooka Soldier",          // 14
  358.     "Crysis",               // 15
  359.     "Prof-Vojnik",              // 16
  360.     "Prof-Strijelac",           // 17
  361.     "Napadac",              // 18
  362.     "Manijak",              // 19
  363.     "Armageddon",               // 20
  364.     "Major",                // 21  
  365.     "Pjandura",             // 22
  366.     "FBI Agent"             // 23
  367. };
  368. new const frakcje[][] =
  369. {
  370.     "Nema",                     // 0
  371.     "\y[\dObicne\y]\r Klase\y(\dBesplatne Klase\y)",// 1
  372.     "\y[\dPremium\y]\r Klase\y(\dFree od 22h-09h\y)"// 2
  373.    
  374. };
  375. enum
  376. {
  377.     NONE = 0,               // 0
  378.     obicna,                 // 1
  379.     premium                 // 3
  380. };
  381. new const pripada[] =
  382. {
  383.     NONE,       // Nema             //  0
  384.     obicna,     // Snajperista      //  1
  385.     obicna,     // Marinac      //  2
  386.     obicna,     // Pro Strelac      //  3
  387.     obicna,     // Mitraljezac      //  4
  388.     obicna,     // Doktor       //  5
  389.     obicna,     // Vatrena Podrska  //  6
  390.     obicna,     // Miner        //  7
  391.     premium,    // Rambo        //  8
  392.     obicna,     // Bombarder        //  9
  393.     obicna,     // Gunner       // 10
  394.     obicna,     // Pobunjenik       // 11
  395.     premium,    // Assassin     // 12
  396.     obicna,     // SWAT         // 13
  397.     premium,    // Bazukas      // 14
  398.     obicna,     // Crysis       // 15
  399.     obicna,     // Prof_Vojnik      // 16
  400.     obicna,     // Prof_Strijelac   // 17
  401.     obicna,     // Napadac      // 18
  402.     obicna,     // Manijak      // 19
  403.     premium,    // Armageddon       // 20
  404.     premium,    // Major        // 21
  405.     premium,    // Pjandura             // 22
  406.     obicna      // FBI Agent        // 23
  407. };
  408. new frakcija_igraca[33]
  409.  
  410. new const novi_opis[][] =
  411. {
  412.     "\rOruzije : \d Nema ^n\rEnergija : \d 0 HP^n\rPancir:\d 0 AP^nBrzina:\d 0 %",                 
  413.     // Nema
  414.     "\rOruzije : \d Awp , Scout , Deagle^n  \rEnergija : \d 120 HP^n\rPancir:\d 100 AP^n\rBrzina:\d 120 %^n\rSpecijalne Moci : \d 1/3 sanse sa Nozom",
  415.     // Snajperista
  416.     "\rOruzije : \d Famas , Deagle^n\rEnergija : \d 140 HP^n\rPancir:\d 100 AP^n\rBrzina:\d 135 %^n\rSpecijalne Moci : \d Instant Kill sa Nozom",  
  417.     // Marinac 
  418.     "\rOruzije : \d Ak47 , M4a1^n\rEnergija : \d 110 HP^n\rPancir:\d 100 AP^n\rBrzina:\d 90 %^n\rSpecijalne Moci : \d Nema.",  
  419.     // Pro Strelac
  420.     "\rOruzije : \d M249 \y(\d Krmaca\y)^n\rEnergija : \d 120 HP^n\rPancir:\d 150 AP^n\rBrzina:\d 90 %^n\rSpecijalne Moci : \d Otporan na Mine.",  
  421.     // Mitraljezac
  422.     "\rOruzije : \d UMP45^n\rEnergija : \d 110 HP^n\rPancir:\d 100 AP^n\rBrzina:\d 100 %^n\rSpecijalne Moci : \d Nema.",
  423.     // Doktor
  424.     "\rOruzije : \d MP5^n\rEnergija : \d 100 HP^n\rPancir:\d 0 AP^n\rBrzina:\d 100 %^n\rSpecijalne Moci : \d Nema.",   
  425.     // Vatrena Podska
  426.     "\rOruzije : \d P90^n\rEnergija : \d 100 HP^n\rPancir:\d 100 AP^n\rBrzina:\d 100 %^n\rSpecijalne Moci : \d Nema.",
  427.     // Miner
  428.     "\rOruzije : \d Famas^n\rEnergija : \d 130 HP^n\rPancir:\d 150 AP^n\rBrzina:\d 115 %^n\rSpecijalne Moci : \d Za svaki kill dobija 50 Hp , ima Dupli Skok",
  429.     // Rambo
  430.     "\rOruzije : \d M4a1 , Deagle , HeGrenade^n\rEnergija : \d 140 HP^n\rPancir:\d 150 AP^n\rBrzina:\d 110 %^n\rSpecijalne Moci : \d Nema.",
  431.     // Bombarder
  432.     "\rOruzije : \d G3/SG-1\y(\d Rafani Snajper\y)^n\rEnergija : \d 125 HP^n\rPancir:\d 50 AP^n\rBrzina:\d 100 %^n\rSpecijalne Moci : \d Nema.",   
  433.     // Gunner
  434.     "\rOruzije : \d SG 552 , HeGrenade^n\rEnergija : \d 125 HP^n\rPancir:\d 25 AP^n\rBrzina:\d 120 %^n\rSpecijalne Moci : \d Manje vidljiv",
  435.     // Pobunjenik
  436.     "\rOruzije : \d Deagle , USP^n\rEnergija : \d 100 HP^n\rPancir:\d 100 AP^n\rBrzina:\d 150 %^n\rSpecijalne Moci : \d Nevidljiv kada uzme noz.", 
  437.     // Assassin
  438.     "\rOruzije : \d M4a1^n\rEnergija : \d 100 HP^n\rPancir:\d 0 AP^n\rBrzina:\d 100 %^n\rSpecijalne Moci : \d Otporan na Noz", 
  439.     // SWAT
  440.     "\rOruzije : \d Bazuka , 10 Proektila^n\rEnergija : \d  80HP^n\rPancir : \d 200^n\rBrzina : \d 110 %^n\rSpecijane Moci : \d Dosta Jaki Proektili",
  441.     // Bazukas
  442.     "\rOruzije : \d Sg552 , M4a1^n\rEnergija : \d 80 HP^n\rPancir:\d 0 AP^n\rBrzina:\d 160 %^n\rSpecijalne Moci : \d Velika Brzina , 60 % vidljiv",
  443.     // Crysis
  444.     "\rOruzije : \d Famas^n\rEnergija : \d 110 HP^n\rPancir:\d 100 AP^n\rBrzina:\d 140 %^n\rSpecijalne Moci : \d Nema.",
  445.     // Prof_Vojnik
  446.     "\rOruzije : \d Awp , M4a1^n\rEnergija : \d 120 HP^n\rPancir:\d 120 AP^n\rBrzina:\d 120 %^n\rSpecijalne Moci : \d Nema.",
  447.     // Prof_Strelac
  448.     "\rOruzije : \d P90 , XM1014^n\rEnergija : \d 130 HP^n\rPancir:\d 15 AP^n\rBrzina:\d 150 %^n\rSpecijalne Moci : \d Nema.",
  449.     // Napadac
  450.     "\rOruzije : \d M249 \y(\d Krmaca\y)^n\rEnergija : \d 150 HP^n\rPancir:\d 0 AP^n\rBrzina:\d 180 %^n\rSpecijalne Moci : \d Velika Brzina",
  451.     // Manijak
  452.     "\rOruzije : \d AUG , Ak47 ^n\rEnergija : \d 160 HP^n\rPancir:\d 120 AP^n\rBrzina:\d 100 %^n\rSpecijalne Moci : \d Manje vidljiv",
  453.     // Armageddon
  454.     "\rOruzije : \d P90 , M3\y(\dPumparica\y)^n\rEnergija : \d 100 HP^n\rPancir:\d 0 AP^n\rBrzina:\d 120 %^n\rSpecijalne Moci : \d Dobija 1/4 sa M3\y(\dPumparica\y) ",
  455.     // Major
  456.     "\rOruzije : \d MP5 , Ak47 ^n\rEnergija : \d 80 HP^n\rPancir:\d 100 AP^n\rBrzina:\d 130 %^n\rSpecijalne Moci : \d Manje Vidljiv ",
  457.     // Pjandura
  458.     "\rOruzije : \d M4A1 , Deagle i 5 Mina ^n\rEnergija : \d 120 HP^n\rPancir:\d 500 AP^n\rBrzina:\d 110 %^nSpecijalne Moci : \d Dobija Deagle Ima 1/10 s njim , duplo brze levelovanje"
  459.     //FBI Agent
  460. };
  461. new const sufix_za_klasu[][] =
  462. {
  463.     "Nema",                     //  0
  464.     "\y(\dObicna Klasa\y)",             //  1
  465.     "\y(\dObicna Klasa\y)",             //  2
  466.     "\y(\dObicna Klasa\y)",             //  3
  467.     "\y(\dObicna Klasa\y)",             //  4
  468.     "\y(\dObicna Klasa\y)",             //  5
  469.     "\y(\dObicna Klasa\y)",             //  6
  470.     "\y(\dObicna Klasa\y)",             //  7
  471.     "\y(\dPremium Klasa\y)",            //  8
  472.     "\y(\dObicna Klasa\y)",             //  9
  473.     "\y(\dObicna Klasa\y)",             // 10
  474.     "\y(\dObicna Klasa\y)",             // 11
  475.     "\y(\dPremium  Klasa\y)",           // 12
  476.     "\y(\dObicna Klasa\y)",             // 13
  477.     "\y(\dPremium Klasa\y)",            // 14
  478.     "\y(\dObicna Klasa\y)",             // 15
  479.     "\y(\dObcna Klasa\y)",              // 16
  480.     "\y(\dObicna Klasa\y)",             // 17
  481.     "\y(\dObicna Klasa\y)",             // 18
  482.     "\y(\dObicna Klasa\y)",             // 19
  483.     "\y(\dPremium Klasa\y)",            // 20
  484.     "\y(\dPremium Klasa\y)",            // 21
  485.     "\y(\dPremium Klasa\y)",            // 22
  486.     "\y(\dObicna Klasa\y))"             // 23
  487. };
  488. new const naziv_klase_novi[][] =
  489. {
  490.     "Nema",                     //  0
  491.     "\ySnajperista\r(\dObicna Klasa\r)",        //  1
  492.     "\yMarinac\r(\dObicna Klasa\r)",        //  2
  493.     "\yPro-Strelac\r(\dObicna Klasa\r)",        //  3
  494.     "\yMitraljezac\r(\dObicna Klasa\r)",        //  4
  495.     "\yDoktor\r(\dObicna Klasa\r)",         //  5
  496.     "\yVatrenaPodrska\r(\dObicna Klasa\r)",     //  6
  497.     "\yMiner\r(\dObicna Klasa\r)",          //  7
  498.     "\yRambo\y(\dPremium Klasa\r)",         //  8  
  499.     "\yBombarder\r(\dObicna Klasa\r)",      //  9
  500.     "\yGunner\r(\dObicna Klasa\r)",         // 10
  501.     "\yPobunjenik\r(\dObicna Klasa\r)",     // 11
  502.     "\yAssassin\r(\dPremium Klasa\r)",      // 12
  503.     "\ySWAT\r(\dObicna Klasa\r)",           // 13
  504.     "\yBazooka Soldier\r(\dPremium Klasa\r)",   // 14
  505.     "\yCrysis\r(\dObicna Klasa\r)",         // 15
  506.     "\yProf-Vojnik\r(\dObicna Klasa\r)",        // 16
  507.     "\yProf-Strelac\r(\dObicna Klasa\r)",       // 17
  508.     "\yNapadac\r(\dObicna Klasa\r)",        // 18
  509.     "\yManijak\r(\dObicna Klasa\r)",        // 19
  510.     "\yArmageddon\r(\dPremium Klasa\r)",        // 20
  511.     "\yMajor\r(\dPremium Klasa\r)",         // 21
  512.     "\yPjandura\r(\dPremium Klasa\r)",      // 22
  513.     "\yFBI Agent\r(\dObicna Klasa\r)"       // 23
  514. };
  515.  
  516. new broj_medkit_igraca[33];
  517. new broj_raketa_igraca[33];
  518. new broj_min_igraca[33];
  519. new broj_dinamita_igraca[33];
  520. new broj_skokova_igraca[33];
  521.  
  522. new naziv_igraca[33][64];
  523. new daj_igracu[33];
  524. new pCvarPrefixy;
  525. new fovmsg;
  526.  
  527. new Float:prethodna_raketa_igraca[33];
  528. new Float:idle[33];
  529.  
  530. new bool:dobio_predmet[33];
  531. new bool:droga[33];
  532. new bool:freezetime = true;
  533. new bool:ima_bazuku[33];
  534. new bool:reloading[33];
  535. new bool:lansirano[33][33];
  536.    
  537. public plugin_init()
  538. {
  539.     format(Novo, 10, "1");
  540.    
  541.     g_vault = nvault_open("CodMod");
  542.    
  543.     register_think("MedKit","MedKitThink");
  544.    
  545.     RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  546.     RegisterHam(Ham_Spawn, "player", "Pocetak", 1);
  547.     RegisterHam(Ham_Touch, "armoury_entity", "DodirOruzija");
  548.     RegisterHam(Ham_Touch, "weapon_shield", "DodirOruzija");
  549.     RegisterHam(Ham_Touch, "weaponbox", "DodirOruzija");
  550.     RegisterHam(Ham_Weapon_WeaponIdle, "weapon_p228", "Weapon_WeaponIdle");
  551.     RegisterHam(Ham_Item_Deploy, "weapon_p228", "Weapon_Deploy", 1);
  552.    
  553.     register_forward(FM_CmdStart, "CmdStart");
  554.     register_forward(FM_EmitSound, "EmitSound");
  555.     register_forward(FM_SetModel, "SetModel");
  556.     register_forward(FM_Touch, "fw_Touch")
  557.     register_forward(FM_TraceLine,"fw_traceline");
  558.  
  559.     register_logevent("PocetakRunde", 2, "1=Round_Start");
  560.     register_event("DeathMsg", "Death", "ade");
  561.     register_event("Damage", "Damage", "b", "2!=0");      
  562.     register_event("CurWeapon","CurWeapon","be", "1=1");
  563.     register_event("HLTV", "novaRunda", "a", "1=0", "2=0");  
  564.     //register_event("ResetHUD", "ResetHUD", "abe");
  565.    
  566.     register_touch("Rocket", "*" , "DodirRakete");
  567.     register_touch("Mine", "player",  "DodirMine");
  568.    
  569.     register_clcmd("say /klasa", "IzaberiKlasu");
  570.     register_clcmd("say /menu", "Menu");
  571.     register_clcmd("say /opis", "OpisKlase");
  572.     register_clcmd("say /predmet", "OpisPredmeta");
  573.     register_clcmd("say /item", "OpisPredmeta");
  574.     register_clcmd("say /drop", "IzbaciPredmet");
  575.     register_clcmd("say /izbaci", "IzbaciPredmet");
  576.     register_clcmd("say /restart", "KomandaResetujPoene");
  577.     register_clcmd("say /shop", "Shop");
  578.     register_clcmd("say /prodaj", "Prodaj");
  579.     register_clcmd("say /komande","Komande");
  580.     register_clcmd("say /daj", "DajNekomPredmet");
  581.     register_clcmd("say /help", "Pomoc");
  582.     register_clcmd("say /pomoc", "Pomoc");
  583.     register_clcmd("say /def","KupiDefuse");
  584.     register_clcmd("say /toplvl", "LevelTop15");
  585.     register_clcmd("say_team /toplvl", "LevelTop15");
  586.     register_clcmd("say /lvlrank", "LevelPrikaziRank");
  587.     register_clcmd("say_team /lvlrank", "LevelPrikaziRank");
  588.     register_clcmd("fullupdate", "BlokirajKomande");
  589.    
  590.     pCvarPrefixy    =       register_cvar("cod_prefix","3");
  591.     cvar_xp_za_ubistvo = register_cvar("cod_killxp", "250");
  592.     register_concmd("cod_lvl", "cmd_setlvl", ADMIN_LEVEL_H, "<name> <level>");
  593.     register_concmd("cod_dajpredmet", "cmd_setpredmet", ADMIN_KICK, "<nick> <item>");
  594.    
  595.     register_message(get_user_msgid("Health"), "message_Health");
  596.     register_message(get_user_msgid("SayText"),"handleSayText");
  597.     g_msg_screenfade = get_user_msgid("ScreenFade");
  598.     SyncHudObj = CreateHudSyncObj();
  599.     SyncHudObj2 = CreateHudSyncObj();
  600.     SyncHudObj3 = CreateHudSyncObj();
  601.    
  602.     register_menucmd(register_menuid("Klasa:"), 1023, "OpisKlase");
  603.     iskustvo_za_pare = 250;
  604.     iskustvo_za_mnogopara = 500;
  605.     fovmsg = get_user_msgid("SetFOV")
  606. }
  607. public handleSayText(msgId,msgDest,msgEnt){
  608.     new id = get_msg_arg_int(1);
  609.    
  610.     if(!is_user_connected(id))        return PLUGIN_CONTINUE;
  611.    
  612.     new szTmp[256],szTmp2[256]
  613.     get_msg_arg_string(2,szTmp, charsmax( szTmp ) )
  614.    
  615.     new szPrefix[64]
  616.    
  617.     switch(get_pcvar_num(pCvarPrefixy)){
  618.         case 1:{
  619.             formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",naziv_klase[klasa_igraca[id]]);
  620.         }
  621.         case 2:{
  622.             formatex(szPrefix,charsmax( szPrefix ),"^x04[%d]",level_igraca[id]);
  623.         }
  624.         case 3:{
  625.             formatex(szPrefix,charsmax( szPrefix ),"^x01[^4%s^1][^4Level^1-^4%d^1]",naziv_klase[klasa_igraca[id]],level_igraca[id]);
  626.         }
  627.     }
  628.    
  629.     if(!equal(szTmp,"#Cstrike_Chat_All")){
  630.         add(szTmp2,charsmax(szTmp2),szPrefix);
  631.         add(szTmp2,charsmax(szTmp2)," ");
  632.         add(szTmp2,charsmax(szTmp2),szTmp);
  633.     }
  634.     else{
  635.         add(szTmp2,charsmax(szTmp2),szPrefix);
  636.         add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 :  %s2");
  637.     }
  638.    
  639.     set_msg_arg_string(2,szTmp2);
  640.    
  641.     return PLUGIN_CONTINUE;
  642. }  
  643. public plugin_cfg()
  644. {  
  645.     server_cmd("sv_maxspeed 9999");
  646. }
  647. public plugin_precache()
  648. {
  649.     new Entity = create_entity( "info_map_parameters" );
  650.    
  651.     DispatchKeyValue( Entity, "buying", "3" );
  652.     DispatchSpawn( Entity );
  653.    
  654.    
  655.     sprite_white = precache_model("sprites/white.spr") ;
  656.     sprite_blast = precache_model("sprites/dexplo.spr");
  657.     sprite_trail = precache_model("sprites/smoke.spr");
  658.     sprite_smoke = precache_model("sprites/steam1.spr");
  659.    
  660.    
  661.     precache_sound("QTM_CodMod/select.wav");
  662.     precache_sound("QTM_CodMod/start.wav");
  663.     precache_sound("QTM_CodMod/start2.wav");
  664.     precache_sound("QTM_CodMod/levelup.wav");
  665.    
  666.     precache_model("models/w_medkit.mdl");
  667.     precache_model("models/rpgrocket.mdl");
  668.     precache_model("models/mine.mdl");
  669.     precache_model("models/w_law.mdl");
  670.     precache_model("models/v_law.mdl");
  671.     precache_model("models/p_law.mdl");
  672.     precache_model("models/s_grenade.mdl");
  673. }
  674. public pfn_keyvalue( Entity )  
  675. {
  676.     new ClassName[ 20 ], Dummy[ 2 ];
  677.     copy_keyvalue( ClassName, charsmax( ClassName ), Dummy, charsmax( Dummy ), Dummy, charsmax( Dummy ) );
  678.    
  679.     if( equal( ClassName, "info_map_parameters" ) )
  680.     {
  681.         remove_entity( Entity );
  682.         return PLUGIN_HANDLED ;
  683.     }
  684.     return PLUGIN_CONTINUE;
  685. }
  686. public CmdStart(id, uc_handle)
  687. {
  688.     if(!is_user_alive(id))
  689.         return FMRES_IGNORED;
  690.    
  691.     new button = get_uc(uc_handle, UC_Buttons);
  692.     new flags = pev(id, pev_flags);
  693.     new clip, ammo, weapon = get_user_weapon(id, clip, ammo);
  694.    
  695.     if(informacije_predmet_igraca[id][0] == 11 || klasa_igraca[id] == Rambo || informacije_predmet_igraca[id][0] == 47)
  696.     {
  697.         new oldbutton = pev(id, pev_oldbuttons);
  698.        
  699.         if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && broj_skokova_igraca[id] > 0)
  700.         {
  701.             broj_skokova_igraca[id]--;
  702.             new Float:velocity[3];
  703.             pev(id, pev_velocity,velocity);
  704.             velocity[2] = random_float(265.0,285.0);
  705.             set_pev(id, pev_velocity,velocity);
  706.         }
  707.         else if(flags & FL_ONGROUND)
  708.         {  
  709.             broj_skokova_igraca[id] = 0;
  710.             if(informacije_predmet_igraca[id][0] == 11)
  711.                 broj_skokova_igraca[id]++;
  712.             if(klasa_igraca[id] == Rambo)
  713.                 broj_skokova_igraca[id]++;
  714.             if(informacije_predmet_igraca[id][0] == 47)
  715.                 broj_skokova_igraca[id]+=2;
  716.         }
  717.     }
  718.     if(button & IN_ATTACK)
  719.     {
  720.         new Float:punchangle[3];
  721.        
  722.         if(informacije_predmet_igraca[id][0] == 20)
  723.             set_pev(id, pev_punchangle, punchangle);
  724.         if(informacije_predmet_igraca[id][0] == 23)
  725.         {
  726.             set_pev(id, pev_punchangle, punchangle);
  727.             for(new i=0; i<3;i++)
  728.                 punchangle[i]*=0.9;
  729.             set_pev(id, pev_punchangle, punchangle);
  730.         }
  731.     }
  732.     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)
  733.     {
  734.         informacije_predmet_igraca[id][1] = floatround(get_gametime());
  735.         new Float:velocity[3];
  736.         VelocityByAim(id, 700, velocity);
  737.         velocity[2] = random_float(265.0,285.0);
  738.         set_pev(id, pev_velocity, velocity);
  739.     }
  740.     if(weapon == 1 && ima_bazuku[id])
  741.     {
  742.         new button = get_uc(uc_handle, UC_Buttons);
  743.         new ent = find_ent_by_owner(-1, "weapon_p228", id);
  744.        
  745.         if(button & IN_ATTACK)
  746.         {
  747.             button &= ~IN_ATTACK;
  748.             set_uc(uc_handle, UC_Buttons, button);
  749.            
  750.             if(!rakete_igraca[id] || reloading[id] || !idle[id])
  751.                 return FMRES_IGNORED;
  752.             if(idle[id] && (get_gametime()-idle[id]<=0.4))
  753.                 return FMRES_IGNORED;
  754.            
  755.             new Float:Origin[3], Float:Angle[3], Float:Velocity[3];
  756.             pev(id, pev_origin, Origin);
  757.             pev(id, pev_v_angle, Angle);
  758.             velocity_by_aim(id, 1000, Velocity);
  759.            
  760.             Angle[0] *= -1.0
  761.            
  762.             new ent = create_entity("info_target")
  763.             set_pev(ent, pev_classname, "rocket");
  764.             engfunc(EngFunc_SetModel, ent, "models/s_grenade.mdl");
  765.            
  766.             set_pev(ent, pev_solid, SOLID_BBOX);
  767.             set_pev(ent, pev_movetype, MOVETYPE_TOSS);
  768.             set_pev(ent, pev_owner, id);
  769.             set_pev(ent, pev_mins, Float:{-1.0, -1.0, -1.0});
  770.             set_pev(ent, pev_maxs, Float:{1.0, 1.0, 1.0});
  771.             set_pev(ent, pev_gravity, 0.35);
  772.            
  773.             set_pev(ent, pev_origin, Origin);
  774.             set_pev(ent, pev_velocity, Velocity);
  775.             set_pev(ent, pev_angles, Angle);
  776.            
  777.             message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  778.             write_byte(TE_BEAMFOLLOW)
  779.             write_short(ent)
  780.             write_short(sprite_trail)
  781.             write_byte(6)
  782.             write_byte(3)
  783.             write_byte(224)
  784.             write_byte(224)
  785.             write_byte(255)
  786.             write_byte(100)
  787.             message_end()  
  788.            
  789.             set_pev(id, pev_weaponanim, 7);
  790.             new entwpn = find_ent_by_owner(-1, "weapon_p228", id);
  791.             if(entwpn)
  792.                 set_pdata_float(entwpn, 48, 1.5+3.0, 4);
  793.             set_pdata_float(id, 83, 1.5, 4)
  794.            
  795.             reloading[id] = true;
  796.             emit_sound(id, CHAN_WEAPON, "weapons/law_shoot1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
  797.            
  798.             if(task_exists(id+3512))
  799.                 remove_task(id+3512);
  800.            
  801.             set_task(1.5, "task_launcher_reload", id+3512);
  802.             rakete_igraca[id]--;
  803.         }
  804.         else if(button & IN_RELOAD)
  805.         {
  806.             button &= ~IN_RELOAD;
  807.             set_uc(uc_handle, UC_Buttons, button);
  808.            
  809.             set_pev(id, pev_weaponanim, 0);
  810.             set_pdata_float(id, 83, 0.5, 4);
  811.             if(ent)
  812.                 set_pdata_float(ent, 48, 0.5+3.0, 4);
  813.         }
  814.         if(ent)
  815.         {
  816.             cs_set_weapon_ammo(ent, -1);
  817.             cs_set_user_bpammo(id, 1, rakete_igraca[id]);
  818.         }
  819.     }
  820.     else if(weapon != 1 && ima_bazuku[id])
  821.         idle[id] = 0.0;
  822.    
  823.     return FMRES_IGNORED;
  824. }
  825. public cmd_setlvl(id, level, cid)
  826. {
  827.     if(!cmd_access(id,level,cid,3))
  828.         return PLUGIN_HANDLED;
  829.    
  830.     new level_ratio = 25
  831.    
  832.     new arg1[33];
  833.     new arg2[6];
  834.     read_argv(1, arg1, 32);
  835.     read_argv(2, arg2, 5);
  836.     new player = cmd_target(id, arg1, 0);
  837.     if(!is_user_connected(player))
  838.         return PLUGIN_HANDLED;
  839.     new value = str_to_num(arg2);
  840.    
  841.     iskustvo_igraca[player] =  value*(2*level_ratio);
  842.     level_igraca[player] = 0;
  843.     ProveriNivo(player);
  844.    
  845.     return PLUGIN_CONTINUE;
  846. }  
  847. public Shop(id)
  848. {
  849.     new menu = menu_create("\yShop Menu \d:", "Shop_Handle");
  850.     menu_additem(menu, "\yMala Apoteka \r[Dodaje 50 HP] \yCijena: \r3000$");
  851.     menu_additem(menu, "\yVelika Apoteka \r[Dodaje 100 HP] \yCijena: \r5000$");
  852.     menu_additem(menu, "\yRedBull \r[Veci Skok + Veca Brzina] \yCijena: \r7500$");
  853.     menu_additem(menu, "\yLotto \r[Tiket za loto] \yCijena: \r2000$");
  854.     menu_additem(menu, "\yMali Exe \r[Dodaje 250 XP] \yCijena: \r5000$");
  855.     menu_additem(menu, "\yVeliki Exp \r[Dodaje 500 XP] \yCijena: \r10000$");
  856.     menu_additem(menu, "\ySlucajni Predmet \yCijena: \r3000$");
  857.     menu_display(id, menu);
  858. }
  859. public Shop_Handle(id, menu, item)
  860. {
  861.     client_cmd(id, "spk QTM_CodMod/select");
  862.    
  863.     if(item == MENU_EXIT)
  864.     {
  865.         menu_destroy(menu);
  866.         return PLUGIN_CONTINUE;
  867.     }
  868.     menu_display(id, menu);
  869.     new pare_igraca = cs_get_user_money(id);
  870.     new hp = get_user_health(id);
  871.     switch(item)
  872.     {
  873.         case 0:
  874.         {
  875.             new cena = 3000;
  876.             if (pare_igraca<cena)
  877.             {
  878.                 ColorChat(id,GREEN,"[Shop] ^1Nemas dovoljno para.");
  879.                 return PLUGIN_CONTINUE;
  880.             }
  881.             if(hp >= maximalna_energija_igraca[id] || klasa_igraca[id] == Assassin)
  882.             {
  883.                 ColorChat(id,GREEN,"[Shop] ^1Vec imate maximalnu energiju.");
  884.                 return PLUGIN_CONTINUE;
  885.             }
  886.             new ammount=50;
  887.             new nova_energija = (hp+ammount<maximalna_energija_igraca[id])? hp+ammount: maximalna_energija_igraca[id];
  888.             set_user_health(id, nova_energija);
  889.             ColorChat(id,GREEN,"[Shop] ^1kupio si ^3Malu Apoteku");
  890.             cs_set_user_money(id, pare_igraca-cena);
  891.         }
  892.         case 1:
  893.         {
  894.             new cena = 5000;
  895.             if (pare_igraca<cena)
  896.             {
  897.                 ColorChat(id,GREEN,"[Shop] ^1Nemas dovoljno para.");
  898.                 return PLUGIN_CONTINUE;
  899.             }
  900.             if(hp >= maximalna_energija_igraca[id] || klasa_igraca[id] == Assassin)
  901.             {
  902.                 ColorChat(id,GREEN,"[Shop] ^1Vec imate maximalnu energiju.");
  903.                 return PLUGIN_CONTINUE;
  904.             }
  905.             new ammount=100;
  906.             new nova_energija = (hp+ammount<maximalna_energija_igraca[id])? hp+ammount: maximalna_energija_igraca[id];
  907.             set_user_health(id, nova_energija);
  908.             ColorChat(id,GREEN,"[Shop] ^1Kupio si^3 Veliku Apoteku");
  909.             cs_set_user_money(id, pare_igraca-cena);
  910.         }
  911.         case 2:
  912.         {
  913.             new cena = 7500;
  914.             if (pare_igraca<cena)
  915.             {
  916.                 ColorChat(id,GREEN,"[Shop] ^1Nemas dovoljno para.");
  917.                 return PLUGIN_CONTINUE;
  918.             }
  919.             set_user_gravity(id,get_user_gravity(id) - 0.3);
  920.             set_user_maxspeed(id,get_user_maxspeed(id) + 10.0);
  921.             ColorChat(id,GREEN,"[Shop]^1 Kupio si^3 RedBull.");
  922.             ColorChat(id,GREEN,"[RedBull]^1Sada ste dobili krila mozete da letite kao^3ptica.");
  923.             cs_set_user_money(id, pare_igraca-cena)
  924.         }
  925.         case 3:
  926.         {
  927.             new cena = 2000;
  928.             if (pare_igraca<cena)
  929.             {
  930.                 ColorChat(id,GREEN,"[Shop] ^1Nemas dovoljno para.");
  931.                 return PLUGIN_CONTINUE;
  932.             }
  933.             cs_set_user_money(id, pare_igraca-cena);
  934.             ColorChat(id,GREEN,"[Shop] ^1Kupili ste Loto Listic");
  935.             ColorChat(id,GREEN,"[Shop] ^1Sacekajte par^3 sekundi^1 i vidite svoju^3 nagradu");
  936.            
  937.             new rand = random_num(0,13);
  938.             switch(rand)
  939.             {
  940.                 case 0:
  941.                 {
  942.                     ColorChat(id,GREEN,"[Shop] ^1Dobio si^3 100 $^1!")
  943.                     cs_set_user_money(id, pare_igraca + 100)
  944.                 }
  945.                 case 1:
  946.                 {
  947.                     ColorChat(id,GREEN,"[Shop] ^1Dobio si^3 Redbull^1!");
  948.                     ColorChat(id,GREEN,"[RedBull]^1Sada ste dobili krila mozete da letite kao^3ptica^1.");
  949.                     set_user_gravity(id,get_user_gravity(id) - 0.3);
  950.                     set_user_maxspeed(id,get_user_maxspeed(id) + 10.0);
  951.                 }
  952.                 case 2:
  953.                 {
  954.                     ColorChat(id,GREEN,"[Shop] ^1Nazalost niste nista^3 dobili^1!")
  955.                 }
  956.                 case 3:
  957.                 {
  958.                     ColorChat(id,GREEN,"[Shop] ^1Izgubili ste^3 150$^1!")
  959.                     cs_set_user_money(id, pare_igraca - 150)
  960.                 }
  961.                 case 4:
  962.                 {
  963.                     ColorChat(id,GREEN,"[Shop] ^1Dobili ste^3 1000$^1!")
  964.                     cs_set_user_money(id, pare_igraca + 1000)
  965.                 }
  966.                 case 5:
  967.                 {
  968.                     ColorChat(id,GREEN,"[Shop] ^1Dobili ste^3 Predmet^1!")
  969.                     DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  970.                 }
  971.                 case 6:
  972.                 {
  973.                     ColorChat(id,GREEN,"[Shop] ^1Nazalost niste nista^3 dobili^1!")
  974.                 }
  975.                 case 7:
  976.                 {
  977.                     ColorChat(id,GREEN,"[Shop] ^1Izgubili ste^3 8000$^1!")
  978.                     cs_set_user_money(id, pare_igraca - 8000)
  979.                 }
  980.                 case 8:
  981.                 {
  982.                     ColorChat(id,GREEN,"[Shop] ^1Nazalost niste nista^3 dobili^1!")
  983.                 }
  984.                 case 9:
  985.                 {
  986.                     ColorChat(id,GREEN,"[Shop]^1 Dobili ste^3 1000 EXP ^1!")
  987.                     iskustvo_igraca[id] += iskustvo_za_mnogopara;
  988.                 }
  989.                 case 10:
  990.                 {
  991.                     ColorChat(id,GREEN,"[Shop]^1 Dobili ste^3 500 EXP^1!")
  992.                     iskustvo_igraca[id] += 500;
  993.                 }
  994.                 case 11:
  995.                 {
  996.                     ColorChat(id,GREEN,"[Shop] ^1 Cestitamo dobili ste^3 Premium Klasu:^3 Pjandura^1 mozete je koristit do kraja mape^1!")
  997.                     set_user_flags(id, ADMIN_LEVEL_F)
  998.                 }
  999.                 case 12:
  1000.                 {
  1001.                     ColorChat(id,GREEN,"[Shop]^1 Dobili ste^3 100 EXP^1 !")
  1002.                     iskustvo_igraca[id] += 100;
  1003.                 }
  1004.                 case 13:
  1005.                 {
  1006.                     ColorChat(id,GREEN,"[Shop]^1 Izgubili ste^3 100 HP")
  1007.                     new ammount=-100;
  1008.                     new nova_energija = (hp+ammount<maximalna_energija_igraca[id])? hp+ammount: maximalna_energija_igraca[id];
  1009.                     set_user_health(id, nova_energija);
  1010.                 }
  1011.             }
  1012.             ProveriNivo(id);
  1013.             return PLUGIN_CONTINUE;
  1014.         }
  1015.         case 4:
  1016.         {
  1017.             new cena = 5000;
  1018.             if (pare_igraca<cena)
  1019.             {
  1020.                 ColorChat(id,GREEN,"[Shop]^1 Nemas dovoljno para.");
  1021.                 return PLUGIN_CONTINUE;
  1022.             }
  1023.             iskustvo_igraca[id] += iskustvo_za_pare;
  1024.             ColorChat(id,GREEN,"[Shop] ^1Kupio si ^3Mali EXP");
  1025.             cs_set_user_money(id, pare_igraca-cena)
  1026.             ProveriNivo(id);
  1027.         }
  1028.         case 5:
  1029.         {
  1030.             new cena = 10000;
  1031.             if (pare_igraca<cena)
  1032.             {
  1033.                 ColorChat(id,GREEN,"[Shop]^1 Nemas dovoljno para.");
  1034.                 return PLUGIN_CONTINUE;
  1035.             }
  1036.             iskustvo_igraca[id] += iskustvo_za_mnogopara;
  1037.             ColorChat(id,GREEN,"[Shop]^1Kupio si ^3Veliki EXP");
  1038.             cs_set_user_money(id, pare_igraca-cena)
  1039.             ProveriNivo(id);
  1040.         }      
  1041.         case 6:
  1042.         {
  1043.             new cena = 3000;                       
  1044.             if (pare_igraca<cena)
  1045.             {
  1046.                 ColorChat(id,RED,"[Shop]^1 Nemas dovoljno para!");
  1047.                 return PLUGIN_CONTINUE;
  1048.             }
  1049.             cs_set_user_money(id, pare_igraca-cena)
  1050.             DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  1051.         }
  1052.     }
  1053.     return PLUGIN_CONTINUE;
  1054. }
  1055. public Pocetak(id)
  1056. {
  1057.     if(!is_user_alive(id) || !is_user_connected(id))
  1058.         return PLUGIN_CONTINUE;
  1059.    
  1060.     if(nova_klasa_igraca[id])
  1061.     {
  1062.         klasa_igraca[id] = nova_klasa_igraca[id];
  1063.         nova_klasa_igraca[id] = 0;
  1064.         ima_bazuku[id] = false;
  1065.         rakete_igraca[id] = 0;
  1066.         strip_user_weapons(id);
  1067.         give_item(id, "weapon_knife");
  1068.  
  1069.         UcitajPodatke(id, klasa_igraca[id]);
  1070.     }
  1071.     if(!klasa_igraca[id])
  1072.     {
  1073.         IzaberiKlasu(id);
  1074.         return PLUGIN_CONTINUE;
  1075.     }
  1076.     switch(klasa_igraca[id])
  1077.     {
  1078.         case Snajperista:   // 1
  1079.         {
  1080.             give_item(id, "weapon_awp");
  1081.             give_item(id, "weapon_scout");
  1082.             give_item(id, "weapon_deagle");
  1083.         }
  1084.         case Marinac:       // 2
  1085.         {
  1086.             give_item(id, "weapon_deagle");
  1087.         }
  1088.         case Pro_Strelac:   // 3
  1089.         {
  1090.             give_item(id, "weapon_m4a1");
  1091.             give_item(id, "weapon_ak47");
  1092.         }
  1093.         case Mitraljezac:   // 4               
  1094.         {
  1095.             give_item(id, "weapon_m249");
  1096.             give_item(id, "weapon_hegrenade");
  1097.             give_item(id, "weapon_flashbang");             
  1098.             give_item(id, "weapon_smokegrenade");
  1099.         }
  1100.         case Doktor:        // 5
  1101.         {
  1102.             give_item(id, "weapon_ump45");
  1103.             broj_medkit_igraca[id] = 2;
  1104.         }  
  1105.         case VatrenaPodrska:    // 6
  1106.         {
  1107.             give_item(id, "weapon_mp5navy");
  1108.             broj_raketa_igraca[id] = 2;
  1109.         }
  1110.         case Miner:     // 7
  1111.         {
  1112.             give_item(id, "weapon_p90");
  1113.             broj_min_igraca[id] = 3;
  1114.         }
  1115.         case Rambo:     // 8
  1116.         {
  1117.             give_item(id, "weapon_famas");
  1118.         }
  1119.         case Bombarder:     // 9
  1120.         {
  1121.             give_item(id, "weapon_m4a1");
  1122.             give_item(id, "weapon_deagle");
  1123.             give_item(id, "weapon_hegrenade");
  1124.         }
  1125.         case Gunner:        // 10
  1126.         {
  1127.             give_item(id, "weapon_g3sg1");
  1128.             broj_raketa_igraca[id] = 1 ;
  1129.         }
  1130.         case Pobunjenik:    // 11
  1131.         {
  1132.             give_item(id, "weapon_sg552");
  1133.             give_item(id, "weapon_hegrenade");
  1134.             broj_min_igraca[id] = 1 ;
  1135.         }
  1136.         case Assassin:      // 12
  1137.         {
  1138.             give_item(id, "weapon_knife");
  1139.             give_item(id, "weapon_usp");
  1140.         }
  1141.         case SWAT:      // 13
  1142.         {
  1143.             give_item(id, "weapon_m4a1");  
  1144.         }
  1145.         case Bazooka:       // 14
  1146.         {
  1147.             give_item(id, "weapon_p228");
  1148.             give_item(id, "weapon_deagle");
  1149.             ima_bazuku[id] = true;
  1150.             rakete_igraca[id] = 10;
  1151.         }
  1152.         case Crysis:        // 15
  1153.         {
  1154.             give_item(id, "weapon_m4a1");
  1155.             give_item(id, "weapon_sg552")  
  1156.             broj_raketa_igraca[id] = 3;
  1157.             set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 60);    
  1158.         }
  1159.         case Prof_Vojnik:    // 16
  1160.         {
  1161.             give_item(id, "weapon_famas");
  1162.         }
  1163.         case  Prof_Strijelac:   // 17
  1164.         {
  1165.             give_item(id, "weapon_m4a1");
  1166.             give_item(id, "weapon_awp")
  1167.             broj_raketa_igraca[id] = 2;
  1168.         }
  1169.         case Napadac:       // 18
  1170.         {
  1171.             give_item(id, "weapon_p90");
  1172.             give_item(id, "weapon_xm1014") 
  1173.             broj_dinamita_igraca[id] = 3;
  1174.         }
  1175.         case Manijak:       // 19
  1176.         {
  1177.             give_item(id, "weapon_m249");  
  1178.             broj_raketa_igraca[id] = 3;
  1179.         }
  1180.         case Armageddon:    // 20
  1181.         {
  1182.             give_item(id, "weapon_ak47");
  1183.             give_item(id, "weapon_aug");
  1184.             broj_dinamita_igraca[id] = 2
  1185.             set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 50);    
  1186.         }
  1187.         case Major:     // 21  
  1188.         {          
  1189.             give_item(id, "weapon_p90");
  1190.             give_item(id, "weapon_m3");
  1191.             broj_min_igraca[id] = 10;
  1192.         }  
  1193.         case Pjandura:      // 22
  1194.         {
  1195.             give_item(id, "weapon_mp5navy");
  1196.             give_item(id, "weapon_ak47");
  1197.             set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 80);
  1198.         }
  1199.         case FBIAgent:
  1200.         {
  1201.             give_item(id, "weapon_m4a1");
  1202.             give_item(id, "weapon_deagle");
  1203.             broj_min_igraca[id] = 5;
  1204.         }
  1205.     }
  1206.     if(poeni_igraca[id]>0)
  1207.         DodelaPoena(id);
  1208.    
  1209.     if(informacije_predmet_igraca[id][0] == 10 || informacije_predmet_igraca[id][0] == 9)
  1210.         give_item(id, "weapon_hegrenade");
  1211.    
  1212.     if(informacije_predmet_igraca[id][0] == 9)
  1213.         PromeniModel(id, 0);
  1214.    
  1215.     if(informacije_predmet_igraca[id][0] == 1)
  1216.         set_user_footsteps(id, 1);
  1217.     else
  1218.         set_user_footsteps(id, 0);
  1219.    
  1220.     if(informacije_predmet_igraca[id][0] == 13)
  1221.         give_item(id, "weapon_awp");
  1222.    
  1223.     if(informacije_predmet_igraca[id][0] == 31)
  1224.         give_item(id, "weapon_mp5navy");   
  1225.    
  1226.     if(informacije_predmet_igraca[id][0] == 31)
  1227.         give_item(id, "weapon_usp");   
  1228.    
  1229.     if(informacije_predmet_igraca[id][0] == 32)
  1230.         give_item(id, "weapon_m4a1");  
  1231.    
  1232.     if(informacije_predmet_igraca[id][0] == 33)
  1233.         give_item(id, "weapon_deagle");
  1234.    
  1235.     if(informacije_predmet_igraca[id][0] == 34)
  1236.         give_item(id, "weapon_scout");     
  1237.    
  1238.     if(informacije_predmet_igraca[id][0] == 35)
  1239.         give_item(id, "weapon_awp");
  1240.    
  1241.     if(informacije_predmet_igraca[id][0] == 35)
  1242.         give_item(id, "weapon_ak47");  
  1243.    
  1244.     if(informacije_predmet_igraca[id][0] == 36)
  1245.         give_item(id, "weapon_m3");
  1246.    
  1247.     if(informacije_predmet_igraca[id][0] == 37)
  1248.         give_item(id, "weapon_hegrenade"); 
  1249.    
  1250.     if(informacije_predmet_igraca[id][0] == 38)
  1251.         give_item(id, "weapon_galil"); 
  1252.    
  1253.     if(informacije_predmet_igraca[id][0] == 39)
  1254.         give_item(id, "weapon_awp");
  1255.    
  1256.     if(informacije_predmet_igraca[id][0] == 39)
  1257.         give_item(id, "weapon_deagle");
  1258.        
  1259.     if(informacije_predmet_igraca[id][0] == 42)
  1260.         give_item(id, "weapon_m4a1");
  1261.        
  1262.     if(informacije_predmet_igraca[id][0] == 43)
  1263.         give_item(id, "weapon_ak47");
  1264.        
  1265.     if(informacije_predmet_igraca[id][0] == 40)
  1266.         set_user_gravity(id,get_user_gravity(id) - 0.4);
  1267.    
  1268.     if(informacije_predmet_igraca[id][0] == 16)
  1269.         give_item(id, "weapon_deagle");
  1270.    
  1271.     if(informacije_predmet_igraca[id][0] == 19)
  1272.         informacije_predmet_igraca[id][1] = 1;
  1273.    
  1274.     if(informacije_predmet_igraca[id][0] == 27)
  1275.         informacije_predmet_igraca[id][1] = 3;
  1276.    
  1277.     if(informacije_predmet_igraca[id][0] == 29)
  1278.         set_user_gravity(id,get_user_gravity(id) - 0.4);
  1279.    
  1280.     new weapons[32];
  1281.     new weaponsnum;
  1282.     get_user_weapons(id, weapons, weaponsnum);
  1283.     for(new i=0; i<weaponsnum; i++)
  1284.         if(is_user_alive(id))
  1285.         if(maxAmmo[weapons[i]] > 0)
  1286.         cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  1287.    
  1288.     PostaviAtribute(id)
  1289.    
  1290.     return PLUGIN_CONTINUE;
  1291. }
  1292. public PostaviAtribute(id)
  1293. {
  1294.     smanjene_povrede_igraca[id] = (0.7*(1.0-floatpower(1.1, -0.112311341*float(snaga_igraca[id]))));
  1295.     maximalna_energija_igraca[id] = energija_klasa[klasa_igraca[id]]+energija_igraca[id]*2;
  1296.     brzina_igraca[id] = (250*brzina_klase[klasa_igraca[id]]+floatround(kondicija_igraca[id]*1.2));
  1297.    
  1298.     if(informacije_predmet_igraca[id][0] == 18 && klasa_igraca[id] != Assassin)
  1299.     {
  1300.         maximalna_energija_igraca[id] += 100;
  1301.         brzina_igraca[id] -= 0.4;
  1302.     }
  1303.    
  1304.     if(informacije_predmet_igraca[id][0] == 25 && klasa_igraca[id] != Assassin)
  1305.     {
  1306.         maximalna_energija_igraca[id] += 50;
  1307.         brzina_igraca[id] -= 0.3;
  1308.     }
  1309.     if(informacije_predmet_igraca[id][0] == 30)
  1310.     {
  1311.         brzina_igraca[id] += 1.2;
  1312.     }
  1313.     if(informacije_predmet_igraca[id][0] == 48)
  1314.     {
  1315.         cs_set_user_money(id, cs_get_user_money(id)+8000);
  1316.     }
  1317.     if(informacije_predmet_igraca[id][0] == 49)
  1318.     {
  1319.         Drogiraj(id);
  1320.     }
  1321.     set_user_armor(id, oklop_klase[klasa_igraca[id]]);
  1322.    
  1323.     if(informacije_predmet_igraca[id][0] == 17)
  1324.         set_user_armor(id, 500);
  1325.    
  1326.     set_user_health(id, maximalna_energija_igraca[id]);
  1327.    
  1328. }
  1329.  
  1330. public Drogiraj(id)
  1331. {
  1332.     droga[id] = true
  1333.     message_begin( MSG_ONE, fovmsg, { 0, 0, 0 }, id )
  1334.     write_byte( 180 )
  1335.     message_end( )              
  1336. }  
  1337. public PocetakRunde()  
  1338. {
  1339.     freezetime = false;
  1340.     for(new id=0;id<=32;id++)
  1341.     {
  1342.         if(!is_user_alive(id))
  1343.             continue;
  1344.        
  1345.         set_task(0.1, "PostaviBrzinu", id+ZADATAK_POSTAVI_BRZINU);
  1346.        
  1347.         switch(get_user_team(id))
  1348.         {
  1349.             case 1:
  1350.             {
  1351.                 client_cmd(id, "spk QTM_CodMod/start2");
  1352.                 give_item(id, "weapon_glock18");
  1353.             }
  1354.             case 2:
  1355.             {
  1356.                 client_cmd(id, "spk QTM_CodMod/start");
  1357.                 give_item(id, "weapon_usp");
  1358.             }
  1359.         }
  1360.     }
  1361. }
  1362. public novaRunda()
  1363. {
  1364.     freezetime = true;
  1365.     new iEnt = find_ent_by_class(-1, "Mine");
  1366.     while(iEnt > 0)
  1367.     {
  1368.         remove_entity(iEnt);
  1369.         iEnt = find_ent_by_class(iEnt, "Mine");
  1370.     }
  1371. }
  1372. public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
  1373. {
  1374.     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])
  1375.         return HAM_IGNORED;
  1376.    
  1377.     new health = get_user_health(this);
  1378.     new weapon = get_user_weapon(idattacker);
  1379.    
  1380.     if(health < 2)
  1381.         return HAM_IGNORED;
  1382.    
  1383.     if(informacije_predmet_igraca[this][0] == 27 && informacije_predmet_igraca[this][1]>0)
  1384.     {
  1385.         informacije_predmet_igraca[this][1]--;
  1386.         return HAM_SUPERCEDE;
  1387.     }
  1388.    
  1389.     if(snaga_igraca[this]>0)
  1390.         damage -= smanjene_povrede_igraca[this]*damage;
  1391.    
  1392.     if(informacije_predmet_igraca[this][0] == 2 || informacije_predmet_igraca[this][0] == 3)
  1393.         damage-=(float(informacije_predmet_igraca[this][1])<damage)? float(informacije_predmet_igraca[this][1]): damage;
  1394.    
  1395.     if(informacije_predmet_igraca[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
  1396.         damage*=2.0;
  1397.    
  1398.     if(informacije_predmet_igraca[idattacker][0] == 10)
  1399.         damage+=informacije_predmet_igraca[idattacker][1];
  1400.    
  1401.     if(informacije_predmet_igraca[this][0] == 12)
  1402.         damage-=(5.0<damage)? 5.0: damage;
  1403.    
  1404.     if(weapon == CSW_AWP && informacije_predmet_igraca[idattacker][0] == 13)
  1405.         damage=float(health);
  1406.    
  1407.     if(weapon == CSW_AWP && informacije_predmet_igraca[idattacker][0] == 35)
  1408.         damage=float(health);  
  1409.    
  1410.     if(informacije_predmet_igraca[idattacker][0] == 21)
  1411.         damage+=10;
  1412.    
  1413.     if(informacije_predmet_igraca[idattacker][0] == 22)
  1414.         damage+=20;
  1415.    
  1416.     if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
  1417.     {
  1418.         if((informacije_predmet_igraca[idattacker][0] == 9 && random_num(1, informacije_predmet_igraca[idattacker][1]) == 1) || informacije_predmet_igraca[idattacker][0] == 10)
  1419.             damage = float(health);
  1420.     }
  1421.     if(weapon == CSW_HEGRENADE)
  1422.     {
  1423.         if(klasa_igraca[idattacker] == Bombarder)
  1424.         {
  1425.             give_item(idattacker, "weapon_hegrenade")
  1426.             cs_set_user_bpammo(idattacker, CSW_HEGRENADE, 5)
  1427.         }
  1428.     }
  1429.     if(weapon == CSW_KNIFE)
  1430.     {
  1431.         if(klasa_igraca[this] == SWAT)
  1432.             return HAM_SUPERCEDE;
  1433.         if(informacije_predmet_igraca[this][0] == 4)
  1434.             damage=damage*1.4+inteligencija_igraca[idattacker];
  1435.         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))
  1436.             damage = float(health);
  1437.     }
  1438.     if(informacije_predmet_igraca[idattacker][0] == 31)
  1439.     {
  1440.         if(weapon == CSW_USP && !random(2))
  1441.             damage = float(health);
  1442.        
  1443.         if(weapon == CSW_MP5NAVY && !random(5))
  1444.             damage = float(health);
  1445.     }
  1446.     if(informacije_predmet_igraca[idattacker][0] == 32)
  1447.     {
  1448.         if(weapon == CSW_M4A1 && !random(4))
  1449.             damage = float(health);
  1450.     }
  1451.     if(informacije_predmet_igraca[idattacker][0] == 33)
  1452.     {
  1453.         if(weapon == CSW_DEAGLE && !random(3))
  1454.             damage = float(health);
  1455.     }
  1456.     if(informacije_predmet_igraca[idattacker][0] == 36)
  1457.     {
  1458.         if(weapon == CSW_M3 && !random(3))
  1459.             damage = float(health);
  1460.     }
  1461.     if(informacije_predmet_igraca[idattacker][0] == 37)
  1462.     {
  1463.         if(weapon == CSW_HEGRENADE && !random(3))
  1464.             damage = float(health);
  1465.     }
  1466.     if(informacije_predmet_igraca[idattacker][0] == 38)
  1467.     {
  1468.         if(weapon == CSW_GALIL && !random(5))
  1469.             damage = float(health);
  1470.     }
  1471.     if(informacije_predmet_igraca[idattacker][0] == 31)
  1472.     {
  1473.         if(weapon == CSW_AWP)
  1474.             damage = float(health);
  1475.        
  1476.         if(weapon == CSW_DEAGLE && !random(2))
  1477.             damage = float(health);
  1478.     }
  1479.     if(informacije_predmet_igraca[idattacker][0] == 34)
  1480.     {
  1481.         if(weapon == CSW_SCOUT && !random(1))
  1482.             damage = float(health);
  1483.     }
  1484.     if(klasa_igraca[idattacker] == Major)
  1485.     {
  1486.         if(weapon == CSW_M3 && !random(4))
  1487.             damage = float(health);
  1488.     }
  1489.     if(klasa_igraca[idattacker] == FBIAgent)
  1490.     {
  1491.         if(weapon == CSW_DEAGLE && !random(10))
  1492.             damage = float(health);
  1493.     }
  1494.     if(informacije_predmet_igraca[this][0] == 26 && random_num(1, informacije_predmet_igraca[this][1]) == 1)
  1495.     {
  1496.         SetHamParamEntity(3, this);
  1497.         SetHamParamEntity(1, idattacker);
  1498.     }
  1499.     SetHamParamFloat(4, damage);
  1500.     return HAM_IGNORED;
  1501. }
  1502. public Damage(id)
  1503. {
  1504.     new attacker = get_user_attacker(id);
  1505.     new damage = read_data(2);
  1506.     if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !klasa_igraca[attacker])
  1507.         return PLUGIN_CONTINUE;
  1508.    
  1509.     if(informacije_predmet_igraca[attacker][0] == 12 && random_num(1, informacije_predmet_igraca[id][1]) == 1)
  1510.         Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
  1511.    
  1512.     if(get_user_team(id) != get_user_team(attacker))
  1513.     {
  1514.         while(damage>20)
  1515.         {
  1516.             damage-=20;
  1517.             iskustvo_igraca[attacker]++;           
  1518.         }
  1519.     }
  1520.     ProveriNivo(attacker);
  1521.     return PLUGIN_CONTINUE;
  1522. }
  1523. public Death()
  1524. {
  1525.     new id = read_data(2);
  1526.     new attacker = read_data(1);
  1527.  
  1528.     if(!is_user_alive(attacker) || !is_user_connected(attacker))
  1529.         return PLUGIN_CONTINUE;
  1530.     new weapon = get_user_weapon(attacker);
  1531.     new energija = get_user_health(attacker);
  1532.     if(informacije_predmet_igraca[id][0])
  1533.     {
  1534.         if(snaga_predmeta[id] > 0)
  1535.             snaga_predmeta[id]-=20;
  1536.     }
  1537.     if(snaga_predmeta[id] > 0)
  1538.     {
  1539.         ColorChat(id, NORMAL, "^3[COD:MW4] ^4 Snaga Predmeta:^3 %i.", snaga_predmeta[id]);
  1540.     }
  1541.     else
  1542.     {
  1543.         ColorChat(id, RED, "[COD:MW4] ^x01 Predmet: %s, je potpuno unisten.", naziv_predmeta[informacije_predmet_igraca[id][0]]);
  1544.         Obrisipredmet(id);
  1545.     }
  1546.     if(get_user_team(id) != get_user_team(attacker) && klasa_igraca[attacker])
  1547.     {
  1548.         new iskustvo_za_ubistvo = get_pcvar_num(cvar_xp_za_ubistvo);
  1549.         new novo_iskustvo = get_pcvar_num(cvar_xp_za_ubistvo);
  1550.  
  1551.         if(klasa_igraca[id] == Rambo && klasa_igraca[attacker] != Rambo)
  1552.             novo_iskustvo += iskustvo_za_ubistvo*2;
  1553.        
  1554.         if(klasa_igraca[attacker] == FBIAgent)
  1555.         {
  1556.             novo_iskustvo += iskustvo_za_ubistvo;
  1557.         }
  1558.         if(klasa_igraca[id] == FBIAgent && klasa_igraca[attacker] != FBIAgent)
  1559.             novo_iskustvo += iskustvo_za_ubistvo*2;
  1560.  
  1561.             if(informacije_predmet_igraca[attacker][0] == 46)
  1562.         {
  1563.             novo_iskustvo += iskustvo_za_ubistvo;
  1564.         }
  1565.         if(informacije_predmet_igraca[id][0] == 46 && informacije_predmet_igraca[attacker][0] != 46)
  1566.             novo_iskustvo += iskustvo_za_ubistvo*2;
  1567.        
  1568.         if(level_igraca[id] > level_igraca[attacker])
  1569.             novo_iskustvo += (level_igraca[id]-level_igraca[attacker])*(iskustvo_za_ubistvo/10);
  1570.        
  1571.         if(klasa_igraca[attacker] == Rambo || informacije_predmet_igraca[attacker][0] == 15 && maxClip[weapon] != -1)
  1572.         {
  1573.            
  1574.             new nova_energija = (energija+20<maximalna_energija_igraca[attacker])? energija+20: maximalna_energija_igraca[attacker];
  1575.             set_user_clip(attacker, maxClip[weapon]);
  1576.             set_user_health(attacker, nova_energija);
  1577.         }  
  1578.         #if defined BOTY
  1579.         if(is_user_bot2(attacker) && random(9) == 0)
  1580.             IzbaciPredmet(id);
  1581.         #endif
  1582.         if(!informacije_predmet_igraca[attacker][0])
  1583.             DajPredmet(attacker, random_num(1, sizeof naziv_predmeta-1));
  1584.  
  1585.         if(informacije_predmet_igraca[attacker][0] == 14)
  1586.         {
  1587.             new nova_energija = (energija+50<maximalna_energija_igraca[attacker])? energija+50: maximalna_energija_igraca[attacker];
  1588.             set_user_health(attacker, nova_energija);
  1589.         }
  1590.         set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
  1591.         ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", novo_iskustvo);
  1592.        
  1593.         iskustvo_igraca[attacker] += novo_iskustvo;
  1594.     }
  1595.     ProveriNivo(attacker);
  1596.    
  1597.     if(informacije_predmet_igraca[id][0] == 7 && random_num(1, informacije_predmet_igraca[id][1]) == 1)
  1598.         set_task(0.1, "Provera", id+ZADATAK_PROVERA);
  1599.    
  1600.     return PLUGIN_CONTINUE;
  1601. }
  1602. public client_putinserver(id)
  1603. {
  1604.     DeleteSkills(id);
  1605.     ObrisiZadatke(id);
  1606.     Obrisipredmet(id);
  1607.     LevelRank[id] = LevelUcitajRank(id);
  1608.    
  1609.     set_task(3.0, "PokaziInformacije", id+ZADATAK_POKAZI_INFORMACIJE);
  1610.     set_task(10.0, "PokaziReklame", id+ZADATAK_POKAZI_REKLAME);
  1611. }
  1612. public client_disconnect(id)
  1613. {
  1614.     SacuvajPodatke(id);
  1615.     DeleteSkills(id);
  1616.     ObrisiZadatke(id); 
  1617.     Obrisipredmet(id);
  1618.  
  1619.     remove_task(id+ZADATAK_POSTAVI_BRZINU);
  1620.  
  1621. }
  1622. public DeleteSkills(id)
  1623. {
  1624.     klasa_igraca[id] = 0;
  1625.     level_igraca[id] = 0;
  1626.     iskustvo_igraca[id] = 0;
  1627.     poeni_igraca[id] = 0;
  1628.     energija_igraca[id] = 0;
  1629.     inteligencija_igraca[id] = 0;
  1630.     snaga_igraca[id] = 0;
  1631.     kondicija_igraca[id] = 0;
  1632.     maximalna_energija_igraca[id] = 0;
  1633.     brzina_igraca[id] = 0.0;
  1634.     get_user_name(id, naziv_igraca[id], 63);
  1635.  
  1636.     remove_task(id+ZADATAK_POSTAVI_BRZINU);
  1637. }
  1638. public ObrisiZadatke(id)
  1639. {
  1640.     remove_task(id+ZADATAK_POKAZI_INFORMACIJE);
  1641.     remove_task(id+ZADATAK_POKAZI_REKLAME);
  1642.     remove_task(id+ZADATAK_POSTAVI_BRZINU);
  1643.     remove_task(id+ZADATAK_PROVERA);
  1644. }
  1645. public OpisKlase(id)
  1646. {
  1647.     new menu = menu_create("Izaberi Klasu:", "OpisKlase_Handle");
  1648.     for(new i=1; i <sizeof naziv_klase_novi; i++)
  1649.         menu_additem(menu, naziv_klase_novi[i]);
  1650.     menu_setprop(menu, MPROP_EXITNAME, "Izlaz");
  1651.     menu_setprop(menu, MPROP_BACKNAME, "Prethodna strana");
  1652.     menu_setprop(menu, MPROP_NEXTNAME, "Sledeca strana");
  1653.     menu_display(id, menu);
  1654.    
  1655.     client_cmd(id, "spk QTM_CodMod/select");
  1656. }
  1657. public OpisKlase_Handle(id, menu, item)
  1658. {
  1659.     client_cmd(id, "spk QTM_CodMod/select");
  1660.    
  1661.     if(item++ == MENU_EXIT)
  1662.     {
  1663.         menu_destroy(menu);
  1664.         return PLUGIN_CONTINUE;
  1665.     }
  1666.     new opis[512];
  1667.     format(opis, charsmax(opis), "\rKlasa: \d%s^n%s", naziv_klase[item], novi_opis[item]);
  1668.     show_menu(id, 1023, opis);
  1669.    
  1670.     return PLUGIN_CONTINUE;
  1671. }
  1672. public IzaberiKlasu(id)
  1673. {
  1674.     new menu = menu_create("\yOdaberi Menu:", "IzaberiFrakciju_Handle");
  1675.     for(new i = 1;i<sizeof(frakcje);i++)
  1676.     {
  1677.         menu_additem(menu, frakcje[i]);
  1678.     }
  1679.     menu_display(id, menu);
  1680.     menu_setprop(menu, MPROP_EXITNAME, "\rIzadji");
  1681. }
  1682. public IzaberiFrakciju_Handle(id, menu2, item)
  1683. {      
  1684.     if(item == MENU_EXIT)
  1685.     {
  1686.         menu_destroy(menu2);
  1687.         return PLUGIN_CONTINUE;
  1688.     }
  1689.     item++;
  1690.     frakcija_igraca[id] = item;
  1691.     new menu = menu_create("\yIzaberi Klasu:", "IzaberiKlasu_Handle");
  1692.     new klasa[50];
  1693.     for(new i=1; i<sizeof naziv_klase; i++)
  1694.     {
  1695.         if(pripada[i] == item)
  1696.         {
  1697.             UcitajPodatke(id, i);
  1698.             format(klasa, 49, "\r%s %s \rLevel:\y %i", naziv_klase[i], sufix_za_klasu[i], level_igraca[id]);
  1699.             menu_additem(menu, klasa);
  1700.         }
  1701.     }
  1702.     UcitajPodatke(id, klasa_igraca[id]);
  1703.    
  1704.     menu_setprop(menu, MPROP_EXITNAME, "\rIzadji");
  1705.     menu_setprop(menu, MPROP_BACKNAME, "\yPredhodna Strana");
  1706.     menu_setprop(menu, MPROP_NEXTNAME, "\ySledeca Strana");
  1707.     menu_display(id, menu);
  1708.    
  1709.     client_cmd(id, "spk mw/select");
  1710.    
  1711.     return PLUGIN_CONTINUE;
  1712. }
  1713. public IzaberiKlasu_Handle(id, menu, item)
  1714. {
  1715.     client_cmd(id, "spk mw/select");
  1716.    
  1717.     if(item == MENU_EXIT)
  1718.     {
  1719.         menu_destroy(menu);
  1720.         return PLUGIN_CONTINUE;
  1721.     }      
  1722.    
  1723.     item++;
  1724.    
  1725.     new ile = 0;
  1726.     for(new i=1; i<sizeof naziv_klase; i++)
  1727.     {
  1728.         if(pripada[i] == frakcija_igraca[id])
  1729.         {
  1730.             ile++;
  1731.         }
  1732.         if(ile == item)
  1733.         {
  1734.             item = i;
  1735.             break;
  1736.         }
  1737.     }
  1738.     if(item == klasa_igraca[id])
  1739.     {
  1740.         ColorChat(id, NORMAL, "^3[COD:MW4]^4 Vec ste ta klasa");
  1741.         return PLUGIN_CONTINUE;
  1742.     }
  1743.     new Timee[10];
  1744.    
  1745.         get_time("%H", Timee, charsmax(Timee));
  1746.    
  1747.         new DnevnoVreme = (equal(Timee, "09") || equal(Timee, "10") || equal(Timee, "11") || equal(Timee, "12")
  1748.         || equal(Timee, "13") || equal(Timee, "14") || equal(Timee, "15") || equal(Timee, "16")
  1749.         || equal(Timee, "17") || equal(Timee, "18") || equal(Timee, "19") || equal(Timee, "20")
  1750.     || equal(Timee, "21"));  
  1751.  
  1752.    
  1753.     if(item == Rambo && !(get_user_flags(id) & ADMIN_LEVEL_A) && DnevnoVreme)  
  1754.     {
  1755.         ColorChat(id, GREY, "[Cod:Mw4]^3 Nemate pristup ^4 Premium Klasi.");
  1756.         IzaberiKlasu(id);
  1757.         return PLUGIN_CONTINUE;
  1758.     }
  1759.     if(item == Assassin && !(get_user_flags(id) & ADMIN_LEVEL_B) && DnevnoVreme)
  1760.     {
  1761.         ColorChat(id, GREY, "[Cod:Mw4]^3 Nemate pristup ^4 Premium Klasi.");
  1762.         IzaberiKlasu(id);
  1763.         return PLUGIN_CONTINUE;
  1764.     }
  1765.     if(item == Bazooka && !(get_user_flags(id) & ADMIN_LEVEL_C) && DnevnoVreme)
  1766.     {
  1767.         ColorChat(id, GREY, "[Cod:Mw4]^3 Nemate pristup ^4 Premium Klasi.");
  1768.         IzaberiKlasu(id);
  1769.         return PLUGIN_CONTINUE;
  1770.     }
  1771.     if(item == Armageddon && !(get_user_flags(id) & ADMIN_LEVEL_D) && DnevnoVreme)
  1772.     {
  1773.         ColorChat(id, GREY, "[Cod:Mw4]^3 Nemate pristup ^4 Premium Klasi.");
  1774.         IzaberiKlasu(id);
  1775.         return PLUGIN_CONTINUE;
  1776.     }
  1777.  
  1778.     if(item == Major && !(get_user_flags(id) & ADMIN_LEVEL_E) && DnevnoVreme)
  1779.     {
  1780.         ColorChat(id, GREY, "[Cod:Mw4]^3 Nemate pristup ^4 Premium Klasi.");
  1781.         IzaberiKlasu(id);
  1782.         return PLUGIN_CONTINUE;
  1783.     }
  1784.  
  1785.     if(item == Pjandura && !(get_user_flags(id) & ADMIN_LEVEL_F) && DnevnoVreme)
  1786.     {
  1787.         ColorChat(id, GREY, "[Cod:Mw4]^3 Nemate pristup ^4 Premium Klasi.");
  1788.         IzaberiKlasu(id);
  1789.         return PLUGIN_CONTINUE;
  1790.     }
  1791.        
  1792.     if(klasa_igraca[id])
  1793.     {
  1794.         nova_klasa_igraca[id] = item;
  1795.         ColorChat(id, GREY, "[Cod:Mw4]^4 Klasa ce biti promenjena u sledecoj rundi.");
  1796.     }
  1797.     else
  1798.     {
  1799.         klasa_igraca[id] = item;
  1800.         UcitajPodatke(id, klasa_igraca[id]);
  1801.        
  1802.         if(is_user_alive(id) && is_user_connected(id))
  1803.         {
  1804.             Pocetak(id)
  1805.         }
  1806.     }
  1807.     return PLUGIN_CONTINUE;
  1808. }
  1809. public DodelaPoena(id)
  1810. {
  1811.     new inteligencija[65], inteligencija10[65];
  1812.     new energija[60], energija10[60];
  1813.     new snaga[60], snaga10[60];
  1814.     new kondicija[60], kondicija10[60];
  1815.     new naslov[25];
  1816.     format(inteligencija, 64, "\yInteligencija: \r%i \y(Povecava napad)", inteligencija_igraca[id]);
  1817.     format(energija, 59, "\yEnergija: \r%i \y(Povecaca energiju)", energija_igraca[id]);
  1818.     format(snaga, 59, "\ySnaga: \r%i \y(Smanjuje povrede)", snaga_igraca[id]);
  1819.     format(kondicija, 59, "\yKondicija: \r%i \y(Povecava tempo hodanja)", kondicija_igraca[id]);
  1820.     format(inteligencija10, 64, "Dodaj 10 poena na inteligenciju");
  1821.     format(energija10, 59, "Dodaj 10 poena na energiju");
  1822.     format(snaga10, 59, "Dodaj 10 poena na snagu");
  1823.     format(kondicija10, 59, "Dodaj 10 poena na kondiciju");
  1824.     format(naslov, 24, "Dodeli poena(%i):", poeni_igraca[id]);
  1825.     new menu = menu_create(naslov, "DodelaPoena_Handler");
  1826.     menu_additem(menu, inteligencija);
  1827.     menu_additem(menu, energija);
  1828.     menu_additem(menu, snaga);
  1829.     menu_additem(menu, kondicija);
  1830.     menu_additem(menu, inteligencija10);
  1831.     menu_additem(menu, energija10);
  1832.     menu_additem(menu, snaga10);
  1833.     menu_additem(menu, kondicija10);
  1834.     menu_display(id, menu);
  1835.     #if defined BOTY
  1836.     if(is_user_bot2(id))
  1837.         DodelaPoena_Handler(id, menu, random(4));
  1838.     #endif
  1839. }
  1840. public DodelaPoena_Handler(id, menu, item)
  1841. {
  1842.     client_cmd(id, "spk QTM_CodMod/select");
  1843.    
  1844.     if(item == MENU_EXIT)
  1845.     {
  1846.         menu_destroy(menu);
  1847.         return PLUGIN_CONTINUE;
  1848.     }
  1849.     if(poeni_igraca[id] < 1)
  1850.         return PLUGIN_CONTINUE;
  1851.    
  1852.     switch(item)
  1853.     {
  1854.         case 0:
  1855.         {  
  1856.             if(inteligencija_igraca[id]<500)
  1857.             {
  1858.                 inteligencija_igraca[id]++;
  1859.                 poeni_igraca[id]--;
  1860.             }
  1861.             else
  1862.                 ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo inteligencije");
  1863.            
  1864.         }
  1865.         case 1:
  1866.         {  
  1867.             if(energija_igraca[id]<500)
  1868.             {
  1869.                 energija_igraca[id]++;
  1870.                 poeni_igraca[id]--;
  1871.             }
  1872.             else
  1873.                 ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo energije");
  1874.         }
  1875.         case 2:
  1876.         {  
  1877.             if(snaga_igraca[id]<500)
  1878.             {
  1879.                 snaga_igraca[id]++;
  1880.                 poeni_igraca[id]--;
  1881.             }
  1882.             else
  1883.                 ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo snage");
  1884.            
  1885.         }
  1886.         case 3:
  1887.         {  
  1888.             if(kondicija_igraca[id]<500)
  1889.             {
  1890.                 kondicija_igraca[id]++;
  1891.                 poeni_igraca[id]--;
  1892.             }
  1893.             else
  1894.                 ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo kondicije");
  1895.         }
  1896.         case 4:
  1897.         {
  1898.             if(poeni_igraca[id] < 10)
  1899.             {
  1900.                 ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate dovoljno poena");
  1901.             }
  1902.             else if(inteligencija_igraca[id]<500)
  1903.             {
  1904.                 inteligencija_igraca[id]+=10;
  1905.                 poeni_igraca[id]-=10
  1906.             }
  1907.             else
  1908.                 ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo inteligencije");
  1909.         }
  1910.         case 5:
  1911.         {
  1912.             if(poeni_igraca[id] < 10)
  1913.             {
  1914.                 ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate dovoljno poena");
  1915.             }  
  1916.             else if(energija_igraca[id]<500)
  1917.             {
  1918.                 energija_igraca[id]+=10;
  1919.                 poeni_igraca[id]-=10;
  1920.             }
  1921.             else
  1922.                 ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo energije");
  1923.         }
  1924.         case 6:
  1925.         {
  1926.             if(poeni_igraca[id] < 10)
  1927.             {
  1928.                 ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate dovoljno poena");
  1929.             }  
  1930.             else if(snaga_igraca[id]<500)
  1931.             {
  1932.                 snaga_igraca[id]+=10;
  1933.                 poeni_igraca[id]-=10;
  1934.             }
  1935.             else
  1936.                 ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo snage");
  1937.         }
  1938.         case 7:
  1939.         {
  1940.             if(poeni_igraca[id] < 10)
  1941.             {
  1942.                 ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate dovoljno poena");
  1943.             }  
  1944.             else if(kondicija_igraca[id]<500)
  1945.             {
  1946.                 kondicija_igraca[id]+=10;
  1947.                 poeni_igraca[id]-=10;
  1948.             }
  1949.             else
  1950.                 ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo kondicije");
  1951.         }
  1952.     }
  1953.     if(poeni_igraca[id]>0)
  1954.         DodelaPoena(id);
  1955.    
  1956.     return PLUGIN_CONTINUE;
  1957. }
  1958. public KomandaResetujPoene(id)
  1959. {  
  1960.     ColorChat(id, NORMAL, "^4[COD:MW4] ^1Poeni su resetovani");
  1961.     client_cmd(id, "spk QTM_CodMod/select");
  1962.    
  1963.     ResetujPoene(id)
  1964. }
  1965. public ResetujPoene(id)
  1966. {  
  1967.     poeni_igraca[id] = level_igraca[id]*2-2;
  1968.     inteligencija_igraca[id] = 0;
  1969.     energija_igraca[id] = 0;
  1970.     kondicija_igraca[id] = 0;
  1971.     snaga_igraca[id] = 0;
  1972.    
  1973.     if(poeni_igraca[id])
  1974.         DodelaPoena(id);
  1975. }
  1976. public KreirajMedKit(id)
  1977. {
  1978.     if(!broj_medkit_igraca[id])
  1979.     {
  1980.         set_hudmessage(255, 0, 0, 0.23, 0.10, 0, 6.0, 6.0);
  1981.         show_hudmessage(id, "Nemate vise pakete za prvu pomoc");
  1982.         return PLUGIN_CONTINUE;
  1983.     }
  1984.    
  1985.     if(prethodna_raketa_igraca[id] + 5.0 > get_gametime())
  1986.     {
  1987.         set_hudmessage(255, 0, 0, 0.23, 0.10, 0, 6.0, 6.0);
  1988.         show_hudmessage(id, "Mozate da lecite za 5s!");
  1989.         return PLUGIN_CONTINUE;
  1990.     }
  1991.    
  1992.     prethodna_raketa_igraca[id] = get_gametime();
  1993.     broj_medkit_igraca[id]--;
  1994.    
  1995.     new Float:origin[3];
  1996.     entity_get_vector(id, EV_VEC_origin, origin);
  1997.    
  1998.     new ent = create_entity("info_target");
  1999.     entity_set_string(ent, EV_SZ_classname, "MedKit");
  2000.     entity_set_edict(ent, EV_ENT_owner, id);
  2001.     entity_set_int(ent, EV_INT_solid, SOLID_NOT);
  2002.     entity_set_vector(ent, EV_VEC_origin, origin);
  2003.     entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
  2004.    
  2005.    
  2006.     entity_set_model(ent, "models/w_medkit.mdl");
  2007.     set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 )  ;
  2008.     drop_to_floor(ent);
  2009.    
  2010.     entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
  2011.    
  2012.     return PLUGIN_CONTINUE;
  2013. }
  2014. public MedKitThink(ent)
  2015. {
  2016.     new id = entity_get_edict(ent, EV_ENT_owner);
  2017.     new totem_dist = 300;
  2018.     new totem_heal = 5+floatround(inteligencija_igraca[id]*0.5);
  2019.     if (entity_get_edict(ent, EV_ENT_euser2) == 1)
  2020.     {      
  2021.         new Float:forigin[3], origin[3];
  2022.         entity_get_vector(ent, EV_VEC_origin, forigin);
  2023.         FVecIVec(forigin,origin);
  2024.        
  2025.         new entlist[33];
  2026.         new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);
  2027.        
  2028.         for (new i=0; i < numfound; i++)
  2029.         {      
  2030.             new pid = entlist[i];
  2031.            
  2032.             if (get_user_team(pid) != get_user_team(id))
  2033.                 continue;
  2034.            
  2035.             new energija = get_user_health(pid);
  2036.             new nova_energija = (energija+totem_heal<maximalna_energija_igraca[pid])?energija+totem_heal:maximalna_energija_igraca[pid];
  2037.             if (is_user_alive(pid)) set_user_health(pid, nova_energija);       
  2038.         }
  2039.         entity_set_edict(ent, EV_ENT_euser2, 0);
  2040.         entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
  2041.        
  2042.         return PLUGIN_CONTINUE;
  2043.     }
  2044.     if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
  2045.     {
  2046.         remove_entity(ent);
  2047.         return PLUGIN_CONTINUE;
  2048.     }
  2049.     if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
  2050.         set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) ;
  2051.    
  2052.     new Float:forigin[3], origin[3];
  2053.     entity_get_vector(ent, EV_VEC_origin, forigin);
  2054.     FVecIVec(forigin,origin);
  2055.    
  2056.     //Find people near and give them health
  2057.     message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
  2058.     write_byte( TE_BEAMCYLINDER );
  2059.     write_coord( origin[0] );
  2060.     write_coord( origin[1] );
  2061.     write_coord( origin[2] );
  2062.     write_coord( origin[0] );
  2063.     write_coord( origin[1] + totem_dist );
  2064.     write_coord( origin[2] + totem_dist );
  2065.     write_short( sprite_white );
  2066.     write_byte( 0 ); // startframe
  2067.     write_byte( 0 ); // framerate
  2068.     write_byte( 10 ); // life
  2069.     write_byte( 10 ); // width
  2070.     write_byte( 255 ); // noise
  2071.     write_byte( 255 ); // r, g, b
  2072.     write_byte( 100 );// r, g, b
  2073.     write_byte( 100 ); // r, g, b
  2074.     write_byte( 128 ); // brightness
  2075.     write_byte( 5 ); // speed
  2076.     message_end();
  2077.    
  2078.     entity_set_edict(ent, EV_ENT_euser2 ,1);
  2079.     entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
  2080.    
  2081.     return PLUGIN_CONTINUE;
  2082. }
  2083. public KreirajRakete(id)
  2084. {
  2085.     if(!broj_raketa_igraca[id])
  2086.     {
  2087.         set_hudmessage(255, 0, 0, 0.23, 0.10, 0, 6.0, 6.0);
  2088.         show_hudmessage(id, "Iskoristili ste sve rakete");
  2089.         return PLUGIN_CONTINUE;
  2090.     }
  2091.    
  2092.     if(prethodna_raketa_igraca[id] + 2.0 > get_gametime())
  2093.     {
  2094.         set_hudmessage(255, 0, 0, 0.23, 0.10, 0, 6.0, 6.0);
  2095.         show_hudmessage(id, "Mozate da koristite raketu za 2 sekunde!");
  2096.         return PLUGIN_CONTINUE;
  2097.     }
  2098.    
  2099.     if(is_user_alive(id))
  2100.     {  
  2101.            
  2102.         prethodna_raketa_igraca[id] = get_gametime();
  2103.         broj_raketa_igraca[id]--;
  2104.         new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
  2105.        
  2106.         entity_get_vector(id, EV_VEC_v_angle, vAngle);
  2107.         entity_get_vector(id, EV_VEC_origin , Origin);
  2108.        
  2109.         new Ent = create_entity("info_target");
  2110.        
  2111.         entity_set_string(Ent, EV_SZ_classname, "Rocket");
  2112.         entity_set_model(Ent, "models/rpgrocket.mdl");
  2113.        
  2114.         vAngle[0] *= -1.0;
  2115.        
  2116.         entity_set_origin(Ent, Origin);
  2117.         entity_set_vector(Ent, EV_VEC_angles, vAngle);
  2118.        
  2119.         entity_set_int(Ent, EV_INT_effects, 2);
  2120.         entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
  2121.         entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
  2122.         entity_set_edict(Ent, EV_ENT_owner, id);
  2123.        
  2124.         VelocityByAim(id, 1000 , Velocity);
  2125.         entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
  2126.        
  2127.         message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  2128.         write_byte(22)
  2129.         write_short(Ent)
  2130.         write_short(sprite_beam)
  2131.         write_byte(45)
  2132.         write_byte(4)
  2133.         write_byte(255)
  2134.         write_byte(105)
  2135.         write_byte(180)
  2136.         write_byte(25)
  2137.         message_end()
  2138.     }  
  2139.     return PLUGIN_CONTINUE;
  2140. }
  2141. public KreirajDinamit(id)
  2142. {
  2143.     if(!broj_dinamita_igraca[id])
  2144.     {
  2145.         set_hudmessage(255, 0, 0, 0.23, 0.10, 0, 6.0, 6.0);
  2146.         show_hudmessage(id, "Iskoristili ste sav dinamit");
  2147.         return PLUGIN_CONTINUE;
  2148.     }
  2149.     broj_dinamita_igraca[id]--;
  2150.    
  2151.     new Float:fOrigin[3];
  2152.     entity_get_vector(id, EV_VEC_origin, fOrigin); 
  2153.    
  2154.     new iOrigin[3];
  2155.     for(new i=0;i<3;i++)
  2156.         iOrigin[i] = floatround(fOrigin[i]);
  2157.    
  2158.     message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  2159.     write_byte(TE_EXPLOSION);
  2160.     write_coord(iOrigin[0]);
  2161.     write_coord(iOrigin[1]);
  2162.     write_coord(iOrigin[2]);
  2163.     write_short(sprite_blast);
  2164.     write_byte(32);
  2165.     write_byte(20);
  2166.     write_byte(0);
  2167.     message_end();
  2168.    
  2169.     message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  2170.     write_byte( TE_BEAMCYLINDER );
  2171.     write_coord( iOrigin[0] );
  2172.     write_coord( iOrigin[1] );
  2173.     write_coord( iOrigin[2] );
  2174.     write_coord( iOrigin[0] );
  2175.     write_coord( iOrigin[1] + 300 );
  2176.     write_coord( iOrigin[2] + 300 );
  2177.     write_short( sprite_white );
  2178.     write_byte( 0 ); // startframe
  2179.     write_byte( 0 ); // framerate
  2180.     write_byte( 10 ); // life
  2181.     write_byte( 10 ); // width
  2182.     write_byte( 255 ); // noise
  2183.     write_byte( 255 ); // r, g, b
  2184.     write_byte( 100 );// r, g, b
  2185.     write_byte( 100 ); // r, g, b
  2186.     write_byte( 128 ); // brightness
  2187.     write_byte( 8 ); // speed
  2188.     message_end();
  2189.    
  2190.     new entlist[33];
  2191.     new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
  2192.    
  2193.     for (new i=0; i < numfound; i++)
  2194.     {      
  2195.         new pid = entlist[i];
  2196.        
  2197.         if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24)
  2198.             continue;
  2199.         ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencija_igraca[id]) , 1);
  2200.     }
  2201.     return PLUGIN_CONTINUE;
  2202. }
  2203. public PostaviMine(id)
  2204. {
  2205.     if(!broj_min_igraca[id])
  2206.     {
  2207.         set_hudmessage(255, 0, 0, 0.23, 0.10, 0, 6.0, 6.0);
  2208.         show_hudmessage(id, "Iskoristili ste sve mine");
  2209.         return PLUGIN_CONTINUE;
  2210.     }
  2211.    
  2212.     new entlist[2];
  2213.     if(find_sphere_class(id, "func_buyzone", 750.0, entlist, 1))
  2214.     {
  2215.         set_hudmessage(255, 0, 0, 0.23, 0.10, 0, 6.0, 6.0);
  2216.         show_hudmessage(id, "Ne mozes postaviti mine blizu mesta respawna!");
  2217.         return PLUGIN_CONTINUE;
  2218.     }
  2219.     broj_min_igraca[id]--;
  2220.    
  2221.     new Float:origin[3];
  2222.     entity_get_vector(id, EV_VEC_origin, origin);
  2223.    
  2224.     new ent = create_entity("info_target");
  2225.     entity_set_string(ent ,EV_SZ_classname, "Mine");
  2226.     entity_set_edict(ent ,EV_ENT_owner, id);
  2227.     entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
  2228.     entity_set_origin(ent, origin);
  2229.     entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
  2230.    
  2231.     entity_set_model(ent, "models/mine.mdl");
  2232.     entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
  2233.    
  2234.     drop_to_floor(ent);
  2235.    
  2236.     entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;
  2237.    
  2238.     set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50) ;
  2239.    
  2240.     return PLUGIN_CONTINUE;
  2241. }
  2242. public DodirMine(ent, id)
  2243. {
  2244.     new attacker = entity_get_edict(ent, EV_ENT_owner);
  2245.     if (get_user_team(attacker) != get_user_team(id))
  2246.     {
  2247.         new Float:fOrigin[3];
  2248.         entity_get_vector( ent, EV_VEC_origin, fOrigin);
  2249.        
  2250.         new iOrigin[3];
  2251.         for(new i=0;i<3;i++)
  2252.             iOrigin[i] = floatround(fOrigin[i]);
  2253.        
  2254.         message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  2255.         write_byte(TE_EXPLOSION);
  2256.         write_coord(iOrigin[0]);
  2257.         write_coord(iOrigin[1]);
  2258.         write_coord(iOrigin[2]);
  2259.         write_short(sprite_blast);
  2260.         write_byte(32); // scale
  2261.         write_byte(20); // framerate
  2262.         write_byte(0);// flags
  2263.         message_end();
  2264.         new entlist[33];
  2265.         new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
  2266.        
  2267.         for (new i=0; i < numfound; i++)
  2268.         {      
  2269.             new pid = entlist[i];
  2270.            
  2271.             if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24 || klasa_igraca[id] == Mitraljezac)
  2272.                 continue;
  2273.            
  2274.             ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencija_igraca[attacker]) , 1);
  2275.         }
  2276.         remove_entity(ent);
  2277.     }
  2278. }
  2279. public DodirRakete(ent)
  2280. {
  2281.     if ( !is_valid_ent(ent))
  2282.         return;
  2283.    
  2284.     new attacker = entity_get_edict(ent, EV_ENT_owner);
  2285.    
  2286.     new Float:fOrigin[3];
  2287.     entity_get_vector(ent, EV_VEC_origin, fOrigin);
  2288.    
  2289.     new iOrigin[3];
  2290.     for(new i=0;i<3;i++)
  2291.         iOrigin[i] = floatround(fOrigin[i]);
  2292.    
  2293.     message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  2294.     write_byte(TE_EXPLOSION);
  2295.     write_coord(iOrigin[0]);
  2296.     write_coord(iOrigin[1]);
  2297.     write_coord(iOrigin[2]);
  2298.     write_short(sprite_blast);
  2299.     write_byte(32); // scale
  2300.     write_byte(20); // framerate
  2301.     write_byte(0);// flags
  2302.     message_end();
  2303.    
  2304.     new entlist[33];
  2305.     new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
  2306.    
  2307.     for (new i=0; i < numfound; i++)
  2308.     {      
  2309.         new pid = entlist[i];
  2310.        
  2311.         if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24)
  2312.             continue;
  2313.         ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencija_igraca[attacker]) , 1);
  2314.     }
  2315.     remove_entity(ent);
  2316. }
  2317. public fw_Touch(ent, id)
  2318. {
  2319.     if (!pev_valid(ent))
  2320.         return FMRES_IGNORED
  2321.    
  2322.     new ClassName[32]
  2323.     pev(ent, pev_classname, ClassName, charsmax(ClassName))
  2324.    
  2325.     if(equal(ClassName, "rocket"))
  2326.     {
  2327.        
  2328.         new attacker = pev(ent, pev_owner);
  2329.         new Float:entOrigin[3], Float:fDamage, Float:Origin[3];
  2330.         pev(ent, pev_origin, entOrigin);
  2331.         entOrigin[2] += 1.0;
  2332.        
  2333.         new Float:g_damage = 90.0+(inteligencija_igraca[attacker]/4);
  2334.         new Float:g_radius = 250.0+(inteligencija_igraca[attacker]/4);
  2335.        
  2336.         new victim = -1
  2337.         while((victim = engfunc(EngFunc_FindEntityInSphere, victim, entOrigin, g_radius)) != 0)
  2338.         {      
  2339.             if(!is_user_alive(victim) || get_user_team(attacker) == get_user_team(victim))
  2340.                 continue;
  2341.            
  2342.             pev(victim, pev_origin, Origin);
  2343.             fDamage = g_damage - floatmul(g_damage, floatdiv(get_distance_f(Origin, entOrigin), g_radius));
  2344.             fDamage *= estimate_take_hurt(entOrigin, victim, 0)
  2345.             if(fDamage>0.0)
  2346.             {
  2347.                 UTIL_Kill(attacker, victim, fDamage);
  2348.                
  2349.                 if(get_user_team(attacker)!=get_user_team(victim))
  2350.                     if(pev(victim, pev_health))
  2351.                     ExecuteHam(Ham_TakeDamage, victim, ent, attacker, fDamage, DMG_BULLET)
  2352.                
  2353.             }
  2354.         }  
  2355.         message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
  2356.         write_byte(TE_EXPLOSION);
  2357.         write_coord(floatround(entOrigin[0]));
  2358.         write_coord(floatround(entOrigin[1]));
  2359.         write_coord(floatround(entOrigin[2]));
  2360.         write_short(sprite_blast);
  2361.         write_byte(40);
  2362.         write_byte(30);
  2363.         write_byte(TE_EXPLFLAG_NONE);
  2364.         message_end();
  2365.        
  2366.         message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  2367.         write_byte(5)
  2368.         write_coord(floatround(entOrigin[0]));
  2369.         write_coord(floatround(entOrigin[1]));
  2370.         write_coord(floatround(entOrigin[2]));
  2371.         write_short(sprite_smoke);
  2372.         write_byte(35);
  2373.         write_byte(5);
  2374.         message_end();
  2375.         remove_entity(ent);
  2376.         return FMRES_IGNORED
  2377.     }
  2378.     return FMRES_IGNORED
  2379. }  
  2380. public CurWeapon(id)
  2381. {
  2382.     if(freezetime || !klasa_igraca[id])
  2383.         return PLUGIN_CONTINUE;
  2384.    
  2385.     new weapon = get_user_weapon(id);
  2386.  
  2387.     if(informacije_predmet_igraca[id][0] == 44 && maxClip[weapon] != -1)
  2388.         set_user_clip(id, maxClip[weapon]);
  2389.  
  2390.     PostaviBrzinu(id);
  2391.    
  2392.     set_task(0.1, "PostaviBrzinu", id+ZADATAK_POSTAVI_BRZINU);
  2393.    
  2394.     if(klasa_igraca[id] == Assassin && weapon == CSW_KNIFE)
  2395.         set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 1);
  2396.     else if(klasa_igraca[id] == Assassin && weapon != CSW_KNIFE)
  2397.         set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  2398.  
  2399.     if(informacije_predmet_igraca[id][0] == 40 && weapon == CSW_KNIFE)
  2400.         set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 1);
  2401.     else if(informacije_predmet_igraca[id][0] == 40 && weapon != CSW_KNIFE)
  2402.         set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  2403.  
  2404.     new weapons[32];
  2405.     new weaponsnum;
  2406.     get_user_weapons(id, weapons, weaponsnum);
  2407.     for(new i=0; i<weaponsnum; i++)
  2408.         if(is_user_alive(id))
  2409.             if(maxAmmo[weapons[i]] > 0)
  2410.                 cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  2411.  
  2412.     return PLUGIN_CONTINUE;
  2413. }
  2414.  
  2415. public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
  2416. {
  2417.     if(!is_user_alive(id))
  2418.         return FMRES_IGNORED;
  2419.    
  2420.     if(equal(szSound, "common/wpn_denyselect.wav"))
  2421.     {
  2422.         KoristiPredmet(id);
  2423.         return FMRES_SUPERCEDE;
  2424.     }
  2425.    
  2426.     return FMRES_IGNORED;
  2427. }
  2428. public KoristiPredmet(id)
  2429. {
  2430.     if(informacije_predmet_igraca[id][0] == 19 && informacije_predmet_igraca[id][1]>0)
  2431.     {
  2432.         set_user_health(id, maximalna_energija_igraca[id]);
  2433.         informacije_predmet_igraca[id][1]--;
  2434.     }
  2435.     if(broj_medkit_igraca[id]>0)
  2436.         KreirajMedKit(id);
  2437.     if(broj_raketa_igraca[id]>0)
  2438.         KreirajRakete(id);
  2439.     if(broj_min_igraca[id]>0)
  2440.         PostaviMine(id);
  2441.     if(broj_dinamita_igraca[id]>0)
  2442.         KreirajDinamit(id);
  2443.    
  2444.     return PLUGIN_HANDLED;
  2445. }
  2446. public SacuvajPodatke(id)
  2447. {
  2448.     if(!klasa_igraca[id])
  2449.         return PLUGIN_CONTINUE;
  2450.    
  2451.     new vaultkey[128],vaultdata[256], ID_igraca[64];
  2452.     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]);
  2453.    
  2454.     get_user_authid(id, ID_igraca, charsmax(ID_igraca))
  2455.    
  2456.     format(vaultkey, charsmax(vaultkey),"%s-%i-cod", ID_igraca, klasa_igraca[id]);
  2457.     nvault_set(g_vault,vaultkey,vaultdata);
  2458.    
  2459.     return PLUGIN_CONTINUE;
  2460. }
  2461. public UcitajPodatke(id, klasa)
  2462. {
  2463.     new vaultkey[128],vaultdata[256], ID_igraca[64];
  2464.    
  2465.     get_user_authid(id, ID_igraca, charsmax(ID_igraca))
  2466.    
  2467.     format(vaultkey, charsmax(vaultkey),"%s-%i-cod", ID_igraca, klasa);
  2468.     nvault_get(g_vault,vaultkey,vaultdata,255);
  2469.    
  2470.     replace_all(vaultdata, 255, "#", " ");
  2471.    
  2472.     new playerdata[6][32];
  2473.    
  2474.     parse(vaultdata, playerdata[0], 31, playerdata[1], 31, playerdata[2], 31, playerdata[3], 31, playerdata[4], 31, playerdata[5], 31);
  2475.    
  2476.     iskustvo_igraca[id] = str_to_num(playerdata[0]);
  2477.     level_igraca[id] = str_to_num(playerdata[1])>0?str_to_num(playerdata[1]):1;
  2478.     inteligencija_igraca[id] = str_to_num(playerdata[2]);
  2479.     energija_igraca[id] = str_to_num(playerdata[3]);
  2480.     snaga_igraca[id] = str_to_num(playerdata[4]);
  2481.     kondicija_igraca[id] = str_to_num(playerdata[5]);
  2482.     poeni_igraca[id] = (level_igraca[id]-1)*2-inteligencija_igraca[id]-energija_igraca[id]-snaga_igraca[id]-kondicija_igraca[id];
  2483.    
  2484.     return PLUGIN_CONTINUE;
  2485. }
  2486. public IzbaciPredmet(id)
  2487. {
  2488.     if(informacije_predmet_igraca[id][0])
  2489.     {
  2490.         ColorChat(id, NORMAL, "^4[COD:MW4] ^1Bacio si ^3%s.", naziv_predmeta[informacije_predmet_igraca[id][0]]);
  2491.         Obrisipredmet(id);
  2492.     }
  2493.     else
  2494.         ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate nijedan predmet.", naziv_predmeta[informacije_predmet_igraca[id][0]]);
  2495. }
  2496. public Obrisipredmet(id)
  2497. {
  2498.     informacije_predmet_igraca[id][0] = 0;
  2499.     informacije_predmet_igraca[id][1] = 0;
  2500.  
  2501.     if(is_user_alive(id))
  2502.     {
  2503.         set_user_footsteps(id, 0);
  2504.         set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  2505.         PromeniModel(id, 1);
  2506.     }
  2507. }
  2508. public DajPredmet(id, predmet)
  2509. {
  2510.     Obrisipredmet(id);
  2511.     informacije_predmet_igraca[id][0] = predmet;
  2512.     snaga_predmeta[id] = 160;
  2513.     ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dobio si ^3%s.", naziv_predmeta[informacije_predmet_igraca[id][0]]);  
  2514.    
  2515.     switch(predmet)
  2516.     {
  2517.         case 1:
  2518.         {
  2519.             set_user_footsteps(id, 1);
  2520.         }
  2521.         case 2:
  2522.         {
  2523.             informacije_predmet_igraca[id][1] = random_num(3,6);
  2524.         }
  2525.         case 3:
  2526.         {
  2527.             informacije_predmet_igraca[id][1] = random_num(6, 11);
  2528.         }
  2529.         case 5:
  2530.         {
  2531.             informacije_predmet_igraca[id][1] = random_num(6, 9);
  2532.         }
  2533.         case 6:
  2534.         {
  2535.             if(klasa_igraca[id] == Assassin)
  2536.             {
  2537.                 DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  2538.             }
  2539.             else
  2540.             {
  2541.                 informacije_predmet_igraca[id][1] = random_num(1, 9999);
  2542.                 set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, informacije_predmet_igraca[id][1]);
  2543.             }
  2544.         }
  2545.         case 7:
  2546.         {
  2547.             informacije_predmet_igraca[id][1] = random_num(2, 4);
  2548.         }
  2549.         case 8:
  2550.         {
  2551.             if(klasa_igraca[id] == Marinac)
  2552.                 DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  2553.         }
  2554.         case 9:
  2555.         {
  2556.             informacije_predmet_igraca[id][1] = random_num(1, 3);
  2557.             PromeniModel(id, 0);
  2558.             give_item(id, "weapon_hegrenade");
  2559.         }
  2560.         case 10:
  2561.         {
  2562.             informacije_predmet_igraca[id][1] = random_num(4, 8);
  2563.             give_item(id, "weapon_hegrenade");
  2564.         }
  2565.         case 12:
  2566.         {
  2567.             informacije_predmet_igraca[id][1] = random_num(1, 4);
  2568.         }
  2569.         case 13:
  2570.         {
  2571.             give_item(id, "weapon_awp");
  2572.         }
  2573.         case 15:
  2574.         {
  2575.             if(klasa_igraca[id] == Rambo)
  2576.                 DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  2577.         }
  2578.         case 19:
  2579.         {
  2580.             informacije_predmet_igraca[id][1] = 1;
  2581.         }
  2582.         case 26:
  2583.         {
  2584.             informacije_predmet_igraca[id][1] = random_num(3, 6);
  2585.         }
  2586.         case 27:
  2587.         {
  2588.             informacije_predmet_igraca[id][1] = 3;
  2589.         }
  2590.     }
  2591. }
  2592. public OpisPredmeta(id, menu, item)
  2593. {
  2594.     new opis_predmeta[128];
  2595.     new slucajne_vrednosti[3];
  2596.     num_to_str(informacije_predmet_igraca[id][1], slucajne_vrednosti, 2);
  2597.     format(opis_predmeta, 127, opis_predmet[informacije_predmet_igraca[id][0]]);
  2598.     replace_all(opis_predmeta, 127, "LW", slucajne_vrednosti);
  2599.     if(item++ == MENU_EXIT)
  2600.     {
  2601.         menu_destroy(menu);
  2602.         return PLUGIN_CONTINUE;
  2603.     }
  2604.     new opis2[552]
  2605.     format(opis2, charsmax(opis2), "\rPredmet: \y%s^n\rOpis: \d%s", naziv_predmeta[informacije_predmet_igraca[id][0]], opis_predmeta);
  2606.     show_menu(id, 1023, opis2)
  2607.     return PLUGIN_CONTINUE;
  2608. }  
  2609. public Provera(id)
  2610. {
  2611.     id-=ZADATAK_PROVERA;
  2612.     ExecuteHamB(Ham_CS_RoundRespawn, id);
  2613. }  
  2614. public ProveriNivo(id)
  2615. {  
  2616.     if(level_igraca[id] < 1000)
  2617.     {
  2618.         while(iskustvo_igraca[id] >= iskustvo_levelu[level_igraca[id]])
  2619.         {
  2620.             level_igraca[id]++;
  2621.             LevelRank[id] = level_igraca[id]
  2622.             LevelSacuvajRank(id, LevelRank[id])  
  2623.             set_hudmessage(245, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
  2624.             ShowSyncHudMsg(id, SyncHudObj3, "Dobrodosao na %i level !", level_igraca[id]);
  2625.             client_cmd(id, "spk QTM_CodMod/levelup");
  2626.         }
  2627.        
  2628.         poeni_igraca[id] = (level_igraca[id]-1)*2-inteligencija_igraca[id]-energija_igraca[id]-snaga_igraca[id]-kondicija_igraca[id];
  2629.     }
  2630.     SacuvajPodatke(id);
  2631. }  
  2632. public PokaziInformacije(id)
  2633. {  
  2634.     id -= ZADATAK_POKAZI_INFORMACIJE;
  2635.    
  2636.     set_task(0.1, "PokaziInformacije", id+ZADATAK_POKAZI_INFORMACIJE);
  2637.    
  2638.     if(is_user_connected(id) && !is_user_alive(id))
  2639.     {
  2640.         new target = entity_get_int(id, EV_INT_iuser2);
  2641.        
  2642.         if(!target)
  2643.             return PLUGIN_CONTINUE;
  2644.        
  2645.         set_hudmessage(-122, 255, 0, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  2646.         ShowSyncHudMsg(id, SyncHudObj, "Klasa: %s^nIskustvo: %i^nLevel: %i^nEnergija: %d^nPredmet: %s", naziv_klase[klasa_igraca[target]], iskustvo_igraca[target], level_igraca[target], get_user_health(target), naziv_predmeta[informacije_predmet_igraca[target][0]]);
  2647.        
  2648.         return PLUGIN_CONTINUE;
  2649.     }
  2650.     set_hudmessage(-235, -235, -235, 0.02, 0.17, 0, 0.0, 0.3, 0.0, 0.0);
  2651.     ShowSyncHudMsg(id, SyncHudObj, "-=[Klasa: %s]=-^n-=[Iskustvo: %i]=-^n-=[Level: %i]=-^n-=[Energija: %d]=-^n-=[Predmet: %s]=-", naziv_klase[klasa_igraca[id]], iskustvo_igraca[id], level_igraca[id], get_user_health(id), naziv_predmeta[informacije_predmet_igraca[id][0]]);
  2652.     if(broj_medkit_igraca[id] != 0)
  2653.     {
  2654.         set_hudmessage(240, 220, 200, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  2655.         ShowSyncHudMsg(id, SyncHudObj2, "[Medkit: %i]", broj_medkit_igraca[id])
  2656.     }
  2657.     if(broj_raketa_igraca[id] != 0)
  2658.     {
  2659.         set_hudmessage(240, 220, 200, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  2660.         ShowSyncHudMsg(id, SyncHudObj2, "[Rakete: %i]", broj_raketa_igraca[id])
  2661.     }
  2662.     if(broj_min_igraca[id] != 0)
  2663.     {
  2664.         set_hudmessage(240, 220, 200, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  2665.         ShowSyncHudMsg(id, SyncHudObj2, "[Mine: %i]", broj_min_igraca[id])
  2666.     }
  2667.     if(broj_dinamita_igraca[id] != 0)
  2668.     {
  2669.         set_hudmessage(240, 220, 200, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  2670.         ShowSyncHudMsg(id, SyncHudObj2, "[Dinamit: %i]", broj_dinamita_igraca[id])
  2671.     }  
  2672.     return PLUGIN_CONTINUE;
  2673.  
  2674. }    
  2675. public PokaziReklame(id)
  2676. {
  2677.     id-=ZADATAK_POKAZI_REKLAME;
  2678.     ColorChat(0, GREEN, "[COD:MW4]^1 Besplatne premium klase od^3 22 h^1 do^3 09 h");
  2679. }
  2680.  
  2681. public Pomoc(id)
  2682.     show_menu(id, 1023, "\y/reset\w - Resetuje poene^n\y/klasa\w - Promeni klasu^n\y/drop\w - Izbaci predmet^n\y/predmet\w - Pokazuje opis vaseg predmeta^n\y/opis\w - Pokazuje opis klase^n\y+use\w - Koristi specijalne moci klase", -1, "Pomoc");
  2683. public PostaviBrzinu(id)
  2684. {
  2685.     id -= id > 32 ? ZADATAK_POSTAVI_BRZINU : 0
  2686.    
  2687.     if(klasa_igraca[id])
  2688.     {
  2689.         set_user_maxspeed(id, brzina_igraca[id])
  2690.     }
  2691. }
  2692. public PromeniModel(id,reset)
  2693. {
  2694.     if (id<1 || id>32 || !is_user_connected(id))
  2695.         return PLUGIN_CONTINUE;
  2696.    
  2697.     if (reset)
  2698.         cs_reset_user_model(id);
  2699.     else
  2700.     {
  2701.         new num = random_num(0,3);
  2702.         switch(get_user_team(id))
  2703.         {
  2704.             case 1: cs_set_user_model(id, Ubrania_CT[num]);
  2705.                 case 2:cs_set_user_model(id, Ubrania_Terro[num]);
  2706.         }
  2707.     }
  2708.     return PLUGIN_CONTINUE;
  2709. }
  2710. public fw_traceline(Float:vecStart[3],Float:vecEnd[3],ignoreM,id,trace)
  2711. {
  2712.     if(!is_user_connected(id))
  2713.         return;
  2714.    
  2715.     new hit = get_tr2(trace, TR_pHit);
  2716.    
  2717.     if(!is_user_connected(hit))
  2718.         return;
  2719.    
  2720.     new hitzone = get_tr2(trace, TR_iHitgroup);
  2721.     if(informacije_predmet_igraca[hit][0] == 41 && hitzone != HIT_HEAD)
  2722.         set_tr2(trace, TR_iHitgroup, 8);
  2723.    
  2724.     if(informacije_predmet_igraca[id][0] == 42 && !random(3) && get_user_weapon(id) == CSW_M4A1)
  2725.         set_tr2(trace, TR_iHitgroup, HIT_HEAD);
  2726.        
  2727.     if(informacije_predmet_igraca[id][0] == 43 && !random(3) && get_user_weapon(id) == CSW_AK47)
  2728.         set_tr2(trace, TR_iHitgroup, HIT_HEAD);
  2729. }
  2730. public client_PreThink(id)
  2731. {
  2732.     if (entity_get_int(id, EV_INT_button)& 2 && informacije_predmet_igraca[id][0] == 45) {
  2733.         new flags = entity_get_int(id, EV_INT_flags)
  2734.        
  2735.         if(!is_user_alive(id))
  2736.             return PLUGIN_HANDLED;
  2737.            
  2738.         if(flags & FL_WATERJUMP)
  2739.             return PLUGIN_CONTINUE;
  2740.            
  2741.         if(entity_get_int(id, EV_INT_waterlevel) >= 2 )
  2742.             return PLUGIN_CONTINUE;
  2743.            
  2744.         if(!(flags & FL_ONGROUND))
  2745.             return PLUGIN_CONTINUE;
  2746.        
  2747.         new Float:velocity[3]
  2748.         entity_get_vector(id, EV_VEC_velocity, velocity)
  2749.         velocity[2] += 250.0
  2750.         entity_set_vector(id, EV_VEC_velocity, velocity)
  2751.        
  2752.         entity_set_int(id, EV_INT_gaitsequence, 6)
  2753.     }
  2754.     return PLUGIN_CONTINUE
  2755. }
  2756. public DodirOruzija(weapon,id)
  2757. {
  2758.     if(!is_user_connected(id))
  2759.         return HAM_IGNORED;
  2760.    
  2761.     new model[23];
  2762.     pev(weapon, pev_model, model, 22);
  2763.     if (pev(weapon, pev_owner) == id || containi(model, "w_backpack") != -1)
  2764.         return HAM_IGNORED;
  2765.     return HAM_SUPERCEDE;
  2766. }
  2767. stock bool:UTIL_In_FOV(id,target)
  2768. {
  2769.     if (Find_Angle(id,target,9999.9) > 0.0)
  2770.         return true;
  2771.    
  2772.     return false;
  2773. }
  2774. stock UTIL_Kill(attacker, this, Float:damage)
  2775. {
  2776.     if(get_user_health(this) <= floatround(damage))
  2777.         lansirano[attacker][this] = true;  
  2778. }
  2779. #if defined BOTY
  2780. public is_user_bot2(id)
  2781. {
  2782.     new ping, loss
  2783.     get_user_ping(id, ping, loss)
  2784.     if(ping > 0 && loss > 0)
  2785.         return false
  2786.     return true
  2787. }
  2788. #endif
  2789. stock Float:Find_Angle(Core,Target,Float:dist)
  2790. {
  2791.     new Float:vec2LOS[2];
  2792.     new Float:flDot;
  2793.     new Float:CoreOrigin[3];
  2794.     new Float:TargetOrigin[3];
  2795.     new Float:CoreAngles[3];
  2796.    
  2797.     pev(Core,pev_origin,CoreOrigin);
  2798.     pev(Target,pev_origin,TargetOrigin);
  2799.    
  2800.     if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
  2801.         return 0.0;
  2802.    
  2803.     pev(Core,pev_angles, CoreAngles);
  2804.    
  2805.     for ( new i = 0; i < 2; i++ )
  2806.         vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i];
  2807.    
  2808.     new Float:veclength = Vec2DLength(vec2LOS);
  2809.    
  2810.     //Normalize V2LOS
  2811.     if (veclength <= 0.0)
  2812.     {
  2813.         vec2LOS[0] = 0.0;
  2814.         vec2LOS[1] = 0.0;
  2815.     }
  2816.     else
  2817.     {
  2818.         new Float:flLen = 1.0 / veclength;
  2819.         vec2LOS[0] = vec2LOS[0]*flLen;
  2820.         vec2LOS[1] = vec2LOS[1]*flLen;
  2821.     }
  2822.     //Do a makevector to make v_forward right
  2823.     engfunc(EngFunc_MakeVectors,CoreAngles);
  2824.    
  2825.     new Float:v_forward[3];
  2826.     new Float:v_forward2D[2];
  2827.     get_global_vector(GL_v_forward, v_forward);
  2828.    
  2829.     v_forward2D[0] = v_forward[0];
  2830.     v_forward2D[1] = v_forward[1];
  2831.    
  2832.     flDot = vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1];
  2833.    
  2834.     if ( flDot > 0.5 )
  2835.     {
  2836.         return flDot;
  2837.     }
  2838.     return 0.0;
  2839. }
  2840. stock Float:Vec2DLength( Float:Vec[2] )  
  2841. {
  2842.     return floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
  2843. }
  2844. stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
  2845. {
  2846.     message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
  2847.     write_short( duration );    // Duration of fadeout
  2848.     write_short( holdtime );    // Hold time of color
  2849.     write_short( fadetype );    // Fade type
  2850.     write_byte ( red );     // Red
  2851.     write_byte ( green );       // Green
  2852.     write_byte ( blue );        // Blue
  2853.     write_byte ( alpha );   // Alpha
  2854.     message_end();
  2855. }
  2856. public SetModel(ent, model[])
  2857. {
  2858.     if(!pev_valid(ent))
  2859.         return FMRES_IGNORED
  2860.    
  2861.     if(!equal(model, "models/w_p228.mdl"))
  2862.         return FMRES_IGNORED;
  2863.    
  2864.     new id = pev(ent, pev_owner);
  2865.     if(!ima_bazuku[id])
  2866.         return FMRES_IGNORED;
  2867.    
  2868.     engfunc(EngFunc_SetModel, ent, "models/w_law.mdl");
  2869.     set_pev(ent, pev_iuser4, rakete_igraca[id]);
  2870.     ima_bazuku[id] = false;
  2871.     return FMRES_SUPERCEDE;
  2872. }
  2873. public message_DeathMsg()
  2874. {
  2875.     static killer, victim;
  2876.     killer = get_msg_arg_int(1);
  2877.     victim = get_msg_arg_int(2);
  2878.    
  2879.     if(lansirano[killer][victim])
  2880.     {
  2881.         lansirano[killer][victim] = false;
  2882.         set_msg_arg_string(4, "grenade");
  2883.         return PLUGIN_CONTINUE;
  2884.     }
  2885.     return PLUGIN_CONTINUE;
  2886. }
  2887. public task_launcher_reload(id)
  2888. {
  2889.     id -= 3512;
  2890.     reloading[id] = false;
  2891.     set_pev(id, pev_weaponanim, 0);
  2892. }
  2893. public Weapon_Deploy(ent)
  2894. {
  2895.     new id = get_pdata_cbase(ent, 41, 4);
  2896.     if(ima_bazuku[id])
  2897.     {
  2898.         set_pev(id, pev_viewmodel2, "models/v_law.mdl");
  2899.         set_pev(id, pev_weaponmodel2, "models/p_law.mdl");
  2900.     }
  2901.     return PLUGIN_CONTINUE;
  2902. }
  2903. public Weapon_WeaponIdle(ent)
  2904. {
  2905.     new id = get_pdata_cbase(ent, 41, 4);
  2906.     if(get_user_weapon(id) == 1 && ima_bazuku[id])
  2907.     {
  2908.         if(!idle[id])
  2909.             idle[id] = get_gametime();
  2910.     }
  2911. }
  2912. stock set_user_clip(id, ammo)
  2913. {
  2914.     new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
  2915.     get_weaponname(weapon, weaponname, 31);
  2916.     while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
  2917.         if(entity_get_edict(weaponid, EV_ENT_owner) == id)
  2918.     {
  2919.         set_pdata_int(weaponid, 51, ammo, 4);
  2920.         return weaponid;
  2921.     }
  2922.     return 0;
  2923. }
  2924. stock Float:estimate_take_hurt(Float:fPoint[3], ent, ignored)
  2925. {
  2926.     new Float:fOrigin[3];
  2927.     new tr;
  2928.     new Float:fFraction;
  2929.     pev(ent, pev_origin, fOrigin);
  2930.     engfunc(EngFunc_TraceLine, fPoint, fOrigin, DONT_IGNORE_MONSTERS, ignored, tr);
  2931.     get_tr2(tr, TR_flFraction, fFraction);
  2932.    
  2933.     if(fFraction == 1.0 || get_tr2(tr, TR_pHit) == ent)
  2934.     {
  2935.         return 1.0;
  2936.     }
  2937.     return 0.6;
  2938. }
  2939. public message_Health(msgid, dest, id)
  2940. {
  2941.     if(!is_user_alive(id))
  2942.         return PLUGIN_CONTINUE;
  2943.    
  2944.     static hp;
  2945.     hp = get_msg_arg_int(1);
  2946.    
  2947.     if(hp > 255 && (hp % 256) == 0)
  2948.         set_msg_arg_int(1, ARG_BYTE, ++hp);
  2949.    
  2950.     return PLUGIN_CONTINUE;
  2951. }
  2952. public BlokirajKomande()
  2953.     return PLUGIN_HANDLED;
  2954.  
  2955. public plugin_end()
  2956.     nvault_close( g_vault )
  2957. public cmd_setpredmet(id, level, cid)
  2958. {
  2959.     if(!cmd_access(id,level,cid,3))
  2960.         return PLUGIN_HANDLED;
  2961.    
  2962.     new arg1[33];
  2963.     new arg2[6];
  2964.    
  2965.     read_argv(1, arg1, 32);
  2966.     read_argv(2, arg2, 5);
  2967.    
  2968.     new igrac  = cmd_target(id, arg1, 0)
  2969.     new predmet = str_to_num(arg2)
  2970.    
  2971.     if(!is_user_alive(igrac))
  2972.     {
  2973.         client_print(id, print_console, "Ne mozete dati predmet mrtvom igracu.");
  2974.         return PLUGIN_HANDLED;
  2975.     }
  2976.     if(predmet < 0 || predmet > sizeof naziv_predmeta-1)
  2977.     {
  2978.         client_print(id, print_console, "Uneli ste nevazeci broj predmeta.");
  2979.         return PLUGIN_HANDLED;
  2980.     }
  2981.     DajPredmet(igrac, predmet);
  2982.    
  2983.     if(get_cvar_num("cod_predmet_log"))
  2984.     {
  2985.         new vreme[9] ,authid[32], authid2[32], name2[32], name[32];
  2986.         get_user_authid(id, authid, 31);
  2987.         get_user_authid(igrac, authid2, 31);
  2988.         get_user_name(igrac, name2, 31);
  2989.         get_user_name(id, name, 31);
  2990.         get_time("%H:%M:%S", vreme, 8);
  2991.     }
  2992.     return PLUGIN_HANDLED;
  2993. }
  2994. public Komande(id)
  2995.     show_menu(id, 1023, "\r/reset\y -Ponovo podeli poene^n\r/shop\y - Otvari Shop^n\r/klasa\y - Izaberi klasu^n\r/drop\y - Izbaci predmet^n\r/predmet\y - Opis tvog predmeta^n\r/opis\y -Opis svih klasa^n\rna +use \y- Koristi specijalne moci klase^n\rna (+radio2) \y- Koristi killstreak^n\r/rs\y resetuje skor^n\r/pomoc\y Ukljucuje/Iskljucuje pomoc u chatu^n\r/def\y Kupuje def kit", -1, "Komande");
  2996. public Prodaj(id)
  2997. {
  2998.     //client_cmd(id, "spk MW4/select");  
  2999.    
  3000.     if(!informacije_predmet_igraca[id][0])
  3001.     {
  3002.         ColorChat(id, NORMAL, "^4[COD:MW4]^1 Nemate Predmet.");
  3003.         return PLUGIN_CONTINUE;
  3004.     }
  3005.     else
  3006.     {
  3007.         new pare_igraca;
  3008.         pare_igraca = cs_get_user_money(id);
  3009.         ColorChat(id, NORMAL, "^4[COD:MW4] ^1Prodao si ^3%s^1 za ^3$2500", naziv_predmeta[informacije_predmet_igraca[id][0]]);
  3010.         Obrisipredmet(id);
  3011.         cs_set_user_money(id, pare_igraca+2500);
  3012.     }
  3013.     return PLUGIN_CONTINUE;
  3014. }  
  3015. public DajNekomPredmet(id)
  3016. {
  3017.     new menu = menu_create("Izaberi Igraca", "DajNekomPredmet_Handle");
  3018.     new cb = menu_makecallback("DajNekomPredmet_Callback");
  3019.     new broj_predmeta;
  3020.     for(new i=0; i<=32; i++)
  3021.     {
  3022.         if(!is_user_connected(i))
  3023.             continue;
  3024.         daj_igracu[broj_predmeta++] = i;
  3025.         menu_additem(menu, naziv_igraca[i], "0", 0, cb);
  3026.     }
  3027.     menu_display(id, menu);
  3028. }
  3029. public DajNekomPredmet_Handle(id, menu, item)
  3030. {
  3031.     if(item < 1 || item > 32) return PLUGIN_CONTINUE;
  3032.    
  3033.     if(!is_user_connected(daj_igracu[item]))
  3034.     {
  3035.         ColorChat(id, NORMAL, "^4[COD:MW4]^1 Igrac se diskonektovao.");
  3036.         return PLUGIN_CONTINUE;
  3037.     }
  3038.     if(dobio_predmet[id])
  3039.     {
  3040.         ColorChat(id, NORMAL, "^4[COD:MW4]^1 Morate sacekati sledecu rundu.");
  3041.         return PLUGIN_CONTINUE;
  3042.     }
  3043.     if(!informacije_predmet_igraca[id][0])
  3044.     {
  3045.         ColorChat(id, NORMAL, "^4[COD:MW4]^1 Nemate nijedan predmet.");
  3046.         return PLUGIN_CONTINUE;
  3047.     }
  3048.     if(informacije_predmet_igraca[daj_igracu[item]][0])
  3049.     {
  3050.         ColorChat(id, NORMAL, "^4[COD:MW4]^1 Ovaj igrac vec ima predmet.");
  3051.         return PLUGIN_CONTINUE;
  3052.     }
  3053.     if(!is_user_alive(daj_igracu[item]))
  3054.     {
  3055.         ColorChat(id, NORMAL, "^4[COD:MW4]^1 Igrac kome dajes mora biti ziv.");
  3056.         return PLUGIN_CONTINUE;
  3057.     }
  3058.    
  3059.     dobio_predmet[daj_igracu[item]] = true;
  3060.     DajPredmet(daj_igracu[item], informacije_predmet_igraca[id][0]);
  3061.     informacije_predmet_igraca[daj_igracu[item]][1] = informacije_predmet_igraca[id][1];
  3062.     ColorChat(id, NORMAL, "^4[COD:MW4]^1 Nagradio ^3%s ^1sa ^3%s.", naziv_igraca[daj_igracu[item]], naziv_predmeta[informacije_predmet_igraca[id][0]]);
  3063.     ColorChat(daj_igracu[item], NORMAL, "^4[COD:MW4]^1 Dobio si ^3 %s^1 od ^3%s.",naziv_predmeta[informacije_predmet_igraca[id][0]] , naziv_igraca[id]);
  3064.     Obrisipredmet(id);
  3065.     return PLUGIN_CONTINUE;
  3066. }
  3067. public DajNekomPredmet_Callback(id, menu, item)
  3068. {
  3069.     if(daj_igracu[item] == id)
  3070.         return ITEM_DISABLED;
  3071.     return ITEM_ENABLED;
  3072. }  
  3073. public Menu(id)
  3074. {
  3075.     new menu = menu_create("Menu:", "Menu_handle");
  3076.     menu_additem(menu, "\rKlasa\y(Klase Meni)");
  3077.     menu_additem(menu, "\rOpis Klase\y(Opis Klasa Meni)");
  3078.     menu_additem(menu, "\rShop\y(Shop Menu)");
  3079.     menu_display(id, menu);
  3080. }
  3081. public Menu_handle(id, menu, item)
  3082. {
  3083.     //client_cmd(id, "spk QTM_CodMod/select");
  3084.    
  3085.     if(item == MENU_EXIT)
  3086.     {
  3087.         menu_destroy(menu);
  3088.         return PLUGIN_CONTINUE;
  3089.     }
  3090.     switch(item)
  3091.     {
  3092.         case 0:
  3093.         {
  3094.             IzaberiKlasu(id)
  3095.         }
  3096.         case 1:
  3097.         {
  3098.             OpisKlase(id)
  3099.         }
  3100.         case 2:
  3101.         {
  3102.             Shop(id)
  3103.         }
  3104.     }
  3105.     return PLUGIN_CONTINUE;
  3106. }
  3107. public KupiDefuse(id)
  3108. {
  3109.     new pare_igraca = cs_get_user_money(id);
  3110.    
  3111.     if(get_user_team(id) != 2)
  3112.     {
  3113.         ColorChat(id, NORMAL, "^3[COD:MW4]^4 Samo CT tim moze da kupi def");
  3114.         return PLUGIN_CONTINUE;
  3115.     }
  3116.     else if(pare_igraca < 200)
  3117.     {
  3118.         ColorChat(id, NORMAL, "^3[COD:MW4]^4 Nemate dovoljno para");
  3119.         ColorChat(id, NORMAL, "^3[COD:MW4]^4 Imate^3 %i/ 200", pare_igraca);
  3120.         return PLUGIN_CONTINUE;
  3121.     }
  3122.     else if(cs_get_user_defuse(id) == 1)
  3123.     {
  3124.         ColorChat(id, NORMAL, "^3[COD:MW4]^4 Vec imate defuse kit");
  3125.         return PLUGIN_CONTINUE;
  3126.     }
  3127.     cs_set_user_money(id, pare_igraca-200);
  3128.     cs_set_user_defuse(id, 1);
  3129.    
  3130.     return PLUGIN_CONTINUE;
  3131. }
  3132. public LevelTop15(id)
  3133. {
  3134.     new i, count
  3135.     static sort[33][2], maxPlayers
  3136.    
  3137.     if(!maxPlayers) maxPlayers = get_maxplayers()
  3138.    
  3139.     for(i=1;i<=maxPlayers;i++)
  3140.     {
  3141.     sort[count][0] = i
  3142.     sort[count][1] = LevelRank[i]
  3143.     count++
  3144.     }
  3145.    
  3146.     SortCustom2D(sort,count,"LevelStats")  
  3147.    
  3148.     new buffer[2048]
  3149.     new line[256]    
  3150.    
  3151.     new len = format( buffer, 2047, "<body bgcolor=#000000 style=^"color:#ffffff^"><pre><Center><table width=100%% cellpadding=1 cellspacing=1 border=0>")        
  3152.     len += format( buffer[len], 2047-len, "<tr style=^"color:#8FABFF^"><th width=5%%>#<th width=60%%>Naziv<th width=35%%>Level")  
  3153.    
  3154.     new players[32], num
  3155.     get_players(players, num)
  3156.    
  3157.     new fr = clamp(count,0,15)
  3158.    
  3159.     new name[42], player
  3160.    
  3161.     for(new a = 0; a < fr; a++)
  3162.     {
  3163.         player = sort[a][0]
  3164.        
  3165.         get_user_name(player, name, 41)
  3166.        
  3167.         while (containi(name, "<") != -1)
  3168.             replace(name, 63, "<", "&lt;")
  3169.         while (containi(name, ">") != -1)
  3170.             replace(name, 63, ">", "&gt;")
  3171.        
  3172.         format(line, 255, "<tr %s><td>%d<td style=^"color:%s^">%s<td>%d", ((a%2)==0) ? " bgcolor=#333333" : " bgcolor=#262626", a+1,((a%2)==0) ? "#9CFF7A" : "red", name, sort[a][1])  
  3173.         len += format( buffer[len], 2047-len, line )
  3174.     }
  3175.    
  3176.     format(line, 255, "</table><font color=^"red^">(Trenutno prisutni igraci Statistika Levela)</body></pre>" )
  3177.     len += format( buffer[len], 2047-len, line )
  3178.     show_motd(id, buffer, "Level - Top 15")
  3179.    
  3180.     return PLUGIN_CONTINUE
  3181. }
  3182. public LevelStats(elem1[],elem2[])
  3183. {
  3184.     if(elem1[1] > elem2[1]) return -1
  3185.     else if(elem1[1] < elem2[1]) return 1
  3186.        
  3187.     return PLUGIN_CONTINUE
  3188. }
  3189. public LevelUcitajRank( id )
  3190. {
  3191.     new valut = nvault_open("Level_rank")
  3192.    
  3193.     new authid[33]
  3194.     new vaultkey[64], vaultdata[64]
  3195.    
  3196.     get_user_authid(id, authid, 32)
  3197.    
  3198.     format(vaultkey, 63, "_LEVEL_RANK_%s_LEVELI_", authid)
  3199.    
  3200.     nvault_get(valut, vaultkey, vaultdata, 63)
  3201.     nvault_close(valut)
  3202.    
  3203.     return str_to_num(vaultdata)
  3204. }
  3205. public LevelSacuvajRank(id,Bodovi)
  3206. {
  3207.     new valut = nvault_open("Level_rank")
  3208.    
  3209.     if(valut == INVALID_HANDLE)
  3210.         set_fail_state("Greska nValut Level_rank (invalid handle)")
  3211.    
  3212.     new name[33], authid[32]
  3213.     new vaultkey[64], vaultdata[64]
  3214.    
  3215.     get_user_authid(id, authid, 31)
  3216.     get_user_name(id, name, 32)
  3217.    
  3218.     format(vaultkey, 63, "_LEVEL_RANK_%s_LEVELI_", authid)
  3219.     format(vaultdata, 63, "%d_NICK_^"%s^"^n", Bodovi, name)
  3220.    
  3221.     nvault_set(valut, vaultkey, vaultdata)
  3222. }
  3223. public LevelPrikaziRank(id)
  3224. {
  3225.     ColorChat(id, TEAM_COLOR,"^4[COD:Mw4] ^1Tvoj level je ^4%d", LevelRank[id])
  3226. }
Advertisement
Add Comment
Please, Sign In to add comment