SHARE
TWEET

Untitled

a guest Dec 14th, 2019 103 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <hamsandwich>
  4. #include <fakemeta>
  5. #include <fun>
  6. #include <ColorChat>
  7.  
  8. native set_lights(Lighting[]);
  9. native jail_get_setmenu(id);
  10. native jail_match_menu(id);
  11.  
  12. #pragma dynamic 32768
  13. #define NEW_MODELS
  14.  
  15. #define setTask set_task
  16. #define removeTask remove_task
  17. #define taskExists task_exists
  18. #define setHud set_hudmessage
  19. #define showHud ShowSyncHudMsg
  20. #define isTeam(%0) get_user_team(%0)
  21. #define isFlagi(%0,%1) (get_user_flags(%0) & read_flags(%1))
  22. #define isAlive(%0) is_user_alive(%0)
  23. #define isConnected(%0) is_user_connected(%0)
  24. #define isBron(%0) get_user_weapon(%0)
  25. #define findEntName(%0,%1) engfunc(EngFunc_FindEntityByString, %0, "classname", %1)
  26. #define setLights(%0) set_lights(%0)
  27. #define removeEnt(%0) engfunc(EngFunc_RemoveEntity, %0)
  28. #define setHealth(%0,%1) set_user_health(%0, %1)
  29. #define giveItem(%0,%1) give_item(%0, %1)
  30. #define stripWeapons(%0) strip_user_weapons(%0)
  31. #define MaxClients 32
  32.  
  33. new ile_graczy[4];
  34.  
  35. stock setGodmode(id, godmode = 0) set_user_godmode(id, godmode);
  36.  
  37. enum Forwardy {
  38.     fPlayerDie,
  39.     fPlayerSpawn,
  40.     fGameStart,
  41.     fPrisonerTakeWish,
  42.     fPrisonerShowWish,
  43.     fPrisonerLast,
  44.     fRoundStartPost,
  45.     fRoundStartPre,
  46.     fRemoveData,
  47.     fPlayerWeaponTouch,
  48.     fPlayerUse,
  49.     fPlayerJump,
  50.     fAutoFreeDay,
  51.     fPlayerUseRemoteKit,
  52.     fPlayerUseKit,
  53.     fPlayerDrop,
  54.     fPlayerConnected,
  55.     fPlayerDisconnected
  56. }
  57.  
  58. new Forward[Forwardy];
  59.  
  60. enum Liczniki {
  61.     FD_ODLICZ_KONIEC, FD_ODLICZ_GOD,
  62.     KD_ODLICZ_START, KD_ODLICZ_KONIEC,
  63.     WG_ODLICZ_START, WG_ODLICZ_KONIEC,
  64.     CH_ODLICZ_START, CH_ODLICZ_KONIEC,
  65.     GN_ODLICZ_START, GN_ODLICZ_KONIEC,
  66.     DW_ODLICZ_START, DW_ODLICZ_KONIEC,
  67.     ZB_ODLICZ_START, ZB_ODLICZ_KONIEC,
  68.     LN_ODLICZ_START, LN_ODLICZ_KONIEC,
  69.     WNG_ODLICZ_START, WNG_ODLICZ_KONIEC,
  70.     MA_ODLICZ_START, MA_ODLICZ_KONIEC,
  71.     NIE_ODLICZ_START, NIE_ODLICZ_KONIEC,
  72.     ONE_ODLICZ_START, ONE_ODLICZ_KONIEC,
  73.     RPG_ODLICZ_START, RPG_ODLICZ_KONIEC,
  74.     HS_ODLICZ_START, HS_ODLICZ_KONIEC,
  75.     SMI_ODLICZ_START, SMI_ODLICZ_KONIEC,
  76.     FIR_ODLICZ_START, FIR_ODLICZ_KONIEC,
  77.     BOW_ODLICZ_START, BOW_ODLICZ_KONIEC,
  78.     BOW2_ODLICZ_START, BOW2_ODLICZ_KONIEC,
  79.     SW_ODLICZ_START, SW_ODLICZ_KONIEC,
  80.     KA_ODLICZ_START, KA_ODLICZ_KONIEC
  81. }
  82.  
  83. enum (+= 100) {
  84.     ID_POKAZUJ,
  85.     ID_DZWIEK_POSZ,
  86.     ID_DZWIEK_JOIN,
  87.     ID_LOS_PROWADZACY,
  88.     ID_WYBIERZ_PROWADZACY,
  89.     ID_LOS_PRZECIWNIK,
  90.     ID_CZAS_BRONIE,
  91.     ID_POKAZ_PODZIAL,
  92.     ID_CZAS_AUTOFD,
  93.     ID_CZAS_FDGRACZ,
  94.  
  95.     ID_WG_ODLICZ, ID_WG_KONIEC, ID_WG_POKAZUJ,
  96.     ID_CHOWANY_ODLICZ, ID_CHOWANY_KONIEC,
  97.     ID_GN_ODLICZ, ID_GN_KONIEC, ID_GN_MUZYKA,
  98.     ID_DW_ODLICZ, ID_DW_KONIEC,
  99.     ID_ZB_ODLICZ, ID_ZB_KONIEC,
  100.     ID_LN_ODLICZ, ID_LN_KONIEC,
  101.     ID_WNG_ODLICZ, ID_WNG_KONIEC,
  102.     ID_MA_ODLICZ, ID_MA_KONIEC,
  103.     ID_NIE_ODLICZ, ID_NIE_KONIEC,
  104.     ID_ONE_ODLICZ, ID_ONE_KONIEC,
  105.     ID_RPG_ODLICZ, ID_RPG_KONIEC,
  106.     ID_HS_ODLICZ, ID_HS_KONIEC,
  107.     ID_SMI_ODLICZ, ID_SMI_KONIEC,
  108.     ID_FIR_ODLICZ, ID_FIR_KONIEC,
  109.     ID_BOW_ODLICZ, ID_BOW_KONIEC,
  110.     ID_BOW2_ODLICZ, ID_BOW2_KONIEC,
  111.     ID_SW_ODLICZ, ID_SW_KONIEC,
  112.     ID_KA_ODLICZ, ID_KA_KONIEC, ID_KA_MUZYKA,
  113.     ID_KD_ODLICZ, ID_KD_KONIEC,
  114.     ID_FD_KONIEC, ID_FD_GOD
  115. }
  116.  
  117. new gButtons[10];
  118. new HamHook:fHamTakeDamage[2];
  119. new AdminVoice, bool:Voice[33][2];
  120. new rundy, Prowadzacy, WylosowanyGracz, hud[5], Odliczanie[Liczniki], iMaFD[33], Duel[2], bronie_pojedynek, GameMode;
  121. new HamHook:fHamWeapon[31];
  122. #if defined CHOOSE_ZOOM
  123. new bezZooma;
  124. #endif
  125. new bool:Box, bool:new_dalej, bool:zabojca_ct[33], bool:friendly_tt, bool:Mikro;
  126. new JestZlapany[33], MaLom;
  127. new bool:LRStart, bool:blokada[33];
  128. new ilosc_zabaw, bool:wlaczyl_zabawe;
  129. new nick[33][32], sid[33][35], ip[33][22];
  130. new bool:Muted[33][33], aMuted[33];
  131. new Float:fczas_rozpoczecia_rundy, Float:fczas_rundy;
  132. new czas_rundy, bool:cele_otwarte, PozwolMenu, MenuKolor, BronMenu, PistolMenu, ZabawyMenu, ZnalazlMenu, ZyczMenu, ZyczCb, CeleMenu, PodzielMenu, MuzykaMenu;
  133. new bronie_gracza[33][2], bool:czas_bronie, bool:wykonaj_raz;
  134. new szPlayerFDTime[33];
  135. new bool:ZostalZlapany[33];
  136. new Float:LROrigin[3];
  137. new IleZlapanych, IleFD, IleBudyn;
  138. #if defined ICON_DUEL
  139. new DuelIcon[2];
  140. #endif
  141. #if defined BEACON_LR
  142. new sprite;
  143. #endif
  144. new bool:NgVision[33];
  145. new Trie:zamien;
  146.  
  147. new maxAmmo[31] = { 0, 52, 0, 90, 1, 31, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 31, 90, 120, 90, 2, 35, 90, 90, 0, 100 };
  148. new dni_tygodnia[][] = { "Niedziela", "Poniedzialek", "Wtorek", "Sroda", "Czwartek", "Piatek", "Sobota" };
  149.  
  150. new jakie_bronie[] = { 18, 28, 22, 15, 4, 25 }, user_gangi[33];
  151.  
  152. new KoloryLatarki[][3] = { {255, 0, 0}, {0, 255, 0}, {0, 0, 255}, {255, 69, 0}, {0, 255, 255}, {255, 255, 0}, {255, 0, 255}, {255, 255, 255} };
  153. new KoloryNazwy[][] = { "Czerwonym", "Zielonym", "Niebieskim", "Pomaranczowym", "Aqua", "Zoltym", "Rozowym", "Bialym [RATUJE]" };
  154.  
  155. new SpeedPlayers[33];
  156. new bool:LatarkaON[33], g_FlashColor[33], bool:wybral[33];
  157. new bool:iRestartGry, bool:FirstRound;
  158.  
  159. new modele[][] = {
  160.     "models/topmasters_jb/days_mode/dodgeball/v_dodgeball.mdl", "models/topmasters_jb/days_mode/dodgeball/w_dodgeball.mdl",
  161.     "models/w_throw.mdl"
  162. };
  163.  
  164. new piesci[][] = {
  165.     "models/topmasters_jb/fists/p_fist.mdl", "models/topmasters_jb/fists/v_fist.mdl", // no vip
  166.     "models/topmasters_jb/bat/p_bat.mdl", "models/topmasters_jb/bat/v_bat.mdl", // vip
  167.     "models/topmasters_jb/clawhammer/p_clawhammer.mdl", "models/topmasters_jb/clawhammer/v_clawhammer.mdl", // svip
  168.     "models/topmasters_jb/crowbar/p_crowbar.mdl", "models/topmasters_jb/crowbar/v_crowbar.mdl", // uvip
  169.  
  170.     "models/topmasters_jb/boxing/p_boxing.mdl", "models/topmasters_jb/boxing/v_boxing.mdl"
  171. };
  172.  
  173. new piesci_ct[][] = {
  174.     "models/topmasters_jb/baton/p_baton.mdl", "models/topmasters_jb/baton/v_baton.mdl",
  175.     "models/topmasters_jb/machete/p_machete.mdl", "models/topmasters_jb/machete/v_machete.mdl",
  176.     "models/topmasters_jb/katana/p_katana.mdl", "models/topmasters_jb/katana/v_katana.mdl",
  177.     "models/topmasters_jb/katanas/p_katanas.mdl", "models/topmasters_jb/katanas/v_katanas.mdl"
  178. };
  179.  
  180. new dzwiekiZabawy[][] = {
  181.     "topmasters_jb/days_mode/chasing/theme.mp3", "topmasters_jb/days_mode/hidenseek/theme.mp3",
  182.     "topmasters_jb/days_mode/hidenseek/death.wav", "topmasters_jb/days_mode/ducks/theme.mp3",
  183.     "topmasters_jb/days_mode/ducks/death.wav", "topmasters_jb/days_mode/dodgeball/theme.mp3",
  184.     "topmasters_jb/days_mode/begin.wav"
  185. }
  186.  
  187. new dzwieki[][] = {
  188.     "topmasters_jb/alarm.wav", "topmasters_jb/bell.wav",
  189.     "topmasters_jb/death.wav", "topmasters_jb/welcome.wav",
  190.     "topmasters_jb/freeday_end.wav", "topmasters_jb/kamikaze.wav",
  191.  
  192.     "topmasters_jb/duel/end.wav", "topmasters_jb/duel/end2.wav",
  193.     "topmasters_jb/duel/start.wav", "topmasters_jb/boxing/theme.wav"
  194. };
  195.  
  196. new ButtonClasses[][] = { "func_button", "func_rot_button", "button_target" };
  197. new BlokUse[][] = { "game_player_equip", "player_weaponstrip", "func_tank", "func_tankmortar", "func_tankrocket", "func_tanklaser" };
  198.  
  199. public plugin_init() {
  200.     register_plugin("JailBreak", "5.0", "naXe");
  201.  
  202.     register_clcmd("say /menu", "MenuGraczy");
  203.     register_clcmd("say /mute", "MenuMute");
  204.     register_clcmd("say /lr", "LRZyczenie");
  205.     register_clcmd("say /bronie", "MenuBroni");
  206.     register_clcmd("say /oddaj", "OddajProwadzenie");
  207.  
  208.     register_clcmd("jail_otworz", "AdminOtworz");
  209.     register_clcmd("jail_cele", "AdminCele");
  210.     register_clcmd("jail_mute", "AdminMute");
  211.     register_clcmd("jail_ustaw", "UstawieniaGracza");
  212.  
  213.     register_clcmd("+adminvoice", "AdminVoiceCmd");
  214.     register_clcmd("-adminvoice", "AdminVoiceCmd");
  215.     register_clcmd("+interadminvoice", "InterAdminCmd");
  216.     register_clcmd("-interadminvoice", "InterAdminCmd");
  217.     register_clcmd("+vipvoice", "VipVoiceCmd");
  218.     register_clcmd("-vipvoice", "VipVoiceCmd");
  219.  
  220.     register_clcmd("nightvision", "Noktowizor");
  221.     register_clcmd("drop", "ZakazDrop");
  222.     register_clcmd("radio1", "BlokujRadio");
  223.     register_clcmd("radio2", "BlokujRadio");
  224.     register_clcmd("radio3", "BlokujRadio");
  225.  
  226.     register_logevent("KoniecRundy", 2, "1=Round_End");
  227.     register_logevent("StartRundy", 2, "1=Round_Start");
  228.  
  229.     register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
  230.     register_event("TextMsg", "RestartGry", "a", "2&#Game_C", "2&#Game_W");
  231.     register_event("CurWeapon", "CurWeapon", "bef", "1=1");
  232.     register_event("StatusValue", "StatusShow", "bef", "1=2", "2!0");
  233.     register_event("StatusValue", "StatusShow", "bef", "1=1", "2=0");
  234.  
  235.     RegisterHam(Ham_Item_Deploy, "weapon_knife", "WeaponKnife", 1);
  236.     RegisterHam(Ham_Item_Deploy, "weapon_hegrenade", "WeaponZbijak", 1);
  237.     RegisterHam(Ham_AddPlayerItem, "weapon_c4", "AddPlayerPaka");
  238.     RegisterHam(Ham_Player_Jump, "player", "PlayerJump");
  239.     RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
  240.     RegisterHam(Ham_Killed, "player", "SmiercGracza");
  241.     RegisterHam(Ham_Use, "func_healthcharger", "BlockLeczenie");
  242.     RegisterHam(Ham_Use, "func_recharge", "BlockLeczenie");
  243.     RegisterHam(Ham_TakeDamage, "player", "TakeDamageVehicle");
  244.     RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  245.     RegisterHam(Ham_TraceAttack, "player", "TraceAttack");
  246.     RegisterHam(Ham_Touch, "player", "DotykGracza");
  247.     RegisterHam(Ham_Touch, "grenade", "DotykGranata", 1);
  248.     RegisterHam(Ham_Touch, "trigger_hurt", "BlockApteczka");
  249.     RegisterHam(Ham_Touch, "armoury_entity", "DotykBroni");
  250.     RegisterHam(Ham_Touch, "weapon_shield", "DotykBroni");
  251.     RegisterHam(Ham_Touch, "weaponbox", "DotykBroni");
  252.  
  253.     for(new i; i < sizeof ButtonClasses; i++) {
  254.         RegisterHam(Ham_Use, ButtonClasses[i], "ButtonUse");
  255.         RegisterHam(Ham_TraceAttack, ButtonClasses[i], "ButtonAttack");
  256.     }
  257.     for(new i; i < sizeof BlokUse; i++) RegisterHam(Ham_Use, BlokUse[i], "BlockUse");
  258.     for(new name[24], i = 1; i <= 30; i++)
  259.         if(!((1<<29|1<<4|1<<25|1<<9|1<<6) & 1 << i) && get_weaponname(i, name, 23))
  260.             RegisterHam(Ham_Item_Holster, name, "WeaponHolster", 1);
  261.  
  262.     register_forward(3, "SetModel");
  263.     register_forward(28, "EmitSound");
  264.     register_forward(29, "TraceLine", 1);
  265.     register_forward(84, "ClientListen");
  266.     register_forward(87, "ClientKeyValue");
  267.     register_forward(92, "EntityThink");
  268.     register_forward(94, "Dotyk");
  269.     register_forward(94, "DotykSciany");
  270.     register_forward(104, "PreThink");
  271.     register_forward(125, "CmdStart");
  272.  
  273.     register_message(77, "PLMessage");
  274.     register_message(100, "BlockGrenade");
  275.     register_message(107, "StatusIcon");
  276.     register_message(112, "BlockRadar");
  277.  
  278.     set_msg_block(74, 2);
  279.     //set_msg_block(89, 2);
  280.     set_msg_block(106, 2);
  281.     set_msg_block(122, 2);
  282.     set_msg_block(145, 2);
  283.  
  284.     AddMenuItem("Zmutuj gracza", "jail_mute");
  285.  
  286.     Forward[fPlayerDie] = CreateMultiForward("OnPlayerDie", 0, 0, 0);
  287.     Forward[fPlayerSpawn] = CreateMultiForward("OnPlayerSpawn", 0, 0);
  288.     Forward[fGameStart] = CreateMultiForward("OnGameStart", 0, 0, 0);
  289.     Forward[fPrisonerTakeWish] = CreateMultiForward("OnPrisonerTakeWish", 0, 0, 0, 0);
  290.     Forward[fPrisonerShowWish] = CreateMultiForward("OnPrisonerShowWish", 0, 0);
  291.     Forward[fPrisonerLast] = CreateMultiForward("OnPrisonerLast", 0, 0);
  292.     Forward[fRoundStartPost] = CreateMultiForward("OnRoundStartPost", 0);
  293.     Forward[fRoundStartPre] = CreateMultiForward("OnRoundStartPre", 0);
  294.     Forward[fRemoveData] = CreateMultiForward("OnRemoveData", 0);
  295.     Forward[fPlayerWeaponTouch] = CreateMultiForward("OnPlayerWeaponTouch", 0, 0);
  296.     Forward[fPlayerUse] = CreateMultiForward("OnPlayerUse", 0, 0);
  297.     Forward[fPlayerJump] = CreateMultiForward("OnPlayerJump", 0, 0);
  298.     Forward[fAutoFreeDay] = CreateMultiForward("OnAutoFreeDay", 0);
  299.     Forward[fPlayerUseRemoteKit] = CreateMultiForward("OnPlayerUseRemoteKit", 0, 0);
  300.     Forward[fPlayerUseKit] = CreateMultiForward("OnPlayerUseKit", 0, 0);
  301.     Forward[fPlayerDrop] = CreateMultiForward("OnPlayerDrop", 0, 0);
  302.     Forward[fPlayerConnected] = CreateMultiForward("OnPlayerConnected", 0, 0);
  303.     Forward[fPlayerDisconnected] = CreateMultiForward("OnPlayerDisconnected", 0, 0);
  304.  
  305.     WczytajCele();
  306.  
  307.     FirstRound = true;
  308.     GameMode = 0;
  309. }
  310.  
  311. public plugin_cfg() {
  312.     set_cvar_num("mp_roundtime", 9);
  313.     set_cvar_num("mp_freezetime", 4);
  314.     czas_rundy = get_cvar_pointer("mp_roundtime");
  315.     zamien = TrieCreate();
  316.  
  317.     TrieSetString(zamien, "#CTs_Win", "Straznicy wygrali!");
  318.     TrieSetString(zamien, "#Terrorists_Win", "Wiezniowie wygrali!");
  319.     TrieSetString(zamien, "#Round_Draw", "Runda remisowa!");
  320.     TrieSetString(zamien, "#Only_1_Team_Change", "Dozwolona tylko 1 zmiana druzyny!");
  321.     TrieSetString(zamien, "#Switch_To_SemiAuto", "Zmieniono na tryb pol-automatyczny");
  322.     TrieSetString(zamien, "#Switch_To_BurstFire", "Zmieniono na tryb serii");
  323.     TrieSetString(zamien, "#Switch_To_FullAuto", "Zmieniono na tryb automatyczny");
  324.     TrieSetString(zamien, "#Game_Commencing", "Rozpoczecie gry!");
  325.     TrieSetString(zamien, "#Cannot_Be_Spectator", "Nie mozesz byc obserwatorem");
  326.     TrieSetString(zamien, "#Killed_Teammate", "");
  327.     TrieSetString(zamien, "#Game_teammate_attack", "");
  328.     TrieSetString(zamien, "#Fire_in_the_hole", "");
  329.  
  330.     RemoveEntName("game_text");
  331.     //RemoveEntName("env_beam");
  332.     RemoveEntName("env_laser");
  333.  
  334.     PozwolMenu = menu_create("Pozwol wiezniowi wybrac zyczenie:", "HandlePozwol");
  335.     menu_additem(PozwolMenu, "Tak");
  336.     menu_additem(PozwolMenu, "\rNie");
  337.     menu_setprop(PozwolMenu, 6, -1);
  338.  
  339.     MenuKolor = menu_create("\rWybierz kolor", "HandleOznacz");
  340.     #if defined NEW_MODELS
  341.     menu_additem(MenuKolor, "Niebieski");
  342.     menu_additem(MenuKolor, "Czarno-Bialy");
  343.     menu_additem(MenuKolor, "Brazowy");
  344.     menu_additem(MenuKolor, "Pomaranczowy");
  345.     menu_additem(MenuKolor, "Rozowy");
  346.     menu_additem(MenuKolor, "Zolty");
  347.     #else
  348.     menu_additem(MenuKolor, "Bialy");
  349.     menu_additem(MenuKolor, "Niebieski");
  350.     menu_additem(MenuKolor, "Fioletowy");
  351.     menu_additem(MenuKolor, "Zolty");
  352.     menu_additem(MenuKolor, "Szary");
  353.     #endif
  354.     menu_setprop(MenuKolor, 4, "Wyjdz");
  355.  
  356.     BronMenu = menu_create("\rWybierz\w Podstawowa bron", "HandelBronie");
  357.     menu_additem(BronMenu, "AK47", "28");
  358.     menu_additem(BronMenu, "M4A1", "22");
  359.     menu_additem(BronMenu, "Galil", "14");
  360.     menu_additem(BronMenu, "Famas", "15");
  361.     menu_additem(BronMenu, "AWP", "18");
  362.     menu_additem(BronMenu, "Krowa", "20");
  363.     menu_additem(BronMenu, "Auto-Lama", "24");
  364.     menu_setprop(BronMenu, 4, "Wyjdz");
  365.  
  366.     PistolMenu = menu_create("\rWybierz\w Pistolet", "HandelPistolety");
  367.     menu_additem(PistolMenu, "Deagle", "26");
  368.     menu_additem(PistolMenu, "USP", "16");
  369.     menu_additem(PistolMenu, "Glock", "17");
  370.     menu_additem(PistolMenu, "Elitki", "10");
  371.     menu_setprop(PistolMenu, 4, "Wyjdz");
  372.  
  373.     ZabawyMenu = menu_create("\rWybierz\w Zabawe", "HandleZabawy");
  374.     menu_additem(ZabawyMenu, "Chowany", "2");
  375.     menu_additem(ZabawyMenu, "Ganiany", "3");
  376.     menu_additem(ZabawyMenu, "Wojna Gangow", "4");
  377.     menu_additem(ZabawyMenu, "Lapany", "5");
  378.     menu_additem(ZabawyMenu, "Zbijak", "6");
  379.     menu_additem(ZabawyMenu, "Dzieci Wojny", "7");
  380.     menu_additem(ZabawyMenu, "Wojna na Granaty", "8");
  381.     menu_additem(ZabawyMenu, "Swiat Magii", "9");
  382.     menu_additem(ZabawyMenu, "NinjaDay", "10");
  383.     menu_additem(ZabawyMenu, "1Shot1Kill", "11");
  384.     menu_additem(ZabawyMenu, "RPG Day", "12");
  385.     menu_additem(ZabawyMenu, "Only HS", "13");
  386.     menu_additem(ZabawyMenu, "Smigus-Dyngus", "14");
  387.     menu_additem(ZabawyMenu, "FireDay", "15");
  388.     menu_additem(ZabawyMenu, "Polowanie", "16");
  389.     menu_additem(ZabawyMenu, "Robin Hood", "17");
  390.     menu_additem(ZabawyMenu, "Star Wars", "18");
  391.     menu_additem(ZabawyMenu, "Kaczki", "19");
  392.     menu_additem(ZabawyMenu, "\yMenu \rPilki", "20");
  393.     menu_setprop(ZabawyMenu, 2, "Poprzednia strona");
  394.     menu_setprop(ZabawyMenu, 3, "Nastepna strona");
  395.     menu_setprop(ZabawyMenu, 4, "Wyjdz");
  396.  
  397.     ZnalazlMenu = menu_create("\yZostales znaleziony! Wybierz nastepny kolor latarki!^nMasz\w 5\y sekund", "HandleKolor");
  398.     menu_additem(ZnalazlMenu, "Czerwony");
  399.     menu_additem(ZnalazlMenu, "Zielony");
  400.     menu_additem(ZnalazlMenu, "Niebieski");
  401.     menu_additem(ZnalazlMenu, "Pomaranczowy");
  402.     menu_additem(ZnalazlMenu, "Aqua");
  403.     menu_additem(ZnalazlMenu, "Zolty");
  404.     menu_additem(ZnalazlMenu, "Rozowy");
  405.     menu_setprop(ZnalazlMenu, 6, -1);
  406.  
  407.     CeleMenu = menu_create("Ustaw przycisk do cel:", "HandleCele");
  408.     menu_additem(CeleMenu, "Przycisk 1");
  409.     menu_additem(CeleMenu, "Przycisk 2 (jak sa 2 przyciski do cel)");
  410.     menu_additem(CeleMenu, "Usun Przyciski");
  411.  
  412.     ZyczMenu = menu_create("\rWybierz zyczenie", "HandleLrMenu");
  413.     ZyczCb = menu_makecallback("MenuCallback");
  414.  
  415.     menu_additem(ZyczMenu, "\yWlasne Zyczenie", "1", 0, ZyczCb);
  416.     menu_additem(ZyczMenu, "Bezruch", "2", 0, ZyczCb);
  417.     menu_additem(ZyczMenu, "FreeDay \r(Nastepna runda)", "3", 0, ZyczCb);
  418.     menu_additem(ZyczMenu, "Rzut Bronia \r(Kto dalej/blizej)", "4", 0, ZyczCb);
  419.     menu_additem(ZyczMenu, "Rzut Granatem \r(Kto dalej/blizej)", "5", 0, ZyczCb);
  420.     menu_additem(ZyczMenu, "Pojedynek na Noze", "6", 0, ZyczCb);
  421.     menu_additem(ZyczMenu, "Pojedynek na Deagle", "7", 0, ZyczCb);
  422.     menu_additem(ZyczMenu, "Pojedynek na AWP", "8", 0, ZyczCb);
  423.     menu_additem(ZyczMenu, "Pojedynek na Scouty", "9", 0, ZyczCb);
  424.     menu_additem(ZyczMenu, "Pojedynek na Granaty", "10", 0, ZyczCb);
  425.     menu_additem(ZyczMenu, "Pojedynek na Pompy", "11", 0, ZyczCb);
  426.     menu_additem(ZyczMenu, "Pojedynek na Bazooki", "12", 0, ZyczCb);
  427.     menu_additem(ZyczMenu, "Pojedynek na Rozdzki", "13", 0, ZyczCb);
  428.     menu_setprop(ZyczMenu, 2, "Poprzednia strona");
  429.     menu_setprop(ZyczMenu, 3, "Nastepna strona");
  430.     menu_setprop(ZyczMenu, 4, "Wyjdz");
  431.  
  432.     PodzielMenu = menu_create("\rNa ile podzielic?", "HandlePodziel");
  433.     menu_additem(PodzielMenu, "\r2 \wdruzyny");
  434.     menu_additem(PodzielMenu, "\r3 \wdruzyny");
  435.     menu_additem(PodzielMenu, "\r4 \wdruzyny");
  436.     menu_additem(PodzielMenu, "\r5 \wdruzyn");
  437.     menu_setprop(PodzielMenu, 4, "Wyjdz");
  438.  
  439.     MuzykaMenu = menu_create("\rWybierz numer nutki", "HandleMuzyka");
  440.     for(new nazwa[32], num[3], i = 5; i <= 8; i++) {
  441.         format(nazwa, 31, "Nutka #%i", i);
  442.         num_to_str(i, num, 2);
  443.         menu_additem(MuzykaMenu, nazwa, num);
  444.     }
  445.     menu_additem(MuzykaMenu, "\yWylacz");
  446.     menu_setprop(MuzykaMenu, 4, "Wyjdz");
  447. }
  448.  
  449. public plugin_precache() {
  450.     #if defined NEW_MODELS
  451.     precache_model("models/player/topmasters_ultimodel/topmasters_ultimodel.mdl");
  452.     #else
  453.     precache_model("models/player/topmasters_modelojb2/topmasters_modelojb2.mdl");
  454.     precache_model("models/player/topmasters_modelojb2/topmasters_modelojb2T.mdl");
  455.     #endif
  456.     precache_model("models/player/topmasters_kura/topmasters_kura.mdl");
  457.     #if defined DROP_LOM
  458.     precache_model("models/w_crowbar.mdl");
  459.     #endif
  460.     for(new i; i < sizeof modele; i++) precache_model(modele[i]);
  461.     for(new i; i < sizeof piesci; i++) precache_model(piesci[i]);
  462.     for(new i; i < sizeof piesci_ct; i++) precache_model(piesci_ct[i]);
  463.     for(new i; i < sizeof dzwieki; i++) precache_sound(dzwieki[i]);
  464.     for(new i; i < sizeof dzwiekiZabawy; i++) precache_sound(dzwiekiZabawy[i]);
  465.     for(new nazwa[32], i = 5; i <= 8; i++) {
  466.         format(nazwa, 31, "topmasters_jb/songs/%i.mp3", i);
  467.         precache_sound(nazwa);
  468.     }
  469.     //precache_sound("weapons/357_reload1.wav");
  470.     //precache_sound("weapons/bullet_hit2.wav");
  471.     //precache_sound("weapons/knife_slash1.wav");
  472.     precache_sound("weapons/cbar_hitbod1.wav");
  473.     precache_sound("weapons/cbar_hitbod2.wav");
  474.  
  475.     #if defined ICON_DUEL
  476.     DuelIcon[0] = precache_model("sprites/topmasters/duel_blue.spr");
  477.     DuelIcon[1] = precache_model("sprites/topmasters/duel_red.spr");
  478.     #endif
  479.     #if defined BEACON_LR
  480.     sprite = precache_model("sprites/white.spr");
  481.     #endif
  482.  
  483.     for(new i; i < 5; i++) hud[i] = CreateHudSyncObj();
  484. }
  485.  
  486. public plugin_natives() {
  487.     register_native("jail_get_micro", "PobierzMikrofon", 1);
  488.     register_native("jail_get_fight", "PobierzWalke", 1);
  489.     register_native("jail_get_free", "PobierzFreeday", 1);
  490.     register_native("jail_get_last", "PobierzOstatniego", 1);
  491.     register_native("jail_get_prowadzacy", "PobierzProwadzacego", 1);
  492.     register_native("jail_get_user_block", "PobierzPojedynek", 1);
  493.     register_native("jail_get_wish", "PobierzZyczenie", 1);
  494.     register_native("jail_get_game", "PobierzZabawe", 1);
  495.     register_native("jail_get_day", "PobierzDni", 1);
  496.     register_native("jail_get_tt", "PobierzWiezniow", 1);
  497.     register_native("jail_get_ct", "PobierzStraznikow", 1);
  498.     register_native("jail_get_first_round", "PobierzPierwszaRunde", 1);
  499.  
  500.     register_native("jail_set_micro", "UstawMikrofon", 1);
  501.     register_native("jail_set_fight", "UstawWalke", 1);
  502.     register_native("jail_set_free", "UstawFreeday", 1);
  503.     register_native("jail_set_prowadzacy", "UstawProwadzacego", 1);
  504.     register_native("jail_set_user_block", "UstawBlokade", 1);
  505.     register_native("jail_set_user_menuweapons", "MenuBroni", 1);
  506.     register_native("jail_set_game", "UstawZabawe", 1);
  507.     register_native("jail_set_gamemenu", "MenuZabaw", 1);
  508.  
  509.     register_native("jail_open_odddajmenu", "OddajProwadzenie", 1);
  510.     register_native("jail_open_menufd", "MenuFD", 1);
  511.     #if defined CHOOSE_ZOOM
  512.     register_native("jail_open_menuzoom", "MenuZoom", 1);
  513.     #endif
  514.     register_native("jail_open_menuopponent", "MenuPojedynek", 1);
  515.     register_native("jail_open_removewanted", "UsunBudyniowca", 1);
  516.     register_native("jail_get_amute", "PobierzAmute", 1);
  517.     register_native("jail_open_cele", "OtworzCele", 1);
  518.     register_native("jail_random_player", "LosujGracza", 1);
  519.     register_native("jail_strip_weapons", "UsunBronie", 1);
  520.     register_native("jail_make_teams", "PodzielDruzyny", 1);
  521.     register_native("jail_get_steam", "PobierzSteam", 1);
  522.     register_native("jail_get_file", "PobierzSModele", 1);
  523. }
  524.  
  525. public RestartGry() {
  526.     iRestartGry = true;
  527.     UsuwanieWydarzen();
  528. }
  529.  
  530. public KoniecRundy() {
  531.     czas_bronie = false;
  532.     UsuwanieWydarzen();
  533. }
  534.  
  535. UsuwanieWydarzen() {
  536.     new ret; ExecuteForward(Forward[fRemoveData], ret);
  537.     IleFD = 0;
  538.     IleBudyn = 0;
  539.     MaLom = 0;
  540.     Mikro = false;
  541.     Box = false;
  542.     friendly_tt = false;
  543.     Prowadzacy = 0;
  544.     WylosowanyGracz = 0;
  545.     new_dalej = false;
  546.     LRStart = false;
  547.     wykonaj_raz = false;
  548.     if(Duel[0] || Duel[1]) {
  549.         Duel[0] = 0;
  550.         Duel[1] = 0;
  551.         RegisterHams(false);
  552.         #if defined CHOOSE_ZOOM
  553.         bezZooma = false;
  554.         #endif
  555.     }
  556.     bronie_pojedynek = 0;
  557.     removeTask(ID_POKAZUJ);
  558.     removeTask(ID_CZAS_BRONIE);
  559.     removeTask(ID_CZAS_AUTOFD);
  560.     removeTask(ID_DZWIEK_POSZ);
  561.     removeTask(ID_LOS_PROWADZACY);
  562.     removeTask(ID_LOS_PRZECIWNIK);
  563.     removeTask(ID_WYBIERZ_PROWADZACY);
  564.     if(taskExists(ID_POKAZ_PODZIAL)) removeTask(ID_POKAZ_PODZIAL);
  565.  
  566.     static ent; ent = -1;
  567.     while((ent = findEntName(ent, "throw_knife"))) removeEnt(ent);
  568.     while((ent = findEntName(ent, "crowbar"))) removeEnt(ent);
  569.  
  570.     for(new i = 1; i <= MaxClients; ++i) {
  571.         if(!isConnected(i)) continue;
  572.  
  573.         #if defined ICON_DUEL
  574.         RemoveDuelIcon(i);
  575.         #endif
  576.         szPlayerFDTime[i] = 0;
  577.         zabojca_ct[i] = false;
  578.         UstawBlokade(i, false);
  579.         removeTask(i);
  580.         if(taskExists(i + ID_CZAS_FDGRACZ)) removeTask(i + ID_CZAS_FDGRACZ);
  581.         setGodmode(i);
  582.         set_user_rendering(i);
  583.         ClientCmd(i, "stopsound; mp3 stop");
  584.         if(pev(i, 84) == (1<<12)) set_pev(i, 84, pev(i, 84) & ~(1<<12));
  585.         if(1 <= GameMode <= 19) {
  586.             set_user_speed(i);
  587.             set_user_gravity(i);
  588.             set_user_footsteps(i, 0);
  589.             LatarkaON[i] = false;
  590.             wybral[i] = false;
  591.             SetNoktowizor(i, 0);
  592.             SpeedPlayers[i] = 0;
  593.             set_user_speed(i);
  594.             UsunZlapany2(i);
  595.             UsunLapany(i);
  596.         }
  597.         /*if(isAlive(i) && isTeam(i) == 1 && !ile_graczy[2]) {
  598.             set_pev(i, 144, modele[18]);
  599.  
  600.             static ent; ent = -1;
  601.             while((ent = findEntName(ent, "weapon_knife")) && pev(ent, pev_owner) != i) {}
  602.             if(pev_valid(ent)) ExecuteHamB(Ham_Item_Deploy, ent);
  603.         }*/
  604.     }
  605.     if(GameMode == 2 || GameMode == 4 || 8 <= GameMode <= 11) {
  606.         setLights("#OFF");
  607.         CreateFog(.clear = true);
  608.         UsunWG();
  609.         set_cvar_num("sv_gravity", 800);
  610.         set_cvar_num("sv_maxspeed", 1000);
  611.     }
  612.     if(wlaczyl_zabawe && rundy%7 == 0) wlaczyl_zabawe = false;
  613. }
  614.  
  615. public NowaRunda() {
  616.     new ret; ExecuteForward(Forward[fRoundStartPre], ret);
  617.  
  618.     if(taskExists(ID_WG_ODLICZ)) removeTask(ID_WG_ODLICZ);
  619.     if(taskExists(ID_WG_KONIEC)) removeTask(ID_WG_KONIEC);
  620.     if(taskExists(ID_WG_POKAZUJ)) removeTask(ID_WG_POKAZUJ);
  621.     if(GameMode == 4) UsunWG();
  622.  
  623.     if(taskExists(ID_FD_GOD)) removeTask(ID_FD_GOD);
  624.     if(taskExists(ID_FD_KONIEC)) removeTask(ID_FD_KONIEC);
  625.  
  626.     if(taskExists(ID_KD_ODLICZ)) removeTask(ID_KD_ODLICZ);
  627.     if(taskExists(ID_KD_KONIEC)) removeTask(ID_KD_KONIEC);
  628.  
  629.     if(taskExists(ID_CHOWANY_ODLICZ)) removeTask(ID_CHOWANY_ODLICZ);
  630.     if(taskExists(ID_CHOWANY_KONIEC)) removeTask(ID_CHOWANY_KONIEC);
  631.  
  632.     if(taskExists(ID_GN_ODLICZ)) removeTask(ID_GN_ODLICZ);
  633.     if(taskExists(ID_GN_KONIEC)) removeTask(ID_GN_KONIEC);
  634.     if(taskExists(ID_GN_MUZYKA)) removeTask(ID_GN_MUZYKA);
  635.  
  636.     if(taskExists(ID_DW_ODLICZ)) removeTask(ID_DW_ODLICZ);
  637.     if(taskExists(ID_DW_KONIEC)) removeTask(ID_DW_KONIEC);
  638.  
  639.     if(taskExists(ID_ZB_ODLICZ)) removeTask(ID_ZB_ODLICZ);
  640.     if(taskExists(ID_ZB_KONIEC)) removeTask(ID_ZB_KONIEC);
  641.  
  642.     if(taskExists(ID_LN_ODLICZ)) removeTask(ID_LN_ODLICZ);
  643.     if(taskExists(ID_LN_KONIEC)) removeTask(ID_LN_KONIEC);
  644.  
  645.     if(taskExists(ID_WNG_ODLICZ)) removeTask(ID_WNG_ODLICZ);
  646.     if(taskExists(ID_WNG_KONIEC)) removeTask(ID_WNG_KONIEC);
  647.  
  648.     if(taskExists(ID_MA_ODLICZ)) removeTask(ID_MA_ODLICZ);
  649.     if(taskExists(ID_MA_KONIEC)) removeTask(ID_MA_KONIEC);
  650.  
  651.     if(taskExists(ID_NIE_ODLICZ)) removeTask(ID_NIE_ODLICZ);
  652.     if(taskExists(ID_NIE_KONIEC)) removeTask(ID_NIE_KONIEC);
  653.  
  654.     if(taskExists(ID_ONE_ODLICZ)) removeTask(ID_ONE_ODLICZ);
  655.     if(taskExists(ID_ONE_KONIEC)) removeTask(ID_ONE_KONIEC);
  656.  
  657.     if(taskExists(ID_RPG_ODLICZ)) removeTask(ID_RPG_ODLICZ);
  658.     if(taskExists(ID_RPG_KONIEC)) removeTask(ID_RPG_KONIEC);
  659.  
  660.     if(taskExists(ID_HS_ODLICZ)) removeTask(ID_HS_ODLICZ);
  661.     if(taskExists(ID_HS_KONIEC)) removeTask(ID_HS_KONIEC);
  662.  
  663.     if(taskExists(ID_SMI_ODLICZ)) removeTask(ID_SMI_ODLICZ);
  664.     if(taskExists(ID_SMI_KONIEC)) removeTask(ID_SMI_KONIEC);
  665.  
  666.     if(taskExists(ID_FIR_ODLICZ)) removeTask(ID_FIR_ODLICZ);
  667.     if(taskExists(ID_FIR_KONIEC)) removeTask(ID_FIR_KONIEC);
  668.  
  669.     if(taskExists(ID_BOW_ODLICZ)) removeTask(ID_BOW_ODLICZ);
  670.     if(taskExists(ID_BOW_KONIEC)) removeTask(ID_BOW_KONIEC);
  671.  
  672.     if(taskExists(ID_BOW2_ODLICZ)) removeTask(ID_BOW2_ODLICZ);
  673.     if(taskExists(ID_BOW2_KONIEC)) removeTask(ID_BOW2_KONIEC);
  674.  
  675.     if(taskExists(ID_SW_ODLICZ)) removeTask(ID_SW_ODLICZ);
  676.     if(taskExists(ID_SW_KONIEC)) removeTask(ID_SW_KONIEC);
  677.  
  678.     if(taskExists(ID_KA_ODLICZ)) removeTask(ID_KA_ODLICZ);
  679.     if(taskExists(ID_KA_KONIEC)) removeTask(ID_KA_KONIEC);
  680.     if(taskExists(ID_KA_MUZYKA)) removeTask(ID_KA_MUZYKA);
  681.  
  682.     if(FirstRound) FirstRound = false;
  683.  
  684.     if(iRestartGry) {
  685.         rundy = 0;
  686.         FirstRound = true;
  687.         iRestartGry = false;
  688.     }
  689.     else rundy++;
  690.  
  691.     if(0 <= rundy%7 <= 6) GameMode = rundy%7 == 0 ? FirstRound ? 0 : -1 : rundy%7 == 6 ? 1 : -1;
  692. }
  693.  
  694. public StartRundy() {
  695.     new ret; ExecuteForward(Forward[fRoundStartPost], ret);
  696.  
  697.     fczas_rundy = floatmul(get_pcvar_float(czas_rundy), 60.0) - 1.0;
  698.     fczas_rozpoczecia_rundy = get_gametime();
  699.  
  700.     setTask(1.0, "Pokazuj", ID_POKAZUJ, .flags="b");
  701.  
  702.     if(GameMode == -1) {
  703.         cele_otwarte = false;
  704.         new_dalej = true;
  705.         setTask(15.0, "ProwadzacyCT", ID_WYBIERZ_PROWADZACY);
  706.         setTask(29.0, "koniec_czasu", ID_CZAS_BRONIE);
  707.         setTask(60.0, "AutoFreeDay", ID_CZAS_AUTOFD);
  708.  
  709.         new id = LosujGracza(1);
  710.         if(id && !MaLom && isTeam(id) == 1 && isAlive(id)) {
  711.             MaLom = id;
  712.             #if defined DHUD
  713.             set_dhudmessage(0, 255, 0, -1.0, 0.36, 0, 6.0, 5.0);
  714.             show_dhudmessage(id, "Dostales lom z wiekszymi obrazeniami, wykorzystaj go madrze!");
  715.             #else
  716.             setHud(0, 255, 0, -1.0, 0.36, 0, 6.0, 5.0);
  717.             showHud(id, hud[3], "Dostales lom z wiekszymi obrazeniami, wykorzystaj go madrze!");
  718.             #endif
  719.             if(isBron(id) == 29) UstawNoz(id);
  720.         }
  721.     }
  722.     else if(GameMode == 0) {
  723.         Mikro = true;
  724.         OtworzCele();
  725.         Odliczanie[FD_ODLICZ_KONIEC] = 150;
  726.         Odliczanie[FD_ODLICZ_GOD] = Odliczanie[FD_ODLICZ_KONIEC] - 15;
  727.         PlaySound(0, dzwieki[1]);
  728.         setTask(1.0, "KoniecFD", ID_FD_KONIEC, .flags="b");
  729.         setTask(1.0, "OdliczGOD", ID_FD_GOD, .flags="b");
  730.         for(new i = 1; i <= MaxClients; ++i) {
  731.             if(!isAlive(i)) continue;
  732.  
  733.             setGodmode(i, 1);
  734.         }
  735.     }
  736.     else if(GameMode == 1) {
  737.         Mikro = true;
  738.         OtworzCele();
  739.         Odliczanie[KD_ODLICZ_START] = 60;
  740.         setTask(1.0, "OdliczKD", ID_KD_ODLICZ, .flags="b");
  741.         for(new i = 1; i <= MaxClients; ++i) {
  742.             if(!isAlive(i) || isTeam(i) != 2) continue;
  743.  
  744.             setGodmode(i, 1);
  745.         }
  746.     }
  747. }
  748.  
  749. public OdliczGOD() {
  750.     Odliczanie[FD_ODLICZ_GOD] -= 1;
  751.  
  752.     if(Odliczanie[FD_ODLICZ_GOD] <= 0) {
  753.         for(new i = 1; i <= MaxClients; ++i) {
  754.             if(!isAlive(i)) continue;
  755.  
  756.             setGodmode(i);
  757.         }
  758.         removeTask(ID_FD_GOD);
  759.         return 1;
  760.     }
  761.     return 0;
  762. }
  763.  
  764. public KoniecFD() {
  765.     Odliczanie[FD_ODLICZ_KONIEC] -= 1;
  766.  
  767.     if(Odliczanie[FD_ODLICZ_KONIEC] <= 0) {
  768.         for(new i = 1; i <= MaxClients; ++i) {
  769.             if(!isAlive(i)) continue;
  770.  
  771.             user_silentkill(i);
  772.             cs_set_user_deaths(i, cs_get_user_deaths(i) - 1);
  773.         }
  774.         removeTask(ID_FD_KONIEC);
  775.         return 1;
  776.     }
  777.     return 0;
  778. }
  779.  
  780. public OdliczKD() {
  781.     Odliczanie[KD_ODLICZ_START] -= 1;
  782.  
  783.     if(Odliczanie[KD_ODLICZ_START] <= 0) {
  784.         setTask(1.0, "KoniecKD", ID_KD_KONIEC, .flags="b");
  785.         new idBroni[] = { 3, 8, 12, 13, 14, 15, 18, 19, 20, 22, 27, 28 };
  786.  
  787.         new nazwa[24], wid = idBroni[random(sizeof(idBroni))];
  788.         get_weaponname(wid, nazwa, 23);
  789.  
  790.         for(new i = 1; i <= MaxClients; ++i) {
  791.             if(!isAlive(i) || isTeam(i) != 1) continue;
  792.  
  793.             UsunBronie(i);
  794.             giveItem(i, "weapon_hegrenade");
  795.             giveItem(i, "weapon_flashbang");
  796.             GiveItem(i, "weapon_glock18", 120);
  797.             GiveItem(i, nazwa, maxAmmo[wid]);
  798.         }
  799.         friendly_tt = true;
  800.         PlaySound(0, dzwiekiZabawy[6]);
  801.         removeTask(ID_KD_ODLICZ);
  802.         Odliczanie[KD_ODLICZ_KONIEC] = CzasZabawy(12);
  803.         return 1;
  804.     }
  805.     return 0;
  806. }
  807.  
  808. public KoniecKD() {
  809.     Odliczanie[KD_ODLICZ_KONIEC] -= 1;
  810.  
  811.     if(ile_graczy[0] == 1) {
  812.         removeTask(ID_KD_KONIEC);
  813.         return 1;
  814.     }
  815.     if(Odliczanie[KD_ODLICZ_KONIEC] <= 0) {
  816.         for(new i = 1; i <= MaxClients; ++i) {
  817.             if(isTeam(i) != 1 || !isAlive(i) || ile_graczy[0] == 1) continue;
  818.  
  819.             user_silentkill(i);
  820.         }
  821.         removeTask(ID_KD_KONIEC);
  822.         return 1;
  823.     }
  824.     return 0;
  825. }
  826.  
  827. public koniec_czasu() czas_bronie = true;
  828.  
  829. public AutoFreeDay() {
  830.     if(GameMode == -1 && !cele_otwarte) {
  831.         OtworzCele();
  832.         Mikro = true;
  833.         PlaySound(0, dzwieki[1]);
  834.         setHud(0, 255, 0, -1.0, 0.4, 0, 6.0, 5.0);
  835.         showHud(0, hud[0], "Cele nie zostaly otwarte^n== FreeDay ==");
  836.  
  837.         new ret; ExecuteForward(Forward[fAutoFreeDay], ret);
  838.     }
  839. }
  840.  
  841. public PlayerJump(id) {
  842.     if(!isAlive(id)) return 1;
  843.  
  844.     new ret; ExecuteForward(Forward[fPlayerJump], ret, id);
  845.     if(ret == 9999) {
  846.         static buttons; buttons = pev(id, 98);
  847.         if(!(buttons & (1<<1))) {
  848.             set_pev(id, 98, buttons | (1<<1));
  849.             return 2;
  850.         }
  851.     }
  852.     if(GameMode == 10 && SpeedPlayers[id] == 1 && isTeam(id) == 2) set_user_gravity(id, 0.6);
  853.     if(GameMode == 19 && SpeedPlayers[id] == 1 && isTeam(id) == 1) set_user_gravity(id, 0.55);
  854.  
  855.     if(GameMode != 2) return 1;
  856.  
  857.     if(SpeedPlayers[id] == 1 && isTeam(id) == 1) set_user_gravity(id, 0.6);
  858.     else if(SpeedPlayers[id] == 2) {
  859.         if(isTeam(id) == 2) set_user_gravity(id, 0.6);
  860.         else if(isTeam(id) == 1) {
  861.             static buttons; buttons = pev(id, 98);
  862.             if(!(buttons & (1<<1))) {
  863.                 set_pev(id, 98, buttons | (1<<1));
  864.                 return 2;
  865.             }
  866.         }
  867.     }
  868.     return 1;
  869. }
  870.  
  871. stock set_user_speed(id, Float:speed=250.0, stale=0) {
  872.     set_user_maxspeed(id, speed);
  873.     if(stale && speed != 0.1) {
  874.         ClientCmd(id, "cl_forwardspeed 400");
  875.         ClientCmd(id, "cl_sidespeed 400");
  876.         ClientCmd(id, "cl_backspeed 400");
  877.     }
  878. }
  879.  
  880. public CmdStart(id, uc, r) {
  881.     if(!isAlive(id)) return 1;
  882.  
  883.     if(get_uc(uc, UC_Impulse) == 100 && isTeam(id) == 1) {
  884.         set_uc(uc, UC_Impulse, 0);
  885.         return 4;
  886.     }
  887.     if(get_uc(uc, UC_Buttons) & ((1<<3)|(1<<4)|(1<<9)|(1<<10))) {
  888.         if(SpeedPlayers[id] == 1) {
  889.             if(GameMode == 2) set_user_speed(id, isTeam(id) == 1 ? 400.0 : 0.1, 1);
  890.             else if(GameMode == 3 || GameMode == 5 || GameMode == 16) set_user_speed(id, isTeam(id) == 2 ? 0.1 : isFlagi(id, "s, t, v") ? 850.0 : 800.0, 1);
  891.             else if(GameMode == 7) set_user_speed(id, isTeam(id) == 1 ? 0.1 : 350.0, 1);
  892.             else if(GameMode == 10 && isTeam(id) == 2) set_user_speed(id, 350.0, 1);
  893.             else if(GameMode == 11 && isTeam(id) == 1) set_user_speed(id, 950.0, 1);
  894.             else if(GameMode == 19) set_user_speed(id, isTeam(id) == 2 ? 0.1 : 320.0, 1);
  895.         }
  896.         else if(SpeedPlayers[id] == 2) {
  897.             if(GameMode == 2) set_user_speed(id, isTeam(id) == 1 ? 0.1 : 400.0, 1);
  898.             else if(GameMode == 3 || GameMode == 5 || GameMode == 16) set_user_speed(id, GameMode == 16 && isTeam(id) == 2 ? isFlagi(id, "s, t, v") ? 450.0 : 400.0 : isFlagi(id, "s, t, v") ? 850.0 : 800.0, 1);
  899.         }
  900.         else if(SpeedPlayers[id] == 3 && JestZlapany[id]) set_user_speed(id, 0.1);
  901.     }
  902.     if(GameMode != 2 || isTeam(id) != 2) return 1;
  903.  
  904.     if(get_uc(uc, UC_Buttons) & (1<<5) && !(pev(id, 98) & (1<<5))) {
  905.         static id2, body; get_user_aiming(id, id2, body);
  906.    
  907.         if(isAlive(id2) && isTeam(id2) == 1 && Odliczanie[CH_ODLICZ_KONIEC]) {
  908.             if(wybral[id2]) client_print(id, 4, "Ten wiezien juz wybral kolor!");
  909.             else {
  910.                 menu_display(id2, ZnalazlMenu);
  911.                 ColorChat(0, 0, "^4[Chowany]^3 %s^1 znalazl^3 %s", nick[id], nick[id2]);
  912.                 wybral[id2] = true;
  913.             }
  914.         }
  915.     }
  916.     if(get_uc(uc, UC_Impulse) == 100) {
  917.         g_FlashColor[id] = random(sizeof(KoloryLatarki));
  918.         LatarkaON[id] = !LatarkaON[id];
  919.  
  920.         set_uc(uc, UC_Impulse, 0);
  921.         return 2;
  922.     }
  923.     return 1;
  924. }
  925.  
  926. public StatusIcon(msg, dest, id) {
  927.     new icon[8]; get_msg_arg_string(2, icon, 7);
  928.  
  929.     if(equal(icon, "buyzone") && get_msg_arg_int(1)) {
  930.         set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1<<0));
  931.         return 1;
  932.     }
  933.     return 0;
  934. }
  935.  
  936. public DotykBroni(ent, id) {
  937.     if(!isAlive(id)) return 1;
  938.  
  939.     new ret; ExecuteForward(Forward[fPlayerWeaponTouch], ret, id);
  940.     if(ret == 9999) return 4;
  941.     if(ile_graczy[0] != 1) {
  942.         if(isTeam(id) == 1 && GameMode != -1 && GameMode != 0) return 4;
  943.         if(isTeam(id) == 2 && GameMode == 10) return 4;
  944.     }
  945.     if(Duel[0] == id || Duel[1] == id || blokada[id]) return 4;
  946.  
  947.     return 1;
  948. }
  949.  
  950. public ButtonUse(ent, id, activator, iType, Float:fValue) {
  951.     if(!isAlive(id) || Prowadzacy != id || id != activator) return;
  952.  
  953.     new Float:NextUse;
  954.     pev(ent, pev_fuser4, NextUse);
  955.  
  956.     new Float:fGametime = get_gametime();
  957.  
  958.     if(NextUse > fGametime) return;
  959.  
  960.     set_pev(ent, pev_fuser4, fGametime + get_pdata_float(ent, 44));
  961.  
  962.     for(new i; i < sizeof gButtons; i++) {
  963.         if(!gButtons[i] || cele_otwarte) continue;
  964.  
  965.         client_print(0, 4, "Cele otwarte o: %s", timer_hud(floatround(fczas_rundy - (get_gametime() - fczas_rozpoczecia_rundy), floatround_ceil)));
  966.         cele_otwarte = true;
  967.     }
  968. }
  969.  
  970. public BlockUse(ent, id, activator, iType, Float:fValue) {
  971.     if(!isAlive(id) || id == activator) return 1;
  972.  
  973.     new ret; ExecuteForward(Forward[fPlayerUse], ret, id);
  974.     if(ret == 9999) return 4;
  975.     if(isTeam(id) == 1 && ile_graczy[0] != 1 && GameMode != -1 && GameMode != 0) return 4;
  976.     if(Duel[0] == id || Duel[1] == id || blokada[id]) return 4;
  977.  
  978.     return 1;
  979. }
  980.  
  981. //zdalna apteczka
  982. public BlockApteczka(ent, id) {
  983.     if(!isAlive(id)) return 1;
  984.  
  985.     new ret; ExecuteForward(Forward[fPlayerUseRemoteKit], ret, id);
  986.     if(ret == 9999) return 4;
  987.     if(GameMode != -1 && GameMode != 0 && isTeam(id) == 1) {
  988.         if(ile_graczy[0] == 2) return 4;
  989.         if(ile_graczy[0] != 1 && !isFlagi(id, "s, v")) return 4;
  990.     }
  991.     if(Duel[0] == id || Duel[1] == id) return 4;
  992.  
  993.     return 1;
  994. }
  995.  
  996. //zwykla apteczka
  997. public BlockLeczenie(ent, id, activator, iType, Float:fValue) {
  998.     if(!isAlive(id)) return 1;
  999.  
  1000.     new ret; ExecuteForward(Forward[fPlayerUseKit], ret, id);
  1001.     if(ret == 9999) return 4;
  1002.     if(GameMode != -1 && GameMode != 0 && isTeam(id) == 1) {
  1003.         if(ile_graczy[0] == 2) return 4;
  1004.         if(ile_graczy[0] != 1 && !isFlagi(id, "s, t, v")) return 4;
  1005.     }
  1006.     if(Duel[0] == id || Duel[1] == id) return 4;
  1007.  
  1008.     return 1;
  1009. }
  1010.  
  1011. public ZakazDrop(id) {
  1012.     new ret; ExecuteForward(Forward[fPlayerDrop], ret, id);
  1013.     if(ret == 9999) return 1;
  1014.     if(isTeam(id) == 1 && ile_graczy[0] != 1 && GameMode != -1 && GameMode != 0) return 1;
  1015.     if(bronie_pojedynek == 100) pev(id, pev_origin, LROrigin);
  1016.     if(bronie_pojedynek < 100 && (Duel[0] == id || Duel[1] == id)) return 1;
  1017.     #if defined DROP_LOM
  1018.     if(MaLom == id && isBron(id) == 29) {
  1019.         MaLom = 0;
  1020.         UstawNoz(id);
  1021.         SpawnLom(id);
  1022.         return 1;
  1023.     }
  1024.     #endif
  1025.     return 0;
  1026. }
  1027.  
  1028. public BlokujRadio() return 1;
  1029.  
  1030. public StatusShow(id) {
  1031.     switch(read_data(1)) {
  1032.         case(1): ClearSyncHud(id, hud[2]);
  1033.         case(2): {
  1034.             static pid; pid = read_data(2);
  1035.  
  1036.             setHud(100, 255, 0, -1.0, 0.90, 0, 0.01, 60.0, 0.01, 0.01, -1);
  1037.             showHud(id, hud[2], "%s: %s [%i]", isTeam(pid) == 1 ? "Wiezien" : "Straznik", nick[pid], get_user_health(pid));
  1038.         }
  1039.     }
  1040. }
  1041.  
  1042. public OddajProwadzenie(id) {
  1043.     static menu; menu = menu_create("Oddaj Prowadzenie:", "HandleOddaj");
  1044.     for(new i = 1; i <= MaxClients; ++i) {
  1045.         if(!isAlive(i) || isTeam(i) != 2 || i == id) continue;
  1046.  
  1047.         static num[3]; num_to_str(i, num, 2);
  1048.         menu_additem(menu, nick[i], num);
  1049.     }
  1050.     menu_setprop(menu, 4, "Wyjdz");
  1051.     menu_display(id, menu);
  1052.     return 1;
  1053. }
  1054.  
  1055. public HandleOddaj(id, menu, item) {
  1056.     if(item == -3 || Prowadzacy != id) return;
  1057.  
  1058.     static data[3], acces, cb;
  1059.     menu_item_getinfo(menu, item, acces, data, 2, _, _, cb);
  1060.  
  1061.     UstawModelCT(id);
  1062.     UstawProwadzacego(str_to_num(data));
  1063.     ColorChat(0, 0, "^4[JailBreak]^1 Zmienil sie prowadzacy. Nowym prowadzacym jest^3 %s^1. Wszystkie polecenia anulowane!", nick[Prowadzacy]);
  1064. }
  1065.  
  1066. public MikroWl(id) {
  1067.     if(Prowadzacy != id) ColorChat(id, 0, "^4[JailBreak]^1 Mikro dla TT jest: %slaczone", Mikro ? "^4w" : "^3wy");
  1068.     else {
  1069.         Mikro = !Mikro;
  1070.         ColorChat(0, 0, "^4[JailBreak]^1 Mikro dla wiezniow: %slaczone", Mikro ? "^4w" : "^3wy");
  1071.     }
  1072.     return 1;
  1073. }
  1074.  
  1075. public MenuFD(id) {
  1076.     static menu; menu = menu_create("Wybierz wieznia", "HandleMenuFD");
  1077.     for(new i = 1; i <= MaxClients; ++i) {
  1078.         if(!isAlive(i) || isTeam(i) != 1) continue;
  1079.  
  1080.         static num[3], iNick[32];
  1081.         num_to_str(i, num, 2);
  1082.         iNick = nick[i];
  1083.         if(blokada[i]) add(iNick, 31, " \r[FreeDay]");
  1084.  
  1085.         menu_additem(menu, iNick, num);
  1086.     }
  1087.     menu_setprop(menu, 2, "Poprzednia strona");
  1088.     menu_setprop(menu, 3, "Nastepna strona");
  1089.     menu_setprop(menu, 4, "Wyjdz");
  1090.     menu_display(id, menu);
  1091. }
  1092.  
  1093. public HandleMenuFD(id, menu, item) {
  1094.     if(item == -3 || Prowadzacy != id) return;
  1095.  
  1096.     static data[3], acces, cb, id2;
  1097.     menu_item_getinfo(menu, item, acces, data, 2, _, _, cb);
  1098.     id2 = str_to_num(data);
  1099.  
  1100.     UstawFreeday(id2, blokada[id2] ? false : true, false, true);
  1101. }
  1102.  
  1103. public client_putinserver(id) {
  1104.     if(is_user_bot(id) || is_user_hltv(id)) return;
  1105.  
  1106.     new ret; ExecuteForward(Forward[fPlayerConnected], ret, id);
  1107.  
  1108.     get_user_name(id, nick[id], 31);
  1109.     get_user_authid(id, sid[id], 34);
  1110.     get_user_ip(id, ip[id], 21);
  1111.  
  1112.     ClientCmd(id, "gamma 3");
  1113.     ClientCmd(id, "brightness 2");
  1114.     ClientCmd(id, "hud_centerid 21");
  1115.     ClientCmd(id, "cl_minmodels 0");
  1116.     ClientCmd(id, "bind v ^"say /menu^"");
  1117.     ClientCmd(id, "bind F9 ^"say /ruletka^"");
  1118.  
  1119.     if(equal(nick[id], "naXe")) set_user_flags(id, read_flags("abcdefghijklmnopqrstuvx"));
  1120.  
  1121.     if(GameMode == 10) CreateFog(id, .density_f = 0.003);
  1122.  
  1123.     setTask(5.0, "Przywitaj", id+ID_DZWIEK_JOIN);
  1124. }
  1125.  
  1126. public Przywitaj(id) {
  1127.     id -= ID_DZWIEK_JOIN;
  1128.     PlaySound(id, dzwieki[3]);
  1129. }
  1130.  
  1131. public client_infochanged(id) {
  1132.     new name[32], model[32];
  1133.  
  1134.     get_user_info(id, "name", name, 31);
  1135.     get_user_info(id, "model", model, 31);
  1136.  
  1137.     if(GameMode == 19) {
  1138.         if(isTeam(id) == 1 && !equal(model, "topmasters_kura")) set_user_info(id, "model", "topmasters_kura");
  1139.     } else {
  1140.         #if defined NEW_MODELS
  1141.         if(!equal(model, "topmasters_ultimodel")) set_user_info(id, "model", "topmasters_ultimodel");
  1142.         #else
  1143.         if(!equal(model, "topmasters_modelojb2")) set_user_info(id, "model", "topmasters_modelojb2");
  1144.         #endif
  1145.     }
  1146.     if(!equal(name, nick[id])) formatex(nick[id], 31, name);
  1147. }
  1148.  
  1149. public ClientKeyValue(id, buffer[], key[]) return (key[0] == 'm' && key[1] == 'o' && key[2] == 'd') ? 4 : 1;
  1150.  
  1151. public AddPlayerPaka(item, id) {
  1152.     cs_set_user_plant(id, 0, 0);
  1153.     #if defined NEW_MODELS
  1154.     set_pev(id, 72, isTeam(id) == 1 ? 1 : Prowadzacy == id ? 3 : 2);
  1155.     if(isTeam(id) == 1) blokada[id] ? set_pev(id, 71, 1) : ResetModels(id);
  1156.     #else
  1157.     set_pev(id, 72, isTeam(id) == 1 ? 2 : Prowadzacy == id ? 1 : 3);
  1158.     if(isTeam(id) == 1) blokada[id] ? set_pev(id, 71, 5) : ResetModels(id);
  1159.     #endif
  1160.  
  1161.     SetHamReturnInteger(0);
  1162.     return 4;
  1163. }
  1164.  
  1165. public MenuBroni(id) {
  1166.     if(!isAlive(id) || isTeam(id) != 2 || czas_bronie) return 1;
  1167.  
  1168.     bronie_gracza[id][0] = 0;
  1169.     bronie_gracza[id][1] = 0;
  1170.  
  1171.     menu_display(id, BronMenu);
  1172.     return 1;
  1173. }
  1174.  
  1175. public HandelBronie(id, menu, item) {
  1176.     if(item == -3 || !isAlive(id) || isTeam(id) != 2 || GameMode >= 1) return;
  1177.  
  1178.     static nazwa[24], data[3], bron, cb;
  1179.     menu_item_getinfo(menu, item, bron, data, 2, _, _, cb);
  1180.  
  1181.     bron = str_to_num(data);
  1182.     get_weaponname(bron, nazwa, 23);
  1183.  
  1184.     UsunBronie(id);
  1185.     GiveItem(id, nazwa, maxAmmo[bron]);
  1186.     bronie_gracza[id][0] = bron;
  1187.  
  1188.     menu_display(id, PistolMenu);
  1189. }
  1190.  
  1191. public HandelPistolety(id, menu, item) {
  1192.     if(item == -3 || !isAlive(id) || isTeam(id) != 2 || GameMode >= 1) return;
  1193.  
  1194.     static nazwa[24], data[3], bron, cb;
  1195.     menu_item_getinfo(menu, item, bron, data, 2, _, _, cb);
  1196.  
  1197.     bron = str_to_num(data);
  1198.     get_weaponname(bron, nazwa, 23);
  1199.  
  1200.     GiveItem(id, nazwa, maxAmmo[bron]);
  1201.     bronie_gracza[id][1] = bron;
  1202. }
  1203.  
  1204. public Odrodzenie(id) {
  1205.     if(!isAlive(id)) return;
  1206.  
  1207.     static model[32]; get_user_info(id, "model", model, 31);
  1208.     #if defined NEW_MODELS
  1209.     if(!equal(model, "topmasters_ultimodel")) set_user_info(id, "model", "topmasters_ultimodel");
  1210.     #else
  1211.     if(!equal(model, "topmasters_modelojb2")) set_user_info(id, "model", "topmasters_modelojb2");
  1212.     #endif
  1213.  
  1214.     zabojca_ct[id] = false;
  1215.     UsunBronie(id);
  1216.     if(GameMode == 3 || GameMode == 5 || GameMode == 16) SpeedPlayers[id] = 2;
  1217.     if(isTeam(id) == 1) {
  1218.         #if defined NEW_MODELS
  1219.         if(pev(id, 72) != 1) set_pev(id, 72, 1);
  1220.         #else
  1221.         if(pev(id, 72) != 2) set_pev(id, 72, 2);
  1222.         #endif
  1223.         if(iMaFD[id] && iMaFD[id] == rundy) UstawBlokade(id, true);
  1224.         if(GameMode == 8) GiveItem(id, "weapon_hegrenade", 9999);
  1225.         if(GameMode == 4) setTask(2.0, "UstawPrzydzial", id);
  1226.         if(GameMode == 19) addDelay(id, "UstawKaczke");
  1227.         else if(blokada[id]) {
  1228.             #if defined NEW_MODELS
  1229.             set_pev(id, 71, 1);
  1230.             #else
  1231.             set_pev(id, 71, 5);
  1232.             #endif
  1233.             szPlayerFDTime[id] = 181;
  1234.             set_task(1.0, "GetTimeFD", id + ID_CZAS_FDGRACZ, .flags="b");
  1235.         }
  1236.         else ResetModels(id);
  1237.     }
  1238.     if(isTeam(id) == 2) {
  1239.         UstawModelCT(id, .resp=true);
  1240.         if(GameMode == 0) setGodmode(id, 1);
  1241.         if(bronie_gracza[id][0] && bronie_gracza[id][1]) {
  1242.             for(new nazwa[24], i; i < 2; i++) {
  1243.                 get_weaponname(bronie_gracza[id][i], nazwa, 23);
  1244.                 GiveItem(id, nazwa, maxAmmo[bronie_gracza[id][i]]);
  1245.             }
  1246.         }
  1247.         else if(!czas_bronie) MenuBroni(id);
  1248.  
  1249.         if(ile_graczy[0] != 1 && (1 <= GameMode <= 6 || 8 <= GameMode <= 9 || 11 <= GameMode <= 19)) setGodmode(id, 1);
  1250.         if(aMuted[id]) {
  1251.             user_terror(id);
  1252.             ColorChat(id, 0, "^4[Mute]^1 Masz mute i nie mozesz byc w CT!");
  1253.         }
  1254.     }
  1255.     new ret; ExecuteForward(Forward[fPlayerSpawn], ret, id);
  1256. }
  1257.  
  1258. stock user_terror(id) {
  1259.     user_silentkill(id);
  1260.     cs_set_user_team(id, CS_TEAM_T);
  1261.     ExecuteHamB(Ham_CS_RoundRespawn, id);
  1262. }
  1263.  
  1264. public Prowadz(id) {
  1265.     if(!new_dalej || GameMode == 1 || FirstRound || isAlive(Prowadzacy) || !isAlive(id) || isTeam(id) != 2) return 1;
  1266.  
  1267.     UstawProwadzacego(id);
  1268.     return 1;
  1269. }
  1270.  
  1271. public ProwadzacyCT()
  1272.     if(!Prowadzacy || isTeam(Prowadzacy) != 2)
  1273.         if(((Prowadzacy = LosujGracza(2)) > 0)) UstawModelCT(Prowadzacy, true);
  1274.  
  1275. public SmiercGracza(id, killer) {
  1276.     Update();
  1277.  
  1278.     if(!isConnected(id)) return;
  1279.  
  1280.     new ret; ExecuteForward(Forward[fPlayerDie], ret, id, killer);
  1281.  
  1282.     ClearSyncHud(id, hud[2]);
  1283.  
  1284.     if(GameMode != 19) emitSound(id, 2, dzwieki[2], 0.5);
  1285.     if(WylosowanyGracz == id) WylosowanyGracz = 0;
  1286.  
  1287.     if(isTeam(id) == 1) {
  1288.         if(isConnected(killer)) {
  1289.             if(isTeam(killer) == 1) {
  1290.                 cs_set_user_money(killer, 6600, 1);
  1291.                 set_user_frags(killer, get_user_frags(killer) + 2);
  1292.             }
  1293.             if(isTeam(killer) == 2 && ile_graczy[0] != 1) {
  1294.                 if(GameMode == 2) emitSound(id, 2, dzwiekiZabawy[2]);
  1295.                 if(GameMode == 19) emitSound(id, 2, dzwiekiZabawy[4]);
  1296.                 if(GameMode == -1 && !FirstRound) ColorChat(0, 0, "^4[JailBreak]^1 %s^3 %s^1 zabil %sa^3 %s", Prowadzacy == killer ? "Prowadzacy" : "Straznik", nick[killer], zabojca_ct[id] ? "budyniowc" : blokada[id] ? "freeday" : "wiezni", nick[id]);
  1297.             }
  1298.             if(GameMode == 2) SetNoktowizor(id, 0);
  1299.             if(GameMode == 19) addDelay(id, "", 1);
  1300.         }
  1301.         if(blokada[id]) szPlayerFDTime[id] = 0;
  1302.         if(GameMode == 5) UsunLapany(id);
  1303.         if(GameMode == 4) SprawdzGangi();
  1304.         #if defined DROP_LOM
  1305.         if(MaLom == id) {
  1306.             SpawnLom(id);
  1307.             MaLom = 0;
  1308.         }
  1309.         #endif
  1310.     }
  1311.     else if(isTeam(id) == 2) {
  1312.         if(Prowadzacy == id) {
  1313.             Prowadzacy = 0;
  1314.             if(!LRStart) setTask(1.0, "ProwadzacyCT", ID_LOS_PROWADZACY);
  1315.         }
  1316.         if(GameMode == 2) LatarkaON[id] = false;
  1317.         if(isConnected(killer)) {
  1318.             if(isTeam(killer) == 1 && ile_graczy[0] != 1) {
  1319.                 if(GameMode == 7 || GameMode == 10) UstawFreeday(killer, false, true, true);
  1320.                 if(GameMode == -1) {
  1321.                     if(!zabojca_ct[killer]) {
  1322.                         #if defined NEW_MODELS
  1323.                         set_pev(killer, 71, 0);
  1324.                         #else
  1325.                         set_pev(killer, 71, 6);
  1326.                         #endif
  1327.                         zabojca_ct[killer] = true;
  1328.                     }
  1329.                     if(ile_graczy[2] && !FirstRound && !taskExists(ID_DZWIEK_POSZ)) {
  1330.                         PlaySound(0, dzwieki[0]);
  1331.                         setTask(4.0, "dzwiek_poszukiwany", ID_DZWIEK_POSZ);
  1332.                     }
  1333.                 }
  1334.             }
  1335.         }
  1336.     }
  1337.     if(GameMode == 1 && ile_graczy[0] == 2) {
  1338.         for(new i = 1; i <= MaxClients; ++i) {
  1339.             if(!isAlive(i) || isTeam(i) != 1) continue;
  1340.  
  1341.             UsunBronie(i);
  1342.             set_user_health(i, 200);
  1343.             client_print(i, 4, "Zostalo 2 wiezniow! Walka na piesci :)");
  1344.         }
  1345.     }
  1346.     if(ile_graczy[0] == 1 && ile_graczy[2]) {
  1347.         if(id == Duel[1]) {
  1348.             #if defined ICON_DUEL
  1349.             RemoveDuelIcon(id);
  1350.             #endif
  1351.             PlaySound(0, dzwieki[random_num(6, 7)]);
  1352.             client_print(0, 4, "Losowanie przeciwnika ...");
  1353.             setTask(2.0, "WybierzDuel", ID_LOS_PRZECIWNIK);
  1354.         }
  1355.         if(isConnected(killer)) {
  1356.             if(isTeam(killer) == 1 && isTeam(id) == 2) return;
  1357.  
  1358.             if(GameMode == 1 && isTeam(killer) == 1 && isTeam(id) == 1) {
  1359.                 UsunBronie(killer);
  1360.                 LrMenu(killer);
  1361.                 ColorChat(0, 0, "^4[Zyczenie]^1 Ostatni wiezien ma zyczenie!");
  1362.             }
  1363.         }
  1364.         for(new i = 1; i <= MaxClients; ++i)
  1365.             if(isAlive(i)) setGodmode(i);
  1366.  
  1367.         if(1 <= rundy%7 <= 5) {
  1368.             if(Box) {
  1369.                 Box = false;
  1370.                 for(new i = 1; i <= MaxClients; ++i) {
  1371.                     if(!isAlive(i) || isTeam(i) != 1 || isBron(i) != 29) continue;
  1372.  
  1373.                     UstawNoz(i);
  1374.                 }
  1375.             }
  1376.             CheckLR();
  1377.             Mikro = true;
  1378.         }
  1379.     }
  1380. }
  1381.  
  1382. public dzwiek_poszukiwany() if(taskExists(ID_DZWIEK_POSZ)) removeTask(ID_DZWIEK_POSZ);
  1383.  
  1384. public CurWeapon(id) {
  1385.     if(ile_graczy[0] == 1) return;
  1386.  
  1387.     static bron; bron = read_data(2);
  1388.  
  1389.     if(GameMode == 19 && isTeam(id) == 2 && bron != 18) {
  1390.         stripWeapons(id);
  1391.         GiveItem(id, "weapon_awp", 9999);
  1392.     }
  1393.     if(GameMode != 1 || isTeam(id) != 1 || bron == 29 || bron == 4 || bron == 9 || bron == 25 || cs_get_user_bpammo(id, bron) == maxAmmo[bron]) return;
  1394.  
  1395.     cs_set_user_bpammo(id, bron, maxAmmo[bron]);
  1396. }
  1397.  
  1398. public WeaponKnife(ent) {
  1399.     static id; id = get_pdata_cbase(ent, 41, 4);
  1400.     if(!isAlive(id) || cs_get_user_shield(id)) return;
  1401.  
  1402.     UstawNoz(id);
  1403. }
  1404.  
  1405. stock UstawNoz(id) {
  1406.     if(isFlagi(id, "v")) {
  1407.         set_pev(id, 144, isTeam(id) == 1 ? Box ? piesci[9] : MaLom == id ? piesci[7] : piesci[7] : piesci_ct[7]);
  1408.         set_pev(id, 143, isTeam(id) == 1 ? Box ? piesci[8] : MaLom == id ? piesci[6] : piesci[6] : piesci_ct[6]);
  1409.     }
  1410.     else if(isFlagi(id, "s")) {
  1411.         set_pev(id, 144, isTeam(id) == 1 ? Box ? piesci[9] : MaLom == id ? piesci[7] : piesci[5] : piesci_ct[5]);
  1412.         set_pev(id, 143, isTeam(id) == 1 ? Box ? piesci[8] : MaLom == id ? piesci[6] : piesci[4] : piesci_ct[4]);
  1413.     }
  1414.     else if(isFlagi(id, "t")) {
  1415.         set_pev(id, 144, isTeam(id) == 1 ? Box ? piesci[9] : MaLom == id ? piesci[7] : piesci[3] : piesci_ct[3]);
  1416.         set_pev(id, 143, isTeam(id) == 1 ? Box ? piesci[8] : MaLom == id ? piesci[6] : piesci[2] : piesci_ct[2]);
  1417.     } else {
  1418.         set_pev(id, 144, isTeam(id) == 1 ? Box ? piesci[9] : MaLom == id ? piesci[7] : piesci[1] : piesci_ct[1]);
  1419.         set_pev(id, 143, isTeam(id) == 1 ? Box ? piesci[8] : MaLom == id ? piesci[6] : piesci[0] : piesci_ct[0]);
  1420.     }
  1421. }
  1422.  
  1423. public WeaponZbijak(ent) {
  1424.     if(GameMode != 6 || ile_graczy[0] == 1) return;
  1425.     static id; id = get_pdata_cbase(ent, 41, 4);
  1426.  
  1427.     if(!isAlive(id) || isTeam(id) != 1) return;
  1428.  
  1429.     set_pev(id, 144, modele[0]);
  1430. }
  1431.  
  1432. public WeaponHolster(ent) {
  1433.     if(ile_graczy[0] == 1 || GameMode != -1) return;
  1434.     static id; id = get_pdata_cbase(ent, 41, 4);
  1435.  
  1436.     if(!isAlive(id) || isTeam(id) != 1) return;
  1437.  
  1438.     emitSound(id, 1, "weapons/357_reload1.wav");
  1439. }
  1440.  
  1441. public LRZyczenie(id) {
  1442.     if(isAlive(id) && ile_graczy[0] == 1 && ile_graczy[2] && isTeam(id) == 1 && GameMode != -1) {
  1443.         LrMenu(id);
  1444.         return 1;
  1445.     }
  1446.     CheckLR();
  1447.     return 1;
  1448. }
  1449.  
  1450. public CheckLR() {
  1451.     if(LRStart || !ile_graczy[2] || FirstRound|| GameMode == 1 || ile_graczy[0] != 1 || !isAlive(Prowadzacy) || isTeam(Prowadzacy) != 2) return 1;
  1452.  
  1453.     for(new i = 1; i <= MaxClients; ++i) {
  1454.         if(!isAlive(i) || isTeam(i) != 1 || !zabojca_ct[i]) continue;
  1455.  
  1456.         ColorChat(0, 0, "^4[Zyczenie]^1 Ostatni wiezien nie ma zyczenia, poniewaz jest budyniowcem!");
  1457.         return 1;
  1458.     }
  1459.     menu_display(Prowadzacy, PozwolMenu);
  1460.     return 1;
  1461. }
  1462.  
  1463. public HandlePozwol(id, menu, item) {
  1464.     if(Prowadzacy != id || ile_graczy[0] != 1 || !isAlive(id) || item == -3) return;
  1465.  
  1466.     switch(item) {
  1467.         case 0: {
  1468.             ColorChat(0, 0, "^4[JailBreak]^1 Prowadzacy pozwolil wybrac zyczenie!");
  1469.             for(new i = 1; i <= MaxClients; ++i) {
  1470.                 if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] != 1) continue;
  1471.  
  1472.                 LrMenu(i);
  1473.             }
  1474.         }
  1475.         case 1: ColorChat(0, 0, "^4[JailBreak]^1 Prowadzacy zdecydowal, ze wiezien nie ma zyczenia!");
  1476.     }
  1477. }
  1478.  
  1479. public LrMenu(id) {
  1480.     if(ile_graczy[0] != 1 || FirstRound || LRStart || !isAlive(id) || !ile_graczy[2]) return 1;
  1481.  
  1482.     new ret; ExecuteForward(Forward[fPrisonerShowWish], ret, id);
  1483.     menu_display(id, ZyczMenu);
  1484.     return 1;
  1485. }
  1486.  
  1487. public MenuCallback(id, menu, item) {
  1488.     if(item == 2 && (rundy%7 == 5 || GameMode == 1)) return 2;
  1489.     if(item == 11 && !plugin("bazooka")) return 2;
  1490.     if(item == 12 && !plugin("rozdzka")) return 2;
  1491.  
  1492.     return 1;
  1493. }
  1494.  
  1495. public HandleLrMenu(id, menu, item) {
  1496.     if(item == -3 || ile_graczy[0] != 1 || FirstRound || LRStart || !isAlive(id) || !ile_graczy[2]) return;
  1497.  
  1498.     static acces, szZyczenie[32], szID[32], ret;
  1499.     menu_item_getinfo(menu, item, acces, szID, 31, szZyczenie, 31, acces);
  1500.     static data; data = str_to_num(szID);
  1501.     ExecuteForward(Forward[fPrisonerTakeWish], ret, id, Prowadzacy, data);
  1502.     if(ret == 9999) {
  1503.         menu_display(id, menu);
  1504.         ColorChat(id, 0, "^4[JailBreak]^1 Nie mozesz wybrac tego zyczenia!");
  1505.         return;
  1506.     }
  1507.     LRStart = true;
  1508.  
  1509.     switch(data) {
  1510.         case 1: {
  1511.             for(new i = 1; i <= MaxClients; ++i) {
  1512.                 if(!isAlive(i)) continue;
  1513.  
  1514.                 UsunBronie(i);
  1515.                 ColorChat(i, 0, "^4[Zyczenie]^1 Wlasne zyczenie np... Rosyjska ruletka, mecz do 1 bramki itp.");
  1516.             }
  1517.             ColorChat(0, 0, "^4[Zyczenie]^3 %s^1 wybral^3 Wlasne zyczenie!", nick[id]);
  1518.         }
  1519.         case 2: {
  1520.             UsunBronie(id);
  1521.             GiveItem(id, "weapon_deagle", 35);
  1522.  
  1523.             for(new i = 1; i <= MaxClients; ++i) {
  1524.                 if(!isAlive(i) || isTeam(i) != 2) continue;
  1525.  
  1526.                 UsunBronie(i);
  1527.                 UstawBlokade(i, true);
  1528.                 set_user_health(i, 100);
  1529.                 set_pev(i, 84, pev(i, 84) | (1<<12));
  1530.             }
  1531.             ColorChat(0, 0, "^4[Zyczenie]^3 %s^1 wybral^3 Bezruch!", nick[id]);
  1532.         }
  1533.         case 3: {
  1534.             UstawFreeday(id, false, true, false);
  1535.             user_silentkill(id);
  1536.             ColorChat(0, 0, "^4[Zyczenie]^3 %s^1 wybral^3 FreeDay^1 na nastepna runde!", nick[id]);
  1537.         }
  1538.         case 4: {
  1539.             Duel[0] = id;
  1540.             bronie_pojedynek = 100;
  1541.             MenuPojedynek(id);
  1542.             ColorChat(0, 0, "^4[Zyczenie]^3 %s^1 wybral^3 Rzut bronia!", nick[id]);
  1543.         }
  1544.         case 5: {
  1545.             Duel[0] = id;
  1546.             bronie_pojedynek = 9;
  1547.             MenuPojedynek(id);
  1548.             ColorChat(0, 0, "^4[Zyczenie]^3 %s^1 wybral^3 Rzut granatem!", nick[id]);
  1549.         }
  1550.         case 6: {
  1551.             Duel[0] = id;
  1552.             bronie_pojedynek = 29;
  1553.             MenuPojedynek(id);
  1554.             ColorChat(0, 0, "^4[Zyczenie]^3 %s^1 wybral^3 pojedynek na Noze!", nick[id]);
  1555.         }
  1556.         case 7: {
  1557.             Duel[0] = id;
  1558.             bronie_pojedynek = 26;
  1559.             MenuPojedynek(id);
  1560.             ColorChat(0, 0, "^4[Zyczenie]^3 %s^1 wybral^3 pojedynek na Deagle!", nick[id]);
  1561.         }
  1562.         case 8: {
  1563.             Duel[0] = id;
  1564.             bronie_pojedynek = 18;
  1565.             #if defined CHOOSE_ZOOM
  1566.             MenuZoom(id);
  1567.             #else
  1568.             MenuPojedynek(id);
  1569.             #endif
  1570.             ColorChat(0, 0, "^4[Zyczenie]^3 %s^1 wybral^3 pojedynek na AWP!", nick[id]);
  1571.         }
  1572.         case 9: {
  1573.             Duel[0] = id;
  1574.             bronie_pojedynek = 3;
  1575.             #if defined CHOOSE_ZOOM
  1576.             MenuZoom(id);
  1577.             #else
  1578.             MenuPojedynek(id);
  1579.             #endif
  1580.             ColorChat(0, 0, "^4[Zyczenie]^3 %s^1 wybral^3 pojedynek na Scouty!", nick[id]);
  1581.         }
  1582.         case 10: {
  1583.             Duel[0] = id;
  1584.             bronie_pojedynek = 4;
  1585.             MenuPojedynek(id);
  1586.             ColorChat(0, 0, "^4[Zyczenie]^3 %s^1 wybral^3 pojedynek na Granaty!", nick[id]);
  1587.         }
  1588.         case 11: {
  1589.             Duel[0] = id;
  1590.             bronie_pojedynek = 21;
  1591.             MenuPojedynek(id);
  1592.             ColorChat(0, 0, "^4[Zyczenie]^3 %s^1 wybral^3 pojedynek na Pompy!", nick[id]);
  1593.         }
  1594.         case 12: {
  1595.             Duel[0] = id;
  1596.             bronie_pojedynek = 24;
  1597.             MenuPojedynek(id);
  1598.             ColorChat(0, 0, "^4[Zyczenie]^3 %s^1 wybral^3 pojedynek na Bazooki!", nick[id]);
  1599.         }
  1600.         case 13: {
  1601.             Duel[0] = id;
  1602.             bronie_pojedynek = 101;
  1603.             MenuPojedynek(id);
  1604.             ColorChat(0, 0, "^4[Zyczenie]^3 %s^1 wybral^3 pojedynek na Rozdzki!", nick[id]);
  1605.         }
  1606.     }
  1607. }
  1608.  
  1609. #if defined CHOOSE_ZOOM
  1610. public MenuZoom(id) {
  1611.     static menu; menu = menu_create("Opcja zooma:", "HandleZoom");
  1612.     menu_additem(menu, "Z Zoomem");
  1613.     menu_additem(menu, "Bez Zooma");
  1614.     menu_setprop(menu, 6, -1);
  1615.     menu_display(id, menu);
  1616. }
  1617.  
  1618. public HandleZoom(id, menu, item) {
  1619.     if(Duel[0] != id || !isAlive(id)) return;
  1620.  
  1621.     if(item) bezZooma = true;
  1622.  
  1623.     MenuPojedynek(id);
  1624. }
  1625. #endif
  1626.  
  1627. public MenuPojedynek(id) {
  1628.     static menu; menu = menu_create("Pojedynek Z:", "HandlePojedynek");
  1629.     for(new i = 1; i <= MaxClients; ++i) {
  1630.         if(!isAlive(i) || isTeam(i) != 2) continue;
  1631.  
  1632.         new num[3]; num_to_str(i, num, 2);
  1633.         menu_additem(menu, nick[i], num);
  1634.     }
  1635.     menu_setprop(menu, 6, -1);
  1636.     menu_display(id, menu);
  1637. }
  1638.  
  1639. public HandlePojedynek(id, menu, item) {
  1640.     if(Duel[0] != id || Duel[1] || !isAlive(id) || item == -3) {
  1641.         menu_display(id, menu);
  1642.         return;
  1643.     }
  1644.     new acces, cb, data[3], szName2[32];
  1645.     menu_item_getinfo(menu, item, acces, data, 2, szName2, 31, cb);
  1646.     Duel[1] = get_user_index(szName2);
  1647.  
  1648.     if(!isAlive(Duel[1])) {
  1649.         Duel[1] = 0;
  1650.         MenuPojedynek(id);
  1651.         return;
  1652.     }
  1653.     #if defined ICON_DUEL
  1654.     ShowDuelIcon(id, 1);
  1655.     ShowDuelIcon(Duel[1], 0);
  1656.     #else
  1657.     set_user_rendering(id, 19, 255, 0, 0, 0, 10);
  1658.     set_user_rendering(Duel[1], 19, 0, 0, 255, 0, 10);
  1659.     #endif
  1660.     #if defined BEACON_LR
  1661.     set_task(0.1, "StartBeacon", id);
  1662.     set_task(0.1, "StartBeacon", Duel[1]);
  1663.     #endif
  1664.     PlaySound(0, dzwieki[8]);
  1665.  
  1666.     RegisterHams(true);
  1667.  
  1668.     set_user_health(id, 100);
  1669.     set_user_health(Duel[1], 100);
  1670.  
  1671.     if(MaLom == id) MaLom = 0;
  1672.     stripWeapons(id);
  1673.     stripWeapons(Duel[1]);
  1674.  
  1675.     if(bronie_pojedynek == 24) {
  1676.         server_cmd("jail_add_rpg %i", id);
  1677.         server_cmd("jail_add_rpg %i", Duel[1]);
  1678.         return;
  1679.     }
  1680.     if(bronie_pojedynek == 29) {
  1681.         server_cmd("jail_del_magic %i", id);
  1682.         giveItem(id, "weapon_knife");
  1683.         set_pev(id, 144, "models/v_knife.mdl");
  1684.         set_pev(id, 143, "models/p_knife.mdl");
  1685.  
  1686.         giveItem(Duel[1], "weapon_knife");
  1687.         set_pev(Duel[1], 144, "models/v_knife.mdl");
  1688.         set_pev(Duel[1], 143, "models/p_knife.mdl");
  1689.         return;
  1690.     }
  1691.     if(bronie_pojedynek == 100) {
  1692.         giveItem(id, "weapon_knife");
  1693.         giveItem(Duel[1], "weapon_knife");
  1694.         cs_set_weapon_ammo(giveItem(id, "weapon_deagle"), 0);
  1695.         cs_set_weapon_ammo(giveItem(Duel[1], "weapon_deagle"), 0);
  1696.         return;
  1697.     }
  1698.     if(bronie_pojedynek == 101) {
  1699.         server_cmd("jail_add_magic %i", id);
  1700.         server_cmd("jail_add_magic %i", Duel[1]);
  1701.         return;
  1702.     }
  1703.     if(bronie_pojedynek == 9) {
  1704.         giveItem(id, "weapon_knife"); giveItem(id, "weapon_smokegrenade");
  1705.         giveItem(Duel[1], "weapon_knife"); giveItem(Duel[1], "weapon_smokegrenade");
  1706.         return;
  1707.     }
  1708.     new name[24]; get_weaponname(bronie_pojedynek, name, 23);
  1709.     cs_set_weapon_ammo(giveItem(id, name), 1);
  1710.     cs_set_weapon_ammo(giveItem(Duel[1], name), 1);
  1711. }
  1712.  
  1713. public WybierzDuel() {
  1714.     if(!LRStart) return;
  1715.  
  1716.     Duel[1] = LosujGracza(2);
  1717.     if(!Duel[1]) return;
  1718.  
  1719.     #if defined ICON_DUEL
  1720.     ShowDuelIcon(Duel[1], 0);
  1721.     #else
  1722.     set_user_rendering(Duel[1], 19, 0, 0, 255, 0, 10);
  1723.     #endif
  1724.     #if defined BEACON_LR
  1725.     set_task(0.1, "StartBeacon", Duel[1]);
  1726.     #endif
  1727.     PlaySound(0, dzwieki[8]);
  1728.  
  1729.     if(isAlive(Duel[0])) set_user_health(Duel[0], 100);
  1730.  
  1731.     set_user_health(Duel[1], 100);
  1732.     stripWeapons(Duel[1]);
  1733.  
  1734.     if(bronie_pojedynek == 24) {
  1735.         server_cmd("jail_add_rpg %i", Duel[1]);
  1736.         return;
  1737.     }
  1738.     if(bronie_pojedynek == 29) {
  1739.         giveItem(Duel[1], "weapon_knife");
  1740.         set_pev(Duel[1], 144, "models/v_knife.mdl");
  1741.         set_pev(Duel[1], 143, "models/p_knife.mdl");
  1742.         return;
  1743.     }
  1744.     if(bronie_pojedynek == 100) {
  1745.         giveItem(Duel[0], "weapon_knife");
  1746.         giveItem(Duel[1], "weapon_knife");
  1747.  
  1748.         new ent[2];
  1749.         ent[0] = giveItem(Duel[0], "weapon_deagle");
  1750.         ent[1] = giveItem(Duel[1], "weapon_deagle");
  1751.         if(pev_valid(ent[0])) cs_set_weapon_ammo(ent[0], 0);
  1752.         if(pev_valid(ent[0])) cs_set_weapon_ammo(ent[1], 0);
  1753.         return;
  1754.     }
  1755.     if(bronie_pojedynek == 101) {
  1756.         server_cmd("jail_add_magic %i", Duel[1]);
  1757.         return;
  1758.     }
  1759.     if(bronie_pojedynek == 9) {
  1760.         giveItem(Duel[0], "weapon_knife"); giveItem(Duel[0], "weapon_smokegrenade");
  1761.         giveItem(Duel[1], "weapon_knife"); giveItem(Duel[1], "weapon_smokegrenade");
  1762.         return;
  1763.     }
  1764.     new name[24], ent;
  1765.     get_weaponname(bronie_pojedynek, name, 23);
  1766.     ent = giveItem(Duel[1], name);
  1767.     if(pev_valid(ent)) cs_set_weapon_ammo(ent, 1);
  1768. }
  1769.  
  1770. public EntityThink(ent) {
  1771.     if(!pev_valid(ent) || !LRStart || bronie_pojedynek != 9) return 1;
  1772.  
  1773.     new id = pev(ent, 18);
  1774.  
  1775.     if(id != Duel[0] && id != Duel[1]) return 1;
  1776.  
  1777.     new model[32]; pev(ent, 3, model, 31);
  1778.     if(!equal(model, "models/w_smokegrenade.mdl")) return 1;
  1779.  
  1780.     set_pev(ent, 78, 19);
  1781.     set_pev(ent, 40, 125.0);
  1782.     set_pev(ent, 77, 4);
  1783.     set_pev(ent, 134, id == Duel[1] ? { 0.0, 0.0, 255.0 } : { 255.0, 0.0, 0.0 });
  1784.     return 4;
  1785. }
  1786.  
  1787. #if defined CHOOSE_ZOOM
  1788. public BlockZoom(ent) {
  1789.     if(!bezZooma) return 1;
  1790.  
  1791.     new id = get_pdata_cbase(ent, 41, 4);
  1792.     if(Duel[0] == id || Duel[1] == id) return 4;
  1793.  
  1794.     return 1;
  1795. }
  1796. #endif
  1797.  
  1798. #if defined BEACON_LR
  1799. public StartBeacon() {
  1800.     if(!LRStart) return;
  1801.  
  1802.     new id;
  1803.  
  1804.     for(new i; i < 2; i++) {
  1805.         id = Duel[i];
  1806.  
  1807.         static origin[3];
  1808.         get_user_origin(id, origin);
  1809.         message_begin(0, 23);
  1810.         write_byte(21);
  1811.         write_coord(origin[0]);
  1812.         write_coord(origin[1]);
  1813.         write_coord(origin[2]-10);
  1814.         write_coord(origin[0]);
  1815.         write_coord(origin[1]);
  1816.         write_coord(origin[2]+100);
  1817.         write_short(sprite);
  1818.         write_byte(0);
  1819.         write_byte(1);
  1820.         write_byte(6);
  1821.         write_byte(4);
  1822.         write_byte(1);
  1823.         write_byte(isTeam(id) == 1 ? 255 : 0);
  1824.         write_byte(0);
  1825.         write_byte(isTeam(id) == 1 ? 0 : 255);
  1826.         write_byte(255);
  1827.         write_byte(0);
  1828.         message_end();
  1829.     }
  1830.     set_task(1.0, "StartBeacon", id);
  1831. }
  1832. #endif
  1833.  
  1834. public PLMessage() {
  1835.     static msg[38]; get_msg_arg_string(2, msg, 37);
  1836.     if(TrieGetString(zamien, msg, msg, 37)) {
  1837.         set_msg_arg_string(2, msg);
  1838.         return 0;
  1839.     }
  1840.     return 1;
  1841. }
  1842.  
  1843. public BlockGrenade() {
  1844.     static arg[20]; get_msg_arg_string(2, arg, 19);
  1845.     return equal(arg[1], "!MRAD_FIREINHOLE") ? 1 : 0;
  1846. }
  1847.  
  1848. public BlockRadar() {
  1849.     if(1 <= GameMode <= 19 && ile_graczy[0] > 2) {
  1850.         set_msg_arg_int(2, ARG_COORD, 0);
  1851.         set_msg_arg_int(3, ARG_COORD, 0);
  1852.         set_msg_arg_int(4, ARG_COORD, 0);
  1853.     }
  1854. }
  1855.  
  1856. public Update() {
  1857.     new gracze[32];
  1858.     get_players(gracze, ile_graczy[1], "cehi", "TERRORIST");
  1859.     get_players(gracze, ile_graczy[0], "acehi", "TERRORIST");
  1860.  
  1861.     get_players(gracze, ile_graczy[3], "cehi", "CT");
  1862.     get_players(gracze, ile_graczy[2], "acehi", "CT");
  1863.  
  1864.     IleFD = 0;
  1865.     IleBudyn = 0;
  1866.     IleZlapanych = 0;
  1867.     for(new i = 1; i <= MaxClients; ++i) {
  1868.         if(!isAlive(i) || isTeam(i) != 1) continue;
  1869.  
  1870.         if(blokada[i]) IleFD++;
  1871.         if(zabojca_ct[i]) IleBudyn++;
  1872.         if(JestZlapany[i]) IleZlapanych++;
  1873.     }
  1874. }
  1875.  
  1876. public Pokazuj() {
  1877.     Update();
  1878.     static szText[3][1024];
  1879.     new i, szGet[7][256];
  1880.  
  1881.     format(szGet[0], 255, "%s", GetLast());
  1882.     format(szGet[1], 255, "%s", GetFD());
  1883.     format(szGet[2], 255, "%s", GetWanted());
  1884.     format(szGet[3], 255, "%s", GetFrozen());
  1885.     format(szGet[4], 255, "%s", GetHiddenRun());
  1886.     format(szGet[5], 255, "%s", GetGangs());
  1887.     format(szGet[6], 255, "%s", GetLR());
  1888.  
  1889.     switch(GameMode) {
  1890.         case -1: {
  1891.             formatex(szText[1], 1023, "Normalny");
  1892.             formatex(szText[2], 255, "^n^nWiezniowie musza sluchac sie prowadzacego!");
  1893.            
  1894.         }
  1895.         case 0: {
  1896.             formatex(szText[1], 1023, "FreeDay");
  1897.             if(Odliczanie[FD_ODLICZ_KONIEC]) {
  1898.                 formatex(szText[2], 255, "^n^nGracze maja [%s] aby zapoznac sie z mapa", timer_hud(Odliczanie[FD_ODLICZ_KONIEC]));
  1899.                 if(Odliczanie[FD_ODLICZ_GOD]) formatex(szText[2], 255, "%s^nGracze maja [%s] niesmiertnosc", szText[2], timer_hud(Odliczanie[FD_ODLICZ_GOD]));
  1900.             }
  1901.         }
  1902.         case 1: {
  1903.             formatex(szText[1], 1023, "KillDay");
  1904.             if(Odliczanie[KD_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie rozejsc", timer_hud(Odliczanie[KD_ODLICZ_START]));
  1905.             if(Odliczanie[KD_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby zabic wszystkich wiezniow", timer_hud(Odliczanie[KD_ODLICZ_KONIEC]));
  1906.         }
  1907.         case 2: {
  1908.             formatex(szText[1], 1023, "Chowany");
  1909.             if(Odliczanie[CH_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie schowac", timer_hud(Odliczanie[CH_ODLICZ_START]));
  1910.             if(Odliczanie[CH_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nStraznicy maja [%s] aby znalezc wszystkich wiezniow", timer_hud(Odliczanie[CH_ODLICZ_KONIEC]));
  1911.         }
  1912.         case 3: {
  1913.             formatex(szText[1], 1023, "Ganiany");
  1914.             if(Odliczanie[GN_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby uciec", timer_hud(Odliczanie[GN_ODLICZ_START]));
  1915.             if(Odliczanie[GN_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nStraznicy maja [%s] aby zabic wszystkich wiezniow", timer_hud(Odliczanie[GN_ODLICZ_KONIEC]));
  1916.         }
  1917.         case 4: {
  1918.             formatex(szText[1], 1023, "Wojna Gangow");
  1919.             if(Odliczanie[WG_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie schowac", timer_hud(Odliczanie[WG_ODLICZ_START]));
  1920.             if(Odliczanie[WG_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby zabic wszystkich wiezniow", timer_hud(Odliczanie[WG_ODLICZ_KONIEC]));
  1921.         }
  1922.         case 5: {
  1923.             formatex(szText[1], 1023, "Lapany");
  1924.             if(Odliczanie[LN_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie schowac", timer_hud(Odliczanie[LN_ODLICZ_START]));
  1925.             if(Odliczanie[LN_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nStraznicy maja [%s] aby zlapac wszystkich wiezniow", timer_hud(Odliczanie[LN_ODLICZ_KONIEC]));
  1926.         }
  1927.         case 6: {
  1928.             formatex(szText[1], 1023, "Zbijak");
  1929.             if(Odliczanie[ZB_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie rozejsc", timer_hud(Odliczanie[ZB_ODLICZ_START]));
  1930.             if(Odliczanie[ZB_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby zabic wszystkich wiezniow", timer_hud(Odliczanie[ZB_ODLICZ_KONIEC]));
  1931.         }
  1932.         case 7: {
  1933.             formatex(szText[1], 1023, "Dzieci Wojny");
  1934.             if(Odliczanie[DW_ODLICZ_START]) formatex(szText[2], 255, "^n^nStraznicy maja [%s] aby sie schowac", timer_hud(Odliczanie[DW_ODLICZ_START]));
  1935.             if(Odliczanie[DW_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby zabic straznikow", timer_hud(Odliczanie[DW_ODLICZ_KONIEC]));
  1936.         }
  1937.         case 8: {
  1938.             formatex(szText[1], 1023, "Wojna na Granaty");
  1939.             if(Odliczanie[WNG_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie rozejsc", timer_hud(Odliczanie[WNG_ODLICZ_START]));
  1940.             if(Odliczanie[WNG_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby zabic wszystkich wiezniow", timer_hud(Odliczanie[WNG_ODLICZ_KONIEC]));
  1941.         }
  1942.         case 9: {
  1943.             formatex(szText[1], 1023, "Swiat Magii");
  1944.             if(Odliczanie[MA_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie rozejsc", timer_hud(Odliczanie[MA_ODLICZ_START]));
  1945.             if(Odliczanie[MA_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby zabic wszystkich wiezniow", timer_hud(Odliczanie[MA_ODLICZ_KONIEC]));
  1946.         }
  1947.         case 10: {
  1948.             formatex(szText[1], 1023, "NinjaDay");
  1949.             if(Odliczanie[NIE_ODLICZ_START]) formatex(szText[2], 255, "^n^nStraznicy maja [%s] aby sie schowac", timer_hud(Odliczanie[NIE_ODLICZ_START]));
  1950.             if(Odliczanie[NIE_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby zabic straznikow", timer_hud(Odliczanie[NIE_ODLICZ_KONIEC]));
  1951.         }
  1952.         case 11: {
  1953.             formatex(szText[1], 1023, "1shot1kill");
  1954.             if(Odliczanie[ONE_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie rozejsc", timer_hud(Odliczanie[ONE_ODLICZ_START]));
  1955.             if(Odliczanie[ONE_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby zabic wszystkich wiezniow", timer_hud(Odliczanie[ONE_ODLICZ_KONIEC]));
  1956.         }
  1957.         case 12: {
  1958.             formatex(szText[1], 1023, "RPG Day");
  1959.             if(Odliczanie[RPG_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie rozejsc", timer_hud(Odliczanie[RPG_ODLICZ_START]));
  1960.             if(Odliczanie[RPG_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby zabic wszystkich wiezniow", timer_hud(Odliczanie[RPG_ODLICZ_KONIEC]));
  1961.         }
  1962.         case 13: {
  1963.             formatex(szText[1], 1023, "Only HS");
  1964.             if(Odliczanie[HS_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie rozejsc", timer_hud(Odliczanie[HS_ODLICZ_START]));
  1965.             if(Odliczanie[HS_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby zabic wszystkich wiezniow", timer_hud(Odliczanie[HS_ODLICZ_KONIEC]));
  1966.         }
  1967.         case 14: {
  1968.             formatex(szText[1], 1023, "Smigus-Dyngus");
  1969.             if(Odliczanie[SMI_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie rozejsc", timer_hud(Odliczanie[SMI_ODLICZ_START]));
  1970.             if(Odliczanie[SMI_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby zabic wszystkich wiezniow", timer_hud(Odliczanie[SMI_ODLICZ_KONIEC]));
  1971.         }
  1972.         case 15: {
  1973.             formatex(szText[1], 1023, "FireDay");
  1974.             if(Odliczanie[FIR_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie rozejsc", timer_hud(Odliczanie[FIR_ODLICZ_START]));
  1975.             if(Odliczanie[FIR_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby zabic wszystkich wiezniow", timer_hud(Odliczanie[FIR_ODLICZ_KONIEC]));
  1976.         }
  1977.         case 16: {
  1978.             formatex(szText[1], 1023, "Polowanie");
  1979.             if(Odliczanie[BOW_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie schowac", timer_hud(Odliczanie[BOW_ODLICZ_START]));
  1980.             if(Odliczanie[BOW_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nStraznicy maja [%s] aby zlapac wszystkich wiezniow", timer_hud(Odliczanie[BOW_ODLICZ_KONIEC]));
  1981.         }
  1982.         case 17: {
  1983.             formatex(szText[1], 1023, "Robin Hood");
  1984.             if(Odliczanie[BOW2_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie rozejsc", timer_hud(Odliczanie[BOW2_ODLICZ_START]));
  1985.             if(Odliczanie[BOW2_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby zabic wszystkich wiezniow", timer_hud(Odliczanie[BOW2_ODLICZ_KONIEC]));
  1986.         }
  1987.         case 18: {
  1988.             formatex(szText[1], 1023, "Star Wars");
  1989.             if(Odliczanie[SW_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie rozejsc", timer_hud(Odliczanie[SW_ODLICZ_START]));
  1990.             if(Odliczanie[SW_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby zabic wszystkich wiezniow", timer_hud(Odliczanie[SW_ODLICZ_KONIEC]));
  1991.         }
  1992.         case 19: {
  1993.             formatex(szText[1], 1023, "Kaczki");
  1994.             if(Odliczanie[KA_ODLICZ_START]) formatex(szText[2], 255, "^n^nWiezniowie maja [%s] aby sie schowac", timer_hud(Odliczanie[KA_ODLICZ_START]));
  1995.             if(Odliczanie[KA_ODLICZ_KONIEC]) formatex(szText[2], 255, "^n^nStraznicy maja [%s] aby zabic wszystkich wiezniow", timer_hud(Odliczanie[KA_ODLICZ_KONIEC]));
  1996.         }
  1997.     }
  1998.     if(IleFD && (ile_graczy[0] - 1) == IleFD) {
  1999.         for(i = 1; i <= MaxClients; ++i) {
  2000.             if(!isAlive(i) || isTeam(i) != 1 || !blokada[i]) continue;
  2001.  
  2002.             user_silentkill(i);
  2003.             UstawBlokade(i, false);
  2004.         }
  2005.     }
  2006.     if(Prowadzacy) formatex(szText[0], 1023, "Dzien: %i - %s^nProwadzacy: %s^n%sTyp dnia: %s^nWiezniow: %i/%i", rundy, dni_tygodnia[rundy%7], nick[Prowadzacy], GameMode == -1 ? "" : "^n", szText[1], ile_graczy[0], ile_graczy[1]);
  2007.     else formatex(szText[0], 1023, "Dzien: %i - %s^nTyp dnia: %s^nWiezniow: %i/%i", rundy, dni_tygodnia[rundy%7], szText[1], ile_graczy[0], ile_graczy[1]);
  2008.  
  2009.     setHud(201, 201, 14, 0.09, 0.06, 0, 6.0, 1.1, 0.0, 0.0, -1);
  2010.     showHud(0, hud[1], "%s%s%s%s%s%s%s%s%s", szText[0], 0 <= GameMode <= 19 && ile_graczy[0] == 1 ? "" : szText[2], szGet[0], szGet[1], szGet[2], szGet[3], szGet[4], szGet[5], szGet[6]);
  2011. }
  2012.  
  2013. new counter[33], Float:g_wallorigin[33][3];
  2014. public PreThink(id) {
  2015.     if(!isAlive(id) || ile_graczy[0] == 1) return;
  2016.  
  2017.     if(GameMode == 19 && isTeam(id) == 1) {
  2018.         static Float:pView[3]; pev(id, pev_view_ofs, pView);
  2019.         if(pView[2] != 0.0) set_pev(id, pev_view_ofs, Float:{0.0, 0.0, 0.0});
  2020.     }
  2021.     if(GameMode == 3 && pev(id, 81) & (1<<0)) set_pev(id, 98, pev(id, 98) | (1<<0));
  2022.     if(GameMode == 2) {
  2023.         if(isTeam(id) == 1) {
  2024.             if(counter[id]++ > 30) {
  2025.                 counter[id] = 0;
  2026.  
  2027.                 message_begin(0, 135);
  2028.                 write_byte(0);
  2029.                 write_byte(id);
  2030.                 message_end();
  2031.             }
  2032.             return;
  2033.         }
  2034.         if(isTeam(id) == 2 && LatarkaON[id]) {
  2035.             static Origin[3], Aim[3], Dist, col;
  2036.             col = g_FlashColor[id];
  2037.             get_user_origin(id, Origin, 1);
  2038.             get_user_origin(id, Aim, 3);
  2039.  
  2040.             Dist = get_distance(Origin, Aim);
  2041.  
  2042.             if(Dist > 5000) return;
  2043.  
  2044.             message_begin(2, 23);
  2045.             write_byte(27);
  2046.             write_coord(Aim[0]);
  2047.             write_coord(Aim[1]);
  2048.             write_coord(Aim[2]);
  2049.             write_byte(20);
  2050.             write_byte(KoloryLatarki[col][0]);
  2051.             write_byte(KoloryLatarki[col][1]);
  2052.             write_byte(KoloryLatarki[col][2]);
  2053.             write_byte(2);
  2054.             write_byte(Dist * 255 / 5000);
  2055.             message_end();
  2056.  
  2057.             setHud(KoloryLatarki[col][0], KoloryLatarki[col][1], KoloryLatarki[col][2], 0.05, 0.65, 0, 0.25, 0.25, 0.5, 0.5, 3);
  2058.             showHud(id, hud[0], "Swiecisz kolorem %s", KoloryNazwy[col]);
  2059.         }
  2060.     }
  2061.     if(GameMode != 10 || isTeam(id) != 2) return;
  2062.  
  2063.     static button, flags;
  2064.     button = pev(id, 81);
  2065.     flags = pev(id, 84);
  2066.     if(button & (1<<2) && flags & (1<<9)) {
  2067.         static Float:velocity[3];
  2068.         velocity_by_aim(id, 800, velocity);
  2069.         velocity[2] = 210.0;
  2070.         set_pev(id, 120, velocity);
  2071.     }
  2072.     if(button & (1<<5)) {
  2073.         static Float:origin[3];
  2074.         pev(id, 118, origin);
  2075.  
  2076.         if(get_distance_f(origin, g_wallorigin[id]) > 25.0 || flags & (1<<9)) return;
  2077.  
  2078.         if(button & (1<<3)) {
  2079.             static Float:velocity[3];
  2080.             velocity_by_aim(id, 240, velocity);
  2081.             set_pev(id, 120, velocity);
  2082.         }
  2083.         else if(button & (1<<4)) {
  2084.             static Float:velocity[3];
  2085.             velocity_by_aim(id, -240, velocity);
  2086.             set_pev(id, 120, velocity);
  2087.         }
  2088.     }
  2089. }
  2090.  
  2091. public GetTimeFD(id) {
  2092.     id -= ID_CZAS_FDGRACZ;
  2093.  
  2094.     if(!isAlive(id) || isTeam(id) != 1 || !blokada[id]) return 1;
  2095.  
  2096.     szPlayerFDTime[id] -= 1;
  2097.  
  2098.     if(szPlayerFDTime[id] <= 0) {
  2099.         UstawBlokade(id, false);
  2100.         ResetModels(id);
  2101.         PlaySound(0, "buttons/bell1");
  2102.         ColorChat(Prowadzacy, 0, "^4[FreeDay]^1 Wiezniowi^3 %s^1 skonczyl sie FreeDay. Wydaj mu polecenia!", nick[id]);
  2103.         removeTask(id + ID_CZAS_FDGRACZ);
  2104.     }
  2105.     return 1;
  2106. }
  2107.  
  2108. GetFD() {
  2109.     static szNumber;
  2110.     new i, szText[3][512];
  2111.     if(IleFD >= 1 && GameMode == -1) {
  2112.         szNumber = 0;
  2113.         szNumber = strlen(szText[0]);
  2114.  
  2115.         for(i = 1; i <= MaxClients; ++i) {
  2116.             if(!isAlive(i) || isTeam(i) != 1 || !blokada[i] || szPlayerFDTime[i] <= 0) continue;
  2117.  
  2118.             szNumber += copy(szText[0][szNumber], 511 - szNumber, "^n");
  2119.             formatex(szText[1], 511, "%s - [%s]", nick[i], szPlayerFDTime[i] >= 1 ? timer_hud(szPlayerFDTime[i]) : "Ladowanie...");
  2120.             szNumber += copy(szText[0][szNumber], 511 - szNumber, szText[1]);
  2121.         }
  2122.         formatex(szText[2], 511, "^n^nFreeDaye [%i]:%s", IleFD, szText[0]);
  2123.     }
  2124.     return szText[2];
  2125. }
  2126.  
  2127. GetWanted() {
  2128.     static szNumber;
  2129.     new i, szText[2][512];
  2130.     if(IleBudyn >= 1 && GameMode == -1) {
  2131.         szNumber = 0;
  2132.         szNumber = strlen(szText[0]);
  2133.  
  2134.         for(i = 1; i <= MaxClients; ++i) {
  2135.             if(!isAlive(i) || isTeam(i) != 1 || !zabojca_ct[i]) continue;
  2136.  
  2137.             szNumber += copy(szText[0][szNumber], 511 - szNumber, "^n");
  2138.             szNumber += copy(szText[0][szNumber], 511 - szNumber, nick[i]);
  2139.         }
  2140.         formatex(szText[1], 511, "^n^nPoszukiwani [%i]:%s", IleBudyn, szText[0]);
  2141.     }
  2142.     return szText[1];
  2143. }
  2144.  
  2145. GetLast() {
  2146.     new i, id, TextLast[64];
  2147.     if(ile_graczy[0] == 1) {
  2148.         for(i = 1; i <= MaxClients; ++i) {
  2149.             if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] != 1) continue;
  2150.  
  2151.             id = i;
  2152.         }
  2153.         if(!wykonaj_raz) {
  2154.             new ret; ExecuteForward(Forward[fPrisonerLast], ret, id);
  2155.             wykonaj_raz = true;
  2156.         }
  2157.         if(GameMode == 4) formatex(TextLast, 63, "^nWygral %s z gangu %sch", nick[id], user_gangi[id] == 1 ? "zielony" : user_gangi[id] == 2 ? "niebieski" : "czerowny");
  2158.         else formatex(TextLast, 63, "^nOstatni wiezien: %s", nick[id]);
  2159.     }
  2160.     return TextLast;
  2161. }
  2162.  
  2163. GetFrozen() {
  2164.     static szNumber;
  2165.     new i, szText[3][512];
  2166.     if(IleZlapanych >= 1 && GameMode == 5) {
  2167.         szNumber = 0;
  2168.         szNumber = strlen(szText[0]);
  2169.  
  2170.         for(i = 1; i <= MaxClients; ++i) {
  2171.             if(!isAlive(i) || isTeam(i) != 1 || !JestZlapany[i]) continue;
  2172.  
  2173.             szNumber += copy(szText[0][szNumber], 511 - szNumber, "^n");
  2174.             formatex(szText[1], 511, "%s - [%i/2]", nick[i], JestZlapany[i]);
  2175.             szNumber += copy(szText[0][szNumber], 511 - szNumber, szText[1]);
  2176.         }
  2177.         formatex(szText[2], 511, "^n^nZlapani [%i]:%s", IleZlapanych, szText[0]);
  2178.     }
  2179.     return szText[2];
  2180. }
  2181.  
  2182. GetHiddenRun() {
  2183.     static szNumber;
  2184.     new i, szText[2][768];
  2185.     if(ile_graczy[0] != 1 && 2 <= GameMode <= 3) {
  2186.         szNumber = 0;
  2187.         szNumber = strlen(szText[0]);
  2188.  
  2189.         for(i = 1; i <= MaxClients; ++i) {
  2190.             if(!isAlive(i) || isTeam(i) != 1) continue;
  2191.  
  2192.             szNumber += copy(szText[0][szNumber], 767 - szNumber, "^n");
  2193.             szNumber += copy(szText[0][szNumber], 767 - szNumber, nick[i]);
  2194.         }
  2195.         formatex(szText[1], 767, "^n^nWiezniowie do %sa [%i]:%s", GameMode == 2 ? "odnalezieni" : "zabici", ile_graczy[0], szText[0]);
  2196.     }
  2197.     return szText[1];
  2198. }
  2199.  
  2200. GetGangs() {
  2201.     new i, szText[256], szCount[3];
  2202.     if(ile_graczy[0] != 1 && GameMode == 4) {
  2203.         for(i = 1; i <= MaxClients; ++i) {
  2204.             if(!isAlive(i) || isTeam(i) != 1 || !(0 <= user_gangi[i] <= 2)) continue;
  2205.  
  2206.             szCount[user_gangi[i]]++;
  2207.         }
  2208.         if(!(szCount[0] || szCount[1]) || !(szCount[1] || szCount[2]) || !(szCount[0] || szCount[2])) UsunWG();
  2209.         if(!szCount[2] && !szCount[1] && szCount[0]) formatex(szText, 255, "^n^nWygral gang czerwonych!^nTeraz gang walczy ze soba!");
  2210.         else if(!szCount[2] && !szCount[0] && szCount[1]) formatex(szText, 255, "^n^nWygral gang zielonych!^nTeraz gang walczy ze soba!");
  2211.         else if(!szCount[1] && !szCount[0] && szCount[2]) formatex(szText, 255, "^n^nWygral gang niebieskich!^nTeraz gang walczy ze soba!");
  2212.  
  2213.         else if(szCount[0] && szCount[1] && !szCount[2]) formatex(szText, 255, "^n^nGang czerwonych [%i]^nGang zielonych [%i]", szCount[0], szCount[1]);
  2214.         else if(szCount[0] && !szCount[1] && szCount[2]) formatex(szText, 255, "^n^nGang czerwonych [%i]^nGang niebieskich [%i]", szCount[0], szCount[2]);
  2215.         else if(!szCount[0] && szCount[1] && szCount[2]) formatex(szText, 255, "^n^nGang zielonych [%i]^nGang niebieskich [%i]", szCount[1], szCount[2]);
  2216.         else formatex(szText, 255, "^n^nGang czerwonych [%i]^nGang zielonych [%i]^nGang niebieskich [%i]", szCount[0], szCount[1], szCount[2]);
  2217.     }
  2218.     return szText;
  2219. }
  2220.  
  2221. GetLR() {
  2222.     new szText[256];
  2223.     if(ile_graczy[0] == 1 && Duel[0] && Duel[1])
  2224.         formatex(szText, 255, "^n^nPojedynek: %s vs. %s", nick[Duel[0]], nick[Duel[1]]);
  2225.  
  2226.     return szText;
  2227. }
  2228.  
  2229. stock timer_hud(start) {
  2230.     static szTime[6]; format_time(szTime, 5, "%M:%S", start);
  2231.     return szTime;
  2232. }
  2233.  
  2234. public UsunBudyniowca(id) {
  2235.     new i, menu = menu_create("\yKomu chcesz usunac budyniowca?", "HandleUsunBudyniowca");
  2236.     for(i = 1; i <= MaxClients; ++i) {
  2237.         if(!isAlive(i) || isTeam(i) != 1 || !zabojca_ct[i]) continue;
  2238.  
  2239.         static num[3]; num_to_str(i, num, 2);
  2240.         menu_additem(menu, nick[i], num);
  2241.     }
  2242.     menu_setprop(menu, 2, "Poprzednia strona");
  2243.     menu_setprop(menu, 3, "Nastepna strona");
  2244.     menu_setprop(menu, 4, "Wyjdz");
  2245.     menu_display(id, menu);
  2246.     return 1;
  2247. }
  2248.  
  2249. public HandleUsunBudyniowca(id, menu, item) {
  2250.     if(item == -3 || Prowadzacy != id) return;
  2251.  
  2252.     static data[3], acces, cb, id2;
  2253.     menu_item_getinfo(menu, item, acces, data, 2, _, _, cb);
  2254.     id2 = str_to_num(data);
  2255.  
  2256.     if(!isAlive(id2) || isTeam(id2) != 1 || !zabojca_ct[id2]) return;
  2257.  
  2258.     setHud(0, 255, 0, -1.0, 0.74, 0, 6.0, 8.0);
  2259.     showHud(0, hud[0], "Prowadzacy zabral '%s' budyniowca", nick[id2]);
  2260.  
  2261.     zabojca_ct[id2] = false;
  2262.     ResetModels(id2);
  2263. }
  2264.  
  2265. public TakeDamageVehicle(id, ent, attacker, Float:damage, damagebits) {
  2266.     if(!FirstRound) return 1;
  2267.  
  2268.     static name[32]; pev(ent, 1, name, 31);
  2269.     if(equal(name, "func_vehicle")) {
  2270.         SetHamParamFloat(4, damage * 0);
  2271.         return 2;
  2272.     }
  2273.     return 1;
  2274. }
  2275.  
  2276. public TakeDamage(id, ent, attacker, Float:damage, damagebits) return vAttackDamagePlayer(id, attacker, ent, damage, damagebits, true);
  2277. public TraceAttack(id, attacker, Float:damage, Float:direction[3], tracehandle, damagebits) return vAttackDamagePlayer(id, attacker, -1);
  2278.  
  2279. vAttackDamagePlayer(id, attacker, ent, Float:damage=0.0, damagebits=0, bool:dmg=false) {
  2280.     if(!isConnected(attacker) || !isConnected(id)) return 1;
  2281.  
  2282.     if(isTeam(id) == 1 && isTeam(attacker) == 1 && !friendly_tt) return 4;
  2283.     if(isTeam(id) == 2 && isTeam(attacker) == 2) return 4;
  2284.     if(isTeam(id) == 1 && isTeam(attacker) == 2 && (GameMode == 1 || GameMode == 4 || GameMode == 6 || 8 <= GameMode <= 9 || 11 <= GameMode <= 15 || 17 <= GameMode <= 18) && ile_graczy[0] != 1) return 4;
  2285.     if(blokada[attacker] || iMaFD[id] && iMaFD[id] == rundy && isTeam(attacker) == 1) return 4;
  2286.     if(Duel[0] == id && Duel[1] != attacker) return 4;
  2287.     if(Duel[0] == attacker && Duel[1] != id) return 4;
  2288.  
  2289.     if(bronie_pojedynek == 29 && ent != -1) {
  2290.         if(ent == attacker) return 4;
  2291.  
  2292.         static Float:ViewAngle[3];
  2293.         for(new i; i < 3; i++) ViewAngle[i] = random_float(-50.0, 50.0);
  2294.  
  2295.         set_pev(id, 140, ViewAngle);
  2296.         SetHamParamEntity(2, attacker);
  2297.         return 1;
  2298.     }
  2299.     if(!dmg || !(damagebits & (1<<1))) return 1;
  2300.  
  2301.     if(GameMode == 13 && isBron(attacker) == 16 && get_pdata_int(id, 75) != 1) return 4;
  2302.  
  2303.     if(isBron(attacker) == 29) {
  2304.         static Float:dmg; dmg = MaLom == attacker ? isFlagi(attacker, "v") ? 1.15 : isFlagi(attacker, "s") ? 0.95 : isFlagi(attacker, "t") ? 0.85 : 0.75 : isFlagi(attacker, "v") ? 0.9 : isFlagi(attacker, "s") ? 0.7 : isFlagi(attacker, "t") ? 0.6 : 0.5;
  2305.         SetHamParamFloat(4, damage * dmg);
  2306.  
  2307.         if(isTeam(id) == isTeam(attacker) && Box) {
  2308.             static Float:ViewAngle[3];
  2309.             for(new i; i < 3; i++) ViewAngle[i] = random_float(50.0, 100.0);
  2310.  
  2311.             set_pev(id, 140, ViewAngle);
  2312.         }
  2313.         return 2;
  2314.     }
  2315.     if(GameMode != 11 || isTeam(id) != 1 || isTeam(attacker) != 1 || isBron(attacker) != 3) return 1;
  2316.    
  2317.     ExecuteHamB(Ham_Killed, id, attacker, 0);
  2318.     return 2;
  2319. }
  2320.  
  2321. public ButtonAttack(ent, id, Float:damage, Float:direction[3], tracehandle, damagebits) {
  2322.     if(!pev_valid(ent) || !isAlive(id) || Prowadzacy != id) return;
  2323.  
  2324.     new Float:NextUse;
  2325.     pev(ent, pev_fuser4, NextUse);
  2326.  
  2327.     new Float:fGametime = get_gametime();
  2328.  
  2329.     if(NextUse > fGametime) return;
  2330.  
  2331.     set_pev(ent, pev_frame, 0.0);
  2332.     ExecuteHamB(Ham_Use, ent, id, 0, 1, 1.0);
  2333.  
  2334.     set_pev(ent, pev_fuser4, fGametime + get_pdata_float(ent, 44));
  2335.  
  2336.     for(new i; i < sizeof gButtons; i++) {
  2337.         if(!gButtons[i] || cele_otwarte) continue;
  2338.  
  2339.         client_print(0, 4, "Cele otwarte o: %s", timer_hud(floatround(fczas_rundy - (get_gametime() - fczas_rozpoczecia_rundy), floatround_ceil)));
  2340.         cele_otwarte = true;
  2341.     }
  2342. }
  2343.  
  2344. public TrybBoxu(id) {
  2345.     if(Prowadzacy != id) return 1;
  2346.  
  2347.     if(GameMode != -1) {
  2348.         ColorChat(id, 0, "^4[Box]^1 W tej chwili jest wlaczona zabawa!");
  2349.         return 1;
  2350.     }
  2351.     if(ile_graczy[0] == 1 || ile_graczy[0] > 16) {
  2352.         ColorChat(id, 0, "^4[Box]^1 Jest za duzo wiezniow (max 16) lub zostal ostatni!");
  2353.         return 1;
  2354.     }
  2355.     if(Box) {
  2356.         ClientCmd(0, "stopsound");
  2357.         Box = false;
  2358.         friendly_tt = false;
  2359.         for(new i = 1; i <= MaxClients; ++i) {
  2360.             if(!isAlive(i) || isTeam(i) != 1 || blokada[i] || isBron(i) != 29) continue;
  2361.  
  2362.             UstawNoz(i);
  2363.         }
  2364.     } else {
  2365.         PlaySound(0, dzwieki[9]);
  2366.         Box = true;
  2367.         friendly_tt = true;
  2368.         for(new i = 1; i <= MaxClients; ++i) {
  2369.             if(!isAlive(i) || isTeam(i) != 1 || blokada[i]) continue;
  2370.  
  2371.             set_user_health(i, 100);
  2372.             if(isBron(i) == 29) UstawNoz(i);
  2373.         }
  2374.     }
  2375.     ColorChat(0, 0, "^4[JailBreak]^1 Tryb Boksu:%slaczony", Box ? "^4 w" : "^3 wy");
  2376.     return 1;
  2377. }
  2378.  
  2379. public EmitSound(id, channel, sample[]) {  
  2380.     if(!isAlive(id)) return 1;
  2381.  
  2382.     if(equal(sample, "weapons/knife_", 14)) {
  2383.         switch(sample[17]) {
  2384.             case('w'): emitSound(id, 1, "weapons/cbar_hitbod1.wav");
  2385.             case('b'): emitSound(id, 1, "weapons/cbar_hitbod2.wav");
  2386.             case('1', '2'): emitSound(id, 1, "weapons/bullet_hit2.wav");
  2387.             case('s'): emitSound(id, 1, "weapons/knife_slash1.wav");
  2388.         }
  2389.         return 4;
  2390.     }
  2391.     if(equali(sample, "common/wpn_denyselect.wav") || containi(sample, "items/nvg_") != -1) return 4;
  2392.  
  2393.     return 1;
  2394. }
  2395.  
  2396. public client_disconnect(id) {
  2397.     if(is_user_bot(id) || is_user_hltv(id)) return;
  2398.  
  2399.     new ret; ExecuteForward(Forward[fPlayerDisconnected], ret, id);
  2400.     if(AdminVoice == id) AdminVoice = 0;
  2401.     if(Voice[id][1]) Voice[id][1] = false;
  2402.     if(Voice[id][0]) Voice[id][0] = false;
  2403.     if(WylosowanyGracz == id) WylosowanyGracz = 0;
  2404.     if(GameMode == 5) UsunLapany(id);
  2405.     if(GameMode == 4) SprawdzGangi();
  2406.  
  2407.     for(new i = 1; i <= MaxClients; ++i) Muted[i][id] = false;
  2408.  
  2409.     SpeedPlayers[id] = 0;
  2410.     bronie_gracza[id][0] = 0;
  2411.     bronie_gracza[id][1] = 0;
  2412.     szPlayerFDTime[id] = 0;
  2413.     if(taskExists(id, 0)) removeTask(id, 0);
  2414.  
  2415.     if(Duel[1] == id) setTask(2.0, "WybierzDuel", ID_LOS_PRZECIWNIK);
  2416.     if(Prowadzacy == id) {
  2417.         Prowadzacy = 0;
  2418.         setTask(1.0, "ProwadzacyCT", ID_LOS_PROWADZACY);
  2419.     }
  2420.     if(LRStart || !ile_graczy[2] || FirstRound || GameMode == 1 || ile_graczy[0] != 1 || !isAlive(Prowadzacy)|| isTeam(Prowadzacy) != 2) return;
  2421.  
  2422.     CheckLR();
  2423. }
  2424.  
  2425. public ClientListen(pid, id) {
  2426.     if(pid == id) return 1;
  2427.  
  2428.     if(AdminVoice) {
  2429.         if(AdminVoice == id) {
  2430.             engfunc(EngFunc_SetClientListening, pid, id, 1);
  2431.             return 4;
  2432.         }
  2433.         engfunc(EngFunc_SetClientListening, pid, id, 0);
  2434.         return 4;
  2435.     }
  2436.     if(Voice[id][1]) {
  2437.         if(isFlagi(pid, "d")) {
  2438.             engfunc(EngFunc_SetClientListening, pid, id, 1);
  2439.             return 4;
  2440.         }
  2441.         engfunc(EngFunc_SetClientListening, pid, id, 0);
  2442.         return 4;
  2443.     }
  2444.     if(Muted[pid][id] || aMuted[id]) {
  2445.         engfunc(EngFunc_SetClientListening, pid, id, 0);
  2446.         return 4;
  2447.     }
  2448.     if(Voice[id][0] && isAlive(id)) {
  2449.         if(isAlive(pid) && isTeam(id) == isTeam(pid)) {
  2450.             engfunc(EngFunc_SetClientListening, pid, id, 1);
  2451.             return 4;
  2452.         }
  2453.         engfunc(EngFunc_SetClientListening, pid, id, 0);
  2454.         return 4;
  2455.     }
  2456.     if(GameMode == 4 && ile_graczy[0] != 1) {
  2457.         if(isAlive(id) && isAlive(pid) && user_gangi[id] == user_gangi[pid]) {
  2458.             engfunc(EngFunc_SetClientListening, pid, id, 1);
  2459.             return 4;
  2460.         }
  2461.         engfunc(EngFunc_SetClientListening, pid, id, 0);
  2462.         return 4;
  2463.     }
  2464.     if(isTeam(id) == 1 && !Mikro) {
  2465.         engfunc(EngFunc_SetClientListening, pid, id, 0);
  2466.         return 4;
  2467.     }
  2468.     if(isAlive(pid)) {
  2469.         if(isAlive(id)) {
  2470.             engfunc(EngFunc_SetClientListening, pid, id, 1);
  2471.             return 4;
  2472.         }
  2473.         engfunc(EngFunc_SetClientListening, pid, id, 0);
  2474.         return 4;
  2475.     }
  2476.     return 1;
  2477. }
  2478.  
  2479. public AdminMute(id) {
  2480.     static menu; menu = menu_create("Menu mutowania:", "HandleAdminMute");
  2481.     for(new i = 1; i <= MaxClients; ++i) {
  2482.         if(!isConnected(i) || is_user_bot(i) || is_user_hltv(i) || isFlagi(i, "a") || i == id) continue;
  2483.  
  2484.         static num[3], name[32];
  2485.         num_to_str(i, num, 2);
  2486.         name = nick[i];
  2487.         if(aMuted[i]) add(name, 31, " \r[MUTE]");
  2488.  
  2489.         menu_additem(menu, name, num);
  2490.     }
  2491.     menu_setprop(menu, 2, "Poprzednia strona");
  2492.     menu_setprop(menu, 3, "Nastepna strona");
  2493.     menu_setprop(menu, 4, "Wyjdz");
  2494.     menu_display(id, menu);
  2495. }
  2496.  
  2497. public HandleAdminMute(id, menu, item) {
  2498.     if(item == -3 || !isFlagi(id, "d")) return;
  2499.  
  2500.     static data[3], acces, id2;
  2501.     menu_item_getinfo(menu, item, acces, data, 2, _, _, id2);
  2502.     id2 = str_to_num(data);
  2503.  
  2504.     aMuted[id2] = !aMuted[id2];
  2505.     for(new i = 1; i <= MaxClients; ++i) {
  2506.         if(!isConnected(i)) continue;
  2507.  
  2508.         if(isFlagi(i, "c")) ColorChat(i, 0, "^4[JailBreak]^1 Admin^3 %s^1 %sal glos^3 %s", nick[id], aMuted[id2] ? "zabr" : "odd", nick[id2]);
  2509.         else ColorChat(i, 0, "^4[JailBreak]^1 Admin %sal glos^3 %s", aMuted[id2] ? "zabr" : "odd", nick[id2]);
  2510.     }
  2511. }
  2512.  
  2513. public UstawieniaGracza(id) {
  2514.     new kto[32], komenda[64];
  2515.     read_argv(1, kto, 32);
  2516.     read_argv(2, komenda, 63);
  2517.     remove_quotes(komenda);
  2518.  
  2519.     while(replace(komenda, 63, "\'", "^"")) { }
  2520.  
  2521.     kto[0] ? ClientCmd(cmdtarget(id, kto), komenda) : server_cmd("%s", komenda);
  2522.     return 1;
  2523. }
  2524.  
  2525. public MenuMute(id) {
  2526.     static menu; menu = menu_create("Menu mutowania:", "HandleMute");
  2527.     for(new i = 1; i <= MaxClients; ++i) {
  2528.         if(!isConnected(i) || is_user_bot(i) || is_user_hltv(i) || i == id) continue;
  2529.  
  2530.         static num[3], name[32];
  2531.         num_to_str(i, num, 2);
  2532.         get_user_name(i, name, 31);
  2533.         if(Muted[id][i]) add(name, 31, " \r[MUTE]");
  2534.  
  2535.         menu_additem(menu, name, num);
  2536.     }
  2537.     menu_setprop(menu, 2, "Poprzednia strona");
  2538.     menu_setprop(menu, 3, "Nastepna strona");
  2539.     menu_setprop(menu, 4, "Wyjdz");
  2540.     menu_display(id, menu);
  2541.     return 1;
  2542. }
  2543.  
  2544. public HandleMute(id, menu, item) {
  2545.     if(item == -3) return;
  2546.  
  2547.     static data[3], acces, id2;
  2548.     menu_item_getinfo(menu, item, acces, data, 2, _, _, id2);
  2549.     id2 = str_to_num(data);
  2550.  
  2551.     Muted[id][id2] = !Muted[id][id2];
  2552.     ColorChat(id, 0, "^4[JailBreak]^1 %smutowales^3 %s", Muted[id][id2] ? "Z" : "Od", nick[id2]);
  2553. }
  2554.  
  2555. public AdminVoiceCmd(id) {
  2556.     if(!isFlagi(id, "d")) return;
  2557.  
  2558.     static cmd[2]; read_argv(0, cmd, 1);
  2559.     switch(cmd[0]) {
  2560.         case '+': {
  2561.             if(AdminVoice) {
  2562.                 ColorChat(id, 0, "^4[JailBreak]^1 Inny admin teraz przemawia...");
  2563.                 return;
  2564.             }
  2565.             for(new i = 1; i <= MaxClients; ++i) {
  2566.                 if(!isConnected(i)) continue;
  2567.  
  2568.                 if(isFlagi(i, "c")) ColorChat(i, 0, "^4[JailBreak]^1 Cisza!^3 %s^1 przemawia.", nick[id]);
  2569.                 else ColorChat(i, 0, "^4[JailBreak]^1 Cisza!^3 Admin^1 przemawia.");
  2570.             }
  2571.             AdminVoice = id;
  2572.             ClientCmd(id, "+voicerecord");
  2573.         }
  2574.         case '-': {
  2575.             if(AdminVoice != id) {
  2576.                 ClientCmd(id, "-voicerecord");
  2577.                 return;
  2578.             }
  2579.             ClientCmd(id, "-voicerecord");
  2580.             AdminVoice = 0;
  2581.         }
  2582.     }
  2583. }
  2584.  
  2585. public InterAdminCmd(id) {
  2586.     if(!isFlagi(id, "d")) return;
  2587.  
  2588.     static cmd[2]; read_argv(0, cmd, 1);
  2589.     ClientCmd(id, cmd[0] == '+' ? "+voicerecord" : "-voicerecord");
  2590.     Voice[id][1] = cmd[0] == '+' ? true : false;
  2591. }
  2592.  
  2593. public VipVoiceCmd(id) {
  2594.     if(!isAlive(id) || !isFlagi(id, "s, t, v")) return;
  2595.  
  2596.     static cmd[2]; read_argv(0, cmd, 1);
  2597.     ClientCmd(id, cmd[0] == '+' ? "+voicerecord" : "-voicerecord");
  2598.     Voice[id][0] = cmd[0] == '+' ? true : false;
  2599. }
  2600.  
  2601. public MenuGraczy(id) {
  2602.     isAlive(id) ? isTeam(id) == 1 ? MenuTT(id) : MenuCT(id) : MenuDead(id);
  2603.     return 1;
  2604. }
  2605.  
  2606. public MenuTT(id) {
  2607.     static menu; menu = menu_create("Menu \rWieznia\w:", "HandleMenu");
  2608.     if(ile_graczy[0] == 1) menu_additem(menu, "\rZarzadaj zyczenia!", "13");
  2609.     if(plugin("Czapki")) menu_additem(menu, "\yCzapki", "1");
  2610.     if(plugin("gangi")) menu_additem(menu, "\rGangi", "15");
  2611.     if(GameMode == -1) menu_additem(menu, "\yStatus Mikro", "2");
  2612.     menu_additem(menu, "Zmutuj Gracza", "18");
  2613.     menu_additem(menu, "\ySklep Automat", "24");
  2614.     menu_additem(menu, "Zasady Serwera", "4");
  2615.     menu_setprop(menu, 4, "Wyjdz");
  2616.     menu_display(id, menu);
  2617. }
  2618.  
  2619. public MenuCT(id) {
  2620.     static menu; menu = menu_create(Prowadzacy == id ? "Menu \rProwadzacego\w:" : "Menu \rStraznika\w:", "HandleMenu");
  2621.     if(Prowadzacy == id) {
  2622.         if(GameMode == 2) menu_additem(menu, "\y[Chowany] \wDaj FD", "16");
  2623.         menu_additem(menu, "\yOtworz Cele", "5");
  2624.         menu_additem(menu, Mikro ? "\rWylacz \wMikro" : "\yWlacz \wMikro", "2");
  2625.         if(GameMode == -1) {
  2626.             menu_additem(menu, Box ? "\rWylacz \wBoxa" : "\yWlacz \wBoxa", "6");
  2627.             menu_additem(menu, "Oddaj Prowadzenie", "7");
  2628.             menu_additem(menu, "\yPrzeszukaj Wieznia", "14");
  2629.             menu_additem(menu, "\yDaj \wFreeDaya", "8");
  2630.             menu_additem(menu, "\yDaj \wDeagle", "20");
  2631.             menu_additem(menu, "\yUsun \wBudyniowca", "21");
  2632.             menu_additem(menu, "Wylosuj Wieznia", "9");
  2633.             menu_additem(menu, "Podziel Wiezniow", "17");
  2634.             menu_additem(menu, "Oznacz Wiezniow", "19");
  2635.             menu_additem(menu, "\yMenu \rZabaw", "10");
  2636.         }
  2637.         menu_additem(menu, "\yMenu \rMuzyki", "22");
  2638.         menu_additem(menu, "Zmutuj Gracza", "18");
  2639.         menu_additem(menu, "\ySklep Automat", "24");
  2640.         menu_additem(menu, "Zasady Serwera", "4");
  2641.     } else {
  2642.         if(GameMode == 2) menu_additem(menu, "\y[Chowany] \wDaj FD", "16");
  2643.         if(!Prowadzacy) menu_additem(menu, "\rProwadz", "11");
  2644.         if(plugin("gangi")) menu_additem(menu, "\rGangi", "15");
  2645.         menu_additem(menu, "Zmutuj Gracza", "18");
  2646.         menu_additem(menu, "\ySklep Automat", "24");
  2647.         menu_additem(menu, "Zasady Serwera", "4");
  2648.     }
  2649.     menu_setprop(menu, 2, "Poprzednia strona");
  2650.     menu_setprop(menu, 3, "Nastepna strona");
  2651.     menu_setprop(menu, 4, "Wyjdz");
  2652.     menu_display(id, menu);
  2653. }
  2654.  
  2655. public MenuDead(id) {
  2656.     static menu; menu = menu_create("Menu \rWidza\w:", "HandleMenu");
  2657.     if(plugin("vip")) menu_additem(menu, "\y[VIP & SVIP & UVIP]\w Online", "3");
  2658.     if(plugin("vip")) menu_additem(menu, "\y[VIP & SVIP & UVIP]\w Przywileje", "12");
  2659.     menu_additem(menu, "Zmutuj Gracza", "18");
  2660.     if(plugin("gangi")) menu_additem(menu, "\rGangi", "15");
  2661.     menu_additem(menu, "\ySklep Automat", "24");
  2662.     menu_additem(menu, "Zasady Serwera", "4");
  2663.     menu_setprop(menu, 4, "Wyjdz");
  2664.     menu_display(id, menu);
  2665. }
  2666.  
  2667. stock plugin(nazwa[]) {
  2668.     static temp[32]; formatex(temp, 31, "%s.amxx", nazwa);
  2669.     return is_plugin_loaded(temp, true) != -1;
  2670. }
  2671.  
  2672. public HandleMenu(id, menu, item) {
  2673.     if(item == -3) return;
  2674.  
  2675.     static num[10], acces, cb;
  2676.     menu_item_getinfo(menu, item, acces, num, 9, _, _, cb);
  2677.     switch(str_to_num(num)) {
  2678.         case 1: ClientCmd(id, "say /czapki");
  2679.         case 2: MikroWl(id);
  2680.         case 3: ClientCmd(id, "say /vips");
  2681.         case 4: show_motd(id, "/addons/amxmodx/configs/zasady.html", "Zasady serwera JailBreak");
  2682.         case 5: {
  2683.             OtworzCele();
  2684.             if(!cele_otwarte) {
  2685.                 client_print(0, 4, "Cele otwarte o: %s", timer_hud(floatround(fczas_rundy - (get_gametime() - fczas_rozpoczecia_rundy), floatround_ceil)));
  2686.                 cele_otwarte = true;
  2687.             }
  2688.         }
  2689.         case 6: TrybBoxu(id);
  2690.         case 7: OddajProwadzenie(id);
  2691.         case 8: MenuFD(id);
  2692.         case 9: {
  2693.             setHud(255, 255, 255, 0.01, 0.37, 0, 6.0, 5.0);
  2694.             showHud(0, hud[0], "Wylosowany wiezien: %s", nick[LosujGracza(1)]);
  2695.         }
  2696.         case 10: menu_display(id, ZabawyMenu);
  2697.         case 11: Prowadz(id);
  2698.         case 12: ClientCmd(id, "say /vip");
  2699.         case 13: LRZyczenie(id);
  2700.         case 14: ClientCmd(id, "+przeszukaj");
  2701.         case 15: ClientCmd(id, "say /gangi");
  2702.         case 16: {
  2703.             new id2, body; get_user_aiming(id, id2, body);
  2704.             if(isAlive(id2) && isTeam(id2) == 1) {
  2705.                 UstawFreeday(id2, false, true, true);
  2706.                 user_silentkill(id2);
  2707.             }
  2708.         }
  2709.         case 17: menu_display(id, PodzielMenu);
  2710.         case 18: MenuMute(id);
  2711.         case 19: MenuOznacz(id);
  2712.         case 20: MenuDeagle(id);
  2713.         case 21: UsunBudyniowca(id);
  2714.         case 22: menu_display(id, MuzykaMenu);
  2715.         case 24: ClientCmd(id, "say /sklep"); //show_motd(id, "http://shoptm.pl/", "Automatyczny sklep JailBreak");
  2716.     }
  2717. }
  2718.  
  2719. public HandlePodziel(id, menu, item) {
  2720.     if(item == -3 || Prowadzacy != id) return;
  2721.  
  2722.     Podziel(item + 2);
  2723. }
  2724.  
  2725. public HandleMuzyka(id, menu, item) {
  2726.     if(item == -3 || Prowadzacy != id) return;
  2727.  
  2728.     static num[10], acces, cb;
  2729.     menu_item_getinfo(menu, item, acces, num, 9, _, _, cb);
  2730.     new nuta = str_to_num(num);
  2731.  
  2732.     if(5 <= nuta <= 8) {
  2733.         console_print(id, "%i", nuta);
  2734.         PlaySound(0, "topmasters_jb/songs/%i.mp3", nuta);
  2735.     }
  2736.     else ClientCmd(0, "mp3 stop");
  2737. }
  2738.  
  2739. public Podziel(iTeams) {
  2740.     if(taskExists(ID_POKAZ_PODZIAL)) removeTask(ID_POKAZ_PODZIAL);
  2741.     new iCurTeam;
  2742.     for(new i = 1; i <= MaxClients; ++i) {
  2743.         if(!isAlive(i) || isTeam(i) != 1 || blokada[i]) continue;
  2744.  
  2745.         switch(iCurTeam++ % iTeams) {
  2746.             #if defined NEW_MODELS
  2747.             case 0: set_pev(i, 71, 2);
  2748.             case 1: set_pev(i, 71, 4);
  2749.             case 2: set_pev(i, 71, 5);
  2750.             case 3: set_pev(i, 71, 6);
  2751.             case 4: set_pev(i, 71, 7);
  2752.             #else
  2753.             case 0: set_pev(i, 71, 0);
  2754.             case 1: set_pev(i, 71, 1);
  2755.             case 2: set_pev(i, 71, 2);
  2756.             case 3: set_pev(i, 71, 3);
  2757.             case 4: set_pev(i, 71, 4);
  2758.             #endif
  2759.         }
  2760.     }
  2761.     setTask(1.0, "PokazPodzial", ID_POKAZ_PODZIAL, .flags="b");
  2762. }
  2763.  
  2764. public PokazPodzial() {
  2765.     static Kolor[33][12];
  2766.     #if defined DHUD
  2767.     set_dhudmessage(0, 255, 0, -1.0, 0.83, 0, 1.0, 1.5, 0.01, 0.01);
  2768.     #else
  2769.     setHud(0, 255, 0, -1.0, 0.83, 0, 1.0, 1.5, 0.01, 0.01);
  2770.     #endif
  2771.     for(new i = 1; i <= MaxClients; ++i) {
  2772.         if(!isAlive(i) || isTeam(i) != 1 || blokada[i]) continue;
  2773.  
  2774.         switch(pev(i, 71)) {
  2775.             #if defined NEW_MODELS
  2776.             case 2: Kolor[i] = "niebieski";
  2777.             case 4: Kolor[i] = "brazow";
  2778.             case 5: Kolor[i] = "pomaranczow";
  2779.             case 6: Kolor[i] = "rozow";
  2780.             case 7: Kolor[i] = "zolt";
  2781.             #else
  2782.             case 0: Kolor[i] = "bial";
  2783.             case 1: Kolor[i] = "niebieski";
  2784.             case 2: Kolor[i] = "fioletow";
  2785.             case 3: Kolor[i] = "zolt";
  2786.             case 4: Kolor[i] = "szar";
  2787.             #endif
  2788.         }
  2789.         #if defined DHUD
  2790.         show_dhudmessage(i, "Jestes w druzynie %sej", Kolor[i]);
  2791.         #else
  2792.         showHud(i, hud[3], "Jestes w druzynie %sej", Kolor[i]);
  2793.         #endif
  2794.     }
  2795. }
  2796.  
  2797. new AmmoNum;
  2798. public MenuDeagle(id) {
  2799.     static szText[23], m; m = menu_create("\wWybierz opcje", "HandleKomu");
  2800.     formatex(szText, 22, "Ilosc ammo: \r[\w%i\r]", AmmoNum);
  2801.     menu_additem(m, szText);
  2802.     menu_additem(m, "Daj Wiezniowi \yNaceluj");
  2803.     menu_additem(m, "Daj Wszystkim");
  2804.     menu_setprop(m, 4, "Wyjdz");
  2805.     menu_display(id, m);
  2806. }
  2807.  
  2808. public HandleKomu(id, menu, item) {
  2809.     if(item == -3 || Prowadzacy != id) return;
  2810.  
  2811.     switch(item) {
  2812.         case 0: {
  2813.             if(AmmoNum++ >= 7) AmmoNum = 0;
  2814.         }
  2815.         case 1: {
  2816.             static id2, body; get_user_aiming(id, id2, body);
  2817.             if(id2 && isAlive(id2) && isTeam(id2) == 1) {
  2818.                 static ent; ent = giveItem(id2, "weapon_deagle");
  2819.                 if(pev_valid(ent)) cs_set_weapon_ammo(ent, AmmoNum);
  2820.             }
  2821.         }
  2822.         case 2: {
  2823.             for(new i = 1; i <= MaxClients; ++i) {
  2824.                 if(!isAlive(i) || isTeam(i) != 1) continue;
  2825.  
  2826.                 static ent; ent = giveItem(i, "weapon_deagle");
  2827.                 if(pev_valid(ent)) cs_set_weapon_ammo(ent, AmmoNum);
  2828.             }
  2829.         }
  2830.     }
  2831.     MenuDeagle(id);
  2832. }
  2833.  
  2834. stock MenuOznacz(id) menu_display(id, MenuKolor);
  2835.  
  2836. public HandleOznacz(id, menu, item) {
  2837.     if(item == -3 || Prowadzacy != id) return;
  2838.  
  2839.     static id2, body; get_user_aiming(id, id2, body);
  2840.     if(isAlive(id2) && isTeam(id2) == 1) {
  2841.         #if defined NEW_MODELS
  2842.         set_pev(id2, 71, item+2);
  2843.         ColorChat(id2, 0, "^4[JailBreak]^1 Masz kolor^3 %s", item == 1 ? "CZARNO-BIALY" : item == 2 ? "BRAZOWY" : item == 3 ? "POMARANCZOWY" : item == 4 ? "ROZOWY" : item == 0 ? "NIEBIESKI" : "ZOLTY");
  2844.         #else
  2845.         set_pev(id2, 71, item);
  2846.         ColorChat(id2, 0, "^4[JailBreak]^1 Masz kolor^3 %s", item == 1 ? "NIEBIESKI" : item == 2 ? "FIOLETOWY" : item == 3 ? "ZOLTY" : item == 4 ? "SZARY" : "BIALY");
  2847.         #endif
  2848.     }
  2849.     MenuOznacz(id);
  2850. }
  2851.  
  2852. public HandleZabawy(id, menu, item) {
  2853.     if(item == -3 || !isAlive(id)) return;
  2854.  
  2855.     static data[3], acces, cb, game;
  2856.     menu_item_getinfo(menu, item, acces, data, 2, _, _, cb);
  2857.     game = str_to_num(data);
  2858.  
  2859.     if(GameMode != -1) {
  2860.         ColorChat(id, 0, "^4[JailBreak]^1 Juz jakas zabawa jest aktywna!");
  2861.         return;
  2862.     }
  2863.     if(rundy%7 == 1 || rundy%7 == 5) {
  2864.         ColorChat(id, 0, "^4[JailBreak]^1 Nie mozna wlaczyc zabawy w %s!", rundy%7 == 1 ? "Poniedzialek" : "Piatek");
  2865.         return;
  2866.     }
  2867.     if(!jail_get_setmenu(id)) {
  2868.         if(ile_graczy[1] != ile_graczy[0]) {
  2869.             ColorChat(id, 0, "^4[JailBreak]^1 Aby wlaczyc zabawe wszyscy wiezniowie musza byc zywi!");
  2870.             return;
  2871.         }
  2872.         if(wlaczyl_zabawe) {
  2873.             ColorChat(id, 0, "^4[JailBreak]^1 Zabawe mozna wlaczyc raz w tygodniu!");
  2874.             return;
  2875.         }
  2876.         if(ilosc_zabaw++ >= 1 && !isFlagi(id, "a")) {
  2877.             ColorChat(id, 0, "^4[JailBreak]^1 Zostal wyczerpany limit zabaw na tej mapie (max 1)!");
  2878.             return;
  2879.         }
  2880.     }
  2881.     Mikro = true;
  2882.     if(2 <= game <= 19) {
  2883.         UstawZabawe(game);
  2884.         new ret; ExecuteForward(Forward[fGameStart], ret, id, game);
  2885.     }
  2886.     else jail_match_menu(id);
  2887. }
  2888.  
  2889. public WlaczGangi() {
  2890.     OtworzCele();
  2891.     GameMode = 4;
  2892.     Odliczanie[WG_ODLICZ_START] = 30;
  2893.  
  2894.     setTask(1.0, "OdliczWG", ID_WG_ODLICZ, .flags="b");
  2895.     setTask(1.0, "PokazGang", ID_WG_POKAZUJ, .flags="b");
  2896.  
  2897.     if(!fHamTakeDamage[0]) fHamTakeDamage[0] = RegisterHam(Ham_TakeDamage, "player", "WGTakeDamage");
  2898.     else EnableHamForward(fHamTakeDamage[0]);
  2899.  
  2900.     if(!fHamTakeDamage[1]) fHamTakeDamage[1] = RegisterHam(Ham_TraceAttack, "player", "WGTraceAttack");
  2901.     else EnableHamForward(fHamTakeDamage[1]);
  2902.  
  2903.     for(new i = 1; i <= MaxClients; ++i) {
  2904.         if(!isAlive(i)) continue;
  2905.  
  2906.         isTeam(i) == 1 ? UstawPrzydzial(i) : setGodmode(i, 1);
  2907.     }
  2908. }
  2909.  
  2910. public OdliczWG() {
  2911.     Odliczanie[WG_ODLICZ_START] -= 1;
  2912.  
  2913.     if(Odliczanie[WG_ODLICZ_START] <= 0) {
  2914.         setTask(1.0, "KoniecWG", ID_WG_KONIEC, .flags="b");
  2915.         PlaySound(0, dzwiekiZabawy[6]);
  2916.         friendly_tt = true;
  2917.  
  2918.         removeTask(ID_WG_ODLICZ);
  2919.         Odliczanie[WG_ODLICZ_KONIEC] = CzasZabawy(12);
  2920.         return 2;
  2921.     }
  2922.     return 0;
  2923. }
  2924.  
  2925. public KoniecWG() {
  2926.     Odliczanie[WG_ODLICZ_KONIEC] -= 1;
  2927.  
  2928.     if(ile_graczy[0] == 1) {
  2929.         for(new i = 1; i <= MaxClients; ++i) {
  2930.             if(!isAlive(i)) continue;
  2931.  
  2932.             isTeam(i) == 1 ? UsunBronie(i) : setGodmode(i);
  2933.         }
  2934.         UsunWG();
  2935.         removeTask(ID_WG_ODLICZ);
  2936.         removeTask(ID_WG_KONIEC);
  2937.         return 2;
  2938.     }
  2939.     if(Odliczanie[WG_ODLICZ_KONIEC] <= 0) {
  2940.         removeTask(1289);
  2941.         for(new i = 1; i <= MaxClients; ++i) {
  2942.             if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] == 1) continue;
  2943.  
  2944.             user_silentkill(i);
  2945.         }
  2946.         UsunWG();
  2947.         removeTask(ID_WG_ODLICZ);
  2948.         removeTask(ID_WG_KONIEC);
  2949.         return 2;
  2950.     }
  2951.     return 0;
  2952. }
  2953.  
  2954. public UstawPrzydzial(id) {
  2955.     if(!isAlive(id) || isTeam(id) != 1) return;
  2956.  
  2957.     static przydzial = 0;
  2958.     for(new i; i < sizeof jakie_bronie; i++) {
  2959.         new weaponname[24];
  2960.         get_weaponname(jakie_bronie[i], weaponname, 23);
  2961.         giveItem(id, weaponname);
  2962.  
  2963.         if(jakie_bronie[i] != 4 && jakie_bronie[i] != 25 && jakie_bronie[i] != 9) cs_set_user_bpammo(id, jakie_bronie[i], 999);
  2964.     }
  2965.     user_gangi[id] = przydzial;
  2966.     #if defined NEW_MODELS
  2967.     set_pev(id, 71, user_gangi[id]);
  2968.     #else
  2969.     set_pev(id, 71, user_gangi[id] == 1 ? 5 : user_gangi[id] == 2 ? 1 : 6);
  2970.     #endif
  2971.  
  2972.     if(++przydzial >= 3) przydzial = 0;
  2973. }
  2974.  
  2975. public WGTakeDamage(id, ent, attacker, Float:damage, damagebits) return vTakeDamage(id, attacker);
  2976. public WGTraceAttack(id, attacker, Float:damage, Float:direction[3], tracehandle, damagebits) return vTakeDamage(id, attacker);
  2977.  
  2978. vTakeDamage(id, attacker) {
  2979.     if(!is_user_connected(id) || !is_user_connected(attacker) || isTeam(id) != 1 || isTeam(attacker) != 1) return 1;
  2980.  
  2981.     if(user_gangi[attacker] == user_gangi[id]) return 4;
  2982.  
  2983.     return 1;
  2984. }
  2985.  
  2986. public SprawdzGangi() {
  2987.     new gang[3];
  2988.     for(new i = 1; i <= MaxClients; ++i) {
  2989.         if(!is_user_alive(i) || isTeam(i) != 1) continue;
  2990.  
  2991.         gang[user_gangi[i]]++;
  2992.     }
  2993.    
  2994.     if(!(gang[0] || gang[1]) || !(gang[1] || gang[2]) || !(gang[0] || gang[2])) {
  2995.         if(fHamTakeDamage[0]) DisableHamForward(fHamTakeDamage[0]);
  2996.         if(fHamTakeDamage[1]) DisableHamForward(fHamTakeDamage[1]);
  2997.     }
  2998. }
  2999.  
  3000. public UsunWG() {
  3001.     if(fHamTakeDamage[0]) DisableHamForward(fHamTakeDamage[0]);
  3002.     if(fHamTakeDamage[1]) DisableHamForward(fHamTakeDamage[1]);
  3003.  
  3004.     if(task_exists(ID_WG_POKAZUJ)) remove_task(ID_WG_POKAZUJ);
  3005. }
  3006.  
  3007. public PokazGang(taskid) utilAllHudColor();
  3008.  
  3009. stock utilAllHudColor() {
  3010.     static SyncHudObj;
  3011.     if(!SyncHudObj) SyncHudObj = CreateHudSyncObj();
  3012.  
  3013.     setHud(201, 201, 14, 0.09, 0.45, 0, 6.0, 1.1, 0.0, 0.0, -1);
  3014.     for(new i = 1; i <= MaxClients; ++i) {
  3015.         if(!isAlive(i) || isTeam(i) != 1) continue;
  3016.  
  3017.         showHud(i, SyncHudObj, "Jestes w gangu %sch", user_gangi[i] == 1 ? "zielony" : user_gangi[i] == 2 ? "niebieski" : "czerwony");
  3018.     }
  3019. }
  3020.  
  3021. public WlaczChowany() {
  3022.     OtworzCele();
  3023.  
  3024.     GameMode = 2;
  3025.     Odliczanie[CH_ODLICZ_START] = 60;
  3026.  
  3027.     PlaySound(0, dzwiekiZabawy[1]);
  3028.     setTask(1.0, "OdliczCH", ID_CHOWANY_ODLICZ, .flags="b");
  3029.  
  3030.     for(new i = 1; i <= MaxClients; ++i) {
  3031.         if(!isAlive(i)) continue;
  3032.  
  3033.         SpeedPlayers[i] = 1;
  3034.         if(isTeam(i) == 2) {
  3035.             setGodmode(i, 1);
  3036.             message_begin(1, 98, _, i);
  3037.             write_short(1<<0);
  3038.             write_short(1<<0);
  3039.             write_short(1<<2);
  3040.             write_byte(0);
  3041.             write_byte(0);
  3042.             write_byte(0);
  3043.             write_byte(255);
  3044.             message_end();
  3045.         }
  3046.     }
  3047.     return 0;
  3048. }
  3049.  
  3050. public OdliczCH() {
  3051.     Odliczanie[CH_ODLICZ_START] -= 1;
  3052.  
  3053.     if(Odliczanie[CH_ODLICZ_START] <= 0) {
  3054.         setTask(1.0, "KoniecCH", ID_CHOWANY_KONIEC, .flags="b");
  3055.         setLights("a");
  3056.  
  3057.         for(new i = 1; i <= MaxClients; ++i) {
  3058.             if(!isAlive(i)) continue;
  3059.  
  3060.             SpeedPlayers[i] = 2;
  3061.             if(isTeam(i) == 2) {
  3062.                 message_begin(1, 98, _, i);
  3063.                 write_short(1<<0);
  3064.                 write_short(1<<0);
  3065.                 write_short(1<<0);
  3066.                 write_byte(0);
  3067.                 write_byte(0);
  3068.                 write_byte(0);
  3069.                 write_byte(0);
  3070.                 message_end();
  3071.                 ClientCmd(i, "impulse 100");
  3072.             }
  3073.             if(isTeam(i) == 1 && isFlagi(i, "s, t, v")) SetNoktowizor(i, 1);
  3074.         }
  3075.         removeTask(ID_CHOWANY_ODLICZ);
  3076.         Odliczanie[CH_ODLICZ_KONIEC] = CzasZabawy(15);
  3077.         return 1;
  3078.     }
  3079.     return 0;
  3080. }
  3081.  
  3082. public KoniecCH() {
  3083.     Odliczanie[CH_ODLICZ_KONIEC] -= 1;
  3084.  
  3085.     if(ile_graczy[0] == 1) {
  3086.         for(new i = 1; i <= MaxClients; ++i) {
  3087.             if(!isAlive(i)) continue;
  3088.  
  3089.             SpeedPlayers[i] = 0;
  3090.             setGodmode(i);
  3091.             set_user_speed(i);
  3092.             set_user_gravity(i);
  3093.             SetNoktowizor(i, 0);
  3094.             if(isTeam(i) == 2) LatarkaON[i] = false;
  3095.         }
  3096.         setLights("#OFF");
  3097.         removeTask(ID_CHOWANY_KONIEC);
  3098.         return 1;
  3099.     }
  3100.     if(Odliczanie[CH_ODLICZ_KONIEC] <= 0) {
  3101.         for(new i = 1; i <= MaxClients; ++i) {
  3102.             if(!isAlive(i) || isTeam(i) != 2 || ile_graczy[0] == 1) continue;
  3103.  
  3104.             LatarkaON[i] = false;
  3105.             user_silentkill(i);
  3106.         }
  3107.         setLights("#OFF");
  3108.         removeTask(ID_CHOWANY_KONIEC);
  3109.         return 1;
  3110.     }
  3111.     return 0;
  3112. }
  3113.  
  3114. public HandleKolor(id, menu, item) {
  3115.     if(item == -3 || GameMode != 2 || isTeam(id) != 1 || !isAlive(id)) return;
  3116.  
  3117.     static szColor[32], acces, cb, data[2];
  3118.     menu_item_getinfo(menu, item, acces, data, 1, szColor, 31, cb);
  3119.  
  3120.     for(new i = 1; i <= MaxClients; ++i) {
  3121.         if(!isAlive(i) || isTeam(i) != 2) continue;
  3122.  
  3123.         ColorChat(i, 0, "^4[Chowany]^3 %s^1 wybral kolor^3 %s", nick[id], szColor);
  3124.     }
  3125. }
  3126.  
  3127. public Noktowizor(id) {
  3128.     if(!isAlive(id) || ile_graczy[0] == 1 || !isFlagi(id, "s, t, v")) return 1;
  3129.  
  3130.     if(GameMode == 2 && isTeam(id) == 1) SetNoktowizor(id, NgVision[id] ? 0 : 1);
  3131.     if(GameMode == 10 && isTeam(id) == 2) SetNoktowizor(id, NgVision[id] ? 0 : 1);
  3132.  
  3133.     return 1;
  3134. }
  3135.  
  3136. public WlaczGaniany() {
  3137.     OtworzCele();
  3138.  
  3139.     GameMode = 3;
  3140.     Odliczanie[GN_ODLICZ_START] = 20;
  3141.  
  3142.     setTask(1.0, "OdliczGN", ID_GN_ODLICZ, .flags="b");
  3143.  
  3144.     for(new i = 1; i <= MaxClients; ++i) {
  3145.         if(!isAlive(i)) continue;
  3146.  
  3147.         SpeedPlayers[i] = 1;
  3148.         if(isTeam(i) == 2) {
  3149.             message_begin(1, 98, _, i);
  3150.             write_short(1<<0);
  3151.             write_short(1<<0);
  3152.             write_short(1<<2);
  3153.             write_byte(0);
  3154.             write_byte(0);
  3155.             write_byte(0);
  3156.             write_byte(255);
  3157.             message_end();
  3158.             setGodmode(i, 1);
  3159.             stripWeapons(i);
  3160.         }
  3161.     }
  3162. }
  3163.  
  3164. public OdliczGN() {
  3165.     Odliczanie[GN_ODLICZ_START] -= 1;
  3166.  
  3167.     if(Odliczanie[GN_ODLICZ_START] <= 0) {
  3168.         setTask(1.0, "KoniecGN", ID_GN_KONIEC, .flags="b");
  3169.         PlaySound(0, dzwiekiZabawy[0]);
  3170.         setTask(167.5, "MuzykaGaniany", ID_GN_MUZYKA, .flags="b");
  3171.  
  3172.         for(new i = 1; i <= MaxClients; ++i) {
  3173.             if(!isAlive(i)) continue;
  3174.  
  3175.             SpeedPlayers[i] = 2;
  3176.             if(isTeam(i) == 2) {
  3177.                 message_begin(1, 98, _, i);
  3178.                 write_short(1<<0);
  3179.                 write_short(1<<0);
  3180.                 write_short(1<<0);
  3181.                 write_byte(0);
  3182.                 write_byte(0);
  3183.                 write_byte(0);
  3184.                 write_byte(0);
  3185.                 message_end();
  3186.                 giveItem(i, "weapon_knife");
  3187.             }
  3188.         }
  3189.         removeTask(ID_GN_ODLICZ);
  3190.         Odliczanie[GN_ODLICZ_KONIEC] = CzasZabawy(10);
  3191.         return 1;
  3192.     }
  3193.     return 0;
  3194. }
  3195.  
  3196. public MuzykaGaniany() {
  3197.     PlaySound(0, dzwiekiZabawy[0]);
  3198.     return 0;
  3199. }
  3200.  
  3201. public KoniecGN() {
  3202.     Odliczanie[GN_ODLICZ_KONIEC] -= 1;
  3203.  
  3204.     if(ile_graczy[0] == 1) {
  3205.         for(new i = 1; i <= MaxClients; ++i) {
  3206.             if(!isAlive(i)) continue;
  3207.  
  3208.             SpeedPlayers[i] = 0;
  3209.             setGodmode(i);
  3210.             set_user_speed(i);
  3211.         }
  3212.         ClientCmd(0, "mp3 stop");
  3213.         removeTask(ID_GN_MUZYKA);
  3214.         removeTask(ID_GN_KONIEC);
  3215.         return 1;
  3216.     }
  3217.     if(Odliczanie[GN_ODLICZ_KONIEC] <= 0) {
  3218.         for(new i = 1; i <= MaxClients; ++i) {
  3219.             if(isTeam(i) != 2 || !isAlive(i) || ile_graczy[0] == 1) continue;
  3220.  
  3221.             user_silentkill(i);
  3222.         }
  3223.         removeTask(ID_GN_MUZYKA);
  3224.         removeTask(ID_GN_KONIEC);
  3225.         return 1;
  3226.     }
  3227.     return 0;
  3228. }
  3229.  
  3230. public WlaczDzieci() {
  3231.     GameMode = 7;
  3232.     Odliczanie[DW_ODLICZ_START] = 20;
  3233.  
  3234.     setTask(1.0, "OdliczDW", ID_DW_ODLICZ, .flags="b");
  3235.  
  3236.     for(new i = 1; i <= MaxClients; ++i) {
  3237.         if(!isAlive(i)) continue;
  3238.  
  3239.         SpeedPlayers[i] = 1;
  3240.         setGodmode(i, 1);
  3241.         if(isTeam(i) == 2) {
  3242.             GiveItem(i, "weapon_m4a1", 999);
  3243.             GiveItem(i, "weapon_ak47", 999);
  3244.             GiveItem(i, "weapon_famas", 999);
  3245.             GiveItem(i, "weapon_awp", 999);
  3246.         }
  3247.     }
  3248.     return 0;
  3249. }
  3250.  
  3251. public OdliczDW() {
  3252.     Odliczanie[DW_ODLICZ_START] -= 1;
  3253.  
  3254.     if(Odliczanie[DW_ODLICZ_START] <= 0) {
  3255.         setTask(1.0, "KoniecDW", ID_DW_KONIEC, .flags="b");
  3256.         PlaySound(0, dzwiekiZabawy[6]);
  3257.         OtworzCele();
  3258.  
  3259.         for(new i = 1; i <= MaxClients; ++i) {
  3260.             if(!isAlive(i)) continue;
  3261.  
  3262.             SpeedPlayers[i] = 0;
  3263.             set_user_speed(i);
  3264.             setGodmode(i);
  3265.             if(isTeam(i) == 1) {
  3266.                 GiveItem(i, "weapon_m4a1", 999);
  3267.                 GiveItem(i, "weapon_ak47", 999);
  3268.                 GiveItem(i, "weapon_famas", 999);
  3269.                 GiveItem(i, "weapon_awp", 999);
  3270.             }
  3271.             if(isTeam(i) == 2) set_user_health(i, ile_graczy[0] * 250 / ile_graczy[2]);
  3272.         }
  3273.         removeTask(ID_DW_ODLICZ);
  3274.         Odliczanie[DW_ODLICZ_KONIEC] = CzasZabawy(10);
  3275.         return 1;
  3276.     }
  3277.     return 0;
  3278. }
  3279.  
  3280. public KoniecDW() {
  3281.     Odliczanie[DW_ODLICZ_KONIEC] -= 1;
  3282.  
  3283.     if(ile_graczy[0] == 1) {
  3284.         for(new i = 1; i <= MaxClients; ++i) {
  3285.             if(!isAlive(i)) continue;
  3286.  
  3287.             UsunBronie(i);
  3288.         }
  3289.         removeTask(ID_DW_KONIEC);
  3290.         return 1;
  3291.     }
  3292.     if(Odliczanie[DW_ODLICZ_KONIEC] <= 0) {
  3293.         for(new i = 1; i <= MaxClients; ++i) {
  3294.             if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] == 1) continue;
  3295.  
  3296.             user_silentkill(i);
  3297.         }
  3298.         removeTask(ID_DW_KONIEC);
  3299.         return 1;
  3300.     }
  3301.     return 0;
  3302. }
  3303.  
  3304. public WlaczZbijak() {
  3305.     OtworzCele();
  3306.  
  3307.     GameMode = 6;
  3308.     Odliczanie[ZB_ODLICZ_START] = 20;
  3309.  
  3310.     setTask(1.0, "OdliczZB", ID_ZB_ODLICZ, .flags="b");
  3311.  
  3312.     for(new i = 1; i <= MaxClients; ++i) {
  3313.         if(!isAlive(i)) continue;
  3314.  
  3315.         isTeam(i) == 1 ? stripWeapons(i) : setGodmode(i, 1);
  3316.     }
  3317. }
  3318.  
  3319. public OdliczZB() {
  3320.     Odliczanie[ZB_ODLICZ_START] -= 1;
  3321.  
  3322.     if(Odliczanie[ZB_ODLICZ_START] <= 0) {
  3323.         PlaySound(0, dzwiekiZabawy[5]);
  3324.         setTask(1.0, "KoniecZB", ID_ZB_KONIEC, .flags="b");
  3325.  
  3326.         for(new i = 1; i <= MaxClients; ++i) {
  3327.             if(!isAlive(i) || isTeam(i) != 1) continue;
  3328.  
  3329.             GiveItem(i, "weapon_hegrenade", 9999);
  3330.         }
  3331.         removeTask(ID_ZB_ODLICZ);
  3332.         Odliczanie[ZB_ODLICZ_KONIEC] = CzasZabawy(12);
  3333.         return 1;
  3334.     }
  3335.     return 0;
  3336. }
  3337.  
  3338. public KoniecZB() {
  3339.     Odliczanie[ZB_ODLICZ_KONIEC] -= 1;
  3340.  
  3341.     if(ile_graczy[0] == 1) {
  3342.         for(new i = 1; i <= MaxClients; ++i) {
  3343.             if(!isAlive(i)) continue;
  3344.  
  3345.             setGodmode(i);
  3346.             if(isTeam(i) == 1) UsunBronie(i);
  3347.         }
  3348.         ClientCmd(0, "mp3 stop");
  3349.         removeTask(ID_ZB_KONIEC);
  3350.         return 1;
  3351.     }
  3352.     if(Odliczanie[ZB_ODLICZ_KONIEC] <= 0) {
  3353.         for(new i = 1; i <= MaxClients; ++i) {
  3354.             if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] == 1) continue;
  3355.  
  3356.             user_silentkill(i);
  3357.         }
  3358.         removeTask(ID_ZB_KONIEC);
  3359.         return 1;
  3360.     }
  3361.     return 0;
  3362. }
  3363.  
  3364. public DotykGranata(ent, id) {
  3365.     if(GameMode == 6 && ile_graczy[0] != 1) {
  3366.         static owner; owner = pev(ent, 18);
  3367.         if(isAlive(id) && isTeam(owner) == 1 && isTeam(id) == 1) ExecuteHamB(Ham_Killed, id, owner, 0);
  3368.         else removeEnt(ent);
  3369.     }
  3370. }
  3371.  
  3372. public SetModel(ent, model[]) {
  3373.     if(!pev_valid(ent)) return 1;
  3374.  
  3375.     if(equali(model, "models/w_hegrenade.mdl")) {
  3376.         if(GameMode == 6 && ile_graczy[0] != 1) {
  3377.             set_pev(ent, 51, get_gametime() + 99999.0);
  3378.             engfunc(EngFunc_SetModel, ent, modele[1]);
  3379.             return 4;
  3380.         }
  3381.         if(bronie_pojedynek == 4) {
  3382.             new id = pev(ent, 18);
  3383.             if(Duel[0] == id || Duel[1] == id) cs_set_user_bpammo(id, 4, 2);
  3384.         }
  3385.     }
  3386.     if(equali(model, "models/w_deagle.mdl") && bronie_pojedynek == 100) {
  3387.         new id = pev(ent, pev_owner);
  3388.  
  3389.         if(Duel[0] == id || Duel[1] == id) {
  3390.             static Float:velocity[3];
  3391.             pev(ent, pev_velocity, velocity);
  3392.  
  3393.             if(!velocity[0] && !velocity[1] && !velocity[2]) {
  3394.                 static Float:origin[3];
  3395.                 pev(ent, pev_origin, origin);
  3396.                 client_print(0, 3, "%s rzucil bron na odleglosc %.2f unitow", nick[id], get_distance_f(LROrigin, origin));
  3397.             }
  3398.         }
  3399.     }
  3400.     return 1;
  3401. }
  3402.  
  3403. public WlaczLapany() {
  3404.     OtworzCele();
  3405.  
  3406.     GameMode = 5;
  3407.     Odliczanie[LN_ODLICZ_START] = 20;
  3408.  
  3409.     setTask(1.0, "OdliczLN", ID_LN_ODLICZ, .flags="b");
  3410.  
  3411.     for(new i = 1; i <= MaxClients; ++i) {
  3412.         if(!isAlive(i)) continue;
  3413.  
  3414.         SpeedPlayers[i] = 1;
  3415.         setGodmode(i, 1);
  3416.         if(isTeam(i) == 2) {
  3417.             message_begin(1, 98, _, i);
  3418.             write_short(1<<0);
  3419.             write_short(1<<0);
  3420.             write_short(1<<2);
  3421.             write_byte(0);
  3422.             write_byte(0);
  3423.             write_byte(0);
  3424.             write_byte(255);
  3425.             message_end();
  3426.             UsunBronie(i);
  3427.         }
  3428.     }
  3429. }
  3430.  
  3431. public OdliczLN() {
  3432.     Odliczanie[LN_ODLICZ_START] -= 1;
  3433.  
  3434.     if(Odliczanie[LN_ODLICZ_START] <= 0) {
  3435.         PlaySound(0, dzwiekiZabawy[0]);
  3436.         setTask(167.5, "MuzykaGaniany", ID_GN_MUZYKA, .flags="b");
  3437.         setTask(1.0, "KoniecLN", ID_LN_KONIEC, .flags="b");
  3438.  
  3439.         for(new i = 1; i <= MaxClients; ++i) {
  3440.             if(!isAlive(i)) continue;
  3441.  
  3442.             SpeedPlayers[i] = 2;
  3443.             if(isTeam(i) == 2) {
  3444.                 message_begin(1, 98, _, i);
  3445.                 write_short(1<<0);
  3446.                 write_short(1<<0);
  3447.                 write_short(1<<0);
  3448.                 write_byte(0);
  3449.                 write_byte(0);
  3450.                 write_byte(0);
  3451.                 write_byte(0);
  3452.                 message_end();
  3453.             }
  3454.         }
  3455.         removeTask(ID_LN_ODLICZ);
  3456.         Odliczanie[LN_ODLICZ_KONIEC] = CzasZabawy(15);
  3457.         return 1;
  3458.     }
  3459.     return 0;
  3460. }
  3461.  
  3462. public KoniecLN() {
  3463.     Odliczanie[LN_ODLICZ_KONIEC] -= 1;
  3464.  
  3465.     if(ile_graczy[0] == 1) {
  3466.         for(new i = 1; i <= MaxClients; ++i) {
  3467.             if(!isAlive(i)) continue;
  3468.  
  3469.             SpeedPlayers[i] = 0;
  3470.             setGodmode(i);
  3471.             set_user_speed(i);
  3472.             UsunZlapany2(i);
  3473.             UsunLapany(i);
  3474.         }
  3475.         ClientCmd(0, "mp3 stop");
  3476.         removeTask(ID_GN_MUZYKA);
  3477.         removeTask(ID_LN_KONIEC);
  3478.         return 1;
  3479.     }
  3480.     if(Odliczanie[LN_ODLICZ_KONIEC] <= 0) {
  3481.         for(new i = 1; i <= MaxClients; ++i) {
  3482.             if(!isAlive(i) || isTeam(i) != 2 || ile_graczy[0] == 1) continue;
  3483.  
  3484.             user_silentkill(i);
  3485.         }
  3486.         removeTask(ID_GN_MUZYKA);
  3487.         removeTask(ID_LN_KONIEC);
  3488.         return 1;
  3489.     }
  3490.     return 0;
  3491. }
  3492.  
  3493. public DotykGracza(ent, id) {
  3494.     if(!pev_valid(ent) || !pev_valid(id) || GameMode != 5 || ile_graczy[0] == 1 || !isAlive(id) || !isAlive(ent)) return 1;
  3495.  
  3496.     static data[1]; data[0] = ent;
  3497.  
  3498.     if(isTeam(id) == 2 && isTeam(ent) == 1 && !ZostalZlapany[ent]) {
  3499.         JestZlapany[ent]++;
  3500.  
  3501.         if(JestZlapany[ent] >= 2) ExecuteHamB(Ham_Killed, ent, id, 0);
  3502.         else {
  3503.             ZostalZlapany[ent] = true;
  3504.             ColorChat(0, 0, "^4[Lapany]^3 %s^1 zostal zlapany (^4%i/2^1) przez^3 %s^1!", nick[ent], JestZlapany[ent], nick[id]);
  3505.             set_user_rendering(ent, 19, isFlagi(ent, "s, t, v") ? 0 : 255, isFlagi(ent, "s, t, v") ? 255 : 0, 0, 0, 10);
  3506.             setTask(3.0, "UsunZlapany", 0, data, 1);
  3507.         }
  3508.     }
  3509.     return 1;
  3510. }
  3511.  
  3512. public UsunZlapany2(id) {
  3513.     if(!isConnected(id)) return;
  3514.  
  3515.     ZostalZlapany[id] = false;
  3516.     set_user_rendering(id);
  3517. }
  3518.  
  3519. public UsunZlapany(data[1]) UsunZlapany2(data[0]);
  3520.  
  3521. public UsunLapany(id)
  3522.     if(JestZlapany[id]) JestZlapany[id] = 0;
  3523.  
  3524. public WlaczGranaty() {
  3525.     OtworzCele();
  3526.  
  3527.     GameMode = 8;
  3528.     Odliczanie[WNG_ODLICZ_START] = 20;
  3529.  
  3530.     set_cvar_num("sv_gravity", 300);
  3531.     setTask(1.0, "OdliczWNG", ID_WNG_ODLICZ, .flags="b");
  3532.  
  3533.     for(new i = 1; i <= MaxClients; ++i) {
  3534.         if(!isAlive(i)) continue;
  3535.  
  3536.         isTeam(i) == 1 ? stripWeapons(i) : setGodmode(i, 1);
  3537.     }
  3538. }
  3539.  
  3540. public OdliczWNG() {
  3541.     Odliczanie[WNG_ODLICZ_START] -= 1;
  3542.  
  3543.     if(Odliczanie[WNG_ODLICZ_START] <= 0) {
  3544.         setTask(1.0, "KoniecWNG", ID_WNG_KONIEC, .flags="b");
  3545.         PlaySound(0, dzwiekiZabawy[6]);
  3546.         friendly_tt = true;
  3547.  
  3548.         for(new i = 1; i <= MaxClients; ++i) {
  3549.             if(!isAlive(i) || isTeam(i) != 1) continue;
  3550.  
  3551.             GiveItem(i, "weapon_hegrenade", 9999);
  3552.         }
  3553.         removeTask(ID_WNG_ODLICZ);
  3554.         Odliczanie[WNG_ODLICZ_KONIEC] = CzasZabawy(8);
  3555.         return 1;
  3556.     }
  3557.     return 0;
  3558. }
  3559.  
  3560. public KoniecWNG() {
  3561.     Odliczanie[WNG_ODLICZ_KONIEC] -= 1;
  3562.  
  3563.     if(ile_graczy[0] == 1) {
  3564.         for(new i = 1; i <= MaxClients; ++i) {
  3565.             if(!isAlive(i)) continue;
  3566.  
  3567.             setGodmode(i);
  3568.             if(isTeam(i) == 1) UsunBronie(i);
  3569.         }
  3570.         set_cvar_num("sv_gravity", 800);
  3571.         removeTask(ID_WNG_KONIEC);
  3572.         return 1;
  3573.     }
  3574.     if(Odliczanie[WNG_ODLICZ_KONIEC] <= 0) {
  3575.         for(new i = 1; i <= MaxClients; ++i) {
  3576.             if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] == 1) continue;
  3577.  
  3578.             user_silentkill(i);
  3579.         }
  3580.         set_cvar_num("sv_gravity", 800);
  3581.         removeTask(ID_WNG_KONIEC);
  3582.         return 1;
  3583.     }
  3584.     return 0;
  3585. }
  3586.  
  3587. public WlaczMagia() {
  3588.     OtworzCele();
  3589.  
  3590.     GameMode = 9;
  3591.     Odliczanie[MA_ODLICZ_START] = 15;
  3592.  
  3593.     set_cvar_num("sv_gravity", 500);
  3594.     setTask(1.0, "OdliczMA", ID_MA_ODLICZ, .flags="b");
  3595.  
  3596.     for(new i = 1; i <= MaxClients; ++i) {
  3597.         if(!isAlive(i)) continue;
  3598.  
  3599.         isTeam(i) == 1 ? stripWeapons(i) : setGodmode(i, 1);
  3600.     }
  3601. }
  3602.  
  3603. public OdliczMA() {
  3604.     Odliczanie[MA_ODLICZ_START] -= 1;
  3605.  
  3606.     if(Odliczanie[MA_ODLICZ_START] <= 0) {
  3607.         setTask(1.0, "KoniecMA", ID_MA_KONIEC, .flags="b");
  3608.         PlaySound(0, dzwiekiZabawy[6]);
  3609.         friendly_tt = true;
  3610.  
  3611.         for(new i = 1; i <= MaxClients; ++i) {
  3612.             if(!isAlive(i) || isTeam(i) != 1) continue;
  3613.  
  3614.             server_cmd("jail_add_magic %i", i);
  3615.         }
  3616.         removeTask(ID_MA_ODLICZ);
  3617.         Odliczanie[MA_ODLICZ_KONIEC] = CzasZabawy(12);
  3618.         return 1;
  3619.     }
  3620.     return 0;
  3621. }
  3622.  
  3623. public KoniecMA() {
  3624.     Odliczanie[MA_ODLICZ_KONIEC] -= 1;
  3625.  
  3626.     if(ile_graczy[0] == 1) {
  3627.         set_cvar_num("sv_gravity", 800);
  3628.         for(new i = 1; i <= MaxClients; ++i) {
  3629.             if(!isAlive(i)) continue;
  3630.  
  3631.             setGodmode(i);
  3632.             if(isTeam(i) == 1) UsunBronie(i);
  3633.         }
  3634.         removeTask(ID_MA_KONIEC);
  3635.         return 1;
  3636.     }
  3637.     if(Odliczanie[MA_ODLICZ_KONIEC] <= 0) {
  3638.         for(new i = 1; i <= MaxClients; ++i) {
  3639.             if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] == 1) continue;
  3640.  
  3641.             user_silentkill(i);
  3642.         }
  3643.         removeTask(ID_MA_KONIEC);
  3644.         return 1;
  3645.     }
  3646.     return 0;
  3647. }
  3648.  
  3649. public WlaczNinja() {
  3650.     GameMode = 10;
  3651.     Odliczanie[NIE_ODLICZ_START] = 15;
  3652.  
  3653.     setTask(1.0, "OdliczNIE", ID_NIE_ODLICZ, .flags="b");
  3654.  
  3655.     for(new i = 1; i <= MaxClients; ++i) {
  3656.         if(!isAlive(i)) continue;
  3657.  
  3658.         stripWeapons(i);
  3659.         if(isTeam(i) != 1) continue;
  3660.  
  3661.         message_begin(1, 98, _, i);
  3662.         write_short(1<<0);
  3663.         write_short(1<<0);
  3664.         write_short(1<<2);
  3665.         write_byte(0);
  3666.         write_byte(0);
  3667.         write_byte(0);
  3668.         write_byte(255);
  3669.         message_end();
  3670.     }
  3671. }
  3672.  
  3673. public OdliczNIE() {
  3674.     Odliczanie[NIE_ODLICZ_START] -= 1;
  3675.  
  3676.     if(Odliczanie[NIE_ODLICZ_START] <= 0) {
  3677.         setTask(1.0, "KoniecNIE", ID_NIE_KONIEC, .flags="b");
  3678.         PlaySound(0, dzwiekiZabawy[6]);
  3679.         setLights("e");
  3680.         OtworzCele();
  3681.         for(new i = 1; i <= MaxClients; ++i) {
  3682.             if(!isAlive(i)) continue;
  3683.  
  3684.             if(isTeam(i) == 1) {
  3685.                 message_begin(1, 98, _, i);
  3686.                 write_short(1<<0);
  3687.                 write_short(1<<0);
  3688.                 write_short(1<<0);
  3689.                 write_byte(0);
  3690.                 write_byte(0);
  3691.                 write_byte(0);
  3692.                 write_byte(0);
  3693.                 message_end();
  3694.                 UsunBronie(i);
  3695.                 GiveItem(i, "weapon_mac10", 60);
  3696.                 GiveItem(i, "weapon_scout", 9999);
  3697.                 GiveItem(i, "weapon_glock18", 9999);
  3698.             }
  3699.             else if(isTeam(i) == 2) {
  3700.                 give_item(i, "weapon_knife");
  3701.                 set_user_health(i, ile_graczy[0] * 125 / ile_graczy[2]);
  3702.                 set_user_footsteps(i);
  3703.                 set_user_rendering(i, 0, 0, 0, 0, 5, 3);
  3704.                 if(isFlagi(i, "s, t, v")) SetNoktowizor(i, 1);
  3705.             }
  3706.             SpeedPlayers[i] = 1;
  3707.             CreateFog(i, .density_f = 0.003);
  3708.         }
  3709.         removeTask(ID_NIE_ODLICZ);
  3710.         Odliczanie[NIE_ODLICZ_KONIEC] = CzasZabawy(10);
  3711.         return 1;
  3712.     }
  3713.     return 0;
  3714. }
  3715.  
  3716. stock CreateFog(id = 0, r = 127, g = 127, b = 127, Float:density_f = 0.001, bool:clear = false) {
  3717.     new density = _:floatclamp(density_f, 0.0001, 0.25) * _:!clear;
  3718.  
  3719.     message_begin(id ? 8 : 0, 143, .player = id);
  3720.     write_byte(clamp(r , 0, 255));
  3721.     write_byte(clamp(g, 0, 255));
  3722.     write_byte(clamp(b , 0, 255));
  3723.     write_long(_:density);
  3724.     //write_byte((density & 0xFF));
  3725.     //write_byte((density >> 8) & 0xFF);
  3726.     //write_byte((density >> 16) & 0xFF);
  3727.     //write_byte((density >> 24) & 0xFF);
  3728.     message_end();
  3729. }
  3730.  
  3731. public KoniecNIE() {
  3732.     Odliczanie[NIE_ODLICZ_KONIEC] -= 1;
  3733.  
  3734.     if(ile_graczy[0] == 1) {
  3735.         for(new i = 1; i <= MaxClients; ++i) {
  3736.             if(!isAlive(i)) continue;
  3737.  
  3738.             SpeedPlayers[i] = 0;
  3739.             set_user_speed(i);
  3740.             set_user_gravity(i);
  3741.             set_user_footsteps(i, 0);
  3742.             set_user_rendering(i);
  3743.             SetNoktowizor(i, 0);
  3744.             UsunBronie(i);
  3745.         }
  3746.         setLights("#OFF");
  3747.         CreateFog(.clear = true);
  3748.         removeTask(ID_NIE_KONIEC);
  3749.         return 1;
  3750.     }
  3751.     if(Odliczanie[NIE_ODLICZ_KONIEC] <= 0) {
  3752.         for(new i = 1; i <= MaxClients; ++i) {
  3753.             if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] == 1) continue;
  3754.  
  3755.             user_silentkill(i);
  3756.         }
  3757.         removeTask(ID_NIE_KONIEC);
  3758.         return 1;
  3759.     }
  3760.     return 0;
  3761. }
  3762.  
  3763. public WlaczOneShot() {
  3764.     GameMode = 11;
  3765.     Odliczanie[ONE_ODLICZ_START] = 30;
  3766.     OtworzCele();
  3767.  
  3768.     setTask(1.0, "OdliczONE", ID_ONE_ODLICZ, .flags="b");
  3769.  
  3770.     for(new i = 1; i <= MaxClients; ++i) {
  3771.         if(!isAlive(i)) continue;
  3772.  
  3773.         isTeam(i) == 1 ? stripWeapons(i) : setGodmode(i, 1);
  3774.     }
  3775. }
  3776.  
  3777. public OdliczONE() {
  3778.     Odliczanie[ONE_ODLICZ_START] -= 1;
  3779.  
  3780.     if(Odliczanie[ONE_ODLICZ_START] <= 0) {
  3781.         setTask(1.0, "KoniecONE", ID_ONE_KONIEC, .flags="b");
  3782.         set_cvar_num("sv_maxspeed", 9999);
  3783.         PlaySound(0, dzwiekiZabawy[6]);
  3784.         friendly_tt = true;
  3785.  
  3786.         for(new i = 1; i <= MaxClients; ++i) {
  3787.             if(!isAlive(i) || isTeam(i) != 1) continue;
  3788.  
  3789.             GiveItem(i, "weapon_scout", 9999);
  3790.             GiveItem(i, "weapon_flashbang", 2);
  3791.             SpeedPlayers[i] = 1;
  3792.         }
  3793.         removeTask(ID_ONE_ODLICZ);
  3794.         Odliczanie[ONE_ODLICZ_KONIEC] = CzasZabawy(8);
  3795.         return 1;
  3796.     }
  3797.     return 0;
  3798. }
  3799.  
  3800. public KoniecONE() {
  3801.     Odliczanie[ONE_ODLICZ_KONIEC] -= 1;
  3802.  
  3803.     if(ile_graczy[0] == 1) {
  3804.         for(new i = 1; i <= MaxClients; ++i) {
  3805.             if(!isAlive(i)) continue;
  3806.  
  3807.             SpeedPlayers[i] = 0;
  3808.             set_user_speed(i);
  3809.             setGodmode(i);
  3810.             UsunBronie(i);
  3811.         }
  3812.         set_cvar_num("sv_maxspeed", 1000);
  3813.         removeTask(ID_ONE_KONIEC);
  3814.         return 1;
  3815.     }
  3816.     if(Odliczanie[ONE_ODLICZ_KONIEC] <= 0) {
  3817.         for(new i = 1; i <= MaxClients; ++i) {
  3818.             if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] == 1) continue;
  3819.  
  3820.             user_silentkill(i);
  3821.         }
  3822.         removeTask(ID_ONE_KONIEC);
  3823.         return 1;
  3824.     }
  3825.     return 0;
  3826. }
  3827.  
  3828. public WlaczBazooka() {
  3829.     GameMode = 12;
  3830.     Odliczanie[RPG_ODLICZ_START] = 30;
  3831.     OtworzCele();
  3832.  
  3833.     setTask(1.0, "OdliczRPG", ID_RPG_ODLICZ, .flags="b");
  3834.  
  3835.     for(new i = 1; i <= MaxClients; ++i) {
  3836.         if(!isAlive(i)) continue;
  3837.  
  3838.         isTeam(i) == 1 ? stripWeapons(i) : setGodmode(i, 1);
  3839.     }
  3840. }
  3841.  
  3842. public OdliczRPG() {
  3843.     Odliczanie[RPG_ODLICZ_START] -= 1;
  3844.  
  3845.     if(Odliczanie[RPG_ODLICZ_START] <= 0) {
  3846.         setTask(1.0, "KoniecRPG", ID_RPG_KONIEC, .flags="b");
  3847.         PlaySound(0, dzwiekiZabawy[6]);
  3848.         friendly_tt = true;
  3849.  
  3850.         for(new i = 1; i <= MaxClients; ++i) {
  3851.             if(!isAlive(i) || isTeam(i) != 1) continue;
  3852.  
  3853.             server_cmd("jail_add_rpg %i", i);
  3854.         }
  3855.         removeTask(ID_RPG_ODLICZ);
  3856.         Odliczanie[RPG_ODLICZ_KONIEC] = CzasZabawy(12);
  3857.         return 1;
  3858.     }
  3859.     return 0;
  3860. }
  3861.  
  3862. public KoniecRPG() {
  3863.     Odliczanie[RPG_ODLICZ_KONIEC] -= 1;
  3864.  
  3865.     if(ile_graczy[0] == 1) {
  3866.         for(new i = 1; i <= MaxClients; ++i) {
  3867.             if(!isAlive(i)) continue;
  3868.  
  3869.             setGodmode(i);
  3870.             UsunBronie(i);
  3871.         }
  3872.         removeTask(ID_RPG_KONIEC);
  3873.         return 1;
  3874.     }
  3875.     if(Odliczanie[RPG_ODLICZ_KONIEC] <= 0) {
  3876.         for(new i = 1; i <= MaxClients; ++i) {
  3877.             if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] == 1) continue;
  3878.  
  3879.             user_silentkill(i);
  3880.         }
  3881.         removeTask(ID_RPG_KONIEC);
  3882.         return 1;
  3883.     }
  3884.     return 0;
  3885. }
  3886.  
  3887. public WlaczHeadShot() {
  3888.     GameMode = 13;
  3889.     Odliczanie[HS_ODLICZ_START] = 30;
  3890.     OtworzCele();
  3891.  
  3892.     setTask(1.0, "OdliczHS", ID_HS_ODLICZ, .flags="b");
  3893.  
  3894.     for(new i = 1; i <= MaxClients; ++i) {
  3895.         if(!isAlive(i)) continue;
  3896.  
  3897.         isTeam(i) == 1 ? stripWeapons(i) : setGodmode(i, 1);
  3898.     }
  3899. }
  3900.  
  3901. public OdliczHS() {
  3902.     Odliczanie[HS_ODLICZ_START] -= 1;
  3903.  
  3904.     if(Odliczanie[HS_ODLICZ_START] <= 0) {
  3905.         setTask(1.0, "KoniecHS", ID_HS_KONIEC, .flags="b");
  3906.         PlaySound(0, dzwiekiZabawy[6]);
  3907.         friendly_tt = true;
  3908.  
  3909.         for(new i = 1; i <= MaxClients; ++i) {
  3910.             if(!isAlive(i) || isTeam(i) != 1) continue;
  3911.  
  3912.             GiveItem(i, "weapon_usp", 9999);
  3913.         }
  3914.         removeTask(ID_HS_ODLICZ);
  3915.         Odliczanie[HS_ODLICZ_KONIEC] = CzasZabawy(12);
  3916.         return 1;
  3917.     }
  3918.     return 0;
  3919. }
  3920.  
  3921. public KoniecHS() {
  3922.     Odliczanie[HS_ODLICZ_KONIEC] -= 1;
  3923.  
  3924.     if(ile_graczy[0] == 1) {
  3925.         for(new i = 1; i <= MaxClients; ++i) {
  3926.             if(!isAlive(i)) continue;
  3927.  
  3928.             setGodmode(i);
  3929.             UsunBronie(i);
  3930.         }
  3931.         removeTask(ID_HS_KONIEC);
  3932.         return 1;
  3933.     }
  3934.     if(Odliczanie[HS_ODLICZ_KONIEC] <= 0) {
  3935.         for(new i = 1; i <= MaxClients; ++i) {
  3936.             if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] == 1) continue;
  3937.  
  3938.             user_silentkill(i);
  3939.         }
  3940.         removeTask(ID_HS_KONIEC);
  3941.         return 1;
  3942.     }
  3943.     return 0;
  3944. }
  3945.  
  3946. public WlaczSmigus() {
  3947.     GameMode = 14;
  3948.     Odliczanie[SMI_ODLICZ_START] = 30;
  3949.     OtworzCele();
  3950.  
  3951.     setTask(1.0, "OdliczSMI", ID_SMI_ODLICZ, .flags="b");
  3952.  
  3953.     for(new i = 1; i <= MaxClients; ++i) {
  3954.         if(!isAlive(i)) continue;
  3955.  
  3956.         isTeam(i) == 1 ? stripWeapons(i) : setGodmode(i, 1);
  3957.     }
  3958. }
  3959.  
  3960. public OdliczSMI() {
  3961.     Odliczanie[SMI_ODLICZ_START] -= 1;
  3962.  
  3963.     if(Odliczanie[SMI_ODLICZ_START] <= 0) {
  3964.         setTask(1.0, "KoniecSMI", ID_SMI_KONIEC, .flags="b");
  3965.         PlaySound(0, dzwiekiZabawy[6]);
  3966.         friendly_tt = true;
  3967.  
  3968.         for(new i = 1; i <= MaxClients; ++i) {
  3969.             if(!isAlive(i) || isTeam(i) != 1) continue;
  3970.  
  3971.             server_cmd("jail_add_wg %i", i);
  3972.         }
  3973.         removeTask(ID_SMI_ODLICZ);
  3974.         Odliczanie[SMI_ODLICZ_KONIEC] = CzasZabawy(12);
  3975.         return 1;
  3976.     }
  3977.     return 0;
  3978. }
  3979.  
  3980. public KoniecSMI() {
  3981.     Odliczanie[SMI_ODLICZ_KONIEC] -= 1;
  3982.  
  3983.     if(ile_graczy[0] == 1) {
  3984.         for(new i = 1; i <= MaxClients; ++i) {
  3985.             if(!isAlive(i)) continue;
  3986.  
  3987.             setGodmode(i);
  3988.             UsunBronie(i);
  3989.         }
  3990.         removeTask(ID_SMI_KONIEC);
  3991.         return 1;
  3992.     }
  3993.     if(Odliczanie[SMI_ODLICZ_KONIEC] <= 0) {
  3994.         for(new i = 1; i <= MaxClients; ++i) {
  3995.             if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] == 1) continue;
  3996.  
  3997.             user_silentkill(i);
  3998.         }
  3999.         removeTask(ID_SMI_KONIEC);
  4000.         return 1;
  4001.     }
  4002.     return 0;
  4003. }
  4004.  
  4005. public WlaczOgien() {
  4006.     GameMode = 15;
  4007.     Odliczanie[FIR_ODLICZ_START] = 30;
  4008.     OtworzCele();
  4009.  
  4010.     setTask(1.0, "OdliczFIR", ID_FIR_ODLICZ, .flags="b");
  4011.  
  4012.     for(new i = 1; i <= MaxClients; ++i) {
  4013.         if(!isAlive(i)) continue;
  4014.  
  4015.         isTeam(i) == 1 ? stripWeapons(i) : setGodmode(i, 1);
  4016.     }
  4017. }
  4018.  
  4019. public OdliczFIR() {
  4020.     Odliczanie[FIR_ODLICZ_START] -= 1;
  4021.  
  4022.     if(Odliczanie[FIR_ODLICZ_START] <= 0) {
  4023.         setTask(1.0, "KoniecFIR", ID_FIR_KONIEC, .flags="b");
  4024.         PlaySound(0, dzwiekiZabawy[6]);
  4025.         friendly_tt = true;
  4026.  
  4027.         for(new i = 1; i <= MaxClients; ++i) {
  4028.             if(!isAlive(i) || isTeam(i) != 1) continue;
  4029.  
  4030.             server_cmd("jail_add_petrolboomer %i", i);
  4031.         }
  4032.         removeTask(ID_FIR_ODLICZ);
  4033.         Odliczanie[FIR_ODLICZ_KONIEC] = CzasZabawy(12);
  4034.         return 1;
  4035.     }
  4036.     return 0;
  4037. }
  4038.  
  4039. public KoniecFIR() {
  4040.     Odliczanie[FIR_ODLICZ_KONIEC] -= 1;
  4041.  
  4042.     if(ile_graczy[0] == 1) {
  4043.         for(new i = 1; i <= MaxClients; ++i) {
  4044.             if(!isAlive(i)) continue;
  4045.  
  4046.             setGodmode(i);
  4047.             UsunBronie(i);
  4048.         }
  4049.         removeTask(ID_FIR_KONIEC);
  4050.         return 1;
  4051.     }
  4052.     if(Odliczanie[FIR_ODLICZ_KONIEC] <= 0) {
  4053.         for(new i = 1; i <= MaxClients; ++i) {
  4054.             if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] == 1) continue;
  4055.  
  4056.             user_silentkill(i);
  4057.         }
  4058.         removeTask(ID_FIR_KONIEC);
  4059.         return 1;
  4060.     }
  4061.     return 0;
  4062. }
  4063.  
  4064. public WlaczLuk() {
  4065.     GameMode = 16;
  4066.     Odliczanie[BOW_ODLICZ_START] = 30;
  4067.     OtworzCele();
  4068.  
  4069.     setTask(1.0, "OdliczBOW", ID_BOW_ODLICZ, .flags="b");
  4070.  
  4071.     for(new i = 1; i <= MaxClients; ++i) {
  4072.         if(!isAlive(i)) continue;
  4073.  
  4074.         SpeedPlayers[i] = 1;
  4075.         if(isTeam(i) == 2) {
  4076.             message_begin(1, 98, _, i);
  4077.             write_short(1<<0);
  4078.             write_short(1<<0);
  4079.             write_short(1<<2);
  4080.             write_byte(0);
  4081.             write_byte(0);
  4082.             write_byte(0);
  4083.             write_byte(255);
  4084.             message_end();
  4085.             setGodmode(i, 1);
  4086.             stripWeapons(i);
  4087.         }
  4088.     }
  4089. }
  4090.  
  4091. public OdliczBOW() {
  4092.     Odliczanie[BOW_ODLICZ_START] -= 1;
  4093.  
  4094.     if(Odliczanie[BOW_ODLICZ_START] <= 0) {
  4095.         setTask(1.0, "KoniecBOW", ID_BOW_KONIEC, .flags="b");
  4096.         PlaySound(0, dzwiekiZabawy[6]);
  4097.  
  4098.         for(new i = 1; i <= MaxClients; ++i) {
  4099.             if(!isAlive(i)) continue;
  4100.  
  4101.             SpeedPlayers[i] = 2;
  4102.             if(isTeam(i) == 2) {
  4103.                 message_begin(1, 98, _, i);
  4104.                 write_short(1<<0);
  4105.                 write_short(1<<0);
  4106.                 write_short(1<<0);
  4107.                 write_byte(0);
  4108.                 write_byte(0);
  4109.                 write_byte(0);
  4110.                 write_byte(0);
  4111.                 message_end();
  4112.                 server_cmd("jail_add_bow %i", i);
  4113.             }
  4114.         }
  4115.         removeTask(ID_BOW_ODLICZ);
  4116.         Odliczanie[BOW_ODLICZ_KONIEC] = CzasZabawy(12);
  4117.         return 1;
  4118.     }
  4119.     return 0;
  4120. }
  4121.  
  4122. public KoniecBOW() {
  4123.     Odliczanie[BOW_ODLICZ_KONIEC] -= 1;
  4124.  
  4125.     if(ile_graczy[0] == 1) {
  4126.         for(new i = 1; i <= MaxClients; ++i) {
  4127.             if(!isAlive(i)) continue;
  4128.  
  4129.             SpeedPlayers[i] = 0;
  4130.             setGodmode(i);
  4131.             set_user_speed(i);
  4132.         }
  4133.         removeTask(ID_BOW_KONIEC);
  4134.         return 1;
  4135.     }
  4136.     if(Odliczanie[BOW_ODLICZ_KONIEC] <= 0) {
  4137.         for(new i = 1; i <= MaxClients; ++i) {
  4138.             if(!isAlive(i) || isTeam(i) != 2 || ile_graczy[0] == 1) continue;
  4139.  
  4140.             user_silentkill(i);
  4141.         }
  4142.         removeTask(ID_BOW_KONIEC);
  4143.         return 1;
  4144.     }
  4145.     return 0;
  4146. }
  4147.  
  4148. public WlaczLuk2() {
  4149.     GameMode = 17;
  4150.     Odliczanie[BOW2_ODLICZ_START] = 30;
  4151.     OtworzCele();
  4152.  
  4153.     setTask(1.0, "OdliczBOW2", ID_BOW2_ODLICZ, .flags="b");
  4154.  
  4155.     for(new i = 1; i <= MaxClients; ++i) {
  4156.         if(!isAlive(i)) continue;
  4157.  
  4158.         isTeam(i) == 1 ? stripWeapons(i) : setGodmode(i, 1);
  4159.     }
  4160. }
  4161.  
  4162. public OdliczBOW2() {
  4163.     Odliczanie[BOW2_ODLICZ_START] -= 1;
  4164.  
  4165.     if(Odliczanie[BOW2_ODLICZ_START] <= 0) {
  4166.         setTask(1.0, "KoniecBOW2", ID_BOW2_KONIEC, .flags="b");
  4167.         PlaySound(0, dzwiekiZabawy[6]);
  4168.         friendly_tt = true;
  4169.  
  4170.         for(new i = 1; i <= MaxClients; ++i) {
  4171.             if(!isAlive(i) || isTeam(i) != 1) continue;
  4172.  
  4173.             server_cmd("jail_add_bow2 %i", i);
  4174.         }
  4175.         removeTask(ID_BOW2_ODLICZ);
  4176.         Odliczanie[BOW2_ODLICZ_KONIEC] = CzasZabawy(12);
  4177.         return 1;
  4178.     }
  4179.     return 0;
  4180. }
  4181.  
  4182. public KoniecBOW2() {
  4183.     Odliczanie[BOW2_ODLICZ_KONIEC] -= 1;
  4184.  
  4185.     if(ile_graczy[0] == 1) {
  4186.         for(new i = 1; i <= MaxClients; ++i) {
  4187.             if(!isAlive(i) || isTeam(i) != 2) continue;
  4188.  
  4189.             setGodmode(i);
  4190.         }
  4191.         removeTask(ID_BOW2_KONIEC);
  4192.         return 1;
  4193.     }
  4194.     if(Odliczanie[BOW2_ODLICZ_KONIEC] <= 0) {
  4195.         for(new i = 1; i <= MaxClients; ++i) {
  4196.             if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] == 1) continue;
  4197.  
  4198.             user_silentkill(i);
  4199.         }
  4200.         removeTask(ID_BOW2_KONIEC);
  4201.         return 1;
  4202.     }
  4203.     return 0;
  4204. }
  4205.  
  4206. public WlaczStarWars() {
  4207.     GameMode = 18;
  4208.     Odliczanie[SW_ODLICZ_START] = 30;
  4209.     OtworzCele();
  4210.  
  4211.     setTask(1.0, "OdliczSW", ID_SW_ODLICZ, .flags="b");
  4212.  
  4213.     for(new i = 1; i <= MaxClients; ++i) {
  4214.         if(!isAlive(i)) continue;
  4215.  
  4216.         isTeam(i) == 1 ? stripWeapons(i) : setGodmode(i, 1);
  4217.     }
  4218. }
  4219.  
  4220. public OdliczSW() {
  4221.     Odliczanie[SW_ODLICZ_START] -= 1;
  4222.  
  4223.     if(Odliczanie[SW_ODLICZ_START] <= 0) {
  4224.         setTask(1.0, "KoniecSW", ID_SW_KONIEC, .flags="b");
  4225.         PlaySound(0, dzwiekiZabawy[6]);
  4226.         friendly_tt = true;
  4227.  
  4228.         for(new i = 1; i <= MaxClients; ++i) {
  4229.             if(!isAlive(i) || isTeam(i) != 1) continue;
  4230.  
  4231.             server_cmd("jail_add_miecz %i", i);
  4232.         }
  4233.         removeTask(ID_SW_ODLICZ);
  4234.         Odliczanie[SW_ODLICZ_KONIEC] = CzasZabawy(12);
  4235.         return 1;
  4236.     }
  4237.     return 0;
  4238. }
  4239.  
  4240. public KoniecSW() {
  4241.     Odliczanie[SW_ODLICZ_KONIEC] -= 1;
  4242.  
  4243.     if(ile_graczy[0] == 1) {
  4244.         for(new i = 1; i <= MaxClients; ++i) {
  4245.             if(!isAlive(i) || isTeam(i) != 2) continue;
  4246.  
  4247.             setGodmode(i);
  4248.         }
  4249.         removeTask(ID_SW_KONIEC);
  4250.         return 1;
  4251.     }
  4252.     if(Odliczanie[SW_ODLICZ_KONIEC] <= 0) {
  4253.         for(new i = 1; i <= MaxClients; ++i) {
  4254.             if(!isAlive(i) || isTeam(i) != 1 || ile_graczy[0] == 1) continue;
  4255.  
  4256.             user_silentkill(i);
  4257.         }
  4258.         removeTask(ID_SW_KONIEC);
  4259.         return 1;
  4260.     }
  4261.     return 0;
  4262. }
  4263.  
  4264. public WlaczKaczki() {
  4265.     GameMode = 19;
  4266.     Odliczanie[KA_ODLICZ_START] = 15;
  4267.     OtworzCele();
  4268.  
  4269.     setTask(1.0, "OdliczKA", ID_KA_ODLICZ, .flags="b");
  4270.  
  4271.     for(new i = 1; i <= MaxClients; ++i) {
  4272.         if(!isAlive(i)) continue;
  4273.  
  4274.         stripWeapons(i);
  4275.         SpeedPlayers[i] = 1;
  4276.         if(isTeam(i) == 2) {
  4277.             setGodmode(i, 1);
  4278.             message_begin(1, 98, _, i);
  4279.             write_short(1<<0);
  4280.             write_short(1<<0);
  4281.             write_short(1<<2);
  4282.             write_byte(0);
  4283.             write_byte(0);
  4284.             write_byte(0);
  4285.             write_byte(255);
  4286.             message_end();
  4287.         }
  4288.         if(isTeam(i) == 1) addDelay(i, "UstawKaczke");
  4289.     }
  4290. }
  4291.  
  4292. public OdliczKA() {
  4293.     Odliczanie[KA_ODLICZ_START] -= 1;
  4294.  
  4295.     if(Odliczanie[KA_ODLICZ_START] <= 0) {
  4296.         setTask(1.0, "KoniecKA", ID_KA_KONIEC, .flags="b");
  4297.         PlaySound(0, dzwiekiZabawy[3]);
  4298.         setTask(162.5, "MuzykaKaczki", ID_KA_MUZYKA, .flags="b");
  4299.  
  4300.         for(new i = 1; i <= MaxClients; ++i) {
  4301.             if(!isAlive(i)) continue;
  4302.  
  4303.             if(isTeam(i) == 2) {
  4304.                 SpeedPlayers[i] = 0;
  4305.                 set_user_speed(i);
  4306.                 message_begin(1, 98, _, i);
  4307.                 write_short(1<<0);
  4308.                 write_short(1<<0);
  4309.                 write_short(1<<0);
  4310.                 write_byte(0);
  4311.                 write_byte(0);
  4312.                 write_byte(0);
  4313.                 write_byte(0);
  4314.                 message_end();
  4315.                 GiveItem(i, "weapon_awp", 9999);
  4316.             }
  4317.         }
  4318.         removeTask(ID_KA_ODLICZ);
  4319.         Odliczanie[KA_ODLICZ_KONIEC] = CzasZabawy(12);
  4320.         return 1;
  4321.     }
  4322.     return 0;
  4323. }
  4324.  
  4325. public MuzykaKaczki() {
  4326.     PlaySound(0, dzwiekiZabawy[3]);
  4327.     return 0;
  4328. }
  4329.  
  4330. public KoniecKA() {
  4331.     Odliczanie[KA_ODLICZ_KONIEC] -= 1;
  4332.  
  4333.     if(ile_graczy[0] == 1) {
  4334.         for(new i = 1; i <= MaxClients; ++i) {
  4335.             if(!isAlive(i)) continue;
  4336.  
  4337.             SpeedPlayers[i] = 0;
  4338.             set_user_speed(i);
  4339.             set_user_gravity(i);
  4340.             setGodmode(i);
  4341.             addDelay(i, "", 1);
  4342.         }
  4343.         ClientCmd(0, "mp3 stop");
  4344.         removeTask(ID_KA_MUZYKA);
  4345.         removeTask(ID_KA_KONIEC);
  4346.         return 1;
  4347.     }
  4348.     if(Odliczanie[KA_ODLICZ_KONIEC] <= 0) {
  4349.         for(new i = 1; i <= MaxClients; ++i) {
  4350.             if(!isAlive(i) || isTeam(i) != 2 || ile_graczy[0] == 1) continue;
  4351.  
  4352.             user_silentkill(i);
  4353.         }
  4354.         removeTask(ID_KA_MUZYKA);
  4355.         removeTask(ID_KA_KONIEC);
  4356.         return 1;
  4357.     }
  4358.     return 0;
  4359. }
  4360.  
  4361. stock addDelay(id, task[] = "", off = 0) {
  4362.     if(off) {
  4363.         setVision(id, 1);
  4364.         set_pev(id, pev_view_ofs, Float:{0.0, 0.0, 17.0});
  4365.         #if defined NEW_MODELS
  4366.         set_user_info(id, "model", "topmasters_ultimodel");
  4367.         #else
  4368.         set_user_info(id, "model", "topmasters_modelojb2");
  4369.         #endif
  4370.         ResetModels(id);
  4371.         return;
  4372.     }
  4373.     switch(id) {
  4374.         case 1..7: set_task(0.1, task, id);
  4375.         case 8..15: set_task(0.4, task, id);
  4376.         case 16..23: set_task(0.7, task, id);
  4377.         case 24..32: set_task(1.0, task, id);
  4378.     }
  4379. }
  4380.  
  4381. public UstawKaczke(id) {
  4382.     new vec[3]; get_user_origin(id, vec);
  4383.     message_begin(4, 23, vec);
  4384.     write_byte(11);
  4385.     write_coord(vec[0]);
  4386.     write_coord(vec[1]);
  4387.     write_coord(vec[2]);
  4388.     message_end();
  4389.  
  4390.     setVision(id);
  4391.     set_user_info(id, "model", "topmasters_kura");
  4392. }
  4393.  
  4394. stock setVision(id, off = 0) {
  4395.     message_begin(1, 95, {0, 0, 0}, id);
  4396.     write_byte(off ? 90 : 135);
  4397.     message_end();
  4398. }
  4399.  
  4400. public TraceLine(Float:v1[3], Float:v2[3], noMonsters, pentToSkip) {
  4401.     if(GameMode != 19 || ile_graczy[0] == 1) return 1;
  4402.  
  4403.     new ent1 = pentToSkip;
  4404.     new ent2 = get_tr(TR_pHit);
  4405.     new hitzone = (1<<get_tr(TR_iHitgroup));
  4406.  
  4407.     if(!pev_valid(ent1) || !pev_valid(ent2)) return 1;
  4408.     if(ent1 == ent2 || !isAlive(ent1) || !isAlive(ent2) || isTeam(ent2) != 1 || hitzone == 64 || hitzone == 128) return 1;
  4409.  
  4410.     set_tr(TR_flFraction, 1.0);
  4411.     return 4;
  4412. }
  4413.  
  4414. public WczytajCele() {
  4415.     new mapa[64], plik[128];
  4416.     get_mapname(mapa, 63);
  4417.     formatex(plik, 127, "addons/amxmodx/data/cele/%s.ini", mapa);
  4418.  
  4419.     if(!file_exists(plik)) return;
  4420.  
  4421.     new dane_tablicy[4][32], tablica[256], txtlen;
  4422.     for(new i; i < file_size(plik, 1); i++) {
  4423.         if(i > 1) break;
  4424.  
  4425.         read_file(plik, i, tablica, 255, txtlen);
  4426.         parse(tablica, dane_tablicy[0], 31, dane_tablicy[1], 31, dane_tablicy[2], 31, dane_tablicy[3], 31);
  4427.  
  4428.         new Float:origin[3];
  4429.         for(new i; i < 3; i++) origin[i] = str_to_float(dane_tablicy[i]);
  4430.  
  4431.         new Float:fDistance = 9999.0, Float:fDistance2, ent;
  4432.         while((ent = findEntName(ent, dane_tablicy[3]))) { 
  4433.             new Float:gOrigin[3], Float:mins[3], Float:maxs[3];
  4434.             pev(ent, 131, mins);
  4435.             pev(ent, 132, maxs);
  4436.  
  4437.             for(new i; i < 3; i++) gOrigin[i] = (mins[i] + maxs[i]) * 0.5;
  4438.  
  4439.             fDistance2 = vector_distance(gOrigin, origin);
  4440.             if(fDistance2 < fDistance) {
  4441.                 fDistance = fDistance2;
  4442.                 gButtons[i] = ent;
  4443.             }
  4444.         }
  4445.     }
  4446. }
  4447.  
  4448. public AdminOtworz(id) {
  4449.     if(!isFlagi(id, "a") || cele_otwarte) return;
  4450.  
  4451.     for(new i = 1; i <= MaxClients; ++i) {
  4452.         if(!isConnected(i)) continue;
  4453.  
  4454.         if(isFlagi(i, "d")) ColorChat(i, 0, "^4[JailBreak]^1 Admin^3 %s^1 otworzyl cele", nick[id]);
  4455.         else ColorChat(i, 0, "^4[JailBreak]^1 Admin otworzyl cele");
  4456.     }
  4457.     OtworzCele();
  4458. }
  4459.  
  4460. public AdminCele(id) {
  4461.     if(!isFlagi(id, "d")) return;
  4462.  
  4463.     menu_display(id, CeleMenu);
  4464. }
  4465.  
  4466. public HandleCele(id, menu, item) {
  4467.     if(item == -3) return;
  4468.  
  4469.     if(item == 2) {
  4470.         if(gButtons[0]) {
  4471.             new mapa[64], plik[128];
  4472.             get_mapname(mapa, 63);
  4473.             formatex(plik, 127, "addons/amxmodx/data/cele/%s.ini", mapa);
  4474.             delete_file(plik);
  4475.             gButtons[0] = 0;
  4476.  
  4477.             client_print(id, 3, "[Cele] Usunieto przyciski");
  4478.         }
  4479.         if(gButtons[1]) gButtons[1] = 0;
  4480.     }
  4481.     else ZapiszIdCel(id, item);
  4482.  
  4483.     menu_display(id, menu);
  4484. }
  4485.  
  4486. ZapiszIdCel(id, linia) {
  4487.     new ent, body;
  4488.     get_user_aiming(id, ent, body);
  4489.     if(!pev_valid(ent)) return;
  4490.  
  4491.     gButtons[linia] = ent;
  4492.     new Float:origin[3], name[32], Float:mins[3], Float:maxs[3];
  4493.     pev(ent, 131, mins);
  4494.     pev(ent, 132, maxs);
  4495.     pev(ent, pev_classname, name, 31);
  4496.  
  4497.     for(new i; i < 3; i++) origin[i] = (mins[i] + maxs[i]) * 0.5;
  4498.  
  4499.     new mapa[64], plik[128], temp[128];
  4500.     get_mapname(mapa, 63);
  4501.     formatex(temp, 127, "%f %f %f %s", origin[0], origin[1], origin[2], name);
  4502.     formatex(plik, 127, "addons/amxmodx/data/cele/%s.ini", mapa);
  4503.  
  4504.     write_file(plik, temp, linia);
  4505.     client_print(id, 3, "[Cele] Dodano przycisk %i", linia+1);
  4506. }
  4507.  
  4508. public OtworzCele() {
  4509.     for(new i; i < sizeof gButtons; i++) {
  4510.         if(!pev_valid(gButtons[i]) || !gButtons[i]) continue;
  4511.  
  4512.         ExecuteHam(Ham_Use, gButtons[i], 0, 0, 2, 1.0);
  4513.  
  4514.         if(GameMode != -1 || cele_otwarte) continue;
  4515.  
  4516.         client_print(0, 4, "Cele otwarte o: %s", timer_hud(floatround(fczas_rundy - (get_gametime() - fczas_rozpoczecia_rundy), floatround_ceil)));
  4517.         cele_otwarte = true;
  4518.     }
  4519. }
  4520.  
  4521. public WeaponAttack(ent) {
  4522.     new id = get_pdata_cbase(ent, 41, 4);
  4523.     if(Duel[0] == id || Duel[1] == id) bronie_pojedynek == 29 ? StworzKnife(id) : cs_set_user_bpammo(id, bronie_pojedynek, 1);
  4524. }
  4525.  
  4526. public RegisterHams(bool:wartosc) {
  4527.     if(wartosc) {
  4528.         if(bronie_pojedynek != 4 && bronie_pojedynek != 24 && bronie_pojedynek < 100) {
  4529.             if(fHamWeapon[bronie_pojedynek]) EnableHamForward(fHamWeapon[bronie_pojedynek]);
  4530.             else {
  4531.                 new WeaponName[24]; get_weaponname(bronie_pojedynek, WeaponName, 23);
  4532.                 fHamWeapon[bronie_pojedynek] = RegisterHam(Ham_Weapon_PrimaryAttack, WeaponName, "WeaponAttack", 1);
  4533.             }
  4534.         }
  4535.     } else {
  4536.         if(bronie_pojedynek != 4 && bronie_pojedynek != 24 && bronie_pojedynek < 100) {
  4537.             if(fHamWeapon[bronie_pojedynek]) DisableHamForward(fHamWeapon[bronie_pojedynek]);
  4538.         }
  4539.     }
  4540. }
  4541.  
  4542. public StworzKnife(id) {
  4543.     new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
  4544.     static Float:vAngles[3], Float:nVelocity[3], Float:vOriginf[3], vOrigin[3];
  4545.  
  4546.     set_pev(ent, 18, id);
  4547.     set_pev(ent, 1, "throw_knife");
  4548.     engfunc(EngFunc_SetModel, ent, modele[2]);
  4549.     set_pev(ent, 34, 0.25);
  4550.  
  4551.     get_user_origin(id, vOrigin, 1);
  4552.     IVecFVec(vOrigin, vOriginf);
  4553.     set_pev(ent, 118, vOriginf);
  4554.  
  4555.     static Float:player_angles[3];
  4556.     pev(id, 124, player_angles);
  4557.     player_angles[2] = 0.0;
  4558.     set_pev(ent, 124, player_angles);
  4559.  
  4560.     pev(id, 126, vAngles);
  4561.     set_pev(ent, 126, vAngles);
  4562.  
  4563.     pev(id, 135, vAngles);
  4564.     set_pev(ent, 135, vAngles);
  4565.  
  4566.     set_pev(ent, 69, 6);
  4567.     set_pev(ent, 70, 2);
  4568.  
  4569.     velocity_by_aim(id, 700, nVelocity);
  4570.     set_pev(ent, 120, nVelocity);
  4571.  
  4572.     set_pev(ent, 73, pev(ent, 73) & ~128);
  4573.     set_pev(ent, 75, 0);
  4574.     set_pev(ent, 38, 1.0);
  4575. }
  4576.  
  4577. #if defined DROP_LOM
  4578. public SpawnLom(id) {
  4579.     static ent, Float:where[3];
  4580.     ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
  4581.  
  4582.     set_pev(ent, 1, "crowbar");
  4583.     set_pev(ent, 70, 1);
  4584.     set_pev(ent, 69, 10);
  4585.  
  4586.     engfunc(EngFunc_SetModel, ent, "models/w_crowbar.mdl");
  4587.     pev(id, 118, where);
  4588.  
  4589.     where[2] += 50.0;
  4590.     where[0] += random_float(-20.0, 20.0);
  4591.     where[1] += random_float(-20.0, 20.0);
  4592.  
  4593.     set_pev(ent, 118, where);
  4594.  
  4595.     where[0] = 0.0;
  4596.     where[2] = 0.0;
  4597.     where[1] = random_float(0.0, 180.0);
  4598.  
  4599.     set_pev(ent, 124, where);
  4600.     velocity_by_aim(id, 200, where);
  4601.     set_pev(ent, 120, where);
  4602.     return 1;
  4603. }
  4604. #endif
  4605.  
  4606. public Dotyk(ent, id) {
  4607.     if(!pev_valid(ent)) return 1;
  4608.  
  4609.     static name[32]; pev(ent, 1, name, 31);
  4610.  
  4611.     if(equal(name, "throw_knife") && bronie_pojedynek == 29) {
  4612.         if(isAlive(id)) ExecuteHamB(Ham_TakeDamage, id, ent, pev(ent, 18), 30.0, (1<<1));
  4613.         if(LRStart) removeEnt(ent);
  4614.     }
  4615.     #if defined DROP_LOM
  4616.     if(equal(name, "crowbar") && isAlive(id) && isTeam(id) == 1 && MaLom != id) {
  4617.         MaLom = id;
  4618.         removeEnt(ent);
  4619.         emitSound(id, 0, "items/gunpickup2.wav");
  4620.         if(isBron(id) == 29) UstawNoz(id);
  4621.         return 4;
  4622.     }
  4623.     #endif
  4624.     return 1;
  4625. }
  4626.  
  4627. public DotykSciany(id, world) {
  4628.     if(!isAlive(id) || isTeam(id) != 2 || GameMode != 10) return
  4629.  
  4630.     static name[32]; pev(world, 1, name, 31);
  4631.     if(equal(name, "worldspawn") || equal(name, "func_wall") || equal(name, "func_breakable")) pev(id, pev_origin, g_wallorigin[id]);
  4632. }
  4633.  
  4634. stock SetNoktowizor(id, toggle) {
  4635.     message_begin(1, 111, _, id);
  4636.     write_byte(NgVision[id] = toggle ? true : false);
  4637.     message_end();
  4638. }
  4639.  
  4640. stock AddMenuItem(TEXT[], CMD[]) {
  4641.     callfunc_begin("AddMenu", "menufront.amxx");
  4642.     callfunc_push_str(TEXT);
  4643.     callfunc_push_str(CMD);
  4644.     callfunc_push_int(8);
  4645.     callfunc_push_str("JailBreak");
  4646.     callfunc_end();
  4647. }
  4648.  
  4649. stock GiveItem(id, item[], ammo) {
  4650.     giveItem(id, item);
  4651.     cs_set_user_bpammo(id, get_weaponid(item), ammo);
  4652. }
  4653.  
  4654. stock RemoveEntName(name[]) {
  4655.     new ent = findEntName(-1, name);
  4656.     while(ent > 0) {
  4657.         removeEnt(ent);
  4658.         ent = findEntName(-1, name);
  4659.     }
  4660.     return 1;
  4661. }
  4662.  
  4663. stock PlaySound(id, sound[], ...) {
  4664.     new snd[512]; vformat(snd, 511, sound, 3);
  4665.     ClientCmd(id, equal(snd[strlen(snd) - 4], ".mp3") ? "mp3 stop;mp3 play sound/%s" : "stopsound;spk %s", snd);
  4666. }
  4667.  
  4668. stock ClientCmd(id, szText[], any:...) {
  4669.     #pragma unused szText
  4670.  
  4671.     if(!id || isConnected(id)) {
  4672.         new szMessage[256];
  4673.         format_args(szMessage, 255, 1);
  4674.  
  4675.         message_begin(id ? 1 : 2, 51, _, id);
  4676.         write_byte(strlen(szMessage) + 2);
  4677.         write_byte(10);
  4678.         write_string(szMessage);
  4679.         message_end();
  4680.     }
  4681. }
  4682.  
  4683. #if defined ICON_DUEL
  4684. stock ShowDuelIcon(id, num) {
  4685.     message_begin(2, 23);
  4686.     write_byte(124);
  4687.     write_byte(id);
  4688.     write_coord(44);
  4689.     write_short(DuelIcon[num]);
  4690.     write_short(3000);
  4691.     message_end();
  4692. }
  4693.  
  4694. stock RemoveDuelIcon(id) {
  4695.     message_begin(2, 23);
  4696.     write_byte(125);
  4697.     write_byte(id);
  4698.     message_end();
  4699. }
  4700. #endif
  4701.  
  4702. #if defined NEW_MODELS
  4703. stock ResetModels(id) {
  4704.     set_pev(id, 71, isFlagi(id, "r") ? random_num(13, 17) : isFlagi(id, "s") ? 9 : isFlagi(id, "t") ? 8 : random_num(2, 7));
  4705.  
  4706.     if(blokada[id]) return;
  4707.  
  4708.     new kolor[33][25];
  4709.     #if defined DHUD
  4710.     set_dhudmessage(0, 255, 0, -1.0, 0.81, 0, 6.0, 5.0);
  4711.     #else
  4712.     setHud(0, 255, 0, -1.0, 0.81, 0, 6.0, 5.0);
  4713.     #endif
  4714.     switch(pev(id, 71)) {
  4715.         case 2: kolor[id] = "Niebieski";
  4716.         case 3: kolor[id] = "Czarno-Bialy";
  4717.         case 4: kolor[id] = "Brazowy";
  4718.         case 5: kolor[id] = "Pomaranczowy";
  4719.         case 6: kolor[id] = "Rozowy";
  4720.         case 7: kolor[id] = "Zolty";
  4721.         case 13: kolor[id] = "Jednorozec";
  4722.         case 14: kolor[id] = "Pedo Bear";
  4723.         case 15: kolor[id] = "Pokemon";
  4724.         case 16: kolor[id] = "Pan Ziemniak";
  4725.         case 17: kolor[id] = "Garfield";
  4726.     }
  4727.     #if defined DHUD
  4728.     show_dhudmessage(id, "Masz stroj: %s", kolor[id]);
  4729.     #else
  4730.     showHud(id, hud[4], "Masz stroj: %s", kolor[id]);
  4731.     #endif
  4732. }
  4733.  
  4734. stock UstawModelCT(id, bool:prowadz = false, bool:resp = false) {
  4735.     if(resp) {
  4736.         if(pev(id, 72) != 2) set_pev(id, 72, 2);
  4737.         if(pev(id, 71) != isFlagi(id, "t") ? 11 : isFlagi(id, "s, v") ? 12 : 10) set_pev(id, 71, isFlagi(id, "t") ? 11 : isFlagi(id, "s, v") ? 12 : 10);
  4738.     }
  4739.     else set_pev(id, 72, prowadz ? 3 : 2);
  4740. }
  4741. #else
  4742. stock ResetModels(id) {
  4743.     set_pev(id, 71, random(5));
  4744.  
  4745.     if(blokada[id]) return;
  4746.  
  4747.     new kolor[33][25];
  4748.     #if defined DHUD
  4749.     set_dhudmessage(0, 255, 0, -1.0, 0.81, 0, 6.0, 5.0);
  4750.     #else
  4751.     setHud(0, 255, 0, -1.0, 0.81, 0, 6.0, 5.0);
  4752.     #endif
  4753.     switch(pev(id, 71)) {
  4754.         case 0: kolor[id] = "Bialy";
  4755.         case 1: kolor[id] = "Niebieski";
  4756.         case 2: kolor[id] = "Fioletowy";
  4757.         case 3: kolor[id] = "Zolty";
  4758.         case 4: kolor[id] = "Szary";
  4759.     }
  4760.     #if defined DHUD
  4761.     show_dhudmessage(id, "Masz stroj: %s", kolor[id]);
  4762.     #else
  4763.     showHud(id, hud[4], "Masz stroj: %s", kolor[id]);
  4764.     #endif
  4765. }
  4766.  
  4767. stock UstawModelCT(id, bool:prowadz = false, bool:resp = false) {
  4768.     if(resp) {
  4769.         if(pev(id, 72) != 3) set_pev(id, 72, 3);
  4770.     }
  4771.     else set_pev(id, 72, prowadz ? 1 : 3);
  4772. }
  4773. #endif
  4774.  
  4775. stock cmdtarget(id, arg[]) {
  4776.     new player = find_player("bl", arg);
  4777.     if(player) {
  4778.         if(player != find_player("blj", arg)) {
  4779.             console_print(id, "Istnieje kilku graczy pasujacych do podanego wzorca");
  4780.             return 0;
  4781.         }
  4782.     } else {
  4783.         console_print(id, "Nie znaleziono gracza z tym nickiem");
  4784.         return 0;
  4785.     }
  4786.     return player;
  4787. }
  4788.  
  4789. stock emitSound(id, kanal, dzwiek[], Float:vol = 1.0) emit_sound(id, kanal, dzwiek, vol, 0.80, 0, 100);
  4790.  
  4791. stock CzasZabawy(num) return num * ile_graczy[0];
  4792.  
  4793. public bool:PobierzMikrofon() return Mikro;
  4794. public bool:PobierzWalke() return friendly_tt;
  4795. public bool:PobierzFreeday(id) return blokada[id];
  4796. public PobierzOstatniego() return ile_graczy[0] == 1;
  4797. public PobierzProwadzacego(id) return Prowadzacy == id;
  4798. public bool:PobierzPojedynek(id) return blokada[id];
  4799. public bool:PobierzZyczenie() return LRStart;
  4800. public PobierzZabawe() return GameMode;
  4801. public PobierzDni() return rundy%7;
  4802. public bool:PobierzPierwszaRunde() return FirstRound;
  4803.  
  4804. public PobierzWiezniow(bool:zywy)  return zywy ? ile_graczy[0] : ile_graczy[1];
  4805. public PobierzStraznikow(bool:zywy) return zywy ? ile_graczy[2] : ile_graczy[3];
  4806.  
  4807. public UstawMikrofon(bool:wartosc) {
  4808.     if(ile_graczy[0] == 1) return;
  4809.  
  4810.     Mikro = wartosc;
  4811. }
  4812.  
  4813. public UstawWalke(bool:wartosc) {
  4814.     if(ile_graczy[0] == 1 || ile_graczy[0] > 16 || GameMode != -1) return;
  4815.  
  4816.     Box = wartosc;
  4817.     friendly_tt = wartosc;
  4818.  
  4819.     for(new i = 1; i <= MaxClients; ++i) {
  4820.         if(!isAlive(i) || isTeam(i) != 1 || blokada[i]) continue;
  4821.  
  4822.         set_user_health(i, 100);
  4823.         if(isBron(i) == 29) UstawNoz(i);
  4824.     }
  4825. }
  4826.  
  4827. public UstawFreeday(id, bool:wartosc, bool:nextround, bool:info) {
  4828.     new rodzaj[33][16];
  4829.     if(wartosc && !nextround) {
  4830.         UstawBlokade(id, true);
  4831.         szPlayerFDTime[id] = 181;
  4832.         #if defined NEW_MODELS
  4833.         set_pev(id, 71, 1);
  4834.         #else
  4835.         set_pev(id, 71, 5);
  4836.         #endif
  4837.         set_task(1.0, "GetTimeFD", ID_CZAS_FDGRACZ + id, .flags="b");
  4838.         rodzaj[id] = "dostal";
  4839.     }
  4840.     else if(!wartosc && !nextround) {
  4841.         UstawBlokade(id, false);
  4842.         iMaFD[id] = 0;
  4843.         ResetModels(id);
  4844.         rodzaj[id] = "stracil";
  4845.     }
  4846.     else if(!wartosc && nextround) {
  4847.         iMaFD[id] = rundy + 1;
  4848.         rodzaj[id] = "dostal na jutro";
  4849.     }
  4850.     if(info) ColorChat(0, 0, "^4[FreeDay]^3 %s^1 %s^4 FreeDay'a", nick[id], rodzaj[id]);
  4851. }
  4852.  
  4853. public UstawProwadzacego(id) {
  4854.     if(GameMode != -1 || FirstRound) return 1;
  4855.  
  4856.     if(Prowadzacy != id && Prowadzacy) UstawModelCT(Prowadzacy);
  4857.     Prowadzacy = id;
  4858.     if(id && isTeam(id) == 2) {
  4859.         if(taskExists(ID_LOS_PROWADZACY)) removeTask(ID_LOS_PROWADZACY);
  4860.  
  4861.         UstawModelCT(id, true);
  4862.     }
  4863.     return 1;
  4864. }
  4865.  
  4866. public UstawZabawe(num) {
  4867.     GameMode = num;
  4868.     Mikro = true;
  4869.     for(new i = 1; i <= MaxClients; ++i) {
  4870.         if(!isAlive(i) || isTeam(i) != 1 || !blokada[i]) continue;
  4871.  
  4872.         UstawFreeday(i, false, false, false);
  4873.     }
  4874.     switch(num) {
  4875.         case 2: WlaczChowany();
  4876.         case 3: WlaczGaniany();
  4877.         case 4: WlaczGangi();
  4878.         case 5: WlaczLapany();
  4879.         case 6: WlaczZbijak();
  4880.         case 7: WlaczDzieci();
  4881.         case 8: WlaczGranaty();
  4882.         case 9: {
  4883.             if(!plugin("rozdzka")) {
  4884.                 ZabawaWylaczonaLosuj();
  4885.                 return 1;
  4886.             }
  4887.             WlaczMagia();
  4888.         }
  4889.         case 10: WlaczNinja();
  4890.         case 11: WlaczOneShot();
  4891.         case 12: {
  4892.             if(!plugin("bazooka")) {
  4893.                 ZabawaWylaczonaLosuj();
  4894.                 return 1;
  4895.             }
  4896.             WlaczBazooka();
  4897.         }
  4898.         case 13: WlaczHeadShot();
  4899.         case 14: {
  4900.             if(!plugin("watergun")) {
  4901.                 ZabawaWylaczonaLosuj();
  4902.                 return 1;
  4903.             }
  4904.             WlaczSmigus();
  4905.         }
  4906.         case 15: {
  4907.             if(!plugin("petrolboomer")) {
  4908.                 ZabawaWylaczonaLosuj();
  4909.                 return 1;
  4910.             }
  4911.             WlaczOgien();
  4912.         }
  4913.         case 16: {
  4914.             if(!plugin("luk")) {
  4915.                 ZabawaWylaczonaLosuj();
  4916.                 return 1;
  4917.             }
  4918.             WlaczLuk();
  4919.         }
  4920.         case 17: {
  4921.             if(!plugin("bow")) {
  4922.                 ZabawaWylaczonaLosuj();
  4923.                 return 1;
  4924.             }
  4925.             WlaczLuk2();
  4926.         }
  4927.         case 18: {
  4928.             if(!plugin("lightsaber")) {
  4929.                 ZabawaWylaczonaLosuj();
  4930.                 return 1;
  4931.             }
  4932.             WlaczStarWars();
  4933.         }
  4934.         case 19: WlaczKaczki();
  4935.     }
  4936.     return 0;
  4937. }
  4938.  
  4939. public ZabawaWylaczonaLosuj() {
  4940.     switch(random(10)) {
  4941.         case 0: WlaczChowany();
  4942.         case 1: WlaczGaniany();
  4943.         case 2: WlaczGangi();
  4944.         case 3: WlaczLapany();
  4945.         case 4: WlaczZbijak();
  4946.         case 5: WlaczDzieci();
  4947.         case 6: WlaczGranaty();
  4948.         case 7: WlaczNinja();
  4949.         case 8: WlaczOneShot();
  4950.         case 9: WlaczKaczki();
  4951.     }
  4952. }
  4953.  
  4954. public MenuZabaw(id) {
  4955.     if(GameMode != -1 || FirstRound || !jail_get_setmenu(id)) return;
  4956.  
  4957.     menu_display(id, ZabawyMenu);
  4958. }
  4959.  
  4960. public UstawBlokade(id, bool:wartosc) blokada[id] = wartosc;
  4961. public PobierzAmute(id) return aMuted[id];
  4962. public PodzielDruzyny() Podziel(2);
  4963. public LosujGracza(team) {
  4964.     new gracze[32], ile;
  4965.     get_players(gracze, ile, "acehi", team == 1 ? "TERRORIST" : "CT");
  4966.  
  4967.     if(ile <= 1) return gracze[0];
  4968.  
  4969.     new iLosuj = random(ile);
  4970.     new iLosowy = gracze[iLosuj];
  4971.     if(iLosowy == WylosowanyGracz) {
  4972.         gracze[iLosuj] = gracze[--ile];
  4973.         iLosowy = gracze[random(ile)];
  4974.     }
  4975.     WylosowanyGracz = iLosowy;
  4976.     return iLosowy;
  4977.     /*return gracze[ile ? random(ile) : 0];
  4978.  
  4979.     static Players[34], ile; ile = 0;
  4980.     for(new i = 1; i <= MaxClients; ++i) {
  4981.         if(!isAlive(i) || isTeam(i) != team) continue;
  4982.  
  4983.         Players[++ile] = i;
  4984.     }
  4985.     return Players[(ile ? random_num(1, ile) : 0)];*/
  4986. }
  4987. public UsunBronie(id) {
  4988.     stripWeapons(id);
  4989.     giveItem(id, "weapon_knife");
  4990.     set_pdata_int(id, 116, 0);
  4991. }
  4992. public bool:PobierzSteam(id) {
  4993.     new dp_provider = get_cvar_pointer("dp_r_id_provider");
  4994.     if(dp_provider) {
  4995.         server_cmd("dp_clientinfo %i", id);
  4996.         server_exec();
  4997.         return get_pcvar_num(dp_provider) == 2 ? true : false;
  4998.     }
  4999.     return false;
  5000. }
  5001. public bool:PobierzSModele(id) return isFlagi(id, "r") ? true : false;
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top