hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 18:15



Jelenlévő felhasználók

Jelenleg 223 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 222 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Google [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Fordítás!
HozzászólásElküldve: 2016.08.08. 23:53 
Offline
Tag

Csatlakozott: 2016.01.24. 15:04
Hozzászólások: 37
Megköszönték neki: 3 alkalommal
HA valaki ráér ezt angolra fordítani? nem megy az orosz de ugy kompletten gondoltam a plugint

ILYEN NE LENNE BENNE! orosz... vagy akármiylen nyelv is ez KÖSZÖNÖM
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);

______________________________________________________________________________________________________________________________________



  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <cstrike>
  5. #include <fakemeta>
  6. #include <engine>
  7. #include <hamsandwich>
  8. #include <nvault>
  9.  
  10.  
  11. #define PLUGIN "Call of Duty: MW Mod"
  12. #define VERSION "0.7.9 Beta"
  13. #define AUTHOR "QTM_Peyote"
  14.  
  15. #define STANDARDOWA_SZYBKOSC 250.0
  16.  
  17. #define ZADANIE_POKAZ_INFORMACJE 672
  18. #define ZADANIE_WSKRZES 704
  19. #define ZADANIE_WYSZKOLENIE_SANITARNE 736
  20. #define ZADANIE_POKAZ_REKLAME 768
  21. #define ZADANIE_USTAW_SZYBKOSC 832
  22.  
  23. //#define BOTY 1
  24.  
  25. new SyncHudObj;
  26. new SyncHudObj2;
  27. new SyncHudObj3;
  28. new g_msg_screenfade;
  29.  
  30. new sprite_white;
  31. new sprite_blast;
  32.  
  33. new g_vault;
  34.  
  35. new podkladajacy;
  36. new rozbrajajacy;
  37.  
  38. new doswiadczenia_za_zabojstwo;
  39. new doswiadczenie_za_bombe;
  40.  
  41. new Ubrania_CT[4][]={"sas","gsg9","urban","gign"};
  42. new Ubrania_Terro[4][]={"arctic","leet","guerilla","terror"};
  43.  
  44. 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};
  45. new const maxClip[31] = { -1, 13, -1, 10,  1,  7,  1,  30, 30,  1,  30,  20,  25, 30, 35, 25,  12,  20,
  46. 10,  30, 100,  8, 30,  30, 20,  2,  7, 30, 30, -1,  50 };
  47.  
  48. new informacje_przedmiotu_gracza[33][2];
  49. new const nazwy_przedmiotow[][] = {"Brak",
  50.     "Buty Szturmowego", //1
  51.     "Podwojna Kamizelka", //2
  52.     "Wzmocniona Kamizelka", //3
  53.     "Weteran Noza", //4
  54.     "Zaskoczenie Wroga", //5
  55.     "Plaszcz Partyzanta", //6
  56.     "Morfina", //7
  57.     "Noz Komandosa", //8
  58.     "Podrecznik Szpiega", //9
  59.     "Tajemnica Generala", //10
  60.     "Notatki Ninji", //11
  61.     "Tajemnica Wojskowa", //12
  62.     "AWP Sniper",//13
  63.     "Adrenalina",//14
  64.     "Tajemnica Rambo",//15
  65.     "Wyszkolenie Sanitarne",//16
  66.     "Kamizelka NASA",//17
  67.     "Wytrenowany Weteran",//18
  68.     "Apteczka",//19
  69.     "Eliminator Rozrzutu",//20
  70.     "Tytanowe Naboje",//21
  71.     "Naboje Pulkownika",//22
  72.     "Ogranicznik Rozrzutu",//23
  73.     "Tarcza SWAT",//24
  74.     "Wytrenowany Rekrut",//25
  75.     "Pancerz Nomexowy",//26
  76.     "Notatki Kapitana",//27
  77.     "Modul odrzutowy"
  78.    
  79. };
  80.  
  81. new const opisy_przedmiotow[][] = {"Zabij kogos aby dostac przedmiot",
  82.     "Cicho biegasz",
  83.     "Obniza uszkodzenia zadawane graczowi o LW",
  84.     "Obniza uszkodzenia zadawane graczowi o LW",
  85.     "Zadajesz wieksze obrazenia nozem",
  86.     "Gdy trafisz kogos od tylu, obrazenia sa 2 razy wieksze",
  87.     "Masz LW premii niewidocznosci",
  88.     "1/LW szans do ponownego odrodzenia sie po smierci",
  89.     "Natychmiastowe zabicie z Noza",
  90.     "Masz 1/LW szans na natychmiastowe zabicie z HE. Posiadasz takze ubranie wroga",
  91.     "Natychmiastowe zabicie granatem HE. Zadajesz LW dodatkowych obrazen",
  92.     "Mozesz zrobic podwojny skok w powietrzu",
  93.     "Twoje obrazenia sa zredukowane o 5. Masz 1/LW szans na oslepienie wroga",
  94.     "Natychmiastowe zabicie z AWP",
  95.     "Za kazdego Fraga dostajesz 50 zycia",
  96.     "Za kazdego Fraga dostajesz pelen magazynek oraz +20 hp",
  97.     "Dostajesz 10 HP co 5 sekund",
  98.     "Masz 500 pancerza",
  99.     "Dostajesz +100 HP co runde, wolniej biegasz",
  100.     "Uzyj, aby uleczyc sie do maksymalnej ilosci HP",
  101.     "Nie posiadasz rozrzutu broni",
  102.     "Zadajesz 10 obrazen wiecej",
  103.     "Zadajesz 20 obrazen wiecej",
  104.     "Twoj rozrzut jest mniejszy",
  105.     "Nie dzialaja na ciebie zadne przedmioty",
  106.     "Dostajesz +50 HP co runde, wolniej biegasz",
  107.     "Masz 1/LW szans na odbicie pocisku przez pancerz",
  108.     "Jestes odporny na 3 pociski w kazdej rundzie",
  109.     "Nacisnij CTRL i SPACE aby uzyc modulu, modul laduje sie co 4 sekundy"
  110. };
  111.  
  112. new nazwa_gracza[33][64];
  113. new klasa_gracza[33];
  114. new poziom_gracza[33] = 1;
  115. new doswiadczenie_gracza[33];
  116.  
  117. new nowa_klasa_gracza[33];
  118.  
  119. 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,
  120. 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,
  121. 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,
  122. 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,
  123. 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};
  124.  
  125. new punkty_gracza[33];
  126. new zdrowie_gracza[33];
  127. new inteligencja_gracza[33];
  128. new wytrzymalosc_gracza[33];
  129. new Float:redukcja_obrazen_gracza[33];
  130. new kondycja_gracza[33];
  131. new maksymalne_zdrowie_gracza[33];
  132. new Float:szybkosc_gracza[33];
  133.  
  134. new bool:gracz_resetuje[33];
  135.  
  136. enum { NONE = 0, Snajper, Komandos, Strzelec, Obronca, Medyk, Wsparcie, Saper, Demolitions, Rusher, Rambo };
  137. new const zdrowie_klasy[] = { 0, 120, 140, 110, 120, 110, 100, 100, 110, 100, 130};
  138. 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};
  139. new const pancerz_klasy[] = { 0, 100, 100, 100, 150, 100, 0, 100, 100, 0, 150};
  140. new const nazwy_klas[][] = {"Brak",
  141.     "Snajper",
  142.     "Komandos",
  143.     "Strzelec wyborowy",
  144.     "Obronca",
  145.     "Medyk",
  146.     "Wsparcie ogniowe",
  147.     "Saper",
  148.     "Demolitions",
  149.     "Rusher",
  150.     "Rambo (Klasa Premium)"
  151. };
  152.  
  153. new const opisy_klas[][] = {"Brak",
  154.     "Dostaje AWP, scout i deagle, 120hp bazowe, 1/3 szansy natychmiastowego zabicia noza, 110% biegu, 100 pancerza",
  155.     "Dostaje Deagle, 140hp bazowe, Natychmiastowe zabicie z noza (prawy przycisk myszy), 135% biegu, 100 pancerza",
  156.     "Dostaje AK i M4A1, 110hp bazowe, 80 % biegu, 100 pancerza",
  157.     "Dostaje M249 (Krowa), 120hp bazowe, 80% biegu, jest odporny na miny, ma wszystkie granaty, 150 pancerza",
  158.     "Dostaje UMP45, 110hp bazowe, posiada apteczke, 100 pancerza",
  159.     "Dostaje MP5, 100 hp bazowe, Ma dwie rakiety,ktore po trafieniu przeciwnika zadaja dużo obrazen",
  160.     "Dostaje P90, 100hp bazowe, 100 pancerza, Dostaje 3 miny, gdy ktos w nie wejdzie wybuchaja",
  161.     "Dostaje AUG, 110 hp bazowe, 100 pancerza, Ma wszystkie granaty, Dostaje dynamit, który zabiera sporo zycia wszystkim znajdującym się blisko niego",
  162.     "Dostaje szotgana M3, 100 hp bazowe, 130% biegu",
  163.     "Dostaje Famasa, 130 hp bazowe, 120% biegu, za kazde zabojstwo +20 hp oraz pelen magazynek, podwojny skok"
  164. };
  165.  
  166. new ilosc_apteczek_gracza[33];
  167. new ilosc_rakiet_gracza[33];
  168. new Float:poprzednia_rakieta_gracza[33];
  169. new ilosc_min_gracza[33];
  170. new ilosc_dynamitow_gracza[33];
  171. new ilosc_skokow_gracza[33];
  172.  
  173. new bool:freezetime = true;
  174.  
  175. public plugin_init()
  176. {
  177.     register_plugin(PLUGIN, VERSION, AUTHOR);
  178.    
  179.     g_vault = nvault_open("CodMod");
  180.    
  181.     register_think("Apteczka","ApteczkaThink");
  182.    
  183.     RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  184.     RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
  185.     RegisterHam(Ham_Touch, "armoury_entity", "DotykBroni");
  186.     RegisterHam(Ham_Touch, "weapon_shield", "DotykBroni");
  187.     RegisterHam(Ham_Touch, "weaponbox", "DotykBroni");
  188.    
  189.     register_forward(FM_CmdStart, "CmdStart");
  190.     register_forward(FM_EmitSound, "EmitSound");
  191.    
  192.     register_logevent("PoczatekRundy", 2, "1=Round_Start");
  193.     register_logevent("BombaPodlozona", 3, "2=Planted_The_Bomb");
  194.    
  195.     register_event("SendAudio", "BombaRozbrojona", "a", "2&%!MRAD_BOMBDEF");
  196.     register_event("BarTime", "RozbrajaBombe", "be", "1=10", "1=5");
  197.     register_event("DeathMsg", "Death", "ade");
  198.     register_event("Damage", "Damage", "b", "2!=0");
  199.     register_event("CurWeapon","CurWeapon","be", "1=1");
  200.     register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
  201.    
  202.     register_touch("Rocket", "*" , "DotykRakiety");
  203.     register_touch("Mine", "player",  "DotykMiny");
  204.    
  205.     register_cvar("cod_killxp", "10");
  206.     register_cvar("cod_bombxp", "100");
  207.    
  208.     register_clcmd("say /klasa", "WybierzKlase");
  209.     register_clcmd("say /klasy", "OpisKlasy");
  210.     register_clcmd("say /przedmiot", "OpisPrzedmiotu");
  211.     register_clcmd("say /item", "OpisPrzedmiotu");
  212.     register_clcmd("say /drop", "WyrzucPrzedmiot");
  213.     register_clcmd("say /wyrzuc", "WyrzucPrzedmiot");
  214.     register_clcmd("say /reset", "KomendaResetujPunkty");
  215.     register_clcmd("fullupdate", "BlokujKomende");
  216.    
  217.     register_clcmd("cl_autobuy", "BlokujKomende");
  218.     register_clcmd("cl_rebuy", "BlokujKomende");
  219.     register_clcmd("cl_setautobuy","BlokujKomende");
  220.     register_clcmd("rebuy", "BlokujKomende");
  221.     register_clcmd("autobuy", "BlokujKomende");
  222.     register_clcmd("glock", "BlokujKomende");
  223.     register_clcmd("usp", "BlokujKomende");
  224.     register_clcmd("p228", "BlokujKomende");
  225.     register_clcmd("deagle", "BlokujKomende");
  226.     register_clcmd("elites", "BlokujKomende");
  227.     register_clcmd("fn57", "BlokujKomende");
  228.     register_clcmd("m3", "BlokujKomende");
  229.     register_clcmd("autoshotgun", "BlokujKomende");
  230.     register_clcmd("mac10", "BlokujKomende");
  231.     register_clcmd("tmp", "BlokujKomende");
  232.     register_clcmd("mp5", "BlokujKomende");
  233.     register_clcmd("ump45", "BlokujKomende");
  234.     register_clcmd("p90", "BlokujKomende");
  235.     register_clcmd("galil", "BlokujKomende");
  236.     register_clcmd("ak47", "BlokujKomende");
  237.     register_clcmd("scout", "BlokujKomende");
  238.     register_clcmd("sg552", "BlokujKomende");
  239.     register_clcmd("awp", "BlokujKomende");
  240.     register_clcmd("g3sg1", "BlokujKomende");
  241.     register_clcmd("famas", "BlokujKomende");
  242.     register_clcmd("m4a1", "BlokujKomende");
  243.     register_clcmd("bullpup", "BlokujKomende");
  244.     register_clcmd("sg550", "BlokujKomende");
  245.     register_clcmd("m249", "BlokujKomende");
  246.     register_clcmd("shield", "BlokujKomende");
  247.     register_clcmd("hegren", "BlokujKomende");
  248.     register_clcmd("sgren", "BlokujKomende");
  249.     register_clcmd("flash", "BlokujKomende");
  250.  
  251.     //register_concmd("cod_setlvl", "cmd_setlvl", ADMIN_KICK, "<name> <level>");
  252.  
  253.     g_msg_screenfade = get_user_msgid("ScreenFade");
  254.     SyncHudObj = CreateHudSyncObj();
  255.     SyncHudObj2 = CreateHudSyncObj();
  256.     SyncHudObj3 = CreateHudSyncObj();
  257.     doswiadczenia_za_zabojstwo = get_cvar_num("cod_killxp");
  258.     doswiadczenie_za_bombe = get_cvar_num("cod_bombxp");
  259.    
  260.     set_task(30.0, "Pomoc");
  261. }
  262.  
  263. public plugin_cfg()
  264. {  
  265.     server_cmd("sv_maxspeed 1600");
  266. }
  267.  
  268. public plugin_precache()
  269. {
  270.     sprite_white = precache_model("sprites/white.spr") ;
  271.     sprite_blast = precache_model("sprites/dexplo.spr");
  272.    
  273.     precache_sound("QTM_CodMod/select.wav");
  274.     precache_sound("QTM_CodMod/start.wav");
  275.     precache_sound("QTM_CodMod/start2.wav");
  276.     precache_sound("QTM_CodMod/levelup.wav");
  277.    
  278.     precache_model("models/w_medkit.mdl");
  279.     precache_model("models/rpgrocket.mdl");
  280.     precache_model("models/mine.mdl");
  281. }
  282.  
  283. public CmdStart(id, uc_handle)
  284. {
  285.     if(!is_user_alive(id))
  286.         return FMRES_IGNORED;
  287.        
  288.     new button = get_uc(uc_handle, UC_Buttons);
  289.     new oldbutton = get_user_oldbutton(id);
  290.     new flags = get_entity_flags(id);
  291.    
  292.     if(informacje_przedmiotu_gracza[id][0] == 11 || klasa_gracza[id] == Rambo)
  293.     {
  294.         if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && ilosc_skokow_gracza[id] > 0)
  295.         {
  296.             ilosc_skokow_gracza[id]--;
  297.             new Float:velocity[3];
  298.             entity_get_vector(id,EV_VEC_velocity,velocity);
  299.             velocity[2] = random_float(265.0,285.0);
  300.             entity_set_vector(id,EV_VEC_velocity,velocity);
  301.         }
  302.         else if(flags & FL_ONGROUND)
  303.         {  
  304.             ilosc_skokow_gracza[id] = 0;
  305.             if(informacje_przedmiotu_gracza[id][0] == 11)
  306.                 ilosc_skokow_gracza[id]++;
  307.             if(klasa_gracza[id] == Rambo)
  308.                 ilosc_skokow_gracza[id]++;
  309.         }
  310.     }
  311.    
  312.     if(button & IN_ATTACK)
  313.     {
  314.         new Float:punchangle[3];
  315.        
  316.         if(informacje_przedmiotu_gracza[id][0] == 20)
  317.             entity_set_vector(id, EV_VEC_punchangle, punchangle);
  318.         if(informacje_przedmiotu_gracza[id][0] == 23)
  319.         {
  320.             entity_get_vector(id, EV_VEC_punchangle, punchangle);
  321.             for(new i=0; i<3;i++)
  322.                 punchangle[i]*=0.9;
  323.             entity_set_vector(id, EV_VEC_punchangle, punchangle);
  324.         }
  325.     }
  326.    
  327.     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)
  328.     {
  329.         informacje_przedmiotu_gracza[id][1] = floatround(get_gametime());
  330.         new Float:velocity[3];
  331.         VelocityByAim(id, 700, velocity);
  332.         velocity[2] = random_float(265.0,285.0);
  333.         entity_set_vector(id, EV_VEC_velocity, velocity);
  334.     }
  335.    
  336.    
  337.     return FMRES_IGNORED;
  338. }
  339.  
  340. public Odrodzenie(id)
  341. {
  342.     if(!is_user_alive(id) || !is_user_connected(id))
  343.         return PLUGIN_CONTINUE;
  344.    
  345.     if(nowa_klasa_gracza[id])
  346.     {
  347.         klasa_gracza[id] = nowa_klasa_gracza[id];
  348.         nowa_klasa_gracza[id] = 0;
  349.         strip_user_weapons(id);
  350.         give_item(id, "weapon_knife");
  351.         switch(get_user_team(id))
  352.         {
  353.             case 1: give_item(id, "weapon_glock18");
  354.             case 2: give_item(id, "weapon_usp");
  355.         }
  356.         WczytajDane(id, klasa_gracza[id]);
  357.     }
  358.        
  359.     if(!klasa_gracza[id])
  360.     {
  361.         WybierzKlase(id);
  362.         return PLUGIN_CONTINUE;
  363.     }
  364.        
  365.     switch(klasa_gracza[id])
  366.     {
  367.         case Snajper:
  368.         {
  369.             give_item(id, "weapon_awp");
  370.             give_item(id, "weapon_scout");
  371.             give_item(id, "weapon_deagle");
  372.         }
  373.         case Komandos:
  374.         {
  375.             give_item(id, "weapon_deagle");
  376.         }
  377.         case Strzelec:
  378.         {
  379.             give_item(id, "weapon_m4a1");
  380.             give_item(id, "weapon_ak47");
  381.         }
  382.         case Obronca:
  383.         {
  384.             give_item(id, "weapon_m249");
  385.             give_item(id, "weapon_hegrenade");
  386.             give_item(id, "weapon_flashbang");             
  387.             give_item(id, "weapon_smokegrenade");
  388.         }
  389.         case Medyk:
  390.         {
  391.             give_item(id, "weapon_ump45");
  392.             ilosc_apteczek_gracza[id] = 2;
  393.         }  
  394.         case Wsparcie:
  395.         {
  396.             give_item(id, "weapon_mp5navy");
  397.             ilosc_rakiet_gracza[id] = 2;
  398.         }
  399.         case Saper:
  400.         {
  401.             give_item(id, "weapon_p90");
  402.             ilosc_min_gracza[id] = 3;
  403.         }
  404.         case Demolitions:
  405.         {
  406.             give_item(id, "weapon_aug");
  407.             give_item(id, "weapon_hegrenade");
  408.             give_item(id, "weapon_flashbang");
  409.             give_item(id, "weapon_smokegrenade");
  410.             ilosc_dynamitow_gracza[id] = 1;
  411.         }
  412.         case Rusher:
  413.         {
  414.             give_item(id, "weapon_m3");
  415.         }
  416.         case Rambo:
  417.         {
  418.             give_item(id, "weapon_famas");
  419.         }
  420.     }
  421.        
  422.     if(gracz_resetuje[id])
  423.     {
  424.         ResetujPunkty(id);
  425.         gracz_resetuje[id] = false;
  426.     }
  427.    
  428.     if(punkty_gracza[id]>0)
  429.         PrzydzielPunkty(id);
  430.            
  431.     if(informacje_przedmiotu_gracza[id][0] == 10 || informacje_przedmiotu_gracza[id][0] == 9)
  432.         give_item(id, "weapon_hegrenade");
  433.            
  434.     if(informacje_przedmiotu_gracza[id][0] == 9)
  435.         ZmienUbranie(id, 0);
  436.            
  437.     if(informacje_przedmiotu_gracza[id][0] == 1)
  438.         set_user_footsteps(id, 1);
  439.     else
  440.         set_user_footsteps(id, 0);
  441.        
  442.     if(informacje_przedmiotu_gracza[id][0] == 13)
  443.         give_item(id, "weapon_awp");
  444.        
  445.     if(informacje_przedmiotu_gracza[id][0] == 19)
  446.         informacje_przedmiotu_gracza[id][1] = 1;
  447.    
  448.     if(informacje_przedmiotu_gracza[id][0] == 27)
  449.         informacje_przedmiotu_gracza[id][1] = 3;
  450.            
  451.     new weapons[32];
  452.     new weaponsnum;
  453.     get_user_weapons(id, weapons, weaponsnum);
  454.     for(new i=0; i<weaponsnum; i++)
  455.         if(is_user_alive(id))
  456.             if(maxAmmo[weapons[i]] > 0)
  457.                 cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
  458.        
  459.     redukcja_obrazen_gracza[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(wytrzymalosc_gracza[id])))/100);
  460.     maksymalne_zdrowie_gracza[id] = zdrowie_klasy[klasa_gracza[id]]+zdrowie_gracza[id]*2;
  461.     szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC*szybkosc_klasy[klasa_gracza[id]]+floatround(kondycja_gracza[id]*1.3);
  462.    
  463.     if(informacje_przedmiotu_gracza[id][0] == 18)
  464.     {
  465.         maksymalne_zdrowie_gracza[id] += 100;
  466.         szybkosc_gracza[id] -= 0.4;
  467.     }
  468.        
  469.     if(informacje_przedmiotu_gracza[id][0] == 25)
  470.     {
  471.         maksymalne_zdrowie_gracza[id] += 50;
  472.         szybkosc_gracza[id] -= 0.3;
  473.     }
  474.    
  475.     set_user_armor(id, pancerz_klasy[klasa_gracza[id]]);
  476.     set_user_health(id, maksymalne_zdrowie_gracza[id]);
  477.     if(informacje_przedmiotu_gracza[id][0] == 17)
  478.         set_user_armor(id, 500);
  479.        
  480.     return PLUGIN_CONTINUE;
  481. }
  482.  
  483. public PoczatekRundy() 
  484. {
  485.     freezetime = false;
  486.     for(new id=0;id<=32;id++)
  487.     {
  488.         if(!is_user_alive(id))
  489.             continue;
  490.        
  491.         set_task(0.1, "UstawSzybkosc", id+ZADANIE_USTAW_SZYBKOSC);
  492.        
  493.         switch(get_user_team(id))
  494.         {
  495.             case 1: client_cmd(id, "spk QTM_CodMod/start");
  496.             case 2: client_cmd(id, "spk QTM_CodMod/start2");
  497.         }
  498.     }
  499. }
  500.  
  501. public NowaRunda()
  502. {
  503.     freezetime = true;
  504.     new iEnt = find_ent_by_class(-1, "Mine");
  505.     while(iEnt > 0)
  506.     {
  507.         remove_entity(iEnt);
  508.         iEnt = find_ent_by_class(iEnt, "Mine");
  509.     }
  510. }
  511.  
  512. public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
  513. {
  514.     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])
  515.         return HAM_IGNORED;
  516.        
  517.     new health = get_user_health(this);
  518.     new weapon = get_user_weapon(idattacker);
  519.    
  520.     if(health < 2)
  521.         return HAM_IGNORED;
  522.    
  523.     if(informacje_przedmiotu_gracza[this][0] == 27 && informacje_przedmiotu_gracza[this][1]>0)
  524.     {
  525.         informacje_przedmiotu_gracza[this][1]--;
  526.         return HAM_SUPERCEDE;
  527.     }
  528.  
  529.     if(wytrzymalosc_gracza[this]>0)
  530.         damage -= redukcja_obrazen_gracza[this]*damage;
  531.        
  532.     if(informacje_przedmiotu_gracza[this][0] == 2 || informacje_przedmiotu_gracza[this][0] == 3)
  533.         damage-=(float(informacje_przedmiotu_gracza[this][1])<damage)? float(informacje_przedmiotu_gracza[this][1]): damage;
  534.            
  535.     if(informacje_przedmiotu_gracza[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
  536.         damage*=2.0;
  537.        
  538.     if(informacje_przedmiotu_gracza[idattacker][0] == 10)
  539.         damage+=informacje_przedmiotu_gracza[idattacker][1];
  540.        
  541.     if(informacje_przedmiotu_gracza[this][0] == 12)
  542.         damage-=(5.0<damage)? 5.0: damage;
  543.    
  544.     if(weapon == CSW_AWP && informacje_przedmiotu_gracza[idattacker][0] == 13)
  545.         damage=float(health);
  546.        
  547.     if(informacje_przedmiotu_gracza[idattacker][0] == 21)
  548.         damage+=10;
  549.        
  550.     if(informacje_przedmiotu_gracza[idattacker][0] == 22)
  551.         damage+=20;
  552.        
  553.     if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
  554.     {
  555.         if((informacje_przedmiotu_gracza[idattacker][0] == 9 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1) || informacje_przedmiotu_gracza[idattacker][0] == 10)
  556.             damage = float(health);
  557.     }
  558.  
  559.     if(weapon == CSW_KNIFE)
  560.     {
  561.         if(informacje_przedmiotu_gracza[this][0] == 4)
  562.             damage=damage*1.4+inteligencja_gracza[idattacker];
  563.         if(informacje_przedmiotu_gracza[idattacker][0] == 8 || (klasa_gracza[idattacker] == Snajper && random(2) == 2) || klasa_gracza[idattacker] == Komandos && !(get_user_button(idattacker) & IN_ATTACK))
  564.             damage = float(health);
  565.     }
  566.    
  567.     if(informacje_przedmiotu_gracza[this][0] == 26 && random_num(1, informacje_przedmiotu_gracza[this][1]) == 1)
  568.     {
  569.         SetHamParamEntity(3, this);
  570.         SetHamParamEntity(1, idattacker);
  571.     }
  572.        
  573.        
  574.     SetHamParamFloat(4, damage);
  575.     return HAM_IGNORED;
  576. }
  577.  
  578. public Damage(id)
  579. {
  580.     new attacker = get_user_attacker(id);
  581.     new damage = read_data(2);
  582.     if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !klasa_gracza[attacker])
  583.         return PLUGIN_CONTINUE;
  584.        
  585.     if(informacje_przedmiotu_gracza[attacker][0] == 12 && random_num(1, informacje_przedmiotu_gracza[id][1]) == 1)
  586.         Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
  587.    
  588.     if(get_user_team(id) != get_user_team(attacker))
  589.     {
  590.         while(damage>20)
  591.         {
  592.             damage-=20;
  593.             doswiadczenie_gracza[attacker]++;
  594.         }
  595.     }
  596.     SprawdzPoziom(attacker);
  597.     return PLUGIN_CONTINUE;
  598. }
  599.  
  600. public Death()
  601. {
  602.     new id = read_data(2);
  603.     new attacker = read_data(1);
  604.    
  605.     if(!is_user_alive(attacker) || !is_user_connected(attacker))
  606.         return PLUGIN_CONTINUE;
  607.    
  608.     new weapon = get_user_weapon(attacker);
  609.     new zdrowie = get_user_health(attacker);
  610.    
  611.     if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
  612.     {
  613.         new nowe_doswiadczenie = 0;
  614.        
  615.         nowe_doswiadczenie += doswiadczenia_za_zabojstwo;
  616.        
  617.         if(klasa_gracza[id] == Rambo && klasa_gracza[attacker] != Rambo)
  618.             nowe_doswiadczenie += doswiadczenia_za_zabojstwo*2;
  619.        
  620.         if(poziom_gracza[id] > poziom_gracza[attacker])
  621.             nowe_doswiadczenie += poziom_gracza[id] - poziom_gracza[attacker];
  622.        
  623.         if(klasa_gracza[attacker] == Rambo || informacje_przedmiotu_gracza[attacker][0] == 15 && maxClip[weapon] != -1)
  624.         {
  625.    
  626.             new nowe_zdrowie = (zdrowie+20<maksymalne_zdrowie_gracza[attacker])? zdrowie+20: maksymalne_zdrowie_gracza[attacker];
  627.             set_user_clip(attacker, maxClip[weapon]);
  628.             set_user_health(attacker, nowe_zdrowie);
  629.         }
  630. #if defined BOTY
  631.         if(is_user_bot2(attacker) && random(9) == 0)
  632.             WyrzucPrzedmiot(id);
  633. #endif
  634.         if(!informacje_przedmiotu_gracza[attacker][0])
  635.             DajPrzedmiot(attacker, random_num(1, sizeof nazwy_przedmiotow-1));
  636.    
  637.         if(informacje_przedmiotu_gracza[attacker][0] == 14)
  638.         {
  639.             new nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_gracza[attacker])? zdrowie+50: maksymalne_zdrowie_gracza[attacker];
  640.             set_user_health(attacker, nowe_zdrowie);
  641.         }
  642.        
  643.         set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
  644.         ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_doswiadczenie);
  645.        
  646.         doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
  647.     }
  648.    
  649.     SprawdzPoziom(attacker);
  650.    
  651.     if(informacje_przedmiotu_gracza[id][0] == 7 && random_num(1, informacje_przedmiotu_gracza[id][1]) == 1)
  652.         set_task(0.1, "Wskrzes", id+ZADANIE_WSKRZES);
  653.    
  654.     return PLUGIN_CONTINUE;
  655. }
  656.  
  657. public client_connect(id)
  658. {
  659.     //resetuje umiejetnosci
  660.     klasa_gracza[id] = 0;
  661.     poziom_gracza[id] = 0;
  662.     doswiadczenie_gracza[id] = 0;
  663.     punkty_gracza[id] = 0;
  664.     zdrowie_gracza[id] = 0;
  665.     inteligencja_gracza[id] = 0;
  666.     wytrzymalosc_gracza[id] = 0;
  667.     kondycja_gracza[id] = 0;
  668.     maksymalne_zdrowie_gracza[id] = 0;
  669.     szybkosc_gracza[id] = 0.0;
  670.  
  671.    
  672.     get_user_name(id, nazwa_gracza[id], 63);
  673.    
  674.     remove_task(id+ZADANIE_POKAZ_INFORMACJE);
  675.     remove_task(id+ZADANIE_POKAZ_REKLAME)
  676.     remove_task(id+ZADANIE_USTAW_SZYBKOSC);
  677.     remove_task(id+ZADANIE_WSKRZES);
  678.     remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
  679.    
  680.     set_task(10.0, "PokazReklame", id+ZADANIE_POKAZ_REKLAME);
  681.     set_task(3.0, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
  682.    
  683.     //resetuje przedmioty
  684.     UsunPrzedmiot(id);
  685. }
  686.  
  687. public client_disconnect(id)
  688. {
  689.     remove_task(id+ZADANIE_POKAZ_INFORMACJE);
  690.     remove_task(id+ZADANIE_POKAZ_REKLAME)
  691.     remove_task(id+ZADANIE_USTAW_SZYBKOSC);
  692.     remove_task(id+ZADANIE_WSKRZES);
  693.     remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
  694.        
  695.     ZapiszDane(id);
  696.     UsunPrzedmiot(id);
  697. }
  698.    
  699. public RozbrajaBombe(id)
  700.     if(klasa_gracza[id])
  701.         rozbrajajacy = id;
  702.    
  703. public BombaPodlozona()
  704. {
  705.     new Players[32], playerCount, id;
  706.     get_players(Players, playerCount, "aeh", "TERRORIST");
  707.    
  708.     if(get_playersnum() > 1)
  709.     {
  710.         doswiadczenie_gracza[podkladajacy] += doswiadczenie_za_bombe;
  711.         for (new i=0; i<playerCount; i++)
  712.         {
  713.             id = Players[i];
  714.             if(!klasa_gracza[id])
  715.                 continue;
  716.                
  717.             if(id != podkladajacy)
  718.             {
  719.                 doswiadczenie_gracza[id] += doswiadczenia_za_zabojstwo;
  720.                 client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za podlozenie bomby przez twoj team.", doswiadczenia_za_zabojstwo);
  721.             }
  722.             else
  723.             {
  724.                 client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za podlozenie bomby.", doswiadczenie_za_bombe);
  725.             }
  726.             SprawdzPoziom(id);
  727.         }
  728.     }
  729. }
  730.  
  731. public BombaRozbrojona()
  732. {
  733.     new Players[32], playerCount, id;
  734.     get_players(Players, playerCount, "aeh", "CT");
  735.    
  736.     doswiadczenie_gracza[rozbrajajacy] += doswiadczenie_za_bombe;
  737.     for (new i=0; i<playerCount; i++)
  738.     {
  739.         id = Players[i];
  740.         if(!klasa_gracza[id])
  741.             continue;
  742.         if(id != rozbrajajacy)
  743.         {
  744.             doswiadczenie_gracza[id]+= doswiadczenia_za_zabojstwo;
  745.             client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za rozbrojenie bomby przez twoj team.", doswiadczenia_za_zabojstwo);
  746.         }
  747.         else
  748.             client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za rozbrojenie bomby.",doswiadczenie_za_bombe);
  749.         SprawdzPoziom(id);
  750.     }
  751. }
  752.  
  753. public OpisKlasy(id)
  754. {
  755.     new menu = menu_create("Wybierz klase:", "OpisKlasy_Handle");
  756.     for(new i=1; i<sizeof nazwy_klas; i++)
  757.         menu_additem(menu, nazwy_klas[i]);
  758.     menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
  759.     menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
  760.     menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
  761.     menu_display(id, menu);
  762.    
  763.     client_cmd(id, "spk QTM_CodMod/select");
  764. }
  765.  
  766. public OpisKlasy_Handle(id, menu, item)
  767. {
  768.     client_cmd(id, "spk QTM_CodMod/select");
  769.    
  770.     if(item == MENU_EXIT)
  771.     {
  772.         menu_destroy(menu);
  773.         return PLUGIN_CONTINUE;
  774.     }
  775.     client_print(id, print_chat, "[COD:MW] %s: %s", nazwy_klas[item+1], opisy_klas[item+1]);
  776.     menu_display(id, menu);
  777.    
  778.     return PLUGIN_CONTINUE;
  779. }
  780.  
  781. public WybierzKlase(id)
  782. {
  783.     new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
  784.     new klasa[50];
  785.     for(new i=1; i<sizeof nazwy_klas; i++)
  786.     {
  787.         WczytajDane(id, i);
  788.         format(klasa, 49, "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
  789.         menu_additem(menu, klasa);
  790.     }
  791.    
  792.     WczytajDane(id, klasa_gracza[id]);
  793.    
  794.     menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
  795.     menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
  796.     menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
  797.     menu_display(id, menu);
  798.        
  799.     client_cmd(id, "spk QTM_CodMod/select");
  800. #if defined BOTY
  801.     if(is_user_bot2(id))
  802.         WybierzKlase_Handle(id, menu, random(sizeof nazwy_klas-1));
  803. #endif
  804. }
  805.  
  806. public WybierzKlase_Handle(id, menu, item)
  807. {
  808.     client_cmd(id, "spk QTM_CodMod/select");
  809.    
  810.     if(item == MENU_EXIT)
  811.     {
  812.         menu_destroy(menu);
  813.         return PLUGIN_CONTINUE;
  814.     }  
  815.        
  816.     item++;
  817.    
  818.     if(item == klasa_gracza[id])
  819.         return PLUGIN_CONTINUE;
  820.    
  821.     if(item == Rambo && !(get_user_flags(id) & ADMIN_LEVEL_H))
  822.     {
  823.         client_print(id, print_chat, "[COD:MW] Nie masz uprawnien aby kozystac z klasy premium.");
  824.         WybierzKlase(id);
  825.         return PLUGIN_CONTINUE;
  826.     }
  827.    
  828.     if(klasa_gracza[id])
  829.     {
  830.         nowa_klasa_gracza[id] = item;
  831.         client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
  832.     }
  833.     else
  834.     {
  835.         klasa_gracza[id] = item;
  836.         WczytajDane(id, klasa_gracza[id]);
  837.         Odrodzenie(id);
  838.     }
  839.     return PLUGIN_CONTINUE;
  840. }
  841.  
  842. public PrzydzielPunkty(id)
  843. {
  844.     new inteligencja[65];
  845.     new zdrowie[60];
  846.     new wytrzymalosc[60];
  847.     new kondycja[60];
  848.     new tytul[25];
  849.     format(inteligencja, 64, "Inteligencja: \r%i \y(Zwieksza obrazenia zadawane przedmiotami)", inteligencja_gracza[id]);
  850.     format(zdrowie, 59, "Zycie: \r%i \y(Zwieksza zycie)", zdrowie_gracza[id]);
  851.     format(wytrzymalosc, 59, "Wytrzymalosc: \r%i \y(Zmniejsza obrazenia)", wytrzymalosc_gracza[id]);
  852.     format(kondycja, 59, "Kondycja: \r%i \y(Zwieksza tempo chodu)", kondycja_gracza[id]);
  853.     format(tytul, 24, "Przydziel Punkty(%i):", punkty_gracza[id]);
  854.     new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
  855.     menu_additem(menu, inteligencja);
  856.     menu_additem(menu, zdrowie);
  857.     menu_additem(menu, wytrzymalosc);
  858.     menu_additem(menu, kondycja);
  859.     menu_display(id, menu);
  860. #if defined BOTY
  861.     if(is_user_bot2(id))
  862.         PrzydzielPunkty_Handler(id, menu, random(4));
  863. #endif
  864. }
  865.  
  866. public PrzydzielPunkty_Handler(id, menu, item)
  867. {
  868.     client_cmd(id, "spk QTM_CodMod/select");
  869.    
  870.     if(item == MENU_EXIT)
  871.     {
  872.         menu_destroy(menu);
  873.         return PLUGIN_CONTINUE;
  874.     }
  875.    
  876.     switch(item)
  877.     {
  878.         case 0:
  879.         {  
  880.             if(inteligencja_gracza[id]<100)
  881.                 inteligencja_gracza[id]++;
  882.             else
  883.                 client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety");
  884.            
  885.         }
  886.         case 1:
  887.         {  
  888.             if(zdrowie_gracza[id]<100)
  889.                 zdrowie_gracza[id]++;
  890.             else
  891.                 client_print(id, print_chat, "[COD:MW] Maxymalny poziom sily osiagniety");
  892.         }
  893.         case 2:
  894.         {  
  895.             if(wytrzymalosc_gracza[id]<100)
  896.                 wytrzymalosc_gracza[id]++;
  897.             else
  898.                 client_print(id, print_chat, "[COD:MW] Maxymalny poziom zrecznosci osiagniety");
  899.            
  900.         }
  901.         case 3:
  902.         {  
  903.             if(kondycja_gracza[id]<100)
  904.                 kondycja_gracza[id]++;
  905.             else
  906.                 client_print(id, print_chat, "[COD:MW] Maxymalny poziom zwinnosci osiagniety");
  907.         }
  908.     }
  909.    
  910.     punkty_gracza[id]--;
  911.    
  912.     if(punkty_gracza[id]>0)
  913.         PrzydzielPunkty(id);
  914.        
  915.     return PLUGIN_CONTINUE;
  916. }
  917.  
  918. public ResetujPunkty(id)
  919. {  
  920.     punkty_gracza[id] = poziom_gracza[id]*2-2;
  921.     inteligencja_gracza[id] = 0;
  922.     zdrowie_gracza[id] = 0;
  923.     kondycja_gracza[id] = 0;
  924.     wytrzymalosc_gracza[id] = 0;
  925. }
  926.  
  927. public KomendaResetujPunkty(id)
  928. {  
  929.     client_print(id, print_chat, "[COD:MW] Umiejetnosci zostana zresetowane w nastepnej rundzie.");
  930.     client_cmd(id, "spk QTM_CodMod/select");
  931.     gracz_resetuje[id] = true;
  932. }
  933.  
  934. public WyszkolenieSanitarne(id)
  935. {
  936.     id -= ZADANIE_WYSZKOLENIE_SANITARNE;
  937.     if(informacje_przedmiotu_gracza[id][0] != 16)
  938.         return PLUGIN_CONTINUE;
  939.     set_task(5.0, "WyszkolenieSanitarne", id+ZADANIE_WYSZKOLENIE_SANITARNE);
  940.     if(!is_user_alive(id))
  941.         return PLUGIN_CONTINUE;
  942.     new health = get_user_health(id);
  943.     new new_health = (health+10<maksymalne_zdrowie_gracza[id])?health+10:maksymalne_zdrowie_gracza[id];
  944.     set_user_health(id, new_health);
  945.     return PLUGIN_CONTINUE;
  946. }
  947.  
  948. public StworzApteczke(id)
  949. {
  950.     if (!ilosc_apteczek_gracza[id])
  951.     {
  952.         client_print(id, print_center, "Masz tylko 2 apteczki na runde!");
  953.         return PLUGIN_CONTINUE;
  954.     }
  955.    
  956.     if(inteligencja_gracza[id] < 1)
  957.         client_print(id, print_center, "Aby wzmocnic apteczke, zwieksz inteligencje!");
  958.        
  959.     ilosc_apteczek_gracza[id]--;
  960.    
  961.     new Float:origin[3];
  962.     entity_get_vector(id, EV_VEC_origin, origin);
  963.    
  964.     new ent = create_entity("info_target");
  965.     entity_set_string(ent, EV_SZ_classname, "Apteczka");
  966.     entity_set_edict(ent, EV_ENT_owner, id);
  967.     entity_set_int(ent, EV_INT_solid, SOLID_NOT);
  968.     entity_set_vector(ent, EV_VEC_origin, origin);
  969.     entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
  970.    
  971.    
  972.     entity_set_model(ent, "models/w_medkit.mdl");
  973.     set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 )  ;
  974.     drop_to_floor(ent);
  975.    
  976.     entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
  977.    
  978.     return PLUGIN_CONTINUE;
  979. }
  980.  
  981. public ApteczkaThink(ent)
  982. {
  983.     new id = entity_get_edict(ent, EV_ENT_owner);
  984.     new totem_dist = 300;
  985.     new totem_heal = 5+floatround(inteligencja_gracza[id]*0.5);
  986.     if (entity_get_edict(ent, EV_ENT_euser2) == 1)
  987.     {      
  988.         new Float:forigin[3], origin[3];
  989.         entity_get_vector(ent, EV_VEC_origin, forigin);
  990.         FVecIVec(forigin,origin);
  991.        
  992.         new entlist[33];
  993.         new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);
  994.        
  995.         for (new i=0; i < numfound; i++)
  996.         {      
  997.             new pid = entlist[i];
  998.            
  999.             if (get_user_team(pid) != get_user_team(id))
  1000.                 continue;
  1001.                                
  1002.             new zdrowie = get_user_health(pid);
  1003.             new nowe_zdrowie = (zdrowie+totem_heal<maksymalne_zdrowie_gracza[pid])?zdrowie+totem_heal:maksymalne_zdrowie_gracza[pid];
  1004.             if (is_user_alive(pid)) set_user_health(pid, nowe_zdrowie);    
  1005.         }
  1006.        
  1007.         entity_set_edict(ent, EV_ENT_euser2, 0);
  1008.         entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
  1009.        
  1010.         return PLUGIN_CONTINUE;
  1011.     }
  1012.    
  1013.     if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
  1014.     {
  1015.         remove_entity(ent);
  1016.         return PLUGIN_CONTINUE;
  1017.     }
  1018.    
  1019.     if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
  1020.         set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) ;
  1021.        
  1022.     new Float:forigin[3], origin[3];
  1023.     entity_get_vector(ent, EV_VEC_origin, forigin);
  1024.     FVecIVec(forigin,origin);
  1025.                    
  1026.     //Find people near and give them health
  1027.     message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
  1028.     write_byte( TE_BEAMCYLINDER );
  1029.     write_coord( origin[0] );
  1030.     write_coord( origin[1] );
  1031.     write_coord( origin[2] );
  1032.     write_coord( origin[0] );
  1033.     write_coord( origin[1] + totem_dist );
  1034.     write_coord( origin[2] + totem_dist );
  1035.     write_short( sprite_white );
  1036.     write_byte( 0 ); // startframe
  1037.     write_byte( 0 ); // framerate
  1038.     write_byte( 10 ); // life
  1039.     write_byte( 10 ); // width
  1040.     write_byte( 255 ); // noise
  1041.     write_byte( 255 ); // r, g, b
  1042.     write_byte( 100 );// r, g, b
  1043.     write_byte( 100 ); // r, g, b
  1044.     write_byte( 128 ); // brightness
  1045.     write_byte( 5 ); // speed
  1046.     message_end();
  1047.        
  1048.     entity_set_edict(ent, EV_ENT_euser2 ,1);
  1049.     entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
  1050.    
  1051.        
  1052.     return PLUGIN_CONTINUE;
  1053.  
  1054. }
  1055.  
  1056. public StworzRakiete(id)
  1057. {
  1058.     if (!ilosc_rakiet_gracza[id])
  1059.     {
  1060.         client_print(id, print_center, "Wykrzystales juz wszystkie rakiety!");
  1061.         return PLUGIN_CONTINUE;
  1062.     }
  1063.    
  1064.     if(poprzednia_rakieta_gracza[id] + 2.0 > get_gametime())
  1065.     {
  1066.         client_print(id, print_center, "Rakiet mozesz uzywac co 2 sekundy!");
  1067.         return PLUGIN_CONTINUE;
  1068.     }
  1069.    
  1070.     if (is_user_alive(id))
  1071.     {  
  1072.         if(inteligencja_gracza[id] < 1)
  1073.             client_print(id, print_center, "Aby wzmocnic rakiete, zwieksz inteligencje!");
  1074.            
  1075.         poprzednia_rakieta_gracza[id] = get_gametime();
  1076.         ilosc_rakiet_gracza[id]--;
  1077.  
  1078.         new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
  1079.        
  1080.         entity_get_vector(id, EV_VEC_v_angle, vAngle);
  1081.         entity_get_vector(id, EV_VEC_origin , Origin);
  1082.    
  1083.         new Ent = create_entity("info_target");
  1084.    
  1085.         entity_set_string(Ent, EV_SZ_classname, "Rocket");
  1086.         entity_set_model(Ent, "models/rpgrocket.mdl");
  1087.    
  1088.         vAngle[0] *= -1.0;
  1089.    
  1090.         entity_set_origin(Ent, Origin);
  1091.         entity_set_vector(Ent, EV_VEC_angles, vAngle);
  1092.    
  1093.         entity_set_int(Ent, EV_INT_effects, 2);
  1094.         entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
  1095.         entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
  1096.         entity_set_edict(Ent, EV_ENT_owner, id);
  1097.    
  1098.         VelocityByAim(id, 1000 , Velocity);
  1099.         entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
  1100.     }  
  1101.     return PLUGIN_CONTINUE;
  1102. }
  1103.  
  1104. public PolozDynamit(id)
  1105. {
  1106.     if(!ilosc_dynamitow_gracza[id])
  1107.     {
  1108.         client_print(id, print_center, "Wykorzystales juz caly dynamit!");
  1109.         return PLUGIN_CONTINUE;
  1110.     }
  1111.    
  1112.     if(inteligencja_gracza[id] < 1)
  1113.         client_print(id, print_center, "Aby wzmocnic dynamit, zwieksz inteligencje!");
  1114.    
  1115.     ilosc_dynamitow_gracza[id]--;
  1116.     new Float:fOrigin[3], iOrigin[3];
  1117.     entity_get_vector( id, EV_VEC_origin, fOrigin);
  1118.     iOrigin[0] = floatround(fOrigin[0]);
  1119.     iOrigin[1] = floatround(fOrigin[1]);
  1120.     iOrigin[2] = floatround(fOrigin[2]);
  1121.  
  1122.     message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1123.     write_byte(TE_EXPLOSION);
  1124.     write_coord(iOrigin[0]);
  1125.     write_coord(iOrigin[1]);
  1126.     write_coord(iOrigin[2]);
  1127.     write_short(sprite_blast);
  1128.     write_byte(32);
  1129.     write_byte(20);
  1130.     write_byte(0);
  1131.     message_end();
  1132.    
  1133.     message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
  1134.     write_byte( TE_BEAMCYLINDER );
  1135.     write_coord( iOrigin[0] );
  1136.     write_coord( iOrigin[1] );
  1137.     write_coord( iOrigin[2] );
  1138.     write_coord( iOrigin[0] );
  1139.     write_coord( iOrigin[1] + 300 );
  1140.     write_coord( iOrigin[2] + 300 );
  1141.     write_short( sprite_white );
  1142.     write_byte( 0 ); // startframe
  1143.     write_byte( 0 ); // framerate
  1144.     write_byte( 10 ); // life
  1145.     write_byte( 10 ); // width
  1146.     write_byte( 255 ); // noise
  1147.     write_byte( 255 ); // r, g, b
  1148.     write_byte( 100 );// r, g, b
  1149.     write_byte( 100 ); // r, g, b
  1150.     write_byte( 128 ); // brightness
  1151.     write_byte( 8 ); // speed
  1152.     message_end();
  1153.  
  1154.     new entlist[33];
  1155.     new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
  1156.    
  1157.     for (new i=0; i < numfound; i++)
  1158.     {      
  1159.         new pid = entlist[i];
  1160.        
  1161.         if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24)
  1162.             continue;
  1163.         ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencja_gracza[id]) , 1);
  1164.     }
  1165.     return PLUGIN_CONTINUE;
  1166. }
  1167.  
  1168. public PostawMine(id)
  1169. {
  1170.     if (!ilosc_min_gracza[id])
  1171.     {
  1172.         client_print(id, print_center, "Wykorzystales juz wszystkie miny!");
  1173.         return PLUGIN_CONTINUE;
  1174.     }
  1175.    
  1176.     if(inteligencja_gracza[id] < 1)
  1177.         client_print(id, print_center, "Aby wzmocnic miny, zwieksz inteligencje!");
  1178.    
  1179.     ilosc_min_gracza[id]--;
  1180.    
  1181.     new Float:origin[3];
  1182.     entity_get_vector(id, EV_VEC_origin, origin);
  1183.        
  1184.     new ent = create_entity("info_target");
  1185.     entity_set_string(ent ,EV_SZ_classname, "Mine");
  1186.     entity_set_edict(ent ,EV_ENT_owner, id);
  1187.     entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
  1188.     entity_set_origin(ent, origin);
  1189.     entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
  1190.    
  1191.     entity_set_model(ent, "models/mine.mdl");
  1192.     entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
  1193.    
  1194.     drop_to_floor(ent);
  1195.  
  1196.     entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;
  1197.    
  1198.     set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50) ;
  1199.    
  1200.    
  1201.     return PLUGIN_CONTINUE;
  1202. }
  1203.  
  1204. public DotykMiny(ent, id)
  1205. {
  1206.     new attacker = entity_get_edict(ent, EV_ENT_owner);
  1207.     if (get_user_team(attacker) != get_user_team(id))
  1208.     {
  1209.         new Float:fOrigin[3], iOrigin[3];
  1210.         entity_get_vector( ent, EV_VEC_origin, fOrigin);
  1211.         iOrigin[0] = floatround(fOrigin[0]);
  1212.         iOrigin[1] = floatround(fOrigin[1]);
  1213.         iOrigin[2] = floatround(fOrigin[2]);
  1214.        
  1215.         message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1216.         write_byte(TE_EXPLOSION);
  1217.         write_coord(iOrigin[0]);
  1218.         write_coord(iOrigin[1]);
  1219.         write_coord(iOrigin[2]);
  1220.         write_short(sprite_blast);
  1221.         write_byte(32); // scale
  1222.         write_byte(20); // framerate
  1223.         write_byte(0);// flags
  1224.         message_end();
  1225.         new entlist[33];
  1226.         new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
  1227.        
  1228.         for (new i=0; i < numfound; i++)
  1229.         {      
  1230.             new pid = entlist[i];
  1231.            
  1232.             if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24 || klasa_gracza[id] == Obronca)
  1233.                 continue;
  1234.                
  1235.             ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencja_gracza[attacker]) , 1);
  1236.         }
  1237.         remove_entity(ent);
  1238.     }
  1239. }
  1240.  
  1241. public DotykRakiety(ent)
  1242. {
  1243.     if ( !is_valid_ent(ent))
  1244.         return;
  1245.  
  1246.     new attacker = entity_get_edict(ent, EV_ENT_owner);
  1247.  
  1248.     new Float:fOrigin[3], iOrigin[3];
  1249.     entity_get_vector( ent, EV_VEC_origin, fOrigin);   
  1250.     iOrigin[0] = floatround(fOrigin[0]);
  1251.     iOrigin[1] = floatround(fOrigin[1]);
  1252.     iOrigin[2] = floatround(fOrigin[2]);
  1253.  
  1254.     message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
  1255.     write_byte(TE_EXPLOSION);
  1256.     write_coord(iOrigin[0]);
  1257.     write_coord(iOrigin[1]);
  1258.     write_coord(iOrigin[2]);
  1259.     write_short(sprite_blast);
  1260.     write_byte(32); // scale
  1261.     write_byte(20); // framerate
  1262.     write_byte(0);// flags
  1263.     message_end();
  1264.  
  1265.     new entlist[33];
  1266.     new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
  1267.    
  1268.     for (new i=0; i < numfound; i++)
  1269.     {      
  1270.         new pid = entlist[i];
  1271.        
  1272.         if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24)
  1273.             continue;
  1274.         ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_gracza[attacker]) , 1);
  1275.     }
  1276.     remove_entity(ent);
  1277. }  
  1278.  
  1279. public CurWeapon(id)
  1280. {
  1281.     if(freezetime || !klasa_gracza[id])
  1282.         return PLUGIN_CONTINUE;
  1283.        
  1284.     new weapon = read_data(2);
  1285.  
  1286.     UstawSzybkosc(id);
  1287.    
  1288.     if(weapon == CSW_C4)
  1289.         podkladajacy = id;
  1290.     return PLUGIN_CONTINUE;
  1291. }
  1292.  
  1293. public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
  1294. {
  1295.     if(equal(szSound, "common/wpn_denyselect.wav"))
  1296.     {
  1297.         UzyjPrzedmiotu(id);
  1298.         return FMRES_SUPERCEDE;
  1299.     }
  1300.    
  1301.     return FMRES_IGNORED;
  1302. }
  1303.  
  1304. public UzyjPrzedmiotu(id)
  1305. {
  1306.     if(informacje_przedmiotu_gracza[id][0] == 19 && informacje_przedmiotu_gracza[id][1]>0)
  1307.     {
  1308.         set_user_health(id, maksymalne_zdrowie_gracza[id]);
  1309.         informacje_przedmiotu_gracza[id][1]--;
  1310.     }
  1311.    
  1312.     if(ilosc_apteczek_gracza[id]>0)
  1313.         StworzApteczke(id);
  1314.     if(ilosc_rakiet_gracza[id]>0)
  1315.         StworzRakiete(id);
  1316.     if(ilosc_min_gracza[id]>0)
  1317.         PostawMine(id);
  1318.     if(ilosc_dynamitow_gracza[id]>0)
  1319.         PolozDynamit(id);
  1320.        
  1321.     return PLUGIN_HANDLED;
  1322. }
  1323.  
  1324. public ZapiszDane(id)
  1325. {
  1326.     new vaultkey[64],vaultdata[256];
  1327.     format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]);
  1328.     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]);
  1329.     nvault_set(g_vault,vaultkey,vaultdata);
  1330. }
  1331.  
  1332. public WczytajDane(id, klasa)
  1333. {
  1334.     new vaultkey[64],vaultdata[256];
  1335.     format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa);
  1336.     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]);
  1337.     nvault_get(g_vault,vaultkey,vaultdata,255);
  1338.  
  1339.     replace_all(vaultdata, 255, "#", " ");
  1340.  
  1341.     new doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32];
  1342.  
  1343.     parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, inteligencjagracza, 31, silagracza, 31, zrecznoscgracza, 31, zwinnoscgracza, 31);
  1344.  
  1345.     doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza);
  1346.     poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1;
  1347.     inteligencja_gracza[id] = str_to_num(inteligencjagracza);
  1348.     zdrowie_gracza[id] = str_to_num(silagracza);
  1349.     wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza);
  1350.     kondycja_gracza[id] = str_to_num(zwinnoscgracza);
  1351.     punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
  1352. }
  1353.  
  1354. public WyrzucPrzedmiot(id)
  1355. {
  1356.     if(informacje_przedmiotu_gracza[id][0])
  1357.     {
  1358.         client_print(id, print_chat, "[COD:MW] Wyrzuciles %s.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
  1359.         UsunPrzedmiot(id);
  1360.     }
  1361.     else
  1362.         client_print(id, print_chat, "[COD:MW] Nie masz zadnego przedmiotu.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
  1363. }
  1364.  
  1365. public UsunPrzedmiot(id)
  1366. {
  1367.     informacje_przedmiotu_gracza[id][0] = 0;
  1368.     informacje_przedmiotu_gracza[id][1] = 0;
  1369.     if(is_user_alive(id))
  1370.         set_user_footsteps(id, 0);
  1371.     set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
  1372.     ZmienUbranie(id, 1);
  1373. }
  1374.  
  1375. public DajPrzedmiot(id, przedmiot)
  1376. {
  1377.     UsunPrzedmiot(id);
  1378.     informacje_przedmiotu_gracza[id][0] = przedmiot;
  1379.     client_print(id, print_chat, "[COD:MW] Zdobyles %s.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]])
  1380.    
  1381.     switch(przedmiot)
  1382.     {
  1383.         case 1:
  1384.         {
  1385.             set_user_footsteps(id, 1);
  1386.         }
  1387.         case 2:
  1388.         {
  1389.             informacje_przedmiotu_gracza[id][1] = random_num(3,6);
  1390.         }
  1391.         case 3:
  1392.         {
  1393.             informacje_przedmiotu_gracza[id][1] = random_num(6, 11);
  1394.         }
  1395.         case 5:
  1396.         {
  1397.             informacje_przedmiotu_gracza[id][1] = random_num(6, 9);
  1398.         }
  1399.         case 6:
  1400.         {
  1401.             informacje_przedmiotu_gracza[id][1] = random_num(100, 150);
  1402.             set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, informacje_przedmiotu_gracza[id][1]);
  1403.         }
  1404.         case 7:
  1405.         {
  1406.             informacje_przedmiotu_gracza[id][1] = random_num(2, 4);
  1407.         }
  1408.         case 8:
  1409.         {
  1410.             if(klasa_gracza[id] == Komandos)
  1411.                 DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1));
  1412.         }
  1413.         case 9:
  1414.         {
  1415.             informacje_przedmiotu_gracza[id][1] = random_num(1, 3);
  1416.             ZmienUbranie(id, 0);
  1417.             give_item(id, "weapon_hegrenade");
  1418.         }
  1419.         case 10:
  1420.         {
  1421.             informacje_przedmiotu_gracza[id][1] = random_num(4, 8);
  1422.             give_item(id, "weapon_hegrenade");
  1423.         }
  1424.         case 12:
  1425.         {
  1426.             informacje_przedmiotu_gracza[id][1] = random_num(1, 4);
  1427.         }
  1428.         case 13:
  1429.         {
  1430.             give_item(id, "weapon_awp");
  1431.         }
  1432.         case 15:
  1433.         {
  1434.             if(klasa_gracza[id] == Rambo)
  1435.                 DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1));
  1436.         }
  1437.         case 16:
  1438.         {
  1439.             set_task(5.0, "WyszkolenieSanitarne", id+ZADANIE_WYSZKOLENIE_SANITARNE);
  1440.         }
  1441.         case 19:
  1442.         {
  1443.             informacje_przedmiotu_gracza[id][1] = 1;
  1444.         }
  1445.         case 26:
  1446.         {
  1447.             informacje_przedmiotu_gracza[id][1] = random_num(3, 6);
  1448.         }
  1449.         case 27:
  1450.         {
  1451.             informacje_przedmiotu_gracza[id][1] = 3;
  1452.         }
  1453.     }
  1454. }
  1455.    
  1456. public OpisPrzedmiotu(id)
  1457. {
  1458.     new opis_przedmiotu[128];
  1459.     new losowa_wartosc[3];
  1460.     num_to_str(informacje_przedmiotu_gracza[id][1], losowa_wartosc, 2);
  1461.     format(opis_przedmiotu, 127, opisy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
  1462.     replace_all(opis_przedmiotu, 127, "LW", losowa_wartosc);
  1463.    
  1464.     client_print(id, print_chat, "Przedmiot: %s.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
  1465.     client_print(id, print_chat, "Opis: %s.", opis_przedmiotu);
  1466. }
  1467.  
  1468. public Wskrzes(id)
  1469. {
  1470.     id-=ZADANIE_WSKRZES;
  1471.     ExecuteHamB(Ham_CS_RoundRespawn, id);
  1472. }
  1473.  
  1474. public SprawdzPoziom(id)
  1475. {  
  1476.     if(poziom_gracza[id] < 201)
  1477.     {
  1478.         while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
  1479.         {
  1480.             poziom_gracza[id]++;
  1481.             set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
  1482.             ShowSyncHudMsg(id, SyncHudObj3, "Awansowales do nastepnego poziomu!");
  1483.             client_cmd(id, "spk QTM_CodMod/levelup");
  1484.         }
  1485.    
  1486.         punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
  1487.     }
  1488.     ZapiszDane(id);
  1489. }
  1490.  
  1491. public PokazInformacje(id)
  1492. {
  1493.     id -= ZADANIE_POKAZ_INFORMACJE;
  1494.    
  1495.     set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
  1496.        
  1497.     if(!is_user_alive(id))
  1498.     {
  1499.         new target = entity_get_int(id, EV_INT_iuser2);
  1500.        
  1501.         if(target == 0)
  1502.             return PLUGIN_CONTINUE;
  1503.            
  1504.         set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
  1505.         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]]);
  1506.        
  1507.         return PLUGIN_CONTINUE;
  1508.     }
  1509.     set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
  1510.     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]]);
  1511.     return PLUGIN_CONTINUE;
  1512. }  
  1513.  
  1514. public PokazReklame(id)
  1515. {
  1516.     id-=ZADANIE_POKAZ_REKLAME;
  1517.     client_print(id, print_chat, "[COD:MW] Witaj w Modyfikacji Call of Duty stworzonej przez QTM_Peyote.");
  1518. }
  1519.  
  1520. public UstawSzybkosc(id)
  1521. {
  1522.     id -= id>32? ZADANIE_USTAW_SZYBKOSC: 0;
  1523.    
  1524.     if(klasa_gracza[id])
  1525.         set_user_maxspeed(id, szybkosc_gracza[id]);
  1526. }
  1527.    
  1528. public ZmienUbranie(id,reset)
  1529. {
  1530.     if (id<1 || id>32 || !is_user_connected(id))
  1531.         return PLUGIN_CONTINUE;
  1532.    
  1533.     if (reset)
  1534.         cs_reset_user_model(id);
  1535.     else
  1536.     {
  1537.         new num = random_num(0,3);
  1538.         switch(get_user_team(id))
  1539.         {
  1540.             case 1: cs_set_user_model(id, Ubrania_CT[num]);
  1541.             case 2:cs_set_user_model(id, Ubrania_Terro[num]);
  1542.         }
  1543.     }
  1544.    
  1545.     return PLUGIN_CONTINUE;
  1546. }
  1547.  
  1548. public Pomoc()
  1549. {
  1550.     switch(random(6))
  1551.     {
  1552.         case 0: client_print(0, print_chat, "[COD:MW] Aby zresetowac umiejetnosci napisz /reset.");
  1553.         case 1: client_print(0, print_chat, "[COD:MW] Aby zmienic klase napisz /klasa.");
  1554.         case 2: client_print(0, print_chat, "[COD:MW] Aby uzyc przedmiotu nacisnij E.");
  1555.         case 3: client_print(0, print_chat, "[COD:MW] Aby wyrzucic przedmiot napisz /wyrzuc.");
  1556.         case 4: client_print(0, print_chat, "[COD:MW] Aby zobaczyc opis przedmiotu napisz /przedmiot.");
  1557.         case 5: client_print(0, print_chat, "[COD:MW] Aby zobaczyc opis klas napisz /klasy.");
  1558.     }
  1559.     set_task(36.0, "Pomoc");
  1560. }
  1561.  
  1562. /*public cmd_setlvl(id, level, cid)
  1563. {
  1564.     if(!cmd_access(id,level,cid,3))
  1565.         return PLUGIN_HANDLED;
  1566.     new arg1[33];
  1567.     new arg2[6];
  1568.     read_argv(1, arg1, 32);
  1569.     read_argv(2, arg2, 5);
  1570.     new player = cmd_target(id, arg1);
  1571.     new value = str_to_num(arg2)-1;
  1572.    
  1573.     doswiadczenie_gracza[player] = doswiadczenie_poziomu[value];
  1574.     poziom_gracza[player] = 0;
  1575.     SprawdzPoziom(player);
  1576.     return PLUGIN_HANDLED;
  1577. }*/
  1578.  
  1579. public DotykBroni(weapon,id)
  1580. {
  1581.     new model[23];
  1582.     entity_get_string(weapon, EV_SZ_model, model, 22);
  1583.     if (!is_user_connected(id) || entity_get_edict(weapon, EV_ENT_owner) == id || equal(model, "models/w_backpack.mdl"))
  1584.         return HAM_IGNORED;
  1585.     return HAM_SUPERCEDE;
  1586. }
  1587.  
  1588. public BlokujKomende()
  1589.     return PLUGIN_HANDLED;
  1590.    
  1591. stock bool:UTIL_In_FOV(id,target)
  1592. {
  1593.     if (Find_Angle(id,target,9999.9) > 0.0)
  1594.         return true;
  1595.    
  1596.     return false;
  1597. }
  1598. #if defined BOTY
  1599. public is_user_bot2(id)
  1600. {
  1601.     new ping, loss
  1602.     get_user_ping(id, ping, loss)
  1603.     if(ping > 0 && loss > 0)
  1604.         return false
  1605.     return true
  1606. }
  1607. #endif
  1608.  
  1609. stock Float:Find_Angle(Core,Target,Float:dist)
  1610. {
  1611.     new Float:vec2LOS[2];
  1612.     new Float:flDot;
  1613.     new Float:CoreOrigin[3];
  1614.     new Float:TargetOrigin[3];
  1615.     new Float:CoreAngles[3];
  1616.    
  1617.     pev(Core,pev_origin,CoreOrigin);
  1618.     pev(Target,pev_origin,TargetOrigin);
  1619.    
  1620.     if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
  1621.         return 0.0;
  1622.    
  1623.     pev(Core,pev_angles, CoreAngles);
  1624.    
  1625.     for ( new i = 0; i < 2; i++ )
  1626.         vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i];
  1627.    
  1628.     new Float:veclength = Vec2DLength(vec2LOS);
  1629.    
  1630.     //Normalize V2LOS
  1631.     if (veclength <= 0.0)
  1632.     {
  1633.         vec2LOS[0] = 0.0;
  1634.         vec2LOS[1] = 0.0;
  1635.     }
  1636.     else
  1637.     {
  1638.         new Float:flLen = 1.0 / veclength;
  1639.         vec2LOS[0] = vec2LOS[0]*flLen;
  1640.         vec2LOS[1] = vec2LOS[1]*flLen;
  1641.     }
  1642.    
  1643.     //Do a makevector to make v_forward right
  1644.     engfunc(EngFunc_MakeVectors,CoreAngles);
  1645.    
  1646.     new Float:v_forward[3];
  1647.     new Float:v_forward2D[2];
  1648.     get_global_vector(GL_v_forward, v_forward);
  1649.    
  1650.     v_forward2D[0] = v_forward[0];
  1651.     v_forward2D[1] = v_forward[1];
  1652.    
  1653.     flDot = vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1];
  1654.    
  1655.     if ( flDot > 0.5 )
  1656.     {
  1657.         return flDot;
  1658.     }
  1659.    
  1660.     return 0.0;
  1661. }
  1662.  
  1663. stock Float:Vec2DLength( Float:Vec[2] )  
  1664. {
  1665.     return floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
  1666. }
  1667.  
  1668. stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
  1669. {
  1670.     message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
  1671.     write_short( duration );    // Duration of fadeout
  1672.     write_short( holdtime );    // Hold time of color
  1673.     write_short( fadetype );    // Fade type
  1674.     write_byte ( red );     // Red
  1675.     write_byte ( green );       // Green
  1676.     write_byte ( blue );        // Blue
  1677.     write_byte ( alpha );   // Alpha
  1678.     message_end();
  1679. }
  1680.  
  1681. stock set_user_clip(id, ammo)
  1682. {
  1683.     new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
  1684.     get_weaponname(weapon, weaponname, 31);
  1685.     while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
  1686.         if(entity_get_edict(weaponid, EV_ENT_owner) == id)
  1687.         {
  1688.             set_pdata_int(weaponid, 51, ammo, 4);
  1689.             return weaponid;
  1690.         }
  1691.     return 0;
  1692. }


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 1 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole