Advertisement
pro12345

mycod

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