Guest User

Untitled

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