hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 21:18



Jelenlévő felhasználók

Jelenleg 194 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 194 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Javitani pls. Cod MW mod
HozzászólásElküldve: 2013.05.22. 19:42 
Offline
Jómunkásember

Csatlakozott: 2013.02.11. 16:06
Hozzászólások: 491
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 50 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  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.  
  10.  
  11. #define PLUGIN "CoD:Mw [NEW]"
  12. #define VERSION "1.0"
  13. #define AUTHOR "K.O,QTM_Peyote,johnC,GranTorino"
  14.  
  15. #define STANDARD_FAST 250.0
  16.  
  17. #define TASK_SHOW_INFORMATION 672
  18. #define TASK_RAISE 704
  19. #define TASK_TRAINING_SANITARY 736
  20. #define TASK_SHOW_ADVERTISEMENT 768
  21. #define TASK_SET_FAST 832
  22.  
  23. //#define BOT 1
  24.  
  25.  
  26.  
  27. new SyncHudObj;
  28. new SyncHudObj2;
  29. new SyncHudObj3;
  30. new g_msg_screenfade;
  31.  
  32. new sprite_white;
  33. new sprite_blast;
  34.  
  35. new g_vault;
  36.  
  37. new podkladajacy;
  38. new disarming;
  39.  
  40. new experience_for_murder;
  41. new experience_for_bomb;
  42.  
  43. new Clothing_CT[4][]={"sas","gsg9","urban","gign"};
  44. new Clothing_Terro[4][]={"arctic","leet","guerilla","terror"};
  45.  
  46. 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};
  47. new const maxClip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
  48. 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 };
  49.  
  50. new information_item_player[33][2];
  51. new const names_objects[][] =
  52. {
  53. "Nincs",
  54. "Nindzsa Bakkancsok", //1
  55. "Dupla Melleny", //2
  56. "Megerositett Melleny", //3
  57. "Veteran Kes", //4
  58. "Meglepetes Tamadas", //5
  59. "Nindzsa Kopeny", //6
  60. "Ujraeledo", //7
  61. "Kommando Kes", //8
  62. "Kem szemuveg",
  63. "Misztikus Granat",
  64. "Nindzsa Lab", //11
  65. "Titokzatos Katona", //12
  66. "AWP mesterlovesz",//13
  67. "Adrenalin",//14
  68. "Rambo",//15
  69. "Egeszseges Edzes",//16
  70. "NASA Melleny",//17
  71. "Edzett Veteran",//18
  72. "Elsosegely csomag",//19
  73. "NO Recoil",//20
  74. "Titan Toltenyek",//21
  75. "Ezres Toltenyek",//22
  76. "Kicsi Recoil",//23
  77. "SWAT",//24
  78. "Edzett Ujonc",//25
  79. "Relective Fegyverzet",//26
  80. "Jet Modul"
  81.  
  82. };
  83.  
  84. new const descriptions_objects[][] = {"Olj meg valakit, es kapsz targyat!",
  85. "Halk Futas",
  86. "Csokkenti a becsapodo sebzeseket.",
  87. "Csokkenti a becsapodo sebzeseket.",
  88. "Erosebb szuras kessel. ",
  89. "Ha hatbol talalsz el valakit, 2x olyan eross lesz a sebzesed.",
  90. "Reszben lathatatlanna tesz teged.",
  91. "1/3 esely az ujraeledesre ha megolnek.",
  92. "Azonnali oles a kessel.",
  93. "1/3 eselyt kapsz hogy HE granattal azonnali halalt okozz.",
  94. "Azonnali oles HE granattal.",
  95. "2x tudsz ugrani a levegoben.",
  96. "A seruleseid csokkennek 1/3-hoz. 1/3-hoz eselyed van arra, hogy megvakitsd az ellenseget.",
  97. "Azonnali oles AWP-vel.",
  98. "Minden Frag utan, kapsz +50 HP-t.",
  99. "Minden Frag utan, full tarat es +20 HP-t kapsz.",
  100. "Visszakapsz 10 HP-t 3 masodpercenkent",
  101. "+500 Armor.",
  102. "Kapsz minden korben 100 HP-t, viszont lassaban futsz.",
  103. "Nyomj E betut HP tolteshez.",
  104. "No recoil.",
  105. "+15 Sebzes.",
  106. "+25 Sebzes.",
  107. "Nem rant annyira a fegyver.",
  108. "A targyak nem hatraltatnak teged.",
  109. "Minden korben +50 HP-t kapsz és lassabban futsz.",
  110. "1/3 eselyed arra hogy visszaveri a loveseket.",
  111. "Immunis leszel minden egyes korben 3 golyora",
  112. "Nyomj CTRL-t és SPACE-t a modul hasznalatahoz, 4 masodpercenkent toltodik ujra a modul."
  113. };
  114.  
  115. new g_szAuthID[33][34];
  116. new class_player[33];
  117. new level_player[33] = 1;
  118. new experience_player[33];
  119.  
  120. new nowa_class_player[33];
  121.  
  122. new const experience_level[] =
  123. {
  124. 0,10,50,100,140,315,560,875,1260,1715,2240,2835,3500,4235,5040,5915,6860,7875,8960,10115,11340,12635,14000,15435,16940,18515,20160,21875,23660,25515,27440,29435,31500,33635,35840,38115,40460,42875,45360,47915,50540,53235,56000,58835,61740,64715,67760,70875,
  125. 74060,77315,80640,84035,87500,91035,94640,98315,102060,105875,109760,113715,117740,121835,126000,130235,134540,138915,143360,147875,152460,157115,161840,166635,171500,176435,181440,186515,191660,196875,202160,207515,212940,218435,224000,229635,235340,241115,246960,252875,258860,
  126. 264915,271040,277235,283500,289835,296240,302715,309260,315875,322560,329315,336140,343035,350000,357035,364140,
  127. 36956,37258,38170,38476,39246,39711,40179,40336,40652,41288,
  128. 41448,41931,42255,42418,43074,43404,44234,44902,45406,45913,
  129. 46253,47279,48311,49003,49873,50223,50399,50576,51466,52540,
  130. 52900,53624,54534,55449,56553,57108,57666,57853,58605,59550,
  131. 60310,60883,62035,63000,63970,64165,65341,65735,66329,67125,
  132. 68125,69331,69937,70343,70955,71160,71984,72812,73020,73438,
  133. 73648,73859,74919,75771,77055,77485,78565,79867,80085,80742,
  134. 80962,82067,82511,82957,83405,84080,84758,85212,86124,87040,
  135. 87960,89346,90042,90974,92378,93083,94027,94975,95213,95452,
  136. 96892,98097,99307,100279,101743,102233,103217,104205,104949,105198,
  137. 105948,107454,108210,108969,109223,110753,111777,113319,113835,114612,
  138. 114872,115133,116443,117758,118022,119612,120410,120944,121748,122017,
  139. 122287,123100,124732,125005,125553,127203,128307,128584,128862,129978,
  140. 130258,131944,133636,134202,134486,135911,137055,138490,139066,140222,
  141. 141092,142256,143716,144302,145478,146953,148433,149918,150812,151709,
  142. 152309,152911,154421,155936,156544,158374,159904,161746,162362,162980,
  143. 163910,165465,167025,167651,169221,170796,172060,172694,173648,175243,
  144. 175563,177168,179100,180069,180393,182018,182996,184304,184632,184961,
  145. 185621,187276,188272,188938,190274,191949,192957,194979,196331,198026,
  146. 199726,200067,200751,201780,203156,203846,204538,206620,208012,210106,
  147. 210456,211158,211862,213274,215398,217528,218952,220737,222885,224321,
  148. 225041,225402,226488,228666,229758,231948,233778,235246,235982,237827,
  149. 238197,239681,241169,243407,244903,246778,248658,250920,252054,252433,
  150. 253573,255859,257387,258153,259305,261615,262773,264321,265485,266652,
  151. 268212,269385,271737,272523,273705,275285,276077,277268,279656,281651,
  152. 282451,284857,286465,287674,289694,290099,292129,292536,293352,295806,
  153. 297856,298267,298679,300331,301159,301574,303654,306156,308246,310341,
  154. 311181,313286,315818,317510,320054,322179,323883,325591,326875,328162,
  155. 329022,330746,332474,332907,334209,335079,336823,339445,339883,342078,
  156. 342958,345163,347815,350473,352249,354919,357595,359383,360279,362973,
  157. 364773,367479,368383,371101,372917,374282,375194,377022,378854,380690,
  158. 383450,383911,384835,387150,389006,391796,392262,393663,394131,396476,
  159. 398826,401652,402124,402597,404967,406867,409723,410677,411155,412592
  160. };
  161.  
  162. new punkty_player[33];
  163. new zdrowie_player[33];
  164. new inteligencja_player[33];
  165. new wytrzymalosc_player[33];
  166. new Float:redukcja_obrazen_player[33];
  167. new kondycja_player[33];
  168. new maksymalne_zdrowie_player[33];
  169. new Float:fast_player[33];
  170.  
  171. new bool:gracz_resetuje[33];
  172.  
  173. enum { NONE = 0, Sniper, Commando, Assault, Deffender, Shotgun };
  174. new const zdrowie_klasy[] = { 0, 120, 130, 110, 250, 150, 100, 100, 130, 100, 130};
  175. new const Float:fast_klasy[] = {0.0, 1.2, 1.35, 0.8, 0.8, 1.0, 1.0, 1.0, 1.0, 1.45 , 1.15};
  176. new const pancerz_klasy[] = { 0, 100, 100, 100, 200, 100, 0, 100, 100, 0, 150};
  177. new const names_klas[][] = {"Nincs",
  178. "Sniper",
  179. "Commando",
  180. "Assault",
  181. "Deffender",
  182. "Rusher",
  183. };
  184.  
  185. new const descriptions_klas[][] = {"Nincs",
  186. "Felszereles: AWP, Deagle es Scout, 120hp, 110 Gyorsasag, 100 Amor.",
  187. "Felszereles: Deagle, 130hp, 135 Gyorsasag, 100 Armor Azonnali oles kessel (jobb klikk)",
  188. "Felszereles: AK47, M4A1, 110hp. 80 Gyorsasag, 100 Armor",
  189. "Felszereles: M249, 250hp, Osszes granat, 200 Armor",
  190. "Felszereles: Shotgun (pumpalos), Deagle, 150hp, 100 Armor",
  191. };
  192.  
  193. new ilosc_apteczek_player[33];
  194. new ilosc_rakiet_player[33];
  195. new Float:poprzednia_rakieta_player[33];
  196. new ilosc_min_player[33];
  197. new ilosc_dynamitow_player[33];
  198. new ilosc_skokow_player[33];
  199.  
  200. new bool:freezetime = true;
  201.  
  202. public plugin_init()
  203. {
  204. register_plugin(PLUGIN, VERSION, AUTHOR);
  205.  
  206. g_vault = nvault_open("CodMod");
  207.  
  208. register_think("FirstAidKit","FirstAidKitThink");
  209.  
  210. RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  211. RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
  212.  
  213.  
  214. register_forward(FM_CmdStart, "CmdStart");
  215. register_forward(FM_EmitSound, "EmitSound");
  216.  
  217. register_logevent("PoczatekRundy", 2, "1=Round_Start");
  218. register_logevent("BombaPodlozona", 3, "2=Planted_The_Bomb");
  219.  
  220. register_event("SendAudio", "BombaRozbrojona", "a", "2&%!MRAD_BOMBDEF");
  221. register_event("BarTime", "RozbrajaBomb", "be", "1=10", "1=5");
  222. register_event("DeathMsg", "Death", "ade");
  223. register_event("Damage", "Damage", "b", "2!=0");
  224. register_event("CurWeapon","CurWeapon","be", "1=1");
  225. register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
  226.  
  227. register_touch("Rocket", "*" , "DotykRakiety");
  228. register_touch("Mine", "player", "DotykMiny");
  229.  
  230. register_cvar("cod_killxp", "1000");
  231. register_cvar("cod_bombxp", "500");
  232.  
  233. register_clcmd("say /osztaly", "WybierzKlase");
  234. register_clcmd("say /osztalyinfo", "DescriptionKlasy");
  235. register_clcmd("say /targy", "DescriptionItem");
  236. register_clcmd("say /eldobas", "WyrzucPrzedmiot");
  237. register_clcmd("say /reset", "KomendaResetujPunkty");
  238. register_clcmd("say /ujra", "KomendaResetujPunkty");
  239. register_clcmd("say /help", "userhelp", 0, " - Help Motd ");
  240. register_clcmd("fullupdate", "CommandBlock");
  241. register_clcmd("cl_autobuy", "CommandBlock");
  242. register_clcmd("cl_rebuy", "CommandBlock");
  243. register_clcmd("cl_setautobuy","CommandBlock");
  244. register_clcmd("rebuy", "CommandBlock");
  245. register_clcmd("autobuy", "CommandBlock");
  246. register_clcmd("glock", "CommandBlock");
  247. register_clcmd("usp", "CommandBlock");
  248. register_clcmd("p228", "CommandBlock");
  249. register_clcmd("deagle", "CommandBlock");
  250. register_clcmd("elites", "CommandBlock");
  251. register_clcmd("fn57", "CommandBlock");
  252. register_clcmd("m3", "CommandBlock");
  253. register_clcmd("autoshotgun", "CommandBlock");
  254. register_clcmd("mac10", "CommandBlock");
  255. register_clcmd("tmp", "CommandBlock");
  256. register_clcmd("mp5", "CommandBlock");
  257. register_clcmd("ump45", "CommandBlock");
  258. register_clcmd("p90", "CommandBlock");
  259. register_clcmd("galil", "CommandBlock");
  260. register_clcmd("ak47", "CommandBlock");
  261. register_clcmd("scout", "CommandBlock");
  262. register_clcmd("sg552", "CommandBlock");
  263. register_clcmd("awp", "CommandBlock");
  264. register_clcmd("g3sg1", "CommandBlock");
  265. register_clcmd("famas", "CommandBlock");
  266. register_clcmd("m4a1", "CommandBlock");
  267. register_clcmd("bullpup", "CommandBlock");
  268. register_clcmd("sg550", "CommandBlock");
  269. register_clcmd("m249", "CommandBlock");
  270. register_clcmd("shield", "CommandBlock");
  271. register_clcmd("hegren", "CommandBlock");
  272. register_clcmd("sgren", "CommandBlock");
  273. register_clcmd("flash", "CommandBlock");
  274. register_concmd("cod_setlvl", "cmd_setlvl", ADMIN_BAN, "<name> <level>");
  275.  
  276. g_msg_screenfade = get_user_msgid("ScreenFade");
  277. SyncHudObj = CreateHudSyncObj();
  278. SyncHudObj2 = CreateHudSyncObj();
  279. SyncHudObj3 = CreateHudSyncObj();
  280. experience_for_murder = get_cvar_num("cod_killxp");
  281. experience_for_bomb = get_cvar_num("cod_bombxp");
  282.  
  283. set_task(60.0, "Pomoc");
  284. }
  285.  
  286. public plugin_cfg()
  287. {
  288. server_cmd("sv_maxspeed 1600");
  289. }
  290.  
  291. public plugin_precache()
  292. {
  293. sprite_white = precache_model("sprites/white.spr") ;
  294. sprite_blast = precache_model("sprites/dexplo.spr");
  295.  
  296. precache_sound("MW/select.wav");
  297. precache_sound("MW/start.wav");
  298. precache_sound("MW/start2.wav");
  299. precache_sound("MW/levelup.wav");
  300.  
  301. precache_model("models/w_medkit.mdl");
  302. precache_model("models/rpgrocket.mdl");
  303. precache_model("models/mine.mdl");
  304. }
  305.  
  306.  
  307. public CmdStart(id, uc_handle)
  308. {
  309. if(!is_user_alive(id))
  310. return FMRES_IGNORED;
  311.  
  312. new button = get_uc(uc_handle, UC_Buttons);
  313. new oldbutton = get_user_oldbutton(id);
  314. new flags = get_entity_flags(id);
  315.  
  316. if(information_item_player[id][0] == 11 || class_player[id] == Rambo)
  317. {
  318. if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && ilosc_skokow_player[id] > 0)
  319. {
  320. ilosc_skokow_player[id]--;
  321. new Float:velocity[3];
  322. entity_get_vector(id,EV_VEC_velocity,velocity);
  323. velocity[2] = random_float(265.0,285.0);
  324. entity_set_vector(id,EV_VEC_velocity,velocity);
  325. }
  326. else if(flags & FL_ONGROUND)
  327. {
  328. ilosc_skokow_player[id] = 0;
  329. if(information_item_player[id][0] == 11)
  330. ilosc_skokow_player[id]++;
  331. if(class_player[id] == Rambo)
  332. ilosc_skokow_player[id]++;
  333. }
  334. }
  335.  
  336. if(button & IN_ATTACK)
  337. {
  338. new Float:punchangle[3];
  339.  
  340. if(information_item_player[id][0] == 20)
  341. entity_set_vector(id, EV_VEC_punchangle, punchangle);
  342. if(information_item_player[id][0] == 23)
  343. {
  344. entity_get_vector(id, EV_VEC_punchangle, punchangle);
  345. for(new i=0; i<3;i++)
  346. punchangle[i]*=0.9;
  347. entity_set_vector(id, EV_VEC_punchangle, punchangle);
  348. }
  349. }
  350.  
  351. if(information_item_player[id][0] == 28 && button & IN_JUMP && button & IN_DUCK && flags & FL_ONGROUND && get_gametime() > information_item_player[id][1]+4.0)
  352. {
  353. information_item_player[id][1] = floatround(get_gametime());
  354. new Float:velocity[3];
  355. VelocityByAim(id, 700, velocity);
  356. velocity[2] = random_float(265.0,285.0);
  357. entity_set_vector(id, EV_VEC_velocity, velocity);
  358. }
  359.  
  360.  
  361. return FMRES_IGNORED;
  362. }
  363.  
  364. public Odrodzenie(id)
  365. {
  366. if(!is_user_alive(id) || !is_user_connected(id))
  367. return PLUGIN_CONTINUE;
  368.  
  369. if(nowa_class_player[id])
  370. {
  371. class_player[id] = nowa_class_player[id];
  372. nowa_class_player[id] = 0;
  373. strip_user_weapons(id);
  374. give_item(id, "weapon_knife");
  375. switch(get_user_team(id))
  376. {
  377. case 1: give_item(id, "weapon_hegrenade");
  378. case 2: give_item(id, "weapon_hegrenade");
  379. }
  380. WczytajDane(id, class_player[id]);
  381. }
  382.  
  383. if(!class_player[id])
  384. {
  385. WybierzKlase(id);
  386. return PLUGIN_CONTINUE;
  387. }
  388.  
  389. switch(class_player[id])
  390. {
  391. case Sniper:
  392. {
  393. give_item(id, "weapon_awp");
  394. give_item(id, "weapon_deagle");
  395. give_item(id, "ammo_50ae");
  396. give_item(id, "ammo_50ae");
  397. give_item(id, "ammo_50ae");
  398. give_item(id, "ammo_50ae");
  399. give_item(id, "ammo_50ae");
  400. give_item(id, "ammo_50ae");
  401. give_item(id, "ammo_338magnum");
  402. give_item(id, "ammo_338magnum");
  403. give_item(id, "ammo_338magnum");
  404. give_item(id, "ammo_338magnum");
  405. give_item(id, "weapon_scout");
  406. give_item(id, "ammo_762nato");
  407. give_item(id, "ammo_762nato");
  408. give_item(id, "ammo_762nato");
  409. give_item(id, "ammo_762nato");
  410. }
  411. case Commando:
  412. {
  413. give_item(id, "weapon_deagle");
  414. give_item(id, "ammo_50ae");
  415. give_item(id, "ammo_50ae");
  416. give_item(id, "ammo_50ae");
  417. give_item(id, "ammo_50ae");
  418. give_item(id, "ammo_50ae");
  419. give_item(id, "ammo_50ae");
  420. }
  421. case Assault:
  422. {
  423. give_item(id, "weapon_m4a1");
  424. give_item(id, "ammo_556nato");
  425. give_item(id, "ammo_556nato");
  426. give_item(id, "ammo_556nato");
  427. give_item(id, "weapon_ak47");
  428. give_item(id, "ammo_762nato");
  429. give_item(id, "ammo_762nato");
  430. give_item(id, "ammo_762nato");
  431. give_item(id, "weapon_deagle");
  432. give_item(id, "ammo_50ae");
  433. give_item(id, "ammo_50ae");
  434. give_item(id, "ammo_50ae");
  435. give_item(id, "ammo_50ae");
  436. give_item(id, "ammo_50ae");
  437. give_item(id, "ammo_50ae");
  438. }
  439. case Protector:
  440. {
  441. give_item(id, "weapon_m249");
  442. give_item(id, "ammo_556natobox");
  443. give_item(id, "ammo_556natobox");
  444. give_item(id, "ammo_556natobox");
  445. give_item(id, "ammo_556natobox");
  446. give_item(id, "ammo_556natobox");
  447. give_item(id, "ammo_556natobox");
  448. give_item(id, "ammo_556natobox");
  449. give_item(id, "weapon_hegrenade");
  450. give_item(id, "weapon_flashbang");
  451. give_item(id, "weapon_smokegrenade");
  452. give_item(id, "weapon_deagle");
  453. give_item(id, "ammo_50ae");
  454. give_item(id, "ammo_50ae");
  455. give_item(id, "ammo_50ae");
  456. give_item(id, "ammo_50ae");
  457. give_item(id, "ammo_50ae");
  458. }
  459. case Rusher:
  460. {
  461. give_item(id, "weapon_m3");
  462. give_item(id, "ammo_buckshot");
  463. give_item(id, "ammo_buckshot");
  464. give_item(id, "ammo_buckshot");
  465. give_item(id, "ammo_buckshot");
  466. give_item(id, "ammo_buckshot");
  467. give_item(id, "ammo_buckshot");
  468. give_item(id, "weapon_deagle");
  469. give_item(id, "ammo_50ae");
  470. give_item(id, "ammo_50ae");
  471. give_item(id, "ammo_50ae");
  472. give_item(id, "ammo_50ae");
  473. give_item(id, "ammo_50ae");
  474. ilosc_apteczek_player[id] = 3;
  475. }
  476. }
  477.  
  478. if(gracz_resetuje[id])
  479. {
  480. ResetujPunkty(id);
  481. gracz_resetuje[id] = false;
  482. }
  483.  
  484. if(punkty_player[id]>0)
  485. PrzydzielPunkty(id);
  486.  
  487. if(information_item_player[id][0] == 10 || information_item_player[id][0] == 9)
  488. give_item(id, "weapon_hegrenade");
  489.  
  490. if(information_item_player[id][0] == 9)
  491. ZmienUbranie(id, 0);
  492.  
  493. if(information_item_player[id][0] == 1)
  494. set_user_footsteps(id, 1);
  495. else
  496. set_user_footsteps(id, 0);
  497.  
  498. if(information_item_player[id][0] == 13)
  499. give_item(id, "weapon_awp");
  500.  
  501. if(information_item_player[id][0] == 19)
  502. information_item_player[id][1] = 1;
  503.  
  504. if(information_item_player[id][0] == 27)
  505. information_item_player[id][1] = 3;
  506.  
  507. new weapons[32];
  508. new weaponsnum;
  509. get_user_weapons(id, weapons, weaponsnum);
  510. for(new i=0; i<weaponsnum; i++)
  511. if(is_user_alive(id))
  512. if(maxAmmo[weapons[i]] > 0)
  513. cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  514.  
  515. redukcja_obrazen_player[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(wytrzymalosc_player[id])))/100);
  516. maksymalne_zdrowie_player[id] = zdrowie_klasy[class_player[id]]+zdrowie_player[id]*2;
  517. fast_player[id] = STANDARD_FAST*fast_klasy[class_player[id]]+floatround(kondycja_player[id]*1.3);
  518.  
  519. if(information_item_player[id][0] == 18)
  520. {
  521. maksymalne_zdrowie_player[id] += 100;
  522. fast_player[id] -= 0.4;
  523. }
  524.  
  525. if(information_item_player[id][0] == 25)
  526. {
  527. maksymalne_zdrowie_player[id] += 50;
  528. fast_player[id] -= 0.3;
  529. }
  530.  
  531. set_user_armor(id, pancerz_klasy[class_player[id]]);
  532. set_user_health(id, maksymalne_zdrowie_player[id]);
  533. if(information_item_player[id][0] == 17)
  534. set_user_armor(id, 500);
  535.  
  536. return PLUGIN_CONTINUE;
  537. }
  538.  
  539. public PoczatekRundy()
  540. {
  541. freezetime = false;
  542. for(new id=0;id<=32;id++)
  543. {
  544. if(!is_user_alive(id))
  545. continue;
  546.  
  547. set_task(0.1, "SetFast", id+TASK_SET_FAST);
  548.  
  549. switch(get_user_team(id))
  550. {
  551. case 1: client_cmd(id, "spk MW/start");
  552. case 2: client_cmd(id, "spk MW/start2");
  553. }
  554. }
  555. }
  556.  
  557. public NowaRunda()
  558. {
  559. freezetime = true;
  560. new iEnt = find_ent_by_class(-1, "Mine");
  561. while(iEnt > 0)
  562. {
  563. remove_entity(iEnt);
  564. iEnt = find_ent_by_class(iEnt, "Mine");
  565. }
  566. }
  567.  
  568. public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
  569. {
  570. if(!is_user_alive(this) || !is_user_connected(this) || information_item_player[this][0] == 24 || !is_user_connected(idattacker) || get_user_team(this) == get_user_team(idattacker) || !class_player[idattacker])
  571. return HAM_IGNORED;
  572.  
  573. new health = get_user_health(this);
  574. new weapon = get_user_weapon(idattacker);
  575.  
  576. if(health < 2)
  577. return HAM_IGNORED;
  578.  
  579. if(information_item_player[this][0] == 27 && information_item_player[this][1]>0)
  580. {
  581. information_item_player[this][1]--;
  582. return HAM_SUPERCEDE;
  583. }
  584.  
  585. if(wytrzymalosc_player[this]>0)
  586. damage -= redukcja_obrazen_player[this]*damage;
  587.  
  588. if(information_item_player[this][0] == 2 || information_item_player[this][0] == 3)
  589. damage-=(float(information_item_player[this][1])<damage)? float(information_item_player[this][1]): damage;
  590.  
  591. if(information_item_player[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
  592. damage*=2.0;
  593.  
  594. if(information_item_player[idattacker][0] == 10)
  595. damage+=information_item_player[idattacker][1];
  596.  
  597. if(information_item_player[this][0] == 12)
  598. damage-=(5.0<damage)? 5.0: damage;
  599.  
  600. if(weapon == CSW_AWP && information_item_player[idattacker][0] == 13)
  601. damage=float(health);
  602.  
  603. if(information_item_player[idattacker][0] == 21)
  604. damage+=15;
  605.  
  606. if(information_item_player[idattacker][0] == 22)
  607. damage+=25;
  608.  
  609. if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
  610. {
  611. if((information_item_player[idattacker][0] == 9 && random_num(1, information_item_player[idattacker][1]) == 1) || information_item_player[idattacker][0] == 10)
  612. damage = float(health);
  613. }
  614.  
  615. if(weapon == CSW_KNIFE)
  616. {
  617. if(information_item_player[this][0] == 4)
  618. damage=damage*1.4+inteligencja_player[idattacker];
  619. if(information_item_player[idattacker][0] == 8 || (class_player[idattacker] == Sniper && random(2) == 2) || class_player[idattacker] == Commando && !(get_user_button(idattacker) & IN_ATTACK))
  620. damage = float(health);
  621. }
  622.  
  623. if(information_item_player[this][0] == 26 && random_num(1, information_item_player[this][1]) == 1)
  624. {
  625. SetHamParamEntity(3, this);
  626. SetHamParamEntity(1, idattacker);
  627. }
  628.  
  629.  
  630. SetHamParamFloat(4, damage);
  631. return HAM_IGNORED;
  632. }
  633.  
  634. public Damage(id)
  635. {
  636. new attacker = get_user_attacker(id);
  637. new damage = read_data(2);
  638. if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !class_player[attacker])
  639. return PLUGIN_CONTINUE;
  640.  
  641. if(information_item_player[attacker][0] == 12 && random_num(1, information_item_player[id][1]) == 1)
  642. Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
  643.  
  644. if(get_user_team(id) != get_user_team(attacker))
  645. {
  646. while(damage>20)
  647. {
  648. damage-=20;
  649. experience_player[attacker]++;
  650. }
  651. }
  652. SprawdzLevel(attacker);
  653. return PLUGIN_CONTINUE;
  654. }
  655.  
  656. public Death()
  657. {
  658. new id = read_data(2);
  659. new attacker = read_data(1);
  660.  
  661. if(!is_user_alive(attacker) || !is_user_connected(attacker))
  662. return PLUGIN_CONTINUE;
  663.  
  664. new weapon = get_user_weapon(attacker);
  665. new zdrowie = get_user_health(attacker);
  666.  
  667. if(get_user_team(id) != get_user_team(attacker) && class_player[attacker])
  668. {
  669. new nowe_experience = 0;
  670.  
  671. nowe_experience += experience_for_murder;
  672.  
  673. if(class_player[id] == Rambo && class_player[attacker] != Rambo)
  674. nowe_experience += experience_for_murder*2;
  675.  
  676. if(level_player[id] > level_player[attacker])
  677. nowe_experience += level_player[id] - level_player[attacker];
  678.  
  679. if(class_player[attacker] == Rambo || information_item_player[attacker][0] == 15 && maxClip[weapon] != -1)
  680. {
  681.  
  682. new nowe_zdrowie = (zdrowie+20<maksymalne_zdrowie_player[attacker])? zdrowie+20: maksymalne_zdrowie_player[attacker];
  683. set_user_clip(attacker, maxClip[weapon]);
  684. set_user_health(attacker, nowe_zdrowie);
  685. }
  686. #if defined BOT
  687. if(is_user_bot2(attacker) && random(9) == 0)
  688. WyrzucPrzedmiot(id);
  689. #endif
  690. if(!information_item_player[attacker][0])
  691. DajPrzedmiot(attacker, random_num(1, sizeof names_objects-1));
  692.  
  693. if(information_item_player[attacker][0] == 14)
  694. {
  695. new nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_player[attacker])? zdrowie+50: maksymalne_zdrowie_player[attacker];
  696. set_user_health(attacker, nowe_zdrowie);
  697. }
  698.  
  699. set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
  700. ShowSyncHudMsg(attacker, SyncHudObj2, "+%s", nowe_experience);
  701.  
  702. experience_player[attacker] += nowe_experience;
  703. }
  704.  
  705. SprawdzLevel(attacker);
  706.  
  707. if(information_item_player[id][0] == 7 && random_num(1, information_item_player[id][1]) == 1)
  708. set_task(0.1, "Raise", id+TASK_RAISE);
  709.  
  710. return PLUGIN_CONTINUE;
  711. }
  712.  
  713. public client_connect(id)
  714. {
  715. //resetuje umiejetnosci
  716. class_player[id] = 0;
  717. level_player[id] = 0;
  718. experience_player[id] = 0;
  719. punkty_player[id] = 0;
  720. zdrowie_player[id] = 0;
  721. inteligencja_player[id] = 0;
  722. wytrzymalosc_player[id] = 0;
  723. kondycja_player[id] = 0;
  724. maksymalne_zdrowie_player[id] = 0;
  725. fast_player[id] = 0.0;
  726.  
  727. get_user_authid(id, g_szAuthID[id], charsmax(g_szAuthID[] ));
  728.  
  729. remove_task(id+TASK_SHOW_INFORMATION);
  730. remove_task(id+TASK_SHOW_ADVERTISEMENT);
  731. remove_task(id+TASK_SET_FAST);
  732. remove_task(id+TASK_RAISE);
  733. remove_task(id+TASK_TRAINING_SANITARY);
  734.  
  735. set_task(10.0, "ShowAdvertisement", id+TASK_SHOW_ADVERTISEMENT);
  736. set_task(3.0, "ShowInformation", id+TASK_SHOW_INFORMATION);
  737.  
  738. //resetuje przedmioty
  739. UsunPrzedmiot(id);
  740. }
  741.  
  742. public client_disconnect(id)
  743. {
  744. remove_task(id+TASK_SHOW_INFORMATION);
  745. remove_task(id+TASK_SHOW_ADVERTISEMENT);
  746. remove_task(id+TASK_SET_FAST);
  747. remove_task(id+TASK_RAISE);
  748. remove_task(id+TASK_TRAINING_SANITARY);
  749.  
  750. ZapiszDane(id);
  751. UsunPrzedmiot(id);
  752. }
  753.  
  754. public RozbrajaBomb(id)
  755. if(class_player[id])
  756. disarming = id;
  757.  
  758. public BombaPodlozona()
  759. {
  760. new Players[32], playerCount, id;
  761. get_players(Players, playerCount, "aeh", "TERRORIST");
  762.  
  763. if(get_playersnum() > 1)
  764. {
  765. experience_player[podkladajacy] += experience_for_bomb;
  766. for (new i=0; i<playerCount; i++)
  767. {
  768. id = Players[i];
  769. if(!class_player[id])
  770. continue;
  771.  
  772. if(id != podkladajacy)
  773. {
  774. experience_player[id] += experience_for_murder;
  775. client_print(id, print_chat, "Kaptal **%i** EXP-et a bomba lerakasaert.", experience_for_murder);
  776. }
  777. else
  778. {
  779. client_print(id, print_chat, "Kaptal **%i** EXP-et a bomba lerakasaert.", experience_for_bomb);
  780. }
  781. SprawdzLevel(id);
  782. }
  783. }
  784. }
  785.  
  786. public BombaRozbrojona()
  787. {
  788. new Players[32], playerCount, id;
  789. get_players(Players, playerCount, "aeh", "CT");
  790.  
  791. experience_player[disarming] += experience_for_bomb;
  792. for (new i=0; i<playerCount; i++)
  793. {
  794. id = Players[i];
  795. if(!class_player[id])
  796. continue;
  797. if(id != disarming)
  798. {
  799. experience_player[id]+= experience_for_murder;
  800. client_print(id, print_chat, "Kaptal **%i** EXP-et a bomba hatastalanitasaert.", experience_for_murder);
  801. }
  802. else
  803. client_print(id, print_chat, "Kaptal **%i** EXP-et a bomba hatastalanitasaert.",experience_for_bomb);
  804. SprawdzLevel(id);
  805. }
  806. }
  807.  
  808. public DescriptionKlasy(id)
  809. {
  810. new menu = menu_create("Valassz Osztalyt:", "DescriptionKlasy_Handle");
  811. for(new i=1; i<sizeof names_klas; i++)
  812. menu_additem(menu, names_klas[i]);
  813. menu_setprop(menu, MPROP_EXITNAME, "Exit");
  814. menu_setprop(menu, MPROP_BACKNAME, "Back");
  815. menu_setprop(menu, MPROP_NEXTNAME, "Next");
  816. menu_display(id, menu);
  817.  
  818. client_cmd(id, "spk MW/select");
  819. }
  820.  
  821. public DescriptionKlasy_Handle(id, menu, item)
  822. {
  823. client_cmd(id, "spk MW/select");
  824.  
  825. if(item == MENU_EXIT)
  826. {
  827. menu_destroy(menu);
  828. return PLUGIN_CONTINUE;
  829. }
  830. client_print(id, print_chat, "[Modern Warfare] %s: %s", names_klas[item+1], descriptions_klas[item+1]);
  831. menu_display(id, menu);
  832.  
  833. return PLUGIN_CONTINUE;
  834. }
  835.  
  836. public WybierzKlase(id)
  837. {
  838. new menu = menu_create("\yValassz kasztot!:", "WybierzKlase_Handle");
  839. new class[50];
  840. for(new i=1; i<sizeof names_klas; i++)
  841. {
  842. WczytajDane(id, i);
  843. format(class, 49, "\y%s \rSzint: %i", names_klas[i], level_player[id]);
  844. menu_additem(menu, class);
  845. }
  846.  
  847. WczytajDane(id, class_player[id]);
  848.  
  849. menu_setprop(menu, MPROP_EXITNAME, "Exit");
  850. menu_setprop(menu, MPROP_BACKNAME, "Back");
  851. menu_setprop(menu, MPROP_NEXTNAME, "Next");
  852. menu_display(id, menu);
  853.  
  854. client_cmd(id, "spk MW/select");
  855. #if defined BOT
  856. if(is_user_bot2(id))
  857. WybierzKlase_Handle(id, menu, random(sizeof names_klas-1));
  858. #endif
  859. }
  860.  
  861. public WybierzKlase_Handle(id, menu, item)
  862. {
  863. client_cmd(id, "spk MW/select");
  864.  
  865. if(item == MENU_EXIT)
  866. {
  867. menu_destroy(menu);
  868. return PLUGIN_CONTINUE;
  869. }
  870.  
  871. item++;
  872.  
  873. if(item == class_player[id])
  874. return PLUGIN_CONTINUE;
  875.  
  876. if(class_player[id])
  877. {
  878. nowa_class_player[id] = item;
  879. client_print(id, print_chat, "[Modern Warfare] Az osztalyod a kovetkezo korben megvaltozik.");
  880. }
  881. else
  882. {
  883. class_player[id] = item;
  884. WczytajDane(id, class_player[id]);
  885. Odrodzenie(id);
  886. }
  887. return PLUGIN_CONTINUE;
  888. }
  889.  
  890. public PrzydzielPunkty(id)
  891. {
  892. new inteligencja[65];
  893. new zdrowie[60];
  894. new wytrzymalosc[60];
  895. new kondycja[60];
  896. new tytul[25];
  897. format(inteligencja, 64, "\yEro: \r%i \w(Noveli a Targyak Sebzeset)", inteligencja_player[id]);
  898. format(zdrowie, 59, "\yElet: \r%i \w(Noveli az Eleted)", zdrowie_player[id]);
  899. format(wytrzymalosc, 59, "\yUgyesseg: \r%i \w(Csokkenti a Kapott Sebzest)", wytrzymalosc_player[id]);
  900. format(kondycja, 59, "\yKondicio: \r%i \w(Noveli a Sebesseged)", kondycja_player[id]);
  901. format(tytul, 24, "\yEloszthato Pontok \r(%i):", punkty_player[id]);
  902. new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
  903. menu_additem(menu, inteligencja);
  904. menu_additem(menu, zdrowie);
  905. menu_additem(menu, wytrzymalosc);
  906. menu_additem(menu, kondycja);
  907. menu_display(id, menu);
  908. #if defined BOT
  909. if(is_user_bot2(id))
  910. PrzydzielPunkty_Handler(id, menu, random(4));
  911. #endif
  912. }
  913.  
  914. public PrzydzielPunkty_Handler(id, menu, item)
  915. {
  916. client_cmd(id, "spk MW/select");
  917.  
  918. if(item == MENU_EXIT)
  919. {
  920. menu_destroy(menu);
  921. return PLUGIN_CONTINUE;
  922. }
  923.  
  924. switch(item)
  925. {
  926. case 0:
  927. {
  928. if(inteligencja_player[id]<100)
  929. inteligencja_player[id]++;
  930. else
  931. client_print(id, print_chat, "[Modern Warfare] Maximum Ero Szint");
  932.  
  933. }
  934. case 1:
  935. {
  936. if(zdrowie_player[id]<100)
  937. zdrowie_player[id]++;
  938. else
  939. client_print(id, print_chat, "[Modern Warfare] Maximum Elet Szint");
  940. }
  941. case 2:
  942. {
  943. if(wytrzymalosc_player[id]<100)
  944. wytrzymalosc_player[id]++;
  945. else
  946. client_print(id, print_chat, "[Modern Warfare] Maximum Ugyesseg Szint");
  947.  
  948. }
  949. case 3:
  950. {
  951. if(kondycja_player[id]<100)
  952. kondycja_player[id]++;
  953. else
  954. client_print(id, print_chat, "[Modern Warfare] Maximum Kondicio Szint");
  955. }
  956. }
  957.  
  958. punkty_player[id]--;
  959.  
  960. if(punkty_player[id]>0)
  961. PrzydzielPunkty(id);
  962.  
  963. return PLUGIN_CONTINUE;
  964. }
  965.  
  966. public ResetujPunkty(id)
  967. {
  968. punkty_player[id] = level_player[id]*2-2;
  969. inteligencja_player[id] = 0;
  970. zdrowie_player[id] = 0;
  971. kondycja_player[id] = 0;
  972. wytrzymalosc_player[id] = 0;
  973. }
  974.  
  975. public KomendaResetujPunkty(id)
  976. {
  977. client_print(id, print_chat, "[Modern Warfare] Kepessegek nullazva lesznek kovetkezo korben.");
  978. client_cmd(id, "spk MW/select");
  979. gracz_resetuje[id] = true;
  980. }
  981.  
  982. public TrainingSanitary(id)
  983. {
  984. id -= TASK_TRAINING_SANITARY;
  985. if(information_item_player[id][0] != 16)
  986. return PLUGIN_CONTINUE;
  987. set_task(3.0, "TrainingSanitary", id+TASK_TRAINING_SANITARY);
  988. if(!is_user_alive(id))
  989. return PLUGIN_CONTINUE;
  990. new health = get_user_health(id);
  991. new new_health = (health+10<maksymalne_zdrowie_player[id])?health+10:maksymalne_zdrowie_player[id];
  992. set_user_health(id, new_health);
  993. return PLUGIN_CONTINUE;
  994. }
  995.  
  996. public StworzApteczke(id)
  997. {
  998. if (!ilosc_apteczek_player[id])
  999. {
  1000. client_print(id, print_center, "[Modern Warfare] Koronkent csak 3 csomagot kapsz!");
  1001. return PLUGIN_CONTINUE;
  1002. }
  1003.  
  1004. if(inteligencja_player[id] < 1)
  1005. client_print(id, print_center, "[Modern Warfare] Ha erosebb hatasu Elsosegely Csomagot szeretnel, noveld az Erodet!");
  1006.  
  1007. ilosc_apteczek_player[id]--;
  1008.  
  1009. new Float:origin[3];
  1010. entity_get_vector(id, EV_VEC_origin, origin);
  1011.  
  1012. new ent = create_entity("info_target");
  1013. entity_set_string(ent, EV_SZ_classname, "FirstAidKit");
  1014. entity_set_edict(ent, EV_ENT_owner, id);
  1015. entity_set_int(ent, EV_INT_solid, SOLID_NOT);
  1016. entity_set_vector(ent, EV_VEC_origin, origin);
  1017. entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
  1018.  
  1019.  
  1020. entity_set_model(ent, "models/w_medkit.mdl");
  1021. set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
  1022. drop_to_floor(ent);
  1023.  
  1024. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
  1025.  
  1026. return PLUGIN_CONTINUE;
  1027. }
  1028.  
  1029. public FirstAirKitThink(ent)
  1030. {
  1031. new id = entity_get_edict(ent, EV_ENT_owner);
  1032. new totem_dist = 300;
  1033. new totem_heal = 5+floatround(inteligencja_player[id]*0.5);
  1034. if (entity_get_edict(ent, EV_ENT_euser2) == 1)
  1035. {
  1036. new Float:forigin[3], origin[3];
  1037. entity_get_vector(ent, EV_VEC_origin, forigin);
  1038. FVecIVec(forigin,origin);
  1039.  
  1040. new entlist[33];
  1041. new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);
  1042.  
  1043. for (new i=0; i < numfound; i++)
  1044. {
  1045. new pid = entlist[i];
  1046.  
  1047. if (get_user_team(pid) != get_user_team(id))
  1048. continue;
  1049.  
  1050. new zdrowie = get_user_health(pid);
  1051. new nowe_zdrowie = (zdrowie+totem_heal<maksymalne_zdrowie_player[pid])?zdrowie+totem_heal:maksymalne_zdrowie_player[pid];
  1052. if (is_user_alive(pid)) set_user_health(pid, nowe_zdrowie);
  1053. }
  1054.  
  1055. entity_set_edict(ent, EV_ENT_euser2, 0);
  1056. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
  1057.  
  1058. return PLUGIN_CONTINUE;
  1059. }
  1060.  
  1061. if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
  1062. {
  1063. remove_entity(ent);
  1064. return PLUGIN_CONTINUE;
  1065. }
  1066.  
  1067. if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
  1068. set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) ;
  1069.  
  1070. new Float:forigin[3], origin[3];
  1071. entity_get_vector(ent, EV_VEC_origin, forigin);
  1072. FVecIVec(forigin,origin);
  1073.  
  1074. //Find people near and give them health
  1075. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
  1076. write_byte( TE_BEAMCYLINDER );
  1077. write_coord( origin[0] );
  1078. write_coord( origin[1] );
  1079. write_coord( origin[2] );
  1080. write_coord( origin[0] );
  1081. write_coord( origin[1] + totem_dist );
  1082. write_coord( origin[2] + totem_dist );
  1083. write_short( sprite_white );
  1084. write_byte( 0 ); // startframe
  1085. write_byte( 0 ); // framerate
  1086. write_byte( 10 ); // life
  1087. write_byte( 10 ); // width
  1088. write_byte( 255 ); // noise
  1089. write_byte( 255 ); // r, g, b
  1090. write_byte( 100 );// r, g, b
  1091. write_byte( 100 ); // r, g, b
  1092. write_byte( 128 ); // brightness
  1093. write_byte( 5 ); // speed
  1094. message_end();
  1095.  
  1096. entity_set_edict(ent, EV_ENT_euser2 ,1);
  1097. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
  1098.  
  1099.  
  1100. return PLUGIN_CONTINUE;
  1101.  
  1102. }
  1103.  
  1104. public StworzRakiete(id)
  1105. {
  1106. if (!ilosc_rakiet_player[id])
  1107. {
  1108. client_print(id, print_center, "[Modern Warfare] Elhasznaltad az osszes raketad!");
  1109. return PLUGIN_CONTINUE;
  1110. }
  1111.  
  1112. if(poprzednia_rakieta_player[id] + 2.0 > get_gametime())
  1113. {
  1114. client_print(id, print_center, "[Modern Warfare] Csak 2 masodpercenkent tudod hasznalni a raketakat!");
  1115. return PLUGIN_CONTINUE;
  1116. }
  1117.  
  1118. if (is_user_alive(id))
  1119. {
  1120. if(inteligencja_player[id] < 1)
  1121. client_print(id, print_center, "[Modern Warfare] Erosebb hatasu raketakert, fejleszd az Erodet!");
  1122.  
  1123. poprzednia_rakieta_player[id] = get_gametime();
  1124. ilosc_rakiet_player[id]--;
  1125.  
  1126. new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
  1127.  
  1128. entity_get_vector(id, EV_VEC_v_angle, vAngle);
  1129. entity_get_vector(id, EV_VEC_origin , Origin);
  1130.  
  1131. new Ent = create_entity("info_target");
  1132.  
  1133. entity_set_string(Ent, EV_SZ_classname, "Rocket");
  1134. entity_set_model(Ent, "models/rpgrocket.mdl");
  1135.  
  1136. vAngle[0] *= -1.0;
  1137.  
  1138. entity_set_origin(Ent, Origin);
  1139. entity_set_vector(Ent, EV_VEC_angles, vAngle);
  1140.  
  1141. entity_set_int(Ent, EV_INT_effects, 2);
  1142. entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
  1143. entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
  1144. entity_set_edict(Ent, EV_ENT_owner, id);
  1145.  
  1146. VelocityByAim(id, 1000 , Velocity);
  1147. entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
  1148. }
  1149. return PLUGIN_CONTINUE;
  1150. }
  1151.  
  1152. public PolozDynamit(id)
  1153. {
  1154. if(!ilosc_dynamitow_player[id])
  1155. {
  1156. client_print(id, print_center, "[Modern Warfare] Elhasznaltad a dynamitodat!");
  1157. return PLUGIN_CONTINUE;
  1158. }
  1159.  
  1160. if(inteligencja_player[id] < 1)
  1161. client_print(id, print_center, "[Modern Warfare]Erosebb hatasu dinamitert, fejleszd az Erodet!");
  1162.  
  1163. ilosc_dynamitow_player[id]--;
  1164. new Float:fOrigin[3], iOrigin[3];
  1165. entity_get_vector( id, EV_VEC_origin, fOrigin);
  1166. iOrigin[0] = floatround(fOrigin[0]);
  1167. iOrigin[1] = floatround(fOrigin[1]);
  1168. iOrigin[2] = floatround(fOrigin[2]);
  1169.  
  1170. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1171. write_byte(TE_EXPLOSION);
  1172. write_coord(iOrigin[0]);
  1173. write_coord(iOrigin[1]);
  1174. write_coord(iOrigin[2]);
  1175. write_short(sprite_blast);
  1176. write_byte(32);
  1177. write_byte(20);
  1178. write_byte(0);
  1179. message_end();
  1180.  
  1181. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  1182. write_byte( TE_BEAMCYLINDER );
  1183. write_coord( iOrigin[0] );
  1184. write_coord( iOrigin[1] );
  1185. write_coord( iOrigin[2] );
  1186. write_coord( iOrigin[0] );
  1187. write_coord( iOrigin[1] + 300 );
  1188. write_coord( iOrigin[2] + 300 );
  1189. write_short( sprite_white );
  1190. write_byte( 0 ); // startframe
  1191. write_byte( 0 ); // framerate
  1192. write_byte( 10 ); // life
  1193. write_byte( 10 ); // width
  1194. write_byte( 255 ); // noise
  1195. write_byte( 255 ); // r, g, b
  1196. write_byte( 100 );// r, g, b
  1197. write_byte( 100 ); // r, g, b
  1198. write_byte( 128 ); // brightness
  1199. write_byte( 8 ); // speed
  1200. message_end();
  1201.  
  1202. new entlist[33];
  1203. new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
  1204.  
  1205. for (new i=0; i < numfound; i++)
  1206. {
  1207. new pid = entlist[i];
  1208.  
  1209. if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || information_item_player[pid][0] == 24)
  1210. continue;
  1211. ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencja_player[id]) , 1);
  1212. }
  1213. return PLUGIN_CONTINUE;
  1214. }
  1215.  
  1216. public PostawMine(id)
  1217. {
  1218. if (!ilosc_min_player[id])
  1219. {
  1220. client_print(id, print_center, "[Modern Warfare] Elhasznaltad az osszes aknad!");
  1221. return PLUGIN_CONTINUE;
  1222. }
  1223.  
  1224. if(inteligencja_player[id] < 1)
  1225. client_print(id, print_center, "[Modern Warfare] Erosebb hatasu aknakert, fejleszd az Erodet!");
  1226.  
  1227. ilosc_min_player[id]--;
  1228.  
  1229. new Float:origin[3];
  1230. entity_get_vector(id, EV_VEC_origin, origin);
  1231.  
  1232. new ent = create_entity("info_target");
  1233. entity_set_string(ent ,EV_SZ_classname, "Mine");
  1234. entity_set_edict(ent ,EV_ENT_owner, id);
  1235. entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
  1236. entity_set_origin(ent, origin);
  1237. entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
  1238.  
  1239. entity_set_model(ent, "models/mine.mdl");
  1240. entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
  1241.  
  1242. drop_to_floor(ent);
  1243.  
  1244. entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;
  1245.  
  1246. set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,20) ;
  1247.  
  1248.  
  1249. return PLUGIN_CONTINUE;
  1250. }
  1251.  
  1252. public DotykMiny(ent, id)
  1253. {
  1254. new attacker = entity_get_edict(ent, EV_ENT_owner);
  1255. if (get_user_team(attacker) != get_user_team(id))
  1256. {
  1257. new Float:fOrigin[3], iOrigin[3];
  1258. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  1259. iOrigin[0] = floatround(fOrigin[0]);
  1260. iOrigin[1] = floatround(fOrigin[1]);
  1261. iOrigin[2] = floatround(fOrigin[2]);
  1262.  
  1263. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1264. write_byte(TE_EXPLOSION);
  1265. write_coord(iOrigin[0]);
  1266. write_coord(iOrigin[1]);
  1267. write_coord(iOrigin[2]);
  1268. write_short(sprite_blast);
  1269. write_byte(32); // scale
  1270. write_byte(20); // framerate
  1271. write_byte(0);// flags
  1272. message_end();
  1273. new entlist[33];
  1274. new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
  1275.  
  1276. for (new i=0; i < numfound; i++)
  1277. {
  1278. new pid = entlist[i];
  1279.  
  1280. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || information_item_player[pid][0] == 24 || class_player[id] == Protector)
  1281. continue;
  1282.  
  1283. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencja_player[attacker]) , 1);
  1284. }
  1285. remove_entity(ent);
  1286. }
  1287. }
  1288.  
  1289. public DotykRakiety(ent)
  1290. {
  1291. if ( !is_valid_ent(ent))
  1292. return;
  1293.  
  1294. new attacker = entity_get_edict(ent, EV_ENT_owner);
  1295.  
  1296. new Float:fOrigin[3], iOrigin[3];
  1297. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  1298. iOrigin[0] = floatround(fOrigin[0]);
  1299. iOrigin[1] = floatround(fOrigin[1]);
  1300. iOrigin[2] = floatround(fOrigin[2]);
  1301.  
  1302. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1303. write_byte(TE_EXPLOSION);
  1304. write_coord(iOrigin[0]);
  1305. write_coord(iOrigin[1]);
  1306. write_coord(iOrigin[2]);
  1307. write_short(sprite_blast);
  1308. write_byte(32); // scale
  1309. write_byte(20); // framerate
  1310. write_byte(0);// flags
  1311. message_end();
  1312.  
  1313. new entlist[33];
  1314. new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
  1315.  
  1316. for (new i=0; i < numfound; i++)
  1317. {
  1318. new pid = entlist[i];
  1319.  
  1320. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || information_item_player[pid][0] == 24)
  1321. continue;
  1322. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_player[attacker]) , 1);
  1323. }
  1324. remove_entity(ent);
  1325. }
  1326.  
  1327. public CurWeapon(id)
  1328. {
  1329. if(freezetime || !class_player[id])
  1330. return PLUGIN_CONTINUE;
  1331.  
  1332. new weapon = read_data(2);
  1333.  
  1334. SetFast(id);
  1335.  
  1336. if(weapon == CSW_C4)
  1337. podkladajacy = id;
  1338. return PLUGIN_CONTINUE;
  1339. }
  1340.  
  1341. public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
  1342. {
  1343. if(equal(szSound, "common/wpn_denyselect.wav"))
  1344. {
  1345. UzyjItem(id);
  1346. return FMRES_SUPERCEDE;
  1347. }
  1348.  
  1349. return FMRES_IGNORED;
  1350. }
  1351.  
  1352. public UzyjItem(id)
  1353. {
  1354. if(information_item_player[id][0] == 19 && information_item_player[id][1]>0)
  1355. {
  1356. set_user_health(id, maksymalne_zdrowie_player[id]);
  1357. information_item_player[id][1]--;
  1358. }
  1359.  
  1360. if(ilosc_apteczek_player[id]>0)
  1361. StworzApteczke(id);
  1362. if(ilosc_rakiet_player[id]>0)
  1363. StworzRakiete(id);
  1364. if(ilosc_min_player[id]>0)
  1365. PostawMine(id);
  1366. if(ilosc_dynamitow_player[id]>0)
  1367. PolozDynamit(id);
  1368.  
  1369. return PLUGIN_HANDLED;
  1370. }
  1371.  
  1372. public ZapiszDane(id)
  1373. {
  1374. new vaultkey[64],vaultdata[256];
  1375. format(vaultkey,63,"%s-%i-cod", g_szAuthID[id], class_player[id]);
  1376. format(vaultdata,255,"%i#%i#%i#%i#%i#%i", experience_player[id], level_player[id], inteligencja_player[id], zdrowie_player[id], wytrzymalosc_player[id], kondycja_player[id]);
  1377. nvault_set(g_vault,vaultkey,vaultdata);
  1378. }
  1379.  
  1380. public WczytajDane(id, class)
  1381. {
  1382. new vaultkey[64],vaultdata[256];
  1383. format(vaultkey,63,"%s-%i-cod", g_szAuthID[id], class);
  1384. format(vaultdata,255,"%i#%i#%i#%i#%i#%i", experience_player[id], level_player[id], inteligencja_player[id], zdrowie_player[id], wytrzymalosc_player[id], kondycja_player[id]);
  1385. nvault_get(g_vault,vaultkey,vaultdata,255);
  1386.  
  1387. replace_all(vaultdata, 255, "#", " ");
  1388.  
  1389. new experienceplayer[32], levelplayer[32], inteligencjaplayer[32], silaplayer[32], zrecznoscplayer[32], zwinnoscplayer[32];
  1390.  
  1391. parse(vaultdata, experienceplayer, 31, levelplayer, 31, inteligencjaplayer, 31, silaplayer, 31, zrecznoscplayer, 31, zwinnoscplayer, 31);
  1392.  
  1393. experience_player[id] = str_to_num(experienceplayer);
  1394. level_player[id] = str_to_num(levelplayer)>0?str_to_num(levelplayer):1;
  1395. inteligencja_player[id] = str_to_num(inteligencjaplayer);
  1396. zdrowie_player[id] = str_to_num(silaplayer);
  1397. wytrzymalosc_player[id] = str_to_num(zrecznoscplayer);
  1398. kondycja_player[id] = str_to_num(zwinnoscplayer);
  1399. punkty_player[id] = (level_player[id]-1)*2-inteligencja_player[id]-zdrowie_player[id]-wytrzymalosc_player[id]-kondycja_player[id];
  1400. }
  1401.  
  1402. public WyrzucPrzedmiot(id)
  1403. {
  1404. if(information_item_player[id][0])
  1405. {
  1406. client_print(id, print_chat, "[Modern Warfare] Eldobva: %s.", names_objects[information_item_player[id][0]]);
  1407. UsunPrzedmiot(id);
  1408. }
  1409. else
  1410. client_print(id, print_chat, "[Modern Warfare] Nincs targyad amit eldobhatnal.", names_objects[information_item_player[id][0]]);
  1411. }
  1412.  
  1413. public UsunPrzedmiot(id)
  1414. {
  1415. information_item_player[id][0] = 0;
  1416. information_item_player[id][1] = 0;
  1417. if(is_user_alive(id))
  1418. set_user_footsteps(id, 0);
  1419. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  1420. ZmienUbranie(id, 1);
  1421. }
  1422.  
  1423. public DajPrzedmiot(id, przedmiot)
  1424. {
  1425. UsunPrzedmiot(id);
  1426. information_item_player[id][0] = przedmiot;
  1427. client_print(id, print_chat, "[Modern Warfare] Kaptal: %s.", names_objects[information_item_player[id][0]]);
  1428.  
  1429. switch(przedmiot)
  1430. {
  1431. case 1:
  1432. {
  1433. set_user_footsteps(id, 1);
  1434. }
  1435. case 2:
  1436. {
  1437. information_item_player[id][1] = random_num(3,6);
  1438. }
  1439. case 3:
  1440. {
  1441. information_item_player[id][1] = random_num(6, 11);
  1442. }
  1443. case 5:
  1444. {
  1445. information_item_player[id][1] = random_num(6, 9);
  1446. }
  1447. case 6:
  1448. {
  1449. information_item_player[id][1] = random_num(100, 150);
  1450. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 40);
  1451. }
  1452. case 7:
  1453. {
  1454. information_item_player[id][1] = random_num(2, 4);
  1455. }
  1456. case 8:
  1457. {
  1458. if(class_player[id] == Commando)
  1459. DajPrzedmiot(id, random_num(1, sizeof names_objects-1));
  1460. }
  1461. case 9:
  1462. {
  1463. information_item_player[id][1] = random_num(1, 3);
  1464. ZmienUbranie(id, 0);
  1465. give_item(id, "weapon_hegrenade");
  1466. }
  1467. case 10:
  1468. {
  1469. information_item_player[id][1] = random_num(4, 98);
  1470. give_item(id, "weapon_hegrenade");
  1471. }
  1472. case 12:
  1473. {
  1474. information_item_player[id][1] = random_num(1, 99);
  1475. }
  1476. case 13:
  1477. {
  1478. give_item(id, "weapon_awp");
  1479. }
  1480. case 15:
  1481. {
  1482. if(class_player[id] == Rambo)
  1483. DajPrzedmiot(id, random_num(1, sizeof names_objects-1));
  1484. }
  1485. case 16:
  1486. {
  1487. set_task(5.0, "TrainingSanitary", id+TASK_TRAINING_SANITARY);
  1488. }
  1489. case 19:
  1490. {
  1491. information_item_player[id][1] = 1;
  1492. }
  1493. case 26:
  1494. {
  1495. information_item_player[id][1] = random_num(3, 6);
  1496. }
  1497. case 27:
  1498. {
  1499. information_item_player[id][1] = 3;
  1500. }
  1501. }
  1502. }
  1503.  
  1504. public DescriptionItem(id)
  1505. {
  1506. new description_item[128];
  1507. new losowa_wartosc[3];
  1508. num_to_str(information_item_player[id][1], losowa_wartosc, 2);
  1509. format(description_item, 127, descriptions_objects[information_item_player[id][0]]);
  1510. replace_all(description_item, 127, "LW", losowa_wartosc);
  1511.  
  1512. client_print(id, print_chat, "Targy: %s.", names_objects[information_item_player[id][0]]);
  1513. client_print(id, print_chat, "Leiras: %s.", description_item);
  1514. }
  1515.  
  1516. public Raise(id)
  1517. {
  1518. id-=TASK_RAISE;
  1519. ExecuteHamB(Ham_CS_RoundRespawn, id);
  1520. }
  1521.  
  1522. public SprawdzLevel(id)
  1523. {
  1524. if(level_player[id] < 201)
  1525. {
  1526. while(experience_player[id] >= experience_level[level_player[id]])
  1527. {
  1528. level_player[id]++;
  1529. set_hudmessage(60, 200, 55, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
  1530. ShowSyncHudMsg(id, SyncHudObj3, "Gratulalunk szintet leptel!");
  1531. client_cmd(id, "spk MW/levelup");
  1532. }
  1533.  
  1534. punkty_player[id] = (level_player[id]-1)*2-inteligencja_player[id]-zdrowie_player[id]-wytrzymalosc_player[id]-kondycja_player[id];
  1535. }
  1536. ZapiszDane(id);
  1537. }
  1538.  
  1539. public ShowInformation(id)
  1540. {
  1541. id -= TASK_SHOW_INFORMATION;
  1542.  
  1543. set_task(0.1, "ShowInformation", id+TASK_SHOW_INFORMATION);
  1544.  
  1545. if(!is_user_alive(id))
  1546. {
  1547. new target = entity_get_int(id, EV_INT_iuser2);
  1548.  
  1549. if(target == 0)
  1550. return PLUGIN_CONTINUE;
  1551.  
  1552. set_hudmessage(0, 100, 200, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  1553. ShowSyncHudMsg(id, SyncHudObj, "[Osztaly : %s]^n[Exp : %i / %i]^n[Szint : %i]^n[Targy : %s]^n[By. Lambda*.*]", names_klas[class_player[target]], experience_player[target], experience_level[level_player[target]], level_player[target], names_objects[information_item_player[target][0]]);
  1554.  
  1555. return PLUGIN_CONTINUE;
  1556. }
  1557. set_hudmessage(0, 241, 230, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
  1558. ShowSyncHudMsg(id, SyncHudObj, "[Osztaly : %s]^n[Exp : %i / %i]^n[Szint : %i]^n[Targy : %s]^n[By. Lambda*.*]", names_klas[class_player[id]], experience_player[id], experience_level[level_player[id]], level_player[id], names_objects[information_item_player[id][0]]);
  1559. return PLUGIN_CONTINUE;
  1560. }
  1561.  
  1562. public ShowAdvertisement(id)
  1563. {
  1564. id-=TASK_SHOW_ADVERTISEMENT;
  1565. client_print(id, print_chat, "[Modern Warfare] Udvozollek a Modern Warfare vilagaban!");
  1566. }
  1567.  
  1568. public SetFast(id)
  1569. {
  1570. id -= id>32? TASK_SET_FAST: 0;
  1571.  
  1572. if(class_player[id])
  1573. set_user_maxspeed(id, fast_player[id]);
  1574. }
  1575.  
  1576. public ZmienUbranie(id,reset)
  1577. {
  1578. if (id<1 || id>32 || !is_user_connected(id))
  1579. return PLUGIN_CONTINUE;
  1580.  
  1581. if (reset)
  1582. cs_reset_user_model(id);
  1583. else
  1584. {
  1585. new num = random_num(0,3);
  1586. switch(get_user_team(id))
  1587. {
  1588. case 1: cs_set_user_model(id, Clothing_CT[num]);
  1589. case 2:cs_set_user_model(id, Clothing_Terro[num]);
  1590. }
  1591. }
  1592.  
  1593. return PLUGIN_CONTINUE;
  1594. }
  1595.  
  1596. public Pomoc()
  1597. {
  1598. switch(random(3))
  1599. {
  1600. case 0: client_print(0, print_chat, "A szerveren Modern Warfare BETA mod fut");
  1601. case 1: client_print(0, print_chat, "A modot keszitette: Lambda *.*");
  1602. case 2: client_print(0, print_chat, "Ne buggolj!");
  1603. }
  1604. set_task(60.0, "Pomoc");
  1605. }
  1606.  
  1607. public cmd_setlvl(id, level, cid)
  1608. {
  1609. if(!cmd_access(id,level,cid,3))
  1610. return PLUGIN_HANDLED;
  1611. new arg1[33];
  1612. new arg2[6];
  1613. read_argv(1, arg1, 32);
  1614. read_argv(2, arg2, 5);
  1615. new player = cmd_target(id, arg1);
  1616. new value = str_to_num(arg2)-1;
  1617.  
  1618. experience_player[player] = experience_level[value];
  1619. level_player[player] = 0;
  1620. SprawdzLevel(player);
  1621. return PLUGIN_HANDLED;
  1622. }
  1623.  
  1624. public CommandBlock()
  1625. return PLUGIN_HANDLED;
  1626.  
  1627. stock bool:UTIL_In_FOV(id,target)
  1628. {
  1629. if (Find_Angle(id,target,9999.9) > 0.0)
  1630. return true;
  1631.  
  1632. return false;
  1633. }
  1634. #if defined BOT
  1635. public is_user_bot2(id)
  1636. {
  1637. new ping, loss
  1638. get_user_ping(id, ping, loss)
  1639. if(ping > 0 && loss > 0)
  1640. return false
  1641. return true
  1642. }
  1643. #endif
  1644.  
  1645. stock Float:Find_Angle(Core,Target,Float:dist)
  1646. {
  1647. new Float:vec2LOS[2];
  1648. new Float:flDot;
  1649. new Float:CoreOrigin[3];
  1650. new Float:TargetOrigin[3];
  1651. new Float:CoreAngles[3];
  1652.  
  1653. pev(Core,pev_origin,CoreOrigin);
  1654. pev(Target,pev_origin,TargetOrigin);
  1655.  
  1656. if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
  1657. return 0.0;
  1658.  
  1659. pev(Core,pev_angles, CoreAngles);
  1660.  
  1661. for ( new i = 0; i < 2; i++ )
  1662. vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i];
  1663.  
  1664. new Float:veclength = Vec2DLength(vec2LOS);
  1665.  
  1666. //Normalize V2LOS
  1667. if (veclength <= 0.0)
  1668. {
  1669. vec2LOS[0] = 0.0;
  1670. vec2LOS[1] = 0.0;
  1671. }
  1672. else
  1673. {
  1674. new Float:flLen = 1.0 / veclength;
  1675. vec2LOS[0] = vec2LOS[0]*flLen;
  1676. vec2LOS[1] = vec2LOS[1]*flLen;
  1677. }
  1678.  
  1679. //Do a makevector to make v_forward right
  1680. engfunc(EngFunc_MakeVectors,CoreAngles);
  1681.  
  1682. new Float:v_forward[3];
  1683. new Float:v_forward2D[2];
  1684. get_global_vector(GL_v_forward, v_forward);
  1685.  
  1686. v_forward2D[0] = v_forward[0];
  1687. v_forward2D[1] = v_forward[1];
  1688.  
  1689. flDot = vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1];
  1690.  
  1691. if ( flDot > 0.5 )
  1692. {
  1693. return flDot;
  1694. }
  1695.  
  1696. return 0.0;
  1697. }
  1698.  
  1699. stock Float:Vec2DLength( Float:Vec[2] )
  1700. {
  1701. return floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
  1702. }
  1703.  
  1704. stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
  1705. {
  1706. message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
  1707. write_short( duration ); // Duration of fadeout
  1708. write_short( holdtime ); // Hold time of color
  1709. write_short( fadetype ); // Fade type
  1710. write_byte ( red ); // Red
  1711. write_byte ( green ); // Green
  1712. write_byte ( blue ); // Blue
  1713. write_byte ( alpha ); // Alpha
  1714. message_end();
  1715. }
  1716.  
  1717. stock set_user_clip(id, ammo)
  1718. {
  1719. new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
  1720. get_weaponname(weapon, weaponname, 31);
  1721. while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
  1722. if(entity_get_edict(weaponid, EV_ENT_owner) == id)
  1723. {
  1724. set_pdata_int(weaponid, 51, ammo, 4);
  1725. return weaponid;
  1726. }
  1727. return 0;
  1728. }
  1729. public userhelp(id)
  1730. {
  1731. //create info/help.txt in your mod folder and put your info there as you add in motd
  1732. show_motd(id, "help.txt", "Help Motd")
  1733. }



Léccives, ezt a plugin javitsa valaki, errort ir ki átalakitásnál!:
/tmp/textLO7eiy.sma(3) : error 054: unmatched closing brace
/tmp/textLO7eiy.sma(3) : error 010: invalid function or declaration
/tmp/textLO7eiy.sma(96) : error 070: rational number support was not enabled
/tmp/textLO7eiy.sma(104) : error 029: invalid expression, assumed zero
/tmp/textLO7eiy.sma(104) : error 008: must be a constant expression; assumed zero
/tmp/textLO7eiy.sma(112) : error 029: invalid expression, assumed zero
/tmp/textLO7eiy.sma(112) : error 008: must be a constant expression; assumed zero
/tmp/textLO7eiy.sma(125) : error 017: undefined symbol "register_plugin"
/tmp/textLO7eiy.sma(125) : error 017: undefined symbol "VERSION"
/tmp/textLO7eiy.sma(125) : error 017: undefined symbol "AUTHOR"
/tmp/textLO7eiy.sma(125) : fatal error 107: too many error messages on one line


Vagy legalább annyit, hogy honnan tudom meg melyik sorba van a hiba pls köszönöm

_________________
Rengeteg új beszólás eléréséhez kattints IDE (Ezek alapból sank soundshoz készültek)

Steam profil:
[steam]http://steamcommunity.com/profiles/76561198089487307[/steam]


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Javitani pls. Cod MW mod
HozzászólásElküldve: 2013.05.22. 20:20 
Offline
Őskövület
Avatar

Csatlakozott: 2011.09.17. 17:54
Hozzászólások: 2350
Megköszönt másnak: 40 alkalommal
Megköszönték neki: 57 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  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.  
  10.  
  11. #define PLUGIN "CoD:Mw [NEW]"
  12. #define VERSION "1.0"
  13. #define AUTHOR "K.O,QTM_Peyote,johnC,GranTorino"
  14.  
  15. #define STANDARD_FAST 250.0
  16.  
  17. #define TASK_SHOW_INFORMATION 672
  18. #define TASK_RAISE 704
  19. #define TASK_TRAINING_SANITARY 736
  20. #define TASK_SHOW_ADVERTISEMENT 768
  21. #define TASK_SET_FAST 832
  22.  
  23. //#define BOT 1
  24.  
  25.  
  26.  
  27. new SyncHudObj;
  28. new SyncHudObj2;
  29. new SyncHudObj3;
  30. new g_msg_screenfade;
  31.  
  32. new sprite_white;
  33. new sprite_blast;
  34.  
  35. new g_vault;
  36.  
  37. new podkladajacy;
  38. new disarming;
  39.  
  40. new experience_for_murder;
  41. new experience_for_bomb;
  42.  
  43. new Clothing_CT[4][]={"sas","gsg9","urban","gign"};
  44. new Clothing_Terro[4][]={"arctic","leet","guerilla","terror"};
  45.  
  46. 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};
  47. new const maxClip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
  48. 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 };
  49.  
  50. new information_item_player[33][2];
  51. new const names_objects[][] =
  52. {
  53. "Nincs",
  54. "Nindzsa Bakkancsok", //1
  55. "Dupla Melleny", //2
  56. "Megerositett Melleny", //3
  57. "Veteran Kes", //4
  58. "Meglepetes Tamadas", //5
  59. "Nindzsa Kopeny", //6
  60. "Ujraeledo", //7
  61. "Kommando Kes", //8
  62. "Kem szemuveg",
  63. "Misztikus Granat",
  64. "Nindzsa Lab", //11
  65. "Titokzatos Katona", //12
  66. "AWP mesterlovesz",//13
  67. "Adrenalin",//14
  68. "Rambo",//15
  69. "Egeszseges Edzes",//16
  70. "NASA Melleny",//17
  71. "Edzett Veteran",//18
  72. "Elsosegely csomag",//19
  73. "NO Recoil",//20
  74. "Titan Toltenyek",//21
  75. "Ezres Toltenyek",//22
  76. "Kicsi Recoil",//23
  77. "SWAT",//24
  78. "Edzett Ujonc",//25
  79. "Relective Fegyverzet",//26
  80. "Jet Modul"
  81.  
  82. };
  83.  
  84. new const descriptions_objects[][] = {"Olj meg valakit, es kapsz targyat!",
  85. "Halk Futas",
  86. "Csokkenti a becsapodo sebzeseket.",
  87. "Csokkenti a becsapodo sebzeseket.",
  88. "Erosebb szuras kessel. ",
  89. "Ha hatbol talalsz el valakit, 2x olyan eross lesz a sebzesed.",
  90. "Reszben lathatatlanna tesz teged.",
  91. "1/3 esely az ujraeledesre ha megolnek.",
  92. "Azonnali oles a kessel.",
  93. "1/3 eselyt kapsz hogy HE granattal azonnali halalt okozz.",
  94. "Azonnali oles HE granattal.",
  95. "2x tudsz ugrani a levegoben.",
  96. "A seruleseid csokkennek 1/3-hoz. 1/3-hoz eselyed van arra, hogy megvakitsd az ellenseget.",
  97. "Azonnali oles AWP-vel.",
  98. "Minden Frag utan, kapsz +50 HP-t.",
  99. "Minden Frag utan, full tarat es +20 HP-t kapsz.",
  100. "Visszakapsz 10 HP-t 3 masodpercenkent",
  101. "+500 Armor.",
  102. "Kapsz minden korben 100 HP-t, viszont lassaban futsz.",
  103. "Nyomj E betut HP tolteshez.",
  104. "No recoil.",
  105. "+15 Sebzes.",
  106. "+25 Sebzes.",
  107. "Nem rant annyira a fegyver.",
  108. "A targyak nem hatraltatnak teged.",
  109. "Minden korben +50 HP-t kapsz és lassabban futsz.",
  110. "1/3 eselyed arra hogy visszaveri a loveseket.",
  111. "Immunis leszel minden egyes korben 3 golyora",
  112. "Nyomj CTRL-t és SPACE-t a modul hasznalatahoz, 4 masodpercenkent toltodik ujra a modul."
  113. };
  114.  
  115. new g_szAuthID[33][34];
  116. new class_player[33];
  117. new level_player[33] = 1;
  118. new experience_player[33];
  119.  
  120. new nowa_class_player[33];
  121.  
  122. new const experience_level[] =
  123. {
  124. 0,10,50,100,140,315,560,875,1260,1715,2240,2835,3500,4235,5040,5915,6860,7875,8960,10115,11340,12635,14000,15435,16940,18515,20160,21875,23660,25515,27440,29435,31500,33635,35840,38115,40460,42875,45360,47915,50540,53235,56000,58835,61740,64715,67760,70875,
  125. 74060,77315,80640,84035,87500,91035,94640,98315,102060,105875,109760,113715,117740,121835,126000,130235,134540,138915,143360,147875,152460,157115,161840,166635,171500,176435,181440,186515,191660,196875,202160,207515,212940,218435,224000,229635,235340,241115,246960,252875,258860,
  126. 264915,271040,277235,283500,289835,296240,302715,309260,315875,322560,329315,336140,343035,350000,357035,364140,
  127. 36956,37258,38170,38476,39246,39711,40179,40336,40652,41288,
  128. 41448,41931,42255,42418,43074,43404,44234,44902,45406,45913,
  129. 46253,47279,48311,49003,49873,50223,50399,50576,51466,52540,
  130. 52900,53624,54534,55449,56553,57108,57666,57853,58605,59550,
  131. 60310,60883,62035,63000,63970,64165,65341,65735,66329,67125,
  132. 68125,69331,69937,70343,70955,71160,71984,72812,73020,73438,
  133. 73648,73859,74919,75771,77055,77485,78565,79867,80085,80742,
  134. 80962,82067,82511,82957,83405,84080,84758,85212,86124,87040,
  135. 87960,89346,90042,90974,92378,93083,94027,94975,95213,95452,
  136. 96892,98097,99307,100279,101743,102233,103217,104205,104949,105198,
  137. 105948,107454,108210,108969,109223,110753,111777,113319,113835,114612,
  138. 114872,115133,116443,117758,118022,119612,120410,120944,121748,122017,
  139. 122287,123100,124732,125005,125553,127203,128307,128584,128862,129978,
  140. 130258,131944,133636,134202,134486,135911,137055,138490,139066,140222,
  141. 141092,142256,143716,144302,145478,146953,148433,149918,150812,151709,
  142. 152309,152911,154421,155936,156544,158374,159904,161746,162362,162980,
  143. 163910,165465,167025,167651,169221,170796,172060,172694,173648,175243,
  144. 175563,177168,179100,180069,180393,182018,182996,184304,184632,184961,
  145. 185621,187276,188272,188938,190274,191949,192957,194979,196331,198026,
  146. 199726,200067,200751,201780,203156,203846,204538,206620,208012,210106,
  147. 210456,211158,211862,213274,215398,217528,218952,220737,222885,224321,
  148. 225041,225402,226488,228666,229758,231948,233778,235246,235982,237827,
  149. 238197,239681,241169,243407,244903,246778,248658,250920,252054,252433,
  150. 253573,255859,257387,258153,259305,261615,262773,264321,265485,266652,
  151. 268212,269385,271737,272523,273705,275285,276077,277268,279656,281651,
  152. 282451,284857,286465,287674,289694,290099,292129,292536,293352,295806,
  153. 297856,298267,298679,300331,301159,301574,303654,306156,308246,310341,
  154. 311181,313286,315818,317510,320054,322179,323883,325591,326875,328162,
  155. 329022,330746,332474,332907,334209,335079,336823,339445,339883,342078,
  156. 342958,345163,347815,350473,352249,354919,357595,359383,360279,362973,
  157. 364773,367479,368383,371101,372917,374282,375194,377022,378854,380690,
  158. 383450,383911,384835,387150,389006,391796,392262,393663,394131,396476,
  159. 398826,401652,402124,402597,404967,406867,409723,410677,411155,412592
  160. };
  161.  
  162. new punkty_player[33];
  163. new zdrowie_player[33];
  164. new inteligencja_player[33];
  165. new wytrzymalosc_player[33];
  166. new Float:redukcja_obrazen_player[33];
  167. new kondycja_player[33];
  168. new maksymalne_zdrowie_player[33];
  169. new Float:fast_player[33];
  170.  
  171. new bool:gracz_resetuje[33];
  172.  
  173. enum { NONE = 0, Sniper, Commando, Assault, Deffender, Shotgun };
  174. new const zdrowie_klasy[] = { 0, 120, 130, 110, 250, 150, 100, 100, 130, 100, 130};
  175. new const Float:fast_klasy[] = {0.0, 1.2, 1.35, 0.8, 0.8, 1.0, 1.0, 1.0, 1.0, 1.45 , 1.15};
  176. new const pancerz_klasy[] = { 0, 100, 100, 100, 200, 100, 0, 100, 100, 0, 150};
  177. new const names_klas[][] = {"Nincs",
  178. "Sniper",
  179. "Commando",
  180. "Assault",
  181. "Deffender",
  182. "Rusher"
  183. };
  184.  
  185. new const descriptions_klas[][] = {"Nincs",
  186. "Felszereles: AWP, Deagle es Scout, 120hp, 110 Gyorsasag, 100 Amor.",
  187. "Felszereles: Deagle, 130hp, 135 Gyorsasag, 100 Armor Azonnali oles kessel (jobb klikk)",
  188. "Felszereles: AK47, M4A1, 110hp. 80 Gyorsasag, 100 Armor",
  189. "Felszereles: M249, 250hp, Osszes granat, 200 Armor",
  190. "Felszereles: Shotgun (pumpalos), Deagle, 150hp, 100 Armor"
  191. };
  192.  
  193. new ilosc_apteczek_player[33];
  194. new ilosc_rakiet_player[33];
  195. new Float:poprzednia_rakieta_player[33];
  196. new ilosc_min_player[33];
  197. new ilosc_dynamitow_player[33];
  198. //new ilosc_skokow_player[33];
  199.  
  200. new bool:freezetime = true;
  201.  
  202. public plugin_init()
  203. {
  204. register_plugin(PLUGIN, VERSION, AUTHOR);
  205.  
  206. g_vault = nvault_open("CodMod");
  207.  
  208. register_think("FirstAidKit","FirstAidKitThink");
  209.  
  210. RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  211. RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
  212.  
  213.  
  214. register_forward(FM_CmdStart, "CmdStart");
  215. register_forward(FM_EmitSound, "EmitSound");
  216.  
  217. register_logevent("PoczatekRundy", 2, "1=Round_Start");
  218. register_logevent("BombaPodlozona", 3, "2=Planted_The_Bomb");
  219.  
  220. register_event("SendAudio", "BombaRozbrojona", "a", "2&%!MRAD_BOMBDEF");
  221. register_event("BarTime", "RozbrajaBomb", "be", "1=10", "1=5");
  222. register_event("DeathMsg", "Death", "ade");
  223. register_event("Damage", "Damage", "b", "2!=0");
  224. register_event("CurWeapon","CurWeapon","be", "1=1");
  225. register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
  226.  
  227. register_touch("Rocket", "*" , "DotykRakiety");
  228. register_touch("Mine", "player", "DotykMiny");
  229.  
  230. register_cvar("cod_killxp", "1000");
  231. register_cvar("cod_bombxp", "500");
  232.  
  233. register_clcmd("say /osztaly", "WybierzKlase");
  234. register_clcmd("say /osztalyinfo", "DescriptionKlasy");
  235. register_clcmd("say /targy", "DescriptionItem");
  236. register_clcmd("say /eldobas", "WyrzucPrzedmiot");
  237. register_clcmd("say /reset", "KomendaResetujPunkty");
  238. register_clcmd("say /ujra", "KomendaResetujPunkty");
  239. register_clcmd("say /help", "userhelp", 0, " - Help Motd ");
  240. register_clcmd("fullupdate", "CommandBlock");
  241. register_clcmd("cl_autobuy", "CommandBlock");
  242. register_clcmd("cl_rebuy", "CommandBlock");
  243. register_clcmd("cl_setautobuy","CommandBlock");
  244. register_clcmd("rebuy", "CommandBlock");
  245. register_clcmd("autobuy", "CommandBlock");
  246. register_clcmd("glock", "CommandBlock");
  247. register_clcmd("usp", "CommandBlock");
  248. register_clcmd("p228", "CommandBlock");
  249. register_clcmd("deagle", "CommandBlock");
  250. register_clcmd("elites", "CommandBlock");
  251. register_clcmd("fn57", "CommandBlock");
  252. register_clcmd("m3", "CommandBlock");
  253. register_clcmd("autoshotgun", "CommandBlock");
  254. register_clcmd("mac10", "CommandBlock");
  255. register_clcmd("tmp", "CommandBlock");
  256. register_clcmd("mp5", "CommandBlock");
  257. register_clcmd("ump45", "CommandBlock");
  258. register_clcmd("p90", "CommandBlock");
  259. register_clcmd("galil", "CommandBlock");
  260. register_clcmd("ak47", "CommandBlock");
  261. register_clcmd("scout", "CommandBlock");
  262. register_clcmd("sg552", "CommandBlock");
  263. register_clcmd("awp", "CommandBlock");
  264. register_clcmd("g3sg1", "CommandBlock");
  265. register_clcmd("famas", "CommandBlock");
  266. register_clcmd("m4a1", "CommandBlock");
  267. register_clcmd("bullpup", "CommandBlock");
  268. register_clcmd("sg550", "CommandBlock");
  269. register_clcmd("m249", "CommandBlock");
  270. register_clcmd("shield", "CommandBlock");
  271. register_clcmd("hegren", "CommandBlock");
  272. register_clcmd("sgren", "CommandBlock");
  273. register_clcmd("flash", "CommandBlock");
  274. register_concmd("cod_setlvl", "cmd_setlvl", ADMIN_BAN, "<name> <level>");
  275.  
  276. g_msg_screenfade = get_user_msgid("ScreenFade");
  277. SyncHudObj = CreateHudSyncObj();
  278. SyncHudObj2 = CreateHudSyncObj();
  279. SyncHudObj3 = CreateHudSyncObj();
  280. experience_for_murder = get_cvar_num("cod_killxp");
  281. experience_for_bomb = get_cvar_num("cod_bombxp");
  282.  
  283. set_task(60.0, "Pomoc");
  284. }
  285.  
  286. public plugin_cfg()
  287. {
  288. server_cmd("sv_maxspeed 1600");
  289. }
  290.  
  291. public plugin_precache()
  292. {
  293. sprite_white = precache_model("sprites/white.spr") ;
  294. sprite_blast = precache_model("sprites/dexplo.spr");
  295.  
  296. precache_sound("MW/select.wav");
  297. precache_sound("MW/start.wav");
  298. precache_sound("MW/start2.wav");
  299. precache_sound("MW/levelup.wav");
  300.  
  301. precache_model("models/w_medkit.mdl");
  302. precache_model("models/rpgrocket.mdl");
  303. precache_model("models/mine.mdl");
  304. }
  305.  
  306.  
  307. /*public CmdStart(id, uc_handle)
  308. {
  309. if(!is_user_alive(id))
  310. return FMRES_IGNORED;
  311.  
  312. new button = get_uc(uc_handle, UC_Buttons);
  313. new oldbutton = get_user_oldbutton(id);
  314. new flags = get_entity_flags(id);
  315.  
  316. if(information_item_player[id][0] == 11 || class_player[id] == Rambo)
  317. {
  318. if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && ilosc_skokow_player[id] > 0)
  319. {
  320. ilosc_skokow_player[id]--;
  321. new Float:velocity[3];
  322. entity_get_vector(id,EV_VEC_velocity,velocity);
  323. velocity[2] = random_float(265.0,285.0);
  324. entity_set_vector(id,EV_VEC_velocity,velocity);
  325. }
  326. else if(flags & FL_ONGROUND)
  327. {
  328. ilosc_skokow_player[id] = 0;
  329. if(information_item_player[id][0] == 11)
  330. ilosc_skokow_player[id]++;
  331. if(class_player[id] == Rambo)
  332. ilosc_skokow_player[id]++;
  333. }
  334. }
  335.  
  336. if(button & IN_ATTACK)
  337. {
  338. new Float:punchangle[3];
  339.  
  340. if(information_item_player[id][0] == 20)
  341. entity_set_vector(id, EV_VEC_punchangle, punchangle);
  342. if(information_item_player[id][0] == 23)
  343. {
  344. entity_get_vector(id, EV_VEC_punchangle, punchangle);
  345. for(new i=0; i<3;i++)
  346. punchangle[i]*=0.9;
  347. entity_set_vector(id, EV_VEC_punchangle, punchangle);
  348. }
  349. }
  350.  
  351. if(information_item_player[id][0] == 28 && button & IN_JUMP && button & IN_DUCK && flags & FL_ONGROUND && get_gametime() > information_item_player[id][1]+4.0)
  352. {
  353. information_item_player[id][1] = floatround(get_gametime());
  354. new Float:velocity[3];
  355. VelocityByAim(id, 700, velocity);
  356. velocity[2] = random_float(265.0,285.0);
  357. entity_set_vector(id, EV_VEC_velocity, velocity);
  358. }
  359.  
  360.  
  361. return FMRES_IGNORED;
  362. }*/
  363.  
  364. public Odrodzenie(id)
  365. {
  366. if(!is_user_alive(id) || !is_user_connected(id))
  367. return PLUGIN_CONTINUE;
  368.  
  369. if(nowa_class_player[id])
  370. {
  371. class_player[id] = nowa_class_player[id];
  372. nowa_class_player[id] = 0;
  373. strip_user_weapons(id);
  374. give_item(id, "weapon_knife");
  375. switch(get_user_team(id))
  376. {
  377. case 1: give_item(id, "weapon_hegrenade");
  378. case 2: give_item(id, "weapon_hegrenade");
  379. }
  380. WczytajDane(id, class_player[id]);
  381. }
  382.  
  383. if(!class_player[id])
  384. {
  385. WybierzKlase(id);
  386. return PLUGIN_CONTINUE;
  387. }
  388.  
  389. switch(class_player[id])
  390. {
  391. case Sniper:
  392. {
  393. give_item(id, "weapon_awp");
  394. give_item(id, "weapon_deagle");
  395. give_item(id, "ammo_50ae");
  396. give_item(id, "ammo_50ae");
  397. give_item(id, "ammo_50ae");
  398. give_item(id, "ammo_50ae");
  399. give_item(id, "ammo_50ae");
  400. give_item(id, "ammo_50ae");
  401. give_item(id, "ammo_338magnum");
  402. give_item(id, "ammo_338magnum");
  403. give_item(id, "ammo_338magnum");
  404. give_item(id, "ammo_338magnum");
  405. give_item(id, "weapon_scout");
  406. give_item(id, "ammo_762nato");
  407. give_item(id, "ammo_762nato");
  408. give_item(id, "ammo_762nato");
  409. give_item(id, "ammo_762nato");
  410. }
  411. case Commando:
  412. {
  413. give_item(id, "weapon_deagle");
  414. give_item(id, "ammo_50ae");
  415. give_item(id, "ammo_50ae");
  416. give_item(id, "ammo_50ae");
  417. give_item(id, "ammo_50ae");
  418. give_item(id, "ammo_50ae");
  419. give_item(id, "ammo_50ae");
  420. }
  421. case Assault:
  422. {
  423. give_item(id, "weapon_m4a1");
  424. give_item(id, "ammo_556nato");
  425. give_item(id, "ammo_556nato");
  426. give_item(id, "ammo_556nato");
  427. give_item(id, "weapon_ak47");
  428. give_item(id, "ammo_762nato");
  429. give_item(id, "ammo_762nato");
  430. give_item(id, "ammo_762nato");
  431. give_item(id, "weapon_deagle");
  432. give_item(id, "ammo_50ae");
  433. give_item(id, "ammo_50ae");
  434. give_item(id, "ammo_50ae");
  435. give_item(id, "ammo_50ae");
  436. give_item(id, "ammo_50ae");
  437. give_item(id, "ammo_50ae");
  438. }
  439. }
  440.  
  441. if(gracz_resetuje[id])
  442. {
  443. ResetujPunkty(id);
  444. gracz_resetuje[id] = false;
  445. }
  446.  
  447. if(punkty_player[id]>0)
  448. PrzydzielPunkty(id);
  449.  
  450. if(information_item_player[id][0] == 10 || information_item_player[id][0] == 9)
  451. give_item(id, "weapon_hegrenade");
  452.  
  453. if(information_item_player[id][0] == 9)
  454. ZmienUbranie(id, 0);
  455.  
  456. if(information_item_player[id][0] == 1)
  457. set_user_footsteps(id, 1);
  458. else
  459. set_user_footsteps(id, 0);
  460.  
  461. if(information_item_player[id][0] == 13)
  462. give_item(id, "weapon_awp");
  463.  
  464. if(information_item_player[id][0] == 19)
  465. information_item_player[id][1] = 1;
  466.  
  467. if(information_item_player[id][0] == 27)
  468. information_item_player[id][1] = 3;
  469.  
  470. new weapons[32];
  471. new weaponsnum;
  472. get_user_weapons(id, weapons, weaponsnum);
  473. for(new i=0; i<weaponsnum; i++)
  474. if(is_user_alive(id))
  475. if(maxAmmo[weapons[i]] > 0)
  476. cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  477.  
  478. redukcja_obrazen_player[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(wytrzymalosc_player[id])))/100);
  479. maksymalne_zdrowie_player[id] = zdrowie_klasy[class_player[id]]+zdrowie_player[id]*2;
  480. fast_player[id] = STANDARD_FAST*fast_klasy[class_player[id]]+floatround(kondycja_player[id]*1.3);
  481.  
  482. if(information_item_player[id][0] == 18)
  483. {
  484. maksymalne_zdrowie_player[id] += 100;
  485. fast_player[id] -= 0.4;
  486. }
  487.  
  488. if(information_item_player[id][0] == 25)
  489. {
  490. maksymalne_zdrowie_player[id] += 50;
  491. fast_player[id] -= 0.3;
  492. }
  493.  
  494. set_user_armor(id, pancerz_klasy[class_player[id]]);
  495. set_user_health(id, maksymalne_zdrowie_player[id]);
  496. if(information_item_player[id][0] == 17)
  497. set_user_armor(id, 500);
  498.  
  499. return PLUGIN_CONTINUE;
  500. }
  501.  
  502. public PoczatekRundy()
  503. {
  504. freezetime = false;
  505. for(new id=0;id<=32;id++)
  506. {
  507. if(!is_user_alive(id))
  508. continue;
  509.  
  510. set_task(0.1, "SetFast", id+TASK_SET_FAST);
  511.  
  512. switch(get_user_team(id))
  513. {
  514. case 1: client_cmd(id, "spk MW/start");
  515. case 2: client_cmd(id, "spk MW/start2");
  516. }
  517. }
  518. }
  519.  
  520. public NowaRunda()
  521. {
  522. freezetime = true;
  523. new iEnt = find_ent_by_class(-1, "Mine");
  524. while(iEnt > 0)
  525. {
  526. remove_entity(iEnt);
  527. iEnt = find_ent_by_class(iEnt, "Mine");
  528. }
  529. }
  530.  
  531. public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
  532. {
  533. if(!is_user_alive(this) || !is_user_connected(this) || information_item_player[this][0] == 24 || !is_user_connected(idattacker) || get_user_team(this) == get_user_team(idattacker) || !class_player[idattacker])
  534. return HAM_IGNORED;
  535.  
  536. new health = get_user_health(this);
  537. new weapon = get_user_weapon(idattacker);
  538.  
  539. if(health < 2)
  540. return HAM_IGNORED;
  541.  
  542. if(information_item_player[this][0] == 27 && information_item_player[this][1]>0)
  543. {
  544. information_item_player[this][1]--;
  545. return HAM_SUPERCEDE;
  546. }
  547.  
  548. if(wytrzymalosc_player[this]>0)
  549. damage -= redukcja_obrazen_player[this]*damage;
  550.  
  551. if(information_item_player[this][0] == 2 || information_item_player[this][0] == 3)
  552. damage-=(float(information_item_player[this][1])<damage)? float(information_item_player[this][1]): damage;
  553.  
  554. if(information_item_player[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
  555. damage*=2.0;
  556.  
  557. if(information_item_player[idattacker][0] == 10)
  558. damage+=information_item_player[idattacker][1];
  559.  
  560. if(information_item_player[this][0] == 12)
  561. damage-=(5.0<damage)? 5.0: damage;
  562.  
  563. if(weapon == CSW_AWP && information_item_player[idattacker][0] == 13)
  564. damage=float(health);
  565.  
  566. if(information_item_player[idattacker][0] == 21)
  567. damage+=15;
  568.  
  569. if(information_item_player[idattacker][0] == 22)
  570. damage+=25;
  571.  
  572. if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
  573. {
  574. if((information_item_player[idattacker][0] == 9 && random_num(1, information_item_player[idattacker][1]) == 1) || information_item_player[idattacker][0] == 10)
  575. damage = float(health);
  576. }
  577.  
  578. if(weapon == CSW_KNIFE)
  579. {
  580. if(information_item_player[this][0] == 4)
  581. damage=damage*1.4+inteligencja_player[idattacker];
  582. if(information_item_player[idattacker][0] == 8 || (class_player[idattacker] == Sniper && random(2) == 2) || class_player[idattacker] == Commando && !(get_user_button(idattacker) & IN_ATTACK))
  583. damage = float(health);
  584. }
  585.  
  586. if(information_item_player[this][0] == 26 && random_num(1, information_item_player[this][1]) == 1)
  587. {
  588. SetHamParamEntity(3, this);
  589. SetHamParamEntity(1, idattacker);
  590. }
  591.  
  592.  
  593. SetHamParamFloat(4, damage);
  594. return HAM_IGNORED;
  595. }
  596.  
  597. public Damage(id)
  598. {
  599. new attacker = get_user_attacker(id);
  600. new damage = read_data(2);
  601. if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !class_player[attacker])
  602. return PLUGIN_CONTINUE;
  603.  
  604. if(information_item_player[attacker][0] == 12 && random_num(1, information_item_player[id][1]) == 1)
  605. Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
  606.  
  607. if(get_user_team(id) != get_user_team(attacker))
  608. {
  609. while(damage>20)
  610. {
  611. damage-=20;
  612. experience_player[attacker]++;
  613. }
  614. }
  615. SprawdzLevel(attacker);
  616. return PLUGIN_CONTINUE;
  617. }
  618.  
  619. public Death()
  620. {
  621. new id = read_data(2);
  622. new attacker = read_data(1);
  623.  
  624. if(!is_user_alive(attacker) || !is_user_connected(attacker))
  625. return PLUGIN_CONTINUE;
  626.  
  627. new zdrowie = get_user_health(attacker);
  628.  
  629. if(get_user_team(id) != get_user_team(attacker) && class_player[attacker])
  630. {
  631. new nowe_experience = 0;
  632.  
  633. nowe_experience += experience_for_murder;
  634.  
  635. if(level_player[id] > level_player[attacker])
  636. nowe_experience += level_player[id] - level_player[attacker];
  637.  
  638. #if defined BOT
  639. if(is_user_bot2(attacker) && random(9) == 0)
  640. WyrzucPrzedmiot(id);
  641. #endif
  642. if(!information_item_player[attacker][0])
  643. DajPrzedmiot(attacker, random_num(1, sizeof names_objects-1));
  644.  
  645. if(information_item_player[attacker][0] == 14)
  646. {
  647. new nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_player[attacker])? zdrowie+50: maksymalne_zdrowie_player[attacker];
  648. set_user_health(attacker, nowe_zdrowie);
  649. }
  650.  
  651. set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
  652. ShowSyncHudMsg(attacker, SyncHudObj2, "+%s", nowe_experience);
  653.  
  654. experience_player[attacker] += nowe_experience;
  655. }
  656.  
  657. SprawdzLevel(attacker);
  658.  
  659. if(information_item_player[id][0] == 7 && random_num(1, information_item_player[id][1]) == 1)
  660. set_task(0.1, "Raise", id+TASK_RAISE);
  661.  
  662. return PLUGIN_CONTINUE;
  663. }
  664.  
  665. public client_connect(id)
  666. {
  667. //resetuje umiejetnosci
  668. class_player[id] = 0;
  669. level_player[id] = 0;
  670. experience_player[id] = 0;
  671. punkty_player[id] = 0;
  672. zdrowie_player[id] = 0;
  673. inteligencja_player[id] = 0;
  674. wytrzymalosc_player[id] = 0;
  675. kondycja_player[id] = 0;
  676. maksymalne_zdrowie_player[id] = 0;
  677. fast_player[id] = 0.0;
  678.  
  679. get_user_authid(id, g_szAuthID[id], charsmax(g_szAuthID[] ));
  680.  
  681. remove_task(id+TASK_SHOW_INFORMATION);
  682. remove_task(id+TASK_SHOW_ADVERTISEMENT);
  683. remove_task(id+TASK_SET_FAST);
  684. remove_task(id+TASK_RAISE);
  685. remove_task(id+TASK_TRAINING_SANITARY);
  686.  
  687. set_task(10.0, "ShowAdvertisement", id+TASK_SHOW_ADVERTISEMENT);
  688. set_task(3.0, "ShowInformation", id+TASK_SHOW_INFORMATION);
  689.  
  690. //resetuje przedmioty
  691. UsunPrzedmiot(id);
  692. }
  693.  
  694. public client_disconnect(id)
  695. {
  696. remove_task(id+TASK_SHOW_INFORMATION);
  697. remove_task(id+TASK_SHOW_ADVERTISEMENT);
  698. remove_task(id+TASK_SET_FAST);
  699. remove_task(id+TASK_RAISE);
  700. remove_task(id+TASK_TRAINING_SANITARY);
  701.  
  702. ZapiszDane(id);
  703. UsunPrzedmiot(id);
  704. }
  705.  
  706. public RozbrajaBomb(id)
  707. if(class_player[id])
  708. disarming = id;
  709.  
  710. public BombaPodlozona()
  711. {
  712. new Players[32], playerCount, id;
  713. get_players(Players, playerCount, "aeh", "TERRORIST");
  714.  
  715. if(get_playersnum() > 1)
  716. {
  717. experience_player[podkladajacy] += experience_for_bomb;
  718. for (new i=0; i<playerCount; i++)
  719. {
  720. id = Players[i];
  721. if(!class_player[id])
  722. continue;
  723.  
  724. if(id != podkladajacy)
  725. {
  726. experience_player[id] += experience_for_murder;
  727. client_print(id, print_chat, "Kaptal **%i** EXP-et a bomba lerakasaert.", experience_for_murder);
  728. }
  729. else
  730. {
  731. client_print(id, print_chat, "Kaptal **%i** EXP-et a bomba lerakasaert.", experience_for_bomb);
  732. }
  733. SprawdzLevel(id);
  734. }
  735. }
  736. }
  737.  
  738. public BombaRozbrojona()
  739. {
  740. new Players[32], playerCount, id;
  741. get_players(Players, playerCount, "aeh", "CT");
  742.  
  743. experience_player[disarming] += experience_for_bomb;
  744. for (new i=0; i<playerCount; i++)
  745. {
  746. id = Players[i];
  747. if(!class_player[id])
  748. continue;
  749. if(id != disarming)
  750. {
  751. experience_player[id]+= experience_for_murder;
  752. client_print(id, print_chat, "Kaptal **%i** EXP-et a bomba hatastalanitasaert.", experience_for_murder);
  753. }
  754. else
  755. client_print(id, print_chat, "Kaptal **%i** EXP-et a bomba hatastalanitasaert.",experience_for_bomb);
  756. SprawdzLevel(id);
  757. }
  758. }
  759.  
  760. public DescriptionKlasy(id)
  761. {
  762. new menu = menu_create("Valassz Osztalyt:", "DescriptionKlasy_Handle");
  763. for(new i=1; i<sizeof names_klas; i++)
  764. menu_additem(menu, names_klas[i]);
  765. menu_setprop(menu, MPROP_EXITNAME, "Exit");
  766. menu_setprop(menu, MPROP_BACKNAME, "Back");
  767. menu_setprop(menu, MPROP_NEXTNAME, "Next");
  768. menu_display(id, menu);
  769.  
  770. client_cmd(id, "spk MW/select");
  771. }
  772.  
  773. public DescriptionKlasy_Handle(id, menu, item)
  774. {
  775. client_cmd(id, "spk MW/select");
  776.  
  777. if(item == MENU_EXIT)
  778. {
  779. menu_destroy(menu);
  780. return PLUGIN_CONTINUE;
  781. }
  782. client_print(id, print_chat, "[Modern Warfare] %s: %s", names_klas[item+1], descriptions_klas[item+1]);
  783. menu_display(id, menu);
  784.  
  785. return PLUGIN_CONTINUE;
  786. }
  787.  
  788. public WybierzKlase(id)
  789. {
  790. new menu = menu_create("\yValassz kasztot!:", "WybierzKlase_Handle");
  791. new class[50];
  792. for(new i=1; i<sizeof names_klas; i++)
  793. {
  794. WczytajDane(id, i);
  795. format(class, 49, "\y%s \rSzint: %i", names_klas[i], level_player[id]);
  796. menu_additem(menu, class);
  797. }
  798.  
  799. WczytajDane(id, class_player[id]);
  800.  
  801. menu_setprop(menu, MPROP_EXITNAME, "Exit");
  802. menu_setprop(menu, MPROP_BACKNAME, "Back");
  803. menu_setprop(menu, MPROP_NEXTNAME, "Next");
  804. menu_display(id, menu);
  805.  
  806. client_cmd(id, "spk MW/select");
  807. #if defined BOT
  808. if(is_user_bot2(id))
  809. WybierzKlase_Handle(id, menu, random(sizeof names_klas-1));
  810. #endif
  811. }
  812.  
  813. public WybierzKlase_Handle(id, menu, item)
  814. {
  815. client_cmd(id, "spk MW/select");
  816.  
  817. if(item == MENU_EXIT)
  818. {
  819. menu_destroy(menu);
  820. return PLUGIN_CONTINUE;
  821. }
  822.  
  823. item++;
  824.  
  825. if(item == class_player[id])
  826. return PLUGIN_CONTINUE;
  827.  
  828. if(class_player[id])
  829. {
  830. nowa_class_player[id] = item;
  831. client_print(id, print_chat, "[Modern Warfare] Az osztalyod a kovetkezo korben megvaltozik.");
  832. }
  833. else
  834. {
  835. class_player[id] = item;
  836. WczytajDane(id, class_player[id]);
  837. Odrodzenie(id);
  838. }
  839. return PLUGIN_CONTINUE;
  840. }
  841.  
  842. public PrzydzielPunkty(id)
  843. {
  844. new inteligencja[65];
  845. new zdrowie[60];
  846. new wytrzymalosc[60];
  847. new kondycja[60];
  848. new tytul[25];
  849. format(inteligencja, 64, "\yEro: \r%i \w(Noveli a Targyak Sebzeset)", inteligencja_player[id]);
  850. format(zdrowie, 59, "\yElet: \r%i \w(Noveli az Eleted)", zdrowie_player[id]);
  851. format(wytrzymalosc, 59, "\yUgyesseg: \r%i \w(Csokkenti a Kapott Sebzest)", wytrzymalosc_player[id]);
  852. format(kondycja, 59, "\yKondicio: \r%i \w(Noveli a Sebesseged)", kondycja_player[id]);
  853. format(tytul, 24, "\yEloszthato Pontok \r(%i):", punkty_player[id]);
  854. new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
  855. menu_additem(menu, inteligencja);
  856. menu_additem(menu, zdrowie);
  857. menu_additem(menu, wytrzymalosc);
  858. menu_additem(menu, kondycja);
  859. menu_display(id, menu);
  860. #if defined BOT
  861. if(is_user_bot2(id))
  862. PrzydzielPunkty_Handler(id, menu, random(4));
  863. #endif
  864. }
  865.  
  866. public PrzydzielPunkty_Handler(id, menu, item)
  867. {
  868. client_cmd(id, "spk MW/select");
  869.  
  870. if(item == MENU_EXIT)
  871. {
  872. menu_destroy(menu);
  873. return PLUGIN_CONTINUE;
  874. }
  875.  
  876. switch(item)
  877. {
  878. case 0:
  879. {
  880. if(inteligencja_player[id]<100)
  881. inteligencja_player[id]++;
  882. else
  883. client_print(id, print_chat, "[Modern Warfare] Maximum Ero Szint");
  884.  
  885. }
  886. case 1:
  887. {
  888. if(zdrowie_player[id]<100)
  889. zdrowie_player[id]++;
  890. else
  891. client_print(id, print_chat, "[Modern Warfare] Maximum Elet Szint");
  892. }
  893. case 2:
  894. {
  895. if(wytrzymalosc_player[id]<100)
  896. wytrzymalosc_player[id]++;
  897. else
  898. client_print(id, print_chat, "[Modern Warfare] Maximum Ugyesseg Szint");
  899.  
  900. }
  901. case 3:
  902. {
  903. if(kondycja_player[id]<100)
  904. kondycja_player[id]++;
  905. else
  906. client_print(id, print_chat, "[Modern Warfare] Maximum Kondicio Szint");
  907. }
  908. }
  909.  
  910. punkty_player[id]--;
  911.  
  912. if(punkty_player[id]>0)
  913. PrzydzielPunkty(id);
  914.  
  915. return PLUGIN_CONTINUE;
  916. }
  917.  
  918. public ResetujPunkty(id)
  919. {
  920. punkty_player[id] = level_player[id]*2-2;
  921. inteligencja_player[id] = 0;
  922. zdrowie_player[id] = 0;
  923. kondycja_player[id] = 0;
  924. wytrzymalosc_player[id] = 0;
  925. }
  926.  
  927. public KomendaResetujPunkty(id)
  928. {
  929. client_print(id, print_chat, "[Modern Warfare] Kepessegek nullazva lesznek kovetkezo korben.");
  930. client_cmd(id, "spk MW/select");
  931. gracz_resetuje[id] = true;
  932. }
  933.  
  934. public TrainingSanitary(id)
  935. {
  936. id -= TASK_TRAINING_SANITARY;
  937. if(information_item_player[id][0] != 16)
  938. return PLUGIN_CONTINUE;
  939. set_task(3.0, "TrainingSanitary", id+TASK_TRAINING_SANITARY);
  940. if(!is_user_alive(id))
  941. return PLUGIN_CONTINUE;
  942. new health = get_user_health(id);
  943. new new_health = (health+10<maksymalne_zdrowie_player[id])?health+10:maksymalne_zdrowie_player[id];
  944. set_user_health(id, new_health);
  945. return PLUGIN_CONTINUE;
  946. }
  947.  
  948. public StworzApteczke(id)
  949. {
  950. if (!ilosc_apteczek_player[id])
  951. {
  952. client_print(id, print_center, "[Modern Warfare] Koronkent csak 3 csomagot kapsz!");
  953. return PLUGIN_CONTINUE;
  954. }
  955.  
  956. if(inteligencja_player[id] < 1)
  957. client_print(id, print_center, "[Modern Warfare] Ha erosebb hatasu Elsosegely Csomagot szeretnel, noveld az Erodet!");
  958.  
  959. ilosc_apteczek_player[id]--;
  960.  
  961. new Float:origin[3];
  962. entity_get_vector(id, EV_VEC_origin, origin);
  963.  
  964. new ent = create_entity("info_target");
  965. entity_set_string(ent, EV_SZ_classname, "FirstAidKit");
  966. entity_set_edict(ent, EV_ENT_owner, id);
  967. entity_set_int(ent, EV_INT_solid, SOLID_NOT);
  968. entity_set_vector(ent, EV_VEC_origin, origin);
  969. entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
  970.  
  971.  
  972. entity_set_model(ent, "models/w_medkit.mdl");
  973. set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
  974. drop_to_floor(ent);
  975.  
  976. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
  977.  
  978. return PLUGIN_CONTINUE;
  979. }
  980.  
  981. public FirstAirKitThink(ent)
  982. {
  983. new id = entity_get_edict(ent, EV_ENT_owner);
  984. new totem_dist = 300;
  985. new totem_heal = 5+floatround(inteligencja_player[id]*0.5);
  986. if (entity_get_edict(ent, EV_ENT_euser2) == 1)
  987. {
  988. new Float:forigin[3], origin[3];
  989. entity_get_vector(ent, EV_VEC_origin, forigin);
  990. FVecIVec(forigin,origin);
  991.  
  992. new entlist[33];
  993. new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);
  994.  
  995. for (new i=0; i < numfound; i++)
  996. {
  997. new pid = entlist[i];
  998.  
  999. if (get_user_team(pid) != get_user_team(id))
  1000. continue;
  1001.  
  1002. new zdrowie = get_user_health(pid);
  1003. new nowe_zdrowie = (zdrowie+totem_heal<maksymalne_zdrowie_player[pid])?zdrowie+totem_heal:maksymalne_zdrowie_player[pid];
  1004. if (is_user_alive(pid)) set_user_health(pid, nowe_zdrowie);
  1005. }
  1006.  
  1007. entity_set_edict(ent, EV_ENT_euser2, 0);
  1008. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
  1009.  
  1010. return PLUGIN_CONTINUE;
  1011. }
  1012.  
  1013. if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
  1014. {
  1015. remove_entity(ent);
  1016. return PLUGIN_CONTINUE;
  1017. }
  1018.  
  1019. if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
  1020. set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) ;
  1021.  
  1022. new Float:forigin[3], origin[3];
  1023. entity_get_vector(ent, EV_VEC_origin, forigin);
  1024. FVecIVec(forigin,origin);
  1025.  
  1026. //Find people near and give them health
  1027. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
  1028. write_byte( TE_BEAMCYLINDER );
  1029. write_coord( origin[0] );
  1030. write_coord( origin[1] );
  1031. write_coord( origin[2] );
  1032. write_coord( origin[0] );
  1033. write_coord( origin[1] + totem_dist );
  1034. write_coord( origin[2] + totem_dist );
  1035. write_short( sprite_white );
  1036. write_byte( 0 ); // startframe
  1037. write_byte( 0 ); // framerate
  1038. write_byte( 10 ); // life
  1039. write_byte( 10 ); // width
  1040. write_byte( 255 ); // noise
  1041. write_byte( 255 ); // r, g, b
  1042. write_byte( 100 );// r, g, b
  1043. write_byte( 100 ); // r, g, b
  1044. write_byte( 128 ); // brightness
  1045. write_byte( 5 ); // speed
  1046. message_end();
  1047.  
  1048. entity_set_edict(ent, EV_ENT_euser2 ,1);
  1049. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
  1050.  
  1051.  
  1052. return PLUGIN_CONTINUE;
  1053.  
  1054. }
  1055.  
  1056. public StworzRakiete(id)
  1057. {
  1058. if (!ilosc_rakiet_player[id])
  1059. {
  1060. client_print(id, print_center, "[Modern Warfare] Elhasznaltad az osszes raketad!");
  1061. return PLUGIN_CONTINUE;
  1062. }
  1063.  
  1064. if(poprzednia_rakieta_player[id] + 2.0 > get_gametime())
  1065. {
  1066. client_print(id, print_center, "[Modern Warfare] Csak 2 masodpercenkent tudod hasznalni a raketakat!");
  1067. return PLUGIN_CONTINUE;
  1068. }
  1069.  
  1070. if (is_user_alive(id))
  1071. {
  1072. if(inteligencja_player[id] < 1)
  1073. client_print(id, print_center, "[Modern Warfare] Erosebb hatasu raketakert, fejleszd az Erodet!");
  1074.  
  1075. poprzednia_rakieta_player[id] = get_gametime();
  1076. ilosc_rakiet_player[id]--;
  1077.  
  1078. new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
  1079.  
  1080. entity_get_vector(id, EV_VEC_v_angle, vAngle);
  1081. entity_get_vector(id, EV_VEC_origin , Origin);
  1082.  
  1083. new Ent = create_entity("info_target");
  1084.  
  1085. entity_set_string(Ent, EV_SZ_classname, "Rocket");
  1086. entity_set_model(Ent, "models/rpgrocket.mdl");
  1087.  
  1088. vAngle[0] *= -1.0;
  1089.  
  1090. entity_set_origin(Ent, Origin);
  1091. entity_set_vector(Ent, EV_VEC_angles, vAngle);
  1092.  
  1093. entity_set_int(Ent, EV_INT_effects, 2);
  1094. entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
  1095. entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
  1096. entity_set_edict(Ent, EV_ENT_owner, id);
  1097.  
  1098. VelocityByAim(id, 1000 , Velocity);
  1099. entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
  1100. }
  1101. return PLUGIN_CONTINUE;
  1102. }
  1103.  
  1104. public PolozDynamit(id)
  1105. {
  1106. if(!ilosc_dynamitow_player[id])
  1107. {
  1108. client_print(id, print_center, "[Modern Warfare] Elhasznaltad a dynamitodat!");
  1109. return PLUGIN_CONTINUE;
  1110. }
  1111.  
  1112. if(inteligencja_player[id] < 1)
  1113. client_print(id, print_center, "[Modern Warfare]Erosebb hatasu dinamitert, fejleszd az Erodet!");
  1114.  
  1115. ilosc_dynamitow_player[id]--;
  1116. new Float:fOrigin[3], iOrigin[3];
  1117. entity_get_vector( id, EV_VEC_origin, fOrigin);
  1118. iOrigin[0] = floatround(fOrigin[0]);
  1119. iOrigin[1] = floatround(fOrigin[1]);
  1120. iOrigin[2] = floatround(fOrigin[2]);
  1121.  
  1122. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1123. write_byte(TE_EXPLOSION);
  1124. write_coord(iOrigin[0]);
  1125. write_coord(iOrigin[1]);
  1126. write_coord(iOrigin[2]);
  1127. write_short(sprite_blast);
  1128. write_byte(32);
  1129. write_byte(20);
  1130. write_byte(0);
  1131. message_end();
  1132.  
  1133. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  1134. write_byte( TE_BEAMCYLINDER );
  1135. write_coord( iOrigin[0] );
  1136. write_coord( iOrigin[1] );
  1137. write_coord( iOrigin[2] );
  1138. write_coord( iOrigin[0] );
  1139. write_coord( iOrigin[1] + 300 );
  1140. write_coord( iOrigin[2] + 300 );
  1141. write_short( sprite_white );
  1142. write_byte( 0 ); // startframe
  1143. write_byte( 0 ); // framerate
  1144. write_byte( 10 ); // life
  1145. write_byte( 10 ); // width
  1146. write_byte( 255 ); // noise
  1147. write_byte( 255 ); // r, g, b
  1148. write_byte( 100 );// r, g, b
  1149. write_byte( 100 ); // r, g, b
  1150. write_byte( 128 ); // brightness
  1151. write_byte( 8 ); // speed
  1152. message_end();
  1153.  
  1154. new entlist[33];
  1155. new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
  1156.  
  1157. for (new i=0; i < numfound; i++)
  1158. {
  1159. new pid = entlist[i];
  1160.  
  1161. if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || information_item_player[pid][0] == 24)
  1162. continue;
  1163. ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencja_player[id]) , 1);
  1164. }
  1165. return PLUGIN_CONTINUE;
  1166. }
  1167.  
  1168. public PostawMine(id)
  1169. {
  1170. if (!ilosc_min_player[id])
  1171. {
  1172. client_print(id, print_center, "[Modern Warfare] Elhasznaltad az osszes aknad!");
  1173. return PLUGIN_CONTINUE;
  1174. }
  1175.  
  1176. if(inteligencja_player[id] < 1)
  1177. client_print(id, print_center, "[Modern Warfare] Erosebb hatasu aknakert, fejleszd az Erodet!");
  1178.  
  1179. ilosc_min_player[id]--;
  1180.  
  1181. new Float:origin[3];
  1182. entity_get_vector(id, EV_VEC_origin, origin);
  1183.  
  1184. new ent = create_entity("info_target");
  1185. entity_set_string(ent ,EV_SZ_classname, "Mine");
  1186. entity_set_edict(ent ,EV_ENT_owner, id);
  1187. entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
  1188. entity_set_origin(ent, origin);
  1189. entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
  1190.  
  1191. entity_set_model(ent, "models/mine.mdl");
  1192. entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
  1193.  
  1194. drop_to_floor(ent);
  1195.  
  1196. entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;
  1197.  
  1198. set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,20) ;
  1199.  
  1200.  
  1201. return PLUGIN_CONTINUE;
  1202. }
  1203.  
  1204. public DotykMiny(ent, id)
  1205. {
  1206. new attacker = entity_get_edict(ent, EV_ENT_owner);
  1207. if (get_user_team(attacker) != get_user_team(id))
  1208. {
  1209. new Float:fOrigin[3], iOrigin[3];
  1210. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  1211. iOrigin[0] = floatround(fOrigin[0]);
  1212. iOrigin[1] = floatround(fOrigin[1]);
  1213. iOrigin[2] = floatround(fOrigin[2]);
  1214.  
  1215. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1216. write_byte(TE_EXPLOSION);
  1217. write_coord(iOrigin[0]);
  1218. write_coord(iOrigin[1]);
  1219. write_coord(iOrigin[2]);
  1220. write_short(sprite_blast);
  1221. write_byte(32); // scale
  1222. write_byte(20); // framerate
  1223. write_byte(0);// flags
  1224. message_end();
  1225. new entlist[33];
  1226. new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
  1227.  
  1228. for (new i=0; i < numfound; i++)
  1229. {
  1230. new pid = entlist[i];
  1231.  
  1232. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || information_item_player[pid][0] == 24 )
  1233. continue;
  1234.  
  1235. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencja_player[attacker]) , 1);
  1236. }
  1237. remove_entity(ent);
  1238. }
  1239. }
  1240.  
  1241. public DotykRakiety(ent)
  1242. {
  1243. if ( !is_valid_ent(ent))
  1244. return;
  1245.  
  1246. new attacker = entity_get_edict(ent, EV_ENT_owner);
  1247.  
  1248. new Float:fOrigin[3], iOrigin[3];
  1249. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  1250. iOrigin[0] = floatround(fOrigin[0]);
  1251. iOrigin[1] = floatround(fOrigin[1]);
  1252. iOrigin[2] = floatround(fOrigin[2]);
  1253.  
  1254. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1255. write_byte(TE_EXPLOSION);
  1256. write_coord(iOrigin[0]);
  1257. write_coord(iOrigin[1]);
  1258. write_coord(iOrigin[2]);
  1259. write_short(sprite_blast);
  1260. write_byte(32); // scale
  1261. write_byte(20); // framerate
  1262. write_byte(0);// flags
  1263. message_end();
  1264.  
  1265. new entlist[33];
  1266. new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
  1267.  
  1268. for (new i=0; i < numfound; i++)
  1269. {
  1270. new pid = entlist[i];
  1271.  
  1272. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || information_item_player[pid][0] == 24)
  1273. continue;
  1274. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_player[attacker]) , 1);
  1275. }
  1276. remove_entity(ent);
  1277. }
  1278.  
  1279. public CurWeapon(id)
  1280. {
  1281. if(freezetime || !class_player[id])
  1282. return PLUGIN_CONTINUE;
  1283.  
  1284. new weapon = read_data(2);
  1285.  
  1286. SetFast(id);
  1287.  
  1288. if(weapon == CSW_C4)
  1289. podkladajacy = id;
  1290. return PLUGIN_CONTINUE;
  1291. }
  1292.  
  1293. public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
  1294. {
  1295. if(equal(szSound, "common/wpn_denyselect.wav"))
  1296. {
  1297. UzyjItem(id);
  1298. return FMRES_SUPERCEDE;
  1299. }
  1300.  
  1301. return FMRES_IGNORED;
  1302. }
  1303.  
  1304. public UzyjItem(id)
  1305. {
  1306. if(information_item_player[id][0] == 19 && information_item_player[id][1]>0)
  1307. {
  1308. set_user_health(id, maksymalne_zdrowie_player[id]);
  1309. information_item_player[id][1]--;
  1310. }
  1311.  
  1312. if(ilosc_apteczek_player[id]>0)
  1313. StworzApteczke(id);
  1314. if(ilosc_rakiet_player[id]>0)
  1315. StworzRakiete(id);
  1316. if(ilosc_min_player[id]>0)
  1317. PostawMine(id);
  1318. if(ilosc_dynamitow_player[id]>0)
  1319. PolozDynamit(id);
  1320.  
  1321. return PLUGIN_HANDLED;
  1322. }
  1323.  
  1324. public ZapiszDane(id)
  1325. {
  1326. new vaultkey[64],vaultdata[256];
  1327. format(vaultkey,63,"%s-%i-cod", g_szAuthID[id], class_player[id]);
  1328. format(vaultdata,255,"%i#%i#%i#%i#%i#%i", experience_player[id], level_player[id], inteligencja_player[id], zdrowie_player[id], wytrzymalosc_player[id], kondycja_player[id]);
  1329. nvault_set(g_vault,vaultkey,vaultdata);
  1330. }
  1331.  
  1332. public WczytajDane(id, class)
  1333. {
  1334. new vaultkey[64],vaultdata[256];
  1335. format(vaultkey,63,"%s-%i-cod", g_szAuthID[id], class);
  1336. format(vaultdata,255,"%i#%i#%i#%i#%i#%i", experience_player[id], level_player[id], inteligencja_player[id], zdrowie_player[id], wytrzymalosc_player[id], kondycja_player[id]);
  1337. nvault_get(g_vault,vaultkey,vaultdata,255);
  1338.  
  1339. replace_all(vaultdata, 255, "#", " ");
  1340.  
  1341. new experienceplayer[32], levelplayer[32], inteligencjaplayer[32], silaplayer[32], zrecznoscplayer[32], zwinnoscplayer[32];
  1342.  
  1343. parse(vaultdata, experienceplayer, 31, levelplayer, 31, inteligencjaplayer, 31, silaplayer, 31, zrecznoscplayer, 31, zwinnoscplayer, 31);
  1344.  
  1345. experience_player[id] = str_to_num(experienceplayer);
  1346. level_player[id] = str_to_num(levelplayer)>0?str_to_num(levelplayer):1;
  1347. inteligencja_player[id] = str_to_num(inteligencjaplayer);
  1348. zdrowie_player[id] = str_to_num(silaplayer);
  1349. wytrzymalosc_player[id] = str_to_num(zrecznoscplayer);
  1350. kondycja_player[id] = str_to_num(zwinnoscplayer);
  1351. punkty_player[id] = (level_player[id]-1)*2-inteligencja_player[id]-zdrowie_player[id]-wytrzymalosc_player[id]-kondycja_player[id];
  1352. }
  1353.  
  1354. public WyrzucPrzedmiot(id)
  1355. {
  1356. if(information_item_player[id][0])
  1357. {
  1358. client_print(id, print_chat, "[Modern Warfare] Eldobva: %s.", names_objects[information_item_player[id][0]]);
  1359. UsunPrzedmiot(id);
  1360. }
  1361. else
  1362. client_print(id, print_chat, "[Modern Warfare] Nincs targyad amit eldobhatnal.", names_objects[information_item_player[id][0]]);
  1363. }
  1364.  
  1365. public UsunPrzedmiot(id)
  1366. {
  1367. information_item_player[id][0] = 0;
  1368. information_item_player[id][1] = 0;
  1369. if(is_user_alive(id))
  1370. set_user_footsteps(id, 0);
  1371. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  1372. ZmienUbranie(id, 1);
  1373. }
  1374.  
  1375. public DajPrzedmiot(id, przedmiot)
  1376. {
  1377. UsunPrzedmiot(id);
  1378. information_item_player[id][0] = przedmiot;
  1379. client_print(id, print_chat, "[Modern Warfare] Kaptal: %s.", names_objects[information_item_player[id][0]]);
  1380.  
  1381. switch(przedmiot)
  1382. {
  1383. case 1:
  1384. {
  1385. set_user_footsteps(id, 1);
  1386. }
  1387. case 2:
  1388. {
  1389. information_item_player[id][1] = random_num(3,6);
  1390. }
  1391. case 3:
  1392. {
  1393. information_item_player[id][1] = random_num(6, 11);
  1394. }
  1395. case 5:
  1396. {
  1397. information_item_player[id][1] = random_num(6, 9);
  1398. }
  1399. case 6:
  1400. {
  1401. information_item_player[id][1] = random_num(100, 150);
  1402. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 40);
  1403. }
  1404. case 7:
  1405. {
  1406. information_item_player[id][1] = random_num(2, 4);
  1407. }
  1408. case 8:
  1409. {
  1410. if(class_player[id] == Commando)
  1411. DajPrzedmiot(id, random_num(1, sizeof names_objects-1));
  1412. }
  1413. case 9:
  1414. {
  1415. information_item_player[id][1] = random_num(1, 3);
  1416. ZmienUbranie(id, 0);
  1417. give_item(id, "weapon_hegrenade");
  1418. }
  1419. case 10:
  1420. {
  1421. information_item_player[id][1] = random_num(4, 98);
  1422. give_item(id, "weapon_hegrenade");
  1423. }
  1424. case 12:
  1425. {
  1426. information_item_player[id][1] = random_num(1, 99);
  1427. }
  1428. case 13:
  1429. {
  1430. give_item(id, "weapon_awp");
  1431. }
  1432. case 16:
  1433. {
  1434. set_task(5.0, "TrainingSanitary", id+TASK_TRAINING_SANITARY);
  1435. }
  1436. case 19:
  1437. {
  1438. information_item_player[id][1] = 1;
  1439. }
  1440. case 26:
  1441. {
  1442. information_item_player[id][1] = random_num(3, 6);
  1443. }
  1444. case 27:
  1445. {
  1446. information_item_player[id][1] = 3;
  1447. }
  1448. }
  1449. }
  1450.  
  1451. public DescriptionItem(id)
  1452. {
  1453. new description_item[128];
  1454. new losowa_wartosc[3];
  1455. num_to_str(information_item_player[id][1], losowa_wartosc, 2);
  1456. format(description_item, 127, descriptions_objects[information_item_player[id][0]]);
  1457. replace_all(description_item, 127, "LW", losowa_wartosc);
  1458.  
  1459. client_print(id, print_chat, "Targy: %s.", names_objects[information_item_player[id][0]]);
  1460. client_print(id, print_chat, "Leiras: %s.", description_item);
  1461. }
  1462.  
  1463. public Raise(id)
  1464. {
  1465. id-=TASK_RAISE;
  1466. ExecuteHamB(Ham_CS_RoundRespawn, id);
  1467. }
  1468.  
  1469. public SprawdzLevel(id)
  1470. {
  1471. if(level_player[id] < 201)
  1472. {
  1473. while(experience_player[id] >= experience_level[level_player[id]])
  1474. {
  1475. level_player[id]++;
  1476. set_hudmessage(60, 200, 55, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
  1477. ShowSyncHudMsg(id, SyncHudObj3, "Gratulalunk szintet leptel!");
  1478. client_cmd(id, "spk MW/levelup");
  1479. }
  1480.  
  1481. punkty_player[id] = (level_player[id]-1)*2-inteligencja_player[id]-zdrowie_player[id]-wytrzymalosc_player[id]-kondycja_player[id];
  1482. }
  1483. ZapiszDane(id);
  1484. }
  1485.  
  1486. public ShowInformation(id)
  1487. {
  1488. id -= TASK_SHOW_INFORMATION;
  1489.  
  1490. set_task(0.1, "ShowInformation", id+TASK_SHOW_INFORMATION);
  1491.  
  1492. if(!is_user_alive(id))
  1493. {
  1494. new target = entity_get_int(id, EV_INT_iuser2);
  1495.  
  1496. if(target == 0)
  1497. return PLUGIN_CONTINUE;
  1498.  
  1499. set_hudmessage(0, 100, 200, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  1500. ShowSyncHudMsg(id, SyncHudObj, "[Osztaly : %s]^n[Exp : %i / %i]^n[Szint : %i]^n[Targy : %s]^n[By. Lambda*.*]", names_klas[class_player[target]], experience_player[target], experience_level[level_player[target]], level_player[target], names_objects[information_item_player[target][0]]);
  1501.  
  1502. return PLUGIN_CONTINUE;
  1503. }
  1504. set_hudmessage(0, 241, 230, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
  1505. ShowSyncHudMsg(id, SyncHudObj, "[Osztaly : %s]^n[Exp : %i / %i]^n[Szint : %i]^n[Targy : %s]^n[By. Lambda*.*]", names_klas[class_player[id]], experience_player[id], experience_level[level_player[id]], level_player[id], names_objects[information_item_player[id][0]]);
  1506. return PLUGIN_CONTINUE;
  1507. }
  1508.  
  1509. public ShowAdvertisement(id)
  1510. {
  1511. id-=TASK_SHOW_ADVERTISEMENT;
  1512. client_print(id, print_chat, "[Modern Warfare] Udvozollek a Modern Warfare vilagaban!");
  1513. }
  1514.  
  1515. public SetFast(id)
  1516. {
  1517. id -= id>32? TASK_SET_FAST: 0;
  1518.  
  1519. if(class_player[id])
  1520. set_user_maxspeed(id, fast_player[id]);
  1521. }
  1522.  
  1523. public ZmienUbranie(id,reset)
  1524. {
  1525. if (id<1 || id>32 || !is_user_connected(id))
  1526. return PLUGIN_CONTINUE;
  1527.  
  1528. if (reset)
  1529. cs_reset_user_model(id);
  1530. else
  1531. {
  1532. new num = random_num(0,3);
  1533. switch(get_user_team(id))
  1534. {
  1535. case 1: cs_set_user_model(id, Clothing_CT[num]);
  1536. case 2:cs_set_user_model(id, Clothing_Terro[num]);
  1537. }
  1538. }
  1539.  
  1540. return PLUGIN_CONTINUE;
  1541. }
  1542.  
  1543. public Pomoc()
  1544. {
  1545. switch(random(3))
  1546. {
  1547. case 0: client_print(0, print_chat, "A szerveren Modern Warfare BETA mod fut");
  1548. case 1: client_print(0, print_chat, "A modot keszitette: Lambda *.*");
  1549. case 2: client_print(0, print_chat, "Ne buggolj!");
  1550. }
  1551. set_task(60.0, "Pomoc");
  1552. }
  1553.  
  1554. public cmd_setlvl(id, level, cid)
  1555. {
  1556. if(!cmd_access(id,level,cid,3))
  1557. return PLUGIN_HANDLED;
  1558. new arg1[33];
  1559. new arg2[6];
  1560. read_argv(1, arg1, 32);
  1561. read_argv(2, arg2, 5);
  1562. new player = cmd_target(id, arg1);
  1563. new value = str_to_num(arg2)-1;
  1564.  
  1565. experience_player[player] = experience_level[value];
  1566. level_player[player] = 0;
  1567. SprawdzLevel(player);
  1568. return PLUGIN_HANDLED;
  1569. }
  1570.  
  1571. public CommandBlock()
  1572. return PLUGIN_HANDLED;
  1573.  
  1574. stock bool:UTIL_In_FOV(id,target)
  1575. {
  1576. if (Find_Angle(id,target,9999.9) > 0.0)
  1577. return true;
  1578.  
  1579. return false;
  1580. }
  1581. #if defined BOT
  1582. public is_user_bot2(id)
  1583. {
  1584. new ping, loss
  1585. get_user_ping(id, ping, loss)
  1586. if(ping > 0 && loss > 0)
  1587. return false
  1588. return true
  1589. }
  1590. #endif
  1591.  
  1592. stock Float:Find_Angle(Core,Target,Float:dist)
  1593. {
  1594. new Float:vec2LOS[2];
  1595. new Float:flDot;
  1596. new Float:CoreOrigin[3];
  1597. new Float:TargetOrigin[3];
  1598. new Float:CoreAngles[3];
  1599.  
  1600. pev(Core,pev_origin,CoreOrigin);
  1601. pev(Target,pev_origin,TargetOrigin);
  1602.  
  1603. if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
  1604. return 0.0;
  1605.  
  1606. pev(Core,pev_angles, CoreAngles);
  1607.  
  1608. for ( new i = 0; i < 2; i++ )
  1609. vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i];
  1610.  
  1611. new Float:veclength = Vec2DLength(vec2LOS);
  1612.  
  1613. //Normalize V2LOS
  1614. if (veclength <= 0.0)
  1615. {
  1616. vec2LOS[0] = 0.0;
  1617. vec2LOS[1] = 0.0;
  1618. }
  1619. else
  1620. {
  1621. new Float:flLen = 1.0 / veclength;
  1622. vec2LOS[0] = vec2LOS[0]*flLen;
  1623. vec2LOS[1] = vec2LOS[1]*flLen;
  1624. }
  1625.  
  1626. //Do a makevector to make v_forward right
  1627. engfunc(EngFunc_MakeVectors,CoreAngles);
  1628.  
  1629. new Float:v_forward[3];
  1630. new Float:v_forward2D[2];
  1631. get_global_vector(GL_v_forward, v_forward);
  1632.  
  1633. v_forward2D[0] = v_forward[0];
  1634. v_forward2D[1] = v_forward[1];
  1635.  
  1636. flDot = vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1];
  1637.  
  1638. if ( flDot > 0.5 )
  1639. {
  1640. return flDot;
  1641. }
  1642.  
  1643. return 0.0;
  1644. }
  1645.  
  1646. stock Float:Vec2DLength( Float:Vec[2] )
  1647. {
  1648. return floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
  1649. }
  1650.  
  1651. stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
  1652. {
  1653. message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
  1654. write_short( duration ); // Duration of fadeout
  1655. write_short( holdtime ); // Hold time of color
  1656. write_short( fadetype ); // Fade type
  1657. write_byte ( red ); // Red
  1658. write_byte ( green ); // Green
  1659. write_byte ( blue ); // Blue
  1660. write_byte ( alpha ); // Alpha
  1661. message_end();
  1662. }
  1663.  
  1664. stock set_user_clip(id, ammo)
  1665. {
  1666. new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
  1667. get_weaponname(weapon, weaponname, 31);
  1668. while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
  1669. if(entity_get_edict(weaponid, EV_ENT_owner) == id)
  1670. {
  1671. set_pdata_int(weaponid, 51, ammo, 4);
  1672. return weaponid;
  1673. }
  1674. return 0;
  1675. }
  1676. public userhelp(id)
  1677. {
  1678. //create info/help.txt in your mod folder and put your info there as you add in motd
  1679. show_motd(id, "help.txt", "Help Motd")
  1680. }
  1681.  
  1682.  

Ők köszönték meg VirTuaL ~` nek ezt a hozzászólást: laki5000 (2013.05.22. 20:33)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 22 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole