Jump to content

DxGamer

Uživatel
  • Příspěvků

    19
  • Registrován

  • Aktivní

Příspěvky posted by DxGamer

  1. Ahojte, Poteboval by som vytvoriť mód pre MTA ktorý sa volá shooter.

    • Bude tam vlastný shooter script (scripty ktoré sú v mapách nebudú fungovať)
    • VIP (bude mať lacnejšie príkazy o 50% bude mať lacnejšie kúpenie 2. farby na auto o 50% a môže si aktivovať (automatické premeny 2. farby na aute [modrá,zelená,tyrkysová,čierna,biela,fialová,oranžová,žltá] chcel by som aby tie prechody boli pekné takže postupne napr. biela,žltá atp. blikajúce svetla na aute červená a modrá a možnosť si zmeniť textúru svetiel a zmena farieb rakiet, pri kúpe vip dostane 100 000$, pre adminú od levelu 5 príkaz /addvip meno datum vo formáte [d/m/r])
    • Príkazy na opravu auta (/fix cena 10 000$) otočenie auta na 4 kola (/flip cena 5 000$) kúpenie nitra (/nos cena 2 500$) kúpenie svetiel (/lights [hex bez #] cena 5 000$)
    • Hlavné menu po zmačknutí F3 bude tam 
    • -Profil (tam bude uplne hore taká kolka na ktorú keď kliknete tak tam budú nicky hráčou ktorý sú online a keď si niekoho vyberete tak na pravo bude jeho avatar ktorý si nastaví v profile a pod avatarom vypisané kolonky ktoré vypísan v profile a pod tým bude kolka na poslanie penazí
    • --Kolonky v profile (Avatar, Realné meno, Bydlisko, Peniaze [to sa tam dá automaticky], Klan, Admin Level [hráči budú mať 0],
    • -Nastavenia (Výber jazyka CZ/SK/EN, Povoliť/Zakázať žiadosti o pvp, Povoliť/Zakázať žiadosti o pridanie do klanu, Zmeniť 2. farbu auta (cena 20 000$) [chcel by som pri tej zmene 2. farby auta takú tabulku kde budú farby],nastavenie VIP [Vybrať textúru svetiel, blikanie svetiel, vybrať farbu rakiet [nech tam je tá tabulka z farbama], Prieblikavanie 2. farby na aute) 
    • Príkaz /pvp meno peniaze (primnutie pvp /pvp y alebo /pvp yes
    • -TOP (tam budú top hráči z penazama, pointama, použitim fix, použitím flip)
    • -VIP (tam budú napísané výhody a sms text a čislo)
    • -Klany (tam budú vypisané klany hore bude kolonka kde si vyberes klan a dole sa vypišú štatistiky [Klan tag, Celý názov klanu, Clan Leader, web, hex klanu, počet ACL *DOLE BUDÚ VYPISANÝ* ,počet členú *DOLE BUDÚ VYPISANÝ*, tlačitka na pridanie hráča a odobranie hráča tieto tlačitka sa zobrazia iba ACL a CL keď dajú pridať hráča bude tam taká tabulka a tam kolonka vložte login nick hráča keď ho tam pridá CL ho môže povýšiť na ACL, keď dajú odobrať hráča bude tam tabulka a vypisaný hráči a stačí na ních kliknúť a vykopne ich to])
    • ADMIN PRIKAZY: [ADMIN LVL 2-5] /ban meno datum vo formate [d/m/r], /unban meno, /addcash meno cash,[ADMIN LVL 1-5] /restartmap, /startmap názov mapy, /maps [vypišú sa mapy], [ADMIN LVL 5] /addap login-meno lvl, /removeap login-meno, [ADMIN LVL 4-5] /removemap názov
    • ADMIN MENU v F3 zobrazí sa iba od LVL 4-5 a tam bude pridať klan odobrať klan
    • Mapy v F3 a tam budú vypisané mapy a jedna mapa bude stáť 10 000$ a keď to kúpite tak na konci kola nebude hlasovanie a hneť sa zapne tá mapa ktorú kúpil
    • Vždy na konci kola bude na pravo dole tabulka o hlasovanie o zmenu mapy
    • Keď niekoho zabijete napíše sa to dole do pristrídka %player% zabil %player% a keď ho vy zabijete tak sa vám ukáže na obrazovke v prostrídku Zabil si %player% a keď ta niekto zabije tak Zabil ta %player% a keď ste mrtvi tak môžete spectatovat hráčú a na pravo bude napisané SPECTATORY a tam budú hráči ktorý ho sledujú
    • MOŽNOSŤ CW ADMIN LVL 3-5 /cw klantag klantag [do kolko sa bude hráť tak že napr. 20] a keď napr. vyhraje KLAN 1. tak sa ukáže %klantag% 1:0 %klantag na obrazovke uplne hore
    • Pri začatí kole sa bude odpočítavať 1.2.3.GO
    • príkaz /admins vypíše online adminú a jejích level

    CENA PODLA TOHO AKO TO BUDE VYZERAŤ

    Náhled

    post-11546-0-59042400-1389000546_thumb.pngpost-11546-0-91869500-1389000547_thumb.png

     

  2. Lapito's Galacticraft Modpack

     

    Úvod:

    Lapito's Galacticraft Modpack je balíček módou. Skladá sa z: bspkrsCore, ReiMinimap, Atomic Science, BuildCRaft, ICBM Contraption, ICBM Sentry, InventoryTweaks, MekanismGenerators, MekanismTools, Mekanism, MFFS, ModularPowersuits, NEIPlugins, RailCraft, StevesCarts, ThermalExpansion, TreeCapitator, CodeChickenCore, CoFHCore, Galacticraft a NotEnoughtItems.

     

    Návod:

    1) Stiahnite si client a server (http://dl.royalgame....raft/server.zip | http://dl.royalgame....raft/client.zip)

    2) Extrahujte obidva súbory na plochu.

    3) Server si dajte do nejakej zložky alebo na hosting keď to budete dávať na hosting tak tam nedavajte launch.bat a craftbukkit premenujte podla vášho hostingu napr. na fakaheda.eu dajte minecraft_server.jar.

    4) Reštartujte server.

    5) Zložku Galacticraft otvorte a zapnite minecraft.bat.

    6) Zadajte vaše meno(nick) a dajte Enter Game.

    7) Počkajte cca. 2 minúty a potom by Vám malo nabehnúť menu.

    8) Keď Vám nabehne menu tak vyberte MultiPlayer.

    9) Dajte ADD SERVER a zadajte ip Vášho servera a dajte Done.

    10) Pripojte sa na Váš server a hrajte!

     

    Official web módpacku http://www.technicpa...lacticraft.4030

     

    Ak máte nejaké problémy napíšte!

  3. Potreboval by som spraviť skiny zbraní pro ADMIN_LEVEL_C

     

    CESTY :

     

    AWP

     

    "models/RG_VIP_ZBRANE/awp/v_awp.mdl"
    "models/RG_VIP_ZBRANE/awp/p_awp.mdl"

     

    USP

     

    "models/RG_VIP_ZBRANE/ups/v_usp.mdl"
    "models/RG_VIP_ZBRANE/ups/p_usp.mdl"

     

    M4A1

     

    "models/RG_VIP_ZBRANE/m4/v_m4.mdl"
    "models/RG_VIP_ZBRANE/m4/p_m4.mdl"

     

    AK47

     

    "models/RG_VIP_ZBRANE/ak/v_ak.mdl"
    "models/RG_VIP_ZBRANE/ak/p_ak.mdl"

  4. Môžete mi to to prekontrólovať ? lebo mi to nejde komprimovat :/

     

    #include <amxmodx>
    #include <amxmisc>
    #include <engine>
    #include <fakemeta>
    #include <hamsandwich>
    #include <fun>
    #include <cstrike>
    #include <colorchat>
    #include < fakemeta_util >
    #pragma tabsize 0
    
    #define PLUGIN_NAME "JB-Extreme | RoyalGame"
    #define PLUGIN_AUTHOR "JoRoPiTo | Kroxy"
    #define PLUGIN_VERSION "1.9"
    #define PLUGIN_CVAR "jbextreme"
    
    #define TASK_HIDENSEEK
    #define TASK_STATUS 2487000
    #define TASK_FREEDAY 2487100
    #define TASK_ROUND 2487200
    #define TASK_HELP 2487300
    #define TASK_SAFETIME 2487400
    #define TASK_FREEEND 2487500
    #define TEAM_MENU "#Team_Select_Spect"
    #define TEAM_MENU2 "#Team_Select_Spect"
    #define HUD_DELAY Float:4.0
    #define CELL_RADIUS Float:200.0
    
    #define get_bit(%1,%2) ( %1 & 1 << ( %2 & 31 ) )
    #define set_bit(%1,%2) %1 |= ( 1 << ( %2 & 31 ) )
    #define clear_bit(%1,%2) %1 &= ~( 1 << ( %2 & 31 ) )
    
    #define vec_len(%1) floatsqroot(%1[0] * %1[0] + %1[1] * %1[1] + %1[2] * %1[2])
    #define vec_mul(%1,%2) ( %1[0] *= %2, %1[1] *= %2, %1[2] *= %2)
    #define vec_copy(%1,%2) ( %2[0] = %1[0], %2[1] = %1[1],%2[2] = %1[2])
    
    // Offsets
    #define m_iPrimaryWeapon 116
    #define m_iVGUI 510
    #define m_fGameHUDInitialized 349
    #define m_fNextHudTextArgsGameTime 198
    #define Keysmatrix (1<<0)|(1<<1)|(1<<2)// Keys: 12
    #define Keysdopln (1<<0)|(1<<1) // Keys: 1
    
    // PREFIX
    new const PREFIX[] = "[JB]";
    // If you type your name below is like me typing your name on your parent's house owning document
    new const AUTHOR[] = "LordLolzeye";
    // Stop Prefix
    const CountSeconds = 60;
    new g_iCountTime;
    
    // Simon Menu Keys
    #define Keyssmenu (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<9) // Keys: 1234567
    
    enum _hud { _hudsync, Float:_x, Float:_y, Float:_time }
    enum _lastrequest { _knife, _deagle, _freeday, _weapon }
    enum _duel { _name[16], _csw, _entname[32], _opt[32], _sel[32] }
    
    enum Time
    {
    TIME_MSECONDS = 0,
    TIME_SECONDS,
    TIME_MINUTES
    };
    
    
    enum Color
    {
    NORMAL = 1, // clients scr_concolor cvar color
    GREEN, // Green Color
    TEAM_COLOR, // Red, grey, blue
    GREY, // grey
    RED, // Red
    BLUE, // Blue
    }
    
    new gp_PrecacheSpawn
    new gp_PrecacheKeyValue
    
    new gp_CrowbarMax
    new gp_CrowbarMul
    new gp_TeamRatio
    new gp_CtMax
    new gp_BoxMax
    new gp_TalkMode
    new gp_VoiceBlock
    new gp_RetryTime
    new gp_RoundMax
    new gp_ButtonShoot
    new gp_SimonSteps
    new gp_SimonRandom
    new gp_GlowModels
    new gp_AutoLastresquest
    new gp_LastRequest
    new gp_Motd
    new gp_SpectRounds
    new gp_NosimonRounds
    new gp_AutoOpen
    new gp_TeamChange
    
    new g_MaxClients
    new g_MsgStatusText
    new g_MsgStatusIcon
    new g_MsgVGUIMenu
    new g_MsgShowMenu
    new g_MsgClCorpse
    new g_MsgMOTD
    
    new gc_TalkMode
    new gc_VoiceBlock
    new gc_SimonSteps
    new gc_ButtonShoot
    new Float:gc_CrowbarMul
    new Speed[33]
    new Speed2[33]
    new ModUsed[33]
    
    new Player[32]
    new const prefix[] = "^4[RoyalGame.eu] Barva:^3"
    
    
    const MenuKeys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_0;
    const OFFSET_CSTEAMS = 114;
    const OFFSET_LINUX = 5;
    const CountSeconds = 60;
    
    enum (+= 100)
    {
    LIMIT_ID = 3000
    
    }
    
    enum
    {
    FM_CS_TEAM_UNASSIGNED = 0,
    FM_CS_TEAM_T,
    FM_CS_TEAM_CT,
    FM_CS_TEAM_SPECTATOR,
    DAY_MUSIC
    }
    
    static const WEB[ ] = "^x01[^x04RoyalGame.eu^x01]"
    static const SIMON[ ] = "^x01[^x04Simon^x01]"
    
    // Precache
    new const scout[] = "misc/scout.wav"
    new const _FistModels[][] = { "models/p_bknuckles.mdl", "models/v_bknuckles.mdl" }
    new const _CrowbarModels[][] = { "models/p_crowbar.mdl", "models/v_crowbar.mdl" }
    new const _FistSounds[][] = { "weapons/cbar_hitbod2.wav", "weapons/cbar_hitbod1.wav", "weapons/bullet_hit1.wav", "weapons/bullet_hit2.wav" }
    new const _RemoveEntities[][] = {
    "func_hostage_rescue", "info_hostage_rescue", "func_bomb_target", "info_bomb_target",
    "hostage_entity", "info_vip_start", "func_vip_safetyzone", "func_escapezone"
    }
    
    new const _WeaponsFree[][] = { "weapon_scout", "weapon_deagle", "weapon_mac10", "weapon_elite", "weapon_ak47", "weapon_m4a1", "weapon_mp5navy" }
    new const _WeaponsFreeCSW[] = { CSW_SCOUT, CSW_DEAGLE, CSW_MAC10, CSW_ELITE, CSW_AK47, CSW_M4A1, CSW_MP5NAVY }
    new const _WeaponsFreeAmmo[] = { 90, 35, 100, 120, 90, 90, 120 }
    
    new const _Duel[][_duel] =
    {
    { "Deagle", CSW_DEAGLE, "weapon_deagle", "JBE_MENU_LASTREQ_OPT4", "JBE_MENU_LASTREQ_SEL4" },
    { "Scout", CSW_SCOUT, "weapon_scout", "JBE_MENU_LASTREQ_OPT5", "JBE_MENU_LASTREQ_SEL5" },
    { "Grenades", CSW_HEGRENADE, "weapon_hegrenade", "JBE_MENU_LASTREQ_OPT6", "JBE_MENU_LASTREQ_SEL6" },
    { "Awp", CSW_AWP, "weapon_awp", "JBE_MENU_LASTREQ_OPT7", "JBE_MENU_LASTREQ_SEL7" }
    }
    
    // Reasons
    new const g_Reasons[][] = {
    "",
    "JBE_PRISONER_REASON_1",
    "JBE_PRISONER_REASON_2",
    "JBE_PRISONER_REASON_3",
    "JBE_PRISONER_REASON_4",
    "JBE_PRISONER_REASON_5",
    "JBE_PRISONER_REASON_6"
    }
    
    // HudSync: 0=ttinfo / 1=info / 2=simon / 3=ctinfo / 4=player / 5=day / 6=center / 7=help / 8=timer
    new const g_HudSync[][_hud] =
    {
    {0, 0.6, 0.2, 2.0},
    {0, -1.0, 0.7, 5.0},
    {0, 0.1, 0.2, 2.0},
    {0, 0.1, 0.3, 2.0},
    {0, -1.0, 0.9, 3.0},
    {0, 0.6, 0.1, 3.0},
    {0, -1.0, 0.6, 3.0},
    {0, 0.8, 0.3, 20.0},
    {0, -1.0, 0.4, 3.0}
    }
    
    // Colors: 0:Simon / 1:Freeday / 2:CT Duel / 3:TT Duel
    new const g_Colors[][3] = { {0, 255, 0}, {255, 140, 0}, {0, 0, 255}, {255, 0, 0} }
    
    
    new CsTeams:g_PlayerTeam[33]
    new Float:g_SimonRandom
    new Trie:g_CellManagers
    new g_HelpText[512]
    new g_JailDay
    new g_PlayerJoin
    new g_PlayerReason[33]
    new g_PlayerSpect[33]
    new g_PlayerSimon[33]
    new g_PlayerNomic
    new g_PlayerWanted
    new g_PlayerCrowbar
    new g_PlayerRevolt
    new g_PlayerHelp
    new g_PlayerFreeday
    new g_PlayerLast
    new g_FreedayAuto
    new g_FreedayNext
    new g_TeamCount[CsTeams]
    new g_TeamAlive[CsTeams]
    new g_BoxStarted
    new g_CrowbarCount
    new g_Simon
    new g_SimonAllowed
    new g_SimonTalking
    new g_SimonVoice
    new g_RoundStarted
    new g_LastDenied
    new g_Freeday
    new g_BlockWeapons
    new g_RoundEnd
    new g_Duel
    new g_DuelA
    new g_DuelB
    new g_SafeTime
    new g_Buttons[10]
    
    public plugin_init()
    {
    unregister_forward(FM_Spawn, gp_PrecacheSpawn)
    unregister_forward(FM_KeyValue, gp_PrecacheKeyValue)
    
    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
    register_cvar(PLUGIN_CVAR, PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY)
    
    register_dictionary("jbextreme.txt")
    register_dictionary("hide_day.txt")
    
    g_MsgStatusText = get_user_msgid("StatusText")
    g_MsgStatusIcon = get_user_msgid("StatusIcon")
    g_MsgVGUIMenu = get_user_msgid("VGUIMenu")
    g_MsgShowMenu = get_user_msgid("ShowMenu")
    g_MsgMOTD = get_user_msgid("MOTD")
    g_MsgClCorpse = get_user_msgid("ClCorpse")
    
    register_message(g_MsgStatusText, "msg_statustext")
    register_message(g_MsgStatusIcon, "msg_statusicon")
    register_message(g_MsgVGUIMenu, "msg_vguimenu")
    register_message(g_MsgShowMenu, "msg_showmenu")
    register_message(g_MsgMOTD, "msg_motd")
    register_message(g_MsgClCorpse, "msg_clcorpse")
    
    // Simon Menu
    register_menucmd(register_menuid("smenu"), Keyssmenu, "Pressedsmenu")
    
    register_event("CurWeapon", "current_weapon", "be", "1=1", "2=29")
    register_event("StatusValue", "player_status", "be", "1=2", "2!0")
    register_event("StatusValue", "player_status", "be", "1=1", "2=0")
    
    register_impulse(100, "impulse_100")
    
    RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
    RegisterHam(Ham_TakeDamage, "player", "player_damage")
    RegisterHam(Ham_TraceAttack, "player", "player_attack")
    RegisterHam(Ham_TraceAttack, "func_button", "button_attack")
    RegisterHam(Ham_Killed, "player", "player_killed", 1)
    RegisterHam(Ham_Touch, "weapon_hegrenade", "player_touchweapon")
    RegisterHam(Ham_Touch, "weaponbox", "player_touchweapon")
    RegisterHam(Ham_Touch, "armoury_entity", "player_touchweapon")
    
    register_forward(FM_SetClientKeyValue, "set_client_kv")
    register_forward(FM_EmitSound, "sound_emit")
    register_forward(FM_Voice_SetClientListening, "voice_listening")
    register_forward(FM_CmdStart, "player_cmdstart", 1)
    
    register_logevent("round_end", 2, "1=Round_End")
    register_logevent("round_first", 2, "0=World triggered", "1&Restart_Round_")
    register_logevent("round_first", 2, "0=World triggered", "1=Game_Commencing")
    register_logevent("round_start", 2, "0=World triggered", "1=Round_Start")
    
    register_menucmd(register_menuid(TEAM_MENU), 51, "team_select")
    register_menucmd(register_menuid(TEAM_MENU2), 51, "team_select")
    
    register_clcmd("jointeam", "cmd_jointeam")
    register_clcmd("joinclass", "cmd_joinclass")
    register_clcmd("+simonvoice", "cmd_voiceon")
    register_clcmd("-simonvoice", "cmd_voiceoff")
    
    register_clcmd("say /vd", "cmd_freeday")
    register_clcmd("say /pp", "cmd_lastrequest")
    register_clcmd("say /lr", "cmd_lastrequest")
    register_clcmd("say /simon", "cmd_simon")
    register_clcmd("say /open", "cmd_open")
    register_clcmd("say /mikrofon", "cmd_nomic")
    register_clcmd("say /box", "cmd_box")
    register_clcmd("say /pomoc", "cmd_help")
    register_clcmd("say /smenu", "cmd_smenu")
    register_clcmd("say /amenu", "cmd_smenu_adm")
    register_clcmd("say /am", "cmd_smenu_adm")
    register_clcmd( "say /daysmenu", "JBDay")
    
    register_clcmd("jbe_freeday", "adm_freeday", ADMIN_KICK)
    register_concmd("jbe_nomic", "adm_nomic", ADMIN_KICK)
    register_concmd("jbe_open", "adm_open", ADMIN_KICK)
    register_concmd("jbe_box", "adm_box", ADMIN_KICK)
    
    gp_GlowModels = register_cvar("jbe_glowmodels", "0")
    gp_SimonSteps = register_cvar("jbe_simonsteps", "0")
    gp_CrowbarMul = register_cvar("jbe_crowbarmultiplier", "25.0")
    gp_CrowbarMax = register_cvar("jbe_maxcrowbar", "0")
    gp_TeamRatio = register_cvar("jbe_teamratio", "3")
    gp_TeamChange = register_cvar("jbe_teamchange", "0") // 0-disable team change for tt / 1-enable team change
    gp_CtMax = register_cvar("jbe_maxct", "7")
    gp_BoxMax = register_cvar("jbe_boxmax", "10")
    gp_RetryTime = register_cvar("jbe_retrytime", "10.0")
    gp_RoundMax = register_cvar("jbe_freedayround", "240.0")
    gp_AutoLastresquest = register_cvar("jbe_autolastrequest", "1")
    gp_LastRequest = register_cvar("jbe_lastrequest", "1")
    gp_Motd = register_cvar("jbe_motd", "1")
    gp_SpectRounds = register_cvar("jbe_spectrounds", "3")
    gp_NosimonRounds = register_cvar("jbe_nosimonrounds", "7")
    gp_SimonRandom = register_cvar("jbe_randomsimon", "0")
    gp_AutoOpen = register_cvar("jbe_autoopen", "1")
    gp_TalkMode = register_cvar("jbe_talkmode", "2") // 0-alltak / 1-tt talk / 2-tt no talk
    gp_VoiceBlock = register_cvar("jbe_blockvoice", "0") // 0-dont block / 1-block voicerecord / 2-block voicerecord except simon
    gp_ButtonShoot = register_cvar("jbe_buttonshoot", "1") // 0-standard / 1-func_button shoots!
    
    g_MaxClients = get_global_int(GL_maxClients)
    
    for(new i = 0; i < sizeof(g_HudSync); i++)
    g_HudSync[i][_hudsync] = CreateHudSyncObj()
    
    formatex(g_HelpText, charsmax(g_HelpText), "%L^n^n%L^n^n%L^n^n%L",
    LANG_SERVER, "JBE_HELP_TITLE",
    LANG_SERVER, "JBE_HELP_BINDS",
    LANG_SERVER, "JBE_HELP_GUARD_CMDS",
    LANG_SERVER, "JBE_HELP_PRISONER_CMDS")
    
    setup_buttons()
    }
    
    public plugin_precache()
    {
    // Modely Hráèa
    precache_model("models/player/zebricka/zebricka.mdl")
    
    // Soundy
    precache_sound("jbextreme/ak47.wav")
    precache_sound("jbextreme/ganster.wav")
    precache_sound("jbextreme/m4a1.wav")
    precache_sound("jbextreme/sniper.wav")
    precache_sound("jbextreme/pistol.wav")
    precache_sound("jbextreme/vd.wav")
    precache_sound("jbextreme/duelt.wav")
    precache_sound("jbextreme/brass_bell_C.wav")
    precache_sound("jbextreme/sparta.wav")
    precache_sound("jbextreme/shark.wav")
    precache_sound("jbextreme/konec.wav")
    
    static i
    
    for(i = 0; i < sizeof(_FistModels); i++)
    precache_model(_FistModels[i])
    
    for(i = 0; i < sizeof(_CrowbarModels); i++)
    precache_model(_CrowbarModels[i])
    
    for(i = 0; i < sizeof(_FistSounds); i++)
    precache_sound(_FistSounds[i])
    
    g_CellManagers = TrieCreate()
    gp_PrecacheSpawn = register_forward(FM_Spawn, "precache_spawn", 1)
    gp_PrecacheKeyValue = register_forward(FM_KeyValue, "precache_keyvalue", 1)
    }
    
    public cmd_smenu(id)
    {
    if((id == g_Simon) && is_user_alive(id))
    {
    
    set_task (0.1,"Showsmenu",id)
    
    }else{
    ColorChat(id, GREEN,"%s^x01 Nejsi^x04 Simon^x04!", WEB)
    }
    }
    
    public cmd_smenu_adm(id)
    {
    if(get_user_flags(id) & ADMIN_IMMUNITY)
    {
    
    set_task (0.1,"Showsmenu",id)
    
    }else{
    ColorChat(id, GREEN,"%s^x01 Nejsi^x04 Admin^x04!!!", WEB)
    }
    }
    
    public precache_spawn(ent)
    {
    if(is_valid_ent(ent))
    {
    static szClass[33]
    entity_get_string(ent, EV_SZ_classname, szClass, sizeof(szClass))
    for(new i = 0; i < sizeof(_RemoveEntities); i++)
    if(equal(szClass, _RemoveEntities[i]))
    remove_entity(ent)
    }
    }
    
    public precache_keyvalue(ent, kvd_handle)
    {
    static info[32]
    if(!is_valid_ent(ent))
    return FMRES_IGNORED
    
    get_kvd(kvd_handle, KV_ClassName, info, charsmax(info))
    if(!equal(info, "multi_manager"))
    return FMRES_IGNORED
    
    get_kvd(kvd_handle, KV_KeyName, info, charsmax(info))
    TrieSetCell(g_CellManagers, info, ent)
    return FMRES_IGNORED
    }
    
    public client_putinserver(id)
    {
    clear_bit(g_PlayerJoin, id)
    clear_bit(g_PlayerHelp, id)
    clear_bit(g_PlayerCrowbar, id)
    clear_bit(g_PlayerNomic, id)
    clear_bit(g_PlayerWanted, id)
    clear_bit(g_SimonTalking, id)
    clear_bit(g_SimonVoice, id)
    g_PlayerSpect[id] = 0
    g_PlayerSimon[id] = 0
    }
    
    public client_disconnect(id)
    {
    if(g_Simon == id)
    {
    g_Simon = 0
    ClearSyncHud(0, g_HudSync[2][_hudsync])
    player_hudmessage(0, 2, 5.0, _, "%L", LANG_SERVER, "JBE_SIMON_HASGONE")
    }
    else if(g_PlayerLast == id || (g_Duel && (id == g_DuelA || id == g_DuelB)))
    {
    g_Duel = 0
    g_DuelA = 0
    g_DuelB = 0
    g_LastDenied = 0
    g_BlockWeapons = 0
    g_PlayerLast = 0
    }
    team_count()
    }
    
    public client_PostThink(id)
    {
    if(id != g_Simon || !gc_SimonSteps || !is_user_alive(id) ||
    !(entity_get_int(id, EV_INT_flags) & FL_ONGROUND) || entity_get_int(id, EV_ENT_groundentity))
    return PLUGIN_CONTINUE
    
    static Float:origin[3]
    static Float:last[3]
    
    entity_get_vector(id, EV_VEC_origin, origin)
    if(get_distance_f(origin, last) < 32.0)
    {
    return PLUGIN_CONTINUE
    }
    
    vec_copy(origin, last)
    if(entity_get_int(id, EV_INT_bInDuck))
    origin[2] -= 18.0
    else
    origin[2] -= 36.0
    
    
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY, {0,0,0}, 0)
    write_byte(TE_WORLDDECAL)
    write_coord(floatround(origin[0]))
    write_coord(floatround(origin[1]))
    write_coord(floatround(origin[2]))
    write_byte(105)
    message_end()
    
    return PLUGIN_CONTINUE
    }
    
    
    public msg_statustext(msgid, dest, id)
    {
    return PLUGIN_HANDLED
    }
    
    public msg_statusicon(msgid, dest, id)
    {
    static icon[5]
    get_msg_arg_string(2, icon, charsmax(icon))
    if(icon[0] == 'b' && icon[2] == 'y' && icon[3] == 'z')
    {
    set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1<<0))
    return PLUGIN_HANDLED
    }
    
    return PLUGIN_CONTINUE
    }
    
    public msg_vguimenu(msgid, dest, id)
    {
    static msgarg1
    static CsTeams:team
    
    msgarg1 = get_msg_arg_int(1)
    if(msgarg1 == 2)
    {
    team = cs_get_user_team(id)
    if((team == CS_TEAM_T) && !is_user_admin(id) && (is_user_alive(id) || !get_pcvar_num(gp_TeamChange)))
    {
    client_print(id, print_center, "%L", LANG_SERVER, "JBE_TEAM_CANTCHANGE")
    return PLUGIN_HANDLED
    }
    show_menu(id, 51, TEAM_MENU, -1)
    return PLUGIN_HANDLED
    }
    
    return PLUGIN_CONTINUE
    }
    
    public msg_showmenu(msgid, dest, id)
    {
    static msgarg1, roundloop
    static CsTeams:team
    msgarg1 = get_msg_arg_int(1)
    
    if(msgarg1 != 531 && msgarg1 != 563)
    return PLUGIN_CONTINUE
    
    roundloop = floatround(get_pcvar_float(gp_RetryTime) / 2)
    team = cs_get_user_team(id)
    
    if(team == CS_TEAM_T)
    {
    if(!is_user_admin(id) && (is_user_alive(id) || (g_RoundStarted >= roundloop) || !get_pcvar_num(gp_TeamChange)))
    {
    client_print(id, print_center, "%L", LANG_SERVER, "JBE_TEAM_CANTCHANGE")
    return PLUGIN_HANDLED
    }
    else
    {
    show_menu(id, 51, TEAM_MENU, -1)
    return PLUGIN_HANDLED
    }
    }
    else
    {
    show_menu(id, 51, TEAM_MENU, -1)
    return PLUGIN_HANDLED
    }
    
    return PLUGIN_CONTINUE
    }
    
    public msg_motd(msgid, dest, id)
    {
    if(get_pcvar_num(gp_Motd))
    return PLUGIN_HANDLED
    
    return PLUGIN_CONTINUE
    }
    
    public msg_clcorpse(msgid, dest, id)
    {
    return PLUGIN_HANDLED
    }
    
    public current_weapon(id)
    {
    if(!is_user_alive(id))
    return PLUGIN_CONTINUE
    
    if(get_bit(g_PlayerCrowbar, id))
    {
    set_pev(id, pev_viewmodel2, _CrowbarModels[1])
    set_pev(id, pev_weaponmodel2, _CrowbarModels[0])
    }
    else
    {
    set_pev(id, pev_viewmodel2, _FistModels[1])
    set_pev(id, pev_weaponmodel2, _FistModels[0])
    }
    return PLUGIN_CONTINUE
    }
    
    public player_status(id)
    {
    static type, player, CsTeams:team, name[32], health
    type = read_data(1)
    player = read_data(2)
    switch(type)
    {
    case(1):
    {
    ClearSyncHud(id, g_HudSync[1][_hudsync])
    }
    case(2):
    {
    team = cs_get_user_team(player)
    if((team != CS_TEAM_T) && (team != CS_TEAM_CT))
    return PLUGIN_HANDLED
    
    health = get_user_health(player)
    get_user_name(player, name, charsmax(name))
    player_hudmessage(id, 4, 2.0, {0, 255, 0}, "%L", LANG_SERVER,
    (team == CS_TEAM_T) ? "JBE_PRISONER_STATUS" : "JBE_GUARD_STATUS", name, health)
    }
    }
    
    return PLUGIN_HANDLED
    }
    
    public impulse_100(id)
    {
    if(cs_get_user_team(id) == CS_TEAM_T)
    return PLUGIN_HANDLED
    
    return PLUGIN_CONTINUE
    }
    
    public player_spawn(id)
    {
    static CsTeams:team
    
    if(!is_user_connected(id))
    return HAM_IGNORED
    
    set_pdata_float(id, m_fNextHudTextArgsGameTime, get_gametime() + 999999.0)
    player_strip_weapons(id)
    if(g_RoundEnd)
    {
    g_RoundEnd = 0
    g_JailDay++
    }
    
    set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
    
    clear_bit(g_PlayerCrowbar, id)
    clear_bit(g_PlayerWanted, id)
    team = cs_get_user_team(id)
    
    switch(team)
    {
    case(CS_TEAM_T):
    {
    g_PlayerLast = 0
    if(!g_PlayerReason[id])
    g_PlayerReason[id] = random_num(1, 6)
    
    player_hudmessage(id, 0, 5.0, {255, 0, 255}, "%L %L", LANG_SERVER, "JBE_PRISONER_REASON",
    LANG_SERVER, g_Reasons[g_PlayerReason[id]])
    
    cs_set_user_model(id, "jbemodel");
    entity_set_int(id, EV_INT_body, 2)
    if(is_freeday() || get_bit(g_FreedayAuto, id))
    {
    freeday_set(0, id)
    clear_bit(g_FreedayAuto, id)
    }
    else
    {
    entity_set_int(id, EV_INT_skin, random_num(0, 2))
    }
    
    if(g_CrowbarCount < get_pcvar_num(gp_CrowbarMax))
    {
    if(random_num(0, g_MaxClients) > (g_MaxClients / 2))
    {
    g_CrowbarCount++
    set_bit(g_PlayerCrowbar, id)
    }
    }
    cs_set_user_armor(id, 0, CS_ARMOR_NONE)
    }
    case(CS_TEAM_CT):
    {
    g_PlayerSimon[id]++
    cs_set_user_model(id, "jbemodel");
    entity_set_int(id, EV_INT_body, 3)
    cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
    }
    }
    first_join(id)
    return HAM_IGNORED
    }
    
    public player_damage(victim, ent, attacker, Float:damage, bits)
    {
    if(!is_user_connected(victim) || !is_user_connected(attacker) || victim == attacker)
    return HAM_IGNORED
    
    switch(g_Duel)
    {
    case(0):
    {
    if(attacker == ent && get_user_weapon(attacker) == CSW_KNIFE && get_bit(g_PlayerCrowbar, attacker) && cs_get_user_team(victim) != CS_TEAM_T)
    {
    SetHamParamFloat(4, damage * gc_CrowbarMul)
    return HAM_OVERRIDE
    }
    }
    case(2):
    {
    if(attacker != g_PlayerLast)
    return HAM_SUPERCEDE
    }
    default:
    {
    if((victim == g_DuelA && attacker == g_DuelB) || (victim == g_DuelB && attacker == g_DuelA))
    return HAM_IGNORED
    
    return HAM_SUPERCEDE
    }
    }
    
    return HAM_IGNORED
    }
    
    public player_attack(victim, attacker, Float:damage, Float:direction[3], tracehandle, damagebits)
    {
    static CsTeams:vteam, CsTeams:ateam
    if(!is_user_connected(victim) || !is_user_connected(attacker) || victim == attacker)
    return HAM_IGNORED
    
    vteam = cs_get_user_team(victim)
    ateam = cs_get_user_team(attacker)
    
    if(ateam == CS_TEAM_CT && vteam == CS_TEAM_CT)
    return HAM_SUPERCEDE
    
    switch(g_Duel)
    {
    case(0):
    {
    if(ateam == CS_TEAM_CT && vteam == CS_TEAM_T)
    {
    if(get_bit(g_PlayerRevolt, victim))
    {
    clear_bit(g_PlayerRevolt, victim)
    hud_status(0)
    }
    return HAM_IGNORED
    }
    }
    case(2):
    {
    if(attacker != g_PlayerLast)
    return HAM_SUPERCEDE
    }
    default:
    {
    if((victim == g_DuelA && attacker == g_DuelB) || (victim == g_DuelB && attacker == g_DuelA))
    return HAM_IGNORED
    
    return HAM_SUPERCEDE
    }
    }
    
    if(ateam == CS_TEAM_T && vteam == CS_TEAM_T && !g_BoxStarted)
    return HAM_SUPERCEDE
    
    if(ateam == CS_TEAM_T && vteam == CS_TEAM_CT)
    {
    if(!g_PlayerRevolt)
    revolt_start()
    
    set_bit(g_PlayerRevolt, attacker)
    }
    
    return HAM_IGNORED
    }
    
    public button_attack(button, id, Float:damage, Float:direction[3], tracehandle, damagebits)
    {
    if(is_valid_ent(button) && gc_ButtonShoot)
    {
    ExecuteHamB(Ham_Use, button, id, 0, 2, 1.0)
    entity_set_float(button, EV_FL_frame, 0.0)
    }
    
    return HAM_IGNORED
    }
    
    public player_killed(victim, attacker, shouldgib)
    {
    static CsTeams:vteam, CsTeams:kteam
    if(!(0 < attacker <= g_MaxClients) || !is_user_connected(attacker))
    kteam = CS_TEAM_UNASSIGNED
    else
    kteam = cs_get_user_team(attacker)
    
    vteam = cs_get_user_team(victim)
    if(g_Simon == victim)
    {
    g_Simon = 0
    ClearSyncHud(0, g_HudSync[2][_hudsync])
    player_hudmessage(0, 2, 5.0, _, "%L", LANG_SERVER, "JBE_SIMON_KILLED")
    }
    
    switch(g_Duel)
    {
    case(0):
    {
    switch(vteam)
    {
    case(CS_TEAM_CT):
    {
    if(kteam == CS_TEAM_T && !get_bit(g_PlayerWanted, attacker))
    {
    set_bit(g_PlayerWanted, attacker)
    entity_set_int(attacker, EV_INT_skin, 4)
    }
    }
    case(CS_TEAM_T):
    {
    clear_bit(g_PlayerRevolt, victim)
    clear_bit(g_PlayerWanted, victim)
    }
    }
    }
    default:
    {
    if(g_Duel != 2 && (attacker == g_DuelA || attacker == g_DuelB))
    {
    set_user_rendering(victim, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
    set_user_rendering(attacker, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
    g_Duel = 0
    g_LastDenied = 0
    g_BlockWeapons = 0
    g_PlayerLast = 0
    team_count()
    }
    }
    }
    hud_status(0)
    return HAM_IGNORED
    }
    
    public player_touchweapon(id, ent)
    {
    static model[32], class[32]
    if(g_BlockWeapons)
    return HAM_SUPERCEDE
    
    if(is_valid_ent(id) && g_Duel != 6 && is_user_alive(ent) && cs_get_user_team(ent) == CS_TEAM_CT)
    {
    entity_get_string(id, EV_SZ_model, model, charsmax(model))
    if(model[7] == 'w' && model[9] == 'h' && model[10] == 'e' && model[11] == 'g')
    {
    entity_get_string(id, EV_SZ_classname, class, charsmax(class))
    if(equal(class, "weapon_hegrenade"))
    remove_entity(id)
    
    return HAM_SUPERCEDE
    }
    
    }
    
    return HAM_IGNORED
    }
    
    public set_client_kv(id, const info[], const key[])
    {
    if(equal(key, "model"))
    return FMRES_SUPERCEDE
    
    return FMRES_IGNORED
    }
    
    public sound_emit(id, channel, sample[])
    {
    if(is_user_alive(id) && equal(sample, "weapons/knife_", 14))
    {
    switch(sample[17])
    {
    case('b'):
    {
    emit_sound(id, CHAN_WEAPON, "weapons/cbar_hitbod2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    }
    case('w'):
    {
    emit_sound(id, CHAN_WEAPON, "weapons/cbar_hitbod1.wav", 1.0, ATTN_NORM, 0, PITCH_LOW)
    }
    case('1', '2'):
    {
    emit_sound(id, CHAN_WEAPON, "weapons/bullet_hit2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
    }
    }
    return FMRES_SUPERCEDE
    }
    return FMRES_IGNORED
    }
    
    public voice_listening(receiver, sender, bool:listen)
    {
    if((receiver == sender))
    return FMRES_IGNORED
    
    if(is_user_admin(sender))
    {
    engfunc(EngFunc_SetClientListening, receiver, sender, true)
    return FMRES_SUPERCEDE
    }
    
    switch(gc_VoiceBlock)
    {
    case(2):
    {
    if((sender != g_Simon) && (!get_bit(g_SimonVoice, sender) && gc_VoiceBlock))
    {
    engfunc(EngFunc_SetClientListening, receiver, sender, false)
    return FMRES_SUPERCEDE
    }
    }
    case(1):
    {
    if(!get_bit(g_SimonVoice, sender) && gc_VoiceBlock)
    {
    engfunc(EngFunc_SetClientListening, receiver, sender, false)
    return FMRES_SUPERCEDE
    }
    }
    }
    if(!is_user_alive(sender))
    {
    engfunc(EngFunc_SetClientListening, receiver, sender, false)
    return FMRES_SUPERCEDE
    }
    
    if(sender == g_Simon)
    {
    engfunc(EngFunc_SetClientListening, receiver, sender, true)
    return FMRES_SUPERCEDE
    }
    
    listen = true
    
    if(g_SimonTalking && (sender != g_Simon))
    {
    listen = false
    }
    else
    {
    static CsTeams:steam
    steam = cs_get_user_team(sender)
    switch(gc_TalkMode)
    {
    case(2):
    {
    listen = (steam == CS_TEAM_CT)
    }
    case(1):
    {
    listen = (steam == CS_TEAM_CT || steam == CS_TEAM_T)
    }
    }
    }
    
    engfunc(EngFunc_SetClientListening, receiver, sender, listen)
    return FMRES_SUPERCEDE
    }
    
    public player_cmdstart(id, uc, random)
    {
    if(g_Duel > 3)
    {
    cs_set_user_bpammo(id, _Duel[g_Duel - 4][_csw], 1)
    }
    }
    
    public round_first()
    {
    g_JailDay = 0
    for(new i = 1; i <= g_MaxClients; i++)
    g_PlayerSimon[i] = 0
    
    set_cvar_num("sv_alltalk", 1)
    set_cvar_num("mp_roundtime", 2)
    set_cvar_num("mp_limitteams", 0)
    set_cvar_num("mp_autoteambalance", 0)
    set_cvar_num("mp_tkpunish", 0)
    set_cvar_num("mp_friendlyfire", 1)
    round_end()
    }
    
    public round_end()
    {
    static CsTeams:team
    static maxnosimon, spectrounds
    g_SafeTime = 0
    g_PlayerRevolt = 0
    g_PlayerFreeday = 0
    g_PlayerLast = 0
    g_BoxStarted = 0
    g_CrowbarCount = 0
    g_Simon = 0
    g_SimonAllowed = 0
    g_RoundStarted = 0
    g_LastDenied = 0
    g_BlockWeapons = 0
    g_TeamCount[CS_TEAM_T] = 0
    g_TeamCount[CS_TEAM_CT] = 0
    g_Freeday = 0
    g_FreedayNext = (random_num(0,99) >= 95)
    g_RoundEnd = 1
    g_Duel = 0
    
    client_cmd(0, "stopsound");
    
    remove_task(TASK_STATUS)
    remove_task(TASK_FREEDAY)
    remove_task(TASK_FREEEND)
    remove_task(TASK_ROUND)
    maxnosimon = get_pcvar_num(gp_NosimonRounds)
    spectrounds = get_pcvar_num(gp_SpectRounds)
    for(new i = 1; i <= g_MaxClients; i++)
    {
    if(!is_user_connected(i))
    continue
    
    menu_cancel(i)
    team = cs_get_user_team(i)
    player_strip_weapons(i)
    switch(team)
    {
    case(CS_TEAM_CT):
    {
    if(g_PlayerSimon[i] > maxnosimon)
    {
    cmd_nomic(i)
    }
    }
    case(CS_TEAM_SPECTATOR,CS_TEAM_UNASSIGNED):
    {
    g_PlayerSpect[i]++
    if(g_PlayerSpect[i] > spectrounds)
    {
    client_cmd(i, "disconnect")
    server_print("JBE Disconnected spectator client #%i", i)
    }
    else
    {
    show_menu(i, 51, TEAM_MENU, -1)
    }
    }
    }
    }
    for(new i = 0; i < sizeof(g_HudSync); i++)
    ClearSyncHud(0, g_HudSync[i][_hudsync])
    
    }
    
    public round_start()
    {
    if(g_RoundEnd)
    return
    
    team_count()
    if(!g_Simon && is_freeday())
    {
    g_Freeday = 1
    emit_sound(0, CHAN_AUTO, "jbextreme/vd.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    check_freeday(TASK_FREEDAY)
    }
    else
    {
    set_task(60.0, "check_freeday", TASK_FREEDAY)
    }
    set_task(HUD_DELAY, "hud_status", TASK_STATUS, _, _, "b")
    set_task(get_pcvar_float(gp_RetryTime) + 1.0, "safe_time", TASK_SAFETIME)
    set_task(120.0, "freeday_end", TASK_FREEDAY)
    g_SimonRandom = get_pcvar_num(gp_SimonRandom) ? random_float(15.0, 45.0) : 0.0
    g_SimonAllowed = 1
    g_FreedayNext = 0
    }
    
    public cmd_jointeam(id)
    {
    return PLUGIN_HANDLED
    }
    
    public cmd_joinclass(id)
    {
    return PLUGIN_HANDLED
    }
    
    public cmd_voiceon(id)
    {
    client_cmd(id, "+voicerecord")
    set_bit(g_SimonVoice, id)
    if(g_Simon == id || is_user_admin(id))
    set_bit(g_SimonTalking, id)
    
    return PLUGIN_HANDLED
    }
    
    public cmd_voiceoff(id)
    {
    client_cmd(id, "-voicerecord")
    clear_bit(g_SimonVoice, id)
    if(g_Simon == id || is_user_admin(id))
    clear_bit(g_SimonTalking, id)
    
    return PLUGIN_HANDLED
    }
    
    public cmd_simon(id)
    {
    static CsTeams:team, name[32]
    if(!is_user_connected(id))
    return PLUGIN_HANDLED
    
    team = cs_get_user_team(id)
    if(g_SimonAllowed && !g_Freeday && is_user_alive(id) && team == CS_TEAM_CT && !g_Simon)
    {
    g_Simon = id
    get_user_name(id, name, charsmax(name))
    entity_set_int(id, EV_INT_body, 1)
    g_PlayerSimon[id]--
    cs_set_user_model(id, "jbemodel");
    if(get_pcvar_num(gp_GlowModels))
    player_glow(id, g_Colors[0])
    
    hud_status(0)
    cmd_smenu(id)
    }
    return PLUGIN_HANDLED
    }
    
    public cmd_open(id)
    {
    if(id == g_Simon)
    jail_open()
    
    return PLUGIN_HANDLED
    }
    
    public cmd_nomic(id)
    {
    static CsTeams:team
    team = cs_get_user_team(id)
    if(team == CS_TEAM_CT)
    {
    server_print("JBE Transfered guard to prisoners team client #%i", id)
    if(g_Simon == id)
    {
    g_Simon = 0
    player_hudmessage(0, 2, 5.0, _, "%L", LANG_SERVER, "JBE_SIMON_TRANSFERED")
    }
    if(!is_user_admin(id))
    set_bit(g_PlayerNomic, id)
    
    user_silentkill(id)
    cs_set_user_team(id, CS_TEAM_T)
    }
    return PLUGIN_HANDLED
    }
    
    public cmd_box(id)
    {
    static i
    if((id < 0) || (is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT))
    {
    if(g_TeamAlive[CS_TEAM_T] <= get_pcvar_num(gp_BoxMax) && g_TeamAlive[CS_TEAM_T] > 1)
    {
    for(i = 1; i <= g_MaxClients; i++)
    if(is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T)
    set_user_health(i, 100)
    
    set_cvar_num("mp_tkpunish", 0)
    set_cvar_num("mp_friendlyfire", 1)
    g_BoxStarted = 1
    player_hudmessage(0, 1, 3.0, _, "%L", LANG_SERVER, "JBE_GUARD_BOX")
    }
    else
    {
    player_hudmessage(id, 1, 3.0, _, "%L", LANG_SERVER, "JBE_GUARD_CANTBOX")
    }
    }
    return PLUGIN_HANDLED
    }
    
    public cmd_help(id)
    {
    if(id > g_MaxClients)
    id -= TASK_HELP
    
    remove_task(TASK_HELP + id)
    switch(get_bit(g_PlayerHelp, id))
    {
    case(0):
    {
    set_bit(g_PlayerHelp, id)
    player_hudmessage(id, 7, 15.0, {230, 100, 10}, "%s", g_HelpText)
    set_task(15.0, "cmd_help", TASK_HELP + id)
    }
    default:
    {
    clear_bit(g_PlayerHelp, id)
    ClearSyncHud(id, g_HudSync[7][_hudsync])
    }
    }
    }
    
    public cmd_freeday(id)
    {
    static menu, menuname[32], option[64]
    if(!is_freeday() && ((is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT) || is_user_admin(id)))
    {
    formatex(menuname, charsmax(menuname), "%L", LANG_SERVER, "JBE_MENU_FREEDAY")
    menu = menu_create(menuname, "freeday_choice")
    
    formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_FREEDAY_PLAYER")
    menu_additem(menu, option, "1", 0)
    
    formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_FREEDAY_ALL")
    menu_additem(menu, option, "2", 0)
    
    menu_display(id, menu)
    }
    return PLUGIN_HANDLED
    }
    
    public cmd_freeday_player(id)
    {
    if((is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT) || is_user_admin(id))
    menu_players(id, CS_TEAM_T, id, 1, "freeday_select", "%L", LANG_SERVER, "JBE_MENU_FREEDAY")
    
    return PLUGIN_CONTINUE
    }
    
    public cmd_lastrequest(id)
    {
    static i, num[5], menu, menuname[32], option[64]
    if(!get_pcvar_num(gp_LastRequest) || g_Freeday || g_LastDenied || id != g_PlayerLast || g_RoundEnd || get_bit(g_PlayerWanted, id) || get_bit(g_PlayerFreeday, id) || !is_user_alive(id))
    return PLUGIN_CONTINUE
    
    formatex(menuname, charsmax(menuname), "%L", LANG_SERVER, "JBE_MENU_LASTREQ")
    menu = menu_create(menuname, "lastrequest_select")
    
    formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_LASTREQ_OPT1")
    menu_additem(menu, option, "1", 0)
    
    formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_LASTREQ_OPT2")
    menu_additem(menu, option, "2", 0)
    
    formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_LASTREQ_OPT3")
    menu_additem(menu, option, "3", 0)
    
    for(i = 0; i < sizeof(_Duel); i++)
    {
    num_to_str(i + 4, num, charsmax(num))
    formatex(option, charsmax(option), "%L", LANG_SERVER, _Duel[i][_opt])
    menu_additem(menu, option, num, 0)
    }
    
    menu_display(id, menu)
    return PLUGIN_CONTINUE
    }
    
    public adm_freeday(id)
    {
    static player, user[32]
    if(!is_user_admin(id))
    return PLUGIN_CONTINUE
    
    read_argv(1, user, charsmax(user))
    player = cmd_target(id, user, 2)
    if(is_user_connected(player) && cs_get_user_team(player) == CS_TEAM_T)
    {
    freeday_set(id, player)
    }
    return PLUGIN_HANDLED
    }
    
    public adm_nomic(id)
    {
    static player, user[32]
    if(id == 0 || is_user_admin(id))
    {
    read_argv(1, user, charsmax(user))
    player = cmd_target(id, user, 3)
    if(is_user_connected(player))
    {
    cmd_nomic(player)
    }
    }
    return PLUGIN_HANDLED
    }
    
    public adm_open(id)
    {
    if(!is_user_admin(id))
    return PLUGIN_CONTINUE
    
    jail_open()
    return PLUGIN_HANDLED
    }
    
    public adm_box(id)
    {
    if(!is_user_admin(id))
    return PLUGIN_CONTINUE
    
    cmd_box(-1)
    return PLUGIN_HANDLED
    }
    
    public team_select(id, key)
    {
    static CsTeams:team, roundloop, admin
    
    roundloop = get_pcvar_num(gp_RetryTime) / 2
    team = cs_get_user_team(id)
    admin = is_user_admin(id)
    team_count()
    
    if(!admin && (team == CS_TEAM_UNASSIGNED) && (g_RoundStarted >= roundloop) && g_TeamCount[CS_TEAM_CT] && g_TeamCount[CS_TEAM_T] && !is_user_alive(id))
    {
    team_join(id, CS_TEAM_SPECTATOR)
    client_print(id, print_center, "%L", LANG_SERVER, "JBE_TEAM_CANTJOIN")
    return PLUGIN_HANDLED
    }
    
    
    switch(key)
    {
    case(0):
    {
    if(team == CS_TEAM_T)
    return PLUGIN_HANDLED
    
    g_PlayerReason[id] = random_num(1, 6)
    
    team_join(id, CS_TEAM_T)
    }
    case(1):
    {
    if(team == CS_TEAM_CT || (!admin && get_bit(g_PlayerNomic, id)))
    return PLUGIN_HANDLED
    
    if(g_TeamCount[CS_TEAM_CT] < ctcount_allowed() || admin)
    team_join(id, CS_TEAM_CT)
    else
    client_print(id, print_center, "%L", LANG_SERVER, "JBE_TEAM_CTFULL")
    }
    case(5):
    {
    user_silentkill(id)
    team_join(id, CS_TEAM_SPECTATOR)
    }
    }
    return PLUGIN_HANDLED
    }
    
    public team_join(id, CsTeams:team)
    {
    static restore, vgui, msgblock
    
    restore = get_pdata_int(id, m_iVGUI)
    vgui = restore & (1<<0)
    if(vgui)
    set_pdata_int(id, m_iVGUI, restore & ~(1<<0))
    
    switch(team)
    {
    case CS_TEAM_SPECTATOR:
    {
    msgblock = get_msg_block(g_MsgShowMenu)
    set_msg_block(g_MsgShowMenu, BLOCK_ONCE)
    dllfunc(DLLFunc_ClientPutInServer, id)
    set_msg_block(g_MsgShowMenu, msgblock)
    set_pdata_int(id, m_fGameHUDInitialized, 1)
    engclient_cmd(id, "jointeam", "6")
    }
    case CS_TEAM_T, CS_TEAM_CT:
    {
    msgblock = get_msg_block(g_MsgShowMenu)
    set_msg_block(g_MsgShowMenu, BLOCK_ONCE)
    engclient_cmd(id, "jointeam", (team == CS_TEAM_CT) ? "2" : "1")
    engclient_cmd(id, "joinclass", "1")
    set_msg_block(g_MsgShowMenu, msgblock)
    g_PlayerSpect[id] = 0
    }
    }
    
    if(vgui)
    set_pdata_int(id, m_iVGUI, restore)
    }
    
    public team_count()
    {
    static CsTeams:team, last
    g_TeamCount[CS_TEAM_UNASSIGNED] = 0
    g_TeamCount[CS_TEAM_T] = 0
    g_TeamCount[CS_TEAM_CT] = 0
    g_TeamCount[CS_TEAM_SPECTATOR] = 0
    g_TeamAlive[CS_TEAM_UNASSIGNED] = 0
    g_TeamAlive[CS_TEAM_T] = 0
    g_TeamAlive[CS_TEAM_CT] = 0
    g_TeamAlive[CS_TEAM_SPECTATOR] = 0
    for(new i = 1; i <= g_MaxClients; i++)
    {
    if(is_user_connected(i))
    {
    team = cs_get_user_team(i)
    g_TeamCount[team]++
    g_PlayerTeam[i] = team
    if(is_user_alive(i))
    {
    g_TeamAlive[team]++
    if(team == CS_TEAM_T)
    last = i
    }
    }
    else
    {
    g_PlayerTeam[i] = CS_TEAM_UNASSIGNED
    }
    }
    if(g_TeamAlive[CS_TEAM_T] == 1)
    {
    if(last != g_PlayerLast && g_SafeTime)
    {
    prisoner_last(last)
    }
    }
    else
    {
    if(g_Duel || g_DuelA || g_DuelB)
    {
    if(is_user_alive(g_DuelA))
    {
    set_user_rendering(g_DuelA, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
    player_strip_weapons(g_DuelA)
    }
    
    if(is_user_alive(g_DuelB))
    {
    set_user_rendering(g_DuelB, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
    player_strip_weapons(g_DuelB)
    }
    
    }
    g_PlayerLast = 0
    g_DuelA = 0
    g_DuelB = 0
    g_Duel = 0
    }
    }
    
    public revolt_start()
    {
    hud_status(0)
    }
    
    public stop_sound(task)
    {
    client_cmd(0, "stopsound")
    }
    
    public play_sound(task)
    {
    new rand = random_num(0,2)
    
    client_cmd(0,"stopsound")
    
    switch(rand)
    {
    case 0: client_cmd(0,"spk jbextreme/koniec.wav")
    }
    
    return PLUGIN_HANDLED
    }
    
    public hud_status(task)
    {
    static i, n
    new name[32], szStatus[64], wanted[1024]
    
    if(g_RoundStarted < (get_pcvar_num(gp_RetryTime) / 2))
    g_RoundStarted++
    
    if(!g_Freeday && !g_Simon && g_SimonAllowed && (0.0 < g_SimonRandom < get_gametime()))
    {
    cmd_simon(random_num(1, g_MaxClients))
    }
    
    n = 0
    formatex(wanted, charsmax(wanted), "%L", LANG_SERVER, "JBE_PRISONER_WANTED")
    n = strlen(wanted)
    for(i = 0; i < g_MaxClients; i++)
    {
    if(get_bit(g_PlayerWanted, i) && is_user_alive(i) && n < charsmax(wanted))
    {
    get_user_name(i, name, charsmax(name))
    n += copy(wanted[n], charsmax(wanted) - n, "^n^t")
    n += copy(wanted[n], charsmax(wanted) - n, name)
    }
    }
    
    team_count()
    formatex(szStatus, charsmax(szStatus), "%L", LANG_SERVER, "JBE_STATUS", g_TeamAlive[CS_TEAM_T], g_TeamCount[CS_TEAM_T])
    message_begin(MSG_BROADCAST, get_user_msgid("StatusText"), {0,0,0}, 0)
    write_byte(0)
    write_string(szStatus)
    message_end()
    
    if(g_Simon)
    {
    get_user_name(g_Simon, name, charsmax(name))
    player_hudmessage(0, 2, HUD_DELAY + 1.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_SIMON_FOLLOW", name)
    }
    else if(g_Freeday)
    {
    player_hudmessage(0, 2, HUD_DELAY + 1.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_STATUS_FREEDAY")
    }
    
    if(g_PlayerWanted)
    player_hudmessage(0, 3, HUD_DELAY + 1.0, {255, 25, 50}, "%s", wanted)
    else if(g_PlayerRevolt)
    player_hudmessage(0, 3, HUD_DELAY + 1.0, {255, 25, 50}, "%L", LANG_SERVER, "JBE_PRISONER_REVOLT")
    
    player_hudmessage(0, 5, HUD_DELAY + 1.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_STATUS_DAY", g_JailDay)
    
    gc_TalkMode = get_pcvar_num(gp_TalkMode)
    gc_VoiceBlock = get_pcvar_num(gp_VoiceBlock)
    gc_SimonSteps = get_pcvar_num(gp_SimonSteps)
    gc_ButtonShoot = get_pcvar_num(gp_ButtonShoot)
    gc_CrowbarMul = get_pcvar_float(gp_CrowbarMul)
    
    }
    
    public safe_time(task)
    {
    g_SafeTime = 1
    }
    
    public check_freeday(task)
    {
    static Float:roundmax, i
    if(!g_Simon && !g_PlayerLast)
    {
    g_Freeday = 1
    hud_status(0)
    roundmax = get_pcvar_float(gp_RoundMax)
    if(roundmax > 0.0)
    {
    for(i = 1; i <= g_MaxClients; i++)
    {
    if(is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T)
    freeday_set(0, i)
    }
    emit_sound(0, CHAN_AUTO, "jbextreme/vd.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    player_hudmessage(0, 8, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_STATUS_ENDTIMER", floatround(roundmax - 60.0))
    remove_task(TASK_ROUND)
    set_task(roundmax - 60.0, "check_end", TASK_ROUND)
    }
    }
    
    if(get_pcvar_num(gp_AutoOpen))
    jail_open()
    }
    
    public freeday_end(task)
    {
    if(g_Freeday || g_PlayerFreeday)
    {
    emit_sound(0, CHAN_AUTO, "zvonec/goo.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    player_hudmessage(0, 8, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_STATUS_ENDFREEDAY")
    }
    }
    
    public check_end(task)
    {
    team_count()
    for(new i = 1; i <= g_MaxClients; i++)
    {
    if(g_PlayerTeam[i] == CS_TEAM_T && is_user_alive(i))
    {
    user_silentkill(i)
    cs_set_user_deaths(i, get_user_deaths(i) - 1)
    }
    }
    for(new i = 1; i <= g_MaxClients; i++)
    {
    if(g_PlayerTeam[i] == CS_TEAM_CT && is_user_alive(i))
    {
    user_silentkill(i)
    cs_set_user_deaths(i, get_user_deaths(i) - 1)
    }
    }
    player_hudmessage(0, 6, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_STATUS_ROUNDEND")
    }
    
    public prisoner_last(id)
    {
    static name[32], Float:roundmax
    if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
    {
    roundmax = get_pcvar_float(gp_RoundMax)
    get_user_name(id, name, charsmax(name))
    g_PlayerLast = id
    player_hudmessage(0, 6, 5.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_PRISONER_LAST", name)
    remove_task(TASK_ROUND)
    if(roundmax > 0.0)
    {
    player_hudmessage(0, 8, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_STATUS_ENDTIMER", floatround(roundmax - 60.0))
    set_task(roundmax - 60.0, "check_end", TASK_ROUND)
    }
    if((g_TeamAlive[CS_TEAM_CT] > 0) && get_pcvar_num(gp_AutoLastresquest))
    cmd_lastrequest(id)
    }
    }
    
    public freeday_select(id, menu, item)
    {
    if(item == MENU_EXIT)
    {
    menu_destroy(menu)
    return PLUGIN_HANDLED
    }
    
    static dst[32], data[5], player, access, callback
    
    menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
    player = str_to_num(data)
    freeday_set(id, player)
    return PLUGIN_HANDLED
    }
    
    public duel_knives(id, menu, item)
    {
    if(item == MENU_EXIT)
    {
    menu_destroy(menu)
    g_LastDenied = 0
    return PLUGIN_HANDLED
    }
    
    static dst[32], data[5], access, callback, option[128], player, src[32]
    
    menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
    get_user_name(id, src, charsmax(src))
    player = str_to_num(data)
    formatex(option, charsmax(option), "%L^n%L", LANG_SERVER, "JBE_MENU_LASTREQ_SEL3", src, LANG_SERVER, "JBE_MENU_DUEL_SEL", src, dst)
    player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
    
    g_DuelA = id
    clear_bit(g_PlayerCrowbar, id)
    player_strip_weapons(id)
    player_glow(id, g_Colors[3])
    set_user_health(id, 100)
    
    g_DuelB = player
    player_strip_weapons(player)
    player_glow(player, g_Colors[2])
    set_user_health(player, 100)
    g_BlockWeapons = 1
    return PLUGIN_HANDLED
    }
    
    public duel_guns(id, menu, item)
    {
    if(item == MENU_EXIT)
    {
    menu_destroy(menu)
    g_LastDenied = 0
    g_Duel = 0
    return PLUGIN_HANDLED
    }
    
    static gun, dst[32], data[5], access, callback, option[128], player, src[32]
    
    menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
    get_user_name(id, src, charsmax(src))
    player = str_to_num(data)
    formatex(option, charsmax(option), "%L^n%L", LANG_SERVER, _Duel[g_Duel - 4][_sel], src, LANG_SERVER, "JBE_MENU_DUEL_SEL", src, dst)
    emit_sound(0, CHAN_AUTO, "jbextreme/duelt.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
    
    g_DuelA = id
    clear_bit(g_PlayerCrowbar, id)
    player_strip_weapons(id)
    gun = give_item(id, _Duel[g_Duel - 4][_entname])
    cs_set_weapon_ammo(gun, 1)
    set_user_health(id, 100)
    player_glow(id, g_Colors[3])
    
    g_DuelB = player
    player_strip_weapons(player)
    gun = give_item(player, _Duel[g_Duel - 4][_entname])
    cs_set_weapon_ammo(gun, 1)
    set_user_health(player, 100)
    player_glow(player, g_Colors[2])
    
    g_BlockWeapons = 1
    return PLUGIN_HANDLED
    }
    
    public freeday_choice(id, menu, item)
    {
    if(item == MENU_EXIT)
    {
    menu_destroy(menu)
    return PLUGIN_HANDLED
    }
    
    static dst[32], data[5], access, callback
    
    menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
    menu_destroy(menu)
    get_user_name(id, dst, charsmax(dst))
    switch(data[0])
    {
    case('1'):
    {
    cmd_freeday_player(id)
    }
    case('2'):
    {
    if((id == g_Simon) || is_user_admin(id))
    {
    g_Simon = 0
    get_user_name(id, dst, charsmax(dst))
    client_print(0, print_console, "%s gives freeday for everyone", dst)
    server_print("JBE Client %i gives freeday for everyone", id)
    check_freeday(TASK_FREEDAY)
    }
    }
    }
    return PLUGIN_HANDLED
    }
    
    public lastrequest_select(id, menu, item)
    {
    if(item == MENU_EXIT)
    {
    menu_destroy(menu)
    return PLUGIN_HANDLED
    }
    
    static i, dst[32], data[5], access, callback, option[64]
    
    menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
    get_user_name(id, dst, charsmax(dst))
    switch(data[0])
    {
    case('1'):
    {
    formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_LASTREQ_SEL1", dst)
    player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
    set_bit(g_FreedayAuto, id)
    user_silentkill(id)
    }
    case('2'):
    {
    formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_LASTREQ_SEL2", dst)
    player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
    g_Duel = 2
    player_strip_weapons_all()
    i = random_num(0, sizeof(_WeaponsFree) - 1)
    give_item(id, _WeaponsFree[i])
    g_BlockWeapons = 1
    cs_set_user_bpammo(id, _WeaponsFreeCSW[i], _WeaponsFreeAmmo[i])
    }
    case('3'):
    {
    g_Duel = 3
    menu_players(id, CS_TEAM_CT, 0, 1, "duel_knives", "%L", LANG_SERVER, "JBE_MENU_DUEL")
    }
    default:
    {
    g_Duel = str_to_num(data)
    menu_players(id, CS_TEAM_CT, 0, 1, "duel_guns", "%L", LANG_SERVER, "JBE_MENU_DUEL")
    }
    }
    g_LastDenied = 1
    menu_destroy(menu)
    return PLUGIN_HANDLED
    }
    
    public setup_buttons()
    {
    new ent[3]
    new Float:origin[3]
    new info[32]
    new pos
    
    while((pos <= sizeof(g_Buttons)) && (ent[0] = engfunc(EngFunc_FindEntityByString, ent[0], "classname", "info_player_deathmatch")))
    {
    pev(ent[0], pev_origin, origin)
    while((ent[1] = engfunc(EngFunc_FindEntityInSphere, ent[1], origin, CELL_RADIUS)))
    {
    if(!is_valid_ent(ent[1]))
    continue
    
    entity_get_string(ent[1], EV_SZ_classname, info, charsmax(info))
    if(!equal(info, "func_door"))
    continue
    
    entity_get_string(ent[1], EV_SZ_targetname, info, charsmax(info))
    if(!info[0])
    continue
    
    if(TrieKeyExists(g_CellManagers, info))
    {
    TrieGetCell(g_CellManagers, info, ent[2])
    }
    else
    {
    ent[2] = engfunc(EngFunc_FindEntityByString, 0, "target", info)
    }
    
    if(is_valid_ent(ent[2]) && (in_array(ent[2], g_Buttons, sizeof(g_Buttons)) < 0))
    {
    g_Buttons[pos] = ent[2]
    pos++
    break
    }
    }
    }
    TrieDestroy(g_CellManagers)
    }
    
    stock in_array(needle, data[], size)
    {
    for(new i = 0; i < size; i++)
    {
    if(data[i] == needle)
    return i
    }
    return -1
    }
    
    stock freeday_set(id, player)
    {
    static src[32], dst[32]
    get_user_name(player, dst, charsmax(dst))
    
    if(is_user_alive(player) && !get_bit(g_PlayerWanted, player))
    {
    set_bit(g_PlayerFreeday, player)
    entity_set_int(player, EV_INT_skin, 3)
    if(get_pcvar_num(gp_GlowModels))
    player_glow(player, g_Colors[1])
    
    if(0 < id <= g_MaxClients)
    {
    get_user_name(id, src, charsmax(src))
    player_hudmessage(0, 6, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_GUARD_FREEDAYGIVE", src, dst)
    }
    else if(!is_freeday())
    {
    player_hudmessage(0, 6, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_PRISONER_HASFREEDAY", dst)
    }
    }
    }
    
    stock first_join(id)
    {
    if(!get_bit(g_PlayerJoin, id))
    {
    set_bit(g_PlayerJoin, id)
    clear_bit(g_PlayerHelp, id)
    set_task(5.0, "cmd_help", TASK_HELP + id)
    }
    }
    
    stock ctcount_allowed()
    {
    static count
    count = ((g_TeamCount[CS_TEAM_T] + g_TeamCount[CS_TEAM_CT]) / get_pcvar_num(gp_TeamRatio))
    if(count < 2)
    count = 2
    else if(count > get_pcvar_num(gp_CtMax))
    count = get_pcvar_num(gp_CtMax)
    
    return count
    }
    
    stock player_hudmessage(id, hudid, Float:time = 0.0, color[3] = {0, 255, 0}, msg[], any:...)
    {
    static text[512], Float:x, Float:y
    x = g_HudSync[hudid][_x]
    y = g_HudSync[hudid][_y]
    
    if(time > 0)
    set_hudmessage(color[0], color[1], color[2], x, y, 0, 0.00, time, 0.00, 0.00)
    else
    set_hudmessage(color[0], color[1], color[2], x, y, 0, 0.00, g_HudSync[hudid][_time], 0.00, 0.00)
    
    vformat(text, charsmax(text), msg, 6)
    ShowSyncHudMsg(id, g_HudSync[hudid][_hudsync], text)
    }
    
    stock menu_players(id, CsTeams:team, skip, alive, callback[], title[], any:...)
    {
    static i, name[32], num[5], menu, menuname[32]
    vformat(menuname, charsmax(menuname), title, 7)
    menu = menu_create(menuname, callback)
    for(i = 1; i <= g_MaxClients; i++)
    {
    if(!is_user_connected(i) || (alive && !is_user_alive(i)) || (skip == i))
    continue
    
    if(!(team == CS_TEAM_T || team == CS_TEAM_CT) || ((team == CS_TEAM_T || team == CS_TEAM_CT) && (cs_get_user_team(i) == team)))
    {
    get_user_name(i, name, charsmax(name))
    num_to_str(i, num, charsmax(num))
    menu_additem(menu, name, num, 0)
    }
    }
    menu_display(id, menu)
    }
    
    stock player_glow(id, color[3], amount=40)
    {
    set_user_rendering(id, kRenderFxGlowShell, color[0], color[1], color[2], kRenderNormal, amount)
    }
    
    stock player_strip_weapons(id)
    {
    strip_user_weapons(id)
    give_item(id, "weapon_knife")
    set_pdata_int(id, m_iPrimaryWeapon, 0)
    }
    
    stock player_strip_weapons_all()
    {
    for(new i = 1; i <= g_MaxClients; i++)
    {
    if(is_user_alive(i))
    {
    player_strip_weapons(i)
    }
    }
    }
    
    stock is_freeday()
    {
    return (g_FreedayNext || g_Freeday || (g_JailDay == 1))
    }
    
    public jail_open()
    {
    static i
    for(i = 0; i < sizeof(g_Buttons); i++)
    {
    if(g_Buttons[i])
    {
    ExecuteHamB(Ham_Use, g_Buttons[i], 0, 0, 1, 1.0)
    entity_set_float(g_Buttons[i], EV_FL_frame, 0.0)
    }
    }
    }
    
    public Showsmenu(id) {
    show_menu(id, Keyssmenu, "ySimon Menu:^ny1. wVybrat Zbran^ny2. wOtevrit Cely^ny3. rDoplnit HP^ny4. wVolny Den^ny5. wHerni Mody^ny6. wMikrofony^ny7. wBarevne Oznaceni^nw0. Konec^n", -1, "smenu") // Display menu
    }
    
    public Pressedsmenu(id, key)
    {
    /* Menu:
    * Simon Menu || /smenu:
    * 1. Vybrat zbran
    * 2. Otvoriť cely
    * 3. Go!!
    * 4. Vybrať VD
    * 5. Herne Mody
    * 6. Ostatne
    * 7. Doplnit HP
    */
    {
    switch (key) {
    
    case 0:
    { // Simon Zbrane
    cmd_simon_weapons(id)
    }
    case 1:
    { // Simon Open Jail
    set_task (0.1,"jail_open",id)
    set_task (0.1,"Showsmenu",id)
    }
    case 2:
    { // Doplnit HP
    set_task (0.1,"cmd_simon_hp",id)
    }
    case 3:
    { // Simon Vybrat VD
    set_task (0.1,"cmd_freeday",id)
    }
    case 4:
    { // Herne Mody
    set_task (0.1,"JBDay",id)
    }
    case 5:
    { // Ostatne
    set_task (0.1,"mikro",id)
    set_task (0.1,"showsmenu",id)
    }
    case 6:
    { // Barevne Oznaceni
    set_task (0.1,"ColorMenu",id)
    set_task (0.1,"showsmenu",id)
    }
    case 9:
    {
    }
    }
    }
    }
    
    
    // Simon Menu [Všetký ostatné súbory]
    
    //Simon Menu Zbrane
    public cmd_simon_weapons(id)
    {
    new menu = menu_create("yVyber zbran:", "cmd_simon_weapons_h")
    
    menu_additem(menu, "wM4A1 + Deagle", "1", 0)
    menu_additem(menu, "wAK47 + Deagle", "2", 0)
    menu_additem(menu, "wAWP + Deagle", "3", 0)
    menu_additem(menu, "wFAMAS + Deagle", "4", 0)
    
    menu_display(id, menu, 0)
    
    }
    
    public cmd_simon_weapons_h(id, menu, item)
    {
    new data[6], iName[64], access, callback
    
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
    
    new key = str_to_num(data)
    
    switch(key)
    {
    case 0:
    { // 5
    menu_destroy(id)
    }
    case 1:
    {
    give_item(id, "weapon_m4a1")
    give_item(id, "weapon_deagle")
    cs_set_user_bpammo(id, CSW_M4A1, 90)
    cs_set_user_bpammo(id, CSW_DEAGLE, 35)
    g_BlockWeapons = 1
    ColorChat(id, GREEN,"%s Vybral si si^x03 M4a1 + Deagle ^x04[VIP +Grenade Pack]", WEB)
    }
    case 2:
    {
    give_item(id, "weapon_ak47")
    give_item(id, "weapon_deagle")
    cs_set_user_bpammo(id, CSW_AK47, 90)
    cs_set_user_bpammo(id, CSW_DEAGLE, 35)
    g_BlockWeapons = 1
    ColorChat(id, GREEN,"%s Vybral si si^x03 Ak47 + Deagle ^x04[VIP +Grenade Pack]", WEB)
    }
    case 3:
    {
    give_item(id, "weapon_awp")
    give_item(id, "weapon_deagle")
    cs_set_user_bpammo(id, CSW_AWP, 30)
    cs_set_user_bpammo(id, CSW_DEAGLE, 35)
    g_BlockWeapons = 1
    ColorChat(id, GREEN,"%s Vybral si si^x03 Awp + Deagle ^x04[VIP +Grenade Pack]", WEB)
    }
    case 4:
    {
    give_item(id, "weapon_famas")
    give_item(id, "weapon_deagle")
    cs_set_user_bpammo(id, CSW_FAMAS, 90)
    cs_set_user_bpammo(id, CSW_DEAGLE, 35)
    g_BlockWeapons = 1
    ColorChat(id, GREEN,"%s Vybral si si^x03 Famas + Deagle ^x04[VIP +Grenade Pack]", WEB)
    }
    }
    
    menu_destroy(menu)
    return PLUGIN_HANDLED_MAIN;
    }
    // Koniec Simon Menu Zbrane
    
    // Simon Menu Prestrelka
    public cmd_simon_prestrelka(id){
    
    new gmenu = menu_create("yPrestrelka:" , "cmd_simon_prestrelka_h")
    menu_additem(gmenu ,"wAK-47", "1" , 0)
    menu_additem(gmenu ,"wM4A1", "2" , 0)
    menu_additem(gmenu ,"rOnly Sniper", "3" , 0)
    menu_additem(gmenu ,"rOnly Pistol", "4" , 0)
    
    menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL);
    menu_display(id , gmenu , 0);
    return PLUGIN_CONTINUE
    }
    //return PLUGIN_HANDLED
    
    
    public cmd_simon_prestrelka_h(id, gmenu, item, player)
    {
    if (item == MENU_EXIT)
    {
    menu_destroy(gmenu)
    return PLUGIN_HANDLED
    }
    
    new data[6], iName[64]
    new access, callback
    menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback)
    new key = str_to_num(data)
    switch(key){
    case 1:
    {
    cmd_simon_prestrelka_ak47()
    }
    case 2:
    {
    cmd_simon_prestrelka_m4a1()
    }
    case 3:
    {
    cmd_simon_prestrelka_sniper()
    }
    case 4:
    {
    cmd_simon_prestrelka_pistol()
    }
    }
    menu_destroy(gmenu)
    return PLUGIN_HANDLED;
    }
    
    
    public cmd_simon_prestrelka_ak47()
    {
    ColorChat(0, GREEN,"%s Simon spustil^x04 Prestrelku^x01 Ak47", SIMON)
    set_hudmessage( 0, 255, 0, -1.0, 0.5, 0, 0.0, 5.0, 0.1, 0.1, 4 );
    show_hudmessage( 0, "Prestrelka!");
    jail_open()
    g_BlockWeapons = 1
    new players[32], player, pnum;
    get_players(players, pnum, "a");
    for(new i = 0; i < pnum; i++)
    {
    player = players[i];
    if(is_user_alive(player)){
    strip_user_weapons(player)
    give_item(player, "weapon_knife")
    give_item(player, "weapon_ak47")
    cs_set_user_bpammo(player, CSW_AK47, 90)
    }
    }
    emit_sound(0, CHAN_AUTO, "jbextreme/ak47.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    }
    
    public cmd_simon_prestrelka_m4a1()
    {
    ColorChat(0, GREEN,"%s Simon spustil^x04 Prestrelku^x01 M4a1", SIMON)
    set_hudmessage( 0, 255, 0, -1.0, 0.5, 0, 0.0, 5.0, 0.1, 0.1, 4 );
    show_hudmessage( 0, "Prestrelka!");
    jail_open()
    g_BlockWeapons = 1
    new players[32], player, pnum;
    get_players(players, pnum, "a");
    for(new i = 0; i < pnum; i++)
    {
    player = players[i];
    if(is_user_alive(player)){
    strip_user_weapons(player)
    give_item(player, "weapon_knife")
    give_item(player, "weapon_m4a1")
    cs_set_user_bpammo(player, CSW_M4A1, 90)
    }
    }
    emit_sound(0, CHAN_AUTO, "jbextreme/ak47.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    }
    
    
    public cmd_simon_prestrelka_sniper()
    {
    ColorChat(0, GREEN,"%s Simon spustil^x04 Prestrelku^x01 Sniper", SIMON)
    set_hudmessage( 0, 255, 0, -1.0, 0.5, 0, 0.0, 5.0, 0.1, 0.1, 4 );
    show_hudmessage( 0, "Prestrelka!");
    jail_open()
    g_BlockWeapons = 1
    new players[32], player, pnum;
    get_players(players, pnum, "a");
    for(new i = 0; i < pnum; i++)
    {
    player = players[i];
    if(is_user_alive(player))
    {
    cmd_sniper(player)
    }
    }
    emit_sound(0, CHAN_AUTO, "jbextreme/sniper.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    }
    
    public cmd_simon_prestrelka_pistol()
    {
    ColorChat(0, GREEN,"%s Simon spustil^x04 Prestrelku^x01 Pistol", SIMON)
    set_hudmessage( 0, 255, 0, -1.0, 0.5, 0, 0.0, 5.0, 0.1, 0.1, 4 );
    show_hudmessage( 0, "Prestrelka!");
    jail_open()
    g_BlockWeapons = 1
    new players[32], player, pnum;
    get_players(players, pnum, "a");
    for(new i = 0; i < pnum; i++)
    {
    player = players[i];
    if(is_user_alive(player)){
    cmd_pistol(player)
    }
    }
    emit_sound(0, CHAN_AUTO, "jbextreme/pistol.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    }
    
    public cmd_pistol(id)
    {
    new gmenu = menu_create("yVyber Pistol:" , "cmd_pistol_h")
    menu_additem(gmenu ,"wGlock", "1", 0)
    menu_additem(gmenu ,"wUsp", "2", 0)
    menu_additem(gmenu ,"wDeagle", "3" , 0)
    menu_additem(gmenu ,"wElite", "4" , 0)
    menu_additem(gmenu ,"wSeven", "5" , 0)
    menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL);
    menu_display(id , gmenu , 0);
    set_task(10.0, "cmd_slot", id)
    return PLUGIN_CONTINUE
    }
    
    public cmd_pistol_h(id, gmenu, item, player)
    {
    if (item == MENU_EXIT)
    {
    menu_destroy(gmenu)
    return PLUGIN_HANDLED
    }
    
    new data[6], iName[64]
    new access, callback
    menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback)
    new key = str_to_num(data)
    switch(key){
    
    case 1:
    {
    strip_user_weapons(id)
    give_item(id, "weapon_glock18")
    cs_set_user_bpammo(id, CSW_GLOCK18, 120)
    }
    case 2:
    {
    strip_user_weapons(id)
    give_item(id, "weapon_usp")
    cs_set_user_bpammo(id, CSW_USP, 120)
    }
    case 3:
    {
    strip_user_weapons(id)
    give_item(id, "weapon_deagle")
    cs_set_user_bpammo(id, CSW_DEAGLE, 35)
    }
    case 4:
    {
    strip_user_weapons(id)
    give_item(id, "weapon_elite")
    cs_set_user_bpammo(id, CSW_ELITE, 130)
    }
    case 5:
    {
    strip_user_weapons(id)
    give_item(id, "weapon_fiveseven")
    cs_set_user_bpammo(id, CSW_FIVESEVEN, 100)
    }
    }
    
    menu_destroy(gmenu)
    return PLUGIN_HANDLED;
    }
    
    public cmd_sniper(id)
    {
    new gmenu = menu_create("yVyber Sniper:" , "cmd_sniper_h")
    menu_additem(gmenu ,"wAwp", "1", 0)
    menu_additem(gmenu ,"wScout", "2", 0)
    menu_additem(gmenu ,"wSg550", "3" , 0)
    menu_additem(gmenu ,"wG3sg1", "4" , 0)
    menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL);
    menu_display(id , gmenu , 0);
    set_task(10.0, "cmd_slot", id)
    return PLUGIN_CONTINUE
    }
    
    public cmd_sniper_h(id, gmenu, item, player)
    {
    if (item == MENU_EXIT)
    {
    menu_destroy(gmenu)
    return PLUGIN_HANDLED
    }
    
    new data[6], iName[64]
    new access, callback
    menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback)
    new key = str_to_num(data)
    switch(key){
    
    case 1:
    {
    strip_user_weapons(id)
    give_item(id, "weapon_awp")
    cs_set_user_bpammo(id, CSW_AWP, 35)
    }
    case 2:
    {
    strip_user_weapons(id)
    give_item(id, "weapon_scout")
    cs_set_user_bpammo(id, CSW_SCOUT, 120)
    }
    case 3:
    {
    strip_user_weapons(id)
    give_item(id, "weapon_sg550")
    cs_set_user_bpammo(id, CSW_SG550, 90)
    }
    case 4:
    {
    strip_user_weapons(id)
    give_item(id, "weapon_g3sg1")
    cs_set_user_bpammo(id, CSW_G3SG1, 90);
    }
    }
    menu_destroy(gmenu)
    return PLUGIN_HANDLED;
    }
    
    public cmd_slot(id)
    client_cmd(id, "slot0")
    // Koniec Simon Menu Prestrelka
    /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
    *{\ rtf1\ ansi\ deff0{\ fonttbl{\ f0\ fnil Tahoma;}}n\ viewkind4\ uc1\ pard\ lang1051\ f0\ fs16 n\ par }
    */
    
    public JBDay(id)
    {
    new menu1 = menu_create("Herni Mody:", "menu_handler");
    
    menu_additem(menu1, "Prestrelka", "1", 0);
    menu_additem(menu1, "Schovka", "2", 0);
    menu_additem(menu1, "Matrix", "3", 0);
    menu_additem(menu1, "Sparta", "4", 0);
    menu_additem(menu1, "Shark", "5", 0);
    menu_additem(menu1, "Ganster", "6", 0);
    
    menu_setprop(menu1, MPROP_EXIT, MEXIT_ALL);
    menu_display(id, menu1, 0);
    }
    
    public menu_handler(id, menu, item)
    {
    
    if( item == MENU_EXIT )
    {
    menu_destroy(menu);
    return PLUGIN_HANDLED;
    }
    
    new data[6], iName[64];
    new access, callback;
    
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
    
    new key = str_to_num(data);
    
    switch(key)
    {
    case 1:
    {
    set_task (0.1,"cmd_simon_prestrelka",id)
    }
    case 2:
    {
    set_task (0.1,"schovka",id)
    }
    case 3:
    {
    set_task (0.1,"matrix",id)
    {
    case 4:
    }
    set_task (0.1,"sparta",id)
    }
    case 5:
    {
    set_task (0.1,"shark",id)
    }
    case 6:
    {
    set_task (0.1,"ganster",id)
    }
    case 7:
    {
    }
    case 8:
    {
    }
    case 9:
    {
    }
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
    }
    
    public matrix(id)
    {
    client_cmd(id,"say /open")
    g_BlockWeapons = 1
    g_Simon = 0
    new iPlayers[32]
    new iNum
    new id
    
    get_players( iPlayers, iNum )
    
    for( new i = 0; i < iNum; i++ )
    {
    id = iPlayers[i]
    if(cs_get_user_team(id) == CS_TEAM_T)
    {
    give_item( id, "weapon_knife" )
    give_item( id, "weapon_shield")
    set_user_health(id, 300);
    
    }
    if( !is_user_alive( id ) )
    {
    continue;
    }
    set_hudmessage(0, 255, 0, 0.60, 0.12, 0, 6.0, 60.0)
    show_hudmessage(id, "Hraje sa: Matrix")
    
    if(cs_get_user_team(id) == CS_TEAM_CT)
    {
    give_item( id, "weapon_knife" )
    give_item( id, "weapon_deagle")
    cs_set_user_bpammo( id, CSW_M3, 100 );
    set_user_health(id, 100);
    
    }
    }
    emit_sound(0, CHAN_AUTO, "jbextreme/matrix.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    }
    
    public sparta(id)
    {
    client_cmd(id,"say /open")
    g_BlockWeapons = 1
    g_Simon = 0
    new iPlayers[32]
    new iNum
    new id
    
    get_players( iPlayers, iNum )
    
    for( new i = 0; i < iNum; i++ )
    {
    id = iPlayers[i]
    if(cs_get_user_team(id) == CS_TEAM_T)
    {
    give_item( id, "weapon_knife" )
    give_item( id, "weapon_shield")
    set_user_health(id, 200);
    
    }
    if( !is_user_alive( id ) )
    {
    continue;
    }
    set_hudmessage(0, 255, 0, 0.60, 0.12, 0, 6.0, 60.0)
    show_hudmessage(id, "Hraje sa: Sparta")
    
    if(cs_get_user_team(id) == CS_TEAM_CT)
    {
    give_item( id, "weapon_knife" )
    give_item( id, "weapon_m3")
    cs_set_user_bpammo( id, CSW_M3, 100 );
    set_user_health(id, 100);
    
    }
    }
    emit_sound(0, CHAN_AUTO, "jbextreme/sparta.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    }
    
    public shark(id)
    {
    client_cmd(id,"say /open")
    g_BlockWeapons = 1
    g_Simon = 0
    new iPlayers[32]
    new iNum
    new id
    
    get_players( iPlayers, iNum )
    
    for( new i = 0; i < iNum; i++ )
    {
    id = iPlayers[i]
    if(cs_get_user_team(id) == CS_TEAM_T)
    {
    give_item(id, "weapon_knife")
    set_user_noclip(id, 1);
    set_user_health(id, 100);
    }
    if(cs_get_user_team(id) == CS_TEAM_CT)
    {
    give_item( id, "weapon_awp")
    cs_set_user_bpammo( id, CSW_AWP, 100 );
    set_user_health(id, 400);
    }
    if( !is_user_alive( id ) )
    {
    continue;
    }
    set_hudmessage(0, 255, 0, 0.60, 0.12, 0, 6.0, 60.0)
    show_hudmessage(id, "Shrak mod!")
    
    
    }
    emit_sound(0, CHAN_AUTO, "jbextreme/shark.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    }
    
    
    public ganster(id)
    {
    client_cmd(id,"say /open")
    g_BlockWeapons = 1
    g_Simon = 0
    new iPlayers[32]
    new iNum
    new id
    
    get_players( iPlayers, iNum )
    
    for( new i = 0; i < iNum; i++ )
    {
    id = iPlayers[i]
    if(cs_get_user_team(id) == CS_TEAM_T)
    {
    give_item(id, "weapon_mac10")
    set_user_health(id, 100);
    cs_set_user_bpammo( id, CSW_MAC10, 200 );
    set_cvar_num("mp_friendlyfire", 1)
    }
    if(cs_get_user_team(id) == CS_TEAM_CT)
    {
    give_item( id, "weapon_m4a1")
    cs_set_user_bpammo( id, CSW_M4A1, 200 );
    set_user_health(id, 100000);
    }
    if( !is_user_alive( id ) )
    {
    continue;
    }
    set_hudmessage(0, 255, 0, 0.60, 0.12, 0, 6.0, 60.0)
    show_hudmessage(id, "Ganster!")
    
    
    }
    emit_sound(0, CHAN_AUTO, "jbextreme/ganster.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    }
    
    public schovka(id)
    {
    set_hudmessage(0, 255, 0, 0.60, 0.12, 0, 6.0, 60.0)
    show_hudmessage(id, "Schovka!")
    
    client_print( id, print_chat, "%s Simon spustil schovku, vezni maji 60 sekund na schovani!", PREFIX)
    
    strip_user_weapons(id)
    give_item( id, "weapon_knife" )
    if (cs_get_user_team(id) == CS_TEAM_CT)
    {
    set_user_health(id, 500);
    }
    g_iCountTime = CountSeconds;
    set_task( 1.0 , "Count" , _ , _ , _ , "a" , g_iCountTime );
    }
    
    public cmd_simon_hp(id)
    {
    if(cs_get_user_team(id) == CS_TEAM_T)
    {
    set_user_health(id, 101);
    }
    ColorChat(0, GREEN, "[JB]^x03 Simon doplnil vsem veznum HP!")
    cmd_smenu(id)
    }
    
    
    public mikro(id)
    {
    if(get_user_team(id) != 2)
    {
    ColorChat(id, GREEN, "[i-G]^x01 Pouze^x04 Dozorci^x01 smi zapnout^x03 mikrofon pro vezne !")
    return PLUGIN_HANDLED
    }
    
    new mikrofon = menu_create("yMikrofony:", "mikrofon_menu")
    
    menu_additem(mikrofon, "wZapnout", "1", 0);
    menu_additem(mikrofon, "wVypnout", "2", 0);
    
    menu_setprop(mikrofon, MPROP_EXIT, MEXIT_ALL);
    menu_display(id, mikrofon, 0);
    
    return PLUGIN_HANDLED
    }
    
    public mikrofon_menu(id, mikrofon, item)
    {
    if (item == MENU_EXIT)
    {
    menu_destroy(mikrofon);
    return PLUGIN_HANDLED;
    }
    
    new Data[7], Name[64];
    new Access, Callback;
    menu_item_getinfo(mikrofon, item, Access, Data,5, Name, 63, Callback);
    
    new Key = str_to_num(Data);
    
    switch (Key)
    {
    
    case 1:
    {
    if(get_user_team(id) != 2)
    {
    ColorChat(id, GREEN, "[i-G]^x01 Pouze^x04 Dozorci^x01 smi zapnout^x03 mikrofon pro vezne !")
    return PLUGIN_HANDLED
    }
    set_cvar_num("jbe_talkmode", 0)
    set_cvar_num("jbe_blockvoice", 0)
    ColorChat(0, GREEN, "[JB]^x01 Mikrofon pro vezne byl:^x03 Povolen!")
    return PLUGIN_HANDLED
    }
    
    case 2:
    {
    if(get_user_team(id) != 2)
    {
    ColorChat(id, GREEN, "[i-G]^x01 Pouze^x04 Dozorci^x01 smi zapnout^x03 mikrofon pro vezne !")
    return PLUGIN_HANDLED
    }
    set_cvar_num("jbe_talkmode", 2)
    set_cvar_num("jbe_blockvoice", 1)
    ColorChat(0, GREEN, "[JB]^x01 Mikrofon pro vezne byl:^x03 Zakazan!")
    }
    }
    return PLUGIN_HANDLED;
    }
    
    public MainMenu(iPlayer)
    {
    if (is_user_alive(iPlayer) && cs_get_user_team(iPlayer) & CS_TEAM_CT)
    {
    new menu = menu_create("wJailbreak Glow Menu^nwVersion:d 1.0", "MainMenu_Handle")
    
    new players[32], pnum, key
    new szName[32], szName2[10]
    
    get_players(players, pnum, "a")
    for(new i; i < pnum; i++)
    {
    key = players[i]
    
    if (cs_get_user_team(key) != CS_TEAM_T)
    {
    continue
    }
    
    get_user_name(key, szName, 31)
    num_to_str(key, szName2, 9)
    menu_additem(menu, szName, szName2, 0)
    }
    menu_display(iPlayer, menu)
    return PLUGIN_HANDLED
    }
    else ColorChat(iPlayer, GREY, "%s Only Guards can use the glow menu.", prefix)
    return PLUGIN_HANDLED
    }
    
    
    public MainMenu_Handle(iPlayer, menu, item)
    {
    if( item == MENU_EXIT )
    {
    menu_destroy(menu)
    return PLUGIN_HANDLED
    }
    
    new data[6], iName[64]
    new access, callback
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
    
    Player[iPlayer] = str_to_num(data)
    ColorMenu(iPlayer)
    
    return PLUGIN_HANDLED
    }
    
    public ColorMenu(iPlayer)
    {
    new sub = menu_create("wBarevne Oznaceni:^n", "ColorMenu_Handle")
    
    menu_additem(sub, "wCervena", "1", 0)
    menu_additem(sub, "wModra", "2", 0)
    menu_additem(sub, "wBila", "3", 0)
    menu_additem(sub, "wZelena", "4", 0)
    menu_additem(sub, "wZluta", "5", 0)
    menu_additem(sub, "wFialova", "6", 0)
    menu_additem(sub, "wTmava Fialova", "7", 0)
    menu_additem(sub, "wLehka", "8", 0)
    menu_additem(sub, "wSvetle Modra", "9", 0)
    
    menu_setprop(sub, MPROP_EXIT, MEXIT_ALL)
    menu_display(iPlayer, sub)
    
    }
    
    public ColorMenu_Handle(iPlayer, sub, item)
    {
    if (item == MENU_EXIT)
    {
    menu_destroy(sub)
    return PLUGIN_HANDLED
    }
    
    new Data[7], Name[64]
    new Access, Callback
    menu_item_getinfo(sub, item, Access, Data,5, Name, 63, Callback)
    
    new key = str_to_num(Data)
    get_user_name(Player[iPlayer], Name, sizeof(Name) -1)
    switch (key)
    {
    case 1:
    {
    set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 255)
    ColorChat(0, GREY, "%s %s now has a ^4Red Glow^3!", prefix, Name )
    }
    
    case 2:
    {
    set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 255)
    ColorChat(0, GREY, "%s %s now has a ^4Blue Glow^3!", prefix, Name )
    }
    
    case 3:
    {
    set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 255, 255, 255, kRenderNormal, 255)
    ColorChat(0, GREY, "%s %s now has a ^4White Glow^3!", prefix, Name )
    }
    
    case 4:
    {
    set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 255)
    ColorChat(0, GREY, "%s %s now has a ^4Green Glow^3!", prefix, Name )
    }
    
    case 5:
    {
    set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 255, 255, 0, kRenderNormal, 255)
    ColorChat(0, GREY, "%s %s now has a ^4Yellow Glow^3!", prefix, Name )
    
    }
    
    case 6:
    {
    set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 255, 0, 180, kRenderNormal, 255)
    ColorChat(0, GREY, "%s %s now has a ^4Purple Glow^3!", prefix, Name )
    }
    
    case 7:
    {
    set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 173, 054, 255, kRenderNormal, 255)
    ColorChat(0, GREY, "%s %s now has a ^4Purple Glow^3 (^4 Weird^3 )!", prefix, Name )
    }
    
    case 8:
    {
    set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 0, 255, 255, kRenderNormal, 255)
    ColorChat(0, GREY, "%s %s now has a ^4Cyan Glow^3!", prefix, Name )
    }
    
    case 9:
    {
    set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 0, 131, 255, kRenderNormal, 255)
    ColorChat(0, GREY, "%s %s now has a ^4Blue Glow^3 (^4 Weird^3 )!", prefix, Name )
    }
    }
    return PLUGIN_HANDLED
    }

     

     

    Komplimer mi piše to to :

    Welcome to the AMX Mod X 1.8.1-300 Compiler.
    Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
    
    /var/www/temp/textiuYY5v.sma(390) : warning 213: tag mismatch
    /var/www/temp/textiuYY5v.sma(402) : warning 213: tag mismatch
    /var/www/temp/textiuYY5v.sma(2071) : warning 213: tag mismatch
    /var/www/temp/textiuYY5v.sma(2080) : warning 213: tag mismatch
    /var/www/temp/textiuYY5v.sma(2089) : warning 213: tag mismatch
    /var/www/temp/textiuYY5v.sma(2098) : warning 213: tag mismatch
    /var/www/temp/textiuYY5v.sma(2160) : warning 213: tag mismatch
    /var/www/temp/textiuYY5v.sma(2182) : warning 213: tag mismatch
    /var/www/temp/textiuYY5v.sma(2205) : warning 213: tag mismatch
    /var/www/temp/textiuYY5v.sma(2225) : warning 213: tag mismatch
    /var/www/temp/textiuYY5v.sma(2414) : error 014: invalid statement; not in switch
    /var/www/temp/textiuYY5v.sma(2414) : warning 215: expression has no effect
    /var/www/temp/textiuYY5v.sma(2414) : error 001: expected token: ";", but found ":"
    /var/www/temp/textiuYY5v.sma(2414) : error 029: invalid expression, assumed zero
    /var/www/temp/textiuYY5v.sma(2414) : fatal error 107: too many error messages on one line
    
    Compilation aborted.
    4 Errors.

  5. Ahoj,

    Našol som tady na fóre jedno RÁDIO na GTA:SA MP ale nejak nejde urobiť :( Trochu som ho upravil ale aj v základnom tvare to nejde :/

     

    SCRIPT:

     

    #include <a_samp>
    #define DEIALOG_ID 7777
    new radiolist[][][] =
    {
    {"http://icecast3.play.cz/evropa2-128.mp3","Evropa2"},
    {"http://www.radia.sk/_radia/stream_playlist/europa2.m3u","Europa2"},
    {"http://icecast2.play.cz:8000/HipHopStage128.mp3","HipHopStage"},
    {"http://icecast5.play.cz:8000/expres128mp3","ExpresRadio"},
    {"http://ice-01.lagardere.cz/web-80.m3u","frekrence1 80"},
    {"http://icecast7.play.cz:443/cro1-128.mp3","Radiožurnál"},
    {"http://mp3stream4.abradio.cz:8000/fajnblack128.mp3","Fajn Rádio Black"},
    {"http://stream.funradio.sk:8000/fun128.mp3.m3u","Fun Radio"},
    {"http://81.218.219.203:8000","Pulse Israel"},
    {"http://icecast.clickfm.co.il:8002/click2dance","Dance"}
    };
    new bool:Radio[MAX_PLAYERS];
    public OnPlayerCommandText(playerid, cmdtext[])
    {
           if(!strcmp(cmdtext,"/radio",true))
    {
            new list[500];
            for(new i; i <= sizeof(radiolist); i++)
            {
      if(i == sizeof(radiolist)) format(list,500,"%s\n \n{FF0000}Vypnout!!",list);
      else format(list,500,"%s\n{FAFAFA}%02d) {FF9900}%s",list,i+1,radiolist[i][1]);
            }
     ShowPlayerDialog(playerid,DEIALOG_ID,DIALOG_STYLE_LIST,"{00C8C8}Prosím vyberte stanici",list,"Pustit","Zavřít");
                   return 1;
           }
           if(!strcmp(cmdtext,"/radio-all-off",true) && IsPlayerAdmin(playerid))
           {
                   for(new i,m=GetMaxPlayers(); i < m; i++) if(IsPlayerConnected(i) && Radio[i]) StopAudioStreamForPlayer(i),Radio[i] = false;
                   return 1;
           }
           if(!strcmp(cmdtext,"/radioinfo",true)) return SendClientMessage(playerid,0xFFFFFFAA,"Radio List [V0.4] | By: KnightRider");
    
           if(!strcmp(cmdtext,"/offradio",true))
    {
     StopAudioStreamForPlayer(playerid);
     Radio[playerid] = false;
     return 1;
    }
    return 0;
    }
    public OnPlayerConnect(playerid) Radio[playerid] = false;
    public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
    {
    if(!response) return 1;
    if(dialogid == DEIALOG_ID)
     {
             if(listitem == sizeof(radiolist)) return OnPlayerCommandText(playerid,"/radio");
     if(listitem == sizeof(radiolist)+1) return StopAudioStreamForPlayer(playerid),Radio[playerid] = false;
     StopAudioStreamForPlayer(playerid);
     PlayAudioStreamForPlayer(playerid,radiolist[listitem][0]);
     new str[50]; format(str,50,"Pustil jsis radio \"%s\"...",radiolist[listitem][1]);
     SendClientMessage(playerid,0x33CCFFAA,str);
     SendClientMessage(playerid,0xFFFFFFAA,"vypneš rádio: /offradio");
     Radio[playerid] = true;
     return 1;
    }
    return 0;
    }

     

     

    CHYBA

     

     

    C:\Users\roman\Desktop\radio.pwn(27) : warning 217: loose indentation
    C:\Users\roman\Desktop\radio.pwn(28) : warning 217: loose indentation
    C:\Users\roman\Desktop\radio.pwn(43) : warning 217: loose indentation
    C:\Users\roman\Desktop\radio.pwn(52) : warning 217: loose indentation
    Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase
    
    
    4 Warnings.

     

  6. Ahoj,

    Hľadám jeden FS na GPS systém, keď napíšete /gps tak sa vám ukáže na obrazovke tabuľka a tam bude napr. Polícia (kliknite na to 2-krát) a nastaví sa vám na mape bod kde mate isť. Chcel by som tam aj príkaze na vytváranie tých gps bodov a aj vymazanie a upravovanie názvu :)

     

    Prosím odpíšte/poradte

  7. Ahoj,

    Našom som jeden FS na AutoMessages (AutomatickúReklamu) ale je tam menši problém, som neskušení pawner a neviem ako to opraviť tady je script :

    #include
    
    forward Reklama();
    
    public OnFilterScriptInit()
    {
    
    SetTimer("Reklama",30000,1); // settimer ktory spusti dalsiu reklamu 1.000 = 1 sekunda , 40 sekund = 40.000
    
    return 1;
    }
    #define COLOR_ORANGE 0xFF8C00AA
    
    public Reklama() {
    switch(random(15)) {
    
    case 0: {
    SendClientMessageToAll(COLOR_ORANGE, "Skus příkaz /carmenu a spawni si svoje oblíbený auto");
    }
    
    case 1: {
    SendClientMessageToAll(COLOR_ORANGE, "Majitelé serveru: DxGamer, Miki851");
    }
    
    case 2: {
    SendClientMessageToAll(COLOR_ORANGE, "Hl.Admini: cool8818");
    }
    
    case 3: {
    SendClientMessageToAll(COLOR_ORANGE, "Na serveru si můžete naladit svoje oblíbené Rádio(LIVE),příkazem: /radio");
    }
    
    case 4: {
    SendClientMessageToAll(COLOR_ORANGE, "Budete-li něco chtít napište adminům-oni vám pomůžou");
    }
    
    case 5: {
    SendClientMessageToAll(COLOR_ORANGE, "podívejte se taky na náš web: www.samp.royalgame.eu");
    }
    
    case 6: {
    SendClientMessageToAll(COLOR_ORANGE, "Budou se konat i Eventy o veliké odměny.");
    }
    }
    return 1;
    }
    
    
    //---------------------------------//
    // //
    // //
    // //
    // //
    // //
    // //
    // //
    // //
    //---------------------------------//
    
    
    //---TEXT prepíš a daj tam svôj text/reklamu 
    //---Prosím neprepisovať autora je to môj prvý FS 
    //---Návod: Vlož tento FS do zložki filescripts a potom daj do configu reklama BEZ AMX ! a hraj 
    

    Problém

    C:\Users\roman\Desktop\reklama.pwn(1) : fatal error 100: cannot read from file: ""
    
    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    
    
    1 Error.

×
×
  • Create New...