Advertisement
m1re

cod mod

Jul 9th, 2014
479
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 172.74 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <csx>
  5. #include <cstrike>
  6. #include <fakemeta>
  7. #include <engine>
  8. #include <hamsandwich>
  9. #include <nvault>
  10. #include <colorchat>
  11. #include <dhudmessage>
  12.  
  13. #define PLUGIN "Call of Duty: MW Mod"
  14. #define VERSION "1.2.4"
  15. #define AUTHOR "QTM_Peyote"
  16.  
  17. #define STANDARDNA_brzina 250.0
  18. #define ZADATAK_POKAZI_INFORMACIJE 672
  19. #define ZADATAK_POKAZI_ORUZIJA 672
  20. #define ZADATAK_PROVERA 704
  21. #define ZADATAK_POKAZI_REKLAME 768
  22. #define ZADATAK_POKAZI_REKLAMEA 768
  23. #define ZADATAK_POSTAVI_brzinu 832
  24. #define is_user_valid(%1) (1 <= %1 <= g_MaxPlayers)
  25.  
  26. //#define BOTY 1
  27.  
  28. #define IsPlayer(%1) (1 <= %1 <= g_iMaxPlayers)
  29.  
  30. #define STATSX_SHELL_DESIGN1_STYLE "<meta charset=UTF-8><style>body{background:#112233;font-family:Arial}th{background:#558866;color:#FFF;padding:10px 2px;text-align:left}td{padding:4px 3px}table{background:#EEEECC;font-size:12px;font-family:Arial}h2,h3{color:#FFF;font-family:Verdana}#c{background:#E2E2BC}img{height:10px;background:#09F;margin:0 3px}#r{height:10px;background:#B6423C}#clr{background:none;color:#FFF;font-size:20px}</style>"
  31. #define STATSX_SHELL_DESIGN2_STYLE "<meta charset=UTF-8><style>body{font-family:Arial}th{background:#575757;color:#FFF;padding:5px;border-bottom:2px #BCE27F solid;text-align:left}td{padding:3px;border-bottom:1px #E7F0D0 solid}table{color:#3C9B4A;background:#FFF;font-size:12px}h2,h3{color:#333;font-family:Verdana}#c{background:#F0F7E2}img{height:10px;background:#62B054;margin:0 3px}#r{height:10px;background:#717171}#clr{background:none;color:#575757;font-size:20px}</style>"
  32. #define STATSX_SHELL_DESIGN3_STYLE "<meta charset=UTF-8><style>body{background:#E6E6E6;font-family:Verdana}th{background:#F5F5F5;color:#A70000;padding:6px;text-align:left}td{padding:2px 6px}table{color:#333;background:#E6E6E6;font-size:10px;font-family:Georgia;border:2px solid #D9D9D9}h2,h3{color:#333;}#c{background:#FFF}img{height:10px;background:#14CC00;margin:0 3px}#r{height:10px;background:#CC8A00}#clr{background:none;color:#A70000;font-size:20px;border:0}</style>"
  33. #define STATSX_SHELL_DESIGN4_STYLE "<meta charset=UTF-8><style>body{background:#E8EEF7;margin:2px;font-family:Tahoma}th{color:#0000CC;padding:3px}tr{text-align:left;background:#E8EEF7}td{padding:3px}table{background:#CCC;font-size:11px}h2,h3{font-family:Verdana}img{height:10px;background:#09F;margin:0 3px}#r{height:10px;background:#B6423C}#clr{background:none;color:#000;font-size:20px}</style>"
  34. #define STATSX_SHELL_DESIGN5_STYLE "<meta charset=UTF-8><style>body{background:#555;font-family:Arial}th{border-left:1px solid #ADADAD;border-top:1px solid #ADADAD}table{background:#3C3C3C;font-size:11px;color:#FFF;border-right:1px solid #ADADAD;border-bottom:1px solid #ADADAD;padding:3px}h2,h3{color:#FFF}#c{background:#FF9B00;color:#000}img{height:10px;background:#00E930;margin:0 3px}#r{height:10px;background:#B6423C}#clr{background:none;color:#FFF;font-size:20px;border:0}</style>"
  35. #define STATSX_SHELL_DESIGN6_STYLE "<meta charset=UTF-8><style>body{background:#FFF;font-family:Tahoma}th{background:#303B4A;color:#FFF}table{padding:6px 2px;background:#EFF1F3;font-size:12px;color:#222;border:1px solid #CCC}h2,h3{color:#222}#c{background:#E9EBEE}img{height:7px;background:#F8931F;margin:0 3px}#r{height:7px;background:#D2232A}#clr{background:none;color:#303B4A;font-size:20px;border:0}</style>"
  36. #define STATSX_SHELL_DESIGN7_STYLE "<meta charset=UTF-8><style>body{background:#FFF;font-family:Verdana}th{background:#2E2E2E;color:#FFF;text-align:left}table{padding:6px 2px;background:#FFF;font-size:11px;color:#333;border:1px solid #CCC}h2,h3{color:#333}#c{background:#F0F0F0}img{height:7px;background:#444;margin:0 3px}#r{height:7px;background:#999}#clr{background:none;color:#2E2E2E;font-size:20px;border:0}</style>"
  37. #define STATSX_SHELL_DESIGN8_STYLE "<meta charset=UTF-8><style>body{background:#242424;margin:20px;font-family:Tahoma}th{background:#2F3034;color:#BDB670;text-align:left} table{padding:4px;background:#4A4945;font-size:10px;color:#FFF}h2,h3{color:#D2D1CF}#c{background:#3B3C37}img{height:12px;background:#99CC00;margin:0 3px}#r{height:12px;background:#999900}#clr{background:none;color:#FFF;font-size:20px}</style>"
  38. #define STATSX_SHELL_DESIGN9_STYLE "<meta charset=UTF-8><style>body{background:#FFF;font-family:Tahoma}th{background:#056B9E;color:#FFF;padding:3px;text-align:left;border-top:4px solid #3986AC}td{padding:2px 6px}table{color:#006699;background:#FFF;font-size:12px;border:2px solid #006699}h2,h3{color:#F69F1C;}#c{background:#EFEFEF}img{height:5px;background:#1578D3;margin:0 3px}#r{height:5px;background:#F49F1E}#clr{background:none;color:#056B9E;font-size:20px;border:0}</style>"
  39. #define STATSX_SHELL_DESIGN10_STYLE "<meta charset=UTF-8><style>body{background:#4C5844;font-family:Tahoma}th{background:#1E1E1E;color:#C0C0C0;padding:2px;text-align:left;}td{padding:2px 10px}table{color:#AAC0AA;background:#424242;font-size:13px}h2,h3{color:#C2C2C2;font-family:Tahoma}#c{background:#323232}img{height:3px;background:#B4DA45;margin:0 3px}#r{height:3px;background:#6F9FC8}#clr{background:none;color:#FFF;font-size:20px}</style>"
  40. #define STATSX_SHELL_DESIGN11_STYLE "<meta charset=UTF-8><style>body{background:#F2F2F2;font-family:Arial}th{background:#175D8B;color:#FFF;padding:7px;text-align:left}td{padding:3px;border-bottom:1px #BFBDBD solid}table{color:#153B7C;background:#F4F4F4;font-size:11px;border:1px solid #BFBDBD}h2,h3{color:#153B7C}#c{background:#ECECEC}img{height:8px;background:#54D143;margin:0 3px}#r{height:8px;background:#C80B0F}#clr{background:none;color:#175D8B;font-size:20px;border:0}</style>"
  41. #define STATSX_SHELL_DESIGN12_STYLE "<meta charset=UTF-8><style>body{background:#283136;font-family:Arial}th{background:#323B40;color:#6ED5FF;padding:10px 2px;text-align:left}td{padding:4px 3px;border-bottom:1px solid #DCDCDC}table{background:#EDF1F2;font-size:10px;border:2px solid #505A62}h2,h3{color:#FFF}img{height:10px;background:#A7CC00;margin:0 3px}#r{height:10px;background:#CC3D00}#clr{background:none;color:#6ED5FF;font-size:20px;border:0}</style>"
  42. #define STATSX_SHELL_DESIGN13_STYLE "<meta charset=UTF-8><style>body{background:#220000;font-family:Tahoma}th{background:#3E0909;color:#FFF;padding:5px 2px;text-align:left;border-bottom:1px solid #DEDEDE}td{padding:2px 2px;}table{background:#FFF;font-size:11px;border:1px solid #791616}h2,h3{color:#FFF}#c{background:#F4F4F4;color:#7B0000}img{height:7px;background:#a00000;margin:0 3px}#r{height:7px;background:#181818}#clr{background:none;color:#CFCFCF;font-size:20px;border:0}</style>"
  43.  
  44. #define STATSX_SHELL_DEFAULT_STYLE "<meta charset=UTF-8><style>body{background:#000}tr{text-align:left}table{font-size:13px;color:#FFB000;padding:2px}h2,h3{color:#FFF;font-family:Verdana}img{height:5px;background:#0000FF;margin:0 3px}#r{height:5px;background:#FF0000}</style>"
  45.  
  46. enum RankData
  47. {
  48. Data_SteamID[32],
  49. Data_Name[32],
  50. Data_Level
  51. };
  52.  
  53. new za_hejtere[] = "MARS U PICKU MATERINU I TI I DISASSEMBLER, BOTINO RASPALA" // hvala desikac
  54.  
  55. new killovi[32]
  56. new SyncHudObj;
  57. new SyncHudObj2;
  58. new g_msg_screenfade;
  59.  
  60. new cvar_xp_za_ubistvo;
  61. new iskustvo_za_pobedu;
  62. new iskustvo_za_hs;
  63. new xp_def;
  64. new xp_bomb;
  65. new xp_planted;
  66.  
  67. new sprite_white;
  68. new sprite_blast;
  69. new sprite_beam;
  70. new sprite_trail;
  71. new sprite_smoke;
  72.  
  73. new g_MaxPlayers;
  74.  
  75. new page[33][2];
  76.  
  77. new g_vault;
  78. new g_gb;
  79.  
  80. new iskustvo_za_mnogopara;
  81.  
  82. new Ubrania_CT[4][]={"sas","gsg9","urban","gign"};
  83. new Ubrania_Terro[4][]={"arctic","leet","guerilla","terror"};
  84.  
  85. 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};
  86. new const maxClip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
  87. 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 };
  88.  
  89. new const szShop[][] ={
  90. "ML_SHOP_1",
  91. "ML_SHOP_2",
  92. "ML_SHOP_3",
  93. "ML_SHOP_4",
  94. "ML_SHOP_5",
  95. "ML_SHOP_6",
  96. "ML_SHOP_7",
  97. "ML_SHOP_8",
  98. "ML_SHOP_9",
  99. "ML_SHOP_10",
  100. "ML_SHOP_11"
  101. }
  102.  
  103. new const szDodela[][] = {
  104. "ML_INT",
  105. "ML_ENG",
  106. "ML_POW",
  107. "ML_CON",
  108. "ML_INT_10",
  109. "ML_ENG_10",
  110. "ML_POW_10",
  111. "ML_CON_10",
  112. "ML_INT_ALL",
  113. "ML_ENG_ALL",
  114. "ML_POW_ALL",
  115. "ML_CON_ALL"
  116. }
  117. new informacije_predmet_igraca[33][2];
  118. new const naziv_predmeta[][] = {"ML_PERK_NOT",
  119. "ML_PERK_NECUJNE", //1
  120. "ML_PERK_DPANCIR", //2
  121. "ML_PERK_OPANCIR", //3
  122. "ML_PERK_VATRENINOZ", //4
  123. "ML_PERK_IZNENADJENJE", //5
  124. "ML_PERK_NEVIDLJIVOST", //6
  125. "ML_PERK_RESPAWN", //7
  126. "ML_PERK_NOZ", //8
  127. "ML_PERK_KAMUFLAZA", //9
  128. "ML_PERK_HEEXPERT", //10
  129. "ML_PERK_DSKOK", //11
  130. "ML_PERK_VOJNATAJNA", //12
  131. "ML_PERK_AWPMASTER",//13
  132. "ML_PERK_ADRENALIN",//14
  133. "ML_PERK_RAMBOVATAJNA",//15
  134. "ML_PERK_DEAGLEMANIJAK",//16
  135. "ML_PERK_SPANCIR",//17
  136. "ML_PERK_EXTRA",//18
  137. "ML_PERK_KOMPLET",//19
  138. "ML_PERK_RECOIL",//20
  139. "ML_PERK_TITANIJUMSKI",//21
  140. "ML_PERK_PUKOVNIKOVI",//22
  141. "ML_PERK_ORECOIL",//23
  142. "ML_PERK_SWAT",//24
  143. "ML_PERK_HP",//25
  144. "ML_PERK_NANO",//26
  145. "ML_PERK_BULLETPROF",//27
  146. "ML_PERK_JETPACK",//28
  147. "ML_PERK_GRAVITY",//29
  148. "ML_PERK_SPEED",//30
  149. "ML_PERK_SETST",//31
  150. "ML_PERK_MSWAT",//32
  151. "ML_PERK_DEAGLEMASTER",//33
  152. "ML_PERK_SCOUT",//34
  153. "ML_PERK_OPREMA",//35
  154. "ML_PERK_SACMARA",//36
  155. "ML_PERK_HEVESTINA",//37
  156. "ML_PERK_GALIL",//38
  157. "ML_PERK_SNIPERCOMPLET",//39
  158. "ML_PERK_MISTERIJA",//40
  159. "ML_PERK_LOWHEAD",//41
  160. "ML_PERK_AIMST",//42
  161. "ML_PERK_USPAIM", //43
  162. "ML_PERK_OSVETA", //44
  163. "ML_PERK_MAGICIAN", //45
  164. "ML_PERK_SKAKAC", //46
  165. "ML_PERK_TAJNARAZ", //47
  166. "ML_PERK_RAMBOVPRSLUK", //48
  167. "ML_PERK_INFINITY", //49
  168. "ML_PERK_SWATGLASSES", //50
  169. "ML_PERK_GORDON", //51
  170. "ML_PERK_KLETVA", //52
  171. "ML_PERK_AUTOBH", //53
  172. "ML_PERK_HSIMUNITY", //45
  173. "ML_PERK_ASSOGRTAC", //55
  174. "ML_PERK_UBICA", // 56
  175. "ML_PERK_KLADIONICA", // 57
  176. "ML_PERK_DOBITAK", // 58
  177. "ML_PERK_COBAN", // 59
  178. "ML_PERK_KOKOS", // 60
  179.  
  180. };
  181.  
  182. new const opis_predmet[][] = {"ML_PERKOPIS_NOT",
  183. "ML_PERKOPIS_NECUJNE", //1
  184. "ML_PERKOPIS_DPANCIR", //2
  185. "ML_PERKOPIS_OPANCIR", //3
  186. "ML_PERKOPIS_VATRENINOZ", //4
  187. "ML_PERKOPIS_IZNENADJENJE", //5
  188. "ML_PERKOPIS_NEVIDLJIVOST", //6
  189. "ML_PERKOPIS_RESPAWN", //7
  190. "ML_PERKOPIS_NOZ", //8
  191. "ML_PERKOPIS_KAMUFLAZA", //9
  192. "ML_PERKOPIS_HEEXPERT", //10
  193. "ML_PERKOPIS_DSKOK", //11
  194. "ML_PERKOPIS_VOJNATAJNA", //12
  195. "ML_PERKOPIS_AWPMASTER",//13
  196. "ML_PERKOPIS_ADRENALIN",//14
  197. "ML_PERKOPIS_RAMBOVATAJNA",//15
  198. "ML_PERKOPIS_DEAGLEMANIJAK",//16
  199. "ML_PERKOPIS_SPANCIR",//17
  200. "ML_PERKOPIS_EXTRA",//18
  201. "ML_PERKOPIS_KOMPLET",//19
  202. "ML_PERKOPIS_RECOIL",//20
  203. "ML_PERKOPIS_TITANIJUMSKI",//21
  204. "ML_PERKOPIS_PUKOVNIKOVI",//22
  205. "ML_PERKOPIS_ORECOIL",//23
  206. "ML_PERKOPIS_SWAT",//24
  207. "ML_PERKOPIS_HP",//25
  208. "ML_PERKOPIS_NANO",//26
  209. "ML_PERKOPIS_BULLETPROF",//27
  210. "ML_PERKOPIS_JETPACK",//28
  211. "ML_PERKOPIS_GRAVITY",//29
  212. "ML_PERKOPIS_SPEED",//30
  213. "ML_PERKOPIS_SETST",//31
  214. "ML_PERKOPIS_M4SWAT",//32
  215. "ML_PERKOPIS_DEAGLEMASTER",//33
  216. "ML_PERKOPIS_SCOUT",//34
  217. "ML_PERKOPIS_OPREMA",//35
  218. "ML_PERKOPIS_SACMARA",//36
  219. "ML_PERKOPIS_HEVESTINA",//37
  220. "ML_PERKOPIS_GALIL",//38
  221. "ML_PERKOPIS_SNIPERCOMPLET",//39
  222. "ML_PERKOPIS_MISTERIJA",//40
  223. "ML_PERKOPIS_LOWHEAD",//41
  224. "ML_PERKOPIS_AIMST",//42
  225. "ML_PERKOPIS_USPAIM", //43
  226. "ML_PERKOPIS_OSVETA", //44
  227. "ML_PERKOPIS_MAGICIAN", //45
  228. "ML_PERKOPIS_SKAKAC", //46
  229. "ML_PERKOPIS_TAJNARAZ", //47
  230. "ML_PERKOPIS_RAMBOVPRSLUK", //48
  231. "ML_PERKOPIS_INFINITY", //49
  232. "ML_PERKOPIS_SWATGLASSES", //50
  233. "ML_PERKOPIS_GORDON", //51
  234. "ML_PERKOPIS_KLETVA", //52
  235. "ML_PERKOPIS_AUTOBH", //53
  236. "ML_PERKOPIS_HSIMUNITY", //45
  237. "ML_PERKOPIS_ASSOGRTAC" //55
  238. "ML_PERKOPIS_UBICA", // 56
  239. "ML_PERKOPIS_KLADIONICA", // 57
  240. "ML_PERKOPIS_DOBITAK", // 58
  241. "ML_PERKOPIS_COBAN", // 59
  242. "ML_PERKOPIS_KOKOS", // 60
  243.  
  244. };
  245.  
  246. new klasa_igraca[33];
  247. new level_igraca[33] = 1;
  248. new iskustvo_igraca[33];
  249.  
  250. new nova_klasa_igraca[33];
  251. new snaga_predmeta[33];
  252. new poeni_igraca[33];
  253. new energija_igraca[33];
  254. new inteligencija_igraca[33];
  255. new odbrojavanje[33]
  256. new snaga_igraca[33];
  257. new Float:smanjene_povrede_igraca[33];
  258. new kondicija_igraca[33];
  259. new shop_poeni_igraca[33];
  260. new maximalna_energija_igraca[33];
  261. new rakete_igraca[33];
  262. new Float:brzina_igraca[33];
  263.  
  264. enum { NONE = 0,
  265. Snajperista,
  266. Marinac,
  267. ProStrelac,
  268. Mitraljezac,
  269. Doktor,
  270. VatrenaPodrska,
  271. Miner,
  272. Demolitions,
  273. Rusher,
  274. Rambo,
  275. Revolveras,
  276. Bombarder,
  277. Strelac,
  278. Informator,
  279. Pukovnik,
  280. Pobunjenik,
  281. SerijskiUbica,
  282. Desetar,
  283. Vodnik,
  284. Kamikaza,
  285. Assassin,
  286. Major,
  287. Kapetan,
  288. Potpukovnik,
  289. Marsal,
  290. NemackiStrelac,
  291. RuskiPukovnik,
  292. PoljskaPesadija,
  293. Mornar,
  294. Napadac ,
  295. Legija,
  296. Armageddon,
  297. Samuraj,
  298. RatkoMladic,
  299. SWAT,
  300. Partizan,
  301. Gunner,
  302. Cleric,
  303. General,
  304. Terminator,
  305. Slayer,
  306. Zastavnik,
  307. Admiral,
  308. Fighter,
  309. Policajac,
  310. Specijalac,
  311. Predator,
  312. NemackiOficir,
  313. Cetnik,
  314. ProfVojnik,
  315. Crysis,
  316. ProfStrelac,
  317. Komandos,
  318. JSO,
  319. ProMiner,
  320. Placenik,
  321. BazookaSoldier,
  322. Soap,
  323. Price,
  324. SlimShady,
  325. SpecialOps,
  326. Gramaton
  327. }
  328.  
  329. new const energija_klasa[] = { //Helti Klase
  330. 0, // Nema
  331. 120, // Snajperista
  332. 140, // Marinac
  333. 130, // Pro-Strelac
  334. 120, // Mitraljezac
  335. 110, // Doktor
  336. 100, // Vatrena Podrska
  337. 100, // Miner
  338. 110, // Demolitions
  339. 100, // Rusher
  340. 130, // Rambo
  341. 120, // Revolveras
  342. 110, // Bombarder
  343. 120, // Strelac
  344. 70, // Informator
  345. 110, // Pukovnik
  346. 150, // Pobunjenik
  347. 110, // Serijski ubica
  348. 120, // Desetar
  349. 110, // Vodnik
  350. 120, // Kamikaza
  351. 100, // Assassin
  352. 100, // Major
  353. 100, // Kapetan
  354. 100, // Potpukovnik
  355. 120, // Marsal
  356. 120, // Nemacki strelac
  357. 130, // Ruski pukovnik
  358. 100, // Poljska pesadija
  359. 110, // Mornar
  360. 150, // Napadac
  361. 100, // Legija
  362. 160, // Armageddon
  363. 100, // Samuraj
  364. 150, // Ratko Mladic
  365. 150, // SWAT
  366. 100, // Partizan
  367. 125, // Gunner
  368. 100, // Cleric
  369. 130, // General
  370. 140, // Terminator
  371. 80, // Slayer
  372. 110, // Zastavnik
  373. 125, // Admiral
  374. 150, // Fighter
  375. 120, // Policajac
  376. 110, // Specijalac
  377. 100, // Predator
  378. 105, // NemackiOficir
  379. 124, // Cetnik
  380. 130, // ProfVojnik
  381. 80, // Crysis
  382. 105, // ProfStrelac
  383. 150, // Komandos
  384. 100, // JSO,
  385. 120, // ProMiner
  386. 100, // Placenik
  387. 150, // BazookaSoldier
  388. 150, // Soap
  389. 120, // Price
  390. 120, // SlimShady
  391. 150, // SpecialOps
  392. 150 // Gramaton
  393. }
  394.  
  395. new const Float:brzina_klasa[] = { //Brzina Klase
  396. 0.0, // None
  397. 1.3, // Snajperista
  398. 1.35, // Marinac
  399. 1.0, // Pro-Strelac
  400. 0.8, // Mitraljezac
  401. 1.5, // Doktor
  402. 1.2, // Vatrena Podrska
  403. 1.1, // Miner
  404. 1.1, // Demolitions
  405. 1.3, // Rusher
  406. 1.2, // Rambo
  407. 1.1, // Revolveras
  408. 1.1, // Bombarder
  409. 1.0, // Strelac
  410. 1.6, // Informator
  411. 1.1, // Pukovnik
  412. 1.4, // Pobunjenik
  413. 1.0, // Serijski ubica
  414. 1.0, // Desetar
  415. 1.1, // Vodnik
  416. 1.0, // Kamikaza
  417. 1.4, // Assassin
  418. 1.2, // Major
  419. 1.0, // Kapetan
  420. 1.6, // Potpukovnik
  421. 1.1, // Marsal
  422. 1.0, // Nemacki strelac
  423. 1.0, // Ruski pukovnik
  424. 1.2, // Poljska pesadija
  425. 0.7, // Mornar
  426. 1.2, // Napadac
  427. 1.0, // Legija
  428. 1.0, // Armageddon
  429. 1.4, // Samuraj
  430. 1.4, // Ratko Mladic
  431. 1.3, // SWAT
  432. 1.3, // Partizan
  433. 1.0, // Gunner
  434. 1.2, // Cleric
  435. 1.2, // General
  436. 1.4, // Terminator
  437. 1.6, // Slayer
  438. 1.4, // Zastavnik
  439. 1.1, // Admiral
  440. 1.4, // Fighter
  441. 1.2, // Policajac
  442. 1.8, // Specijalac
  443. 1.3, // Predator
  444. 1.0, // NemackiOficir
  445. 1.2, // Cetnik
  446. 1.6, // ProfVojnik
  447. 1.8, // Crysis
  448. 1.0, // ProfStrelac
  449. 1.2, // Komandos
  450. 1.0, // ProMiner
  451. 1.2, // Placenik
  452. 1.0, // BazookaSoldier
  453. 1.4, // Soap
  454. 2.0, // Price
  455. 1.4, // SlimShady
  456. 2.0, // SpecialOps
  457. 1.8, // Gramaton
  458. 2.4 // JSO
  459. }
  460.  
  461. new const oklop_klase[] = { //Armor Klase
  462. 0, //None
  463. 100, //Snajperi
  464. 100, //Marinac
  465. 100, //Pro-Strelac
  466. 40, //Mitraljezac
  467. 0, //Doktor
  468. 0, //Vatrena Podrska
  469. 0, //Miner
  470. 100, //Demolitions
  471. 40, //Rusher
  472. 0, //Rambo
  473. 0, //Revolveras
  474. 100, //Bombarder
  475. 40, //Strelac
  476. 0, //Informator
  477. 0, //Pukovnik
  478. 150, //Pobunjenik
  479. 90, //Serijski ubica
  480. 0, //Desetar
  481. 200, //Vodnik
  482. 0, //Kamikaza
  483. 100, //Assassin
  484. 0, //Major
  485. 0, //Kapetan
  486. 200, //Potpukovnik
  487. 0, //Marsal
  488. 100, //Nemacki strelac
  489. 0, //Ruski pukovnik
  490. 0, //Poljska pesadija
  491. 100, //Mornar
  492. 0, //Napadac
  493. 0, //Legija
  494. 120, //Armageddon
  495. 0, //Samuraj
  496. 150, //Ratko Mladic
  497. 110, //SWAT
  498. 100, //Partizan
  499. 100, //Gunner
  500. 150, //Cleric
  501. 120, //General
  502. 50, //Terminator
  503. 120, //Slayer
  504. 300, //Zastavnik
  505. 70, //Admiral
  506. 100, //Fighter
  507. 50, //Policajac
  508. 0, //Specijalac
  509. 25, //Predator
  510. 80, //NemackiOficir
  511. 100, //Cetnik
  512. 90, //ProfVojnik
  513. 10, //Crysis
  514. 45, //ProfStrelac
  515. 100, // Komandos
  516. 105,
  517. 125,
  518. 100,
  519. 150,
  520. 150,
  521. 100,
  522. 200,
  523. 100,
  524. 100
  525. }
  526.  
  527. new const naziv_klase[][] = {
  528. "ML_CLASS_NOT", // 0
  529. "ML_CLASS_SNIPER", // 1
  530. "ML_CLASS_MARINE", // 2
  531. "ML_CLASS_PROSTRELAC", // 3
  532. "ML_CLASS_MITRALJEZAC", // 4
  533. "ML_CLASS_DOC", // 5
  534. "ML_CLASS_VATRENAPODRSKA", // 6
  535. "ML_CLASS_MINER", // 7
  536. "ML_CLASS_DEMOLITIONS", // 8
  537. "ML_CLASS_RUSHER", // 9
  538. "ML_CLASS_RAMBO", // 10
  539. "ML_CLASS_REVOLVERAS", // 11
  540. "ML_CLASS_BOBARDER", // 12
  541. "ML_CLASS_STRELAC", // 13
  542. "ML_CLASS_INFORMATOR", // 14
  543. "ML_CLASS_PUKOVNIK", // 15
  544. "ML_CLASS_POBUNJENIK", // 16
  545. "ML_CLASS_SERIJSKI", // 17
  546. "ML_CLASS_DESETAR", // 18
  547. "ML_CLASS_VODNIK", // 19
  548. "ML_CLASS_KAMIKAZA", // 20
  549. "ML_CLASS_ASSASSIN", // 21
  550. "ML_CLASS_MAJOR", // 22
  551. "ML_CLASS_KAPETAN", // 23
  552. "ML_CLASS_POTPUKOVNIK", // 24
  553. "ML_CLASS_MARSAL", // 25
  554. "ML_CLASS_NEMACKISTRELAC", // 26
  555. "ML_CLASS_RUSKIPUKOVNIK", // 27
  556. "ML_CLASS_POLJSKAPESADIJA", // 28
  557. "ML_CLASS_MORNAR", // 29
  558. "ML_CLASS_NAPADAC", // 30
  559. "ML_CLASS_LEGIJA", // 31
  560. "ML_CLASS_ARMAGEDDON", // 32
  561. "ML_CLASS_SAMURAJ", // 33
  562. "ML_CLASS_RATKO", // 34
  563. "ML_CLASS_SWAT", // 35
  564. "ML_CLASS_PARTIZAN", // 36
  565. "ML_CLASS_GUNNER", // 37
  566. "ML_CLASS_CLERIC", // 38
  567. "ML_CLASS_GENERAL", // 39
  568. "ML_CLASS_TERMINATOR", // 40
  569. "ML_CLASS_SLAYER", // 41
  570. "ML_CLASS_ZASTAVNIK", // 42
  571. "ML_CLASS_ADMIRAL", // 43
  572. "ML_CLASS_FIGHTER", // 44
  573. "ML_CLASS_POLICAJAC", // 45
  574. "ML_CLASS_SPECIJALAC", // 46
  575. "ML_CLASS_PREDATOR", // 47
  576. "ML_CLASS_NEMACKIOFICIR", // 48
  577. "ML_CLASS_CETNIK", // 49
  578. "ML_CLASS_PROFVOJNIK", // 50
  579. "ML_CLASS_CRYSIS", // 51
  580. "ML_CLASS_PROFSTRELAC",// 52
  581. "ML_CLASS_KOMANDOS", // 53
  582. "ML_CLASS_JSO", // 54
  583. "ML_CLASS_PROMINER", // 55
  584. "ML_CLASS_PLACENIK", // 56
  585. "ML_CLASS_BAZOOKA", // 57
  586. "ML_CLASS_SOAP", // 58
  587. "ML_CLASS_PRICE",
  588. "ML_CLASS_SHADY",
  589. "ML_CLASS_OPS",
  590. "ML_CLASS_GRAMMATON"
  591. };
  592. new const frakcje[][] = {
  593. "Nema",
  594. "ML_FRACTION_ORDINARY",
  595. "ML_FRACTION_PREMIUM",
  596. "ML_FRACTION_SUPER"
  597. }
  598.  
  599. enum { NONE = 0, o, p, s}
  600. new const nalezy_do[] = {NONE,
  601. o,
  602. o,
  603. o,
  604. o,
  605. o,
  606. o,
  607. o,
  608. o,
  609. o,
  610. o,
  611. o,
  612. o,
  613. o,
  614. o,
  615. o,
  616. o,
  617. o,
  618. o,
  619. o,
  620. o,
  621. p,
  622. p,
  623. o,
  624. o,
  625. o,
  626. o,
  627. o,
  628. o,
  629. o,
  630. o,
  631. o,
  632. p,
  633. o,
  634. p,
  635. o,
  636. o,
  637. o,
  638. o,
  639. p,
  640. o,
  641. o,
  642. o,
  643. o,
  644. o,
  645. o,
  646. o,
  647. o,
  648. o,
  649. o,
  650. o,
  651. o,
  652. o,
  653. s,
  654. o,
  655. o,
  656. o,
  657. p,
  658. s,
  659. p,
  660. o,
  661. o,
  662. s
  663. };
  664. new frakcja_igraca[33]
  665. new const opis_klase[][] = {"ML_CLASSOPIS_NOT",
  666. "ML_CLASSOPIS_SNIPER", // 1
  667. "ML_CLASSOPIS_MARINE", // 2
  668. "ML_CLASSOPIS_PROSTRELAC", // 3
  669. "ML_CLASSOPIS_MITRALJEZAC", // 4
  670. "ML_CLASSOPIS_DOC", // 5
  671. "ML_CLASSOPIS_VATRENAPODRSKA", // 6
  672. "ML_CLASSOPIS_MINER", // 7
  673. "ML_CLASSOPIS_DEMOLITIONS", // 8
  674. "ML_CLASSOPIS_RUSHER", // 9
  675. "ML_CLASSOPIS_RAMBO", // 10
  676. "ML_CLASSOPIS_REVOLVERAS", // 11
  677. "ML_CLASSOPIS_BOBARDER", // 12
  678. "ML_CLASSOPIS_STRELAC", // 13
  679. "ML_CLASSOPIS_INFORMATOR", // 14
  680. "ML_CLASSOPIS_PUKOVNIK", // 15
  681. "ML_CLASSOPIS_POBUNJENIK", // 16
  682. "ML_CLASSOPIS_SERIJSKI", // 17
  683. "ML_CLASSOPIS_DESETAR", // 18
  684. "ML_CLASSOPIS_VODNIK", // 19
  685. "ML_CLASSOPIS_KAMIKAZA", // 20
  686. "ML_CLASSOPIS_ASSASSIN", // 21
  687. "ML_CLASSOPIS_MAJOR", // 22
  688. "ML_CLASSOPIS_KAPETAN", // 23
  689. "ML_CLASSOPIS_POTPUKOVNIK", // 24
  690. "ML_CLASSOPIS_MARSAL", // 25
  691. "ML_CLASSOPIS_NEMACKISTRELAC", // 26
  692. "ML_CLASSOPIS_RUSKIPUKOVNIK", // 27
  693. "ML_CLASSOPIS_POLJSKAPESADIJA", // 28
  694. "ML_CLASSOPIS_MORNAR", // 29
  695. "ML_CLASSOPIS_NAPADAC", // 30
  696. "ML_CLASSOPIS_LEGIJA", // 31
  697. "ML_CLASSOPIS_ARMAGEDDON", // 32
  698. "ML_CLASSOPIS_SAMURAJ", // 33
  699. "ML_CLASSOPIS_RATKO", // 34
  700. "ML_CLASSOPIS_SWAT", // 35
  701. "ML_CLASSOPIS_PARTIZAN", // 36
  702. "ML_CLASSOPIS_GUNNER", // 37
  703. "ML_CLASSOPIS_CLERIC", // 38
  704. "ML_CLASSOPIS_GENERAL", // 39
  705. "ML_CLASSOPIS_TERMINATOR", // 40
  706. "ML_CLASSOPIS_SLAYER", // 41
  707. "ML_CLASSOPIS_ZASTAVNIK", // 42
  708. "ML_CLASSOPIS_ADMIRAL", // 43
  709. "ML_CLASSOPIS_FIGHTER", // 44
  710. "ML_CLASSOPIS_POLICAJAC", // 45
  711. "ML_CLASSOPIS_SPECIJALAC", // 46
  712. "ML_CLASSOPIS_PREDATOR", // 47
  713. "ML_CLASSOPIS_NEMACKIOFICIR", // 48
  714. "ML_CLASSOPIS_CETNIK", // 49
  715. "ML_CLASSOPIS_PROFVOJNIK", // 50
  716. "ML_CLASSOPIS_CRYSIS", // 51
  717. "ML_CLASSOPIS_PROFSTRELAC",// 52
  718. "ML_CLASSOPIS_KOMANDOS", // 53
  719. "ML_CLASSOPIS_JSO", // 54
  720. "ML_CLASSOPIS_PROMINER", // 55
  721. "ML_CLASSOPIS_PLACENIK", // 56
  722. "ML_CLASSOPIS_BAZOOKA", // 57
  723. "ML_CLASSOPIS_SOAP", // 58
  724. "ML_CLASSOPIS_PRICE",
  725. "ML_CLASSOPIS_SHADY",
  726. "ML_CLASSOPIS_OPS",
  727. "ML_CLASSOPIS_GRAMMATON"
  728. };
  729. new const vrsta_klase[][] = {
  730. "Nema", // 0
  731. "", // 1
  732. "", // 2
  733. "", // 3
  734. "", // 4
  735. "", // 5
  736. "", // 6
  737. "", // 7
  738. "", // 8
  739. "", // 9
  740. "", // 10
  741. "", // 11
  742. "", // 12
  743. "", // 13
  744. "", // 14
  745. "", // 15
  746. "", // 16
  747. "", // 17
  748. "", // 18
  749. "", // 19
  750. "", // 20
  751. "(Premium Class)", // 21
  752. "(Premium Class)", // 22
  753. "", // 23
  754. "", // 24
  755. "", // 25
  756. "", // 26
  757. "", // 27
  758. "", // 28
  759. "", // 29
  760. "", // 30
  761. "", // 31
  762. "(Premium Class)", // 32
  763. "", // 33
  764. "(Premium Class)", // 34
  765. "", // 35
  766. "", // 36
  767. "", // 37
  768. "", // 38
  769. "(Premium Class)", // 39
  770. "", // 40
  771. "", // 41
  772. "", // 42
  773. "", // 43
  774. "", // 44
  775. "", // 45
  776. "", // 46
  777. "", // 47
  778. "", // 48
  779. "", // 49
  780. "", // 50
  781. "", // 51
  782. "",// 52
  783. "(Super Class)", // 53
  784. "", // 54
  785. "", // 55
  786. "", // 56
  787. "(Premium Class)", // 57
  788. "(Super Class)" , // 58
  789. "(Premium Class)",
  790. "",
  791. "",
  792. "(Super Class)"
  793. };
  794. new const szCmds[][] =
  795. {
  796. "say /gb",
  797. "say /gbshop",
  798. "say /shop2",
  799. "say /poeni",
  800. "say /gbpoeni"
  801. }
  802. new const szPerks[][] = {
  803. "Set Stuntera",
  804. "AWP Master",
  805. "Swat Glasses",
  806. "Scout Expert",
  807. "Auto Bhop",
  808. "General Equipments",
  809. "No Recoil",
  810. "Colonel Bullets",
  811. "Secret Hub",
  812. "He Skill",
  813. "Deagle Master",
  814. "HeadShot Imunitet"
  815. }
  816. new szCoast[] = {
  817. 160,
  818. 120,
  819. 115,
  820. 215,
  821. 85,
  822. 135,
  823. 90,
  824. 80,
  825. 135,
  826. 105,
  827. 125,
  828. 100
  829. }
  830. new szNumbers[] = {
  831. 31,
  832. 13,
  833. 50,
  834. 34,
  835. 53,
  836. 35,
  837. 20,
  838. 22,
  839. 47,
  840. 37,
  841. 33,
  842. 54
  843. }
  844. new broj_medkit_igraca[33];
  845. new broj_raketa_igraca[33];
  846. new Float:prethodna_raketa_igraca[33];
  847. new broj_min_igraca[33];
  848. new broj_dinamita_igraca[33];
  849. new broj_skokova_igraca[33];
  850. new ubistava[33] = 0;
  851. new bool:freezetime = true;
  852. new bool:ima_bazuku[33];
  853. new bool:reloading[33];
  854. new bool:lansirano[33][33];
  855. new korisceno[33];
  856. new bool:promeni_tim[33];
  857. new Float:idle[33];
  858. new shop_kill
  859. new iskustvo_levelu[33] = 100
  860. new naziv_igraca[33][64];
  861. new daj_igracu[33]
  862. new bool:dobio_predmet[33]
  863. new p_maxlvl;
  864.  
  865. new Float:xp_procenat[ 33 ]
  866. new bool:g_isConnected[33], g_isAlive[33];
  867. new g_RankFile[64];
  868.  
  869. new Array:g_SteamID;
  870. new Trie:g_Name, Trie:g_PlayerLevel;
  871.  
  872. new g_Top15[2048];
  873. new g_Data[33][RankData];
  874. new bool:g_FirstSpawn[33];
  875. new said;
  876.  
  877. new cvar_desing, iDesing;
  878. new sellperk;
  879.  
  880. public plugin_init()
  881. {
  882. register_plugin(PLUGIN, VERSION, AUTHOR);
  883.  
  884. for(new i;i < sizeof szCmds;i++)
  885. register_clcmd(szCmds[i], "Shop")
  886.  
  887. g_vault = nvault_open("CodMod");
  888. g_gb = nvault_open("GbPoeni")
  889.  
  890. register_dictionary("codmw3.txt")
  891.  
  892. said = get_user_msgid( "SayText" );
  893.  
  894. register_think("MedKit","MedKitThink");
  895.  
  896. RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  897. RegisterHam(Ham_Spawn, "player", "Pocetak", 1);
  898. RegisterHam(Ham_Touch, "armoury_entity", "DodirOruzija");
  899. RegisterHam(Ham_Touch, "weapon_shield", "DodirOruzija");
  900. RegisterHam(Ham_Touch, "weaponbox", "DodirOruzija");
  901. RegisterHam(Ham_Weapon_WeaponIdle, "weapon_p228", "Weapon_WeaponIdle");
  902. RegisterHam(Ham_Item_Deploy, "weapon_p228", "Weapon_Deploy", 1);
  903.  
  904. register_forward(FM_CmdStart, "CmdStart");
  905. register_forward(FM_EmitSound, "EmitSound");
  906. register_forward(FM_SetModel, "SetModel");
  907. register_forward(FM_Touch, "fw_Touch")
  908. register_forward(FM_TraceLine,"fw_traceline");
  909. register_forward(FM_AddToFullPack, "FwdAddToFullPack", 1)
  910.  
  911. register_cvar("cod_winxp", "15");
  912. register_cvar("cod_hsexp", "10");
  913.  
  914. register_logevent("PocetakRunde", 2, "1=Round_Start");
  915. register_event("DeathMsg", "Death", "ade");
  916. register_event("Damage", "Damage", "b", "2!=0");
  917. register_event("CurWeapon","CurWeapon","be", "1=1");
  918. register_event("HLTV", "novaRunda", "a", "1=0", "2=0");
  919. register_event("SendAudio", "PobedaTerro" , "a", "2&%!MRAD_terwin");
  920. register_event("SendAudio", "PobedaCT", "a", "2&%!MRAD_ctwin");
  921. register_event("DeathMsg", "Smrt", "ade");
  922.  
  923. get_datadir(g_RankFile, charsmax(g_RankFile));
  924. add(g_RankFile, charsmax(g_RankFile), "/codrank.ini");
  925.  
  926. g_SteamID = ArrayCreate(32, 1);
  927. g_Name = TrieCreate();
  928. g_PlayerLevel = TrieCreate();
  929.  
  930. register_touch("Rocket", "*" , "DodirRakete");
  931. register_touch("Mine", "player", "DodirMine");
  932.  
  933. cvar_xp_za_ubistvo = register_cvar("cod_killxp", "70");
  934. xp_def = register_cvar("cod_def", "25");
  935. xp_bomb = register_cvar("cod_bomb", "25");
  936. xp_planted = register_cvar("cod_planted", "10");
  937. p_maxlvl = register_cvar("cod_maxlvl", "501");
  938. cvar_desing = register_cvar("cod_topdesign", "12");
  939. sellperk = register_cvar("cod_sellitem", "1500");
  940. iskustvo_za_hs = get_cvar_num("cod_hsexp");
  941. iskustvo_za_pobedu = get_cvar_num("cod_winxp")
  942. register_concmd("cod_lvl", "cmd_setlvl", ADMIN_RCON, "<name> <level>");
  943. register_concmd("cod_gb", "cmd_setgb", ADMIN_RCON, "<name> <level>");
  944. register_concmd("cod_min", "cmd_setmin", ADMIN_RCON, "<name> <level>");
  945. register_concmd("cod_rck", "cmd_setrocket", ADMIN_RCON, "<name> <level>");
  946. register_concmd("cod_din", "cmd_setdin", ADMIN_RCON, "<name> <level>");
  947. register_concmd("cod_dajpredmet", "cmd_setpredmet", ADMIN_BAN, "<nick> <item>");
  948. register_concmd("cod_addlvl", "cmd_addlvl", ADMIN_RCON, "<name> <level>");
  949. register_concmd("resetuj_brojac","reset")
  950.  
  951. register_clcmd("say /ranklvl", "SayRank");
  952. register_clcmd("say /toplvl", "SayTop15");
  953.  
  954. register_clcmd("say /klasa", "IzaberiKlase");
  955. register_clcmd("say /class", "IzaberiKlase");
  956. register_clcmd("say /opismoda", "ModOpis");
  957. register_clcmd("say /moddesc", "ModOpis");
  958. register_clcmd("say /opis", "OpisKlase");
  959. register_clcmd("say /desc", "OpisKlase");
  960. register_clcmd("say /description", "OpisKlase");
  961. register_clcmd("say /predmet", "OpisPredmeta");
  962. register_clcmd("say /perk", "OpisPredmeta");
  963. register_clcmd("say /item", "OpisPredmeta");
  964. register_clcmd("say /predmeti", "OpisPredmeta1");
  965. register_clcmd("say /drop", "IzbaciPredmet");
  966. register_clcmd("say /izbaci", "IzbaciPredmet");
  967. register_clcmd("say /reset", "KomandaResetujPoene");
  968. register_clcmd("say /re", "KomandaResetujPoene");
  969. register_clcmd("say /shop", "Shop");
  970. register_clcmd("say /pomoc", "Pomoc");
  971. register_clcmd("say /prodaj", "Prodaj");
  972. register_clcmd("say /sell", "Prodaj");
  973. register_clcmd("say /komande","Komande")
  974. register_clcmd("say /commands","Komande")
  975. register_clcmd("say /daj", "DajNekomPredmet");
  976. register_clcmd("say /help", "Pomoc");
  977. register_clcmd("say /def","KupiDefuse")
  978. register_clcmd("say /xp","Realxp")
  979. register_clcmd("say /brojevipredmeta","BrojPredmeta")
  980. register_clcmd("say /br","BrojPredmeta")
  981. register_clcmd("say /lang","Lang")
  982. register_clcmd("say /jezik","Lang")
  983. register_clcmd("say /language","Lang")
  984. register_clcmd("radio2","komanda")
  985. register_clcmd("fullupdate", "BlokirajKomande");
  986. shop_kill = register_cvar("cod_killgb", "1")
  987.  
  988. g_msg_screenfade = get_user_msgid("ScreenFade");
  989. SyncHudObj = CreateHudSyncObj();
  990. SyncHudObj2 = CreateHudSyncObj();
  991.  
  992. register_menucmd(register_menuid("Klasa:"), 1023, "OpisKlase");
  993. iskustvo_za_mnogopara = 25;
  994.  
  995. format(za_hejtere, 10, "1")
  996.  
  997. set_task(10.0, "PokaziReklame",0)
  998.  
  999. g_MaxPlayers = get_maxplayers();
  1000.  
  1001. LoadRanks();
  1002. ArraySort(g_SteamID, "SortRanks");
  1003. WriteTop15();
  1004.  
  1005.  
  1006. }
  1007.  
  1008. public plugin_natives()
  1009. {
  1010. register_native("cod_get_user_gb", "native_gb_igraca", 1)
  1011. register_native("cod_set_user_gb", "native_podesi_gb", 1)
  1012.  
  1013. register_native("cod_set_user_perk", "native_podesi_perk", 1)
  1014. register_native("cod_get_user_perk", "native_perk_igraca", 1)
  1015.  
  1016. register_native("cod_get_user_xp", "native_xp_igraca", 1)
  1017. register_native("cod_set_user_xp", "native_podesi_xp", 1)
  1018.  
  1019. register_native("cod_get_user_rockets", "native_rockets_igraca", 1)
  1020. register_native("cod_set_user_rockets", "native_podesi_rockets", 1)
  1021.  
  1022. register_native("cod_get_user_mine", "native_mine_igraca", 1)
  1023. register_native("cod_set_user_mine", "native_podesi_mine", 1)
  1024.  
  1025. register_native("cod_get_user_dynamites", "native_dynamites_igraca", 1)
  1026. register_native("cod_set_user_dynamites", "native_podesi_dynamites", 1)
  1027.  
  1028. register_native("cod_get_user_gb", "native_get_user_gb", 1)
  1029. register_native("cod_set_user_gb", "native_set_user_gb", 1)
  1030. }
  1031. public native_gb_igraca(id)
  1032. {
  1033. if (!is_user_valid(id))
  1034. {
  1035. log_error(AMX_ERR_NATIVE, "[COD:MW] Invalid player (%d)", id)
  1036. return -1;
  1037. }
  1038.  
  1039. return shop_poeni_igraca[id]
  1040. }
  1041.  
  1042. public native_podesi_gb(id, kolicina)
  1043. {
  1044. if (!is_user_valid(id))
  1045. {
  1046. log_error(AMX_ERR_NATIVE, "[COD:MW] Invalid player (%d)", id)
  1047. return false;
  1048. }
  1049.  
  1050. shop_poeni_igraca[id] = kolicina
  1051. return true;
  1052. }
  1053.  
  1054. public native_podesi_perk(id, kolicina)
  1055. {
  1056. if (!is_user_valid(id))
  1057. {
  1058. log_error(AMX_ERR_NATIVE, "[COD:MW] Invalid player (%d)", id)
  1059. return false;
  1060. }
  1061.  
  1062. DajPredmet(id, kolicina)
  1063. return true;
  1064. }
  1065.  
  1066. public native_xp_igraca(id)
  1067. {
  1068. if (!is_user_valid(id))
  1069. {
  1070. log_error(AMX_ERR_NATIVE, "[COD:MW] Invalid player (%d)", id)
  1071. return -1;
  1072. }
  1073.  
  1074. return iskustvo_igraca[id]
  1075. }
  1076. public native_perk_igraca(id)
  1077. {
  1078. if (!is_user_valid(id))
  1079. {
  1080. log_error(AMX_ERR_NATIVE, "[COD:MW] Invalid player (%d)", id)
  1081. return -1;
  1082. }
  1083.  
  1084. return informacije_predmet_igraca[id][0]
  1085. }
  1086.  
  1087. public native_podesi_xp(id, kolicina)
  1088. {
  1089. if (!is_user_valid(id))
  1090. {
  1091. log_error(AMX_ERR_NATIVE, "[COD:MW] Invalid player (%d)", id)
  1092. return false;
  1093. }
  1094.  
  1095. iskustvo_igraca[id] = kolicina
  1096. ProveriNivo(id);
  1097.  
  1098. return true;
  1099. }
  1100. public native_rockets_igraca(id)
  1101. {
  1102. if (!is_user_valid(id))
  1103. {
  1104. log_error(AMX_ERR_NATIVE, "[COD:MW] Invalid player (%d)", id)
  1105. return -1;
  1106. }
  1107.  
  1108. return broj_raketa_igraca[id]
  1109. }
  1110. public native_mine_igraca(id)
  1111. {
  1112. if (!is_user_valid(id))
  1113. {
  1114. log_error(AMX_ERR_NATIVE, "[COD:MW] Invalid player (%d)", id)
  1115. return -1;
  1116. }
  1117.  
  1118. return broj_min_igraca[id]
  1119. }
  1120. public native_dynamites_igraca(id)
  1121. {
  1122. if (!is_user_valid(id))
  1123. {
  1124. log_error(AMX_ERR_NATIVE, "[COD:MW] Invalid player (%d)", id)
  1125. return -1;
  1126. }
  1127.  
  1128. return broj_dinamita_igraca[id]
  1129. }
  1130. public native_podesi_rockets(id, kolicina)
  1131. {
  1132. if (!is_user_valid(id))
  1133. {
  1134. log_error(AMX_ERR_NATIVE, "[COD:MW] Invalid player (%d)", id)
  1135. return false;
  1136. }
  1137.  
  1138. broj_raketa_igraca[id] = kolicina
  1139.  
  1140. return true;
  1141. }
  1142. public native_podesi_mine(id, kolicina)
  1143. {
  1144. if (!is_user_valid(id))
  1145. {
  1146. log_error(AMX_ERR_NATIVE, "[COD:MW] Invalid player (%d)", id)
  1147. return false;
  1148. }
  1149.  
  1150. broj_min_igraca[id] = kolicina
  1151.  
  1152. return true;
  1153. }
  1154. public native_podesi_dynamites(id, kolicina)
  1155. {
  1156. if (!is_user_valid(id))
  1157. {
  1158. log_error(AMX_ERR_NATIVE, "[COD:MW] Invalid player (%d)", id)
  1159. return false;
  1160. }
  1161.  
  1162. broj_dinamita_igraca[id] = kolicina
  1163.  
  1164. return true;
  1165. }
  1166. LoadRanks()
  1167. {
  1168. new f = fopen(g_RankFile, "r");
  1169.  
  1170. if (!f)
  1171. return;
  1172.  
  1173. new Data[96], SteamID[32], Name[32], iLevel[16];
  1174.  
  1175. while (!feof(f))
  1176. {
  1177. fgets(f, Data, 96);
  1178.  
  1179. if (!strlen(Data))
  1180. continue;
  1181.  
  1182. parse(Data, SteamID, charsmax(SteamID), Name, charsmax(Name), iLevel, charsmax(iLevel));
  1183.  
  1184. ArrayPushString(g_SteamID, SteamID);
  1185.  
  1186. TrieSetString(g_Name, SteamID, Name);
  1187. TrieSetCell(g_PlayerLevel, SteamID, str_to_num(iLevel));
  1188. }
  1189. fclose(f);
  1190. }
  1191.  
  1192. SaveRanks()
  1193. {
  1194. new f = fopen(g_RankFile, "w+");
  1195.  
  1196. if (!f)
  1197. return;
  1198.  
  1199. for (new Position, Size = ArraySize(g_SteamID), SteamID[32], Name[32], iLevel; Position < Size; Position++)
  1200. {
  1201. ArrayGetString(g_SteamID, Position, SteamID, charsmax(SteamID));
  1202. TrieGetString(g_Name, SteamID, Name, charsmax(Name));
  1203. TrieGetCell(g_PlayerLevel, SteamID, iLevel);
  1204.  
  1205. fprintf(f, "%s ^"%s^" %d^n", SteamID, Name, iLevel);
  1206. }
  1207. fclose(f);
  1208. }
  1209. public Komande(id)
  1210. show_menu(id, 1023, "\r/reset\y -Ponovo podeli poene^n\r/shop\y - Otvari Shop^n\r/klasa\y - Izaberi klasu^n\r/prodaj\y - Prodaj predmet^n\r/predmet\y - Opis tvog predmeta^n\r/opis\y -Opis svih klasa^n\rna +use \y- Koristi specijalne moci klase^n\r/rs\y resetuje skor^n\r/def\y Kupuje def kit", -1, "Komande");
  1211.  
  1212. public Prodaj(id)
  1213. {
  1214. client_cmd(id, "spk QTM_CodMod/select");
  1215.  
  1216. if(!informacije_predmet_igraca[id][0])
  1217. {
  1218. ColorChat(id, NORMAL, "^4[COD:MW4]^1 You dont have item.");
  1219. return PLUGIN_CONTINUE;
  1220. }
  1221. else
  1222. {
  1223. new pare_igraca;
  1224. pare_igraca = cs_get_user_money(id);
  1225. ChatColor(id, "%L", id, "ML_PERK_SELL", id, naziv_predmeta[informacije_predmet_igraca[id][0]], get_pcvar_num(sellperk));
  1226. Obrisipredmet(id);
  1227. cs_set_user_money(id, pare_igraca+2500);
  1228. }
  1229. return PLUGIN_HANDLED;
  1230. }
  1231. public DajNekomPredmet(id)
  1232. {
  1233. new menu = menu_create("Izaberi Igraca", "DajNekomPredmet_Handle");
  1234. new cb = menu_makecallback("DajNekomPredmet_Callback");
  1235. new broj_predmeta;
  1236. for(new i=0; i<=32; i++)
  1237. {
  1238. if(!is_user_connected(i))
  1239. continue;
  1240. daj_igracu[broj_predmeta++] = i;
  1241. menu_additem(menu, naziv_igraca[i], "0", 0, cb);
  1242. }
  1243. menu_display(id, menu);
  1244. }
  1245.  
  1246. public DajNekomPredmet_Handle(id, menu, item)
  1247. {
  1248. if(item < 1 || item > 32) return PLUGIN_CONTINUE;
  1249.  
  1250. if(!is_user_connected(daj_igracu[item]))
  1251. {
  1252. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Igrac se diskonektovao.");
  1253. return PLUGIN_CONTINUE;
  1254. }
  1255. if(dobio_predmet[id])
  1256. {
  1257. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Morate sacekati sledecu rundu.");
  1258. return PLUGIN_CONTINUE;
  1259. }
  1260. if(!informacije_predmet_igraca[id][0])
  1261. {
  1262. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Nemate nijedan predmet.");
  1263. return PLUGIN_CONTINUE;
  1264. }
  1265. if(informacije_predmet_igraca[daj_igracu[item]][0])
  1266. {
  1267. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Ovaj igrac vec ima predmet.");
  1268. return PLUGIN_CONTINUE;
  1269. }
  1270. if(!is_user_alive(daj_igracu[item]))
  1271. {
  1272. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Igrac kome dajes mora biti ziv.");
  1273. return PLUGIN_CONTINUE;
  1274. }
  1275.  
  1276. dobio_predmet[daj_igracu[item]] = true;
  1277. DajPredmet(daj_igracu[item], informacije_predmet_igraca[id][0]);
  1278. informacije_predmet_igraca[daj_igracu[item]][1] = informacije_predmet_igraca[id][1];
  1279. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Nagradio ^3%s ^1sa ^3%s.", naziv_igraca[daj_igracu[item]], naziv_predmeta[informacije_predmet_igraca[id][0]]);
  1280. ColorChat(daj_igracu[item], NORMAL, "^4[COD:MW4]^1 Dobio si ^3 %s^1 od ^3%s.",naziv_predmeta[informacije_predmet_igraca[id][0]] , naziv_igraca[id]);
  1281. Obrisipredmet(id);
  1282. return PLUGIN_CONTINUE;
  1283. }
  1284.  
  1285. public DajNekomPredmet_Callback(id, menu, item)
  1286. {
  1287. if(daj_igracu[item] == id)
  1288. return ITEM_DISABLED;
  1289. return ITEM_ENABLED;
  1290. }
  1291. public plugin_cfg()
  1292. {
  1293. server_cmd("sv_maxspeed 9999");
  1294. }
  1295.  
  1296. public plugin_precache()
  1297. {
  1298. new Entity = create_entity( "info_map_parameters" );
  1299.  
  1300. DispatchKeyValue( Entity, "buying", "3" );
  1301. DispatchSpawn( Entity );
  1302.  
  1303.  
  1304. sprite_white = precache_model("sprites/cod_mod/white.spr") ;
  1305. sprite_blast = precache_model("sprites/cod_mod/dexplo.spr");
  1306. sprite_beam = precache_model("sprites/cod_mod/zbeam4.spr")
  1307. sprite_trail = precache_model("sprites/cod_mod/smoke.spr");
  1308. sprite_smoke = precache_model("sprites/cod_mod/steam1.spr");
  1309.  
  1310.  
  1311. precache_sound("sounds/cod_mod/select.wav");
  1312. precache_sound("sounds/cod_mod/start.wav");
  1313. precache_sound("sounds/cod_mod/start2.wav");
  1314. precache_sound("sounds/cod_mod/levelup.wav");
  1315.  
  1316. precache_model("models/cod_mod/w_medkit.mdl");
  1317. precache_model("models/cod_mod/rpgrocket.mdl");
  1318. precache_model("models/cod_mod/mine.mdl");
  1319. precache_model("models/cod_mod/w_law.mdl");
  1320. precache_model("models/cod_mod/v_law.mdl");
  1321. precache_model("models/cod_mod/p_law.mdl");
  1322. precache_model("models/cod_mod/s_grenade.mdl");
  1323. }
  1324.  
  1325. public pfn_keyvalue( Entity )
  1326. {
  1327. new ClassName[ 20 ], Dummy[ 2 ];
  1328. copy_keyvalue( ClassName, charsmax( ClassName ), Dummy, charsmax( Dummy ), Dummy, charsmax( Dummy ) );
  1329.  
  1330. if( equal( ClassName, "info_map_parameters" ) )
  1331. {
  1332. remove_entity( Entity );
  1333. return PLUGIN_HANDLED ;
  1334. }
  1335. return PLUGIN_CONTINUE;
  1336. }
  1337.  
  1338. public CmdStart(id, uc_handle)
  1339. {
  1340. if(!is_user_alive(id))
  1341. return FMRES_IGNORED;
  1342.  
  1343. new button = get_uc(uc_handle, UC_Buttons);
  1344. new flags = pev(id, pev_flags);
  1345. new clip, ammo, weapon = get_user_weapon(id, clip, ammo);
  1346.  
  1347. if(informacije_predmet_igraca[id][0] == 11 || klasa_igraca[id] == Rambo || klasa_igraca[id] == Marinac || informacije_predmet_igraca[id][0] == 46)
  1348. {
  1349. new oldbutton = pev(id, pev_oldbuttons);
  1350.  
  1351. if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && broj_skokova_igraca[id] > 0)
  1352. {
  1353. broj_skokova_igraca[id]--;
  1354. new Float:velocity[3];
  1355. pev(id, pev_velocity,velocity);
  1356. velocity[2] = random_float(265.0,285.0);
  1357. set_pev(id, pev_velocity,velocity);
  1358. }
  1359. else if(flags & FL_ONGROUND)
  1360. {
  1361. broj_skokova_igraca[id] = 0;
  1362. if(informacije_predmet_igraca[id][0] == 11)
  1363. broj_skokova_igraca[id]++;
  1364. if(klasa_igraca[id] == Rambo)
  1365. broj_skokova_igraca[id]++;
  1366. if(klasa_igraca[id] == Marinac)
  1367. broj_skokova_igraca[id]++;
  1368. if(informacije_predmet_igraca[id][0] == 46)
  1369. broj_skokova_igraca[id]+=6;
  1370. }
  1371. }
  1372.  
  1373. if(button & IN_ATTACK)
  1374. {
  1375. new Float:punchangle[3];
  1376.  
  1377. if(informacije_predmet_igraca[id][0] == 20)
  1378. set_pev(id, pev_punchangle, punchangle);
  1379. if(informacije_predmet_igraca[id][0] == 23)
  1380. {
  1381. set_pev(id, pev_punchangle, punchangle);
  1382. for(new i=0; i<3;i++)
  1383. punchangle[i]*=0.9;
  1384. set_pev(id, pev_punchangle, punchangle);
  1385. }
  1386. }
  1387.  
  1388. if(informacije_predmet_igraca[id][0] == 28 && button & IN_JUMP && button & IN_DUCK && flags & FL_ONGROUND && get_gametime() > informacije_predmet_igraca[id][1]+4.0)
  1389. {
  1390. informacije_predmet_igraca[id][1] = floatround(get_gametime());
  1391. new Float:velocity[3];
  1392. VelocityByAim(id, 700, velocity);
  1393. velocity[2] = random_float(265.0,285.0);
  1394. set_pev(id, pev_velocity, velocity);
  1395. }
  1396. if(informacije_predmet_igraca[id][0] == 45)
  1397. {
  1398. if(button & IN_DUCK)
  1399. {
  1400. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 10)
  1401. }
  1402. else
  1403. {
  1404. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255)
  1405. }
  1406. }
  1407.  
  1408. if(weapon == 1 && ima_bazuku[id])
  1409. {
  1410. new button = get_uc(uc_handle, UC_Buttons);
  1411. new ent = find_ent_by_owner(-1, "weapon_p228", id);
  1412.  
  1413. if(button & IN_ATTACK)
  1414. {
  1415. button &= ~IN_ATTACK;
  1416. set_uc(uc_handle, UC_Buttons, button);
  1417.  
  1418. if(!rakete_igraca[id] || reloading[id] || !idle[id])
  1419. return FMRES_IGNORED;
  1420. if(idle[id] && (get_gametime()-idle[id]<=0.4))
  1421. return FMRES_IGNORED;
  1422.  
  1423. new Float:Origin[3], Float:Angle[3], Float:Velocity[3];
  1424. pev(id, pev_origin, Origin);
  1425. pev(id, pev_v_angle, Angle);
  1426. velocity_by_aim(id, 1000, Velocity);
  1427.  
  1428. Angle[0] *= -1.0
  1429.  
  1430. new ent = create_entity("info_target")
  1431. set_pev(ent, pev_classname, "rocket");
  1432. engfunc(EngFunc_SetModel, ent, "models/s_grenade.mdl");
  1433.  
  1434. set_pev(ent, pev_solid, SOLID_BBOX);
  1435. set_pev(ent, pev_movetype, MOVETYPE_TOSS);
  1436. set_pev(ent, pev_owner, id);
  1437. set_pev(ent, pev_mins, Float:{-1.0, -1.0, -1.0});
  1438. set_pev(ent, pev_maxs, Float:{1.0, 1.0, 1.0});
  1439. set_pev(ent, pev_gravity, 0.35);
  1440.  
  1441. set_pev(ent, pev_origin, Origin);
  1442. set_pev(ent, pev_velocity, Velocity);
  1443. set_pev(ent, pev_angles, Angle);
  1444.  
  1445. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  1446. write_byte(TE_BEAMFOLLOW)
  1447. write_short(ent)
  1448. write_short(sprite_trail)
  1449. write_byte(6)
  1450. write_byte(3)
  1451. write_byte(224)
  1452. write_byte(224)
  1453. write_byte(255)
  1454. write_byte(100)
  1455. message_end()
  1456.  
  1457. set_pev(id, pev_weaponanim, 7);
  1458. new entwpn = find_ent_by_owner(-1, "weapon_p228", id);
  1459. if(entwpn)
  1460. set_pdata_float(entwpn, 48, 1.5+3.0, 4);
  1461. set_pdata_float(id, 83, 1.5, 4)
  1462.  
  1463. reloading[id] = true;
  1464. emit_sound(id, CHAN_WEAPON, "weapons/law_shoot1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
  1465.  
  1466. if(task_exists(id+3512))
  1467. remove_task(id+3512);
  1468.  
  1469. set_task(1.5, "task_launcher_reload", id+3512);
  1470. rakete_igraca[id]--;
  1471. }
  1472. else if(button & IN_RELOAD)
  1473. {
  1474. button &= ~IN_RELOAD;
  1475. set_uc(uc_handle, UC_Buttons, button);
  1476.  
  1477. set_pev(id, pev_weaponanim, 0);
  1478. set_pdata_float(id, 83, 0.5, 4);
  1479. if(ent)
  1480. set_pdata_float(ent, 48, 0.5+3.0, 4);
  1481. }
  1482.  
  1483. if(ent)
  1484. {
  1485. cs_set_weapon_ammo(ent, -1);
  1486. cs_set_user_bpammo(id, 1, rakete_igraca[id]);
  1487. }
  1488. }
  1489. else if(weapon != 1 && ima_bazuku[id])
  1490. idle[id] = 0.0;
  1491.  
  1492. return FMRES_IGNORED;
  1493. }
  1494. public cmd_setlvl(id, level, cid)
  1495. {
  1496. if(!cmd_access(id,level,cid,3))
  1497. return PLUGIN_HANDLED;
  1498.  
  1499. new arg1[33];
  1500. new arg2[6];
  1501. read_argv(1, arg1, 32);
  1502. read_argv(2, arg2, 5);
  1503. new player = cmd_target(id, arg1, 0);
  1504. if(!is_user_connected(player))
  1505. return PLUGIN_HANDLED;
  1506. new value = str_to_num(arg2);
  1507. iskustvo_igraca[player] = ((value*value)*7)
  1508. level_igraca[player] = 0;
  1509. ProveriNivo(player);
  1510. return PLUGIN_HANDLED;
  1511. }
  1512. public cmd_setgb(id, level, cid)
  1513. {
  1514. if(!cmd_access(id,level,cid,3))
  1515. return PLUGIN_HANDLED;
  1516. new arg1[33];
  1517. new arg2[6];
  1518. read_argv(1, arg1, 32);
  1519. read_argv(2, arg2, 5);
  1520. new player = cmd_target(id, arg1, 0);
  1521. new value = str_to_num(arg2);
  1522. if(!is_user_connected(player))
  1523. return PLUGIN_HANDLED;
  1524. shop_poeni_igraca[player] = value;
  1525. return PLUGIN_HANDLED;
  1526. }
  1527. public cmd_setmin(id, level, cid)
  1528. {
  1529. if(!cmd_access(id,level,cid,3))
  1530. return PLUGIN_HANDLED;
  1531. new arg1[33];
  1532. new arg2[6];
  1533. read_argv(1, arg1, 32);
  1534. read_argv(2, arg2, 5);
  1535. new player = cmd_target(id, arg1, 0);
  1536. new value = str_to_num(arg2);
  1537. if(!is_user_connected(player))
  1538. return PLUGIN_HANDLED;
  1539. broj_min_igraca[player] = value;
  1540. return PLUGIN_HANDLED;
  1541. }
  1542. public cmd_setrocket(id, level, cid)
  1543. {
  1544. if(!cmd_access(id,level,cid,3))
  1545. return PLUGIN_HANDLED;
  1546. new arg1[33];
  1547. new arg2[6];
  1548. read_argv(1, arg1, 32);
  1549. read_argv(2, arg2, 5);
  1550. new player = cmd_target(id, arg1, 0);
  1551. new value = str_to_num(arg2);
  1552. if(!is_user_connected(player))
  1553. return PLUGIN_HANDLED;
  1554. broj_raketa_igraca[player] = value;
  1555. return PLUGIN_HANDLED;
  1556. }
  1557. public cmd_setdin(id, level, cid)
  1558. {
  1559. if(!cmd_access(id,level,cid,3))
  1560. return PLUGIN_HANDLED;
  1561. new arg1[33];
  1562. new arg2[6];
  1563. read_argv(1, arg1, 32);
  1564. read_argv(2, arg2, 5);
  1565. new player = cmd_target(id, arg1, 0);
  1566. new value = str_to_num(arg2);
  1567. if(!is_user_connected(player))
  1568. return PLUGIN_HANDLED;
  1569. broj_dinamita_igraca[player] = value;
  1570. return PLUGIN_HANDLED;
  1571. }
  1572. public Shop(id)
  1573. {
  1574. new naslovev[60]
  1575. new shopitem[65]
  1576. format(naslovev, 59, "\yShop(\r%i\y):", cs_get_user_money(id));
  1577. new menu = menu_create(naslovev, "Shop_Handle");
  1578. for(new i=0;i<sizeof szShop;i++)
  1579. {
  1580. formatex(shopitem, charsmax(shopitem), "%L", id, szShop[i]);
  1581. menu_additem(menu, shopitem);
  1582. }
  1583. menu_display(id, menu);
  1584. }
  1585. public Shop_Handle(id, menu, item)
  1586. {
  1587. client_cmd(id, "spk QTM_CodMod/select");
  1588.  
  1589. if(item == MENU_EXIT)
  1590. {
  1591. menu_destroy(menu);
  1592. return PLUGIN_CONTINUE;
  1593. }
  1594. menu_display(id, menu);
  1595. new pare_igraca = cs_get_user_money(id);
  1596. new hp = get_user_health(id);
  1597. switch(item)
  1598. {
  1599. case 0:
  1600. {
  1601. new cena = 3000;
  1602. if(!is_user_alive(id))
  1603. {
  1604. ChatColor(id, "%L", id, "ML_ALIVE");
  1605. return PLUGIN_CONTINUE;
  1606. }
  1607. if (pare_igraca<cena)
  1608. {
  1609. ChatColor(id, "%L", id, "ML_NOTENOUGHT")
  1610. return PLUGIN_CONTINUE;
  1611. }
  1612. if(hp >= maximalna_energija_igraca[id] || klasa_igraca[id] == Assassin)
  1613. {
  1614. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Vec imate maximalnu energiju.");
  1615. return PLUGIN_CONTINUE;
  1616. }
  1617. new ammount=50;
  1618. new nova_energija = (hp+ammount<maximalna_energija_igraca[id])? hp+ammount: maximalna_energija_igraca[id];
  1619. set_user_health(id, nova_energija);
  1620. ColorChat(id,GREEN,"[COD MW4 Shop] ^1kupio si ^3Aspirin");
  1621. cs_set_user_money(id, pare_igraca-cena);
  1622. }
  1623. case 1:
  1624. {
  1625. new cena = 5000;
  1626. if(!is_user_alive(id))
  1627. {
  1628. ChatColor(id, "%L", id, "ML_ALIVE");
  1629. return PLUGIN_CONTINUE;
  1630. }
  1631. if (pare_igraca<cena)
  1632. {
  1633. ChatColor(id, "%L", id, "ML_NOTENOUGHT")
  1634. return PLUGIN_CONTINUE;
  1635. }
  1636. if(hp >= maximalna_energija_igraca[id] || klasa_igraca[id] == Assassin)
  1637. {
  1638. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Vec imate maximalnu energiju.");
  1639. return PLUGIN_CONTINUE;
  1640. }
  1641. new ammount=100;
  1642. new nova_energija = (hp+ammount<maximalna_energija_igraca[id])? hp+ammount: maximalna_energija_igraca[id];
  1643. set_user_health(id, nova_energija);
  1644. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Kupio si^3 Morfijum");
  1645. cs_set_user_money(id, pare_igraca-cena);
  1646. }
  1647. case 2:
  1648. {
  1649. new cena = 7500;
  1650. if(!is_user_alive(id))
  1651. {
  1652. ChatColor(id, "%L", id, "ML_ALIVE");
  1653. return PLUGIN_CONTINUE;
  1654. }
  1655. if (pare_igraca<cena)
  1656. {
  1657. ChatColor(id, "%L", id, "ML_NOTENOUGHT")
  1658. return PLUGIN_CONTINUE;
  1659. }
  1660. set_user_gravity(id,get_user_gravity(id) - 0.3);
  1661. set_user_maxspeed(id,get_user_maxspeed(id) + 10.0);
  1662. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Kupio si^3 RedBull");
  1663. cs_set_user_money(id, pare_igraca-cena)
  1664. }
  1665. case 3:
  1666. {
  1667. new cena = 2000;
  1668. if(!is_user_alive(id))
  1669. {
  1670. ChatColor(id, "%L", id, "ML_ALIVE");
  1671. return PLUGIN_CONTINUE;
  1672. }
  1673. if (pare_igraca<cena)
  1674. {
  1675. ChatColor(id, "%L", id, "ML_NOTENOUGHT")
  1676. return PLUGIN_CONTINUE;
  1677. }
  1678. cs_set_user_money(id, pare_igraca-cena);
  1679. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Kupio si tiket za Loto");
  1680. ColorChat(id,GREEN,"[COD MW4 Shop]^1Ucitavam brojeve...");
  1681.  
  1682. new rand = random_num(0,13);
  1683. switch(rand)
  1684. {
  1685. case 0:
  1686. {
  1687. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Dobio si^3 10$^1!")
  1688. cs_set_user_money(id, pare_igraca + 10)
  1689. }
  1690. case 1:
  1691. {
  1692. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Dobio si^3 Redbull^1!")
  1693. set_user_gravity(id,get_user_gravity(id) - 0.3);
  1694. set_user_maxspeed(id,get_user_maxspeed(id) + 10.0);
  1695. }
  1696. case 2:
  1697. {
  1698. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Nazalost nisi nista dobio!")
  1699. }
  1700. case 3:
  1701. {
  1702. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Dobio si^3 300$^1!")
  1703. cs_set_user_money(id, pare_igraca + 300)
  1704. }
  1705. case 4:
  1706. {
  1707. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Dobio si^3 1000$^1!")
  1708. cs_set_user_money(id, pare_igraca + 1000)
  1709. }
  1710. case 5:
  1711. {
  1712. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Nazalost nisi nista dobio!")
  1713. }
  1714. case 6:
  1715. {
  1716. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Nazalost nisi nista dobio!")
  1717. }
  1718. case 7:
  1719. {
  1720. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Izgubio si^3 16000$^1!")
  1721. cs_set_user_money(id, pare_igraca - 16000)
  1722. }
  1723. case 8:
  1724. {
  1725. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Nazalost nisi nista dobio!")
  1726. }
  1727. case 9:
  1728. {
  1729. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Dobio si^3 1000 EXP ^1!")
  1730. iskustvo_igraca[id] += iskustvo_za_mnogopara;
  1731. }
  1732. case 10:
  1733. {
  1734. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Dobio si^3 500 EXP^1!")
  1735. iskustvo_igraca[id] += 500;
  1736. }
  1737. case 11:
  1738. {
  1739. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Nazalost nisi nista dobio!")
  1740. }
  1741. case 12:
  1742. {
  1743. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Dobio si^3 100 EXP^1 !")
  1744. iskustvo_igraca[id] += 100;
  1745. }
  1746. case 13:
  1747. {
  1748. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  1749. }
  1750. }
  1751. ProveriNivo(id);
  1752. return PLUGIN_CONTINUE;
  1753. }
  1754. case 4:
  1755. {
  1756. new cena = 5000;
  1757. if (pare_igraca<cena)
  1758. {
  1759. ChatColor(id, "%L", id, "ML_NOTENOUGHT")
  1760. return PLUGIN_CONTINUE;
  1761. }
  1762. new exp = random_num(20,150)
  1763. iskustvo_igraca[id] += exp;
  1764. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Dobio si ^3 %i ^1iskustva", exp);
  1765. cs_set_user_money(id, pare_igraca-cena)
  1766. ProveriNivo(id);
  1767. }
  1768. case 5:
  1769. {
  1770. new cena = 10000;
  1771. if (pare_igraca<cena)
  1772. {
  1773. ChatColor(id, "%L", id, "ML_NOTENOUGHT")
  1774. return PLUGIN_CONTINUE;
  1775. }
  1776. new exp = random_num(100,400)
  1777. iskustvo_igraca[id] += exp;
  1778. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Dobio si ^3 %i ^1iskustva", exp);
  1779. cs_set_user_money(id, pare_igraca-cena)
  1780. ProveriNivo(id);
  1781. }
  1782. case 6:
  1783. {
  1784. new cena = 3000;
  1785. if (pare_igraca<cena)
  1786. {
  1787. ChatColor(id, "%L", id, "ML_NOTENOUGHT")
  1788. return PLUGIN_CONTINUE;
  1789. }
  1790. cs_set_user_money(id, pare_igraca-cena)
  1791. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  1792. }
  1793. case 7:
  1794. {
  1795. new cena = 10000
  1796. if(!is_user_alive(id))
  1797. {
  1798. ChatColor(id, "%L", id, "ML_ALIVE");
  1799. return PLUGIN_CONTINUE;
  1800. }
  1801. if (pare_igraca<cena)
  1802. {
  1803. ChatColor(id, "%L", id, "ML_NOTENOUGHT")
  1804. return PLUGIN_CONTINUE;
  1805. }
  1806. broj_min_igraca[id] +=2;
  1807. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Kupio si^3 2 ^1mine");
  1808. cs_set_user_money(id, pare_igraca-cena)
  1809. }
  1810. case 8:
  1811. {
  1812. new cena = 10000
  1813. if(!is_user_alive(id))
  1814. {
  1815. ChatColor(id, "%L", id, "ML_ALIVE");
  1816. return PLUGIN_CONTINUE;
  1817. }
  1818. if (pare_igraca<cena)
  1819. {
  1820. ChatColor(id, "%L", id, "ML_NOTENOUGHT")
  1821. return PLUGIN_CONTINUE;
  1822. }
  1823. broj_raketa_igraca[id] +=2;
  1824. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Kupio si^3 2 ^1rakete");
  1825. cs_set_user_money(id, pare_igraca-cena)
  1826. }
  1827. case 9:
  1828. {
  1829. new cena = 10000
  1830. if(!is_user_alive(id))
  1831. {
  1832. ChatColor(id, "%L", id, "ML_ALIVE");
  1833. return PLUGIN_CONTINUE;
  1834. }
  1835. if (pare_igraca<cena)
  1836. {
  1837. ChatColor(id, "%L", id, "ML_NOTENOUGHT")
  1838. return PLUGIN_CONTINUE;
  1839. }
  1840. broj_dinamita_igraca[id] +=2;
  1841. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Kupio si^3 2 ^1dinamita");
  1842. cs_set_user_money(id, pare_igraca-cena)
  1843. }
  1844. case 10:
  1845. {
  1846. KupiDefuse(id)
  1847. }
  1848. }
  1849. return PLUGIN_CONTINUE;
  1850. }
  1851.  
  1852. public Pocetak(id)
  1853. {
  1854. if(!is_user_alive(id) || !is_user_connected(id))
  1855. return PLUGIN_CONTINUE;
  1856. dobio_predmet[id] = false
  1857. korisceno[id] = 0
  1858. if(nova_klasa_igraca[id])
  1859. {
  1860. klasa_igraca[id] = nova_klasa_igraca[id];
  1861. nova_klasa_igraca[id] = 0;
  1862. ima_bazuku[id] = false;
  1863. rakete_igraca[id] = 0;
  1864. strip_user_weapons(id);
  1865. give_item(id, "weapon_knife");
  1866. UcitajPodatke(id, klasa_igraca[id]);
  1867. }
  1868.  
  1869. if(!klasa_igraca[id])
  1870. {
  1871. IzaberiKlase(id)
  1872. return PLUGIN_CONTINUE;
  1873. }
  1874.  
  1875. switch(klasa_igraca[id])
  1876. {
  1877. case Snajperista:
  1878. {
  1879. give_item(id, "weapon_awp");
  1880. give_item(id, "weapon_scout");
  1881. give_item(id, "weapon_deagle");
  1882. }
  1883. case Marinac:
  1884. {
  1885. give_item(id, "weapon_deagle");
  1886. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 10);
  1887. }
  1888. case ProStrelac:
  1889. {
  1890. give_item(id, "weapon_m4a1");
  1891. give_item(id, "weapon_ak47");
  1892. }
  1893. case Mitraljezac:
  1894. {
  1895. give_item(id, "weapon_m249");
  1896. give_item(id, "weapon_hegrenade");
  1897. give_item(id, "weapon_flashbang");
  1898. give_item(id, "weapon_smokegrenade");
  1899. }
  1900. case Doktor:
  1901. {
  1902. give_item(id, "weapon_ump45")
  1903. broj_medkit_igraca[id] = 4
  1904. }
  1905. case VatrenaPodrska:
  1906. {
  1907. give_item(id, "weapon_mp5navy");
  1908. broj_raketa_igraca[id] = 2;
  1909. }
  1910. case Miner:
  1911. {
  1912. give_item(id, "weapon_p90");
  1913. broj_min_igraca[id] = 3
  1914. }
  1915. case Demolitions:
  1916. {
  1917. give_item(id, "weapon_aug");
  1918. give_item(id, "weapon_hegrenade");
  1919. give_item(id, "weapon_flashbang");
  1920. give_item(id, "weapon_smokegrenade");
  1921. broj_dinamita_igraca[id] = 1;
  1922. }
  1923. case Rusher:
  1924. {
  1925. give_item(id, "weapon_m3");
  1926. }
  1927. case Rambo:
  1928. {
  1929. give_item(id, "weapon_famas");
  1930. }
  1931. case Revolveras:
  1932. {
  1933. give_item(id, "weapon_elite");
  1934. broj_raketa_igraca[id] = 2;
  1935. }
  1936. case Bombarder:
  1937. {
  1938. give_item(id, "weapon_m4a1");
  1939. give_item(id, "weapon_deagle");
  1940. give_item(id, "weapon_hegrenade");
  1941. cs_set_user_bpammo(id, CSW_HEGRENADE, 15);
  1942. }
  1943. case Strelac:
  1944. {
  1945. give_item(id, "weapon_xm1014");
  1946. give_item(id, "weapon_elite");
  1947. }
  1948. case Informator:
  1949. {
  1950. give_item(id, "weapon_mp5navy");
  1951. }
  1952. case Pukovnik:
  1953. {
  1954. give_item(id, "weapon_famas");
  1955. give_item(id, "weapon_deagle");
  1956. broj_min_igraca[id] = 2
  1957. }
  1958. case Pobunjenik:
  1959. {
  1960. give_item(id, "weapon_sg552");
  1961. broj_raketa_igraca[id] = 2;
  1962. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 65);
  1963. }
  1964. case SerijskiUbica:
  1965. {
  1966. give_item(id, "weapon_m4a1");
  1967. give_item(id, "weapon_smokegrenade");
  1968. }
  1969. case Desetar:
  1970. {
  1971. give_item(id, "weapon_scout");
  1972. give_item(id, "weapon_deagle");
  1973. }
  1974. case Vodnik:
  1975. {
  1976. give_item(id, "weapon_m3");
  1977.  
  1978. }
  1979. case Kamikaza:
  1980. {
  1981. give_item(id, "weapon_m4a1");
  1982. broj_raketa_igraca[id] = 2;
  1983. }
  1984. case Assassin:
  1985. {
  1986. give_item(id, "weapon_deagle");
  1987. }
  1988. case Major:
  1989. {
  1990. give_item(id, "weapon_glock18");
  1991. give_item(id, "weapon_m4a1");
  1992. give_item(id, "weapon_usp");
  1993. give_item(id, "weapon_p228");
  1994. give_item(id, "weapon_deagle");
  1995. give_item(id, "weapon_elite");
  1996. give_item(id, "weapon_fiveseven");
  1997. give_item(id, "weapon_smokegrenade");
  1998. broj_min_igraca[id] = 30
  1999. }
  2000. case Kapetan:
  2001. {
  2002. give_item(id, "weapon_aug");
  2003. }
  2004. case Potpukovnik:
  2005. {
  2006. give_item(id, "weapon_awp");
  2007. give_item(id, "weapon_deagle");
  2008. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 55);
  2009. }
  2010. case Marsal:
  2011. {
  2012. give_item(id, "weapon_deagle");
  2013. }
  2014. case NemackiStrelac:
  2015. {
  2016. give_item(id, "weapon_ak47");
  2017. broj_raketa_igraca[id] = 2;
  2018. }
  2019. case RuskiPukovnik:
  2020. {
  2021. give_item(id, "weapon_m4a1");
  2022. broj_min_igraca[id] = 1
  2023. }
  2024. case PoljskaPesadija:
  2025. {
  2026. give_item(id, "weapon_mp5navy");
  2027. broj_dinamita_igraca[id] = 2
  2028. }
  2029. case Mornar:
  2030. {
  2031. give_item(id, "weapon_mac10");
  2032. broj_min_igraca[id] = 2
  2033. }
  2034. case Napadac:
  2035. {
  2036. give_item(id, "weapon_famas");
  2037. give_item(id, "weapon_p90");
  2038. broj_dinamita_igraca[id] = 0
  2039. }
  2040. case Legija:
  2041. {
  2042. give_item(id, "weapon_m4a1");
  2043. give_item(id, "weapon_sg552");
  2044. give_item(id, "weapon_deagle");
  2045. }
  2046. case Armageddon:
  2047. {
  2048. give_item(id, "weapon_ak47");
  2049. give_item(id, "weapon_aug");
  2050. give_item(id, "weapon_hegrenade");
  2051. broj_dinamita_igraca[id] = 3
  2052. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 30);
  2053. }
  2054. case Samuraj:
  2055. {
  2056. give_item(id, "weapon_usp");
  2057. }
  2058. case RatkoMladic:
  2059. {
  2060. give_item(id, "weapon_m4a1");
  2061. give_item(id, "weapon_ak47");
  2062. give_item(id, "weapon_hegrenade");
  2063. give_item(id, "weapon_deagle");
  2064. broj_raketa_igraca[id] = 5;
  2065. }
  2066. case SWAT:
  2067. {
  2068. give_item(id, "weapon_m4a1");
  2069. give_item(id, "weapon_usp");
  2070. }
  2071. case Partizan:
  2072. {
  2073. give_item(id, "weapon_p90");
  2074. give_item(id, "weapon_flashbang");
  2075. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70);
  2076. }
  2077. case Gunner:
  2078. {
  2079. give_item(id, "weapon_g3sg1");
  2080. give_item(id, "weapon_deagle");
  2081. give_item(id, "weapon_hegrenade");
  2082. broj_raketa_igraca[id] = 2;
  2083. }
  2084. case Cleric:
  2085. {
  2086. give_item(id, "weapon_ak47");
  2087. give_item(id, "weapon_elite");
  2088. broj_min_igraca[id] = 3
  2089. }
  2090. case General:
  2091. {
  2092. give_item(id, "weapon_m4a1");
  2093. give_item(id, "weapon_p90");
  2094. give_item(id, "weapon_deagle");
  2095. PromeniModel(id, 0);
  2096. }
  2097. case Terminator:
  2098. {
  2099. give_item(id, "weapon_ak47");
  2100. give_item(id, "weapon_usp");
  2101. broj_raketa_igraca[id] = 2;
  2102. }
  2103. case Slayer:
  2104. {
  2105. give_item(id, "weapon_famas");
  2106. give_item(id, "weapon_p90");
  2107. broj_raketa_igraca[id] = 3;
  2108. }
  2109. case Zastavnik:
  2110. {
  2111. give_item(id, "weapon_p90");
  2112. give_item(id, "weapon_deagle");
  2113. broj_raketa_igraca[id] = 2;
  2114. }
  2115. case Admiral:
  2116. {
  2117. give_item(id, "weapon_ak47");
  2118. give_item(id, "weapon_famas");
  2119. }
  2120. case Fighter:
  2121. {
  2122. give_item(id, "weapon_mac10");
  2123. give_item(id, "weapon_scout");
  2124. give_item(id, "weapon_usp");
  2125. broj_dinamita_igraca[id] = 2
  2126. }
  2127. case Policajac:
  2128. {
  2129. give_item(id, "weapon_xm1014");
  2130. give_item(id, "weapon_tmp");
  2131. give_item(id, "weapon_fiveseven");
  2132.  
  2133. }
  2134. case Specijalac:
  2135. {
  2136. give_item(id, "weapon_famas");
  2137. give_item(id, "weapon_p228");
  2138. give_item(id, "weapon_m3");
  2139.  
  2140. }
  2141. case Predator:
  2142. {
  2143. give_item(id, "weapon_sg552");
  2144. give_item(id, "weapon_glock18");
  2145. give_item(id, "weapon_smokegrenade");
  2146.  
  2147. }
  2148. case NemackiOficir:
  2149. {
  2150. give_item(id, "weapon_p90");
  2151. give_item(id, "weapon_glock18");
  2152. give_item(id, "weapon_smokegrenade");
  2153. }
  2154. case Cetnik:
  2155. {
  2156. give_item(id, "weapon_ak47");
  2157. give_item(id, "weapon_hegrenade");
  2158. give_item(id, "weapon_hegrenade");
  2159. broj_dinamita_igraca[id] = 2
  2160. }
  2161. case ProfVojnik:
  2162. {
  2163. give_item(id, "weapon_famas");
  2164. give_item(id, "weapon_usp");
  2165. broj_raketa_igraca[id] = 2;
  2166. }
  2167. case Crysis:
  2168. {
  2169. give_item(id, "weapon_sg552");
  2170. give_item(id, "weapon_m4a1");
  2171. broj_raketa_igraca[id] = 2;
  2172. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70);
  2173. }
  2174. case ProfStrelac:
  2175. {
  2176. give_item(id, "weapon_awp");
  2177. give_item(id, "weapon_m4a1");
  2178. broj_raketa_igraca[id] = 2;
  2179. }
  2180. case Komandos:
  2181. {
  2182. give_item(id, "weapon_m4a1");
  2183. broj_dinamita_igraca[id] = 3;
  2184. broj_raketa_igraca[id] = 3;
  2185. broj_min_igraca[id] = 3;
  2186. }
  2187. case JSO:
  2188. {
  2189. give_item(id, "weapon_m4a1");
  2190. give_item(id, "weapon_mp5navy");
  2191. broj_raketa_igraca[id] = 2;
  2192. set_user_footsteps(id, 0);
  2193. }
  2194. case ProMiner:
  2195. {
  2196. give_item(id, "weapon_mp5navy");
  2197. broj_min_igraca[id] = 5;
  2198. }
  2199. case Placenik:
  2200. {
  2201. give_item(id, "weapon_mp5navy");
  2202. give_item(id, "weapon_m3");
  2203. }
  2204. case BazookaSoldier:
  2205. {
  2206. give_item(id, "weapon_p228");
  2207. give_item(id, "weapon_deagle");
  2208. ima_bazuku[id] = true;
  2209. rakete_igraca[id] = 10;
  2210. }
  2211. case Soap:
  2212. {
  2213. give_item(id, "weapon_g3sg1");
  2214. give_item(id, "weapon_m4a1");
  2215. give_item(id, "weapon_deagle");
  2216. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 45);
  2217. broj_dinamita_igraca[id] = 15;
  2218. }
  2219. case Price:
  2220. {
  2221. give_item(id, "weapon_g3sg1");
  2222. }
  2223. case SlimShady:
  2224. {
  2225. give_item(id, "weapon_mac10");
  2226. }
  2227. case SpecialOps:
  2228. {
  2229. give_item(id, "weapon_p90");
  2230. broj_raketa_igraca[id] = 3;
  2231. }
  2232. case Gramaton:
  2233. {
  2234. give_item(id, "weapon_ak47");
  2235. }
  2236. }
  2237.  
  2238. if(poeni_igraca[id]>0)
  2239. DodelaPoena(id);
  2240.  
  2241. if(informacije_predmet_igraca[id][0] == 10 || informacije_predmet_igraca[id][0] == 9 || informacije_predmet_igraca[id][0] == 37)
  2242. give_item(id, "weapon_hegrenade");
  2243.  
  2244. if(informacije_predmet_igraca[id][0] == 9)
  2245. PromeniModel(id, 0);
  2246.  
  2247. if(informacije_predmet_igraca[id][0] == 1)
  2248. set_user_footsteps(id, 1);
  2249. else
  2250. set_user_footsteps(id, 0);
  2251.  
  2252. if(informacije_predmet_igraca[id][0] == 13)
  2253. give_item(id, "weapon_awp");
  2254.  
  2255. if(informacije_predmet_igraca[id][0] == 31)
  2256. give_item(id, "weapon_mp5navy");
  2257.  
  2258. if(informacije_predmet_igraca[id][0] == 31)
  2259. give_item(id, "weapon_usp");
  2260.  
  2261. if(informacije_predmet_igraca[id][0] == 32)
  2262. give_item(id, "weapon_m4a1");
  2263.  
  2264. if(informacije_predmet_igraca[id][0] == 33)
  2265. give_item(id, "weapon_deagle");
  2266.  
  2267. if(informacije_predmet_igraca[id][0] == 34)
  2268. give_item(id, "weapon_scout");
  2269.  
  2270. if(informacije_predmet_igraca[id][0] == 35)
  2271. give_item(id, "weapon_awp");
  2272.  
  2273. if(informacije_predmet_igraca[id][0] == 35)
  2274. give_item(id, "weapon_ak47");
  2275.  
  2276. if(informacije_predmet_igraca[id][0] == 36)
  2277. give_item(id, "weapon_m3");
  2278.  
  2279. if(informacije_predmet_igraca[id][0] == 47)
  2280. give_item(id, "weapon_sg550");
  2281.  
  2282. if(informacije_predmet_igraca[id][0] == 48)
  2283. set_user_armor(id, 900)
  2284.  
  2285. if(informacije_predmet_igraca[id][0] == 38)
  2286. give_item(id, "weapon_galil");
  2287.  
  2288. if(informacije_predmet_igraca[id][0] == 39)
  2289. give_item(id, "weapon_awp");
  2290.  
  2291. if(informacije_predmet_igraca[id][0] == 39)
  2292. give_item(id, "weapon_deagle");
  2293.  
  2294. if(informacije_predmet_igraca[id][0] == 40)
  2295. set_user_gravity(id,get_user_gravity(id) - 0.4);
  2296.  
  2297. if(informacije_predmet_igraca[id][0] == 16)
  2298. give_item(id, "weapon_deagle");
  2299.  
  2300. if(informacije_predmet_igraca[id][0] == 19)
  2301. informacije_predmet_igraca[id][1] = 1;
  2302.  
  2303. if(informacije_predmet_igraca[id][0] == 27)
  2304. informacije_predmet_igraca[id][1] = 3;
  2305.  
  2306. if(informacije_predmet_igraca[id][0] == 29)
  2307. set_user_gravity(id,get_user_gravity(id) - 0.4);
  2308.  
  2309. new weapons[32];
  2310. new weaponsnum;
  2311. get_user_weapons(id, weapons, weaponsnum);
  2312. for(new i=0; i<weaponsnum; i++)
  2313. if(is_user_alive(id))
  2314. if(maxAmmo[weapons[i]] > 0)
  2315. cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  2316.  
  2317. PostaviAtribute(id)
  2318.  
  2319. return PLUGIN_CONTINUE;
  2320. }
  2321.  
  2322. public PostaviAtribute(id)
  2323. {
  2324. smanjene_povrede_igraca[id] = (0.7*(1.0-floatpower(1.1, -0.112311341*float(snaga_igraca[id]))));
  2325. maximalna_energija_igraca[id] = energija_klasa[klasa_igraca[id]]+energija_igraca[id]*2;
  2326. brzina_igraca[id] = STANDARDNA_brzina*brzina_klasa[klasa_igraca[id]]+floatround(kondicija_igraca[id]*1.3);
  2327.  
  2328. if(informacije_predmet_igraca[id][0] == 18 && klasa_igraca[id] != Assassin)
  2329. {
  2330. maximalna_energija_igraca[id] += 100;
  2331. brzina_igraca[id] -= 0.4;
  2332. }
  2333.  
  2334. if(informacije_predmet_igraca[id][0] == 25 && klasa_igraca[id] != Assassin)
  2335. {
  2336. maximalna_energija_igraca[id] += 50;
  2337. brzina_igraca[id] -= 0.3;
  2338. }
  2339. if(informacije_predmet_igraca[id][0] == 30)
  2340. {
  2341. brzina_igraca[id] += 1.2;
  2342. }
  2343. set_user_armor(id, oklop_klase[klasa_igraca[id]]);
  2344. if(informacije_predmet_igraca[id][0] == 44)
  2345. {
  2346. maximalna_energija_igraca[id] *= 2;
  2347. }
  2348. if(informacije_predmet_igraca[id][0] == 17)
  2349. set_user_armor(id, 500);
  2350.  
  2351. set_user_health(id, maximalna_energija_igraca[id]);
  2352.  
  2353. if(klasa_igraca[id] == Partizan)
  2354. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70);
  2355. else
  2356. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  2357. }
  2358.  
  2359. public PocetakRunde()
  2360. {
  2361. for(new id=0;id<=32;id++)
  2362. {
  2363. if(!is_user_alive(id))
  2364. continue;
  2365.  
  2366. ubistava[id] = 0;
  2367.  
  2368.  
  2369. freezetime = false;
  2370. for(new id=0;id<=32;id++)
  2371. {
  2372. if(!is_user_alive(id))
  2373. continue;
  2374.  
  2375. set_task(0.1, "PostaviBrzinu", id+ZADATAK_POSTAVI_brzinu);
  2376.  
  2377. switch(get_user_team(id))
  2378. {
  2379. case 1:
  2380. {
  2381. client_cmd(id, "spk QTM_CodMod/start2");
  2382. give_item(id, "weapon_glock18");
  2383. }
  2384. case 2:
  2385. {
  2386. client_cmd(id, "spk QTM_CodMod/start");
  2387. give_item(id, "weapon_usp");
  2388. }
  2389. }
  2390. }
  2391. }
  2392.  
  2393. public novaRunda()
  2394. {
  2395. freezetime = true;
  2396. new iEnt = find_ent_by_class(-1, "Mine");
  2397. while(iEnt > 0)
  2398. {
  2399. remove_entity(iEnt);
  2400. iEnt = find_ent_by_class(iEnt, "Mine");
  2401. }
  2402. }
  2403.  
  2404. public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
  2405. {
  2406. 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])
  2407. return HAM_IGNORED;
  2408.  
  2409. new health = get_user_health(this);
  2410. new weapon = get_user_weapon(idattacker);
  2411.  
  2412. if(health < 2)
  2413. return HAM_IGNORED;
  2414.  
  2415. if(informacije_predmet_igraca[this][0] == 27 && informacije_predmet_igraca[this][1]>0)
  2416. {
  2417. informacije_predmet_igraca[this][1]--;
  2418. return HAM_SUPERCEDE;
  2419. }
  2420.  
  2421. if(snaga_igraca[this]>0)
  2422. damage -= smanjene_povrede_igraca[this]*damage;
  2423.  
  2424. if(informacije_predmet_igraca[this][0] == 2 || informacije_predmet_igraca[this][0] == 3)
  2425. damage-=(float(informacije_predmet_igraca[this][1])<damage)? float(informacije_predmet_igraca[this][1]): damage;
  2426.  
  2427. if(informacije_predmet_igraca[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
  2428. damage*=2.0;
  2429.  
  2430. if(informacije_predmet_igraca[idattacker][0] == 10)
  2431. damage+=informacije_predmet_igraca[idattacker][1];
  2432.  
  2433. if(informacije_predmet_igraca[this][0] == 12)
  2434. damage-=(5.0<damage)? 5.0: damage;
  2435.  
  2436. if(weapon == CSW_AWP && informacije_predmet_igraca[idattacker][0] == 13)
  2437. damage=float(health);
  2438.  
  2439. if(weapon == CSW_AWP && klasa_igraca[idattacker] == Snajperista)
  2440. damage=float(health);
  2441.  
  2442. if(weapon == CSW_AWP && informacije_predmet_igraca[idattacker][0] == 35)
  2443. damage=float(health);
  2444.  
  2445. if(informacije_predmet_igraca[idattacker][0] == 21)
  2446. damage+=10;
  2447.  
  2448. if(informacije_predmet_igraca[idattacker][0] == 22)
  2449. damage+=20;
  2450.  
  2451.  
  2452. if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
  2453. {
  2454. if((informacije_predmet_igraca[idattacker][0] == 9 && random_num(1, informacije_predmet_igraca[idattacker][1]) == 1) || informacije_predmet_igraca[idattacker][0] == 10 || informacije_predmet_igraca[idattacker][0] == 37)
  2455. damage = float(health);
  2456. }
  2457. if(weapon == CSW_HEGRENADE)
  2458. {
  2459. if(klasa_igraca[idattacker] == RatkoMladic && !random(2))
  2460. damage = float(health);
  2461.  
  2462. if(klasa_igraca[idattacker] == Bombarder)
  2463. {
  2464. give_item(idattacker, "weapon_hegrenade")
  2465. cs_set_user_bpammo(idattacker, CSW_HEGRENADE, 15)
  2466. }
  2467. }
  2468.  
  2469. if(weapon == CSW_SCOUT)
  2470. {
  2471. if(informacije_predmet_igraca[idattacker][0] == 34 || klasa_igraca[idattacker] == RatkoMladic)
  2472. damage = float(health);
  2473.  
  2474. }
  2475. if(weapon == CSW_KNIFE)
  2476. {
  2477. if(klasa_igraca[this] == SWAT)
  2478. return HAM_SUPERCEDE;
  2479. if(informacije_predmet_igraca[this][0] == 4)
  2480. damage=damage*1.4+inteligencija_igraca[idattacker];
  2481. if(informacije_predmet_igraca[idattacker][0] == 8 || (klasa_igraca[idattacker] == Snajperista && random_num(1,2) == 1) || (klasa_igraca[idattacker] == Price && random_num(1,2) == 1) || klasa_igraca[idattacker] == Marinac || klasa_igraca[idattacker] == Komandos || klasa_igraca[idattacker] == Assassin && !(get_user_button(idattacker) & IN_ATTACK))
  2482. damage = float(health);
  2483. }
  2484. if(informacije_predmet_igraca[idattacker][0] == 31)
  2485. {
  2486. if(weapon == CSW_USP && !random(2))
  2487. damage = float(health);
  2488.  
  2489. if(weapon == CSW_MP5NAVY && !random(5))
  2490. damage = float(health);
  2491. }
  2492. if(informacije_predmet_igraca[idattacker][0] == 32)
  2493. {
  2494. if(weapon == CSW_M4A1 && !random(4))
  2495. damage = float(health);
  2496. }
  2497. if(informacije_predmet_igraca[idattacker][0] == 33)
  2498. {
  2499. if(weapon == CSW_DEAGLE && !random(3))
  2500. damage = float(health);
  2501. }
  2502. if(informacije_predmet_igraca[idattacker][0] == 36)
  2503. {
  2504. if(weapon == CSW_M3 && !random(3))
  2505. damage = float(health);
  2506. }
  2507. if(informacije_predmet_igraca[idattacker][0] == 38)
  2508. {
  2509. if(weapon == CSW_GALIL && !random(7))
  2510. damage = float(health);
  2511. }
  2512. if(informacije_predmet_igraca[idattacker][0] == 31)
  2513. {
  2514. if(weapon == CSW_AWP)
  2515. damage = float(health);
  2516.  
  2517. if(weapon == CSW_DEAGLE && !random(2))
  2518. damage = float(health);
  2519. }
  2520. if(informacije_predmet_igraca[idattacker][0] == 47)
  2521. {
  2522. if(weapon == CSW_SG550 && !random(3))
  2523. damage = float(health);
  2524. }
  2525. if(klasa_igraca[idattacker] == Price)
  2526. {
  2527. if(weapon == CSW_USP && !random(3))
  2528. damage = float(health);
  2529. }
  2530. if(klasa_igraca[idattacker] == SlimShady)
  2531. {
  2532. if(weapon == CSW_MAC10 && !random(6))
  2533. damage = float(health);
  2534. }
  2535. if(klasa_igraca[idattacker] == SpecialOps)
  2536. {
  2537. if(weapon == CSW_P90 && !random(8))
  2538. damage = float(health);
  2539. }
  2540. if(klasa_igraca[idattacker] == Gramaton)
  2541. {
  2542. if(weapon == CSW_AK47 && !random(2))
  2543. damage = float(health);
  2544. }
  2545. if(informacije_predmet_igraca[this][0] == 26 && random_num(1, informacije_predmet_igraca[this][1]) == 1)
  2546. {
  2547. SetHamParamEntity(3, this);
  2548. SetHamParamEntity(1, idattacker);
  2549. }
  2550.  
  2551. SetHamParamFloat(4, damage);
  2552. return HAM_IGNORED;
  2553. }
  2554.  
  2555. public Damage(id)
  2556. {
  2557. new attacker = get_user_attacker(id);
  2558. new damage = read_data(2);
  2559. if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !klasa_igraca[attacker])
  2560. return PLUGIN_CONTINUE;
  2561.  
  2562. set_hudmessage(200, 200, 200, -1.0, -1.0, 0, 0.1, 0.6)
  2563. show_hudmessage(attacker, "> <")
  2564.  
  2565. if(informacije_predmet_igraca[attacker][0] == 12 && random_num(1, informacije_predmet_igraca[id][1]) == 1)
  2566. Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
  2567.  
  2568. if(get_user_team(id) != get_user_team(attacker))
  2569. {
  2570. while(damage>20)
  2571. {
  2572. damage-=20;
  2573. iskustvo_igraca[attacker]++;
  2574. }
  2575. }
  2576.  
  2577. ProveriNivo(attacker);
  2578. return PLUGIN_CONTINUE;
  2579. }
  2580.  
  2581. public Death()
  2582. {
  2583. new id = read_data(2);
  2584. new attacker = read_data(1);
  2585.  
  2586. if(!is_user_alive(attacker) || !is_user_connected(attacker))
  2587. return PLUGIN_CONTINUE;
  2588.  
  2589. shop_poeni_igraca[attacker] += get_pcvar_num(shop_kill);
  2590.  
  2591. new weapon = get_user_weapon(attacker);
  2592. new energija = get_user_health(attacker);
  2593. if(get_user_team(id) != get_user_team(attacker) && klasa_igraca[attacker])
  2594. {
  2595. new iskustvo_za_ubistvo
  2596. new novo_iskustvo
  2597. iskustvo_za_ubistvo = get_pcvar_num(cvar_xp_za_ubistvo);
  2598. novo_iskustvo = get_pcvar_num(cvar_xp_za_ubistvo);
  2599.  
  2600. if(klasa_igraca[id] == Rambo && klasa_igraca[attacker] != Rambo)
  2601. novo_iskustvo += iskustvo_za_ubistvo*2;
  2602.  
  2603. if(klasa_igraca[attacker] == Rambo || informacije_predmet_igraca[attacker][0] == 15 && maxClip[weapon] != -1)
  2604. {
  2605.  
  2606. new nova_energija = (energija+20<maximalna_energija_igraca[attacker])? energija+20: maximalna_energija_igraca[attacker];
  2607. set_user_clip(attacker, maxClip[weapon]);
  2608. set_user_health(attacker, nova_energija);
  2609. }
  2610. #if defined BOTY
  2611. if(is_user_bot2(attacker) && random(9) == 0)
  2612. IzbaciPredmet(id);
  2613. #endif
  2614. if(!informacije_predmet_igraca[attacker][0])
  2615. DajPredmet(attacker, random_num(1, sizeof naziv_predmeta-1));
  2616.  
  2617. if(klasa_igraca[id] == Gramaton)
  2618. {
  2619. LetiGore(id);
  2620. }
  2621.  
  2622. if(informacije_predmet_igraca[attacker][0] == 14)
  2623. {
  2624. new nova_energija = (energija+50<maximalna_energija_igraca[attacker])? energija+50: maximalna_energija_igraca[attacker];
  2625. set_user_health(attacker, nova_energija);
  2626. }
  2627. set_dhudmessage(200, 200, 0, 0.55, 0.39, 1, 6.0, 4.0);
  2628. show_dhudmessage(attacker, "+%i", novo_iskustvo);
  2629.  
  2630. iskustvo_igraca[attacker] += novo_iskustvo;
  2631. }
  2632.  
  2633. ProveriNivo(attacker);
  2634.  
  2635. if(informacije_predmet_igraca[id][0] == 7 && random_num(1, informacije_predmet_igraca[id][1]) == 1)
  2636. set_task(0.1, "Provera", id+ZADATAK_PROVERA);
  2637.  
  2638. return PLUGIN_CONTINUE;
  2639. }
  2640.  
  2641. public PobedaTerro()
  2642. PobednjenaRunda("TERRORIST");
  2643.  
  2644. public PobedaCT()
  2645. PobednjenaRunda("CT");
  2646.  
  2647. public PobednjenaRunda(const Team[])
  2648. {
  2649. new Players[32], playerCount, id;
  2650. get_players(Players, playerCount, "aeh", Team);
  2651.  
  2652. if(get_playersnum() < 3)
  2653. return;
  2654.  
  2655. for (new i=0; i<playerCount; i++)
  2656. {
  2657. id = Players[i];
  2658. if(!klasa_igraca[id] && !is_user_connected(id))
  2659. continue;
  2660.  
  2661. iskustvo_igraca[id] += iskustvo_za_pobedu;
  2662. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Dobio si^3 %i ^1iskustva za pobedjenu rundu.", iskustvo_za_pobedu);
  2663. ProveriNivo(id);
  2664. }
  2665. }
  2666. public client_putinserver(id)
  2667. {
  2668. DeleteSkills(id);
  2669. ObrisiZadatke(id);
  2670. Obrisipredmet(id);
  2671. UcitajGb(id)
  2672.  
  2673. set_task(3.0, "PokaziInformacije", id+ZADATAK_POKAZI_INFORMACIJE);
  2674. set_task(0.1,"reklama", id);
  2675.  
  2676. g_FirstSpawn[id] = false;
  2677.  
  2678. get_user_authid(id, g_Data[id][Data_SteamID], 31);
  2679.  
  2680. if (!str_to_num(g_Data[id][Data_SteamID][10]))
  2681. return;
  2682.  
  2683. get_user_name(id, g_Data[id][Data_Name], 31);
  2684.  
  2685. if (!TrieKeyExists(g_Name, g_Data[id][Data_SteamID]))
  2686. AddRank(id);
  2687. else
  2688. LoadData(id);
  2689.  
  2690. UpdateRank(id, true);
  2691. }
  2692. AddRank(iPlayer)
  2693. {
  2694. g_Data[iPlayer][Data_Level] = 1;
  2695.  
  2696. ArrayPushString(g_SteamID, g_Data[iPlayer][Data_SteamID]);
  2697. TrieSetString(g_Name, g_Data[iPlayer][Data_SteamID], g_Data[iPlayer][Data_Name]);
  2698. }
  2699.  
  2700. LoadData(iPlayer)
  2701. TrieGetCell(g_PlayerLevel, g_Data[iPlayer][Data_SteamID], g_Data[iPlayer][Data_Level]);
  2702.  
  2703. UpdateRank(iPlayer, bool:Name)
  2704. {
  2705. if (Name)
  2706. TrieSetString(g_Name, g_Data[iPlayer][Data_SteamID], g_Data[iPlayer][Data_Name]);
  2707.  
  2708. TrieSetCell(g_PlayerLevel, g_Data[iPlayer][Data_SteamID], g_Data[iPlayer][Data_Level]);
  2709.  
  2710. return PLUGIN_CONTINUE;
  2711. }
  2712.  
  2713. public SayRank(iPlayer)
  2714. {
  2715. new Position = GetPosition(iPlayer);
  2716.  
  2717. if (!is_user_connected(iPlayer))
  2718. {
  2719. ColorChat(iPlayer, NORMAL, "^4[COD:MW4]^1 Nisi rankiran.")
  2720. return;
  2721. }
  2722. ColorChat(iPlayer, NORMAL, "^4[COD:MW4]^1 Tvoj rank je^3 %d ^1od^3 %d ^1sa levelom^3 %d", Position, ArraySize(g_SteamID), g_Data[iPlayer][Data_Level]);
  2723. }
  2724.  
  2725. public SayTop15(iPlayer)
  2726. {
  2727. WriteTop15();
  2728. ColorChat(iPlayer, GREEN, "Loading...")
  2729. set_task(1.0, "ShowMotd", iPlayer)
  2730. }
  2731.  
  2732. public ShowMotd(iPlayer)
  2733. show_motd(iPlayer, g_Top15, "Top 15");
  2734.  
  2735. public SortRanks(Array:SteamID, Position1, Position2)
  2736. {
  2737. static SteamID1[32];
  2738. ArrayGetString(SteamID, Position1, SteamID1, 31);
  2739.  
  2740. static SteamID2[32];
  2741. ArrayGetString(SteamID, Position2, SteamID2, 31);
  2742.  
  2743. static iLevel1;
  2744. TrieGetCell(g_PlayerLevel, SteamID1, iLevel1);
  2745.  
  2746. static iLevel2;
  2747. TrieGetCell(g_PlayerLevel, SteamID2, iLevel2);
  2748.  
  2749. if (iLevel1 < iLevel2)
  2750. return 1;
  2751. else if (iLevel1 > iLevel2)
  2752. return -1;
  2753.  
  2754. return 0;
  2755. }
  2756. public client_death(killer,victim,weapon,hitplace,TK) {
  2757.  
  2758. if(!killer || !victim || TK)
  2759. return;
  2760.  
  2761. if(hitplace == HIT_HEAD)
  2762. {
  2763. iskustvo_igraca[killer] += iskustvo_za_hs;
  2764.  
  2765. ColorChat(killer, NORMAL, "^4[COD:MW4]^1 Dobio si^3 %i ^1iskustvo jer si pogodio u glavu.", iskustvo_za_hs);
  2766. }
  2767. }
  2768. public client_connect(id)
  2769. {
  2770. ubistava[id] = 0;
  2771. }
  2772. public Smrt()
  2773. {
  2774. new id = read_data(2);
  2775. new napadac = read_data(1);
  2776.  
  2777. ubistava[napadac]++;
  2778. ubistava[id] = 0;
  2779.  
  2780. set_dhudmessage(0, 255, 0, -1.0, 0.35, 0, 6.0, 0.8)
  2781. show_dhudmessage(napadac, "%i KILLS", ubistava[napadac])
  2782.  
  2783. }
  2784. public client_disconnect(id)
  2785. {
  2786. g_isConnected[id] = false
  2787. g_isAlive[id] = false
  2788. SacuvajPodatke(id);
  2789. SacuvajGb(id)
  2790. DeleteSkills(id);
  2791. ObrisiZadatke(id);
  2792. Obrisipredmet(id);
  2793. ubistava[id] = 0;
  2794. }
  2795. public DeleteSkills(id)
  2796. {
  2797. klasa_igraca[id] = 0;
  2798. level_igraca[id] = 0;
  2799. iskustvo_igraca[id] = 0;
  2800. poeni_igraca[id] = 0;
  2801. energija_igraca[id] = 0;
  2802. inteligencija_igraca[id] = 0;
  2803. snaga_igraca[id] = 0;
  2804. kondicija_igraca[id] = 0;
  2805. maximalna_energija_igraca[id] = 0;
  2806. brzina_igraca[id] = 0.0;
  2807. promeni_tim[id] = false;
  2808. get_user_name(id, naziv_igraca[id], 63);
  2809. }
  2810. public ObrisiZadatke(id)
  2811. {
  2812. remove_task(id+ZADATAK_POKAZI_INFORMACIJE);
  2813. remove_task(id+ZADATAK_POKAZI_REKLAME);
  2814. remove_task(id+ZADATAK_POKAZI_REKLAMEA);
  2815. remove_task(id+ZADATAK_POSTAVI_brzinu);
  2816. remove_task(id+ZADATAK_PROVERA);
  2817. }
  2818.  
  2819. public OpisKlase(id)
  2820. {
  2821. new class[65]
  2822. new menu = menu_create("Izaberi Klasu:", "OpisKlase_Handle");
  2823. for(new i=1; i <sizeof naziv_klase; i++)
  2824. {
  2825. formatex(class, charsmax(class), "%L", id, naziv_klase[i])
  2826. menu_additem(menu, class);
  2827. }
  2828. menu_display(id, menu);
  2829.  
  2830. client_cmd(id, "spk QTM_CodMod/select");
  2831. }
  2832. public OpisPredmeta1(id)
  2833. {
  2834. new szItem[30], predmet[50];
  2835. formatex(szItem, charsmax(szItem), "Izaberi Klasu:", id)
  2836.  
  2837. new menu = menu_create(szItem, "OpisPredmeta1_Handle");
  2838. for(new i=1; i <sizeof naziv_predmeta; i++)
  2839. {
  2840. formatex(predmet, 49, "%L", id, naziv_predmeta[i]);
  2841. menu_additem(menu, predmet);
  2842. }
  2843. menu_display(id, menu, page[id][1]);
  2844.  
  2845. client_cmd(id, "spk QTM_CodMod/select");
  2846. }
  2847.  
  2848. public OpisPredmeta1_Handle(id, menu, item)
  2849. {
  2850. client_cmd(id, "spk QTM_CodMod/select");
  2851.  
  2852. if(item++ == MENU_EXIT)
  2853. {
  2854. page[id][1] = 0
  2855. menu_destroy(menu);
  2856. return PLUGIN_CONTINUE;
  2857. }
  2858. new predmet[512];
  2859. formatex(predmet, charsmax(predmet), "\rPredmet: \y%L^n\rOpis: \y%L.", id, naziv_predmeta[item], id, opis_predmet[item]);
  2860. show_menu(id, 1023, predmet);
  2861.  
  2862. return PLUGIN_CONTINUE;
  2863. }
  2864. public OpisKlase_Handle(id, menu, item)
  2865. {
  2866. client_cmd(id, "spk QTM_CodMod/select");
  2867.  
  2868. if(item == MENU_EXIT)
  2869. {
  2870. menu_destroy(menu)
  2871. return PLUGIN_CONTINUE;
  2872. }
  2873. new opis[512];
  2874. format(opis, charsmax(opis), "\yKlasa: \r%L^n%L", id, naziv_klase[item+1], id, opis_klase[item+1]);
  2875. show_menu(id, 1023, opis);
  2876.  
  2877. return PLUGIN_CONTINUE;
  2878. }
  2879. public IzaberiKlase(id)
  2880. {
  2881. new size[65]
  2882. new menu = menu_create("Choose Class:", "IzaberiKlasu");
  2883. for(new i = 1;i<sizeof(frakcje);i++){
  2884. formatex(size, sizeof(size), "%L", id, frakcje[i])
  2885. menu_additem(menu, size);
  2886. }
  2887. menu_display(id, menu);
  2888. }
  2889. public IzaberiKlasu(id, menu2, item)
  2890. {
  2891. if(item == MENU_EXIT)
  2892. {
  2893. menu_destroy(menu2);
  2894. return PLUGIN_CONTINUE;
  2895. }
  2896. item++;
  2897. frakcja_igraca[id] = item;
  2898. new menu = menu_create("Izaberi klasu:", "IzaberiKlasu_Handle");
  2899. new klasa[200];
  2900. for(new i=1; i<sizeof naziv_klase; i++)
  2901. {
  2902. if(nalezy_do[i] == item){
  2903. UcitajPodatke(id, i);
  2904. format(klasa, 199, "\r%L \w%s \yLevel: \w%i", id, naziv_klase[i], vrsta_klase[i], level_igraca[id]);
  2905. menu_additem(menu, klasa);
  2906. }
  2907. }
  2908.  
  2909. UcitajPodatke(id, klasa_igraca[id]);
  2910. menu_display(id, menu);
  2911.  
  2912. client_cmd(id, "spk QTM_CodMod/select");
  2913. #if defined BOTY
  2914. if(is_user_bot2(id))
  2915. IzaberiKlasu_Handle(id, menu, random(sizeof naziv_klase-1));
  2916. #endif
  2917. return PLUGIN_CONTINUE;
  2918. }
  2919. public IzaberiKlasu_Handle(id, menu, item)
  2920. {
  2921. client_cmd(id, "spk QTM_CodMod/select");
  2922.  
  2923. if(item == MENU_EXIT)
  2924. {
  2925. menu_destroy(menu);
  2926. return PLUGIN_CONTINUE;
  2927. }
  2928.  
  2929. item++;
  2930.  
  2931. new ile = 0;
  2932. for(new i=1; i<sizeof naziv_klase; i++)
  2933. {
  2934. if(nalezy_do[i] == frakcja_igraca[id]){
  2935. ile++;
  2936. }
  2937. if(ile == item){
  2938. item = i;
  2939. break;
  2940. }
  2941. }
  2942. if(item == klasa_igraca[id])
  2943. {
  2944. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Vec ste ta klasa");
  2945. return PLUGIN_CONTINUE;
  2946. }
  2947.  
  2948. if(item == Assassin && !(get_user_flags(id) & ADMIN_LEVEL_A)|| item == RatkoMladic && !(get_user_flags(id) & ADMIN_LEVEL_B)|| item == Major && !(get_user_flags(id) & ADMIN_LEVEL_C)|| item == General && !(get_user_flags(id) & ADMIN_LEVEL_D)|| item == BazookaSoldier && !(get_user_flags(id) & ADMIN_LEVEL_E)|| item == Komandos && !(get_user_flags(id) & ADMIN_LEVEL_F)|| item == Soap && !(get_user_flags(id) & ADMIN_LEVEL_G)|| item == Armageddon && !(get_user_flags(id) & ADMIN_LEVEL_H))
  2949. {
  2950. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Nemate pristup Premium Klasi");
  2951. IzaberiKlase(id);
  2952. return PLUGIN_CONTINUE;
  2953. }
  2954. if(item == Price && !(get_user_flags(id) & ADMIN_MAP))
  2955. {
  2956. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Nemate pristup Premium Klasi");
  2957. IzaberiKlase(id);
  2958. return PLUGIN_CONTINUE;
  2959. }
  2960. if(item == Gramaton && !(get_user_flags(id) & ADMIN_IMMUNITY))
  2961. {
  2962. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Nemate pristup Super Klasi");
  2963. IzaberiKlase(id);
  2964. return PLUGIN_CONTINUE;
  2965. }
  2966. if(klasa_igraca[id])
  2967. {
  2968. nova_klasa_igraca[id] = item;
  2969. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Klasa ce biti promenjena u sledecoj rundi.");
  2970. }
  2971. else
  2972. {
  2973. klasa_igraca[id] = item;
  2974. UcitajPodatke(id, klasa_igraca[id]);
  2975.  
  2976. if(is_user_alive(id) && is_user_connected(id))
  2977. {
  2978. Pocetak(id)
  2979. }
  2980. }
  2981. return PLUGIN_CONTINUE;
  2982. }
  2983.  
  2984. public DodelaPoena(id)
  2985. {
  2986. new naslov[60];
  2987. new poeni[65];
  2988. format(naslov, 59, "\yDodeli poena(%i):", poeni_igraca[id]);
  2989. new menu = menu_create(naslov, "DodelaPoena_Handler");
  2990. for(new i=0;i < sizeof szDodela;i++)
  2991. {
  2992. if(i == 0)
  2993. {
  2994. formatex(poeni, charsmax(poeni), "%L", id, szDodela[i], inteligencija_igraca[id])
  2995. menu_additem(menu, poeni)
  2996. }
  2997. else if(i == 1)
  2998. {
  2999. formatex(poeni, charsmax(poeni), "%L", id, szDodela[i], energija_igraca[id])
  3000. menu_additem(menu, poeni)
  3001. }
  3002. else if(i == 2)
  3003. {
  3004. formatex(poeni, charsmax(poeni), "%L", id, szDodela[i], snaga_igraca[id])
  3005. menu_additem(menu, poeni)
  3006. }
  3007. else if(i == 3)
  3008. {
  3009. formatex(poeni, charsmax(poeni), "%L", id, szDodela[i], kondicija_igraca[id])
  3010. menu_additem(menu, poeni)
  3011. }
  3012. else
  3013. {
  3014. formatex(poeni, charsmax(poeni), "%L", id, szDodela[i])
  3015. menu_additem(menu, poeni)
  3016. }
  3017. }
  3018. menu_display(id, menu);
  3019. }
  3020.  
  3021. public DodelaPoena_Handler(id, menu, item)
  3022. {
  3023. client_cmd(id, "spk QTM_CodMod/select");
  3024.  
  3025. if(item == MENU_EXIT)
  3026. {
  3027. menu_destroy(menu);
  3028. return PLUGIN_CONTINUE;
  3029. }
  3030.  
  3031.  
  3032. if(poeni_igraca[id] < 1)
  3033. return PLUGIN_CONTINUE;
  3034.  
  3035. switch(item)
  3036. {
  3037. case 0:
  3038. {
  3039. if(inteligencija_igraca[id]<250)
  3040. {
  3041. inteligencija_igraca[id]++;
  3042. poeni_igraca[id]--;
  3043. }
  3044. else
  3045. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo inteligencije");
  3046.  
  3047. }
  3048. case 1:
  3049. {
  3050. if(energija_igraca[id]<250)
  3051. {
  3052. energija_igraca[id]++;
  3053. poeni_igraca[id]--;
  3054. }
  3055. else
  3056. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo energije");
  3057. }
  3058. case 2:
  3059. {
  3060. if(snaga_igraca[id]<250)
  3061. {
  3062. snaga_igraca[id]++;
  3063. poeni_igraca[id]--;
  3064. }
  3065. else
  3066. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo snage");
  3067.  
  3068. }
  3069. case 3:
  3070. {
  3071. if(kondicija_igraca[id]<250)
  3072. {
  3073. kondicija_igraca[id]++;
  3074. poeni_igraca[id]--;
  3075. }
  3076. else
  3077. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo kondicije");
  3078. }
  3079. case 4:
  3080. {
  3081. if(poeni_igraca[id] < 10)
  3082. {
  3083. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate dovoljno poena");
  3084. }
  3085. else if(inteligencija_igraca[id]<250)
  3086. {
  3087. inteligencija_igraca[id]+=10;
  3088. poeni_igraca[id]-=10
  3089. }
  3090. else
  3091. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo inteligencije");
  3092. }
  3093. case 5:
  3094. {
  3095. if(poeni_igraca[id] < 10)
  3096. {
  3097. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate dovoljno poena");
  3098. }
  3099. else if(energija_igraca[id]<250)
  3100. {
  3101. energija_igraca[id]+=10;
  3102. poeni_igraca[id]-=10;
  3103. }
  3104. else
  3105. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo energije");
  3106. }
  3107. case 6:
  3108. {
  3109. if(poeni_igraca[id] < 10)
  3110. {
  3111. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate dovoljno poena");
  3112. }
  3113. else if(snaga_igraca[id]<250)
  3114. {
  3115. snaga_igraca[id]+=10;
  3116. poeni_igraca[id]-=10;
  3117. }
  3118. else
  3119. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo snage");
  3120. }
  3121. case 7:
  3122. {
  3123. if(poeni_igraca[id] < 10)
  3124. {
  3125. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate dovoljno poena");
  3126. }
  3127. else if(kondicija_igraca[id]<250)
  3128. {
  3129. kondicija_igraca[id]+=10;
  3130. poeni_igraca[id]-=10;
  3131. }
  3132. else
  3133. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo kondicije");
  3134. }
  3135. case 8:
  3136. {
  3137. new num = inteligencija_igraca[id] + poeni_igraca[id]
  3138. if(inteligencija_igraca[id]<250 && num < 250 )
  3139. {
  3140. inteligencija_igraca[id]+=poeni_igraca[id]
  3141. poeni_igraca[id]=0
  3142. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Inteligencija:^3 %i", inteligencija_igraca[id]);
  3143. }
  3144. else
  3145. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Dostigli ste maximalni nivo inteligencije");
  3146. }
  3147. case 9:
  3148. {
  3149. new num = energija_igraca[id] + poeni_igraca[id]
  3150. if(energija_igraca[id]<250 && num < 250 )
  3151. {
  3152. energija_igraca[id]+=poeni_igraca[id]
  3153. poeni_igraca[id]=0
  3154. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Energija:^3 %i", energija_igraca[id]);
  3155. }
  3156. else
  3157. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Dostigli ste maximalni nivo energije");
  3158. }
  3159. case 10:
  3160. {
  3161. new num = snaga_igraca[id] + poeni_igraca[id]
  3162. if(snaga_igraca[id]<250 && num < 250 )
  3163. {
  3164. snaga_igraca[id]+=poeni_igraca[id]
  3165. poeni_igraca[id]=0
  3166. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Snaga:^3 %i", snaga_igraca[id]);
  3167. }
  3168. else
  3169. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Dostigli ste maximalni nivo snage");
  3170. }
  3171. case 11:
  3172. {
  3173. new num = kondicija_igraca[id] + poeni_igraca[id]
  3174. if(kondicija_igraca[id]<250 && num < 250 )
  3175. {
  3176. kondicija_igraca[id]+=poeni_igraca[id]
  3177. poeni_igraca[id]=0
  3178. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Kondicija:^3 %i", kondicija_igraca[id]);
  3179. }
  3180. else
  3181. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Dostigli ste maximalni nivo kondicije");
  3182. }
  3183.  
  3184. }
  3185.  
  3186. if(poeni_igraca[id]>0)
  3187. DodelaPoena(id);
  3188.  
  3189. return PLUGIN_CONTINUE;
  3190. }
  3191.  
  3192. public KomandaResetujPoene(id)
  3193. {
  3194. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Poeni su resetovani");
  3195. client_cmd(id, "spk QTM_CodMod/select");
  3196.  
  3197. ResetujPoene(id)
  3198. }
  3199.  
  3200. public ResetujPoene(id)
  3201. {
  3202. poeni_igraca[id] = level_igraca[id]*2-2;
  3203. inteligencija_igraca[id] = 0;
  3204. energija_igraca[id] = 0;
  3205. kondicija_igraca[id] = 0;
  3206. snaga_igraca[id] = 0;
  3207.  
  3208. if(poeni_igraca[id])
  3209. DodelaPoena(id);
  3210. }
  3211.  
  3212. public KreirajMedKit(id)
  3213. {
  3214. if (!broj_medkit_igraca[id])
  3215. {
  3216. client_print(id, print_center, "Imate samo 2 paketa za prvu pomoc u jednoj rundi!");
  3217. return PLUGIN_CONTINUE;
  3218. }
  3219.  
  3220. if(inteligencija_igraca[id] < 1)
  3221. {
  3222. client_print(id, print_center, "Da koristite paket za prvu pomoc, morate povecati inteligenciju");
  3223. return PLUGIN_CONTINUE;
  3224. }
  3225.  
  3226. broj_medkit_igraca[id]--;
  3227.  
  3228. new Float:origin[3];
  3229. entity_get_vector(id, EV_VEC_origin, origin);
  3230.  
  3231. new ent = create_entity("info_target");
  3232. entity_set_string(ent, EV_SZ_classname, "MedKit");
  3233. entity_set_edict(ent, EV_ENT_owner, id);
  3234. entity_set_int(ent, EV_INT_solid, SOLID_NOT);
  3235. entity_set_vector(ent, EV_VEC_origin, origin);
  3236. entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
  3237.  
  3238.  
  3239. entity_set_model(ent, "models/w_medkit.mdl");
  3240. set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
  3241. drop_to_floor(ent);
  3242.  
  3243. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
  3244.  
  3245. return PLUGIN_CONTINUE;
  3246. }
  3247.  
  3248. public MedKitThink(ent)
  3249. {
  3250. new id = entity_get_edict(ent, EV_ENT_owner);
  3251. new totem_dist = 300;
  3252. new totem_heal = 5+floatround(inteligencija_igraca[id]*0.5);
  3253. if (entity_get_edict(ent, EV_ENT_euser2) == 1)
  3254. {
  3255. new Float:forigin[3], origin[3];
  3256. entity_get_vector(ent, EV_VEC_origin, forigin);
  3257. FVecIVec(forigin,origin);
  3258.  
  3259. new entlist[33];
  3260. new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);
  3261.  
  3262. for (new i=0; i < numfound; i++)
  3263. {
  3264. new pid = entlist[i];
  3265.  
  3266. if (get_user_team(pid) != get_user_team(id))
  3267. continue;
  3268.  
  3269. new energija = get_user_health(pid);
  3270. new nova_energija = (energija+totem_heal<maximalna_energija_igraca[pid])?energija+totem_heal:maximalna_energija_igraca[pid];
  3271. if (is_user_alive(pid)) set_user_health(pid, nova_energija);
  3272. }
  3273.  
  3274. entity_set_edict(ent, EV_ENT_euser2, 0);
  3275. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
  3276.  
  3277. return PLUGIN_CONTINUE;
  3278. }
  3279.  
  3280. if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
  3281. {
  3282. remove_entity(ent);
  3283. return PLUGIN_CONTINUE;
  3284. }
  3285.  
  3286. if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
  3287. set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) ;
  3288.  
  3289. new Float:forigin[3], origin[3];
  3290. entity_get_vector(ent, EV_VEC_origin, forigin);
  3291. FVecIVec(forigin,origin);
  3292.  
  3293. //Find people near and give them health
  3294. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
  3295. write_byte( TE_BEAMCYLINDER );
  3296. write_coord( origin[0] );
  3297. write_coord( origin[1] );
  3298. write_coord( origin[2] );
  3299. write_coord( origin[0] );
  3300. write_coord( origin[1] + totem_dist );
  3301. write_coord( origin[2] + totem_dist );
  3302. write_short( sprite_white );
  3303. write_byte( 0 ); // startframe
  3304. write_byte( 0 ); // framerate
  3305. write_byte( 10 ); // life
  3306. write_byte( 10 ); // width
  3307. write_byte( 255 ); // noise
  3308. write_byte( 255 ); // r, g, b
  3309. write_byte( 100 );// r, g, b
  3310. write_byte( 100 ); // r, g, b
  3311. write_byte( 128 ); // brightness
  3312. write_byte( 5 ); // speed
  3313. message_end();
  3314.  
  3315. entity_set_edict(ent, EV_ENT_euser2 ,1);
  3316. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
  3317.  
  3318.  
  3319. return PLUGIN_CONTINUE;
  3320. }
  3321.  
  3322. public KreirajRakete(id)
  3323. {
  3324. if (!broj_raketa_igraca[id])
  3325. {
  3326. client_print(id, print_center, "Vec ste iskoristili sve rakete!");
  3327. return PLUGIN_CONTINUE;
  3328. }
  3329.  
  3330. if(prethodna_raketa_igraca[id] + 2.0 > get_gametime())
  3331. {
  3332. client_print(id, print_center, "Mozate da koristite raketu za 2 sekunde!");
  3333. return PLUGIN_CONTINUE;
  3334. }
  3335.  
  3336. if (is_user_alive(id))
  3337. {
  3338. if(inteligencija_igraca[id] < 2)
  3339. {
  3340. client_print(id, print_center, "Da koristite rakete, morate povecati inteligenciju!");
  3341. return PLUGIN_CONTINUE;
  3342. }
  3343.  
  3344. prethodna_raketa_igraca[id] = get_gametime();
  3345. broj_raketa_igraca[id]--;
  3346.  
  3347. new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
  3348.  
  3349. entity_get_vector(id, EV_VEC_v_angle, vAngle);
  3350. entity_get_vector(id, EV_VEC_origin , Origin);
  3351.  
  3352. new Ent = create_entity("info_target");
  3353.  
  3354. entity_set_string(Ent, EV_SZ_classname, "Rocket");
  3355. entity_set_model(Ent, "models/rpgrocket.mdl");
  3356.  
  3357. vAngle[0] *= -1.0;
  3358.  
  3359. entity_set_origin(Ent, Origin);
  3360. entity_set_vector(Ent, EV_VEC_angles, vAngle);
  3361.  
  3362. entity_set_int(Ent, EV_INT_effects, 2);
  3363. entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
  3364. entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
  3365. entity_set_edict(Ent, EV_ENT_owner, id);
  3366.  
  3367. VelocityByAim(id, 1000 , Velocity);
  3368. entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
  3369.  
  3370. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  3371. write_byte(22)
  3372. write_short(Ent)
  3373. write_short(sprite_beam)
  3374. write_byte(45)
  3375. write_byte(4)
  3376. write_byte(255)
  3377. write_byte(105)
  3378. write_byte(180)
  3379. write_byte(25)
  3380. message_end()
  3381. }
  3382. return PLUGIN_CONTINUE;
  3383. }
  3384.  
  3385. public KreirajDinamit(id)
  3386. {
  3387. if(!broj_dinamita_igraca[id])
  3388. {
  3389. client_print(id, print_center, "Vec ste iskoristili sav dinamit!");
  3390. return PLUGIN_CONTINUE;
  3391. }
  3392.  
  3393. if(inteligencija_igraca[id] < 1)
  3394. client_print(id, print_center, "Da koristite dinamit, morate povecati inteligenciju!");
  3395.  
  3396. broj_dinamita_igraca[id]--;
  3397.  
  3398. new Float:fOrigin[3];
  3399. entity_get_vector(id, EV_VEC_origin, fOrigin);
  3400.  
  3401. new iOrigin[3];
  3402. for(new i=0;i<3;i++)
  3403. iOrigin[i] = floatround(fOrigin[i]);
  3404.  
  3405. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  3406. write_byte(TE_EXPLOSION);
  3407. write_coord(iOrigin[0]);
  3408. write_coord(iOrigin[1]);
  3409. write_coord(iOrigin[2]);
  3410. write_short(sprite_blast);
  3411. write_byte(32);
  3412. write_byte(20);
  3413. write_byte(0);
  3414. message_end();
  3415.  
  3416. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  3417. write_byte( TE_BEAMCYLINDER );
  3418. write_coord( iOrigin[0] );
  3419. write_coord( iOrigin[1] );
  3420. write_coord( iOrigin[2] );
  3421. write_coord( iOrigin[0] );
  3422. write_coord( iOrigin[1] + 300 );
  3423. write_coord( iOrigin[2] + 300 );
  3424. write_short( sprite_white );
  3425. write_byte( 0 ); // startframe
  3426. write_byte( 0 ); // framerate
  3427. write_byte( 10 ); // life
  3428. write_byte( 10 ); // width
  3429. write_byte( 255 ); // noise
  3430. write_byte( 255 ); // r, g, b
  3431. write_byte( 100 );// r, g, b
  3432. write_byte( 100 ); // r, g, b
  3433. write_byte( 128 ); // brightness
  3434. write_byte( 8 ); // speed
  3435. message_end();
  3436.  
  3437. new entlist[33];
  3438. new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
  3439.  
  3440. for (new i=0; i < numfound; i++)
  3441. {
  3442. new pid = entlist[i];
  3443.  
  3444. if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24)
  3445. continue;
  3446. ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencija_igraca[id]) , 1);
  3447. }
  3448. return PLUGIN_CONTINUE;
  3449. }
  3450.  
  3451. public PostaviMine(id)
  3452. {
  3453. if (!broj_min_igraca[id])
  3454. {
  3455. client_print(id, print_center, "Vec ste iskoristili sve mine!");
  3456. return PLUGIN_CONTINUE;
  3457. }
  3458.  
  3459. if(inteligencija_igraca[id] < 1)
  3460. client_print(id, print_center, "Da koristite mine, morate povecati inteligenciju!");
  3461.  
  3462. broj_min_igraca[id]--;
  3463.  
  3464. new Float:origin[3];
  3465. entity_get_vector(id, EV_VEC_origin, origin);
  3466.  
  3467. new ent = create_entity("info_target");
  3468. entity_set_string(ent ,EV_SZ_classname, "Mine");
  3469. entity_set_edict(ent ,EV_ENT_owner, id);
  3470. entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
  3471. entity_set_origin(ent, origin);
  3472. entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
  3473.  
  3474. entity_set_model(ent, "models/mine.mdl");
  3475. entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
  3476.  
  3477. drop_to_floor(ent);
  3478.  
  3479. entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;
  3480.  
  3481. set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50) ;
  3482.  
  3483.  
  3484. return PLUGIN_CONTINUE;
  3485. }
  3486.  
  3487. public DodirMine(ent, id)
  3488. {
  3489. new attacker = entity_get_edict(ent, EV_ENT_owner);
  3490. if (get_user_team(attacker) != get_user_team(id))
  3491. {
  3492. new Float:fOrigin[3];
  3493. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  3494.  
  3495. new iOrigin[3];
  3496. for(new i=0;i<3;i++)
  3497. iOrigin[i] = floatround(fOrigin[i]);
  3498.  
  3499. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  3500. write_byte(TE_EXPLOSION);
  3501. write_coord(iOrigin[0]);
  3502. write_coord(iOrigin[1]);
  3503. write_coord(iOrigin[2]);
  3504. write_short(sprite_blast);
  3505. write_byte(32); // scale
  3506. write_byte(20); // framerate
  3507. write_byte(0);// flags
  3508. message_end();
  3509. new entlist[33];
  3510. new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
  3511.  
  3512. for (new i=0; i < numfound; i++)
  3513. {
  3514. new pid = entlist[i];
  3515.  
  3516. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24 || klasa_igraca[id] == Mitraljezac)
  3517. continue;
  3518.  
  3519. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencija_igraca[attacker]) , 1);
  3520. }
  3521. remove_entity(ent);
  3522. }
  3523. }
  3524.  
  3525. public DodirRakete(ent)
  3526. {
  3527. if ( !is_valid_ent(ent))
  3528. return;
  3529.  
  3530. new attacker = entity_get_edict(ent, EV_ENT_owner);
  3531.  
  3532. new Float:fOrigin[3];
  3533. entity_get_vector(ent, EV_VEC_origin, fOrigin);
  3534.  
  3535. new iOrigin[3];
  3536. for(new i=0;i<3;i++)
  3537. iOrigin[i] = floatround(fOrigin[i]);
  3538.  
  3539. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  3540. write_byte(TE_EXPLOSION);
  3541. write_coord(iOrigin[0]);
  3542. write_coord(iOrigin[1]);
  3543. write_coord(iOrigin[2]);
  3544. write_short(sprite_blast);
  3545. write_byte(32); // scale
  3546. write_byte(20); // framerate
  3547. write_byte(0);// flags
  3548. message_end();
  3549.  
  3550. new entlist[33];
  3551. new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
  3552.  
  3553. for (new i=0; i < numfound; i++)
  3554. {
  3555. new pid = entlist[i];
  3556.  
  3557. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24)
  3558. continue;
  3559. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencija_igraca[attacker]) , 1);
  3560. }
  3561. remove_entity(ent);
  3562. }
  3563. public fw_Touch(ent, id)
  3564. {
  3565. if (!pev_valid(ent))
  3566. return FMRES_IGNORED
  3567.  
  3568. new ClassName[32]
  3569. pev(ent, pev_classname, ClassName, charsmax(ClassName))
  3570.  
  3571. if(equal(ClassName, "rocket"))
  3572. {
  3573.  
  3574. new attacker = pev(ent, pev_owner);
  3575. new Float:entOrigin[3], Float:fDamage, Float:Origin[3];
  3576. pev(ent, pev_origin, entOrigin);
  3577. entOrigin[2] += 1.0;
  3578.  
  3579. new Float:g_damage = 300.0+(inteligencija_igraca[attacker]/4);
  3580. new Float:g_radius = 250.0+(inteligencija_igraca[attacker]/4);
  3581.  
  3582. new victim = -1
  3583. while((victim = engfunc(EngFunc_FindEntityInSphere, victim, entOrigin, g_radius)) != 0)
  3584. {
  3585. if(!is_user_alive(victim) || get_user_team(attacker) == get_user_team(victim))
  3586. continue;
  3587.  
  3588. pev(victim, pev_origin, Origin);
  3589. fDamage = g_damage - floatmul(g_damage, floatdiv(get_distance_f(Origin, entOrigin), g_radius));
  3590. fDamage *= estimate_take_hurt(entOrigin, victim, 0)
  3591. if(fDamage>0.0)
  3592. {
  3593. UTIL_Kill(attacker, victim, fDamage);
  3594.  
  3595. if(get_user_team(attacker)!=get_user_team(victim))
  3596. if(pev(victim, pev_health))
  3597. ExecuteHam(Ham_TakeDamage, victim, ent, attacker, fDamage, DMG_BULLET)
  3598.  
  3599. }
  3600. }
  3601. message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
  3602. write_byte(TE_EXPLOSION);
  3603. write_coord(floatround(entOrigin[0]));
  3604. write_coord(floatround(entOrigin[1]));
  3605. write_coord(floatround(entOrigin[2]));
  3606. write_short(sprite_blast);
  3607. write_byte(40);
  3608. write_byte(30);
  3609. write_byte(TE_EXPLFLAG_NONE);
  3610. message_end();
  3611.  
  3612. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  3613. write_byte(5)
  3614. write_coord(floatround(entOrigin[0]));
  3615. write_coord(floatround(entOrigin[1]));
  3616. write_coord(floatround(entOrigin[2]));
  3617. write_short(sprite_smoke);
  3618. write_byte(35);
  3619. write_byte(5);
  3620. message_end();
  3621. remove_entity(ent);
  3622. return FMRES_IGNORED
  3623. }
  3624. return FMRES_IGNORED
  3625. }
  3626. public CurWeapon(id)
  3627. {
  3628. if(freezetime || !klasa_igraca[id])
  3629. return PLUGIN_CONTINUE;
  3630.  
  3631. new weapon = get_user_weapon(id);
  3632. new weapon1 = read_data(2);
  3633.  
  3634. if(informacije_predmet_igraca[id][0] == 49 && maxClip[weapon1] != -1)
  3635. set_user_clip(id, maxClip[weapon]);
  3636.  
  3637. if(klasa_igraca[id] == Assassin && weapon == CSW_KNIFE)
  3638. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 1);
  3639. else if(klasa_igraca[id] == Assassin && weapon != CSW_KNIFE)
  3640. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  3641.  
  3642. if(klasa_igraca[id] == Samuraj)
  3643. {
  3644. if(weapon == CSW_KNIFE)
  3645. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 100);
  3646. else
  3647. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  3648. }
  3649.  
  3650. if(informacije_predmet_igraca[id][0] == 40 && weapon == CSW_KNIFE)
  3651. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 15);
  3652. else if(informacije_predmet_igraca[id][0] == 40 && weapon != CSW_KNIFE)
  3653. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  3654.  
  3655. if(informacije_predmet_igraca[id][0] == 55 && weapon == CSW_KNIFE)
  3656. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 15);
  3657. else if(informacije_predmet_igraca[id][0] == 55 && weapon != CSW_KNIFE)
  3658. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  3659.  
  3660. new weapons[32];
  3661. new weaponsnum;
  3662. get_user_weapons(id, weapons, weaponsnum);
  3663. for(new i=0; i<weaponsnum; i++)
  3664. if(is_user_alive(id))
  3665. if(maxAmmo[weapons[i]] > 0)
  3666. cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  3667.  
  3668. PostaviBrzinu(id);
  3669. return PLUGIN_CONTINUE;
  3670. }
  3671.  
  3672. public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
  3673. {
  3674. if(!is_user_alive(id))
  3675. return FMRES_IGNORED;
  3676.  
  3677. if(equal(szSound, "common/wpn_denyselect.wav"))
  3678. {
  3679. KoristiPredmet(id);
  3680. return FMRES_SUPERCEDE;
  3681. }
  3682.  
  3683. return FMRES_IGNORED;
  3684. }
  3685.  
  3686. public KoristiPredmet(id)
  3687. {
  3688. if(informacije_predmet_igraca[id][0] == 19 && informacije_predmet_igraca[id][1]>0)
  3689. {
  3690. set_user_health(id, maximalna_energija_igraca[id]);
  3691. informacije_predmet_igraca[id][1]--;
  3692. }
  3693. if(broj_medkit_igraca[id]>0)
  3694. KreirajMedKit(id);
  3695. else if(broj_raketa_igraca[id]>0)
  3696. KreirajRakete(id);
  3697. else if(broj_min_igraca[id]>0)
  3698. PostaviMine(id);
  3699. else if(broj_dinamita_igraca[id]>0)
  3700. KreirajDinamit(id);
  3701.  
  3702. return PLUGIN_HANDLED;
  3703. }
  3704.  
  3705. public SacuvajPodatke(id)
  3706. {
  3707. if(!klasa_igraca[id])
  3708. return PLUGIN_CONTINUE;
  3709.  
  3710. new vaultkey[128],vaultdata[256], ID_igraca[64];
  3711. format(vaultdata, charsmax(vaultdata),"#%i#%i#%i#%i#%i#%i", iskustvo_igraca[id], level_igraca[id], inteligencija_igraca[id], energija_igraca[id], snaga_igraca[id], kondicija_igraca[id]);
  3712.  
  3713. get_user_authid(id, ID_igraca, charsmax(ID_igraca))
  3714.  
  3715. format(vaultkey, charsmax(vaultkey),"%s-%i-cod", ID_igraca, klasa_igraca[id]);
  3716. nvault_set(g_vault,vaultkey,vaultdata);
  3717.  
  3718. return PLUGIN_CONTINUE;
  3719. }
  3720.  
  3721. public UcitajPodatke(id, klasa)
  3722. {
  3723. new vaultkey[128],vaultdata[256], ID_igraca[64];
  3724.  
  3725. get_user_authid(id, ID_igraca, charsmax(ID_igraca))
  3726.  
  3727. format(vaultkey, charsmax(vaultkey),"%s-%i-cod", ID_igraca, klasa);
  3728. nvault_get(g_vault,vaultkey,vaultdata,255);
  3729.  
  3730. replace_all(vaultdata, 255, "#", " ");
  3731.  
  3732. new playerdata[6][32];
  3733.  
  3734. parse(vaultdata, playerdata[0], 31, playerdata[1], 31, playerdata[2], 31, playerdata[3], 31, playerdata[4], 31, playerdata[5], 31);
  3735.  
  3736. iskustvo_igraca[id] = str_to_num(playerdata[0]);
  3737. level_igraca[id] = str_to_num(playerdata[1])>0?str_to_num(playerdata[1]):1;
  3738. inteligencija_igraca[id] = str_to_num(playerdata[2]);
  3739. energija_igraca[id] = str_to_num(playerdata[3]);
  3740. snaga_igraca[id] = str_to_num(playerdata[4]);
  3741. kondicija_igraca[id] = str_to_num(playerdata[5]);
  3742. poeni_igraca[id] = (level_igraca[id]-1)*2-inteligencija_igraca[id]-energija_igraca[id]-snaga_igraca[id]-kondicija_igraca[id];
  3743.  
  3744. return PLUGIN_CONTINUE;
  3745. }
  3746.  
  3747. public IzbaciPredmet(id)
  3748. {
  3749. if(informacije_predmet_igraca[id][0])
  3750. {
  3751. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Bacio si ^3%s.", naziv_predmeta[informacije_predmet_igraca[id][0]]);
  3752. Obrisipredmet(id);
  3753. }
  3754. else
  3755. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate nijedan predmet.", naziv_predmeta[informacije_predmet_igraca[id][0]]);
  3756. }
  3757.  
  3758. public Obrisipredmet(id)
  3759. {
  3760. informacije_predmet_igraca[id][0] = 0;
  3761. informacije_predmet_igraca[id][1] = 0;
  3762. if(is_user_alive(id))
  3763. {
  3764. set_user_footsteps(id, 0);
  3765. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  3766. PromeniModel(id, 1);
  3767. }
  3768. }
  3769.  
  3770. public DajPredmet(id, predmet)
  3771. {
  3772. Obrisipredmet(id);
  3773. informacije_predmet_igraca[id][0] = predmet;
  3774. snaga_predmeta[id] = 160;
  3775. ChatColor(id, "%L",id, "ML_PERK_DOBIO", id, naziv_predmeta[informacije_predmet_igraca[id][0]]);
  3776.  
  3777. switch(predmet)
  3778. {
  3779. case 1:
  3780. {
  3781. set_user_footsteps(id, 1);
  3782. }
  3783. case 2:
  3784. {
  3785. informacije_predmet_igraca[id][1] = random_num(3,6);
  3786. }
  3787. case 3:
  3788. {
  3789. informacije_predmet_igraca[id][1] = random_num(6, 11);
  3790. }
  3791. case 5:
  3792. {
  3793. informacije_predmet_igraca[id][1] = random_num(6, 9);
  3794. }
  3795. case 6:
  3796. {
  3797. if(klasa_igraca[id] == Partizan)
  3798. {
  3799. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  3800. }
  3801. else
  3802. {
  3803. informacije_predmet_igraca[id][1] = random_num(1, 9999);
  3804. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, informacije_predmet_igraca[id][1]);
  3805. }
  3806. }
  3807. case 7:
  3808. {
  3809. informacije_predmet_igraca[id][1] = random_num(2, 4);
  3810. }
  3811. case 8:
  3812. {
  3813. if(klasa_igraca[id] == Marinac)
  3814. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  3815. }
  3816. case 9:
  3817. {
  3818. informacije_predmet_igraca[id][1] = random_num(1, 3);
  3819. PromeniModel(id, 0);
  3820. give_item(id, "weapon_hegrenade");
  3821. }
  3822. case 10:
  3823. {
  3824. informacije_predmet_igraca[id][1] = random_num(4, 8);
  3825. give_item(id, "weapon_hegrenade");
  3826. }
  3827. case 12:
  3828. {
  3829. informacije_predmet_igraca[id][1] = random_num(1, 4);
  3830. }
  3831. case 13:
  3832. {
  3833. give_item(id, "weapon_awp");
  3834. }
  3835. case 15:
  3836. {
  3837. if(klasa_igraca[id] == Rambo)
  3838. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  3839. }
  3840. case 19:
  3841. {
  3842. informacije_predmet_igraca[id][1] = 1;
  3843. }
  3844. case 26:
  3845. {
  3846. informacije_predmet_igraca[id][1] = random_num(3, 6);
  3847. }
  3848. case 27:
  3849. {
  3850. informacije_predmet_igraca[id][1] = 3;
  3851. }
  3852. }
  3853. }
  3854.  
  3855. public OpisPredmeta(id, menu, item)
  3856. {
  3857. new opis_predmeta[128];
  3858. new slucajne_vrednosti[3];
  3859. num_to_str(informacije_predmet_igraca[id][1], slucajne_vrednosti, 2);
  3860. format(opis_predmeta, 127, opis_predmet[informacije_predmet_igraca[id][0]]);
  3861. replace_all(opis_predmeta, 127, "LW", slucajne_vrednosti);
  3862. if(item++ == MENU_EXIT)
  3863. {
  3864. menu_destroy(menu);
  3865. return PLUGIN_CONTINUE;
  3866. }
  3867. new opis2[552]
  3868. formatex(opis2, charsmax(opis2), "\rPredmet: \y%L^n\rOpis: \y%L.", id, naziv_predmeta[informacije_predmet_igraca[id][0]], id, opis_predmet[informacije_predmet_igraca[id][0]]);
  3869. show_menu(id, 1023, opis2)
  3870. return PLUGIN_CONTINUE;
  3871. }
  3872.  
  3873. public Provera(id)
  3874. {
  3875. id-=ZADATAK_PROVERA;
  3876. ExecuteHamB(Ham_CS_RoundRespawn, id);
  3877. }
  3878. GetPosition(iPlayer)
  3879. {
  3880. static Position, Size, SteamID[32];
  3881.  
  3882. for (Position = 0, Size = ArraySize(g_SteamID); Position < Size; Position++)
  3883. {
  3884. ArrayGetString(g_SteamID, Position, SteamID, 31);
  3885.  
  3886. if (equal(SteamID, g_Data[iPlayer][Data_SteamID]))
  3887. return Position + 1;
  3888. }
  3889. return 0;
  3890. }
  3891.  
  3892. WriteTop15()
  3893. {
  3894. static Length, Position, Size, SteamID[32], Name[32], iLevel;
  3895.  
  3896. iDesing = get_pcvar_num(cvar_desing)
  3897. switch(iDesing)
  3898. {
  3899. case 1:
  3900. {
  3901. Length = formatex(g_Top15[Length], 2047 - Length, STATSX_SHELL_DESIGN1_STYLE)
  3902. }
  3903.  
  3904. case 2:
  3905. {
  3906. Length = formatex(g_Top15[Length], 2047 - Length, STATSX_SHELL_DESIGN2_STYLE)
  3907. }
  3908.  
  3909. case 3:
  3910. {
  3911. Length = formatex(g_Top15[Length], 2047 - Length, STATSX_SHELL_DESIGN3_STYLE)
  3912. }
  3913.  
  3914. case 4:
  3915. {
  3916. Length = formatex(g_Top15[Length], 2047 - Length, STATSX_SHELL_DESIGN4_STYLE)
  3917. }
  3918.  
  3919. case 5:
  3920. {
  3921. Length = formatex(g_Top15[Length], 2047 - Length, STATSX_SHELL_DESIGN5_STYLE)
  3922. }
  3923.  
  3924. case 6:
  3925. {
  3926. Length = formatex(g_Top15[Length], 2047 - Length, STATSX_SHELL_DESIGN6_STYLE)
  3927. }
  3928.  
  3929. case 7:
  3930. {
  3931. Length = formatex(g_Top15[Length], 2047 - Length, STATSX_SHELL_DESIGN7_STYLE)
  3932. }
  3933.  
  3934. case 8:
  3935. {
  3936. Length = formatex(g_Top15[Length], 2047 - Length, STATSX_SHELL_DESIGN8_STYLE)
  3937. }
  3938.  
  3939. case 9:
  3940. {
  3941. Length = formatex(g_Top15[Length], 2047 - Length, STATSX_SHELL_DESIGN9_STYLE)
  3942. }
  3943.  
  3944. case 10:
  3945. {
  3946. Length = formatex(g_Top15[Length], 2047 - Length, STATSX_SHELL_DESIGN10_STYLE)
  3947. }
  3948.  
  3949. case 11:
  3950. {
  3951. Length = formatex(g_Top15[Length], 2047 - Length, STATSX_SHELL_DESIGN11_STYLE)
  3952. }
  3953.  
  3954. case 12:
  3955. {
  3956. Length = formatex(g_Top15[Length], 2047 - Length, STATSX_SHELL_DESIGN12_STYLE)
  3957. }
  3958.  
  3959. case 13:
  3960. {
  3961. Length = formatex(g_Top15[Length], 2047 - Length, STATSX_SHELL_DESIGN13_STYLE)
  3962. }
  3963.  
  3964. default:
  3965. {
  3966. Length = formatex(g_Top15[Length], 2047 - Length, STATSX_SHELL_DESIGN11_STYLE)
  3967. }
  3968. }
  3969. Length += formatex(g_Top15[Length], 2047 - Length, "<body><table width=100%% border=0 align=center cellpadding=0 cellspacing=1>")
  3970. Length += formatex(g_Top15[Length], 2047 - Length, "<body><tr><th>#<th>Nick<th>Najveci Level</tr>")
  3971.  
  3972. for (Position = 0, Size = min(ArraySize(g_SteamID), 15); Position < Size; Position++)
  3973. {
  3974. ArrayGetString(g_SteamID, Position, SteamID, 31);
  3975. TrieGetString(g_Name, SteamID, Name, 31);
  3976. TrieGetCell(g_PlayerLevel, SteamID, iLevel);
  3977.  
  3978. new szFixedName[ charsmax( Name ) * 5 + 1 ];
  3979. MakeMOTDSafe( Name, szFixedName, charsmax( szFixedName ), 32 );
  3980.  
  3981. Length += formatex(g_Top15[Length], 2047 - Length, "<tr><td>%d<td>%s<td>%d", Position + 1, Name, iLevel)
  3982. }
  3983. }
  3984. public ProveriNivo(id)
  3985. {
  3986. if(!is_user_connected(id))
  3987. {
  3988. return PLUGIN_HANDLED;
  3989. }
  3990. new max_level = get_pcvar_num(p_maxlvl)
  3991. if(level_igraca[id] == max_level)
  3992. {
  3993. return PLUGIN_HANDLED;
  3994. }
  3995. if(level_igraca[id] > max_level)
  3996. {
  3997. level_igraca[id] = max_level
  3998. KomandaResetujPoene(id)
  3999. }
  4000. new level_ratio = 7
  4001. iskustvo_levelu[id] = ((level_igraca[id]*level_igraca[id])*level_ratio);
  4002. while(iskustvo_igraca[id] >= iskustvo_levelu[id] && level_igraca[id] < max_level)
  4003. {
  4004. level_igraca[id]++
  4005. poeni_igraca[id] = (level_igraca[id] - 1) * 2 - inteligencija_igraca[id] - energija_igraca[id] - snaga_igraca[id] - kondicija_igraca[id]
  4006. set_dhudmessage(0, 255, 0, -1.0, 0.3, 2, 6.0, 5.0)
  4007. show_dhudmessage(id,"Dobrodosao na %i Level!", level_igraca[id])
  4008. client_cmd(id, "spk QTM_CodMod/levelup")
  4009. iskustvo_levelu[id] = ((level_igraca[id]*level_igraca[id])*level_ratio);
  4010. }
  4011. if(level_igraca[id] > g_Data[id][Data_Level])
  4012. {
  4013. g_Data[id][Data_Level] = level_igraca[id];
  4014. UpdateRank(id, false);
  4015. ArraySort(g_SteamID, "SortRanks");
  4016. }
  4017. SacuvajPodatke(id)
  4018. return PLUGIN_CONTINUE
  4019. }
  4020.  
  4021. public PokaziInformacije(id)
  4022. {
  4023. id -= ZADATAK_POKAZI_INFORMACIJE;
  4024.  
  4025. set_task(0.1, "PokaziInformacije", id+ZADATAK_POKAZI_INFORMACIJE);
  4026. new level_ratio = 7
  4027. new ppc = ((level_igraca[id]*level_igraca[id])*level_ratio)-(((level_igraca[id]-1)*(level_igraca[id]-1))*level_ratio);
  4028. new ppd = iskustvo_igraca[id] - (((level_igraca[id]-1)*(level_igraca[id]-1))*level_ratio);
  4029. ProveriNivo(id)
  4030. xp_procenat[id] = (float((ppd * 100))) / float((ppc));
  4031. if(is_user_connected(id) && !is_user_alive(id))
  4032. {
  4033. new target = entity_get_int(id, EV_INT_iuser2);
  4034.  
  4035. if(!target)
  4036. return PLUGIN_CONTINUE;
  4037.  
  4038. set_hudmessage(-50, 100, 0, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2)
  4039. ShowSyncHudMsg(id, SyncHudObj, "Class : %L^nXP:%.1f%% / 100%% ^nLevel : %i^nItem: %L^nHP: %d^nGB: %i^nKillStreak: x%d", id, naziv_klase[klasa_igraca[target]], xp_procenat[target], level_igraca[target], id, naziv_predmeta[informacije_predmet_igraca[target][0]], get_user_health(target), shop_poeni_igraca[target], killovi[target]);
  4040.  
  4041. return PLUGIN_CONTINUE;
  4042. }
  4043.  
  4044. set_hudmessage(0, 100, 0, 0.00, 0.15, 0, 0.0, 0.3, 0.0, 0.0, -1)
  4045. ShowSyncHudMsg(id, SyncHudObj, "==[Class: %L]==^n==[Item: %L]==^n==[XP:%.1f%% / 100%%]==^n==[Level: %i]==^n==[HP: %d]==^n==[GB: %i]==^n==[KillStreak: x%i]==", id, naziv_klase[klasa_igraca[id]], id, naziv_predmeta[informacije_predmet_igraca[id][0]], xp_procenat[id], level_igraca[id], get_user_health(id), shop_poeni_igraca[id], killovi[id]);
  4046. if(broj_medkit_igraca[id] != 0)
  4047. {
  4048. set_hudmessage(100, 100, 0, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2)
  4049. ShowSyncHudMsg(id, SyncHudObj2, "[First Aid: %i]", broj_medkit_igraca[id])
  4050. }
  4051. else if(broj_raketa_igraca[id] != 0)
  4052. {
  4053. set_hudmessage(100, 100, 0, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  4054. ShowSyncHudMsg(id, SyncHudObj2, "[Rockets: %i]", broj_raketa_igraca[id])
  4055. }
  4056. else if(broj_min_igraca[id] != 0)
  4057. {
  4058. set_hudmessage(100, 100, -100, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  4059. ShowSyncHudMsg(id, SyncHudObj2, "[Mine: %i]", broj_min_igraca[id])
  4060. }
  4061. else if(broj_dinamita_igraca[id] != 0)
  4062. {
  4063. set_hudmessage(100, 100, 0, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  4064. ShowSyncHudMsg(id, SyncHudObj2, "[Dynamites: %i]", broj_dinamita_igraca[id])
  4065. }
  4066.  
  4067. return PLUGIN_CONTINUE;
  4068. }
  4069.  
  4070. public PokaziReklame(id)
  4071. {
  4072. ColorChat(0, GREEN, "[COD:MW4] ^1Dobro Dosli Na COD:MW4 Mod Edited by ^3Nikola 112")
  4073. set_task(45.0, "PokaziReklame", 0)
  4074. }
  4075.  
  4076. public Pomoc(id)
  4077. show_menu(id, 1023, "\y/reset\w - Resetuje poene^n\y/klasa\w - Promeni klasu^n\y/drop\w - Izbaci predmet^n\y/predmet\w - Pokazuje opis vaseg predmeta^n\y/opis\w - Pokazuje opis klase^n\y+use\w - Koristi specijalne moci klase", -1, "Pomoc");
  4078.  
  4079. public PostaviBrzinu(id)
  4080. {
  4081. id -= id>32? ZADATAK_POSTAVI_brzinu: 0;
  4082.  
  4083. if(klasa_igraca[id])
  4084. set_user_maxspeed(id, brzina_igraca[id]);
  4085. }
  4086. public client_infochanged(iPlayer)
  4087. {
  4088. if (!g_isConnected[iPlayer])
  4089. return;
  4090.  
  4091. static Name[32];
  4092. get_user_info(iPlayer, "name", Name, 31);
  4093.  
  4094. if (equal(Name, g_Data[iPlayer][Data_Name]))
  4095. return;
  4096.  
  4097. copy(g_Data[iPlayer][Data_Name], 31, Name);
  4098. UpdateRank(iPlayer, true);
  4099. }
  4100. public PromeniModel(id,reset)
  4101. {
  4102. if (id<1 || id>32 || !is_user_connected(id))
  4103. return PLUGIN_CONTINUE;
  4104.  
  4105. if (reset)
  4106. cs_reset_user_model(id);
  4107. else
  4108. {
  4109. new num = random_num(0,3);
  4110. switch(get_user_team(id))
  4111. {
  4112. case 1: cs_set_user_model(id, Ubrania_CT[num]);
  4113. case 2:cs_set_user_model(id, Ubrania_Terro[num]);
  4114. }
  4115. }
  4116. return PLUGIN_CONTINUE;
  4117. }
  4118. public fw_traceline(Float:vecStart[3],Float:vecEnd[3],ignoreM,id,trace)
  4119. {
  4120. if(!is_user_connected(id))
  4121. return;
  4122.  
  4123. new hit = get_tr2(trace, TR_pHit);
  4124.  
  4125. if(!is_user_connected(hit))
  4126. return;
  4127.  
  4128. new hitzone = get_tr2(trace, TR_iHitgroup);
  4129. if(informacije_predmet_igraca[hit][0] == 41 && hitzone != HIT_HEAD && hitzone != HIT_CHEST || informacije_predmet_igraca[hit][0] == 54 && hitzone == HIT_HEAD)
  4130. set_tr2(trace, TR_iHitgroup, 8);
  4131.  
  4132. if(informacije_predmet_igraca[id][0] == 42 && !random(5) && get_user_weapon(id) == CSW_AWP)
  4133. set_tr2(trace, TR_iHitgroup, HIT_HEAD);
  4134. if(informacije_predmet_igraca[id][0] == 43 && get_user_weapon(id) == CSW_USP)
  4135. set_tr2(trace, TR_iHitgroup, HIT_HEAD);
  4136. }
  4137. public DodirOruzija(weapon,id)
  4138. {
  4139. if(!is_user_connected(id))
  4140. return HAM_IGNORED;
  4141.  
  4142. new model[23];
  4143. pev(weapon, pev_model, model, 22);
  4144. if (pev(weapon, pev_owner) == id || containi(model, "w_backpack") != -1)
  4145. return HAM_IGNORED;
  4146. return HAM_SUPERCEDE;
  4147. }
  4148.  
  4149. stock bool:UTIL_In_FOV(id,target)
  4150. {
  4151. if (Find_Angle(id,target,9999.9) > 0.0)
  4152. return true;
  4153.  
  4154. return false;
  4155. }
  4156. stock UTIL_Kill(attacker, this, Float:damage)
  4157. {
  4158. if(get_user_health(this) <= floatround(damage))
  4159. lansirano[attacker][this] = true;
  4160. }
  4161. #if defined BOTY
  4162. public is_user_bot2(id)
  4163. {
  4164. new ping, loss
  4165. get_user_ping(id, ping, loss)
  4166. if(ping > 0 && loss > 0)
  4167. return false
  4168. return true
  4169. }
  4170. #endif
  4171.  
  4172. stock Float:Find_Angle(Core,Target,Float:dist)
  4173. {
  4174. new Float:vec2LOS[2];
  4175. new Float:flDot;
  4176. new Float:CoreOrigin[3];
  4177. new Float:TargetOrigin[3];
  4178. new Float:CoreAngles[3];
  4179.  
  4180. pev(Core,pev_origin,CoreOrigin);
  4181. pev(Target,pev_origin,TargetOrigin);
  4182.  
  4183. if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
  4184. return 0.0;
  4185.  
  4186. pev(Core,pev_angles, CoreAngles);
  4187.  
  4188. for ( new i = 0; i < 2; i++ )
  4189. vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i];
  4190.  
  4191. new Float:veclength = Vec2DLength(vec2LOS);
  4192.  
  4193. //Normalize V2LOS
  4194. if (veclength <= 0.0)
  4195. {
  4196. vec2LOS[0] = 0.0;
  4197. vec2LOS[1] = 0.0;
  4198. }
  4199. else
  4200. {
  4201. new Float:flLen = 1.0 / veclength;
  4202. vec2LOS[0] = vec2LOS[0]*flLen;
  4203. vec2LOS[1] = vec2LOS[1]*flLen;
  4204. }
  4205.  
  4206. //Do a makevector to make v_forward right
  4207. engfunc(EngFunc_MakeVectors,CoreAngles);
  4208.  
  4209. new Float:v_forward[3];
  4210. new Float:v_forward2D[2];
  4211. get_global_vector(GL_v_forward, v_forward);
  4212.  
  4213. v_forward2D[0] = v_forward[0];
  4214. v_forward2D[1] = v_forward[1];
  4215.  
  4216. flDot = vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1];
  4217.  
  4218. if ( flDot > 0.5 )
  4219. {
  4220. return flDot;
  4221. }
  4222.  
  4223. return 0.0;
  4224. }
  4225.  
  4226. stock Float:Vec2DLength( Float:Vec[2] )
  4227. {
  4228. return floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
  4229. }
  4230.  
  4231. stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
  4232. {
  4233. message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
  4234. write_short( duration ); // Duration of fadeout
  4235. write_short( holdtime ); // Hold time of color
  4236. write_short( fadetype ); // Fade type
  4237. write_byte ( red ); // Red
  4238. write_byte ( green ); // Green
  4239. write_byte ( blue ); // Blue
  4240. write_byte ( alpha ); // Alpha
  4241. message_end();
  4242. }
  4243. public SetModel(ent, model[])
  4244. {
  4245. if(!pev_valid(ent))
  4246. return FMRES_IGNORED
  4247.  
  4248. if(!equal(model, "models/w_p228.mdl"))
  4249. return FMRES_IGNORED;
  4250.  
  4251. new id = pev(ent, pev_owner);
  4252. if(!ima_bazuku[id])
  4253. return FMRES_IGNORED;
  4254.  
  4255. engfunc(EngFunc_SetModel, ent, "models/w_law.mdl");
  4256. set_pev(ent, pev_iuser4, rakete_igraca[id]);
  4257. ima_bazuku[id] = false;
  4258. return FMRES_SUPERCEDE;
  4259. }
  4260.  
  4261. public message_DeathMsg()
  4262. {
  4263. static killer, victim;
  4264. killer = get_msg_arg_int(1);
  4265. victim = get_msg_arg_int(2);
  4266.  
  4267. if(lansirano[killer][victim])
  4268. {
  4269. lansirano[killer][victim] = false;
  4270. set_msg_arg_string(4, "grenade");
  4271. return PLUGIN_CONTINUE;
  4272. }
  4273. return PLUGIN_CONTINUE;
  4274. }
  4275. public task_launcher_reload(id)
  4276. {
  4277. id -= 3512;
  4278. reloading[id] = false;
  4279. set_pev(id, pev_weaponanim, 0);
  4280. }
  4281. public Weapon_Deploy(ent)
  4282. {
  4283. new id = get_pdata_cbase(ent, 41, 4);
  4284. if(ima_bazuku[id])
  4285. {
  4286. set_pev(id, pev_viewmodel2, "models/v_law.mdl");
  4287. set_pev(id, pev_weaponmodel2, "models/p_law.mdl");
  4288. }
  4289. return PLUGIN_CONTINUE;
  4290. }
  4291. public Weapon_WeaponIdle(ent)
  4292. {
  4293. new id = get_pdata_cbase(ent, 41, 4);
  4294. if(get_user_weapon(id) == 1 && ima_bazuku[id])
  4295. {
  4296. if(!idle[id])
  4297. idle[id] = get_gametime();
  4298. }
  4299. }
  4300. stock set_user_clip(id, ammo)
  4301. {
  4302. new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
  4303. get_weaponname(weapon, weaponname, 31);
  4304. while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
  4305. if(entity_get_edict(weaponid, EV_ENT_owner) == id)
  4306. {
  4307. set_pdata_int(weaponid, 51, ammo, 4);
  4308. return weaponid;
  4309. }
  4310. return 0;
  4311. }
  4312. stock Float:estimate_take_hurt(Float:fPoint[3], ent, ignored)
  4313. {
  4314. new Float:fOrigin[3];
  4315. new tr;
  4316. new Float:fFraction;
  4317. pev(ent, pev_origin, fOrigin);
  4318. engfunc(EngFunc_TraceLine, fPoint, fOrigin, DONT_IGNORE_MONSTERS, ignored, tr);
  4319. get_tr2(tr, TR_flFraction, fFraction);
  4320.  
  4321. if(fFraction == 1.0 || get_tr2(tr, TR_pHit) == ent)
  4322. {
  4323. return 1.0;
  4324. }
  4325. return 0.6;
  4326. }
  4327.  
  4328. public BlokirajKomande()
  4329. return PLUGIN_HANDLED;
  4330.  
  4331. public cmd_setpredmet(id, level, cid)
  4332. {
  4333. if(!cmd_access(id,level,cid,3))
  4334. return PLUGIN_HANDLED;
  4335.  
  4336. new arg1[33];
  4337. new arg2[6];
  4338.  
  4339. read_argv(1, arg1, 32);
  4340. read_argv(2, arg2, 5);
  4341.  
  4342. new igrac = cmd_target(id, arg1, 0)
  4343. new predmet = str_to_num(arg2)
  4344.  
  4345. if(!is_user_alive(igrac))
  4346. {
  4347. client_print(id, print_console, "Ne mozete dati predmet mrtvom igracu.");
  4348. return PLUGIN_HANDLED;
  4349. }
  4350.  
  4351. if(predmet < 0 || predmet > sizeof naziv_predmeta-1)
  4352. {
  4353. client_print(id, print_console, "Uneli ste nevazeci broj predmeta.");
  4354. return PLUGIN_HANDLED;
  4355. }
  4356.  
  4357. DajPredmet(igrac, predmet);
  4358.  
  4359. if(get_cvar_num("cod_predmet_log"))
  4360. {
  4361. new vreme[9] ,authid[32], authid2[32], name2[32], name[32];
  4362. get_user_authid(id, authid, 31);
  4363. get_user_authid(igrac, authid2, 31);
  4364. get_user_name(igrac, name2, 31);
  4365. get_user_name(id, name, 31);
  4366. get_time("%H:%M:%S", vreme, 8);
  4367.  
  4368. }
  4369.  
  4370. return PLUGIN_HANDLED;
  4371. }
  4372. public KupiDefuse(id)
  4373. {
  4374. new pare_igraca = cs_get_user_money(id);
  4375.  
  4376. if(get_user_team(id) != 2)
  4377. {
  4378. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Samo CT tim moze da kupi def");
  4379. return PLUGIN_CONTINUE;
  4380. }
  4381. else if(pare_igraca < 200)
  4382. {
  4383. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Nemate dovoljno para");
  4384. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Imate^3 %i/ 200", pare_igraca);
  4385. return PLUGIN_CONTINUE;
  4386. }
  4387. else if(cs_get_user_defuse(id) == 1)
  4388. {
  4389. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Vec imate defuse kit");
  4390. return PLUGIN_CONTINUE;
  4391. }
  4392. cs_set_user_money(id, pare_igraca-200);
  4393. cs_set_user_defuse(id, 1);
  4394. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Kupio si ^4Defuse Kit^1.");
  4395.  
  4396. return PLUGIN_CONTINUE;
  4397. }
  4398. public reklama(id)
  4399. {
  4400. set_task(50.0, "reklama", id);
  4401. switch(random_num(1,15))
  4402. {
  4403. case 1:
  4404. {
  4405. ChatColor(id, "%L", id, "ML_INFO_1");
  4406. }
  4407. case 2:
  4408. {
  4409. ChatColor(id, "%L", id, "ML_INFO_2");
  4410. }
  4411. case 3:
  4412. {
  4413. ChatColor(id, "%L", id, "ML_INFO_3");
  4414. }
  4415. case 4:
  4416. {
  4417. ChatColor(id, "%L", id, "ML_INFO_4");
  4418. }
  4419. case 5:
  4420. {
  4421. ChatColor(id, "%L", id, "ML_INFO_5");
  4422. }
  4423. case 6:
  4424. {
  4425. ChatColor(id, "%L", id, "ML_INFO_6");
  4426. }
  4427. case 7:
  4428. {
  4429. ChatColor(id, "%L", id, "ML_INFO_7");
  4430. }
  4431. case 8:
  4432. {
  4433. ChatColor(id, "%L", id, "ML_INFO_8");
  4434. }
  4435. case 9:
  4436. {
  4437. ChatColor(id, "%L", id, "ML_INFO_9");
  4438. }
  4439. case 10:
  4440. {
  4441. ChatColor(id, "%L", id, "ML_INFO_10");
  4442. }
  4443. case 11:
  4444. {
  4445. ChatColor(id, "%L", id, "ML_INFO_11");
  4446. }
  4447. case 12:
  4448. {
  4449. ChatColor(id, "%L", id, "ML_INFO_12");
  4450. }
  4451. case 13:
  4452. {
  4453. ChatColor(id, "%L", id, "ML_INFO_13");
  4454. }
  4455. case 14:
  4456. {
  4457. ChatColor(id, "%L", id, "ML_INFO_14");
  4458. }
  4459. case 15:
  4460. {
  4461. ChatColor(id, "%L", id, "ML_INFO_15");
  4462. }
  4463. }
  4464. }
  4465. public cmd_addlvl(id, level, cid)
  4466. {
  4467. if(!cmd_access(id, level, cid, 3))
  4468. return PLUGIN_HANDLED;
  4469.  
  4470. new arg1[33];
  4471. new arg2[4];
  4472. read_argv(1, arg1, 32);
  4473. read_argv(2, arg2, 3);
  4474. new player = cmd_target(id, arg1, 0);
  4475.  
  4476. remove_quotes(arg2);
  4477. new lvl = str_to_num(arg2);
  4478.  
  4479. if(lvl > 100)
  4480. client_print(id, print_console, "[COD:MW4] Mozete samo da date 100 levela odjednom");
  4481. else if(level_igraca[player] + lvl > 4200)
  4482. client_print(id, print_console, "[COD:MW4] Uneta je prevelika vrednost (lvl igraca + vrednost <4200)");
  4483. else
  4484. {
  4485. new nivo = lvl-1;
  4486. iskustvo_igraca[player] = iskustvo_levelu[level_igraca[player] + nivo];
  4487. ProveriNivo(player);
  4488.  
  4489. if(get_cvar_num("cod_level_log") == 1)
  4490. {
  4491. new vreme[9] ,authid[32], authid2[32], name2[32], name[32];
  4492. get_user_authid(id, authid, 31);
  4493. get_user_authid(player, authid2, 31);
  4494. get_user_name(player, name2, 31);
  4495. get_user_name(id, name, 31);
  4496. get_time("%H:%M:%S", vreme, 8);
  4497.  
  4498. }
  4499. }
  4500. return PLUGIN_HANDLED;
  4501. }
  4502. public FwdAddToFullPack(es_handle, e, ent, host, hostflags, player, pSet)
  4503. {
  4504. if(!is_user_connected(host) || !is_user_connected(ent))
  4505. return;
  4506.  
  4507. if(informacije_predmet_igraca[host][0] == 50)
  4508. {
  4509. set_es(es_handle, ES_RenderAmt, 255.0);
  4510. }
  4511.  
  4512. }
  4513.  
  4514. public Realxp(id)
  4515. {
  4516. new ppc = ((level_igraca[id]*level_igraca[id]) * 7)
  4517. ColorChat(id,NORMAL,"^4[COD MW4]^1 Vas trenutni xp je^3 %i ^1/^3 %i^1, jos^3 %i ^1xp-a do^3 %i ^1levela.", iskustvo_igraca[id], ppc, (ppc - iskustvo_igraca[id]), (level_igraca[id]+1));
  4518. }
  4519. public BrojPredmeta(id)
  4520. {
  4521. static motd[9901], len;
  4522. new num;
  4523. len = format(motd, 9900,"<body bgcolor=#383838 ><font color=#0099FF ><pre>");
  4524. for(new i = 1;i < sizeof naziv_predmeta;i++)
  4525. {
  4526. if(num != 3)
  4527. {
  4528. len += format(motd[len], 9900-len,"%i.%L,", i , id, naziv_predmeta[i]);
  4529. num++
  4530. }
  4531. else if(num == 3)
  4532. {
  4533. len += format(motd[len], 9900-len,"%i.%L,<B><B><h5><h5>", i , id, naziv_predmeta[i]);
  4534. num=0
  4535. }
  4536. }
  4537. show_motd(id, motd);
  4538. }
  4539. public godon(id)
  4540. {
  4541. set_user_godmode(id, 1)
  4542.  
  4543. odbrojavanje[id] = 4
  4544. korisceno[id] = 1
  4545.  
  4546. if(task_exists(id + 3431))
  4547. {
  4548. remove_task(id + 3431)
  4549. }
  4550. set_task(1.0, "godoff", id + 3431, _, _, "b")
  4551.  
  4552. return PLUGIN_CONTINUE
  4553. }
  4554. public godoff(task_id)
  4555. {
  4556. new id = task_id - 3431
  4557.  
  4558. set_hudmessage(0, 255, 0, 0.03, 0.76, 2, 0.02, 1.0, 0.01)
  4559. show_hudmessage(id, "Za %d sekundi gubite besmrtnost.", odbrojavanje[id])
  4560.  
  4561. odbrojavanje[id] -= 1
  4562.  
  4563. if(odbrojavanje[id] <= 0)
  4564. {
  4565. if(task_exists(task_id))
  4566. {
  4567. remove_task(task_id)
  4568. }
  4569. set_user_godmode(id, 0);
  4570. }
  4571. }
  4572. public clipon(id)
  4573. {
  4574. set_user_noclip(id, 1)
  4575.  
  4576. odbrojavanje[id] = 9
  4577. korisceno[id] = 1
  4578.  
  4579. if(task_exists(id + 3431))
  4580. {
  4581. remove_task(id + 3431)
  4582. }
  4583. set_task(1.0, "clipoff", id + 3431, _, _, "b")
  4584.  
  4585. return PLUGIN_CONTINUE
  4586. }
  4587. public clipoff(task_id)
  4588. {
  4589. new id = task_id - 3431
  4590.  
  4591. set_hudmessage(0, 255, 0, 0.03, 0.76, 2, 0.02, 1.0, 0.01)
  4592. show_hudmessage(id, "Za %d sekundi gubite noclip", odbrojavanje[id])
  4593.  
  4594. odbrojavanje[id] -= 1
  4595.  
  4596. if(odbrojavanje[id] <= 0)
  4597. {
  4598. if(task_exists(task_id))
  4599. {
  4600. remove_task(task_id)
  4601. }
  4602. set_user_noclip(id, 0);
  4603. }
  4604. }
  4605. public komanda(id)
  4606. {
  4607. if(informacije_predmet_igraca[id][0] == 51 && korisceno[id] == 0)
  4608. {
  4609. godon(id)
  4610. }
  4611. if(informacije_predmet_igraca[id][0] == 52 && korisceno[id] == 0)
  4612. {
  4613. clipon(id)
  4614. }
  4615. }
  4616. public client_PreThink(id)
  4617. {
  4618. if (entity_get_int(id, EV_INT_button)& 2 && informacije_predmet_igraca[id][0] == 53) {
  4619. new flags = entity_get_int(id, EV_INT_flags)
  4620.  
  4621. if(!is_user_alive(id))
  4622. return PLUGIN_HANDLED;
  4623.  
  4624. if(flags & FL_WATERJUMP)
  4625. return PLUGIN_CONTINUE;
  4626.  
  4627. if(entity_get_int(id, EV_INT_waterlevel) >= 2 )
  4628. return PLUGIN_CONTINUE;
  4629.  
  4630. if(!(flags & FL_ONGROUND))
  4631. return PLUGIN_CONTINUE;
  4632.  
  4633. new Float:velocity[3]
  4634. entity_get_vector(id, EV_VEC_velocity, velocity)
  4635. velocity[2] += 250.0
  4636. entity_set_vector(id, EV_VEC_velocity, velocity)
  4637.  
  4638. entity_set_int(id, EV_INT_gaitsequence, 6)
  4639. }
  4640. return PLUGIN_CONTINUE
  4641. }
  4642. public bomb_explode(planter, id)
  4643. {
  4644. if(get_pcvar_num(xp_bomb) == 0)
  4645. return PLUGIN_HANDLED;
  4646.  
  4647. new Players[32], playerCount
  4648. get_players(Players, playerCount)
  4649. for(new i;i<playerCount;i++)
  4650. {
  4651. if(get_user_team(i) == get_user_team(planter))
  4652. {
  4653. iskustvo_igraca[i] += get_pcvar_num(xp_bomb)
  4654. ColorChat(i, NORMAL, "^4[COD:MW4]^1 Dobio si^3 %i ^1xp-a zato sto je bomba explodirala.", get_pcvar_num(xp_bomb))
  4655. }
  4656. }
  4657. return PLUGIN_CONTINUE
  4658. }
  4659. public bomb_defused(id)
  4660. {
  4661. if(get_pcvar_num(xp_def) == 0)
  4662. return PLUGIN_HANDLED;
  4663.  
  4664. new Players[32], playerCount
  4665. get_players(Players, playerCount)
  4666. for(new i;i<playerCount;i++)
  4667. {
  4668. if(get_user_team(i) == get_user_team(id))
  4669. {
  4670. iskustvo_igraca[i] += get_pcvar_num(xp_def)
  4671. ColorChat(i, NORMAL, "^4[COD:MW4]^1 Dobio si^3 %i ^1xp-a zato sto je bomba ugasena.", get_pcvar_num(xp_def))
  4672. }
  4673. }
  4674. return PLUGIN_CONTINUE
  4675. }
  4676. public bomb_planted(id)
  4677. {
  4678. if(get_pcvar_num(xp_planted) == 0)
  4679. return PLUGIN_HANDLED;
  4680.  
  4681. iskustvo_igraca[id] += get_pcvar_num(xp_planted)
  4682. ColorChat(id, GREEN, "[COD:MW4]^1 Dobio si^3 %i ^1 zato sto si postavio bombu.", get_pcvar_num(xp_planted))
  4683. return PLUGIN_CONTINUE
  4684. }
  4685. public LetiGore(id)
  4686. {
  4687. new Float:fOrigin[3], iOrigin[3]
  4688. entity_get_vector( id, EV_VEC_origin, fOrigin)
  4689. iOrigin[0] = floatround(fOrigin[0])
  4690. iOrigin[1] = floatround(fOrigin[1])
  4691. iOrigin[2] = floatround(fOrigin[2])
  4692.  
  4693. message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin)
  4694. write_byte(TE_EXPLOSION)
  4695. write_coord(iOrigin[0])
  4696. write_coord(iOrigin[1])
  4697. write_coord(iOrigin[2])
  4698. write_short(sprite_blast)
  4699. write_byte(32)
  4700. write_byte(20)
  4701. write_byte(0)
  4702. message_end()
  4703.  
  4704. message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin)
  4705. write_byte(TE_BEAMCYLINDER)
  4706. write_coord(iOrigin[0])
  4707. write_coord(iOrigin[1])
  4708. write_coord(iOrigin[2])
  4709. write_coord(iOrigin[0])
  4710. write_coord(iOrigin[1] + 300)
  4711. write_coord(iOrigin[2] + 300)
  4712. write_short(sprite_white)
  4713. write_byte(0)
  4714. write_byte(0)
  4715. write_byte(10)
  4716. write_byte(10)
  4717. write_byte(255)
  4718. write_byte(255)
  4719. write_byte(100)
  4720. write_byte(100)
  4721. write_byte(128)
  4722. write_byte(8)
  4723. message_end()
  4724.  
  4725. new entlist[33]
  4726. new numfound = find_sphere_class(id, "player", 300.0, entlist, 32)
  4727.  
  4728. for (new i = 0; i < numfound; i++)
  4729. {
  4730. new pid = entlist[i]
  4731.  
  4732. ExecuteHam(Ham_TakeDamage, pid, 0, id, 150.0 + float(inteligencija_igraca[id]), 1)
  4733. }
  4734.  
  4735. return PLUGIN_CONTINUE
  4736. }
  4737. public plugin_end()
  4738. {
  4739. nvault_close( g_vault )
  4740.  
  4741. ArraySort(g_SteamID, "SortRanks");
  4742. SaveRanks();
  4743.  
  4744. ArrayDestroy(g_SteamID)
  4745. }
  4746.  
  4747. MakeMOTDSafe( const szInput[ ], szOutput[ ], const iOutputLen, const iMaxChars = 0 )
  4748. {
  4749. new iMax = iOutputLen / 5;
  4750.  
  4751. copy( szOutput, iMax, szInput );
  4752.  
  4753. replace_all( szOutput, iOutputLen, "&", "&amp;" );
  4754. replace_all( szOutput, iOutputLen, "<", "&lt;" );
  4755. replace_all( szOutput, iOutputLen, ">", "&gt;" );
  4756.  
  4757. new iLastIndex, i, cChar;
  4758. while( ( cChar = szOutput[ i ] ) )
  4759. {
  4760. if( cChar == '&' )
  4761. {
  4762. if( equali( szOutput[ i ], "&lt;", 4 ) || equali( szOutput[ i ], "&gt;", 4 ) )
  4763. i += 3;
  4764. else if( equali( szOutput[ i ], "&amp;", 5 ) )
  4765. i += 4;
  4766. }
  4767. i++;
  4768.  
  4769. if( 0 < iMaxChars < i )
  4770. break;
  4771.  
  4772. iLastIndex = i;
  4773. }
  4774. szOutput[ iLastIndex ] = 0;
  4775. }
  4776. public Lang(id)
  4777. {
  4778. new Item[30]
  4779. formatex(Item, charsmax(Item), "%L", id, "ML_MENU")
  4780. new menu = menu_create(Item, "Lang_Handle");
  4781.  
  4782. menu_additem(menu, "English");
  4783. menu_additem(menu, "Srpski");
  4784.  
  4785. menu_display(id, menu);
  4786. }
  4787. public Lang_Handle(id, menu, item)
  4788. {
  4789. if(item++ == MENU_EXIT)
  4790. {
  4791. menu_destroy(menu);
  4792. return PLUGIN_CONTINUE;
  4793. }
  4794. switch(item)
  4795. {
  4796. case 1: set_user_info(id, "lang", "en")
  4797. case 2: set_user_info(id, "lang", "sr")
  4798. }
  4799. menu_destroy(menu);
  4800.  
  4801. return PLUGIN_CONTINUE;
  4802. }
  4803. stock ChatColor(const id, const input[], any:...)
  4804. {
  4805. new count = 1, players[32]
  4806. static msg[191]
  4807. vformat(msg, 190, input, 3)
  4808.  
  4809. replace_all(msg, 190, "!g", "^4")
  4810. replace_all(msg, 190, "!n", "^1")
  4811. replace_all(msg, 190, "!t", "^3")
  4812.  
  4813. new index
  4814. if (id) players[0] = id; else get_players(players, count, "ch")
  4815. {
  4816. for (new i = 0; i < count; i++)
  4817. {
  4818. index = players[i]
  4819.  
  4820. message_begin(MSG_ONE_UNRELIABLE, said, _, index)
  4821. write_byte(index);
  4822. write_string(msg);
  4823. message_end();
  4824. }
  4825. }
  4826. }
  4827.  
  4828. public SacuvajGb(id)
  4829. {
  4830. if(!klasa_igraca[id])
  4831. return PLUGIN_CONTINUE;
  4832.  
  4833. new vaultkey[128],vaultdata[256], ID_igraca[64];
  4834. format(vaultdata, charsmax(vaultdata),"#%i", shop_poeni_igraca[id]);
  4835.  
  4836. get_user_authid(id, ID_igraca, charsmax(ID_igraca))
  4837.  
  4838. format(vaultkey, charsmax(vaultkey),"%s-gb", ID_igraca);
  4839. nvault_set(g_gb,vaultkey,vaultdata);
  4840.  
  4841. return PLUGIN_CONTINUE;
  4842. }
  4843.  
  4844. public UcitajGb(id)
  4845. {
  4846. new vaultkey[128],vaultdata[256], ID_igraca[64];
  4847.  
  4848. get_user_authid(id, ID_igraca, charsmax(ID_igraca))
  4849.  
  4850. format(vaultkey, charsmax(vaultkey),"%s-gb", ID_igraca);
  4851. nvault_get(g_gb,vaultkey,vaultdata,255);
  4852.  
  4853. replace_all(vaultdata, 255, "#", " ");
  4854.  
  4855. new playerdata[4][32];
  4856.  
  4857. parse(vaultdata, playerdata[0], 31, playerdata[1], 31, playerdata[2], 31, playerdata[3], 31);
  4858.  
  4859. shop_poeni_igraca[id] = str_to_num(playerdata[0]);
  4860.  
  4861. return PLUGIN_CONTINUE;
  4862. }
  4863. public Shop(id)
  4864. {
  4865. new size[64]
  4866. new menu = menu_create("Buy Perks:", "ShopHandler")
  4867. new cb = menu_makecallback("ShopCallBack")
  4868. for(new i;i < sizeof szPerks;i++)
  4869. {
  4870. formatex(size, charsmax(size), "%s \r[Perk]\w Price:\y %i \dGB", szPerks[i], szCoast[i])
  4871. menu_additem(menu, size, _, _, cb)
  4872. }
  4873. menu_display(id, menu)
  4874. }
  4875. public ShopCallBack(id, menu, item)
  4876. {
  4877. if(cod_get_user_perk(id) == szNumbers[item])
  4878. return ITEM_DISABLED;
  4879.  
  4880. return ITEM_ENABLED;
  4881. }
  4882. public ShopHandler(id, menu, item)
  4883. {
  4884. if(item == MENU_EXIT)
  4885. {
  4886. menu_destroy(menu);
  4887. return PLUGIN_CONTINUE;
  4888. }
  4889. if(cod_get_user_gb(id) < szCoast[item])
  4890. {
  4891. ColorChat(id, GREEN, "[COD:MW4]^1 You dont have enought GB Points!");
  4892. return PLUGIN_HANDLED;
  4893. }
  4894. cod_set_user_gb(id, cod_get_user_gb(id) - szCoast[item]);
  4895. cod_set_user_perk(id, szNumbers[item])
  4896. return PLUGIN_CONTINUE
  4897. }
  4898. public reset(id)
  4899. {
  4900. ubistava[id] = 0;
  4901. }
  4902. public native_get_user_gb(id)
  4903. return g_gb[id]
  4904.  
  4905. public native_set_user_gb(id, kolicina)
  4906. g_gb[id] = kolicina
  4907.  
  4908. public ModOpis(id)
  4909. {
  4910. static motd[1501], len
  4911.  
  4912. len = format(motd, 1500,"<body bgcolor=#000000><font color=#87cefa><pre>")
  4913. len += format(motd[len], 1500-len,"<h4><font color=^"red^">COD:MW je napisan od strane poljskog scriptera QTM.Peyote</font></h4>")
  4914. len += format(motd[len], 1500-len,"<h4><font color=^"blue^"><B>---------------------------</B> </font></h4>")
  4915. len += format(motd[len], 1500-len,"<h4><font color=^"red^">Plugin: COD:MW4 Mod</font></h4>")
  4916. len += format(motd[len], 1500-len,"<h4><font color=^"red^">Verzija: 1.0</font></h4>")
  4917. len += format(motd[len], 1500-len,"<h4><font color=^"red^">Autori: RasisT i Ekipa</font></h4>")
  4918. len += format(motd[len], 1500-len,"<h4><font color=^"blue^"><B>---------------------------</B> </font></h4>")
  4919. len += format(motd[len], 1500-len,"<h4><font color=^"white^">U ovoj verziji ima:</font></h4>")
  4920. len += format(motd[len], 1500-len,"<h4><font color=^"red^">60 Predmeta</font></h4>")
  4921. len += format(motd[len], 1500-len,"<h4><font color=^"red^">62 Klase</font></h4>")
  4922. len += format(motd[len], 1500-len,"<h4><font color=^"red^">Shop Poeni</font></h4>")
  4923. len += format(motd[len], 1500-len,"<h4><font color=^"red^">Kill Streak</font></h4>")
  4924. len += format(motd[len], 1500-len,"<h4><font color=^"red^">Bonus Box</font></h4>")
  4925. len += format(motd[len], 1500-len,"<h4><font color=^"red^">Level Rank System</font></h4>")
  4926. len += format(motd[len], 1500-len,"<h4><font color=^"red^">Napredan VIP System</font></h4>")
  4927. len += format(motd[len], 1500-len,"<h4><font color=^"red^">GB Banka & Shop</font></h4>")
  4928. len += format(motd[len], 1500-len,"<h4><font color=^"red^">VIP Shop</font></h4>")
  4929. len += format(motd[len], 1500-len,"<h4><font color=^"red^">Brojac Ubistava / Frag Counter(do 50 killova)</font></h4>")
  4930. len += format(motd[len], 1500-len,"<h4><font color=^"red^">Ugradjen HTBS(How to boost server) sistem.</font></h4>")
  4931. len += format(motd[len], 1500-len,"<h4><font color=^"blue^"><B>---------------------------</B> </font></h4>")
  4932.  
  4933. show_motd(id, motd, "Opis Novog COD:MW MOD-a")
  4934.  
  4935. set_hudmessage(255, 0, 0, -1.0, 0.0, 0, 6.0, 12.0)
  4936. show_hudmessage(id, "Za sve informacije o COD:MW MOD-u poseti ^nforum.kgb-hosting.com i budi u toku!")
  4937. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement