Advertisement
RuleBreaker

Untitled

Feb 2nd, 2012
4,754
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 64.12 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 STANDARDNA_BRZINA 250.0
  12.  
  13. #define ZADATAK_POKAZI_INFORMACIJE 672
  14. #define ZADATAK_PROVERA 704
  15. #define ZADATAK_SANITARNA_OBUKA 736
  16. #define ZADATAK_POSTAVI_BRZINU 832
  17.  
  18. new killovi[32]
  19. //new p_LevelRatio
  20. //new p_MaxLevel
  21.  
  22. new SyncHudObj
  23. new SyncHudObj2
  24. new SyncHudObj3
  25. new g_msg_screenfade
  26.  
  27. new sprite_white
  28. new sprite_blast
  29.  
  30. new g_vault
  31. new g_msgStatusIcon
  32.  
  33. new postavljena
  34. new deaktivirana
  35.  
  36. new iskustvo_za_ubistvo
  37. new iskustvo_za_c4
  38.  
  39. new Kamuflaza_CT[4][] = { "sas", "gsg9", "urban", "gign" }
  40. new Kamuflaza_T[4][] = { "arctic", "leet", "guerilla", "terror" }
  41.  
  42. 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}
  43. new const maxClip[31]={-1,13,-1,10,1,7,1,30,30,1,30,20,25,30,35,25,12,20,10,30,100,8,30,30,20,2,7,30,30,-1,50}
  44.  
  45. new informacije_predmet_igraca[33][2]
  46. new const naziv_predmeta[][] = {
  47. "Nema",
  48. "Necujne Cizme", //1
  49. "Dupli Pancir", //2
  50. "Ojacani Pancir", //3
  51. "Veteran sa nozem", //4
  52. "Iznenadi neprijatelje", //5
  53. "Nevidljivost", //6
  54. "Respawn", //7
  55. "Noz Marinca", //8
  56. "Kamuflaza", //9
  57. "Test Predmet", //10
  58. "Dupli Skok", //11
  59. "Vojna tajna", //12
  60. "AWP Master",//13
  61. "Adrenalin",//14
  62. "Rambova tajna",//15
  63. "Auto-Healer",//16
  64. "Super Pancir",//17
  65. "Extra HP++",//18
  66. "Komplet za prvu pomoc",//19
  67. "No Recoil",//20
  68. "Titanijumski metci",//21
  69. "Pukovnikovi metci",//22
  70. "Ogranicen no-recoil",//23
  71. "Stit specijalaca",//24
  72. "50 HP++",//25
  73. "Nano Oklop",//26
  74. "BulletProof",//27
  75. "Jetpack" //28
  76. }
  77.  
  78. new const opis_predmet[][] = {
  79. "Ubi nekog i dobices predmet",
  80. "Ne cujno trcanje", //1
  81. "Smanjuje stetu za LW %", //2
  82. "Smanjuje stetu za LW %", //3
  83. "Brze ubijas nozem", //4
  84. "Kada pogodite nekog od pozadi, povrede su dva puta vece", //5
  85. "Imate LW % nevidljivosti", //6
  86. "1/LW sanse da se respawn posle smrti", //7
  87. "Brzo ubijanje nozem", //8
  88. "Izgledate kao neprijatelj", //9
  89. "Test predmet, Ne sluzi nicemu :D", //10
  90. "Dupli skok", //11
  91. "Vase povrede su smanjene za 5. Imate 1/LW sanse da oslepite neprijatelja",
  92. "Instant kill sa AWP",
  93. "Za svaki kill dobijate 50hp",
  94. "Za svaki kill dobijate pun sarzer i 20hp",
  95. "Dobijate 10hp svakih 5 sec",
  96. "Imate 500 stita",
  97. "Dobijate +100hp svake runde, ali zato ste sporiji",
  98. "Koristite da regeneriste maximalni HP",
  99. "Nema trzanja puske kad pucate",
  100. "Zadajete protivnicima +10 vise stete",
  101. "Zadajete protivnicima +20 vise stete",
  102. "Smanjeno trazanje puske",
  103. "Ni jedan predmet nece uticati na vas",
  104. "Dobijate +50hp svake runde, ali zato ste sporiji",
  105. "Imate 1/LW sanse da izbegnete stetu",
  106. "Otporni ste na 3 metka u svakom krugu",
  107. "Pritisnite CRTL i SPACE da koristite jetpack, jetpack se obnavlja svake 4 sec"
  108. }
  109.  
  110. new ID_igraca[33][35]
  111. new klasa_igraca[33]
  112. new level_igraca[33] = 1
  113. new iskustvo_igraca[33] = 1
  114.  
  115. new nova_klasa_igraca[33]
  116.  
  117. new iskustvo_levelu[33] = 75
  118.  
  119. new poeni_igraca[33]
  120. new energija_igraca[33]
  121. new inteligencija_igraca[33]
  122. new snaga_igraca[33]
  123. new Float:smanjene_povrede_igraca[33]
  124. new kondicija_igraca[33]
  125. new maximalna_energija_igraca[33]
  126. new Float:brzina_igraca[33]
  127.  
  128. new bool:igrac_resetuje[33]
  129.  
  130. enum {
  131. NONE = 0,
  132. Snajperista,
  133. Marinac,
  134. ProStrelac,
  135. Mitraljezac,
  136. Doktor,
  137. VatrenaPodrska,
  138. Miner,
  139. Demolitions,
  140. Rusher,
  141. Rambo,
  142. Revolveras,
  143. Bombarder,
  144. Strelac,
  145. Informator,
  146. Pukovnik,
  147. Pobunjenik,
  148. SerijskiUbica,
  149. Desetar,
  150. Vodnik,
  151. Kamikaza,
  152. Assassin,
  153. Major,
  154. Kapetan,
  155. Potpukovnik,
  156. Marsal,
  157. NemackiStrelac,
  158. RuskiPukovnik,
  159. PoljskaPesadija,
  160. Mornar,
  161. Napadac ,
  162. Legija,
  163. Armageddon,
  164. Samuraj,
  165. RatkoMladic,
  166. SWAT,
  167. Partizan,
  168. Gunner,
  169. Cleric,
  170. General,
  171. Terminator,
  172. Slayer,
  173. Zastavnik,
  174. Admiral,
  175. Fighter,
  176. Policajac,
  177. Specijalac,
  178. Predator,
  179. NemackiOficir,
  180. Cetnik,
  181. ProfVojnik,
  182. Crysis,
  183. ProfStrelac
  184. }
  185.  
  186. new const energija_klasa[] = { //Helti Klase
  187. 0, //NONE
  188. 120, //Snajperista
  189. 140, //Marinac
  190. 130, //Pro-Strelac
  191. 120, //Mitraljezac
  192. 110, //Doktor
  193. 100, //Vatrena Podrska
  194. 100, //Miner
  195. 110, //Demolitions
  196. 100, //Rusher
  197. 130, //Rambo
  198. 120, //Revolveras
  199. 110, //Bombarder
  200. 120, //Strelac
  201. 70, //Informator
  202. 110, //Pukovnik
  203. 150, //Pobunjenik
  204. 110, //Serijski ubica
  205. 120, //Desetar
  206. 110, //Vodnik
  207. 120, //Kamikaza
  208. 150, //Assassin
  209. 100, //Major
  210. 100, //Kapetan
  211. 100, //Potpukovnik
  212. 120, //Marsal
  213. 120, //Nemacki strelac
  214. 130, //Ruski pukovnik
  215. 100, //Poljska pesadija
  216. 110, //Mornar
  217. 150, //Napadac
  218. 100, //Legija
  219. 160, //Armageddon
  220. 100, //Samuraj
  221. 150, //Ratko Mladic
  222. 150, //SWAT
  223. 100, //Partizan
  224. 125, //Gunner
  225. 100, //Cleric
  226. 130, //General
  227. 140, //Terminator
  228. 80, //Slayer
  229. 110, //Zastavnik
  230. 125, //Admiral
  231. 150, //Fighter
  232. 120, //Policajac
  233. 110, //Specijalac
  234. 100, //Predator
  235. 105, //NemackiOficir
  236. 124, //Cetnik
  237. 130, //ProfVojnik
  238. 80, //Crysis
  239. 105 //ProfStrelac
  240. }
  241.  
  242. new const Float:brzina_klasa[] = { //Brzina Klase
  243. 0.0, //None
  244. 1.3, //Snajperi
  245. 1.35, //Marinac
  246. 1.0, //Pro-Strelac
  247. 0.8, //Mitraljezac
  248. 1.5, //Doktor
  249. 1.2, //Vatrena Podrska
  250. 1.1, //Miner
  251. 1.1, //Demolitions
  252. 1.3, //Rusher
  253. 1.2, //Rambo
  254. 1.1, //Revolveras
  255. 1.1, //Bombarder
  256. 1.0, //Strelac
  257. 1.6, //Informator
  258. 1.1, //Pukovnik
  259. 1.4, //Pobunjenik
  260. 1.0, //Serijski ubica
  261. 1.0, //Desetar
  262. 1.1, //Vodnik
  263. 1.0, //Kamikaza
  264. 1.4, //Assassin
  265. 1.2, //Major
  266. 1.0, //Kapetan
  267. 1.6, //Potpukovnik
  268. 1.1, //Marsal
  269. 1.0, //Nemacki strelac
  270. 1.0, //Ruski pukovnik
  271. 1.2, //Poljska pesadija
  272. 0.7, //Mornar
  273. 1.2, //Napadac
  274. 1.0, //Legija
  275. 1.0, //Armageddon
  276. 1.4, //Samuraj
  277. 1.4, //Ratko Mladic
  278. 1.3, //SWAT
  279. 1.3, //Partizan
  280. 1.0, //Gunner
  281. 1.2, //Cleric
  282. 1.2, //General
  283. 1.4, //Terminator
  284. 1.6, //Slayer
  285. 1.4, //Zastavnik
  286. 1.1, //Admiral
  287. 1.4, //Fighter
  288. 1.2, //Policajac
  289. 1.8, //Specijalac
  290. 1.3, //Predator
  291. 1.0, //NemackiOficir
  292. 1.2, //Cetnik
  293. 1.6, //ProfVojnik
  294. 1.8, //Crysis
  295. 0 //ProfStrelac
  296. }
  297. new const oklop_klase[] = { //Armor Klase
  298. 0, //None
  299. 100, //Snajperi
  300. 100, //Marinac
  301. 100, //Pro-Strelac
  302. 40, //Mitraljezac
  303. 0, //Doktor
  304. 0, //Vatrena Podrska
  305. 0, //Miner
  306. 100, //Demolitions
  307. 40, //Rusher
  308. 0, //Rambo
  309. 0, //Revolveras
  310. 100, //Bombarder
  311. 40, //Strelac
  312. 0, //Informator
  313. 0, //Pukovnik
  314. 150, //Pobunjenik
  315. 90, //Serijski ubica
  316. 0, //Desetar
  317. 200, //Vodnik
  318. 0, //Kamikaza
  319. 100, //Assassin
  320. 0, //Major
  321. 0, //Kapetan
  322. 200, //Potpukovnik
  323. 0, //Marsal
  324. 100, //Nemacki strelac
  325. 0, //Ruski pukovnik
  326. 0, //Poljska pesadija
  327. 100, //Mornar
  328. 0, //Napadac
  329. 0, //Legija
  330. 120, //Armageddon
  331. 0, //Samuraj
  332. 150, //Ratko Mladic
  333. 110, //SWAT
  334. 100, //Partizan
  335. 100, //Gunner
  336. 150, //Cleric
  337. 120, //General
  338. 50, //Terminator
  339. 120, //Slayer
  340. 300, //Zastavnik
  341. 70, //Admiral
  342. 100, //Fighter
  343. 50, //Policajac
  344. 0, //Specijalac
  345. 25, //Predator
  346. 80, //NemackiOficir
  347. 100, //Cetnik
  348. 90, //ProfVojnik
  349. 10, //Crysis
  350. 45 //ProfStrelac
  351. }
  352.  
  353. new const naziv_klase[][] = {
  354. "Nema",
  355. "Snajperista",
  356. "Marinac",
  357. "Pro-Strelac",
  358. "Mitraljezac",
  359. "Doktor",
  360. "Vatrena podrska",
  361. "Miner",
  362. "Demolitions",
  363. "Rusher",
  364. "Rambo (200 Din Mesecno)",
  365. "Revolveras",
  366. "Bombarder",
  367. "Strelac",
  368. "Informator",
  369. "Pukovnik",
  370. "Pobunjenik",
  371. "Serijski ubica",
  372. "Desetar",
  373. "Vodnik",
  374. "Kamikaza",
  375. "Assassin (250 Din Mesecno)",
  376. "Major (200 Din Mesecno)",
  377. "Kapetan",
  378. "Potpukovnik",
  379. "Marsal",
  380. "Nemacki strelac",
  381. "Ruski pukovnik",
  382. "Poljska pesadija",
  383. "Mornar",
  384. "Napadac ",
  385. "Legija",
  386. "Armageddon (200 Din Mesecno)",
  387. "Samuraj",
  388. "Ratko Mladic (200 Din Mesecno)",
  389. "SWAT",
  390. "Partizan",
  391. "Gunner",
  392. "Cleric",
  393. "General (200 Din Mesecno)",
  394. "Terminator",
  395. "Slayer (150 Din Mesecno)",
  396. "Zastavnik",
  397. "Admiral",
  398. "Fighter (200 Din Mesecno)",
  399. "Policajac",
  400. "Specijalac",
  401. "Predator",
  402. "Nemacki Oficir",
  403. "Cetnik",
  404. "Profesionalni Vojnik",
  405. "Crysis",
  406. "Profesionalni Strelac"
  407. }
  408.  
  409. new const opis_klase[][] = {
  410. "Nema",
  411. "Dobija AWP, Deagle i Scout, 120 HP, 100 AP, 1/3 sanse za instant ubistvo nozem i 130% brzinu.",
  412. "Dobija Deagle, odma ubija nozem, 140 HP, 100 AP i 135% brzinu.",
  413. "Dobija Dobija AK47, M4A1, 110 HP, 100 AP i 80% brzinu.",
  414. "Dobija Dobija M249, otporan na mine, ima sve bombe, 120 HP, 150 AP i 80% brzinu.",
  415. "Dobija UMP45, komplet za prvu pomoc, 110 HP, 100 AP i 150% brzinu.",
  416. "Dobija MP5, HE grenade, 2 rakete, 100 HP, 100 AP i 120% brzinu.",
  417. "Dobija P90, 3 mine, 100 HP, 100 AP i 110% brzinu.",
  418. "Dobija Aug, sve bombe, dinamit koji ubija sve u krugu od 1m, 110 HP, 100 AP i 110% brzinu.",
  419. "Dobija M3, 100 HP, 100 AP i 130% brzinu.",
  420. "Dobija Famas, za svako ubistvo + 20hp i pun sanzer, dupli skok, 130 HP, 150 AP i 120% brzinu.",
  421. "Dobija Elites, 1 raketa, 120 HP, 0 AP i 110% brzinu.",
  422. "Dobija Dobija M4A1, Deagle, 140 HP, 100 AP i 90% brzinu.",
  423. "Dobija Dobija XM1014, Elites, 120 HP, 40 AP i 100% brzinu.",
  424. "Dobija MP5, 70 HP, 0 AP i 160% brzinu.",
  425. "Dobija Famas, Deagle, 110 HP, 0 AP i 110% brzinu i 2 mine.",
  426. "Dobija SG552 + 1 minu + 1 HE, 100hp",
  427. "Dobija M4A1, Smoke grenade, 110 HP, 100 AP i 100% brzinu.",
  428. "Dobija Scout(zadaje 10% vise stete), Deagle, 120 HP, 40 AP i 100% brzinu.",
  429. "Dobija M3, 110 Hp, 0 AP i 110% brzinu.",
  430. "Dobija M4A1, 2 rakete, 120 HP, 0 AP i 100% brzinu.",
  431. "Dobija Deagle, nevidljiv je, 30 HP, 0 AP i 200% brzinu. sa nozem instant kill(desni klik misa)",
  432. "Dobija sve pistolje, 10 mina, 90 HP, 0 AP i 110% brzinu.",
  433. "Dobija Aug, 100 HP, 0 AP i 100% brzinu.",
  434. "Dobija awp+deagle, 100 HP, 200 AP i 100% brzinu i manje je vidljiv",
  435. "Dobija Deagle, 120 HP, 0 AP i 120% brzinu.",
  436. "Dobija Ak47, 2 rakete, 90 HP, 100 AP i 120% brzinu.",
  437. "Dobija M4A1, 1 minu, 130 HP, 0 AP i 70% brzinu.",
  438. "Dobija MP5, 2 dinamita, 100 HP, 0 AP i 100% brzinu.",
  439. "Dobija Mac10, ima 50% gravitacije, 110 HP, 100 AP i 100% brzinu i 2 mine.",
  440. "Dobija Famas+P90, smanjena gravitacija, 150 HP, 0 AP i 250% brzinu i 3 dinamita.",
  441. "Dobija M4A1, Deagle, 100 HP, 0 AP i 100% brzinu.",
  442. "Dobija AK47, AUG, HE, 160 HP, 120 AP i 140% brzinui manje je vidljiv i 2 dinamita.",
  443. "Dobija usp, 100 HP, 0 AP i 120% brzinu.",
  444. "Dobija Scout(instant kill), Deagle, dupli skok, 140 HP, 150 AP i 130% brzinui 5 raketa.",
  445. "Dobija M4A1, USP, 150 HP, 110 AP i 10% brzinu.",
  446. "Dobija P90, Flash grenade, manje je vidljiv, 100 HP, 100 AP i 100% brzinu.",
  447. "Dobija G3SG1, Deagle, HE grenade, 1 raketu, 125 HP, 100 AP i 120% brzinu.",
  448. "Dobija AK47, Elites, 100 HP, 50 AP i 120% brzinui 3 mine.",
  449. "Dobija M4A1, P90, kamuflaza, 1 / 10 sanse za instant ubistva Deagle-om, 130 HP, 120 AP i 140% brzinu.",
  450. "Dobija AK47+Deagle, 140 HP, 50 AP i 120% brzinu.",
  451. "Dobija Famas, P90, 3 rakete, 110 HP, 120 AP i 140% brzinu i ubija instant sa nozem.",
  452. "Dobija M4A1, P90, Deagle, 2 rakete, 90 HP, 300 AP i 140% brzinu.",
  453. "Dobija AK47, Famas, 125 HP, 70 AP i 110% brzinu.",
  454. "Dobija M4A1, Scout, USP, dupli skok, 150 HP, 100 AP i 140% brzinu ima 1/3 sanse da ubije instant nozem i 2 dinamita.",
  455. "Dobija XM1014, TMP, fiveseven, 150 HP, 50 AP i 120% brzinu.",
  456. "Dobija FAMAS, P228, , 110 HP, 0 AP i 150% brzinu.",
  457. "Dobija sg552, glock18, smokegrenade 100 HP , 25 AP.",
  458. "Dobija P90, glock18 smokegrenade 105 HP, 80 AP.",
  459. "Dobija AK47, 2 HE ,2 dinamita, 124 HP , 100 AP",
  460. "Dobija FAMAS,USP,1 raketu,130 HP , 90 AP",
  461. "Dobija SG552,m4a1,2 rakete,80 HP,10 AP ,super speed,65% nevidljiv",
  462. "Dobija AWP,m4a1,105 HP,45 AP"
  463. }
  464.  
  465. new broj_medkit_igraca[33]
  466. new broj_raketa_igraca[33]
  467. new Float:prethodna_raketa_igraca[33]
  468. new broj_min_igraca[33]
  469. new broj_dinamita_igraca[33]
  470. new broj_skokova_igraca[33]
  471.  
  472. new bool:freezetime = true
  473.  
  474. public plugin_init()
  475. {
  476. register_plugin("COD:MW3", "1.0", "QTM_Peyote")
  477.  
  478. g_vault = nvault_open("CodMod")
  479. g_msgStatusIcon = get_user_msgid("StatusIcon")
  480.  
  481. register_message(g_msgStatusIcon, "msgStatusIcon")
  482.  
  483. register_think("MedKit","MedKitThink")
  484.  
  485. RegisterHam(Ham_TakeDamage, "player", "TakeDamage")
  486. RegisterHam(Ham_Spawn, "player", "Pocetak", 1)
  487. RegisterHam(Ham_Touch, "armoury_entity", "DodirOruzija")
  488. RegisterHam(Ham_Touch, "weapon_shield", "DodirOruzija")
  489. RegisterHam(Ham_Touch, "weaponbox", "DodirOruzija")
  490.  
  491. register_forward(FM_CmdStart, "CmdStart")
  492. register_forward(FM_EmitSound, "EmitSound")
  493.  
  494. register_logevent("PocetakRunde", 2, "1=Round_Start")
  495. register_logevent("BombaPostavljena", 3, "2=Planted_The_Bomb")
  496.  
  497. register_event("SendAudio", "BombaDeaktivirana", "a", "2&%!MRAD_BOMBDEF")
  498. register_event("BarTime", "PrebrojBombe", "be", "1=10", "1=5")
  499. register_event("DeathMsg", "Death", "ade")
  500. register_event("Damage", "Damage", "b", "2!=0")
  501. register_event("CurWeapon","CurWeapon","be", "1=1")
  502. register_event("HLTV", "novaRunda", "a", "1=0", "2=0")
  503.  
  504. register_touch("Rocket", "*" , "DodirRakete")
  505. register_touch("Mine", "player", "DodirMine")
  506.  
  507. register_cvar("cod_killxp", "250")
  508. register_cvar("cod_bombxp", "100")
  509. //p_LevelRatio = register_cvar("cod_levelratio", "75")
  510. //p_MaxLevel = register_cvar("cod_maxlevel", "200")
  511.  
  512. register_clcmd("say /klasa", "IzaberiKlasu")
  513. register_clcmd("say /class", "IzaberiKlasu")
  514. register_clcmd("say /opis", "OpisKlase")
  515. register_clcmd("say /classinfo", "OpisKlase")
  516. register_clcmd("say /predmet", "OpisPredmeta")
  517. register_clcmd("say /item", "OpisPredmeta")
  518. register_clcmd("say /drop", "IzbaciPredmet")
  519. register_clcmd("say /izbaci", "IzbaciPredmet")
  520. register_clcmd("say /reset", "KomandaResetujPoene")
  521. register_clcmd("say /shop", "Shop")
  522.  
  523. g_msg_screenfade = get_user_msgid("ScreenFade")
  524. SyncHudObj = CreateHudSyncObj()
  525. SyncHudObj2 = CreateHudSyncObj()
  526. SyncHudObj3 = CreateHudSyncObj()
  527. iskustvo_za_ubistvo = get_cvar_num("cod_killxp")
  528. iskustvo_za_c4 = get_cvar_num("cod_bombxp")
  529.  
  530. set_task(30.0, "Pomoc")
  531. }
  532.  
  533. public msgStatusIcon(msgid, msgdest, id)
  534. {
  535. static szIcon[8]
  536. get_msg_arg_string(2, szIcon, 7)
  537.  
  538. if(equal(szIcon, "buyzone") && get_msg_arg_int(1))
  539. {
  540. set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1<<0))
  541. return PLUGIN_HANDLED
  542. }
  543. return PLUGIN_CONTINUE
  544. }
  545.  
  546. public plugin_precache()
  547. {
  548. sprite_white = precache_model("sprites/white.spr") ;
  549. sprite_blast = precache_model("sprites/dexplo.spr");
  550.  
  551. precache_sound("QTM_CodMod/select.wav");
  552. precache_sound("QTM_CodMod/start.wav");
  553. precache_sound("QTM_CodMod/start2.wav");
  554. precache_sound("QTM_CodMod/levelup.wav");
  555.  
  556. precache_model("models/w_medkit.mdl");
  557. precache_model("models/rpgrocket.mdl");
  558. precache_model("models/mine.mdl");
  559. }
  560.  
  561. public Shop(id)
  562. {
  563. if(!is_user_alive(id))
  564. {
  565. ColorChat(id, GREEN, "[Shop] ^1Moras biti ziv da bi kupovao")
  566. return PLUGIN_HANDLED
  567. }
  568.  
  569. new menu = menu_create("Shop:", "Shop_Handle")
  570. menu_additem(menu, "Aspirin \r[Dodaje 50 HP] \yCena: \r1000$")
  571. menu_additem(menu, "Morfijum \r[Dodaje 100 HP] \yCena: \r3000$")
  572. menu_additem(menu, "RedBull \r[Veci Skok + Veca Brzina] \yCena: \r5000$")
  573. menu_additem(menu, "Slucajni Izbor \r[Predmet] \yCena: \r3000$")
  574. menu_additem(menu, "Slucajni Izbor \r[Iskustvo] \yCena: \r10000$")
  575.  
  576. menu_setprop(menu, MPROP_EXITNAME, "Izlaz")
  577.  
  578. menu_display(id, menu)
  579.  
  580. return PLUGIN_CONTINUE
  581. }
  582.  
  583. public Shop_Handle(id, menu, item)
  584. {
  585. client_cmd(id, "spk QTM_CodMod/select")
  586.  
  587. if(item == MENU_EXIT)
  588. {
  589. menu_destroy(menu)
  590. return PLUGIN_HANDLED
  591. }
  592.  
  593. switch(item)
  594. {
  595. case 0:
  596. {
  597. if(cs_get_user_money(id) < 1000)
  598. {
  599. ColorChat(id, GREEN, "[Shop] ^1Nemas dovoljno para")
  600. return PLUGIN_HANDLED
  601. }
  602.  
  603. if(get_user_health(id) >= maximalna_energija_igraca[id])
  604. {
  605. ColorChat(id, GREEN, "[Shop] ^1Vec imate maximalnu energiju")
  606. return PLUGIN_HANDLED
  607. }
  608. else
  609. {
  610. cs_set_user_money(id, cs_get_user_money(id) - 1000)
  611.  
  612. new ammount=50
  613. new nova_energija = (get_user_health(id) + ammount < maximalna_energija_igraca[id])? get_user_health(id) + ammount: maximalna_energija_igraca[id]
  614.  
  615. set_user_health(id, nova_energija)
  616. ColorChat(id, GREEN, "[Shop] ^1kupio si ^3Aspirin")
  617. }
  618. }
  619.  
  620. case 1:
  621. {
  622. if(cs_get_user_money(id) < 3000)
  623. {
  624. ColorChat(id, GREEN, "[Shop] ^1Nemas dovoljno para")
  625. return PLUGIN_HANDLED
  626. }
  627.  
  628. if(get_user_health(id) >= maximalna_energija_igraca[id])
  629. {
  630. ColorChat(id, GREEN, "[Shop] ^1Vec imate maximalnu energiju")
  631. return PLUGIN_HANDLED
  632. }
  633. else
  634. {
  635. cs_set_user_money(id, cs_get_user_money(id) - 3000)
  636.  
  637. new ammount=100
  638. new nova_energija = (get_user_health(id) + ammount < maximalna_energija_igraca[id])? get_user_health(id) + ammount: maximalna_energija_igraca[id]
  639.  
  640. set_user_health(id, nova_energija)
  641. ColorChat(id, GREEN, "[Shop] ^1Kupio si^3 Morfijum")
  642. }
  643. }
  644.  
  645. case 2:
  646. {
  647. if(cs_get_user_money(id) < 5000)
  648. {
  649. ColorChat(id,GREEN,"[Shop] ^1Nemas dovoljno para")
  650. return PLUGIN_HANDLED
  651. }
  652. else
  653. {
  654. cs_set_user_money(id, cs_get_user_money(id) - 5000)
  655. set_user_gravity(id,get_user_gravity(id) - 0.3)
  656. set_user_maxspeed(id,get_user_maxspeed(id) + 10.0)
  657. ColorChat(id, GREEN, "[Shop]^1 Kupio si^3 RedBull")
  658. }
  659. }
  660.  
  661. case 3:
  662. {
  663. if(cs_get_user_money(id) < 3000)
  664. {
  665. ColorChat(id, GREEN, "[Shop] ^1Nemas dovoljno para")
  666. return PLUGIN_HANDLED
  667. }
  668. else
  669. {
  670. cs_set_user_money(id, cs_get_user_money(id) - 3000)
  671. DajPredmet(id, random_num(1, sizeof naziv_predmeta - 1))
  672. }
  673. }
  674.  
  675. case 4:
  676. {
  677. if(cs_get_user_money(id) < 10000)
  678. {
  679. ColorChat(id, GREEN, "[Shop] ^1Nemas dovoljno para")
  680. return PLUGIN_HANDLED
  681. }
  682. else
  683. {
  684. cs_set_user_money(id, cs_get_user_money(id) - 10000)
  685. }
  686.  
  687. switch(random(5))
  688. {
  689. case 0:
  690. {
  691. iskustvo_igraca[id] += 20
  692. ColorChat(id, GREEN, "[Shop] ^1Dobio si^3 20 ^1Experience Poena")
  693. ProveriNivo(id)
  694. }
  695. case 1:
  696. {
  697. iskustvo_igraca[id] += 40
  698. ColorChat(id, GREEN, "[Shop] ^1Dobio si^3 40 ^1Experience Poena")
  699. ProveriNivo(id)
  700. }
  701. case 2:
  702. {
  703. iskustvo_igraca[id] += 60
  704. ColorChat(id, GREEN, "[Shop] ^1Dobio si^3 60 ^1Experience Poena")
  705. ProveriNivo(id)
  706. }
  707. case 3:
  708. {
  709. iskustvo_igraca[id] += 80
  710. ColorChat(id, GREEN, "[Shop] ^1Dobio si^3 80 ^1Experience Poena")
  711. ProveriNivo(id)
  712. }
  713. case 4:
  714. {
  715. iskustvo_igraca[id] += 100
  716. ColorChat(id, GREEN, "[Shop] ^1Dobio si^3 100 ^1Experience Poena")
  717. ProveriNivo(id)
  718. }
  719. }
  720. }
  721. }
  722.  
  723. return PLUGIN_CONTINUE
  724.  
  725. }
  726.  
  727. public CmdStart(id, uc_handle)
  728. {
  729. if(!is_user_alive(id))
  730. {
  731. return FMRES_IGNORED
  732. }
  733.  
  734. new button = get_uc(uc_handle, UC_Buttons)
  735. new oldbutton = get_user_oldbutton(id)
  736. new flags = get_entity_flags(id)
  737.  
  738. if(informacije_predmet_igraca[id][0] == 11 || klasa_igraca[id] == Assassin)
  739. {
  740. if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && broj_skokova_igraca[id] > 0)
  741. {
  742. broj_skokova_igraca[id]--
  743. new Float:velocity[3]
  744. entity_get_vector(id,EV_VEC_velocity,velocity)
  745. velocity[2] = random_float(265.0,285.0)
  746. entity_set_vector(id,EV_VEC_velocity,velocity)
  747. }
  748. else if(flags & FL_ONGROUND)
  749. {
  750. broj_skokova_igraca[id] = 0
  751.  
  752. if(informacije_predmet_igraca[id][0] == 11)
  753. {
  754. broj_skokova_igraca[id]++
  755. }
  756.  
  757. if(klasa_igraca[id] == Assassin)
  758. {
  759. broj_skokova_igraca[id]++
  760. }
  761. }
  762. }
  763.  
  764. if(button & IN_ATTACK)
  765. {
  766. new Float:punchangle[3]
  767.  
  768. if(informacije_predmet_igraca[id][0] == 20)
  769. {
  770. entity_set_vector(id, EV_VEC_punchangle, punchangle)
  771. }
  772.  
  773. if(informacije_predmet_igraca[id][0] == 23)
  774. {
  775. entity_get_vector(id, EV_VEC_punchangle, punchangle)
  776. for(new i=0; i<3;i++)
  777. {
  778. punchangle[i]*=0.9
  779. }
  780. entity_set_vector(id, EV_VEC_punchangle, punchangle)
  781. }
  782. }
  783.  
  784. 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)
  785. {
  786. informacije_predmet_igraca[id][1] = floatround(get_gametime())
  787. new Float:velocity[3]
  788. VelocityByAim(id, 700, velocity)
  789. velocity[2] = random_float(265.0,285.0)
  790. entity_set_vector(id, EV_VEC_velocity, velocity)
  791. }
  792.  
  793. return FMRES_IGNORED
  794. }
  795.  
  796. public Pocetak(id)
  797. {
  798. if(!is_user_alive(id))
  799. {
  800. return PLUGIN_HANDLED
  801. }
  802.  
  803. if(nova_klasa_igraca[id])
  804. {
  805. klasa_igraca[id] = nova_klasa_igraca[id]
  806. nova_klasa_igraca[id] = 0
  807.  
  808. strip_user_weapons(id)
  809. give_item(id, "weapon_knife")
  810.  
  811. switch(get_user_team(id))
  812. {
  813. case 1:
  814. {
  815. give_item(id, "weapon_glock18")
  816. }
  817. case 2:
  818. {
  819. give_item(id, "weapon_usp")
  820. }
  821. }
  822.  
  823. set_user_rendering(id)
  824.  
  825. UcitajPodatke(id, klasa_igraca[id])
  826. }
  827.  
  828. if(!klasa_igraca[id])
  829. {
  830. IzaberiKlasu(id)
  831. return PLUGIN_CONTINUE
  832. }
  833.  
  834. switch(klasa_igraca[id])
  835. {
  836. case Snajperista:
  837. {
  838. give_item(id, "weapon_awp");
  839. give_item(id, "weapon_scout");
  840. give_item(id, "weapon_deagle");
  841. }
  842. case Marinac:
  843. {
  844. give_item(id, "weapon_deagle");
  845. give_item(id, "weapon_famas");
  846. }
  847. case ProStrelac:
  848. {
  849. give_item(id, "weapon_m4a1");
  850. give_item(id, "weapon_ak47");
  851. }
  852. case Mitraljezac:
  853. {
  854. give_item(id, "weapon_m249");
  855. give_item(id, "weapon_hegrenade");
  856. give_item(id, "weapon_flashbang");
  857. give_item(id, "weapon_smokegrenade");
  858. }
  859. case Doktor:
  860. {
  861. give_item(id, "weapon_ump45");
  862. broj_medkit_igraca[id] = 2
  863. }
  864. case VatrenaPodrska:
  865. {
  866. give_item(id, "weapon_mp5navy");
  867. broj_raketa_igraca[id] = 2
  868. }
  869. case Miner:
  870. {
  871. give_item(id, "weapon_p90");
  872. broj_min_igraca[id] = 3
  873. }
  874. case Demolitions:
  875. {
  876. give_item(id, "weapon_aug");
  877. give_item(id, "weapon_hegrenade");
  878. give_item(id, "weapon_flashbang");
  879. give_item(id, "weapon_smokegrenade");
  880. broj_dinamita_igraca[id] = 1;
  881. }
  882. case Rusher:
  883. {
  884. give_item(id, "weapon_m3");
  885. }
  886. case Rambo:
  887. {
  888. give_item(id, "weapon_famas");
  889. }
  890. case Revolveras:
  891. {
  892. give_item(id, "weapon_elite");
  893. broj_raketa_igraca[id] = 1
  894. }
  895. case Bombarder:
  896. {
  897. give_item(id, "weapon_m4a1");
  898. give_item(id, "weapon_deagle");
  899. }
  900. case Strelac:
  901. {
  902. give_item(id, "weapon_xm1014");
  903. give_item(id, "weapon_elite");
  904. }
  905. case Informator:
  906. {
  907. give_item(id, "weapon_mp5navy");
  908. }
  909. case Pukovnik:
  910. {
  911. give_item(id, "weapon_famas");
  912. give_item(id, "weapon_deagle");
  913. broj_min_igraca[id] = 2
  914. }
  915. case Pobunjenik:
  916. {
  917. give_item(id, "weapon_sg552");
  918. broj_raketa_igraca[id] = 2
  919. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 50);
  920. }
  921. case SerijskiUbica:
  922. {
  923. give_item(id, "weapon_m4a1");
  924. give_item(id, "weapon_smokegrenade");
  925. }
  926. case Desetar:
  927. {
  928. give_item(id, "weapon_scout");
  929. give_item(id, "weapon_deagle");
  930. }
  931. case Vodnik:
  932. {
  933. give_item(id, "weapon_m3");
  934.  
  935. }
  936. case Kamikaza:
  937. {
  938. give_item(id, "weapon_m4a1");
  939. broj_raketa_igraca[id] = 2
  940. }
  941. case Assassin:
  942. {
  943. give_item(id, "weapon_deagle");
  944. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 10);
  945. }
  946. case Major:
  947. {
  948. give_item(id, "weapon_glock18");
  949. give_item(id, "weapon_m4a1");
  950. give_item(id, "weapon_usp");
  951. give_item(id, "weapon_p228");
  952. give_item(id, "weapon_deagle");
  953. give_item(id, "weapon_elite");
  954. give_item(id, "weapon_fiveseven");
  955. give_item(id, "weapon_smokegrenade");
  956. broj_min_igraca[id] = 10
  957. }
  958. case Kapetan:
  959. {
  960. give_item(id, "weapon_aug");
  961. }
  962. case Potpukovnik:
  963. {
  964. give_item(id, "weapon_awp");
  965. give_item(id, "weapon_deagle");
  966. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 55);
  967. }
  968. case Marsal:
  969. {
  970. give_item(id, "weapon_deagle");
  971. }
  972. case NemackiStrelac:
  973. {
  974. give_item(id, "weapon_ak47");
  975. broj_raketa_igraca[id] = 2
  976. }
  977. case RuskiPukovnik:
  978. {
  979. give_item(id, "weapon_m4a1");
  980. broj_min_igraca[id] = 1
  981. }
  982. case PoljskaPesadija:
  983. {
  984. give_item(id, "weapon_mp5navy");
  985. broj_dinamita_igraca[id] = 2
  986. }
  987. case Mornar:
  988. {
  989. give_item(id, "weapon_mac10");
  990. broj_min_igraca[id] = 2
  991. }
  992. case Napadac:
  993. {
  994. give_item(id, "weapon_famas");
  995. give_item(id, "weapon_p90");
  996. broj_dinamita_igraca[id] = 3
  997. }
  998. case Legija:
  999. {
  1000. give_item(id, "weapon_m4a1");
  1001. give_item(id, "weapon_sg552");
  1002. give_item(id, "weapon_deagle");
  1003. }
  1004. case Armageddon:
  1005. {
  1006. give_item(id, "weapon_ak47");
  1007. give_item(id, "weapon_aug");
  1008. give_item(id, "weapon_hegrenade");
  1009. broj_dinamita_igraca[id] = 3
  1010. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 30);
  1011. }
  1012. case Samuraj:
  1013. {
  1014. give_item(id, "weapon_usp");
  1015. }
  1016. case RatkoMladic:
  1017. {
  1018. give_item(id, "weapon_m4a1");
  1019. give_item(id, "weapon_ak47");
  1020. give_item(id, "weapon_hegrenade");
  1021. give_item(id, "weapon_deagle");
  1022. broj_raketa_igraca[id] = 5
  1023. }
  1024. case SWAT:
  1025. {
  1026. give_item(id, "weapon_m4a1");
  1027. give_item(id, "weapon_usp");
  1028. }
  1029. case Partizan:
  1030. {
  1031. give_item(id, "weapon_p90");
  1032. give_item(id, "weapon_flashbang");
  1033. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70);
  1034. }
  1035. case Gunner:
  1036. {
  1037. give_item(id, "weapon_g3sg1");
  1038. give_item(id, "weapon_deagle");
  1039. give_item(id, "weapon_hegrenade");
  1040. broj_raketa_igraca[id] = 1
  1041. }
  1042. case Cleric:
  1043. {
  1044. give_item(id, "weapon_ak47");
  1045. give_item(id, "weapon_elite");
  1046. broj_min_igraca[id] = 3
  1047. }
  1048. case General:
  1049. {
  1050. give_item(id, "weapon_m4a1");
  1051. give_item(id, "weapon_p90");
  1052. give_item(id, "weapon_deagle");
  1053. PromeniModel(id, 0);
  1054. }
  1055. case Terminator:
  1056. {
  1057. give_item(id, "weapon_ak47");
  1058. give_item(id, "weapon_usp");
  1059. broj_raketa_igraca[id] = 1
  1060. }
  1061. case Slayer:
  1062. {
  1063. give_item(id, "weapon_famas");
  1064. give_item(id, "weapon_p90");
  1065. broj_raketa_igraca[id] = 3
  1066. }
  1067. case Zastavnik:
  1068. {
  1069. give_item(id, "weapon_p90");
  1070. give_item(id, "weapon_deagle");
  1071. broj_raketa_igraca[id] = 2
  1072. }
  1073. case Admiral:
  1074. {
  1075. give_item(id, "weapon_ak47");
  1076. give_item(id, "weapon_famas");
  1077. }
  1078. case Fighter:
  1079. {
  1080. give_item(id, "weapon_mac10");
  1081. give_item(id, "weapon_scout");
  1082. give_item(id, "weapon_usp");
  1083. broj_dinamita_igraca[id] = 2
  1084. }
  1085. case Policajac:
  1086. {
  1087. give_item(id, "weapon_xm014");
  1088. give_item(id, "weapon_tmp");
  1089. give_item(id, "weapon_fiveseven");
  1090.  
  1091. }
  1092. case Specijalac:
  1093. {
  1094. give_item(id, "weapon_famas");
  1095. give_item(id, "weapon_p228");
  1096. give_item(id, "weapon_m3");
  1097.  
  1098. }
  1099. case Predator:
  1100. {
  1101. give_item(id, "weapon_sg552");
  1102. give_item(id, "weapon_glock18");
  1103. give_item(id, "weapon_smokegrenade");
  1104.  
  1105. }
  1106. case NemackiOficir:
  1107. {
  1108. give_item(id, "weapon_p90");
  1109. give_item(id, "weapon_glock18");
  1110. give_item(id, "weapon_smokegrenade");
  1111. }
  1112. case Cetnik:
  1113. {
  1114. give_item(id, "weapon_ak47");
  1115. give_item(id, "weapon_hegrenade");
  1116. give_item(id, "weapon_hegrenade");
  1117. broj_dinamita_igraca[id] = 2
  1118. }
  1119. case ProfVojnik:
  1120. {
  1121. give_item(id, "weapon_famas");
  1122. give_item(id, "weapon_usp");
  1123. broj_raketa_igraca[id] = 2
  1124. }
  1125. case Crysis:
  1126. {
  1127. give_item(id, "weapon_sg552");
  1128. give_item(id, "weapon_m4a1");
  1129. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 65);
  1130. }
  1131. case ProfStrelac:
  1132. {
  1133. give_item(id, "weapon_awp");
  1134. give_item(id, "weapon_m4a1");
  1135. broj_raketa_igraca[id] = 2
  1136. }
  1137. }
  1138.  
  1139. if(igrac_resetuje[id])
  1140. {
  1141. ResetujPoene(id)
  1142. igrac_resetuje[id] = false
  1143. }
  1144.  
  1145. if(poeni_igraca[id] > 0)
  1146. {
  1147. DodelaPoena(id)
  1148. }
  1149.  
  1150. if(informacije_predmet_igraca[id][0] == 9)
  1151. {
  1152. PromeniModel(id, 0)
  1153. }
  1154.  
  1155. if(informacije_predmet_igraca[id][0] == 1)
  1156. {
  1157. set_user_footsteps(id, 1)
  1158. }
  1159. else
  1160. {
  1161. set_user_footsteps(id, 0)
  1162. }
  1163.  
  1164. if(informacije_predmet_igraca[id][0] == 13)
  1165. {
  1166. give_item(id, "weapon_awp")
  1167. }
  1168.  
  1169. if(informacije_predmet_igraca[id][0] == 19)
  1170. {
  1171. informacije_predmet_igraca[id][1] = 1
  1172. }
  1173.  
  1174. if(informacije_predmet_igraca[id][0] == 27)
  1175. {
  1176. informacije_predmet_igraca[id][1] = 3
  1177.  
  1178. }
  1179.  
  1180. new weapons[32]
  1181. new weaponsnum
  1182. get_user_weapons(id, weapons, weaponsnum)
  1183. for(new i = 0; i < weaponsnum; i ++)
  1184. {
  1185. if(is_user_alive(id))
  1186. {
  1187. if(maxAmmo[weapons[i]] > 0)
  1188. {
  1189. cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]])
  1190. }
  1191. }
  1192. }
  1193.  
  1194. smanjene_povrede_igraca[id] = (47.3057 * (1.0 - floatpower(2.7182, - 0.06798 * float(snaga_igraca[id]))) / 100)
  1195. maximalna_energija_igraca[id] = energija_klasa[klasa_igraca[id]] + energija_igraca[id] * 2
  1196. brzina_igraca[id] = STANDARDNA_BRZINA * brzina_klasa[klasa_igraca[id]] + floatround(kondicija_igraca[id] * 1.3)
  1197.  
  1198. if(informacije_predmet_igraca[id][0] == 18)
  1199. {
  1200. maximalna_energija_igraca[id] += 100
  1201. brzina_igraca[id] -= 0.4
  1202. }
  1203.  
  1204. if(informacije_predmet_igraca[id][0] == 25)
  1205. {
  1206. maximalna_energija_igraca[id] += 50
  1207. brzina_igraca[id] -= 0.3
  1208. }
  1209.  
  1210. set_user_armor(id, oklop_klase[klasa_igraca[id]])
  1211. set_user_health(id, maximalna_energija_igraca[id])
  1212.  
  1213. if(informacije_predmet_igraca[id][0] == 17)
  1214. {
  1215. set_user_armor(id, 500)
  1216. }
  1217.  
  1218. return PLUGIN_CONTINUE
  1219. }
  1220.  
  1221. public PocetakRunde()
  1222. {
  1223. freezetime = false
  1224.  
  1225. for(new id = 0; id <= 32; id ++)
  1226. {
  1227. if(!is_user_alive(id))
  1228. {
  1229. continue
  1230. }
  1231.  
  1232. set_task(0.1, "PostaviBrzinu", id + ZADATAK_POSTAVI_BRZINU)
  1233.  
  1234. switch(get_user_team(id))
  1235. {
  1236. case 1:
  1237. {
  1238. client_cmd(id, "spk QTM_CodMod/start")
  1239. }
  1240. case 2:
  1241. {
  1242. client_cmd(id, "spk QTM_CodMod/start2")
  1243. }
  1244. }
  1245. }
  1246. }
  1247.  
  1248. public novaRunda()
  1249. {
  1250. freezetime = true
  1251. new iEnt = find_ent_by_class(-1, "Mine")
  1252. while(iEnt > 0)
  1253. {
  1254. remove_entity(iEnt)
  1255. iEnt = find_ent_by_class(iEnt, "Mine")
  1256. }
  1257. }
  1258.  
  1259. public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
  1260. {
  1261. 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])
  1262. {
  1263. return HAM_IGNORED
  1264. }
  1265.  
  1266. new health = get_user_health(this)
  1267. new weapon = get_user_weapon(idattacker)
  1268.  
  1269. if(health < 2)
  1270. {
  1271. return HAM_IGNORED
  1272. }
  1273.  
  1274. if(informacije_predmet_igraca[this][0] == 27 && informacije_predmet_igraca[this][1]>0)
  1275. {
  1276. informacije_predmet_igraca[this][1]--
  1277. return HAM_SUPERCEDE
  1278. }
  1279.  
  1280. if(snaga_igraca[this] > 0)
  1281. {
  1282. damage -= smanjene_povrede_igraca[this] * damage
  1283. }
  1284.  
  1285. if(informacije_predmet_igraca[this][0] == 2 || informacije_predmet_igraca[this][0] == 3)
  1286. {
  1287. damage -= (float(informacije_predmet_igraca[this][1])<damage)? float(informacije_predmet_igraca[this][1]): damage;
  1288. }
  1289.  
  1290. if(informacije_predmet_igraca[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
  1291. {
  1292. damage *= 2.0
  1293. }
  1294.  
  1295. if(informacije_predmet_igraca[idattacker][0] == 10)
  1296. {
  1297. //...
  1298. }
  1299.  
  1300. if(informacije_predmet_igraca[this][0] == 12)
  1301. {
  1302. damage -= (5.0 < damage)? 5.0: damage
  1303. }
  1304.  
  1305. if(weapon == CSW_AWP && informacije_predmet_igraca[idattacker][0] == 13)
  1306. {
  1307. damage = float(health)
  1308. }
  1309.  
  1310. if(informacije_predmet_igraca[idattacker][0] == 21)
  1311. {
  1312. damage += 10
  1313. }
  1314.  
  1315. if(informacije_predmet_igraca[idattacker][0] == 22)
  1316. {
  1317. damage += 20
  1318. }
  1319.  
  1320. if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
  1321. {
  1322. if((informacije_predmet_igraca[idattacker][0] == 9 && random_num(1, informacije_predmet_igraca[idattacker][1]) == 1))
  1323. {
  1324. damage = float(health)
  1325. }
  1326. }
  1327.  
  1328. if(weapon == CSW_KNIFE)
  1329. {
  1330. if(informacije_predmet_igraca[this][0] == 4)
  1331. {
  1332. damage = damage * 1.4 + inteligencija_igraca[idattacker]
  1333. }
  1334.  
  1335. if(informacije_predmet_igraca[idattacker][0] == 8 || klasa_igraca[idattacker] == Marinac && !(get_user_button(idattacker) & IN_ATTACK))
  1336. {
  1337. damage = float(health)
  1338. }
  1339. }
  1340.  
  1341. if(informacije_predmet_igraca[this][0] == 26 && random_num(1, informacije_predmet_igraca[this][1]) == 1)
  1342. {
  1343. SetHamParamEntity(3, this)
  1344. SetHamParamEntity(1, idattacker)
  1345. }
  1346.  
  1347. SetHamParamFloat(4, damage)
  1348. return HAM_IGNORED
  1349. }
  1350.  
  1351. public Damage(id)
  1352. {
  1353. new attacker = get_user_attacker(id)
  1354. new damage = read_data(2)
  1355.  
  1356. if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !klasa_igraca[attacker])
  1357. {
  1358. return PLUGIN_CONTINUE
  1359. }
  1360.  
  1361. if(informacije_predmet_igraca[attacker][0] == 12 && random_num(1, informacije_predmet_igraca[id][1]) == 1)
  1362. {
  1363. Display_Fade(id, 1 << 14, 1 << 14, 1 << 16, 255, 155, 50, 230)
  1364. }
  1365.  
  1366. if(get_user_team(id) != get_user_team(attacker))
  1367. {
  1368. while(damage > 20)
  1369. {
  1370. damage -= 20
  1371. iskustvo_igraca[attacker] ++
  1372. }
  1373. }
  1374.  
  1375. ProveriNivo(attacker)
  1376. return PLUGIN_CONTINUE
  1377. }
  1378.  
  1379. public Death()
  1380. {
  1381. killovi[read_data(2)] = 0
  1382. killovi[read_data(1)] ++
  1383.  
  1384. new id = read_data(2)
  1385. new attacker = read_data(1)
  1386.  
  1387. if(!is_user_alive(attacker) || !is_user_connected(attacker))
  1388. {
  1389. return PLUGIN_CONTINUE
  1390. }
  1391.  
  1392. new weapon = get_user_weapon(attacker)
  1393. new energija = get_user_health(attacker)
  1394.  
  1395. if(get_user_team(id) != get_user_team(attacker) && klasa_igraca[attacker])
  1396. {
  1397. new novo_iskustvo = 0
  1398.  
  1399. novo_iskustvo += iskustvo_za_ubistvo
  1400.  
  1401. if(klasa_igraca[id] == Assassin && klasa_igraca[attacker] != Assassin)
  1402. {
  1403. novo_iskustvo += iskustvo_za_ubistvo * 2
  1404. }
  1405.  
  1406. if(level_igraca[id] > level_igraca[attacker])
  1407. {
  1408. novo_iskustvo += level_igraca[id] - level_igraca[attacker]
  1409. }
  1410.  
  1411. if(klasa_igraca[attacker] == Assassin || informacije_predmet_igraca[attacker][0] == 15 && maxClip[weapon] != -1)
  1412. {
  1413. new nova_energija = (energija + 20 < maximalna_energija_igraca[attacker])? energija + 20: maximalna_energija_igraca[attacker]
  1414. set_user_clip(attacker, maxClip[weapon])
  1415. set_user_health(attacker, nova_energija)
  1416. }
  1417.  
  1418. if(!informacije_predmet_igraca[attacker][0])
  1419. {
  1420. DajPredmet(attacker, random_num(1, sizeof naziv_predmeta-1))
  1421. }
  1422.  
  1423. if(informacije_predmet_igraca[attacker][0] == 14)
  1424. {
  1425. new nova_energija = (energija + 50 < maximalna_energija_igraca[attacker])? energija + 50: maximalna_energija_igraca[attacker]
  1426. set_user_health(attacker, nova_energija)
  1427. }
  1428.  
  1429. set_hudmessage(0, 255, 0, 0.50, 0.33, 1, 6.0, 4.0)
  1430. ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", novo_iskustvo)
  1431.  
  1432. iskustvo_igraca[attacker] += novo_iskustvo
  1433. }
  1434.  
  1435. ProveriNivo(attacker)
  1436.  
  1437. if(informacije_predmet_igraca[id][0] == 7 && random_num(1, informacije_predmet_igraca[id][1]) == 1)
  1438. {
  1439. set_task(0.1, "Provera", id + ZADATAK_PROVERA)
  1440. }
  1441.  
  1442. return PLUGIN_CONTINUE;
  1443. }
  1444.  
  1445. public client_authorized(id)
  1446. {
  1447. //Resetuje Vestine
  1448. klasa_igraca[id] = 0
  1449. level_igraca[id] = 0
  1450. iskustvo_igraca[id] = 0
  1451. poeni_igraca[id] = 0
  1452. energija_igraca[id] = 0
  1453. inteligencija_igraca[id] = 0
  1454. snaga_igraca[id] = 0
  1455. kondicija_igraca[id] = 0
  1456. maximalna_energija_igraca[id] = 0
  1457. brzina_igraca[id] = 0.0
  1458.  
  1459. get_user_authid(id, ID_igraca[id], 34)
  1460.  
  1461. remove_task(id+ZADATAK_POKAZI_INFORMACIJE)
  1462. remove_task(id+ZADATAK_POSTAVI_BRZINU)
  1463. remove_task(id+ZADATAK_PROVERA)
  1464. remove_task(id+ZADATAK_SANITARNA_OBUKA)
  1465.  
  1466. set_task(3.0, "PokaziInformacije", id + ZADATAK_POKAZI_INFORMACIJE)
  1467.  
  1468. //Resetuje Predmet
  1469. Obrisipredmet(id)
  1470. }
  1471.  
  1472. public client_disconnect(id)
  1473. {
  1474. remove_task(id+ZADATAK_POKAZI_INFORMACIJE)
  1475. remove_task(id+ZADATAK_POSTAVI_BRZINU)
  1476. remove_task(id+ZADATAK_PROVERA)
  1477. remove_task(id+ZADATAK_SANITARNA_OBUKA)
  1478.  
  1479. SacuvajPodatke(id)
  1480. Obrisipredmet(id)
  1481. }
  1482.  
  1483. public PrebrojBombe(id)
  1484. {
  1485. if(klasa_igraca[id])
  1486. {
  1487. deaktivirana = id
  1488. }
  1489. }
  1490.  
  1491. public BombaPostavljena()
  1492. {
  1493. new Players[32], playerCount, id
  1494.  
  1495. get_players(Players, playerCount, "aeh", "TERRORIST")
  1496.  
  1497. if(get_playersnum() > 1)
  1498. {
  1499. iskustvo_igraca[postavljena] += iskustvo_za_c4
  1500. for (new i = 0; i < playerCount; i ++)
  1501. {
  1502. id = Players[i]
  1503.  
  1504. if(!klasa_igraca[id])
  1505. {
  1506. continue
  1507. }
  1508.  
  1509. if(id != postavljena)
  1510. {
  1511. iskustvo_igraca[id] += iskustvo_za_ubistvo
  1512. ColorChat(id, GREEN, "[COD:MW3] ^1Dobio si ^3%i ^1XP zato sto je tvoj tim postavio bombu.", iskustvo_za_ubistvo)
  1513. }
  1514. else
  1515. {
  1516. ColorChat(id, GREEN, "[COD:MW3] ^1Dobio si ^3%i ^1XP zato sto si postavio bombu.", iskustvo_za_c4)
  1517. }
  1518.  
  1519. ProveriNivo(id)
  1520. }
  1521. }
  1522. }
  1523.  
  1524. public BombaDeaktivirana()
  1525. {
  1526. new Players[32], playerCount, id
  1527.  
  1528. get_players(Players, playerCount, "aeh", "CT")
  1529.  
  1530. iskustvo_igraca[deaktivirana] += iskustvo_za_c4
  1531. for (new i = 0; i < playerCount; i ++)
  1532. {
  1533. id = Players[i]
  1534.  
  1535. if(!klasa_igraca[id])
  1536. {
  1537. continue
  1538. }
  1539.  
  1540. if(id != deaktivirana)
  1541. {
  1542. iskustvo_igraca[id] += iskustvo_za_ubistvo
  1543. ColorChat(id, GREEN, "[COD:MW3] ^1Dobio si ^3%i ^1XP zato sto je tvoj tim deaktivirao bombu", iskustvo_za_ubistvo)
  1544. }
  1545. else
  1546. {
  1547. ColorChat(id, GREEN, "[COD:MW3] ^1Dobio si ^3%i % ^1XP zato sto si deaktivirao bombu",iskustvo_za_c4)
  1548. }
  1549. ProveriNivo(id)
  1550. }
  1551. }
  1552.  
  1553. public OpisKlase(id)
  1554. {
  1555. new menu = menu_create("Izaberi Klasu:", "OpisKlase_Handle")
  1556.  
  1557. for(new i = 1; i < sizeof naziv_klase; i++)
  1558.  
  1559. menu_additem(menu, naziv_klase[i])
  1560. menu_setprop(menu, MPROP_EXITNAME, "Izlaz")
  1561. menu_setprop(menu, MPROP_BACKNAME, "Prethodna strana")
  1562. menu_setprop(menu, MPROP_NEXTNAME, "Sledeca strana")
  1563. menu_display(id, menu)
  1564.  
  1565. client_cmd(id, "spk QTM_CodMod/select")
  1566. }
  1567.  
  1568. public OpisKlase_Handle(id, menu, item)
  1569. {
  1570. client_cmd(id, "spk QTM_CodMod/select")
  1571.  
  1572. if(item == MENU_EXIT)
  1573. {
  1574. menu_destroy(menu)
  1575. return PLUGIN_CONTINUE
  1576. }
  1577.  
  1578. ColorChat(id, GREEN, "[COD:MW3] ^3%s: ^1%s", naziv_klase[item+1], opis_klase[item+1])
  1579. menu_display(id, menu)
  1580.  
  1581. return PLUGIN_CONTINUE
  1582. }
  1583.  
  1584. public IzaberiKlasu(id)
  1585. {
  1586. new menu = menu_create("Izaberi klasu:", "IzaberiKlasu_Handle")
  1587. new klasa[50]
  1588.  
  1589. for(new i = 1; i < sizeof naziv_klase; i ++)
  1590. {
  1591. UcitajPodatke(id, i)
  1592. format(klasa, 49, "%s \yLevel: %i", naziv_klase[i], level_igraca[id])
  1593. menu_additem(menu, klasa)
  1594. }
  1595.  
  1596. UcitajPodatke(id, klasa_igraca[id])
  1597.  
  1598. menu_setprop(menu, MPROP_EXITNAME, "Izlaz")
  1599. menu_setprop(menu, MPROP_BACKNAME, "Sledeca Strana")
  1600. menu_setprop(menu, MPROP_NEXTNAME, "Predhodna Strana")
  1601. menu_display(id, menu)
  1602.  
  1603. client_cmd(id, "spk QTM_CodMod/select")
  1604. }
  1605.  
  1606. public IzaberiKlasu_Handle(id, menu, item)
  1607. {
  1608. client_cmd(id, "spk QTM_CodMod/select")
  1609.  
  1610. if(item == MENU_EXIT)
  1611. {
  1612. menu_destroy(menu)
  1613. return PLUGIN_CONTINUE
  1614. }
  1615.  
  1616. item++
  1617.  
  1618. if(item == klasa_igraca[id])
  1619. {
  1620. return PLUGIN_CONTINUE
  1621. }
  1622.  
  1623. if(item == Rambo && !(get_user_flags(id) & ADMIN_KICK))
  1624. {
  1625. ColorChat(id, NORMAL, "^4[COD:MW3] ^1Nemate dozvolu za Premium Klasu - Ako Zelis Da Kupis Poseti Forum.");
  1626. IzaberiKlasu(id)
  1627. return PLUGIN_CONTINUE;
  1628.  
  1629. }
  1630.  
  1631. if(item == Assassin && !(get_user_flags(id) & ADMIN_LEVEL_H))
  1632. {
  1633. ColorChat(id, NORMAL, "^4[COD:MW3] ^1Nemate dozvolu za Premium Klasu - Ako Zelis Da Kupis Poseti Forum.");
  1634. IzaberiKlasu(id)
  1635. return PLUGIN_CONTINUE;
  1636. }
  1637.  
  1638. if(item == Major && !(get_user_flags(id) & ADMIN_KICK))
  1639. {
  1640. ColorChat(id, NORMAL, "^4[COD:MW3] ^1Nemate dozvolu za Premium Klasu - Ako Zelis Da Kupis Poseti Forum.");
  1641. IzaberiKlasu(id)
  1642. return PLUGIN_CONTINUE;
  1643. }
  1644.  
  1645. if(item == Armageddon && !(get_user_flags(id) & ADMIN_LEVEL_H))
  1646. {
  1647. ColorChat(id, NORMAL, "^4[COD:MW3] ^1Nemate dozvolu za Premium Klasu - Ako Zelis Da Kupis Poseti Forum.");
  1648. IzaberiKlasu(id)
  1649. return PLUGIN_CONTINUE;
  1650. }
  1651.  
  1652. if(item == RatkoMladic && !(get_user_flags(id) & ADMIN_KICK))
  1653. {
  1654. ColorChat(id, NORMAL, "^4[COD:MW3] ^1Nemate dozvolu za Premium Klasu - Ako Zelis Da Kupis Poseti Forum.");
  1655. IzaberiKlasu(id)
  1656. return PLUGIN_CONTINUE;
  1657. }
  1658.  
  1659. if(item == General && !(get_user_flags(id) & ADMIN_KICK))
  1660. {
  1661. ColorChat(id, NORMAL, "^4[COD:MW3] ^1Nemate dozvolu za Premium Klasu - Ako Zelis Da Kupis Poseti Forum.");
  1662. IzaberiKlasu(id)
  1663. return PLUGIN_CONTINUE;
  1664. }
  1665.  
  1666. if(item == Slayer && !(get_user_flags(id) & ADMIN_KICK))
  1667. {
  1668. ColorChat(id, NORMAL, "^4[COD:MW3] ^1Nemate dozvolu za Premium Klasu - Ako Zelis Da Kupis Poseti Forum.");
  1669. IzaberiKlasu(id)
  1670. return PLUGIN_CONTINUE;
  1671. }
  1672.  
  1673. if(item == Fighter && !(get_user_flags(id) & ADMIN_KICK))
  1674. {
  1675. ColorChat(id, NORMAL, "^4[COD:MW3] ^1Nemate dozvolu za Premium Klasu - Ako Zelis Da Kupis Poseti Forum.");
  1676. IzaberiKlasu(id)
  1677. return PLUGIN_CONTINUE;
  1678. }
  1679.  
  1680. if(klasa_igraca[id])
  1681. {
  1682. nova_klasa_igraca[id] = item
  1683. ColorChat(id, NORMAL, "^4[COD:MW3] ^1Klasa ce biti izmenjena u sledecoj rundi.");
  1684. }
  1685. else
  1686. {
  1687. klasa_igraca[id] = item
  1688. UcitajPodatke(id, klasa_igraca[id])
  1689. Pocetak(id)
  1690. }
  1691. return PLUGIN_CONTINUE
  1692. }
  1693.  
  1694. public DodelaPoena(id)
  1695. {
  1696. new inteligencija[65]
  1697. new energija[60]
  1698. new snaga[60]
  1699. new kondicija[60]
  1700. new naslov[50]
  1701.  
  1702. format(inteligencija, 64, "Inteligencija: \r%i \y[Povecava napad]", inteligencija_igraca[id])
  1703. format(energija, 59, "Energija: \r%i \y[Povecaca energiju]", energija_igraca[id])
  1704. format(snaga, 59, "Snaga: \r%i \y[Smanjuje povrede]", snaga_igraca[id])
  1705. format(kondicija, 59, "Kondicija: \r%i \y[Povecava tempo trcanja]", kondicija_igraca[id])
  1706. format(naslov, 49, "Preostalo ti je jos %i poena!", poeni_igraca[id])
  1707.  
  1708. new menu = menu_create(naslov, "DodelaPoena_Handler")
  1709. menu_additem(menu, inteligencija)
  1710. menu_additem(menu, energija)
  1711. menu_additem(menu, snaga)
  1712. menu_additem(menu, kondicija)
  1713.  
  1714. menu_display(id, menu)
  1715. }
  1716.  
  1717. public DodelaPoena_Handler(id, menu, item)
  1718. {
  1719. client_cmd(id, "spk QTM_CodMod/select")
  1720.  
  1721. if(item == MENU_EXIT)
  1722. {
  1723. menu_destroy(menu)
  1724. return PLUGIN_HANDLED
  1725. }
  1726.  
  1727. switch(item)
  1728. {
  1729. case 0:
  1730. {
  1731. inteligencija_igraca[id]++
  1732. }
  1733. case 1:
  1734. {
  1735. energija_igraca[id]++
  1736. }
  1737. case 2:
  1738. {
  1739. snaga_igraca[id]++
  1740. }
  1741. case 3:
  1742. {
  1743. kondicija_igraca[id]++
  1744. }
  1745. }
  1746.  
  1747. poeni_igraca[id]--
  1748.  
  1749. if(poeni_igraca[id] > 0)
  1750. {
  1751. DodelaPoena(id)
  1752. }
  1753.  
  1754. return PLUGIN_CONTINUE
  1755. }
  1756.  
  1757. public ResetujPoene(id)
  1758. {
  1759. poeni_igraca[id] = level_igraca[id] * 2 - 2
  1760. inteligencija_igraca[id] = 0
  1761. energija_igraca[id] = 0
  1762. kondicija_igraca[id] = 0
  1763. snaga_igraca[id] = 0
  1764. }
  1765.  
  1766. public KomandaResetujPoene(id)
  1767. {
  1768. ColorChat(id, GREEN, "[COD:MW3] ^1Vestine ce biti resetovane u sledecoj rundi")
  1769. client_cmd(id, "spk QTM_CodMod/select")
  1770. igrac_resetuje[id] = true
  1771. }
  1772.  
  1773. public SanitarnaObuka(id)
  1774. {
  1775. id -= ZADATAK_SANITARNA_OBUKA
  1776.  
  1777. if(informacije_predmet_igraca[id][0] != 16)
  1778. {
  1779. return PLUGIN_CONTINUE
  1780. }
  1781.  
  1782. set_task(5.0, "SanitarnaObuka", id + ZADATAK_SANITARNA_OBUKA)
  1783.  
  1784. if(!is_user_alive(id))
  1785. {
  1786. return PLUGIN_CONTINUE
  1787. }
  1788.  
  1789. new health = get_user_health(id)
  1790. new new_health = (health + 10 < maximalna_energija_igraca[id])? health + 10:maximalna_energija_igraca[id]
  1791. set_user_health(id, new_health)
  1792. return PLUGIN_CONTINUE
  1793. }
  1794.  
  1795. public KreirajMedKit(id)
  1796. {
  1797. if (!broj_medkit_igraca[id])
  1798. {
  1799. client_print(id, print_center, "Imats samo 2 paketa za prvu pomoc u jednoj rundi!")
  1800. return PLUGIN_CONTINUE
  1801. }
  1802.  
  1803. if(inteligencija_igraca[id] < 1)
  1804. {
  1805. client_print(id, print_center, "Da koristis Paket za Prvu Pomoc, moras povecati inteligenciju")
  1806. }
  1807.  
  1808. broj_medkit_igraca[id]--
  1809.  
  1810. new Float:origin[3]
  1811. entity_get_vector(id, EV_VEC_origin, origin)
  1812.  
  1813. new ent = create_entity("info_target")
  1814. entity_set_string(ent, EV_SZ_classname, "MedKit")
  1815. entity_set_edict(ent, EV_ENT_owner, id)
  1816. entity_set_int(ent, EV_INT_solid, SOLID_NOT)
  1817. entity_set_vector(ent, EV_VEC_origin, origin)
  1818. entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1)
  1819.  
  1820.  
  1821. entity_set_model(ent, "models/medkit.mdl")
  1822. set_rendering (ent, kRenderFxGlowShell, 255, 0, 0, kRenderFxNone, 255)
  1823. drop_to_floor(ent)
  1824.  
  1825. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1)
  1826.  
  1827. return PLUGIN_CONTINUE
  1828. }
  1829.  
  1830. public MedKitThink(ent)
  1831. {
  1832. new id = entity_get_edict(ent, EV_ENT_owner)
  1833. new totem_dist = 300
  1834. new totem_heal = 5 + floatround(inteligencija_igraca[id] * 0.5)
  1835.  
  1836. if(entity_get_edict(ent, EV_ENT_euser2) == 1)
  1837. {
  1838. new Float:forigin[3], origin[3]
  1839. entity_get_vector(ent, EV_VEC_origin, forigin)
  1840. FVecIVec(forigin,origin)
  1841.  
  1842. new entlist[33]
  1843. new numfound = find_sphere_class(0, "player", totem_dist + 0.0, entlist, 32, forigin)
  1844.  
  1845. for(new i = 0; i < numfound; i ++)
  1846. {
  1847. new pid = entlist[i]
  1848.  
  1849. if (get_user_team(pid) != get_user_team(id))
  1850. {
  1851. continue
  1852. }
  1853.  
  1854. new energija = get_user_health(pid)
  1855. new nova_energija = (energija+totem_heal<maximalna_energija_igraca[pid])?energija+totem_heal:maximalna_energija_igraca[pid]
  1856.  
  1857. if(is_user_alive(pid))
  1858. {
  1859. set_user_health(pid, nova_energija)
  1860. }
  1861. }
  1862.  
  1863. entity_set_edict(ent, EV_ENT_euser2, 0)
  1864. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5)
  1865.  
  1866. return PLUGIN_CONTINUE
  1867. }
  1868.  
  1869. if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
  1870. {
  1871. remove_entity(ent)
  1872. return PLUGIN_CONTINUE
  1873. }
  1874.  
  1875. if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
  1876. {
  1877. set_rendering(ent, kRenderFxNone, 255, 255, 255, kRenderTransAlpha, 100)
  1878. }
  1879.  
  1880. new Float:forigin[3], origin[3]
  1881. entity_get_vector(ent, EV_VEC_origin, forigin)
  1882. FVecIVec(forigin,origin)
  1883.  
  1884. //Find people near and give them health
  1885. message_begin(MSG_BROADCAST, SVC_TEMPENTITY, origin)
  1886. write_byte(TE_BEAMCYLINDER)
  1887. write_coord(origin[0])
  1888. write_coord(origin[1])
  1889. write_coord(origin[2])
  1890. write_coord(origin[0])
  1891. write_coord(origin[1] + totem_dist)
  1892. write_coord(origin[2] + totem_dist)
  1893. write_short(sprite_white)
  1894. write_byte(0) // startframe
  1895. write_byte(0) // framerate
  1896. write_byte(10) // life
  1897. write_byte(10) // width
  1898. write_byte(255) // noise
  1899. write_byte(255) // r, g, b
  1900. write_byte(100)// r, g, b
  1901. write_byte(100) // r, g, b
  1902. write_byte(128) // brightness
  1903. write_byte(5) // speed
  1904. message_end()
  1905.  
  1906. entity_set_edict(ent, EV_ENT_euser2, 1)
  1907. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5)
  1908.  
  1909. return PLUGIN_CONTINUE
  1910. }
  1911.  
  1912. public KreirajRakete(id)
  1913. {
  1914. if (!broj_raketa_igraca[id])
  1915. {
  1916. client_print(id, print_center, "Vec si iskoristio sve rakete!")
  1917. return PLUGIN_CONTINUE
  1918. }
  1919.  
  1920. if(prethodna_raketa_igraca[id] + 2.0 > get_gametime())
  1921. {
  1922. client_print(id, print_center, "Mozes da koristis raketu za 2 sekunde!")
  1923. return PLUGIN_CONTINUE
  1924. }
  1925.  
  1926. if (is_user_alive(id))
  1927. {
  1928. if(inteligencija_igraca[id] < 1)
  1929. {
  1930. client_print(id, print_center, "Da koristis rakete, moras povecati inteligenciju!")
  1931. }
  1932.  
  1933. prethodna_raketa_igraca[id] = get_gametime()
  1934. broj_raketa_igraca[id]--
  1935.  
  1936. new Float: Origin[3], Float: vAngle[3], Float: Velocity[3]
  1937.  
  1938. entity_get_vector(id, EV_VEC_v_angle, vAngle)
  1939. entity_get_vector(id, EV_VEC_origin , Origin)
  1940.  
  1941. new Ent = create_entity("info_target")
  1942.  
  1943. entity_set_string(Ent, EV_SZ_classname, "Rocket")
  1944. entity_set_model(Ent, "models/rpgrocket.mdl")
  1945.  
  1946. vAngle[0] *= -1.0
  1947.  
  1948. entity_set_origin(Ent, Origin)
  1949. entity_set_vector(Ent, EV_VEC_angles, vAngle)
  1950.  
  1951. entity_set_int(Ent, EV_INT_effects, 2)
  1952. entity_set_int(Ent, EV_INT_solid, SOLID_BBOX)
  1953. entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY)
  1954. entity_set_edict(Ent, EV_ENT_owner, id)
  1955.  
  1956. VelocityByAim(id, 1000 , Velocity)
  1957. entity_set_vector(Ent, EV_VEC_velocity ,Velocity)
  1958. }
  1959.  
  1960. return PLUGIN_CONTINUE
  1961. }
  1962.  
  1963. public KreirajDinamit(id)
  1964. {
  1965. if(!broj_dinamita_igraca[id])
  1966. {
  1967. client_print(id, print_center, "Vec si iskoristio sav dinamit!")
  1968. return PLUGIN_CONTINUE
  1969. }
  1970.  
  1971. if(inteligencija_igraca[id] < 1)
  1972. {
  1973. client_print(id, print_center, "Da koristis dinamit, moras povecati inteligenciju!")
  1974. }
  1975.  
  1976. broj_dinamita_igraca[id]--
  1977. new Float:fOrigin[3], iOrigin[3]
  1978. entity_get_vector( id, EV_VEC_origin, fOrigin)
  1979. iOrigin[0] = floatround(fOrigin[0])
  1980. iOrigin[1] = floatround(fOrigin[1])
  1981. iOrigin[2] = floatround(fOrigin[2])
  1982.  
  1983. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin)
  1984. write_byte(TE_EXPLOSION)
  1985. write_coord(iOrigin[0])
  1986. write_coord(iOrigin[1])
  1987. write_coord(iOrigin[2])
  1988. write_short(sprite_blast)
  1989. write_byte(32)
  1990. write_byte(20)
  1991. write_byte(0)
  1992. message_end()
  1993.  
  1994. message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin)
  1995. write_byte(TE_BEAMCYLINDER )
  1996. write_coord(iOrigin[0])
  1997. write_coord(iOrigin[1])
  1998. write_coord(iOrigin[2])
  1999. write_coord(iOrigin[0])
  2000. write_coord(iOrigin[1] + 300)
  2001. write_coord(iOrigin[2] + 300)
  2002. write_short(sprite_white)
  2003. write_byte(0) // startframe
  2004. write_byte(0) // framerate
  2005. write_byte(10) // life
  2006. write_byte(10) // width
  2007. write_byte(255) // noise
  2008. write_byte(255) // r, g, b
  2009. write_byte(100)// r, g, b
  2010. write_byte(100) // r, g, b
  2011. write_byte(128) // brightness
  2012. write_byte(8) // speed
  2013. message_end()
  2014.  
  2015. new entlist[33];
  2016. new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
  2017.  
  2018. for (new i = 0; i < numfound; i ++)
  2019. {
  2020. new pid = entlist[i]
  2021.  
  2022. if(!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24)
  2023. {
  2024. continue
  2025. }
  2026.  
  2027. ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencija_igraca[id]), 1)
  2028. }
  2029.  
  2030. return PLUGIN_CONTINUE
  2031. }
  2032.  
  2033. public PostaviMine(id)
  2034. {
  2035. if(!broj_min_igraca[id])
  2036. {
  2037. client_print(id, print_center, "Vec si iskoristio sve mine!")
  2038. return PLUGIN_CONTINUE
  2039. }
  2040.  
  2041. if(inteligencija_igraca[id] < 1)
  2042. {
  2043. client_print(id, print_center, "Da koristis mine, moras povecati inteligenciju!")
  2044. }
  2045.  
  2046. broj_min_igraca[id]--
  2047.  
  2048. new Float:origin[3]
  2049. entity_get_vector(id, EV_VEC_origin, origin)
  2050.  
  2051. new ent = create_entity("info_target")
  2052. entity_set_string(ent ,EV_SZ_classname, "Mine")
  2053. entity_set_edict(ent ,EV_ENT_owner, id)
  2054. entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS)
  2055. entity_set_origin(ent, origin)
  2056. entity_set_int(ent, EV_INT_solid, SOLID_BBOX)
  2057.  
  2058. entity_set_model(ent, "models/mine.mdl")
  2059. entity_set_size(ent,Float:{ -16.0,-16.0,0.0 }, Float:{ 16.0,16.0,2.0 })
  2060.  
  2061. drop_to_floor(ent)
  2062.  
  2063. entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01)
  2064.  
  2065. set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50)
  2066.  
  2067. return PLUGIN_CONTINUE
  2068. }
  2069.  
  2070. public DodirMine(ent, id)
  2071. {
  2072. new attacker = entity_get_edict(ent, EV_ENT_owner)
  2073.  
  2074. if (get_user_team(attacker) != get_user_team(id))
  2075. {
  2076. new Float:fOrigin[3], iOrigin[3]
  2077. entity_get_vector( ent, EV_VEC_origin, fOrigin)
  2078. iOrigin[0] = floatround(fOrigin[0])
  2079. iOrigin[1] = floatround(fOrigin[1])
  2080. iOrigin[2] = floatround(fOrigin[2])
  2081.  
  2082. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin)
  2083. write_byte(TE_EXPLOSION)
  2084. write_coord(iOrigin[0])
  2085. write_coord(iOrigin[1])
  2086. write_coord(iOrigin[2])
  2087. write_short(sprite_blast)
  2088. write_byte(32) // scale
  2089. write_byte(20) // framerate
  2090. write_byte(0) // flags
  2091. message_end()
  2092. new entlist[33]
  2093. new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32)
  2094.  
  2095. for (new i=0; i < numfound; i++)
  2096. {
  2097. new pid = entlist[i]
  2098.  
  2099. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24 || klasa_igraca[id] == Mitraljezac)
  2100. {
  2101. continue
  2102. }
  2103.  
  2104. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencija_igraca[attacker]), 1)
  2105. }
  2106.  
  2107. remove_entity(ent)
  2108. }
  2109. }
  2110.  
  2111. public DodirRakete(ent)
  2112. {
  2113. if(!is_valid_ent(ent))
  2114. {
  2115. return
  2116. }
  2117.  
  2118. new attacker = entity_get_edict(ent, EV_ENT_owner)
  2119.  
  2120. new Float:fOrigin[3], iOrigin[3]
  2121. entity_get_vector( ent, EV_VEC_origin, fOrigin)
  2122. iOrigin[0] = floatround(fOrigin[0])
  2123. iOrigin[1] = floatround(fOrigin[1])
  2124. iOrigin[2] = floatround(fOrigin[2])
  2125.  
  2126. message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin)
  2127. write_byte(TE_EXPLOSION)
  2128. write_coord(iOrigin[0])
  2129. write_coord(iOrigin[1])
  2130. write_coord(iOrigin[2])
  2131. write_short(sprite_blast)
  2132. write_byte(32) // scale
  2133. write_byte(20) // framerate
  2134. write_byte(0) // flags
  2135. message_end()
  2136.  
  2137. new entlist[33]
  2138. new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32)
  2139.  
  2140. for (new i = 0; i < numfound; i ++)
  2141. {
  2142. new pid = entlist[i]
  2143.  
  2144. if(!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacije_predmet_igraca[pid][0] == 24)
  2145. {
  2146. continue
  2147. }
  2148.  
  2149. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0 + float(inteligencija_igraca[attacker]), 1)
  2150. }
  2151. remove_entity(ent)
  2152. }
  2153.  
  2154. public CurWeapon(id)
  2155. {
  2156. if(freezetime || !klasa_igraca[id])
  2157. {
  2158. return PLUGIN_CONTINUE
  2159. }
  2160.  
  2161. new weapon = read_data(2)
  2162.  
  2163. PostaviBrzinu(id)
  2164.  
  2165. if(weapon == CSW_C4)
  2166. {
  2167. postavljena = id
  2168. }
  2169.  
  2170. if(klasa_igraca[id] == Assassin)
  2171. {
  2172. if(get_user_weapon(id) == CSW_KNIFE)
  2173. {
  2174. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 0)
  2175. }
  2176. else
  2177. {
  2178. set_user_rendering(id)
  2179. }
  2180.  
  2181. }
  2182.  
  2183. return PLUGIN_CONTINUE
  2184. }
  2185.  
  2186. public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
  2187. {
  2188. if(equal(szSound, "common/wpn_denyselect.wav"))
  2189. {
  2190. KoristiPredmet(id)
  2191. return FMRES_SUPERCEDE
  2192. }
  2193.  
  2194. return FMRES_IGNORED
  2195. }
  2196.  
  2197. public KoristiPredmet(id)
  2198. {
  2199. if(informacije_predmet_igraca[id][0] == 19 && informacije_predmet_igraca[id][1]>0)
  2200. {
  2201. set_user_health(id, maximalna_energija_igraca[id])
  2202. informacije_predmet_igraca[id][1]--
  2203. }
  2204.  
  2205. if(broj_medkit_igraca[id] > 0)
  2206. {
  2207. KreirajMedKit(id)
  2208. }
  2209.  
  2210. if(broj_raketa_igraca[id] > 0)
  2211. {
  2212. KreirajRakete(id)
  2213. }
  2214.  
  2215. if(broj_min_igraca[id] > 0)
  2216. {
  2217. PostaviMine(id)
  2218. }
  2219.  
  2220. if(broj_dinamita_igraca[id] > 0)
  2221. {
  2222. KreirajDinamit(id)
  2223. }
  2224.  
  2225. return PLUGIN_HANDLED;
  2226. }
  2227.  
  2228. public SacuvajPodatke(id)
  2229. {
  2230. new vaultkey[64],vaultdata[256]
  2231. format(vaultkey,63,"%s-%i-cod", ID_igraca[id], klasa_igraca[id])
  2232. format(vaultdata,255,"%i#%i#%i#%i#%i#%i", iskustvo_igraca[id], level_igraca[id], inteligencija_igraca[id], energija_igraca[id], snaga_igraca[id], kondicija_igraca[id])
  2233. nvault_set(g_vault,vaultkey,vaultdata)
  2234. }
  2235.  
  2236. public UcitajPodatke(id, klasa)
  2237. {
  2238. new vaultkey[64],vaultdata[256]
  2239. format(vaultkey,63,"%s-%i-cod", ID_igraca[id], klasa)
  2240. format(vaultdata,255,"%i#%i#%i#%i#%i#%i", iskustvo_igraca[id], level_igraca[id], inteligencija_igraca[id], energija_igraca[id], snaga_igraca[id], kondicija_igraca[id])
  2241. nvault_get(g_vault,vaultkey,vaultdata,255)
  2242.  
  2243. replace_all(vaultdata, 255, "#", " ")
  2244.  
  2245. new iskustvoigraca[32], leveligraca[32], inteligencijaigraca[32], energijaigraca[32], snagacigraca[32], kondicijaigraca[32]
  2246.  
  2247. parse(vaultdata, iskustvoigraca, 31, leveligraca, 31, inteligencijaigraca, 31, energijaigraca, 31, snagacigraca, 31, kondicijaigraca, 31)
  2248.  
  2249. iskustvo_igraca[id] = str_to_num(iskustvoigraca)
  2250. level_igraca[id] = str_to_num(leveligraca)>0?str_to_num(leveligraca):1
  2251. inteligencija_igraca[id] = str_to_num(inteligencijaigraca)
  2252. energija_igraca[id] = str_to_num(energijaigraca)
  2253. snaga_igraca[id] = str_to_num(snagacigraca)
  2254. kondicija_igraca[id] = str_to_num(kondicijaigraca)
  2255. poeni_igraca[id] = (level_igraca[id] - 1) * 2 - inteligencija_igraca[id] - energija_igraca[id] - snaga_igraca[id] - kondicija_igraca[id]
  2256. }
  2257.  
  2258. public IzbaciPredmet(id)
  2259. {
  2260. if(informacije_predmet_igraca[id][0])
  2261. {
  2262. ColorChat(id, GREEN, "[COD:MW3] ^1Bacio si ^3%s.", naziv_predmeta[informacije_predmet_igraca[id][0]])
  2263. Obrisipredmet(id);
  2264. }
  2265. else
  2266. {
  2267. ColorChat(id, GREEN, "[COD:MW3] ^1Nemate nijedan predmet.", naziv_predmeta[informacije_predmet_igraca[id][0]])
  2268. }
  2269. }
  2270.  
  2271. public Obrisipredmet(id)
  2272. {
  2273. informacije_predmet_igraca[id][0] = 0
  2274. informacije_predmet_igraca[id][1] = 0
  2275.  
  2276. if(is_user_alive(id))
  2277. {
  2278. set_user_footsteps(id, 0)
  2279. }
  2280.  
  2281. set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
  2282. PromeniModel(id, 1)
  2283. }
  2284.  
  2285. public DajPredmet(id, predmet)
  2286. {
  2287. Obrisipredmet(id)
  2288. informacije_predmet_igraca[id][0] = predmet
  2289. ColorChat(id, GREEN, "[COD:MW3] ^1Dobio si ^3%s.", naziv_predmeta[informacije_predmet_igraca[id][0]])
  2290.  
  2291. switch(predmet)
  2292. {
  2293. case 1:
  2294. {
  2295. set_user_footsteps(id, 1)
  2296. }
  2297. case 2:
  2298. {
  2299. informacije_predmet_igraca[id][1] = random_num(3,6)
  2300. }
  2301. case 3:
  2302. {
  2303. informacije_predmet_igraca[id][1] = random_num(6, 11)
  2304. }
  2305. case 5:
  2306. {
  2307. informacije_predmet_igraca[id][1] = random_num(6, 9)
  2308. }
  2309. case 6:
  2310. {
  2311. informacije_predmet_igraca[id][1] = random_num(100, 150)
  2312. set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, informacije_predmet_igraca[id][1])
  2313. }
  2314. case 7:
  2315. {
  2316. informacije_predmet_igraca[id][1] = random_num(2, 4)
  2317. }
  2318. case 8:
  2319. {
  2320. if(klasa_igraca[id] == Marinac)
  2321. {
  2322. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1))
  2323. }
  2324. }
  2325. case 9:
  2326. {
  2327. informacije_predmet_igraca[id][1] = random_num(1, 3)
  2328. PromeniModel(id, 0)
  2329. give_item(id, "weapon_hegrenade")
  2330. }
  2331. case 10:
  2332. {
  2333. informacije_predmet_igraca[id][1] = random_num(4, 8)
  2334. give_item(id, "weapon_hegrenade")
  2335. }
  2336. case 12:
  2337. {
  2338. informacije_predmet_igraca[id][1] = random_num(1, 4)
  2339. }
  2340. case 13:
  2341. {
  2342. give_item(id, "weapon_awp")
  2343. }
  2344. case 15:
  2345. {
  2346. if(klasa_igraca[id] == Assassin)
  2347. {
  2348. DajPredmet(id, random_num(1, sizeof naziv_predmeta-1))
  2349. }
  2350. }
  2351. case 16:
  2352. {
  2353. set_task(5.0, "SanitarnaObuka", id + ZADATAK_SANITARNA_OBUKA)
  2354. }
  2355. case 19:
  2356. {
  2357. informacije_predmet_igraca[id][1] = 1
  2358. }
  2359. case 26:
  2360. {
  2361. informacije_predmet_igraca[id][1] = random_num(3, 6)
  2362. }
  2363. case 27:
  2364. {
  2365. informacije_predmet_igraca[id][1] = 3
  2366. }
  2367. }
  2368. }
  2369.  
  2370. public OpisPredmeta(id)
  2371. {
  2372. new opis_predmeta[128]
  2373. new slucajne_vrednosti[3]
  2374.  
  2375. num_to_str(informacije_predmet_igraca[id][1], slucajne_vrednosti, 2)
  2376. format(opis_predmeta, 127, opis_predmet[informacije_predmet_igraca[id][0]])
  2377. replace_all(opis_predmeta, 127, "LW", slucajne_vrednosti)
  2378.  
  2379. ColorChat(id, GREEN, "Predmet: ^1%s.", naziv_predmeta[informacije_predmet_igraca[id][0]])
  2380. ColorChat(id, GREEN, "Opis: ^1%s.", opis_predmeta)
  2381. }
  2382.  
  2383. public Proveri(id)
  2384. {
  2385. id -= ZADATAK_PROVERA
  2386. ExecuteHamB(Ham_CS_RoundRespawn, id)
  2387. }
  2388.  
  2389. public ProveriNivo(id)
  2390. {
  2391. if(!is_user_connected(id))
  2392. {
  2393. return PLUGIN_HANDLED
  2394. }
  2395.  
  2396. new level_ratio = 75
  2397. new max_level = 1000000
  2398.  
  2399. //new level_ratio = get_pcvar_num(p_LevelRatio)
  2400. //new max_level = get_pcvar_num(p_MaxLevel)
  2401.  
  2402. while(iskustvo_igraca[id] >= iskustvo_levelu[id] && level_igraca[id] < max_level)
  2403. {
  2404. level_igraca[id]++
  2405. poeni_igraca[id] = (level_igraca[id] - 1) * 2 - inteligencija_igraca[id] - energija_igraca[id] - snaga_igraca[id] - kondicija_igraca[id]
  2406.  
  2407. set_hudmessage(0, 255, 0, -1.0, 0.3, 0, 6.0, 5.0)
  2408. ShowSyncHudMsg(id, SyncHudObj3,"Dobrodosao na %i Level!", level_igraca[id])
  2409. client_cmd(id, "spk QTM_CodMod/levelup")
  2410.  
  2411. iskustvo_levelu[id] = level_igraca[id] * (2 * level_ratio)
  2412. }
  2413.  
  2414. if(level_igraca[id] > max_level)
  2415. {
  2416. level_igraca[id] = max_level
  2417. KomandaResetujPoene(id)
  2418. }
  2419.  
  2420. SacuvajPodatke(id)
  2421. return PLUGIN_CONTINUE
  2422. }
  2423.  
  2424. public PokaziInformacije(id)
  2425. {
  2426. id -= ZADATAK_POKAZI_INFORMACIJE
  2427.  
  2428. set_task(0.1, "PokaziInformacije", id + ZADATAK_POKAZI_INFORMACIJE)
  2429.  
  2430. if(!is_user_alive(id))
  2431. {
  2432. new target = entity_get_int(id, EV_INT_iuser2)
  2433.  
  2434. if(target == 0)
  2435. {
  2436. return PLUGIN_CONTINUE
  2437. }
  2438.  
  2439. set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2)
  2440. ShowSyncHudMsg(id, SyncHudObj, "[Klasa: %s]^n[Predmet: %s]^n[Iskustvo: %i]^n[Do Sledeceg Levela: %i]^n[Level: %i]^n[Energija: %d]", naziv_klase[klasa_igraca[target]], naziv_predmeta[informacije_predmet_igraca[target][0]], iskustvo_igraca[target], iskustvo_levelu[target] - iskustvo_igraca[target], level_igraca[target], get_user_health(target), killovi[target])
  2441.  
  2442. return PLUGIN_CONTINUE
  2443. }
  2444.  
  2445. set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0)
  2446. ShowSyncHudMsg(id, SyncHudObj, "[Klasa: %s]^n[Predmet: %s]^n[Iskustvo: %i]^n[Do Sledeceg Levela: %i]^n[Level: %i]^n[Energija: %d]", 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), killovi[id])
  2447. return PLUGIN_CONTINUE
  2448. }
  2449.  
  2450. public PostaviBrzinu(id)
  2451. {
  2452. id -= id > 32? ZADATAK_POSTAVI_BRZINU: 0
  2453.  
  2454. if(klasa_igraca[id])
  2455. {
  2456. set_user_maxspeed(id, brzina_igraca[id])
  2457. }
  2458. }
  2459.  
  2460. public PromeniModel(id,reset)
  2461. {
  2462. if(id < 1 || id > 32 || !is_user_connected(id))
  2463. {
  2464. return PLUGIN_CONTINUE
  2465. }
  2466.  
  2467. if(reset)
  2468. {
  2469. cs_reset_user_model(id)
  2470. }
  2471. else
  2472. {
  2473. new num = random_num(0,3)
  2474.  
  2475. switch(get_user_team(id))
  2476. {
  2477. case 1:
  2478. {
  2479. cs_set_user_model(id, Kamuflaza_CT[num])
  2480. }
  2481.  
  2482. case 2:
  2483. {
  2484. cs_set_user_model(id, Kamuflaza_T[num])
  2485. }
  2486. }
  2487. }
  2488.  
  2489. return PLUGIN_CONTINUE;
  2490. }
  2491.  
  2492. public Pomoc()
  2493. {
  2494. switch(random(8))
  2495. {
  2496. case 0:
  2497. {
  2498. ColorChat(0, GREEN, "[COD:MW3] ^1Da resetujes level-e,kucaj ^3/reset")
  2499. }
  2500. case 1:
  2501. {
  2502. ColorChat(0, GREEN, "[COD:MW3] ^1Da promenis klasu,kucaj ^3/klasa")
  2503. }
  2504. case 2:
  2505. {
  2506. ColorChat(0, GREEN, "[COD:MW3] ^1Da koristis predmete (mine, rakete), stisni ^3E")
  2507. }
  2508. case 3:
  2509. {
  2510. ColorChat(0, GREEN, "[COD:MW3] ^1Da izbacis predmet,kucaj ^3/izbaci")
  2511. }
  2512. case 4:
  2513. {
  2514. ColorChat(0, GREEN, "[COD:MW3] ^1Da vidis opis predmeta,kucaj ^3/predmet")
  2515. }
  2516. case 5:
  2517. {
  2518. ColorChat(0, GREEN, "[COD:MW3] ^1Da vidis opis klase,kucaj ^3/opis")
  2519. }
  2520. case 6:
  2521. {
  2522. ColorChat(0, GREEN, "[COD:MW3] ^1Da otvoris COD:MW Shop,kucaj ^3/shop")
  2523. }
  2524. case 7:
  2525. {
  2526. ColorChat(0, GREEN, "[COD:MW3] ^1Da kupis premium klasu poseti,kucaj ^3/forum")
  2527. }
  2528. }
  2529. set_task(30.0, "Pomoc")
  2530. }
  2531.  
  2532. public DodirOruzija(weapon,id)
  2533. {
  2534. new model[23]
  2535. entity_get_string(weapon, EV_SZ_model, model, 22)
  2536.  
  2537. if(!is_user_connected(id) || entity_get_edict(weapon, EV_ENT_owner) == id || equal(model, "models/w_backpack.mdl"))
  2538. {
  2539. return HAM_IGNORED
  2540. }
  2541.  
  2542. return HAM_SUPERCEDE
  2543. }
  2544.  
  2545. public plugin_end()
  2546. {
  2547. nvault_close(g_vault)
  2548. }
  2549.  
  2550. stock bool:UTIL_In_FOV(id, target)
  2551. {
  2552. if (Find_Angle(id, target, 9999.9) > 0.0)
  2553. {
  2554. return true
  2555. }
  2556.  
  2557. return false
  2558. }
  2559.  
  2560. stock Float:Find_Angle(Core,Target,Float:dist)
  2561. {
  2562. new Float:vec2LOS[2]
  2563. new Float:flDot
  2564. new Float:CoreOrigin[3]
  2565. new Float:TargetOrigin[3]
  2566. new Float:CoreAngles[3]
  2567.  
  2568. pev(Core,pev_origin,CoreOrigin)
  2569. pev(Target,pev_origin,TargetOrigin)
  2570.  
  2571. if(get_distance_f(CoreOrigin,TargetOrigin) > dist)
  2572. {
  2573. return 0.0
  2574. }
  2575.  
  2576. pev(Core,pev_angles, CoreAngles);
  2577.  
  2578. for(new i = 0; i < 2; i ++)
  2579. {
  2580. vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i]
  2581. }
  2582.  
  2583. new Float:veclength = Vec2DLength(vec2LOS)
  2584.  
  2585. //Normalize V2LOS
  2586. if(veclength <= 0.0)
  2587. {
  2588. vec2LOS[0] = 0.0
  2589. vec2LOS[1] = 0.0
  2590. }
  2591. else
  2592. {
  2593. new Float:flLen = 1.0 / veclength
  2594. vec2LOS[0] = vec2LOS[0] * flLen
  2595. vec2LOS[1] = vec2LOS[1] * flLen
  2596. }
  2597.  
  2598. //Do a makevector to make v_forward right
  2599. engfunc(EngFunc_MakeVectors,CoreAngles)
  2600.  
  2601. new Float:v_forward[3]
  2602. new Float:v_forward2D[2]
  2603. get_global_vector(GL_v_forward, v_forward)
  2604.  
  2605. v_forward2D[0] = v_forward[0]
  2606. v_forward2D[1] = v_forward[1]
  2607.  
  2608. flDot = vec2LOS[0] * v_forward2D[0]+vec2LOS[1] * v_forward2D[1]
  2609.  
  2610. if (flDot > 0.5)
  2611. {
  2612. return flDot
  2613. }
  2614.  
  2615. return 0.0
  2616. }
  2617.  
  2618. stock Float:Vec2DLength(Float:Vec[2])
  2619. {
  2620. return floatsqroot(Vec[0] * Vec[0] + Vec[1] * Vec[1])
  2621. }
  2622.  
  2623. stock Display_Fade(id, duration, holdtime, fadetype, red, green, blue, alpha)
  2624. {
  2625. message_begin(MSG_ONE, g_msg_screenfade, { 0, 0, 0 }, id)
  2626. write_short(duration) // Duration of fadeout
  2627. write_short(holdtime) // Hold time of color
  2628. write_short(fadetype) // Fade type
  2629. write_byte(red) // Red
  2630. write_byte(green) // Green
  2631. write_byte(blue) // Blue
  2632. write_byte(alpha) // Alpha
  2633. message_end()
  2634. }
  2635.  
  2636. stock set_user_clip(id, ammo)
  2637. {
  2638. new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _)
  2639. get_weaponname(weapon, weaponname, 31)
  2640.  
  2641. while((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
  2642. {
  2643. if(entity_get_edict(weaponid, EV_ENT_owner) == id)
  2644. {
  2645. set_pdata_int(weaponid, 51, ammo, 4)
  2646. return weaponid
  2647. }
  2648. }
  2649. return 0
  2650. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement