Witam!
Dzisiaj przerobiłem Cod mod na Starwars Mod. Nie wiem tylko jak zrobić, aby Dżedaj byli niewidzialni. Nie wiem również, jak zrobić aby Dżedaj i Sithi mieli tylko noże, a nie pistolety czy inne bronie.

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

#define MODELE 1


#define PLUGIN "Starwars mod"
#define VERSION "1.0 Beta"
#define AUTHOR "P[t]R & Nokaut"

#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

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;

#if !defined MODELE
new Ubrania_CT[4][]={"sas","gsg9","urban","gign"};
new 
Ubrania_Terro[4][]={"arctic","leet","guerilla","terror"};
#endif

new const maxAmmo[31]={0,52,0,90,1,32,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,32,90,120,90,2,35,90,90,0,100};
new const 
maxClip[31] = { -113, -110,  1,  7,  1,  3030,  1,  30,  20,  25303525,  12,  20
10,  30100,  830,  3020,  2,  73030, -1,  50 };

new 
informacje_przedmiotu_gracza[33][2];
new const 
nazwy_przedmiotow[][] = {"Brak"
    
"Buty Jody"//1
    
"Podwojna Kamizelka"//2
    
"Wzmocniona Kamizelka"//3
    
"Weteran Noza"//4
    
"Zaskoczenie Wroga"//5
    
"Plaszcz Lorda Weidera"//6 
    
"Morfina"//7
    
"Noz Obiłana"//8
    
"Podrecznik Skywalkera"//9
    
"Tajemnica Skywalkera"//10
    
"Notatki Dżedaj"//11
    
"Tajemnica Klonow"//12
    
"AWP Sniper",//13
    
"Adrenalina",//14
    
"Tajemnica Lorda Weidera",//15
    
"Wyszkolenie Sanitarne",//16
    
"Kamizelka Jody",//17
    
"Wytrenowany Wojskowy",//18
    
"Apteczka",//19
    
"Eliminator Rozrzutu",//20
    
"Tytanowe Naboje",//21
    
"Naboje Klonow",//22
    
"Ogranicznik Rozrzutu",//23
    
"Tarcza Dżedaj"//24
};

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

new 
nazwa_gracza[33][64];
new 
klasa_gracza[33];
new 
poziom_gracza[33] = 1;
new 
doswiadczenie_gracza[33];

new 
nowa_klasa_gracza[33];

new const 
doswiadczenie_poziomu[] = {0,35,140,315,560,875,1260,1715,2240,2835,3500,4235,5040,5915,6860,7875,8960,10115,11340,12635,14000,15435,16940,18515,20160,21875,23660,25515,27440,29435,31500,33635,35840,38115,40460,42875,45360,47915,50540,53235,56000,58835,61740,64715,67760,70875,
74060,77315,80640,84035,87500,91035,94640,98315,102060,105875,109760,113715,117740,121835,126000,130235,134540,138915,143360,147875,152460,157115,161840,166635,171500,176435,181440,186515,191660,196875,202160,207515,212940,218435,224000,229635,235340,241115,246960,252875,258860,
264915,271040,277235,283500,289835,296240,302715,309260,315875,322560,329315,336140,343035,350000,357035,364140,371315,378560,385875,393260,400715,408240,415835,423500,431235,439040,446915,454860,462875,470960,479115,487340,495635,504000,512435,520940,529515,538160,546875,555660,564515,573440,
582435,591500,600635,609840,619115,628460,637875,647360,656915,666540,676235,686000,695835,705740,715715,725760,735875,746060,756315,766640,777035,787500,798035,808640,819315,830060,840875,851760,862715,873740,884835,896000,907235,918540,929915,941360,952875,964460,976115,987840,999635,1011500,1023435,1035440,
1047515,1059660,1071875,1084160,1096515,1108940,1121435,1134000,1146635,1159340,1172115,1184960,1197875,1210860,1223915,1237040,1250235,1263500,1276835,1290240,1303715,1317260,1330875,1344560,1358315,1372140,1386035,1400000};

new 
punkty_gracza[33];
new 
zdrowie_gracza[33];
new 
inteligencja_gracza[33];
new 
wytrzymalosc_gracza[33];
new 
Float:redukcja_obrazen_gracza[33];
new 
kondycja_gracza[33];
new 
maksymalne_zdrowie_gracza[33];
new 
Float:szybkosc_gracza[33];

new 
bool:gracz_resetuje[33];

enum NONE 0DzedajKlonySithi };
new const 
zdrowie_klasy[] = { 015070200};
new const 
Float:szybkosc_klasy[] = {0.01.21.01.1};
new const 
pancerz_klasy[] = { 015070200};
new const 
nazwy_klas[][] = {"Brak",
    
"Dzedaj",
    
"Klony",
    
"Sithi"
};

new const 
opisy_klas[][] = {"Brak",
    
"Dostaje Miecz Swietlny, 150hp bazowe, 1/3 szansy natychmiastowego zabicia noza, 120% biegu, 150 pancerza",
    
"Dostaje Ak i M4, 70hp bazowe, Natychmiastowe zabicie z noza, 100% biegu, 70 pancerza",
    
"Dostaje Miecz Swietlny, 2000hp bazowe, 110% biegu, 2000 pancerza",
};

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(PLUGINVERSIONAUTHOR);
    
    
g_vault nvault_open("CodMod");
    
    
register_think("Healing_Totem","HealingTotemThink");
    
    
RegisterHam(Ham_TakeDamage"player""TakeDamage");
    
RegisterHam(Ham_Spawn"player""Odrodzenie"1);
    
RegisterHam(Ham_Touch"armoury_entity""TouchWeapon");
    
RegisterHam(Ham_Touch"weapon_shield""TouchWeapon");
    
RegisterHam(Ham_Touch"weaponbox""TouchWeapon");
    
    
register_logevent("PoczatekRundy"2"1=Round_Start"); 
    
register_logevent("BombaPodlozona"3"2=Planted_The_Bomb");
    
    
register_event("SendAudio""BombaRozbrojona""a""2&%!MRAD_BOMBDEF");
    
register_event("BarTime""RozbrajaBombe""be""1=10""1=5");
    
register_event("DeathMsg""Death""ade");
    
register_event("Damage""Damage""b""2!=0");
    
register_event("CurWeapon","CurWeapon","be""1=1");
    
register_event("HLTV""NowaRunda""a""1=0""2=0");
    
    
register_touch("rocket""*" "DotykRakiety");
    
register_touch("Mine""player",  "DotykMiny");
    
    
register_cvar("cod_killxp""10");
    
register_cvar("cod_bombxp""100");
    
    
register_clcmd("say /klasa""WybierzKlase");
    
register_clcmd("say /klasy""OpisKlasy");
    
register_clcmd("say /przedmiot""OpisPrzedmiotu");
    
register_clcmd("say /item""OpisPrzedmiotu");
    
register_clcmd("say /drop""WyrzucPrzedmiot");
    
register_clcmd("say /wyrzuc""WyrzucPrzedmiot");
    
register_clcmd("say /reset""KomendaResetujPunkty");
    
register_clcmd("fullupdate""BlokujKomende");
    
    
register_clcmd("cl_autobuy""BlokujKomende");
    
register_clcmd("cl_rebuy""BlokujKomende");
    
register_clcmd("rebuy""BlokujKomende");
    
register_clcmd("autobuy""BlokujKomende");
    
register_clcmd("glock""BlokujKomende");
    
register_clcmd("usp""BlokujKomende");
    
register_clcmd("p228""BlokujKomende");
    
register_clcmd("deagle""BlokujKomende");
    
register_clcmd("elites""BlokujKomende");
    
register_clcmd("fn57""BlokujKomende");
    
register_clcmd("m3""BlokujKomende");
    
register_clcmd("autoshotgun""BlokujKomende");
    
register_clcmd("mac10""BlokujKomende");
    
register_clcmd("tmp""BlokujKomende");
    
register_clcmd("mp5""BlokujKomende");
    
register_clcmd("ump45""BlokujKomende");
    
register_clcmd("p90""BlokujKomende");
    
register_clcmd("galil""BlokujKomende");
    
register_clcmd("ak47""BlokujKomende");
    
register_clcmd("scout""BlokujKomende");
    
register_clcmd("sg552""BlokujKomende");
    
register_clcmd("awp""BlokujKomende");
    
register_clcmd("g3sg1""BlokujKomende");
    
register_clcmd("famas""BlokujKomende");
    
register_clcmd("m4a1""BlokujKomende");
    
register_clcmd("bullpup""BlokujKomende");
    
register_clcmd("sg550""BlokujKomende");
    
register_clcmd("m249""BlokujKomende");
    
register_clcmd("shield""BlokujKomende");
    
register_clcmd("hegren""BlokujKomende");
    
register_clcmd("sgren""BlokujKomende");
    
register_clcmd("flash""BlokujKomende");

    
//register_concmd("cod_setlvl", "cmd_setlvl", ADMIN_KICK, "<name> <level>");

    
g_msg_screenfade get_user_msgid("ScreenFade");
    
SyncHudObj CreateHudSyncObj();
    
SyncHudObj2 CreateHudSyncObj();
    
SyncHudObj3 CreateHudSyncObj();
    
doswiadczenia_za_zabojstwo get_cvar_num("cod_killxp");
    
doswiadczenie_za_bombe get_cvar_num("cod_bombxp");
    
    
set_task(30.0"Pomoc");
}

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");
#if defined MODELE
    
precache_model("models/player/cod_ct/cod_ct.mdl");
    
precache_model("models/player/cod_terro/cod_terro.mdl");
    
precache_model("models/player/cod_terro/cod_terroT.mdl");
#endif
}

public 
client_PreThink(id)
{
    new 
button get_user_button(id);
    new 
oldbutton get_user_oldbutton(id);
    
    if(
button IN_USE && !(oldbutton IN_USE))
        
Uzyj(id);

    if((
informacje_przedmiotu_gracza[id][0] == 11 || klasa_gracza[id] == Rambo) && is_user_alive(id))
    {
        if((
button IN_JUMP) && !(get_entity_flags(id) & 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((
button IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
        {    
            
ilosc_skokow_gracza[id] = 0;
            if(
informacje_przedmiotu_gracza[id][0] == 11)
                
ilosc_skokow_gracza[id]++;
            if(
klasa_gracza[id] == Rambo)
                
ilosc_skokow_gracza[id]++;
        }
    }


    if(
button IN_ATTACK)
    {
        new 
Float:punchangle[3];
        
        if(
informacje_przedmiotu_gracza[id][0] == 20)
            
entity_set_vector(idEV_VEC_punchanglepunchangle);
        if(
informacje_przedmiotu_gracza[id][0] == 23)
        {
            
entity_get_vector(idEV_VEC_punchanglepunchangle);
            
punchangle[0]*=0.9;
            
punchangle[1]*=0.9;
            
punchangle[2]*=0.9;
            
entity_set_vector(idEV_VEC_punchanglepunchangle);
        }
    }
}

public 
Odrodzenie(id)
{
    if(!
is_user_alive(id) || !is_user_connected(id))
        return 
PLUGIN_CONTINUE;
    
    new 
team get_user_team(id);
    
#if defined MODELE
    
switch(team)
    {
        case 
1cs_set_user_model(id"cod_terro");
        case 
2cs_set_user_model(id"cod_ct");
    }
#endif
    
    
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(
team)
        {
            case 
1give_item(id"weapon_glock18");
            case 
2give_item(id"weapon_usp");
        }
        
WczytajDane(id);
    }
        
    if(!
klasa_gracza[id])
    {
        
WybierzKlase(id);
        return 
PLUGIN_CONTINUE;
    }
        
    switch(
klasa_gracza[id])
    {
        case 
Dzedaj:
        {
            
give_item(id"weapon_knife");
        }
        case 
Klony:
        {
            
give_item(id"weapon_ak47");
            
give_item(id"weapon_m4a1");
        }
        case 
Sithi:
        {
            
give_item(id"weapon_knife");
        }
    }
        
    if(
gracz_resetuje[id])
    {
        
ResetujPunkty(id);
        
gracz_resetuje[id] = false;
    }

    if(
punkty_gracza[id]>0)
        
PrzydzielPunkty(id);
            
    if(
informacje_przedmiotu_gracza[id][0] == 10 || informacje_przedmiotu_gracza[id][0] == 9)
        
give_item(id"weapon_hegrenade");
            
    if(
informacje_przedmiotu_gracza[id][0] == 9)
        
ZmienUbranie(id0);
            
    if(
informacje_przedmiotu_gracza[id][0] == 1)
        
set_user_footsteps(id1);
    else
        
set_user_footsteps(id0);
        
    if(
informacje_przedmiotu_gracza[id][0] == 13)
        
give_item(id"weapon_awp");
    if(
informacje_przedmiotu_gracza[id][0] == 19)
        
informacje_przedmiotu_gracza[id][1] = 1;
            
    new 
weapons[32];
    new 
weaponsnum;
    
get_user_weapons(idweaponsweaponsnum);
    for(new 
i=0i<weaponsnumi++)
        if(
is_user_alive(id))
            if(
weapons[i] != 29)
                
cs_set_user_bpammo(idweapons[i], maxAmmo[weapons[i]]);
        
    
ilosc_apteczek_gracza[id] = 2;
    
ilosc_rakiet_gracza[id] = 2;
    
ilosc_min_gracza[id] = 3;
    
ilosc_dynamitow_gracza[id] = 1;
    
redukcja_obrazen_gracza[id] = (47.3057*(1.0-floatpower2.7182, -0.06798*float(wytrzymalosc_gracza[id])))/100);
    
maksymalne_zdrowie_gracza[id] = (informacje_przedmiotu_gracza[id][0] == 18)? zdrowie_klasy[klasa_gracza[id]]+zdrowie_gracza[id]*2+100zdrowie_klasy[klasa_gracza[id]]+zdrowie_gracza[id]*2;
    
szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC*szybkosc_klasy[klasa_gracza[id]]+floatround(kondycja_gracza[id]*1.3);
        
    
set_user_armor(idpancerz_klasy[klasa_gracza[id]]);
    
set_user_health(idmaksymalne_zdrowie_gracza[id]);
    if(
informacje_przedmiotu_gracza[id][0] == 17)
        
set_user_armor(id500);
        
    return 
PLUGIN_CONTINUE;
}

public 
PoczatekRundy()    
{
    
freezetime false;
    for(new 
id=0;id<=32;id++)
    {
        if(!
is_user_alive(id))
            continue;
        
        
set_task(0.1"UstawSzybkosc"id+ZADANIE_USTAW_SZYBKOSC);
        
        switch(
get_user_team(id))
        {
            case 
1client_cmd(id"spk QTM_CodMod/start");
            case 
2client_cmd(id"spk QTM_CodMod/start2");
        }
    }
}

public 
NowaRunda()
{
    
freezetime true;
    new 
iEnt find_ent_by_class(-1"Mine");
    while(
iEnt 0
    {
        
remove_entity(iEnt);
        
iEnt find_ent_by_class(iEnt"Mine");    
    }
}

public 
TakeDamage(thisidinflictoridattackerFloat:damagedamagebits)
{
    if(!
is_user_alive(this) || !is_user_connected(this) || informacje_przedmiotu_gracza[this][0] == 24 || !is_user_connected(idattacker) || !is_user_alive(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(
wytrzymalosc_gracza[this]>0)
        
damage -= redukcja_obrazen_gracza[this]*damage;
        
    if(
informacje_przedmiotu_gracza[this][0] == || informacje_przedmiotu_gracza[this][0] == 3)
        
damage-=(float(informacje_przedmiotu_gracza[this][1])<damage)? float(informacje_przedmiotu_gracza[this][1]): damage;
            
    if(
informacje_przedmiotu_gracza[idattacker][0] == && !UTIL_In_FOV(thisidattacker) && UTIL_In_FOV(idattackerthis))
        
damage*=2.0;
        
    if(
informacje_przedmiotu_gracza[idattacker][0] == 10)
        
damage+=informacje_przedmiotu_gracza[idattacker][1];
        
    if(
informacje_przedmiotu_gracza[this][0] == 12)
        
damage-=(5.0<damage)? 5.0damage;
    
    if(
weapon == CSW_AWP && informacje_przedmiotu_gracza[idattacker][0] == 13)
        
damage=float(health);
    
    if(
informacje_przedmiotu_gracza[idattacker][0] == 21)
        
damage+=10;
    
    if(
informacje_przedmiotu_gracza[idattacker][0] == 22)
        
damage+=20;
        
    if(
idinflictor != idattacker && entity_get_int(idinflictorEV_INT_movetype) != 5)
    {
        if((
informacje_przedmiotu_gracza[idattacker][0] == && random_num(1informacje_przedmiotu_gracza[idattacker][1]) == 1) || informacje_przedmiotu_gracza[idattacker][0] == 10)
        {
            
damage float(health);
        }    
    }

    if(
weapon == CSW_KNIFE)
    {
        if(
informacje_przedmiotu_gracza[this][0] == 4)
            
damage=damage*1.4+inteligencja_gracza[idattacker];
        if(
informacje_przedmiotu_gracza[idattacker][0] == || (klasa_gracza[idattacker] == Snajper && random(2) == 2) || klasa_gracza[idattacker] == Komandos && damage 20)
            
damage float(health);
    }
        
    
SetHamParamFloat(4damage);
    return 
HAM_IGNORED;
}

public 
Damage(id)
{
    new 
attacker get_user_attacker(id);
    new 
damage read_data(2);
    if(!
is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !klasa_gracza[attacker])
        return 
PLUGIN_CONTINUE;
        
    if(
informacje_przedmiotu_gracza[attacker][0] == 12 && random_num(1informacje_przedmiotu_gracza[id][1]) == 1)
        
Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
    
    if(
get_user_team(id) != get_user_team(attacker))
    {
        while(
damage>20)
        {
            
damage-=20;
            
doswiadczenie_gracza[attacker]++;
        }
    }
    
SprawdzPoziom(attacker);
    return 
PLUGIN_CONTINUE;
}

public 
Death()
{
    new 
id read_data(2);
    new 
attacker read_data(1);
    
    if(!
is_user_alive(attacker) || !is_user_connected(attacker))
        return 
PLUGIN_CONTINUE;
    
    new 
weapon get_user_weapon(attacker);
    new 
zdrowie get_user_health(attacker);
    
    if(
get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
    {
        new 
nowe_doswiadczenie 0;
        
        
nowe_doswiadczenie += doswiadczenia_za_zabojstwo;
        
        if(
klasa_gracza[id] == Rambo && klasa_gracza[attacker] != Rambo)
            
nowe_doswiadczenie += doswiadczenia_za_zabojstwo*2;
        
        if(
poziom_gracza[id] > poziom_gracza[attacker])
            
nowe_doswiadczenie += poziom_gracza[id] - poziom_gracza[attacker];
        
        if(
klasa_gracza[attacker] == Rambo || informacje_przedmiotu_gracza[attacker][0] == 15 && maxClip[weapon] != -1)
        {
    
            new 
nowe_zdrowie = (zdrowie+20<maksymalne_zdrowie_gracza[attacker])? zdrowie+20maksymalne_zdrowie_gracza[attacker];
            
set_user_clip(attackermaxClip[weapon]);
            
set_user_health(attackernowe_zdrowie);
        }
        
        if(!
informacje_przedmiotu_gracza[attacker][0])
            
DajPrzedmiot(attackerrandom_num(1sizeof nazwy_przedmiotow-1));
        
        if(
informacje_przedmiotu_gracza[attacker][0] == 14)
        {
            new 
nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_gracza[attacker])? zdrowie+50maksymalne_zdrowie_gracza[attacker];
            
set_user_health(attackernowe_zdrowie);
        }
        
        
set_hudmessage(25521200.500.3316.04.0);
        
ShowSyncHudMsg(attackerSyncHudObj2"+%i"nowe_doswiadczenie);
        
        
doswiadczenie_gracza[id] += nowe_doswiadczenie;
    }
    
    
SprawdzPoziom(attacker);
    
    if(
informacje_przedmiotu_gracza[id][0] == && random_num(1informacje_przedmiotu_gracza[id][1]) == 1)
        
set_task(0.1"Wskrzes"id+ZADANIE_WSKRZES);
    
    return 
PLUGIN_CONTINUE;
}

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

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

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

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

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

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


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

public 
WybierzKlase_Handle(idmenuitem)
{
    
client_cmd(id"spk QTM_CodMod/select");
    
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_CONTINUE;
    }    
        
    
item++;
    
    if(
item == klasa_gracza[id])
        return 
PLUGIN_CONTINUE;
    
    if(
item == 10 && !(get_user_flags(id) & ADMIN_LEVEL_H))
    {
        
client_print(idprint_chat"[Starwars Mod by P[t]R & Nokaut] Klasa premium dostepna jest po dokonaniu zakupu.");
        
menu_display(idmenu);
        return 
PLUGIN_CONTINUE;
    }
    
    if(
klasa_gracza[id])
    {
        
nowa_klasa_gracza[id] = item;
        
client_print(idprint_chat"[Starwars Mod by P[t]R & Nokaut] Klasa zostanie zmieniona w nastepnej rundzie.");
    }
    else
    {
        
klasa_gracza[id] = item;
        
WczytajDane(id);
        
Odrodzenie(id);
    }
    return 
PLUGIN_CONTINUE;
}

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

public 
PrzydzielPunkty_Handler(idmenuitem)
{
    
client_cmd(id"spk QTM_CodMod/select");
    
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_CONTINUE;
    }
    switch(
item
    { 
        case 
0
        {    
            if (
inteligencja_gracza[id]<100)
            {
                
punkty_gracza[id]-=1;
                
inteligencja_gracza[id]+=1;
            }
            else 
client_print(idprint_chat"[COD by P[t]R & Nokaut] Maxymalny poziom inteligencji osiagniety");
            
        }
        case 
1
        {    
            if (
zdrowie_gracza[id]<100)
            {
                
punkty_gracza[id]-=1    ;
                
zdrowie_gracza[id]+=1;
            }
            else 
client_print(idprint_chat"[COD by P[t]R & Nokaut] Maxymalny poziom sily osiagniety");
        }
        case 
2
        {    
            if (
wytrzymalosc_gracza[id]<100)
            {
                
punkty_gracza[id]-=1;
                
wytrzymalosc_gracza[id]+=1;
            }
            else 
client_print(idprint_chat"[COD by P[t]R & Nokaut] Maxymalny poziom zrecznosci osiagniety");
            
        }
        case 
3
        {    
            if (
kondycja_gracza[id]<100)
            {
                
punkty_gracza[id]-=1;
                
kondycja_gracza[id]+=1;
            }
            else 
client_print(idprint_chat"[COD by P[t]R & Nokaut] Maxymalny poziom zwinnosci osiagniety");
        }
    }
    if(
punkty_gracza[id]>0)
        
PrzydzielPunkty(id);
        
    return 
PLUGIN_CONTINUE;
}

public 
ResetujPunkty(id)
{    
    
punkty_gracza[id] = poziom_gracza[id]*2-2;
    
inteligencja_gracza[id] = 0;
    
zdrowie_gracza[id] = 0;
    
kondycja_gracza[id] = 0;
    
wytrzymalosc_gracza[id] = 0;
}

public 
KomendaResetujPunkty(id)
{    
    
client_print(idprint_chat"[Starwars Mod by P[t]R & Nokaut] Umiejetnosci zostana zresetowane w nastepnej rundzie.");
    
client_cmd(id"spk QTM_CodMod/select");
    
gracz_resetuje[id] = true;
}

public 
WyszkolenieSanitarne(id)
{
    
id -= ZADANIE_WYSZKOLENIE_SANITARNE;
    if(
informacje_przedmiotu_gracza[id][0] != 16)
        return 
PLUGIN_CONTINUE;
    
set_task(5.0"WyszkolenieSanitarne"id+ZADANIE_WYSZKOLENIE_SANITARNE);
    if(!
is_user_alive(id))
        return 
PLUGIN_CONTINUE;
    new 
health get_user_health(id);
    new 
new_health = (health+10<maksymalne_zdrowie_gracza[id])?health+10:maksymalne_zdrowie_gracza[id];
    
set_user_health(idnew_health);
    return 
PLUGIN_CONTINUE;
}

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

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

}

public 
StworzRakiete(id)
{
    if (!
ilosc_rakiet_gracza[id])
    {
        
client_print(idprint_center"Spokojnie! Wykrzystales juz wszystkie rakiety!");
        return 
PLUGIN_HANDLED;
    }
    
    if(
poprzednia_rakieta_gracza[id] + 2.0 get_gametime())
    {
        
client_print(idprint_center"Rakiety mozesz uzywac co 2 sekundy!");
        return 
PLUGIN_HANDLED;
    }
    
    if(
inteligencja_gracza[id] < 1)
        
client_print(idprint_center"Aby wzmocnic rakiety, zwieksz inteligencje!");
    
    if (
is_user_alive(id) == 1)
    {
        
ilosc_rakiet_gracza[id]--;
        
poprzednia_rakieta_gracza[id] = get_gametime();
        new 
Float:vOrigin[3];
        new 
fEntity;
        
entity_get_vector(id,EV_VEC_originvOrigin);
        
fEntity create_entity("info_target");
        
entity_set_model(fEntity"models/rpgrocket.mdl");
        
entity_set_origin(fEntityvOrigin);
        
entity_set_string(fEntity,EV_SZ_classname,"rocket");
        
entity_set_int(fEntityEV_INT_solidSOLID_BBOX);
        
entity_set_int(fEntity,EV_INT_movetype,5);
        
entity_set_edict(fEntity,EV_ENT_owner,id);
        
        
        
//Send forward
        
new Float:fl_iNewVelocity[3];
        
VelocityByAim(id1000fl_iNewVelocity);
        
entity_set_vector(fEntityEV_VEC_velocityfl_iNewVelocity);
    }    
    return 
PLUGIN_HANDLED;
}

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

    
message_begin(MSG_BROADCAST,SVC_TEMPENTITYiOrigin);
    
write_byte(TE_EXPLOSION);
    
write_coord(iOrigin[0]);
    
write_coord(iOrigin[1]);
    
write_coord(iOrigin[2]);
    
write_short(sprite_blast);
    
write_byte(32);
    
write_byte(20);
    
write_byte(0);
    
message_end();
    
    
message_beginMSG_BROADCASTSVC_TEMPENTITYiOrigin );
    
write_byteTE_BEAMCYLINDER );
    
write_coordiOrigin[0] );
    
write_coordiOrigin[1] );
    
write_coordiOrigin[2] );
    
write_coordiOrigin[0] );
    
write_coordiOrigin[1] + 300 );
    
write_coordiOrigin[2] + 300 );
    
write_shortsprite_white );
    
write_byte); // startframe
    
write_byte); // framerate
    
write_byte10 ); // life
    
write_byte10 ); // width
    
write_byte255 ); // noise
    
write_byte255 ); // r, g, b
    
write_byte100 );// r, g, b
    
write_byte100 ); // r, g, b
    
write_byte128 ); // brightness
    
write_byte); // speed
    
message_end();

    new 
entlist[513];
    new 
numfound find_sphere_class(id,"player"300.0 ,entlist,512);
    
    for (new 
i=0numfoundi++)
    {        
        new 
pid entlist[i];
        
        if (!
is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24)
            continue;
        
ExecuteHam(Ham_TakeDamagepid0id90.0+float(inteligencja_gracza[id]) , 1);
    }
    return 
PLUGIN_CONTINUE;
}

public 
PostawMine(id)
{
    if (!
ilosc_min_gracza[id])
    {
        
client_print(idprint_center"Spokojnie! Wykorzystakes juz wszystkie miny!");
        return 
PLUGIN_CONTINUE;
    }
    
    if(
inteligencja_gracza[id] < 1)
        
client_print(idprint_center"Aby wzmocnic miny, zwieksz inteligencje!");
    
    
ilosc_min_gracza[id]--;
    
    new 
Float:origin[3];
    
entity_get_vector(idEV_VEC_originorigin);
        
    new 
ent create_entity("info_target");
    
entity_set_string(ent ,EV_SZ_classname"Mine");
    
entity_set_edict(ent ,EV_ENT_ownerid);
    
entity_set_int(entEV_INT_movetypeMOVETYPE_TOSS);
    
entity_set_origin(entorigin);
    
entity_set_int(entEV_INT_solidSOLID_BBOX);
    
    
entity_set_model(ent"models/mine.mdl");
    
entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
    
    
drop_to_floor(ent);

    
entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;
    
    
set_rendering(ent,kRenderFxNone0,0,0kRenderTransTexture,50)    ;
    
    
    return 
PLUGIN_CONTINUE;
}

public 
DotykMiny(entid)
{
    new 
attacker entity_get_edict(entEV_ENT_owner);
    if (
get_user_team(attacker) != get_user_team(id))
    {
        new 
Float:fOrigin[3], iOrigin[3];
        
entity_get_vectorentEV_VEC_originfOrigin);
        
iOrigin[0] = floatround(fOrigin[0]);
        
iOrigin[1] = floatround(fOrigin[1]);
        
iOrigin[2] = floatround(fOrigin[2]);
        
        
message_begin(MSG_BROADCAST,SVC_TEMPENTITYiOrigin);
        
write_byte(TE_EXPLOSION);
        
write_coord(iOrigin[0]);
        
write_coord(iOrigin[1]);
        
write_coord(iOrigin[2]);
        
write_short(sprite_blast);
        
write_byte(32); // scale
        
write_byte(20); // framerate
        
write_byte(0);// flags
        
message_end();
        new 
entlist[513];
        new 
numfound find_sphere_class(ent,"player"90.0 ,entlist,512);
        
        for (new 
i=0numfoundi++)
        {        
            new 
pid entlist[i];
            
            if (!
is_user_alive(pid) || informacje_przedmiotu_gracza[pid][0] == 24 || get_user_team(attacker) == get_user_team(pid))
                continue;
            
ExecuteHam(Ham_TakeDamagepidentattacker90.0+float(inteligencja_gracza[attacker]) , 1);
        }
        
remove_entity(ent);
    }
}

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

    new 
attacker entity_get_edict(entEV_ENT_owner);

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

    
message_begin(MSG_BROADCAST,SVC_TEMPENTITYiOrigin);
    
write_byte(TE_EXPLOSION);
    
write_coord(iOrigin[0]);
    
write_coord(iOrigin[1]);
    
write_coord(iOrigin[2]);
    
write_short(sprite_blast);
    
write_byte(32); // scale
    
write_byte(20); // framerate
    
write_byte(0);// flags
    
message_end();

    new 
entlist[513];
    new 
numfound find_sphere_class(ent,"player"230.0 ,entlist,512);
    
    for (new 
i=0numfoundi++)
    {        
        new 
pid entlist[i];
        
        if (!
is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24)
            continue;
        
ExecuteHam(Ham_TakeDamagepidentattacker55.0+float(inteligencja_gracza[attacker]) , 1);
    }
    
remove_entity(ent);
}    

public 
CurWeapon(id)
{
    if(
freezetime || !klasa_gracza[id])
        return 
PLUGIN_CONTINUE;
        
    new 
weapon read_data(2);

    
UstawSzybkosc(id);
    
    if(
weapon == CSW_C4)
        
podkladajacy id;
    return 
PLUGIN_CONTINUE;
}

public 
Uzyj(id)
{
    if (!
is_user_alive(id) || freezetime)
        return 
PLUGIN_CONTINUE;
    
    new 
targetbody;
    
get_user_aiming(idtargetbody80);
    if(
target)
    {
        new 
classname[20];
        
entity_get_string(targetEV_SZ_classnameclassname19);
        if(
equal(classname"func_button") || equal(classname"func_door") || equal(classname"func_door_rotating"))
            return 
PLUGIN_HANDLED;
    }
    
    new 
entlist[10];
    new 
numfound find_sphere_class(id"grenade"100.0 ,entlist9);
    new 
model[20];
    for (new 
i=0numfoundi++)
    {
        
entity_get_string(entlist[i], EV_SZ_modelmodel19);
        if(
UTIL_In_FOV(identlist[i]) && equal(model"models/w_c4.mdl"))
            return 
PLUGIN_CONTINUE;
    }
    
    
numfound find_sphere_class(id"hostage_entity"70.0 ,entlist9);
    for (new 
i=0numfoundi++)
    {
        if(
UTIL_In_FOV(identlist[i]))
            return 
PLUGIN_CONTINUE;
    }
    
    
        
    
UzyjPrzedmiotu(id);
    return 
PLUGIN_CONTINUE;
}
    


public 
UzyjPrzedmiotu(id)
{
    if(
informacje_przedmiotu_gracza[id][0] == 19 && informacje_przedmiotu_gracza[id][1]>0
    {
        
set_user_health(idmaksymalne_zdrowie_gracza[id]);
        
informacje_przedmiotu_gracza[id][1]--;
    }
    
    
    switch(
klasa_gracza[id])
    {
        case 
5StworzApteczke(id);
        case 
6StworzRakiete(id);
        case 
7PostawMine(id);
        case 
8PolozDynamit(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)
{
    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_get(g_vault,vaultkey,vaultdata,255);
 
    
replace_all(vaultdata255"#"" ");
 
    new 
doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32];
 
    
parse(vaultdatadoswiadczeniegracza31poziomgracza31inteligencjagracza31silagracza31zrecznoscgracza31zwinnoscgracza31);
 
    
doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza);
    
poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1;
    
inteligencja_gracza[id] = str_to_num(inteligencjagracza);
    
zdrowie_gracza[id] = str_to_num(silagracza);
    
wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza);
    
kondycja_gracza[id] = str_to_num(zwinnoscgracza);
    
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];


public 
WyrzucPrzedmiot(id)
{
    if(
informacje_przedmiotu_gracza[id][0])
    {
        
client_print(idprint_chat"[COD by P[t]R & Nokaut] Wyrzuciles %s."nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
        
UsunPrzedmiot(id);
    }
    else
        
client_print(idprint_chat"[COD by P[t]R & Nokaut] Nie masz zadnego przedmiotu."nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
}

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

public 
DajPrzedmiot(idprzedmiot)
{
    
UsunPrzedmiot(id);
    
informacje_przedmiotu_gracza[id][0] = przedmiot;
    
client_print(idprint_chat"[COD by P[t]R & Nokaut] Zdobyles %s."nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);    
    
    switch(
przedmiot)
    {
        case 
1:
        {
            
set_user_footsteps(id1);
        }
        case 
2:
        {
            
informacje_przedmiotu_gracza[id][1] = random_num(3,6);
        }
        case 
3:
        {
            
informacje_przedmiotu_gracza[id][1] = random_num(611);
        }
        case 
5:
        {
            
informacje_przedmiotu_gracza[id][1] = random_num(69);
        }
        case 
6:
        {
            
informacje_przedmiotu_gracza[id][1] = random_num(100150);
            
set_rendering(id,kRenderFxGlowShell,0,0,,kRenderTransAlphainformacje_przedmiotu_gracza[id][1]);
        }
        case 
7:
        {
            
informacje_przedmiotu_gracza[id][1] = random_num(24);
        }
        case 
8:
        {
            if(
klasa_gracza[id] == Klony)
                
DajPrzedmiot(idrandom_num(1sizeof nazwy_przedmiotow-1));
        }
        case 
9:
        {
            
informacje_przedmiotu_gracza[id][1] = random_num(13);
            
ZmienUbranie(id0);
            
give_item(id"weapon_hegrenade");
        }
        case 
10:
        {
            
informacje_przedmiotu_gracza[id][1] = random_num(48);
            
give_item(id"weapon_hegrenade");
        }
        case 
12:
        {
            
informacje_przedmiotu_gracza[id][1] = random_num(14);
        }
        case 
13:
        {
            
give_item(id"weapon_awp");
        }
        case 
15:
        {
            if(
klasa_gracza[id] == Dzedaj)
                
DajPrzedmiot(idrandom_num(1sizeof nazwy_przedmiotow-1));
        }
        case 
16:
        {
            
set_task(5.0"WyszkolenieSanitarne"id+ZADANIE_WYSZKOLENIE_SANITARNE);
        }
        case 
19:
        {
            
informacje_przedmiotu_gracza[id][1] = 1;
        }
    }
}

public 
OpisPrzedmiotu(id)
{
    new 
opis_przedmiotu[128];
    new 
losowa_wartosc[3];
    
num_to_str(informacje_przedmiotu_gracza[id][1], losowa_wartosc2);
    
format(opis_przedmiotu127opisy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
    
replace_all(opis_przedmiotu127"LW"losowa_wartosc);
    
    
client_print(idprint_chat"Przedmiot: %s."nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
    
client_print(idprint_chat"Opis: %s."opis_przedmiotu);
}

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

public 
SprawdzPoziom(id)
{    
    while(
doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
    {
        
poziom_gracza[id]++;
        
set_hudmessage(6020025, -1.00.2501.02.00.10.22);
        
ShowSyncHudMsg(idSyncHudObj3"Awansowales do nastepnego poziomu!");
        
client_cmd(id"spk QTM_CodMod/levelup");
    }

    
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
    
ZapiszDane(id);
}

public 
PokazInformacje(id
{
    
id -= ZADANIE_POKAZ_INFORMACJE;
    
    
set_task(0.1"PokazInformacje"id+ZADANIE_POKAZ_INFORMACJE);
        
    if(!
is_user_alive(id))
    {
        new 
target entity_get_int(idEV_INT_iuser2);
        
        if(
target == 0)
            return 
PLUGIN_CONTINUE;
            
        
set_hudmessage(2552552550.6, -1.000.00.30.00.02);
        
ShowSyncHudMsg(idSyncHudObj"Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPrzedmiot : %s"nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target], nazwy_przedmiotow[informacje_przedmiotu_gracza[target][0]]);
        
        return 
PLUGIN_CONTINUE;
    }
    
set_hudmessage(255000.020.2300.00.30.00.0);
    
ShowSyncHudMsg(idSyncHudObj"[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Przedmiot : %s]"nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
    return 
PLUGIN_CONTINUE;
}  

public 
PokazReklame(id)
{
    
id-=ZADANIE_POKAZ_REKLAME;
    
client_print(idprint_chat"[COD by P[t]R & Nokaut] Witaj w Modyfikacji Call of Duty stworzonej przez QTM_Peyote.");
}

public 
UstawSzybkosc(id)
{
    
id -= id>32ZADANIE_USTAW_SZYBKOSC0;
    
    if(
klasa_gracza[id])
        
set_user_maxspeed(id, (informacje_przedmiotu_gracza[id][0] == 18)? szybkosc_gracza[id]-0.4szybkosc_gracza[id]);
}
    
#if defined MODELE
public ZmienUbranie(id,reset)
{
    if (
id<|| id>32 || !is_user_connected(id)) 
        return 
PLUGIN_CONTINUE;
    
    switch(
get_user_team(id))
    {
        case 
1cs_set_user_model(idreset"cod_terro""cod_ct");
        case 
2cs_set_user_model(idreset"cod_ct""cod_terro");
    }
    return 
PLUGIN_CONTINUE;
}
#else
public ZmienUbranie(id,reset)
{
    if (
id<|| id>32 || !is_user_connected(id)) 
        return 
PLUGIN_CONTINUE;
    
    if (
reset)
        
cs_reset_user_model(id);
    else
    {
        new 
num random_num(0,3);
        switch(
get_user_team(id))
        {
            case 
1cs_set_user_model(idUbrania_CT[num]);
            case 
2:cs_set_user_model(idUbrania_Terro[num]);
        }
    }
    
    return 
PLUGIN_CONTINUE;
}
#endif
public Pomoc()
{
    switch(
random(5))
    {
        case 
0client_print(0print_chat"[Starwars Mod by P[t]R & Nokaut] Aby zresetowac umiejetnosci napisz /reset.");
        case 
1client_print(0print_chat"[Starwars Mod by P[t]R & Nokaut] Aby zmienic klase napisz /klasa.");
        case 
2client_print(0print_chat"[Starwars Mod by P[t]R & Nokaut] Aby uzyc przedmiotu nacisnij E.");
        case 
3client_print(0print_chat"[Starwars Mod by P[t]R & Nokaut] Aby wyrzucic przedmiot napisz /wyrzuc.");
        case 
4client_print(0print_chat"[Starwars Mod by P[t]R & Nokaut] Aby zobaczyc opis przedmiotu napisz /przedmiot.");
        case 
5client_print(0print_chat"[Starwars Mod by P[t]R & Nokaut] Aby zobaczyc opis klas napisz /klasy.");
    }
    
set_task(36.0"Pomoc");
}

public 
cmd_setlvl(idlevelcid)
{
        if(!
cmd_access(id,level,cid,3))
                return 
PLUGIN_HANDLED;
        new 
arg1[33];
        new 
arg2[6];
        
read_argv(1arg132);
        
read_argv(2arg25);
        new 
player cmd_target(idarg1);
        new 
value str_to_num(arg2)-1;
        
        
doswiadczenie_gracza[player] = doswiadczenie_poziomu[value];
        
poziom_gracza[player] = 0;
        
SprawdzPoziom(player);
        return 
PLUGIN_HANDLED;
}

public 
TouchWeapon(weapon,id)
{
    new 
model[23];
    
entity_get_string(weaponEV_SZ_modelmodel22);
    if (!
is_user_connected(id) || entity_get_edict(weaponEV_ENT_owner) == id || equal(model"models/w_backpack.mdl"))
        return 
HAM_IGNORED;
    return 
HAM_SUPERCEDE;
}

public 
BlokujKomende()
    return 
PLUGIN_HANDLED;
    
stock bool:UTIL_In_FOV(id,target)
{
    if (
Find_Angle(id,target,9999.9) > 0.0)
        return 
true;
    
    return 
false;
}

stock Float:Find_Angle(Core,Target,Float:dist)
{
    new 
Float:vec2LOS[2];
    new 
Float:flDot;
    new 
Float:CoreOrigin[3];
    new 
Float:TargetOrigin[3];
    new 
Float:CoreAngles[3];
    
    
pev(Core,pev_origin,CoreOrigin);
    
pev(Target,pev_origin,TargetOrigin);
    
    if (
get_distance_f(CoreOrigin,TargetOrigin) > dist)
        return 
0.0;
    
    
pev(Core,pev_anglesCoreAngles);
    
    for ( new 
02i++ )
        
vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i];
    
    new 
Float:veclength Vec2DLength(vec2LOS);
    
    
//Normalize V2LOS
    
if (veclength <= 0.0)
    {
        
vec2LOS[0] = 0.0;
        
vec2LOS[1] = 0.0;
    }
    else
    {
        new 
Float:flLen 1.0 veclength;
        
vec2LOS[0] = vec2LOS[0]*flLen;
        
vec2LOS[1] = vec2LOS[1]*flLen;
    }
    
    
//Do a makevector to make v_forward right
    
engfunc(EngFunc_MakeVectors,CoreAngles);
    
    new 
Float:v_forward[3];
    new 
Float:v_forward2D[2];
    
get_global_vector(GL_v_forwardv_forward);
    
    
v_forward2D[0] = v_forward[0];
    
v_forward2D[1] = v_forward[1];
    
    
flDot vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1];
    
    if ( 
flDot 0.5 )
    {
        return 
flDot;
    }
    
    return 
0.0;
}

stock Float:Vec2DLengthFloat:Vec[2] )  

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

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

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