hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.06.17. 08:05



Jelenlévő felhasználók

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

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Google [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  [2 hozzászólás ] 
Szerző Üzenet
HozzászólásElküldve:2014.05.26. 20:13 
Offline
Tud valamit

Csatlakozott:2013.08.17. 23:54
Hozzászólások:100
Megköszönt másnak: 1 alkalommal
Helló. Valaki megtudná mondani ,hogy ebben a módban mi a hiba?
Ha valaki fejlődik akkor épen az a kaszt a másiknak is fejlödik. Miért? Reg.Rendszer van benne.
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. #include <colorchat>
  10.  
  11.  
  12. #define PLUGIN "Call of Duty: MW Mod"
  13. #define VERSION "1.0"
  14. #define AUTHOR "QTM_Peyote,johnC,GranTorino"
  15.  
  16. #define STANDARD_FAST 250.0
  17.  
  18. #define TASK_SHOW_INFORMATION 672
  19. #define TASK_RAISE 704
  20. #define TASK_TRAINING_SANITARY 736
  21. #define TASK_SHOW_ADVERTISEMENT 768
  22. #define TASK_SET_FAST 832
  23.  
  24. //#define BOT 1
  25.  
  26.  
  27.  
  28. new SyncHudObj;
  29. new SyncHudObj2;
  30. new SyncHudObj3;
  31. new g_msg_screenfade;
  32.  
  33. new sprite_white;
  34. new sprite_blast;
  35.  
  36. new g_vault;
  37.  
  38. new podkladajacy;
  39. new disarming;
  40.  
  41. new experience_for_murder;
  42. new experience_for_bomb;
  43.  
  44. new Clothing_CT[4][]={"sas","gsg9","urban","gign"};
  45. new Clothing_Terro[4][]={"arctic","leet","guerilla","terror"};
  46.  
  47. 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};
  48. new const maxClip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
  49. 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 };
  50.  
  51. new information_item_player[33][2];
  52. new const names_objects[][] =
  53. {
  54. "Nincs",
  55. "Tamado Csizmak", //1
  56. "Dupla Melleny", //2
  57. "Megerositett melleny", //3
  58. "Veteran Kes", //4
  59. "Meglepetes Tamadas", //5
  60. "Nindzsa Kopeny", //6
  61. "Morfium", //7
  62. "Kommando Kes", //8
  63. "Ke'm szemuveg",
  64. "Titokzatos Granat",
  65. "Nindzsa Lab", //11
  66. "Titokzatos Katona", //12
  67. "AWP Sniper",//13
  68. "Adrenalin",//14
  69. "Rambo",//15
  70. "Egeszseges Edzes",//16
  71. "NASA Melleny",//17
  72. "Edzett Veteran",//18
  73. "Elsosegely csomag",//19
  74. "Recoil Eliminator",//20
  75. "Titan Toltenyek",//21
  76. "Ezres Toltenyek",//22
  77. "Recoil Szamlalo",//23
  78. "SWAT Shield",//24
  79. "Edzett Ujonc",//25
  80. "Relective Fegyverzet",//26
  81. "Kapitanyi Feljegyzesek",//27
  82. "Jet Modul"
  83.  
  84. };
  85.  
  86. new const descriptions_objects[][] = {"Egy ellenseg megolese utan kapsz targyat!",
  87. "Halk Futas",
  88. "Csokkenti a becsapodo sebzeseket",
  89. "Csokkenti a becsapodo sebzeseket",
  90. "Sokkal erosebb szuras kessel",
  91. "A hatulrol eltalalt ellenfel, 2x nagyobb sebzest kap az atlagtol",
  92. "Reszben lathatatlanna tesz teged",
  93. "1/3 esely az ujraeledesre ha megolnek",
  94. "Azonnali oles a kessel",
  95. "1/3 eselyt kapsz hogy granattal azonnali halalt okozz.",
  96. "Azonnali oles HE granattal",
  97. "2x tudsz ugrani a levegoben",
  98. "A seruleseid csokkennek 1/3-hoz. 1/3-hoz eselyed van arra, hogy megvakitsd az ellenseget",
  99. "Azonnali oles AWP-vel",
  100. "Minden Frag utan, kapsz +50 HP-t",
  101. "Minden Frag utan, full tarat es +20 HP-t kapsz",
  102. "Visszakapsz 10 HP-t 3 masodpercenkent",
  103. "+500 Armor",
  104. "Kapsz minden korben 100 HP-t, viszont lassaban futsz",
  105. "Nyomj E betut HP tolteshez",
  106. "No recoil",
  107. "+15 Sebzes",
  108. "+25 Sebzes",
  109. "A recoil-od alacsony",
  110. "A targyak nem hatraltatnak teged.",
  111. "Minden korben +50 HP-t kapsz és lassabban futsz",
  112. "1/3 eselyed arra hogy visszaveri a ka'rod",
  113. "Immunis leszel minden egyes korben 3 golyora",
  114. "Nyomj CTRL-t és SPACE-t a modul hasznalatahoz, 4 masodpercenkent toltodik ujra a modul"
  115. };
  116.  
  117. new g_szAuthID[33][34];
  118. new class_player[33];
  119. new level_player[33] = 1;
  120. new experience_player[33];
  121.  
  122. new nowa_class_player[33];
  123.  
  124. new const experience_level[] =
  125. {
  126. 0,35,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,
  127. 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,
  128. 264915,271040,277235,283500,289835,296240,302715,309260,315875,322560,329315,336140,343035,350000,357035,364140
  129. };
  130.  
  131. new punkty_player[33];
  132. new zdrowie_player[33];
  133. new inteligencja_player[33];
  134. new wytrzymalosc_player[33];
  135. new Float:redukcja_obrazen_player[33];
  136. new kondycja_player[33];
  137. new maksymalne_zdrowie_player[33];
  138. new Float:fast_player[33];
  139.  
  140. new bool:gracz_resetuje[33];
  141.  
  142. enum { NONE = 0, Sniper, Commando, Sharpshooter, Protector, Medic, FireSupport, Sapper, Demolitions, Rusher, Rambo };
  143. new const zdrowie_klasy[] = { 0, 120, 130, 110, 250, 150, 100, 100, 130, 100, 130};
  144. 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};
  145. new const pancerz_klasy[] = { 0, 100, 100, 100, 200, 100, 0, 100, 100, 0, 150};
  146. new const names_klas[][] = {"Nincs",
  147. "Sniper",
  148. "Commando",
  149. "Sharpshooter",
  150. "Protector",
  151. "Medic",
  152. "Fire Support",
  153. "Sapper",
  154. "Demolitions",
  155. "Rusher",
  156. "Rambo"
  157. };
  158.  
  159. new const descriptions_klas[][] = {"Nincs",
  160. "Felszereles: AWP, Deagle & Scout, 120hp. 1/3-hoz eselyed kessel valo azonnali olesre. 110 Gyorsasag, 100 Amor.",
  161. "Felszereles: Deagle, 130hp. Azonnali kes oles (csak jobb egergomb), 135 Gyorsasag, 100 Armor",
  162. "Felszereles: AK47, M4A1 & 110hp. 80 Gyorsasag, 100 Armor",
  163. "Felszereles: M249, 250hp & Osszes granat, Immunis az aknara, 200 Armor",
  164. "Felszereles: UMP45, 150hp. Elsosegely csomag, 100 Armor",
  165. "Felszereles: MP5, 100 hp, 2 raketa, Extra talalati pontok / talalat",
  166. "Felszereles: P90, 100hp, Kapsz 3 aknat, 100 Armor",
  167. "Felszereles: AUG, 130 hp, Osszes granat, Dinamitot kapsz ami teruleti karokat okoz, 100 Armor",
  168. "Felszereles: M3, 100 hp, 145 Gyorsasag",
  169. "Felszereles: Famas, 130 hp, 120 Gyorsasag, 20 HP / oles, 2 ugras, 100 Armor"
  170. };
  171.  
  172. new ilosc_apteczek_player[33];
  173. new ilosc_rakiet_player[33];
  174. new Float:poprzednia_rakieta_player[33];
  175. new ilosc_min_player[33];
  176. new ilosc_dynamitow_player[33];
  177. new ilosc_skokow_player[33];
  178.  
  179. new bool:freezetime = true;
  180.  
  181. public plugin_init()
  182. {
  183. register_plugin(PLUGIN, VERSION, AUTHOR);
  184.  
  185. g_vault = nvault_open("CodMod");
  186.  
  187. register_think("FirstAidKit","FirstAidKitThink");
  188.  
  189. RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  190. RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
  191.  
  192.  
  193. register_forward(FM_CmdStart, "CmdStart");
  194. register_forward(FM_EmitSound, "EmitSound");
  195.  
  196. register_logevent("PoczatekRundy", 2, "1=Round_Start");
  197. register_logevent("BombaPodlozona", 3, "2=Planted_The_Bomb");
  198.  
  199. register_event("SendAudio", "BombaRozbrojona", "a", "2&%!MRAD_BOMBDEF");
  200. register_event("BarTime", "RozbrajaBomb", "be", "1=10", "1=5");
  201. register_event("DeathMsg", "Death", "ade");
  202. register_event("Damage", "Damage", "b", "2!=0");
  203. register_event("CurWeapon","CurWeapon","be", "1=1");
  204. register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
  205.  
  206. register_touch("Rocket", "*" , "DotykRakiety");
  207. register_touch("Mine", "player", "DotykMiny");
  208.  
  209. register_cvar("cod_killxp", "50");
  210. register_cvar("cod_bombxp", "100");
  211.  
  212. register_clcmd("say /osztaly", "WybierzKlase");
  213. register_clcmd("say /osztalyinfo", "DescriptionKlasy");
  214. register_clcmd("say /targy", "DescriptionItem");
  215. register_clcmd("say /dobas", "WyrzucPrzedmiot");
  216. register_clcmd("say /nullazas", "KomendaResetujPunkty");
  217. register_clcmd("say /help", "userhelp", 0, " - Help Motd ");
  218. register_clcmd("say /save","ZapiszDane")
  219. register_clcmd("fullupdate", "CommandBlock");
  220. register_clcmd("cl_autobuy", "CommandBlock");
  221. register_clcmd("cl_rebuy", "CommandBlock");
  222. register_clcmd("cl_setautobuy","CommandBlock");
  223. register_clcmd("rebuy", "CommandBlock");
  224. register_clcmd("autobuy", "CommandBlock");
  225. register_clcmd("glock", "CommandBlock");
  226. register_clcmd("usp", "CommandBlock");
  227. register_clcmd("p228", "CommandBlock");
  228. register_clcmd("deagle", "CommandBlock");
  229. register_clcmd("elites", "CommandBlock");
  230. register_clcmd("fn57", "CommandBlock");
  231. register_clcmd("m3", "CommandBlock");
  232. register_clcmd("autoshotgun", "CommandBlock");
  233. register_clcmd("mac10", "CommandBlock");
  234. register_clcmd("tmp", "CommandBlock");
  235. register_clcmd("mp5", "CommandBlock");
  236. register_clcmd("ump45", "CommandBlock");
  237. register_clcmd("p90", "CommandBlock");
  238. register_clcmd("galil", "CommandBlock");
  239. register_clcmd("ak47", "CommandBlock");
  240. register_clcmd("scout", "CommandBlock");
  241. register_clcmd("sg552", "CommandBlock");
  242. register_clcmd("awp", "CommandBlock");
  243. register_clcmd("g3sg1", "CommandBlock");
  244. register_clcmd("famas", "CommandBlock");
  245. register_clcmd("m4a1", "CommandBlock");
  246. register_clcmd("bullpup", "CommandBlock");
  247. register_clcmd("sg550", "CommandBlock");
  248. register_clcmd("m249", "CommandBlock");
  249. register_clcmd("shield", "CommandBlock");
  250. register_clcmd("hegren", "CommandBlock");
  251. register_clcmd("sgren", "CommandBlock");
  252. register_clcmd("flash", "CommandBlock");
  253. register_concmd("cod_setlvl", "cmd_setlvl", ADMIN_KICK, "<name> <level>");
  254.  
  255. g_msg_screenfade = get_user_msgid("ScreenFade");
  256. SyncHudObj = CreateHudSyncObj();
  257. SyncHudObj2 = CreateHudSyncObj();
  258. SyncHudObj3 = CreateHudSyncObj();
  259. experience_for_murder = get_cvar_num("cod_killxp");
  260. experience_for_bomb = get_cvar_num("cod_bombxp");
  261.  
  262. set_task(60.0, "Pomoc");
  263. }
  264.  
  265. public plugin_cfg()
  266. {
  267. server_cmd("sv_maxspeed 1600");
  268. }
  269.  
  270. public plugin_precache()
  271. {
  272. sprite_white = precache_model("sprites/white.spr") ;
  273. sprite_blast = precache_model("sprites/dexplo.spr");
  274.  
  275. precache_sound("MW/select.wav");
  276. precache_sound("MW/start.wav");
  277. precache_sound("MW/start2.wav");
  278. precache_sound("MW/levelup.wav");
  279.  
  280. precache_model("models/w_medkit.mdl");
  281. precache_model("models/rpgrocket.mdl");
  282. precache_model("models/mine.mdl");
  283. }
  284.  
  285.  
  286. public CmdStart(id, uc_handle)
  287. {
  288. if(!is_user_alive(id))
  289. return FMRES_IGNORED;
  290.  
  291. new button = get_uc(uc_handle, UC_Buttons);
  292. new oldbutton = get_user_oldbutton(id);
  293. new flags = get_entity_flags(id);
  294.  
  295. if(information_item_player[id][0] == 11 || class_player[id] == Rambo)
  296. {
  297. if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && ilosc_skokow_player[id] > 0)
  298. {
  299. ilosc_skokow_player[id]--;
  300. new Float:velocity[3];
  301. entity_get_vector(id,EV_VEC_velocity,velocity);
  302. velocity[2] = random_float(265.0,285.0);
  303. entity_set_vector(id,EV_VEC_velocity,velocity);
  304. }
  305. else if(flags & FL_ONGROUND)
  306. {
  307. ilosc_skokow_player[id] = 0;
  308. if(information_item_player[id][0] == 11)
  309. ilosc_skokow_player[id]++;
  310. if(class_player[id] == Rambo)
  311. ilosc_skokow_player[id]++;
  312. }
  313. }
  314.  
  315. if(button & IN_ATTACK)
  316. {
  317. new Float:punchangle[3];
  318.  
  319. if(information_item_player[id][0] == 20)
  320. entity_set_vector(id, EV_VEC_punchangle, punchangle);
  321. if(information_item_player[id][0] == 23)
  322. {
  323. entity_get_vector(id, EV_VEC_punchangle, punchangle);
  324. for(new i=0; i<3;i++)
  325. punchangle[i]*=0.9;
  326. entity_set_vector(id, EV_VEC_punchangle, punchangle);
  327. }
  328. }
  329.  
  330. 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)
  331. {
  332. information_item_player[id][1] = floatround(get_gametime());
  333. new Float:velocity[3];
  334. VelocityByAim(id, 700, velocity);
  335. velocity[2] = random_float(265.0,285.0);
  336. entity_set_vector(id, EV_VEC_velocity, velocity);
  337. }
  338.  
  339.  
  340. return FMRES_IGNORED;
  341. }
  342.  
  343. public Odrodzenie(id)
  344. {
  345. if(!is_user_alive(id) || !is_user_connected(id))
  346. return PLUGIN_CONTINUE;
  347.  
  348. if(nowa_class_player[id])
  349. {
  350. class_player[id] = nowa_class_player[id];
  351. nowa_class_player[id] = 0;
  352. strip_user_weapons(id);
  353. give_item(id, "weapon_knife");
  354. switch(get_user_team(id))
  355. {
  356. case 1: give_item(id, "weapon_glock18");
  357. case 2: give_item(id, "weapon_usp");
  358. }
  359. WczytajDane(id, class_player[id]);
  360. }
  361.  
  362. if(!class_player[id])
  363. {
  364. WybierzKlase(id);
  365. return PLUGIN_CONTINUE;
  366. }
  367.  
  368. switch(class_player[id])
  369. {
  370. case Sniper:
  371. {
  372. give_item(id, "weapon_awp");
  373. give_item(id, "weapon_scout");
  374. give_item(id, "weapon_deagle");
  375. }
  376. case Commando:
  377. {
  378. give_item(id, "weapon_deagle");
  379. }
  380. case Sharpshooter:
  381. {
  382. give_item(id, "weapon_m4a1");
  383. give_item(id, "weapon_ak47");
  384. }
  385. case Protector:
  386. {
  387. give_item(id, "weapon_m249");
  388. give_item(id, "weapon_hegrenade");
  389. give_item(id, "weapon_flashbang");
  390. give_item(id, "weapon_smokegrenade");
  391. }
  392. case Medic:
  393. {
  394. give_item(id, "weapon_ump45");
  395. ilosc_apteczek_player[id] = 2;
  396. }
  397. case FireSupport:
  398. {
  399. give_item(id, "weapon_mp5navy");
  400. ilosc_rakiet_player[id] = 2;
  401. }
  402. case Sapper:
  403. {
  404. give_item(id, "weapon_p90");
  405. ilosc_min_player[id] = 3;
  406. }
  407. case Demolitions:
  408. {
  409. give_item(id, "weapon_aug");
  410. give_item(id, "weapon_hegrenade");
  411. give_item(id, "weapon_flashbang");
  412. give_item(id, "weapon_smokegrenade");
  413. ilosc_dynamitow_player[id] = 1;
  414. }
  415. case Rusher:
  416. {
  417. give_item(id, "weapon_m3");
  418. }
  419. case Rambo:
  420. {
  421. give_item(id, "weapon_famas");
  422. }
  423. }
  424.  
  425. if(gracz_resetuje[id])
  426. {
  427. ResetujPunkty(id);
  428. gracz_resetuje[id] = false;
  429. }
  430.  
  431. if(punkty_player[id]>0)
  432. PrzydzielPunkty(id);
  433.  
  434. if(information_item_player[id][0] == 10 || information_item_player[id][0] == 9)
  435. give_item(id, "weapon_hegrenade");
  436.  
  437. if(information_item_player[id][0] == 9)
  438. ZmienUbranie(id, 0);
  439.  
  440. if(information_item_player[id][0] == 1)
  441. set_user_footsteps(id, 1);
  442. else
  443. set_user_footsteps(id, 0);
  444.  
  445. if(information_item_player[id][0] == 13)
  446. give_item(id, "weapon_awp");
  447.  
  448. if(information_item_player[id][0] == 19)
  449. information_item_player[id][1] = 1;
  450.  
  451. if(information_item_player[id][0] == 27)
  452. information_item_player[id][1] = 3;
  453.  
  454. new weapons[32];
  455. new weaponsnum;
  456. get_user_weapons(id, weapons, weaponsnum);
  457. for(new i=0; i<weaponsnum; i++)
  458. if(is_user_alive(id))
  459. if(maxAmmo[weapons[i]] > 0)
  460. cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  461.  
  462. redukcja_obrazen_player[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(wytrzymalosc_player[id])))/100);
  463. maksymalne_zdrowie_player[id] = zdrowie_klasy[class_player[id]]+zdrowie_player[id]*2;
  464. fast_player[id] = STANDARD_FAST*fast_klasy[class_player[id]]+floatround(kondycja_player[id]*1.3);
  465.  
  466. if(information_item_player[id][0] == 18)
  467. {
  468. maksymalne_zdrowie_player[id] += 100;
  469. fast_player[id] -= 0.4;
  470. }
  471.  
  472. if(information_item_player[id][0] == 25)
  473. {
  474. maksymalne_zdrowie_player[id] += 50;
  475. fast_player[id] -= 0.3;
  476. }
  477.  
  478. set_user_armor(id, pancerz_klasy[class_player[id]]);
  479. set_user_health(id, maksymalne_zdrowie_player[id]);
  480. if(information_item_player[id][0] == 17)
  481. set_user_armor(id, 500);
  482.  
  483. return PLUGIN_CONTINUE;
  484. }
  485.  
  486. public PoczatekRundy()
  487. {
  488. freezetime = false;
  489. for(new id=0;id<=32;id++)
  490. {
  491. if(!is_user_alive(id))
  492. continue;
  493.  
  494. set_task(0.1, "SetFast", id+TASK_SET_FAST);
  495.  
  496. switch(get_user_team(id))
  497. {
  498. case 1: client_cmd(id, "spk MW/start");
  499. case 2: client_cmd(id, "spk MW/start2");
  500. }
  501. }
  502. }
  503.  
  504. public NowaRunda()
  505. {
  506. freezetime = true;
  507. new iEnt = find_ent_by_class(-1, "Mine");
  508. while(iEnt > 0)
  509. {
  510. remove_entity(iEnt);
  511. iEnt = find_ent_by_class(iEnt, "Mine");
  512. }
  513. }
  514.  
  515. public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
  516. {
  517. 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])
  518. return HAM_IGNORED;
  519.  
  520. new health = get_user_health(this);
  521. new weapon = get_user_weapon(idattacker);
  522.  
  523. if(health < 2)
  524. return HAM_IGNORED;
  525.  
  526. if(information_item_player[this][0] == 27 && information_item_player[this][1]>0)
  527. {
  528. information_item_player[this][1]--;
  529. return HAM_SUPERCEDE;
  530. }
  531.  
  532. if(wytrzymalosc_player[this]>0)
  533. damage -= redukcja_obrazen_player[this]*damage;
  534.  
  535. if(information_item_player[this][0] == 2 || information_item_player[this][0] == 3)
  536. damage-=(float(information_item_player[this][1])<damage)? float(information_item_player[this][1]): damage;
  537.  
  538. if(information_item_player[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
  539. damage*=2.0;
  540.  
  541. if(information_item_player[idattacker][0] == 10)
  542. damage+=information_item_player[idattacker][1];
  543.  
  544. if(information_item_player[this][0] == 12)
  545. damage-=(5.0<damage)? 5.0: damage;
  546.  
  547. if(weapon == CSW_AWP && information_item_player[idattacker][0] == 13)
  548. damage=float(health);
  549.  
  550. if(information_item_player[idattacker][0] == 21)
  551. damage+=15;
  552.  
  553. if(information_item_player[idattacker][0] == 22)
  554. damage+=25;
  555.  
  556. if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
  557. {
  558. if((information_item_player[idattacker][0] == 9 && random_num(1, information_item_player[idattacker][1]) == 1) || information_item_player[idattacker][0] == 10)
  559. damage = float(health);
  560. }
  561.  
  562. if(weapon == CSW_KNIFE)
  563. {
  564. if(information_item_player[this][0] == 4)
  565. damage=damage*1.4+inteligencja_player[idattacker];
  566. if(information_item_player[idattacker][0] == 8 || (class_player[idattacker] == Sniper && random(2) == 2) || class_player[idattacker] == Commando && !(get_user_button(idattacker) & IN_ATTACK))
  567. damage = float(health);
  568. }
  569.  
  570. if(information_item_player[this][0] == 26 && random_num(1, information_item_player[this][1]) == 1)
  571. {
  572. SetHamParamEntity(3, this);
  573. SetHamParamEntity(1, idattacker);
  574. }
  575.  
  576.  
  577. SetHamParamFloat(4, damage);
  578. return HAM_IGNORED;
  579. }
  580.  
  581. public Damage(id)
  582. {
  583. new attacker = get_user_attacker(id);
  584. new damage = read_data(2);
  585. if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !class_player[attacker])
  586. return PLUGIN_CONTINUE;
  587.  
  588. if(information_item_player[attacker][0] == 12 && random_num(1, information_item_player[id][1]) == 1)
  589. Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
  590.  
  591. if(get_user_team(id) != get_user_team(attacker))
  592. {
  593. while(damage>20)
  594. {
  595. damage-=20;
  596. experience_player[attacker]++;
  597. }
  598. }
  599. SprawdzLevel(attacker);
  600. return PLUGIN_CONTINUE;
  601. }
  602.  
  603. public Death()
  604. {
  605. new id = read_data(2);
  606. new attacker = read_data(1);
  607.  
  608. if(!is_user_alive(attacker) || !is_user_connected(attacker))
  609. return PLUGIN_CONTINUE;
  610.  
  611. new weapon = get_user_weapon(attacker);
  612. new zdrowie = get_user_health(attacker);
  613.  
  614. if(get_user_team(id) != get_user_team(attacker) && class_player[attacker])
  615. {
  616. new nowe_experience = 0;
  617.  
  618. nowe_experience += experience_for_murder;
  619.  
  620. if(class_player[id] == Rambo && class_player[attacker] != Rambo)
  621. nowe_experience += experience_for_murder*2;
  622.  
  623. if(level_player[id] > level_player[attacker])
  624. nowe_experience += level_player[id] - level_player[attacker];
  625.  
  626. if(class_player[attacker] == Rambo || information_item_player[attacker][0] == 15 && maxClip[weapon] != -1)
  627. {
  628.  
  629. new nowe_zdrowie = (zdrowie+20<maksymalne_zdrowie_player[attacker])? zdrowie+20: maksymalne_zdrowie_player[attacker];
  630. set_user_clip(attacker, maxClip[weapon]);
  631. set_user_health(attacker, nowe_zdrowie);
  632. }
  633. #if defined BOT
  634. if(is_user_bot2(attacker) && random(9) == 0)
  635. WyrzucPrzedmiot(id);
  636. #endif
  637. if(!information_item_player[attacker][0])
  638. DajPrzedmiot(attacker, random_num(1, sizeof names_objects-1));
  639.  
  640. if(information_item_player[attacker][0] == 14)
  641. {
  642. new nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_player[attacker])? zdrowie+50: maksymalne_zdrowie_player[attacker];
  643. set_user_health(attacker, nowe_zdrowie);
  644. }
  645.  
  646. set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
  647. ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_experience);
  648.  
  649. experience_player[attacker] += nowe_experience;
  650. }
  651.  
  652. SprawdzLevel(attacker);
  653.  
  654. if(information_item_player[id][0] == 7 && random_num(1, information_item_player[id][1]) == 1)
  655. set_task(0.1, "Raise", id+TASK_RAISE);
  656.  
  657. return PLUGIN_CONTINUE;
  658. }
  659.  
  660. public client_connect(id)
  661. {
  662. //resetuje umiejetnosci
  663. class_player[id] = 0;
  664. level_player[id] = 0;
  665. experience_player[id] = 0;
  666. punkty_player[id] = 0;
  667. zdrowie_player[id] = 0;
  668. inteligencja_player[id] = 0;
  669. wytrzymalosc_player[id] = 0;
  670. kondycja_player[id] = 0;
  671. maksymalne_zdrowie_player[id] = 0;
  672. fast_player[id] = 0.0;
  673.  
  674. get_user_authid(id, g_szAuthID[id], charsmax(g_szAuthID[] ));
  675.  
  676. remove_task(id+TASK_SHOW_INFORMATION);
  677. remove_task(id+TASK_SHOW_ADVERTISEMENT);
  678. remove_task(id+TASK_SET_FAST);
  679. remove_task(id+TASK_RAISE);
  680. remove_task(id+TASK_TRAINING_SANITARY);
  681.  
  682. set_task(10.0, "ShowAdvertisement", id+TASK_SHOW_ADVERTISEMENT);
  683. set_task(3.0, "ShowInformation", id+TASK_SHOW_INFORMATION);
  684.  
  685. //resetuje przedmioty
  686. UsunPrzedmiot(id);
  687. }
  688.  
  689. public client_disconnect(id)
  690. {
  691. remove_task(id+TASK_SHOW_INFORMATION);
  692. remove_task(id+TASK_SHOW_ADVERTISEMENT);
  693. remove_task(id+TASK_SET_FAST);
  694. remove_task(id+TASK_RAISE);
  695. remove_task(id+TASK_TRAINING_SANITARY);
  696.  
  697. ZapiszDane(id);
  698. UsunPrzedmiot(id);
  699. }
  700.  
  701. public RozbrajaBomb(id)
  702. if(class_player[id])
  703. disarming = id;
  704.  
  705. public BombaPodlozona()
  706. {
  707. new Players[32], playerCount, id;
  708. get_players(Players, playerCount, "aeh", "TERRORIST");
  709.  
  710. if(get_playersnum() > 1)
  711. {
  712. experience_player[podkladajacy] += experience_for_bomb;
  713. for (new i=0; i<playerCount; i++)
  714. {
  715. id = Players[i];
  716. if(!class_player[id])
  717. continue;
  718.  
  719. if(id != podkladajacy)
  720. {
  721. experience_player[id] += experience_for_murder;
  722. ColorChat(0, RED, "[COD:MW]^x03 Kaptal **%i** EXP-et a bomba lerakasaert.", experience_for_murder);
  723. }
  724. else
  725. {
  726. ColorChat(0, RED, "[COD:MW]^x03 Kaptal **%i** EXP-et a bomba lerakasaert.", experience_for_bomb);
  727. }
  728. SprawdzLevel(id);
  729. }
  730. }
  731. }
  732.  
  733. public BombaRozbrojona()
  734. {
  735. new Players[32], playerCount, id;
  736. get_players(Players, playerCount, "aeh", "CT");
  737.  
  738. experience_player[disarming] += experience_for_bomb;
  739. for (new i=0; i<playerCount; i++)
  740. {
  741. id = Players[i];
  742. if(!class_player[id])
  743. continue;
  744. if(id != disarming)
  745. {
  746. experience_player[id]+= experience_for_murder;
  747. ColorChat(0, RED, "[COD:MW]^x03 Kaptal **%i** EXP-et a bomba hatastalanitasaert.", experience_for_murder);
  748. }
  749. else
  750. ColorChat(0, RED, "[COD:MW]^x03 Kaptal **%i** EXP-et a bomba hatastalanitasaert.",experience_for_bomb);
  751. SprawdzLevel(id);
  752. }
  753. }
  754.  
  755. public DescriptionKlasy(id)
  756. {
  757. new menu = menu_create("Valassz Osztalyt:", "DescriptionKlasy_Handle");
  758. for(new i=1; i<sizeof names_klas; i++)
  759. menu_additem(menu, names_klas[i]);
  760. menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
  761. menu_setprop(menu, MPROP_BACKNAME, "Elozo Oldal");
  762. menu_setprop(menu, MPROP_NEXTNAME, "Kovetkezo Oldal");
  763. menu_display(id, menu);
  764.  
  765. client_cmd(id, "spk MW/select");
  766. }
  767.  
  768. public DescriptionKlasy_Handle(id, menu, item)
  769. {
  770. client_cmd(id, "spk MW/select");
  771.  
  772. if(item == MENU_EXIT)
  773. {
  774. menu_destroy(menu);
  775. return PLUGIN_CONTINUE;
  776. }
  777. client_print(id, print_chat, "[COD:MW] %s: %s", names_klas[item+1], descriptions_klas[item+1]);
  778. menu_display(id, menu);
  779.  
  780. return PLUGIN_CONTINUE;
  781. }
  782.  
  783. public WybierzKlase(id)
  784. {
  785. new menu = menu_create("Valassz osztalyt:", "WybierzKlase_Handle");
  786. new class[50];
  787. for(new i=1; i<sizeof names_klas; i++)
  788. {
  789. WczytajDane(id, i);
  790. format(class, 49, "%s \ySzint: %i", names_klas[i], level_player[id]);
  791. menu_additem(menu, class);
  792. }
  793.  
  794. WczytajDane(id, class_player[id]);
  795.  
  796. menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
  797. menu_setprop(menu, MPROP_BACKNAME, "Elozo oldal");
  798. menu_setprop(menu, MPROP_NEXTNAME, "Kovetkezo oldal");
  799. menu_display(id, menu);
  800.  
  801. client_cmd(id, "spk MW/select");
  802. #if defined BOT
  803. if(is_user_bot2(id))
  804. WybierzKlase_Handle(id, menu, random(sizeof names_klas-1));
  805. #endif
  806. }
  807.  
  808. public WybierzKlase_Handle(id, menu, item)
  809. {
  810. client_cmd(id, "spk MW/select");
  811.  
  812. if(item == MENU_EXIT)
  813. {
  814. menu_destroy(menu);
  815. return PLUGIN_CONTINUE;
  816. }
  817.  
  818. item++;
  819.  
  820. if(item == class_player[id])
  821. return PLUGIN_CONTINUE;
  822.  
  823. if(class_player[id])
  824. {
  825. nowa_class_player[id] = item;
  826. ColorChat(0, RED, "[COD:MW]^x03 Az osztalyod a kovetkezo korben megvaltozik.");
  827. }
  828. else
  829. {
  830. class_player[id] = item;
  831. WczytajDane(id, class_player[id]);
  832. Odrodzenie(id);
  833. }
  834. return PLUGIN_CONTINUE;
  835. }
  836.  
  837. public PrzydzielPunkty(id)
  838. {
  839. new inteligencja[65];
  840. new zdrowie[60];
  841. new wytrzymalosc[60];
  842. new kondycja[60];
  843. new tytul[25];
  844. format(inteligencja, 64, "Intelligencia: \r%i \y(Noveli a Targyak Sebzeset)", inteligencja_player[id]);
  845. format(zdrowie, 59, "Elet: \r%i \y(Noveli az Eleted)", zdrowie_player[id]);
  846. format(wytrzymalosc, 59, "Ugyesseg: \r%i \y(Csokkenti a Kapott Sebzest)", wytrzymalosc_player[id]);
  847. format(kondycja, 59, "Kondicio: \r%i \y(Noveli a Sebesseged)", kondycja_player[id]);
  848. format(tytul, 24, "Eloszthato Pontok(%i):", punkty_player[id]);
  849. new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
  850. menu_additem(menu, inteligencja);
  851. menu_additem(menu, zdrowie);
  852. menu_additem(menu, wytrzymalosc);
  853. menu_additem(menu, kondycja);
  854. menu_display(id, menu);
  855. #if defined BOT
  856. if(is_user_bot2(id))
  857. PrzydzielPunkty_Handler(id, menu, random(4));
  858. #endif
  859. }
  860.  
  861. public PrzydzielPunkty_Handler(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. switch(item)
  872. {
  873. case 0:
  874. {
  875. if(inteligencja_player[id]<100)
  876. inteligencja_player[id]++;
  877. else
  878. ColorChat(0, RED, "^x03[COD:MW]^x04 Maximum Intelligencia Szint");
  879.  
  880. }
  881. case 1:
  882. {
  883. if(zdrowie_player[id]<100)
  884. zdrowie_player[id]++;
  885. else
  886. ColorChat(0, RED, "^x03[COD:MW]^x04 Maximum Ero Szint");
  887. }
  888. case 2:
  889. {
  890. if(wytrzymalosc_player[id]<100)
  891. wytrzymalosc_player[id]++;
  892. else
  893. ColorChat(0, RED, "^x03[COD:MW]^x04 Maximum Ugyesseg Szint");
  894.  
  895. }
  896. case 3:
  897. {
  898. if(kondycja_player[id]<100)
  899. kondycja_player[id]++;
  900. else
  901. ColorChat(0, RED, "^x03[COD:MW]^x04 Maximum Kondicio Szint");
  902. }
  903. }
  904.  
  905. punkty_player[id]--;
  906.  
  907. if(punkty_player[id]>0)
  908. PrzydzielPunkty(id);
  909.  
  910. return PLUGIN_CONTINUE;
  911. }
  912.  
  913. public ResetujPunkty(id)
  914. {
  915. punkty_player[id] = level_player[id]*2-2;
  916. inteligencja_player[id] = 0;
  917. zdrowie_player[id] = 0;
  918. kondycja_player[id] = 0;
  919. wytrzymalosc_player[id] = 0;
  920. }
  921.  
  922. public KomendaResetujPunkty(id)
  923. {
  924. ColorChat(0, RED, "^x03[COD:MW]^x04 Kepessegek nullazva lesznek kovi korben.");
  925. client_cmd(id, "spk MW/select");
  926. gracz_resetuje[id] = true;
  927. }
  928.  
  929. public TrainingSanitary(id)
  930. {
  931. id -= TASK_TRAINING_SANITARY;
  932. if(information_item_player[id][0] != 16)
  933. return PLUGIN_CONTINUE;
  934. set_task(3.0, "TrainingSanitary", id+TASK_TRAINING_SANITARY);
  935. if(!is_user_alive(id))
  936. return PLUGIN_CONTINUE;
  937. new health = get_user_health(id);
  938. new new_health = (health+10<maksymalne_zdrowie_player[id])?health+10:maksymalne_zdrowie_player[id];
  939. set_user_health(id, new_health);
  940. return PLUGIN_CONTINUE;
  941. }
  942.  
  943. public StworzApteczke(id)
  944. {
  945. if (!ilosc_apteczek_player[id])
  946. {
  947. client_print(id, print_center, "Koronkent csak 2 csomagot kapsz!");
  948. return PLUGIN_CONTINUE;
  949. }
  950.  
  951. if(inteligencja_player[id] < 1)
  952. client_print(id, print_center, "Ha erosebb hatasu Elsosegely Csomagot szeretnel, noveld az Intelligenciad!");
  953.  
  954. ilosc_apteczek_player[id]--;
  955.  
  956. new Float:origin[3];
  957. entity_get_vector(id, EV_VEC_origin, origin);
  958.  
  959. new ent = create_entity("info_target");
  960. entity_set_string(ent, EV_SZ_classname, "FirstAidKit");
  961. entity_set_edict(ent, EV_ENT_owner, id);
  962. entity_set_int(ent, EV_INT_solid, SOLID_NOT);
  963. entity_set_vector(ent, EV_VEC_origin, origin);
  964. entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
  965.  
  966.  
  967. entity_set_model(ent, "models/w_medkit.mdl");
  968. set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
  969. drop_to_floor(ent);
  970.  
  971. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
  972.  
  973. return PLUGIN_CONTINUE;
  974. }
  975.  
  976. public FirstAirKitThink(ent)
  977. {
  978. new id = entity_get_edict(ent, EV_ENT_owner);
  979. new totem_dist = 300;
  980. new totem_heal = 5+floatround(inteligencja_player[id]*0.5);
  981. if (entity_get_edict(ent, EV_ENT_euser2) == 1)
  982. {
  983. new Float:forigin[3], origin[3];
  984. entity_get_vector(ent, EV_VEC_origin, forigin);
  985. FVecIVec(forigin,origin);
  986.  
  987. new entlist[33];
  988. new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);
  989.  
  990. for (new i=0; i < numfound; i++)
  991. {
  992. new pid = entlist[i];
  993.  
  994. if (get_user_team(pid) != get_user_team(id))
  995. continue;
  996.  
  997. new zdrowie = get_user_health(pid);
  998. new nowe_zdrowie = (zdrowie+totem_heal<maksymalne_zdrowie_player[pid])?zdrowie+totem_heal:maksymalne_zdrowie_player[pid];
  999. if (is_user_alive(pid)) set_user_health(pid, nowe_zdrowie);
  1000. }
  1001.  
  1002. entity_set_edict(ent, EV_ENT_euser2, 0);
  1003. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
  1004.  
  1005. return PLUGIN_CONTINUE;
  1006. }
  1007.  
  1008. if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
  1009. {
  1010. remove_entity(ent);
  1011. return PLUGIN_CONTINUE;
  1012. }
  1013.  
  1014. if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
  1015. set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) ;
  1016.  
  1017. new Float:forigin[3], origin[3];
  1018. entity_get_vector(ent, EV_VEC_origin, forigin);
  1019. FVecIVec(forigin,origin);
  1020.  
  1021. //Find people near and give them health
  1022. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
  1023. write_byte( TE_BEAMCYLINDER );
  1024. write_coord( origin[0] );
  1025. write_coord( origin[1] );
  1026. write_coord( origin[2] );
  1027. write_coord( origin[0] );
  1028. write_coord( origin[1] + totem_dist );
  1029. write_coord( origin[2] + totem_dist );
  1030. write_short( sprite_white );
  1031. write_byte( 0 ); // startframe
  1032. write_byte( 0 ); // framerate
  1033. write_byte( 10 ); // life
  1034. write_byte( 10 ); // width
  1035. write_byte( 255 ); // noise
  1036. write_byte( 255 ); // r, g, b
  1037. write_byte( 100 );// r, g, b
  1038. write_byte( 100 ); // r, g, b
  1039. write_byte( 128 ); // brightness
  1040. write_byte( 5 ); // speed
  1041. message_end();
  1042.  
  1043. entity_set_edict(ent, EV_ENT_euser2 ,1);
  1044. entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
  1045.  
  1046.  
  1047. return PLUGIN_CONTINUE;
  1048.  
  1049. }
  1050.  
  1051. public StworzRakiete(id)
  1052. {
  1053. if (!ilosc_rakiet_player[id])
  1054. {
  1055. client_print(id, print_center, "Elhasznaltad az osszes raketad!");
  1056. return PLUGIN_CONTINUE;
  1057. }
  1058.  
  1059. if(poprzednia_rakieta_player[id] + 2.0 > get_gametime())
  1060. {
  1061. client_print(id, print_center, "Csak 2 masodpercenkent tudod hasznalni a raketakat!");
  1062. return PLUGIN_CONTINUE;
  1063. }
  1064.  
  1065. if (is_user_alive(id))
  1066. {
  1067. if(inteligencja_player[id] < 1)
  1068. client_print(id, print_center, "Erosebb hatasu raketakert, fejleszd az Intelligenciad!");
  1069.  
  1070. poprzednia_rakieta_player[id] = get_gametime();
  1071. ilosc_rakiet_player[id]--;
  1072.  
  1073. new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
  1074.  
  1075. entity_get_vector(id, EV_VEC_v_angle, vAngle);
  1076. entity_get_vector(id, EV_VEC_origin , Origin);
  1077.  
  1078. new Ent = create_entity("info_target");
  1079.  
  1080. entity_set_string(Ent, EV_SZ_classname, "Rocket");
  1081. entity_set_model(Ent, "models/rpgrocket.mdl");
  1082.  
  1083. vAngle[0] *= -1.0;
  1084.  
  1085. entity_set_origin(Ent, Origin);
  1086. entity_set_vector(Ent, EV_VEC_angles, vAngle);
  1087.  
  1088. entity_set_int(Ent, EV_INT_effects, 2);
  1089. entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
  1090. entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
  1091. entity_set_edict(Ent, EV_ENT_owner, id);
  1092.  
  1093. VelocityByAim(id, 1000 , Velocity);
  1094. entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
  1095. }
  1096. return PLUGIN_CONTINUE;
  1097. }
  1098.  
  1099. public PolozDynamit(id)
  1100. {
  1101. if(!ilosc_dynamitow_player[id])
  1102. {
  1103. client_print(id, print_center, "Elhasznaltad a dynamitodat!");
  1104. return PLUGIN_CONTINUE;
  1105. }
  1106.  
  1107. if(inteligencja_player[id] < 1)
  1108. client_print(id, print_center, "Erosebb hatasu dinamitert, fejleszd az Intelligenciad!");
  1109.  
  1110. ilosc_dynamitow_player[id]--;
  1111. new Float:fOrigin[3], iOrigin[3];
  1112. entity_get_vector( id, EV_VEC_origin, fOrigin);
  1113. iOrigin[0] = floatround(fOrigin[0]);
  1114. iOrigin[1] = floatround(fOrigin[1]);
  1115. iOrigin[2] = floatround(fOrigin[2]);
  1116.  
  1117. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1118. write_byte(TE_EXPLOSION);
  1119. write_coord(iOrigin[0]);
  1120. write_coord(iOrigin[1]);
  1121. write_coord(iOrigin[2]);
  1122. write_short(sprite_blast);
  1123. write_byte(32);
  1124. write_byte(20);
  1125. write_byte(0);
  1126. message_end();
  1127.  
  1128. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  1129. write_byte( TE_BEAMCYLINDER );
  1130. write_coord( iOrigin[0] );
  1131. write_coord( iOrigin[1] );
  1132. write_coord( iOrigin[2] );
  1133. write_coord( iOrigin[0] );
  1134. write_coord( iOrigin[1] + 300 );
  1135. write_coord( iOrigin[2] + 300 );
  1136. write_short( sprite_white );
  1137. write_byte( 0 ); // startframe
  1138. write_byte( 0 ); // framerate
  1139. write_byte( 10 ); // life
  1140. write_byte( 10 ); // width
  1141. write_byte( 255 ); // noise
  1142. write_byte( 255 ); // r, g, b
  1143. write_byte( 100 );// r, g, b
  1144. write_byte( 100 ); // r, g, b
  1145. write_byte( 128 ); // brightness
  1146. write_byte( 8 ); // speed
  1147. message_end();
  1148.  
  1149. new entlist[33];
  1150. new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
  1151.  
  1152. for (new i=0; i < numfound; i++)
  1153. {
  1154. new pid = entlist[i];
  1155.  
  1156. if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || information_item_player[pid][0] == 24)
  1157. continue;
  1158. ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencja_player[id]) , 1);
  1159. }
  1160. return PLUGIN_CONTINUE;
  1161. }
  1162.  
  1163. public PostawMine(id)
  1164. {
  1165. if (!ilosc_min_player[id])
  1166. {
  1167. client_print(id, print_center, "Elhasznaltad az osszes aknad!");
  1168. return PLUGIN_CONTINUE;
  1169. }
  1170.  
  1171. if(inteligencja_player[id] < 1)
  1172. client_print(id, print_center, "Erosebb hatasu aknakert, fejleszd az Intelligenciad!");
  1173.  
  1174. ilosc_min_player[id]--;
  1175.  
  1176. new Float:origin[3];
  1177. entity_get_vector(id, EV_VEC_origin, origin);
  1178.  
  1179. new ent = create_entity("info_target");
  1180. entity_set_string(ent ,EV_SZ_classname, "Mine");
  1181. entity_set_edict(ent ,EV_ENT_owner, id);
  1182. entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
  1183. entity_set_origin(ent, origin);
  1184. entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
  1185.  
  1186. entity_set_model(ent, "models/mine.mdl");
  1187. entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
  1188.  
  1189. drop_to_floor(ent);
  1190.  
  1191. entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;
  1192.  
  1193. set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,20) ;
  1194.  
  1195.  
  1196. return PLUGIN_CONTINUE;
  1197. }
  1198.  
  1199. public DotykMiny(ent, id)
  1200. {
  1201. new attacker = entity_get_edict(ent, EV_ENT_owner);
  1202. if (get_user_team(attacker) != get_user_team(id))
  1203. {
  1204. new Float:fOrigin[3], iOrigin[3];
  1205. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  1206. iOrigin[0] = floatround(fOrigin[0]);
  1207. iOrigin[1] = floatround(fOrigin[1]);
  1208. iOrigin[2] = floatround(fOrigin[2]);
  1209.  
  1210. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1211. write_byte(TE_EXPLOSION);
  1212. write_coord(iOrigin[0]);
  1213. write_coord(iOrigin[1]);
  1214. write_coord(iOrigin[2]);
  1215. write_short(sprite_blast);
  1216. write_byte(32); // scale
  1217. write_byte(20); // framerate
  1218. write_byte(0);// flags
  1219. message_end();
  1220. new entlist[33];
  1221. new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
  1222.  
  1223. for (new i=0; i < numfound; i++)
  1224. {
  1225. new pid = entlist[i];
  1226.  
  1227. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || information_item_player[pid][0] == 24 || class_player[id] == Protector)
  1228. continue;
  1229.  
  1230. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencja_player[attacker]) , 1);
  1231. }
  1232. remove_entity(ent);
  1233. }
  1234. }
  1235.  
  1236. public DotykRakiety(ent)
  1237. {
  1238. if ( !is_valid_ent(ent))
  1239. return;
  1240.  
  1241. new attacker = entity_get_edict(ent, EV_ENT_owner);
  1242.  
  1243. new Float:fOrigin[3], iOrigin[3];
  1244. entity_get_vector( ent, EV_VEC_origin, fOrigin);
  1245. iOrigin[0] = floatround(fOrigin[0]);
  1246. iOrigin[1] = floatround(fOrigin[1]);
  1247. iOrigin[2] = floatround(fOrigin[2]);
  1248.  
  1249. message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1250. write_byte(TE_EXPLOSION);
  1251. write_coord(iOrigin[0]);
  1252. write_coord(iOrigin[1]);
  1253. write_coord(iOrigin[2]);
  1254. write_short(sprite_blast);
  1255. write_byte(32); // scale
  1256. write_byte(20); // framerate
  1257. write_byte(0);// flags
  1258. message_end();
  1259.  
  1260. new entlist[33];
  1261. new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
  1262.  
  1263. for (new i=0; i < numfound; i++)
  1264. {
  1265. new pid = entlist[i];
  1266.  
  1267. if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || information_item_player[pid][0] == 24)
  1268. continue;
  1269. ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_player[attacker]) , 1);
  1270. }
  1271. remove_entity(ent);
  1272. }
  1273.  
  1274. public CurWeapon(id)
  1275. {
  1276. if(freezetime || !class_player[id])
  1277. return PLUGIN_CONTINUE;
  1278.  
  1279. new weapon = read_data(2);
  1280.  
  1281. SetFast(id);
  1282.  
  1283. if(weapon == CSW_C4)
  1284. podkladajacy = id;
  1285. return PLUGIN_CONTINUE;
  1286. }
  1287.  
  1288. public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
  1289. {
  1290. if(equal(szSound, "common/wpn_denyselect.wav"))
  1291. {
  1292. UzyjItem(id);
  1293. return FMRES_SUPERCEDE;
  1294. }
  1295.  
  1296. return FMRES_IGNORED;
  1297. }
  1298.  
  1299. public UzyjItem(id)
  1300. {
  1301. if(information_item_player[id][0] == 19 && information_item_player[id][1]>0)
  1302. {
  1303. set_user_health(id, maksymalne_zdrowie_player[id]);
  1304. information_item_player[id][1]--;
  1305. }
  1306.  
  1307. if(ilosc_apteczek_player[id]>0)
  1308. StworzApteczke(id);
  1309. if(ilosc_rakiet_player[id]>0)
  1310. StworzRakiete(id);
  1311. if(ilosc_min_player[id]>0)
  1312. PostawMine(id);
  1313. if(ilosc_dynamitow_player[id]>0)
  1314. PolozDynamit(id);
  1315.  
  1316. return PLUGIN_HANDLED;
  1317. }
  1318.  
  1319. public ZapiszDane(id)
  1320. {
  1321. new vaultkey[64],vaultdata[256];
  1322. format(vaultkey,63,"%s-%i-cod", g_szAuthID[id], class_player[id]);
  1323. 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]);
  1324. nvault_set(g_vault,vaultkey,vaultdata);
  1325. }
  1326.  
  1327. public WczytajDane(id, class)
  1328. {
  1329. new vaultkey[64],vaultdata[256];
  1330. format(vaultkey,63,"%s-%i-cod", g_szAuthID[id], class);
  1331. 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]);
  1332. nvault_get(g_vault,vaultkey,vaultdata,255);
  1333.  
  1334. replace_all(vaultdata, 255, "#", " ");
  1335.  
  1336. new experienceplayer[32], levelplayer[32], inteligencjaplayer[32], silaplayer[32], zrecznoscplayer[32], zwinnoscplayer[32];
  1337.  
  1338. parse(vaultdata, experienceplayer, 31, levelplayer, 31, inteligencjaplayer, 31, silaplayer, 31, zrecznoscplayer, 31, zwinnoscplayer, 31);
  1339.  
  1340. experience_player[id] = str_to_num(experienceplayer);
  1341. level_player[id] = str_to_num(levelplayer)>0?str_to_num(levelplayer):1;
  1342. inteligencja_player[id] = str_to_num(inteligencjaplayer);
  1343. zdrowie_player[id] = str_to_num(silaplayer);
  1344. wytrzymalosc_player[id] = str_to_num(zrecznoscplayer);
  1345. kondycja_player[id] = str_to_num(zwinnoscplayer);
  1346. punkty_player[id] = (level_player[id]-1)*2-inteligencja_player[id]-zdrowie_player[id]-wytrzymalosc_player[id]-kondycja_player[id];
  1347. }
  1348.  
  1349. public WyrzucPrzedmiot(id)
  1350. {
  1351. if(information_item_player[id][0])
  1352. {
  1353. client_print(id, print_chat, "[COD:MW] Eldobva: %s.", names_objects[information_item_player[id][0]]);
  1354. UsunPrzedmiot(id);
  1355. }
  1356. else
  1357. client_print(id, print_chat, "[COD:MW] Nincs targyad amit eldobhatnal.", names_objects[information_item_player[id][0]]);
  1358. }
  1359.  
  1360. public UsunPrzedmiot(id)
  1361. {
  1362. information_item_player[id][0] = 0;
  1363. information_item_player[id][1] = 0;
  1364. if(is_user_alive(id))
  1365. set_user_footsteps(id, 0);
  1366. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  1367. ZmienUbranie(id, 1);
  1368. }
  1369.  
  1370. public DajPrzedmiot(id, przedmiot)
  1371. {
  1372. UsunPrzedmiot(id);
  1373. information_item_player[id][0] = przedmiot;
  1374. ColorChat(0, RED, "^x03[COD:MW] Kaptal: %s.", names_objects[information_item_player[id][0]]);
  1375.  
  1376. switch(przedmiot)
  1377. {
  1378. case 1:
  1379. {
  1380. set_user_footsteps(id, 1);
  1381. }
  1382. case 2:
  1383. {
  1384. information_item_player[id][1] = random_num(3,6);
  1385. }
  1386. case 3:
  1387. {
  1388. information_item_player[id][1] = random_num(6, 11);
  1389. }
  1390. case 5:
  1391. {
  1392. information_item_player[id][1] = random_num(6, 9);
  1393. }
  1394. case 6:
  1395. {
  1396. information_item_player[id][1] = random_num(100, 150);
  1397. set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 40);
  1398. }
  1399. case 7:
  1400. {
  1401. information_item_player[id][1] = random_num(2, 4);
  1402. }
  1403. case 8:
  1404. {
  1405. if(class_player[id] == Commando)
  1406. DajPrzedmiot(id, random_num(1, sizeof names_objects-1));
  1407. }
  1408. case 9:
  1409. {
  1410. information_item_player[id][1] = random_num(1, 3);
  1411. ZmienUbranie(id, 0);
  1412. give_item(id, "weapon_hegrenade");
  1413. }
  1414. case 10:
  1415. {
  1416. information_item_player[id][1] = random_num(4, 98);
  1417. give_item(id, "weapon_hegrenade");
  1418. }
  1419. case 12:
  1420. {
  1421. information_item_player[id][1] = random_num(1, 99);
  1422. }
  1423. case 13:
  1424. {
  1425. give_item(id, "weapon_awp");
  1426. }
  1427. case 15:
  1428. {
  1429. if(class_player[id] == Rambo)
  1430. DajPrzedmiot(id, random_num(1, sizeof names_objects-1));
  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, 25, -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(255, 255, 255, 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]", 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]", 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. ColorChat(0, RED, "^x03[COD:MW]^x04 Udvozollek a Call of Duty 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: ColorChat(0, RED, "^x03[COD:MW]^x04 Ird be chatbe /help a segitsegert");
  1548. case 1: ColorChat(0, RED, "^x03[COD:MW]^x04 Ird be chatbe /binds a bind menuert");
  1549. case 2: ColorChat(0, RED, "^x03[COD:MW]^x04 A tul SK-zas, buntetessel jar!");
  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. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  1682. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  1683. */


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2014.05.27. 14:55 
Offline
Tud valamit

Csatlakozott:2013.08.17. 23:54
Hozzászólások:100
Megköszönt másnak: 1 alkalommal
Senki?


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 17 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