Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Plugin generated by AMXX-Studio */
- #include <amxmodx>
- #include <amxmisc>
- #include <hamsandwich>
- #include <cstrike>
- #include <fakemeta_util>
- #define PLUGIN "JailBreak Manager"
- #define VERSION "1.8"
- #define AUTHOR "Sn!ff3r"
- #define USERTASK 921
- #define USERTASK2 721
- #define UPDATEDELAY 1.0
- #define OFFSET_TEAM 114
- #define fm_cs_set_user_nobuy(%1) set_pdata_int(%1, 235, get_pdata_int(%1, 235) & ~(1<<0))
- #define TERRMODEL "wiezien"
- #define CTMODEL "straznik"
- new static reasons[][] = {
- "uz grazias akis",
- "uz masturbacija parduotuveje",
- "uz seneliu tvirkinima",
- "prostitucija",
- "vagyste"
- }
- new wanted[512]
- new cvar_countdays, cvar_terroinfo, cvar_winmessages, cvar_models, cvar_fists, cvar_wanted, cvar_revolt, cvar_stripweapons, cvar_maxcts, cvar_nobuy, cvar_crowbar, cvar_playerinfo
- new days, hudmessage, hudmessage2, hudmessage3, hudmessage4, nowanted, crowbaruser
- new userreason[33], bool:changedModel[33 char]
- new bool:revolt_started, StatusText, terronum, terroalive, bool:disabled_weapons
- new static fist_models[][] = { "models/p_bknuckles.mdl", "models/v_bknuckles.mdl" }
- new static crowbar_models[][] = { "models/p_crowbar.mdl", "models/v_crowbar.mdl" }
- new static fist_sounds[][] = { "weapons/cbar_hitbod2.wav", "weapons/cbar_hitbod1.wav", "weapons/bullet_hit1.wav", "weapons/bullet_hit2.wav" }
- new weapons[][] = {
- "weaponbox",
- "armoury_entity",
- "weapon_shield"
- }
- public plugin_init()
- {
- register_plugin(PLUGIN, VERSION, AUTHOR)
- register_clcmd("chooseteam", "client_chooseteam")
- register_logevent("round_end", 2, "1=Round_End")
- register_event("TextMsg","restart_roundsnum","a","2&#Game_C"/*,"2&#Game_w"*/)
- register_event("CurWeapon", "CurWeapon", "be", "1=1", "2=29")
- register_event("HLTV", "new_round", "a", "1=0", "2=0")
- register_event("DeathMsg","client_death","a")
- register_event("StatusValue", "showStatus", "be", "1=2", "2!0")
- register_event("StatusValue", "hideStatus", "be", "1=1", "2=0")
- register_message(get_user_msgid("TextMsg") ,"TextMsg")
- register_message(get_user_msgid("ShowMenu"), "ShowMenu")
- register_message(get_user_msgid("VGUIMenu"), "VGUIMenu")
- register_message(get_user_msgid("StatusIcon") , "StatusIcon")
- register_forward(FM_SetClientKeyValue,"SetClientKeyValue")
- register_forward(FM_EmitSound, "EmitSound")
- RegisterHam(Ham_Spawn, "player", "client_spawn", 1)
- RegisterHam(Ham_TakeDamage, "player", "client_damage")
- for(new slot = 0; slot < sizeof weapons; slot++) {
- RegisterHam(Ham_Touch, weapons[slot], "WeapEntTouch")
- disabled_weapons = true
- }
- hudmessage = CreateHudSyncObj()
- hudmessage2 = CreateHudSyncObj()
- hudmessage3 = CreateHudSyncObj()
- hudmessage4 = CreateHudSyncObj()
- StatusText = get_user_msgid("StatusText")
- cvar_countdays = register_cvar("jailbreak_countdays", "1")
- cvar_terroinfo = register_cvar("jailbreak_terroinfo", "1")
- cvar_winmessages = register_cvar("jailbreak_winmessages", "1")
- cvar_models = register_cvar("jailbreak_newmodels", "1")
- cvar_fists = register_cvar("jailbreak_fists", "1")
- cvar_wanted = register_cvar("jailbreak_wanted", "1")
- cvar_revolt = register_cvar("jailbreak_revolt", "1")
- cvar_stripweapons = register_cvar("jailbreak_stripweapons", "1")
- cvar_maxcts = register_cvar("jailbreak_maxcts", "4")
- cvar_nobuy = register_cvar("jailbreak_blockbuy", "1")
- cvar_crowbar = register_cvar("jailbreak_terrocrowbar", "1")
- cvar_playerinfo = register_cvar("jailbreak_playerinfo", "1")
- }
- public plugin_cfg()
- {
- static cfgdir[32]
- get_configsdir(cfgdir, charsmax(cfgdir))
- server_cmd("exec %s/jailbreak.cfg", cfgdir)
- }
- public plugin_precache()
- {
- static modelname[128], i
- formatex(modelname, 127, "models/player/%s/%s.mdl",TERRMODEL, TERRMODEL)
- engfunc(EngFunc_PrecacheModel, modelname)
- formatex(modelname, 127, "models/player/%s/%s.mdl", CTMODEL, CTMODEL)
- engfunc(EngFunc_PrecacheModel, modelname)
- for(i = 0; i < sizeof fist_models; i++)
- engfunc(EngFunc_PrecacheModel,fist_models[i])
- for(i = 0; i < sizeof fist_sounds; i++)
- engfunc(EngFunc_PrecacheSound,fist_sounds[i])
- for(i = 0; i < sizeof crowbar_models; i++)
- engfunc(EngFunc_PrecacheModel,crowbar_models[i])
- }
- public round_end()
- {
- days ++
- if(get_pcvar_num(cvar_stripweapons)) {
- static players[32], inum, i
- get_players(players, inum, "ah")
- for (i = 0; i < inum; ++i)
- if(cs_get_user_team(players[i]) == CS_TEAM_T) fm_strip_user_weapons(players[i])
- disabled_weapons = true
- }
- }
- public restart_roundsnum()
- {
- days = 0
- }
- public new_round()
- {
- formatex(wanted, 511, "Nei vienas nera ieskomas")
- update_terro()
- nowanted = true
- revolt_started = false
- crowbaruser = 0
- if(get_pcvar_num(cvar_crowbar)) set_task(5.0, "random_crowbar")
- }
- public random_crowbar()
- {
- static players[32], inum, id
- get_players(players, inum, "ahe", "TERRORIST")
- if(inum) {
- id = players[random(inum)]
- set_hudmessage(random_num(0,255), random_num(0,255), random_num(0,255), -1.0, 0.3, 2, 0.5, 5.0)
- ShowSyncHudMsg(id, hudmessage3, "= Tu gavai lauztuva = ")
- crowbaruser = id
- CurWeapon(id)
- }
- }
- public TextMsg(iMsgid, iDest, id)
- {
- if(get_pcvar_num(cvar_winmessages)) {
- static message[32]
- get_msg_arg_string(2, message, charsmax(message))
- if(equal(message, "#Terrorists_Win")) set_msg_arg_string(2, "Kaliniai laimejo!")
- else if(equal(message, "#CTs_Win")) set_msg_arg_string(2, "Priziuretojai laimejo!")
- }
- }
- public StatusIcon(iMsgid, iDest, id)
- {
- if(get_pcvar_num(cvar_nobuy)) {
- static szIcon[5]
- get_msg_arg_string(2, szIcon, 4)
- if(szIcon[0] == 'b' && szIcon[2] == 'y' && szIcon[3] == 'z') {
- if(get_msg_arg_int(1)) {
- fm_cs_set_user_nobuy(id)
- return PLUGIN_HANDLED
- }
- }
- }
- return PLUGIN_CONTINUE
- }
- public SetClientKeyValue(id, const infobuffer[], const key[])
- {
- return equal(key,"model") && changedModel{id} ? FMRES_SUPERCEDE : FMRES_IGNORED
- }
- public CurWeapon(id)
- {
- if(is_user_alive(id)) {
- if(get_pcvar_num(cvar_fists) && id != crowbaruser) {
- set_pev(id, pev_viewmodel2, fist_models[1])
- set_pev(id, pev_weaponmodel2, fist_models[0])
- }
- else if(get_pcvar_num(cvar_crowbar) && id == crowbaruser) {
- set_pev(id, pev_viewmodel2, crowbar_models[1])
- set_pev(id, pev_weaponmodel2, crowbar_models[0])
- }
- }
- }
- public EmitSound(id, channel, sample[])
- {
- if(get_pcvar_num(cvar_fists)) {
- if(is_user_alive(id)) {
- if(equal(sample, "weapons/knife_", 14)) {
- if(equal(sample, "weapons/knife_hit", 17)) {
- emit_sound(id, CHAN_WEAPON, "weapons/bullet_hit2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
- return FMRES_SUPERCEDE
- }
- else if(equal(sample,"weapons/knife_stab.wav")) {
- emit_sound(id, CHAN_WEAPON, "weapons/cbar_hitbod2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
- return FMRES_SUPERCEDE
- }
- else if(equal(sample,"weapons/knife_hitwall1.wav")) {
- emit_sound(id, CHAN_WEAPON, "weapons/cbar_hitbod1.wav", 1.0, ATTN_NORM, 0, PITCH_LOW)
- return FMRES_SUPERCEDE
- }
- }
- }
- }
- return FMRES_IGNORED
- }
- public showStatus(id)
- {
- if(get_pcvar_num(cvar_playerinfo)) {
- if(is_user_alive(id)) {
- static name[33], pid
- pid = read_data(2)
- get_user_name(pid, name, 32)
- switch(cs_get_user_team(pid)) {
- case CS_TEAM_T: {
- set_hudmessage(100, 255, 0, -1.0, 0.80, 0, 0.01, 3.0, 0.01, 0.01, -1)
- ShowSyncHudMsg(id, hudmessage4, "Kalinys: %s [%d HP]", name, get_user_health(pid))
- }
- case CS_TEAM_CT: {
- set_hudmessage(0, 255, 100, -1.0, 0.80, 0, 0.01, 3.0, 0.01, 0.01, -1)
- ShowSyncHudMsg(id, hudmessage4, "Priziuretojas: %s [%d HP]", name, get_user_health(pid))
- }
- }
- }
- }
- }
- public hideStatus(id)
- {
- if(get_pcvar_num(cvar_playerinfo)) ClearSyncHud(id, hudmessage4)
- }
- public start_revolt()
- {
- set_hudmessage(random_num(0,255), random_num(0,255), random_num(0,255), -1.0, 0.3, 2, 0.5, 5.0)
- ShowSyncHudMsg(0, hudmessage3, "= Kaliniai pradejo maistauti ! =")
- client_cmd(0,"speak ambience/siren")
- set_task(8.0, "stop_sound", 0)
- revolt_started = true
- }
- public ShowMenu(iMsgid, iDest, id)
- {
- static code[32]
- get_msg_arg_string(4, code, charsmax(code))
- if(equal(code, "#Team_Select") || equal(code, "#IG_Team_Select") && cs_get_user_team(id) != CS_TEAM_CT) {
- static ctcount
- ctcount = active_players(CS_TEAM_CT)
- if(ctcount >= get_pcvar_num(cvar_maxcts)) {
- static param[2]
- param[0] = iMsgid
- set_task(0.1, "join_terrorist", id, param, sizeof(param))
- return PLUGIN_HANDLED
- }
- }
- return PLUGIN_CONTINUE
- }
- public VGUIMenu(iMsgid, iDest, id)
- {
- if(get_msg_arg_int(1) != 2) return PLUGIN_CONTINUE
- static ctcount
- ctcount = active_players(CS_TEAM_CT)
- if(ctcount >= get_pcvar_num(cvar_maxcts) && cs_get_user_team(id) != CS_TEAM_CT) {
- static param[2]
- param[0] = iMsgid
- set_task(0.1, "join_terrorist", id, param, sizeof(param))
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- public join_terrorist(param[], id)
- {
- handle_join(id, param[0], /*CS_TEAM_T*/ 1)
- set_task(5.0, "check_valid_team", id)
- }
- public check_valid_team(id)
- {
- if(cs_get_user_team(id) != CS_TEAM_T) cs_set_user_team(id, CS_TEAM_T)
- }
- public client_connect(id)
- {
- client_cmd(id, "hud_centerid 0")
- }
- public client_chooseteam(id)
- {
- static ctcount
- ctcount = active_players(CS_TEAM_CT)
- if(ctcount >= get_pcvar_num(cvar_maxcts) && cs_get_user_team(id) == CS_TEAM_T) {
- client_print(id, print_chat, "= Tu esi kalinys ir negalima pakeisti komandos")
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- public client_damage(victim, entid, attacker, Float:damage, damagebits)
- {
- if(!is_user_connected(victim) || !is_user_connected(attacker))
- return HAM_IGNORED
- if(get_pcvar_num(cvar_revolt)) {
- if(cs_get_user_team(attacker) == CS_TEAM_T && cs_get_user_team(victim) == CS_TEAM_CT) {
- if(!revolt_started) start_revolt()
- }
- }
- if(get_pcvar_num(cvar_crowbar)) {
- if(cs_get_user_team(attacker) == CS_TEAM_T && attacker == crowbaruser) {
- damage *= 50.0
- SetHamParamFloat(4, damage)
- return HAM_OVERRIDE
- }
- }
- return HAM_IGNORED
- }
- public client_spawn(id)
- {
- if(get_pcvar_num(cvar_countdays)) {
- set_hudmessage(random_num(0,255), random_num(0,255), random_num(0,255), -1.0, 0.3, 2, 0.5, 5.0)
- ShowSyncHudMsg(id, hudmessage3, "= Diena %d = ", days)
- }
- if(get_pcvar_num(cvar_terroinfo)) {
- if(task_exists(id + USERTASK)) remove_task(id + USERTASK)
- if(cs_get_user_team(id) == CS_TEAM_T) {
- userreason[id] = random_num(0, sizeof reasons - 1)
- set_task(UPDATEDELAY, "client_jailinfo", id + USERTASK, _, _, "b")
- }
- }
- if(get_pcvar_num(cvar_wanted)) {
- if(task_exists(id + USERTASK2)) remove_task(id + USERTASK2)
- if(cs_get_user_team(id) == CS_TEAM_CT) set_task(UPDATEDELAY, "client_wantedinfo", id + USERTASK2, _, _, "b")
- update_terro()
- }
- if(get_pcvar_num(cvar_models)) {
- static CsTeams:team
- team = cs_get_user_team(id)
- if(team == CS_TEAM_T) {
- set_user_model(id, TERRMODEL)
- changedModel{id} = true
- }
- else if (team == CS_TEAM_CT) {
- set_user_model(id, CTMODEL)
- changedModel{id} = true
- }
- }
- if(get_pcvar_num(cvar_stripweapons)) set_task(0.1, "give_weapons", id)
- }
- public give_weapons(id)
- {
- if(is_user_alive(id)) {
- fm_strip_user_weapons(id)
- fm_give_item(id, "weapon_knife")
- if(cs_get_user_team(id) == CS_TEAM_CT) {
- switch(random_num(0,3)) {
- case 0: {
- fm_give_item(id, "weapon_m3")
- cs_set_user_bpammo(id, CSW_M3, 120)
- }
- case 1: {
- fm_give_item(id, "weapon_mp5navy")
- cs_set_user_bpammo(id, CSW_MP5NAVY, 120)
- }
- case 2: {
- fm_give_item(id, "weapon_xm1014")
- cs_set_user_bpammo(id, CSW_XM1014, 120)
- }
- case 3: {
- fm_give_item(id, "weapon_mac10")
- cs_set_user_bpammo(id, CSW_MAC10, 120)
- }
- }
- fm_give_item(id, "weapon_usp")
- cs_set_user_bpammo(id, CSW_USP, 100)
- }
- }
- disabled_weapons = false
- }
- public WeapEntTouch(this, idother)
- {
- if(disabled_weapons)
- return HAM_SUPERCEDE
- static model[33]
- pev(this, pev_model, model, 32)
- if(equal(model, "models/w_glock18.mdl")) {
- if(pev_valid(this)) {
- fm_remove_weaponbox(this)
- return HAM_SUPERCEDE
- }
- }
- return HAM_IGNORED
- }
- public client_disconnect(id)
- {
- userreason[id] = -1
- if(task_exists(id + USERTASK)) remove_task(id + USERTASK)
- changedModel{id} = false
- }
- public client_death()
- {
- if(get_pcvar_num(cvar_wanted)) {
- static victim, killer
- victim = read_data(2)
- killer = read_data(1)
- if(is_user_connected(victim) && is_user_connected(killer)) {
- if(cs_get_user_team(victim) == CS_TEAM_CT && cs_get_user_team(killer) == CS_TEAM_T) {
- static name[33]
- get_user_name(killer, name, charsmax(name))
- if(contain(wanted, name) == -1) {
- if(nowanted) replace_all(wanted, 511, "Nei vienas nera ieskomas", "")
- replace_all(wanted, charsmax(wanted), "Ieskomi kaliniai: ^n", "")
- format(wanted, charsmax(wanted), "Ieskomi kaliniai: ^n%s^n%s", wanted, name)
- nowanted = false
- }
- }
- if(cs_get_user_team(victim) == CS_TEAM_T) {
- static name[33]
- get_user_name(victim, name, charsmax(name))
- if(contain(wanted, name) != -1) {
- static buffer[64]
- formatex(buffer, charsmax(buffer), "^n%s", name)
- replace_all(wanted, charsmax(wanted), buffer, "")
- if(strlen(wanted) < 20) {
- formatex(wanted, 511, "Nei vienas nera ieskomas")
- nowanted = true
- }
- }
- update_terro()
- }
- }
- }
- }
- public client_jailinfo(TASKID)
- {
- static id
- id = TASKID - USERTASK
- set_hudmessage(0, 255, 0, 0.8, 0.1, 0, 6.0, 12.0)
- ShowSyncHudMsg(id, hudmessage, "Diena %d | Tu esi kaleime uz : %s.", days, reasons[userreason[id]])
- }
- public client_wantedinfo(TASKID)
- {
- static id
- id = TASKID - USERTASK2;
- (nowanted) ? set_hudmessage(255, 255, 255, 0.01, 0.4, 0, 0.5, UPDATEDELAY) : set_hudmessage(255, 0, 0, 0.01, 0.4, 2, 0.5, UPDATEDELAY)
- ShowSyncHudMsg(id, hudmessage2, "%s", wanted)
- static text[128]
- formatex(text,127,"Kaliniai: %d alive, %d total", terroalive, terronum)
- message_begin(MSG_ONE_UNRELIABLE, StatusText, {0,0,0}, id)
- write_byte(0)
- write_string(text)
- message_end()
- }
- public stop_sound(id)
- {
- client_cmd(id, "stopsound")
- }
- stock set_user_model(id,model[])
- {
- engfunc(EngFunc_SetClientKeyValue, id, engfunc(EngFunc_GetInfoKeyBuffer,id), "model", model)
- }
- stock active_players(CsTeams:team, bool:aliveonly = false)
- {
- static players[32], inum, i, active, CsTeams:playerteam
- (aliveonly) ? get_players(players, inum, "ah") : get_players(players, inum, "h")
- active = 0
- for (i = 0; i < inum; ++i)
- {
- playerteam = cs_get_user_team(players[i])
- if(playerteam == team) active++
- }
- return active
- }
- stock handle_join(id, iMsgid, iTeam)
- {
- static iMsgBlock
- iMsgBlock = get_msg_block(iMsgid)
- set_msg_block(iMsgid, BLOCK_SET)
- static team[2]
- num_to_str(iTeam, team, charsmax(team))
- engclient_cmd(id, "jointeam", team)
- engclient_cmd(id, "joinclass", "1")
- set_msg_block(iMsgid, iMsgBlock)
- client_print(id, print_chat, "=prison: Tu negali pakeisti komandos.")
- }
- stock update_terro()
- {
- terronum = active_players(CS_TEAM_T, false)
- terroalive = active_players(CS_TEAM_T, true)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement