hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.04. 09:50



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [Bot], Majestic-12 [Bot] 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  [ 1 hozzászólás ] 
Szerző Üzenet
HozzászólásElküldve: 2013.05.24. 14:29 
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,
  140. };
  141.  
  142. new punkty_player[33];
  143. new zdrowie_player[33];
  144. new inteligencja_player[33];
  145. new wytrzymalosc_player[33];
  146. new Float:redukcja_obrazen_player[33];
  147. new kondycja_player[33];
  148. new maksymalne_zdrowie_player[33];
  149. new Float:fast_player[33];
  150.  
  151. new bool:gracz_resetuje[33];
  152.  
  153. enum { NONE = 0, Sniper, Commando, Assault, Protector, Shotgun };
  154. new const zdrowie_klasy[] = { 0, 120, 130, 110, 250, 150, 100, 100, 130, 100, 130};
  155. 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};
  156. new const pancerz_klasy[] = { 0, 100, 100, 100, 200, 100, 0, 100, 100, 0, 150};
  157. new const names_klas[][] = {"Nincs",
  158. "Sniper",
  159. "Commando",
  160. "Assault",
  161. "Deffender",
  162. "Rusher"
  163. };
  164.  
  165. new const descriptions_klas[][] = {"Nincs",
  166. "Felszereles: AWP, Deagle es Scout, 120hp, 110 Gyorsasag, 100 Amor.",
  167. "Felszereles: Deagle, 130hp, 135 Gyorsasag, 100 Armor Azonnali oles kessel (jobb klikk)",
  168. "Felszereles: AK47, M4A1, 110hp. 80 Gyorsasag, 100 Armor",
  169. "Felszereles: M249, 250hp, Osszes granat, 200 Armor",
  170. "Felszereles: Shotgun (pumpalos), Deagle, 150hp, 100 Armor"
  171. };
  172.  
  173. new ilosc_apteczek_player[33];
  174. new ilosc_rakiet_player[33];
  175. new Float:poprzednia_rakieta_player[33];
  176. new ilosc_min_player[33];
  177. new ilosc_dynamitow_player[33];
  178. //new ilosc_skokow_player[33];
  179.  
  180. new bool:freezetime = true;
  181.  
  182. public plugin_init()
  183. {
  184. register_plugin(PLUGIN, VERSION, AUTHOR);
  185.  
  186. g_vault = nvault_open("CodMod");
  187.  
  188. register_think("FirstAidKit","FirstAidKitThink");
  189.  
  190. RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  191. RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
  192.  
  193.  
  194. register_forward(FM_CmdStart, "CmdStart");
  195. register_forward(FM_EmitSound, "EmitSound");
  196.  
  197. register_logevent("PoczatekRundy", 2, "1=Round_Start");
  198. register_logevent("BombaPodlozona", 3, "2=Planted_The_Bomb");
  199.  
  200. register_event("SendAudio", "BombaRozbrojona", "a", "2&%!MRAD_BOMBDEF");
  201. register_event("BarTime", "RozbrajaBomb", "be", "1=10", "1=5");
  202. register_event("DeathMsg", "Death", "ade");
  203. register_event("Damage", "Damage", "b", "2!=0");
  204. register_event("CurWeapon","CurWeapon","be", "1=1");
  205. register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
  206.  
  207. register_touch("Rocket", "*" , "DotykRakiety");
  208. register_touch("Mine", "player", "DotykMiny");
  209.  
  210. register_cvar("cod_killxp", "1000");
  211. register_cvar("cod_bombxp", "500");
  212.  
  213. register_clcmd("say /osztaly", "WybierzKlase");
  214. register_clcmd("say /osztalyinfo", "DescriptionKlasy");
  215. register_clcmd("say /targy", "DescriptionItem");
  216. register_clcmd("say /eldobas", "WyrzucPrzedmiot");
  217. register_clcmd("say /reset", "KomendaResetujPunkty");
  218. register_clcmd("say /ujra", "KomendaResetujPunkty");
  219. register_clcmd("say /help", "userhelp", 0, " - Help Motd ");
  220. register_clcmd("fullupdate", "CommandBlock");
  221. register_clcmd("cl_autobuy", "CommandBlock");
  222. register_clcmd("cl_rebuy", "CommandBlock");
  223. register_clcmd("cl_setautobuy","CommandBlock");
  224. register_clcmd("rebuy", "CommandBlock");
  225. register_clcmd("autobuy", "CommandBlock");
  226. register_clcmd("glock", "CommandBlock");
  227. register_clcmd("usp", "CommandBlock");
  228. register_clcmd("p228", "CommandBlock");
  229. register_clcmd("deagle", "CommandBlock");
  230. register_clcmd("elites", "CommandBlock");
  231. register_clcmd("fn57", "CommandBlock");
  232. register_clcmd("m3", "CommandBlock");
  233. register_clcmd("autoshotgun", "CommandBlock");
  234. register_clcmd("mac10", "CommandBlock");
  235. register_clcmd("tmp", "CommandBlock");
  236. register_clcmd("mp5", "CommandBlock");
  237. register_clcmd("ump45", "CommandBlock");
  238. register_clcmd("p90", "CommandBlock");
  239. register_clcmd("galil", "CommandBlock");
  240. register_clcmd("ak47", "CommandBlock");
  241. register_clcmd("scout", "CommandBlock");
  242. register_clcmd("sg552", "CommandBlock");
  243. register_clcmd("awp", "CommandBlock");
  244. register_clcmd("g3sg1", "CommandBlock");
  245. register_clcmd("famas", "CommandBlock");
  246. register_clcmd("m4a1", "CommandBlock");
  247. register_clcmd("bullpup", "CommandBlock");
  248. register_clcmd("sg550", "CommandBlock");
  249. register_clcmd("m249", "CommandBlock");
  250. register_clcmd("shield", "CommandBlock");
  251. register_clcmd("hegren", "CommandBlock");
  252. register_clcmd("sgren", "CommandBlock");
  253. register_clcmd("flash", "CommandBlock");
  254. register_concmd("cod_setlvl", "cmd_setlvl", ADMIN_BAN, "<name> <level>");
  255.  
  256. g_msg_screenfade = get_user_msgid("ScreenFade");
  257. SyncHudObj = CreateHudSyncObj();
  258. SyncHudObj2 = CreateHudSyncObj();
  259. SyncHudObj3 = CreateHudSyncObj();
  260. experience_for_murder = get_cvar_num("cod_killxp");
  261. experience_for_bomb = get_cvar_num("cod_bombxp");
  262.  
  263. set_task(60.0, "Pomoc");
  264. }
  265.  
  266. public plugin_cfg()
  267. {
  268. server_cmd("sv_maxspeed 1600");
  269. }
  270.  
  271. public plugin_precache()
  272. {
  273. sprite_white = precache_model("sprites/white.spr") ;
  274. sprite_blast = precache_model("sprites/dexplo.spr");
  275.  
  276. precache_sound("MW/select.wav");
  277. precache_sound("MW/start.wav");
  278. precache_sound("MW/start2.wav");
  279. precache_sound("MW/levelup.wav");
  280.  
  281. precache_model("models/w_medkit.mdl");
  282. precache_model("models/rpgrocket.mdl");
  283. precache_model("models/mine.mdl");
  284. }
  285.  
  286.  
  287. /*public CmdStart(id, uc_handle)
  288. {
  289. if(!is_user_alive(id))
  290. return FMRES_IGNORED;
  291.  
  292. new button = get_uc(uc_handle, UC_Buttons);
  293. new oldbutton = get_user_oldbutton(id);
  294. new flags = get_entity_flags(id);
  295.  
  296. if(information_item_player[id][0] == 11 || class_player[id] == Rambo)
  297. {
  298. if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && ilosc_skokow_player[id] > 0)
  299. {
  300. ilosc_skokow_player[id]--;
  301. new Float:velocity[3];
  302. entity_get_vector(id,EV_VEC_velocity,velocity);
  303. velocity[2] = random_float(265.0,285.0);
  304. entity_set_vector(id,EV_VEC_velocity,velocity);
  305. }
  306. else if(flags & FL_ONGROUND)
  307. {
  308. ilosc_skokow_player[id] = 0;
  309. if(information_item_player[id][0] == 11)
  310. ilosc_skokow_player[id]++;
  311. if(class_player[id] == Rambo)
  312. ilosc_skokow_player[id]++;
  313. }
  314. }
  315.  
  316. if(button & IN_ATTACK)
  317. {
  318. new Float:punchangle[3];
  319.  
  320. if(information_item_player[id][0] == 20)
  321. entity_set_vector(id, EV_VEC_punchangle, punchangle);
  322. if(information_item_player[id][0] == 23)
  323. {
  324. entity_get_vector(id, EV_VEC_punchangle, punchangle);
  325. for(new i=0; i<3;i++)
  326. punchangle[i]*=0.9;
  327. entity_set_vector(id, EV_VEC_punchangle, punchangle);
  328. }
  329. }
  330.  
  331. 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)
  332. {
  333. information_item_player[id][1] = floatround(get_gametime());
  334. new Float:velocity[3];
  335. VelocityByAim(id, 700, velocity);
  336. velocity[2] = random_float(265.0,285.0);
  337. entity_set_vector(id, EV_VEC_velocity, velocity);
  338. }
  339.  
  340.  
  341. return FMRES_IGNORED;
  342. }*/
  343.  
  344. public Odrodzenie(id)
  345. {
  346. if(!is_user_alive(id) || !is_user_connected(id))
  347. return PLUGIN_CONTINUE;
  348.  
  349. if(nowa_class_player[id])
  350. {
  351. class_player[id] = nowa_class_player[id];
  352. nowa_class_player[id] = 0;
  353. strip_user_weapons(id);
  354. give_item(id, "weapon_knife");
  355. switch(get_user_team(id))
  356. {
  357. case 1: give_item(id, "weapon_hegrenade");
  358. case 2: give_item(id, "weapon_hegrenade");
  359. }
  360. WczytajDane(id, class_player[id]);
  361. }
  362.  
  363. if(!class_player[id])
  364. {
  365. WybierzKlase(id);
  366. return PLUGIN_CONTINUE;
  367. }
  368.  
  369. switch(class_player[id])
  370. {
  371. case Sniper:
  372. {
  373. give_item(id, "weapon_awp");
  374. give_item(id, "weapon_deagle");
  375. give_item(id, "ammo_50ae");
  376. give_item(id, "ammo_50ae");
  377. give_item(id, "ammo_50ae");
  378. give_item(id, "ammo_50ae");
  379. give_item(id, "ammo_50ae");
  380. give_item(id, "ammo_50ae");
  381. give_item(id, "ammo_338magnum");
  382. give_item(id, "ammo_338magnum");
  383. give_item(id, "ammo_338magnum");
  384. give_item(id, "ammo_338magnum");
  385. give_item(id, "weapon_scout");
  386. give_item(id, "ammo_762nato");
  387. give_item(id, "ammo_762nato");
  388. give_item(id, "ammo_762nato");
  389. give_item(id, "ammo_762nato");
  390. }
  391. case Commando:
  392. {
  393. give_item(id, "weapon_deagle");
  394. give_item(id, "ammo_50ae");
  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. }
  401. case Assault:
  402. {
  403. give_item(id, "weapon_m4a1");
  404. give_item(id, "ammo_556nato");
  405. give_item(id, "ammo_556nato");
  406. give_item(id, "ammo_556nato");
  407. give_item(id, "weapon_ak47");
  408. give_item(id, "ammo_762nato");
  409. give_item(id, "ammo_762nato");
  410. give_item(id, "ammo_762nato");
  411. give_item(id, "weapon_deagle");
  412. give_item(id, "ammo_50ae");
  413. give_item(id, "ammo_50ae");
  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. }
  419. case Protector:
  420. {
  421. give_item(id, "weapon_m249");
  422. give_item(id, "ammo_556natobox");
  423. give_item(id, "ammo_556natobox");
  424. give_item(id, "ammo_556natobox");
  425. give_item(id, "ammo_556natobox");
  426. give_item(id, "ammo_556natobox");
  427. give_item(id, "ammo_556natobox");
  428. give_item(id, "weapon_hegrenade");
  429. give_item(id, "weapon_flashbang");
  430. give_item(id, "weapon_flashbang");
  431. give_item(id, "weapon_smokegrenade");
  432. give_item(id, "weapon_deagle");
  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 Shotgun:
  440. {
  441. give_item(id, "weapon_m3");
  442. give_item(id, "ammo_buckshot");
  443. give_item(id, "ammo_buckshot");
  444. give_item(id, "ammo_buckshot");
  445. give_item(id, "ammo_buckshot");
  446. give_item(id, "ammo_buckshot");
  447. give_item(id, "ammo_buckshot");
  448. give_item(id, "ammo_buckshot");
  449. give_item(id, "weapon_deagle");
  450. give_item(id, "ammo_50ae");
  451. give_item(id, "ammo_50ae");
  452. give_item(id, "ammo_50ae");
  453. give_item(id, "ammo_50ae");
  454. give_item(id, "ammo_50ae");
  455. }
  456. }
  457. if(gracz_resetuje[id])
  458. {
  459. ResetujPunkty(id);
  460. gracz_resetuje[id] = false;
  461. }
  462.  
  463. if(punkty_player[id]>0)
  464. PrzydzielPunkty(id);
  465.  
  466. if(information_item_player[id][0] == 10 || information_item_player[id][0] == 9)
  467. give_item(id, "weapon_hegrenade");
  468.  
  469. if(information_item_player[id][0] == 9)
  470. ZmienUbranie(id, 0);
  471.  
  472. if(information_item_player[id][0] == 1)
  473. set_user_footsteps(id, 1);
  474. else
  475. set_user_footsteps(id, 0);
  476.  
  477. if(information_item_player[id][0] == 13)
  478. give_item(id, "weapon_awp");
  479.  
  480. if(information_item_player[id][0] == 19)
  481. information_item_player[id][1] = 1;
  482.  
  483. if(information_item_player[id][0] == 27)
  484. information_item_player[id][1] = 3;
  485.  
  486. new weapons[32];
  487. new weaponsnum;
  488. get_user_weapons(id, weapons, weaponsnum);
  489. for(new i=0; i<weaponsnum; i++)
  490. if(is_user_alive(id))
  491. if(maxAmmo[weapons[i]] > 0)
  492. cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  493.  
  494. redukcja_obrazen_player[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(wytrzymalosc_player[id])))/100);
  495. maksymalne_zdrowie_player[id] = zdrowie_klasy[class_player[id]]+zdrowie_player[id]*2;
  496. fast_player[id] = STANDARD_FAST*fast_klasy[class_player[id]]+floatround(kondycja_player[id]*1.3);
  497.  
  498. if(information_item_player[id][0] == 18)
  499. {
  500. maksymalne_zdrowie_player[id] += 100;
  501. fast_player[id] -= 0.4;
  502. }
  503.  
  504. if(information_item_player[id][0] == 25)
  505. {
  506. maksymalne_zdrowie_player[id] += 50;
  507. fast_player[id] -= 0.3;
  508. }
  509.  
  510. set_user_armor(id, pancerz_klasy[class_player[id]]);
  511. set_user_health(id, maksymalne_zdrowie_player[id]);
  512. if(information_item_player[id][0] == 17)
  513. set_user_armor(id, 500);
  514.  
  515. return PLUGIN_CONTINUE;
  516. }
  517.  
  518. public PoczatekRundy()
  519. {
  520. freezetime = false;
  521. for(new id=0;id<=32;id++)
  522. {
  523. if(!is_user_alive(id))
  524. continue;
  525.  
  526. set_task(0.1, "SetFast", id+TASK_SET_FAST);
  527.  
  528. switch(get_user_team(id))
  529. {
  530. case 1: client_cmd(id, "spk MW/start");
  531. case 2: client_cmd(id, "spk MW/start2");
  532. }
  533. }
  534. }
  535.  
  536. public NowaRunda()
  537. {
  538. freezetime = true;
  539. new iEnt = find_ent_by_class(-1, "Mine");
  540. while(iEnt > 0)
  541. {
  542. remove_entity(iEnt);
  543. iEnt = find_ent_by_class(iEnt, "Mine");
  544. }
  545. }
  546.  
  547. public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
  548. {
  549. 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])
  550. return HAM_IGNORED;
  551.  
  552. new health = get_user_health(this);
  553. new weapon = get_user_weapon(idattacker);
  554.  
  555. if(health < 2)
  556. return HAM_IGNORED;
  557.  
  558. if(information_item_player[this][0] == 27 && information_item_player[this][1]>0)
  559. {
  560. information_item_player[this][1]--;
  561. return HAM_SUPERCEDE;
  562. }
  563.  
  564. if(wytrzymalosc_player[this]>0)
  565. damage -= redukcja_obrazen_player[this]*damage;
  566.  
  567. if(information_item_player[this][0] == 2 || information_item_player[this][0] == 3)
  568. damage-=(float(information_item_player[this][1])<damage)? float(information_item_player[this][1]): damage;
  569.  
  570. if(information_item_player[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
  571. damage*=2.0;
  572.  
  573. if(information_item_player[idattacker][0] == 10)
  574. damage+=information_item_player[idattacker][1];
  575.  
  576. if(information_item_player[this][0] == 12)
  577. damage-=(5.0<damage)? 5.0: damage;
  578.  
  579. if(weapon == CSW_AWP && information_item_player[idattacker][0] == 13)
  580. damage=float(health);
  581.  
  582. if(information_item_player[idattacker][0] == 21)
  583. damage+=15;
  584.  
  585. if(information_item_player[idattacker][0] == 22)
  586. damage+=25;
  587.  
  588. if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
  589. {
  590. if((information_item_player[idattacker][0] == 9 && random_num(1, information_item_player[idattacker][1]) == 1) || information_item_player[idattacker][0] == 10)
  591. damage = float(health);
  592. }
  593.  
  594. if(weapon == CSW_KNIFE)
  595. {
  596. if(information_item_player[this][0] == 4)
  597. damage=damage*1.4+inteligencja_player[idattacker];
  598. if(information_item_player[idattacker][0] == 8 || (class_player[idattacker] == Sniper && random(2) == 2) || class_player[idattacker] == Commando && !(get_user_button(idattacker) & IN_ATTACK))
  599. damage = float(health);
  600. }
  601.  
  602. if(information_item_player[this][0] == 26 && random_num(1, information_item_player[this][1]) == 1)
  603. {
  604. SetHamParamEntity(3, this);
  605. SetHamParamEntity(1, idattacker);
  606. }
  607.  
  608.  
  609. SetHamParamFloat(4, damage);
  610. return HAM_IGNORED;
  611. }
  612.  
  613. public Damage(id)
  614. {
  615. new attacker = get_user_attacker(id);
  616. new damage = read_data(2);
  617. if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !class_player[attacker])
  618. return PLUGIN_CONTINUE;
  619.  
  620. if(information_item_player[attacker][0] == 12 && random_num(1, information_item_player[id][1]) == 1)
  621. Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
  622.  
  623. if(get_user_team(id) != get_user_team(attacker))
  624. {
  625. while(damage>20)
  626. {
  627. damage-=20;
  628. experience_player[attacker]++;
  629. }
  630. }
  631. SprawdzLevel(attacker);
  632. return PLUGIN_CONTINUE;
  633. }
  634.  
  635. public Death()
  636. {
  637. new id = read_data(2);
  638. new attacker = read_data(1);
  639.  
  640. if(!is_user_alive(attacker) || !is_user_connected(attacker))
  641. return PLUGIN_CONTINUE;
  642.  
  643. new zdrowie = get_user_health(attacker);
  644.  
  645. if(get_user_team(id) != get_user_team(attacker) && class_player[attacker])
  646. {
  647. new nowe_experience = 0;
  648.  
  649. nowe_experience += experience_for_murder;
  650.  
  651. if(level_player[id] > level_player[attacker])
  652. nowe_experience += level_player[id] - level_player[attacker];
  653.  
  654. #if defined BOT
  655. if(is_user_bot2(attacker) && random(9) == 0)
  656. WyrzucPrzedmiot(id);
  657. #endif
  658. if(!information_item_player[attacker][0])
  659. DajPrzedmiot(attacker, random_num(1, sizeof names_objects-1));
  660.  
  661. if(information_item_player[attacker][0] == 14)
  662. {
  663. new nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_player[attacker])? zdrowie+50: maksymalne_zdrowie_player[attacker];
  664. set_user_health(attacker, nowe_zdrowie);
  665. }
  666.  
  667. set_hudmessage(255, 220, 0, 0.50, 0.33, 1, 6.0, 4.0);
  668. ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_experience);
  669.  
  670. experience_player[attacker] += nowe_experience;
  671. }
  672.  
  673. SprawdzLevel(attacker);
  674.  
  675. if(information_item_player[id][0] == 7 && random_num(1, information_item_player[id][1]) == 1)
  676. set_task(0.1, "Raise", id+TASK_RAISE);
  677.  
  678. return PLUGIN_CONTINUE;
  679. }
  680.  
  681. public client_connect(id)
  682. {
  683. //resetuje umiejetnosci
  684. class_player[id] = 0;
  685. level_player[id] = 0;
  686. experience_player[id] = 0;
  687. punkty_player[id] = 0;
  688. zdrowie_player[id] = 0;
  689. inteligencja_player[id] = 0;
  690. wytrzymalosc_player[id] = 0;
  691. kondycja_player[id] = 0;
  692. maksymalne_zdrowie_player[id] = 0;
  693. fast_player[id] = 0.0;
  694.  
  695. get_user_authid(id, g_szAuthID[id], charsmax(g_szAuthID[] ));
  696.  
  697. remove_task(id+TASK_SHOW_INFORMATION);
  698. remove_task(id+TASK_SHOW_ADVERTISEMENT);
  699. remove_task(id+TASK_SET_FAST);
  700. remove_task(id+TASK_RAISE);
  701. remove_task(id+TASK_TRAINING_SANITARY);
  702.  
  703. set_task(10.0, "ShowAdvertisement", id+TASK_SHOW_ADVERTISEMENT);
  704. set_task(3.0, "ShowInformation", id+TASK_SHOW_INFORMATION);
  705.  
  706. //resetuje przedmioty
  707. UsunPrzedmiot(id);
  708. }
  709.  
  710. public client_disconnect(id)
  711. {
  712. remove_task(id+TASK_SHOW_INFORMATION);
  713. remove_task(id+TASK_SHOW_ADVERTISEMENT);
  714. remove_task(id+TASK_SET_FAST);
  715. remove_task(id+TASK_RAISE);
  716. remove_task(id+TASK_TRAINING_SANITARY);
  717.  
  718. ZapiszDane(id);
  719. UsunPrzedmiot(id);
  720. }
  721.  
  722. public RozbrajaBomb(id)
  723. if(class_player[id])
  724. disarming = id;
  725.  
  726. public BombaPodlozona()
  727. {
  728. new Players[32], playerCount, id;
  729. get_players(Players, playerCount, "aeh", "TERRORIST");
  730.  
  731. if(get_playersnum() > 1)
  732. {
  733. experience_player[podkladajacy] += experience_for_bomb;
  734. for (new i=0; i<playerCount; i++)
  735. {
  736. id = Players[i];
  737. if(!class_player[id])
  738. continue;
  739.  
  740. if(id != podkladajacy)
  741. {
  742. experience_player[id] += experience_for_murder;
  743. client_print(id, print_chat, "Kaptal **%i** EXP-et a bomba lerakasaert.", experience_for_murder);
  744. }
  745. else
  746. {
  747. client_print(id, print_chat, "Kaptal **%i** EXP-et a bomba lerakasaert.", experience_for_bomb);
  748. }
  749. SprawdzLevel(id);
  750. }
  751. }
  752. }
  753.  
  754. public BombaRozbrojona()
  755. {
  756. new Players[32], playerCount, id;
  757. get_players(Players, playerCount, "aeh", "CT");
  758.  
  759. experience_player[disarming] += experience_for_bomb;
  760. for (new i=0; i<playerCount; i++)
  761. {
  762. id = Players[i];
  763. if(!class_player[id])
  764. continue;
  765. if(id != disarming)
  766. {
  767. experience_player[id]+= experience_for_murder;
  768. client_print(id, print_chat, "Kaptal **%i** EXP-et a bomba hatastalanitasaert.", experience_for_murder);
  769. }
  770. else
  771. client_print(id, print_chat, "Kaptal **%i** EXP-et a bomba hatastalanitasaert.",experience_for_bomb);
  772. SprawdzLevel(id);
  773. }
  774. }
  775.  
  776. public DescriptionKlasy(id)
  777. {
  778. new menu = menu_create("\yValassz Kasztot:", "DescriptionKlasy_Handle");
  779. for(new i=1; i<sizeof names_klas; i++)
  780. menu_additem(menu, names_klas[i]);
  781. menu_setprop(menu, MPROP_EXITNAME, "Exit");
  782. menu_setprop(menu, MPROP_BACKNAME, "Back");
  783. menu_setprop(menu, MPROP_NEXTNAME, "Next");
  784. menu_display(id, menu);
  785.  
  786. client_cmd(id, "spk MW/select");
  787. }
  788.  
  789. public DescriptionKlasy_Handle(id, menu, item)
  790. {
  791. client_cmd(id, "spk MW/select");
  792.  
  793. if(item == MENU_EXIT)
  794. {
  795. menu_destroy(menu);
  796. return PLUGIN_CONTINUE;
  797. }
  798. client_print(id, print_chat, "%s: %s", names_klas[item+1], descriptions_klas[item+1]);
  799. menu_display(id, menu);
  800.  
  801. return PLUGIN_CONTINUE;
  802. }
  803.  
  804. public WybierzKlase(id)
  805. {
  806. new menu = menu_create("\yValassz kasztot!:", "WybierzKlase_Handle");
  807. new class[50];
  808. for(new i=1; i<sizeof names_klas; i++)
  809. {
  810. WczytajDane(id, i);
  811. format(class, 49, "\y%s \rSzint: %i", names_klas[i], level_player[id]);
  812. menu_additem(menu, class);
  813. }
  814.  
  815. WczytajDane(id, class_player[id]);
  816.  
  817. menu_setprop(menu, MPROP_EXITNAME, "Exit");
  818. menu_setprop(menu, MPROP_BACKNAME, "Back");
  819. menu_setprop(menu, MPROP_NEXTNAME, "Next");
  820. menu_display(id, menu);
  821.  
  822. client_cmd(id, "spk MW/select");
  823. #if defined BOT
  824. if(is_user_bot2(id))
  825. WybierzKlase_Handle(id, menu, random(sizeof names_klas-1));
  826. #endif
  827. }
  828.  
  829. public WybierzKlase_Handle(id, menu, item)
  830. {
  831. client_cmd(id, "spk MW/select");
  832.  
  833. if(item == MENU_EXIT)
  834. {
  835. menu_destroy(menu);
  836. return PLUGIN_CONTINUE;
  837. }
  838.  
  839. item++;
  840.  
  841. if(item == class_player[id])
  842. return PLUGIN_CONTINUE;
  843.  
  844. if(class_player[id])
  845. {
  846. nowa_class_player[id] = item;
  847. client_print(id, print_chat, "Az osztalyod a kovetkezo korben megvaltozik.");
  848. }
  849. else
  850. {
  851. class_player[id] = item;
  852. WczytajDane(id, class_player[id]);
  853. Odrodzenie(id);
  854. }
  855. return PLUGIN_CONTINUE;
  856. }
  857.  
  858. public PrzydzielPunkty(id)
  859. {
  860. new inteligencja[65];
  861. new zdrowie[60];
  862. new wytrzymalosc[60];
  863. new kondycja[60];
  864. new tytul[25];
  865. format(inteligencja, 64, "\yEro: \r%i \w(Noveli a Targyak Sebzeset)", inteligencja_player[id]);
  866. format(zdrowie, 59, "\yElet: \r%i \w(Noveli az Eleted)", zdrowie_player[id]);
  867. format(wytrzymalosc, 59, "\yUgyesseg: \r%i \w(Csokkenti a Kapott Sebzest)", wytrzymalosc_player[id]);
  868. format(kondycja, 59, "\yKondicio: \r%i \w(Noveli a Sebesseged)", kondycja_player[id]);
  869. format(tytul, 24, "\yPontok: \r(%i)", punkty_player[id]);
  870. new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
  871. menu_additem(menu, inteligencja);
  872. menu_additem(menu, zdrowie);
  873. menu_additem(menu, wytrzymalosc);
  874. menu_additem(menu, kondycja);
  875. menu_display(id, menu);
  876. #if defined BOT
  877. if(is_user_bot2(id))
  878. PrzydzielPunkty_Handler(id, menu, random(4));
  879. #endif
  880. }
  881.  
  882. public PrzydzielPunkty_Handler(id, menu, item)
  883. {
  884. client_cmd(id, "spk MW/select");
  885.  
  886. if(item == MENU_EXIT)
  887. {
  888. menu_destroy(menu);
  889. return PLUGIN_CONTINUE;
  890. }
  891.  
  892. switch(item)
  893. {
  894. case 0:
  895. {
  896. if(inteligencja_player[id]<100)
  897. inteligencja_player[id]++;
  898. else
  899. client_print(id, print_chat, "Maximum Ero Szint");
  900.  
  901. }
  902. case 1:
  903. {
  904. if(zdrowie_player[id]<100)
  905. zdrowie_player[id]++;
  906. else
  907. client_print(id, print_chat, "Maximum Elet Szint");
  908. }
  909. case 2:
  910. {
  911. if(wytrzymalosc_player[id]<100)
  912. wytrzymalosc_player[id]++;
  913. else
  914. client_print(id, print_chat, "Maximum Ugyesseg Szint");
  915.  
  916. }
  917. case 3:
  918. {
  919. if(kondycja_player[id]<100)
  920. kondycja_player[id]++;
  921. else
  922. client_print(id, print_chat, "Maximum Kondicio Szint");
  923. }
  924. }
  925.  
  926. punkty_player[id]--;
  927.  
  928. if(punkty_player[id]>0)
  929. PrzydzielPunkty(id);
  930.  
  931. return PLUGIN_CONTINUE;
  932. }
  933.  
  934. public ResetujPunkty(id)
  935. {
  936. punkty_player[id] = level_player[id]*2-2;
  937. inteligencja_player[id] = 0;
  938. zdrowie_player[id] = 0;
  939. kondycja_player[id] = 0;
  940. wytrzymalosc_player[id] = 0;
  941. }
  942.  
  943. public KomendaResetujPunkty(id)
  944. {
  945. client_print(id, print_chat, "Kepessegek nullazva lesznek kovetkezo korben.");
  946. client_cmd(id, "spk MW/select");
  947. gracz_resetuje[id] = true;
  948. }
  949.  
  950. public TrainingSanitary(id)
  951. {
  952. id -= TASK_TRAINING_SANITARY;
  953. if(information_item_player[id][0] != 16)
  954. return PLUGIN_CONTINUE;
  955. set_task(3.0, "TrainingSanitary", id+TASK_TRAINING_SANITARY);
  956. if(!is_user_alive(id))
  957. return PLUGIN_CONTINUE;
  958. new health = get_user_health(id);
  959. new new_health = (health+10<maksymalne_zdrowie_player[id])?health+10:maksymalne_zdrowie_player[id];
  960. set_user_health(id, new_health);
  961. return PLUGIN_CONTINUE;
  962. }
  963.  
  964. public StworzApteczke(id)
  965. {
  966. if (!ilosc_apteczek_player[id])
  967. {
  968. client_print(id, print_center, "Koronkent csak 3 csomagot kapsz!");
  969. return PLUGIN_CONTINUE;
  970. }
  971.  
  972. if(inteligencja_player[id] < 1)
  973. client_print(id, print_center, "Ha erosebb hatasu Elsosegely Csomagot szeretnel, noveld az Erodet!");
  974.  
  975. ilosc_apteczek_player[id]--;
  976.  
  977. new Float:origin[3];
  978. entity_get_vector(id, EV_VEC_origin, origin);
  979.  
  980. new ent = create_entity("info_target");
  981. entity_set_string(ent, EV_SZ_classname, "FirstAidKit");
  982. entity_set_edict(ent, EV_ENT_owner, id);
  983. entity_set_int(ent, EV_INT_solid, SOLID_NOT);
  984. entity_set_vector(ent, EV_VEC_origin, origin);
  985. entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
  986.  
  987.  
  988. entity_set_model(ent, "models/w_medkit.mdl");
  989. set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
  990. drop_to_floor(ent);
  991.  
  992. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
  993.  
  994. return PLUGIN_CONTINUE;
  995. }
  996.  
  997. public FirstAirKitThink(ent)
  998. {
  999. new id = entity_get_edict(ent, EV_ENT_owner);
  1000. new totem_dist = 300;
  1001. new totem_heal = 5+floatround(inteligencja_player[id]*0.5);
  1002. if (entity_get_edict(ent, EV_ENT_euser2) == 1)
  1003. {
  1004. new Float:forigin[3], origin[3];
  1005. entity_get_vector(ent, EV_VEC_origin, forigin);
  1006. FVecIVec(forigin,origin);
  1007.  
  1008. new entlist[33];
  1009. new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);
  1010.  
  1011. for (new i=0; i < numfound; i++)
  1012. {
  1013. new pid = entlist[i];
  1014.  
  1015. if (get_user_team(pid) != get_user_team(id))
  1016. continue;
  1017.  
  1018. new zdrowie = get_user_health(pid);
  1019. new nowe_zdrowie = (zdrowie+totem_heal<maksymalne_zdrowie_player[pid])?zdrowie+totem_heal:maksymalne_zdrowie_player[pid];
  1020. if (is_user_alive(pid)) set_user_health(pid, nowe_zdrowie);
  1021. }
  1022.  
  1023. entity_set_edict(ent, EV_ENT_euser2, 0);
  1024. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
  1025.  
  1026. return PLUGIN_CONTINUE;
  1027. }
  1028.  
  1029. if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
  1030. {
  1031. remove_entity(ent);
  1032. return PLUGIN_CONTINUE;
  1033. }
  1034.  
  1035. if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
  1036. set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) ;
  1037.  
  1038. new Float:forigin[3], origin[3];
  1039. entity_get_vector(ent, EV_VEC_origin, forigin);
  1040. FVecIVec(forigin,origin);
  1041.  
  1042. //Find people near and give them health
  1043. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
  1044. write_byte( TE_BEAMCYLINDER );
  1045. write_coord( origin[0] );
  1046. write_coord( origin[1] );
  1047. write_coord( origin[2] );
  1048. write_coord( origin[0] );
  1049. write_coord( origin[1] + totem_dist );
  1050. write_coord( origin[2] + totem_dist );
  1051. write_short( sprite_white );
  1052. write_byte( 0 ); // startframe
  1053. write_byte( 0 ); // framerate
  1054. write_byte( 10 ); // life
  1055. write_byte( 10 ); // width
  1056. write_byte( 255 ); // noise
  1057. write_byte( 255 ); // r, g, b
  1058. write_byte( 100 );// r, g, b
  1059. write_byte( 100 ); // r, g, b
  1060. write_byte( 128 ); // brightness
  1061. write_byte( 5 ); // speed
  1062. message_end();
  1063.  
  1064. entity_set_edict(ent, EV_ENT_euser2 ,1);
  1065. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
  1066.  
  1067.  
  1068. return PLUGIN_CONTINUE;
  1069.  
  1070. }
  1071.  
  1072. public StworzRakiete(id)
  1073. {
  1074. if (!ilosc_rakiet_player[id])
  1075. {
  1076. client_print(id, print_center, "Elhasznaltad az osszes raketad!");
  1077. return PLUGIN_CONTINUE;
  1078. }
  1079.  
  1080. if(poprzednia_rakieta_player[id] + 2.0 > get_gametime())
  1081. {
  1082. client_print(id, print_center, "Csak 2 masodpercenkent tudod hasznalni a raketakat!");
  1083. return PLUGIN_CONTINUE;
  1084. }
  1085.  
  1086. if (is_user_alive(id))
  1087. {
  1088. if(inteligencja_player[id] < 1)
  1089. client_print(id, print_center, "Erosebb hatasu raketakert, fejleszd az Erodet!");
  1090.  
  1091. poprzednia_rakieta_player[id] = get_gametime();
  1092. ilosc_rakiet_player[id]--;
  1093.  
  1094. new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
  1095.  
  1096. entity_get_vector(id, EV_VEC_v_angle, vAngle);
  1097. entity_get_vector(id, EV_VEC_origin , Origin);
  1098.  
  1099. new Ent = create_entity("info_target");
  1100.  
  1101. entity_set_string(Ent, EV_SZ_classname, "Rocket");
  1102. entity_set_model(Ent, "models/rpgrocket.mdl");
  1103.  
  1104. vAngle[0] *= -1.0;
  1105.  
  1106. entity_set_origin(Ent, Origin);
  1107. entity_set_vector(Ent, EV_VEC_angles, vAngle);
  1108.  
  1109. entity_set_int(Ent, EV_INT_effects, 2);
  1110. entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
  1111. entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
  1112. entity_set_edict(Ent, EV_ENT_owner, id);
  1113.  
  1114. VelocityByAim(id, 1000 , Velocity);
  1115. entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
  1116. }
  1117. return PLUGIN_CONTINUE;
  1118. }
  1119.  
  1120. public PolozDynamit(id)
  1121. {
  1122. if(!ilosc_dynamitow_player[id])
  1123. {
  1124. client_print(id, print_center, "Elhasznaltad a dynamitodat!");
  1125. return PLUGIN_CONTINUE;
  1126. }
  1127.  
  1128. if(inteligencja_player[id] < 1)
  1129. client_print(id, print_center, "Erosebb hatasu dinamitert, fejleszd az Erodet!");
  1130.  
  1131. ilosc_dynamitow_player[id]--;
  1132. new Float:fOrigin[3], iOrigin[3];
  1133. entity_get_vector( id, EV_VEC_origin, fOrigin);
  1134. iOrigin[0] = floatround(fOrigin[0]);
  1135. iOrigin[1] = floatround(fOrigin[1]);
  1136. iOrigin[2] = floatround(fOrigin[2]);
  1137.  
  1138. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1139. write_byte(TE_EXPLOSION);
  1140. write_coord(iOrigin[0]);
  1141. write_coord(iOrigin[1]);
  1142. write_coord(iOrigin[2]);
  1143. write_short(sprite_blast);
  1144. write_byte(32);
  1145. write_byte(20);
  1146. write_byte(0);
  1147. message_end();
  1148.  
  1149. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  1150. write_byte( TE_BEAMCYLINDER );
  1151. write_coord( iOrigin[0] );
  1152. write_coord( iOrigin[1] );
  1153. write_coord( iOrigin[2] );
  1154. write_coord( iOrigin[0] );
  1155. write_coord( iOrigin[1] + 300 );
  1156. write_coord( iOrigin[2] + 300 );
  1157. write_short( sprite_white );
  1158. write_byte( 0 ); // startframe
  1159. write_byte( 0 ); // framerate
  1160. write_byte( 10 ); // life
  1161. write_byte( 10 ); // width
  1162. write_byte( 255 ); // noise
  1163. write_byte( 255 ); // r, g, b
  1164. write_byte( 100 );// r, g, b
  1165. write_byte( 100 ); // r, g, b
  1166. write_byte( 128 ); // brightness
  1167. write_byte( 8 ); // speed
  1168. message_end();
  1169.  
  1170. new entlist[33];
  1171. new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
  1172.  
  1173. for (new i=0; i < numfound; i++)
  1174. {
  1175. new pid = entlist[i];
  1176.  
  1177. if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || information_item_player[pid][0] == 24)
  1178. continue;
  1179. ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencja_player[id]) , 1);
  1180. }
  1181. return PLUGIN_CONTINUE;
  1182. }
  1183.  
  1184. public PostawMine(id)
  1185. {
  1186. if (!ilosc_min_player[id])
  1187. {
  1188. client_print(id, print_center, "Elhasznaltad az osszes aknad!");
  1189. return PLUGIN_CONTINUE;
  1190. }
  1191.  
  1192. if(inteligencja_player[id] < 1)
  1193. client_print(id, print_center, "Erosebb hatasu aknakert, fejleszd az Erodet!");
  1194.  
  1195. ilosc_min_player[id]--;
  1196.  
  1197. new Float:origin[3];
  1198. entity_get_vector(id, EV_VEC_origin, origin);
  1199.  
  1200. new ent = create_entity("info_target");
  1201. entity_set_string(ent ,EV_SZ_classname, "Mine");
  1202. entity_set_edict(ent ,EV_ENT_owner, id);
  1203. entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
  1204. entity_set_origin(ent, origin);
  1205. entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
  1206.  
  1207. entity_set_model(ent, "models/mine.mdl");
  1208. entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
  1209.  
  1210. drop_to_floor(ent);
  1211.  
  1212. entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;
  1213.  
  1214. set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,20) ;
  1215.  
  1216.  
  1217. return PLUGIN_CONTINUE;
  1218. }
  1219.  
  1220. public DotykMiny(ent, id)
  1221. {
  1222. new attacker = entity_get_edict(ent, EV_ENT_owner);
  1223. if (get_user_team(attacker) != get_user_team(id))
  1224. {
  1225. new Float:fOrigin[3], iOrigin[3];
  1226. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  1227. iOrigin[0] = floatround(fOrigin[0]);
  1228. iOrigin[1] = floatround(fOrigin[1]);
  1229. iOrigin[2] = floatround(fOrigin[2]);
  1230.  
  1231. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1232. write_byte(TE_EXPLOSION);
  1233. write_coord(iOrigin[0]);
  1234. write_coord(iOrigin[1]);
  1235. write_coord(iOrigin[2]);
  1236. write_short(sprite_blast);
  1237. write_byte(32); // scale
  1238. write_byte(20); // framerate
  1239. write_byte(0);// flags
  1240. message_end();
  1241. new entlist[33];
  1242. new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
  1243.  
  1244. for (new i=0; i < numfound; i++)
  1245. {
  1246. new pid = entlist[i];
  1247.  
  1248. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || information_item_player[pid][0] == 24 )
  1249. continue;
  1250.  
  1251. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencja_player[attacker]) , 1);
  1252. }
  1253. remove_entity(ent);
  1254. }
  1255. }
  1256.  
  1257. public DotykRakiety(ent)
  1258. {
  1259. if ( !is_valid_ent(ent))
  1260. return;
  1261.  
  1262. new attacker = entity_get_edict(ent, EV_ENT_owner);
  1263.  
  1264. new Float:fOrigin[3], iOrigin[3];
  1265. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  1266. iOrigin[0] = floatround(fOrigin[0]);
  1267. iOrigin[1] = floatround(fOrigin[1]);
  1268. iOrigin[2] = floatround(fOrigin[2]);
  1269.  
  1270. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1271. write_byte(TE_EXPLOSION);
  1272. write_coord(iOrigin[0]);
  1273. write_coord(iOrigin[1]);
  1274. write_coord(iOrigin[2]);
  1275. write_short(sprite_blast);
  1276. write_byte(32); // scale
  1277. write_byte(20); // framerate
  1278. write_byte(0);// flags
  1279. message_end();
  1280.  
  1281. new entlist[33];
  1282. new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
  1283.  
  1284. for (new i=0; i < numfound; i++)
  1285. {
  1286. new pid = entlist[i];
  1287.  
  1288. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || information_item_player[pid][0] == 24)
  1289. continue;
  1290. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_player[attacker]) , 1);
  1291. }
  1292. remove_entity(ent);
  1293. }
  1294.  
  1295. public CurWeapon(id)
  1296. {
  1297. if(freezetime || !class_player[id])
  1298. return PLUGIN_CONTINUE;
  1299.  
  1300. new weapon = read_data(2);
  1301.  
  1302. SetFast(id);
  1303.  
  1304. if(weapon == CSW_C4)
  1305. podkladajacy = id;
  1306. return PLUGIN_CONTINUE;
  1307. }
  1308.  
  1309. public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
  1310. {
  1311. if(equal(szSound, "common/wpn_denyselect.wav"))
  1312. {
  1313. UzyjItem(id);
  1314. return FMRES_SUPERCEDE;
  1315. }
  1316.  
  1317. return FMRES_IGNORED;
  1318. }
  1319.  
  1320. public UzyjItem(id)
  1321. {
  1322. if(information_item_player[id][0] == 19 && information_item_player[id][1]>0)
  1323. {
  1324. set_user_health(id, maksymalne_zdrowie_player[id]);
  1325. information_item_player[id][1]--;
  1326. }
  1327.  
  1328. if(ilosc_apteczek_player[id]>0)
  1329. StworzApteczke(id);
  1330. if(ilosc_rakiet_player[id]>0)
  1331. StworzRakiete(id);
  1332. if(ilosc_min_player[id]>0)
  1333. PostawMine(id);
  1334. if(ilosc_dynamitow_player[id]>0)
  1335. PolozDynamit(id);
  1336.  
  1337. return PLUGIN_HANDLED;
  1338. }
  1339.  
  1340. public ZapiszDane(id)
  1341. {
  1342. new vaultkey[64],vaultdata[256];
  1343. format(vaultkey,63,"%s-%i-cod", g_szAuthID[id], class_player[id]);
  1344. 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]);
  1345. nvault_set(g_vault,vaultkey,vaultdata);
  1346. }
  1347.  
  1348. public WczytajDane(id, class)
  1349. {
  1350. new vaultkey[64],vaultdata[256];
  1351. format(vaultkey,63,"%s-%i-cod", g_szAuthID[id], class);
  1352. 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]);
  1353. nvault_get(g_vault,vaultkey,vaultdata,255);
  1354.  
  1355. replace_all(vaultdata, 255, "#", " ");
  1356.  
  1357. new experienceplayer[32], levelplayer[32], inteligencjaplayer[32], silaplayer[32], zrecznoscplayer[32], zwinnoscplayer[32];
  1358.  
  1359. parse(vaultdata, experienceplayer, 31, levelplayer, 31, inteligencjaplayer, 31, silaplayer, 31, zrecznoscplayer, 31, zwinnoscplayer, 31);
  1360.  
  1361. experience_player[id] = str_to_num(experienceplayer);
  1362. level_player[id] = str_to_num(levelplayer)>0?str_to_num(levelplayer):1;
  1363. inteligencja_player[id] = str_to_num(inteligencjaplayer);
  1364. zdrowie_player[id] = str_to_num(silaplayer);
  1365. wytrzymalosc_player[id] = str_to_num(zrecznoscplayer);
  1366. kondycja_player[id] = str_to_num(zwinnoscplayer);
  1367. punkty_player[id] = (level_player[id]-1)*2-inteligencja_player[id]-zdrowie_player[id]-wytrzymalosc_player[id]-kondycja_player[id];
  1368. }
  1369.  
  1370. public WyrzucPrzedmiot(id)
  1371. {
  1372. if(information_item_player[id][0])
  1373. {
  1374. client_print(id, print_chat, "Eldobva: %s.", names_objects[information_item_player[id][0]]);
  1375. UsunPrzedmiot(id);
  1376. }
  1377. else
  1378. client_print(id, print_chat, "Nincs targyad amit eldobhatnal.", names_objects[information_item_player[id][0]]);
  1379. }
  1380.  
  1381. public UsunPrzedmiot(id)
  1382. {
  1383. information_item_player[id][0] = 0;
  1384. information_item_player[id][1] = 0;
  1385. if(is_user_alive(id))
  1386. set_user_footsteps(id, 0);
  1387. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  1388. ZmienUbranie(id, 1);
  1389. }
  1390.  
  1391. public DajPrzedmiot(id, przedmiot)
  1392. {
  1393. UsunPrzedmiot(id);
  1394. information_item_player[id][0] = przedmiot;
  1395. client_print(id, print_chat, "Kaptal: %s.", names_objects[information_item_player[id][0]]);
  1396.  
  1397. switch(przedmiot)
  1398. {
  1399. case 1:
  1400. {
  1401. set_user_footsteps(id, 1);
  1402. }
  1403. case 2:
  1404. {
  1405. information_item_player[id][1] = random_num(3,6);
  1406. }
  1407. case 3:
  1408. {
  1409. information_item_player[id][1] = random_num(6, 11);
  1410. }
  1411. case 5:
  1412. {
  1413. information_item_player[id][1] = random_num(6, 9);
  1414. }
  1415. case 6:
  1416. {
  1417. information_item_player[id][1] = random_num(100, 150);
  1418. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 40);
  1419. }
  1420. case 7:
  1421. {
  1422. information_item_player[id][1] = random_num(2, 4);
  1423. }
  1424. case 8:
  1425. {
  1426. if(class_player[id] == Commando)
  1427. DajPrzedmiot(id, random_num(1, sizeof names_objects-1));
  1428. }
  1429. case 9:
  1430. {
  1431. information_item_player[id][1] = random_num(1, 3);
  1432. ZmienUbranie(id, 0);
  1433. give_item(id, "weapon_hegrenade");
  1434. }
  1435. case 10:
  1436. {
  1437. information_item_player[id][1] = random_num(4, 98);
  1438. give_item(id, "weapon_hegrenade");
  1439. }
  1440. case 12:
  1441. {
  1442. information_item_player[id][1] = random_num(1, 99);
  1443. }
  1444. case 13:
  1445. {
  1446. give_item(id, "weapon_awp");
  1447. }
  1448. case 16:
  1449. {
  1450. set_task(5.0, "TrainingSanitary", id+TASK_TRAINING_SANITARY);
  1451. }
  1452. case 19:
  1453. {
  1454. information_item_player[id][1] = 1;
  1455. }
  1456. case 26:
  1457. {
  1458. information_item_player[id][1] = random_num(3, 6);
  1459. }
  1460. case 27:
  1461. {
  1462. information_item_player[id][1] = 3;
  1463. }
  1464. }
  1465. }
  1466.  
  1467. public DescriptionItem(id)
  1468. {
  1469. new description_item[128];
  1470. new losowa_wartosc[3];
  1471. num_to_str(information_item_player[id][1], losowa_wartosc, 2);
  1472. format(description_item, 127, descriptions_objects[information_item_player[id][0]]);
  1473. replace_all(description_item, 127, "LW", losowa_wartosc);
  1474.  
  1475. client_print(id, print_chat, "Targy: %s.", names_objects[information_item_player[id][0]]);
  1476. client_print(id, print_chat, "Leiras: %s.", description_item);
  1477. }
  1478.  
  1479. public Raise(id)
  1480. {
  1481. id-=TASK_RAISE;
  1482. ExecuteHamB(Ham_CS_RoundRespawn, id);
  1483. }
  1484.  
  1485. public SprawdzLevel(id)
  1486. {
  1487. if(level_player[id] < 201)
  1488. {
  1489. while(experience_player[id] >= experience_level[level_player[id]])
  1490. {
  1491. level_player[id]++;
  1492. set_hudmessage(60, 200, 55, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
  1493. ShowSyncHudMsg(id, SyncHudObj3, "Gratulalunk szintet leptel!");
  1494. client_cmd(id, "spk MW/levelup");
  1495. }
  1496.  
  1497. punkty_player[id] = (level_player[id]-1)*2-inteligencja_player[id]-zdrowie_player[id]-wytrzymalosc_player[id]-kondycja_player[id];
  1498. }
  1499. ZapiszDane(id);
  1500. }
  1501.  
  1502. public ShowInformation(id)
  1503. {
  1504. id -= TASK_SHOW_INFORMATION;
  1505.  
  1506. set_task(0.1, "ShowInformation", id+TASK_SHOW_INFORMATION);
  1507.  
  1508. if(!is_user_alive(id))
  1509. {
  1510. new target = entity_get_int(id, EV_INT_iuser2);
  1511.  
  1512. if(target == 0)
  1513. return PLUGIN_CONTINUE;
  1514.  
  1515. set_hudmessage(0, 100, 200, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  1516. 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]]);
  1517.  
  1518. return PLUGIN_CONTINUE;
  1519. }
  1520. set_hudmessage(0, 241, 230, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
  1521. 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]]);
  1522. return PLUGIN_CONTINUE;
  1523. }
  1524.  
  1525. public ShowAdvertisement(id)
  1526. {
  1527. id-=TASK_SHOW_ADVERTISEMENT;
  1528. client_print(id, print_chat, "Udvozollek a Modern Warfare vilagaban!");
  1529. }
  1530.  
  1531. public SetFast(id)
  1532. {
  1533. id -= id>32? TASK_SET_FAST: 0;
  1534.  
  1535. if(class_player[id])
  1536. set_user_maxspeed(id, fast_player[id]);
  1537. }
  1538.  
  1539. public ZmienUbranie(id,reset)
  1540. {
  1541. if (id<1 || id>32 || !is_user_connected(id))
  1542. return PLUGIN_CONTINUE;
  1543.  
  1544. if (reset)
  1545. cs_reset_user_model(id);
  1546. else
  1547. {
  1548. new num = random_num(0,3);
  1549. switch(get_user_team(id))
  1550. {
  1551. case 1: cs_set_user_model(id, Clothing_CT[num]);
  1552. case 2:cs_set_user_model(id, Clothing_Terro[num]);
  1553. }
  1554. }
  1555.  
  1556. return PLUGIN_CONTINUE;
  1557. }
  1558.  
  1559. public Pomoc()
  1560. {
  1561. switch(random(3))
  1562. {
  1563. case 0: client_print(0, print_chat, "A szerveren Modern Warfare BETA mod fut");
  1564. case 1: client_print(0, print_chat, "A modot keszitette: Lambda *.*");
  1565. case 2: client_print(0, print_chat, "Ne buggolj!");
  1566. }
  1567. set_task(60.0, "Pomoc");
  1568. }
  1569.  
  1570. public cmd_setlvl(id, level, cid)
  1571. {
  1572. if(!cmd_access(id,level,cid,3))
  1573. return PLUGIN_HANDLED;
  1574. new arg1[33];
  1575. new arg2[6];
  1576. read_argv(1, arg1, 32);
  1577. read_argv(2, arg2, 5);
  1578. new player = cmd_target(id, arg1);
  1579. new value = str_to_num(arg2)-1;
  1580.  
  1581. experience_player[player] = experience_level[value];
  1582. level_player[player] = 0;
  1583. SprawdzLevel(player);
  1584. return PLUGIN_HANDLED;
  1585. }
  1586.  
  1587. public CommandBlock()
  1588. return PLUGIN_HANDLED;
  1589.  
  1590. stock bool:UTIL_In_FOV(id,target)
  1591. {
  1592. if (Find_Angle(id,target,9999.9) > 0.0)
  1593. return true;
  1594.  
  1595. return false;
  1596. }
  1597. #if defined BOT
  1598. public is_user_bot2(id)
  1599. {
  1600. new ping, loss
  1601. get_user_ping(id, ping, loss)
  1602. if(ping > 0 && loss > 0)
  1603. return false
  1604. return true
  1605. }
  1606. #endif
  1607.  
  1608. stock Float:Find_Angle(Core,Target,Float:dist)
  1609. {
  1610. new Float:vec2LOS[2];
  1611. new Float:flDot;
  1612. new Float:CoreOrigin[3];
  1613. new Float:TargetOrigin[3];
  1614. new Float:CoreAngles[3];
  1615.  
  1616. pev(Core,pev_origin,CoreOrigin);
  1617. pev(Target,pev_origin,TargetOrigin);
  1618.  
  1619. if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
  1620. return 0.0;
  1621.  
  1622. pev(Core,pev_angles, CoreAngles);
  1623.  
  1624. for ( new i = 0; i < 2; i++ )
  1625. vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i];
  1626.  
  1627. new Float:veclength = Vec2DLength(vec2LOS);
  1628.  
  1629. //Normalize V2LOS
  1630. if (veclength <= 0.0)
  1631. {
  1632. vec2LOS[0] = 0.0;
  1633. vec2LOS[1] = 0.0;
  1634. }
  1635. else
  1636. {
  1637. new Float:flLen = 1.0 / veclength;
  1638. vec2LOS[0] = vec2LOS[0]*flLen;
  1639. vec2LOS[1] = vec2LOS[1]*flLen;
  1640. }
  1641.  
  1642. //Do a makevector to make v_forward right
  1643. engfunc(EngFunc_MakeVectors,CoreAngles);
  1644.  
  1645. new Float:v_forward[3];
  1646. new Float:v_forward2D[2];
  1647. get_global_vector(GL_v_forward, v_forward);
  1648.  
  1649. v_forward2D[0] = v_forward[0];
  1650. v_forward2D[1] = v_forward[1];
  1651.  
  1652. flDot = vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1];
  1653.  
  1654. if ( flDot > 0.5 )
  1655. {
  1656. return flDot;
  1657. }
  1658.  
  1659. return 0.0;
  1660. }
  1661.  
  1662. stock Float:Vec2DLength( Float:Vec[2] )
  1663. {
  1664. return floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
  1665. }
  1666.  
  1667. stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
  1668. {
  1669. message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
  1670. write_short( duration ); // Duration of fadeout
  1671. write_short( holdtime ); // Hold time of color
  1672. write_short( fadetype ); // Fade type
  1673. write_byte ( red ); // Red
  1674. write_byte ( green ); // Green
  1675. write_byte ( blue ); // Blue
  1676. write_byte ( alpha ); // Alpha
  1677. message_end();
  1678. }
  1679.  
  1680. stock set_user_clip(id, ammo)
  1681. {
  1682. new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
  1683. get_weaponname(weapon, weaponname, 31);
  1684. while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
  1685. if(entity_get_edict(weaponid, EV_ENT_owner) == id)
  1686. {
  1687. set_pdata_int(weaponid, 51, ammo, 4);
  1688. return weaponid;
  1689. }
  1690. return 0;
  1691. }
  1692. public userhelp(id)
  1693. {
  1694. //create info/help.txt in your mod folder and put your info there as you add in motd
  1695. show_motd(id, "help.txt", "Help Motd")
  1696. }
  1697.  
  1698.  


Van nekem egy Cod: MW modom. nem müködik pár tárgy, pl a no recoil, meg a longjump(azaz a jet modul) a long jump enabler benn van a szerveren, de nem müködik igy se. se NS se STEAMES cs-vel... segitsen valaki, és ami a pluginba van hiba javitsa ki. 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ások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 1 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 66 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