MegastoRM

sumadija

Sep 12th, 2012
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 144.81 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <cstrike>
  5. #include <fakemeta>
  6. #include <engine>
  7. #include <hamsandwich>
  8. #include <nvault>
  9. #include <colorchat>
  10. #include < dhudmessage >
  11.  
  12. #define PLUGIN "Call of Duty: MW4 Mod"
  13.  
  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_INF 469
  20. #define ZADATAK_POKAZI_ORUZIJA 672
  21. #define ZADATAK_PROVERA 704
  22. #define ZADATAK_POSTAVI_brzinu 832
  23.  
  24. //#define BOTY 1
  25.  
  26. new killovi[33]
  27. new SyncHudObj;
  28. new SyncHudObj2;
  29. new SyncHudObj3;
  30. new g_msg_screenfade;
  31.  
  32. new cvar_xp_za_ubistvo;
  33. new iskustvo_za_pobedu;
  34. new iskustvo_za_hs;
  35.  
  36. new sprite_white;
  37. new sprite_blast;
  38. new sprite_beam;
  39. new sprite_trail;
  40. new sprite_smoke;
  41.  
  42. new g_vault;
  43.  
  44. new iskustvo_za_mnogopara;
  45.  
  46. new Ubrania_CT[4][]={"sas","gsg9","urban","gign"};
  47. new Ubrania_Terro[4][]={"arctic","leet","guerilla","terror"};
  48.  
  49. 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};
  50. new const maxClip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
  51. 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 };
  52.  
  53. new informacije_predmet_igraca[33][2];
  54. new const naziv_predmeta[][] = {"Nema",
  55. "Necujne Cizme", //1
  56. "Dupli Pancir", //2
  57. "Ojacani Pancir", //3
  58. "Veteran sa nozem", //4
  59. "Iznenadi neprijatelje", //5
  60. "Nevidljivost", //6
  61. "Respawn", //7
  62. "Noz Marinca", //8
  63. "Kamuflaza", //9
  64. "HE Expert", //10
  65. "Dupli Skok", //11
  66. "Vojna tajna", //12
  67. "AWP Master",//13
  68. "Adrenalin",//14
  69. "Rambova tajna",//15
  70. "Deagle Manijak",//16
  71. "Super Pancir",//17
  72. "Extra HP++",//18
  73. "Komplet za prvu pomoc",//19
  74. "No Recoil",//20
  75. "Titanijumski metci",//21
  76. "Pukovnikovi metci",//22
  77. "Ogranicen no-recoil",//23
  78. "SWAT Stit",//24
  79. "50 HP++",//25
  80. "Nano Oklop",//26
  81. "BulletProof",//27
  82. "Jetpack",//28
  83. "Gravitacija",//29
  84. "Speed",//30
  85. "Set Stuntera",//31
  86. "M4 Swat",//32
  87. "Deagle Master",//33
  88. "Scout Expert",//34
  89. "Oprema Generala",//35
  90. "M3 pro",//36
  91. "Pro HE Vestina",//37
  92. "Galil Terorizam",//38
  93. "Snajper Komplet",//39
  94. "Misterija Assassina",//40
  95. "Low Headshot",//41
  96. "Aim Stuntera",//42
  97. "USP AIM", //43
  98. "Osveta", //44
  99. "Madjionicar", //45
  100. "Skakac", //46
  101. "Tajna Razvodnika", //47
  102. "Rambov Prsluk",//48
  103. "Set Stexya", //49
  104. "M4A1 AIM", //50
  105. "AK47 AIM" //51
  106. };
  107.  
  108. new const opis_predmet[][] = {"Ubi nekog i dobices predmet",
  109. "Necujno trcanje",
  110. "Smanjuje stetu za LW %",
  111. "Smanjuje stetu za LW %",
  112. "Brze ubijas nozem",
  113. "Kada pogodite nekog od pozadi, povrede su dva puta vece",
  114. "Imate LW % nevidljivosti",
  115. "1/LW sanse da se respawn posle smrti",
  116. "Brzo ubijanje nozem",
  117. "Imate 1/LW sanse da odmah ubijete sa HE. Takodje izgledate kao neprijatelj",
  118. "Instant kill sa granatom (HE). Zadajes LW % dodatne stete",
  119. "Dupli skok",
  120. "Vase povrede su smanjene za 5. Imate 1/LW sanse da oslepite neprijatelja",
  121. "Instant kill sa AWP",
  122. "Za svaki kill dobijate 50hp",
  123. "Za svaki kill dobijate pun sarzer i 20hp",
  124. "Dobijate Deagle",
  125. "Imate 500 stita",
  126. "Dobijate +100hp svake runde, ali zato ste sporiji",
  127. "Koristite da regeneriste maximalni HP",
  128. "Nema trzanja puske kad pucate",
  129. "Zadajete protivnicima +10 vise stete",
  130. "Zadajete protivnicima +20 vise stete",
  131. "Smanjeno trazanje puske",
  132. "Ni jedan predmet nece uticati na vas",
  133. "Dobijate +50hp svake runde, ali zato ste sporiji",
  134. "Imate 1/LW sanse da izbegnete stetu",
  135. "Otporni ste na 3 metka u svakom krugu",
  136. "Pritisnite CRTL i SPACE da koristite jetpack, jetpack se obnavlja svake 4 sec",
  137. "Smanjena gravitacija",
  138. "Povecana Brzina",
  139. "1/2 sa Uspom i 1/5 sa mp5",
  140. "1/4 m4a1",
  141. "1/3 Deaglom",
  142. "Instant kill Scout-om",
  143. "Dobija te AWP i AK47,instant kill AWP-om",
  144. "Dobijas M3,1/3 sa M3",
  145. "Dobijas HE i 1/3 sa HE",
  146. "Dobijas Galil i 1/7 sa njim",
  147. "1/1 sanse za instant kill sa Awp , 1/2 sa deagle",
  148. "Smanjena gravitacija i manja vidljivost sa nozem",
  149. "Mogu vas samo ubiti Headshoot-om",
  150. "1/5 sanse za headshoot sa AWP-om",
  151. "Sa USP-om uvek u glavu pogadjate",
  152. "Duplo vise HP-a",
  153. "Nevidljiv si kad cucis",
  154. "Mozes 3x dupli skok u jednom",
  155. "Dobijas SG550 i 1/3 sa njim",
  156. "Dobijate svake runde +900 stita",
  157. "Dobijate awp i p228 imate 1/1 sa awp i 1/9 sa p228",
  158. "Stalno u glavu sa M4A1",
  159. "Stalno u glavu sa AK47"
  160.  
  161. };
  162.  
  163. new klasa_igraca[33];
  164. new level_igraca[33] = 1;
  165. new iskustvo_igraca[33];
  166.  
  167. new nova_klasa_igraca[33];
  168. new snaga_predmeta[33];
  169. new poeni_igraca[33];
  170. new energija_igraca[33];
  171. new inteligencija_igraca[33];
  172. new snaga_igraca[33];
  173. new Float:smanjene_povrede_igraca[33];
  174. new kondicija_igraca[33];
  175. new levelRank[33];
  176. new shop_poeni_igraca[33];
  177. new maximalna_energija_igraca[33];
  178. new rakete_igraca[33];
  179. new Float:brzina_igraca[33];
  180.  
  181. enum { NONE = 0,
  182. Snajperista,
  183. Marinac,
  184. ProStrelac,
  185. Mitraljezac,
  186. Doktor,
  187. VatrenaPodrska,
  188. Miner,
  189. Demolitions,
  190. Rusher,
  191. Rambo,
  192. Revolveras,
  193. Bombarder,
  194. Strelac,
  195. Informator,
  196. Pukovnik,
  197. Pobunjenik,
  198. SerijskiUbica,
  199. Desetar,
  200. Vodnik,
  201. Kamikaza,
  202. Assassin,
  203. Major,
  204. Kapetan,
  205. Potpukovnik,
  206. Marsal,
  207. NemackiStrelac,
  208. Armageddon,
  209. Samuraj,
  210. RatkoMladic,
  211. SWAT,
  212. Partizan,
  213. Gunner,
  214. Komandos,
  215. JSO,
  216. ProMiner,
  217. Placenik,
  218. BazookaSoldier,
  219. Soap,
  220. Price,
  221. T32,
  222. Master,
  223. PTJ,
  224. SRBIN,
  225. Hunter,
  226. SAJ,
  227. Matrix,
  228. UltraMarinac,
  229. Pjandura
  230. }
  231.  
  232. new const energija_klasa[] = { //Helti Klase
  233. 0, // Nema
  234. 120, // Snajperista
  235. 140, // Marinac
  236. 130, // Pro-Strelac
  237. 120, // Mitraljezac
  238. 110, // Doktor
  239. 100, // Vatrena Podrska
  240. 100, // Miner
  241. 110, // Demolitions
  242. 100, // Rusher
  243. 130, // Rambo
  244. 120, // Revolveras
  245. 110, // Bombarder
  246. 120, // Strelac
  247. 70, // Informator
  248. 110, // Pukovnik
  249. 150, // Pobunjenik
  250. 110, // Serijski ubica
  251. 120, // Desetar
  252. 110, // Vodnik
  253. 120, // Kamikaza
  254. 100, // Assassin
  255. 100, // Major
  256. 100, // Kapetan
  257. 100, // Potpukovnik
  258. 120, // Marsal
  259. 120, // Nemacki strelac
  260. 160, // Armageddon
  261. 100, // Samuraj
  262. 150, // Ratko Mladic
  263. 150, // SWAT
  264. 100, // Partizan
  265. 125, // Gunner
  266. 150, // Komandos
  267. 100,
  268. 120,
  269. 100,
  270. 150,
  271. 150,
  272. 120,
  273. 200,
  274. 100,
  275. 100,
  276. 100,
  277. 100,
  278. 100,
  279. 150,
  280. 200,
  281. 100
  282. }
  283.  
  284. new const Float:brzina_klasa[] = { //Brzina Klase
  285. 0.0, // None
  286. 1.3, // Snajperista
  287. 1.35, // Marinac
  288. 1.0, // Pro-Strelac
  289. 0.8, // Mitraljezac
  290. 1.5, // Doktor
  291. 1.2, // Vatrena Podrska
  292. 1.1, // Miner
  293. 1.1, // Demolitions
  294. 1.3, // Rusher
  295. 1.2, // Rambo
  296. 1.1, // Revolveras
  297. 1.1, // Bombarder
  298. 1.0, // Strelac
  299. 1.6, // Informator
  300. 1.1, // Pukovnik
  301. 1.4, // Pobunjenik
  302. 1.0, // Serijski ubica
  303. 1.0, // Desetar
  304. 1.1, // Vodnik
  305. 1.0, // Kamikaza
  306. 1.4, // Assassin
  307. 1.2, // Major
  308. 1.0, // Kapetan
  309. 1.6, // Potpukovnik
  310. 1.1, // Marsal
  311. 1.0, // Nemacki strelac
  312. 1.0, // Armageddon
  313. 1.4, // Samuraj
  314. 1.4, // Ratko Mladic
  315. 1.3, // SWAT
  316. 1.3, // Partizan
  317. 1.0, // Gunner
  318. 1.2, // Komandos
  319. 1.0,
  320. 1.2,
  321. 1.0,
  322. 0.7,
  323. 2.0,
  324. 1.4,
  325. 2.0,
  326. 2.0,
  327. 2.0,
  328. 2.0,
  329. 5.0,
  330. 2.0,
  331. 5.0,
  332. 3.0,
  333. 2.0
  334. }
  335.  
  336. new const oklop_klase[] = { //Armor Klase
  337. 0, //None
  338. 100, //Snajperi
  339. 100, //Marinac
  340. 100, //Pro-Strelac
  341. 40, //Mitraljezac
  342. 0, //Doktor
  343. 0, //Vatrena Podrska
  344. 0, //Miner
  345. 100, //Demolitions
  346. 40, //Rusher
  347. 0, //Rambo
  348. 0, //Revolveras
  349. 100, //Bombarder
  350. 40, //Strelac
  351. 0, //Informator
  352. 0, //Pukovnik
  353. 150, //Pobunjenik
  354. 90, //Serijski ubica
  355. 0, //Desetar
  356. 200, //Vodnik
  357. 0, //Kamikaza
  358. 100, //Assassin
  359. 0, //Major
  360. 0, //Kapetan
  361. 200, //Potpukovnik
  362. 0, //Marsal
  363. 100, //Nemacki strelac
  364. 120, //Armageddon
  365. 0, //Samuraj
  366. 150, //Ratko Mladic
  367. 110, //SWAT
  368. 100, //Partizan
  369. 100, //Gunner
  370. 100, // Komandos
  371. 105,
  372. 125,
  373. 100,
  374. 150,
  375. 150,
  376. 100,
  377. 200,
  378. 500,
  379. 100,
  380. 500,
  381. 400,
  382. 500,
  383. 500,
  384. 200,
  385. 500
  386. }
  387.  
  388. new const naziv_klase[][] = {
  389. "Nema", // 0
  390. "Snajperista", // 1
  391. "Marinac", // 2
  392. "Pro-Strelac", // 3
  393. "Mitraljezac", // 4
  394. "Doktor", // 5
  395. "Vatrena podrska", // 6
  396. "Miner", // 7
  397. "Demolitions", // 8
  398. "Rusher", // 9
  399. "Rambo", // 10
  400. "Revolveras", // 11
  401. "Bombarder", // 12
  402. "Strelac", // 13
  403. "Informator", // 14
  404. "Pukovnik", // 15
  405. "Pobunjenik", // 16
  406. "Serijski ubica", // 17
  407. "Desetar", // 18
  408. "Vodnik", // 19
  409. "Kamikaza", // 20
  410. "Assassin", // 21
  411. "Major", // 22
  412. "Kapetan", // 23
  413. "Potpukovnik", // 24
  414. "Marsal", // 25
  415. "Nemacki strelac", // 26
  416. "Armageddon", // 27
  417. "Samuraj", // 28
  418. "Ratko Mladic", // 29
  419. "SWAT", // 30
  420. "Partizan", // 31
  421. "Gunner", // 32
  422. "Komandos", // 33
  423. "JSO", // 34
  424. "Pro Miner", // 35
  425. "Placenik", // 36
  426. "Bazooka Soldier", // 37
  427. "Soap", // 38
  428. "Price", // 39
  429. "T-32", // 40
  430. "Master", // 41
  431. "PTJ", // 42
  432. "SRBIN", // 43
  433. "Hunter", // 44
  434. "SAJ", // 45
  435. "Matrix", // 46
  436. "UltraMarinac", // 47
  437. "Pjandura" // 48
  438. };
  439. new const frakcje[][] = {
  440. "Nema",
  441. "\yObicne \dKlase",
  442. "\rPremium \yKlase",
  443. "\dBesplatne \rPremium \yKlase"
  444. }
  445.  
  446. enum { NONE = 0, o, p, b}
  447. new const nalezy_do[] = {NONE,
  448. o,
  449. o,
  450. o,
  451. o,
  452. o,
  453. o,
  454. o,
  455. o,
  456. o,
  457. b,
  458. o,
  459. o,
  460. o,
  461. o,
  462. o,
  463. o,
  464. o,
  465. o,
  466. o,
  467. o,
  468. p,
  469. p,
  470. o,
  471. o,
  472. o,
  473. o,
  474. b,
  475. o,
  476. p,
  477. o,
  478. o,
  479. o,
  480. p,
  481. b,
  482. b,
  483. o,
  484. p,
  485. p,
  486. o,
  487. o,
  488. p,
  489. p,
  490. o,
  491. p,
  492. o,
  493. o,
  494. o,
  495. b
  496. };
  497. new frakcja_igraca[33]
  498. new const opis_klase[][] = {"Nema",
  499. "\rOruzije:\y AWP, Deagle i Scout ^n\rEnergija:\y 120HP ^n\rPancir:\y 100AP \r^nBrzina:\y 110% \r^nSpecijalne moci:\y 60% sanse za instant ubistvo nozem", // 1
  500. "\rOruzije:\y Deagle ^n\rEnergija:\y 140HP ^n\rPancir:\y 100AP \r^nBrzina:\y 135% \r^nSpecijalne moci:\y Instant kill nozem,Dupli skok", // 2
  501. "\rOruzije:\y AK47, M4A1 ^n\rEnergija:\y 110HP ^n\rPancir:\y 100AP \r^nBrzina:\y 80% \r^nSpecijalne moci:\y Smanjeno trzanje puske", // 3
  502. "\rOruzije:\y Dobija M249 ^n\rEnergija:\y 120HP ^n\rPancir:\y 150AP \r^nBrzina:\y 80% \r^nSpecijalne moci:\y Otporan na mine, ima sve bombe", // 4
  503. "\rOruzije:\y UMP45 ^n\rEnergija:\y 110HP ^n\rPancir:\y 100AP \r^nBrzina:\y 150% \r^nSpecijalne moci:\y Komplet za prvu pomoc", // 5
  504. "\rOruzije:\y MP5, HE grenade ^n\rEnergija:\y 100HP ^n\rPancir:\y 100AP \r^nBrzina:\y 120% \r^nSpecijalne moci:\y 2 rakete", // 6
  505. "\rOruzije:\y P90 ^n\rEnergija:\y 100HP ^n\rPancir:\y 100AP \r^nBrzina:\y 110% \r^nSpecijalne moci:\y 10 mine", // 7
  506. "\rOruzije:\y Aug, sve bombe ^n\rEnergija:\y 110HP ^n\rPancir:\y 100AP \r^nBrzina:\y 110% \r^nSpecijalne moci:\y Dinamit koji ubija sve u krugu od 1m", // 8
  507. "\rOruzije:\y M3 ^n\rEnergija:\y 100HP ^n\rPancir:\y 100AP \r^nBrzina:\y 130% \r^nSpecijalne moci:\y NEMA", // 9
  508. "\rOruzije:\y Famas ^n\rEnergija:\y 130HP ^n\rPancir:\y 150AP \r^nBrzina:\y 120% \r^nSpecijalne moci:\y Za svako ubistvo + 20hp i pun sanzer, dupli skok", // 10
  509. "\rOruzije:\y Elites ^n\rEnergija:\y 120HP ^n\rPancir:\y 0AP \r^nBrzina:\y 110% \r^nSpecijalne moci:\y 1 raketa", // 11
  510. "\\rOruzije:\y M4A1, Deagle ^n\rEnergija:\y 140HP ^n\rPancir:\y 100AP \r^nBrzina:\y 90%% \r^nSpecijalne moci:\y NEMA", // 12
  511. "\rOruzije:\y XM1014, Elites ^n\rEnergija:\y 120HP ^n\rPancir:\y 40AP \r^nBrzina:\y 100% \r^nSpecijalne moci:\y NEMA", // 13
  512. "\rOruzije:\y MP5 ^n\rEnergija:\y 70HP ^n\rPancir:\y 0AP \r^nBrzina:\y 160% \r^nSpecijalne moci:\y NEMA", // 14
  513. "\rOruzije:\y Famas, Deagle ^n\rEnergija:\y 110HP ^n\rPancir:\y 0AP \r^nBrzina:\y 110% \r^nSpecijalne moci:\y 2 mine", // 15
  514. "\\rOruzije:\y SG552, HE ,Smoke grenade ^n\rEnergija:\y 100HP ^n\rPancir:\y 150AP \r^nBrzina:\y 140% \r^nSpecijalne moci:\y 1 minu", // 16
  515. "\rOruzije:\y M4A1 ^n\rEnergija:\y 110HP ^n\rPancir:\y 100AP \r^nBrzina:\y 100% \r^nSpecijalne moci:\y NEMA", // 17
  516. "\rOruzije:\y Scout(zadaje 10% vise stete), Deagle ^n\rEnergija:\y 120HP ^n\rPancir:\y 40AP \r^nBrzina:\y 100% \r^nSpecijalne moci:\y NEMA", // 18
  517. "\rOruzije:\y M3 ^n\rEnergija:\y 110HP ^n\rPancir:\y 0AP \r^nBrzina:\y 110% \r^nSpecijalne moci:\y NEMA", // 19
  518. "\rOruzije:\y M4A1 ^n\rEnergija:\y 120HP ^n\rPancir:\y 0AP \r^nBrzina:\y 100% \r^nSpecijalne moci:\y Ima 2 rakete", // 20
  519. "\rOruzije:\y Deagle ^n\rEnergija:\y 100HP ^n\rPancir:\y 0AP \r^nBrzina:\y 200% \r^nSpecijalne moci:\y Nevidljiv je,i instant kill nozem", // 21
  520. "\rOruzije:\y Svi pistolji ^n\rEnergija:\y 90HP ^n\rPancir:\y 0AP \r^nBrzina:\y 110% \r^nSpecijalne moci:\y Ima 10 mine", // 22
  521. "\rOruzije:\y Aug ^n\rEnergija:\y 100HP ^n\rPancir:\y 0AP \r^nBrzina:\y 100% \r^nSpecijalne moci:\y NEMA", // 23
  522. "\rOruzije:\y AWP, Deagle ^n\rEnergija:\y 100HP ^n\rPancir:\y 200AP \r^nBrzina:\y 100% \r^nSpecijalne moci:\y Manje je vidljiv", // 24
  523. "\rOruzije:\y Deagle ^n\rEnergija:\y 120HP ^n\rPancir:\y 0AP \r^nBrzina:\y 120% \r^nSpecijalne moci:\y NEMA", // 25
  524. "\rOruzije:\y Ak47 ^n\rEnergija:\y 90HP ^n\rPancir:\y 100AP \r^nBrzina:\y 120% \r^nSpecijalne moci:\y 2 rakete", // 26
  525. "\rOruzije:\y AK47, AUG, HE ^n\rEnergija:\y 160HP ^n\rPancir:\y 120AP \r^nBrzina:\y 140% \r^nSpecijalne moci:\y Manje je vidljiv i 2 dinamita", // 27
  526. "\rOruzije:\y Usp ^n\rEnergija:\y 100HP ^n\rPancir:\y 0AP \r^nBrzina:\y 120% \r^nSpecijalne moci:\y NEMA", // 28
  527. "\rOruzije:\y M4A1, AK47 ^n\rEnergija:\y 140HP ^n\rPancir:\y 150AP \r^nBrzina:\y 130% \r^nSpecijalne moci:\y Dupli skok i 5 raketa", // 29
  528. "\rOruzije:\y M4A1, USP ^n\rEnergija:\y 150HP ^n\rPancir:\y 110AP \r^nBrzina:\y 130% \r^nSpecijalne moci:\y NEMA", // 30
  529. "\rOruzije:\y P90, Flash grenade ^n\rEnergija:\y 100HP ^n\rPancir:\y 100AP \r^nBrzina:\y 100% \r^nSpecijalne moci:\y Manje je vidljiv", // 31
  530. "\rOruzije:\y P90, Flash grenade ^n\rEnergija:\y 100HP ^n\rPancir:\y 100AP \r^nBrzina:\y 100% \r^nSpecijalne moci:\y Manje je vidljiv", // 31
  531. "\rOruzije:\y M4a1\r^nEnergija:\y 150 HP^n\rPancir:\y 100 AP^n\rBrzina:\y 120%^n\rSpecijalne moci: Ima 3 rakete,dinamita,mine i instant kill nozem(levi klik)",
  532. "\rOruzije:\y MP5, M4A1\r^nEnergija:\y 100 HP^n\rPancir:\y 100 AP^n\rBrzina:\y 120%^n\rSpecijalne moci: 2 rakete i necujno hodanje",
  533. "\rOruzije:\y MP5\r^nEnergija:\y 105 HP^n\rPancir:\y 100 AP^n\rBrzina:\y 130%^n\rSpecijalne moci: 5 Mina",
  534. "\rOruzije:\y MP5, M3\r^nEnergija:\y 105 HP^n\rPancir:\y 100 AP^n\rBrzina:\y 130%^n\rSpecijalne moci: +2000$ za kill",
  535. "\rOruzije:\y Bazooka\r^nEnergija:\y 120 HP^n\rPancir:\y 120 AP^n\rBrzina:\y 90%^n\rSpecijalne moci: Ima bazooku",
  536. "\rOruzije:\y G3SG1, M4A1, Deagle\r^nEnergija:\y 150 HP^n\rPancir:\y 150 AP^n\rBrzina:\y 200%^n\rSpecijalne moci: Ima 60 dinamita, tesko vidljiv",
  537. "\rOruzije:\y G3SG1, USP\r^nEnergija:\y 120 HP^n\rPancir:\y 100 AP^n\rBrzina:\y 140%^n\rSpecijalne moci: 1/3 sa USP-om,1/2 sa nozem",
  538. "\rOruzije:\y M4A1, MP5, Deagle, Shield\r^nEnergija:\y 200 HP^n\rPancir:\y 200 AP^n\rBrzina:\y 200%^n\rSpecijalne moci: \yOtpoarn na mine rakete i dinamite",
  539. "\rOruzije:\y M4A1\r^nEnergija:\y 120 HP^n\rPancir:\y 120 AP^n\rBrzina:\y 90%^n\rSpecijalne moci: Ima 1/6 sa M4A1",
  540. "\rOruzije:\y MP5, P228\r^nEnergija:\y 150 HP^n\rPancir:\y 150 AP^n\rBrzina:\y 200%^n\rSpecijalne moci: Moze se samo u glavu ubiti",
  541. "\rOruzije:\y AK47, USP\r^nEnergija:\y 120 HP^n\rPancir:\y 100 AP^n\rBrzina:\y 140%^n\rSpecijalne moci: ima 1/20AK47",
  542. "\rOruzije:\y AWP\r^nEnergija:\y 200 HP^n\rPancir:\y 200 AP^n\rBrzina:\y 200%^n\rSpecijalne moci: \yIma 1/2 sa AWP",
  543. "\rOruzije:\y AK47, USP\r^nEnergija:\y 120 HP^n\rPancir:\y 100 AP^n\rBrzina:\y 140%^n\rSpecijalne moci: ima 4rakete i ak47,m4a1,mp5",
  544. "\rOruzije:\y AWP\r^nEnergija:\y 200 HP^n\rPancir:\y 200 AP^n\rBrzina:\y 200%^n\rSpecijalne moci: \yIma necujne korake i smanjenu gravitaciju",
  545. "\rOruzije:\y DEAGLE\r^nEnergija:\y 200 HP^n\rPancir:\y 200 AP^n\rBrzina:\y 200%^n\rSpecijalne moci: \ySlabije vidljiv od obicnog marinca i ima necujne korake i ima instant nozem(desniklik)",
  546. "\rOruzije:\y AK47\r^nEnergija:\y 200 HP^n\rPancir:\y 200 AP^n\rBrzina:\y 200%^n\rSpecijalne moci: \yIma 3dinamita "
  547.  
  548. };
  549. new const vrsta_klase[][] = {
  550. "Nema", // 0
  551. "", // 1
  552. "", // 2
  553. "", // 3
  554. "", // 4
  555. "", // 5
  556. "", // 6
  557. "", // 7
  558. "", // 8
  559. "", // 9
  560. "\y(\dBesplatna Klasa\y)", // 10
  561. "", // 11
  562. "", // 12
  563. "", // 13
  564. "", // 14
  565. "", // 15
  566. "", // 16
  567. "", // 17
  568. "", // 18
  569. "", // 19
  570. "", // 20
  571. "\y(\dPremium Klasa\y)", // 21
  572. "\y(\dPremium Klasa\y)", // 22
  573. "", // 23
  574. "", // 24
  575. "", // 25
  576. "", // 26
  577. "\y(\dBesplatna Klasa\y)", // 27
  578. "", // 28
  579. "\y(\dPremium Klasa\y)", // 29
  580. "", // 30
  581. "", // 31
  582. "", // 32
  583. "\y(\dPremium Klasa\y)", // 33
  584. "\y(\dBesplatna Klasa\y)", // 34
  585. "\y(\dBesplatna Klasa\y)", // 35
  586. "", // 36
  587. "\y(\dBesplatna Klasa\y)", // 37
  588. "\y(\dPremium Klasa\y)" , // 38
  589. "", // 39
  590. "", // 40
  591. "\y(\dPremium Klasa\y)", // 41
  592. "\y(\dPremium Klasa\y)", // 42
  593. "", // 43
  594. "\y(\dPremium Klasa\y)", // 44
  595. "", // 45
  596. "", // 46
  597. "", // 47
  598. "\y(\dBesplatna Klasa\y)" // 48
  599. };
  600. new const poseban_naziv_klase[][] = {
  601. "Nema", // 0
  602. "\ySnajperista", // 1
  603. "\yMarinac", // 2
  604. "\yPro-Strelac", // 3
  605. "\yMitraljezac", // 4
  606. "\yDoktor", // 5
  607. "\yVatrena podrska", // 6
  608. "\yMiner", // 7
  609. "\yDemolitions", // 8
  610. "\yRusher", // 9
  611. "\yRambo", // 10
  612. "\yRevolveras", // 11
  613. "\yBombarder", // 12
  614. "\yStrelac", // 13
  615. "\yInformator", // 14
  616. "\yPukovnik", // 15
  617. "\yPobunjenik", // 16
  618. "\ySerijski ubica", // 17
  619. "\yDesetar", // 18
  620. "\yVodnik", // 19
  621. "\yKamikaza", // 20
  622. "\yAssassin", // 21
  623. "\yMajor", // 22
  624. "\yKapetan", // 23
  625. "\yPotpukovnik", // 24
  626. "\yMarsal", // 25
  627. "\yNemacki strelac", // 26
  628. "\yArmageddon", // 27
  629. "\ySamuraj", // 28
  630. "\yRatko Mladic", // 29
  631. "\ySWAT", // 30
  632. "\yPartizan", // 31
  633. "\yGunner", // 32
  634. "\yKomandos", // 33
  635. "\yJSO", // 34
  636. "\yPro Miner", // 35
  637. "\yPlacenik", // 36
  638. "\yBazooka Soldier", // 37
  639. "\ySoap", // 38
  640. "\yPrice", // 39
  641. "\rT-32", // 40
  642. "\yMaster", // 41
  643. "\yPTJ", // 42
  644. "\rSRBIN", // 43
  645. "\rHunter", // 44
  646. "\rSAJ", // 45
  647. "\rMatrix", // 46
  648. "\rUltraMarinac", // 47
  649. "\rPjandura" // 48
  650. };
  651. new broj_medkit_igraca[33];
  652. new broj_raketa_igraca[33];
  653. new Float:prethodna_raketa_igraca[33];
  654. new broj_min_igraca[33];
  655. new broj_dinamita_igraca[33];
  656. new broj_skokova_igraca[33];
  657.  
  658. new bool:freezetime = true;
  659. new bool:ima_bazuku[33];
  660. new bool:reloading[33];
  661. new bool:lansirano[33][33];
  662. new bool:promeni_tim[33];
  663. new Float:idle[33];
  664. new shop_kill
  665. new iskustvo_levelu[33] = 100
  666. new naziv_igraca[33][64];
  667. new daj_igracu[33]
  668. new bool:dobio_predmet[33]
  669. public plugin_init()
  670. {
  671. register_plugin(PLUGIN, VERSION, AUTHOR);
  672.  
  673. g_vault = nvault_open("CodMod");
  674.  
  675. register_think("MedKit","MedKitThink");
  676.  
  677. RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  678. RegisterHam(Ham_Spawn, "player", "Pocetak", 1);
  679. RegisterHam(Ham_Touch, "armoury_entity", "DodirOruzija");
  680. RegisterHam(Ham_Touch, "weapon_shield", "DodirOruzija");
  681. RegisterHam(Ham_Touch, "weaponbox", "DodirOruzija");
  682. RegisterHam(Ham_Weapon_WeaponIdle, "weapon_p228", "Weapon_WeaponIdle");
  683. RegisterHam(Ham_Item_Deploy, "weapon_p228", "Weapon_Deploy", 1);
  684.  
  685. register_forward(FM_CmdStart, "CmdStart");
  686. register_forward(FM_EmitSound, "EmitSound");
  687. register_forward(FM_SetModel, "SetModel");
  688. register_forward(FM_Touch, "fw_Touch")
  689. register_forward(FM_TraceLine,"fw_traceline");
  690.  
  691. register_cvar("cod_winxp", "10");
  692. register_cvar("cod_hsexp", "5");
  693.  
  694. register_logevent("PocetakRunde", 2, "1=Round_Start");
  695. register_event("DeathMsg", "Death", "ade");
  696. register_event("Damage", "Damage", "b", "2!=0");
  697. register_event("CurWeapon","CurWeapon","be", "1=1");
  698. register_event("HLTV", "novaRunda", "a", "1=0", "2=0");
  699. register_event("SendAudio", "PobedaTerro" , "a", "2&%!MRAD_terwin");
  700. register_event("SendAudio", "PobedaCT", "a", "2&%!MRAD_ctwin");
  701. //register_event("ResetHUD", "ResetHUD", "abe");
  702.  
  703. register_touch("Rocket", "*" , "DodirRakete");
  704. register_touch("Mine", "player", "DodirMine");
  705.  
  706. cvar_xp_za_ubistvo = register_cvar("cod_killxp", "90");
  707. iskustvo_za_hs = get_cvar_num("cod_hsexp");
  708. iskustvo_za_pobedu = get_cvar_num("cod_winxp")
  709. register_concmd("cod_lvl", "cmd_setlvl", ADMIN_LEVEL_H, "<name> <level>");
  710. register_concmd("cod_gb", "cmd_setgb", ADMIN_RCON, "<name> <gb>");
  711. register_concmd("cod_dajpredmet", "cmd_setpredmet", ADMIN_KICK, "<nick> <item>");
  712. register_concmd("deposit","ubaci")
  713. register_concmd("withdraw","podigni")
  714.  
  715. register_clcmd("say /klasa", "IzaberiKlase");
  716. register_clcmd("say /menu", "Menuza");
  717. register_clcmd("say /m", "Menuza");
  718. register_clcmd("say menu", "Menuza");
  719. register_clcmd("say /banka", "Banka");
  720. register_clcmd("say /bank", "Banka");
  721. register_clcmd("say /opis", "OpisKlase");
  722. register_clcmd("say /predmet", "OpisPredmeta");
  723. register_clcmd("say /item", "OpisPredmeta");
  724. register_clcmd("say /drop", "IzbaciPredmet");
  725. register_clcmd("say /izbaci", "IzbaciPredmet");
  726. register_clcmd("say /reset", "KomandaResetujPoene");
  727. register_clcmd("say /re", "KomandaResetujPoene");
  728. register_clcmd("say /shop", "Shope");
  729. register_clcmd("say /pomoc", "Pomoc");
  730. register_clcmd("say /prodaj", "Prodaj");
  731. register_clcmd("say /komande","Komande")
  732. register_clcmd("say /daj", "DajNekomPredmet");
  733. register_clcmd("say /help", "Pomoc");
  734. register_clcmd("say /def","KupiDefuse")
  735. register_clcmd("say /naruci","kupilevel")
  736. register_clcmd("fullupdate", "BlokirajKomande");
  737. register_clcmd("say /toplvl", "levelTop15")
  738. register_clcmd("say_team /toplvl", "levelTop15")
  739. register_clcmd("say /lvlrank", "levelPrikaziRank")
  740. register_clcmd("say_team /lvlrank", "levelPrikaziRank")
  741. shop_kill = register_cvar("cod_killgb", "1")
  742.  
  743. g_msg_screenfade = get_user_msgid("ScreenFade");
  744. SyncHudObj = CreateHudSyncObj();
  745. SyncHudObj2 = CreateHudSyncObj();
  746. SyncHudObj3 = CreateHudSyncObj();
  747.  
  748. register_menucmd(register_menuid("Klasa:"), 1023, "OpisKlase");
  749. iskustvo_za_mnogopara = 25;
  750.  
  751. }
  752. public Banka(id)
  753. {
  754. new naslove[60]
  755. format(naslove, 59, "\yGB Banka(\r%i\y):", shop_poeni_igraca[id]);
  756. new menu = menu_create(naslove, "BankaHandler")
  757. menu_additem(menu,"\yStavi GB poene u banku")
  758. menu_additem(menu,"\yPodigni GB poene iz banke")
  759. menu_additem(menu,"\yVidi stanje na racunu")
  760. menu_setprop(menu, MPROP_EXITNAME, "\rIzadji");
  761. menu_display(id, menu);
  762. }
  763. public Komande(id)
  764. show_menu(id, 1023, "\r/reset\y -Ponovo podeli poene^n\r/shop\y - Otvari Shop^n\r/klasa\y - Izaberi klasu^n\r/drop\y - Izbaci predmet^n\r/predmet\y - Opis tvog predmeta^n\r/opis\y -Opis svih klasa^n\rna +use \y- Koristi specijalne moci klase^n\rna (+radio2) \y- Koristi killstreak^n\r/rs\y resetuje skor^n\r/pomoc\y Ukljucuje/Iskljucuje pomoc u chatu^n\r/def\y Kupuje def kit", -1, "Komande");
  765.  
  766. public BankaHandler(id, menu, item)
  767. {
  768. if(item == MENU_EXIT)
  769. {
  770. menu_destroy(menu);
  771. return PLUGIN_CONTINUE;
  772. }
  773. switch(item)
  774. {
  775. case MENU_EXIT:
  776. {
  777. menu_destroy(menu)
  778. }
  779. case 0:
  780. {
  781. client_cmd(id,"messagemode deposit")
  782. ColorChat(id,GREEN,"^3[COD:MW4]^4 Ukucaj broj GB Poena koji hoces da stavis u banku")
  783. }
  784. case 1:
  785. {
  786. client_cmd(id,"messagemode withdraw")
  787. ColorChat(id,GREEN,"^3[COD:MW4]^4 Ukucaj broj GB Poena koji hoces da podignes iz banke")
  788. }
  789. case 2:
  790. {
  791. new broj_poena[32],pid[32]
  792. get_user_authid(id,pid,31)
  793. nvault_get(g_vault,pid,broj_poena,31)
  794. ColorChat(id,GREEN,"^3[COD:MW4]^4 Imas %s GB Poena poena na racunu",broj_poena)
  795. }
  796. }
  797. return PLUGIN_CONTINUE
  798. }
  799.  
  800. public ubaci(id)
  801. {
  802. new suma[32],suma2, broj_poena
  803. read_argv(1,suma,31)
  804. suma2 = str_to_num(suma)
  805. broj_poena = shop_poeni_igraca[id]
  806. if(suma2<0) return
  807. if(suma2>broj_poena)
  808. suma2=broj_poena
  809.  
  810. new pid[32], bpoeni[32],bpoeni2, xxx[32]
  811. get_user_authid(id,pid,31)
  812. nvault_get(g_vault,pid,bpoeni,31)
  813. bpoeni2 = str_to_num(bpoeni)
  814. num_to_str(suma2+bpoeni2,xxx,31)
  815. nvault_set(g_vault,pid,xxx)
  816. shop_poeni_igraca[id] = broj_poena - suma2
  817. ColorChat(id,GREEN,"^3[COD:MW4]^4 Uspesno si stavio %i GB poena u banku!",suma2)
  818. }
  819. public podigni(id)
  820. {
  821. new suma[32],suma2, broj_poena,broj_bpoena[32],broj_bpoena2,pid[32],xxx[32]
  822. read_argv(1,suma,31)
  823. suma2 = str_to_num(suma)
  824. broj_poena = shop_poeni_igraca[id]
  825. get_user_authid(id,pid,31)
  826. nvault_get(g_vault,pid,broj_bpoena,31)
  827. broj_bpoena2 = str_to_num(broj_bpoena)
  828. if(suma2<0)
  829. return
  830. if(suma2>broj_bpoena2)
  831. suma2 = broj_bpoena2
  832.  
  833. shop_poeni_igraca[id] = broj_poena + suma2
  834. num_to_str(broj_bpoena2-suma2,xxx,31)
  835. nvault_set(g_vault,pid,xxx)
  836. ColorChat(id,GREEN,"^3[COD:MW4]^4 Podigao si %i GB Poena!",suma2)
  837. }
  838. public Prodaj(id)
  839. {
  840. //client_cmd(id, "spk MW4/select"); izbrisite // ako hocete da se cuje ono select kao u meniju
  841.  
  842. if(!informacije_predmet_igraca[id][0])
  843. {
  844. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Nemate Predmet.");
  845. return PLUGIN_CONTINUE;
  846. }
  847. else
  848. {
  849. new pare_igraca;
  850. pare_igraca = cs_get_user_money(id);
  851. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Prodao si ^3%s^1 za ^3$2500", naziv_predmeta[informacije_predmet_igraca[id][0]]);
  852. Obrisipredmet(id);
  853. cs_set_user_money(id, pare_igraca+2500);
  854. }
  855. return PLUGIN_CONTINUE;
  856. }
  857. public DajNekomPredmet(id)
  858. {
  859. new menu = menu_create("Izaberi Igraca", "DajNekomPredmet_Handle");
  860. new cb = menu_makecallback("DajNekomPredmet_Callback");
  861. new broj_predmeta;
  862. for(new i=0; i<=32; i++)
  863. {
  864. if(!is_user_connected(i))
  865. continue;
  866. daj_igracu[broj_predmeta++] = i;
  867. menu_additem(menu, naziv_igraca[i], "0", 0, cb);
  868. }
  869. menu_display(id, menu);
  870. }
  871.  
  872. public DajNekomPredmet_Handle(id, menu, item)
  873. {
  874. if(item < 1 || item > 32) return PLUGIN_CONTINUE;
  875.  
  876. if(!is_user_connected(daj_igracu[item]))
  877. {
  878. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Igrac se diskonektovao.");
  879. return PLUGIN_CONTINUE;
  880. }
  881. if(dobio_predmet[id])
  882. {
  883. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Morate sacekati sledecu rundu.");
  884. return PLUGIN_CONTINUE;
  885. }
  886. if(!informacije_predmet_igraca[id][0])
  887. {
  888. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Nemate nijedan predmet.");
  889. return PLUGIN_CONTINUE;
  890. }
  891. if(informacije_predmet_igraca[daj_igracu[item]][0])
  892. {
  893. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Ovaj igrac vec ima predmet.");
  894. return PLUGIN_CONTINUE;
  895. }
  896. if(!is_user_alive(daj_igracu[item]))
  897. {
  898. ColorChat(id, NORMAL, "^4[COD:MW4]^1 Igrac kome dajes mora biti ziv.");
  899. return PLUGIN_CONTINUE;
  900. }
  901.  
  902. dobio_predmet[daj_igracu[item]] = true;
  903. DajPredmet(daj_igracu[item], informacije_predmet_igraca[id][0]);
  904. informacije_predmet_igraca[daj_igracu[item]][1] = informacije_predmet_igraca[id][1];
  905. 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]]);
  906. 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]);
  907. Obrisipredmet(id);
  908. return PLUGIN_CONTINUE;
  909. }
  910.  
  911. public DajNekomPredmet_Callback(id, menu, item)
  912. {
  913. if(daj_igracu[item] == id)
  914. return ITEM_DISABLED;
  915. return ITEM_ENABLED;
  916. }
  917. public plugin_cfg()
  918. {
  919. server_cmd("sv_maxspeed 9999");
  920. }
  921.  
  922. public plugin_precache()
  923. {
  924. new Entity = create_entity( "info_map_parameters" );
  925.  
  926. DispatchKeyValue( Entity, "buying", "3" );
  927. DispatchSpawn( Entity );
  928.  
  929.  
  930. sprite_white = precache_model("sprites/white.spr") ;
  931. sprite_blast = precache_model("sprites/dexplo.spr");
  932. sprite_beam = precache_model("sprites/zbeam4.spr")
  933. sprite_trail = precache_model("sprites/smoke.spr");
  934. sprite_smoke = precache_model("sprites/steam1.spr");
  935.  
  936.  
  937. precache_sound("QTM_CodMod/select.wav");
  938. precache_sound("QTM_CodMod/start.wav");
  939. precache_sound("QTM_CodMod/start2.wav");
  940. precache_sound("QTM_CodMod/levelup.wav");
  941.  
  942. precache_model("models/w_medkit.mdl");
  943. precache_model("models/rpgrocket.mdl");
  944. precache_model("models/mine.mdl");
  945. precache_model("models/w_law.mdl");
  946. precache_model("models/v_law.mdl");
  947. precache_model("models/p_law.mdl");
  948. precache_model("models/s_grenade.mdl");
  949. }
  950.  
  951. public pfn_keyvalue( Entity )
  952. {
  953. new ClassName[ 20 ], Dummy[ 2 ];
  954. copy_keyvalue( ClassName, charsmax( ClassName ), Dummy, charsmax( Dummy ), Dummy, charsmax( Dummy ) );
  955.  
  956. if( equal( ClassName, "info_map_parameters" ) )
  957. {
  958. remove_entity( Entity );
  959. return PLUGIN_HANDLED ;
  960. }
  961. return PLUGIN_CONTINUE;
  962. }
  963.  
  964. public CmdStart(id, uc_handle)
  965. {
  966. if(!is_user_alive(id))
  967. return FMRES_IGNORED;
  968.  
  969. new button = get_uc(uc_handle, UC_Buttons);
  970. new flags = pev(id, pev_flags);
  971. new clip, ammo, weapon = get_user_weapon(id, clip, ammo);
  972.  
  973. if(informacije_predmet_igraca[id][0] == 11 || klasa_igraca[id] == Rambo || klasa_igraca[id] == Marinac || informacije_predmet_igraca[id][0] == 46)
  974. {
  975. new oldbutton = pev(id, pev_oldbuttons);
  976.  
  977. if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && broj_skokova_igraca[id] > 0)
  978. {
  979. broj_skokova_igraca[id]--;
  980. new Float:velocity[3];
  981. pev(id, pev_velocity,velocity);
  982. velocity[2] = random_float(265.0,285.0);
  983. set_pev(id, pev_velocity,velocity);
  984. }
  985. else if(flags & FL_ONGROUND)
  986. {
  987. broj_skokova_igraca[id] = 0;
  988. if(informacije_predmet_igraca[id][0] == 11)
  989. broj_skokova_igraca[id]++;
  990. if(klasa_igraca[id] == Rambo)
  991. broj_skokova_igraca[id]++;
  992. if(klasa_igraca[id] == Marinac)
  993. broj_skokova_igraca[id]++;
  994. if(informacije_predmet_igraca[id][0] == 46)
  995. broj_skokova_igraca[id]+=6;
  996. }
  997. }
  998.  
  999. if(button & IN_ATTACK)
  1000. {
  1001. new Float:punchangle[3];
  1002.  
  1003. if(informacije_predmet_igraca[id][0] == 20)
  1004. set_pev(id, pev_punchangle, punchangle);
  1005. if(informacije_predmet_igraca[id][0] == 23)
  1006. {
  1007. set_pev(id, pev_punchangle, punchangle);
  1008. for(new i=0; i<3;i++)
  1009. punchangle[i]*=0.9;
  1010. set_pev(id, pev_punchangle, punchangle);
  1011. }
  1012. }
  1013.  
  1014. 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)
  1015. {
  1016. informacije_predmet_igraca[id][1] = floatround(get_gametime());
  1017. new Float:velocity[3];
  1018. VelocityByAim(id, 700, velocity);
  1019. velocity[2] = random_float(265.0,285.0);
  1020. set_pev(id, pev_velocity, velocity);
  1021. }
  1022. if(informacije_predmet_igraca[id][0] == 45)
  1023. {
  1024. if(button & IN_DUCK)
  1025. {
  1026. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 1)
  1027. }
  1028. else
  1029. {
  1030. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255)
  1031. }
  1032. }
  1033.  
  1034. if(weapon == 1 && ima_bazuku[id])
  1035. {
  1036. new button = get_uc(uc_handle, UC_Buttons);
  1037. new ent = find_ent_by_owner(-1, "weapon_p228", id);
  1038.  
  1039. if(button & IN_ATTACK)
  1040. {
  1041. button &= ~IN_ATTACK;
  1042. set_uc(uc_handle, UC_Buttons, button);
  1043.  
  1044. if(!rakete_igraca[id] || reloading[id] || !idle[id])
  1045. return FMRES_IGNORED;
  1046. if(idle[id] && (get_gametime()-idle[id]<=0.4))
  1047. return FMRES_IGNORED;
  1048.  
  1049. new Float:Origin[3], Float:Angle[3], Float:Velocity[3];
  1050. pev(id, pev_origin, Origin);
  1051. pev(id, pev_v_angle, Angle);
  1052. velocity_by_aim(id, 1000, Velocity);
  1053.  
  1054. Angle[0] *= -1.0
  1055.  
  1056. new ent = create_entity("info_target")
  1057. set_pev(ent, pev_classname, "rocket");
  1058. engfunc(EngFunc_SetModel, ent, "models/s_grenade.mdl");
  1059.  
  1060. set_pev(ent, pev_solid, SOLID_BBOX);
  1061. set_pev(ent, pev_movetype, MOVETYPE_TOSS);
  1062. set_pev(ent, pev_owner, id);
  1063. set_pev(ent, pev_mins, Float:{-1.0, -1.0, -1.0});
  1064. set_pev(ent, pev_maxs, Float:{1.0, 1.0, 1.0});
  1065. set_pev(ent, pev_gravity, 0.35);
  1066.  
  1067. set_pev(ent, pev_origin, Origin);
  1068. set_pev(ent, pev_velocity, Velocity);
  1069. set_pev(ent, pev_angles, Angle);
  1070.  
  1071. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  1072. write_byte(TE_BEAMFOLLOW)
  1073. write_short(ent)
  1074. write_short(sprite_trail)
  1075. write_byte(6)
  1076. write_byte(3)
  1077. write_byte(224)
  1078. write_byte(224)
  1079. write_byte(255)
  1080. write_byte(100)
  1081. message_end()
  1082.  
  1083. set_pev(id, pev_weaponanim, 7);
  1084. new entwpn = find_ent_by_owner(-1, "weapon_p228", id);
  1085. if(entwpn)
  1086. set_pdata_float(entwpn, 48, 1.5+3.0, 4);
  1087. set_pdata_float(id, 83, 1.5, 4)
  1088.  
  1089. reloading[id] = true;
  1090. emit_sound(id, CHAN_WEAPON, "weapons/law_shoot1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
  1091.  
  1092. if(task_exists(id+3512))
  1093. remove_task(id+3512);
  1094.  
  1095. set_task(1.5, "task_launcher_reload", id+3512);
  1096. rakete_igraca[id]--;
  1097. }
  1098. else if(button & IN_RELOAD)
  1099. {
  1100. button &= ~IN_RELOAD;
  1101. set_uc(uc_handle, UC_Buttons, button);
  1102.  
  1103. set_pev(id, pev_weaponanim, 0);
  1104. set_pdata_float(id, 83, 0.5, 4);
  1105. if(ent)
  1106. set_pdata_float(ent, 48, 0.5+3.0, 4);
  1107. }
  1108.  
  1109. if(ent)
  1110. {
  1111. cs_set_weapon_ammo(ent, -1);
  1112. cs_set_user_bpammo(id, 1, rakete_igraca[id]);
  1113. }
  1114. }
  1115. else if(weapon != 1 && ima_bazuku[id])
  1116. idle[id] = 0.0;
  1117.  
  1118. return FMRES_IGNORED;
  1119. }
  1120. public cmd_setlvl(id, level, cid)
  1121. {
  1122. if(!cmd_access(id,level,cid,3))
  1123. return PLUGIN_HANDLED;
  1124.  
  1125. new arg1[33];
  1126. new arg2[6];
  1127. read_argv(1, arg1, 32);
  1128. read_argv(2, arg2, 5);
  1129. new player = cmd_target(id, arg1, 0);
  1130. if(!is_user_connected(player))
  1131. return PLUGIN_HANDLED;
  1132. new value = str_to_num(arg2);
  1133.  
  1134. iskustvo_igraca[player] = ((value * value) * 7)
  1135. level_igraca[player] = 0;
  1136. ProveriNivo(player);
  1137.  
  1138. return PLUGIN_CONTINUE;
  1139. }
  1140. public cmd_setgb(id, gb, cid)
  1141. {
  1142. if(!cmd_access(id,gb,cid,3))
  1143. return PLUGIN_HANDLED;
  1144. new arg1[33];
  1145. new arg2[6];
  1146. read_argv(1, arg1, 32);
  1147. read_argv(2, arg2, 5);
  1148. new player = cmd_target(id, arg1, 0);
  1149. if(!is_user_connected(player))
  1150. return PLUGIN_HANDLED;
  1151. shop_poeni_igraca[player] = 0;
  1152. return PLUGIN_HANDLED;
  1153. }
  1154. public Menuza(id)
  1155. {
  1156. new menu = menu_create("Menu:", "Menuza_handle");
  1157. menu_additem(menu, "\rKlasa\y(Otvara Biranje Klase)");
  1158. menu_additem(menu, "\rOpis Klase\y(Otvara Opis Klase)");
  1159. menu_additem(menu, "\rShop\y(Otvara Biranje Shopa)");
  1160. menu_additem(menu, "\dBanka\y(\rOtvara GB Banku\y)");
  1161. menu_display(id, menu);
  1162. }
  1163. public Menuza_handle(id, menu, item)
  1164. {
  1165. //client_cmd(id, "spk QTM_CodMod/select");
  1166.  
  1167. if(item == MENU_EXIT)
  1168. {
  1169. menu_destroy(menu);
  1170. return PLUGIN_CONTINUE;
  1171. }
  1172. switch(item)
  1173. {
  1174. case 0:
  1175. {
  1176. IzaberiKlase(id)
  1177. }
  1178. case 1:
  1179. {
  1180. OpisKlase(id)
  1181. }
  1182. case 2:
  1183. {
  1184. Shope(id)
  1185. }
  1186. case 3:
  1187. {
  1188. Banka(id)
  1189. }
  1190. }
  1191. return PLUGIN_CONTINUE;
  1192. }
  1193. public Shope(id)
  1194. {
  1195. new menu = menu_create("Shop:", "AAAbp");
  1196. menu_additem(menu, "\yObican Shop");
  1197. menu_additem(menu, "\yGB Shop");
  1198. menu_additem(menu, "\rPremium Shop")
  1199. menu_display(id, menu);
  1200. }
  1201. public AAAbp(id, menu, item)
  1202. {
  1203. client_cmd(id, "spk QTM_CodMod/select");
  1204.  
  1205. if(item == MENU_EXIT)
  1206. {
  1207. menu_destroy(menu);
  1208. return PLUGIN_CONTINUE;
  1209. }
  1210. switch(item)
  1211. {
  1212. case 0:
  1213. {
  1214. Shop(id)
  1215. }
  1216. case 1:
  1217. {
  1218. Predmeti(id)
  1219. }
  1220. case 2:
  1221. {
  1222. Premium(id)
  1223. }
  1224. }
  1225. return PLUGIN_CONTINUE;
  1226. }
  1227. public Shop(id)
  1228. {
  1229. new naslovev[60]
  1230. format(naslovev, 59, "\yShop(\r%i\y):", cs_get_user_money(id));
  1231. new menu = menu_create(naslovev, "Shop_Handle");
  1232. menu_additem(menu, "\yMala Apoteka \r[Dodaje 50 HP] \yCena: \r3000$");
  1233. menu_additem(menu, "\yVelika Apoteka \r[Dodaje 100 HP] \yCena: \r5000$");
  1234. menu_additem(menu, "\yRedBull \r[Veci Skok + Veca Brzina] \yCena: \r7500$");
  1235. menu_additem(menu, "\yLotto \r[Tiket za loto] \yCena: \r2000$");
  1236. menu_additem(menu, "\yMali Exe \r[Dodaje od 50 do 500 XP-a] \yCena: \r5000$");
  1237. menu_additem(menu, "\yVeliki Exp \r[Dodaje od 600 do 1200 XP-a] \yCena: \r10000$");
  1238. menu_additem(menu, "\ySlucajni Predmet \r[Predmet] \yCena: \r3000$");
  1239. menu_additem(menu, "\yMine \r[Dobijate 2 Mine] \yCena: \r10000$");
  1240. menu_additem(menu, "\yRakete \r[Dobijate 2 Rakete] \yCena: \r10000$");
  1241. menu_additem(menu, "\yHE \r[Dobijate HE] \yCena: \r1000$");
  1242. menu_additem(menu, "\yDinamiti \r[Dobijate 2 Dinamita] \yCena: \r10000$");
  1243. menu_additem(menu, "\yDefuse Kit \r[Defuse Kit za bombu] \yCena: \r200$");
  1244. menu_display(id, menu);
  1245. }
  1246. public Shop_Handle(id, menu, item)
  1247. {
  1248. client_cmd(id, "spk QTM_CodMod/select");
  1249.  
  1250. if(item == MENU_EXIT)
  1251. {
  1252. menu_destroy(menu);
  1253. return PLUGIN_CONTINUE;
  1254. }
  1255. menu_display(id, menu);
  1256. new pare_igraca = cs_get_user_money(id);
  1257. new hp = get_user_health(id);
  1258. switch(item)
  1259. {
  1260. case 0:
  1261. {
  1262. new cena = 3000;
  1263. if (pare_igraca<cena)
  1264. {
  1265. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Nemas dovoljno para.");
  1266. return PLUGIN_CONTINUE;
  1267. }
  1268. if(hp >= maximalna_energija_igraca[id] || klasa_igraca[id] == Assassin)
  1269. {
  1270. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Vec imate maximalnu energiju.");
  1271. return PLUGIN_CONTINUE;
  1272. }
  1273. new ammount=50;
  1274. new nova_energija = (hp+ammount<maximalna_energija_igraca[id])? hp+ammount: maximalna_energija_igraca[id];
  1275. set_user_health(id, nova_energija);
  1276. ColorChat(id,GREEN,"[COD MW4 Shop] ^1kupio si ^3Aspirin");
  1277. cs_set_user_money(id, pare_igraca-cena);
  1278. }
  1279. case 1:
  1280. {
  1281. new cena = 5000;
  1282. if (pare_igraca<cena)
  1283. {
  1284. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Nemas dovoljno para.");
  1285. return PLUGIN_CONTINUE;
  1286. }
  1287. if(hp >= maximalna_energija_igraca[id] || klasa_igraca[id] == Assassin)
  1288. {
  1289. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Vec imate maximalnu energiju.");
  1290. return PLUGIN_CONTINUE;
  1291. }
  1292. new ammount=100;
  1293. new nova_energija = (hp+ammount<maximalna_energija_igraca[id])? hp+ammount: maximalna_energija_igraca[id];
  1294. set_user_health(id, nova_energija);
  1295. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Kupio si^3 Morfijum");
  1296. cs_set_user_money(id, pare_igraca-cena);
  1297. }
  1298. case 2:
  1299. {
  1300. new cena = 7500;
  1301. if (pare_igraca<cena)
  1302. {
  1303. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Nemas dovoljno para.");
  1304. return PLUGIN_CONTINUE;
  1305. }
  1306. set_user_gravity(id,get_user_gravity(id) - 0.3);
  1307. set_user_maxspeed(id,get_user_maxspeed(id) + 10.0);
  1308. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Kupio si^3 RedBull");
  1309. cs_set_user_money(id, pare_igraca-cena)
  1310. }
  1311. case 3:
  1312. {
  1313. new cena = 2000;
  1314. if (pare_igraca<cena)
  1315. {
  1316. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Nemas dovoljno para.");
  1317. return PLUGIN_CONTINUE;
  1318. }
  1319. cs_set_user_money(id, pare_igraca-cena);
  1320. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Kupio si tiket za Loto");
  1321. ColorChat(id,GREEN,"[COD MW4 Shop]^1Ucitavam brojeve...");
  1322.  
  1323. new rand = random_num(0,13);
  1324. switch(rand)
  1325. {
  1326. case 0:
  1327. {
  1328. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Dobio si^3 10$^1!")
  1329. cs_set_user_money(id, pare_igraca + 10)
  1330. }
  1331. case 1:
  1332. {
  1333. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Dobio si^3 Redbull^1!")
  1334. set_user_gravity(id,get_user_gravity(id) - 0.3);
  1335. set_user_maxspeed(id,get_user_maxspeed(id) + 10.0);
  1336. }
  1337. case 2:
  1338. {
  1339. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Nazalost nisi nista dobio!")
  1340. }
  1341. case 3:
  1342. {
  1343. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Dobio si^3 300$^1!")
  1344. cs_set_user_money(id, pare_igraca + 300)
  1345. }
  1346. case 4:
  1347. {
  1348. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Dobio si^3 1000$^1!")
  1349. cs_set_user_money(id, pare_igraca + 1000)
  1350. }
  1351. case 5:
  1352. {
  1353. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Nazalost nisi nista dobio!")
  1354. }
  1355. case 6:
  1356. {
  1357. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Nazalost nisi nista dobio!")
  1358. }
  1359. case 7:
  1360. {
  1361. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Izgubio si^3 16000$^1!")
  1362. cs_set_user_money(id, pare_igraca - 16000)
  1363. }
  1364. case 8:
  1365. {
  1366. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Nazalost nisi nista dobio!")
  1367. }
  1368. case 9:
  1369. {
  1370. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Dobio si^3 1000 EXP ^1!")
  1371. iskustvo_igraca[id] += iskustvo_za_mnogopara;
  1372. }
  1373. case 10:
  1374. {
  1375. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Dobio si^3 500 EXP^1!")
  1376. iskustvo_igraca[id] += 500;
  1377. }
  1378. case 11:
  1379. {
  1380. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Nazalost nisi nista dobio!")
  1381. }
  1382. case 12:
  1383. {
  1384. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Dobio si^3 100 EXP^1 !")
  1385. iskustvo_igraca[id] += 100;
  1386. }
  1387. case 13:
  1388. {
  1389. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  1390. }
  1391. }
  1392. ProveriNivo(id);
  1393. return PLUGIN_CONTINUE;
  1394. }
  1395. case 4:
  1396. {
  1397. new cena = 5000;
  1398. if (pare_igraca<cena)
  1399. {
  1400. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Nemas dovoljno para.");
  1401. return PLUGIN_CONTINUE;
  1402. }
  1403. new exp = random_num(50,500)
  1404. iskustvo_igraca[id] += exp;
  1405. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Dobio si ^3 %i ^1iskustva", exp);
  1406. cs_set_user_money(id, pare_igraca-cena)
  1407. ProveriNivo(id);
  1408. }
  1409. case 5:
  1410. {
  1411. new cena = 10000;
  1412. if (pare_igraca<cena)
  1413. {
  1414. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Nemas dovoljno para.");
  1415. return PLUGIN_CONTINUE;
  1416. }
  1417. new exp = random_num(600,1200)
  1418. iskustvo_igraca[id] += exp;
  1419. ColorChat(id,GREEN,"[COD MW4 Shop] ^1Dobio si ^3 %i ^1iskustva", exp);
  1420. cs_set_user_money(id, pare_igraca-cena)
  1421. ProveriNivo(id);
  1422. }
  1423. case 6:
  1424. {
  1425. new cena = 3000;
  1426. if (pare_igraca<cena)
  1427. {
  1428. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno para!");
  1429. return PLUGIN_CONTINUE;
  1430. }
  1431. cs_set_user_money(id, pare_igraca-cena)
  1432. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  1433. }
  1434. case 7:
  1435. {
  1436. new cena = 10000
  1437. if (pare_igraca<cena)
  1438. {
  1439. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno para!");
  1440. return PLUGIN_CONTINUE;
  1441. }
  1442. broj_min_igraca[id] +=2;
  1443. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Kupio si^3 2 ^1mine");
  1444. cs_set_user_money(id, pare_igraca-cena)
  1445. }
  1446. case 8:
  1447. {
  1448. new cena = 10000
  1449. if (pare_igraca<cena)
  1450. {
  1451. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno para!");
  1452. return PLUGIN_CONTINUE;
  1453. }
  1454. broj_raketa_igraca[id] +=2;
  1455. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Kupio si^3 2 ^1rakete");
  1456. cs_set_user_money(id, pare_igraca-cena)
  1457. }
  1458. case 9:
  1459. {
  1460. new cena = 1000
  1461. if (pare_igraca<cena)
  1462. {
  1463. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno para!");
  1464. return PLUGIN_CONTINUE;
  1465. }
  1466. give_item(id ,"weapon_hegrenade");
  1467. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Kupio si^3 1 ^1he");
  1468. cs_set_user_money(id, pare_igraca-cena)
  1469. }
  1470. case 10:
  1471. {
  1472. new cena = 10000
  1473. if (pare_igraca<cena)
  1474. {
  1475. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno para!");
  1476. return PLUGIN_CONTINUE;
  1477. }
  1478. broj_dinamita_igraca[id] +=2;
  1479. ColorChat(id,GREEN,"[COD MW4 Shop]^1 Kupio si^3 2 ^1dinamita");
  1480. cs_set_user_money(id, pare_igraca-cena)
  1481. }
  1482. case 11:
  1483. {
  1484. if(get_user_team(id) != 2)
  1485. {
  1486. ColorChat(id, NORMAL, "^3[COD MW4 Shop]^4 Samo CT tim moze da kupi def");
  1487. return PLUGIN_CONTINUE;
  1488. }
  1489. else if(pare_igraca < 200)
  1490. {
  1491. ColorChat(id, NORMAL, "^3[COD MW4 Shop]^4 Nemate dovoljno para");
  1492. ColorChat(id, NORMAL, "^3[COD MW4 Shop]^4 Imate^3 %i/ 200", pare_igraca);
  1493. return PLUGIN_CONTINUE;
  1494. }
  1495. else if(cs_get_user_defuse(id) == 1)
  1496. {
  1497. ColorChat(id, NORMAL, "^3[COD MW4 Shop]^4 Vec imate defuse kit");
  1498. return PLUGIN_CONTINUE;
  1499. }
  1500. cs_set_user_money(id, pare_igraca-200);
  1501. cs_set_user_defuse(id, 1);
  1502.  
  1503. return PLUGIN_CONTINUE;
  1504. }
  1505. }
  1506. return PLUGIN_CONTINUE;
  1507. }
  1508. public Predmeti(id)
  1509. {
  1510. new naslow[60]
  1511. format(naslow, 59, "\yGB Shop(\r%i\y):", shop_poeni_igraca[id]);
  1512. new menu = menu_create(naslow, "Predmeti_Handle");
  1513. menu_additem(menu, "\dSwat Stit \y[\rPredmet\y] \dCena: \y200 GB"); //Hvala Razor za ovo \d
  1514. menu_additem(menu, "\dAWP Master \y[\rPredmet\y] \dCena: \y200 GB"); //Hvala Razor za ovo \d
  1515. menu_additem(menu, "\dNoz Marinca \y[\rPredmet\y] \dCena: \y175 GB"); //Hvala Razor za ovo \d
  1516. menu_additem(menu, "\dSet Stuntera \y[\rPredmet\y] \dCena: \y175 GB"); //Hvala Razor za ovo \d
  1517. menu_additem(menu, "\dHE Expert \y[\rPredmet\y] \dCena: \y145 GB"); //Hvala Razor za ovo \d
  1518. menu_additem(menu, "\dM4 Swat \y[\rPredmet\y] \dCena: \y145 GB"); //Hvala Razor za ovo \d
  1519. menu_additem(menu, "\dDeagle Master \y[\rPredmet\y] \dCena: \y145 GB"); //Hvala Razor za ovo \d
  1520. menu_additem(menu, "\dM4A1 AIM \y[\rPredmet\y] \dCena: \y145 GB"); //Hvala Razor za ovo \d
  1521. menu_additem(menu, "\dAK47 AIM \y[\rPredmet\y] \dCena: \y145 GB"); //Hvala Razor za ovo \d
  1522. menu_display(id, menu);
  1523. }
  1524. public Predmeti_Handle(id, menu, item)
  1525. {
  1526. client_cmd(id, "spk QTM_CodMod/select");
  1527.  
  1528. if(item == MENU_EXIT)
  1529. {
  1530. menu_destroy(menu);
  1531. return PLUGIN_CONTINUE;
  1532. }
  1533. switch(item)
  1534. {
  1535. case 0:
  1536. {
  1537. if(shop_poeni_igraca[id]<200)
  1538. {
  1539. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno ^4GB poena!");
  1540. return PLUGIN_HANDLED;
  1541. }
  1542. shop_poeni_igraca[id]-=200
  1543. DajPredmet(id, 24)
  1544. }
  1545. case 1:
  1546. {
  1547. if(shop_poeni_igraca[id]<200)
  1548. {
  1549. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno ^4GB poena!");
  1550. return PLUGIN_HANDLED;
  1551. }
  1552. shop_poeni_igraca[id]-=200
  1553. DajPredmet(id, 13)
  1554. }
  1555. case 2:
  1556. {
  1557. if(shop_poeni_igraca[id]<175)
  1558. {
  1559. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno ^4GB poena!");
  1560. return PLUGIN_HANDLED;
  1561. }
  1562. shop_poeni_igraca[id]-=175
  1563. DajPredmet(id, 8)
  1564. }
  1565. case 3:
  1566. {
  1567. if(shop_poeni_igraca[id]<175)
  1568. {
  1569. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno ^4GB poena!");
  1570. return PLUGIN_HANDLED;
  1571. }
  1572. shop_poeni_igraca[id]-=175
  1573. DajPredmet(id, 31)
  1574. }
  1575. case 4:
  1576. {
  1577. if(shop_poeni_igraca[id]<145)
  1578. {
  1579. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno ^4GB poena!");
  1580. return PLUGIN_HANDLED;
  1581. }
  1582. shop_poeni_igraca[id]-=145
  1583. DajPredmet(id, 10)
  1584. }
  1585. case 5:
  1586. {
  1587. if(shop_poeni_igraca[id]<145)
  1588. {
  1589. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno ^4GB poena!");
  1590. return PLUGIN_HANDLED;
  1591. }
  1592. shop_poeni_igraca[id]-=145
  1593. DajPredmet(id, 32)
  1594. }
  1595. case 6:
  1596. {
  1597. if(shop_poeni_igraca[id]<145)
  1598. {
  1599. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno ^4GB poena!");
  1600. return PLUGIN_HANDLED;
  1601. }
  1602. shop_poeni_igraca[id]-=145
  1603. DajPredmet(id, 33)
  1604. }
  1605. case 7:
  1606. {
  1607. if(shop_poeni_igraca[id]<145)
  1608. {
  1609. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno ^4GB poena!");
  1610. return PLUGIN_HANDLED;
  1611. }
  1612. shop_poeni_igraca[id]-=145
  1613. DajPredmet(id, 50)
  1614. }
  1615. case 8:
  1616. {
  1617. if(shop_poeni_igraca[id]<145)
  1618. {
  1619. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno ^4GB poena!");
  1620. return PLUGIN_HANDLED;
  1621. }
  1622. shop_poeni_igraca[id]-=145
  1623. DajPredmet(id, 51)
  1624. }
  1625. }
  1626. return PLUGIN_CONTINUE;
  1627. }
  1628. public Premium(id)
  1629. {
  1630. new naslow[60]
  1631. format(naslow, 59, "\yGB Premium(\r%i\y):", shop_poeni_igraca[id]);
  1632. new menu = menu_create(naslow, "Premium_Handle");
  1633. menu_additem(menu, "\rAssassin\y(Traje dok se nepromeni mapa)\rCena:\y2000 GB poena");
  1634. menu_additem(menu, "\rRatko Mladic\y(Traje dok se nepromeni mapa)\rCena:\y2000 GB poena");
  1635. menu_additem(menu, "\rBazooka Soldier\y(Traje dok se nepromeni mapa)\rCena:\y2000 GB poena");
  1636. menu_additem(menu, "\rPTJ\y(Traje dok se nepromeni mapa)\rCena:\y2000 GB poena");
  1637. menu_display(id, menu);
  1638. }
  1639. public Premium_Handle(id, menu, item)
  1640. {
  1641. client_cmd(id, "spk QTM_CodMod/select");
  1642.  
  1643. new name[32]
  1644. get_user_name(id, name, 31)
  1645.  
  1646. if(item == MENU_EXIT)
  1647. {
  1648. menu_destroy(menu);
  1649. return PLUGIN_CONTINUE;
  1650. }
  1651.  
  1652. switch(item)
  1653. {
  1654. case 0:
  1655. {
  1656. if(shop_poeni_igraca[id]<2000)
  1657. {
  1658. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno ^4GB poena!");
  1659. return PLUGIN_HANDLED;
  1660. }
  1661. shop_poeni_igraca[id]-=2000
  1662. set_user_flags(id, ADMIN_LEVEL_A)
  1663. ColorChat(0, RED,"[COD MW4]^4%s ^1je kupio ^4Assassin-a ^1za^3 2000 GB poena", name);
  1664. }
  1665. case 1:
  1666. {
  1667. if(shop_poeni_igraca[id]<2000)
  1668. {
  1669. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno ^4GB poena!");
  1670. return PLUGIN_HANDLED;
  1671. }
  1672. shop_poeni_igraca[id]-=2000
  1673. set_user_flags(id, ADMIN_LEVEL_B)
  1674. ColorChat(0, RED,"[COD MW4]^4%s ^1je kupio ^4Ratka Mladic-a ^1za^3 2000 GB poena", name);
  1675. }
  1676. case 2:
  1677. {
  1678. if(shop_poeni_igraca[id]<2000)
  1679. {
  1680. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno ^4GB poena!");
  1681. return PLUGIN_HANDLED;
  1682. }
  1683. shop_poeni_igraca[id]-=2000
  1684. set_user_flags(id, ADMIN_LEVEL_E)
  1685. ColorChat(0, RED,"[COD MW4]^4%s ^1je kupio ^4Bazooka Soldier-a ^1za^3 2000 GB poena", name);
  1686. }
  1687. case 3:
  1688. {
  1689. if(shop_poeni_igraca[id]<2000)
  1690. {
  1691. ColorChat(id,RED,"[COD MW4 Shop]^1 Nemas dovoljno ^4GB poena!");
  1692. return PLUGIN_HANDLED;
  1693. }
  1694. shop_poeni_igraca[id]-=2000
  1695. set_user_flags(id, ADMIN_LEVEL_H)
  1696. ColorChat(0, RED,"[COD MW4]^4%s ^1je kupio ^4PTJ ^1za^3 2000 GB poena", name);
  1697. }
  1698. }
  1699. return PLUGIN_CONTINUE;
  1700. }
  1701. public Pocetak(id)
  1702. {
  1703. if(!is_user_alive(id) || !is_user_connected(id))
  1704. return PLUGIN_CONTINUE;
  1705. dobio_predmet[id] = false
  1706. if(nova_klasa_igraca[id])
  1707. {
  1708. klasa_igraca[id] = nova_klasa_igraca[id];
  1709. nova_klasa_igraca[id] = 0;
  1710. ima_bazuku[id] = false;
  1711. rakete_igraca[id] = 0;
  1712. strip_user_weapons(id);
  1713. give_item(id, "weapon_knife");
  1714. UcitajPodatke(id, klasa_igraca[id]);
  1715. }
  1716.  
  1717. if(!klasa_igraca[id])
  1718. {
  1719. IzaberiKlase(id)
  1720. return PLUGIN_CONTINUE;
  1721. }
  1722.  
  1723. switch(klasa_igraca[id])
  1724. {
  1725. case Snajperista:
  1726. {
  1727. give_item(id, "weapon_awp");
  1728. give_item(id, "weapon_scout");
  1729. give_item(id, "weapon_deagle");
  1730. }
  1731. case Marinac:
  1732. {
  1733. give_item(id, "weapon_deagle");
  1734. }
  1735. case ProStrelac:
  1736. {
  1737. give_item(id, "weapon_m4a1");
  1738. give_item(id, "weapon_ak47");
  1739. }
  1740. case Mitraljezac:
  1741. {
  1742. give_item(id, "weapon_m249");
  1743. give_item(id, "weapon_hegrenade");
  1744. give_item(id, "weapon_flashbang");
  1745. give_item(id, "weapon_smokegrenade");
  1746. }
  1747. case Doktor:
  1748. {
  1749. give_item(id, "weapon_ump45")
  1750. broj_medkit_igraca[id] = 4
  1751. }
  1752. case VatrenaPodrska:
  1753. {
  1754. give_item(id, "weapon_mp5navy");
  1755. broj_raketa_igraca[id] = 2;
  1756. }
  1757. case Miner:
  1758. {
  1759. give_item(id, "weapon_p90");
  1760. broj_min_igraca[id] = 3
  1761. }
  1762. case Demolitions:
  1763. {
  1764. give_item(id, "weapon_aug");
  1765. give_item(id, "weapon_hegrenade");
  1766. give_item(id, "weapon_flashbang");
  1767. give_item(id, "weapon_smokegrenade");
  1768. broj_dinamita_igraca[id] = 1;
  1769. }
  1770. case Rusher:
  1771. {
  1772. give_item(id, "weapon_m3");
  1773. }
  1774. case Rambo:
  1775. {
  1776. give_item(id, "weapon_famas");
  1777. }
  1778. case Revolveras:
  1779. {
  1780. give_item(id, "weapon_elite");
  1781. broj_raketa_igraca[id] = 2;
  1782. }
  1783. case Bombarder:
  1784. {
  1785. give_item(id, "weapon_m4a1");
  1786. give_item(id, "weapon_deagle");
  1787. give_item(id, "weapon_hegrenade");
  1788. cs_set_user_bpammo(id, CSW_HEGRENADE, 15);
  1789. }
  1790. case Strelac:
  1791. {
  1792. give_item(id, "weapon_xm1014");
  1793. give_item(id, "weapon_elite");
  1794. }
  1795. case Informator:
  1796. {
  1797. give_item(id, "weapon_mp5navy");
  1798. }
  1799. case Pukovnik:
  1800. {
  1801. give_item(id, "weapon_famas");
  1802. give_item(id, "weapon_deagle");
  1803. broj_min_igraca[id] = 2
  1804. }
  1805. case Pobunjenik:
  1806. {
  1807. give_item(id, "weapon_sg552");
  1808. broj_raketa_igraca[id] = 2;
  1809. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 65);
  1810. }
  1811. case SerijskiUbica:
  1812. {
  1813. give_item(id, "weapon_m4a1");
  1814. give_item(id, "weapon_smokegrenade");
  1815. }
  1816. case Desetar:
  1817. {
  1818. give_item(id, "weapon_scout");
  1819. give_item(id, "weapon_deagle");
  1820. }
  1821. case Vodnik:
  1822. {
  1823. give_item(id, "weapon_m3");
  1824.  
  1825. }
  1826. case Kamikaza:
  1827. {
  1828. give_item(id, "weapon_m4a1");
  1829. broj_raketa_igraca[id] = 2;
  1830. }
  1831. case Assassin:
  1832. {
  1833. give_item(id, "weapon_deagle");
  1834. }
  1835. case Major:
  1836. {
  1837. give_item(id, "weapon_glock18");
  1838. give_item(id, "weapon_m4a1");
  1839. give_item(id, "weapon_usp");
  1840. give_item(id, "weapon_p228");
  1841. give_item(id, "weapon_deagle");
  1842. give_item(id, "weapon_elite");
  1843. give_item(id, "weapon_fiveseven");
  1844. give_item(id, "weapon_smokegrenade");
  1845. broj_min_igraca[id] = 10
  1846. }
  1847. case Kapetan:
  1848. {
  1849. give_item(id, "weapon_aug");
  1850. }
  1851. case Potpukovnik:
  1852. {
  1853. give_item(id, "weapon_awp");
  1854. give_item(id, "weapon_deagle");
  1855. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 55);
  1856. }
  1857. case Marsal:
  1858. {
  1859. give_item(id, "weapon_deagle");
  1860. }
  1861. case NemackiStrelac:
  1862. {
  1863. give_item(id, "weapon_ak47");
  1864. broj_raketa_igraca[id] = 2;
  1865. }
  1866. case Armageddon:
  1867. {
  1868. give_item(id, "weapon_ak47");
  1869. give_item(id, "weapon_aug");
  1870. give_item(id, "weapon_hegrenade");
  1871. broj_dinamita_igraca[id] = 3
  1872. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 30);
  1873. }
  1874. case Samuraj:
  1875. {
  1876. give_item(id, "weapon_usp");
  1877. }
  1878. case RatkoMladic:
  1879. {
  1880. give_item(id, "weapon_m4a1");
  1881. give_item(id, "weapon_ak47");
  1882. give_item(id, "weapon_hegrenade");
  1883. give_item(id, "weapon_deagle");
  1884. broj_raketa_igraca[id] = 5;
  1885. }
  1886. case SWAT:
  1887. {
  1888. give_item(id, "weapon_m4a1");
  1889. give_item(id, "weapon_usp");
  1890. }
  1891. case Partizan:
  1892. {
  1893. give_item(id, "weapon_p90");
  1894. give_item(id, "weapon_flashbang");
  1895. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70);
  1896. }
  1897. case Gunner:
  1898. {
  1899. give_item(id, "weapon_g3sg1");
  1900. give_item(id, "weapon_deagle");
  1901. give_item(id, "weapon_hegrenade");
  1902. broj_raketa_igraca[id] = 2;
  1903. }
  1904. case Komandos:
  1905. {
  1906. give_item(id, "weapon_m4a1");
  1907. broj_dinamita_igraca[id] = 3;
  1908. broj_raketa_igraca[id] = 3;
  1909. broj_min_igraca[id] = 3;
  1910. }
  1911. case JSO:
  1912. {
  1913. give_item(id, "weapon_m4a1");
  1914. give_item(id, "weapon_mp5navy");
  1915. broj_raketa_igraca[id] = 2;
  1916. set_user_footsteps(id, 0);
  1917. }
  1918. case ProMiner:
  1919. {
  1920. give_item(id, "weapon_mp5navy");
  1921. broj_min_igraca[id] = 5;
  1922. }
  1923. case Placenik:
  1924. {
  1925. give_item(id, "weapon_mp5navy");
  1926. give_item(id, "weapon_m3");
  1927. }
  1928. case BazookaSoldier:
  1929. {
  1930. give_item(id, "weapon_p228");
  1931. give_item(id, "weapon_deagle");
  1932. ima_bazuku[id] = true;
  1933. rakete_igraca[id] = 10;
  1934. }
  1935. case Soap:
  1936. {
  1937. give_item(id, "weapon_g3sg1");
  1938. give_item(id, "weapon_m4a1");
  1939. give_item(id, "weapon_deagle");
  1940. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 45);
  1941. broj_dinamita_igraca[id] = 60;
  1942. }
  1943. case Price:
  1944. {
  1945. give_item(id, "weapon_g3sg1");
  1946. }
  1947. case T32:
  1948. {
  1949. give_item(id, "weapon_m4a1");
  1950. give_item(id, "weapon_mp5navy");
  1951. give_item(id, "weapon_shield");
  1952. give_item(id, "weapon_deagle");
  1953. }
  1954. case Master:
  1955. {
  1956. give_item(id, "weapon_m4a1");
  1957. give_item(id, "weapon_deagle");
  1958. }
  1959. case PTJ:
  1960. {
  1961. give_item(id, "weapon_mp5navy");
  1962. broj_raketa_igraca[id] = 5;
  1963. }
  1964. case SRBIN:
  1965. {
  1966. give_item(id, "weapon_ak47");
  1967. give_item(id, "weapon_deagle");
  1968. }
  1969. case Hunter:
  1970. {
  1971. give_item(id, "weapon_awp");
  1972. }
  1973. case SAJ:
  1974. {
  1975. give_item(id, "weapon_ak47");
  1976. give_item(id, "weapon_m4a1");
  1977. give_item(id, "weapon_mp5navy");
  1978. give_item(id, "weapon_deagle");
  1979. broj_raketa_igraca[id] = 3;
  1980.  
  1981.  
  1982. }
  1983. case Matrix:
  1984. {
  1985. give_item(id, "weapon_mp5navy");
  1986. give_item(id, "weapon_elite");
  1987. set_user_gravity(id,get_user_gravity(id) - 0.4);
  1988. set_user_footsteps(id, 0);
  1989. }
  1990. case UltraMarinac:
  1991. {
  1992. give_item(id, "weapon_deagle");
  1993. give_item(id, "weapon_knife");
  1994. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 50);
  1995. set_user_footsteps(id, 0);
  1996. }
  1997. case Pjandura:
  1998. {
  1999. give_item(id, "weapon_ak47");
  2000. give_item(id, "weapon_mp5navy");
  2001. broj_dinamita_igraca[id] = 5;
  2002. }
  2003. }
  2004.  
  2005. if(poeni_igraca[id]>0)
  2006. DodelaPoena(id);
  2007.  
  2008. if(informacije_predmet_igraca[id][0] == 10 || informacije_predmet_igraca[id][0] == 9)
  2009. give_item(id, "weapon_hegrenade");
  2010.  
  2011. if(informacije_predmet_igraca[id][0] == 9)
  2012. PromeniModel(id, 0);
  2013.  
  2014. if(informacije_predmet_igraca[id][0] == 1)
  2015. set_user_footsteps(id, 1);
  2016. else
  2017. set_user_footsteps(id, 0);
  2018.  
  2019. if(informacije_predmet_igraca[id][0] == 13)
  2020. give_item(id, "weapon_awp");
  2021.  
  2022. if(informacije_predmet_igraca[id][0] == 31)
  2023. give_item(id, "weapon_mp5navy");
  2024.  
  2025. if(informacije_predmet_igraca[id][0] == 31)
  2026. give_item(id, "weapon_usp");
  2027.  
  2028. if(informacije_predmet_igraca[id][0] == 32)
  2029. give_item(id, "weapon_m4a1");
  2030.  
  2031. if(informacije_predmet_igraca[id][0] == 33)
  2032. give_item(id, "weapon_deagle");
  2033.  
  2034. if(informacije_predmet_igraca[id][0] == 34)
  2035. give_item(id, "weapon_scout");
  2036.  
  2037. if(informacije_predmet_igraca[id][0] == 35)
  2038. give_item(id, "weapon_awp");
  2039.  
  2040. if(informacije_predmet_igraca[id][0] == 35)
  2041. give_item(id, "weapon_ak47");
  2042.  
  2043. if(informacije_predmet_igraca[id][0] == 36)
  2044. give_item(id, "weapon_m3");
  2045.  
  2046. if(informacije_predmet_igraca[id][0] == 47)
  2047. give_item(id, "weapon_sg550");
  2048.  
  2049. if(informacije_predmet_igraca[id][0] == 49)
  2050. give_item(id, "weapon_awp");
  2051.  
  2052. if(informacije_predmet_igraca[id][0] == 49)
  2053. give_item(id, "weapon_p228");
  2054.  
  2055. if(informacije_predmet_igraca[id][0] == 50)
  2056. give_item(id, "weapon_m4a1");
  2057.  
  2058. if(informacije_predmet_igraca[id][0] == 37)
  2059. give_item(id, "weapon_hegranade");
  2060.  
  2061. if(informacije_predmet_igraca[id][0] == 48)
  2062. set_user_armor(id, 900)
  2063.  
  2064. if(informacije_predmet_igraca[id][0] == 38)
  2065. give_item(id, "weapon_galil");
  2066.  
  2067. if(informacije_predmet_igraca[id][0] == 39)
  2068. give_item(id, "weapon_awp");
  2069.  
  2070. if(informacije_predmet_igraca[id][0] == 39)
  2071. give_item(id, "weapon_deagle");
  2072.  
  2073. if(informacije_predmet_igraca[id][0] == 40)
  2074. set_user_gravity(id,get_user_gravity(id) - 0.4);
  2075.  
  2076. if(informacije_predmet_igraca[id][0] == 16)
  2077. give_item(id, "weapon_deagle");
  2078.  
  2079. if(informacije_predmet_igraca[id][0] == 19)
  2080. informacije_predmet_igraca[id][1] = 1;
  2081.  
  2082. if(informacije_predmet_igraca[id][0] == 27)
  2083. informacije_predmet_igraca[id][1] = 3;
  2084.  
  2085. if(informacije_predmet_igraca[id][0] == 29)
  2086. set_user_gravity(id,get_user_gravity(id) - 0.4);
  2087.  
  2088. new weapons[32];
  2089. new weaponsnum;
  2090. get_user_weapons(id, weapons, weaponsnum);
  2091. for(new i=0; i<weaponsnum; i++)
  2092. if(is_user_alive(id))
  2093. if(maxAmmo[weapons[i]] > 0)
  2094. cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  2095.  
  2096. PostaviAtribute(id)
  2097.  
  2098. return PLUGIN_CONTINUE;
  2099. }
  2100.  
  2101. public PostaviAtribute(id)
  2102. {
  2103. smanjene_povrede_igraca[id] = (0.7*(1.0-floatpower(1.1, -0.112311341*float(snaga_igraca[id]))));
  2104. maximalna_energija_igraca[id] = energija_klasa[klasa_igraca[id]]+energija_igraca[id]*2;
  2105. brzina_igraca[id] = STANDARDNA_brzina*brzina_klasa[klasa_igraca[id]]+floatround(kondicija_igraca[id]*1.3);
  2106.  
  2107. if(informacije_predmet_igraca[id][0] == 18 && klasa_igraca[id] != Assassin)
  2108. {
  2109. maximalna_energija_igraca[id] += 100;
  2110. brzina_igraca[id] -= 0.4;
  2111. }
  2112.  
  2113. if(informacije_predmet_igraca[id][0] == 25 && klasa_igraca[id] != Assassin)
  2114. {
  2115. maximalna_energija_igraca[id] += 50;
  2116. brzina_igraca[id] -= 0.3;
  2117. }
  2118. if(informacije_predmet_igraca[id][0] == 30)
  2119. {
  2120. brzina_igraca[id] += 1.2;
  2121. }
  2122. set_user_armor(id, oklop_klase[klasa_igraca[id]]);
  2123. if(informacije_predmet_igraca[id][0] == 44)
  2124. {
  2125. maximalna_energija_igraca[id] *= 2;
  2126. }
  2127. if(informacije_predmet_igraca[id][0] == 17)
  2128. set_user_armor(id, 500);
  2129.  
  2130. set_user_health(id, maximalna_energija_igraca[id]);
  2131.  
  2132. if(klasa_igraca[id] == Partizan)
  2133. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70);
  2134. else
  2135. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  2136.  
  2137. if(klasa_igraca[id] == UltraMarinac)
  2138. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 50);
  2139. else
  2140. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  2141. }
  2142.  
  2143. public PocetakRunde()
  2144. {
  2145. freezetime = false;
  2146. for(new id=0;id<=32;id++)
  2147. {
  2148. if(!is_user_alive(id))
  2149. continue;
  2150.  
  2151. set_task(0.1, "PostaviBrzinu", id+ZADATAK_POSTAVI_brzinu);
  2152.  
  2153. switch(get_user_team(id))
  2154. {
  2155. case 1:
  2156. {
  2157. client_cmd(id, "spk QTM_CodMod/start2");
  2158. give_item(id, "weapon_glock18");
  2159. }
  2160. case 2:
  2161. {
  2162. client_cmd(id, "spk QTM_CodMod/start");
  2163. give_item(id, "weapon_usp");
  2164. }
  2165. }
  2166. }
  2167. }
  2168.  
  2169. public novaRunda()
  2170. {
  2171. freezetime = true;
  2172. new iEnt = find_ent_by_class(-1, "Mine");
  2173. while(iEnt > 0)
  2174. {
  2175. remove_entity(iEnt);
  2176. iEnt = find_ent_by_class(iEnt, "Mine");
  2177. }
  2178. }
  2179.  
  2180. public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
  2181. {
  2182. 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])
  2183. return HAM_IGNORED;
  2184.  
  2185. new health = get_user_health(this);
  2186. new weapon = get_user_weapon(idattacker);
  2187.  
  2188. if(health < 2)
  2189. return HAM_IGNORED;
  2190.  
  2191. if(informacije_predmet_igraca[this][0] == 27 && informacije_predmet_igraca[this][1]>0)
  2192. {
  2193. informacije_predmet_igraca[this][1]--;
  2194. return HAM_SUPERCEDE;
  2195. }
  2196.  
  2197. if(snaga_igraca[this]>0)
  2198. damage -= smanjene_povrede_igraca[this]*damage;
  2199.  
  2200. if(informacije_predmet_igraca[this][0] == 2 || informacije_predmet_igraca[this][0] == 3)
  2201. damage-=(float(informacije_predmet_igraca[this][1])<damage)? float(informacije_predmet_igraca[this][1]): damage;
  2202.  
  2203. if(informacije_predmet_igraca[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
  2204. damage*=2.0;
  2205.  
  2206. if(informacije_predmet_igraca[idattacker][0] == 10)
  2207. damage+=informacije_predmet_igraca[idattacker][1];
  2208.  
  2209. if(informacije_predmet_igraca[this][0] == 12)
  2210. damage-=(5.0<damage)? 5.0: damage;
  2211.  
  2212. if(weapon == CSW_AWP && informacije_predmet_igraca[idattacker][0] == 13)
  2213. damage=float(health);
  2214.  
  2215. if(weapon == CSW_AWP && informacije_predmet_igraca[idattacker][0] == 35)
  2216. damage=float(health);
  2217.  
  2218. if(informacije_predmet_igraca[idattacker][0] == 21)
  2219. damage+=10;
  2220.  
  2221. if(informacije_predmet_igraca[idattacker][0] == 22)
  2222. damage+=20;
  2223.  
  2224. if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
  2225. {
  2226. if((informacije_predmet_igraca[idattacker][0] == 9 && random_num(1, informacije_predmet_igraca[idattacker][1]) == 1) || informacije_predmet_igraca[idattacker][0] == 10)
  2227. damage = float(health);
  2228. }
  2229. if(weapon == CSW_HEGRENADE)
  2230. {
  2231. if((klasa_igraca[idattacker] == RatkoMladic && random(2) == 1))
  2232. damage = float(health);
  2233.  
  2234. if(klasa_igraca[idattacker] == Bombarder)
  2235. {
  2236. give_item(idattacker, "weapon_hegrenade")
  2237. cs_set_user_bpammo(idattacker, CSW_HEGRENADE, 15)
  2238. }
  2239. }
  2240.  
  2241. if(weapon == CSW_SCOUT)
  2242. {
  2243. if(informacije_predmet_igraca[idattacker][0] == 34 || klasa_igraca[idattacker] == RatkoMladic)
  2244. damage = float(health);
  2245.  
  2246. }
  2247. if(weapon == CSW_KNIFE)
  2248. {
  2249. if(klasa_igraca[this] == SWAT)
  2250. return HAM_SUPERCEDE;
  2251. if(informacije_predmet_igraca[this][0] == 4)
  2252. damage=damage*1.4+inteligencija_igraca[idattacker];
  2253. 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] == UltraMarinac && !(get_user_button(idattacker) & IN_ATTACK)|| klasa_igraca[idattacker] == Komandos || klasa_igraca[idattacker] == Assassin && !(get_user_button(idattacker) & IN_ATTACK))
  2254. damage = float(health);
  2255. }
  2256. if(informacije_predmet_igraca[idattacker][0] == 31)
  2257. {
  2258. if(weapon == CSW_USP && !random(2))
  2259. damage = float(health);
  2260.  
  2261. if(weapon == CSW_MP5NAVY && !random(5))
  2262. damage = float(health);
  2263. }
  2264. if(informacije_predmet_igraca[idattacker][0] == 49)
  2265. {
  2266. if(weapon == CSW_AWP && !random(1))
  2267. damage = float(health);
  2268.  
  2269. if(weapon == CSW_P228 && !random(8))
  2270. damage = float(health);
  2271. }
  2272. if(informacije_predmet_igraca[idattacker][0] == 32)
  2273. {
  2274. if(weapon == CSW_M4A1 && !random(4))
  2275. damage = float(health);
  2276. }
  2277. if(informacije_predmet_igraca[idattacker][0] == 33)
  2278. {
  2279. if(weapon == CSW_DEAGLE && !random(3))
  2280. damage = float(health);
  2281. }
  2282. if(informacije_predmet_igraca[idattacker][0] == 36)
  2283. {
  2284. if(weapon == CSW_M3 && !random(3))
  2285. damage = float(health);
  2286. }
  2287. if(informacije_predmet_igraca[idattacker][0] == 37)
  2288. {
  2289. if(weapon == CSW_HEGRENADE && !random(3))
  2290. damage = float(health);
  2291. }
  2292. if(informacije_predmet_igraca[idattacker][0] == 38)
  2293. {
  2294. if(weapon == CSW_GALIL && !random(7))
  2295. damage = float(health);
  2296. }
  2297. if(informacije_predmet_igraca[idattacker][0] == 31)
  2298. {
  2299. if(weapon == CSW_AWP)
  2300. damage = float(health);
  2301.  
  2302. if(weapon == CSW_DEAGLE && !random(2))
  2303. damage = float(health);
  2304. }
  2305. if(informacije_predmet_igraca[idattacker][0] == 47)
  2306. {
  2307. if(weapon == CSW_SG550 && !random(3))
  2308. damage = float(health);
  2309. }
  2310. if(klasa_igraca[idattacker] == Price)
  2311. {
  2312. if(weapon == CSW_USP && !random(3))
  2313. damage = float(health);
  2314. }
  2315. if(klasa_igraca[idattacker] == Master)
  2316. {
  2317. if(weapon == CSW_M4A1 && !random(6))
  2318. damage = float(health);
  2319. }
  2320. if(klasa_igraca[idattacker] == SRBIN)
  2321. {
  2322. if(weapon == CSW_AK47 && !random(20))
  2323. damage = float(health);
  2324. }
  2325. if(klasa_igraca[idattacker] == Hunter)
  2326. {
  2327. if(weapon == CSW_AWP)
  2328. damage = float(health);
  2329. }
  2330. if(informacije_predmet_igraca[this][0] == 26 && random_num(1, informacije_predmet_igraca[this][1]) == 1)
  2331. {
  2332. SetHamParamEntity(3, this);
  2333. SetHamParamEntity(1, idattacker);
  2334. }
  2335.  
  2336.  
  2337. SetHamParamFloat(4, damage);
  2338. return HAM_IGNORED;
  2339. }
  2340.  
  2341. public Damage(id)
  2342. {
  2343. new attacker = get_user_attacker(id);
  2344. new damage = read_data(2);
  2345. if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !klasa_igraca[attacker])
  2346. return PLUGIN_CONTINUE;
  2347.  
  2348. if(informacije_predmet_igraca[attacker][0] == 12 && random_num(1, informacije_predmet_igraca[id][1]) == 1)
  2349. Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
  2350.  
  2351. if(get_user_team(id) != get_user_team(attacker))
  2352. {
  2353. while(damage>20)
  2354. {
  2355. damage-=20;
  2356. iskustvo_igraca[attacker]++;
  2357. }
  2358. }
  2359.  
  2360. ProveriNivo(attacker);
  2361. return PLUGIN_CONTINUE;
  2362. }
  2363.  
  2364. public Death()
  2365. {
  2366. new id = read_data(2);
  2367. new attacker = read_data(1);
  2368.  
  2369. if(!is_user_alive(attacker) || !is_user_connected(attacker))
  2370. return PLUGIN_CONTINUE;
  2371. shop_poeni_igraca[attacker] += get_pcvar_num(shop_kill);
  2372. new weapon = get_user_weapon(attacker);
  2373. new energija = get_user_health(attacker);
  2374. if(informacije_predmet_igraca[id][0])
  2375. {
  2376. if(snaga_predmeta[id] > 0)
  2377. snaga_predmeta[id]-=20;
  2378. }
  2379. if(snaga_predmeta[id] > 0)
  2380. {
  2381. ColorChat(id, NORMAL, "^3[COD:MW4] ^4 Snaga Predmeta:^3 %i.", snaga_predmeta[id]);
  2382. }
  2383. if(get_user_team(id) != get_user_team(attacker) && klasa_igraca[attacker])
  2384. {
  2385. new iskustvo_za_ubistvo = get_pcvar_num(cvar_xp_za_ubistvo);
  2386. new novo_iskustvo = get_pcvar_num(cvar_xp_za_ubistvo);
  2387.  
  2388. if(klasa_igraca[id] == Rambo && klasa_igraca[attacker] != Rambo)
  2389. novo_iskustvo += iskustvo_za_ubistvo*2;
  2390.  
  2391. if(level_igraca[id] > level_igraca[attacker])
  2392. novo_iskustvo += (level_igraca[id]-level_igraca[attacker])*(iskustvo_za_ubistvo/10);
  2393.  
  2394. if(klasa_igraca[attacker] == Rambo || informacije_predmet_igraca[attacker][0] == 15 && maxClip[weapon] != -1)
  2395. {
  2396.  
  2397. new nova_energija = (energija+20<maximalna_energija_igraca[attacker])? energija+20: maximalna_energija_igraca[attacker];
  2398. set_user_clip(attacker, maxClip[weapon]);
  2399. set_user_health(attacker, nova_energija);
  2400. }
  2401. #if defined BOTY
  2402. if(is_user_bot2(attacker) && random(9) == 0)
  2403. IzbaciPredmet(id);
  2404. #endif
  2405. if(!informacije_predmet_igraca[attacker][0])
  2406. DajPredmet(attacker, random_num(1, sizeof naziv_predmeta-1));
  2407.  
  2408. if(informacije_predmet_igraca[attacker][0] == 14)
  2409. {
  2410. new nova_energija = (energija+50<maximalna_energija_igraca[attacker])? energija+50: maximalna_energija_igraca[attacker];
  2411. set_user_health(attacker, nova_energija);
  2412. }
  2413. set_hudmessage(100, 100, 100, 0.55, 0.39, 1, 6.0, 4.0);
  2414. ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", novo_iskustvo);
  2415. killovi[attacker]++
  2416. killovi[id] = 0
  2417.  
  2418. iskustvo_igraca[attacker] += novo_iskustvo;
  2419. }
  2420.  
  2421. ProveriNivo(attacker);
  2422.  
  2423. if(informacije_predmet_igraca[id][0] == 7 && random_num(1, informacije_predmet_igraca[id][1]) == 1)
  2424. set_task(0.1, "Provera", id+ZADATAK_PROVERA);
  2425.  
  2426. return PLUGIN_CONTINUE;
  2427. }
  2428.  
  2429. public PobedaTerro()
  2430. PobednjenaRunda("TERRORIST");
  2431.  
  2432. public PobedaCT()
  2433. PobednjenaRunda("CT");
  2434.  
  2435. public PobednjenaRunda(const Team[])
  2436. {
  2437. new Players[32], playerCount, id;
  2438. get_players(Players, playerCount, "aeh", Team);
  2439.  
  2440. if(get_playersnum() < 3)
  2441. return;
  2442.  
  2443. for (new i=0; i<playerCount; i++)
  2444. {
  2445. id = Players[i];
  2446. if(!klasa_igraca[id] && !is_user_connected(id))
  2447. continue;
  2448.  
  2449. iskustvo_igraca[id] += iskustvo_za_pobedu;
  2450. ColorChat(id, NORMAL, "^3[COD:MW4]^4 Dobio si %i iskustva za pobedjenu rundu.", iskustvo_za_pobedu);
  2451. ProveriNivo(id);
  2452. }
  2453. }
  2454. public client_putinserver(id)
  2455. {
  2456. DeleteSkills(id);
  2457. ObrisiZadatke(id);
  2458. Obrisipredmet(id);
  2459.  
  2460. set_task(3.0, "PokaziInformacije", id+ZADATAK_POKAZI_INFORMACIJE);
  2461. set_task(3.0, "PokaziIp",id+ZADATAK_POKAZI_INF)
  2462. }
  2463. public client_death(killer,victim,weapon,hitplace,TK) {
  2464.  
  2465. if(!killer || !victim || TK)
  2466. return;
  2467.  
  2468. if(hitplace == HIT_HEAD)
  2469. {
  2470. iskustvo_igraca[killer] += iskustvo_za_hs;
  2471.  
  2472. ColorChat(killer, RED, "^3[COD:MW4]^4 Dobio si ^3 %i ^4 iskustvo jer si pogodio u glavu.", iskustvo_za_hs);
  2473. }
  2474. }
  2475. public client_disconnect(id)
  2476. {
  2477. SacuvajPodatke(id);
  2478. DeleteSkills(id);
  2479. ObrisiZadatke(id);
  2480. Obrisipredmet(id);
  2481.  
  2482. levelRank[id] = levelUcitajRank(id)
  2483. }
  2484. public DeleteSkills(id)
  2485. {
  2486. klasa_igraca[id] = 0;
  2487. level_igraca[id] = 0;
  2488. iskustvo_igraca[id] = 0;
  2489. poeni_igraca[id] = 0;
  2490. energija_igraca[id] = 0;
  2491. inteligencija_igraca[id] = 0;
  2492. snaga_igraca[id] = 0;
  2493. kondicija_igraca[id] = 0;
  2494. maximalna_energija_igraca[id] = 0;
  2495. brzina_igraca[id] = 0.0;
  2496. promeni_tim[id] = false;
  2497. get_user_name(id, naziv_igraca[id], 63);
  2498. }
  2499. public ObrisiZadatke(id)
  2500. {
  2501. remove_task(id+ZADATAK_POKAZI_INFORMACIJE);
  2502. remove_task(id+ZADATAK_POSTAVI_brzinu);
  2503. remove_task(id+ZADATAK_PROVERA);
  2504. }
  2505.  
  2506. public OpisKlase(id)
  2507. {
  2508. new menu = menu_create("Izaberi Klasu:", "OpisKlase_Handle");
  2509. for(new i=1; i <sizeof poseban_naziv_klase; i++)
  2510. menu_additem(menu, poseban_naziv_klase[i]);
  2511. menu_setprop(menu, MPROP_EXITNAME, "Izlaz");
  2512. menu_setprop(menu, MPROP_BACKNAME, "Prethodna strana");
  2513. menu_setprop(menu, MPROP_NEXTNAME, "Sledeca strana");
  2514. menu_display(id, menu);
  2515.  
  2516. client_cmd(id, "spk QTM_CodMod/select");
  2517. }
  2518.  
  2519. public OpisKlase_Handle(id, menu, item)
  2520. {
  2521. client_cmd(id, "spk QTM_CodMod/select");
  2522.  
  2523. if(item++ == MENU_EXIT)
  2524. {
  2525. menu_destroy(menu);
  2526. return PLUGIN_CONTINUE;
  2527. }
  2528. new opis[512];
  2529. format(opis, charsmax(opis), "\rKlasa: \y%s^n%s^n\rKontakt:\w www.facebook.com/BGLCodmw3", naziv_klase[item], opis_klase[item]);
  2530. show_menu(id, 1023, opis);
  2531.  
  2532. return PLUGIN_CONTINUE;
  2533. }
  2534. public IzaberiKlase(id)
  2535. {
  2536. new menu = menu_create("Izaberi Klase:", "IzaberiKlasu");
  2537. for(new i = 1;i<sizeof(frakcje);i++){
  2538. menu_additem(menu, frakcje[i]);
  2539. }
  2540. menu_display(id, menu);
  2541. }
  2542. public IzaberiKlasu(id, menu2, item)
  2543. {
  2544. if(item == MENU_EXIT)
  2545. {
  2546. menu_destroy(menu2);
  2547. return PLUGIN_CONTINUE;
  2548. }
  2549. item++;
  2550. frakcja_igraca[id] = item;
  2551. new menu = menu_create("Izaberi klasu:", "IzaberiKlasu_Handle");
  2552. new klasa[200];
  2553. for(new i=1; i<sizeof naziv_klase; i++)
  2554. {
  2555. if(nalezy_do[i] == item){
  2556. UcitajPodatke(id, i);
  2557. format(klasa, 199, "\r%s %s \yLevel: \d%i", naziv_klase[i], vrsta_klase[i], level_igraca[id]);
  2558. menu_additem(menu, klasa);
  2559. }
  2560. }
  2561.  
  2562. UcitajPodatke(id, klasa_igraca[id]);
  2563.  
  2564. menu_setprop(menu, MPROP_EXITNAME, "Izlaz");
  2565. menu_setprop(menu, MPROP_BACKNAME, "Prethodna strana");
  2566. menu_setprop(menu, MPROP_NEXTNAME, "Sledeca strana");
  2567. menu_display(id, menu);
  2568.  
  2569. client_cmd(id, "spk QTM_CodMod/select");
  2570. #if defined BOTY
  2571. if(is_user_bot2(id))
  2572. IzaberiKlasu_Handle(id, menu, random(sizeof naziv_klase-1));
  2573. #endif
  2574. return PLUGIN_CONTINUE;
  2575. }
  2576. public IzaberiKlasu_Handle(id, menu, item)
  2577. {
  2578. client_cmd(id, "spk QTM_CodMod/select");
  2579.  
  2580. if(item == MENU_EXIT)
  2581. {
  2582. menu_destroy(menu);
  2583. return PLUGIN_CONTINUE;
  2584. }
  2585.  
  2586. item++;
  2587.  
  2588. new ile = 0;
  2589. for(new i=1; i<sizeof naziv_klase; i++)
  2590. {
  2591. if(nalezy_do[i] == frakcja_igraca[id]){
  2592. ile++;
  2593. }
  2594. if(ile == item){
  2595. item = i;
  2596. break;
  2597. }
  2598. }
  2599. if(item == klasa_igraca[id])
  2600. {
  2601. ColorChat(id, NORMAL, "^3[COD:MW4]^4 Vec ste ta klasa");
  2602. return PLUGIN_CONTINUE;
  2603. }
  2604.  
  2605. 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 == Master && !(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 == PTJ && !(get_user_flags(id) & ADMIN_LEVEL_H))
  2606. {
  2607. new Time[10];
  2608. get_time("%H", Time, charsmax(Time));
  2609.  
  2610. new DnevnoVreme = (equal(Time, "8") || equal(Time, "9") || equal(Time, "10")
  2611. || equal(Time, "11") || equal(Time, "12") || equal(Time, "13") || equal(Time, "14")
  2612. || equal(Time, "15") || equal(Time, "16") || equal(Time, "17") || equal(Time, "18")
  2613. || equal(Time, "19") || equal(Time, "20") || equal(Time, "21") || equal(Time, "22"));
  2614.  
  2615. if(DnevnoVreme)
  2616. {
  2617. new num = random_num(1,3);
  2618. switch(num)
  2619. {
  2620. case 1:
  2621. {
  2622. ColorChat(id, NORMAL, "^3[COD:MW4]^4 Nemate pristup Premium Klasi");
  2623. }
  2624. case 2:
  2625. {
  2626. ColorChat(id, NORMAL, "^3[COD:MW4]^4 Premium user je svima dostupan od 00h do 08h ");
  2627. }
  2628. case 3:
  2629. {
  2630. ColorChat(id, NORMAL, "^3[COD:MW4]^4 Cena Premium Usera je^3 250din^4 (2.4e)^3 mesecno");
  2631. }
  2632. }
  2633. IzaberiKlase(id);
  2634. return PLUGIN_CONTINUE;
  2635. }
  2636. }
  2637. if(item == Hunter && !(get_user_flags(id) & ADMIN_CVAR))
  2638. {
  2639. ColorChat(id, RED, "[COD:MW4] ^x04 Klasa je samo za ^3Head Admine.");
  2640. IzaberiKlase(id);
  2641. return PLUGIN_CONTINUE;
  2642. }
  2643. if(klasa_igraca[id])
  2644. {
  2645. nova_klasa_igraca[id] = item;
  2646. ColorChat(id, NORMAL, "^3[COD:MW4]^4 Klasa ce biti promenjena u sledecoj rundi.");
  2647. }
  2648. else
  2649. {
  2650. klasa_igraca[id] = item;
  2651. UcitajPodatke(id, klasa_igraca[id]);
  2652.  
  2653. if(is_user_alive(id) && is_user_connected(id))
  2654. {
  2655. Pocetak(id)
  2656. }
  2657. }
  2658. return PLUGIN_CONTINUE;
  2659. }
  2660.  
  2661. public DodelaPoena(id)
  2662. {
  2663. new inteligencija[65], inteligencija10[65], inteligencija100[65];
  2664. new energija[60], energija10[60], energija100[60];
  2665. new snaga[60], snaga10[60], snaga100[60];
  2666. new kondicija[60], kondicija10[60], kondicija100[60];
  2667. new naslov[60];
  2668. format(inteligencija, 64, "\yInteligencija: \r%i \y(Povecava napad)", inteligencija_igraca[id]);
  2669. format(energija, 59, "\yEnergija: \r%i \y(Povecaca energiju)", energija_igraca[id]);
  2670. format(snaga, 59, "\ySnaga: \r%i \y(Smanjuje povrede)", snaga_igraca[id]);
  2671. format(kondicija, 59, "\yKondicija: \r%i \y(Povecava tempo hodanja)", kondicija_igraca[id]);
  2672. format(inteligencija10, 64, "\yDodaj \r10 \ypoena na \dinteligenciju");
  2673. format(energija10, 59, "\yDodaj \r10 \ypoena na \denergiju");
  2674. format(snaga10, 59, "\yDodaj \r10 \ypoena na \dsnagu");
  2675. format(kondicija10, 59, "\yDodaj \r10 \ypoena na \dkondiciju");
  2676. format(inteligencija100, 64, "\yStavi sve na \rInteligenciju");
  2677. format(energija100, 59, "\yStavi sve na \rEnergiju");
  2678. format(snaga100, 59, "\yStavi sve na \rSnagu");
  2679. format(kondicija100, 59, "\yStavi sve na \dKondiciju");
  2680. format(naslov, 59, "\yDodeli poena(%i):", poeni_igraca[id]);
  2681. new menu = menu_create(naslov, "DodelaPoena_Handler");
  2682. menu_additem(menu, inteligencija);
  2683. menu_additem(menu, energija);
  2684. menu_additem(menu, snaga);
  2685. menu_additem(menu, kondicija);
  2686. menu_additem(menu, inteligencija10);
  2687. menu_additem(menu, energija10);
  2688. menu_additem(menu, snaga10);
  2689. menu_additem(menu, kondicija10);
  2690. menu_additem(menu, inteligencija100);
  2691. menu_additem(menu, energija100);
  2692. menu_additem(menu, snaga100);
  2693. menu_additem(menu, kondicija100);
  2694. menu_display(id, menu);
  2695. #if defined BOTY
  2696. if(is_user_bot2(id))
  2697. DodelaPoena_Handler(id, menu, random(4));
  2698. #endif
  2699. }
  2700.  
  2701. public DodelaPoena_Handler(id, menu, item)
  2702. {
  2703. client_cmd(id, "spk QTM_CodMod/select");
  2704.  
  2705. if(item == MENU_EXIT)
  2706. {
  2707. menu_destroy(menu);
  2708. return PLUGIN_CONTINUE;
  2709. }
  2710.  
  2711.  
  2712. if(poeni_igraca[id] < 1)
  2713. return PLUGIN_CONTINUE;
  2714.  
  2715. switch(item)
  2716. {
  2717. case 0:
  2718. {
  2719. if(inteligencija_igraca[id]<99999999999)
  2720. {
  2721. inteligencija_igraca[id]++;
  2722. poeni_igraca[id]--;
  2723. }
  2724. else
  2725. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo inteligencije");
  2726.  
  2727. }
  2728. case 1:
  2729. {
  2730. if(energija_igraca[id]<99999999999)
  2731. {
  2732. energija_igraca[id]++;
  2733. poeni_igraca[id]--;
  2734. }
  2735. else
  2736. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo energije");
  2737. }
  2738. case 2:
  2739. {
  2740. if(snaga_igraca[id]<99999999999)
  2741. {
  2742. snaga_igraca[id]++;
  2743. poeni_igraca[id]--;
  2744. }
  2745. else
  2746. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo snage");
  2747.  
  2748. }
  2749. case 3:
  2750. {
  2751. if(kondicija_igraca[id]<99999999999)
  2752. {
  2753. kondicija_igraca[id]++;
  2754. poeni_igraca[id]--;
  2755. }
  2756. else
  2757. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo kondicije");
  2758. }
  2759. case 4:
  2760. {
  2761. if(poeni_igraca[id] < 10)
  2762. {
  2763. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate dovoljno poena");
  2764. }
  2765. else if(inteligencija_igraca[id]<99999999999)
  2766. {
  2767. inteligencija_igraca[id]+=10;
  2768. poeni_igraca[id]-=10
  2769. }
  2770. else
  2771. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo inteligencije");
  2772. }
  2773. case 5:
  2774. {
  2775. if(poeni_igraca[id] < 10)
  2776. {
  2777. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate dovoljno poena");
  2778. }
  2779. else if(energija_igraca[id]<99999999999)
  2780. {
  2781. energija_igraca[id]+=10;
  2782. poeni_igraca[id]-=10;
  2783. }
  2784. else
  2785. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo energije");
  2786. }
  2787. case 6:
  2788. {
  2789. if(poeni_igraca[id] < 10)
  2790. {
  2791. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate dovoljno poena");
  2792. }
  2793. else if(snaga_igraca[id]<99999999999)
  2794. {
  2795. snaga_igraca[id]+=10;
  2796. poeni_igraca[id]-=10;
  2797. }
  2798. else
  2799. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo snage");
  2800. }
  2801. case 7:
  2802. {
  2803. if(poeni_igraca[id] < 10)
  2804. {
  2805. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate dovoljno poena");
  2806. }
  2807. else if(kondicija_igraca[id]<99999999999)
  2808. {
  2809. kondicija_igraca[id]+=10;
  2810. poeni_igraca[id]-=10;
  2811. }
  2812. else
  2813. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dostigli ste maximalni nivo kondicije");
  2814. }
  2815. case 8:
  2816. {
  2817. inteligencija_igraca[id]+=poeni_igraca[id]
  2818. poeni_igraca[id]=0
  2819. ColorChat(id, NORMAL, "^3[COD:MW4]^4 Inteligencija: %i", inteligencija_igraca[id]);
  2820. }
  2821. case 9:
  2822. {
  2823. energija_igraca[id]+=poeni_igraca[id]
  2824. poeni_igraca[id]=0
  2825. ColorChat(id, NORMAL, "^3[COD:MW4]^4 Energija: %i", energija_igraca[id]);
  2826. }
  2827. case 10:
  2828. {
  2829. snaga_igraca[id]+=poeni_igraca[id]
  2830. poeni_igraca[id]=0
  2831. ColorChat(id, NORMAL, "^3[COD:MW4]^4 Snaga: %i", snaga_igraca[id]);
  2832. }
  2833. case 11:
  2834. {
  2835. kondicija_igraca[id]+=poeni_igraca[id]
  2836. poeni_igraca[id]=0
  2837. ColorChat(id, NORMAL, "^3[COD:MW4]^4 Kondicija: %i", kondicija_igraca[id]);
  2838. }
  2839.  
  2840. }
  2841.  
  2842. if(poeni_igraca[id]>0)
  2843. DodelaPoena(id);
  2844.  
  2845. return PLUGIN_CONTINUE;
  2846. }
  2847.  
  2848. public KomandaResetujPoene(id)
  2849. {
  2850. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Poeni su resetovani");
  2851. client_cmd(id, "spk QTM_CodMod/select");
  2852.  
  2853. ResetujPoene(id)
  2854. }
  2855.  
  2856. public ResetujPoene(id)
  2857. {
  2858. poeni_igraca[id] = level_igraca[id]*2-2;
  2859. inteligencija_igraca[id] = 0;
  2860. energija_igraca[id] = 0;
  2861. kondicija_igraca[id] = 0;
  2862. snaga_igraca[id] = 0;
  2863.  
  2864. if(poeni_igraca[id])
  2865. DodelaPoena(id);
  2866. }
  2867.  
  2868. public KreirajMedKit(id)
  2869. {
  2870. if (!broj_medkit_igraca[id])
  2871. {
  2872. client_print(id, print_center, "Imate samo 2 paketa za prvu pomoc u jednoj rundi!");
  2873. return PLUGIN_CONTINUE;
  2874. }
  2875.  
  2876. if(inteligencija_igraca[id] < 1)
  2877. client_print(id, print_center, "Da koristite paket za prvu pomoc, morate povecati inteligenciju");
  2878.  
  2879. broj_medkit_igraca[id]--;
  2880.  
  2881. new Float:origin[3];
  2882. entity_get_vector(id, EV_VEC_origin, origin);
  2883.  
  2884. new ent = create_entity("info_target");
  2885. entity_set_string(ent, EV_SZ_classname, "MedKit");
  2886. entity_set_edict(ent, EV_ENT_owner, id);
  2887. entity_set_int(ent, EV_INT_solid, SOLID_NOT);
  2888. entity_set_vector(ent, EV_VEC_origin, origin);
  2889. entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
  2890.  
  2891.  
  2892. entity_set_model(ent, "models/w_medkit.mdl");
  2893. set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
  2894. drop_to_floor(ent);
  2895.  
  2896. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
  2897.  
  2898. return PLUGIN_CONTINUE;
  2899. }
  2900.  
  2901. public MedKitThink(ent)
  2902. {
  2903. new id = entity_get_edict(ent, EV_ENT_owner);
  2904. new totem_dist = 300;
  2905. new totem_heal = 5+floatround(inteligencija_igraca[id]*0.5);
  2906. if (entity_get_edict(ent, EV_ENT_euser2) == 1)
  2907. {
  2908. new Float:forigin[3], origin[3];
  2909. entity_get_vector(ent, EV_VEC_origin, forigin);
  2910. FVecIVec(forigin,origin);
  2911.  
  2912. new entlist[33];
  2913. new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);
  2914.  
  2915. for (new i=0; i < numfound; i++)
  2916. {
  2917. new pid = entlist[i];
  2918.  
  2919. if (get_user_team(pid) != get_user_team(id))
  2920. continue;
  2921.  
  2922. new energija = get_user_health(pid);
  2923. new nova_energija = (energija+totem_heal<maximalna_energija_igraca[pid])?energija+totem_heal:maximalna_energija_igraca[pid];
  2924. if (is_user_alive(pid)) set_user_health(pid, nova_energija);
  2925. }
  2926.  
  2927. entity_set_edict(ent, EV_ENT_euser2, 0);
  2928. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
  2929.  
  2930. return PLUGIN_CONTINUE;
  2931. }
  2932.  
  2933. if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
  2934. {
  2935. remove_entity(ent);
  2936. return PLUGIN_CONTINUE;
  2937. }
  2938.  
  2939. if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
  2940. set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) ;
  2941.  
  2942. new Float:forigin[3], origin[3];
  2943. entity_get_vector(ent, EV_VEC_origin, forigin);
  2944. FVecIVec(forigin,origin);
  2945.  
  2946. //Find people near and give them health
  2947. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
  2948. write_byte( TE_BEAMCYLINDER );
  2949. write_coord( origin[0] );
  2950. write_coord( origin[1] );
  2951. write_coord( origin[2] );
  2952. write_coord( origin[0] );
  2953. write_coord( origin[1] + totem_dist );
  2954. write_coord( origin[2] + totem_dist );
  2955. write_short( sprite_white );
  2956. write_byte( 0 ); // startframe
  2957. write_byte( 0 ); // framerate
  2958. write_byte( 10 ); // life
  2959. write_byte( 10 ); // width
  2960. write_byte( 255 ); // noise
  2961. write_byte( 255 ); // r, g, b
  2962. write_byte( 100 );// r, g, b
  2963. write_byte( 100 ); // r, g, b
  2964. write_byte( 128 ); // brightness
  2965. write_byte( 5 ); // speed
  2966. message_end();
  2967.  
  2968. entity_set_edict(ent, EV_ENT_euser2 ,1);
  2969. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
  2970.  
  2971.  
  2972. return PLUGIN_CONTINUE;
  2973. }
  2974.  
  2975. public KreirajRakete(id)
  2976. {
  2977. if (!broj_raketa_igraca[id])
  2978. {
  2979. client_print(id, print_center, "Vec ste iskoristili sve rakete!");
  2980. return PLUGIN_CONTINUE;
  2981. }
  2982.  
  2983. if(prethodna_raketa_igraca[id] + 2.0 > get_gametime())
  2984. {
  2985. client_print(id, print_center, "Mozate da koristite raketu za 2 sekunde!");
  2986. return PLUGIN_CONTINUE;
  2987. }
  2988.  
  2989. if (is_user_alive(id))
  2990. {
  2991. if(inteligencija_igraca[id] < 1)
  2992. client_print(id, print_center, "Da koristite rakete, morate povecati inteligenciju!");
  2993.  
  2994. prethodna_raketa_igraca[id] = get_gametime();
  2995. broj_raketa_igraca[id]--;
  2996.  
  2997. new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
  2998.  
  2999. entity_get_vector(id, EV_VEC_v_angle, vAngle);
  3000. entity_get_vector(id, EV_VEC_origin , Origin);
  3001.  
  3002. new Ent = create_entity("info_target");
  3003.  
  3004. entity_set_string(Ent, EV_SZ_classname, "Rocket");
  3005. entity_set_model(Ent, "models/rpgrocket.mdl");
  3006.  
  3007. vAngle[0] *= -1.0;
  3008.  
  3009. entity_set_origin(Ent, Origin);
  3010. entity_set_vector(Ent, EV_VEC_angles, vAngle);
  3011.  
  3012. entity_set_int(Ent, EV_INT_effects, 2);
  3013. entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
  3014. entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
  3015. entity_set_edict(Ent, EV_ENT_owner, id);
  3016.  
  3017. VelocityByAim(id, 1000 , Velocity);
  3018. entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
  3019.  
  3020. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  3021. write_byte(22)
  3022. write_short(Ent)
  3023. write_short(sprite_beam)
  3024. write_byte(45)
  3025. write_byte(4)
  3026. write_byte(255)
  3027. write_byte(105)
  3028. write_byte(180)
  3029. write_byte(25)
  3030. message_end()
  3031. }
  3032. return PLUGIN_CONTINUE;
  3033. }
  3034.  
  3035. public KreirajDinamit(id)
  3036. {
  3037. if(!broj_dinamita_igraca[id])
  3038. {
  3039. client_print(id, print_center, "Vec ste iskoristili sav dinamit!");
  3040. return PLUGIN_CONTINUE;
  3041. }
  3042.  
  3043. if(inteligencija_igraca[id] < 1)
  3044. client_print(id, print_center, "Da koristite dinamit, morate povecati inteligenciju!");
  3045.  
  3046. broj_dinamita_igraca[id]--;
  3047.  
  3048. new Float:fOrigin[3];
  3049. entity_get_vector(id, EV_VEC_origin, fOrigin);
  3050.  
  3051. new iOrigin[3];
  3052. for(new i=0;i<3;i++)
  3053. iOrigin[i] = floatround(fOrigin[i]);
  3054.  
  3055. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  3056. write_byte(TE_EXPLOSION);
  3057. write_coord(iOrigin[0]);
  3058. write_coord(iOrigin[1]);
  3059. write_coord(iOrigin[2]);
  3060. write_short(sprite_blast);
  3061. write_byte(32);
  3062. write_byte(20);
  3063. write_byte(0);
  3064. message_end();
  3065.  
  3066. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  3067. write_byte( TE_BEAMCYLINDER );
  3068. write_coord( iOrigin[0] );
  3069. write_coord( iOrigin[1] );
  3070. write_coord( iOrigin[2] );
  3071. write_coord( iOrigin[0] );
  3072. write_coord( iOrigin[1] + 300 );
  3073. write_coord( iOrigin[2] + 300 );
  3074. write_short( sprite_white );
  3075. write_byte( 0 ); // startframe
  3076. write_byte( 0 ); // framerate
  3077. write_byte( 10 ); // life
  3078. write_byte( 10 ); // width
  3079. write_byte( 255 ); // noise
  3080. write_byte( 255 ); // r, g, b
  3081. write_byte( 100 );// r, g, b
  3082. write_byte( 100 ); // r, g, b
  3083. write_byte( 128 ); // brightness
  3084. write_byte( 8 ); // speed
  3085. message_end();
  3086.  
  3087. new entlist[33];
  3088. new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
  3089.  
  3090. for (new i=0; i < numfound; i++)
  3091. {
  3092. new pid = entlist[i];
  3093.  
  3094. if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24 || klasa_igraca[pid] == T32)
  3095. continue;
  3096. ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencija_igraca[id]) , 1);
  3097. }
  3098. return PLUGIN_CONTINUE;
  3099. }
  3100.  
  3101. public PostaviMine(id)
  3102. {
  3103. if (!broj_min_igraca[id])
  3104. {
  3105. client_print(id, print_center, "Vec ste iskoristili sve mine!");
  3106. return PLUGIN_CONTINUE;
  3107. }
  3108.  
  3109. if(inteligencija_igraca[id] < 1)
  3110. client_print(id, print_center, "Da koristite mine, morate povecati inteligenciju!");
  3111.  
  3112. broj_min_igraca[id]--;
  3113.  
  3114. new Float:origin[3];
  3115. entity_get_vector(id, EV_VEC_origin, origin);
  3116.  
  3117. new ent = create_entity("info_target");
  3118. entity_set_string(ent ,EV_SZ_classname, "Mine");
  3119. entity_set_edict(ent ,EV_ENT_owner, id);
  3120. entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
  3121. entity_set_origin(ent, origin);
  3122. entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
  3123.  
  3124. entity_set_model(ent, "models/mine.mdl");
  3125. entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
  3126.  
  3127. drop_to_floor(ent);
  3128.  
  3129. entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;
  3130.  
  3131. set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50) ;
  3132.  
  3133.  
  3134. return PLUGIN_CONTINUE;
  3135. }
  3136.  
  3137. public DodirMine(ent, id)
  3138. {
  3139. new attacker = entity_get_edict(ent, EV_ENT_owner);
  3140. if (get_user_team(attacker) != get_user_team(id))
  3141. {
  3142. new Float:fOrigin[3];
  3143. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  3144.  
  3145. new iOrigin[3];
  3146. for(new i=0;i<3;i++)
  3147. iOrigin[i] = floatround(fOrigin[i]);
  3148.  
  3149. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  3150. write_byte(TE_EXPLOSION);
  3151. write_coord(iOrigin[0]);
  3152. write_coord(iOrigin[1]);
  3153. write_coord(iOrigin[2]);
  3154. write_short(sprite_blast);
  3155. write_byte(32); // scale
  3156. write_byte(20); // framerate
  3157. write_byte(0);// flags
  3158. message_end();
  3159. new entlist[33];
  3160. new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
  3161.  
  3162. for (new i=0; i < numfound; i++)
  3163. {
  3164. new pid = entlist[i];
  3165.  
  3166. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24 || klasa_igraca[id] == Mitraljezac || klasa_igraca[id] == T32)
  3167. continue;
  3168.  
  3169. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencija_igraca[attacker]) , 1);
  3170. }
  3171. remove_entity(ent);
  3172. }
  3173. }
  3174.  
  3175. public DodirRakete(ent)
  3176. {
  3177. if ( !is_valid_ent(ent))
  3178. return;
  3179.  
  3180. new attacker = entity_get_edict(ent, EV_ENT_owner);
  3181.  
  3182. new Float:fOrigin[3];
  3183. entity_get_vector(ent, EV_VEC_origin, fOrigin);
  3184.  
  3185. new iOrigin[3];
  3186. for(new i=0;i<3;i++)
  3187. iOrigin[i] = floatround(fOrigin[i]);
  3188.  
  3189. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  3190. write_byte(TE_EXPLOSION);
  3191. write_coord(iOrigin[0]);
  3192. write_coord(iOrigin[1]);
  3193. write_coord(iOrigin[2]);
  3194. write_short(sprite_blast);
  3195. write_byte(32); // scale
  3196. write_byte(20); // framerate
  3197. write_byte(0);// flags
  3198. message_end();
  3199.  
  3200. new entlist[33];
  3201. new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
  3202.  
  3203. for (new i=0; i < numfound; i++)
  3204. {
  3205. new pid = entlist[i];
  3206.  
  3207. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24 || klasa_igraca[pid] == T32)
  3208. continue;
  3209. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencija_igraca[attacker]) , 1);
  3210. }
  3211. remove_entity(ent);
  3212. }
  3213. public fw_Touch(ent, id)
  3214. {
  3215. if (!pev_valid(ent))
  3216. return FMRES_IGNORED
  3217.  
  3218. new ClassName[32]
  3219. pev(ent, pev_classname, ClassName, charsmax(ClassName))
  3220.  
  3221. if(equal(ClassName, "rocket"))
  3222. {
  3223.  
  3224. new attacker = pev(ent, pev_owner);
  3225. new Float:entOrigin[3], Float:fDamage, Float:Origin[3];
  3226. pev(ent, pev_origin, entOrigin);
  3227. entOrigin[2] += 1.0;
  3228.  
  3229. new Float:g_damage = 300.0+(inteligencija_igraca[attacker]/4);
  3230. new Float:g_radius = 250.0+(inteligencija_igraca[attacker]/4);
  3231.  
  3232. new victim = -1
  3233. while((victim = engfunc(EngFunc_FindEntityInSphere, victim, entOrigin, g_radius)) != 0)
  3234. {
  3235. if(!is_user_alive(victim) || get_user_team(attacker) == get_user_team(victim))
  3236. continue;
  3237.  
  3238. pev(victim, pev_origin, Origin);
  3239. fDamage = g_damage - floatmul(g_damage, floatdiv(get_distance_f(Origin, entOrigin), g_radius));
  3240. fDamage *= estimate_take_hurt(entOrigin, victim, 0)
  3241. if(fDamage>0.0)
  3242. {
  3243. UTIL_Kill(attacker, victim, fDamage);
  3244.  
  3245. if(get_user_team(attacker)!=get_user_team(victim))
  3246. if(pev(victim, pev_health))
  3247. ExecuteHam(Ham_TakeDamage, victim, ent, attacker, fDamage, DMG_BULLET)
  3248.  
  3249. }
  3250. }
  3251. message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
  3252. write_byte(TE_EXPLOSION);
  3253. write_coord(floatround(entOrigin[0]));
  3254. write_coord(floatround(entOrigin[1]));
  3255. write_coord(floatround(entOrigin[2]));
  3256. write_short(sprite_blast);
  3257. write_byte(40);
  3258. write_byte(30);
  3259. write_byte(TE_EXPLFLAG_NONE);
  3260. message_end();
  3261.  
  3262. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  3263. write_byte(5)
  3264. write_coord(floatround(entOrigin[0]));
  3265. write_coord(floatround(entOrigin[1]));
  3266. write_coord(floatround(entOrigin[2]));
  3267. write_short(sprite_smoke);
  3268. write_byte(35);
  3269. write_byte(5);
  3270. message_end();
  3271. remove_entity(ent);
  3272. return FMRES_IGNORED
  3273. }
  3274. return FMRES_IGNORED
  3275. }
  3276. public CurWeapon(id)
  3277. {
  3278. if(freezetime || !klasa_igraca[id])
  3279. return PLUGIN_CONTINUE;
  3280.  
  3281. new weapon = get_user_weapon(id);
  3282.  
  3283. if(klasa_igraca[id] == Samuraj && weapon == CSW_KNIFE)
  3284. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 40);
  3285. else if(klasa_igraca[id] == Samuraj && weapon != CSW_KNIFE)
  3286. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  3287.  
  3288. if(klasa_igraca[id] == Assassin && weapon == CSW_KNIFE)
  3289. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 2);
  3290. else if(klasa_igraca[id] == Assassin && weapon != CSW_KNIFE)
  3291. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  3292.  
  3293. if(informacije_predmet_igraca[id][0] == 40 && weapon == CSW_KNIFE)
  3294. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 5);
  3295. else if(informacije_predmet_igraca[id][0] == 40 && weapon != CSW_KNIFE)
  3296. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
  3297.  
  3298. new weapons[32];
  3299. new weaponsnum;
  3300. get_user_weapons(id, weapons, weaponsnum);
  3301. for(new i=0; i<weaponsnum; i++)
  3302. if(is_user_alive(id))
  3303. if(maxAmmo[weapons[i]] > 0)
  3304. cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  3305.  
  3306. PostaviBrzinu(id);
  3307. return PLUGIN_CONTINUE;
  3308. }
  3309.  
  3310. public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
  3311. {
  3312. if(!is_user_alive(id))
  3313. return FMRES_IGNORED;
  3314.  
  3315. if(equal(szSound, "common/wpn_denyselect.wav"))
  3316. {
  3317. KoristiPredmet(id);
  3318. return FMRES_SUPERCEDE;
  3319. }
  3320.  
  3321. return FMRES_IGNORED;
  3322. }
  3323.  
  3324. public KoristiPredmet(id)
  3325. {
  3326. if(informacije_predmet_igraca[id][0] == 19 && informacije_predmet_igraca[id][1]>0)
  3327. {
  3328. set_user_health(id, maximalna_energija_igraca[id]);
  3329. informacije_predmet_igraca[id][1]--;
  3330. }
  3331. if(broj_medkit_igraca[id]>0)
  3332. KreirajMedKit(id);
  3333. if(broj_raketa_igraca[id]>0)
  3334. KreirajRakete(id);
  3335. if(broj_min_igraca[id]>0)
  3336. PostaviMine(id);
  3337. if(broj_dinamita_igraca[id]>0)
  3338. KreirajDinamit(id);
  3339.  
  3340. return PLUGIN_HANDLED;
  3341. }
  3342.  
  3343. public SacuvajPodatke(id)
  3344. {
  3345. if(!klasa_igraca[id])
  3346. return PLUGIN_CONTINUE;
  3347.  
  3348. new vaultkey[128],vaultdata[256], ID_igraca[64];
  3349. 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]);
  3350.  
  3351. get_user_authid(id, ID_igraca, charsmax(ID_igraca))
  3352.  
  3353. format(vaultkey, charsmax(vaultkey),"%s-%i-cod", ID_igraca, klasa_igraca[id]);
  3354. nvault_set(g_vault,vaultkey,vaultdata);
  3355.  
  3356. return PLUGIN_CONTINUE;
  3357. }
  3358.  
  3359. public UcitajPodatke(id, klasa)
  3360. {
  3361. new vaultkey[128],vaultdata[256], ID_igraca[64];
  3362.  
  3363. get_user_authid(id, ID_igraca, charsmax(ID_igraca))
  3364.  
  3365. format(vaultkey, charsmax(vaultkey),"%s-%i-cod", ID_igraca, klasa);
  3366. nvault_get(g_vault,vaultkey,vaultdata,255);
  3367.  
  3368. replace_all(vaultdata, 255, "#", " ");
  3369.  
  3370. new playerdata[6][32];
  3371.  
  3372. parse(vaultdata, playerdata[0], 31, playerdata[1], 31, playerdata[2], 31, playerdata[3], 31, playerdata[4], 31, playerdata[5], 31);
  3373.  
  3374. iskustvo_igraca[id] = str_to_num(playerdata[0]);
  3375. level_igraca[id] = str_to_num(playerdata[1])>0?str_to_num(playerdata[1]):1;
  3376. inteligencija_igraca[id] = str_to_num(playerdata[2]);
  3377. energija_igraca[id] = str_to_num(playerdata[3]);
  3378. snaga_igraca[id] = str_to_num(playerdata[4]);
  3379. kondicija_igraca[id] = str_to_num(playerdata[5]);
  3380. poeni_igraca[id] = (level_igraca[id]-1)*2-inteligencija_igraca[id]-energija_igraca[id]-snaga_igraca[id]-kondicija_igraca[id];
  3381.  
  3382. return PLUGIN_CONTINUE;
  3383. }
  3384.  
  3385. public IzbaciPredmet(id)
  3386. {
  3387. if(informacije_predmet_igraca[id][0])
  3388. {
  3389. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Bacio si ^3%s.", naziv_predmeta[informacije_predmet_igraca[id][0]]);
  3390. Obrisipredmet(id);
  3391. }
  3392. else
  3393. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Nemate nijedan predmet.", naziv_predmeta[informacije_predmet_igraca[id][0]]);
  3394. }
  3395.  
  3396. public Obrisipredmet(id)
  3397. {
  3398. informacije_predmet_igraca[id][0] = 0;
  3399. informacije_predmet_igraca[id][1] = 0;
  3400. if(is_user_alive(id))
  3401. {
  3402. set_user_footsteps(id, 0);
  3403. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  3404. PromeniModel(id, 1);
  3405. }
  3406. }
  3407.  
  3408. public DajPredmet(id, predmet)
  3409. {
  3410. Obrisipredmet(id);
  3411. informacije_predmet_igraca[id][0] = predmet;
  3412. snaga_predmeta[id] = 160;
  3413. ColorChat(id, NORMAL, "^4[COD:MW4] ^1Dobio si ^3%s.", naziv_predmeta[informacije_predmet_igraca[id][0]]);
  3414.  
  3415. switch(predmet)
  3416. {
  3417. case 1:
  3418. {
  3419. set_user_footsteps(id, 1);
  3420. }
  3421. case 2:
  3422. {
  3423. informacije_predmet_igraca[id][1] = random_num(3,6);
  3424. }
  3425. case 3:
  3426. {
  3427. informacije_predmet_igraca[id][1] = random_num(6, 11);
  3428. }
  3429. case 5:
  3430. {
  3431. informacije_predmet_igraca[id][1] = random_num(6, 9);
  3432. }
  3433. case 6:
  3434. {
  3435. if(klasa_igraca[id] == Partizan)
  3436. {
  3437. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  3438. }
  3439. else
  3440. {
  3441. informacije_predmet_igraca[id][1] = random_num(1, 9999);
  3442. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, informacije_predmet_igraca[id][1]);
  3443. }
  3444. }
  3445. case 7:
  3446. {
  3447. informacije_predmet_igraca[id][1] = random_num(2, 4);
  3448. }
  3449. case 8:
  3450. {
  3451. if(klasa_igraca[id] == Marinac)
  3452. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  3453. }
  3454. case 9:
  3455. {
  3456. informacije_predmet_igraca[id][1] = random_num(1, 3);
  3457. PromeniModel(id, 0);
  3458. give_item(id, "weapon_hegrenade");
  3459. }
  3460. case 10:
  3461. {
  3462. informacije_predmet_igraca[id][1] = random_num(4, 8);
  3463. give_item(id, "weapon_hegrenade");
  3464. }
  3465. case 12:
  3466. {
  3467. informacije_predmet_igraca[id][1] = random_num(1, 4);
  3468. }
  3469. case 13:
  3470. {
  3471. give_item(id, "weapon_awp");
  3472. }
  3473. case 15:
  3474. {
  3475. if(klasa_igraca[id] == Rambo)
  3476. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1));
  3477. }
  3478. case 19:
  3479. {
  3480. informacije_predmet_igraca[id][1] = 1;
  3481. }
  3482. case 26:
  3483. {
  3484. informacije_predmet_igraca[id][1] = random_num(3, 6);
  3485. }
  3486. case 27:
  3487. {
  3488. informacije_predmet_igraca[id][1] = 3;
  3489. }
  3490. }
  3491. }
  3492.  
  3493. public OpisPredmeta(id, menu, item)
  3494. {
  3495. new opis_predmeta[128];
  3496. new slucajne_vrednosti[3];
  3497. num_to_str(informacije_predmet_igraca[id][1], slucajne_vrednosti, 2);
  3498. format(opis_predmeta, 127, opis_predmet[informacije_predmet_igraca[id][0]]);
  3499. replace_all(opis_predmeta, 127, "LW", slucajne_vrednosti);
  3500. if(is_user_connected(id) && !is_user_alive(id))
  3501. {
  3502. new target = entity_get_int(id, EV_INT_iuser2);
  3503.  
  3504. if(!target)
  3505. return PLUGIN_CONTINUE;
  3506. if(item++ == MENU_EXIT)
  3507. {
  3508. menu_destroy(menu);
  3509. return PLUGIN_CONTINUE;
  3510. }
  3511. new opis3[552]
  3512. format(opis3, charsmax(opis3), "\rPredmet: \y%s^n\rOpis: \y%s.", naziv_predmeta[informacije_predmet_igraca[target][0]], opis_predmeta);
  3513. show_menu(id, 1023, opis3)
  3514. return PLUGIN_CONTINUE;
  3515. }
  3516. if(item++ == MENU_EXIT)
  3517. {
  3518. menu_destroy(menu);
  3519. return PLUGIN_CONTINUE;
  3520. }
  3521. new opis2[552]
  3522. format(opis2, charsmax(opis2), "\rPredmet: \y%s^n\rOpis: \y%s.", naziv_predmeta[informacije_predmet_igraca[id][0]], opis_predmeta);
  3523. show_menu(id, 1023, opis2)
  3524. return PLUGIN_CONTINUE;
  3525. }
  3526.  
  3527. public Provera(id)
  3528. {
  3529. id-=ZADATAK_PROVERA;
  3530. ExecuteHamB(Ham_CS_RoundRespawn, id);
  3531. }
  3532.  
  3533. public ProveriNivo(id)
  3534. {
  3535. if(!is_user_connected(id))
  3536. {
  3537. return PLUGIN_HANDLED
  3538. }
  3539. new max_level = 10001
  3540.  
  3541. while(iskustvo_igraca[id] >= iskustvo_levelu[id] && level_igraca[id] < max_level)
  3542. {
  3543. level_igraca[id]++
  3544. levelRank[id] = level_igraca[id]
  3545. levelSacuvajRank(id, levelRank[id])
  3546. poeni_igraca[id] = (level_igraca[id] - 1) * 2 - inteligencija_igraca[id] - energija_igraca[id] - snaga_igraca[id] - kondicija_igraca[id]
  3547.  
  3548. set_hudmessage(0, 255, 0, -1.0, 0.3, 0, 6.0, 5.0)
  3549. ShowSyncHudMsg(id, SyncHudObj3,"Dobrodosao na %i Level!", level_igraca[id])
  3550. client_cmd(id, "spk MW4/levelup")
  3551. iskustvo_levelu[id] = ((level_igraca[id] * level_igraca[id]) * 7)
  3552. }
  3553. SacuvajPodatke(id)
  3554. return PLUGIN_CONTINUE
  3555. }
  3556.  
  3557. public PokaziInformacije(id)
  3558. {
  3559. id -= ZADATAK_POKAZI_INFORMACIJE;
  3560.  
  3561. set_task(0.1, "PokaziInformacije", id+ZADATAK_POKAZI_INFORMACIJE);
  3562.  
  3563. if(is_user_connected(id) && !is_user_alive(id))
  3564. {
  3565. new target = entity_get_int(id, EV_INT_iuser2);
  3566.  
  3567. if(!target)
  3568. return PLUGIN_CONTINUE;
  3569. new iskustvo_za_lvl = ((level_igraca[target] * level_igraca[target]) * 7)
  3570. /*set_hudmessage(-122, 255, 0, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  3571. ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nIskustvo : %i / %i ^nLevel : %i^nPredmet : %s^nEnergija %d^nGB: %i^nUbistva: x%d", naziv_klase[klasa_igraca[target]], iskustvo_igraca[target], iskustvo_za_lvl, level_igraca[target], naziv_predmeta[informacije_predmet_igraca[target][0]], get_user_health(target), shop_poeni_igraca[target], killovi[target]);
  3572. */
  3573. set_dhudmessage(-022, 255, 0, -1.0, 0.0, 0, 0.0, 0.3, 0.0, 0.0);
  3574. show_dhudmessage(id, "-=[Klasa:%s]==[XP:%i/%i]==[Level:%i]=-^n-=[Predmet:%s]==[HP:%d]=-",naziv_klase[klasa_igraca[target]], iskustvo_igraca[target], iskustvo_za_lvl, level_igraca[target],naziv_predmeta[informacije_predmet_igraca[target][0]], get_user_health(id));
  3575.  
  3576. return PLUGIN_CONTINUE;
  3577. }
  3578. new iskustvo_za_lvl = ((level_igraca[id] * level_igraca[id]) * 7)
  3579. /*set_hudmessage(0, 100, 0,0.02, 0.17, 0, 0.0, 0.3, 0.0, 0.0);
  3580. ShowSyncHudMsg(id, SyncHudObj, "[Klasa: %s]^n[Predmet: %s]^n[Iskustvo: %i / %i]^n[Level: %i]^n[Energija: %d]^n[GB: %i]^n[Ubistva: x%i]^n[Server:Sumadija CoD:Mw4 uzivajte]^n[IP:193.104.68.55:27020]", naziv_klase[klasa_igraca[id]], naziv_predmeta[informacije_predmet_igraca[id][0]], iskustvo_igraca[id], iskustvo_za_lvl, level_igraca[id], get_user_health(id), shop_poeni_igraca[id], killovi[id]);
  3581. */
  3582. set_dhudmessage(250, 0, 0, -1.0, 0.0, 0, 0.0, 0.3, 0.0, 0.0);
  3583. show_dhudmessage(id, "-=[Klasa:%s]==[XP:%i/%i]==[Level:%i]=-^n-=[Predmet:%s]==[HP:%d]=-^n-=[GB:%i]==[Ubistva:%i]=-",naziv_klase[klasa_igraca[id]], iskustvo_igraca[id], iskustvo_za_lvl, level_igraca[id],naziv_predmeta[informacije_predmet_igraca[id][0]], get_user_health(id), shop_poeni_igraca[id], killovi[id]);
  3584. if(broj_medkit_igraca[id] != 0)
  3585. {
  3586. set_hudmessage(-122, 255, 0, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  3587. ShowSyncHudMsg(id, SyncHudObj2, "[Medkit: %i]", broj_medkit_igraca[id])
  3588. }
  3589. if(broj_raketa_igraca[id] != 0)
  3590. {
  3591. set_hudmessage(-122, 255, 0, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  3592. ShowSyncHudMsg(id, SyncHudObj2, "[Rakete: %i]", broj_raketa_igraca[id])
  3593. }
  3594. if(broj_min_igraca[id] != 0)
  3595. {
  3596. set_hudmessage(-122, 255, 0, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  3597. ShowSyncHudMsg(id, SyncHudObj2, "[Mine: %i]", broj_min_igraca[id])
  3598. }
  3599. if(broj_dinamita_igraca[id] != 0)
  3600. {
  3601. set_hudmessage(-122, 255, 0, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  3602. ShowSyncHudMsg(id, SyncHudObj2, "[Dinamit: %i]", broj_dinamita_igraca[id])
  3603. }
  3604. return PLUGIN_CONTINUE;
  3605. }
  3606.  
  3607. public PokaziIp(id)
  3608. {
  3609. id -= ZADATAK_POKAZI_INF
  3610. if(is_user_connected(id))
  3611. {
  3612. set_task(0.1, "PokaziIp",id+ZADATAK_POKAZI_INF)
  3613.  
  3614. set_hudmessage(250, 0, 0, -1.0, 0.12, 0, 0.0, 0.3, 0.0, 0.0, 2);
  3615. ShowSyncHudMsg(id, SyncHudObj, "[Server:Sumadija CoD:Mw4 uzivajte]^n[IP:193.104.68.55:27020]");
  3616. }
  3617. }
  3618.  
  3619. public Pomoc(id)
  3620. 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");
  3621.  
  3622. public PostaviBrzinu(id)
  3623. {
  3624. id -= id>32? ZADATAK_POSTAVI_brzinu: 0;
  3625.  
  3626. if(klasa_igraca[id])
  3627. set_user_maxspeed(id, brzina_igraca[id]);
  3628. }
  3629.  
  3630. public PromeniModel(id,reset)
  3631. {
  3632. if (id<1 || id>32 || !is_user_connected(id))
  3633. return PLUGIN_CONTINUE;
  3634.  
  3635. if (reset)
  3636. cs_reset_user_model(id);
  3637. else
  3638. {
  3639. new num = random_num(0,3);
  3640. switch(get_user_team(id))
  3641. {
  3642. case 1: cs_set_user_model(id, Ubrania_CT[num]);
  3643. case 2:cs_set_user_model(id, Ubrania_Terro[num]);
  3644. }
  3645. }
  3646. return PLUGIN_CONTINUE;
  3647. }
  3648. public fw_traceline(Float:vecStart[3],Float:vecEnd[3],ignoreM,id,trace)
  3649. {
  3650. if(!is_user_connected(id))
  3651. return;
  3652.  
  3653. new hit = get_tr2(trace, TR_pHit);
  3654.  
  3655. if(!is_user_connected(hit))
  3656. return;
  3657.  
  3658. new hitzone = get_tr2(trace, TR_iHitgroup);
  3659. if(informacije_predmet_igraca[hit][0] == 41 && hitzone != HIT_HEAD || klasa_igraca[hit] == PTJ && hitzone != HIT_HEAD)
  3660. set_tr2(trace, TR_iHitgroup, 8);
  3661.  
  3662. if(informacije_predmet_igraca[id][0] == 42 && !random(5) && get_user_weapon(id) == CSW_AWP)
  3663. set_tr2(trace, TR_iHitgroup, HIT_HEAD);
  3664. if(informacije_predmet_igraca[id][0] == 43 && get_user_weapon(id) == CSW_USP)
  3665. set_tr2(trace, TR_iHitgroup, HIT_HEAD);
  3666. if(informacije_predmet_igraca[id][0] == 50 && get_user_weapon(id) == CSW_M4A1)
  3667. set_tr2(trace, TR_iHitgroup, HIT_HEAD);
  3668. if(informacije_predmet_igraca[id][0] == 51 && get_user_weapon(id) == CSW_AK47)
  3669. set_tr2(trace, TR_iHitgroup, HIT_HEAD);
  3670. }
  3671. public DodirOruzija(weapon,id)
  3672. {
  3673. if(!is_user_connected(id))
  3674. return HAM_IGNORED;
  3675.  
  3676. new model[23];
  3677. pev(weapon, pev_model, model, 22);
  3678. if (pev(weapon, pev_owner) == id || containi(model, "w_backpack") != -1)
  3679. return HAM_IGNORED;
  3680. return HAM_SUPERCEDE;
  3681. }
  3682.  
  3683. stock bool:UTIL_In_FOV(id,target)
  3684. {
  3685. if (Find_Angle(id,target,9999.9) > 0.0)
  3686. return true;
  3687.  
  3688. return false;
  3689. }
  3690. stock UTIL_Kill(attacker, this, Float:damage)
  3691. {
  3692. if(get_user_health(this) <= floatround(damage))
  3693. lansirano[attacker][this] = true;
  3694. }
  3695. #if defined BOTY
  3696. public is_user_bot2(id)
  3697. {
  3698. new ping, loss
  3699. get_user_ping(id, ping, loss)
  3700. if(ping > 0 && loss > 0)
  3701. return false
  3702. return true
  3703. }
  3704. #endif
  3705.  
  3706. stock Float:Find_Angle(Core,Target,Float:dist)
  3707. {
  3708. new Float:vec2LOS[2];
  3709. new Float:flDot;
  3710. new Float:CoreOrigin[3];
  3711. new Float:TargetOrigin[3];
  3712. new Float:CoreAngles[3];
  3713.  
  3714. pev(Core,pev_origin,CoreOrigin);
  3715. pev(Target,pev_origin,TargetOrigin);
  3716.  
  3717. if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
  3718. return 0.0;
  3719.  
  3720. pev(Core,pev_angles, CoreAngles);
  3721.  
  3722. for ( new i = 0; i < 2; i++ )
  3723. vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i];
  3724.  
  3725. new Float:veclength = Vec2DLength(vec2LOS);
  3726.  
  3727. //Normalize V2LOS
  3728. if (veclength <= 0.0)
  3729. {
  3730. vec2LOS[0] = 0.0;
  3731. vec2LOS[1] = 0.0;
  3732. }
  3733. else
  3734. {
  3735. new Float:flLen = 1.0 / veclength;
  3736. vec2LOS[0] = vec2LOS[0]*flLen;
  3737. vec2LOS[1] = vec2LOS[1]*flLen;
  3738. }
  3739.  
  3740. //Do a makevector to make v_forward right
  3741. engfunc(EngFunc_MakeVectors,CoreAngles);
  3742.  
  3743. new Float:v_forward[3];
  3744. new Float:v_forward2D[2];
  3745. get_global_vector(GL_v_forward, v_forward);
  3746.  
  3747. v_forward2D[0] = v_forward[0];
  3748. v_forward2D[1] = v_forward[1];
  3749.  
  3750. flDot = vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1];
  3751.  
  3752. if ( flDot > 0.5 )
  3753. {
  3754. return flDot;
  3755. }
  3756.  
  3757. return 0.0;
  3758. }
  3759.  
  3760. stock Float:Vec2DLength( Float:Vec[2] )
  3761. {
  3762. return floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
  3763. }
  3764.  
  3765. stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
  3766. {
  3767. message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
  3768. write_short( duration ); // Duration of fadeout
  3769. write_short( holdtime ); // Hold time of color
  3770. write_short( fadetype ); // Fade type
  3771. write_byte ( red ); // Red
  3772. write_byte ( green ); // Green
  3773. write_byte ( blue ); // Blue
  3774. write_byte ( alpha ); // Alpha
  3775. message_end();
  3776. }
  3777. public SetModel(ent, model[])
  3778. {
  3779. if(!pev_valid(ent))
  3780. return FMRES_IGNORED
  3781.  
  3782. if(!equal(model, "models/w_p228.mdl"))
  3783. return FMRES_IGNORED;
  3784.  
  3785. new id = pev(ent, pev_owner);
  3786. if(!ima_bazuku[id])
  3787. return FMRES_IGNORED;
  3788.  
  3789. engfunc(EngFunc_SetModel, ent, "models/w_law.mdl");
  3790. set_pev(ent, pev_iuser4, rakete_igraca[id]);
  3791. ima_bazuku[id] = false;
  3792. return FMRES_SUPERCEDE;
  3793. }
  3794. public levelTop15(id)
  3795. {
  3796. new i, count
  3797. static sort[33][2], maxPlayers
  3798.  
  3799. if(!maxPlayers) maxPlayers = get_maxplayers()
  3800.  
  3801. for(i=1;i<=maxPlayers;i++)
  3802. {
  3803. sort[count][0] = i
  3804. sort[count][1] = levelRank[i]
  3805. count++
  3806. }
  3807.  
  3808. SortCustom2D(sort,count,"levelStats")
  3809.  
  3810. new buffer[2048]
  3811. new line[256]
  3812.  
  3813. new len = format( buffer, 2047, "<body bgcolor=#000000 style=^"color:#ffffff^"><pre><Center><table width=100%% cellpadding=1 cellspacing=1 border=0>")
  3814. len += format( buffer[len], 2047-len, "<tr style=^"color:#8FABFF^"><th width=5%%>#<th width=60%%>Nick<th width=35%%>Level")
  3815.  
  3816. new players[32], num
  3817. get_players(players, num)
  3818.  
  3819. new fr = clamp(count,0,15)
  3820.  
  3821. new name[42], player
  3822.  
  3823. for(new a = 0; a < fr; a++)
  3824. {
  3825. player = sort[a][0]
  3826.  
  3827. get_user_name(player, name, 41)
  3828.  
  3829. while (containi(name, "<") != -1)
  3830. replace(name, 63, "<", "<")
  3831. while (containi(name, ">") != -1)
  3832. replace(name, 63, ">", ">")
  3833.  
  3834. format(line, 255, "<tr %s><td>%d<td style=^"color:%s^">%s<td>%d", ((a%2)==0) ? " bgcolor=#333333" : " bgcolor=#262626", a+1,((a%2)==0) ? "#9CFF7A" : "red", name, sort[a][1])
  3835. len += format( buffer[len], 2047-len, line )
  3836. }
  3837.  
  3838. format(line, 255, "</table><font color=^"red^">(Statistika trenutno pristutnih igraca)</body></pre>" )
  3839. len += format( buffer[len], 2047-len, line )
  3840. show_motd(id, buffer, "Level - Top 15")
  3841.  
  3842. return PLUGIN_CONTINUE
  3843. }
  3844.  
  3845. public levelStats(elem1[],elem2[])
  3846. {
  3847. if(elem1[1] > elem2[1]) return -1
  3848. else if(elem1[1] < elem2[1]) return 1
  3849.  
  3850. return PLUGIN_CONTINUE
  3851. }
  3852. public levelUcitajRank( id )
  3853. {
  3854. new valut = nvault_open("Level_rank")
  3855.  
  3856. new authid[33]
  3857. new vaultkey[64], vaultdata[64]
  3858.  
  3859. get_user_authid(id, authid, 32)
  3860.  
  3861. format(vaultkey, 63, "_LEVEL_RANK_%s_BODOVI_", authid)
  3862.  
  3863. nvault_get(valut, vaultkey, vaultdata, 63)
  3864. nvault_close(valut)
  3865.  
  3866. return str_to_num(vaultdata)
  3867. }
  3868.  
  3869. public levelSacuvajRank(id,Bodovi)
  3870. {
  3871. new valut = nvault_open("Level_rank")
  3872.  
  3873. if(valut == INVALID_HANDLE)
  3874. set_fail_state("Greska nValut Level_rank (invalid handle)")
  3875.  
  3876. new name[33], authid[32]
  3877. new vaultkey[64], vaultdata[64]
  3878.  
  3879. get_user_authid(id, authid, 31)
  3880. get_user_name(id, name, 32)
  3881.  
  3882. format(vaultkey, 63, "_LEVEL_RANK_%s_BODOVI_", authid)
  3883. format(vaultdata, 63, "%d_NICK_^"%s^"^n", Bodovi, name)
  3884.  
  3885. nvault_set(valut, vaultkey, vaultdata)
  3886. }
  3887. public levelPrikaziRank(id)
  3888. {
  3889. ColorChat(id, TEAM_COLOR,"^4[COD MW4] ^1Tvoj level je ^4%d", levelRank[id])
  3890. }
  3891. public message_DeathMsg()
  3892. {
  3893. static killer, victim;
  3894. killer = get_msg_arg_int(1);
  3895. victim = get_msg_arg_int(2);
  3896.  
  3897. if(lansirano[killer][victim])
  3898. {
  3899. lansirano[killer][victim] = false;
  3900. set_msg_arg_string(4, "grenade");
  3901. return PLUGIN_CONTINUE;
  3902. }
  3903. return PLUGIN_CONTINUE;
  3904. }
  3905. public task_launcher_reload(id)
  3906. {
  3907. id -= 3512;
  3908. reloading[id] = false;
  3909. set_pev(id, pev_weaponanim, 0);
  3910. }
  3911. public Weapon_Deploy(ent)
  3912. {
  3913. new id = get_pdata_cbase(ent, 41, 4);
  3914. if(ima_bazuku[id])
  3915. {
  3916. set_pev(id, pev_viewmodel2, "models/v_law.mdl");
  3917. set_pev(id, pev_weaponmodel2, "models/p_law.mdl");
  3918. }
  3919. return PLUGIN_CONTINUE;
  3920. }
  3921. public Weapon_WeaponIdle(ent)
  3922. {
  3923. new id = get_pdata_cbase(ent, 41, 4);
  3924. if(get_user_weapon(id) == 1 && ima_bazuku[id])
  3925. {
  3926. if(!idle[id])
  3927. idle[id] = get_gametime();
  3928. }
  3929. }
  3930. stock set_user_clip(id, ammo)
  3931. {
  3932. new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
  3933. get_weaponname(weapon, weaponname, 31);
  3934. while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
  3935. if(entity_get_edict(weaponid, EV_ENT_owner) == id)
  3936. {
  3937. set_pdata_int(weaponid, 51, ammo, 4);
  3938. return weaponid;
  3939. }
  3940. return 0;
  3941. }
  3942. stock Float:estimate_take_hurt(Float:fPoint[3], ent, ignored)
  3943. {
  3944. new Float:fOrigin[3];
  3945. new tr;
  3946. new Float:fFraction;
  3947. pev(ent, pev_origin, fOrigin);
  3948. engfunc(EngFunc_TraceLine, fPoint, fOrigin, DONT_IGNORE_MONSTERS, ignored, tr);
  3949. get_tr2(tr, TR_flFraction, fFraction);
  3950.  
  3951. if(fFraction == 1.0 || get_tr2(tr, TR_pHit) == ent)
  3952. {
  3953. return 1.0;
  3954. }
  3955. return 0.6;
  3956. }
  3957.  
  3958. public BlokirajKomande()
  3959. return PLUGIN_HANDLED;
  3960.  
  3961. public plugin_end()
  3962. nvault_close( g_vault )
  3963. public cmd_setpredmet(id, level, cid)
  3964. {
  3965. if(!cmd_access(id,level,cid,3))
  3966. return PLUGIN_HANDLED;
  3967.  
  3968. new arg1[33];
  3969. new arg2[6];
  3970.  
  3971. read_argv(1, arg1, 32);
  3972. read_argv(2, arg2, 5);
  3973.  
  3974. new igrac = cmd_target(id, arg1, 0)
  3975. new predmet = str_to_num(arg2)
  3976.  
  3977. if(!is_user_alive(igrac))
  3978. {
  3979. client_print(id, print_console, "Ne mozete dati predmet mrtvom igracu.");
  3980. return PLUGIN_HANDLED;
  3981. }
  3982.  
  3983. if(predmet < 0 || predmet > sizeof naziv_predmeta-1)
  3984. {
  3985. client_print(id, print_console, "Uneli ste nevazeci broj predmeta.");
  3986. return PLUGIN_HANDLED;
  3987. }
  3988.  
  3989. DajPredmet(igrac, predmet);
  3990.  
  3991. if(get_cvar_num("cod_predmet_log"))
  3992. {
  3993. new vreme[9] ,authid[32], authid2[32], name2[32], name[32];
  3994. get_user_authid(id, authid, 31);
  3995. get_user_authid(igrac, authid2, 31);
  3996. get_user_name(igrac, name2, 31);
  3997. get_user_name(id, name, 31);
  3998. get_time("%H:%M:%S", vreme, 8);
  3999.  
  4000. }
  4001.  
  4002. return PLUGIN_HANDLED;
  4003. }
  4004. public KupiDefuse(id)
  4005. {
  4006. new pare_igraca = cs_get_user_money(id);
  4007.  
  4008. if(get_user_team(id) != 2)
  4009. {
  4010. ColorChat(id, NORMAL, "^3[COD:MW4]^4 Samo CT tim moze da kupi def");
  4011. return PLUGIN_CONTINUE;
  4012. }
  4013. else if(pare_igraca < 200)
  4014. {
  4015. ColorChat(id, NORMAL, "^3[COD:MW4]^4 Nemate dovoljno para");
  4016. ColorChat(id, NORMAL, "^3[COD:MW4]^4 Imate^3 %i/ 200", pare_igraca);
  4017. return PLUGIN_CONTINUE;
  4018. }
  4019. else if(cs_get_user_defuse(id) == 1)
  4020. {
  4021. ColorChat(id, NORMAL, "^3[COD:MW4]^4 Vec imate defuse kit");
  4022. return PLUGIN_CONTINUE;
  4023. }
  4024. cs_set_user_money(id, pare_igraca-200);
  4025. cs_set_user_defuse(id, 1);
  4026.  
  4027. return PLUGIN_CONTINUE;
  4028. }
  4029. public kupilevel(id) {
  4030. new menu;
  4031. menu = menu_create("Naruccbine:","menu_handle6");
  4032. menu_additem(menu,"\r80 levela");
  4033. menu_additem(menu,"\r160 levela");
  4034. menu_additem(menu,"\yPremium Klase");
  4035. menu_display(id,menu);
  4036. }
  4037. public menu_handle6(id,menu,item) {
  4038. if(item == MENU_EXIT)
  4039. {
  4040. menu_destroy(menu);
  4041. return 1;
  4042. }
  4043. switch(item) {
  4044. case 0: {
  4045.  
  4046. SubMenu2(id);
  4047. }
  4048.  
  4049. case 1: {
  4050. SubMenu(id);
  4051.  
  4052. }
  4053. case 2: {
  4054. SubMenu3(id);
  4055.  
  4056. }
  4057. }
  4058. return PLUGIN_CONTINUE;
  4059. }
  4060. SubMenu2(id)
  4061. {
  4062. new menu2;
  4063. menu2 = menu_create("Da li si siguran da zelis da kupis 80 levela?","menu_handle2")
  4064. menu_additem(menu2,"Da zelim da kupim levele!");
  4065. menu_additem(menu2,"Ne, ne zelim da kupim levele!");
  4066.  
  4067. menu_display(id,menu2);
  4068. }
  4069. SubMenu3(id)
  4070. {
  4071. new menu2;
  4072. menu2 = menu_create("Narudzbina Klasa:","menu_handle3")
  4073. menu_additem(menu2,"\yAssassin \rCena:\y2 BOOST-a");
  4074. menu_additem(menu2,"\yMajor \rCena:\y1 BOOST");
  4075. menu_additem(menu2,"\yMaster \rCena:\y2 BOOST");
  4076. menu_additem(menu2,"\yRatko Mladic \rCena:\y2 BOOST-a");
  4077. menu_additem(menu2,"\yPTJ \rCena:\y2 BOOST");
  4078. menu_additem(menu2,"\yKomandos \rCena:\y2 BOOST-a");
  4079. menu_additem(menu2,"\yBazooka Soldier \rCena:\y2 BOOST-a");
  4080. menu_additem(menu2,"\ySoap \rCena:\y2 BOOST-a");
  4081. menu_additem(menu2,"\ySuper Swat \rCena:\y4 BOOST-a");
  4082.  
  4083. menu_display(id,menu2);
  4084. }
  4085.  
  4086. public menu_handle2(id,menu2,item) {
  4087.  
  4088. if(item == MENU_EXIT)
  4089. {
  4090. menu_destroy(menu2);
  4091. kupilevel(id);
  4092. }
  4093.  
  4094. switch(item)
  4095. {
  4096. case 0: {
  4097. new name[32],vreme[9];
  4098. get_user_name(id,name,31);
  4099. get_time("%H:%M:%S",vreme,8);
  4100. log_to_file("porudzbine.txt","[%s] %s je narucio 80 levela.",vreme,name);
  4101. ColorChat(id, GREEN, "^3[COD:MW4]^4Tvoja porudzbina je uspesno potvrdjena, javi se adminu da ti da dalja uputstva.");
  4102.  
  4103. menu_destroy(menu2);
  4104. return PLUGIN_HANDLED;
  4105.  
  4106. }
  4107. case 1:
  4108. {
  4109. client_print(id,print_chat,"Otkazao si svoju porudzbinu");
  4110. menu_destroy(menu2);
  4111. kupilevel(id);
  4112. }
  4113. }
  4114.  
  4115.  
  4116.  
  4117.  
  4118. return PLUGIN_CONTINUE;
  4119. }
  4120. public menu_handle3(id,menu2,item) {
  4121.  
  4122. if(item == MENU_EXIT)
  4123. {
  4124. menu_destroy(menu2);
  4125. kupilevel(id);
  4126. }
  4127.  
  4128. switch(item)
  4129. {
  4130. case 0: {
  4131. new name[32],vreme[9];
  4132. get_user_name(id,name,31);
  4133. get_time("%H:%M:%S",vreme,8);
  4134. log_to_file("porudzbine.txt","[%s] %s je narucio Assassina.",vreme,name);
  4135. ColorChat(id, GREEN, "^3[COD:MW4]^4Tvoja porudzbina je uspesno potvrdjena, javi se adminu da ti da dalja uputstva.");
  4136.  
  4137. menu_destroy(menu2);
  4138. return PLUGIN_HANDLED;
  4139.  
  4140. }
  4141. case 1:
  4142. {
  4143. new name[32],vreme[9];
  4144. get_user_name(id,name,31);
  4145. get_time("%H:%M:%S",vreme,8);
  4146. log_to_file("porudzbine.txt","[%s] %s je narucio Majora.",vreme,name);
  4147. ColorChat(id, GREEN, "^3[COD:MW4]^4Tvoja porudzbina je uspesno potvrdjena, javi se adminu da ti da dalja uputstva.");
  4148.  
  4149. menu_destroy(menu2);
  4150. return PLUGIN_HANDLED;
  4151. }
  4152. case 2:
  4153. {
  4154. new name[32],vreme[9];
  4155. get_user_name(id,name,31);
  4156. get_time("%H:%M:%S",vreme,8);
  4157. log_to_file("porudzbine.txt","[%s] %s je narucio Armageddon.",vreme,name);
  4158. ColorChat(id, GREEN, "^3[COD:MW4]^4Tvoja porudzbina je uspesno potvrdjena, javi se adminu da ti da dalja uputstva.");
  4159.  
  4160. menu_destroy(menu2);
  4161. return PLUGIN_HANDLED;
  4162. }
  4163. case 3:
  4164. {
  4165. new name[32],vreme[9];
  4166. get_user_name(id,name,31);
  4167. get_time("%H:%M:%S",vreme,8);
  4168. log_to_file("porudzbine.txt","[%s] %s je narucio Ratka Mladica.",vreme,name);
  4169. ColorChat(id, GREEN, "^3[COD:MW4]^4Tvoja porudzbina je uspesno potvrdjena, javi se adminu da ti da dalja uputstva.");
  4170.  
  4171. menu_destroy(menu2);
  4172. return PLUGIN_HANDLED;
  4173. }
  4174. case 4:
  4175. {
  4176. new name[32],vreme[9];
  4177. get_user_name(id,name,31);
  4178. get_time("%H:%M:%S",vreme,8);
  4179. log_to_file("porudzbine.txt","[%s] %s je narucio Generala.",vreme,name);
  4180. ColorChat(id, GREEN, "^3[COD:MW4]^4Tvoja porudzbina je uspesno potvrdjena, javi se adminu da ti da dalja uputstva.");
  4181.  
  4182. menu_destroy(menu2);
  4183. return PLUGIN_HANDLED;
  4184. }
  4185. case 5:
  4186. {
  4187. new name[32],vreme[9];
  4188. get_user_name(id,name,31);
  4189. get_time("%H:%M:%S",vreme,8);
  4190. log_to_file("porudzbine.txt","[%s] %s je narucio Komandosa.",vreme,name);
  4191. ColorChat(id, GREEN, "^3[COD:MW4]^4Tvoja porudzbina je uspesno potvrdjena, javi se adminu da ti da dalja uputstva.");
  4192.  
  4193. menu_destroy(menu2);
  4194. return PLUGIN_HANDLED;
  4195. }
  4196. case 6:
  4197. {
  4198. new name[32],vreme[9];
  4199. get_user_name(id,name,31);
  4200. get_time("%H:%M:%S",vreme,8);
  4201. log_to_file("porudzbine.txt","[%s] %s je narucio Bazooka Soldier.",vreme,name);
  4202. ColorChat(id, GREEN, "^3[COD:MW4]^4Tvoja porudzbina je uspesno potvrdjena, javi se adminu da ti da dalja uputstva.");
  4203.  
  4204. menu_destroy(menu2);
  4205. return PLUGIN_HANDLED;
  4206. }
  4207. case 7:
  4208. {
  4209. new name[32],vreme[9];
  4210. get_user_name(id,name,31);
  4211. get_time("%H:%M:%S",vreme,8);
  4212. log_to_file("porudzbine.txt","[%s] %s je narucio Soapa.",vreme,name);
  4213. ColorChat(id, GREEN, "^3[COD:MW4]^4Tvoja porudzbina je uspesno potvrdjena, javi se adminu da ti da dalja uputstva.");
  4214.  
  4215. menu_destroy(menu2);
  4216. return PLUGIN_HANDLED;
  4217. }
  4218. case 8:
  4219. {
  4220. new name[32],vreme[9];
  4221. get_user_name(id,name,31);
  4222. get_time("%H:%M:%S",vreme,8);
  4223. log_to_file("porudzbine.txt","[%s] %s je narucio Super Swata.",vreme,name);
  4224. ColorChat(id, GREEN, "^3[COD:MW4]^4Tvoja porudzbina je uspesno potvrdjena, javi se adminu da ti da dalja uputstva.");
  4225.  
  4226. menu_destroy(menu2);
  4227. return PLUGIN_HANDLED;
  4228. }
  4229. }
  4230.  
  4231.  
  4232.  
  4233.  
  4234. return PLUGIN_CONTINUE;
  4235. }
  4236. SubMenu(id)
  4237. {
  4238. new menu;
  4239. menu = menu_create("Da li si siguran da zelis da kupis 160 levela?","menu_handler")
  4240. menu_additem(menu,"Da zelim da kupim levele!");
  4241. menu_additem(menu,"Ne, ne zelim da kupim levele!");
  4242. menu_display(id,menu);
  4243. }
  4244.  
  4245. public menu_handler(id,item,menu) {
  4246.  
  4247. if(item == MENU_EXIT) {
  4248. menu_destroy(menu);
  4249. }
  4250. switch(item) {
  4251. case 0: {
  4252.  
  4253. new name[32],vreme[9];
  4254. get_time("%H:%M:%S",vreme,8);
  4255. get_user_name(id,name,31);
  4256. log_to_file("porudzbine.txt","[%s] %s je narucio 160 levela.",vreme,name);
  4257. ColorChat(id, GREEN, "^3[COD:MW4]^4Tvoja porudzbina je uspesno potvrdjena, javi se adminu da ti da dalja uputstva.");
  4258.  
  4259. menu_destroy(menu);
  4260.  
  4261. return PLUGIN_HANDLED;
  4262.  
  4263. }
  4264. case 1:
  4265. {
  4266. client_print(id,print_chat,"Otkazao si svoju porudzbinu");
  4267. menu_destroy(menu);
  4268. kupilevel(id);
  4269. }
  4270. }
  4271. return PLUGIN_CONTINUE;
  4272.  
  4273. }
Advertisement
Add Comment
Please, Sign In to add comment