UWAGA
W związku z upgrade'em Forum Wiaderko do vB 4.x ewentualne błędy i nieprawidłowości proszę zgłaszać w tym temacie
Serwery Counter Strike 1.6 wiaderko.com

HashJama [TP] 193.33.176.148:27015 status serwera HashJama [TP] połącz

HashJama [FFA] 193.33.176.188:27015status serwera HashJama [FFA] połącz

HashJama [DM] 193.33.176.53:27015status serwera HashJama [DM] połącz

HashJama [Aim Hs] 193.33.176.15:27015status serwera HashJama [Aim Hs] połącz

HashJama [Flags] 193.33.176.111:27015status serwera HashJama  [Flags] połącz

HashJama [AWP/HG DM] 193.33.176.50:27015status serwera HashJama [AWP/HG DM] 193.33.176.50:27015 połącz

HashJama [TP #2] 193.33.176.54:27015status serwera HashJama [TP #2] 193.33.176.54:27015 połącz

wiaderko.com [Ventrilo] v1.svoice.pl:6416status serwera wiaderko.com [Ventrilo]

SPONSOR:
pukawka.pl

Wątek: mały sklep do CoD MOD

Strona 1 z 2 1 2 OstatniOstatni
Pokaż wyniki od 1 do 20 z 22
  1. #1 mały sklep do CoD MOD 
    Starsza lamka Awatar rafal4lord
    Dołączył
    Jul 2008
    Posty
    63
    Witam,
    bardzo proszę kogoś o pomoc ..
    Potrzebuję sklep na serwer z modem Call of Duty. Miał on by wyglądać tak:
    Wpisujemy w say:
    /shop
    i pojawia się takie coś:
    1. Kup 50 HP (3000$)
    2. Kup 100 HP (5000$)
    3. Kup 50 EXP (10000$)
    4. Kup 100 EXP (20000$)

    0. Wyjscie
    Do tego dobrze by było wprowadzić blokadę, która uniemożliwiłaby kilkakrotne kupowanie danej rzeczy ze skelpu w jednej rundzie.
    Czynie np. nie można kupić 2x 100 HP
    Z góry dzięki za pomoc. :)
     

  2. #2 Odp: mały sklep do CoD MOD 
    Junior Mod Awatar powerman3
    Dołączył
    May 2009
    Posty
    531
    a moze byc bez expa?

    zobacz to
    pisze pierwszy raz wiec moze zle dzialac
    Kod:
    /* Plugin generated by AMXX-Studio */
    
    #include <amxmodx>
    #include <amxmisc>
    #include <cstrike>
    #include <fun>
    #include <colorchat>
    #include <hamsandwich>
    #include <engine>
    
    #define PLUGIN "Menu /shop"
    #define VERSION "1.0"
    #define AUTHOR "peku33 edit by sAw"
    
    new bool:u_ammo[32];
    public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        register_clcmd("say /shop", "show_kup_menu");
        RegisterHam(Ham_Spawn, "player", "spawn_event", 1);
        register_event("CurWeapon" , "event_CurWeapon" , "be" , "1=1");
    }
    public show_kup_menu(id)
    {
        if(is_user_connected(id) && is_user_alive(id))
        {
            new menu = menu_create("Menu kupowania", "click_kup_menu")
            menu_additem(menu, "Kup 50HP (3000$)")
            menu_additem(menu, "Kup 100HP (5000$)")
    
            menu_display(id, menu)
        }
    }
    public spawn_event(id)
    {
        u_ammo[id] = false;
    }
    public event_CurWeapon(id)
    {
        if(is_user_connected(id) && is_user_alive(id) && u_ammo[id])
        {
            give_ammo(id, read_data(3));
        }
        return PLUGIN_CONTINUE;
    }
    public click_kup_menu(id, menu, item)
    {
        if(is_user_connected(id) && is_user_alive(id))
        {
            switch(item)
            {
                case 0:
                {
                    if(has_money(id, 3000))
                    {
                        set_user_health(id, 50);
                    }
                }
                case 1:
                {
                    if(has_money(id, 5000))
                    {
                        set_user_health(id, 100);
                    }
                }
                case 2:
                {
    
                }
            }
        }
        menu_destroy(menu)
    }
    has_money(id, money)
    {
        if(cs_get_user_money(id) < cs_get_user_money(id))
        {
            ColorChat(id, RED, "Nie masz wystarczajaco duzo pieniedzy (%d / %d)", cs_get_user_money(id), cs_get_user_money(id))
            return false
        }
        else
        {
            cs_set_user_money(id, cs_get_user_money(id) - money);
            return true;
        }
        return false;
    }
    public give_ammo(id, clip)
    {
        new wpnid = get_user_weapon(id)
        if(!clip && maxclip(wpnid) > 0)
        {
            static weapname[33];
            get_weaponname(wpnid , weapname , 32);
    
            static wpn
            wpn = -1;
            while((wpn = find_ent_by_class(wpn , weapname)) != 0)
            {
                if(id == entity_get_edict(wpn , EV_ENT_owner))
                {
                    cs_set_weapon_ammo(wpn , maxclip(wpnid))
                    break;
                }
            }
        }
    }
    stock maxclip(wpnid) 
    {
        static ca;
        ca = 0;
    
        switch (wpnid) 
        {
            case CSW_P228 : ca = 13;
            case CSW_SCOUT : ca = 10;
            case CSW_HEGRENADE : ca = 0;
            case CSW_XM1014 : ca = 7;
            case CSW_C4 : ca = 0;
            case CSW_MAC10 : ca = 30;
            case CSW_AUG : ca = 30;
            case CSW_SMOKEGRENADE : ca = 0;
            case CSW_ELITE : ca = 15;
            case CSW_FIVESEVEN : ca = 20;
            case CSW_UMP45 : ca = 25;
            case CSW_SG550 : ca = 30;
            case CSW_GALI : ca = 35;
            case CSW_FAMAS : ca = 25;
            case CSW_USP : ca = 12;
            case CSW_GLOCK18 : ca = 20;
            case CSW_AWP : ca = 10;
            case CSW_MP5NAVY : ca = 30;
            case CSW_M249 : ca = 100;
            case CSW_M3 : ca = 8;
            case CSW_M4A1 : ca = 30;
            case CSW_TMP : ca = 30;
            case CSW_G3SG1 : ca = 20;
            case CSW_FLASHBANG : ca = 0;
            case CSW_DEAGLE    : ca = 7;
            case CSW_SG552 : ca = 30;
            case CSW_AK47 : ca = 30;
            case CSW_P90 : ca = 50;
        }
        return ca;
    }
    Ostatnio edytowane przez powerman3 ; 26-06-2010 o 10:33
     

  3. #3 Odp: mały sklep do CoD MOD 
    Starsza lamka Awatar rafal4lord
    Dołączył
    Jul 2008
    Posty
    63
    potrzebuję razem z EXP ale dzięki za chęci.
     

  4. #4 Odp: mały sklep do CoD MOD 
    Super Mod Awatar peku33
    Dołączył
    Oct 2008
    Posty
    7,256
    Mod jest napisany bez żadnych nativeów itp - trzebaby cały kod przerabiać
    PISANIE DO MNIE NA GG Z PROŚBĄ O JAKĄKOLWIEK POMOC NIE JEST MILE WIDZIANE! Numer: 6374959
     

  5. #5 Odp: mały sklep do CoD MOD 
    Starsza lamka Awatar rafal4lord
    Dołączył
    Jul 2008
    Posty
    63
    peku33 o jakim kodzie mowa?
    hm i wiesz .. te nativeów i tak mi nic nie mówią :)
     

  6. #6 Odp: mały sklep do CoD MOD 
    Junior Mod Awatar powerman3
    Dołączył
    May 2009
    Posty
    531
    pewnie chodzilo mu o to ze bys musial caly plugin przerabiac
     

  7. #7 Odp: mały sklep do CoD MOD 
    Starsza lamka Awatar rafal4lord
    Dołączył
    Jul 2008
    Posty
    63
    ale po co ruszać plugin, skoro ten sklep może być chyba osobno.. nie wiem jak z dodawanie EXP ale HP na pewno można poprzez osobny plugin
    mylę się?
     

  8. #8 Odp: mały sklep do CoD MOD 
    Super Mod Awatar peku33
    Dołączył
    Oct 2008
    Posty
    7,256
    native'y - coś, dzięki czemu można wpływać na inny plugin przez jeszcze inny plugin.
    AmxModX udostępnia takie nativy jak: zmiana hp zmiana kasy itd.

    Jednak CodMod jest kiepsko zrobiony - nie ma takiej opcji - trzeba by edytować CodModa, co będzie trudne, bo kod jest pogięty
    PISANIE DO MNIE NA GG Z PROŚBĄ O JAKĄKOLWIEK POMOC NIE JEST MILE WIDZIANE! Numer: 6374959
     

  9. #9 Odp: mały sklep do CoD MOD 
    Starsza lamka Awatar rafal4lord
    Dołączył
    Jul 2008
    Posty
    63
    kurczę, naprawdę nie da się tego zrobić? bardzo mi na tym zależy . chyba że ma ktoś jakieś inne pomysły np. zamiast EXP to coś innego na mod COD
    btw. na innym serwie jest coś podobnego do tego co potrzebuję . . i wszystko działa :)
    ew. napisz mi na PW jeśli możesz za ile podjąłbyś się poprawienie kodu CoD i dodanie tego shopu do tego :)
    Ostatnio edytowane przez rafal4lord ; 28-06-2010 o 01:36
     

  10. #10 Odp: mały sklep do CoD MOD 
    Super Mod Awatar peku33
    Dołączył
    Oct 2008
    Posty
    7,256
    daj sma cod moda tutaj, owiń w tagi CODE albo w załączniku
    PISANIE DO MNIE NA GG Z PROŚBĄ O JAKĄKOLWIEK POMOC NIE JEST MILE WIDZIANE! Numer: 6374959
     

  11. #11 Odp: mały sklep do CoD MOD 
    Starsza lamka Awatar rafal4lord
    Dołączył
    Jul 2008
    Posty
    63
    proszę w załączniku
    Załączone pliki
     

  12. #12 Odp: mały sklep do CoD MOD 
    Super Mod Awatar peku33
    Dołączył
    Oct 2008
    Posty
    7,256
    Widzę, że za coś tam chciałeś 20 000$. Wiedz, ze jeżeli masz plugin na więcej kasy - te pieniądze są wirtualne i plugin ich nie zobaczy (niezależnie czy masz 1 czy 120000000$ będzie widział 8k). Dla tego dałem za 100EXP 16k, usuń ten plugin, bo nakaszanisz.

    Tu masz cały codmod ze sklepem

    Kod:
    #include <amxmodx>
    #include <amxmisc>
    #include <fun>
    #include <cstrike>
    #include <fakemeta>
    #include <engine>
    #include <hamsandwich>
    #include <nvault>
    
    
    #define PLUGIN "Call of Duty: MW Mod"
    #define VERSION "0.7.9 Beta"
    #define AUTHOR "QTM_Peyote"
    
    #define STANDARDOWA_SZYBKOSC 250.0
    
    #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 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 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"
    	
    };
    
    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"
    };
    
    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 };
    new const zdrowie_klasy[] = { 0, 120, 140, 110, 120, 110, 100, 100, 110, 100, 130};
    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};
    new const pancerz_klasy[] = { 0, 100, 100, 100, 150, 100, 0, 100, 100, 0, 150};
    new const nazwy_klas[][] = {"Brak",
    	"Snajper",
    	"Komandos",
    	"Strzelec wyborowy",
    	"Obronca",
    	"Medyk",
    	"Wsparcie ogniowe",
    	"Saper",
    	"Demolitions",
    	"Rusher",
    	"Rambo (Klasa Premium)"
    };
    
    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"
    };
    
    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;
    new bool:sklep_uzyty[33];
    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 /reset", "KomendaResetujPunkty");
    	register_clcmd("fullupdate", "BlokujKomende");
    	
    	register_clcmd("cl_autobuy", "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("autoshotgun", "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_KICK, "<name> <level>");
    
    	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");
    	
    	set_task(30.0, "Pomoc");
    	
    	//Shop
    	register_clcmd("say /shop", "pokaz_sklep_codmod")
    }
    public pokaz_sklep_codmod(id)
    {
    	if(sklep_uzyty[id])
    	{
    		client_print(id, print_center, "W tej rundzie uzyles juz sklepu");
    	}
    	else
    	{
    		sklep_uzyty[id] = true;
    	}
    	if(is_user_connected(id) && is_user_alive(id))
    	{
    		new menu = menu_create("Sklep Cod:MW2 Mod", "uzyj_sklep_codmod");
    		menu_additem(menu, "50 HP (3000$)");
    		menu_additem(menu, "100 HP (5000$)");
    		menu_additem(menu, "50 EXP (9000$)");
    		menu_additem(menu, "100 EXP (16000$)");
    		menu_display(id, menu);
    	}
    }
    public uzyj_sklep_codmod(id, menu, item)
    {
    	menu_destroy(menu)
    	if(is_user_alive(id))
    	{
    		switch(item)
    		{
    			case 0:
    			{
    				//50HP
    				if(buy(id, 3000))
    				{
    					set_user_health(id, min(get_user_health(id) + 50, 255))
    				}
    			}
    			case 1:
    			{
    				//100HP
    				if(buy(id, 5000))
    				{
    					set_user_health(id, min(get_user_health(id) + 100, 255))
    				}
    			}
    			case 2:
    			{
    				//50EXP
    				if(buy(id, 9000))
    				{
    					doswiadczenie_gracza[id]+=50;
    					SprawdzPoziom(id);
    				}
    			}
    			case 3:
    			{
    				//100EXP
    				if(buy(id, 16000))
    				{
    					doswiadczenie_gracza[id]+=100;
    					SprawdzPoziom(id);
    				}
    			}
    		}
    	}
    }
    public plugin_cfg() 
    {	
    	server_cmd("sv_maxspeed 1600");
    }
    
    public plugin_precache()
    {
    	sprite_white = precache_model("sprites/white.spr") ;
    	sprite_blast = precache_model("sprites/dexplo.spr");
    	
    	precache_sound("QTM_CodMod/select.wav");
    	precache_sound("QTM_CodMod/start.wav");
    	precache_sound("QTM_CodMod/start2.wav");
    	precache_sound("QTM_CodMod/levelup.wav");
    	
    	precache_model("models/w_medkit.mdl");
    	precache_model("models/rpgrocket.mdl");
    	precache_model("models/mine.mdl");
    }
    
    public CmdStart(id, uc_handle)
    {
    	if(!is_user_alive(id))
    		return FMRES_IGNORED;
    		
    	new button = get_uc(uc_handle, UC_Buttons);
    	new oldbutton = get_user_oldbutton(id);
    	new flags = get_entity_flags(id);
    	
    	if(informacje_przedmiotu_gracza[id][0] == 11 || klasa_gracza[id] == Rambo)
    	{
    		if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && ilosc_skokow_gracza[id] > 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)
    {
    	sklep_uzyty[id] = false;
    	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");
    		}
    	}
    		
    	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;
    			
    	new weapons[32];
    	new weaponsnum;
    	get_user_weapons(id, weapons, weaponsnum);
    	for(new i=0; i<weaponsnum; i++)
    		if(is_user_alive(id))
    			if(maxAmmo[weapons[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);
    		
    	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])<damage)? float(informacje_przedmiotu_gracza[this][1]): damage;
    			
    	if(informacje_przedmiotu_gracza[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
    		damage*=2.0;
    		
    	if(informacje_przedmiotu_gracza[idattacker][0] == 10)
    		damage+=informacje_przedmiotu_gracza[idattacker][1];
    		
    	if(informacje_przedmiotu_gracza[this][0] == 12)
    		damage-=(5.0<damage)? 5.0: damage;
    	
    	if(weapon == CSW_AWP && informacje_przedmiotu_gracza[idattacker][0] == 13)
    		damage=float(health);
    		
    	if(informacje_przedmiotu_gracza[idattacker][0] == 21)
    		damage+=10;
    		
    	if(informacje_przedmiotu_gracza[idattacker][0] == 22)
    		damage+=20;
    		
    	if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
    	{
    		if((informacje_przedmiotu_gracza[idattacker][0] == 9 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1) || informacje_przedmiotu_gracza[idattacker][0] == 10)
    			damage = float(health);	
    	}
    
    	if(weapon == CSW_KNIFE)
    	{
    		if(informacje_przedmiotu_gracza[this][0] == 4)
    			damage=damage*1.4+inteligencja_gracza[idattacker];
    		if(informacje_przedmiotu_gracza[idattacker][0] == 8 || (klasa_gracza[idattacker] == Snajper && random(2) == 2) || klasa_gracza[idattacker] == Komandos && !(get_user_button(idattacker) & IN_ATTACK))
    			damage = float(health);
    	}
    	
    	if(informacje_przedmiotu_gracza[this][0] == 26 && random_num(1, informacje_przedmiotu_gracza[this][1]) == 1)
    	{
    		SetHamParamEntity(3, this);
    		SetHamParamEntity(1, idattacker);
    	}
    		
    		
    	SetHamParamFloat(4, damage);
    	return HAM_IGNORED;
    }
    
    public Damage(id)
    {
    	new attacker = get_user_attacker(id);
    	new damage = read_data(2);
    	if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !klasa_gracza[attacker])
    		return PLUGIN_CONTINUE;
    		
    	if(informacje_przedmiotu_gracza[attacker][0] == 12 && random_num(1, informacje_przedmiotu_gracza[id][1]) == 1)
    		Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
    	
    	if(get_user_team(id) != get_user_team(attacker))
    	{
    		while(damage>20)
    		{
    			damage-=20;
    			doswiadczenie_gracza[attacker]++;
    		}
    	}
    	SprawdzPoziom(attacker);
    	return PLUGIN_CONTINUE;
    }
    public buy(id, money)
    {
    	if(cs_get_user_money(id) < money)
    	{
    		client_print(id, print_center, "Nie masz wystarczajaco duzo pieniedzy!");
    		return false;
    	}
    	cs_set_user_money(id, cs_get_user_money(id)-money);
    	return true;
    }
    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<maksymalne_zdrowie_gracza[attacker])? zdrowie+20: maksymalne_zdrowie_gracza[attacker];
    			set_user_clip(attacker, maxClip[weapon]);
    			set_user_health(attacker, nowe_zdrowie);
    		}
    #if defined BOTY
    		if(is_user_bot2(attacker) && random(9) == 0)
    			WyrzucPrzedmiot(id);
    #endif
    		if(!informacje_przedmiotu_gracza[attacker][0])
    			DajPrzedmiot(attacker, random_num(1, sizeof nazwy_przedmiotow-1));
    	
    		if(informacje_przedmiotu_gracza[attacker][0] == 14)
    		{
    			new nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_gracza[attacker])? zdrowie+50: maksymalne_zdrowie_gracza[attacker];
    			set_user_health(attacker, nowe_zdrowie);
    		}
    		
    		set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
    		ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_doswiadczenie);
    		
    		doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
    	}
    	
    	SprawdzPoziom(attacker);
    	
    	if(informacje_przedmiotu_gracza[id][0] == 7 && random_num(1, informacje_przedmiotu_gracza[id][1]) == 1)
    		set_task(0.1, "Wskrzes", id+ZADANIE_WSKRZES);
    	
    	return PLUGIN_CONTINUE;
    }
    
    public client_connect(id)
    {
    	//resetuje umiejetnosci
    	klasa_gracza[id] = 0;
    	poziom_gracza[id] = 0;
    	doswiadczenie_gracza[id] = 0;
    	punkty_gracza[id] = 0;
    	zdrowie_gracza[id] = 0;
    	inteligencja_gracza[id] = 0;
    	wytrzymalosc_gracza[id] = 0;
    	kondycja_gracza[id] = 0;
    	maksymalne_zdrowie_gracza[id] = 0;
    	szybkosc_gracza[id] = 0.0;
    
    	
    	get_user_name(id, nazwa_gracza[id], 63);
    	
    	remove_task(id+ZADANIE_POKAZ_INFORMACJE);
    	remove_task(id+ZADANIE_POKAZ_REKLAME);	
    	remove_task(id+ZADANIE_USTAW_SZYBKOSC);
    	remove_task(id+ZADANIE_WSKRZES);
    	remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
    	
    	set_task(10.0, "PokazReklame", id+ZADANIE_POKAZ_REKLAME);
    	set_task(3.0, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
    	
    	//resetuje przedmioty
    	UsunPrzedmiot(id);
    }
    
    public client_disconnect(id)
    {
    	remove_task(id+ZADANIE_POKAZ_INFORMACJE);
    	remove_task(id+ZADANIE_POKAZ_REKLAME);	
    	remove_task(id+ZADANIE_USTAW_SZYBKOSC);
    	remove_task(id+ZADANIE_WSKRZES);
    	remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
    		
    	ZapiszDane(id);
    	UsunPrzedmiot(id);
    }
    	
    public RozbrajaBombe(id)
    	if(klasa_gracza[id])
    		rozbrajajacy = id;
    	
    public BombaPodlozona()
    {
    	new Players[32], playerCount, id;
    	get_players(Players, playerCount, "aeh", "TERRORIST");
    	
    	if(get_playersnum() > 1)
    	{
    		doswiadczenie_gracza[podkladajacy] += doswiadczenie_za_bombe;
    		for (new i=0; i<playerCount; i++) 
    		{
    			id = Players[i];
    			if(!klasa_gracza[id])
    				continue;
    				
    			if(id != podkladajacy)
    			{
    				doswiadczenie_gracza[id] += doswiadczenia_za_zabojstwo;
    				client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za podlozenie bomby przez twoj team.", doswiadczenia_za_zabojstwo);
    			}
    			else
    			{
    				client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za podlozenie bomby.", doswiadczenie_za_bombe);
    			}
    			SprawdzPoziom(id);
    		}
    	}
    }
    
    public BombaRozbrojona()
    {
    	new Players[32], playerCount, id;
    	get_players(Players, playerCount, "aeh", "CT");
    	
    	doswiadczenie_gracza[rozbrajajacy] += doswiadczenie_za_bombe;
    	for (new i=0; i<playerCount; i++) 
    	{
    		id = Players[i];
    		if(!klasa_gracza[id])
    			continue;
    		if(id != rozbrajajacy)
    		{
    			doswiadczenie_gracza[id]+= doswiadczenia_za_zabojstwo;
    			client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za rozbrojenie bomby przez twoj team.", doswiadczenia_za_zabojstwo);
    		}
    		else
    			client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za rozbrojenie bomby.",doswiadczenie_za_bombe);
    		SprawdzPoziom(id);
    	}
    }
    
    public OpisKlasy(id)
    {
    	new menu = menu_create("Wybierz klase:", "OpisKlasy_Handle");
    	for(new i=1; i<sizeof nazwy_klas; i++)
    		menu_additem(menu, nazwy_klas[i]);
    	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
    	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
    	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
    	menu_display(id, menu);
    	
    	client_cmd(id, "spk QTM_CodMod/select");
    }
    
    public OpisKlasy_Handle(id, menu, item)
    {
    	client_cmd(id, "spk QTM_CodMod/select");
    	
    	if(item == MENU_EXIT)
    	{
    		menu_destroy(menu);
    		return PLUGIN_CONTINUE;
    	}
    	client_print(id, print_chat, "[COD:MW] %s: %s", nazwy_klas[item+1], opisy_klas[item+1]);
    	menu_display(id, menu);
    	
    	return PLUGIN_CONTINUE;
    }
    
    public WybierzKlase(id)
    {
    	new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
    	new klasa[50];
    	for(new i=1; i<sizeof nazwy_klas; i++)
    	{
    		WczytajDane(id, i);
    		format(klasa, 49, "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
    		menu_additem(menu, klasa);
    	}
    	
    	WczytajDane(id, klasa_gracza[id]);
    	
    	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
    	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
    	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
    	menu_display(id, menu);
    		
    	client_cmd(id, "spk QTM_CodMod/select");
    #if defined BOTY
    	if(is_user_bot2(id))
    		WybierzKlase_Handle(id, menu, random(sizeof nazwy_klas-1));
    #endif
    }
    
    public WybierzKlase_Handle(id, menu, item)
    {
    	client_cmd(id, "spk QTM_CodMod/select");
    	
    	if(item == MENU_EXIT)
    	{
    		menu_destroy(menu);
    		return PLUGIN_CONTINUE;
    	}	
    		
    	item++;
    	
    	if(item == klasa_gracza[id])
    		return PLUGIN_CONTINUE;
    	
    	if(item == Rambo && !(get_user_flags(id) & ADMIN_LEVEL_H))
    	{
    		client_print(id, print_chat, "[COD:MW] Nie masz uprawnien aby kozystac z klasy premium.");
    		WybierzKlase(id);
    		return PLUGIN_CONTINUE;
    	}
    	
    	if(klasa_gracza[id])
    	{
    		nowa_klasa_gracza[id] = item;
    		client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
    	}
    	else
    	{
    		klasa_gracza[id] = item;
    		WczytajDane(id, klasa_gracza[id]);
    		Odrodzenie(id);
    	}
    	return PLUGIN_CONTINUE;
    }
    
    public PrzydzielPunkty(id)
    {
    	new inteligencja[65];
    	new zdrowie[60];
    	new wytrzymalosc[60];
    	new kondycja[60];
    	new tytul[25];
    	format(inteligencja, 64, "Inteligencja: \r%i \y(Zwieksza obrazenia zadawane przedmiotami)", inteligencja_gracza[id]);
    	format(zdrowie, 59, "Zycie: \r%i \y(Zwieksza zycie)", zdrowie_gracza[id]);
    	format(wytrzymalosc, 59, "Wytrzymalosc: \r%i \y(Zmniejsza obrazenia)", wytrzymalosc_gracza[id]);
    	format(kondycja, 59, "Kondycja: \r%i \y(Zwieksza tempo chodu)", kondycja_gracza[id]);
    	format(tytul, 24, "Przydziel Punkty(%i):", punkty_gracza[id]);
    	new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
    	menu_additem(menu, inteligencja);
    	menu_additem(menu, zdrowie);
    	menu_additem(menu, wytrzymalosc);
    	menu_additem(menu, kondycja);
    	menu_display(id, menu);
    #if defined BOTY
    	if(is_user_bot2(id))
    		PrzydzielPunkty_Handler(id, menu, random(4));
    #endif
    }
    
    public PrzydzielPunkty_Handler(id, menu, item)
    {
    	client_cmd(id, "spk QTM_CodMod/select");
    	
    	if(item == MENU_EXIT)
    	{
    		menu_destroy(menu);
    		return PLUGIN_CONTINUE;
    	}
    	
    	switch(item) 
    	{ 
    		case 0: 
    		{	
    			if(inteligencja_gracza[id]<100)
    				inteligencja_gracza[id]++;
    			else 
    				client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety");
    			
    		}
    		case 1: 
    		{	
    			if(zdrowie_gracza[id]<100)
    				zdrowie_gracza[id]++;
    			else 
    				client_print(id, print_chat, "[COD:MW] Maxymalny poziom sily osiagniety");
    		}
    		case 2: 
    		{	
    			if(wytrzymalosc_gracza[id]<100)
    				wytrzymalosc_gracza[id]++;
    			else 
    				client_print(id, print_chat, "[COD:MW] Maxymalny poziom zrecznosci osiagniety");
    			
    		}
    		case 3: 
    		{	
    			if(kondycja_gracza[id]<100)
    				kondycja_gracza[id]++;
    			else 
    				client_print(id, print_chat, "[COD:MW] Maxymalny poziom zwinnosci osiagniety");
    		}
    	}
    	
    	punkty_gracza[id]--;
    	
    	if(punkty_gracza[id]>0)
    		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<maksymalne_zdrowie_gracza[id])?health+10:maksymalne_zdrowie_gracza[id];
    	set_user_health(id, new_health);
    	return PLUGIN_CONTINUE;
    }
    
    public StworzApteczke(id)
    {
    	if (!ilosc_apteczek_gracza[id])
    	{
    		client_print(id, print_center, "Masz tylko 2 apteczki na runde!");
    		return PLUGIN_CONTINUE;
    	}
    	
    	if(inteligencja_gracza[id] < 1)
    		client_print(id, print_center, "Aby wzmocnic apteczke, zwieksz inteligencje!");
    		
    	ilosc_apteczek_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, "Apteczka");
    	entity_set_edict(ent, EV_ENT_owner, id);
    	entity_set_int(ent, EV_INT_solid, SOLID_NOT);
    	entity_set_vector(ent, EV_VEC_origin, origin);
    	entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
    	
    	
    	entity_set_model(ent, "models/w_medkit.mdl");
    	set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) 	;
    	drop_to_floor(ent);
    	
    	entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
    	
    	return PLUGIN_CONTINUE;
    }
    
    public ApteczkaThink(ent)
    {
    	new id = entity_get_edict(ent, EV_ENT_owner);
    	new totem_dist = 300;
    	new totem_heal = 5+floatround(inteligencja_gracza[id]*0.5);
    	if (entity_get_edict(ent, EV_ENT_euser2) == 1)
    	{		
    		new Float:forigin[3], origin[3];
    		entity_get_vector(ent, EV_VEC_origin, forigin);
    		FVecIVec(forigin,origin);
    		
    		new entlist[33];
    		new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);
    		
    		for (new i=0; i < numfound; i++)
    		{		
    			new pid = entlist[i];
    			
    			if (get_user_team(pid) != get_user_team(id))
    				continue;
    								
    			new zdrowie = get_user_health(pid);
    			new nowe_zdrowie = (zdrowie+totem_heal<maksymalne_zdrowie_gracza[pid])?zdrowie+totem_heal:maksymalne_zdrowie_gracza[pid];
    			if (is_user_alive(pid)) set_user_health(pid, nowe_zdrowie);		
    		}
    		
    		entity_set_edict(ent, EV_ENT_euser2, 0);
    		entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
    		
    		return PLUGIN_CONTINUE;
    	}
    	
    	if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
    	{
    		remove_entity(ent);
    		return PLUGIN_CONTINUE;
    	}
    	
    	if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
    		set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) ;
    		
    	new Float:forigin[3], origin[3];
    	entity_get_vector(ent, EV_VEC_origin, forigin);
    	FVecIVec(forigin,origin);
    					
    	//Find people near and give them health
    	message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
    	write_byte( TE_BEAMCYLINDER );
    	write_coord( origin[0] );
    	write_coord( origin[1] );
    	write_coord( origin[2] );
    	write_coord( origin[0] );
    	write_coord( origin[1] + totem_dist );
    	write_coord( origin[2] + totem_dist );
    	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( 5 ); // speed
    	message_end();
    		
    	entity_set_edict(ent, EV_ENT_euser2 ,1);
    	entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
    	
    	    
    	return PLUGIN_CONTINUE;
    
    }
    
    public StworzRakiete(id)
    {
    	if (!ilosc_rakiet_gracza[id])
    	{
    		client_print(id, print_center, "Wykrzystales juz wszystkie rakiety!");
    		return PLUGIN_CONTINUE;
    	}
    	
    	if(poprzednia_rakieta_gracza[id] + 2.0 > 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 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;
    }
    PISANIE DO MNIE NA GG Z PROŚBĄ O JAKĄKOLWIEK POMOC NIE JEST MILE WIDZIANE! Numer: 6374959
     

  13. #13 Odp: mały sklep do CoD MOD 
    Starsza lamka Awatar rafal4lord
    Dołączył
    Jul 2008
    Posty
    63
    wielkie dzięki jesteś WILEKI :)
    ale jest mały problem ;/ kurczę pomyliłem pliki sma i wysłałem ten, który ma podstawowe klasy bez tych dodatkowych.. ;/
    możesz wprowadzić ten sklep jeszcze do tego sma w załączniku? Próbowałem sam ale coś jednak jest nie tak ..


    ````````````

    @EDIT
    poradziłem już sobie, tylko jest mały problem w sklepie.. można kupować nawet 3 razy w rundzie .. :)
    nie wiem czy to sprawa jakiejś flagi admina czy nie .
    (w załączniku przerobione już SMA )


    plus nie chce pisać nowego tematu (chyba że trzeba) ..
    potrzebny mi jest jeszcze plugin maskujący wiadomości wysyłane w say przez graczy ..
    chodzi o komendy:
    Kod:
    say /klasa
    say /klasy
    say /przedmiot
    say /item
    say /drop
    say /wyrzuc
    say /reset
    say /shop
    say /codshop
    Załączone pliki
    Ostatnio edytowane przez rafal4lord ; 28-06-2010 o 19:43
     

  14. #14 Odp: mały sklep do CoD MOD 
    Super Mod Awatar peku33
    Dołączył
    Oct 2008
    Posty
    7,256
    Kod php:
    #include <amxmodx>
    #include <amxmisc>
    #include <fun>
    #include <cstrike>
    #include <fakemeta>
    #include <engine>
    #include <hamsandwich>
    #include <nvault>


    #define PLUGIN "Call of Duty: MW Mod"
    #define VERSION "0.7.9 Beta"
    #define AUTHOR "QTM_Peyote"

    #define STANDARDOWA_SZYBKOSC 250.0

    #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 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 
    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] = { -113, -110,  1,  7,  1,  3030,  1,  30,  20,  25303525,  12,  20
    10,  30100,  830,  3020,  2,  73030, -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"
        
    };

    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"
    };

    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 0SnajperKomandosStrzelecObroncaMedykWsparcieSaperDemolitionsRusherRamboPartyzantSzpiegSzturmowiecStrzelecWsparciaLekkiZolnierzRebeliantNinja};
    new const 
    zdrowie_klasy[] = { 01201401101201101001001101001301007014012510012570};
    new const 
    Float:szybkosc_klasy[] = {0.01.21.350.80.81.01.01.01.01.3 1.151.11.20.90.91.351.21.5};
    new const 
    pancerz_klasy[] = { 01001001001501000100100015000150500250};
    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"
    };

    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 + mniej widzialny",
        
    "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"
    };

    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;
    new 
    bool:sklep_uzyty[33];
    public 
    plugin_init()
    {
        
    register_plugin(PLUGINVERSIONAUTHOR);
        
        
    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 /reset""KomendaResetujPunkty");
        
    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_KICK, "<name> <level>");

        
    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");
        
        
    set_task(30.0"Pomoc");

    //Shop
        
    register_clcmd("say /shop""pokaz_sklep_codmod")
    }
    public 
    pokaz_sklep_codmod(id)
    {
        if(
    sklep_uzyty[id])
        {
            
    client_print(idprint_center"W tej rundzie uzyles juz sklepu");
            return 
    PLUGIN_HANDLED;
        }
        else
        {
            
    sklep_uzyty[id] = true;
        }
        if(
    is_user_connected(id) && is_user_alive(id))
        {
            new 
    menu menu_create("Sklep Cod:MW2 Mod""uzyj_sklep_codmod");
            
    menu_additem(menu"50 HP (3000$)");
            
    menu_additem(menu"100 HP (5000$)");
            
    menu_additem(menu"50 EXP (9000$)");
            
    menu_additem(menu"100 EXP (16000$)");
            
    menu_display(idmenu);
        }
        return 
    PLUGIN_HANDLED;
    }
    public 
    uzyj_sklep_codmod(idmenuitem)
    {
        
    menu_destroy(menu)
        if(
    is_user_alive(id))
        {
            switch(
    item)
            {
                case 
    0:
                {
                    
    //50HP
                    
    if(buy(id3000))
                    {
                        
    set_user_health(idmin(get_user_health(id) + 50255))
                    }
                }
                case 
    1:
                {
                    
    //100HP
                    
    if(buy(id5000))
                    {
                        
    set_user_health(idmin(get_user_health(id) + 100255))
                    }
                }
                case 
    2:
                {
                    
    //50EXP
                    
    if(buy(id9000))
                    {
                        
    doswiadczenie_gracza[id]+=50;
                        
    SprawdzPoziom(id);
                    }
                }
                case 
    3:
                {
                    
    //100EXP
                    
    if(buy(id16000))
                    {
                        
    doswiadczenie_gracza[id]+=100;
                        
    SprawdzPoziom(id);
                    }
                }
            }
        }
    }



    public 
    plugin_cfg() 
    {    
        
    server_cmd("sv_maxspeed 1600");
    }

    public 
    plugin_precache()
    {
        
    sprite_white precache_model("sprites/white.spr") ;
        
    sprite_blast precache_model("sprites/dexplo.spr");
        
        
    precache_sound("QTM_CodMod/select.wav");
        
    precache_sound("QTM_CodMod/start.wav");
        
    precache_sound("QTM_CodMod/start2.wav");
        
    precache_sound("QTM_CodMod/levelup.wav");
        
        
    precache_model("models/w_medkit.mdl");
        
    precache_model("models/rpgrocket.mdl");
        
    precache_model("models/mine.mdl");
    }

    public 
    CmdStart(iduc_handle)
    {
        if(!
    is_user_alive(id))
            return 
    FMRES_IGNORED;
            
        new 
    button get_uc(uc_handleUC_Buttons);
        new 
    oldbutton get_user_oldbutton(id);
        new 
    flags get_entity_flags(id);
        
        if(
    informacje_przedmiotu_gracza[id][0] == 11 || klasa_gracza[id] == Rambo)
        {
            if((
    button IN_JUMP) && !(flags FL_ONGROUND) && !(oldbutton IN_JUMP) && ilosc_skokow_gracza[id] > 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(idEV_VEC_punchanglepunchangle);
            if(
    informacje_przedmiotu_gracza[id][0] == 23)
            {
                
    entity_get_vector(idEV_VEC_punchanglepunchangle);
                for(new 
    i=0i<3;i++) 
                    
    punchangle[i]*=0.9;
                
    entity_set_vector(idEV_VEC_punchanglepunchangle);
            }
        }
        
        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(id700velocity);
            
    velocity[2] = random_float(265.0,285.0);
            
    entity_set_vector(idEV_VEC_velocityvelocity);
        }
        
        
        return 
    FMRES_IGNORED;
    }

    public 
    Odrodzenie(id)
    {
        
    sklep_uzyty[id] = false;
        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 
    1give_item(id"weapon_glock18");
                case 
    2give_item(id"weapon_usp");
            }
            
    WczytajDane(idklasa_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(idkRenderFxGlowShell000kRenderTransColor70);
            }
            case 
    Szpieg:
            {
                
    give_item(id"weapon_deagle");
                
    ZmienUbranie(id0);
            }
            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] = ;
            }
            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] = ;
            }
            case 
    Ninja:
            {
                
    give_item(id"weapon_elite");    
            }            
        }
            
        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(id0);
                
        if(
    informacje_przedmiotu_gracza[id][0] == 1)
            
    set_user_footsteps(id1);
        else
            
    set_user_footsteps(id0);
            
        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;
                
        new 
    weapons[32];
        new 
    weaponsnum;
        
    get_user_weapons(idweaponsweaponsnum);
        for(new 
    i=0i<weaponsnumi++)
            if(
    is_user_alive(id))
                if(
    maxAmmo[weapons[i]] > 0)
                    
    cs_set_user_bpammo(idweapons[i], maxAmmo[weapons[i]]);
            
        
    redukcja_obrazen_gracza[id] = (47.3057*(1.0-floatpower2.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(idpancerz_klasy[klasa_gracza[id]]);
        
    set_user_health(idmaksymalne_zdrowie_gracza[id]);
        if(
    informacje_przedmiotu_gracza[id][0] == 17)
            
    set_user_armor(id500);
            
        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 
    1client_cmd(id"spk QTM_CodMod/start");
                case 
    2client_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(thisidinflictoridattackerFloat:damagedamagebits)
    {
        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] == || informacje_przedmiotu_gracza[this][0] == 3)
            
    damage-=(float(informacje_przedmiotu_gracza[this][1])<damage)? float(informacje_przedmiotu_gracza[this][1]): damage;
                
        if(
    informacje_przedmiotu_gracza[idattacker][0] == && !UTIL_In_FOV(thisidattacker) && UTIL_In_FOV(idattackerthis))
            
    damage*=2.0;
            
        if(
    informacje_przedmiotu_gracza[idattacker][0] == 10)
            
    damage+=informacje_przedmiotu_gracza[idattacker][1];
            
        if(
    informacje_przedmiotu_gracza[this][0] == 12)
            
    damage-=(5.0<damage)? 5.0damage;
        
        if(
    weapon == CSW_AWP && informacje_przedmiotu_gracza[idattacker][0] == 13)
            
    damage=float(health);
            
        if(
    informacje_przedmiotu_gracza[idattacker][0] == 21)
            
    damage+=10;
            
        if(
    informacje_przedmiotu_gracza[idattacker][0] == 22)
            
    damage+=20;
            
        if(
    idinflictor != idattacker && entity_get_int(idinflictorEV_INT_movetype) != 5)
        {
            if((
    informacje_przedmiotu_gracza[idattacker][0] == && random_num(1informacje_przedmiotu_gracza[idattacker][1]) == 1) || informacje_przedmiotu_gracza[idattacker][0] == 10)
                
    damage float(health);    
        }

        if(
    weapon == CSW_KNIFE)
        {
            if(
    informacje_przedmiotu_gracza[this][0] == 4)
                
    damage=damage*1.4+inteligencja_gracza[idattacker];
            if(
    informacje_przedmiotu_gracza[idattacker][0] == || (klasa_gracza[idattacker] == Snajper && random(2) == 2) || klasa_gracza[idattacker] == Komandos && !(get_user_button(idattacker) & IN_ATTACK))
                
    damage float(health);
        }
        
        if(
    informacje_przedmiotu_gracza[this][0] == 26 && random_num(1informacje_przedmiotu_gracza[this][1]) == 1)
        {
            
    SetHamParamEntity(3this);
            
    SetHamParamEntity(1idattacker);
        }
            
            
        
    SetHamParamFloat(4damage);
        return 
    HAM_IGNORED;
    }

    public 
    Damage(id)
    {
        new 
    attacker get_user_attacker(id);
        new 
    damage read_data(2);
        if(!
    is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !klasa_gracza[attacker])
            return 
    PLUGIN_CONTINUE;
            
        if(
    informacje_przedmiotu_gracza[attacker][0] == 12 && random_num(1informacje_przedmiotu_gracza[id][1]) == 1)
            
    Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
        
        if(
    get_user_team(id) != get_user_team(attacker))
        {
            while(
    damage>20)
            {
                
    damage-=20;
                
    doswiadczenie_gracza[attacker]++;
            }
        }
        
    SprawdzPoziom(attacker);
        return 
    PLUGIN_CONTINUE;
    }
    public 
    buy(idmoney)
    {
        if(
    cs_get_user_money(id) < money)
        {
            
    client_print(idprint_center"Nie masz wystarczajaco duzo pieniedzy!");
            return 
    false;
        }
        
    cs_set_user_money(idcs_get_user_money(id)-money);
        return 
    true;
    }
    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<maksymalne_zdrowie_gracza[attacker])? zdrowie+20maksymalne_zdrowie_gracza[attacker];
                
    set_user_clip(attackermaxClip[weapon]);
                
    set_user_health(attackernowe_zdrowie);
            }
    #if defined BOTY
            
    if(is_user_bot2(attacker) && random(9) == 0)
                
    WyrzucPrzedmiot(id);
    #endif
            
    if(!informacje_przedmiotu_gracza[attacker][0])
                
    DajPrzedmiot(attackerrandom_num(1sizeof nazwy_przedmiotow-1));
        
            if(
    informacje_przedmiotu_gracza[attacker][0] == 14)
            {
                new 
    nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_gracza[attacker])? zdrowie+50maksymalne_zdrowie_gracza[attacker];
                
    set_user_health(attackernowe_zdrowie);
            }
            
            
    set_hudmessage(25521200.500.3316.04.0);
            
    ShowSyncHudMsg(attackerSyncHudObj2"+%i"nowe_doswiadczenie);
            
            
    doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
        }
        
        
    SprawdzPoziom(attacker);
        
        if(
    informacje_przedmiotu_gracza[id][0] == && random_num(1informacje_przedmiotu_gracza[id][1]) == 1)
            
    set_task(0.1"Wskrzes"id+ZADANIE_WSKRZES);
        
        return 
    PLUGIN_CONTINUE;
    }

    public 
    client_connect(id)
    {
        
    //resetuje umiejetnosci
        
    klasa_gracza[id] = 0;
        
    poziom_gracza[id] = 0;
        
    doswiadczenie_gracza[id] = 0;
        
    punkty_gracza[id] = 0;
        
    zdrowie_gracza[id] = 0;
        
    inteligencja_gracza[id] = 0;
        
    wytrzymalosc_gracza[id] = 0;
        
    kondycja_gracza[id] = 0;
        
    maksymalne_zdrowie_gracza[id] = 0;
        
    szybkosc_gracza[id] = 0.0;

        
        
    get_user_name(idnazwa_gracza[id], 63);
        
        
    remove_task(id+ZADANIE_POKAZ_INFORMACJE);
        
    remove_task(id+ZADANIE_POKAZ_REKLAME);    
        
    remove_task(id+ZADANIE_USTAW_SZYBKOSC);
        
    remove_task(id+ZADANIE_WSKRZES);
        
    remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
        
        
    set_task(10.0"PokazReklame"id+ZADANIE_POKAZ_REKLAME);
        
    set_task(3.0"PokazInformacje"id+ZADANIE_POKAZ_INFORMACJE);
        
        
    //resetuje przedmioty
        
    UsunPrzedmiot(id);
    }

    public 
    client_disconnect(id)
    {
        
    remove_task(id+ZADANIE_POKAZ_INFORMACJE);
        
    remove_task(id+ZADANIE_POKAZ_REKLAME);    
        
    remove_task(id+ZADANIE_USTAW_SZYBKOSC);
        
    remove_task(id+ZADANIE_WSKRZES);
        
    remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
            
        
    ZapiszDane(id);
        
    UsunPrzedmiot(id);
    }
        
    public 
    RozbrajaBombe(id)
        if(
    klasa_gracza[id])
            
    rozbrajajacy id;
        
    public 
    BombaPodlozona()
    {
        new 
    Players[32], playerCountid;
        
    get_players(PlayersplayerCount"aeh""TERRORIST");
        
        if(
    get_playersnum() > 1)
        {
            
    doswiadczenie_gracza[podkladajacy] += doswiadczenie_za_bombe;
            for (new 
    i=0i<playerCounti++) 
            {
                
    id Players[i];
                if(!
    klasa_gracza[id])
                    continue;
                    
                if(
    id != podkladajacy)
                {
                    
    doswiadczenie_gracza[id] += doswiadczenia_za_zabojstwo;
                    
    client_print(idprint_chat"[COD:MW] Dostales %i doswiadczenia za podlozenie bomby przez twoj team."doswiadczenia_za_zabojstwo);
                }
                else
                {
                    
    client_print(idprint_chat"[COD:MW] Dostales %i doswiadczenia za podlozenie bomby."doswiadczenie_za_bombe);
                }
                
    SprawdzPoziom(id);
            }
        }
    }

    public 
    BombaRozbrojona()
    {
        new 
    Players[32], playerCountid;
        
    get_players(PlayersplayerCount"aeh""CT");
        
        
    doswiadczenie_gracza[rozbrajajacy] += doswiadczenie_za_bombe;
        for (new 
    i=0i<playerCounti++) 
        {
            
    id Players[i];
            if(!
    klasa_gracza[id])
                continue;
            if(
    id != rozbrajajacy)
            {
                
    doswiadczenie_gracza[id]+= doswiadczenia_za_zabojstwo;
                
    client_print(idprint_chat"[COD:MW] Dostales %i doswiadczenia za rozbrojenie bomby przez twoj team."doswiadczenia_za_zabojstwo);
            }
            else
                
    client_print(idprint_chat"[COD:MW] Dostales %i doswiadczenia za rozbrojenie bomby.",doswiadczenie_za_bombe);
            
    SprawdzPoziom(id);
        }
    }

    public 
    OpisKlasy(id)
    {
        new 
    menu menu_create("Wybierz klase:""OpisKlasy_Handle");
        for(new 
    i=1i<sizeof nazwy_klasi++)
            
    menu_additem(menunazwy_klas[i]);
        
    menu_setprop(menuMPROP_EXITNAME"Wyjdz");
        
    menu_setprop(menuMPROP_BACKNAME"Poprzednia strona");
        
    menu_setprop(menuMPROP_NEXTNAME"Nastepna strona");
        
    menu_display(idmenu);
        
        
    client_cmd(id"spk QTM_CodMod/select");
    }

    public 
    OpisKlasy_Handle(idmenuitem)
    {
        
    client_cmd(id"spk QTM_CodMod/select");
        
        if(
    item == MENU_EXIT)
        {
            
    menu_destroy(menu);
            return 
    PLUGIN_CONTINUE;
        }
        
    client_print(idprint_chat"[COD:MW] %s: %s"nazwy_klas[item+1], opisy_klas[item+1]);
        
    menu_display(idmenu);
        
        return 
    PLUGIN_CONTINUE;
    }

    public 
    WybierzKlase(id)
    {
        new 
    menu menu_create("Wybierz klase:""WybierzKlase_Handle");
        new 
    klasa[50];
        for(new 
    i=1i<sizeof nazwy_klasi++)
        {
            
    WczytajDane(idi);
            
    format(klasa49"%s \yPoziom: %i"nazwy_klas[i], poziom_gracza[id]);
            
    menu_additem(menuklasa);
        }
        
        
    WczytajDane(idklasa_gracza[id]);
        
        
    menu_setprop(menuMPROP_EXITNAME"Wyjdz");
        
    menu_setprop(menuMPROP_BACKNAME"Poprzednia strona");
        
    menu_setprop(menuMPROP_NEXTNAME"Nastepna strona");
        
    menu_display(idmenu);
            
        
    client_cmd(id"spk QTM_CodMod/select");
    #if defined BOTY
        
    if(is_user_bot2(id))
            
    WybierzKlase_Handle(idmenurandom(sizeof nazwy_klas-1));
    #endif
    }

    public 
    WybierzKlase_Handle(idmenuitem)
    {
        
    client_cmd(id"spk QTM_CodMod/select");
        
        if(
    item == MENU_EXIT)
        {
            
    menu_destroy(menu);
            return 
    PLUGIN_CONTINUE;
        }    
            
        
    item++;
        
        if(
    item == klasa_gracza[id])
            return 
    PLUGIN_CONTINUE;
        
        if(
    item == Rambo && !(get_user_flags(id) & ADMIN_KICK))
        {
            
    client_print(idprint_chat"[COD:MW] Nie masz uprawnien aby kozystac z klasy premium.");
            
    WybierzKlase(id);
            return 
    PLUGIN_CONTINUE;
        }
        
        if(
    klasa_gracza[id])
        {
            
    nowa_klasa_gracza[id] = item;
            
    client_print(idprint_chat"[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
        }
        else
        {
            
    klasa_gracza[id] = item;
            
    WczytajDane(idklasa_gracza[id]);
            
    Odrodzenie(id);
        }
        return 
    PLUGIN_CONTINUE;
    }

    public 
    PrzydzielPunkty(id)
    {
        new 
    inteligencja[65];
        new 
    zdrowie[60];
        new 
    wytrzymalosc[60];
        new 
    kondycja[60];
        new 
    tytul[25];
        
    format(inteligencja64"Inteligencja: \r%i \y(Zwieksza obrazenia zadawane przedmiotami)"inteligencja_gracza[id]);
        
    format(zdrowie59"Zycie: \r%i \y(Zwieksza zycie)"zdrowie_gracza[id]);
        
    format(wytrzymalosc59"Wytrzymalosc: \r%i \y(Zmniejsza obrazenia)"wytrzymalosc_gracza[id]);
        
    format(kondycja59"Kondycja: \r%i \y(Zwieksza tempo chodu)"kondycja_gracza[id]);
        
    format(tytul24"Przydziel Punkty(%i):"punkty_gracza[id]);
        new 
    menu menu_create(tytul"PrzydzielPunkty_Handler");
        
    menu_additem(menuinteligencja);
        
    menu_additem(menuzdrowie);
        
    menu_additem(menuwytrzymalosc);
        
    menu_additem(menukondycja);
        
    menu_display(idmenu);
    #if defined BOTY
        
    if(is_user_bot2(id))
            
    PrzydzielPunkty_Handler(idmenurandom(4));
    #endif
    }

    public 
    PrzydzielPunkty_Handler(idmenuitem)
    {
        
    client_cmd(id"spk QTM_CodMod/select");
        
        if(
    item == MENU_EXIT)
        {
            
    menu_destroy(menu);
            return 
    PLUGIN_CONTINUE;
        }
        
        switch(
    item
        { 
            case 
    0
            {    
                if(
    inteligencja_gracza[id]<100)
                    
    inteligencja_gracza[id]++;
                else 
                    
    client_print(idprint_chat"[COD:MW] Maxymalny poziom inteligencji osiagniety");
                
            }
            case 
    1
            {    
                if(
    zdrowie_gracza[id]<100)
                    
    zdrowie_gracza[id]++;
                else 
                    
    client_print(idprint_chat"[COD:MW] Maxymalny poziom sily osiagniety");
            }
            case 
    2
            {    
                if(
    wytrzymalosc_gracza[id]<100)
                    
    wytrzymalosc_gracza[id]++;
                else 
                    
    client_print(idprint_chat"[COD:MW] Maxymalny poziom zrecznosci osiagniety");
                
            }
            case 
    3
            {    
                if(
    kondycja_gracza[id]<100)
                    
    kondycja_gracza[id]++;
                else 
                    
    client_print(idprint_chat"[COD:MW] Maxymalny poziom zwinnosci osiagniety");
            }
        }
        
        
    punkty_gracza[id]--;
        
        if(
    punkty_gracza[id]>0)
            
    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(idprint_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<maksymalne_zdrowie_gracza[id])?health+10:maksymalne_zdrowie_gracza[id];
        
    set_user_health(idnew_health);
        return 
    PLUGIN_CONTINUE;
    }

    public 
    StworzApteczke(id)
    {
        if (!
    ilosc_apteczek_gracza[id])
        {
            
    client_print(idprint_center"Masz tylko 2 apteczki na runde!");
            return 
    PLUGIN_CONTINUE;
        }
        
        if(
    inteligencja_gracza[id] < 1)
            
    client_print(idprint_center"Aby wzmocnic apteczke, zwieksz inteligencje!");
            
        
    ilosc_apteczek_gracza[id]--;
        
        new 
    Float:origin[3];
        
    entity_get_vector(idEV_VEC_originorigin);
        
        new 
    ent create_entity("info_target");
        
    entity_set_string(entEV_SZ_classname"Apteczka");
        
    entity_set_edict(entEV_ENT_ownerid);
        
    entity_set_int(entEV_INT_solidSOLID_NOT);
        
    entity_set_vector(entEV_VEC_originorigin);
        
    entity_set_float(entEV_FL_ltimehalflife_time() + 0.1);
        
        
        
    entity_set_model(ent"models/w_medkit.mdl");
        
    set_rendering entkRenderFxGlowShell255,0,0kRenderFxNone255 )     ;
        
    drop_to_floor(ent);
        
        
    entity_set_float(entEV_FL_nextthinkhalflife_time() + 0.1);
        
        return 
    PLUGIN_CONTINUE;
    }

    public 
    ApteczkaThink(ent)
    {
        new 
    id entity_get_edict(entEV_ENT_owner);
        new 
    totem_dist 300;
        new 
    totem_heal 5+floatround(inteligencja_gracza[id]*0.5);
        if (
    entity_get_edict(entEV_ENT_euser2) == 1)
        {        
            new 
    Float:forigin[3], origin[3];
            
    entity_get_vector(entEV_VEC_originforigin);
            
    FVecIVec(forigin,origin);
            
            new 
    entlist[33];
            new 
    numfound find_sphere_class(0,"player",totem_dist+0.0,entlist32,forigin);
            
            for (new 
    i=0numfoundi++)
            {        
                new 
    pid entlist[i];
                
                if (
    get_user_team(pid) != get_user_team(id))
                    continue;
                                    
                new 
    zdrowie get_user_health(pid);
                new 
    nowe_zdrowie = (zdrowie+totem_heal<maksymalne_zdrowie_gracza[pid])?zdrowie+totem_heal:maksymalne_zdrowie_gracza[pid];
                if (
    is_user_alive(pid)) set_user_health(pidnowe_zdrowie);        
            }
            
            
    entity_set_edict(entEV_ENT_euser20);
            
    entity_set_float(entEV_FL_nextthinkhalflife_time() + 1.5);
            
            return 
    PLUGIN_CONTINUE;
        }
        
        if (
    entity_get_float(entEV_FL_ltime) < halflife_time() || !is_user_alive(id))
        {
            
    remove_entity(ent);
            return 
    PLUGIN_CONTINUE;
        }
        
        if (
    entity_get_float(entEV_FL_ltime)-2.0 halflife_time())
            
    set_rendering entkRenderFxNone255,255,255kRenderTransAlpha100 ) ;
            
        new 
    Float:forigin[3], origin[3];
        
    entity_get_vector(entEV_VEC_originforigin);
        
    FVecIVec(forigin,origin);
                        
        
    //Find people near and give them health
        
    message_beginMSG_BROADCASTSVC_TEMPENTITYorigin );
        
    write_byteTE_BEAMCYLINDER );
        
    write_coordorigin[0] );
        
    write_coordorigin[1] );
        
    write_coordorigin[2] );
        
    write_coordorigin[0] );
        
    write_coordorigin[1] + totem_dist );
        
    write_coordorigin[2] + totem_dist );
        
    write_shortsprite_white );
        
    write_byte); // startframe
        
    write_byte); // framerate
        
    write_byte10 ); // life
        
    write_byte10 ); // width
        
    write_byte255 ); // noise
        
    write_byte255 ); // r, g, b
        
    write_byte100 );// r, g, b
        
    write_byte100 ); // r, g, b
        
    write_byte128 ); // brightness
        
    write_byte); // speed
        
    message_end();
            
        
    entity_set_edict(entEV_ENT_euser2 ,1);
        
    entity_set_float(entEV_FL_nextthinkhalflife_time() + 0.5);
        
            
        return 
    PLUGIN_CONTINUE;

    }

    public 
    StworzRakiete(id)
    {
        if (!
    ilosc_rakiet_gracza[id])
        {
            
    client_print(idprint_center"Wykrzystales juz wszystkie rakiety!");
            return 
    PLUGIN_CONTINUE;
        }
        
        if(
    poprzednia_rakieta_gracza[id] + 2.0 get_gametime())
        {
            
    client_print(idprint_center"Rakiet mozesz uzywac co 2 sekundy!");
            return 
    PLUGIN_CONTINUE;
        }
        
        if (
    is_user_alive(id))
        {    
            if(
    inteligencja_gracza[id] < 1)
                
    client_print(idprint_center"Aby wzmocnic rakiete, zwieksz inteligencje!");
                
            
    poprzednia_rakieta_gracza[id] = get_gametime();
            
    ilosc_rakiet_gracza[id]--;

            new 
    FloatOrigin[3], FloatvAngle[3], FloatVelocity[3];
            
            
    entity_get_vector(idEV_VEC_v_anglevAngle);
            
    entity_get_vector(idEV_VEC_origin Origin);
        
            new 
    Ent create_entity("info_target");
        
            
    entity_set_string(EntEV_SZ_classname"Rocket");
            
    entity_set_model(Ent"models/rpgrocket.mdl");
        
            
    vAngle[0] *= -1.0;
        
            
    entity_set_origin(EntOrigin);
            
    entity_set_vector(EntEV_VEC_anglesvAngle);
        
            
    entity_set_int(EntEV_INT_effects2);
            
    entity_set_int(EntEV_INT_solidSOLID_BBOX);
            
    entity_set_int(EntEV_INT_movetypeMOVETYPE_FLY);
            
    entity_set_edict(EntEV_ENT_ownerid);
        
            
    VelocityByAim(id1000 Velocity);
            
    entity_set_vector(EntEV_VEC_velocity ,Velocity);
        }    
        return 
    PLUGIN_CONTINUE;
    }

    public 
    PolozDynamit(id)
    {
        if(!
    ilosc_dynamitow_gracza[id])
        {
            
    client_print(idprint_center"Wykorzystales juz caly dynamit!");
            return 
    PLUGIN_CONTINUE;
        }
        
        if(
    inteligencja_gracza[id] < 1)
            
    client_print(idprint_center"Aby wzmocnic dynamit, zwieksz inteligencje!");
        
        
    ilosc_dynamitow_gracza[id]--;
        new 
    Float:fOrigin[3], iOrigin[3];
        
    entity_get_vectoridEV_VEC_originfOrigin);
        
    iOrigin[0] = floatround(fOrigin[0]);
        
    iOrigin[1] = floatround(fOrigin[1]);
        
    iOrigin[2] = floatround(fOrigin[2]);

        
    message_begin(MSG_BROADCAST,SVC_TEMPENTITYiOrigin);
        
    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_beginMSG_BROADCASTSVC_TEMPENTITYiOrigin );
        
    write_byteTE_BEAMCYLINDER );
        
    write_coordiOrigin[0] );
        
    write_coordiOrigin[1] );
        
    write_coordiOrigin[2] );
        
    write_coordiOrigin[0] );
        
    write_coordiOrigin[1] + 300 );
        
    write_coordiOrigin[2] + 300 );
        
    write_shortsprite_white );
        
    write_byte); // startframe
        
    write_byte); // framerate
        
    write_byte10 ); // life
        
    write_byte10 ); // width
        
    write_byte255 ); // noise
        
    write_byte255 ); // r, g, b
        
    write_byte100 );// r, g, b
        
    write_byte100 ); // r, g, b
        
    write_byte128 ); // brightness
        
    write_byte); // speed
        
    message_end();

        new 
    entlist[33];
        new 
    numfound find_sphere_class(id"player"300.0 entlist32);
        
        for (new 
    i=0numfoundi++)
        {        
            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_TakeDamagepid0id90.0+float(inteligencja_gracza[id]) , 1);
        }
        return 
    PLUGIN_CONTINUE;
    }

    public 
    PostawMine(id)
    {
        if (!
    ilosc_min_gracza[id])
        {
            
    client_print(idprint_center"Wykorzystales juz wszystkie miny!");
            return 
    PLUGIN_CONTINUE;
        }
        
        if(
    inteligencja_gracza[id] < 1)
            
    client_print(idprint_center"Aby wzmocnic miny, zwieksz inteligencje!");
        
        
    ilosc_min_gracza[id]--;
        
        new 
    Float:origin[3];
        
    entity_get_vector(idEV_VEC_originorigin);
            
        new 
    ent create_entity("info_target");
        
    entity_set_string(ent ,EV_SZ_classname"Mine");
        
    entity_set_edict(ent ,EV_ENT_ownerid);
        
    entity_set_int(entEV_INT_movetypeMOVETYPE_TOSS);
        
    entity_set_origin(entorigin);
        
    entity_set_int(entEV_INT_solidSOLID_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,kRenderFxNone0,0,0kRenderTransTexture,50)    ;
        
        
        return 
    PLUGIN_CONTINUE;
    }

    public 
    DotykMiny(entid)
    {
        new 
    attacker entity_get_edict(entEV_ENT_owner);
        if (
    get_user_team(attacker) != get_user_team(id))
        {
            new 
    Float:fOrigin[3], iOrigin[3];
            
    entity_get_vectorentEV_VEC_originfOrigin);
            
    iOrigin[0] = floatround(fOrigin[0]);
            
    iOrigin[1] = floatround(fOrigin[1]);
            
    iOrigin[2] = floatround(fOrigin[2]);
            
            
    message_begin(MSG_BROADCAST,SVC_TEMPENTITYiOrigin);
            
    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 ,entlist32);
            
            for (new 
    i=0numfoundi++)
            {        
                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_TakeDamagepidentattacker90.0+float(inteligencja_gracza[attacker]) , 1);
            }
            
    remove_entity(ent);
        }
    }

    public 
    DotykRakiety(ent)
    {
        if ( !
    is_valid_ent(ent))
            return;

        new 
    attacker entity_get_edict(entEV_ENT_owner);

        new 
    Float:fOrigin[3], iOrigin[3];
        
    entity_get_vectorentEV_VEC_originfOrigin);    
        
    iOrigin[0] = floatround(fOrigin[0]);
        
    iOrigin[1] = floatround(fOrigin[1]);
        
    iOrigin[2] = floatround(fOrigin[2]);

        
    message_begin(MSG_BROADCAST,SVC_TEMPENTITYiOrigin);
        
    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.0entlist32);
        
        for (new 
    i=0numfoundi++)
        {        
            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_TakeDamagepidentattacker55.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(idiChannelszSound[], Float:fVolFloat:fAttniFlagsiPitch 
    {
        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(idmaksymalne_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(idklasa)
    {
        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(vaultdata255"#"" ");
     
        new 
    doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32];
     
        
    parse(vaultdatadoswiadczeniegracza31poziomgracza31inteligencjagracza31silagracza31zrecznoscgracza31zwinnoscgracza31);
     
        
    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(idprint_chat"[COD:MW] Wyrzuciles %s."nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
            
    UsunPrzedmiot(id);
        }
        else
            
    client_print(idprint_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(id0);
        
    set_rendering(id,kRenderFxGlowShell,0,0,,kRenderTransAlpha255);
        
    ZmienUbranie(id1);
    }

    public 
    DajPrzedmiot(idprzedmiot)
    {
        
    UsunPrzedmiot(id);
        
    informacje_przedmiotu_gracza[id][0] = przedmiot;
        
    client_print(idprint_chat"[COD:MW] Zdobyles %s."nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);    
        
        switch(
    przedmiot)
        {
            case 
    1:
            {
                
    set_user_footsteps(id1);
            }
            case 
    2:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(3,6);
            }
            case 
    3:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(611);
            }
            case 
    5:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(69);
            }
            case 
    6:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(100150);
                
    set_rendering(id,kRenderFxGlowShell,0,0,,kRenderTransAlphainformacje_przedmiotu_gracza[id][1]);
            }
            case 
    7:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(24);
            }
            case 
    8:
            {
                if(
    klasa_gracza[id] == Komandos)
                    
    DajPrzedmiot(idrandom_num(1sizeof nazwy_przedmiotow-1));
            }
            case 
    9:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(13);
                
    ZmienUbranie(id0);
                
    give_item(id"weapon_hegrenade");
            }
            case 
    10:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(48);
                
    give_item(id"weapon_hegrenade");
            }
            case 
    12:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(14);
            }
            case 
    13:
            {
                
    give_item(id"weapon_awp");
            }
            case 
    15:
            {
                if(
    klasa_gracza[id] == Rambo)
                    
    DajPrzedmiot(idrandom_num(1sizeof 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(36);
            }
            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_wartosc2);
        
    format(opis_przedmiotu127opisy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
        
    replace_all(opis_przedmiotu127"LW"losowa_wartosc);
        
        
    client_print(idprint_chat"Przedmiot: %s."nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
        
    client_print(idprint_chat"Opis: %s."opis_przedmiotu);
    }

    public 
    Wskrzes(id)
    {
        
    id-=ZADANIE_WSKRZES;
        
    ExecuteHamB(Ham_CS_RoundRespawnid);
    }

    public 
    SprawdzPoziom(id)
    {    
        if(
    poziom_gracza[id] < 201)
        {
            while(
    doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
            {
                
    poziom_gracza[id]++;
                
    set_hudmessage(6020025, -1.00.2501.02.00.10.22);
                
    ShowSyncHudMsg(idSyncHudObj3"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(idEV_INT_iuser2);
            
            if(
    target == 0)
                return 
    PLUGIN_CONTINUE;
                
            
    set_hudmessage(2552552550.6, -1.000.00.30.00.02);
            
    ShowSyncHudMsg(idSyncHudObj"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(255000.020.2300.00.30.00.0);
        
    ShowSyncHudMsg(idSyncHudObj"[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(idprint_chat"[COD:MW] Witaj w Modyfikacji Call of Duty stworzonej przez QTM_Peyote.");
    }

    public 
    UstawSzybkosc(id)
    {
        
    id -= id>32ZADANIE_USTAW_SZYBKOSC0;
        
        if(
    klasa_gracza[id])
            
    set_user_maxspeed(idszybkosc_gracza[id]);
    }
        
    public 
    ZmienUbranie(id,reset)
    {
        if (
    id<|| 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 
    1cs_set_user_model(idUbrania_CT[num]);
                case 
    2:cs_set_user_model(idUbrania_Terro[num]);
            }
        }
        
        return 
    PLUGIN_CONTINUE;
    }

    public 
    Pomoc()
    {
        switch(
    random(6))
        {
            case 
    0client_print(0print_chat"[COD:MW] Aby zresetowac umiejetnosci napisz /reset.");
            case 
    1client_print(0print_chat"[COD:MW] Aby zmienic klase napisz /klasa.");
            case 
    2client_print(0print_chat"[COD:MW] Aby uzyc przedmiotu nacisnij E.");
            case 
    3client_print(0print_chat"[COD:MW] Aby wyrzucic przedmiot napisz /wyrzuc.");
            case 
    4client_print(0print_chat"[COD:MW] Aby zobaczyc opis przedmiotu napisz /przedmiot.");
            case 
    5client_print(0print_chat"[COD:MW] Aby zobaczyc opis klas napisz /klasy.");
        }
        
    set_task(36.0"Pomoc");
    }

    /*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(weaponEV_SZ_modelmodel22);
        if (!
    is_user_connected(id) || entity_get_edict(weaponEV_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 
    pingloss
        get_user_ping
    (idpingloss)
        if(
    ping && 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_anglesCoreAngles);
        
        for ( new 
    02i++ )
            
    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_forwardv_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:Vec2DLengthFloat:Vec[2] )  

        return 
    floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
    }

    stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
    {
        
    message_beginMSG_ONEg_msg_screenfade,{0,0,0},id );
        
    write_shortduration );    // Duration of fadeout
        
    write_shortholdtime );    // Hold time of color
        
    write_shortfadetype );    // Fade type
        
    write_byte red );        // Red
        
    write_byte green );        // Green
        
    write_byte blue );        // Blue
        
    write_byte alpha );    // Alpha
        
    message_end();
    }

    stock set_user_clip(idammo)
    {
        new 
    weaponname[32], weaponid = -1weapon get_user_weapon(id__);
        
    get_weaponname(weaponweaponname31);
        while ((
    weaponid find_ent_by_class(weaponidweaponname)) != 0)
            if(
    entity_get_edict(weaponidEV_ENT_owner) == id
            {
                
    set_pdata_int(weaponid51ammo4);
                return 
    weaponid;
            }
        return 
    0;

    Jak chcesz blokadę wyswietlania - na koncu na przyklad public WybierzKlase dopisz:
    return PLUGIN_HANDLED
    PISANIE DO MNIE NA GG Z PROŚBĄ O JAKĄKOLWIEK POMOC NIE JEST MILE WIDZIANE! Numer: 6374959
     

  15. #15 Odp: mały sklep do CoD MOD 
    Starsza lamka Awatar rafal4lord
    Dołączył
    Jul 2008
    Posty
    63
    dziękówa!

    dodałem (chyba dobrze) kompiluje się ale są błędy:
    Kod:
    /groups/amxmodx/tmp3/textfxAtUU.sma(901) : warning 217: loose indentation
    /groups/amxmodx/tmp3/textfxAtUU.sma(1071) : warning 217: loose indentation
    /groups/amxmodx/tmp3/textfxAtUU.sma(1503) : warning 217: loose indentation
    /groups/amxmodx/tmp3/textfxAtUU.sma(1607) : warning 217: loose indentation
    poniżej zmodyfikowany plik

    Kod php:
    #include <amxmodx>
    #include <amxmisc>
    #include <fun>
    #include <cstrike>
    #include <fakemeta>
    #include <engine>
    #include <hamsandwich>
    #include <nvault>


    #define PLUGIN "Call of Duty: MW Mod"
    #define VERSION "0.7.9 Beta"
    #define AUTHOR "QTM_Peyote"

    #define STANDARDOWA_SZYBKOSC 250.0

    #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 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 
    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] = { -113, -110,  1,  7,  1,  3030,  1,  30,  20,  25303525,  12,  20
    10,  30100,  830,  3020,  2,  73030, -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"
        
    };

    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"
    };

    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 0SnajperKomandosStrzelecObroncaMedykWsparcieSaperDemolitionsRusherRamboPartyzantSzpiegSzturmowiecStrzelecWsparciaLekkiZolnierzRebeliantNinja};
    new const 
    zdrowie_klasy[] = { 01201401101201101001001101001301007014012510012570};
    new const 
    Float:szybkosc_klasy[] = {0.01.21.350.80.81.01.01.01.01.3 1.151.11.20.90.91.351.21.5};
    new const 
    pancerz_klasy[] = { 01001001001501000100100015000150500250};
    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"
    };

    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 + mniej widzialny",
        
    "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"
    };

    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;
    new 
    bool:sklep_uzyty[33];
    public 
    plugin_init()
    {
        
    register_plugin(PLUGINVERSIONAUTHOR);
        
        
    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 /reset""KomendaResetujPunkty");
        
    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_KICK"<name> <level>");

        
    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");
        
        
    set_task(30.0"Pomoc");

    //Shop
        
    register_clcmd("say /shop""pokaz_sklep_codmod")
        
    register_clcmd("say /codshop""pokaz_sklep_codmod")
    }
    public 
    pokaz_sklep_codmod(id)
    {
        if(
    sklep_uzyty[id])
        {
            
    client_print(idprint_center"W tej rundzie uzyles juz sklepu");
            return 
    PLUGIN_HANDLED;
        }
        else
        {
            
    sklep_uzyty[id] = true;
        }
        if(
    is_user_connected(id) && is_user_alive(id))
        {
            new 
    menu menu_create("Sklep Cod:MW2 Mod""uzyj_sklep_codmod");
            
    menu_additem(menu"50 HP (3000$)");
            
    menu_additem(menu"100 HP (5000$)");
            
    menu_additem(menu"50 EXP (9000$)");
            
    menu_additem(menu"100 EXP (16000$)");
            
    menu_display(idmenu);
        }
        return 
    PLUGIN_HANDLED;
    }
    public 
    uzyj_sklep_codmod(idmenuitem)
    {
        
    menu_destroy(menu)
        if(
    is_user_alive(id))
        {
            switch(
    item)
            {
                case 
    0:
                {
                    
    //50HP
                    
    if(buy(id3000))
                    {
                        
    set_user_health(idmin(get_user_health(id) + 50255))
                    }
                }
                case 
    1:
                {
                    
    //100HP
                    
    if(buy(id5000))
                    {
                        
    set_user_health(idmin(get_user_health(id) + 100255))
                    }
                }
                case 
    2:
                {
                    
    //50EXP
                    
    if(buy(id9000))
                    {
                        
    doswiadczenie_gracza[id]+=50;
                        
    SprawdzPoziom(id);
                    }
                }
                case 
    3:
                {
                    
    //100EXP
                    
    if(buy(id16000))
                    {
                        
    doswiadczenie_gracza[id]+=100;
                        
    SprawdzPoziom(id);
                    }
                }
            }
        }
    }



    public 
    plugin_cfg() 
    {    
        
    server_cmd("sv_maxspeed 1600");
    }

    public 
    plugin_precache()
    {
        
    sprite_white precache_model("sprites/white.spr") ;
        
    sprite_blast precache_model("sprites/dexplo.spr");
        
        
    precache_sound("QTM_CodMod/select.wav");
        
    precache_sound("QTM_CodMod/start.wav");
        
    precache_sound("QTM_CodMod/start2.wav");
        
    precache_sound("QTM_CodMod/levelup.wav");
        
        
    precache_model("models/w_medkit.mdl");
        
    precache_model("models/rpgrocket.mdl");
        
    precache_model("models/mine.mdl");
    }

    public 
    CmdStart(iduc_handle)
    {
        if(!
    is_user_alive(id))
            return 
    FMRES_IGNORED;
            
        new 
    button get_uc(uc_handleUC_Buttons);
        new 
    oldbutton get_user_oldbutton(id);
        new 
    flags get_entity_flags(id);
        
        if(
    informacje_przedmiotu_gracza[id][0] == 11 || klasa_gracza[id] == Rambo)
        {
            if((
    button IN_JUMP) && !(flags FL_ONGROUND) && !(oldbutton IN_JUMP) && ilosc_skokow_gracza[id] > 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(idEV_VEC_punchanglepunchangle);
            if(
    informacje_przedmiotu_gracza[id][0] == 23)
            {
                
    entity_get_vector(idEV_VEC_punchanglepunchangle);
                for(new 
    i=0i<3;i++) 
                    
    punchangle[i]*=0.9;
                
    entity_set_vector(idEV_VEC_punchanglepunchangle);
            }
        }
        
        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(id700velocity);
            
    velocity[2] = random_float(265.0,285.0);
            
    entity_set_vector(idEV_VEC_velocityvelocity);
        }
        
        
        return 
    FMRES_IGNORED;
    }

    public 
    Odrodzenie(id)
    {
        
    sklep_uzyty[id] = false;
        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 
    1give_item(id"weapon_glock18");
                case 
    2give_item(id"weapon_usp");
            }
            
    WczytajDane(idklasa_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(idkRenderFxGlowShell000kRenderTransColor70);
            }
            case 
    Szpieg:
            {
                
    give_item(id"weapon_deagle");
                
    ZmienUbranie(id0);
            }
            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] = ;
            }
            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] = ;
            }
            case 
    Ninja:
            {
                
    give_item(id"weapon_elite");    
            }            
        }
            
        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(id0);
                
        if(
    informacje_przedmiotu_gracza[id][0] == 1)
            
    set_user_footsteps(id1);
        else
            
    set_user_footsteps(id0);
            
        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;
                
        new 
    weapons[32];
        new 
    weaponsnum;
        
    get_user_weapons(idweaponsweaponsnum);
        for(new 
    i=0i<weaponsnumi++)
            if(
    is_user_alive(id))
                if(
    maxAmmo[weapons[i]] > 0)
                    
    cs_set_user_bpammo(idweapons[i], maxAmmo[weapons[i]]);
            
        
    redukcja_obrazen_gracza[id] = (47.3057*(1.0-floatpower2.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(idpancerz_klasy[klasa_gracza[id]]);
        
    set_user_health(idmaksymalne_zdrowie_gracza[id]);
        if(
    informacje_przedmiotu_gracza[id][0] == 17)
            
    set_user_armor(id500);
            
        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 
    1client_cmd(id"spk QTM_CodMod/start");
                case 
    2client_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(thisidinflictoridattackerFloat:damagedamagebits)
    {
        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] == || informacje_przedmiotu_gracza[this][0] == 3)
            
    damage-=(float(informacje_przedmiotu_gracza[this][1])<damage)? float(informacje_przedmiotu_gracza[this][1]): damage;
                
        if(
    informacje_przedmiotu_gracza[idattacker][0] == && !UTIL_In_FOV(thisidattacker) && UTIL_In_FOV(idattackerthis))
            
    damage*=2.0;
            
        if(
    informacje_przedmiotu_gracza[idattacker][0] == 10)
            
    damage+=informacje_przedmiotu_gracza[idattacker][1];
            
        if(
    informacje_przedmiotu_gracza[this][0] == 12)
            
    damage-=(5.0<damage)? 5.0damage;
        
        if(
    weapon == CSW_AWP && informacje_przedmiotu_gracza[idattacker][0] == 13)
            
    damage=float(health);
            
        if(
    informacje_przedmiotu_gracza[idattacker][0] == 21)
            
    damage+=10;
            
        if(
    informacje_przedmiotu_gracza[idattacker][0] == 22)
            
    damage+=20;
            
        if(
    idinflictor != idattacker && entity_get_int(idinflictorEV_INT_movetype) != 5)
        {
            if((
    informacje_przedmiotu_gracza[idattacker][0] == && random_num(1informacje_przedmiotu_gracza[idattacker][1]) == 1) || informacje_przedmiotu_gracza[idattacker][0] == 10)
                
    damage float(health);    
        }

        if(
    weapon == CSW_KNIFE)
        {
            if(
    informacje_przedmiotu_gracza[this][0] == 4)
                
    damage=damage*1.4+inteligencja_gracza[idattacker];
            if(
    informacje_przedmiotu_gracza[idattacker][0] == || (klasa_gracza[idattacker] == Snajper && random(2) == 2) || klasa_gracza[idattacker] == Komandos && !(get_user_button(idattacker) & IN_ATTACK))
                
    damage float(health);
        }
        
        if(
    informacje_przedmiotu_gracza[this][0] == 26 && random_num(1informacje_przedmiotu_gracza[this][1]) == 1)
        {
            
    SetHamParamEntity(3this);
            
    SetHamParamEntity(1idattacker);
        }
            
            
        
    SetHamParamFloat(4damage);
        return 
    HAM_IGNORED;
    }

    public 
    Damage(id)
    {
        new 
    attacker get_user_attacker(id);
        new 
    damage read_data(2);
        if(!
    is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !klasa_gracza[attacker])
            return 
    PLUGIN_CONTINUE;
            
        if(
    informacje_przedmiotu_gracza[attacker][0] == 12 && random_num(1informacje_przedmiotu_gracza[id][1]) == 1)
            
    Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
        
        if(
    get_user_team(id) != get_user_team(attacker))
        {
            while(
    damage>20)
            {
                
    damage-=20;
                
    doswiadczenie_gracza[attacker]++;
            }
        }
        
    SprawdzPoziom(attacker);
        return 
    PLUGIN_CONTINUE;
    }
    public 
    buy(idmoney)
    {
        if(
    cs_get_user_money(id) < money)
        {
            
    client_print(idprint_center"Nie masz wystarczajaco duzo pieniedzy!");
            return 
    false;
        }
        
    cs_set_user_money(idcs_get_user_money(id)-money);
        return 
    true;
    }
    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<maksymalne_zdrowie_gracza[attacker])? zdrowie+20maksymalne_zdrowie_gracza[attacker];
                
    set_user_clip(attackermaxClip[weapon]);
                
    set_user_health(attackernowe_zdrowie);
            }
    #if defined BOTY
            
    if(is_user_bot2(attacker) && random(9) == 0)
                
    WyrzucPrzedmiot(id);
    #endif
            
    if(!informacje_przedmiotu_gracza[attacker][0])
                
    DajPrzedmiot(attackerrandom_num(1sizeof nazwy_przedmiotow-1));
        
            if(
    informacje_przedmiotu_gracza[attacker][0] == 14)
            {
                new 
    nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_gracza[attacker])? zdrowie+50maksymalne_zdrowie_gracza[attacker];
                
    set_user_health(attackernowe_zdrowie);
            }
            
            
    set_hudmessage(25521200.500.3316.04.0);
            
    ShowSyncHudMsg(attackerSyncHudObj2"+%i"nowe_doswiadczenie);
            
            
    doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
        }
        
        
    SprawdzPoziom(attacker);
        
        if(
    informacje_przedmiotu_gracza[id][0] == && random_num(1informacje_przedmiotu_gracza[id][1]) == 1)
            
    set_task(0.1"Wskrzes"id+ZADANIE_WSKRZES);
        
        return 
    PLUGIN_CONTINUE;
    }

    public 
    client_connect(id)
    {
        
    //resetuje umiejetnosci
        
    klasa_gracza[id] = 0;
        
    poziom_gracza[id] = 0;
        
    doswiadczenie_gracza[id] = 0;
        
    punkty_gracza[id] = 0;
        
    zdrowie_gracza[id] = 0;
        
    inteligencja_gracza[id] = 0;
        
    wytrzymalosc_gracza[id] = 0;
        
    kondycja_gracza[id] = 0;
        
    maksymalne_zdrowie_gracza[id] = 0;
        
    szybkosc_gracza[id] = 0.0;

        
        
    get_user_name(idnazwa_gracza[id], 63);
        
        
    remove_task(id+ZADANIE_POKAZ_INFORMACJE);
        
    remove_task(id+ZADANIE_POKAZ_REKLAME);    
        
    remove_task(id+ZADANIE_USTAW_SZYBKOSC);
        
    remove_task(id+ZADANIE_WSKRZES);
        
    remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
        
        
    set_task(10.0"PokazReklame"id+ZADANIE_POKAZ_REKLAME);
        
    set_task(3.0"PokazInformacje"id+ZADANIE_POKAZ_INFORMACJE);
        
        
    //resetuje przedmioty
        
    UsunPrzedmiot(id);
    }

    public 
    client_disconnect(id)
    {
        
    remove_task(id+ZADANIE_POKAZ_INFORMACJE);
        
    remove_task(id+ZADANIE_POKAZ_REKLAME);    
        
    remove_task(id+ZADANIE_USTAW_SZYBKOSC);
        
    remove_task(id+ZADANIE_WSKRZES);
        
    remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
            
        
    ZapiszDane(id);
        
    UsunPrzedmiot(id);
    }
        
    public 
    RozbrajaBombe(id)
        if(
    klasa_gracza[id])
            
    rozbrajajacy id;
        
    public 
    BombaPodlozona()
    {
        new 
    Players[32], playerCountid;
        
    get_players(PlayersplayerCount"aeh""TERRORIST");
        
        if(
    get_playersnum() > 1)
        {
            
    doswiadczenie_gracza[podkladajacy] += doswiadczenie_za_bombe;
            for (new 
    i=0i<playerCounti++) 
            {
                
    id Players[i];
                if(!
    klasa_gracza[id])
                    continue;
                    
                if(
    id != podkladajacy)
                {
                    
    doswiadczenie_gracza[id] += doswiadczenia_za_zabojstwo;
                    
    client_print(idprint_chat"[COD:MW] Dostales %i doswiadczenia za podlozenie bomby przez twoj team."doswiadczenia_za_zabojstwo);
                }
                else
                {
                    
    client_print(idprint_chat"[COD:MW] Dostales %i doswiadczenia za podlozenie bomby."doswiadczenie_za_bombe);
                }
                
    SprawdzPoziom(id);
            }
        }
    }

    public 
    BombaRozbrojona()
    {
        new 
    Players[32], playerCountid;
        
    get_players(PlayersplayerCount"aeh""CT");
        
        
    doswiadczenie_gracza[rozbrajajacy] += doswiadczenie_za_bombe;
        for (new 
    i=0i<playerCounti++) 
        {
            
    id Players[i];
            if(!
    klasa_gracza[id])
                continue;
            if(
    id != rozbrajajacy)
            {
                
    doswiadczenie_gracza[id]+= doswiadczenia_za_zabojstwo;
                
    client_print(idprint_chat"[COD:MW] Dostales %i doswiadczenia za rozbrojenie bomby przez twoj team."doswiadczenia_za_zabojstwo);
            }
            else
                
    client_print(idprint_chat"[COD:MW] Dostales %i doswiadczenia za rozbrojenie bomby.",doswiadczenie_za_bombe);
            
    SprawdzPoziom(id);
        }
    }

    public 
    OpisKlasy(id)
    {
        new 
    menu menu_create("Wybierz klase:""OpisKlasy_Handle");
        for(new 
    i=1i<sizeof nazwy_klasi++)
            
    menu_additem(menunazwy_klas[i]);
        
    menu_setprop(menuMPROP_EXITNAME"Wyjdz");
        
    menu_setprop(menuMPROP_BACKNAME"Poprzednia strona");
        
    menu_setprop(menuMPROP_NEXTNAME"Nastepna strona");
        
    menu_display(idmenu);
        
        
    client_cmd(id"spk QTM_CodMod/select");
    return 
    PLUGIN_HANDLED;
    }

    public 
    OpisKlasy_Handle(idmenuitem)
    {
        
    client_cmd(id"spk QTM_CodMod/select");
        
        if(
    item == MENU_EXIT)
        {
            
    menu_destroy(menu);
            return 
    PLUGIN_CONTINUE;
        }
        
    client_print(idprint_chat"[COD:MW] %s: %s"nazwy_klas[item+1], opisy_klas[item+1]);
        
    menu_display(idmenu);
        
        return 
    PLUGIN_CONTINUE;
    }

    public 
    WybierzKlase(id)
    {
        new 
    menu menu_create("Wybierz klase:""WybierzKlase_Handle");
        new 
    klasa[50];
        for(new 
    i=1i<sizeof nazwy_klasi++)
        {
            
    WczytajDane(idi);
            
    format(klasa49"%s yPoziom: %i"nazwy_klas[i], poziom_gracza[id]);
            
    menu_additem(menuklasa);
        }
        
        
    WczytajDane(idklasa_gracza[id]);
        
        
    menu_setprop(menuMPROP_EXITNAME"Wyjdz");
        
    menu_setprop(menuMPROP_BACKNAME"Poprzednia strona");
        
    menu_setprop(menuMPROP_NEXTNAME"Nastepna strona");
        
    menu_display(idmenu);
            
        
    client_cmd(id"spk QTM_CodMod/select");
    #if defined BOTY
        
    if(is_user_bot2(id))
            
    WybierzKlase_Handle(idmenurandom(sizeof nazwy_klas-1));
    return 
    PLUGIN_HANDLED;
    #endif
    }

    public 
    WybierzKlase_Handle(idmenuitem)
    {
        
    client_cmd(id"spk QTM_CodMod/select");
        
        if(
    item == MENU_EXIT)
        {
            
    menu_destroy(menu);
            return 
    PLUGIN_CONTINUE;
        }    
            
        
    item++;
        
        if(
    item == klasa_gracza[id])
            return 
    PLUGIN_CONTINUE;
        
        if(
    item == Rambo && !(get_user_flags(id) & ADMIN_KICK))
        {
            
    client_print(idprint_chat"[COD:MW] Nie masz uprawnien aby kozystac z klasy premium.");
            
    WybierzKlase(id);
            return 
    PLUGIN_CONTINUE;
        }
        
        if(
    klasa_gracza[id])
        {
            
    nowa_klasa_gracza[id] = item;
            
    client_print(idprint_chat"[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
        }
        else
        {
            
    klasa_gracza[id] = item;
            
    WczytajDane(idklasa_gracza[id]);
            
    Odrodzenie(id);
        }
        return 
    PLUGIN_CONTINUE;
    }

    public 
    PrzydzielPunkty(id)
    {
        new 
    inteligencja[65];
        new 
    zdrowie[60];
        new 
    wytrzymalosc[60];
        new 
    kondycja[60];
        new 
    tytul[25];
        
    format(inteligencja64"Inteligencja: r%i y(Zwieksza obrazenia zadawane przedmiotami)"inteligencja_gracza[id]);
        
    format(zdrowie59"Zycie: r%i y(Zwieksza zycie)"zdrowie_gracza[id]);
        
    format(wytrzymalosc59"Wytrzymalosc: r%i y(Zmniejsza obrazenia)"wytrzymalosc_gracza[id]);
        
    format(kondycja59"Kondycja: r%i y(Zwieksza tempo chodu)"kondycja_gracza[id]);
        
    format(tytul24"Przydziel Punkty(%i):"punkty_gracza[id]);
        new 
    menu menu_create(tytul"PrzydzielPunkty_Handler");
        
    menu_additem(menuinteligencja);
        
    menu_additem(menuzdrowie);
        
    menu_additem(menuwytrzymalosc);
        
    menu_additem(menukondycja);
        
    menu_display(idmenu);
    #if defined BOTY
        
    if(is_user_bot2(id))
            
    PrzydzielPunkty_Handler(idmenurandom(4));
    #endif
    }

    public 
    PrzydzielPunkty_Handler(idmenuitem)
    {
        
    client_cmd(id"spk QTM_CodMod/select");
        
        if(
    item == MENU_EXIT)
        {
            
    menu_destroy(menu);
            return 
    PLUGIN_CONTINUE;
        }
        
        switch(
    item
        { 
            case 
    0
            {    
                if(
    inteligencja_gracza[id]<100)
                    
    inteligencja_gracza[id]++;
                else 
                    
    client_print(idprint_chat"[COD:MW] Maxymalny poziom inteligencji osiagniety");
                
            }
            case 
    1
            {    
                if(
    zdrowie_gracza[id]<100)
                    
    zdrowie_gracza[id]++;
                else 
                    
    client_print(idprint_chat"[COD:MW] Maxymalny poziom sily osiagniety");
            }
            case 
    2
            {    
                if(
    wytrzymalosc_gracza[id]<100)
                    
    wytrzymalosc_gracza[id]++;
                else 
                    
    client_print(idprint_chat"[COD:MW] Maxymalny poziom zrecznosci osiagniety");
                
            }
            case 
    3
            {    
                if(
    kondycja_gracza[id]<100)
                    
    kondycja_gracza[id]++;
                else 
                    
    client_print(idprint_chat"[COD:MW] Maxymalny poziom zwinnosci osiagniety");
            }
        }
        
        
    punkty_gracza[id]--;
        
        if(
    punkty_gracza[id]>0)
            
    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(idprint_chat"[COD:MW] Umiejetnosci zostana zresetowane w nastepnej rundzie.");
        
    client_cmd(id"spk QTM_CodMod/select");
        
    gracz_resetuje[id] = true;
    return 
    PLUGIN_HANDLED;
    }

    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<maksymalne_zdrowie_gracza[id])?health+10:maksymalne_zdrowie_gracza[id];
        
    set_user_health(idnew_health);
        return 
    PLUGIN_CONTINUE;
    }

    public 
    StworzApteczke(id)
    {
        if (!
    ilosc_apteczek_gracza[id])
        {
            
    client_print(idprint_center"Masz tylko 2 apteczki na runde!");
            return 
    PLUGIN_CONTINUE;
        }
        
        if(
    inteligencja_gracza[id] < 1)
            
    client_print(idprint_center"Aby wzmocnic apteczke, zwieksz inteligencje!");
            
        
    ilosc_apteczek_gracza[id]--;
        
        new 
    Float:origin[3];
        
    entity_get_vector(idEV_VEC_originorigin);
        
        new 
    ent create_entity("info_target");
        
    entity_set_string(entEV_SZ_classname"Apteczka");
        
    entity_set_edict(entEV_ENT_ownerid);
        
    entity_set_int(entEV_INT_solidSOLID_NOT);
        
    entity_set_vector(entEV_VEC_originorigin);
        
    entity_set_float(entEV_FL_ltimehalflife_time() + 0.1);
        
        
        
    entity_set_model(ent"models/w_medkit.mdl");
        
    set_rendering entkRenderFxGlowShell255,0,0kRenderFxNone255 )     ;
        
    drop_to_floor(ent);
        
        
    entity_set_float(entEV_FL_nextthinkhalflife_time() + 0.1);
        
        return 
    PLUGIN_CONTINUE;
    }

    public 
    ApteczkaThink(ent)
    {
        new 
    id entity_get_edict(entEV_ENT_owner);
        new 
    totem_dist 300;
        new 
    totem_heal 5+floatround(inteligencja_gracza[id]*0.5);
        if (
    entity_get_edict(entEV_ENT_euser2) == 1)
        {        
            new 
    Float:forigin[3], origin[3];
            
    entity_get_vector(entEV_VEC_originforigin);
            
    FVecIVec(forigin,origin);
            
            new 
    entlist[33];
            new 
    numfound find_sphere_class(0,"player",totem_dist+0.0,entlist32,forigin);
            
            for (new 
    i=0numfoundi++)
            {        
                new 
    pid entlist[i];
                
                if (
    get_user_team(pid) != get_user_team(id))
                    continue;
                                    
                new 
    zdrowie get_user_health(pid);
                new 
    nowe_zdrowie = (zdrowie+totem_heal<maksymalne_zdrowie_gracza[pid])?zdrowie+totem_heal:maksymalne_zdrowie_gracza[pid];
                if (
    is_user_alive(pid)) set_user_health(pidnowe_zdrowie);        
            }
            
            
    entity_set_edict(entEV_ENT_euser20);
            
    entity_set_float(entEV_FL_nextthinkhalflife_time() + 1.5);
            
            return 
    PLUGIN_CONTINUE;
        }
        
        if (
    entity_get_float(entEV_FL_ltime) < halflife_time() || !is_user_alive(id))
        {
            
    remove_entity(ent);
            return 
    PLUGIN_CONTINUE;
        }
        
        if (
    entity_get_float(entEV_FL_ltime)-2.0 halflife_time())
            
    set_rendering entkRenderFxNone255,255,255kRenderTransAlpha100 ) ;
            
        new 
    Float:forigin[3], origin[3];
        
    entity_get_vector(entEV_VEC_originforigin);
        
    FVecIVec(forigin,origin);
                        
        
    //Find people near and give them health
        
    message_beginMSG_BROADCASTSVC_TEMPENTITYorigin );
        
    write_byteTE_BEAMCYLINDER );
        
    write_coordorigin[0] );
        
    write_coordorigin[1] );
        
    write_coordorigin[2] );
        
    write_coordorigin[0] );
        
    write_coordorigin[1] + totem_dist );
        
    write_coordorigin[2] + totem_dist );
        
    write_shortsprite_white );
        
    write_byte); // startframe
        
    write_byte); // framerate
        
    write_byte10 ); // life
        
    write_byte10 ); // width
        
    write_byte255 ); // noise
        
    write_byte255 ); // r, g, b
        
    write_byte100 );// r, g, b
        
    write_byte100 ); // r, g, b
        
    write_byte128 ); // brightness
        
    write_byte); // speed
        
    message_end();
            
        
    entity_set_edict(entEV_ENT_euser2 ,1);
        
    entity_set_float(entEV_FL_nextthinkhalflife_time() + 0.5);
        
            
        return 
    PLUGIN_CONTINUE;

    }

    public 
    StworzRakiete(id)
    {
        if (!
    ilosc_rakiet_gracza[id])
        {
            
    client_print(idprint_center"Wykrzystales juz wszystkie rakiety!");
            return 
    PLUGIN_CONTINUE;
        }
        
        if(
    poprzednia_rakieta_gracza[id] + 2.0 get_gametime())
        {
            
    client_print(idprint_center"Rakiet mozesz uzywac co 2 sekundy!");
            return 
    PLUGIN_CONTINUE;
        }
        
        if (
    is_user_alive(id))
        {    
            if(
    inteligencja_gracza[id] < 1)
                
    client_print(idprint_center"Aby wzmocnic rakiete, zwieksz inteligencje!");
                
            
    poprzednia_rakieta_gracza[id] = get_gametime();
            
    ilosc_rakiet_gracza[id]--;

            new 
    FloatOrigin[3], FloatvAngle[3], FloatVelocity[3];
            
            
    entity_get_vector(idEV_VEC_v_anglevAngle);
            
    entity_get_vector(idEV_VEC_origin Origin);
        
            new 
    Ent create_entity("info_target");
        
            
    entity_set_string(EntEV_SZ_classname"Rocket");
            
    entity_set_model(Ent"models/rpgrocket.mdl");
        
            
    vAngle[0] *= -1.0;
        
            
    entity_set_origin(EntOrigin);
            
    entity_set_vector(EntEV_VEC_anglesvAngle);
        
            
    entity_set_int(EntEV_INT_effects2);
            
    entity_set_int(EntEV_INT_solidSOLID_BBOX);
            
    entity_set_int(EntEV_INT_movetypeMOVETYPE_FLY);
            
    entity_set_edict(EntEV_ENT_ownerid);
        
            
    VelocityByAim(id1000 Velocity);
            
    entity_set_vector(EntEV_VEC_velocity ,Velocity);
        }    
        return 
    PLUGIN_CONTINUE;
    }

    public 
    PolozDynamit(id)
    {
        if(!
    ilosc_dynamitow_gracza[id])
        {
            
    client_print(idprint_center"Wykorzystales juz caly dynamit!");
            return 
    PLUGIN_CONTINUE;
        }
        
        if(
    inteligencja_gracza[id] < 1)
            
    client_print(idprint_center"Aby wzmocnic dynamit, zwieksz inteligencje!");
        
        
    ilosc_dynamitow_gracza[id]--;
        new 
    Float:fOrigin[3], iOrigin[3];
        
    entity_get_vectoridEV_VEC_originfOrigin);
        
    iOrigin[0] = floatround(fOrigin[0]);
        
    iOrigin[1] = floatround(fOrigin[1]);
        
    iOrigin[2] = floatround(fOrigin[2]);

        
    message_begin(MSG_BROADCAST,SVC_TEMPENTITYiOrigin);
        
    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_beginMSG_BROADCASTSVC_TEMPENTITYiOrigin );
        
    write_byteTE_BEAMCYLINDER );
        
    write_coordiOrigin[0] );
        
    write_coordiOrigin[1] );
        
    write_coordiOrigin[2] );
        
    write_coordiOrigin[0] );
        
    write_coordiOrigin[1] + 300 );
        
    write_coordiOrigin[2] + 300 );
        
    write_shortsprite_white );
        
    write_byte); // startframe
        
    write_byte); // framerate
        
    write_byte10 ); // life
        
    write_byte10 ); // width
        
    write_byte255 ); // noise
        
    write_byte255 ); // r, g, b
        
    write_byte100 );// r, g, b
        
    write_byte100 ); // r, g, b
        
    write_byte128 ); // brightness
        
    write_byte); // speed
        
    message_end();

        new 
    entlist[33];
        new 
    numfound find_sphere_class(id"player"300.0 entlist32);
        
        for (new 
    i=0numfoundi++)
        {        
            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_TakeDamagepid0id90.0+float(inteligencja_gracza[id]) , 1);
        }
        return 
    PLUGIN_CONTINUE;
    }

    public 
    PostawMine(id)
    {
        if (!
    ilosc_min_gracza[id])
        {
            
    client_print(idprint_center"Wykorzystales juz wszystkie miny!");
            return 
    PLUGIN_CONTINUE;
        }
        
        if(
    inteligencja_gracza[id] < 1)
            
    client_print(idprint_center"Aby wzmocnic miny, zwieksz inteligencje!");
        
        
    ilosc_min_gracza[id]--;
        
        new 
    Float:origin[3];
        
    entity_get_vector(idEV_VEC_originorigin);
            
        new 
    ent create_entity("info_target");
        
    entity_set_string(ent ,EV_SZ_classname"Mine");
        
    entity_set_edict(ent ,EV_ENT_ownerid);
        
    entity_set_int(entEV_INT_movetypeMOVETYPE_TOSS);
        
    entity_set_origin(entorigin);
        
    entity_set_int(entEV_INT_solidSOLID_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,kRenderFxNone0,0,0kRenderTransTexture,50)    ;
        
        
        return 
    PLUGIN_CONTINUE;
    }

    public 
    DotykMiny(entid)
    {
        new 
    attacker entity_get_edict(entEV_ENT_owner);
        if (
    get_user_team(attacker) != get_user_team(id))
        {
            new 
    Float:fOrigin[3], iOrigin[3];
            
    entity_get_vectorentEV_VEC_originfOrigin);
            
    iOrigin[0] = floatround(fOrigin[0]);
            
    iOrigin[1] = floatround(fOrigin[1]);
            
    iOrigin[2] = floatround(fOrigin[2]);
            
            
    message_begin(MSG_BROADCAST,SVC_TEMPENTITYiOrigin);
            
    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 ,entlist32);
            
            for (new 
    i=0numfoundi++)
            {        
                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_TakeDamagepidentattacker90.0+float(inteligencja_gracza[attacker]) , 1);
            }
            
    remove_entity(ent);
        }
    }

    public 
    DotykRakiety(ent)
    {
        if ( !
    is_valid_ent(ent))
            return;

        new 
    attacker entity_get_edict(entEV_ENT_owner);

        new 
    Float:fOrigin[3], iOrigin[3];
        
    entity_get_vectorentEV_VEC_originfOrigin);    
        
    iOrigin[0] = floatround(fOrigin[0]);
        
    iOrigin[1] = floatround(fOrigin[1]);
        
    iOrigin[2] = floatround(fOrigin[2]);

        
    message_begin(MSG_BROADCAST,SVC_TEMPENTITYiOrigin);
        
    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.0entlist32);
        
        for (new 
    i=0numfoundi++)
        {        
            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_TakeDamagepidentattacker55.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(idiChannelszSound[], Float:fVolFloat:fAttniFlagsiPitch 
    {
        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(idmaksymalne_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(idklasa)
    {
        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(vaultdata255"#"" ");
     
        new 
    doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32];
     
        
    parse(vaultdatadoswiadczeniegracza31poziomgracza31inteligencjagracza31silagracza31zrecznoscgracza31zwinnoscgracza31);
     
        
    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(idprint_chat"[COD:MW] Wyrzuciles %s."nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
            
    UsunPrzedmiot(id);
        }
        else
            
    client_print(idprint_chat"[COD:MW] Nie masz zadnego przedmiotu."nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
    return 
    PLUGIN_HANDLED;
    }

    public 
    UsunPrzedmiot(id)
    {
        
    informacje_przedmiotu_gracza[id][0] = 0;
        
    informacje_przedmiotu_gracza[id][1] = 0;
        if(
    is_user_alive(id))
            
    set_user_footsteps(id0);
        
    set_rendering(id,kRenderFxGlowShell,0,0,,kRenderTransAlpha255);
        
    ZmienUbranie(id1);
    }

    public 
    DajPrzedmiot(idprzedmiot)
    {
        
    UsunPrzedmiot(id);
        
    informacje_przedmiotu_gracza[id][0] = przedmiot;
        
    client_print(idprint_chat"[COD:MW] Zdobyles %s."nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);    
        
        switch(
    przedmiot)
        {
            case 
    1:
            {
                
    set_user_footsteps(id1);
            }
            case 
    2:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(3,6);
            }
            case 
    3:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(611);
            }
            case 
    5:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(69);
            }
            case 
    6:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(100150);
                
    set_rendering(id,kRenderFxGlowShell,0,0,,kRenderTransAlphainformacje_przedmiotu_gracza[id][1]);
            }
            case 
    7:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(24);
            }
            case 
    8:
            {
                if(
    klasa_gracza[id] == Komandos)
                    
    DajPrzedmiot(idrandom_num(1sizeof nazwy_przedmiotow-1));
            }
            case 
    9:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(13);
                
    ZmienUbranie(id0);
                
    give_item(id"weapon_hegrenade");
            }
            case 
    10:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(48);
                
    give_item(id"weapon_hegrenade");
            }
            case 
    12:
            {
                
    informacje_przedmiotu_gracza[id][1] = random_num(14);
            }
            case 
    13:
            {
                
    give_item(id"weapon_awp");
            }
            case 
    15:
            {
                if(
    klasa_gracza[id] == Rambo)
                    
    DajPrzedmiot(idrandom_num(1sizeof 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(36);
            }
            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_wartosc2);
        
    format(opis_przedmiotu127opisy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
        
    replace_all(opis_przedmiotu127"LW"losowa_wartosc);
        
        
    client_print(idprint_chat"Przedmiot: %s."nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
        
    client_print(idprint_chat"Opis: %s."opis_przedmiotu);
    return 
    PLUGIN_HANDLED;
    }

    public 
    Wskrzes(id)
    {
        
    id-=ZADANIE_WSKRZES;
        
    ExecuteHamB(Ham_CS_RoundRespawnid);
    }

    public 
    SprawdzPoziom(id)
    {    
        if(
    poziom_gracza[id] < 201)
        {
            while(
    doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
            {
                
    poziom_gracza[id]++;
                
    set_hudmessage(6020025, -1.00.2501.02.00.10.22);
                
    ShowSyncHudMsg(idSyncHudObj3"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(idEV_INT_iuser2);
            
            if(
    target == 0)
                return 
    PLUGIN_CONTINUE;
                
            
    set_hudmessage(2552552550.6, -1.000.00.30.00.02);
            
    ShowSyncHudMsg(idSyncHudObj"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(255000.020.2300.00.30.00.0);
        
    ShowSyncHudMsg(idSyncHudObj"[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(idprint_chat"[COD:MW] Witaj w Modyfikacji Call of Duty stworzonej przez QTM_Peyote.");
    }

    public 
    UstawSzybkosc(id)
    {
        
    id -= id>32ZADANIE_USTAW_SZYBKOSC0;
        
        if(
    klasa_gracza[id])
            
    set_user_maxspeed(idszybkosc_gracza[id]);
    }
        
    public 
    ZmienUbranie(id,reset)
    {
        if (
    id<|| 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 
    1cs_set_user_model(idUbrania_CT[num]);
                case 
    2:cs_set_user_model(idUbrania_Terro[num]);
            }
        }
        
        return 
    PLUGIN_CONTINUE;
    }

    public 
    Pomoc()
    {
        switch(
    random(6))
        {
            case 
    0client_print(0print_chat"[COD:MW] Aby zresetowac umiejetnosci napisz /reset.");
            case 
    1client_print(0print_chat"[COD:MW] Aby zmienic klase napisz /klasa.");
            case 
    2client_print(0print_chat"[COD:MW] Aby uzyc przedmiotu nacisnij E.");
            case 
    3client_print(0print_chat"[COD:MW] Aby wyrzucic przedmiot napisz /wyrzuc.");
            case 
    4client_print(0print_chat"[COD:MW] Aby zobaczyc opis przedmiotu napisz /przedmiot.");
            case 
    5client_print(0print_chat"[COD:MW] Aby zobaczyc opis klas napisz /klasy.");
        }
        
    set_task(36.0"Pomoc");
    }

    /*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(weaponEV_SZ_modelmodel22);
        if (!
    is_user_connected(id) || entity_get_edict(weaponEV_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 
    pingloss
        get_user_ping
    (idpingloss)
        if(
    ping && 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_anglesCoreAngles);
        
        for ( new 
    02i++ )
            
    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_forwardv_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:Vec2DLengthFloat:Vec[2] )  

        return 
    floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
    }

    stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
    {
        
    message_beginMSG_ONEg_msg_screenfade,{0,0,0},id );
        
    write_shortduration );    // Duration of fadeout
        
    write_shortholdtime );    // Hold time of color
        
    write_shortfadetype );    // Fade type
        
    write_byte red );        // Red
        
    write_byte green );        // Green
        
    write_byte blue );        // Blue
        
    write_byte alpha );    // Alpha
        
    message_end();
    }

    stock set_user_clip(idammo)
    {
        new 
    weaponname[32], weaponid = -1weapon get_user_weapon(id__);
        
    get_weaponname(weaponweaponname31);
        while ((
    weaponid find_ent_by_class(weaponidweaponname)) != 0)
            if(
    entity_get_edict(weaponidEV_ENT_owner) == id
            {
                
    set_pdata_int(weaponid51ammo4);
                return 
    weaponid;
            }
        return 
    0;

    Załączone pliki
     

  16. #16 Odp: mały sklep do CoD MOD 
    Super Mod Awatar peku33
    Dołączył
    Oct 2008
    Posty
    7,256
    nie dodałeś tabulatorów równo
    PISANIE DO MNIE NA GG Z PROŚBĄ O JAKĄKOLWIEK POMOC NIE JEST MILE WIDZIANE! Numer: 6374959
     

  17. #17 Odp: mały sklep do CoD MOD 
    Starsza lamka Awatar rafal4lord
    Dołączył
    Jul 2008
    Posty
    63
    wyrównałem i nadal to samo .. :/
     

  18. #18 Odp: mały sklep do CoD MOD 
    Super Mod Awatar peku33
    Dołączył
    Oct 2008
    Posty
    7,256
    w amxmodx studio masz tools->intender - z tego powstał taki kod:
    Kod:
    #include <amxmodx>
    #include <amxmisc>
    #include <fun>
    #include <cstrike>
    #include <fakemeta>
    #include <engine>
    #include <hamsandwich>
    #include <nvault>
    
    
    #define PLUGIN "Call of Duty: MW Mod"
    #define VERSION "0.7.9 Beta"
    #define AUTHOR "QTM_Peyote"
    
    #define STANDARDOWA_SZYBKOSC 250.0
    
    #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 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 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"
    	
    };
    
    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"
    };
    
    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, Ninja};
    new const zdrowie_klasy[] = { 0, 120, 140, 110, 120, 110, 100, 100, 110, 100, 130, 100, 70, 140, 125, 100, 125, 70};
    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};
    new const pancerz_klasy[] = { 0, 100, 100, 100, 150, 100, 0, 100, 100, 0, 150, 0, 0, 150, 50, 0, 25, 0};
    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"
    };
    
    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&#177;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 + mniej widzialny",
    	"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"
    };
    
    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;
    new bool:sklep_uzyty[33];
    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 /reset", "KomendaResetujPunkty");
    	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_KICK, "<name> <level>");
    	
    	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");
    	
    	set_task(30.0, "Pomoc");
    	
    	//Shop
    	register_clcmd("say /shop", "pokaz_sklep_codmod")
    	register_clcmd("say /codshop", "pokaz_sklep_codmod")
    }
    public pokaz_sklep_codmod(id)
    {
    	if(sklep_uzyty[id])
    	{
    		client_print(id, print_center, "W tej rundzie uzyles juz sklepu");
    		return PLUGIN_HANDLED;
    	}
    	else
    	{
    		sklep_uzyty[id] = true;
    	}
    	if(is_user_connected(id) && is_user_alive(id))
    	{
    		new menu = menu_create("Sklep Cod:MW2 Mod", "uzyj_sklep_codmod");
    		menu_additem(menu, "50 HP (3000$)");
    		menu_additem(menu, "100 HP (5000$)");
    		menu_additem(menu, "50 EXP (9000$)");
    		menu_additem(menu, "100 EXP (16000$)");
    		menu_display(id, menu);
    	}
    	return PLUGIN_HANDLED;
    }
    public uzyj_sklep_codmod(id, menu, item)
    {
    	menu_destroy(menu)
    	if(is_user_alive(id))
    	{
    		switch(item)
    		{
    			case 0:
    			{
    				//50HP
    				if(buy(id, 3000))
    				{
    					set_user_health(id, min(get_user_health(id) + 50, 255))
    				}
    			}
    			case 1:
    			{
    				//100HP
    				if(buy(id, 5000))
    				{
    					set_user_health(id, min(get_user_health(id) + 100, 255))
    				}
    			}
    			case 2:
    			{
    				//50EXP
    				if(buy(id, 9000))
    				{
    					doswiadczenie_gracza[id]+=50;
    					SprawdzPoziom(id);
    				}
    			}
    			case 3:
    			{
    				//100EXP
    				if(buy(id, 16000))
    				{
    					doswiadczenie_gracza[id]+=100;
    					SprawdzPoziom(id);
    				}
    			}
    		}
    	}
    }
    
    
    
    public plugin_cfg() 
    {    
    	server_cmd("sv_maxspeed 1600");
    }
    
    public plugin_precache()
    {
    	sprite_white = precache_model("sprites/white.spr") ;
    	sprite_blast = precache_model("sprites/dexplo.spr");
    	
    	precache_sound("QTM_CodMod/select.wav");
    	precache_sound("QTM_CodMod/start.wav");
    	precache_sound("QTM_CodMod/start2.wav");
    	precache_sound("QTM_CodMod/levelup.wav");
    	
    	precache_model("models/w_medkit.mdl");
    	precache_model("models/rpgrocket.mdl");
    	precache_model("models/mine.mdl");
    }
    
    public CmdStart(id, uc_handle)
    {
    	if(!is_user_alive(id))
    		return FMRES_IGNORED;
    	
    	new button = get_uc(uc_handle, UC_Buttons);
    	new oldbutton = get_user_oldbutton(id);
    	new flags = get_entity_flags(id);
    	
    	if(informacje_przedmiotu_gracza[id][0] == 11 || klasa_gracza[id] == Rambo)
    	{
    		if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && ilosc_skokow_gracza[id] > 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)
    {
    	sklep_uzyty[id] = false;
    	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 Ninja:
    		{
    			give_item(id, "weapon_elite");    
    		}            
    	}
    	
    	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;
    	
    	new weapons[32];
    	new weaponsnum;
    	get_user_weapons(id, weapons, weaponsnum);
    	for(new i=0; i<weaponsnum; i++)
    		if(is_user_alive(id))
    		if(maxAmmo[weapons[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);
    	
    	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])<damage)? float(informacje_przedmiotu_gracza[this][1]): damage;
    	
    	if(informacje_przedmiotu_gracza[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
    		damage*=2.0;
    	
    	if(informacje_przedmiotu_gracza[idattacker][0] == 10)
    		damage+=informacje_przedmiotu_gracza[idattacker][1];
    	
    	if(informacje_przedmiotu_gracza[this][0] == 12)
    		damage-=(5.0<damage)? 5.0: damage;
    	
    	if(weapon == CSW_AWP && informacje_przedmiotu_gracza[idattacker][0] == 13)
    		damage=float(health);
    	
    	if(informacje_przedmiotu_gracza[idattacker][0] == 21)
    		damage+=10;
    	
    	if(informacje_przedmiotu_gracza[idattacker][0] == 22)
    		damage+=20;
    	
    	if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
    	{
    		if((informacje_przedmiotu_gracza[idattacker][0] == 9 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1) || informacje_przedmiotu_gracza[idattacker][0] == 10)
    			damage = float(health);    
    	}
    	
    	if(weapon == CSW_KNIFE)
    	{
    		if(informacje_przedmiotu_gracza[this][0] == 4)
    			damage=damage*1.4+inteligencja_gracza[idattacker];
    		if(informacje_przedmiotu_gracza[idattacker][0] == 8 || (klasa_gracza[idattacker] == Snajper && random(2) == 2) || klasa_gracza[idattacker] == Komandos && !(get_user_button(idattacker) & IN_ATTACK))
    			damage = float(health);
    	}
    	
    	if(informacje_przedmiotu_gracza[this][0] == 26 && random_num(1, informacje_przedmiotu_gracza[this][1]) == 1)
    	{
    		SetHamParamEntity(3, this);
    		SetHamParamEntity(1, idattacker);
    	}
    	
    	
    	SetHamParamFloat(4, damage);
    	return HAM_IGNORED;
    }
    
    public Damage(id)
    {
    	new attacker = get_user_attacker(id);
    	new damage = read_data(2);
    	if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !klasa_gracza[attacker])
    		return PLUGIN_CONTINUE;
    	
    	if(informacje_przedmiotu_gracza[attacker][0] == 12 && random_num(1, informacje_przedmiotu_gracza[id][1]) == 1)
    		Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
    	
    	if(get_user_team(id) != get_user_team(attacker))
    	{
    		while(damage>20)
    		{
    			damage-=20;
    			doswiadczenie_gracza[attacker]++;
    		}
    	}
    	SprawdzPoziom(attacker);
    	return PLUGIN_CONTINUE;
    }
    public buy(id, money)
    {
    	if(cs_get_user_money(id) < money)
    	{
    		client_print(id, print_center, "Nie masz wystarczajaco duzo pieniedzy!");
    		return false;
    	}
    	cs_set_user_money(id, cs_get_user_money(id)-money);
    	return true;
    }
    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<maksymalne_zdrowie_gracza[attacker])? zdrowie+20: maksymalne_zdrowie_gracza[attacker];
    			set_user_clip(attacker, maxClip[weapon]);
    			set_user_health(attacker, nowe_zdrowie);
    		}
    		#if defined BOTY
    		if(is_user_bot2(attacker) && random(9) == 0)
    			WyrzucPrzedmiot(id);
    		#endif
    		if(!informacje_przedmiotu_gracza[attacker][0])
    			DajPrzedmiot(attacker, random_num(1, sizeof nazwy_przedmiotow-1));
    		
    		if(informacje_przedmiotu_gracza[attacker][0] == 14)
    		{
    			new nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_gracza[attacker])? zdrowie+50: maksymalne_zdrowie_gracza[attacker];
    			set_user_health(attacker, nowe_zdrowie);
    		}
    		
    		set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
    		ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_doswiadczenie);
    		
    		doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
    	}
    	
    	SprawdzPoziom(attacker);
    	
    	if(informacje_przedmiotu_gracza[id][0] == 7 && random_num(1, informacje_przedmiotu_gracza[id][1]) == 1)
    		set_task(0.1, "Wskrzes", id+ZADANIE_WSKRZES);
    	
    	return PLUGIN_CONTINUE;
    }
    
    public client_connect(id)
    {
    	//resetuje umiejetnosci
    	klasa_gracza[id] = 0;
    	poziom_gracza[id] = 0;
    	doswiadczenie_gracza[id] = 0;
    	punkty_gracza[id] = 0;
    	zdrowie_gracza[id] = 0;
    	inteligencja_gracza[id] = 0;
    	wytrzymalosc_gracza[id] = 0;
    	kondycja_gracza[id] = 0;
    	maksymalne_zdrowie_gracza[id] = 0;
    	szybkosc_gracza[id] = 0.0;
    	
    	
    	get_user_name(id, nazwa_gracza[id], 63);
    	
    	remove_task(id+ZADANIE_POKAZ_INFORMACJE);
    	remove_task(id+ZADANIE_POKAZ_REKLAME);    
    	remove_task(id+ZADANIE_USTAW_SZYBKOSC);
    	remove_task(id+ZADANIE_WSKRZES);
    	remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
    	
    	set_task(10.0, "PokazReklame", id+ZADANIE_POKAZ_REKLAME);
    	set_task(3.0, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
    	
    	//resetuje przedmioty
    	UsunPrzedmiot(id);
    }
    
    public client_disconnect(id)
    {
    	remove_task(id+ZADANIE_POKAZ_INFORMACJE);
    	remove_task(id+ZADANIE_POKAZ_REKLAME);    
    	remove_task(id+ZADANIE_USTAW_SZYBKOSC);
    	remove_task(id+ZADANIE_WSKRZES);
    	remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
    	
    	ZapiszDane(id);
    	UsunPrzedmiot(id);
    }
    
    public RozbrajaBombe(id)
    	if(klasa_gracza[id])
    	rozbrajajacy = id;
    
    public BombaPodlozona()
    {
    	new Players[32], playerCount, id;
    	get_players(Players, playerCount, "aeh", "TERRORIST");
    	
    	if(get_playersnum() > 1)
    	{
    		doswiadczenie_gracza[podkladajacy] += doswiadczenie_za_bombe;
    		for (new i=0; i<playerCount; i++) 
    		{
    			id = Players[i];
    			if(!klasa_gracza[id])
    				continue;
    			
    			if(id != podkladajacy)
    			{
    				doswiadczenie_gracza[id] += doswiadczenia_za_zabojstwo;
    				client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za podlozenie bomby przez twoj team.", doswiadczenia_za_zabojstwo);
    			}
    			else
    			{
    				client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za podlozenie bomby.", doswiadczenie_za_bombe);
    			}
    			SprawdzPoziom(id);
    		}
    	}
    }
    
    public BombaRozbrojona()
    {
    	new Players[32], playerCount, id;
    	get_players(Players, playerCount, "aeh", "CT");
    	
    	doswiadczenie_gracza[rozbrajajacy] += doswiadczenie_za_bombe;
    	for (new i=0; i<playerCount; i++) 
    	{
    		id = Players[i];
    		if(!klasa_gracza[id])
    			continue;
    		if(id != rozbrajajacy)
    		{
    			doswiadczenie_gracza[id]+= doswiadczenia_za_zabojstwo;
    			client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za rozbrojenie bomby przez twoj team.", doswiadczenia_za_zabojstwo);
    		}
    		else
    			client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za rozbrojenie bomby.",doswiadczenie_za_bombe);
    		SprawdzPoziom(id);
    	}
    }
    
    public OpisKlasy(id)
    {
    	new menu = menu_create("Wybierz klase:", "OpisKlasy_Handle");
    	for(new i=1; i<sizeof nazwy_klas; i++)
    		menu_additem(menu, nazwy_klas[i]);
    	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
    	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
    	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
    	menu_display(id, menu);
    	
    	client_cmd(id, "spk QTM_CodMod/select");
    	return PLUGIN_HANDLED;
    }
    
    public OpisKlasy_Handle(id, menu, item)
    {
    	client_cmd(id, "spk QTM_CodMod/select");
    	
    	if(item == MENU_EXIT)
    	{
    		menu_destroy(menu);
    		return PLUGIN_CONTINUE;
    	}
    	client_print(id, print_chat, "[COD:MW] %s: %s", nazwy_klas[item+1], opisy_klas[item+1]);
    	menu_display(id, menu);
    	
    	return PLUGIN_CONTINUE;
    }
    
    public WybierzKlase(id)
    {
    	new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
    	new klasa[50];
    	for(new i=1; i<sizeof nazwy_klas; i++)
    	{
    		WczytajDane(id, i);
    		format(klasa, 49, "%s yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
    		menu_additem(menu, klasa);
    	}
    	
    	WczytajDane(id, klasa_gracza[id]);
    	
    	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
    	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
    	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
    	menu_display(id, menu);
    	
    	client_cmd(id, "spk QTM_CodMod/select");
    	#if defined BOTY
    	if(is_user_bot2(id))
    		WybierzKlase_Handle(id, menu, random(sizeof nazwy_klas-1));
    	return PLUGIN_HANDLED;
    	#endif
    }
    
    public WybierzKlase_Handle(id, menu, item)
    {
    	client_cmd(id, "spk QTM_CodMod/select");
    	
    	if(item == MENU_EXIT)
    	{
    		menu_destroy(menu);
    		return PLUGIN_CONTINUE;
    	}    
    	
    	item++;
    	
    	if(item == klasa_gracza[id])
    		return PLUGIN_CONTINUE;
    	
    	if(item == Rambo && !(get_user_flags(id) & ADMIN_KICK))
    	{
    		client_print(id, print_chat, "[COD:MW] Nie masz uprawnien aby kozystac z klasy premium.");
    		WybierzKlase(id);
    		return PLUGIN_CONTINUE;
    	}
    	
    	if(klasa_gracza[id])
    	{
    		nowa_klasa_gracza[id] = item;
    		client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
    	}
    	else
    	{
    		klasa_gracza[id] = item;
    		WczytajDane(id, klasa_gracza[id]);
    		Odrodzenie(id);
    	}
    	return PLUGIN_CONTINUE;
    }
    
    public PrzydzielPunkty(id)
    {
    	new inteligencja[65];
    	new zdrowie[60];
    	new wytrzymalosc[60];
    	new kondycja[60];
    	new tytul[25];
    	format(inteligencja, 64, "Inteligencja: r%i y(Zwieksza obrazenia zadawane przedmiotami)", inteligencja_gracza[id]);
    	format(zdrowie, 59, "Zycie: r%i y(Zwieksza zycie)", zdrowie_gracza[id]);
    	format(wytrzymalosc, 59, "Wytrzymalosc: r%i y(Zmniejsza obrazenia)", wytrzymalosc_gracza[id]);
    	format(kondycja, 59, "Kondycja: r%i y(Zwieksza tempo chodu)", kondycja_gracza[id]);
    	format(tytul, 24, "Przydziel Punkty(%i):", punkty_gracza[id]);
    	new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
    	menu_additem(menu, inteligencja);
    	menu_additem(menu, zdrowie);
    	menu_additem(menu, wytrzymalosc);
    	menu_additem(menu, kondycja);
    	menu_display(id, menu);
    	#if defined BOTY
    	if(is_user_bot2(id))
    		PrzydzielPunkty_Handler(id, menu, random(4));
    	#endif
    }
    
    public PrzydzielPunkty_Handler(id, menu, item)
    {
    	client_cmd(id, "spk QTM_CodMod/select");
    	
    	if(item == MENU_EXIT)
    	{
    		menu_destroy(menu);
    		return PLUGIN_CONTINUE;
    	}
    	
    	switch(item) 
    	{ 
    		case 0: 
    		{    
    			if(inteligencja_gracza[id]<100)
    				inteligencja_gracza[id]++;
    			else 
    				client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety");
    			
    		}
    		case 1: 
    		{    
    			if(zdrowie_gracza[id]<100)
    				zdrowie_gracza[id]++;
    			else 
    				client_print(id, print_chat, "[COD:MW] Maxymalny poziom sily osiagniety");
    		}
    		case 2: 
    		{    
    			if(wytrzymalosc_gracza[id]<100)
    				wytrzymalosc_gracza[id]++;
    			else 
    				client_print(id, print_chat, "[COD:MW] Maxymalny poziom zrecznosci osiagniety");
    			
    		}
    		case 3: 
    		{    
    			if(kondycja_gracza[id]<100)
    				kondycja_gracza[id]++;
    			else 
    				client_print(id, print_chat, "[COD:MW] Maxymalny poziom zwinnosci osiagniety");
    		}
    	}
    	
    	punkty_gracza[id]--;
    	
    	if(punkty_gracza[id]>0)
    		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;
    	return PLUGIN_HANDLED;
    }
    
    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<maksymalne_zdrowie_gracza[id])?health+10:maksymalne_zdrowie_gracza[id];
    	set_user_health(id, new_health);
    	return PLUGIN_CONTINUE;
    }
    
    public StworzApteczke(id)
    {
    	if (!ilosc_apteczek_gracza[id])
    	{
    		client_print(id, print_center, "Masz tylko 2 apteczki na runde!");
    		return PLUGIN_CONTINUE;
    	}
    	
    	if(inteligencja_gracza[id] < 1)
    		client_print(id, print_center, "Aby wzmocnic apteczke, zwieksz inteligencje!");
    	
    	ilosc_apteczek_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, "Apteczka");
    	entity_set_edict(ent, EV_ENT_owner, id);
    	entity_set_int(ent, EV_INT_solid, SOLID_NOT);
    	entity_set_vector(ent, EV_VEC_origin, origin);
    	entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
    	
    	
    	entity_set_model(ent, "models/w_medkit.mdl");
    	set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 )     ;
    	drop_to_floor(ent);
    	
    	entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
    	
    	return PLUGIN_CONTINUE;
    }
    
    public ApteczkaThink(ent)
    {
    	new id = entity_get_edict(ent, EV_ENT_owner);
    	new totem_dist = 300;
    	new totem_heal = 5+floatround(inteligencja_gracza[id]*0.5);
    	if (entity_get_edict(ent, EV_ENT_euser2) == 1)
    	{        
    		new Float:forigin[3], origin[3];
    		entity_get_vector(ent, EV_VEC_origin, forigin);
    		FVecIVec(forigin,origin);
    		
    		new entlist[33];
    		new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);
    		
    		for (new i=0; i < numfound; i++)
    		{        
    			new pid = entlist[i];
    			
    			if (get_user_team(pid) != get_user_team(id))
    				continue;
    			
    			new zdrowie = get_user_health(pid);
    			new nowe_zdrowie = (zdrowie+totem_heal<maksymalne_zdrowie_gracza[pid])?zdrowie+totem_heal:maksymalne_zdrowie_gracza[pid];
    			if (is_user_alive(pid)) set_user_health(pid, nowe_zdrowie);        
    		}
    		
    		entity_set_edict(ent, EV_ENT_euser2, 0);
    		entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
    		
    		return PLUGIN_CONTINUE;
    	}
    	
    	if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
    	{
    		remove_entity(ent);
    		return PLUGIN_CONTINUE;
    	}
    	
    	if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
    		set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) ;
    	
    	new Float:forigin[3], origin[3];
    	entity_get_vector(ent, EV_VEC_origin, forigin);
    	FVecIVec(forigin,origin);
    	
    	//Find people near and give them health
    	message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
    	write_byte( TE_BEAMCYLINDER );
    	write_coord( origin[0] );
    	write_coord( origin[1] );
    	write_coord( origin[2] );
    	write_coord( origin[0] );
    	write_coord( origin[1] + totem_dist );
    	write_coord( origin[2] + totem_dist );
    	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( 5 ); // speed
    	message_end();
    	
    	entity_set_edict(ent, EV_ENT_euser2 ,1);
    	entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
    	
    	
    	return PLUGIN_CONTINUE;
    	
    }
    
    public StworzRakiete(id)
    {
    	if (!ilosc_rakiet_gracza[id])
    	{
    		client_print(id, print_center, "Wykrzystales juz wszystkie rakiety!");
    		return PLUGIN_CONTINUE;
    	}
    	
    	if(poprzednia_rakieta_gracza[id] + 2.0 > 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]]);
    	return PLUGIN_HANDLED;
    }
    
    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);
    	return PLUGIN_HANDLED;
    }
    
    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 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;
    }
    PISANIE DO MNIE NA GG Z PROŚBĄ O JAKĄKOLWIEK POMOC NIE JEST MILE WIDZIANE! Numer: 6374959
     

  19. #19 Odp: mały sklep do CoD MOD 
    adek1479
    Gość
    A mógł byś dodać sam kod.. Lub jako osobny plugin?
     

  20. #20 Odp: mały sklep do CoD MOD 
    Super Mod Awatar peku33
    Dołączył
    Oct 2008
    Posty
    7,256
    gdybyś umiał czytaś - wiedziałbyś że nie można
    PISANIE DO MNIE NA GG Z PROŚBĄ O JAKĄKOLWIEK POMOC NIE JEST MILE WIDZIANE! Numer: 6374959
     

Strona 1 z 2 1 2 OstatniOstatni

Podobne wątki

  1. Sklep Cod'a
    By krisek1997 in forum Problem z pluginem AMX/AMXX
    Odpowiedzi: 5
    Ostatni post / autor: 14-12-2010, 23:42
  2. Sklep internetowy
    By krisek1997 in forum Szukam pluginu AMX/AMXX
    Odpowiedzi: 4
    Ostatni post / autor: 05-12-2010, 22:39
  3. [Steam & Non Steam] PRO CALL OF DUTY + SKLEP
    By PRO-COD in forum Instalacja gry i podstawy
    Odpowiedzi: 0
    Ostatni post / autor: 24-09-2010, 23:58
  4. /sklep do BaseBuildera
    By Zmien_Nick in forum Szukam pluginu AMX/AMXX
    Odpowiedzi: 13
    Ostatni post / autor: 31-08-2010, 21:56
  5. Sklep pod zombie
    By xtreme2007 in forum Pisanie pluginów AMXX
    Odpowiedzi: 6
    Ostatni post / autor: 24-05-2010, 19:39
  6. Sklep NIKE
    By Talar1910 in forum Pytania z odpowiedzią
    Odpowiedzi: 2
    Ostatni post / autor: 23-03-2010, 15:58
  7. Gruby Sklep
    By Gruby Sklep in forum Inne
    Odpowiedzi: 0
    Ostatni post / autor: 20-03-2010, 19:06
  8. Sklep ProGracza
    By Szukasz BANA?! in forum Karty dzwiękowe, głośniki komputerowe, słuchawki
    Odpowiedzi: 4
    Ostatni post / autor: 26-12-2009, 20:08

Odwiedzający znaleźli tę stronę szukając:

cod mod maly exp

cs 1.6 plugin sklep

cod bez expa

plugin sklep małyplugin shop na cod modplugin sklep na cod modjak zrobic sklep w cs cod modcs plugin sklep codmod
Uprawnienia umieszczania postów
  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •