Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <hamsandwich>
- #include <cstrike>
- #include <fun>
- #include <fakemeta>
- #define PLUGIN_NAME "Jailbreak Extra by XaqtR"
- #define PLUGIN_AUTHOR "XaqtR"
- #define PLUGIN_VERSION "1.0"
- #define PLUGIN_CVAR "jailbreak_extra"
- #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 TASK_GLOW 2487600
- #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 Keyssmenu (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8) // Keys: 123456789
- #define Keyszbrane (1<<0)|(1<<1)|(1<<2) // Keys: 123
- #define Keysbox (1<<0)|(1<<1)|(1<<9) // Keys: 120
- #define Keysstopy (1<<0)|(1<<1)|(1<<9) // Keys: 120
- #define Keysmic (1<<0)|(1<<1)|(1<<9) // Keys: 120
- #define Keysmody (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<9) // Keys: 123450
- #define Keysfutbal (1<<0)|(1<<1)|(1<<9) // Keys: 120
- #define Keysmenuprestrelka (1<<0)|(1<<1)|(1<<2)|(1<<9) // Keys: 1230
- #define Keysklasickaprestrelka (1<<0)|(1<<1) // Keys: 12
- #define Keyspistolsprestrelka (1<<0)|(1<<1)|(1<<2)|(1<<3) // Keys: 1234
- 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 gMicOn = 0
- 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 eMod
- new eModLimit
- new eModSound
- // Precach
- 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" },
- { "Grenades", CSW_HEGRENADE, "weapon_hegrenade", "JBE_MENU_LASTREQ_OPT5", "JBE_MENU_LASTREQ_SEL5" },
- { "Scout", CSW_SCOUT, "weapon_scout", "JBE_MENU_LASTREQ_OPT6", "JBE_MENU_LASTREQ_SEL6" },
- { "Awp", CSW_AWP, "weapon_awp", "JBE_MENU_LASTREQ_OPT7", "JBE_MENU_LASTREQ_SEL7" }
- }
- // 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_menucmd(register_menuid("menuprestrelka"), Keysmenuprestrelka, "Pressedmenuprestrelka")
- register_menucmd(register_menuid("klasickaprestrelka"), Keysklasickaprestrelka, "Pressedklasickaprestrelka")
- register_menucmd(register_menuid("pistolsprestrelka"), Keyspistolsprestrelka, "Pressedpistolsprestrelka")
- register_menucmd(register_menuid("mody"), Keysmody, "Pressedmody")
- register_menucmd(register_menuid("futbal"), Keysfutbal, "Pressedfutbal")
- register_menucmd(register_menuid("mic"), Keysmic, "Pressedmic")
- register_menucmd(register_menuid("stopy"), Keysstopy, "Pressedstopy")
- register_menucmd(register_menuid("box"), Keysbox, "Pressedbox")
- register_menucmd(register_menuid("zbrane"), Keyszbrane, "Pressedzbrane")
- register_menucmd(register_menuid("smenu"), Keyssmenu, "Pressedsmenu")
- register_dictionary("jailbreak_extra.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 /simon", "cmd_simon")
- register_clcmd("say /smenu", "Showsmenu")
- register_clcmd("say /nomic", "cmd_nomic")
- register_clcmd("say /pp", "cmd_lastrequest")
- register_clcmd("jbe_freeday", "adm_freeday", ADMIN_IMMUNITY)
- register_concmd("jbe_nomic", "adm_nomic", ADMIN_KICK)
- register_concmd("jbe_open", "adm_open", ADMIN_SLAY)
- register_concmd("jbe_box", "adm_box", ADMIN_IMMUNITY)
- gp_GlowModels = register_cvar("jbe_glowmodels", "1")
- gp_SimonSteps = register_cvar("jbe_simonsteps", "0")
- gp_CrowbarMul = register_cvar("jbe_crowbarmultiplier", "0")
- gp_CrowbarMax = register_cvar("jbe_maxcrowbar", "0")
- gp_TeamRatio = register_cvar("jbe_teamratio", "3")
- gp_TeamChange = register_cvar("jbe_teamchange", "1") // 0-disable team change for tt / 1-enable team change
- gp_CtMax = register_cvar("jbe_maxct", "8")
- gp_BoxMax = register_cvar("jbe_boxmax", "15")
- gp_RetryTime = register_cvar("jbe_retrytime", "15.0")
- gp_RoundMax = register_cvar("jbe_freedayround", "200")
- 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()
- setup_buttons()
- }
- public plugin_precache()
- {
- static i
- precache_model("models/player/gc_straznik/gc_straznik.mdl")
- precache_model("models/player/gc_simonct/gc_simonct.mdl")
- precache_model("models/player/gc_tvezen/gc_tvezen.mdl")
- precache_model("models/player/gc_vipc/gc_vipc.mdl")
- precache_model("models/player/gc_viptvezen/gc_viptvezen.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("jailbreak_extra/nm_goodbadugly.wav")
- precache_sound("jailbreak_extra/brass_bell_C.wav")
- precache_sound("jailbreak_extra/freeday.wav")
- precache_sound("jailbreak_extra/prestrelka.wav")
- precache_sound("jailbreak_extra/onlyscout.wav")
- precache_sound("jailbreak_extra/schovka.wav")
- precache_sound("jailbreak_extra/pistolsprestrelka.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)
- {
- gMicOn = 0
- 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)
- set_user_info(id, "model", "gc_tvezen")
- if (get_user_flags(id) & ADMIN_RESERVATION)
- {
- set_user_info(id, "model", "gc_viptvezen")
- }
- else
- {
- cs_reset_user_model(id)
- }
- 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", "gc_straznik")
- ChatColor(id, "%L", LANG_PLAYER, "GUNMENU")
- ChatColor(id, "%L", LANG_PLAYER, "CHCES_SIMONA")
- Showzbrane(id)
- if (get_user_flags(id) & ADMIN_RESERVATION)
- {
- set_user_info(id, "model", "gc_vipc")
- }
- else
- {
- cs_reset_user_model(id)
- }
- 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
- }
- if(gMicOn && is_user_alive(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
- gMicOn = 0
- eMod = 0
- eModSound = 0
- set_task(3.0, "stop_sound", 0)
- set_lights("#OFF");
- 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_T):
- {
- cs_reset_user_model(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
- check_freeday(TASK_FREEDAY)
- }
- else
- {
- set_task(60.0, "check_freeday", TASK_FREEDAY)
- }
- set_task(HUD_DELAY, "hud_status", TASK_STATUS, _, _, "b")
- set_task(100.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) || gMicOn)
- 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) || gMicOn)
- 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
- ChatColor(id, "%L", LANG_PLAYER, "PRIKAZ")
- get_user_name(id, name, charsmax(name))
- set_user_info(id, "model", "gc_simonct")
- g_PlayerSimon[id]--
- if(get_pcvar_num(gp_GlowModels))
- player_glow(id, g_Colors[0])
- Showsmenu(id)
- hud_status(0)
- }
- return PLUGIN_HANDLED
- }
- public cmd_nomic(id)
- {
- static CsTeams:team
- team = cs_get_user_team(id)
- if(team == CS_TEAM_CT)
- {
- server_print("Server: Straznik premiestneny k veznom #%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)
- cs_set_user_team(id, CS_TEAM_T)
- set_user_info(id, "model", "jbe_model")
- spawn(id)
- }
- 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_stopbox(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_cvar_num("mp_tkpunish", 0)
- set_cvar_num("mp_friendlyfire", 0)
- g_BoxStarted = 1
- player_hudmessage(0, 1, 3.0, _, "%L", LANG_SERVER, "JBE_GUARD_STOPBOX")
- }
- }
- 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_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT)
- {
- formatex(menuname, charsmax(menuname), "\rVyber si volny den pre:")
- menu = menu_create(menuname, "freeday_choice")
- formatex(option, charsmax(option), "\wUrciteho vezna")
- menu_additem(menu, option, "1", 0)
- formatex(option, charsmax(option), "\yVsetkych veznov")
- 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)
- menu_players(id, CS_TEAM_T, id, 1, "freeday_select", "\rVyber si hraca:\w")
- 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 || g_PlayerLast !=id || !is_user_alive(id))
- return PLUGIN_CONTINUE
- formatex(menuname, charsmax(menuname), "\rTvoje posledne prianie?")
- menu = menu_create(menuname, "lastrequest_select")
- formatex(option, charsmax(option), "\yVolny den")
- menu_additem(menu, option, "1", 0)
- formatex(option, charsmax(option), "\rFreeGun")
- menu_additem(menu, option, "2", 0)
- formatex(option, charsmax(option), "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))
- {
- player_strip_weapons(g_DuelA)
- }
- if(is_user_alive(g_DuelB))
- {
- 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}, "Vezni sa vzburili!!!")
- 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_BlockWeapons = 1
- 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, "jailbreak_extra/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)
- {
- g_BlockWeapons = 0
- emit_sound(0, CHAN_AUTO, "jailbreak_extra/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")
- for(new i = 0; i < g_MaxClients; i++)
- {
- if(g_Simon)
- set_user_rendering(i,kRenderFxGlowShell,0,0,0,kRenderNormal,25)
- }
- }
- }
- 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_SEL2", 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 - 3][_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 - 3][_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 - 3][_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)
- {
- 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 || g_PlayerLast != id)
- {
- 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, "UJBM_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])
- server_cmd("jb_block_weapons")
- 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, "UJBM_MENU_DUEL")
- }
- default:
- {
- g_Duel = str_to_num(data)
- menu_players(id, CS_TEAM_CT, 0, 1, "duel_guns", "%L", LANG_SERVER, "UJBM_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))
- {
- 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)
- }
- }
- }
- /*============================================================
- *** SIMONMENU ***
- ============================================================*/
- public Showsmenu(id)
- {
- if (g_Simon == id || get_user_flags(id) & ADMIN_IMMUNITY)
- {
- show_menu(id, Keyssmenu, "\ySimonMenu \w| \r/smenu^n^n\y1. \rOtvorit cely^n\y2. \wVolny den^n\y3. \yZvonec!^n\y4. \wBox menu^n\y5. \wSimonove stopy^n\y6. \yHerne mody^n\y7. \wNastavenie mikrofonov^n\y8. \wDobit HP veznom", -1, "smenu") // Display menu
- }
- else
- {
- ChatColor(id, "%L", LANG_PLAYER, "JBE_ONLY_SIMON")
- }
- }
- public Pressedsmenu(id, key) {
- /* Menu:
- * SimonMenu | /smenu
- *
- * 1. Otvorit cely
- * 2. Volny den
- * 3. Zvonec
- * 4. Box menu
- * 5. Simonove stopy
- * 6. Herne mody
- * 7. Nastavenie mikrofonov
- * 8. Dobit HP veznom
- *
- */
- switch (key)
- {
- case 0: { // 1
- jail_open()
- ChatColor(id, "%L", LANG_SERVER, "CELY_OTVORENE")
- Showsmenu(id)
- }
- case 1: { // 2
- cmd_freeday(id)
- }
- case 2: { // 3
- emit_sound(0, CHAN_AUTO, "jbextreme/brass_bell_C.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
- Showsmenu(id)
- }
- case 3: { // 4
- Showbox(id)
- }
- case 4: { // 5
- Showstopy(id)
- }
- case 5: { // 6
- if(!eMod || !eModLimit)
- Showmody(id)
- }
- case 6: { // 7
- Showmic(id)
- }
- case 7:
- { // 8
- if(cs_get_user_team(id) & CS_TEAM_T)
- {
- set_user_health(id, 100)
- ChatColor(id, "%L", LANG_PLAYER, "VEZNI_HP")
- }
- if(g_Simon)
- {
- ChatColor(id, "%L", LANG_PLAYER, "SIMON_HP")
- }
- }
- }
- }
- /*============================================================
- VYBER ZBRANI
- ============================================================*/
- public Showzbrane(id) {
- if(cs_get_user_team(id) & CS_TEAM_CT)
- {
- show_menu(id, Keyszbrane, "\rVyber si zbran:^n^n\y1. \yM4A1 \w+ Deagle + doplnky^n\y2. \yAK47 \w+ Deagle + doplnky^n\y3. \yFAMAS \w+ Deagle + doplnky^n\y4. \yD3/AU1 \w+ Deagle + doplnky^n\y5. \yAWP \w+ Deagle + doplnky^n", -1, "zbrane") // Display menu
- }
- }
- public Pressedzbrane(id, key) {
- /* Menu:
- * Nastavenie mikrofonov
- *
- * 1. Zapnute
- * 2. Vypnute
- *
- * 0. Spat
- */
- switch (key) {
- case 0:
- { // 1
- strip_user_weapons(id)
- give_item(id, "weapon_m4a1")
- give_item(id, "weapon_deagle")
- give_item(id, "weapon_knife")
- give_item(id, "weapon_hegrenade")
- give_item(id, "weapon_flashbang")
- give_item(id, "weapon_flashbang")
- give_item(id, "weapon_smokegrenade")
- give_item(id, "item_assaultsuit")
- cs_set_user_bpammo(id, CSW_M4A1, 250)
- cs_set_user_bpammo(id, CSW_DEAGLE, 100)
- ChatColor(id, "%L", LANG_PLAYER, "BUY_M4A1")
- }
- case 1:
- { // 2
- strip_user_weapons(id)
- give_item(id, "weapon_ak47")
- give_item(id, "weapon_deagle")
- give_item(id, "weapon_knife")
- give_item(id, "weapon_hegrenade")
- give_item(id, "weapon_flashbang")
- give_item(id, "weapon_flashbang")
- give_item(id, "weapon_smokegrenade")
- give_item(id, "item_assaultsuit")
- cs_set_user_bpammo(id, CSW_AK47, 250)
- cs_set_user_bpammo(id, CSW_DEAGLE, 100)
- ChatColor(id, "%L", LANG_PLAYER, "BUY_AK47")
- case 2:
- { // 2
- strip_user_weapons(id)
- give_item(id, "weapon_awp")
- give_item(id, "weapon_deagle")
- give_item(id, "weapon_knife")
- give_item(id, "weapon_hegrenade")
- give_item(id, "weapon_flashbang")
- give_item(id, "weapon_flashbang")
- give_item(id, "weapon_smokegrenade")
- give_item(id, "item_assaultsuit")
- cs_set_user_bpammo(id, CSW_AWP, 250)
- cs_set_user_bpammo(id, CSW_DEAGLE, 100)
- ChatColor(id, "%L", LANG_PLAYER, "BUY_AWP")
- }
- }
- }
- /*============================================================
- SIMONOVE STOPY
- ============================================================*/
- public Showstopy(id) {
- show_menu(id, Keysstopy, "\rSimonove stopy:^n^n\y1. \wZapnute^n\y2. \wVypnute^n\y^n0. \ySpat^n", -1, "stopy") // Display menu
- }
- public Pressedstopy(id, key) {
- /* Menu:
- * Simonove stopy:
- *
- * 1. Zapnute
- * 2. Vypnute
- *
- * 0. Spat
- */
- switch (key) {
- case 0:
- { // 1
- set_cvar_num("jbe_simonsteps", 1)
- Showsmenu(id)
- ChatColor(id, "%L", LANG_PLAYER, "STOPY_ON")
- }
- case 1:
- { // 2
- set_cvar_num("jbe_simonsteps", 0)
- Showsmenu(id)
- ChatColor(id, "%L", LANG_PLAYER, "STOPY_OFF")
- }
- case 9: { // 0
- Showsmenu(id)
- }
- }
- }
- /*============================================================
- NASTAVENIE BOXU
- ============================================================*/
- public Showbox(id) {
- show_menu(id, Keysbox, "\rNastavenie boxu:^n^n\y1. \wZapnut box^n\y2. \wVypnut box^n\y^n0. \ySpat^n", -1, "box") // Display menu
- }
- public Pressedbox(id, key) {
- /* Menu:
- * Nastavenie Boxu:
- *
- * 1. Zapnut Box
- * 2. Vypnut Box
- *
- * 0. Spat
- */
- switch (key) {
- case 0: { // 1
- cmd_box(id)
- ChatColor(id, "%L", LANG_PLAYER, "BOX_ON")
- Showbox(id)
- }
- case 1: { // 2
- cmd_stopbox(id)
- ChatColor(id, "%L", LANG_PLAYER, "BOX_OFF")
- Showbox(id)
- }
- case 9: { // 0
- Showsmenu(id)
- }
- }
- }
- /*============================================================
- NASTAVENIE MIKROFONOV
- ============================================================*/
- public Showmic(id) {
- show_menu(id, Keysmic, "\rNastavenie mikrofonov:^n^n\y1. \wZapnute^n\y2. \wVypnute^n\y^n0. \ySpat^n", -1, "mic") // Display menu
- }
- public Pressedmic(id, key) {
- /* Menu:
- * Nastavenie mikrofonov
- *
- * 1. Zapnute
- * 2. Vypnute
- *
- * 0. Spat
- */
- switch (key) {
- case 0: { // 1
- gMicOn = 1
- Showsmenu(id)
- ChatColor(id, "%L", LANG_PLAYER, "MIC_ON")
- player_hudmessage(0, 1, 3.0, _, "%L", LANG_SERVER, "MIC_HUD_ON")
- }
- case 1: { // 2
- gMicOn = 0
- Showsmenu(id)
- ChatColor(id, "%L", LANG_PLAYER, "MIC_OFF")
- player_hudmessage(0, 1, 3.0, _, "%L", LANG_SERVER, "MIC_HUD_OFF")
- }
- case 9: { // 0
- Showsmenu(id)
- }
- }
- }
- /*============================================================
- HERNE MODY
- ============================================================*/
- public Showmody(id) {
- show_menu(id, Keysmody, "\rZvol herny mod:^n^n\y1. \wPrestrelka^n\y2. \wSchovka^n\y3. \wKaraoke menu \r[ZATIAL NEFUNKCNE]^n\y4. \wFutbal \r[ZATIAL NEFUNKCNY]^n^n\y0. \ySpat^n", -1, "mody") // Display menu
- }
- public Pressedmody(id, key) {
- /* Menu:
- * Zvol herny mod:
- *
- * 1. Prestrelka
- * 2. Schovka
- * 3. Karaoke menu [ZATIAL NEFUNKCNE]
- * 4. Futbal [ZATIAL NEFUNKCNY]
- *
- * 0. Spat
- */
- switch (key) {
- case 0:
- {
- Showmenuprestrelka(id)
- }
- case 1:
- {
- g_BlockWeapons = 1
- g_BoxStarted = 0
- jail_open()
- eModSound = 2
- eMod = 1
- eModLimit = 1
- g_SimonAllowed = 0
- g_Simon = 0
- emit_sound(0, CHAN_AUTO, "jailbreak_extra/brass_bell_C.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
- player_hudmessage(0, 1, 3.0, _, "%L", LANG_SERVER, "MOD_SCHOVKA")
- set_lights("b");
- new Players[32]
- new playerCount, i
- get_players(Players, playerCount, "ac")
- for (i=0; i<playerCount; i++)
- {
- strip_user_weapons(Players[i])
- }
- set_task(30.0,"cmd_hns_start")
- }
- case 2:
- {
- Showkaraoke(id)
- }
- case 3:
- {
- }
- case 9:
- {
- Showsmenu(id)
- }
- }
- }
- public mod_utek(id)
- {
- switch(eModSound)
- {
- case 1:
- {
- emit_sound(0, CHAN_AUTO, "jailbreak_extra/prestrelka.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
- }
- case 2:
- {
- emit_sound(0, CHAN_AUTO, "jailbreak_extra/schovka.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
- }
- case 3:
- {
- emit_sound(0, CHAN_AUTO, "jailbreak_extra/onlyscout.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
- }
- case 4:
- {
- emit_sound(0, CHAN_AUTO, "jailbreak_extra/pistolsprestrelka.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
- }
- }
- jail_open()
- }
- /*============================================================
- HERNE MODY - PRESTRELKA MENU
- ============================================================*/
- public Showmenuprestrelka(id) {
- show_menu(id, Keysmenuprestrelka, "\rVyber si druh prestrelky:^n^n\y1. \wKlasicka - M4A1/AK47^n\y2. \wOnly Scout^n\y3. \wPistols^n^n\y0. \ySpat^n", -1, "menuprestrelka") // Display menu
- }
- public Pressedmenuprestrelka(id, key)
- {
- /* Menu:
- * Vyber si druh prestrelky:
- *
- * 1. Klasicka - M4A1/AK47
- * 2. Only Scout
- * 3. Pistols
- *
- */
- switch (key) {
- case 0:
- { // 1
- g_BlockWeapons = 1
- player_strip_weapons(id)
- set_task(1.0, "Showklasickaprestrelka", 0)
- set_task(5.0, "mod_utek")
- eModSound = 1
- eMod = 1
- eModLimit = 1
- emit_sound(0, CHAN_AUTO, "jailbreak_extra/brass_bell_C.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
- player_hudmessage(0, 1, 3.0, _, "%L", LANG_SERVER, "MOD_KLASICKAPRESTRELKA")
- }
- case 1:
- { // 2
- g_BlockWeapons = 1
- player_strip_weapons(id)
- set_task(5.0, "mod_utek")
- eModSound = 3
- eMod = 1
- eModLimit = 1
- new players[32], count;
- get_players(players, count, "a");
- for (new i; i < count; i++)
- {
- give_item(players[i], "weapon_scout");
- give_item(players[i], "weapon_scout");
- give_item(players[i], "weapon_scout");
- give_item(players[i], "weapon_scout");
- if(cs_get_user_team(id) & CS_TEAM_CT)
- {
- set_user_health(id, 150)
- give_item(id, "item_assaultsuit")
- }
- emit_sound(0, CHAN_AUTO, "jailbreak_extra/brass_bell_C.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
- player_hudmessage(0, 1, 3.0, _, "%L", LANG_SERVER, "MOD_ONLYSCOUT")
- }
- }
- case 2:
- { // 3
- player_strip_weapons(id)
- g_BlockWeapons = 1
- set_task(1.0, "Showpistolsprestrelka", 0)
- set_task(5.0, "mod_utek")
- eModSound = 4
- eMod = 1
- eModLimit = 1
- emit_sound(0, CHAN_AUTO, "jailbreak_extra/brass_bell_C.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
- player_hudmessage(0, 1, 3.0, _, "%L", LANG_SERVER, "MOD_PISTOLSPRESTRELKA")
- }
- case 9:
- {
- Showmody(id)
- }
- }
- }
- /*============================================================
- 1. PRESTRELKA - M4A1/AK47
- ============================================================*/
- public Showklasickaprestrelka(id) {
- show_menu(id, Keysklasickaprestrelka, "\yPrestrelka! \w| \rVyber si zbran:^n^n\y1. \wMaverick M4A1 Carbine (Colt)^n\y2. \wCV-47 (AK-47)^n", -1, "klasickaprestrelka") // Display menu
- }
- public Pressedklasickaprestrelka(id, key)
- {
- /* Menu:
- * Prestrelka M4A1/AK47! | Vyber si zbran:
- *
- * 1. Maverick M4A1 Carbine (Colt)
- * 2. CV-47 (AK-47)
- *
- */
- switch (key) {
- case 0:
- { // 1
- give_item(id, "weapon_m4a1")
- cs_set_user_bpammo(id, CSW_M4A1, 250)
- if(cs_get_user_team(id) & CS_TEAM_CT)
- {
- set_user_health(id, 150)
- give_item(id, "item_assaultsuit")
- }
- }
- case 1:
- { // 2
- give_item(id, "weapon_ak47")
- cs_set_user_bpammo(id, CSW_AK47, 250)
- if(cs_get_user_team(id) & CS_TEAM_CT)
- {
- set_user_health(id, 150)
- give_item(id, "item_assaultsuit")
- }
- }
- }
- }
- /*============================================================
- 3. PRESTRELKA - PISTOLS
- ============================================================*/
- public Showpistolsprestrelka(id) {
- show_menu(id, Keyspistolsprestrelka, "\yPrestrelka! \w| \rVyber si zbran:^n^n\y1. \wKM .45 Tactical (USP)^n\y2. \w9x19 mm Sidearm (Glock)^n\y3. \wES Five-Seven^n\y4. \wKnighthawk .50C (Desert Eagle)^n", -1, "pistolsprestrelka") // Display menu
- }
- public Pressedpistolsprestrelka(id, key)
- {
- /* Menu:
- * Prestrelka Pistols! | Vyber si zbran:
- *
- * 1. KM .45 Tactical (USP)
- * 2. 9x19 mm Sidearm (Glock)
- * 3. ES Five-Seven
- * 4. Knighthawk .50C (Desert Eagle)
- *
- */
- switch (key) {
- case 0:
- { // 1
- give_item(id, "weapon_usp")
- cs_set_user_bpammo(id, CSW_USP, 250)
- if(cs_get_user_team(id) & CS_TEAM_CT)
- {
- set_user_health(id, 150)
- give_item(id, "item_assaultsuit")
- }
- }
- case 1:
- { // 2
- give_item(id, "weapon_glock18")
- cs_set_user_bpammo(id, CSW_GLOCK18, 250)
- if(cs_get_user_team(id) & CS_TEAM_CT)
- {
- set_user_health(id, 150)
- give_item(id, "item_assaultsuit")
- }
- }
- case 2:
- { // 3
- give_item(id, "weapon_fiveseven")
- cs_set_user_bpammo(id, CSW_FIVESEVEN, 250)
- if(cs_get_user_team(id) & CS_TEAM_CT)
- {
- set_user_health(id, 150)
- give_item(id, "item_assaultsuit")
- }
- }
- case 3:
- { // 4
- give_item(id, "weapon_deagle")
- cs_set_user_bpammo(id, CSW_DEAGLE, 250)
- if(cs_get_user_team(id) & CS_TEAM_CT)
- {
- set_user_health(id, 150)
- give_item(id, "item_assaultsuit")
- }
- }
- }
- }
- /*============================================================
- SCHOVKA
- ============================================================*/
- public cmd_hns_start()
- {
- g_BlockWeapons = 0
- new Players[32]
- new playerCount, i
- get_players(Players, playerCount, "ac")
- for (i=0; i<playerCount; i++)
- {
- if (cs_get_user_team(Players[i]) == CS_TEAM_T)
- {
- give_item(Players[i], "weapon_knife")
- current_weapon(Players[i])
- give_item(Players[i], "weapon_flashbang")
- give_item(Players[i], "weapon_smokegrenade")
- set_user_maxspeed(Players[i], 300.0)
- set_user_health(Players[i], 100)
- }
- else
- {
- give_item(Players[i], "weapon_knife")
- current_weapon(Players[i])
- give_item(Players[i], "weapon_smokegrenade")
- client_cmd(Players[i], "impulse 100")
- new j = random_num(0, sizeof(_WeaponsFree) - 1)
- give_item(Players[i], _WeaponsFree[j])
- cs_set_user_bpammo(Players[i], _WeaponsFreeCSW[j], _WeaponsFreeAmmo[j])
- /// give two random guns
- new n = random_num(0, sizeof(_WeaponsFree) - 1)
- while (n == j) {
- n = random_num(0, sizeof(_WeaponsFree) - 1)
- }
- give_item(Players[i], _WeaponsFree[n])
- cs_set_user_bpammo(Players[i], _WeaponsFreeCSW[n], _WeaponsFreeAmmo[n])
- }
- }
- emit_sound(0, CHAN_AUTO, "jailbreak_extra/brass_bell_C.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
- new sz_msg[256];
- formatex(sz_msg, charsmax(sz_msg), "^x03%L", LANG_SERVER, "MOD_SCHOVKA_START")
- client_print(0, print_center , sz_msg)
- }
- /*============================================================
- Stocks!
- ============================================================*/
- stock ChatColor(const id, const input[], any:...)
- {
- new count = 1, players[32]
- static msg[191]
- vformat(msg, 190, input, 3)
- replace_all(msg, 190, "!g", "^4") // Green Color
- replace_all(msg, 190, "!y", "^1") // Default Color
- replace_all(msg, 190, "!team", "^3") // Team Color
- if (id) players[0] = id; else get_players(players, count, "ch")
- {
- for (new i = 0; i < count; i++)
- {
- if (is_user_connected(players[i]))
- {
- message_begin(MSG_ONE_UNRELIABLE, g_iMsgSayText, _, players[i])
- write_byte(players[i]);
- write_string(msg);
- message_end();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement