Forum Counter-Strike

Wróć   Forum Counter-Strike > Strefa techniczna > Baza poradników HLDS oraz HLDS2




Baza poradników HLDS oraz HLDS2 - [AMXX] Kompilacja pluginów / .sma na .amxx
Skompilować plugin można na dwa sposoby, ja polecam ten drugi sposób. Pierwszy sposób. Wchodzimy na ...

Odpowiedz
 
Narzędzia wątku Wygląd
  (#1) stare
Weteran
 
Młody~'s Avatar
 
Grupa: Administrator
Postów: 8,047
Zarejestrowany: Mar 2008
Wiek: 21
Karma: Exclusive

Status: Pracuje
[AMXX] Kompilacja pluginów / .sma na .amxx - 08-04-08, 09:21

Skompilować plugin można na dwa sposoby, ja polecam ten drugi sposób.
  1. Pierwszy sposób.
    • Wchodzimy na AMX Mod X - Half-Life Scripting for Pros!
    • następnie klikamy po lewo na compiler
    • i możemy wrzucić od razu z dysku plik .sma lub kod pluginu i wybrać dla niego nazwę
    • więc podajemy ścieżkę do pliku .sma lub wrzucamy kod i wpisujemy nazwę i naciskamy na samym dole "Compile"
    • Jeżeli wszystko z pluginem jest ok powinno pojawić się coś takiego
      Kod:
      Your plugin successfully compiled!
      Use the link below to download your plugin.  It will be valid for ten minutes.
    • Wtedy klikamy na link, który pojawił nam się na stronie.
  2. Drugi sposób.
    • Wrzucamy swój plugin do addons/amxmodx/scripting
    • Następnie włączamy "Compile.exe" ikonka amxx'a
    • Jeżeli wszystko przeszło ok i nie ma żadnych błędów możemy zamknąć okno (kompilatora)
    • Udajemy się do addons/amxmodx/scripting/compiled i tu mamy swój plugin .amxx
Offline Młody~ jest nieaktywny
Odpowiedź z cytatem
Linki sponsorowane
  (#2) stare
Nowy
 
Grupa: Użytkownik
Postów: 29
Zarejestrowany: Apr 2009
Wiek: 19
Karma: Neutralna

Status: Wesoly
Odp: [AMXX] Kompilacja pluginów / .sma na .amxx - 20-12-09, 17:07

Skompiluje ktos plx ?

Kod:
/* Plugin generated by AMXX-Studio

Dodanie konta w users.ini:

"nick" "haslo" "tz" "a"

WYMAGA WLACZONEGO MODUŁU NETDB - http://forums.alliedmods.net/attachment.php?attachmentid=14555&d=1176218286 !
*/

#include <amxmodx>
#include <amxmisc>
#include <netdb>

#define PLUGIN "Konta"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

new static url[]="www.killownia.pl"

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
}


public client_authorized(id)
{
    // ktos ze slotem - konto ma ;]
    if(get_user_flags(id) & ADMIN_RESERVATION) return PLUGIN_CONTINUE
   
    // ma konto, nieważne czy ma neo czy nie, nie sprawdzamy nawet - usuwamy mu flage admina (t) i przerywamy
    if(access(id,ADMIN_LEVEL_H) && access(id,ADMIN_USER))
    {
        remove_user_flags(id,ADMIN_LEVEL_H)
        return PLUGIN_CONTINUE
    }
   
    new ip[16], host[50]   
    get_user_ip(id,ip , 15 , 1)   
    netdb_gethostbyaddr(ip,host,49)
   
    if(contain(host,"adsl") != -1 || contain(host,"dynamic") != -1)       
    {
        new reason[30]
        format(reason,29," Masz zmienne IP,zaloz konto neo na killownia.pl/forum | Szczególy masz w konsoli (~)",url)
       
        client_print(id, print_console, "* * * Masz zmienne IP !")
        client_print(id, print_console, "* * * Aby grac na naszym serwerze wejdz")
        client_print(id, print_console, "* * * na killownia.pl/forum oraz zaloz",url)
        client_print(id, print_console, "* * * konto (utwórz temat o koncie neo")       
       
        server_cmd("kick #%d %s",get_user_userid(id), reason)
       
        return PLUGIN_CONTINUE
    }
   
    return PLUGIN_CONTINUE   
}
Offline akon122 jest nieaktywny
Odpowiedź z cytatem
  (#3) stare
Stały bywalec
 
Disney XD's Avatar
 
Grupa: Użytkownik
Postów: 417
Zarejestrowany: Nov 2009
Skąd: Konin
Wiek: 14
Karma: Przyzwoita

Status: Wesoly
Wyślij wiadomość przez Gadu Gadu do użytkownika Disney XD
Odp: [AMXX] Kompilacja pluginów / .sma na .amxx - 20-02-10, 12:01

a mi sie cos takiego pojawilo skompresowalem i takie cos Your plugin failed to compile! Read the errors below:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

/groups/amxmodx/tmp3/textriX9D6.sma(33) : error 017: undefined symbol "Granat"

1 Error.



Could not locate output file /home/groups/amxmodx/public_html/websc3/textriX9D6.amx (compile failed).



Co mam zrobic ?
Offline Disney XD jest nieaktywny
Odpowiedź z cytatem
  (#4) stare
Bot
 
Grupa: Użytkownik
Postów: 14
Zarejestrowany: Jan 2010
Skąd: Kraków
Wiek: 14
Karma: Neutralna

Odp: [AMXX] Kompilacja pluginów / .sma na .amxx - 01-03-10, 00:10

A mi tak...

Your plugin failed to compile! Read the errors below:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

/groups/amxmodx/tmp3/textQbdrPF.sma(16) : fatal error 100: cannot read from file: "zombieplague"

Compilation aborted.
1 Error.


Prosze o Szybką odpowiedz
Offline Dan Pushiez jest nieaktywny
Odpowiedź z cytatem
  (#5) stare
Guru
 
gielet's Avatar
 
Grupa: Użytkownik
Postów: 782
Zarejestrowany: Jul 2009
Wiek: 20
Karma: Dobra

Status: Zdziwiony
Odp: [AMXX] Kompilacja pluginów / .sma na .amxx - 01-03-10, 00:18

Dan Pushiez Daj .sma


Jeżeli Ci Pomogłem kliknij na
---------------------------------------
Kupie rozwinięty serwer CS!
---------------------------------------
Chcesz zamówić najlepszy serwer? Kliknij w banner i kup go!
Offline gielet jest nieaktywny
Odpowiedź z cytatem
  (#6) stare
Bot
 
Grupa: Użytkownik
Postów: 7
Zarejestrowany: Dec 2009
Wiek: 16
Karma: Neutralna

Odp: [AMXX] Kompilacja pluginów / .sma na .amxx - 03-03-10, 21:37

skomplikuje mi to ktoś? bo cos ja nie moge
Kod:
// ZP Bank - allows saving of ammo packs
/*    cvars

zp_bank 1                //<0/1> set whether plugin enabled or not
zp_bank_limit 1000000    //maximium storage capacity of each person's account
zp_bank_blockstart 1    //<0/1> set whether bank blocks zombie plague from giving the initial 5 ammo packs on start if user has an account

*/

#include 
#include 
#include 
#include 
#include 

static const version[] = "0.3";
static const plugin[] = "ZP Bank";

enum pcvar
{
    enable = 0,
    cap,
    start
}
new pcvars[pcvar];
new bankstorage[33];

new gvault, thinkobj;

public plugin_init()
{
    register_plugin(plugin, version, "Random1");
    
    gvault = nvault_open("Zombie Bank");
    
    pcvars[enable] =            register_cvar("zp_bank", "1");
    pcvars[cap] =                register_cvar("zp_bank_limit", "1000000");
    pcvars[start] =                register_cvar("zp_bank_blockstart", "1");
    
    if ( get_pcvar_num(pcvars[cap]) > 2147483646 )
    {
        set_pcvar_num(pcvars[cap], 2147483646);
        server_print("[%s] Due to a 32 bit restriction in perl zp_ammo_limit reset based on restriction", plugin);
    }
    
    register_clcmd("say", "handle_say");
    register_clcmd("say_team", "handle_say");
    
    thinkobj = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
    if ( pev_valid(thinkobj) )
    {
        set_pev(thinkobj, pev_classname, "advertisement_loop");
        set_pev(thinkobj, pev_nextthink, get_gametime() + 240.0);
        register_forward(FM_Think, "fourmin_think");
    }
}
public fourmin_think(ent)
{
    if ( ent != thinkobj ) return FMRES_IGNORED;
    
    if ( !get_pcvar_num(pcvars[enable]) ) return FMRES_IGNORED;
    
    client_print(0, print_chat, "[%s]Enabled. %d is the storage limit", plugin, get_pcvar_num(pcvars[cap]));
    client_print(0, print_chat, "[%s] Currently Ammo packs are savable by typing ^"deposit ^".", plugin);
    client_print(0, print_chat, "[%s] To retrieve your ammo packs type ^"withdraw ^"", plugin);
    
    set_pev(ent, pev_nextthink, get_gametime() + 240.0);
    
    return FMRES_HANDLED;    
}
public plugin_end()
    nvault_close(gvault);
    
public handle_say(id)
{
    if ( !get_pcvar_num(pcvars[enable]) ) return PLUGIN_CONTINUE;
    
    new text[70], arg1[32], arg2[32], arg3[6];
    read_args(text, sizeof(text)-1);
    remove_quotes(text);
    arg1[0] = '^0';
    arg2[0] = '^0';
    arg3[0] = '^0';
    parse(text, arg1, sizeof(arg1)-1, arg2, sizeof(arg2)-1, arg3, sizeof(arg3)-1);
    //dbg_log("cmd_say() arg1:#%s# arg2:#%s# arg3:#%s#", arg1, arg2, arg3);

    // if the chat line has more than 2 words, we're not interested at all
    if (arg3[0] == 0)
    {
        //strip forward slash if present
        if ( equali(arg1, "/", 1) ) format(arg1, 31, arg1[1]);
        
        if ( equali(arg1, "deposit", 7) || equali(arg1, "send", 4) || equali(arg1, "store", 5) )
        {
            if ( isdigit(arg2[0]) || (arg2[0] == '-' && isdigit(arg2[1])) )
            {
                new value = str_to_num(arg2);
                store_cash(id, value);
                return PLUGIN_HANDLED;
            }
            else if ( equali(arg2, "all") )
            {
                store_cash(id, -1);
                return PLUGIN_HANDLED;
            }                
            else if ( arg2[0] == 0 )
                client_print(id, print_chat, "[%s] to deposit ammo packs in bank say deposit ", plugin);
            
            return PLUGIN_CONTINUE;
        }
        else if ( equali(arg1, "withdraw", 8) || equali(arg1, "take", 4) || equali(arg1, "retrieve", 8) )
        {
            if ( isdigit(arg2[0]) || (arg2[0] == '-' && isdigit(arg2[1])) )
            {
                new value = str_to_num(arg2);
                take_cash(id, value);
                return PLUGIN_HANDLED;
            }
            else if ( equali(arg2, "all") )
            {
                take_cash(id, -1);
                return PLUGIN_HANDLED;
            }
            else if ( arg2[0] == 0 )
                client_print(id, print_chat, "[%s] to withdraw ammo packs from bank say withdraw ", plugin);
            
            return PLUGIN_CONTINUE;
        }
        else if ( equali(arg1, "mybank", 6) || equali(arg1, "account", 7) || equali(arg1, "bank", 4) )
        {
            if ( arg2[0] == 0 ) {
                client_print(id, print_chat, "[%s] Currently your account has %d ammo packs in it",plugin, bankstorage[id]);
                return PLUGIN_HANDLED;
            }
            else {
                new player = cmd_target(id,arg2,2);
                if ( !player ) return PLUGIN_CONTINUE;
                client_print(id, print_chat, "[%s] %s has %d ammo packs", plugin, arg2, bankstorage[player]);
                return PLUGIN_HANDLED;
            }
        }
    }
    else if ( equali( arg1, "donate", 6 ) )
    {
        give_cmd(id, arg2, arg3);
        return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}
give_cmd(id, target[], amnt[])
{
    new temp = str_to_num(amnt);
    if ( temp < 0 )
    {
        client_print(id, print_chat, "[%s] The ^"amount^" argument passed is negative, either overflowed or your trying to cheat", plugin );
        return;
    }
    new player = cmd_target(id, target, 8);
    if ( !player ) return;
    
    new temp2 = bankstorage[id] + zp_get_user_ammo_packs(id);
    if ( temp > temp2 )
    {
        client_print(id, print_chat, "[%s] You don't have enough ammo packs to donate, you only have %d out of %d specified",plugin,
            temp2, temp);
        
        return;
    }
    static playername[32], givename[32];
    get_user_name(player, playername, 31);
    get_user_name(id, givename, 31);
    client_print(id, print_chat, "[%s] You just donated %d ammo packs to %s", plugin, temp, playername);
    client_print(player, print_chat, "[%s] %s just donated %d ammo packs to you", plugin, givename, temp);
    bankstorage[player] += temp;
    if ( bankstorage[id] > temp ) bankstorage[id] -= temp;
    else
    {
        temp -= bankstorage[id];
        bankstorage[id] = 0;
        zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - temp);
    }
}
//public zp_user_disconnect_pre(id)
public client_disconnect(id)
    if ( bankstorage[id] > 0 ) save_data(id);

//public zp_user_connect_post(id)
public client_connect(id)
{    
    bankstorage[id] = 0;    //clear residual before loading
    retrieve_data(id);
}

store_cash(id, amnt)
{
    if ( !get_pcvar_num(pcvars[enable]) ) return;
    
    if ( amnt == -1 )
    {
        bankstorage[id] += zp_get_user_ammo_packs(id);
        zp_set_user_ammo_packs(id, 0);
        checkmax(id);
    }
    else if ( amnt > 0 )
    {        
        new temp = zp_get_user_ammo_packs(id);
        new limit = get_pcvar_num(pcvars[cap]);
        if ( temp >= amnt )
        {            
            if ( bankstorage[id] + amnt <= limit )
            {
                bankstorage[id] += amnt
                zp_set_user_ammo_packs(id, temp - amnt);
            }
            else
            {
                new overflow = bankstorage[id] + amnt - limit;
                bankstorage[id] = limit;
                zp_set_user_ammo_packs(id, temp - amnt + overflow);
                client_print(id, print_chat, "[%s] Your bank account has reached it's maximium capacity of %d", plugin, limit);
                client_print(id, print_chat, "[%s] Only %d of the %d you specified to deposit has been deposited", plugin,
                amnt - overflow, amnt);
            }
        }
        else
            client_print(id, print_chat, "[%s] Amount specified(%d) is greater than current ammo pack count(%d)", plugin,
            amnt, temp);            
    }
    else
        take_cash(id, -amnt);
}

take_cash(id, amnt)
{
    if ( !get_pcvar_num(pcvars[enable]) ) return;
    
    if ( amnt == 0 ) return;    //otherwise a non terminal loop is possible
    
    if ( amnt == -1 )
    {
        zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + bankstorage[id])
        bankstorage[id] = 0;
    }
    else if ( amnt > 0 )
    {
        if ( bankstorage[id] >= amnt )
        {
            zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + amnt);
            bankstorage[id] -= amnt;
        }
        else {
            client_print(id, print_chat, "[%s] Amount specified(%d) is greater than whats in bank(%d)", plugin,
            amnt, bankstorage[id]);        
        }    
    }
    else store_cash(id, -amnt);
}

save_data(id)
{
    new AuthID[35];
    get_user_authid(id,AuthID,34);
    new vaultkey[40],vaultdata[13];
    
    formatex( vaultkey, 39, "__%s__", AuthID);
    formatex( vaultdata, 12, "%i", bankstorage[id] );

    nvault_set(gvault, vaultkey, vaultdata);
}

retrieve_data(id)
{
    new AuthID[35];
    get_user_authid(id,AuthID,34);
    new vaultkey[40], vaultdata[13];
    
    format(vaultkey, 39, "__%s__", AuthID);

    nvault_get(gvault, vaultkey, vaultdata, 12);
        
    bankstorage[id] = str_to_num(vaultdata);
    checkmax(id);    
    
    // If they have an account don't allow zombie mod to give them 5 ammo packs at beggining
    if ( get_pcvar_num(pcvars[start]) && bankstorage[id] > 0 )
        zp_set_user_ammo_packs(id, 0);
}

checkmax(id)
{
    if ( bankstorage[id] > get_pcvar_num(pcvars[cap]) )
        bankstorage[id] = get_pcvar_num(pcvars[cap]);
        
    else if ( bankstorage[id] < 0 )
        bankstorage[id] = 0;
}
Offline TiZeR jest nieaktywny
Odpowiedź z cytatem
  (#7) stare
Bot
 
adiend's Avatar
 
Grupa: Użytkownik
Postów: 65
Zarejestrowany: Apr 2009
Skąd: stalowa
Wiek: 19
Karma: Neutralna

Status: Zajety
Odp: [AMXX] Kompilacja pluginów / .sma na .amxx - 29-03-10, 20:15

jak kompiluje w web wyskakuje mi to

Your plugin failed to compile! Read the errors below:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

/home/groups/amxmodx/tmp3/phpVMLDk6.sma(94) : fatal error 100: cannot read from file: "weaponmod"

Compilation aborted.
1 Error.

895832 successful compiles to date.
648851 failed compiles to date.
Old compiler: 101980 compiles before decommission.
This tool by: David "BAILOPAN" Anderson.

a jak compilerem



Zapraszam na www.Elite-Zone.pl

Offline adiend jest nieaktywny
Odpowiedź z cytatem
  (#8) stare
Nowy
 
Grupa: Użytkownik
Postów: 19
Zarejestrowany: May 2009
Karma: Neutralna

Odp: [AMXX] Kompilacja pluginów / .sma na .amxx - 15-07-10, 13:48

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


#define PLUGIN "Call of Duty: MW Mod"
#define VERSION "0.8.0 Beta"
#define AUTHOR "Pudzian"

#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 doswiadczenie_za_kase;
new doswiadczenie_za_kasez;
new doswiadczenie_za_totek;
new doswiadczenie_za_fail;

new Ubrania_CT[4][]={"sas","gsg9","urban","gign"};
new Ubrania_Terro[4][]={"arctic","leet","guerilla","terror"};

new const maxAmmo[31]={0,52,0,90,1,32,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,32,90,120,90,2,35,90,90,0,100};
new const maxClip[31] = { -1, 13, -1, 10,  1,  7,  1,  30, 30,  1,  30,  20,  25, 30, 35, 25,  12,  20, 
10,  30, 100,  8, 30,  30, 20,  2,  7, 30, 30, -1,  50 };

new informacje_przedmiotu_gracza[33][2];
new const nazwy_przedmiotow[][] = {"Brak", 
    "Buty Szturmowego", //1
    "Podwojna Kamizelka", //2
    "Wzmocniona Kamizelka", //3
    "Weteran Noza", //4
    "Zaskoczenie Wroga", //5
    "Plaszcz Partyzanta", //6 
    "Morfina", //7
    "Noz Komandosa", //8
    "Podrecznik Szpiega", //9
    "Tajemnica Generala", //10
    "Notatki Ninji", //11
    "Tajemnica Wojskowa", //12
    "AWP Sniper",//13
    "Adrenalina",//14
    "Tajemnica Rambo",//15
    "Wyszkolenie Sanitarne",//16
    "Kamizelka NASA",//17
    "Wytrenowany Weteran",//18
    "Apteczka",//19
    "Eliminator Rozrzutu",//20
    "Tytanowe Naboje",//21
    "Naboje Pulkownika",//22
    "Ogranicznik Rozrzutu",//23
    "Tarcza SWAT",//24
    "Wytrenowany Rekrut",//25
    "Pancerz Nomexowy",//26
    "Notatki Kapitana",//27
    "Modul odrzutowy"
    
};

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,15,60,135,240,375,540,735,960,1215,1500,1815,2160,2535,2940,3375,3840,4335,4860,5415,
6000,6615,7260,7935,8640,9375,10140,10935,11760,12615,13500,14415,15360,16335,17340,18375,19440,20535,21660,22815,
24000,25215,26460,27735,29040,30375,31740,33135,34560,36015,37500,39015,40560,42135,43740,45375,47040,48735,50460,52215,
54000,55815,57660,59535,61440,63375,65340,67335,69360,71415,73500,75615,77760,79935,82140,84375,86640,88935,91260,93615,
96000,98415,100860,103335,105840,108375,110940,113535,116160,118815,121500,124215,126960,129735,132540,135375,138240,141135,144060,147015,
150000,153015,156060,159135,162240,165375,168540,171735,174960,178215,181500,184815,188160,191535,194940,198375,201840,205335,208860,212415,
216000,219615,223260,226935,230640,234375,238140,241935,245760,249615,253500,257415,261360,265335,269340,273375,277440,281535,285660,289815,
294000,298215,302460,306735,311040,315375,319740,324135,328560,333015,337500,342015,346560,351135,355740,360375,365040,369735,374460,379215,
384000,388815,393660,398535,403440,408375,413340,418335,423360,428415,433500,438615,443760,448935,454140,459375,464640,469935,475260,480615,
486000,491415,496860,502335,507840,513375,518940,524535,530160,535815,541500,547215,552960,558735,564540,570375,576240,582135,588060,594015,
600000,606015,612060,618135,624240,630375,636540,642735,648960,655215,661500,667815,674160,680535,686940,693375,699840,706335,712860,719415,
726000,732615,739260,745935,752640,759375,766140,772935,779760,786615,793500,800415,807360,814335,821340,828375,835440,842535,849660,856815,
864000,871215,878460,885735,893040,900375,907740,915135,922560,930015,937500,945015,952560,960135,967740,975375,983040,990735,998460,1006215,
1014000,1021815,1029660,1037535,1045440,1053375,1061340,1069335,1077360,1085415,1093500,1101615,1109760,1117935,1126140,1134375,1142640,1150935,1159260,1167615,
1176000,1184415,1192860,1201335,1209840,1218375,1226940,1235535,1244160,1252815,1261500,1270215,1278960,1287735,1296540,1305375,1314240,1323135,1332060,1341015,
1350000,1359015,1368060,1377135,1386240,1395375,1404540,1413735,1422960,1432215,1441500,1450815,1460160,1469535,1478940,1488375,1497840,1507335,1516860,1526415,
1536000,1545615,1555260,1564935,1574640,1584375,1594140,1603935,1613760,1623615,1633500,1643415,1653360,1663335,1673340,1683375,1693440,1703535,1713660,1723815,
1734000,1744215,1754460,1764735,1775040,1785375,1795740,1806135,1816560,1827015,1837500,1848015,1858560,1869135,1879740,1890375,1901040,1911735,1922460,1933215,
1944000,1954815,1965660,1976535,1987440,1998375,2009340,2020335,2031360,2042415,2053500,2064615,2075760,2086935,2098140,2109375,2120640,2131935,2143260,2154615,
2166000,2177415,2188860,2200335,2211840,2223375,2234940,2246535,2258160,2269815,2281500,2293215,2304960,2316735,2328540,2340375,2352240,2364135,2376060,2388015,
2400000,2412015,2424060,2436135,2448240,2460375,2472540,2484735,2496960,2509215,2521500,2533815,2546160,2558535,2570940,2583375,2595840,2608335,2620860,2633415,
2646000,2658615,2671260,2683935,2696640,2709375,2722140,2734935,2747760,2760615,2773500,2786415,2799360,2812335,2825340,2838375,2851440,2864535,2877660,2890815,
2904000,2917215,2930460,2943735,2957040,2970375,2983740,2997135,3010560,3024015,3037500,3051015,3064560,3078135,3091740,3105375,3119040,3132735,3146460,3160215,
3174000,3187815,3201660,3215535,3229440,3243375,3257340,3271335,3285360,3299415,3313500,3327615,3341760,3355935,3370140,3384375,3398640,3412935,3427260,3441615,
3456000,3470415,3484860,3499335,3513840,3528375,3542940,3557535,3572160,3586815,3601500,3616215,3630960,3645735,3660540,3675375,3690240,3705135,3720060,3735015,
3750000,3765015,3780060,3795135,3810240,3825375,3840540,3855735,3870960,3886215,3901500,3916815,3932160,3947535,3962940,3978375,3993840,4009335,4024860,4040415,
4056000,4071615,4087260,4102935,4118640,4134375,4150140,4165935,4181760,4197615,4213500,4229415,4245360,4261335,4277340,4293375,4309440,4325535,4341660,4357815,
4374000,4390215,4406460,4422735,4439040,4455375,4471740,4488135,4504560,4521015,4537500,4554015,4570560,4587135,4603740,4620375,4637040,4653735,4670460,4687215,
4704000,4720815,4737660,4754535,4771440,4788375,4805340,4822335,4839360,4856415,4873500,4890615,4907760,4924935,4942140,4959375,4976640,4993935,5011260,5028615,
5046000,5063415,5080860,5098335,5115840,5133375,5150940,5168535,5186160,5203815,5221500,5239215,5256960,5274735,5292540,5310375,5328240,5346135,5364060,5382015,
5400000,5418015,5436060,5454135,5472240,5490375,5508540,5526735,5544960,5563215,5581500,5599815,5618160,5636535,5654940,5673375,5691840,5710335,5728860,5747415,
5766000,5784615,5803260,5821935,5840640,5859375,5878140,5896935,5915760,5934615,5953500,5972415,5991360,6010335,6029340,6048375,6067440,6086535,6105660,6124815,
6144000,6163215,6182460,6201735,6221040,6240375,6259740,6279135,6298560,6318015,6337500,6357015,6376560,6396135,6415740,6435375,6455040,6474735,6494460,6514215,
6534000,6553815,6573660,6593535,6613440,6633375,6653340,6673335,6693360,6713415,6733500,6753615,6773760,6793935,6814140,6834375,6854640,6874935,6895260,6915615,
6936000,6956415,6976860,6997335,7017840,7038375,7058940,7079535,7100160,7120815,7141500,7162215,7182960,7203735,7224540,7245375,7266240,7287135,7308060,7329015,
7350000,7371015,7392060,7413135,7434240,7455375,7476540,7497735,7518960,7540215,7561500,7582815,7604160,7625535,7646940,7668375,7689840,7711335,7732860,7754415,
7776000,7797615,7819260,7840935,7862640,7884375,7906140,7927935,7949760,7971615,7993500,8015415,8037360,8059335,8081340,8103375,8125440,8147535,8169660,8191815,
8214000,8236215,8258460,8280735,8303040,8325375,8347740,8370135,8392560,8415015,8437500,8460015,8482560,8505135,8527740,8550375,8573040,8595735,8618460,8641215,
8664000,8686815,8709660,8732535,8755440,8778375,8801340,8824335,8847360,8870415,8893500,8916615,8939760,8962935,8986140,9009375,9032640,9055935,9079260,9102615,
9126000,9149415,9172860,9196335,9219840,9243375,9266940,9290535,9314160,9337815,9361500,9385215,9408960,9432735,9456540,9480375,9504240,9528135,9552060,9576015,
9600000,9624015,9648060,9672135,9696240,9720375,9744540,9768735,9792960,9817215,9841500,9865815,9890160,9914535,9938940,9963375,9987840,10012335,10036860,10061415,
10086000,10110615,10135260,10159935,10184640,10209375,10234140,10258935,10283760,10308615,10333500,10358415,10383360,10408335,10433340,10458375,10483440,10508535,10533660,10558815,
10584000,10609215,10634460,10659735,10685040,10710375,10735740,10761135,10786560,10812015,10837500,10863015,10888560,10914135,10939740,10965375,10991040,11016735,11042460,11068215,
11094000,11119815,11145660,11171535,11197440,11223375,11249340,11275335,11301360,11327415,11353500,11379615,11405760,11431935,11458140,11484375,11510640,11536935,11563260,11589615,
11616000,11642415,11668860,11695335,11721840,11748375,11774940,11801535,11828160,11854815,11881500,11908215,11934960,11961735,11988540,12015375,12042240,12069135,12096060,12123015,
12150000,12177015,12204060,12231135,12258240,12285375,12312540,12339735,12366960,12394215,12421500,12448815,12476160,12503535,12530940,12558375,12585840,12613335,12640860,12668415,
12696000,12723615,12751260,12778935,12806640,12834375,12862140,12889935,12917760,12945615,12973500,13001415,13029360,13057335,13085340,13113375,13141440,13169535,13197660,13225815,
13254000,13282215,13310460,13338735,13367040,13395375,13423740,13452135,13480560,13509015,13537500,13566015,13594560,13623135,13651740,13680375,13709040,13737735,13766460,13795215,
13824000,13852815,13881660,13910535,13939440,13968375,13997340,14026335,14055360,14084415,14113500,14142615,14171760,14200935,14230140,14259375,14288640,14317935,14347260,14376615,
14406000,14435415,14464860,14494335,14523840,14553375,14582940,14612535,14642160,14671815,14701500,14731215,14760960,14790735,14820540,14850375,14880240,14910135,14940060,14970015,
15000000,15030015,15060060,15090135,15120240,15150375,15180540,15210735,15240960,15271215,15301500,15331815,15362160,15392535,15422940,15453375,15483840,15514335,15544860,15575415,
15606000,15636615,15667260,15697935,15728640,15759375,15790140,15820935,15851760,15882615,15913500,15944415,15975360,16006335,16037340,16068375,16099440,16130535,16161660,16192815,
16224000,16255215,16286460,16317735,16349040,16380375,16411740,16443135,16474560,16506015,16537500,16569015,16600560,16632135,16663740,16695375,16727040,16758735,16790460,16822215,
16854000,16885815,16917660,16949535,16981440,17013375,17045340,17077335,17109360,17141415,17173500,17205615,17237760,17269935,17302140,17334375,17366640,17398935,17431260,17463615,
17496000,17528415,17560860,17593335,17625840,17658375,17690940,17723535,17756160,17788815,17821500,17854215,17886960,17919735,17952540,17985375,18018240,18051135,18084060,18117015,
18150000,18183015,18216060,18249135,18282240,18315375,18348540,18381735,18414960,18448215,18481500,18514815,18548160,18581535,18614940,18648375,18681840,18715335,18748860,18782415,
18816000,18849615,18883260,18916935,18950640,18984375,19018140,19051935,19085760,19119615,19153500,19187415,19221360,19255335,19289340,19323375,19357440,19391535,19425660,19459815,
19494000,19528215,19562460,19596735,19631040,19665375,19699740,19734135,19768560,19803015,19837500,19872015,19906560,19941135,19975740,20010375,20045040,20079735,20114460,20149215,
20184000,20218815,20253660,20288535,20323440,20358375,20393340,20428335,20463360,20498415,20533500,20568615,20603760,20638935,20674140,20709375,20744640,20779935,20815260,20850615,
20886000,20921415,20956860,20992335,21027840,21063375,21098940,21134535,21170160,21205815,21241500,21277215,21312960,21348735,21384540,21420375,21456240,21492135,21528060,21564015,
21600000,21636015,21672060,21708135,21744240,21780375,21816540,21852735,21888960,21925215,21961500,21997815,22034160,22070535,22106940,22143375,22179840,22216335,22252860,22289415,
22326000,22362615,22399260,22435935,22472640,22509375,22546140,22582935,22619760,22656615,22693500,22730415,22767360,22804335,22841340,22878375,22915440,22952535,22989660,23026815,
23064000,23101215,23138460,23175735,23213040,23250375,23287740,23325135,23362560,23400015,23437500,23475015,23512560,23550135,23587740,23625375,23663040,23700735,23738460,23776215,
23814000,23851815,23889660,23927535,23965440,24003375,24041340,24079335,24117360,24155415,24193500,24231615,24269760,24307935,24346140,24384375,24422640,24460935,24499260,24537615,
24576000,24614415,24652860,24691335,24729840,24768375,24806940,24845535,24884160,24922815,24961500,25000215,25038960,25077735,25116540,25155375,25194240,25233135,25272060,25311015,
25350000,25389015,25428060,25467135,25506240,25545375,25584540,25623735,25662960,25702215,25741500,25780815,25820160,25859535,25898940,25938375,25977840,26017335,26056860,26096415,
26136000,26175615,26215260,26254935,26294640,26334375,26374140,26413935,26453760,26493615,26533500,26573415,26613360,26653335,26693340,26733375,26773440,26813535,26853660,26893815,
26934000,26974215,27014460,27054735,27095040,27135375,27175740,27216135,27256560,27297015,27337500,27378015,27418560,27459135,27499740,27540375,27581040,27621735,27662460,27703215,
27744000,27784815,27825660,27866535,27907440,27948375,27989340,28030335,28071360,28112415,28153500,28194615,28235760,28276935,28318140,28359375,28400640,28441935,28483260,28524615,
28566000,28607415,28648860,28690335,28731840,28773375,28814940,28856535,28898160,28939815,28981500,29023215,29064960,29106735,29148540,29190375,29232240,29274135,29316060,29358015,
29400000,29442015,29484060,29526135,29568240,29610375,29652540,29694735,29736960,29779215,29821500,29863815,29906160,29948535,29990940,30033375,30075840,30118335,30160860,30203415,
30246000,30288615,30331260,30373935,30416640,30459375,30502140,30544935,30587760,30630615,30673500,30716415,30759360,30802335,30845340,30888375,30931440,30974535,31017660,31060815,
31104000,31147215,31190460,31233735,31277040,31320375,31363740,31407135,31450560,31494015,31537500,31581015,31624560,31668135,31711740,31755375,31799040,31842735,31886460,31930215,
31974000,32017815,32061660,32105535,32149440,32193375,32237340,32281335,32325360,32369415,32413500,32457615,32501760,32545935,32590140,32634375,32678640,32722935,32767260,32811615,
32856000,32900415,32944860,32989335,33033840,33078375,33122940,33167535,33212160,33256815,33301500,33346215,33390960,33435735,33480540,33525375,33570240,33615135,33660060,33705015,
33750000,33795015,33840060,33885135,33930240,33975375,34020540,34065735,34110960,34156215,34201500,34246815,34292160,34337535,34382940,34428375,34473840,34519335,34564860,34610415,
34656000,34701615,34747260,34792935,34838640,34884375,34930140,34975935,35021760,35067615,35113500,35159415,35205360,35251335,35297340,35343375,35389440,35435535,35481660,35527815,
35574000,35620215,35666460,35712735,35759040,35805375,35851740,35898135,35944560,35991015,36037500,36084015,36130560,36177135,36223740,36270375,36317040,36363735,36410460,36457215,
36504000,36550815,36597660,36644535,36691440,36738375,36785340,36832335,36879360,36926415,36973500,37020615,37067760,37114935,37162140,37209375,37256640,37303935,37351260,37398615,
37446000,37493415,37540860,37588335,37635840,37683375,37730940,37778535,37826160,37873815,37921500,37969215,38016960,38064735,38112540,38160375,38208240,38256135,38304060,38352015,
38400000,38448015,38496060,38544135,38592240,38640375,38688540,38736735,38784960,38833215,38881500,38929815,38978160,39026535,39074940,39123375,39171840,39220335,39268860,39317415,
39366000,39414615,39463260,39511935,39560640,39609375,39658140,39706935,39755760,39804615,39853500,39902415,39951360,40000335,40049340,40098375,40147440,40196535,40245660,40294815,
40344000,40393215,40442460,40491735,40541040,40590375,40639740,40689135,40738560,40788015,40837500,40887015,40936560,40986135,41035740,41085375,41135040,41184735,41234460,41284215,
41334000,41383815,41433660,41483535,41533440,41583375,41633340,41683335,41733360,41783415,41833500,41883615,41933760,41983935,42034140,42084375,42134640,42184935,42235260,42285615,
42336000,42386415,42436860,42487335,42537840,42588375,42638940,42689535,42740160,42790815,42841500,42892215,42942960,42993735,43044540,43095375,43146240,43197135,43248060,43299015,
43350000,43401015,43452060,43503135,43554240,43605375,43656540,43707735,43758960,43810215,43861500,43912815,43964160,44015535,44066940,44118375,44169840,44221335,44272860,44324415,
44376000,44427615,44479260,44530935,44582640,44634375,44686140,44737935,44789760,44841615,44893500,44945415,44997360,45049335,45101340,45153375,45205440,45257535,45309660,45361815,
45414000,45466215,45518460,45570735,45623040,45675375,45727740,45780135,45832560,45885015,45937500,45990015,46042560,46095135,46147740,46200375,46253040,46305735,46358460,46411215,
46464000,46516815,46569660,46622535,46675440,46728375,46781340,46834335,46887360,46940415,46993500,47046615,47099760,47152935,47206140,47259375,47312640,47365935,47419260,47472615,
47526000,47579415,47632860,47686335,47739840,47793375,47846940,47900535,47954160,48007815,48061500,48115215,48168960,48222735,48276540,48330375,48384240,48438135,48492060,48546015,
48600000,48654015,48708060,48762135,48816240,48870375,48924540,48978735,49032960,49087215,49141500,49195815,49250160,49304535,49358940,49413375,49467840,49522335,49576860,49631415,
49686000,49740615,49795260,49849935,49904640,49959375,50014140,50068935,50123760,50178615,50233500,50288415,50343360,50398335,50453340,50508375,50563440,50618535,50673660,50728815,
50784000,50839215,50894460,50949735,51005040,51060375,51115740,51171135,51226560,51282015,51337500,51393015,51448560,51504135,51559740,51615375,51671040,51726735,51782460,51838215,
51894000,51949815,52005660,52061535,52117440,52173375,52229340,52285335,52341360,52397415,52453500,52509615,52565760,52621935,52678140,52734375,52790640,52846935,52903260,52959615,
53016000,53072415,53128860,53185335,53241840,53298375,53354940,53411535,53468160,53524815,53581500,53638215,53694960,53751735,53808540,53865375,53922240,53979135,54036060,54093015,
54150000,54207015,54264060,54321135,54378240,54435375,54492540,54549735,54606960,54664215,54721500,54778815,54836160,54893535,54950940,55008375,55065840,55123335,55180860,55238415,
55296000,55353615,55411260,55468935,55526640,55584375,55642140,55699935,55757760,55815615,55873500,55931415,55989360,56047335,56105340,56163375,56221440,56279535,56337660,56395815,
56454000,56512215,56570460,56628735,56687040,56745375,56803740,56862135,56920560,56979015,57037500,57096015,57154560,57213135,57271740,57330375,57389040,57447735,57506460,57565215,
57624000,57682815,57741660,57800535,57859440,57918375,57977340,58036335,58095360,58154415,58213500,58272615,58331760,58390935,58450140,58509375,58568640,58627935,58687260,58746615,
58806000,58865415,58924860,58984335,59043840,59103375,59162940,59222535,59282160,59341815,59401500,59461215,59520960,59580735,59640540,59700375,59760240,59820135,59880060,59940015,
60000000,60060015,60120060,60180135,60240240,60300375,60360540,60420735,60480960,60541215,60601500,60661815,60722160,60782535,60842940,60903375,60963840,61024335,61084860,61145415,
61206000,61266615,61327260,61387935,61448640,61509375,61570140,61630935,61691760,61752615,61813500,61874415,61935360,61996335,62057340,62118375,62179440,62240535,62301660,62362815,
62424000,62485215,62546460,62607735,62669040,62730375,62791740,62853135,62914560,62976015,63037500,63099015,63160560,63222135,63283740,63345375,63407040,63468735,63530460,63592215,
63654000,63715815,63777660,63839535,63901440,63963375,64025340,64087335,64149360,64211415,64273500,64335615,64397760,64459935,64522140,64584375,64646640,64708935,64771260,64833615,
64896000,64958415,65020860,65083335,65145840,65208375,65270940,65333535,65396160,65458815,65521500,65584215,65646960,65709735,65772540,65835375,65898240,65961135,66024060,66087015,
66150000,66213015,66276060,66339135,66402240,66465375,66528540,66591735,66654960,66718215,66781500,66844815,66908160,66971535,67034940,67098375,67161840,67225335,67288860,67352415,
67416000,67479615,67543260,67606935,67670640,67734375,67798140,67861935,67925760,67989615,68053500,68117415,68181360,68245335,68309340,68373375,68437440,68501535,68565660,68629815,
68694000,68758215,68822460,68886735,68951040,69015375,69079740,69144135,69208560,69273015,69337500,69402015,69466560,69531135,69595740,69660375,69725040,69789735,69854460,69919215,
69984000,70048815,70113660,70178535,70243440,70308375,70373340,70438335,70503360,70568415,70633500,70698615,70763760,70828935,70894140,70959375,71024640,71089935,71155260,71220615,
71286000,71351415,71416860,71482335,71547840,71613375,71678940,71744535,71810160,71875815,71941500,72007215,72072960,72138735,72204540,72270375,72336240,72402135,72468060,72534015,
72600000,72666015,72732060,72798135,72864240,72930375,72996540,73062735,73128960,73195215,73261500,73327815,73394160,73460535,73526940,73593375,73659840,73726335,73792860,73859415,
73926000,73992615,74059260,74125935,74192640,74259375,74326140,74392935,74459760,74526615,74593500,74660415,74727360,74794335,74861340,74928375,74995440,75062535,75129660,75196815,
75264000,75331215,75398460,75465735,75533040,75600375,75667740,75735135,75802560,75870015,75937500,76005015,76072560,76140135,76207740,76275375,76343040,76410735,76478460,76546215,
76614000,76681815,76749660,76817535,76885440,76953375,77021340,77089335,77157360,77225415,77293500,77361615,77429760,77497935,77566140,77634375,77702640,77770935,77839260,77907615,
77976000,78044415,78112860,78181335,78249840,78318375,78386940,78455535,78524160,78592815,78661500,78730215,78798960,78867735,78936540,79005375,79074240,79143135,79212060,79281015,
79350000,79419015,79488060,79557135,79626240,79695375,79764540,79833735,79902960,79972215,80041500,80110815,80180160,80249535,80318940,80388375,80457840,80527335,80596860,80666415,
80736000,80805615,80875260,80944935,81014640,81084375,81154140,81223935,81293760,81363615,81433500,81503415,81573360,81643335,81713340,81783375,81853440,81923535,81993660,82063815,
82134000,82204215,82274460,82344735,82415040,82485375,82555740,82626135,82696560,82767015,82837500,82908015,82978560,83049135,83119740,83190375,83261040,83331735,83402460,83473215,
83544000,83614815,83685660,83756535,83827440,83898375,83969340,84040335,84111360,84182415,84253500,84324615,84395760,84466935,84538140,84609375,84680640,84751935,84823260,84894615,
84966000,85037415,85108860,85180335,85251840,85323375,85394940,85466535,85538160,85609815,85681500,85753215,85824960,85896735,85968540,86040375,86112240,86184135,86256060,86328015,
86400000,86472015,86544060,86616135,86688240,86760375,86832540,86904735,86976960,87049215,87121500,87193815,87266160,87338535,87410940,87483375,87555840,87628335,87700860,87773415,
87846000,87918615,87991260,88063935,88136640,88209375,88282140,88354935,88427760,88500615,88573500,88646415,88719360,88792335,88865340,88938375,89011440,89084535,89157660,89230815,
89304000,89377215,89450460,89523735,89597040,89670375,89743740,89817135,89890560,89964015,90037500,90111015,90184560,90258135,90331740,90405375,90479040,90552735,90626460,90700215,
90774000,90847815,90921660,90995535,91069440,91143375,91217340,91291335,91365360,91439415,91513500,91587615,91661760,91735935,91810140,91884375,91958640,92032935,92107260,92181615,
92256000,92330415,92404860,92479335,92553840,92628375,92702940,92777535,92852160,92926815,93001500,93076215,93150960,93225735,93300540,93375375,93450240,93525135,93600060,93675015,
93750000,93825015,93900060,93975135,94050240,94125375,94200540,94275735,94350960,94426215,94501500,94576815,94652160,94727535,94802940,94878375,94953840,95029335,95104860,95180415,
95256000,95331615,95407260,95482935,95558640,95634375,95710140,95785935,95861760,95937615,96013500,96089415,96165360,96241335,96317340,96393375,96469440,96545535,96621660,96697815,
96774000,96850215,96926460,97002735,97079040,97155375,97231740,97308135,97384560,97461015,97537500,97614015,97690560,97767135,97843740,97920375,97997040,98073735,98150460,98227215,
98304000,98380815,98457660,98534535,98611440,98688375,98765340,98842335,98919360,98996415,99073500,99150615,99227760,99304935,99382140,99459375,99536640,99613935,99691260,99768615,
99846000,99923415,100000860,100078335,100155840,100233375,100310940,100388535,100466160,100543815,100621500,100699215,100776960,100854735,100932540,101010375,101088240,101166135,101244060,101322015,
101400000,101478015,101556060,101634135,101712240,101790375,101868540,101946735,102024960,102103215,102181500,102259815,102338160,102416535,102494940,102573375,102651840,102730335,102808860,102887415,
102966000,103044615,103123260,103201935,103280640,103359375,103438140,103516935,103595760,103674615,103753500,103832415,103911360,103990335,104069340,104148375,104227440,104306535,104385660,104464815,
104544000,104623215,104702460,104781735,104861040,104940375,105019740,105099135,105178560,105258015,105337500,105417015,105496560,105576135,105655740,105735375,105815040,105894735,105974460,106054215,
106134000,106213815,106293660,106373535,106453440,106533375,106613340,106693335,106773360,106853415,106933500,107013615,107093760,107173935,107254140,107334375,107414640,107494935,107575260,107655615,
107736000,107816415,107896860,107977335,108057840,108138375,108218940,108299535,108380160,108460815,108541500,108622215,108702960,108783735,108864540,108945375,109026240,109107135,109188060,109269015,
109350000,109431015,109512060,109593135,109674240,109755375,109836540,109917735,109998960,110080215,110161500,110242815,110324160,110405535,110486940,110568375,110649840,110731335,110812860,110894415,
110976000,111057615,111139260,111220935,111302640,111384375,111466140,111547935,111629760,111711615,111793500,111875415,111957360,112039335,112121340,112203375,112285440,112367535,112449660,112531815,
112614000,112696215,112778460,112860735,112943040,113025375,113107740,113190135,113272560,113355015,113437500,113520015,113602560,113685135,113767740,113850375,113933040,114015735,114098460,114181215,
114264000,114346815,114429660,114512535,114595440,114678375,114761340,114844335,114927360,115010415,115093500,115176615,115259760,115342935,115426140,115509375,115592640,115675935,115759260,115842615,
115926000,116009415,116092860,116176335,116259840,116343375,116426940,116510535,116594160,116677815,116761500,116845215,116928960,117012735,117096540,117180375,117264240,117348135,117432060,117516015,
117600000,117684015,117768060,117852135,117936240,118020375,118104540,118188735,118272960,118357215,118441500,118525815,118610160,118694535,118778940,118863375,118947840,119032335,119116860,119201415,
119286000,119370615,119455260,119539935,119624640,119709375,119794140,119878935,119963760,120048615,120133500,120218415,120303360,120388335,120473340,120558375,120643440,120728535,120813660,120898815,
120984000,121069215,121154460,121239735,121325040,121410375,121495740,121581135,121666560,121752015,121837500,121923015,122008560,122094135,122179740,122265375,122351040,122436735,122522460,122608215,
122694000,122779815,122865660,122951535,123037440,123123375,123209340,123295335,123381360,123467415,123553500,123639615,123725760,123811935,123898140,123984375,124070640,124156935,124243260,124329615,
124416000,124502415,124588860,124675335,124761840,124848375,124934940,125021535,125108160,125194815,125281500,125368215,125454960,125541735,125628540,125715375,125802240,125889135,125976060,126063015,
126150000,126237015,126324060,126411135,126498240,126585375,126672540,126759735,126846960,126934215,127021500,127108815,127196160,127283535,127370940,127458375,127545840,127633335,127720860,127808415,
127896000,127983615,128071260,128158935,128246640,128334375,128422140,128509935,128597760,128685615,128773500,128861415,128949360,129037335,129125340,129213375,129301440,129389535,129477660,129565815,
129654000,129742215,129830460,129918735,130007040,130095375,130183740,130272135,130360560,130449015,130537500,130626015,130714560,130803135,130891740,130980375,131069040,131157735,131246460,131335215,
131424000,131512815,131601660,131690535,131779440,131868375,131957340,132046335,132135360,132224415,132313500,132402615,132491760,132580935,132670140,132759375,132848640,132937935,133027260,133116615,
133206000,133295415,133384860,133474335,133563840,133653375,133742940,133832535,133922160,134011815,134101500,134191215,134280960,134370735,134460540,134550375,134640240,134730135,134820060,134910015,
135000000,135090015,135180060,135270135,135360240,135450375,135540540,135630735,135720960,135811215,135901500,135991815,136082160,136172535,136262940,136353375,136443840,136534335,136624860,136715415,
136806000,136896615,136987260,137077935,137168640,137259375,137350140,137440935,137531760,137622615,137713500,137804415,137895360,137986335,138077340,138168375,138259440,138350535,138441660,138532815,
138624000,138715215,138806460,138897735,138989040,139080375,139171740,139263135,139354560,139446015,139537500,139629015,139720560,139812135,139903740,139995375,140087040,140178735,140270460,140362215,
140454000,140545815,140637660,140729535,140821440,140913375,141005340,141097335,141189360,141281415,141373500,141465615,141557760,141649935,141742140,141834375,141926640,142018935,142111260,142203615,
142296000,142388415,142480860,142573335,142665840,142758375,142850940,142943535,143036160,143128815,143221500,143314215,143406960,143499735,143592540,143685375,143778240,143871135,143964060,144057015,
144150000,144243015,144336060,144429135,144522240,144615375,144708540,144801735,144894960,144988215,145081500,145174815,145268160,145361535,145454940,145548375,145641840,145735335,145828860,145922415,
146016000,146109615,146203260,146296935,146390640,146484375,146578140,146671935,146765760,146859615,146953500,147047415,147141360,147235335,147329340,147423375,147517440,147611535,147705660,147799815,
147894000,147988215,148082460,148176735,148271040,148365375,148459740,148554135,148648560,148743015,148837500,148932015,149026560,149121135,149215740,149310375,149405040,149499735,149594460,149689215,
149784000,149878815,149973660,150068535,150163440,150258375,150353340,150448335,150543360,150638415,150733500,150828615,150923760,151018935,151114140,151209375,151304640,151399935,151495260,151590615,
151686000,151781415,151876860,151972335,152067840,152163375,152258940,152354535,152450160,152545815,152641500,152737215,152832960,152928735,153024540,153120375,153216240,153312135,153408060,153504015,
153600000,153696015,153792060,153888135,153984240,154080375,154176540,154272735,154368960,154465215,154561500,154657815,154754160,154850535,154946940,155043375,155139840,155236335,155332860,155429415,
155526000,155622615,155719260,155815935,155912640,156009375,156106140,156202935,156299760,156396615,156493500,156590415,156687360,156784335,156881340,156978375,157075440,157172535,157269660,157366815,
157464000,157561215,157658460,157755735,157853040,157950375,158047740,158145135,158242560,158340015,158437500,158535015,158632560,158730135,158827740,158925375,159023040,159120735,159218460,159316215,
159414000,159511815,159609660,159707535,159805440,159903375,160001340,160099335,160197360,160295415,160393500,160491615,160589760,160687935,160786140,160884375,160982640,161080935,161179260,161277615,
161376000,161474415,161572860,161671335,161769840,161868375,161966940,162065535,162164160,162262815,162361500,162460215,162558960,162657735,162756540,162855375,162954240,163053135,163152060,163251015,
163350000,163449015,163548060,163647135,163746240,163845375,163944540,164043735,164142960,164242215,164341500,164440815,164540160,164639535,164738940,164838375,164937840,165037335,165136860,165236415,
165336000,165435615,165535260,165634935,165734640,165834375,165934140,166033935,166133760,166233615,166333500,166433415,166533360,166633335,166733340,166833375,166933440,167033535,167133660,167233815,
167334000,167434215,167534460,167634735,167735040,167835375,167935740,168036135,168136560,168237015,168337500,168438015,168538560,168639135,168739740,168840375,168941040,169041735,169142460,169243215,
169344000,169444815,169545660,169646535,169747440,169848375,169949340,170050335,170151360,170252415,170353500,170454615,170555760,170656935,170758140,170859375,170960640,171061935,171163260,171264615,
171366000,171467415,171568860,171670335,171771840,171873375,171974940,172076535,172178160,172279815,172381500,172483215,172584960,172686735,172788540,172890375,172992240,173094135,173196060,173298015,
173400000,173502015,173604060,173706135,173808240,173910375,174012540,174114735,174216960,174319215,174421500,174523815,174626160,174728535,174830940,174933375,175035840,175138335,175240860,175343415,
175446000,175548615,175651260,175753935,175856640,175959375,176062140,176164935,176267760,176370615,176473500,176576415,176679360,176782335,176885340,176988375,177091440,177194535,177297660,177400815,
177504000,177607215,177710460,177813735,177917040,178020375,178123740,178227135,178330560,178434015,178537500,178641015,178744560,178848135,178951740,179055375,179159040,179262735,179366460,179470215,
179574000,179677815,179781660,179885535,179989440,180093375,180197340,180301335,180405360,180509415,180613500,180717615,180821760,180925935,181030140,181134375,181238640,181342935,181447260,181551615,
181656000,181760415,181864860,181969335,182073840,182178375,182282940,182387535,182492160,182596815,182701500,182806215,182910960,183015735,183120540,183225375,183330240,183435135,183540060,183645015,
183750000,183855015,183960060,184065135,184170240,184275375,184380540,184485735,184590960,184696215,184801500,184906815,185012160,185117535,185222940,185328375,185433840,185539335,185644860,185750415,
185856000,185961615,186067260,186172935,186278640,186384375,186490140,186595935,186701760,186807615,186913500,187019415,187125360,187231335,187337340,187443375,187549440,187655535,187761660,187867815,
187974000,188080215,188186460,188292735,188399040,188505375,188611740,188718135,188824560,188931015,189037500,189144015,189250560,189357135,189463740,189570375,189677040,189783735,189890460,189997215,
190104000,190210815,190317660,190424535,190531440,190638375,190745340,190852335,190959360,191066415,191173500,191280615,191387760,191494935,191602140,191709375,191816640,191923935,192031260,192138615,
192246000,192353415,192460860,192568335,192675840,192783375,192890940,192998535,193106160,193213815,193321500,193429215,193536960,193644735,193752540,193860375,193968240,194076135,194184060,194292015,
194400000,194508015,194616060,194724135,194832240,194940375,195048540,195156735,195264960,195373215,195481500,195589815,195698160,195806535,195914940,196023375,196131840,196240335,196348860,196457415,
196566000,196674615,196783260,196891935,197000640,197109375,197218140,197326935,197435760,197544615,197653500,197762415,197871360,197980335,198089340,198198375,198307440,198416535,198525660,198634815,
198744000,198853215,198962460,199071735,199181040,199290375,199399740,199509135,199618560,199728015,199837500,199947015,200056560,200166135,200275740,200385375,200495040,200604735,200714460,200824215,
200934000,201043815,201153660,201263535,201373440,201483375,201593340,201703335,201813360,201923415,202033500,202143615,202253760,202363935,202474140,202584375,202694640,202804935,202915260,203025615,
203136000,203246415,203356860,203467335,203577840,203688375,203798940,203909535,204020160,204130815,204241500,204352215,204462960,204573735,204684540,204795375,204906240,205017135,205128060,205239015,
205350000,205461015,205572060,205683135,205794240,205905375,206016540,206127735,206238960,206350215,206461500,206572815,206684160,206795535,206906940,207018375,207129840,207241335,207352860,207464415,
207576000,207687615,207799260,207910935,208022640,208134375,208246140,208357935,208469760,208581615,208693500,208805415,208917360,209029335,209141340,209253375,209365440,209477535,209589660,209701815,
209814000,209926215,210038460,210150735,210263040,210375375,210487740,210600135,210712560,210825015,210937500,211050015,211162560,211275135,211387740,211500375,211613040,211725735,211838460,211951215,
212064000,212176815,212289660,212402535,212515440,212628375,212741340,212854335,212967360,213080415,213193500,213306615,213419760,213532935,213646140,213759375,213872640,213985935,214099260,214212615,
214326000,214439415,214552860,214666335,214779840,214893375,215006940,215120535,215234160,215347815,215461500,215575215,215688960,215802735,215916540,216030375,216144240,216258135,216372060,216486015,
216600000,216714015,216828060,216942135,217056240,217170375,217284540,217398735,217512960,217627215,217741500,217855815,217970160,218084535,218198940,218313375,218427840,218542335,218656860,218771415,
218886000,219000615,219115260,219229935,219344640,219459375,219574140,219688935,219803760,219918615,220033500,220148415,220263360,220378335,220493340,220608375,220723440,220838535,220953660,221068815,
221184000,221299215,221414460,221529735,221645040,221760375,221875740,221991135,222106560,222222015,222337500,222453015,222568560,222684135,222799740,222915375,223031040,223146735,223262460,223378215,
223494000,223609815,223725660,223841535,223957440,224073375,224189340,224305335,224421360,224537415,224653500,224769615,224885760,225001935,225118140,225234375,225350640,225466935,225583260,225699615,
225816000,225932415,226048860,226165335,226281840,226398375,226514940,226631535,226748160,226864815,226981500,227098215,227214960,227331735,227448540,227565375,227682240,227799135,227916060,228033015,
228150000,228267015,228384060,228501135,228618240,228735375,228852540,228969735,229086960,229204215,229321500,229438815,229556160,229673535,229790940,229908375,230025840,230143335,230260860,230378415,
230496000,230613615,230731260,230848935,230966640,231084375,231202140,231319935,231437760,231555615,231673500,231791415,231909360,232027335,232145340,232263375,232381440,232499535,232617660,232735815,
232854000,232972215,233090460,233208735,233327040,233445375,233563740,233682135,233800560,233919015,234037500,234156015,234274560,234393135,234511740,234630375,234749040,234867735,234986460,235105215,
235224000,235342815,235461660,235580535,235699440,235818375,235937340,236056335,236175360,236294415,236413500,236532615,236651760,236770935,236890140,237009375,237128640,237247935,237367260,237486615,
237606000,237725415,237844860,237964335,238083840,238203375,238322940,238442535,238562160,238681815,238801500,238921215,239040960,239160735,239280540,239400375,239520240,239640135,239760060,239880015,
240000000,1073741824 };

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ą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;

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("say /sklep", "Sklep"); 
    register_clcmd("fullupdate", "BlokujKomende");
    
    register_clcmd("cl_autobuy", "BlokujKomende");
    register_clcmd("say /molotov", "BlokujKomende");
    register_clcmd("say molotov", "BlokujKomende");
    register_clcmd("cl_rebuy", "BlokujKomende");
    register_clcmd("cl_setautobuy","BlokujKomende");
    register_clcmd("rebuy", "BlokujKomende");
    register_clcmd("autobuy", "BlokujKomende");
    register_clcmd("glock", "BlokujKomende");
    register_clcmd("usp", "BlokujKomende");
    register_clcmd("p228", "BlokujKomende");
    register_clcmd("deagle", "BlokujKomende");
    register_clcmd("elites", "BlokujKomende");
    register_clcmd("fn57", "BlokujKomende");
    register_clcmd("m3", "BlokujKomende");
    register_clcmd("XM1014", "BlokujKomende");
    register_clcmd("mac10", "BlokujKomende");
    register_clcmd("tmp", "BlokujKomende");
    register_clcmd("mp5", "BlokujKomende");
    register_clcmd("ump45", "BlokujKomende");
    register_clcmd("p90", "BlokujKomende");
    register_clcmd("galil", "BlokujKomende");
    register_clcmd("ak47", "BlokujKomende");
    register_clcmd("scout", "BlokujKomende");
    register_clcmd("sg552", "BlokujKomende");
    register_clcmd("awp", "BlokujKomende");
    register_clcmd("g3sg1", "BlokujKomende");
    register_clcmd("famas", "BlokujKomende");
    register_clcmd("m4a1", "BlokujKomende");
    register_clcmd("bullpup", "BlokujKomende");
    register_clcmd("sg550", "BlokujKomende");
    register_clcmd("m249", "BlokujKomende");
    register_clcmd("shield", "BlokujKomende");
    register_clcmd("hegren", "BlokujKomende");
    register_clcmd("sgren", "BlokujKomende");
    register_clcmd("flash", "BlokujKomende");
    register_clcmd("defuser", "autobuy");


    //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");
    doswiadczenie_za_kase = 100;
    doswiadczenie_za_kasez = 300;
    doswiadczenie_za_totek = 200;
    doswiadczenie_za_fail = 1;
    
    set_task(30.0, "Pomoc");
}
public Sklep(id)
{
        new menu = menu_create("Sklepik:", "Sklep_Handle");
        menu_additem(menu, "Ketonal \r[Leczy 20 HP] \yKoszt: \r1500$");
        menu_additem(menu, "Flegamina \r[Leczy 50 HP] \yKoszt: \r3000$");
        menu_additem(menu, "Aspirina \r[Leczy 100 HP] \yKoszt: \r5000$");
        menu_additem(menu, "RedBull \r[Wysoki Skok + Szybkie Chodzenie] \yKoszt: \r2000$");
        menu_additem(menu, "Lotto \r[Totek] \yKoszt: \r2000$");
        menu_additem(menu, "Doswiadczenie \r[Dodaje 100 EXP] \yKoszt: \r5000$");
        menu_additem(menu, "Super Doswiadczenie \r[Dodaje 300 EXP] \yKoszt: \r10000$");
        menu_display(id, menu);
}

public Sklep_Handle(id, menu, item) 
{
    client_cmd(id, "spk QTM_CodMod/select");
    
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_CONTINUE;
    }
        menu_display(id, menu);
        new kasa_gracza = cs_get_user_money(id);
        new hp = get_user_health(id);
        switch(item) 
        { 
                case 0:
                {
                        new koszt = 1500;
                        if (kasa_gracza<koszt)
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
                                return PLUGIN_CONTINUE;
                        }
                        if(hp >= maksymalne_zdrowie_gracza[id])
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Jestes w pelni uleczony.");
                                return PLUGIN_CONTINUE;
                        }
                        cs_set_user_money(id, kasa_gracza-koszt);
                        new ammount=20;
                        new nowe_zdrowie = (hp+ammount<maksymalne_zdrowie_gracza[id])? hp+ammount: maksymalne_zdrowie_gracza[id];
                        set_user_health(id, nowe_zdrowie);
                        ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 Ketonal");
    }
                case 1:
                {
                        new koszt = 3000;
                        if (kasa_gracza<koszt)
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
                                return PLUGIN_CONTINUE;
                        }
                        if(hp >= maksymalne_zdrowie_gracza[id])
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Jestes w pelni uleczony.");
                                return PLUGIN_CONTINUE;
                        }
                        cs_set_user_money(id, kasa_gracza-koszt);
                        new ammount=50;
                        new nowe_zdrowie = (hp+ammount<maksymalne_zdrowie_gracza[id])? hp+ammount: maksymalne_zdrowie_gracza[id];
                        set_user_health(id, nowe_zdrowie);
                        ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 Flegamine");
    }
                case 2:
                {
                        new koszt = 5000;
                        if (kasa_gracza<koszt)
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
                                return PLUGIN_CONTINUE;
                        }
                        if(hp >= maksymalne_zdrowie_gracza[id])
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Jestes w pelni uleczony.");
                                return PLUGIN_CONTINUE;
                        }
                        cs_set_user_money(id, kasa_gracza-koszt);
                        new ammount=100;
                        new nowe_zdrowie = (hp+ammount<maksymalne_zdrowie_gracza[id])? hp+ammount: maksymalne_zdrowie_gracza[id];
                        set_user_health(id, nowe_zdrowie);
                        ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 Aspirine");
    }
                case 3:
                {
                        new koszt = 2000;
                        if (kasa_gracza<koszt)
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
                                return PLUGIN_CONTINUE;
                        }
                        cs_set_user_money(id, kasa_gracza-koszt);
                        set_user_gravity(id,get_user_gravity(id) - 0.3);
                        set_user_maxspeed(id,get_user_maxspeed(id) + 10.0);
                        ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 RedBulla");
    }
                case 4:
                {
                      new kasa = cs_get_user_money(id)
                        new koszt = 2000;
                        if (kasa_gracza<koszt)
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
                                return PLUGIN_CONTINUE;
                        }
                        cs_set_user_money(id, kasa_gracza-koszt);
                        ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles kupon Totolotka");
                        ColorChat(id,GREEN,"[SKLEP]^x01 Trwa losowanie...");
    new rand = random_num(0,15);
    switch(rand) 
    {
        case 0:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Wygrales^x03 10$^x01 !")
            cs_set_user_money(id, kasa + 10)
        }
        case 1:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Wygrales^x03 Redbulla^x01 !")
                  set_user_gravity(id,get_user_gravity(id) - 0.3);
                  set_user_maxspeed(id,get_user_maxspeed(id) + 10.0);
        }
        case 2:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Niestety nic nie wygrales !")
        }
        case 3:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Wygrales^x03 300$^x01 !")
            cs_set_user_money(id, kasa + 300)
        }
        case 4:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Wygrales^x03 1000$^x01 !")
            cs_set_user_money(id, kasa + 1000)
        }
        case 5:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Niestety nic nie wygrales !")
        }
        case 6:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Niestety nic nie wygrales !")
        }
        case 7:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Przegrales^x03 Wszystko^x01 !")
            cs_set_user_money(id, kasa - kasa_gracza)
        }
        case 8:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Niestety nic nie wygrales !")
        }
        case 9:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Wygrales^x03 300 EXP^x01 !")
                  doswiadczenie_gracza[id] += doswiadczenie_za_kase;

        }
        case 10:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Wygrales 200 EXP^x01 !")
                  doswiadczenie_gracza[id] += doswiadczenie_za_totek;
        }
        case 11:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Niestety nic nie wygrales !")
        }
        case 12:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Wygrales^x03 1 EXP^x01 !")
                  doswiadczenie_gracza[id] += doswiadczenie_za_fail;
        }
    }
    SprawdzPoziom(id);
    return PLUGIN_CONTINUE;
}
                case 5:
                {
                        new koszt = 5000;
                        if (kasa_gracza<koszt)
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
                                return PLUGIN_CONTINUE;
                        }
                        cs_set_user_money(id, kasa_gracza-koszt);
              doswiadczenie_gracza[id] += doswiadczenie_za_kase;
                        ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 Doswiadczenie");
            SprawdzPoziom(id);
    }
                case 6:
                {
                        new koszt = 10000;
                        if (kasa_gracza<koszt)
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
                                return PLUGIN_CONTINUE;
                        }
                        cs_set_user_money(id, kasa_gracza-koszt);
              doswiadczenie_gracza[id] += doswiadczenie_za_kasez;
                        ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 Super Doswiadczenie");
            SprawdzPoziom(id);
             }
    }
     return PLUGIN_CONTINUE;
} 

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)
{
    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 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_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;
}

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 na serwerze Call of Duty stworzonym przez Pudziana.");
}

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;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/




SKOMPILUJE KTOŚ?? PROSZE

Ostatnio edytowane przez kris2925 : 15-07-10 - 13:51
Offline kris2925 jest nieaktywny
Odpowiedź z cytatem
  (#9) stare
Nowy
 
Grupa: Użytkownik
Postów: 19
Zarejestrowany: May 2009
Karma: Neutralna

Odp: [AMXX] Kompilacja pluginów / .sma na .amxx - 15-07-10, 13:49

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


#define PLUGIN "Call of Duty: MW Mod"
#define VERSION "0.8.0 Beta"
#define AUTHOR "Pudzian"

#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 doswiadczenie_za_kase;
new doswiadczenie_za_kasez;
new doswiadczenie_za_totek;
new doswiadczenie_za_fail;

new Ubrania_CT[4][]={"sas","gsg9","urban","gign"};
new Ubrania_Terro[4][]={"arctic","leet","guerilla","terror"};

new const maxAmmo[31]={0,52,0,90,1,32,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,32,90,120,90,2,35,90,90,0,100};
new const maxClip[31] = { -1, 13, -1, 10,  1,  7,  1,  30, 30,  1,  30,  20,  25, 30, 35, 25,  12,  20, 
10,  30, 100,  8, 30,  30, 20,  2,  7, 30, 30, -1,  50 };

new informacje_przedmiotu_gracza[33][2];
new const nazwy_przedmiotow[][] = {"Brak", 
    "Buty Szturmowego", //1
    "Podwojna Kamizelka", //2
    "Wzmocniona Kamizelka", //3
    "Weteran Noza", //4
    "Zaskoczenie Wroga", //5
    "Plaszcz Partyzanta", //6 
    "Morfina", //7
    "Noz Komandosa", //8
    "Podrecznik Szpiega", //9
    "Tajemnica Generala", //10
    "Notatki Ninji", //11
    "Tajemnica Wojskowa", //12
    "AWP Sniper",//13
    "Adrenalina",//14
    "Tajemnica Rambo",//15
    "Wyszkolenie Sanitarne",//16
    "Kamizelka NASA",//17
    "Wytrenowany Weteran",//18
    "Apteczka",//19
    "Eliminator Rozrzutu",//20
    "Tytanowe Naboje",//21
    "Naboje Pulkownika",//22
    "Ogranicznik Rozrzutu",//23
    "Tarcza SWAT",//24
    "Wytrenowany Rekrut",//25
    "Pancerz Nomexowy",//26
    "Notatki Kapitana",//27
    "Modul odrzutowy"
    
};

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,15,60,135,240,375,540,735,960,1215,1500,1815,2160,2535,2940,3375,3840,4335,4860,5415,
6000,6615,7260,7935,8640,9375,10140,10935,11760,12615,13500,14415,15360,16335,17340,18375,19440,20535,21660,22815,
24000,25215,26460,27735,29040,30375,31740,33135,34560,36015,37500,39015,40560,42135,43740,45375,47040,48735,50460,52215,
54000,55815,57660,59535,61440,63375,65340,67335,69360,71415,73500,75615,77760,79935,82140,84375,86640,88935,91260,93615,
96000,98415,100860,103335,105840,108375,110940,113535,116160,118815,121500,124215,126960,129735,132540,135375,138240,141135,144060,147015,
150000,153015,156060,159135,162240,165375,168540,171735,174960,178215,181500,184815,188160,191535,194940,198375,201840,205335,208860,212415,
216000,219615,223260,226935,230640,234375,238140,241935,245760,249615,253500,257415,261360,265335,269340,273375,277440,281535,285660,289815,
294000,298215,302460,306735,311040,315375,319740,324135,328560,333015,337500,342015,346560,351135,355740,360375,365040,369735,374460,379215,
384000,388815,393660,398535,403440,408375,413340,418335,423360,428415,433500,438615,443760,448935,454140,459375,464640,469935,475260,480615,
486000,491415,496860,502335,507840,513375,518940,524535,530160,535815,541500,547215,552960,558735,564540,570375,576240,582135,588060,594015,
600000,606015,612060,618135,624240,630375,636540,642735,648960,655215,661500,667815,674160,680535,686940,693375,699840,706335,712860,719415,
726000,732615,739260,745935,752640,759375,766140,772935,779760,786615,793500,800415,807360,814335,821340,828375,835440,842535,849660,856815,
864000,871215,878460,885735,893040,900375,907740,915135,922560,930015,937500,945015,952560,960135,967740,975375,983040,990735,998460,1006215,
1014000,1021815,1029660,1037535,1045440,1053375,1061340,1069335,1077360,1085415,1093500,1101615,1109760,1117935,1126140,1134375,1142640,1150935,1159260,1167615,
1176000,1184415,1192860,1201335,1209840,1218375,1226940,1235535,1244160,1252815,1261500,1270215,1278960,1287735,1296540,1305375,1314240,1323135,1332060,1341015,
1350000,1359015,1368060,1377135,1386240,1395375,1404540,1413735,1422960,1432215,1441500,1450815,1460160,1469535,1478940,1488375,1497840,1507335,1516860,1526415,
1536000,1545615,1555260,1564935,1574640,1584375,1594140,1603935,1613760,1623615,1633500,1643415,1653360,1663335,1673340,1683375,1693440,1703535,1713660,1723815,
1734000,1744215,1754460,1764735,1775040,1785375,1795740,1806135,1816560,1827015,1837500,1848015,1858560,1869135,1879740,1890375,1901040,1911735,1922460,1933215,
1944000,1954815,1965660,1976535,1987440,1998375,2009340,2020335,2031360,2042415,2053500,2064615,2075760,2086935,2098140,2109375,2120640,2131935,2143260,2154615,
2166000,2177415,2188860,2200335,2211840,2223375,2234940,2246535,2258160,2269815,2281500,2293215,2304960,2316735,2328540,2340375,2352240,2364135,2376060,2388015,
2400000,2412015,2424060,2436135,2448240,2460375,2472540,2484735,2496960,2509215,2521500,2533815,2546160,2558535,2570940,2583375,2595840,2608335,2620860,2633415,
2646000,2658615,2671260,2683935,2696640,2709375,2722140,2734935,2747760,2760615,2773500,2786415,2799360,2812335,2825340,2838375,2851440,2864535,2877660,2890815,
2904000,2917215,2930460,2943735,2957040,2970375,2983740,2997135,3010560,3024015,3037500,3051015,3064560,3078135,3091740,3105375,3119040,3132735,3146460,3160215,
3174000,3187815,3201660,3215535,3229440,3243375,3257340,3271335,3285360,3299415,3313500,3327615,3341760,3355935,3370140,3384375,3398640,3412935,3427260,3441615,
3456000,3470415,3484860,3499335,3513840,3528375,3542940,3557535,3572160,3586815,3601500,3616215,3630960,3645735,3660540,3675375,3690240,3705135,3720060,3735015,
3750000,3765015,3780060,3795135,3810240,3825375,3840540,3855735,3870960,3886215,3901500,3916815,3932160,3947535,3962940,3978375,3993840,4009335,4024860,4040415,
4056000,4071615,4087260,4102935,4118640,4134375,4150140,4165935,4181760,4197615,4213500,4229415,4245360,4261335,4277340,4293375,4309440,4325535,4341660,4357815,
4374000,4390215,4406460,4422735,4439040,4455375,4471740,4488135,4504560,4521015,4537500,4554015,4570560,4587135,4603740,4620375,4637040,4653735,4670460,4687215,
4704000,4720815,4737660,4754535,4771440,4788375,4805340,4822335,4839360,4856415,4873500,4890615,4907760,4924935,4942140,4959375,4976640,4993935,5011260,5028615,
5046000,5063415,5080860,5098335,5115840,5133375,5150940,5168535,5186160,5203815,5221500,5239215,5256960,5274735,5292540,5310375,5328240,5346135,5364060,5382015,
5400000,5418015,5436060,5454135,5472240,5490375,5508540,5526735,5544960,5563215,5581500,5599815,5618160,5636535,5654940,5673375,5691840,5710335,5728860,5747415,
5766000,5784615,5803260,5821935,5840640,5859375,5878140,5896935,5915760,5934615,5953500,5972415,5991360,6010335,6029340,6048375,6067440,6086535,6105660,6124815,
6144000,6163215,6182460,6201735,6221040,6240375,6259740,6279135,6298560,6318015,6337500,6357015,6376560,6396135,6415740,6435375,6455040,6474735,6494460,6514215,
6534000,6553815,6573660,6593535,6613440,6633375,6653340,6673335,6693360,6713415,6733500,6753615,6773760,6793935,6814140,6834375,6854640,6874935,6895260,6915615,
6936000,6956415,6976860,6997335,7017840,7038375,7058940,7079535,7100160,7120815,7141500,7162215,7182960,7203735,7224540,7245375,7266240,7287135,7308060,7329015,
7350000,7371015,7392060,7413135,7434240,7455375,7476540,7497735,7518960,7540215,7561500,7582815,7604160,7625535,7646940,7668375,7689840,7711335,7732860,7754415,
7776000,7797615,7819260,7840935,7862640,7884375,7906140,7927935,7949760,7971615,7993500,8015415,8037360,8059335,8081340,8103375,8125440,8147535,8169660,8191815,
8214000,8236215,8258460,8280735,8303040,8325375,8347740,8370135,8392560,8415015,8437500,8460015,8482560,8505135,8527740,8550375,8573040,8595735,8618460,8641215,
8664000,8686815,8709660,8732535,8755440,8778375,8801340,8824335,8847360,8870415,8893500,8916615,8939760,8962935,8986140,9009375,9032640,9055935,9079260,9102615,
9126000,9149415,9172860,9196335,9219840,9243375,9266940,9290535,9314160,9337815,9361500,9385215,9408960,9432735,9456540,9480375,9504240,9528135,9552060,9576015,
9600000,9624015,9648060,9672135,9696240,9720375,9744540,9768735,9792960,9817215,9841500,9865815,9890160,9914535,9938940,9963375,9987840,10012335,10036860,10061415,
10086000,10110615,10135260,10159935,10184640,10209375,10234140,10258935,10283760,10308615,10333500,10358415,10383360,10408335,10433340,10458375,10483440,10508535,10533660,10558815,
10584000,10609215,10634460,10659735,10685040,10710375,10735740,10761135,10786560,10812015,10837500,10863015,10888560,10914135,10939740,10965375,10991040,11016735,11042460,11068215,
11094000,11119815,11145660,11171535,11197440,11223375,11249340,11275335,11301360,11327415,11353500,11379615,11405760,11431935,11458140,11484375,11510640,11536935,11563260,11589615,
11616000,11642415,11668860,11695335,11721840,11748375,11774940,11801535,11828160,11854815,11881500,11908215,11934960,11961735,11988540,12015375,12042240,12069135,12096060,12123015,
12150000,12177015,12204060,12231135,12258240,12285375,12312540,12339735,12366960,12394215,12421500,12448815,12476160,12503535,12530940,12558375,12585840,12613335,12640860,12668415,
12696000,12723615,12751260,12778935,12806640,12834375,12862140,12889935,12917760,12945615,12973500,13001415,13029360,13057335,13085340,13113375,13141440,13169535,13197660,13225815,
13254000,13282215,13310460,13338735,13367040,13395375,13423740,13452135,13480560,13509015,13537500,13566015,13594560,13623135,13651740,13680375,13709040,13737735,13766460,13795215,
13824000,13852815,13881660,13910535,13939440,13968375,13997340,14026335,14055360,14084415,14113500,14142615,14171760,14200935,14230140,14259375,14288640,14317935,14347260,14376615,
14406000,14435415,14464860,14494335,14523840,14553375,14582940,14612535,14642160,14671815,14701500,14731215,14760960,14790735,14820540,14850375,14880240,14910135,14940060,14970015,
15000000,15030015,15060060,15090135,15120240,15150375,15180540,15210735,15240960,15271215,15301500,15331815,15362160,15392535,15422940,15453375,15483840,15514335,15544860,15575415,
15606000,15636615,15667260,15697935,15728640,15759375,15790140,15820935,15851760,15882615,15913500,15944415,15975360,16006335,16037340,16068375,16099440,16130535,16161660,16192815,
16224000,16255215,16286460,16317735,16349040,16380375,16411740,16443135,16474560,16506015,16537500,16569015,16600560,16632135,16663740,16695375,16727040,16758735,16790460,16822215,
16854000,16885815,16917660,16949535,16981440,17013375,17045340,17077335,17109360,17141415,17173500,17205615,17237760,17269935,17302140,17334375,17366640,17398935,17431260,17463615,
17496000,17528415,17560860,17593335,17625840,17658375,17690940,17723535,17756160,17788815,17821500,17854215,17886960,17919735,17952540,17985375,18018240,18051135,18084060,18117015,
18150000,18183015,18216060,18249135,18282240,18315375,18348540,18381735,18414960,18448215,18481500,18514815,18548160,18581535,18614940,18648375,18681840,18715335,18748860,18782415,
18816000,18849615,18883260,18916935,18950640,18984375,19018140,19051935,19085760,19119615,19153500,19187415,19221360,19255335,19289340,19323375,19357440,19391535,19425660,19459815,
19494000,19528215,19562460,19596735,19631040,19665375,19699740,19734135,19768560,19803015,19837500,19872015,19906560,19941135,19975740,20010375,20045040,20079735,20114460,20149215,
20184000,20218815,20253660,20288535,20323440,20358375,20393340,20428335,20463360,20498415,20533500,20568615,20603760,20638935,20674140,20709375,20744640,20779935,20815260,20850615,
20886000,20921415,20956860,20992335,21027840,21063375,21098940,21134535,21170160,21205815,21241500,21277215,21312960,21348735,21384540,21420375,21456240,21492135,21528060,21564015,
21600000,21636015,21672060,21708135,21744240,21780375,21816540,21852735,21888960,21925215,21961500,21997815,22034160,22070535,22106940,22143375,22179840,22216335,22252860,22289415,
22326000,22362615,22399260,22435935,22472640,22509375,22546140,22582935,22619760,22656615,22693500,22730415,22767360,22804335,22841340,22878375,22915440,22952535,22989660,23026815,
23064000,23101215,23138460,23175735,23213040,23250375,23287740,23325135,23362560,23400015,23437500,23475015,23512560,23550135,23587740,23625375,23663040,23700735,23738460,23776215,
23814000,23851815,23889660,23927535,23965440,24003375,24041340,24079335,24117360,24155415,24193500,24231615,24269760,24307935,24346140,24384375,24422640,24460935,24499260,24537615,
24576000,24614415,24652860,24691335,24729840,24768375,24806940,24845535,24884160,24922815,24961500,25000215,25038960,25077735,25116540,25155375,25194240,25233135,25272060,25311015,
25350000,25389015,25428060,25467135,25506240,25545375,25584540,25623735,25662960,25702215,25741500,25780815,25820160,25859535,25898940,25938375,25977840,26017335,26056860,26096415,
26136000,26175615,26215260,26254935,26294640,26334375,26374140,26413935,26453760,26493615,26533500,26573415,26613360,26653335,26693340,26733375,26773440,26813535,26853660,26893815,
26934000,26974215,27014460,27054735,27095040,27135375,27175740,27216135,27256560,27297015,27337500,27378015,27418560,27459135,27499740,27540375,27581040,27621735,27662460,27703215,
27744000,27784815,27825660,27866535,27907440,27948375,27989340,28030335,28071360,28112415,28153500,28194615,28235760,28276935,28318140,28359375,28400640,28441935,28483260,28524615,
28566000,28607415,28648860,28690335,28731840,28773375,28814940,28856535,28898160,28939815,28981500,29023215,29064960,29106735,29148540,29190375,29232240,29274135,29316060,29358015,
29400000,29442015,29484060,29526135,29568240,29610375,29652540,29694735,29736960,29779215,29821500,29863815,29906160,29948535,29990940,30033375,30075840,30118335,30160860,30203415,
30246000,30288615,30331260,30373935,30416640,30459375,30502140,30544935,30587760,30630615,30673500,30716415,30759360,30802335,30845340,30888375,30931440,30974535,31017660,31060815,
31104000,31147215,31190460,31233735,31277040,31320375,31363740,31407135,31450560,31494015,31537500,31581015,31624560,31668135,31711740,31755375,31799040,31842735,31886460,31930215,
31974000,32017815,32061660,32105535,32149440,32193375,32237340,32281335,32325360,32369415,32413500,32457615,32501760,32545935,32590140,32634375,32678640,32722935,32767260,32811615,
32856000,32900415,32944860,32989335,33033840,33078375,33122940,33167535,33212160,33256815,33301500,33346215,33390960,33435735,33480540,33525375,33570240,33615135,33660060,33705015,
33750000,33795015,33840060,33885135,33930240,33975375,34020540,34065735,34110960,34156215,34201500,34246815,34292160,34337535,34382940,34428375,34473840,34519335,34564860,34610415,
34656000,34701615,34747260,34792935,34838640,34884375,34930140,34975935,35021760,35067615,35113500,35159415,35205360,35251335,35297340,35343375,35389440,35435535,35481660,35527815,
35574000,35620215,35666460,35712735,35759040,35805375,35851740,35898135,35944560,35991015,36037500,36084015,36130560,36177135,36223740,36270375,36317040,36363735,36410460,36457215,
36504000,36550815,36597660,36644535,36691440,36738375,36785340,36832335,36879360,36926415,36973500,37020615,37067760,37114935,37162140,37209375,37256640,37303935,37351260,37398615,
37446000,37493415,37540860,37588335,37635840,37683375,37730940,37778535,37826160,37873815,37921500,37969215,38016960,38064735,38112540,38160375,38208240,38256135,38304060,38352015,
38400000,38448015,38496060,38544135,38592240,38640375,38688540,38736735,38784960,38833215,38881500,38929815,38978160,39026535,39074940,39123375,39171840,39220335,39268860,39317415,
39366000,39414615,39463260,39511935,39560640,39609375,39658140,39706935,39755760,39804615,39853500,39902415,39951360,40000335,40049340,40098375,40147440,40196535,40245660,40294815,
40344000,40393215,40442460,40491735,40541040,40590375,40639740,40689135,40738560,40788015,40837500,40887015,40936560,40986135,41035740,41085375,41135040,41184735,41234460,41284215,
41334000,41383815,41433660,41483535,41533440,41583375,41633340,41683335,41733360,41783415,41833500,41883615,41933760,41983935,42034140,42084375,42134640,42184935,42235260,42285615,
42336000,42386415,42436860,42487335,42537840,42588375,42638940,42689535,42740160,42790815,42841500,42892215,42942960,42993735,43044540,43095375,43146240,43197135,43248060,43299015,
43350000,43401015,43452060,43503135,43554240,43605375,43656540,43707735,43758960,43810215,43861500,43912815,43964160,44015535,44066940,44118375,44169840,44221335,44272860,44324415,
44376000,44427615,44479260,44530935,44582640,44634375,44686140,44737935,44789760,44841615,44893500,44945415,44997360,45049335,45101340,45153375,45205440,45257535,45309660,45361815,
45414000,45466215,45518460,45570735,45623040,45675375,45727740,45780135,45832560,45885015,45937500,45990015,46042560,46095135,46147740,46200375,46253040,46305735,46358460,46411215,
46464000,46516815,46569660,46622535,46675440,46728375,46781340,46834335,46887360,46940415,46993500,47046615,47099760,47152935,47206140,47259375,47312640,47365935,47419260,47472615,
47526000,47579415,47632860,47686335,47739840,47793375,47846940,47900535,47954160,48007815,48061500,48115215,48168960,48222735,48276540,48330375,48384240,48438135,48492060,48546015,
48600000,48654015,48708060,48762135,48816240,48870375,48924540,48978735,49032960,49087215,49141500,49195815,49250160,49304535,49358940,49413375,49467840,49522335,49576860,49631415,
49686000,49740615,49795260,49849935,49904640,49959375,50014140,50068935,50123760,50178615,50233500,50288415,50343360,50398335,50453340,50508375,50563440,50618535,50673660,50728815,
50784000,50839215,50894460,50949735,51005040,51060375,51115740,51171135,51226560,51282015,51337500,51393015,51448560,51504135,51559740,51615375,51671040,51726735,51782460,51838215,
51894000,51949815,52005660,52061535,52117440,52173375,52229340,52285335,52341360,52397415,52453500,52509615,52565760,52621935,52678140,52734375,52790640,52846935,52903260,52959615,
53016000,53072415,53128860,53185335,53241840,53298375,53354940,53411535,53468160,53524815,53581500,53638215,53694960,53751735,53808540,53865375,53922240,53979135,54036060,54093015,
54150000,54207015,54264060,54321135,54378240,54435375,54492540,54549735,54606960,54664215,54721500,54778815,54836160,54893535,54950940,55008375,55065840,55123335,55180860,55238415,
55296000,55353615,55411260,55468935,55526640,55584375,55642140,55699935,55757760,55815615,55873500,55931415,55989360,56047335,56105340,56163375,56221440,56279535,56337660,56395815,
56454000,56512215,56570460,56628735,56687040,56745375,56803740,56862135,56920560,56979015,57037500,57096015,57154560,57213135,57271740,57330375,57389040,57447735,57506460,57565215,
57624000,57682815,57741660,57800535,57859440,57918375,57977340,58036335,58095360,58154415,58213500,58272615,58331760,58390935,58450140,58509375,58568640,58627935,58687260,58746615,
58806000,58865415,58924860,58984335,59043840,59103375,59162940,59222535,59282160,59341815,59401500,59461215,59520960,59580735,59640540,59700375,59760240,59820135,59880060,59940015,
60000000,60060015,60120060,60180135,60240240,60300375,60360540,60420735,60480960,60541215,60601500,60661815,60722160,60782535,60842940,60903375,60963840,61024335,61084860,61145415,
61206000,61266615,61327260,61387935,61448640,61509375,61570140,61630935,61691760,61752615,61813500,61874415,61935360,61996335,62057340,62118375,62179440,62240535,62301660,62362815,
62424000,62485215,62546460,62607735,62669040,62730375,62791740,62853135,62914560,62976015,63037500,63099015,63160560,63222135,63283740,63345375,63407040,63468735,63530460,63592215,
63654000,63715815,63777660,63839535,63901440,63963375,64025340,64087335,64149360,64211415,64273500,64335615,64397760,64459935,64522140,64584375,64646640,64708935,64771260,64833615,
64896000,64958415,65020860,65083335,65145840,65208375,65270940,65333535,65396160,65458815,65521500,65584215,65646960,65709735,65772540,65835375,65898240,65961135,66024060,66087015,
66150000,66213015,66276060,66339135,66402240,66465375,66528540,66591735,66654960,66718215,66781500,66844815,66908160,66971535,67034940,67098375,67161840,67225335,67288860,67352415,
67416000,67479615,67543260,67606935,67670640,67734375,67798140,67861935,67925760,67989615,68053500,68117415,68181360,68245335,68309340,68373375,68437440,68501535,68565660,68629815,
68694000,68758215,68822460,68886735,68951040,69015375,69079740,69144135,69208560,69273015,69337500,69402015,69466560,69531135,69595740,69660375,69725040,69789735,69854460,69919215,
69984000,70048815,70113660,70178535,70243440,70308375,70373340,70438335,70503360,70568415,70633500,70698615,70763760,70828935,70894140,70959375,71024640,71089935,71155260,71220615,
71286000,71351415,71416860,71482335,71547840,71613375,71678940,71744535,71810160,71875815,71941500,72007215,72072960,72138735,72204540,72270375,72336240,72402135,72468060,72534015,
72600000,72666015,72732060,72798135,72864240,72930375,72996540,73062735,73128960,73195215,73261500,73327815,73394160,73460535,73526940,73593375,73659840,73726335,73792860,73859415,
73926000,73992615,74059260,74125935,74192640,74259375,74326140,74392935,74459760,74526615,74593500,74660415,74727360,74794335,74861340,74928375,74995440,75062535,75129660,75196815,
75264000,75331215,75398460,75465735,75533040,75600375,75667740,75735135,75802560,75870015,75937500,76005015,76072560,76140135,76207740,76275375,76343040,76410735,76478460,76546215,
76614000,76681815,76749660,76817535,76885440,76953375,77021340,77089335,77157360,77225415,77293500,77361615,77429760,77497935,77566140,77634375,77702640,77770935,77839260,77907615,
77976000,78044415,78112860,78181335,78249840,78318375,78386940,78455535,78524160,78592815,78661500,78730215,78798960,78867735,78936540,79005375,79074240,79143135,79212060,79281015,
79350000,79419015,79488060,79557135,79626240,79695375,79764540,79833735,79902960,79972215,80041500,80110815,80180160,80249535,80318940,80388375,80457840,80527335,80596860,80666415,
80736000,80805615,80875260,80944935,81014640,81084375,81154140,81223935,81293760,81363615,81433500,81503415,81573360,81643335,81713340,81783375,81853440,81923535,81993660,82063815,
82134000,82204215,82274460,82344735,82415040,82485375,82555740,82626135,82696560,82767015,82837500,82908015,82978560,83049135,83119740,83190375,83261040,83331735,83402460,83473215,
83544000,83614815,83685660,83756535,83827440,83898375,83969340,84040335,84111360,84182415,84253500,84324615,84395760,84466935,84538140,84609375,84680640,84751935,84823260,84894615,
84966000,85037415,85108860,85180335,85251840,85323375,85394940,85466535,85538160,85609815,85681500,85753215,85824960,85896735,85968540,86040375,86112240,86184135,86256060,86328015,
86400000,86472015,86544060,86616135,86688240,86760375,86832540,86904735,86976960,87049215,87121500,87193815,87266160,87338535,87410940,87483375,87555840,87628335,87700860,87773415,
87846000,87918615,87991260,88063935,88136640,88209375,88282140,88354935,88427760,88500615,88573500,88646415,88719360,88792335,88865340,88938375,89011440,89084535,89157660,89230815,
89304000,89377215,89450460,89523735,89597040,89670375,89743740,89817135,89890560,89964015,90037500,90111015,90184560,90258135,90331740,90405375,90479040,90552735,90626460,90700215,
90774000,90847815,90921660,90995535,91069440,91143375,91217340,91291335,91365360,91439415,91513500,91587615,91661760,91735935,91810140,91884375,91958640,92032935,92107260,92181615,
92256000,92330415,92404860,92479335,92553840,92628375,92702940,92777535,92852160,92926815,93001500,93076215,93150960,93225735,93300540,93375375,93450240,93525135,93600060,93675015,
93750000,93825015,93900060,93975135,94050240,94125375,94200540,94275735,94350960,94426215,94501500,94576815,94652160,94727535,94802940,94878375,94953840,95029335,95104860,95180415,
95256000,95331615,95407260,95482935,95558640,95634375,95710140,95785935,95861760,95937615,96013500,96089415,96165360,96241335,96317340,96393375,96469440,96545535,96621660,96697815,
96774000,96850215,96926460,97002735,97079040,97155375,97231740,97308135,97384560,97461015,97537500,97614015,97690560,97767135,97843740,97920375,97997040,98073735,98150460,98227215,
98304000,98380815,98457660,98534535,98611440,98688375,98765340,98842335,98919360,98996415,99073500,99150615,99227760,99304935,99382140,99459375,99536640,99613935,99691260,99768615,
99846000,99923415,100000860,100078335,100155840,100233375,100310940,100388535,100466160,100543815,100621500,100699215,100776960,100854735,100932540,101010375,101088240,101166135,101244060,101322015,
101400000,101478015,101556060,101634135,101712240,101790375,101868540,101946735,102024960,102103215,102181500,102259815,102338160,102416535,102494940,102573375,102651840,102730335,102808860,102887415,
102966000,103044615,103123260,103201935,103280640,103359375,103438140,103516935,103595760,103674615,103753500,103832415,103911360,103990335,104069340,104148375,104227440,104306535,104385660,104464815,
104544000,104623215,104702460,104781735,104861040,104940375,105019740,105099135,105178560,105258015,105337500,105417015,105496560,105576135,105655740,105735375,105815040,105894735,105974460,106054215,
106134000,106213815,106293660,106373535,106453440,106533375,106613340,106693335,106773360,106853415,106933500,107013615,107093760,107173935,107254140,107334375,107414640,107494935,107575260,107655615,
107736000,107816415,107896860,107977335,108057840,108138375,108218940,108299535,108380160,108460815,108541500,108622215,108702960,108783735,108864540,108945375,109026240,109107135,109188060,109269015,
109350000,109431015,109512060,109593135,109674240,109755375,109836540,109917735,109998960,110080215,110161500,110242815,110324160,110405535,110486940,110568375,110649840,110731335,110812860,110894415,
110976000,111057615,111139260,111220935,111302640,111384375,111466140,111547935,111629760,111711615,111793500,111875415,111957360,112039335,112121340,112203375,112285440,112367535,112449660,112531815,
112614000,112696215,112778460,112860735,112943040,113025375,113107740,113190135,113272560,113355015,113437500,113520015,113602560,113685135,113767740,113850375,113933040,114015735,114098460,114181215,
114264000,114346815,114429660,114512535,114595440,114678375,114761340,114844335,114927360,115010415,115093500,115176615,115259760,115342935,115426140,115509375,115592640,115675935,115759260,115842615,
115926000,116009415,116092860,116176335,116259840,116343375,116426940,116510535,116594160,116677815,116761500,116845215,116928960,117012735,117096540,117180375,117264240,117348135,117432060,117516015,
117600000,117684015,117768060,117852135,117936240,118020375,118104540,118188735,118272960,118357215,118441500,118525815,118610160,118694535,118778940,118863375,118947840,119032335,119116860,119201415,
119286000,119370615,119455260,119539935,119624640,119709375,119794140,119878935,119963760,120048615,120133500,120218415,120303360,120388335,120473340,120558375,120643440,120728535,120813660,120898815,
120984000,121069215,121154460,121239735,121325040,121410375,121495740,121581135,121666560,121752015,121837500,121923015,122008560,122094135,122179740,122265375,122351040,122436735,122522460,122608215,
122694000,122779815,122865660,122951535,123037440,123123375,123209340,123295335,123381360,123467415,123553500,123639615,123725760,123811935,123898140,123984375,124070640,124156935,124243260,124329615,
124416000,124502415,124588860,124675335,124761840,124848375,124934940,125021535,125108160,125194815,125281500,125368215,125454960,125541735,125628540,125715375,125802240,125889135,125976060,126063015,
126150000,126237015,126324060,126411135,126498240,126585375,126672540,126759735,126846960,126934215,127021500,127108815,127196160,127283535,127370940,127458375,127545840,127633335,127720860,127808415,
127896000,127983615,128071260,128158935,128246640,128334375,128422140,128509935,128597760,128685615,128773500,128861415,128949360,129037335,129125340,129213375,129301440,129389535,129477660,129565815,
129654000,129742215,129830460,129918735,130007040,130095375,130183740,130272135,130360560,130449015,130537500,130626015,130714560,130803135,130891740,130980375,131069040,131157735,131246460,131335215,
131424000,131512815,131601660,131690535,131779440,131868375,131957340,132046335,132135360,132224415,132313500,132402615,132491760,132580935,132670140,132759375,132848640,132937935,133027260,133116615,
133206000,133295415,133384860,133474335,133563840,133653375,133742940,133832535,133922160,134011815,134101500,134191215,134280960,134370735,134460540,134550375,134640240,134730135,134820060,134910015,
135000000,135090015,135180060,135270135,135360240,135450375,135540540,135630735,135720960,135811215,135901500,135991815,136082160,136172535,136262940,136353375,136443840,136534335,136624860,136715415,
136806000,136896615,136987260,137077935,137168640,137259375,137350140,137440935,137531760,137622615,137713500,137804415,137895360,137986335,138077340,138168375,138259440,138350535,138441660,138532815,
138624000,138715215,138806460,138897735,138989040,139080375,139171740,139263135,139354560,139446015,139537500,139629015,139720560,139812135,139903740,139995375,140087040,140178735,140270460,140362215,
140454000,140545815,140637660,140729535,140821440,140913375,141005340,141097335,141189360,141281415,141373500,141465615,141557760,141649935,141742140,141834375,141926640,142018935,142111260,142203615,
142296000,142388415,142480860,142573335,142665840,142758375,142850940,142943535,143036160,143128815,143221500,143314215,143406960,143499735,143592540,143685375,143778240,143871135,143964060,144057015,
144150000,144243015,144336060,144429135,144522240,144615375,144708540,144801735,144894960,144988215,145081500,145174815,145268160,145361535,145454940,145548375,145641840,145735335,145828860,145922415,
146016000,146109615,146203260,146296935,146390640,146484375,146578140,146671935,146765760,146859615,146953500,147047415,147141360,147235335,147329340,147423375,147517440,147611535,147705660,147799815,
147894000,147988215,148082460,148176735,148271040,148365375,148459740,148554135,148648560,148743015,148837500,148932015,149026560,149121135,149215740,149310375,149405040,149499735,149594460,149689215,
149784000,149878815,149973660,150068535,150163440,150258375,150353340,150448335,150543360,150638415,150733500,150828615,150923760,151018935,151114140,151209375,151304640,151399935,151495260,151590615,
151686000,151781415,151876860,151972335,152067840,152163375,152258940,152354535,152450160,152545815,152641500,152737215,152832960,152928735,153024540,153120375,153216240,153312135,153408060,153504015,
153600000,153696015,153792060,153888135,153984240,154080375,154176540,154272735,154368960,154465215,154561500,154657815,154754160,154850535,154946940,155043375,155139840,155236335,155332860,155429415,
155526000,155622615,155719260,155815935,155912640,156009375,156106140,156202935,156299760,156396615,156493500,156590415,156687360,156784335,156881340,156978375,157075440,157172535,157269660,157366815,
157464000,157561215,157658460,157755735,157853040,157950375,158047740,158145135,158242560,158340015,158437500,158535015,158632560,158730135,158827740,158925375,159023040,159120735,159218460,159316215,
159414000,159511815,159609660,159707535,159805440,159903375,160001340,160099335,160197360,160295415,160393500,160491615,160589760,160687935,160786140,160884375,160982640,161080935,161179260,161277615,
161376000,161474415,161572860,161671335,161769840,161868375,161966940,162065535,162164160,162262815,162361500,162460215,162558960,162657735,162756540,162855375,162954240,163053135,163152060,163251015,
163350000,163449015,163548060,163647135,163746240,163845375,163944540,164043735,164142960,164242215,164341500,164440815,164540160,164639535,164738940,164838375,164937840,165037335,165136860,165236415,
165336000,165435615,165535260,165634935,165734640,165834375,165934140,166033935,166133760,166233615,166333500,166433415,166533360,166633335,166733340,166833375,166933440,167033535,167133660,167233815,
167334000,167434215,167534460,167634735,167735040,167835375,167935740,168036135,168136560,168237015,168337500,168438015,168538560,168639135,168739740,168840375,168941040,169041735,169142460,169243215,
169344000,169444815,169545660,169646535,169747440,169848375,169949340,170050335,170151360,170252415,170353500,170454615,170555760,170656935,170758140,170859375,170960640,171061935,171163260,171264615,
171366000,171467415,171568860,171670335,171771840,171873375,171974940,172076535,172178160,172279815,172381500,172483215,172584960,172686735,172788540,172890375,172992240,173094135,173196060,173298015,
173400000,173502015,173604060,173706135,173808240,173910375,174012540,174114735,174216960,174319215,174421500,174523815,174626160,174728535,174830940,174933375,175035840,175138335,175240860,175343415,
175446000,175548615,175651260,175753935,175856640,175959375,176062140,176164935,176267760,176370615,176473500,176576415,176679360,176782335,176885340,176988375,177091440,177194535,177297660,177400815,
177504000,177607215,177710460,177813735,177917040,178020375,178123740,178227135,178330560,178434015,178537500,178641015,178744560,178848135,178951740,179055375,179159040,179262735,179366460,179470215,
179574000,179677815,179781660,179885535,179989440,180093375,180197340,180301335,180405360,180509415,180613500,180717615,180821760,180925935,181030140,181134375,181238640,181342935,181447260,181551615,
181656000,181760415,181864860,181969335,182073840,182178375,182282940,182387535,182492160,182596815,182701500,182806215,182910960,183015735,183120540,183225375,183330240,183435135,183540060,183645015,
183750000,183855015,183960060,184065135,184170240,184275375,184380540,184485735,184590960,184696215,184801500,184906815,185012160,185117535,185222940,185328375,185433840,185539335,185644860,185750415,
185856000,185961615,186067260,186172935,186278640,186384375,186490140,186595935,186701760,186807615,186913500,187019415,187125360,187231335,187337340,187443375,187549440,187655535,187761660,187867815,
187974000,188080215,188186460,188292735,188399040,188505375,188611740,188718135,188824560,188931015,189037500,189144015,189250560,189357135,189463740,189570375,189677040,189783735,189890460,189997215,
190104000,190210815,190317660,190424535,190531440,190638375,190745340,190852335,190959360,191066415,191173500,191280615,191387760,191494935,191602140,191709375,191816640,191923935,192031260,192138615,
192246000,192353415,192460860,192568335,192675840,192783375,192890940,192998535,193106160,193213815,193321500,193429215,193536960,193644735,193752540,193860375,193968240,194076135,194184060,194292015,
194400000,194508015,194616060,194724135,194832240,194940375,195048540,195156735,195264960,195373215,195481500,195589815,195698160,195806535,195914940,196023375,196131840,196240335,196348860,196457415,
196566000,196674615,196783260,196891935,197000640,197109375,197218140,197326935,197435760,197544615,197653500,197762415,197871360,197980335,198089340,198198375,198307440,198416535,198525660,198634815,
198744000,198853215,198962460,199071735,199181040,199290375,199399740,199509135,199618560,199728015,199837500,199947015,200056560,200166135,200275740,200385375,200495040,200604735,200714460,200824215,
200934000,201043815,201153660,201263535,201373440,201483375,201593340,201703335,201813360,201923415,202033500,202143615,202253760,202363935,202474140,202584375,202694640,202804935,202915260,203025615,
203136000,203246415,203356860,203467335,203577840,203688375,203798940,203909535,204020160,204130815,204241500,204352215,204462960,204573735,204684540,204795375,204906240,205017135,205128060,205239015,
205350000,205461015,205572060,205683135,205794240,205905375,206016540,206127735,206238960,206350215,206461500,206572815,206684160,206795535,206906940,207018375,207129840,207241335,207352860,207464415,
207576000,207687615,207799260,207910935,208022640,208134375,208246140,208357935,208469760,208581615,208693500,208805415,208917360,209029335,209141340,209253375,209365440,209477535,209589660,209701815,
209814000,209926215,210038460,210150735,210263040,210375375,210487740,210600135,210712560,210825015,210937500,211050015,211162560,211275135,211387740,211500375,211613040,211725735,211838460,211951215,
212064000,212176815,212289660,212402535,212515440,212628375,212741340,212854335,212967360,213080415,213193500,213306615,213419760,213532935,213646140,213759375,213872640,213985935,214099260,214212615,
214326000,214439415,214552860,214666335,214779840,214893375,215006940,215120535,215234160,215347815,215461500,215575215,215688960,215802735,215916540,216030375,216144240,216258135,216372060,216486015,
216600000,216714015,216828060,216942135,217056240,217170375,217284540,217398735,217512960,217627215,217741500,217855815,217970160,218084535,218198940,218313375,218427840,218542335,218656860,218771415,
218886000,219000615,219115260,219229935,219344640,219459375,219574140,219688935,219803760,219918615,220033500,220148415,220263360,220378335,220493340,220608375,220723440,220838535,220953660,221068815,
221184000,221299215,221414460,221529735,221645040,221760375,221875740,221991135,222106560,222222015,222337500,222453015,222568560,222684135,222799740,222915375,223031040,223146735,223262460,223378215,
223494000,223609815,223725660,223841535,223957440,224073375,224189340,224305335,224421360,224537415,224653500,224769615,224885760,225001935,225118140,225234375,225350640,225466935,225583260,225699615,
225816000,225932415,226048860,226165335,226281840,226398375,226514940,226631535,226748160,226864815,226981500,227098215,227214960,227331735,227448540,227565375,227682240,227799135,227916060,228033015,
228150000,228267015,228384060,228501135,228618240,228735375,228852540,228969735,229086960,229204215,229321500,229438815,229556160,229673535,229790940,229908375,230025840,230143335,230260860,230378415,
230496000,230613615,230731260,230848935,230966640,231084375,231202140,231319935,231437760,231555615,231673500,231791415,231909360,232027335,232145340,232263375,232381440,232499535,232617660,232735815,
232854000,232972215,233090460,233208735,233327040,233445375,233563740,233682135,233800560,233919015,234037500,234156015,234274560,234393135,234511740,234630375,234749040,234867735,234986460,235105215,
235224000,235342815,235461660,235580535,235699440,235818375,235937340,236056335,236175360,236294415,236413500,236532615,236651760,236770935,236890140,237009375,237128640,237247935,237367260,237486615,
237606000,237725415,237844860,237964335,238083840,238203375,238322940,238442535,238562160,238681815,238801500,238921215,239040960,239160735,239280540,239400375,239520240,239640135,239760060,239880015,
240000000,1073741824 };

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ą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;

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("say /sklep", "Sklep"); 
    register_clcmd("fullupdate", "BlokujKomende");
    
    register_clcmd("cl_autobuy", "BlokujKomende");
    register_clcmd("say /molotov", "BlokujKomende");
    register_clcmd("say molotov", "BlokujKomende");
    register_clcmd("cl_rebuy", "BlokujKomende");
    register_clcmd("cl_setautobuy","BlokujKomende");
    register_clcmd("rebuy", "BlokujKomende");
    register_clcmd("autobuy", "BlokujKomende");
    register_clcmd("glock", "BlokujKomende");
    register_clcmd("usp", "BlokujKomende");
    register_clcmd("p228", "BlokujKomende");
    register_clcmd("deagle", "BlokujKomende");
    register_clcmd("elites", "BlokujKomende");
    register_clcmd("fn57", "BlokujKomende");
    register_clcmd("m3", "BlokujKomende");
    register_clcmd("XM1014", "BlokujKomende");
    register_clcmd("mac10", "BlokujKomende");
    register_clcmd("tmp", "BlokujKomende");
    register_clcmd("mp5", "BlokujKomende");
    register_clcmd("ump45", "BlokujKomende");
    register_clcmd("p90", "BlokujKomende");
    register_clcmd("galil", "BlokujKomende");
    register_clcmd("ak47", "BlokujKomende");
    register_clcmd("scout", "BlokujKomende");
    register_clcmd("sg552", "BlokujKomende");
    register_clcmd("awp", "BlokujKomende");
    register_clcmd("g3sg1", "BlokujKomende");
    register_clcmd("famas", "BlokujKomende");
    register_clcmd("m4a1", "BlokujKomende");
    register_clcmd("bullpup", "BlokujKomende");
    register_clcmd("sg550", "BlokujKomende");
    register_clcmd("m249", "BlokujKomende");
    register_clcmd("shield", "BlokujKomende");
    register_clcmd("hegren", "BlokujKomende");
    register_clcmd("sgren", "BlokujKomende");
    register_clcmd("flash", "BlokujKomende");
    register_clcmd("defuser", "autobuy");


    //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");
    doswiadczenie_za_kase = 100;
    doswiadczenie_za_kasez = 300;
    doswiadczenie_za_totek = 200;
    doswiadczenie_za_fail = 1;
    
    set_task(30.0, "Pomoc");
}
public Sklep(id)
{
        new menu = menu_create("Sklepik:", "Sklep_Handle");
        menu_additem(menu, "Ketonal \r[Leczy 20 HP] \yKoszt: \r1500$");
        menu_additem(menu, "Flegamina \r[Leczy 50 HP] \yKoszt: \r3000$");
        menu_additem(menu, "Aspirina \r[Leczy 100 HP] \yKoszt: \r5000$");
        menu_additem(menu, "RedBull \r[Wysoki Skok + Szybkie Chodzenie] \yKoszt: \r2000$");
        menu_additem(menu, "Lotto \r[Totek] \yKoszt: \r2000$");
        menu_additem(menu, "Doswiadczenie \r[Dodaje 100 EXP] \yKoszt: \r5000$");
        menu_additem(menu, "Super Doswiadczenie \r[Dodaje 300 EXP] \yKoszt: \r10000$");
        menu_display(id, menu);
}

public Sklep_Handle(id, menu, item) 
{
    client_cmd(id, "spk QTM_CodMod/select");
    
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_CONTINUE;
    }
        menu_display(id, menu);
        new kasa_gracza = cs_get_user_money(id);
        new hp = get_user_health(id);
        switch(item) 
        { 
                case 0:
                {
                        new koszt = 1500;
                        if (kasa_gracza<koszt)
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
                                return PLUGIN_CONTINUE;
                        }
                        if(hp >= maksymalne_zdrowie_gracza[id])
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Jestes w pelni uleczony.");
                                return PLUGIN_CONTINUE;
                        }
                        cs_set_user_money(id, kasa_gracza-koszt);
                        new ammount=20;
                        new nowe_zdrowie = (hp+ammount<maksymalne_zdrowie_gracza[id])? hp+ammount: maksymalne_zdrowie_gracza[id];
                        set_user_health(id, nowe_zdrowie);
                        ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 Ketonal");
    }
                case 1:
                {
                        new koszt = 3000;
                        if (kasa_gracza<koszt)
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
                                return PLUGIN_CONTINUE;
                        }
                        if(hp >= maksymalne_zdrowie_gracza[id])
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Jestes w pelni uleczony.");
                                return PLUGIN_CONTINUE;
                        }
                        cs_set_user_money(id, kasa_gracza-koszt);
                        new ammount=50;
                        new nowe_zdrowie = (hp+ammount<maksymalne_zdrowie_gracza[id])? hp+ammount: maksymalne_zdrowie_gracza[id];
                        set_user_health(id, nowe_zdrowie);
                        ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 Flegamine");
    }
                case 2:
                {
                        new koszt = 5000;
                        if (kasa_gracza<koszt)
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
                                return PLUGIN_CONTINUE;
                        }
                        if(hp >= maksymalne_zdrowie_gracza[id])
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Jestes w pelni uleczony.");
                                return PLUGIN_CONTINUE;
                        }
                        cs_set_user_money(id, kasa_gracza-koszt);
                        new ammount=100;
                        new nowe_zdrowie = (hp+ammount<maksymalne_zdrowie_gracza[id])? hp+ammount: maksymalne_zdrowie_gracza[id];
                        set_user_health(id, nowe_zdrowie);
                        ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 Aspirine");
    }
                case 3:
                {
                        new koszt = 2000;
                        if (kasa_gracza<koszt)
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
                                return PLUGIN_CONTINUE;
                        }
                        cs_set_user_money(id, kasa_gracza-koszt);
                        set_user_gravity(id,get_user_gravity(id) - 0.3);
                        set_user_maxspeed(id,get_user_maxspeed(id) + 10.0);
                        ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 RedBulla");
    }
                case 4:
                {
                      new kasa = cs_get_user_money(id)
                        new koszt = 2000;
                        if (kasa_gracza<koszt)
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
                                return PLUGIN_CONTINUE;
                        }
                        cs_set_user_money(id, kasa_gracza-koszt);
                        ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles kupon Totolotka");
                        ColorChat(id,GREEN,"[SKLEP]^x01 Trwa losowanie...");
    new rand = random_num(0,15);
    switch(rand) 
    {
        case 0:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Wygrales^x03 10$^x01 !")
            cs_set_user_money(id, kasa + 10)
        }
        case 1:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Wygrales^x03 Redbulla^x01 !")
                  set_user_gravity(id,get_user_gravity(id) - 0.3);
                  set_user_maxspeed(id,get_user_maxspeed(id) + 10.0);
        }
        case 2:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Niestety nic nie wygrales !")
        }
        case 3:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Wygrales^x03 300$^x01 !")
            cs_set_user_money(id, kasa + 300)
        }
        case 4:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Wygrales^x03 1000$^x01 !")
            cs_set_user_money(id, kasa + 1000)
        }
        case 5:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Niestety nic nie wygrales !")
        }
        case 6:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Niestety nic nie wygrales !")
        }
        case 7:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Przegrales^x03 Wszystko^x01 !")
            cs_set_user_money(id, kasa - kasa_gracza)
        }
        case 8:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Niestety nic nie wygrales !")
        }
        case 9:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Wygrales^x03 300 EXP^x01 !")
                  doswiadczenie_gracza[id] += doswiadczenie_za_kase;

        }
        case 10:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Wygrales 200 EXP^x01 !")
                  doswiadczenie_gracza[id] += doswiadczenie_za_totek;
        }
        case 11:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Niestety nic nie wygrales !")
        }
        case 12:
        {
            ColorChat(id,GREEN,"[SKLEP]^x01 Wygrales^x03 1 EXP^x01 !")
                  doswiadczenie_gracza[id] += doswiadczenie_za_fail;
        }
    }
    SprawdzPoziom(id);
    return PLUGIN_CONTINUE;
}
                case 5:
                {
                        new koszt = 5000;
                        if (kasa_gracza<koszt)
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
                                return PLUGIN_CONTINUE;
                        }
                        cs_set_user_money(id, kasa_gracza-koszt);
              doswiadczenie_gracza[id] += doswiadczenie_za_kase;
                        ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 Doswiadczenie");
            SprawdzPoziom(id);
    }
                case 6:
                {
                        new koszt = 10000;
                        if (kasa_gracza<koszt)
                        {
                                ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
                                return PLUGIN_CONTINUE;
                        }
                        cs_set_user_money(id, kasa_gracza-koszt);
              doswiadczenie_gracza[id] += doswiadczenie_za_kasez;
                        ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 Super Doswiadczenie");
            SprawdzPoziom(id);
             }
    }
     return PLUGIN_CONTINUE;
} 

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)
{
    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 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_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;
}

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 na serwerze Call of Duty stworzonym przez Pudziana.");
}

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;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/




SKOMPILUJE KTOŚ?? PROSZE
Offline kris2925 jest nieaktywny
Odpowiedź z cytatem
Odpowiedz

Zwiększ popularność tego tematu dodając go na:

Tagi
.amxx , .sma , kompilacja , pluginow , [amxx]

Narzędzia wątku
Wygląd

Zasady postowania
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

BB Code jest Wł.
EmotikonyWł.
[IMG] kod jest Wł.
HTML kod jest Wył.
Trackbacks are Wył.
Pingbacks are Wył.
Refbacks are Wył.


Podobne wątki
Temat Autor wątku Forum Odpowiedzi Ostatni post / autor
Odp: Duchy.amxx / Ghost.amxx / Przenikanie.amxx W Czoko Jest Spoko Archiwum 0 26-12-09 11:47
Odp: Duchy.amxx / Ghost.amxx / Przenikanie.amxx W Czoko Jest Spoko Archiwum 0 26-12-09 00:29
Duchy.amxx / Ghost.amxx / Przenikanie.amxx W Czoko Jest Spoko Problemy i pytania 0 25-12-09 19:41
Odp: Edycja pluginów / Program do edytowania pluginów AMXX / AMXMODX golo1920 Archiwum 0 15-11-09 10:13
Edycja pluginów / Program do edytowania pluginów AMXX / AMXMODX Młody~ Problemy i pytania 17 30-06-09 17:38



