Bele írtam a módba még pár párbajt de összesen csak 9 párbajt enged ha a 10 et kiválasztom megöl mi lehet ennek az oka?
 
   
 Kód: #include <amxmodx> #include <amxmisc> #include <engine> #include <fakemeta> #include <hamsandwich> #include <fun> #include <cstrike>   #define PLUGIN_NAME   "JailBreak Extreme" #define PLUGIN_AUTHOR   "JoRoPiTo" #define PLUGIN_VERSION   "1.9" #define PLUGIN_CVAR   "jbextreme"   #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   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] }   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   // Precache 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" },    { "M4A1", CSW_M4A1, "weapon_m4a1", "JBE_MENU_LASTREQ_OPT8", "JBE_MENU_LASTREQ_SEL8" },    { "Ak47", CSW_AK47, "weapon_ak47", "JBE_MENU_LASTREQ_OPT9", "JBE_MENU_LASTREQ_SEL9" },    { "TMP", CSW_TMP, "weapon_tmp", "JBE_MENU_LASTREQ_OPT10", "JBE_MENU_LASTREQ_SEL10" } }   // 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")      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")      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 /fd", "cmd_freeday")    register_clcmd("say /freeday", "cmd_freeday")    register_clcmd("say /day", "cmd_freeday")    register_clcmd("say /lr", "cmd_lastrequest")    register_clcmd("say /lastrequest", "cmd_lastrequest")    register_clcmd("say /duel", "cmd_lastrequest")    register_clcmd("say /simon", "cmd_simon")    register_clcmd("say /open", "cmd_open")    register_clcmd("say /nomic", "cmd_nomic")    register_clcmd("say /box", "cmd_box")    register_clcmd("say /help", "cmd_help")      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", "1")    gp_CrowbarMul = register_cvar("jbe_crowbarmultiplier", "25.0")    gp_CrowbarMax = register_cvar("jbe_maxcrowbar", "1")    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", "6")    gp_BoxMax = register_cvar("jbe_boxmax", "6")    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", "2")   // 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() {    static i    precache_model("models/player/jbemodel/jbemodel.mdl")      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])      precache_sound("jbextreme/nm_goodbadugly.wav")    precache_sound("jbextreme/brass_bell_C.wav")       g_CellManagers = TrieCreate()    gp_PrecacheSpawn = register_forward(FM_Spawn, "precache_spawn", 1)    gp_PrecacheKeyValue = register_forward(FM_KeyValue, "precache_keyvalue", 1) }   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]])            set_user_info(id, "model", "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]++          set_user_info(id, "model", "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      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/brass_bell_C.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]--       if(get_pcvar_num(gp_GlowModels))          player_glow(id, g_Colors[0])         hud_status(0)    }    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() {    client_cmd(0,"speak ambience/siren")    set_task(8.0, "stop_sound")    hud_status(0) }   public stop_sound(task) {    client_cmd(0, "stopsound") }   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/brass_bell_C.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, "jbextreme/brass_bell_C.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/nm_goodbadugly.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 mindenkinek szabadnapot adott", dst)             server_print("JBE Client %i mindenkinek szabadnapot adott", 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)       }    } }   
		 |