#include #include #include #include #include #include #include #include #include #define PLUGIN "Call of Duty: MW Mod Edit by Foczek" #define VERSION "0.7.9 Beta" #define AUTHOR "QTM_Peyote" #define STANDARDOWA_SZYBKOSC 250.0 native cod_add_wskrzes(id, ile) #define ZADANIE_POKAZ_INFORMACJE 672 #define ZADANIE_WSKRZES 704 #define ZADANIE_WYSZKOLENIE_SANITARNE 736 #define ZADANIE_POKAZ_REKLAME 768 #define ZADANIE_USTAW_SZYBKOSC 832 #define MAXEXP 10000000000000 //#define BOTY 1 new SyncHudObj; new SyncHudObj2; new SyncHudObj3; new g_msg_screenfade; new sprite_white; new sprite_blast; new g_vault; new podkladajacy; new rozbrajajacy; new doswiadczenia_za_zabojstwo; new doswiadczenie_za_bombe; new doswiadczenie_za_kase; new doswiadczenie_za_kasez; new doswiadczenie_za_totek; new doswiadczenie_za_fail; new Ubrania_CT[4][]={"sas","gsg9","urban","gign"}; new Ubrania_Terro[4][]={"arctic","leet","guerilla","terror"}; 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}; new const maxClip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 }; new informacje_przedmiotu_gracza[33][2]; new const nazwy_przedmiotow[][] = {"Brak", "Buty Szturmowego", //1 "Podwojna Kamizelka", //2 "Wzmocniona Kamizelka", //3 "Weteran Noza", //4 "Zaskoczenie Wroga", //5 "Plaszcz Partyzanta", //6 "Morfina", //7 "Noz Komandosa", //8 "Podrecznik Szpiega", //9 "Tajemnica Generala", //10 "Notatki Ninji", //11 "Tajemnica Wojskowa", //12 "AWP Sniper",//13 "Adrenalina",//14 "Tajemnica Rambo",//15 "Wyszkolenie Sanitarne",//16 "Kamizelka NASA",//17 "Wytrenowany Weteran",//18 "Apteczka",//19 "Eliminator Rozrzutu",//20 "Tytanowe Naboje",//21 "Naboje Pulkownika",//22 "Ogranicznik Rozrzutu",//23 "Tarcza SWAT",//24 "Wytrenowany Rekrut",//25 "Pancerz Nomexowy",//26 "Notatki Kapitana",//27 "Modul odrzutowy",//28 "Tajemnica AWP",//29 "Scout SNIPER",//30 "Wytrenowany General",//31 "Soldier",//32 "Unikatowy item",//33 "Diamentowe naboje",//34 "M4A1 Resp",//35 "AK47 Resp",//36 "M249 Resp",//37 "Tajemnica Szpiega",//38 "Buty Komandosa",//39 "Plastikowe naboje",//40 "AMXOWE Naboje",//41 "Regulator niewidzialnosci",//42 "Radar",//43 "Pamietnik zolnierza",//44 "Naboje Foczka",//45 "Gumowe naboje",//46 "Naped rakietowy",//47 "Modul grawitacyjny",//48 "Cheater",//49 "Skrzynia z bronia",//50 "Predkosc SWIATLA",//51 "Profesjonalny Deagle",//52 "Profesjonalny M3",//53 "Profesjonalny M4A1",//54 "Profesjonalny AK47",//55 "Profesjonalny M249",//56 "AK47",//57 "M4A1",//58 "Pro Scout",//59 "Deagle Power",//60 "AK47 Power",//61 "Master AK47",//62 "Master M4A1",//63 "Master Deagle",//64 "Master Scout",//65 "Pro Scout",//66 "Saszetka",//67 "Armagedon",//68 "Marychuana",//69 "Dopalacze",//70 "Ubranie Zabojcy",//71 "Buty Komandosa",//72 "Lewitacja",//73 "Rakieta",//74 "Duszek",//75 "Plaszcz partyzanta",//76 "Tajfun",//77 "Dawka ExpA",//78 "Magiczny Eliksir",//79 "Lekarstwo"//80 }; new const opisy_przedmiotow[][] = {"Zabij kogos aby dostac przedmiot", "Cicho biegasz", "Obniza uszkodzenia zadawane graczowi o LW", "Obniza uszkodzenia zadawane graczowi o LW", "Zadajesz wieksze obrazenia nozem", "Gdy trafisz kogos od tylu, obrazenia sa 2 razy wieksze", "Masz LW premii niewidocznosci", "1/LW szans do ponownego odrodzenia sie po smierci", "Natychmiastowe zabicie z Noza", "Masz 1/LW szans na natychmiastowe zabicie z HE. Posiadasz takze ubranie wroga", "Natychmiastowe zabicie granatem HE. Zadajesz LW dodatkowych obrazen", "Mozesz zrobic podwojny skok w powietrzu", "Twoje obrazenia sa zredukowane o 5. Masz 1/LW szans na oslepienie wroga", "Natychmiastowe zabicie z AWP", "Za kazdego Fraga dostajesz 50 zycia", "Za kazdego Fraga dostajesz pelen magazynek oraz +20 hp", "Dostajesz 10 HP co 5 sekund", "Masz 500 pancerza", "Dostajesz +100 HP co runde, wolniej biegasz", "Uzyj, aby uleczyc sie do maksymalnej ilosci HP", "Nie posiadasz rozrzutu broni", "Zadajesz 10 obrazen wiecej", "Zadajesz 20 obrazen wiecej", "Twoj rozrzut jest mniejszy", "Nie dzialaja na ciebie zadne przedmioty", "Dostajesz +50 HP co runde, wolniej biegasz", "Masz 1/LW szans na odbicie pocisku przez pancerz", "Jestes odporny na 3 pociski w kazdej rundzie", "Nacisnij CTRL i SPACE aby uzyc modulu, modul laduje sie co 4 sekundy", "Dostajesz AWP i strzelasz 1/1", "Dostajesz Scouta i strzelasz 1/1", "Dostajesz 300 hp na runde, szybciej biegasz", "Dostajesz 1/1 M4A1 i wszystkie granaty", "Dostajesz 500hp, szybciej biegasz i w dodatku Kriega dostajesz", "Zadajesz 75 obrazen wiecej", "Dostajesz M4A1 + 20 obr.", "Dostajesz AK47 + 20 obr.", "Dostajesz M249 + 10 obr.", "Zadajesz 40 obrazen wiecej i masz zmienione ubranie", "Zwiekszona szybkosc", "Zadajesz 5 obrazen wiecej", "Zadajesz 100 wiecej obrazen", "Jestes prawie niewidzialny", "Radar pokazuje wszystkich zywych graczy", "Za zabicie gracza dostajesz expa", "Zadajesz 150 obrazen wiecej", "Zadajesz 50 obrazen wiecej", "Jestes szybki", "Jestes leciutki jak piorko", "Dostajesz na poczatku rundy duuuuzo hp, wolniej biegasz", "Dostajesz M4A1, Deagle oraz HE", "Jestes ultra szybki", "Deagle zadaje 2x obrazen wiecej", "M3 zadaje 2x obrazen wiecej", "M4a1 zadaje 2x obrazen wiecej", "AK47 zadaje 2x obrazen wiecej", "M249 zadaje 2x obrazen wiecej", "Co runde dostajesz AK47", "Co runde dostajesz M4A1", "Co runde dostajesz scouta z ktorego masz 1/1 szans na zabicie przeciwnika", "Co runde dostajesz deagla z ktorego zadajesz podwojne obrazenia", "Co runde dostajesz AK47 z ktorego zadajesz podwojne obrazenia", "Co runde dostajesz AK47 i masz 1/15 szans na zabicie przeciwnika", "Co runde dostajesz M4A1 i masz 1/15 szans na zabicie przeciwnika", "Co runde dostajesz DEAGLE i masz 1/5 szans na zabicie przeciwnika", "Co runde dostajesz Scout'a i masz 1/2 szans na zabicie przeciwnika", "Co runde dostajesz Scout'a i masz 1/1 szans na zabicie przeciwnika", "Co runde dostajesz 3000$", "Twoje zadawane obrazenia przeciwnikowi sa zwiekszone o 25", "Posiadasz wszystkie granaty, zadajesz o 5 dodatkowych obrazen, zadawane obrazenia Tobie sa zmiejszone o 5 , Twoja widocznosc jest zredukowana do 100", "Dostajesz 50hp za kazdego fraga", "Twoja widocznosc jest zredukowana do 1 i posiadasz tylko noz", "Biegasz o 30% szybciej", "Twoja grawitacja jest zmiejszona o polowe", "Co runde dostajesz rakiete", "Po kliknieciu 'E' mozesz przenikac przez scainy przez 8 sekund", "Wygladasz jak przeciwnik", "Do każdego zabicia dostajesz + 40 exp.", "Do każdego zabicia dostajesz + 70 exp.", "Co runde masz wiecej o 25 hp", "Co runde masz wiecej o 40 hp" }; new nazwa_gracza[33][64]; new klasa_gracza[33]; new poziom_gracza[33] = 1; new doswiadczenie_gracza[33]; new nowa_klasa_gracza[33]; new const doswiadczenie_poziomu[] = {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, 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, 264915,271040,277235,283500,289835,296240,302715,309260,315875,322560,329315,336140,343035,350000,357035,364140,371315,378560,385875,393260,400715,408240,415835,423500,431235,439040,446915,454860,462875,470960,479115,487340,495635,504000,512435,520940,529515,538160,546875,555660,564515,573440, 582435,591500,600635,609840,619115,628460,637875,647360,656915,666540,676235,686000,695835,705740,715715,725760,735875,746060,756315,766640,777035,787500,798035,808640,819315,830060,840875,851760,862715,873740,884835,896000,907235,918540,929915,941360,952875,964460,976115,987840,999635,1011500,1023435,1035440, 1047515,1059660,1071875,1084160,1096515,1108940,1121435,1134000,1146635,1159340,1172115,1184960,1197875,1210860,1223915,1237040,1250235,1263500,1276835,1290240,1303715,1317260,1330875,1344560,1358315,1372140,1386035,1400000}; new punkty_gracza[33]; new zdrowie_gracza[33]; new inteligencja_gracza[33]; new wytrzymalosc_gracza[33]; new Float:redukcja_obrazen_gracza[33]; new kondycja_gracza[33]; new maksymalne_zdrowie_gracza[33]; new Float:szybkosc_gracza[33]; new bool:gracz_resetuje[33]; enum { NONE = 0, Snajper, Komandos, Strzelec, Obronca, Medyk, Wsparcie, Saper, Demolitions, Rusher, Rambo, Partyzant, Szpieg, Szturmowiec, StrzelecWsparcia, LekkiZolnierz, Rebeliant, Terorysta, Niemiec, ObroncaKrzyza, Nozownik, Cheater, Mnich, Terminator, Narkoman, Prezydent, Kanar, Agent, Alfons, Superman, Admin, Mikolaj, Kucharz, NoSkill, Kapitan, DowodcaBrygady, Kapral}; new const zdrowie_klasy[] = { 0, 120, 140, 110, 120, 110, 100, 100, 110, 100, 130, 100, 70, 140, 125, 100, 125, 120, 70, 110, 200, 200, 150, 130, 250, 75, 110, 100, 80, 135, 150, 200, 135, 250, 200, 135, 145, 155}; new const Float:szybkosc_klasy[] = {0.0, 1.2, 1.35, 0.8, 0.8, 1.0, 1.0, 1.0, 1.0, 1.3 , 1.15, 1.1, 1.2, 0.9, 0.9, 1.35, 1.2, 1.5, 1.5, 1.0, 0.7, 0.8, 1.0, 2.0, 1.5, 4.0, 0.8, 1.0, 1.5, 1.0, 0.8, 2.0, 1.3, 1.0, 3.0, 1.35, 1.15, 1.25}; new const pancerz_klasy[] = { 0, 100, 100, 100, 150, 100, 0, 100, 100, 0, 150, 0, 0, 150, 50, 0, 25, 100, 0, 200, 0, 0, 0, 150, 0, 200, 100, 50, 0, 150, 250, 100, 100, 300, 250, 50, 25}; new const nazwy_klas[][] = {"Brak", "Snajper", "Komandos", "Strzelec wyborowy", "Obronca", "Medyk", "Wsparcie ogniowe", "Saper", "Demolitions", "Rusher", "Rambo (Klasa Premium)", "Partyzant", "Szpieg", "Szturmowiec", "Strzelec Wsparcia", "Lekki Zolniez", "Rebeliant", "Terorysta", "Niemiec", "ObroncaKrzyza", "Nozownik", "Cheater", "Mnich", "Terminator (Klasa Premium)", "Narkoman", "Prezydent", "Kanar", "Agent", "Alfons", "Superman", "Admin (Klasa Premium)", "Mikolaj", "Kucharz", "NoSkill (Super Premium)", "Kapitan", "Dowodca Brygady", "Kapral" }; new const opisy_klas[][] = {"Brak", "Dostaje AWP, scout i deagle, 120hp bazowe, 1/3 szansy natychmiastowego zabicia noza, 110% biegu, 100 pancerza", "Dostaje Deagle, 140hp bazowe, Natychmiastowe zabicie z noza (prawy przycisk myszy), 135% biegu, 100 pancerza", "Dostaje AK i M4A1, 110hp bazowe, 80 % biegu, 100 pancerza", "Dostaje M249 (Krowa), 120hp bazowe, 80% biegu, jest odporny na miny, ma wszystkie granaty, 150 pancerza", "Dostaje UMP45, 110hp bazowe, posiada apteczke, 100 pancerza", "Dostaje MP5, 100 hp bazowe, Ma dwie rakiety,ktore po trafieniu przeciwnika zadaja dużo obrazen", "Dostaje P90, 100hp bazowe, 100 pancerza, Dostaje 3 miny, gdy ktos w nie wejdzie wybuchaja", "Dostaje AUG, 110 hp bazowe, 100 pancerza, Ma wszystkie granaty, Dostaje dynamit, który zabiera sporo zycia wszystkim znajdującym się blisko niego", "Dostaje szotgana M3, 100 hp bazowe, 130% biegu", "Dostaje Famasa, 130 hp bazowe, 120% biegu, za kazde zabojstwo +20 hp oraz pelen magazynek, podwojny skok", "Dostaje P90 + FLASH, 100 hp bazowe, jest mniej widoczny", "Dostaje deagla, 70 hp bazowe, ma ubranie wroga", "Dostaje M4 + deagle + he, 140 hp bazowe + 150 kamizelki, wolniej biega", "Dostaje G3/SG-1, 125 hp bazowe, ma 1 rakiete", "Dostaje galil + p228, 100 hp bazowe, szybciej biega", "Dostaje sg552 + 1 mine + 1 HE, 100 hp bazowe", "Dostaje elites, 70 hp bazowe, o wiele szybciej biega", "Dostaje tarcze + deagle, 110 hp bazowe, 100% biegu, 100 pancerza", "Dostaje mp5, 200 hp bazowe, 70% biegu, 200 pancerza", "Dostaje noz, 200 hp bazowe, 80% biegu", "Dostaje AK i AWP, 120 hp bazowe, 100% biegu, 100 pancerza", "Dostaje M249 (krowa), 150 hp bazowe, 100% biegu, 0 pancerza, wszystkie granaty", "Dostaje deagle + elites, 130 hp bazowe, 200% biegu, wszystkie granaty", "Dostaje mp5, 250 hp bazowe, 150% biegu, 150 pancerza, wszystkie granaty", "Dostaje m3, 75 hp bazowe, 400% biegu", "Dostaje scout i deagle, 110 hp bazowe, 80% biegu, 200 pancerza, HE i FB", "Dostaje famasa, 100 hp bazowe, 100% biegu, 100 pancerza", "Dostaje m4, 80 hp bazowe, 150% biegu, 50 pancerza, wszystkie granaty", "Dostaje awp + m4, deagle + elites 80 hp bazowe, 100% biegu", "Dostaje UMP45, 150 hp bazowe, 80% biegu, 150 pancerza. Ma dwie rakiety, ktore po trafieniu przeciwnika zadaja dużo obrazen", "Dostaje AWP + M249 + AK47 + Deagle, 200 hp bazowe, 200% biegu, 250 pancerza, wszystkie granaty", "Dostaje elites, 135 hp bazowe, 130% biegu, 100 pancerza, wszystkie granaty", "Dostaje glocka i noz, 135 hp bazowe, 130% biegu, 100 pancerza, wszystkie granaty", "Dostaje AWP + AUG, deagle + usp, 300 hp bazowe, 500% biegu, 200 pancerza, wszystkie granaty", "Dostaje m4a1 natychamistowe zabicie z AWP i He 135hp 134%biegu", "Dostaje M4 i M3, wszystkie granaty 145 hp szybko biega i moze uzdrowic graczy", "Dostaje M4 i Famasa 2rakietki 155hp szybko biega i auto bh" }; new ilosc_apteczek_gracza[33]; new ilosc_rakiet_gracza[33]; new Float:poprzednia_rakieta_gracza[33]; new ilosc_min_gracza[33]; new ilosc_dynamitow_gracza[33]; new ilosc_skokow_gracza[33]; new bool:freezetime = true; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); g_vault = nvault_open("CodMod"); register_think("Apteczka","ApteczkaThink"); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1); RegisterHam(Ham_Touch, "armoury_entity", "DotykBroni"); RegisterHam(Ham_Touch, "weapon_shield", "DotykBroni"); RegisterHam(Ham_Touch, "weaponbox", "DotykBroni"); register_forward(FM_CmdStart, "CmdStart"); register_forward(FM_EmitSound, "EmitSound"); register_logevent("PoczatekRundy", 2, "1=Round_Start"); register_logevent("BombaPodlozona", 3, "2=Planted_The_Bomb"); register_event("SendAudio", "BombaRozbrojona", "a", "2&%!MRAD_BOMBDEF"); register_event("BarTime", "RozbrajaBombe", "be", "1=10", "1=5"); register_event("DeathMsg", "Death", "ade"); register_event("Damage", "Damage", "b", "2!=0"); register_event("CurWeapon","CurWeapon","be", "1=1"); register_event("HLTV", "NowaRunda", "a", "1=0", "2=0"); register_touch("Rocket", "*" , "DotykRakiety"); register_touch("Mine", "player", "DotykMiny"); register_cvar("cod_killxp", "10"); register_cvar("cod_bombxp", "100"); register_clcmd("say /klasa", "WybierzKlase"); register_clcmd("say /klasy", "OpisKlasy"); register_clcmd("say /przedmiot", "OpisPrzedmiotu"); register_clcmd("say /item", "OpisPrzedmiotu"); register_clcmd("say /drop", "WyrzucPrzedmiot"); register_clcmd("say /wyrzuc", "WyrzucPrzedmiot"); register_clcmd("say /daj", "OddajPrzedmiot"); register_clcmd("say /reset", "KomendaResetujPunkty"); register_clcmd("say /sklep", "Sklep"); register_clcmd("fullupdate", "BlokujKomende"); register_clcmd("cl_autobuy", "BlokujKomende"); register_clcmd("say /molotov", "BlokujKomende"); register_clcmd("say molotov", "BlokujKomende"); register_clcmd("cl_rebuy", "BlokujKomende"); register_clcmd("cl_setautobuy","BlokujKomende"); register_clcmd("rebuy", "BlokujKomende"); register_clcmd("autobuy", "BlokujKomende"); register_clcmd("glock", "BlokujKomende"); register_clcmd("usp", "BlokujKomende"); register_clcmd("p228", "BlokujKomende"); register_clcmd("deagle", "BlokujKomende"); register_clcmd("elites", "BlokujKomende"); register_clcmd("fn57", "BlokujKomende"); register_clcmd("m3", "BlokujKomende"); register_clcmd("XM1014", "BlokujKomende"); register_clcmd("mac10", "BlokujKomende"); register_clcmd("tmp", "BlokujKomende"); register_clcmd("mp5", "BlokujKomende"); register_clcmd("ump45", "BlokujKomende"); register_clcmd("p90", "BlokujKomende"); register_clcmd("galil", "BlokujKomende"); register_clcmd("ak47", "BlokujKomende"); register_clcmd("scout", "BlokujKomende"); register_clcmd("sg552", "BlokujKomende"); register_clcmd("awp", "BlokujKomende"); register_clcmd("g3sg1", "BlokujKomende"); register_clcmd("famas", "BlokujKomende"); register_clcmd("m4a1", "BlokujKomende"); register_clcmd("bullpup", "BlokujKomende"); register_clcmd("sg550", "BlokujKomende"); register_clcmd("m249", "BlokujKomende"); register_clcmd("shield", "BlokujKomende"); register_clcmd("hegren", "BlokujKomende"); register_clcmd("sgren", "BlokujKomende"); register_clcmd("flash", "BlokujKomende"); //register_concmd("cod_setlvl", "cmd_setlvl", ADMIN_IMMUNITY, " "); register_concmd("cod_addexp", "cmd_addexp", ADMIN_IMMUNITY, " "); register_concmd("cod_remexp", "cmd_remexp", ADMIN_IMMUNITY, " "); g_msg_screenfade = get_user_msgid("ScreenFade"); SyncHudObj = CreateHudSyncObj(); SyncHudObj2 = CreateHudSyncObj(); SyncHudObj3 = CreateHudSyncObj(); doswiadczenia_za_zabojstwo = get_cvar_num("cod_killxp"); doswiadczenie_za_bombe = get_cvar_num("cod_bombxp"); doswiadczenie_za_kase = 100; doswiadczenie_za_kasez = 300; doswiadczenie_za_totek = 200; doswiadczenie_za_fail = 1; set_task(30.0, "Pomoc"); } public Sklep(id) { new menu = menu_create("Sklepik:", "Sklep_Handle"); menu_additem(menu, "Ketonal \r[Leczy 20 HP] \yKoszt: \r1500$"); menu_additem(menu, "Flegamina \r[Leczy 50 HP] \yKoszt: \r3000$"); menu_additem(menu, "Aspirina \r[Leczy 100 HP] \yKoszt: \r5000$"); menu_additem(menu, "RedBull \r[Wysoki Skok + Szybkie Chodzenie] \yKoszt: \r2000$"); menu_additem(menu, "Lotto \r[Totek] \yKoszt: \r2000$"); menu_additem(menu, "Doswiadczenie \r[Dodaje 100 EXP] \yKoszt: \r5000$"); menu_additem(menu, "Super Doswiadczenie \r[Dodaje 300 EXP] \yKoszt: \r10000$"); menu_display(id, menu); } public Sklep_Handle(id, menu, item) { client_cmd(id, "spk QTM_CodMod/select"); if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } menu_display(id, menu); new kasa_gracza = cs_get_user_money(id); new hp = get_user_health(id); switch(item) { case 0: { new koszt = 1500; if (kasa_gracza= maksymalne_zdrowie_gracza[id]) { ColorChat(id,GREEN,"[SKLEP]^x01 Jestes w pelni uleczony."); return PLUGIN_CONTINUE; } cs_set_user_money(id, kasa_gracza-koszt); new ammount=20; new nowe_zdrowie = (hp+ammount= maksymalne_zdrowie_gracza[id]) { ColorChat(id,GREEN,"[SKLEP]^x01 Jestes w pelni uleczony."); return PLUGIN_CONTINUE; } cs_set_user_money(id, kasa_gracza-koszt); new ammount=50; new nowe_zdrowie = (hp+ammount= maksymalne_zdrowie_gracza[id]) { ColorChat(id,GREEN,"[SKLEP]^x01 Jestes w pelni uleczony."); return PLUGIN_CONTINUE; } cs_set_user_money(id, kasa_gracza-koszt); new ammount=100; new nowe_zdrowie = (hp+ammount 0) { ilosc_skokow_gracza[id]--; new Float:velocity[3]; entity_get_vector(id,EV_VEC_velocity,velocity); velocity[2] = random_float(265.0,285.0); entity_set_vector(id,EV_VEC_velocity,velocity); } else if(flags & FL_ONGROUND) { ilosc_skokow_gracza[id] = 0; if(informacje_przedmiotu_gracza[id][0] == 11) ilosc_skokow_gracza[id]++; if(klasa_gracza[id] == Rambo) ilosc_skokow_gracza[id]++; } } if(button & IN_ATTACK) { new Float:punchangle[3]; if(informacje_przedmiotu_gracza[id][0] == 20) entity_set_vector(id, EV_VEC_punchangle, punchangle); if(informacje_przedmiotu_gracza[id][0] == 23) { entity_get_vector(id, EV_VEC_punchangle, punchangle); for(new i=0; i<3;i++) punchangle[i]*=0.9; entity_set_vector(id, EV_VEC_punchangle, punchangle); } } if(informacje_przedmiotu_gracza[id][0] == 28 && button & IN_JUMP && button & IN_DUCK && flags & FL_ONGROUND && get_gametime() > informacje_przedmiotu_gracza[id][1]+4.0) { informacje_przedmiotu_gracza[id][1] = floatround(get_gametime()); new Float:velocity[3]; VelocityByAim(id, 700, velocity); velocity[2] = random_float(265.0,285.0); entity_set_vector(id, EV_VEC_velocity, velocity); } return FMRES_IGNORED; } public Odrodzenie(id) { if(!is_user_alive(id) || !is_user_connected(id)) return PLUGIN_CONTINUE; if(nowa_klasa_gracza[id]) { klasa_gracza[id] = nowa_klasa_gracza[id]; nowa_klasa_gracza[id] = 0; strip_user_weapons(id); give_item(id, "weapon_knife"); switch(get_user_team(id)) { case 1: give_item(id, "weapon_glock18"); case 2: give_item(id, "weapon_usp"); } WczytajDane(id, klasa_gracza[id]); } if(!klasa_gracza[id]) { WybierzKlase(id); return PLUGIN_CONTINUE; } switch(klasa_gracza[id]) { case Snajper: { give_item(id, "weapon_awp"); give_item(id, "weapon_scout"); give_item(id, "weapon_deagle"); } case Komandos: { give_item(id, "weapon_deagle"); } case Strzelec: { give_item(id, "weapon_m4a1"); give_item(id, "weapon_ak47"); } case Obronca: { give_item(id, "weapon_m249"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); } case Medyk: { give_item(id, "weapon_ump45"); ilosc_apteczek_gracza[id] = 2; } case Wsparcie: { give_item(id, "weapon_mp5navy"); ilosc_rakiet_gracza[id] = 2; } case Saper: { give_item(id, "weapon_p90"); ilosc_min_gracza[id] = 3; } case Demolitions: { give_item(id, "weapon_aug"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); ilosc_dynamitow_gracza[id] = 1; } case Rusher: { give_item(id, "weapon_m3"); } case Rambo: { give_item(id, "weapon_famas"); } case Partyzant: { give_item(id, "weapon_p90"); give_item(id, "weapon_flashbang"); set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70); } case Szpieg: { give_item(id, "weapon_deagle"); ZmienUbranie(id, 0); } case Szturmowiec: { give_item(id, "weapon_m4a1"); give_item(id, "weapon_deagle"); give_item(id, "weapon_hegrenade"); } case StrzelecWsparcia: { give_item(id, "weapon_g3sg1"); ilosc_rakiet_gracza[id] = 1 ; } case LekkiZolnierz: { give_item(id, "weapon_galil"); give_item(id, "weapon_p228"); } case Rebeliant: { give_item(id, "weapon_sg552"); give_item(id, "weapon_hegrenade"); ilosc_min_gracza[id] = 1 ; } case Terorysta: { give_item(id, "weapon_elite"); } case Niemiec: { give_item(id, "weapon_m4a1"); give_item(id, "weapon_deagle"); ilosc_rakiet_gracza[id] = 1 ; } case ObroncaKrzyza: { give_item(id, "weapon_mp5"); } case Nozownik: { give_item(id, "weapon_knife"); give_item(id, "weapon_flashbang"); set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70); } case Cheater: { give_item(id, "weapon_m249"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); } case Mnich: { give_item(id, "weapon_deagle"); give_item(id, "weapon_elites"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); } case Terminator: { give_item(id, "weapon_mp5"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); } case Narkoman: { give_item(id, "weapon_m3"); } case Prezydent: { give_item(id, "weapon_scout"); give_item(id, "weapon_deagle"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); } case Kanar: { give_item(id, "weapon_famas"); } case Agent: { give_item(id, "weapon_m4a1"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); } case Alfons: { give_item(id, "weapon_m4a1"); give_item(id, "weapon_awp"); give_item(id, "weapon_deagle"); give_item(id, "weapon_elites"); } case Superman: { give_item(id, "weapon_ump45"); ilosc_rakiet_gracza[id] = 2; } case Admin: { give_item(id, "weapon_awp"); give_item(id, "weapon_m249"); give_item(id, "weapon_ak47"); give_item(id, "weapon_deagle"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); } case Mikolaj: { give_item(id, "weapon_elites"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); } case Kucharz: { give_item(id, "weapon_elites"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); } case NoSkill: { give_item(id, "weapon_awp"); give_item(id, "weapon_aug"); give_item(id, "weapon_deagle"); give_item(id, "weapon_usp"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); } case Kapitan: { give_item(id, "weapon_awp"); give_item(id, "weapon_m4a1"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_deagle"); } case DowodcaBrygady: { cod_add_wskrzes(id, 1); give_item(id, "weapon_m3"); give_item(id, "weapon_m4a1"); give_item(id, "weapon_deagle"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); } case Kapral: { give_item(id, "weapon_m4a1"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); ilosc_rakiet_gracza[id] = 2; give_item(id, "weapon_famas"); give_item(id, "weapon_deagle"); } } if(gracz_resetuje[id]) { ResetujPunkty(id); gracz_resetuje[id] = false; } if(punkty_gracza[id]>0) PrzydzielPunkty(id); if(informacje_przedmiotu_gracza[id][0] == 10 || informacje_przedmiotu_gracza[id][0] == 9) give_item(id, "weapon_hegrenade"); if(informacje_przedmiotu_gracza[id][0] == 9) ZmienUbranie(id, 0); if(informacje_przedmiotu_gracza[id][0] == 1) set_user_footsteps(id, 1); else set_user_footsteps(id, 0); if(informacje_przedmiotu_gracza[id][0] == 13) give_item(id, "weapon_awp"); if(informacje_przedmiotu_gracza[id][0] == 19) informacje_przedmiotu_gracza[id][1] = 1; if(informacje_przedmiotu_gracza[id][0] == 27) informacje_przedmiotu_gracza[id][1] = 3; if(informacje_przedmiotu_gracza[id][0] == 29) give_item(id, "weapon_awp"); if(informacje_przedmiotu_gracza[id][0] == 30) give_item(id, "weapon_scout"); if(informacje_przedmiotu_gracza[id][0] == 32) give_item(id, "weapon_m4a1"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_smokegrenade"); give_item(id, "weapon_flashbang"); if(informacje_przedmiotu_gracza[id][0] == 33) give_item(id, "weapon_sg552"); if(informacje_przedmiotu_gracza[id][0] == 35) give_item(id, "weapon_m4a1"); if(informacje_przedmiotu_gracza[id][0] == 36) give_item(id, "weapon_ak47"); if(informacje_przedmiotu_gracza[id][0] == 37) give_item(id, "weapon_m249"); if(informacje_przedmiotu_gracza[id][0] == 38) ZmienUbranie(id, 0); if(informacje_przedmiotu_gracza[id][0] == 42) set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 20); if(informacje_przedmiotu_gracza[id][0] == 46) informacje_przedmiotu_gracza[id][1] = 1; if(informacje_przedmiotu_gracza[id][0] == 48) set_user_gravity(id, 0.2); if(informacje_przedmiotu_gracza[id][0] == 50) give_item(id, "weapon_m4a1"); give_item(id, "weapon_deagle"); give_item(id, "weapon_hegrenade"); if(informacje_przedmiotu_gracza[id][0] == 52) give_item(id, "weapon_deagle"); if(informacje_przedmiotu_gracza[id][0] == 53) give_item(id, "weapon_m3"); if(informacje_przedmiotu_gracza[id][0] == 54) give_item(id, "weapon_m4a1"); if(informacje_przedmiotu_gracza[id][0] == 55) give_item(id, "weapon_ak47"); if(informacje_przedmiotu_gracza[id][0] == 56) give_item(id, "weapon_m249"); if(informacje_przedmiotu_gracza[id][0] == 57) give_item(id, "weapon_ak47"); if(informacje_przedmiotu_gracza[id][0] == 58) give_item(id, "weapon_m4a1"); if(informacje_przedmiotu_gracza[id][0] == 59) give_item(id, "weapon_scout"); if(informacje_przedmiotu_gracza[id][0] == 60) give_item(id, "weapon_deagle"); if(informacje_przedmiotu_gracza[id][0] == 61) give_item(id, "weapon_ak47"); if(informacje_przedmiotu_gracza[id][0] == 62) give_item(id, "weapon_ak47"); if(informacje_przedmiotu_gracza[id][0] == 63) give_item(id, "weapon_m4a1"); if(informacje_przedmiotu_gracza[id][0] == 64) give_item(id, "weapon_deagle"); if(informacje_przedmiotu_gracza[id][0] == 65) give_item(id, "weapon_scout"); if(informacje_przedmiotu_gracza[id][0] == 66) give_item(id, "weapon_scout"); if(informacje_przedmiotu_gracza[id][0] == 67) { cs_set_user_money(id, cs_get_user_money(id)+3000,0); } if(informacje_przedmiotu_gracza[id][0] == 69) give_item(id, "weapon_smokegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_hegrenade"); set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 100); new weapons[32]; new weaponsnum; get_user_weapons(id, weapons, weaponsnum); for(new i=0; i 0) cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]); redukcja_obrazen_gracza[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(wytrzymalosc_gracza[id])))/100); maksymalne_zdrowie_gracza[id] = zdrowie_klasy[klasa_gracza[id]]+zdrowie_gracza[id]*2; szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC*szybkosc_klasy[klasa_gracza[id]]+floatround(kondycja_gracza[id]*1.3); if(informacje_przedmiotu_gracza[id][0] == 18) { maksymalne_zdrowie_gracza[id] += 100; szybkosc_gracza[id] -= 0.4; } if(informacje_przedmiotu_gracza[id][0] == 25) { maksymalne_zdrowie_gracza[id] += 50; szybkosc_gracza[id] -= 0.3; } set_user_armor(id, pancerz_klasy[klasa_gracza[id]]); set_user_health(id, maksymalne_zdrowie_gracza[id]); if(informacje_przedmiotu_gracza[id][0] == 17) set_user_armor(id, 500); if(informacje_przedmiotu_gracza[id][0] == 32) { if (is_user_alive(id)) set_user_health(id,5) } if(informacje_przedmiotu_gracza[id][0] == 33) { maksymalne_zdrowie_gracza[id] += 500; szybkosc_gracza[id] += 0.5; give_item(id, "weapon_sg552"); } if(informacje_przedmiotu_gracza[id][0] == 49) { maksymalne_zdrowie_gracza[id] += 800; szybkosc_gracza[id] -= 0.4; } if(informacje_przedmiotu_gracza[id][0] == 51) { maksymalne_zdrowie_gracza[id] += 50; szybkosc_gracza[id] -= 0.3; } if(informacje_przedmiotu_gracza[id][0] == 74) szybkosc_gracza[id] += 0.3; if(informacje_przedmiotu_gracza[id][0] == 75) set_user_gravity(id, 0.40); if(informacje_przedmiotu_gracza[id][0] == 76) ilosc_rakiet_gracza[id] = 1; if(informacje_przedmiotu_gracza[id][0] == 77) set_task(0.1,"clipon",id,"",0,"a",1); if(informacje_przedmiotu_gracza[id][0] == 78) ZmienUbranie(id, 0); if(informacje_przedmiotu_gracza[id][0] == 79) maksymalne_zdrowie_gracza[id] += 25; if(informacje_przedmiotu_gracza[id][0] == 80) maksymalne_zdrowie_gracza[id] += 40; return PLUGIN_CONTINUE; } public PoczatekRundy() { freezetime = false; for(new id=0;id<=32;id++) { if(!is_user_alive(id)) continue; set_task(0.1, "UstawSzybkosc", id+ZADANIE_USTAW_SZYBKOSC); switch(get_user_team(id)) { case 1: client_cmd(id, "spk QTM_CodMod/start"); case 2: client_cmd(id, "spk QTM_CodMod/start2"); } } } public NowaRunda() { freezetime = true; new iEnt = find_ent_by_class(-1, "Mine"); while(iEnt > 0) { remove_entity(iEnt); iEnt = find_ent_by_class(iEnt, "Mine"); } } public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_alive(this) || !is_user_connected(this) || informacje_przedmiotu_gracza[this][0] == 24 || !is_user_connected(idattacker) || get_user_team(this) == get_user_team(idattacker) || !klasa_gracza[idattacker]) return HAM_IGNORED; new health = get_user_health(this); new weapon = get_user_weapon(idattacker); if(health < 2) return HAM_IGNORED; if(informacje_przedmiotu_gracza[this][0] == 27 && informacje_przedmiotu_gracza[this][1]>0) { informacje_przedmiotu_gracza[this][1]--; return HAM_SUPERCEDE; } if(wytrzymalosc_gracza[this]>0) damage -= redukcja_obrazen_gracza[this]*damage; if(informacje_przedmiotu_gracza[this][0] == 2 || informacje_przedmiotu_gracza[this][0] == 3) damage-=(float(informacje_przedmiotu_gracza[this][1])20) { damage-=20; doswiadczenie_gracza[attacker]++; } } SprawdzPoziom(attacker); return PLUGIN_CONTINUE; } public Death() { new id = read_data(2); new attacker = read_data(1); if(!is_user_alive(attacker) || !is_user_connected(attacker)) return PLUGIN_CONTINUE; new weapon = get_user_weapon(attacker); new zdrowie = get_user_health(attacker); if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker]) { new nowe_doswiadczenie = 0; nowe_doswiadczenie += doswiadczenia_za_zabojstwo; if(klasa_gracza[id] == Rambo && klasa_gracza[attacker] != Rambo) nowe_doswiadczenie += doswiadczenia_za_zabojstwo*2; if(poziom_gracza[id] > poziom_gracza[attacker]) nowe_doswiadczenie += poziom_gracza[id] - poziom_gracza[attacker]; if(klasa_gracza[attacker] == Rambo || informacje_przedmiotu_gracza[attacker][0] == 15 && maxClip[weapon] != -1) { new nowe_zdrowie = (zdrowie+20 1) { doswiadczenie_gracza[podkladajacy] += doswiadczenie_za_bombe; for (new i=0; i0) PrzydzielPunkty(id); return PLUGIN_CONTINUE; } public ResetujPunkty(id) { punkty_gracza[id] = poziom_gracza[id]*2-2; inteligencja_gracza[id] = 0; zdrowie_gracza[id] = 0; kondycja_gracza[id] = 0; wytrzymalosc_gracza[id] = 0; } public KomendaResetujPunkty(id) { client_print(id, print_chat, "[COD:MW] Umiejetnosci zostana zresetowane w nastepnej rundzie."); client_cmd(id, "spk QTM_CodMod/select"); gracz_resetuje[id] = true; } public WyszkolenieSanitarne(id) { id -= ZADANIE_WYSZKOLENIE_SANITARNE; if(informacje_przedmiotu_gracza[id][0] != 16) return PLUGIN_CONTINUE; set_task(5.0, "WyszkolenieSanitarne", id+ZADANIE_WYSZKOLENIE_SANITARNE); if(!is_user_alive(id)) return PLUGIN_CONTINUE; new health = get_user_health(id); new new_health = (health+10 get_gametime()) { client_print(id, print_center, "Rakiet mozesz uzywac co 2 sekundy!"); return PLUGIN_CONTINUE; } if (is_user_alive(id)) { if(inteligencja_gracza[id] < 1) client_print(id, print_center, "Aby wzmocnic rakiete, zwieksz inteligencje!"); poprzednia_rakieta_gracza[id] = get_gametime(); ilosc_rakiet_gracza[id]--; new Float: Origin[3], Float: vAngle[3], Float: Velocity[3]; entity_get_vector(id, EV_VEC_v_angle, vAngle); entity_get_vector(id, EV_VEC_origin , Origin); new Ent = create_entity("info_target"); entity_set_string(Ent, EV_SZ_classname, "Rocket"); entity_set_model(Ent, "models/rpgrocket.mdl"); vAngle[0] *= -1.0; entity_set_origin(Ent, Origin); entity_set_vector(Ent, EV_VEC_angles, vAngle); entity_set_int(Ent, EV_INT_effects, 2); entity_set_int(Ent, EV_INT_solid, SOLID_BBOX); entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY); entity_set_edict(Ent, EV_ENT_owner, id); VelocityByAim(id, 1000 , Velocity); entity_set_vector(Ent, EV_VEC_velocity ,Velocity); } return PLUGIN_CONTINUE; } public PolozDynamit(id) { if(!ilosc_dynamitow_gracza[id]) { client_print(id, print_center, "Wykorzystales juz caly dynamit!"); return PLUGIN_CONTINUE; } if(inteligencja_gracza[id] < 1) client_print(id, print_center, "Aby wzmocnic dynamit, zwieksz inteligencje!"); ilosc_dynamitow_gracza[id]--; new Float:fOrigin[3], iOrigin[3]; entity_get_vector( id, EV_VEC_origin, fOrigin); iOrigin[0] = floatround(fOrigin[0]); iOrigin[1] = floatround(fOrigin[1]); iOrigin[2] = floatround(fOrigin[2]); message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin); write_byte(TE_EXPLOSION); write_coord(iOrigin[0]); write_coord(iOrigin[1]); write_coord(iOrigin[2]); write_short(sprite_blast); write_byte(32); write_byte(20); write_byte(0); message_end(); message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin ); write_byte( TE_BEAMCYLINDER ); write_coord( iOrigin[0] ); write_coord( iOrigin[1] ); write_coord( iOrigin[2] ); write_coord( iOrigin[0] ); write_coord( iOrigin[1] + 300 ); write_coord( iOrigin[2] + 300 ); write_short( sprite_white ); write_byte( 0 ); // startframe write_byte( 0 ); // framerate write_byte( 10 ); // life write_byte( 10 ); // width write_byte( 255 ); // noise write_byte( 255 ); // r, g, b write_byte( 100 );// r, g, b write_byte( 100 ); // r, g, b write_byte( 128 ); // brightness write_byte( 8 ); // speed message_end(); new entlist[33]; new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32); for (new i=0; i < numfound; i++) { new pid = entlist[i]; if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24) continue; ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencja_gracza[id]) , 1); } return PLUGIN_CONTINUE; } public PostawMine(id) { if (!ilosc_min_gracza[id]) { client_print(id, print_center, "Wykorzystales juz wszystkie miny!"); return PLUGIN_CONTINUE; } if(inteligencja_gracza[id] < 1) client_print(id, print_center, "Aby wzmocnic miny, zwieksz inteligencje!"); ilosc_min_gracza[id]--; new Float:origin[3]; entity_get_vector(id, EV_VEC_origin, origin); new ent = create_entity("info_target"); entity_set_string(ent ,EV_SZ_classname, "Mine"); entity_set_edict(ent ,EV_ENT_owner, id); entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS); entity_set_origin(ent, origin); entity_set_int(ent, EV_INT_solid, SOLID_BBOX); entity_set_model(ent, "models/mine.mdl"); entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0}); drop_to_floor(ent); entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ; set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50) ; return PLUGIN_CONTINUE; } public DotykMiny(ent, id) { new attacker = entity_get_edict(ent, EV_ENT_owner); if (get_user_team(attacker) != get_user_team(id)) { new Float:fOrigin[3], iOrigin[3]; entity_get_vector( ent, EV_VEC_origin, fOrigin); iOrigin[0] = floatround(fOrigin[0]); iOrigin[1] = floatround(fOrigin[1]); iOrigin[2] = floatround(fOrigin[2]); message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin); write_byte(TE_EXPLOSION); write_coord(iOrigin[0]); write_coord(iOrigin[1]); write_coord(iOrigin[2]); write_short(sprite_blast); write_byte(32); // scale write_byte(20); // framerate write_byte(0);// flags message_end(); new entlist[33]; new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32); for (new i=0; i < numfound; i++) { new pid = entlist[i]; if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24 || klasa_gracza[id] == Obronca) continue; ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencja_gracza[attacker]) , 1); } remove_entity(ent); } } public DotykRakiety(ent) { if ( !is_valid_ent(ent)) return; new attacker = entity_get_edict(ent, EV_ENT_owner); new Float:fOrigin[3], iOrigin[3]; entity_get_vector( ent, EV_VEC_origin, fOrigin); iOrigin[0] = floatround(fOrigin[0]); iOrigin[1] = floatround(fOrigin[1]); iOrigin[2] = floatround(fOrigin[2]); message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin); write_byte(TE_EXPLOSION); write_coord(iOrigin[0]); write_coord(iOrigin[1]); write_coord(iOrigin[2]); write_short(sprite_blast); write_byte(32); // scale write_byte(20); // framerate write_byte(0);// flags message_end(); new entlist[33]; new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32); for (new i=0; i < numfound; i++) { new pid = entlist[i]; if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24) continue; ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_gracza[attacker]) , 1); } remove_entity(ent); } public CurWeapon(id) { if(freezetime || !klasa_gracza[id]) return PLUGIN_CONTINUE; new weapon = read_data(2); UstawSzybkosc(id); if(weapon == CSW_C4) podkladajacy = id; return PLUGIN_CONTINUE; } public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch ) { if(equal(szSound, "common/wpn_denyselect.wav")) { UzyjPrzedmiotu(id); return FMRES_SUPERCEDE; } return FMRES_IGNORED; } public UzyjPrzedmiotu(id) { if(informacje_przedmiotu_gracza[id][0] == 19 && informacje_przedmiotu_gracza[id][1]>0) { set_user_health(id, maksymalne_zdrowie_gracza[id]); informacje_przedmiotu_gracza[id][1]--; } if(ilosc_apteczek_gracza[id]>0) StworzApteczke(id); if(ilosc_rakiet_gracza[id]>0) StworzRakiete(id); if(ilosc_min_gracza[id]>0) PostawMine(id); if(ilosc_dynamitow_gracza[id]>0) PolozDynamit(id); return PLUGIN_HANDLED; } public ZapiszDane(id) { new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]); format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]); nvault_set(g_vault,vaultkey,vaultdata); } public WczytajDane(id, klasa) { new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa); format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]); nvault_get(g_vault,vaultkey,vaultdata,255); replace_all(vaultdata, 255, "#", " "); new doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32]; parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, inteligencjagracza, 31, silagracza, 31, zrecznoscgracza, 31, zwinnoscgracza, 31); doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza); poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1; inteligencja_gracza[id] = str_to_num(inteligencjagracza); zdrowie_gracza[id] = str_to_num(silagracza); wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza); kondycja_gracza[id] = str_to_num(zwinnoscgracza); punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]; } public WyrzucPrzedmiot(id) { if(informacje_przedmiotu_gracza[id][0]) { client_print(id, print_chat, "[COD:MW] Wyrzuciles %s.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]); UsunPrzedmiot(id); } else client_print(id, print_chat, "[COD:MW] Nie masz zadnego przedmiotu.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]); } public UsunPrzedmiot(id) { informacje_przedmiotu_gracza[id][0] = 0; informacje_przedmiotu_gracza[id][1] = 0; if(is_user_alive(id)) set_user_footsteps(id, 0); set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255); ZmienUbranie(id, 1); } public DajPrzedmiot(id, przedmiot) { UsunPrzedmiot(id); informacje_przedmiotu_gracza[id][0] = przedmiot; client_print(id, print_chat, "[COD:MW] Zdobyles %s.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]); switch(przedmiot) { case 1: { set_user_footsteps(id, 1); } case 2: { informacje_przedmiotu_gracza[id][1] = random_num(3,6); } case 3: { informacje_przedmiotu_gracza[id][1] = random_num(6, 11); } case 5: { informacje_przedmiotu_gracza[id][1] = random_num(6, 9); } case 6: { informacje_przedmiotu_gracza[id][1] = random_num(100, 150); set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, informacje_przedmiotu_gracza[id][1]); } case 7: { informacje_przedmiotu_gracza[id][1] = random_num(2, 4); } case 8: { if(klasa_gracza[id] == Komandos) DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1)); } case 9: { informacje_przedmiotu_gracza[id][1] = random_num(1, 3); ZmienUbranie(id, 0); give_item(id, "weapon_hegrenade"); } case 10: { informacje_przedmiotu_gracza[id][1] = random_num(4, 8); give_item(id, "weapon_hegrenade"); } case 12: { informacje_przedmiotu_gracza[id][1] = random_num(1, 4); } case 13: { give_item(id, "weapon_awp"); } case 15: { if(klasa_gracza[id] == Rambo) DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1)); } case 16: { set_task(5.0, "WyszkolenieSanitarne", id+ZADANIE_WYSZKOLENIE_SANITARNE); } case 19: { informacje_przedmiotu_gracza[id][1] = 1; } case 26: { informacje_przedmiotu_gracza[id][1] = random_num(3, 6); } case 27: { informacje_przedmiotu_gracza[id][1] = 3; } } } public OpisPrzedmiotu(id) { new opis_przedmiotu[128]; new losowa_wartosc[3]; num_to_str(informacje_przedmiotu_gracza[id][1], losowa_wartosc, 2); format(opis_przedmiotu, 127, opisy_przedmiotow[informacje_przedmiotu_gracza[id][0]]); replace_all(opis_przedmiotu, 127, "LW", losowa_wartosc); client_print(id, print_chat, "Przedmiot: %s.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]); client_print(id, print_chat, "Opis: %s.", opis_przedmiotu); } public Wskrzes(id) { id-=ZADANIE_WSKRZES; ExecuteHamB(Ham_CS_RoundRespawn, id); } public SprawdzPoziom(id) { if(poziom_gracza[id] < 201) { while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]]) { poziom_gracza[id]++; set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2); ShowSyncHudMsg(id, SyncHudObj3, "Awansowales do nastepnego poziomu!"); client_cmd(id, "spk QTM_CodMod/levelup"); } punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]; } ZapiszDane(id); } public PokazInformacje(id) { id -= ZADANIE_POKAZ_INFORMACJE; set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE); if(!is_user_alive(id)) { new target = entity_get_int(id, EV_INT_iuser2); if(target == 0) return PLUGIN_CONTINUE; set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2); ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPrzedmiot : %s", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target], nazwy_przedmiotow[informacje_przedmiotu_gracza[target][0]]); return PLUGIN_CONTINUE; } set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Przedmiot : %s]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]); return PLUGIN_CONTINUE; } public PokazReklame(id) { id-=ZADANIE_POKAZ_REKLAME; client_print(id, print_chat, "[COD:MW] Witaj w Modyfikacji Call of Duty stworzonej przez QTM_Peyote."); } public UstawSzybkosc(id) { id -= id>32? ZADANIE_USTAW_SZYBKOSC: 0; if(klasa_gracza[id]) set_user_maxspeed(id, szybkosc_gracza[id]); } public ZmienUbranie(id,reset) { if (id<1 || id>32 || !is_user_connected(id)) return PLUGIN_CONTINUE; if (reset) cs_reset_user_model(id); else { new num = random_num(0,3); switch(get_user_team(id)) { case 1: cs_set_user_model(id, Ubrania_CT[num]); case 2:cs_set_user_model(id, Ubrania_Terro[num]); } } return PLUGIN_CONTINUE; } public Pomoc() { switch(random(6)) { case 0: client_print(0, print_chat, "[COD:MW] Aby zresetowac umiejetnosci napisz /reset."); case 1: client_print(0, print_chat, "[COD:MW] Aby zmienic klase napisz /klasa."); case 2: client_print(0, print_chat, "[COD:MW] Aby uzyc przedmiotu nacisnij E."); case 3: client_print(0, print_chat, "[COD:MW] Aby wyrzucic przedmiot napisz /wyrzuc."); case 4: client_print(0, print_chat, "[COD:MW] Aby zobaczyc opis przedmiotu napisz /przedmiot."); case 5: client_print(0, print_chat, "[COD:MW] Aby zobaczyc opis klas napisz /klasy."); } set_task(36.0, "Pomoc"); } public client_PreThink(id) { if (entity_get_int(id, EV_INT_button) & 2 && klasa_gracza[id] == Kapral) { new flags = entity_get_int(id, EV_INT_flags) if (flags & FL_WATERJUMP) return PLUGIN_CONTINUE if ( entity_get_int(id, EV_INT_waterlevel) >= 2 ) return PLUGIN_CONTINUE if ( !(flags & FL_ONGROUND) ) return PLUGIN_CONTINUE new Float:velocity[3] entity_get_vector(id, EV_VEC_velocity, velocity) velocity[2] += 250.0 entity_set_vector(id, EV_VEC_velocity, velocity) entity_set_int(id, EV_INT_gaitsequence, 6) } return PLUGIN_CONTINUE } /*public cmd_setlvl(id, level, cid) { if(!cmd_access(id,level,cid,3)) return PLUGIN_HANDLED; new arg1[33]; new arg2[6]; read_argv(1, arg1, 32); read_argv(2, arg2, 5); new player = cmd_target(id, arg1); new value = str_to_num(arg2)-1; doswiadczenie_gracza[player] = doswiadczenie_poziomu[value]; poziom_gracza[player] = 0; SprawdzPoziom(player); return PLUGIN_HANDLED; }*/ public DotykBroni(weapon,id) { new model[23]; entity_get_string(weapon, EV_SZ_model, model, 22); if (!is_user_connected(id) || entity_get_edict(weapon, EV_ENT_owner) == id || equal(model, "models/w_backpack.mdl")) return HAM_IGNORED; return HAM_SUPERCEDE; } public BlokujKomende() return PLUGIN_HANDLED; stock bool:UTIL_In_FOV(id,target) { if (Find_Angle(id,target,9999.9) > 0.0) return true; return false; } #if defined BOTY public is_user_bot2(id) { new ping, loss get_user_ping(id, ping, loss) if(ping > 0 && loss > 0) return false return true } #endif stock Float:Find_Angle(Core,Target,Float:dist) { new Float:vec2LOS[2]; new Float:flDot; new Float:CoreOrigin[3]; new Float:TargetOrigin[3]; new Float:CoreAngles[3]; pev(Core,pev_origin,CoreOrigin); pev(Target,pev_origin,TargetOrigin); if (get_distance_f(CoreOrigin,TargetOrigin) > dist) return 0.0; pev(Core,pev_angles, CoreAngles); for ( new i = 0; i < 2; i++ ) vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i]; new Float:veclength = Vec2DLength(vec2LOS); //Normalize V2LOS if (veclength <= 0.0) { vec2LOS[0] = 0.0; vec2LOS[1] = 0.0; } else { new Float:flLen = 1.0 / veclength; vec2LOS[0] = vec2LOS[0]*flLen; vec2LOS[1] = vec2LOS[1]*flLen; } //Do a makevector to make v_forward right engfunc(EngFunc_MakeVectors,CoreAngles); new Float:v_forward[3]; new Float:v_forward2D[2]; get_global_vector(GL_v_forward, v_forward); v_forward2D[0] = v_forward[0]; v_forward2D[1] = v_forward[1]; flDot = vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1]; if ( flDot > 0.5 ) { return flDot; } return 0.0; } stock Float:Vec2DLength( Float:Vec[2] ) { return floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] ); } stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha) { message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id ); write_short( duration ); // Duration of fadeout write_short( holdtime ); // Hold time of color write_short( fadetype ); // Fade type write_byte ( red ); // Red write_byte ( green ); // Green write_byte ( blue ); // Blue write_byte ( alpha ); // Alpha message_end(); } stock set_user_clip(id, ammo) { new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _); get_weaponname(weapon, weaponname, 31); while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0) if(entity_get_edict(weaponid, EV_ENT_owner) == id) { set_pdata_int(weaponid, 51, ammo, 4); return weaponid; } return 0; } public cmd_addexp(id, level, cid) { if(!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED; new arg1[33]; new arg2[10]; read_argv(1,arg1,32); read_argv(2,arg2,9); new player = cmd_target(id, arg1, 0); remove_quotes(arg2); new exp = str_to_num(arg2); if(doswiadczenie_gracza[player] + exp > MAXEXP) { client_print(id, print_console, "[COD:MW] Chciales dodac za duzo expa (expgracza + wartosc < %i)", MAXEXP) } else { doswiadczenie_gracza[player] += exp; SprawdzPoziom(player); } return PLUGIN_HANDLED; } public cmd_remexp(id, level, cid) { if(!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED; new arg1[33]; new arg2[10]; read_argv(1,arg1,32); read_argv(2,arg2,9); new player = cmd_target(id, arg1, 0); remove_quotes(arg2); new exp = str_to_num(arg2); if(doswiadczenie_gracza[player] - exp < 1) { client_print(id, print_console, "[COD:MW] Chciales odjac za duzo expa (expgracza - wartosc > 1)") } else { doswiadczenie_gracza[player] -= exp; SprawdzPoziom(player); } return PLUGIN_HANDLED; } new oddaj_id[33]; new bool:dostal_przedmiot[33]; public OddajPrzedmiot(id) { new menu = menu_create("Oddaj przedmiot", "OddajPrzedmiot_Handle"); new cb = menu_makecallback("OddajPrzedmiot_Callback"); new numer_przedmiotu; for(new i=0; i<=32; i++) { if(!is_user_connected(i)) continue; oddaj_id[numer_przedmiotu++] = i; menu_additem(menu, nazwa_gracza[i], "0", 0, cb); } menu_display(id, menu); } public OddajPrzedmiot_Handle(id, menu, item) { if(!is_user_connected(oddaj_id[item])) { client_print(id, print_chat, "Nie odnaleziono rzadanego gracza."); return PLUGIN_CONTINUE; } if(dostal_przedmiot[id]) { client_print(id, print_chat, "Musisz poczekac 1 runde."); return PLUGIN_CONTINUE; } if(!informacje_przedmiotu_gracza[id][0]) { client_print(id, print_chat, "Nie masz zadnego przedmiotu."); return PLUGIN_CONTINUE; } if(informacje_przedmiotu_gracza[oddaj_id[item]][0]) { client_print(id, print_chat, "Ten gracz ma juz przedmiot."); return PLUGIN_CONTINUE; } dostal_przedmiot[oddaj_id[item]] = true; DajPrzedmiot(oddaj_id[item], informacje_przedmiotu_gracza[id][0]); informacje_przedmiotu_gracza[oddaj_id[item]][1] = informacje_przedmiotu_gracza[id][1]; client_print(id, print_chat, "Przekazales %s graczowi %s.",nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]] , nazwa_gracza[oddaj_id[item]]); client_print(oddaj_id[item], print_chat, "Dostales %s od gracza %s.",nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]] , nazwa_gracza[id]); UsunPrzedmiot(id); return PLUGIN_CONTINUE; } public OddajPrzedmiot_Callback(id, menu, item) { if(oddaj_id[item] == id) return ITEM_DISABLED; return ITEM_ENABLED; }