Najczesciej szukane frazy
Chmura zapytan
amx_ss amxbans battlefield 1942 download bot na puszki boty do cs 1.6 download call of duty 2 download call of duty 4 download cd key do sims 3 cd key do the sims 3 cd key sims 3 cd key the sims 3 config cs config do cs 1.6 counter strike 1.6 do pobrania counter strike 1.6 download counter strike 1.6 download non steam counter strike 1.6 non steam counter strike 1.6 non steam download counter strike 1.6 non steam pobierz counter strike 1.6 pobierz counter strike do pobrania counter strike non steam download counter strike source counter strike source download counter strike source non steam counter strike source non steam download cs cs 1.6 do pobrania cs 1.6 download cs 1.6 download non steam cs 1.6 non steam cs 1.6 non steam download cs 1.6 non steam pobierz cs 1.6 ns download cs 1.6 pobierz cs 1.6 portable cs do pobrania cs forum cs non steam cs non steam download cs patch v32 cs pobierz cs portable cs portable download cs serwery cs source cs source download cs source non steam cs source non steam download cs1.6 non steam download css download darmowe gry steam deathrun deluxe ski jump 2.1 pełna wersja diablo 2 download diablo mod diablo mod cs 1.6 diablomod dodatki do cs dodatki do cs 1.6 download cs 1.6 non steam dsj 2.1 pełna wersja fajny nick fifa 10 download filmy online bez limitu forum cs gamma control gothic 3 download gry java 240x320 gry na telefon download gta 3 pobierz gta 4 do pobrania gta 4 download gta 4 spolszczenie gta iv spolszczenie gta sa download gta san andreas do pobrania gta san andreas download gta san andreas pobierz hard truck download heroes 3 download jak ogladac filmy bez limitu jak zwiekszyc fps klucz do microsoft office 2007 klucz do office 2007 klucz do sims 3 kody do cs kody do cs 1.6 kody do pinball kody do pinballa komendy amx komendy rcon left 4 dead download mapy cs mapy do cs mapy do cs 1.6 mapy do cs 1.6 download microsoft office 2007 klucz milionerzy na telefon modele hltv nfs most wanted download no recoil non steam download numer seryjny do far cry 2 office 2007 klucz patch v32 download pluginy pluginy amx pluginy amxx pobierz cs pobierz cs 1.6 pobierz cs 1.6 non steam pobierz gta san andreas pokemon download rcon komendy roundsound servery cs serwery cs serwery cs 1.6 serwery cs 1.6 non steam serwery diablo mod serwery do cs serwery do cs 1.6 serwery ventrilo sims 1 download sims 2 download sims 2 pobierz sims 3 cd key sims 3 download ski jump 2.1 pełna wersja skoki narciarskie 2006 download skrypt na bh skrypty cs skrypty do cs snikers snikers download spolszczenie do gta 4 spolszczenie gta 4 spyware doctor licencja steam validation rejected swat 4 download test drive unlimited download the sims 1 do pobrania the sims 1 download the sims 1 pobierz the sims 2 download the sims 2 pobierz the sims 3 cd key the sims 3 download twierdza download twierdza krzyżowiec download usdownloader ventrilo 2.1.4 ventrilo 2.1.4 download ventrilo 2.1.4 pobierz vt 2.1.4 www.odsiebie.com zbot zbot download zombie mod cs 1.6


Translations made by vBET Translator 3.3.3
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.3.0
Copyright © 2008-2009 CSCenter.PL
Wszelkie prawa zastrzeżone. Kopiowanie treści forum bez zgody administracji zabronione.
serwery gier


TOP50 Gry
Automatyczne tłumaczenia (Powered by Powered by Google):