Raised This Month: $12 Target: $400
 3% 

[eG] Private Jailbreak Plugin


Post New Thread Reply   
 
Thread Tools Display Modes
chriss
Member
Join Date: Dec 2009
Location: Estonia
Old 03-21-2010 , 16:42   Re: [eG] Private Jailbreak Plugin
Reply With Quote #81

There is still some bugs ..8 warnings.
__________________
Hey
chriss is offline
Send a message via MSN to chriss Send a message via Skype™ to chriss
stevenisecko138
Senior Member
Join Date: Dec 2008
Location: CA
Old 03-21-2010 , 17:33   Re: [eG] Private Jailbreak Plugin
Reply With Quote #82

ya but the plugin works fine
stevenisecko138 is offline
Send a message via AIM to stevenisecko138
chriss
Member
Join Date: Dec 2009
Location: Estonia
Old 03-21-2010 , 19:20   Re: [eG] Private Jailbreak Plugin
Reply With Quote #83

hmmm , i don*t think sooo , if comes russia map then server gonna kick all out if that plugin is on ..:S
__________________
Hey
chriss is offline
Send a message via MSN to chriss Send a message via Skype™ to chriss
Exolent[jNr]
Veteran Member
Join Date: Feb 2007
Location: Tennessee
Old 03-21-2010 , 20:40   Re: [eG] Private Jailbreak Plugin
Reply With Quote #84

Quote:
Originally Posted by ScriptMafia View Post
Who is Dark-Skript?
You.
__________________
No private work or selling mods.
Quote:
Originally Posted by xPaw View Post
I love you exolent!
Exolent[jNr] is offline
shuttle_wave
Veteran Member
Join Date: Apr 2009
Location: New Zealand
Old 03-21-2010 , 22:44   Re: [eG] Private Jailbreak Plugin
Reply With Quote #85

no warnings.
Attached Files
File Type: sma Get Plugin or Get Source (bugs fixed.sma - 417 views - 60.2 KB)
__________________
JailBreak Mod with Plugin API ( 90% ) Public
shuttle_wave is offline
shuttle_wave
Veteran Member
Join Date: Apr 2009
Location: New Zealand
Old 03-22-2010 , 07:10   Re: [eG] Private Jailbreak Plugin
Reply With Quote #86

This version allows player to drop weapons

PHP Code:
/*
*     
* JailBreak Mod
* Copyright (C) 2008-2009 by Eriks 'The-No0n3' Brions

* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.

* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.

* You should have received a copy of the GNU General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
*
* In addition, as a special exception, the author gives permission to
* link the code of this program with the Half-Life Game Engine ("HL
* Engine") and Modified Game Libraries ("MODs") developed by Valve,
* L.L.C ("Valve"). You must obey the GNU General Public License in all
* respects for all of the code used other than the HL Engine and MODs
* from Valve. If you modify this file, you may extend this exception
* to your version of the file, but you are not obligated to do so. If
* you do not wish to do so, delete this exception statement from your
* version.

* Features:
*     - Rebel System
*     - Freeday System
*     - Voice Blocking for Terrorists and dead CT's
*    - Voteban

*     - Last Request:
*         - Knife Battle
*         - Shot 4 Shot
*         - Shotty Madness
*         - Scout Battle
*         - Grenade Battle
*         - The Hidden
*         - Crazy Terrorist
*/

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <nvault>

#define PLUGIN "JailBreak"
#define VERSION "0.4"
#define AUTHOR "Eriks 'The-No0n3' Brions"

#define MENU_KEYS (1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6 | 1<<7 | 1<<8 | 1<<9)
#define MENU_SLOTS 8

#define TASK_TRAIL 1000
#define TASK_SETAMMO 1500

enum
{
    
CS_TEAM_UNASSIGNED 0,
    
CS_TEAM_T,
    
CS_TEAM_CT,
    
CS_TEAM_SPECTATOR
}

enum
{
    
MENU_LR 0,
    
MENU_GUARD,
    
MENU_EQUIP,
    
MENU_CLASSCT,
    
MENU_SHOP
}

enum
{
    
LR_GAME_NONE 0,
    
LR_GAME_KNIFE_BATTLE,
    
LR_GAME_S4S,
    
LR_GAME_SHOTTY,
    
LR_GAME_SCOUTZ,
    
LR_GAME_GRENADE,
    
LR_GAME_HIDDEN,
    
LR_GAME_CRAZY
}
enum
{
    
CT_CLASS_REGULAR 0,
    
CT_CLASS_FAT,
    
CT_CLASS_SNIPER,
    
CT_CLASS_RUSSIAN,
    
CT_CLASS_SWAT,
    
CT_CLASS_GUNNER
}

enum ePlayerData {
    
PlayerName[33] = 0,
    
bool:PlayerIsRebel,
    
bool:PlayerHasFreeday,
    
bool:PlayerIsInLr,
    
bool:GivingItem,
    
bool:SeenWelcomeMsg,
    
bool:LrCanShootDeagle,
    
iFreedayCount,
    
ClassCT
}
#define SHOP_ITEMS_NUM 3
enum SHOP_DATA {
    
ITEM_NONE 0,
    
ITEM_PISTOL,
    
ITEM_PILL,
    
ITEM_ARMOR
}
/*new SHOP_ITEM_PRICE[SHOP_DATA][] = 
{ 0,
 15,
 5,
 10 }
*/
new SHOP_ITEM_NAME[SHOP_DATA][] = { ""
"Pistol Gamble"
"Pill",
"Armor" }

// Max BP ammo for weapons
new const MAXBPAMMO[] = { -152, -1901321100901120100100909090100120301202003290120902359090, -1100 }

// Max Clip for weapons
//new const MAXCLIP[] = { -1, 13, -1, 10, -1, 7, -1, 30, 30, -1, 30, 20, 25, 30, 35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, -1, 7, 30, 30, -1, 50 }

// Amount of ammo to give when buying additional clips for weapons
//new const BUYAMMO[] = { -1, 13, -1, 30, -1, 8, -1, 12, 30, -1, 30, 50, 12, 30, 30, 30, 12, 30, 10, 30, 30, 8, 30, 30, 30, -1, 7, 30, 30, -1, 50 }

// Ammo IDs for weapons
//new const AMMOID[] = { -1, 9, -1, 2, 12, 5, 14, 6, 4, 13, 10, 7, 6, 4, 4, 4, 6, 10, 1, 10, 3, 5, 4, 10, 2, 11, 8, 4, 2, -1, 7 }

// Ammo Type Names for weapons
new const AMMOTYPE[][] = { """357sig""""762nato""""buckshot""""45acp""556nato""""9mm""57mm""45acp""556nato""556nato""556nato""45acp""9mm""338magnum""9mm""556natobox""buckshot""556nato""9mm""762nato""""50ae""556nato""762nato""""57mm" }

// Weapon IDs for ammo types
//new const AMMOWEAPON[] = { 0, CSW_AWP, CSW_SCOUT, CSW_M249, CSW_AUG, CSW_XM1014, CSW_MAC10, CSW_FIVESEVEN, CSW_DEAGLE, CSW_P228, CSW_ELITE, CSW_FLASHBANG, CSW_HEGRENADE, CSW_SMOKEGRENADE, CSW_C4 }

// Primary and Secondary Weapon Names
//new const WEAPONNAMES[][] = { "", "P228 Compact", "", "Schmidt Scout", "", "XM1014 M4", "", "Ingram MAC-10", "Steyr AUG A1", "", "Dual Elite Berettas", "FiveseveN", "UMP 45", "SG-550 Auto-Sniper", "IMI Galil", "Famas", "USP .45 ACP Tactical", "Glock 18C", "AWP Magnum Sniper", "MP5 Navy", "M249 Para Machinegun", "M3 Super 90", "M4A1 Carbine", "Schmidt TMP", "G3SG1 Auto-Sniper", "", "Desert Eagle .50 AE", "SG-552 Commando", "AK-47 Kalashnikov", "", "ES P90" }

// Weapon entity names
/*
new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", 
            "weapon_c4", "weapon_mac10", "weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", 
            "weapon_ump45", "weapon_sg550", "weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", 
            "weapon_awp", "weapon_mp5navy", "weapon_m249", "weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1",
            "weapon_flashbang", "weapon_deagle", "weapon_sg552", "weapon_ak47", "weapon_knife", "weapon_p90" }
*/

new g_PlayerData[33][ePlayerData]
new 
g_vault;
new 
bool:g_loadedvault[33];
new 
g_msgSayText;
new 
g_msgCurWeapon;
new 
g_msgScoreInfo;

new 
g_rebels 0;
new 
g_aGuardCount 0;
new 
g_aPrisionerCount 0;
new 
g_day 0;
new 
g_lrG 0;
new 
bool:g_lrG_activated false;
new 
g_iHiddenTimeleft

//CVARS
new cvar_KnifeBattleHP
new cvar_Shot4ShotHP
new cvar_SoutBattleHP
new cvar_GrenadeBattleHP
new cvar_ShottyMadnessHP
new cvar_TheHiddenTime
new cvar_TheHiddenTrans
new cvar_CrazyTime;
new 
cvar_AnnounceRebels;
new 
cvar_GlowRebels;
new 
cvar_HideRebelVictims;
new 
cvar_CtClasses;
new 
cvar_rebelaward;
new 
cvar_savestats;
new 
cvar_lrtrail;

new 
gBeam;
new 
g_iCrazyTimeleft;
new 
g_voteban_votes[3];
new 
g_voteban_caller;
new 
g_voteban_target;
new 
bool:g_voteban_running false;

new 
g_iPlayers[32];
new 
g_iGuards[32];
new 
g_iNum;
new 
g_iGuardNum;
new 
g_iBanMenuPage[33];
new 
g_iLrMenuPage[33];

//new g_attackers[33][33];
//static model_knife_ct[] = "models/v_knife.mdl";
#define KNIFE_MODELS 2
static model_knife_t[] = "models/v_knife.mdl";
//static model_knife_pencil[] = "models/EG_JailBreak/v_knife_pencil.mdl";
//new KNIFE_MODEL[33] = -1;


new knife_sounds_original[9][] = 
{
    
"weapons/knife_deploy1.wav",
    
"weapons/knife_hit1.wav",
    
"weapons/knife_hit2.wav",
    
"weapons/knife_hit3.wav",
    
"weapons/knife_hit4.wav",
    
"weapons/knife_hitwall1.wav",
    
"weapons/knife_slash1.wav",
    
"weapons/knife_slash2.wav",
    
"weapons/knife_stab.wav" 
}
new 
knife_sounds_new[9][] = 
{
    
"weapons/knife_deploy1.wav",
    
"weapons/knife_hit1.wav",
    
"weapons/knife_hit2.wav",
    
"weapons/knife_hit3.wav",
    
"weapons/knife_hit4.wav",
    
"weapons/knife_hitwall1.wav",
    
"weapons/knife_slash1.wav",
    
"weapons/knife_slash2.wav",
    
"weapons/knife_stab.wav" 
}

public 
plugin_precache()
{
    
gBeam precache_model("sprites/dot.spr");
    
//precache_model(model_knife_ct)
    
precache_model(model_knife_t)
    
//precache_model(model_knife_pencil)

    
    
for(new 09i++)
    {
        
precache_sound(knife_sounds_new[i]);
    }
}

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
//Ham forwards
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
RegisterHam(Ham_Spawn"player""fw_PlayerSpawn"1)
    
//RegisterHam(Ham_CS_RoundRespawn, "player", "fw_PlayerSpawn", 1);
    
RegisterHam(Ham_Killed"player""fw_PlayerKilled")
    
RegisterHam(Ham_Weapon_PrimaryAttack"weapon_deagle""fw_primary_attack")
    
RegisterHam(Ham_Touch"weaponbox""fw_TouchWeapon")
    
RegisterHam(Ham_Touch"armoury_entity""fw_TouchWeapon")
    
RegisterHam(Ham_AddPlayerItem"player""fw_AddPlayerItem")
    
//RegisterHam(Ham_Use, "item_healthcharger", "fw_UseEntity")
    
    //FM Forwards
    
register_forward(FM_ClientKill"fw_ClientKill")
    
register_forward(FM_Voice_SetClientListening"filter_voice");
    
register_forward(FM_GetGameDescription"fw_GetGameDescription")
    
register_forward(FM_EmitSound "fw_EmitSound");
    
    
//Commands
    
register_cvar("jb_version",VERSION,FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY)
    
register_cvar("jb_author"AUTHOR,FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY)
    
cvar_KnifeBattleHP register_cvar("jb_lr_knife_battle_hp""100");
    
cvar_Shot4ShotHP register_cvar("jb_lr_s4s_hp""150");
    
cvar_SoutBattleHP register_cvar("jb_lr_scout_battle_hp""250");
    
cvar_GrenadeBattleHP register_cvar("jb_lr_nade_battle_hp""250");
    
cvar_ShottyMadnessHP register_cvar("jb_lr_shotty_madness_hp""500");
    
cvar_TheHiddenTime register_cvar("jb_lr_hidden_time""60");
    
cvar_TheHiddenTrans register_cvar("jb_lr_hidden_alpha""15");
    
cvar_CrazyTime register_cvar("jb_lr_crazy_time""30");
    
cvar_GlowRebels register_cvar("jb_rebel_glow""0");
    
cvar_AnnounceRebels register_cvar("jb_rebel_announce""0");
    
cvar_HideRebelVictims register_cvar("jb_rebel_hidekills""1");
    
cvar_CtClasses register_cvar("jb_guard_classes""1");
    
cvar_rebelaward register_cvar("jb_rebel_award""4");
    
cvar_savestats register_cvar("jb_stats_save""1");
    
cvar_lrtrail register_cvar("jb_lr_trail""0");
    
    
register_concmd("jb_freeday""cmd_freeday"_"<terrorist> - Gives freeday"0)
    
register_concmd("amx_freeday""cmd_freeday"_"<terrorist> - Gives freeday"0)
    
register_concmd("jb_rebel""cmd_rebel"_"<terrorist> - Makes terrorist rebel"0)
    
    
register_event("HLTV""event_round_start""a""1=0""2=0")
    
register_event("CurWeapon","event_curweapon","be","1=1");
    
    
register_event("TextMsg""event_restart""a""2=#Game_Commencing")
    
register_event("TextMsg""event_restart""a""2=#Game_will_restart_in")
    
    
register_menucmd(register_menuid("\yLast request?"), MENU_KEYS"lr_menu");
    
register_menucmd(register_menuid("\ySelect Class:"), MENU_KEYS"class_handle");
    
register_menucmd(register_menuid("\ySelect player to voteban:^n^n"), MENU_KEYS"voteban_menu");
    
register_menucmd(register_menuid("\yBan"), MENU_KEYS"voteban_vote");
    
register_menucmd(register_menuid("\ySelect guard:"), MENU_KEYS"guard_menu");
    
register_menucmd(register_menuid("\yJail Break Shop:^n"), MENU_KEYS"shop_handler");
    
    
//Last request
    
register_clcmd("say /lr""cmd_lr")
    
register_clcmd("say !lr""cmd_lr")
    
register_clcmd("say_team !lr""cmd_lr")
    
register_clcmd("say_team /lr""cmd_lr")
    
    
//JB Rules
    
register_clcmd("say /rules""cmd_rules")
    
register_clcmd("say_team /rules""cmd_rules")
    
    
//Voteban
    
register_clcmd("say /voteban""cmd_voteban")
    
register_clcmd("say_team /voteban""cmd_voteban")
    
//Shop
    
register_clcmd("say /shop""cmd_shop")
    
register_clcmd("say_team /shop""cmd_shop")
    
    
//Get some msg ids
    
g_msgSayText get_user_msgid("SayText");
    
g_msgCurWeapon get_user_msgid("CurWeapon");
    
g_msgScoreInfo get_user_msgid("ScoreInfo");
    
    
//set_task(3.0, "task_showRebelsLeft", _, _, _, "b")
    //set_task(2.0, "task_checkLr", _, _, _, "b")
    
g_vault nvault_open("jailbreak_tn");
}
public 
plugin_end()
{
    
nvault_close(g_vault);
}

public 
client_connect(id)
{
    
g_PlayerData[id][PlayerIsRebel] = false;
    
g_PlayerData[id][PlayerHasFreeday] = false;
    
g_PlayerData[id][PlayerIsInLr] = false;
    
g_PlayerData[id][SeenWelcomeMsg] = false;
    
g_PlayerData[id][iFreedayCount] = 0;
    
g_loadedvault[id] = false;
}

public 
client_disconnect(id)
{
    
g_PlayerData[id][PlayerIsRebel] = false;
    
g_PlayerData[id][PlayerHasFreeday] = false;
    
g_PlayerData[id][PlayerIsInLr] = false;
    
g_PlayerData[id][SeenWelcomeMsg] = false;
    
g_PlayerData[id][iFreedayCount] = 0;
    
stats_save(id)
    
g_loadedvault[id] = false;
    
    if(
g_lrG_activated)
    {
        
check_lr_deaths(id999);
    }
}

public 
fw_TakeDamage(victiminflictorattackerFloat:damagedamage_type)
{
    if (
victim == attacker || attacker == 0)
        return 
HAM_IGNORED;
    
    new 
tAttacker get_user_team(attacker);
    new 
tVictim get_user_team(victim);
    
    
/*
    if(tAttacker != tVictim)
        g_attackers[victim][attacker] += floatround(damage);
    */
    
switch(tAttacker)
    {
        
//If prisioner attacked guard
        
case CS_TEAM_T :
        {
            
//And isn't rebel yet
            
if(!g_PlayerData[attacker][PlayerIsRebel] && !g_PlayerData[attacker][PlayerIsInLr] && tVictim == CS_TEAM_CT)
            {
                
//Mark it as rebel
                
set_rebel(attacker);
            }
        }
        case 
CS_TEAM_CT :
        {
            if(
g_PlayerData[victim][PlayerHasFreeday] && tVictim == CS_TEAM_T)
            {
                
get_user_name(victimg_PlayerData[victim][PlayerName], 31);
                
colored_print(attacker"^x04[JailBreak]^x03 %s^01 has freeday! "g_PlayerData[victim][PlayerName]);
            }
        }
    }
    
    if(!
g_PlayerData[attacker][PlayerIsInLr] && g_PlayerData[victim][PlayerIsInLr])
    {
        
//fm_set_user_health(attacker, 0);
        //user_kill(attacker);
        
user_slap(attackerfloatround(damage))
        return 
HAM_SUPERCEDE;
    }
    else if(
g_PlayerData[attacker][PlayerIsInLr] && !g_PlayerData[victim][PlayerIsInLr])
    {
        return 
HAM_SUPERCEDE;
    }
    
    return 
HAM_IGNORED;
}

public 
set_rebel(id)
{
    if(!
is_user_alive(id) || get_user_team(id) == CS_TEAM_CT)
        return;
    
    
//Mark player as rebel
    
g_PlayerData[id][PlayerIsRebel] = true;
    
    
//Freeday's over for him
    
g_PlayerData[id][PlayerHasFreeday] = false;
    
    
//Incrase rebel count
    //g_rebels++;
    
    
if(get_pcvar_num(cvar_GlowRebels))
    {
        
//Make it glow red
        
fm_set_rendering(idkRenderFxGlowShell25500kRenderNormal16);
    }
    
    if(
get_pcvar_num(cvar_AnnounceRebels))
    {
        
//Get his name
        
get_user_name(idg_PlayerData[id][PlayerName], 31)
        
        
//Show everyone that he's rebel now
        
colored_print(1337"^x04[eG | Jail Break]^x03 %s^01 is now rebel!"g_PlayerData[id][PlayerName]);
    }
}

public 
fw_PlayerSpawn(id)
{
    if (!
is_user_alive(id) || !get_user_team(id))
        return;
    
    
//Reset stuff
    
g_PlayerData[id][PlayerIsRebel] = false;
    
g_PlayerData[id][PlayerIsInLr] = false;
    
g_PlayerData[id][LrCanShootDeagle] = false;
    
g_PlayerData[id][GivingItem] = false;
    
remove_task(id+TASK_TRAIL);
    
//Get his team
    
new team get_user_team(id);
    
    
//Remove any glow
    
fm_set_rendering(id);
    
    
//Strip all weapons
    
fm_strip_user_weapons(id);
    
    
//Show welcome message
    
if(!g_PlayerData[id][SeenWelcomeMsg] && id != 0)
    {
        
colored_print(id"^04[Prsion Break]^01 Welcome to ^03[eG] Prison Break^01!");
        
colored_print(id"^04[Prsion Break]^01 Visit ^03http://electronicGaming.tk^01!");
        
//*******************************************************
        //* PLEASE DON'T REMOVE OR EDIT LINE BELOW THIS COMMENT *
        //*******************************************************
        
colored_print(id"");
        
//*******************************************************
        
g_PlayerData[id][SeenWelcomeMsg] = true;
    }
    if(!
g_loadedvault[id])
    {
        
stats_load(id);
        
g_loadedvault[id] = true;
    }
    
/*
    for(new i = 1; i <= 33; i++)
    {
        g_attackers[id][i] = 0;
    }
    */
    
    
switch(team)
    {
        
//If he's terrorist
        
case CS_TEAM_T:
        {
            
/*
            if(g_PlayerData[id][PlayerHasFreeday] && g_PlayerData[id][iFreedayCount] >= 1)
            {
                set_freeday(id);
            }
            */
            
            //If it's terrorist (prisoner) give only knife
            
cs_set_user_armor(id0CS_ARMOR_NONE);
            
fm_give_item(id"weapon_knife")
            
//KNIFE_MODEL[id] = random_num(1, KNIFE_MODELS);
            
            //Incrase alive prisioner count
            //g_aPrisionerCount++;
        
}
        case 
CS_TEAM_CT:
        {
            
g_PlayerData[id][ClassCT] = CT_CLASS_REGULAR;
            
giveWeapons(id);
            
            if(
get_pcvar_num(cvar_CtClasses) > 0)
                
menu_show(idMENU_CLASSCT);
        }
    }
}

public 
colored_print(target, const message[], any:...)
{
    static 
buffer[512]
    
    
// Format message for player
    
vformat(buffercharsmax(buffer), message3)
    
    if(
target == 1337)
    {
        new 
iIndex
        
        
for(iIndex 1iIndex <=32iIndex++)
        {
            new 
iPlayer iIndex;
            
            if(
is_user_connected(iPlayer) && !is_user_bot(iPlayer))
            {
                
message_begin(MSG_ONE_UNRELIABLEg_msgSayText_iPlayer)
                
write_byte(iPlayer)
                
write_string(buffer)
                
message_end()
            }
        }
    }
    else 
    {
        if(
is_user_connected(target) && !is_user_bot(target))
        {    
            
// Send it
            
message_begin(MSG_ONE_UNRELIABLEg_msgSayText_target)
            
write_byte(target)
            
write_string(buffer)
            
message_end()
        }
    }
}

public 
fw_PlayerKilled(victimattackershouldgib)
{    
    if(
g_lrG_activated)
    {
        
check_lr_deaths(attackervictim);
    }
    
    if(
get_pcvar_num(cvar_HideRebelVictims) > 0)
    {
        if((
attacker >= && attacker <= 33) && attacker != victim && get_user_team(attacker) == CS_TEAM_T)
        {
            new 
frags;
            
            
frags get_user_frags(attacker);
            
//Give then extra frag
            
frags += get_pcvar_num(cvar_rebelaward);
            
            
set_stats(attackerfrags);
            
/*
            for(new i = 1; i <= 33; i++)
            {
                if(g_attackers[victim][i] > 0)
                {
                    frags = get_user_frags(i);
                    frags += 1;
                    
                    set_frags(i, frags)
                }
            }
            */
            
            //Kill guard with worldspawn, so they can't see who did it.
            
ExecuteHamB(Ham_Killedvictim00)
            
            
//Return and block anything else.
            
return HAM_SUPERCEDE;
        }
    }
    
    return 
HAM_IGNORED;
}

public 
task_showRebelsLeft()
{
    
//Update counter
    
update_alive_count()
    
    
//Set hud message (red text, fades after 2 seconds
    
set_hudmessage(25500, -1.00.0100.03.00.10.1, -1)
    
    
//Show it
    
show_hudmessage(0,"Prisoners: %i (Rebels: %i)^nGuards: %i"g_aPrisionerCountg_rebelsg_aGuardCount)
}

public 
event_round_start()
{
    
//Incrase day count
    
g_day++
    
    
set_task(1.0"task_ShowDayCount");
    
    
//Reset rebel count at each round
    
g_rebels 0;
    
//Reset alive prisoner and guard count
    
g_aGuardCount 0;
    
g_aPrisionerCount 0;
    
    
//g_lr = false;
    
g_lrG LR_GAME_NONE;
    
g_lrG_activated false;
}

public 
fw_ClientKill(id)
{
    
//new team = get_user_team(id);
    
    //It can't be rebel anymore
    
g_PlayerData[id][PlayerIsRebel] = false;
    
/*
    switch(team)
    {
        case CS_TEAM_T:
        {
            g_aPrisionerCount--;
        }
        case CS_TEAM_CT:
        {
            g_aGuardCount--;
        }
    }
    */
    
if(g_PlayerData[id][PlayerIsInLr])
    {
        
check_lr_deaths(id999);
    }
}

/*
public task_checkLr()
{
    update_alive_count()
    
    //If it isn't lr yet
    if(!g_lr)
    {
        //If there is one prisoner left and at least 1 guard we can enable lr, yay
        if(g_aPrisionerCount == 1 && g_aGuardCount >= 1)
        {
            //Enable last request
            g_lr = true;
            
            //Show to everyone that lr is now enabled
            colored_print(1337, "^04[eG | Jail Break]^01 There is^03 1 prisoner^01 remaining,^04 Last Request is enabled^01. Type^04 !lr^01 or^04 /lr^01 to activate.");
            //colored_print(1337, "^04[eG | Jail Break]^01 If last prisioner is rebel guards can kill him and he will get^04 unrestricted freeday^01.");
            
            for(new i; i <=32; i++)
            {
                if(is_user_alive(i) && get_user_team(i) == CS_TEAM_T)
                {
                    cmd_lr(i);
                }
            }
        }
    }
    //Else if there are more that 1 prisoner
    else if(g_aPrisionerCount > 1 && g_aGuardCount >= 1)
    {
        //Disable lr :(
        g_lr = false;
    }
}
*/
public cmd_lr(id)
{
    
update_alive_count();
    
    new 
team get_user_team(id);
    
    
//Only prisoners can use this command
    
if(team == CS_TEAM_T && is_user_alive(id))
    {
        
//If last request is aviable
        
if(!g_PlayerData[id][PlayerIsInLr] && g_aPrisionerCount == && g_aGuardCount >= 1)
        {
            
menu_show(idMENU_LR);
        }
        
/*
        //If prisoner is rebel
        else if(g_lr && g_PlayerData[id][PlayerIsRebel])
        {
            colored_print(id, "^04[eG | Jail Break]^01 You can't use last request now, because you're rebel. Next round you will have freeday.");
            //user_kill(id, 1);
            g_PlayerData[id][PlayerHasFreeday] = true;
            g_PlayerData[id][iFreedayCount]++;
        }
        */
        //If lr isn't aviable
        
else
        {
            
//Too much prisoners to allow lr :(
            
colored_print(id"^04[eG | Jail Break]^01 You can't use last request now.");
        }
    }
    else
    {
        
colored_print(id"^04[eG | Jail Break]^01 Only last alive prisoner can have last request.");
    }
}
stock menu_show(idmenuiPage 0)
{
    switch(
menu)
    {
        case 
MENU_LR:
        {
            new 
menu[250];
            
formatex(menu249"\yLast request?^n^n\r1.\w Knife Battle^n\r2.\w Shot 4 Shot^n\r3.\w Shotty Madness^n\r4.\w Scout Battle^n\r5.\w Grenade Battle^n\r6\w. The Hidden^n\r7.\w Crazy Terrorist");
            
show_menu(idMENU_KEYSmenu);
            
            return 
PLUGIN_HANDLED;
        }
        case 
MENU_GUARD:
        {
            static 
iiPlayerszName[32];
            static 
szMenu[512], iCurrPosiCurrPos 0;
            static 
iStartiEndiStart iPage MENU_SLOTS;
            static 
iKeys;
            
            
get_players(g_iGuardsg_iGuardNum"aeh""CT");
            
            if(
iStart >= g_iGuardNum)
            {
                
iStart iPage g_iBanMenuPage[id] = 0;
            }
            
            static 
iLen;
            
iLen formatex(szMenucharsmax(szMenu), "\ySelect guard:^n^n");
            
            
iEnd iStart MENU_SLOTS;
            
iKeys MENU_KEY_0;
            
            if(
iEnd g_iGuardNum)
            {
                
iEnd g_iGuardNum;
            }
            
            for(
iStart iEnd i++)
            {
                
iPlayer g_iGuards[i];
                
//if(is_user_alive(iPlayer) && get_user_team(iPlayer) == CS_TEAM_CT)
                //{
                
get_user_name(iPlayerszNamecharsmax(szName));
                
                
iKeys |= (<< iCurrPos++);
                
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\r%d\w. %s \d^n"iCurrPosszName);
                
//}
            
}
            
            if(
iEnd != g_iGuardNum)
            {
                
formatex(szMenu[iLen], charsmax(szMenu) - iLen"^n\r9\w. Next ^n\r0\w.%s"iPage "Back" "Exit");
                
iKeys |= MENU_KEY_9;
            }
            else
            {
                
formatex(szMenu[iLen], charsmax(szMenu) - iLen"^n\r0\w. %s"iPage "Back" "Exit");
            }
            
            
show_menu(idiKeysszMenu, -1);
            
            return 
PLUGIN_HANDLED;
        }
        case 
MENU_CLASSCT:
        {
            new 
menu[250];
            
formatex(menu249"\ySelect Class:^n^n\r1.\w Guard^n\r2.\w Fat Cop^n\r3.\w Sniper^n\r4.\w Russian Guard^n\r5.\w SWAT^n\r6\w. Gunner");
            
show_menu(idMENU_KEYSmenu);
            return 
PLUGIN_HANDLED;
        }
        case 
MENU_SHOP:
        {
            new 
menu[500];
            static 
iLen;
            
iLen formatex(menucharsmax(menu), "\yJail Break Shop:^n\wYour Points:\r %i^n^n"get_user_frags(id));
            for(new 
i1<= SHOP_ITEMS_NUMi++)
            {
                
//iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r%i.\w%s [\y%i points\w]^n", i, SHOP_ITEM_NAME[i], SHOP_ITEM_PRICE[i]);
            
}
            
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r0.\w Exit")
            
show_menu(idMENU_KEYSmenu);
            return 
PLUGIN_HANDLED;
        }
    }
    
    return 
PLUGIN_CONTINUE;
}
//public lr_menu(id, menu, item)
public lr_menu(iditem)
{    
    
/*
    // Get item info
    new cmd[3];
    new access, callback;
    
    menu_item_getinfo(menu, item, access, cmd,2,_,_, callback);
    
    new game = str_to_num(cmd);
    
    menu_destroy(menu);
    */
    
if(g_PlayerData[id][PlayerIsInLr] && g_aPrisionerCount != && g_aGuardCount || !is_user_alive(id))
    {
        return 
PLUGIN_CONTINUE;
    }
    
    new 
selection item;
    
selection += 1;
    
    switch(
selection)
    {
        
//Knife Battle
        
case LR_GAME_KNIFE_BATTLE:
        {
            
g_lrG LR_GAME_KNIFE_BATTLE;
            
menu_show(idMENU_GUARD);
            return 
PLUGIN_HANDLED;
        }
        
//Shot 4 shot
        
case LR_GAME_S4S:
        {
            
g_lrG LR_GAME_S4S;
            
menu_show(idMENU_GUARD);
            return 
PLUGIN_HANDLED;
        }
        case 
LR_GAME_SHOTTY:
        {
            
g_lrG LR_GAME_SHOTTY;
            
menu_show(idMENU_GUARD);
            return 
PLUGIN_HANDLED;
        }
        case 
LR_GAME_SCOUTZ:
        {
            
g_lrG LR_GAME_SCOUTZ;
            
menu_show(idMENU_GUARD);
            return 
PLUGIN_HANDLED;
        }
        case 
LR_GAME_GRENADE:
        {
            
g_lrG LR_GAME_GRENADE;
            
menu_show(idMENU_GUARD);
            return 
PLUGIN_HANDLED;
        }
        case 
LR_GAME_HIDDEN:
        {
            
g_lrG LR_GAME_HIDDEN;
            
lr_thehidden(id);
            return 
PLUGIN_HANDLED;
        }
        case 
LR_GAME_CRAZY:
        {
            
g_lrG LR_GAME_CRAZY;
            
lr_crazy(id);
            return 
PLUGIN_HANDLED;
        }
    }
    return 
PLUGIN_CONTINUE;
}

public 
guard_menu(idkey)
{
    if( 
key 
        return 
PLUGIN_CONTINUE;
    
    switch(
key)
    {
        case 
8:
        {
            
menu_show(idMENU_GUARD, ++g_iLrMenuPage[id]);
            return 
PLUGIN_HANDLED;
        }
        case 
9:
        {
            if(!
g_iLrMenuPage[id])
                return 
PLUGIN_CONTINUE;
            
            
menu_show(idMENU_GUARD, --g_iLrMenuPage[id]);
            return 
PLUGIN_HANDLED;
        }
        default: 
        {
            static 
iPlayer;
            
iPlayer g_iGuards[g_iLrMenuPage[id] * MENU_SLOTS key];
            
            
get_user_name(idg_PlayerData[id][PlayerName], 31);
            
get_user_name(iPlayerg_PlayerData[iPlayer][PlayerName], 31);
            
            if(!
is_user_connected(iPlayer))
            {
                
client_print(idprint_center"*ERROR: NOT CONNECTED PLAYER; CALLER = %i TARGET = %i*"idiPlayer);
                
menu_show(idMENU_GUARDg_iLrMenuPage[id]);
                return 
PLUGIN_HANDLED;
            } else if(
iPlayer == id)
            {
                
client_print(idprint_center"*ERROR: SELECTED HIMSELF; CALLER = %i TARGET = %i*"idiPlayer);
                
menu_show(idMENU_GUARDg_iLrMenuPage[id]);
                return 
PLUGIN_HANDLED;
            }
            else
            {
                if(!
is_user_alive(id) || !is_user_alive(iPlayer) || g_lrG == LR_GAME_NONE)
                    return 
PLUGIN_CONTINUE;
                
                
fm_set_rendering(idkRenderFxGlowShell02550kRenderNormal16);
                
fm_strip_user_weapons(id);
                
g_PlayerData[id][PlayerIsInLr] = true;
                
                
fm_set_rendering(iPlayerkRenderFxGlowShell02550kRenderNormal16);
                
fm_strip_user_weapons(iPlayer);
                
g_PlayerData[iPlayer][PlayerIsInLr] = true;
                
                if(
get_pcvar_num(cvar_lrtrail) >= 1)
                {
                    
//set_task(2, "set_trail", TASK_TRAIL+id, _, 0, "b");
                    //set_task(2, "set_trail", TASK_TRAIL+iPlayer, _, 0, "b");
                
}
                
                switch(
g_lrG)
                {
                    case 
LR_GAME_KNIFE_BATTLE:
                    {
                        
g_lrG_activated true;
                        if(!
is_user_alive(id) || !is_user_alive(iPlayer))
                            return 
PLUGIN_CONTINUE;
                        
                        
colored_print(1337"^04[eG | Jail Break]^01 Knife Battle has started!^04 %s^01 vs ^04 %s^01"g_PlayerData[id][PlayerName], g_PlayerData[iPlayer][PlayerName]);
                        
                        new 
health get_pcvar_num(cvar_KnifeBattleHP);
                        
                        
fm_set_user_health(idhealth);
                        
fm_set_user_health(iPlayerhealth);
                        
                        
g_PlayerData[id][GivingItem] = true;
                        
g_PlayerData[iPlayer][GivingItem] = true;
                        
fm_give_item(id"weapon_knife");
                        
fm_give_item(iPlayer"weapon_knife");
                        
g_PlayerData[id][GivingItem] = false;
                        
g_PlayerData[iPlayer][GivingItem] = false;
                        
                        return 
PLUGIN_HANDLED;
                    }
                    case 
LR_GAME_S4S:
                    {
                        
g_lrG_activated true;
                        
                        if(!
is_user_alive(id) || !is_user_alive(iPlayer))
                            return 
PLUGIN_CONTINUE;
                        
                        
colored_print(1337"^04[eG | Jail Break]^01 Shot 4 Shot has started!^04 %s^01 vs ^04 %s^01"g_PlayerData[id][PlayerName], g_PlayerData[iPlayer][PlayerName]);
                        
                        new 
health get_pcvar_num(cvar_Shot4ShotHP);
                        
                        
fm_set_user_health(idhealth);
                        
fm_set_user_health(iPlayerhealth);
                        
                        
g_PlayerData[id][LrCanShootDeagle] = true;
                        
g_PlayerData[iPlayer][LrCanShootDeagle] = false;
                        
                        
g_PlayerData[id][GivingItem] = true;
                        
fm_give_item(id"weapon_deagle");
                        
g_PlayerData[id][GivingItem] = false;
                        
                        return 
PLUGIN_HANDLED;
                    }
                    case 
LR_GAME_SHOTTY:
                    {
                        
g_lrG_activated true;
                        
//Both of them should be alive
                        
if(!is_user_alive(id) || !is_user_alive(iPlayer))
                            return 
PLUGIN_CONTINUE;
                        
                        
colored_print(1337"^04[eG | Jail Break]^01 Shotty Madness has started!^04 %s^01 vs ^04 %s^01"g_PlayerData[id][PlayerName], g_PlayerData[iPlayer][PlayerName]);
                        
fm_set_user_health(idget_pcvar_num(cvar_ShottyMadnessHP));
                        
fm_set_user_health(iPlayerget_pcvar_num(cvar_ShottyMadnessHP));

                        
g_PlayerData[id][GivingItem] = true;
                        
g_PlayerData[iPlayer][GivingItem] = true;
                        
fm_give_item(id"weapon_m3");
                        
fm_give_item(iPlayer"weapon_m3");
                        
g_PlayerData[id][GivingItem] = false;
                        
g_PlayerData[iPlayer][GivingItem] = false;                        
                        
                        return 
PLUGIN_HANDLED;
                    }
                    case 
LR_GAME_SCOUTZ:
                    {
                        
g_lrG_activated true;
                        
//Both of them should be alive
                        
if(!is_user_alive(id) || !is_user_alive(iPlayer))
                            return 
PLUGIN_CONTINUE;
                        
                        
colored_print(1337"^04[eG | Jail Break]^01 Scout Battle has started!^04 %s^01 vs ^04 %s^01"g_PlayerData[id][PlayerName], g_PlayerData[iPlayer][PlayerName]);
                        
                        
//fm_set_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 16);
                        //fm_set_rendering(enemy, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 16);
                        
new health get_pcvar_num(cvar_SoutBattleHP);
                        
fm_set_user_health(idhealth);
                        
fm_set_user_health(iPlayerhealth);
                        
                        
g_PlayerData[id][GivingItem] = true;
                        
g_PlayerData[iPlayer][GivingItem] = true;
                        
fm_give_item(id"weapon_scout");
                        
fm_give_item(iPlayer"weapon_scout");
                        
g_PlayerData[id][GivingItem] = false;
                        
g_PlayerData[iPlayer][GivingItem] = false;
                        
                        return 
PLUGIN_HANDLED;
                    }
                    case 
LR_GAME_GRENADE:
                    {
                        
g_lrG_activated true;
                        
//Both of them should be alive
                        
if(!is_user_alive(id) || !is_user_alive(iPlayer))
                            return 
PLUGIN_CONTINUE;
                        
                        
colored_print(1337"^04[eG | Jail Break]^01 Grenade Battle has started!^04 %s^01 vs ^04 %s^01"g_PlayerData[id][PlayerName], g_PlayerData[iPlayer][PlayerName]);

                        new 
health get_pcvar_num(cvar_GrenadeBattleHP);
                        
                        
fm_set_user_health(idhealth);
                        
fm_set_user_health(iPlayerhealth);
                        
                        
g_PlayerData[id][GivingItem] = true;
                        
g_PlayerData[iPlayer][GivingItem] = true;
                        
fm_give_item(id"weapon_hegrenade");
                        
fm_give_item(iPlayer"weapon_hegrenade");
                        
g_PlayerData[id][GivingItem] = false;
                        
g_PlayerData[iPlayer][GivingItem] = false;
                        
                        
set_task(1.0"task_nadeBattleGiveHE")
                        
                        return 
PLUGIN_HANDLED;
                    }
                }
            }
        }
    }
    
    return 
PLUGIN_CONTINUE;
}


public 
filter_voice(receiversenderbool:listen)
{
    if( !(
<= receiver <= 32)
    || !
is_user_connected(receiver)
    || !(
<= sender <= 32)
    || !
is_user_connected(sender) ) return FMRES_IGNORED;

    new 
team get_user_team(sender);
    if( (
team == CS_TEAM_T || team == CS_TEAM_CT && !is_user_alive(sender)) && !access(senderADMIN_MENU) ) {
        
engfunc(EngFunc_SetClientListeningreceiversender0);
        return 
FMRES_SUPERCEDE;
    }

    return 
FMRES_IGNORED;
}

stock fm_strip_user_weapons(id)
{
    static 
ent
    ent 
engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"player_weaponstrip"))
    if (!
pev_valid(ent)) 
        return;
    
    
dllfunc(DLLFunc_Spawnent)
    
dllfunc(DLLFunc_Useentid)
    
engfunc(EngFunc_RemoveEntityent)
    
    
//Next round user can get gun again, yay [bugfix]
    
set_pdata_int(id1160)
}

stock fm_give_item(id, const item[])
{
    static 
ent
    ent 
engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocStringitem))
    if (!
pev_valid(ent)) 
        return 
PLUGIN_CONTINUE;
    
    static 
Float:originF[3]
    
pev(idpev_originoriginF)
    
set_pev(entpev_originoriginF)
    
set_pev(entpev_spawnflagspev(entpev_spawnflags) | SF_NORESPAWN)
    
dllfunc(DLLFunc_Spawnent)
    
    static 
save
    save 
pev(entpev_solid)
    
dllfunc(DLLFunc_Touchentid);
    
    if (
pev(entpev_solid) != save)
        return 
PLUGIN_CONTINUE;
    
    
engfunc(EngFunc_RemoveEntityent);
    
    return 
PLUGIN_HANDLED;
}

// Set entity's rendering type (from fakemeta_util)
stock fm_set_rendering(entityfx kRenderFxNone255255255render kRenderNormalamount 16)
{
    static 
Float:color[3]
    
color[0] = float(r)
    
color[1] = float(g)
    
color[2] = float(b)
    
    
set_pev(entitypev_renderfxfx)
    
set_pev(entitypev_rendercolorcolor)
    
set_pev(entitypev_rendermoderender)
    
set_pev(entitypev_renderamtfloat(amount))
    
    return 
PLUGIN_HANDLED;
}

// Set player's health (from fakemeta_util)
stock fm_set_user_health(idhealth)
{
    (
health 0) ? set_pev(idpev_healthfloat(health)) : dllfunc(DLLFunc_ClientKillid);
    return 
PLUGIN_HANDLED;
}

public 
task_ShowDayCount()
{
    
//White, centered, 5 seconds
    
set_hudmessage(255255255, -1.0, -1.000.15.00.10.1, -1)
    
//Show it
    
show_hudmessage(0,"Day %i"g_day);
    
    return 
PLUGIN_HANDLED;
}

public 
lr_thehidden(id)
{
    
//He should be alive.
    
if(!is_user_alive(id))
        return 
PLUGIN_CONTINUE;
    
    if(
get_alive_guards() < 3)
    {
        
colored_print(id"^04[eG | Jail Break]^01 You can't use this option, because there must be at least 3 alive guards.");
        return 
PLUGIN_CONTINUE;
    }
    
    
get_user_name(idg_PlayerData[id][PlayerName], 31);
    
colored_print(1337"^04[eG | Jail Break]^03 %s^01 is^04 The Hidden^01, cath him before time runs out!"g_PlayerData[id][PlayerName]);
    
    
fm_set_rendering(idkRenderFxNone161616kRenderTransAlphaget_pcvar_num(cvar_TheHiddenTrans));
    
    
g_lrG_activated true;
    
g_iHiddenTimeleft get_pcvar_num(cvar_TheHiddenTime);
    
    
//Strip everyone
    
for(new i<= 33i++)
    {
        if(
is_user_alive(i))
        {
            
g_PlayerData[i][PlayerIsInLr] = true;
            
fm_strip_user_weapons(i);
            
g_PlayerData[i][GivingItem] = true;
            
fm_give_item(i"weapon_knife");
            
g_PlayerData[i][GivingItem] = false;
            
fm_set_user_health(i100);
        }
    }
    
    
set_task(1.0"task_thehidden_timer");
    
    return 
PLUGIN_HANDLED;
}

stock check_lr_deaths(idenemy 0)
{
    if(
g_lrG_activated)
    {
        if(
is_user_alive(id) && !is_user_alive(enemy) && g_lrG != LR_GAME_HIDDEN && g_lrG != LR_GAME_CRAZY)
        {
            
colored_print(1337"^04[eG | Jail Break]^03 %s^01 has won!"g_PlayerData[id][PlayerName]);
            
g_lrG LR_GAME_NONE;
            
g_lrG_activated false;
            
g_PlayerData[id][PlayerIsInLr] = false;
            
fm_set_rendering(id);
            
giveWeapons(id)
            
remove_task(id+TASK_TRAIL)
            
remove_task(enemy+TASK_TRAIL)
            
//giveWeapons(enemy)
            //gPlayerXP[id] += 10;
            
return PLUGIN_HANDLED;
        }
        else if(
is_user_alive(enemy) && !is_user_alive(id) && g_lrG != LR_GAME_HIDDEN && g_lrG != LR_GAME_CRAZY)
        {
            
colored_print(1337"^04[eG | Jail Break]^03 %s^01 has won!"g_PlayerData[enemy][PlayerName]);
            
g_lrG LR_GAME_NONE;
            
g_lrG_activated false;
            
fm_set_rendering(enemy);
            
g_PlayerData[enemy][PlayerIsInLr] = false;
            
giveWeapons(enemy)
            
remove_task(id+TASK_TRAIL)
            
remove_task(enemy+TASK_TRAIL)
            
//gPlayerXP[enemy] += 10;
            
return PLUGIN_HANDLED;
        }
        else if(
is_user_alive(id) && g_lrG == LR_GAME_HIDDEN)
        {
            new 
CtCount get_alive_guards();
            new 
TCount get_alive_prisoners();
            
            if(
CtCount <= && TCount >= 1)
            {
                
colored_print(1337"^04[eG | Jail Break]^01 Guards failed to catch^04 The Hidden^01!");
                
g_PlayerData[id][PlayerIsInLr] = false
                g_lrG 
LR_GAME_NONE;
                
g_lrG_activated false;
                return 
PLUGIN_HANDLED;
            }
            else if(
TCount <= && CtCount >= 1)
            {
                
colored_print(1337"^04[eG | Jail Break]^01 Guards have catched^04 The Hidden^01!");
                
g_PlayerData[id][PlayerIsInLr] = false
                g_lrG 
LR_GAME_NONE;
                
g_lrG_activated false;
                return 
PLUGIN_HANDLED;
            }
        }
        else if(
is_user_alive(id) && g_lrG == LR_GAME_CRAZY)
        {
            new 
CtCount get_alive_guards();
            new 
TCount get_alive_prisoners();
            
            if(
CtCount <= && TCount >= 1)
            {
                
colored_print(1337"^04[eG | Jail Break]^01 Guards failed to catch^04 CRAZY TERRORIST^01!");
                
g_PlayerData[id][PlayerIsInLr] = false
                g_lrG 
LR_GAME_NONE;
                
g_lrG_activated false;
                return 
PLUGIN_HANDLED;
            }
            else if(
TCount <= && CtCount >= 1)
            {
                
colored_print(1337"^04[eG | Jail Break]^01 Guards have catched^04 CRAZY TERRORIST^01!");
                
g_PlayerData[id][PlayerIsInLr] = false
                g_lrG 
LR_GAME_NONE;
                
g_lrG_activated false;
                return 
PLUGIN_HANDLED;
            }
        }
        else if(
id == enemy && g_PlayerData[id][PlayerIsInLr])
        {
            
colored_print(1337"^04[eG | Jail Break]^03 %s^01 died!"g_PlayerData[enemy][PlayerName]);
            
g_lrG LR_GAME_NONE;
            
g_lrG_activated false;
            
g_PlayerData[id][PlayerIsInLr] = false;
            return 
PLUGIN_HANDLED;
        }
        
    }
    
    return 
PLUGIN_CONTINUE;
}
public 
event_curweapon(id)
{
    new 
weaponammo;
    
weapon read_data(2);
    
ammo read_data(3)
    
    if(
weapon != CSW_KNIFE && weapon != CSW_HEGRENADE && weapon != CSW_FLASHBANG && weapon != CSW_SMOKEGRENADE && weapon != CSW_C4)
    {
        if(
ammo MAXBPAMMO[weapon])
        {
            static 
args[1]
            
args[0] = weapon
            set_task
(0.1"task_setammo"id+TASK_SETAMMOargssizeof args)
        }
    }
    switch(
weapon)
    {
        case 
CSW_DEAGLE:
        {
            if(
read_data(3) > && g_lrG == LR_GAME_S4S && g_PlayerData[id][PlayerIsInLr])
            {
                new 
wEnt get_weapon_ent(idCSW_DEAGLE);
                
                if(
pev_valid(wEnt))
                    
cs_set_weapon_ammo(wEnt1);
                
                
message_begin(MSG_ONE,g_msgCurWeapon,_,id);
                
write_byte(1); // current?
                
write_byte(CSW_DEAGLE); // weapon
                
write_byte(1); // clip
                
message_end();
                
                return 
PLUGIN_HANDLED;
            }
        }
        case 
CSW_KNIFE:
        {
            new 
team get_user_team(id);
            switch(
team)
            {
                case 
CS_TEAM_T:
                {
                    
set_pev(idpev_viewmodel2model_knife_t)
                    
set_pev(idpev_weaponmodel2"")
                }
            }
        }
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
fw_TouchWeapon(weaponid)
{
    if (!
is_user_alive(id))
        return 
HAM_IGNORED;
    
    if (
g_PlayerData[id][PlayerIsInLr])
        return 
HAM_SUPERCEDE;
    
    return 
HAM_IGNORED;
}

public 
fw_AddPlayerItem(idweapon_ent)
{
    
//Player must be alive
    
if (!is_user_alive(id))
        return 
HAM_IGNORED;
    
    
//If player is in lr and nothing from game gives weapon
    
if (g_PlayerData[id][PlayerIsInLr] && !g_PlayerData[id][GivingItem])
    {
        
//Block it
        
return HAM_SUPERCEDE;
    }
    
//else if player's in lr and lr gives something
    
else if(g_PlayerData[id][PlayerIsInLr] && g_PlayerData[id][GivingItem])
    {
        
//Cintinue
        
return HAM_IGNORED;
    }
    
    return 
HAM_IGNORED;
}
stock get_weapon_ent(id,wpnid=0,wpnName[]="")
{
    
// who knows what wpnName will be
    
static newName[24];
    
    
// need to find the name
    
if(wpnidget_weaponname(wpnid,newName,23);
    
    
// go with what we were told
    
else formatex(newName,23,"%s",wpnName);
    
    
// prefix it if we need to
    
if(!equal(newName,"weapon_",7))
        
format(newName,23,"weapon_%s",newName);
    
    return 
fm_find_ent_by_owner(32,newName,id);
}
stock fm_find_ent_by_owner(entity, const classname[], owner)
{
    while ((
entity engfunc(EngFunc_FindEntityByStringentity"classname"classname)) && pev(entitypev_owner) != owner) { /* keep looping */ }
    return 
entity;
}

public 
fw_primary_attack(ent)
{
    if(!
g_lrG_activated && g_lrG != LR_GAME_S4S)
        return 
HAM_IGNORED;
    
    
//Get owner of entity
    
new id pev(ent,pev_owner)
    
    
//if he's not alive
    
if(!is_user_alive(id))
        return 
HAM_IGNORED;
    
    
//If player is in lr and can shoot deagle
    
if(g_PlayerData[id][PlayerIsInLr] && g_PlayerData[id][LrCanShootDeagle])
    {
        
//Search enemy
        
for(new iIndex 1iIndex <= 32iIndex++)
        {
            
//if he's in lr and can't shoot deagle and is alive
            
if(g_PlayerData[iIndex][PlayerIsInLr] && !g_PlayerData[iIndex][LrCanShootDeagle] && is_user_alive(iIndex))
            {
                
//Strip his weapons
                
fm_strip_user_weapons(id);
                
                
//Give deagle to enemy
                
g_PlayerData[iIndex][GivingItem] = true;
                
fm_give_item(iIndex"weapon_deagle");
                
g_PlayerData[iIndex][GivingItem] = false;
                
                
//enemy can shoot
                
g_PlayerData[iIndex][LrCanShootDeagle] = true;
            }
        }
        
        
//Player can't shoot anymore
        
g_PlayerData[id][LrCanShootDeagle] = false
        
        
return HAM_HANDLED;
        
    }
    
    return 
HAM_IGNORED
}

public 
task_thehidden_timer()
{
    if(
g_lrG_activated && g_lrG == LR_GAME_HIDDEN)
    {
        
g_iHiddenTimeleft--
        
        if(
g_iHiddenTimeleft <= 0)
        {
            
colored_print(1337"^04[eG | Jail Break]^01 Guards failed to catch^04 The Hidden^01!");
            
g_lrG LR_GAME_NONE;
            
g_lrG_activated false;
            
            for(new 
i<= 33i++)
            {
                if(
is_user_alive(i) && get_user_team(i) == CS_TEAM_CT)
                {
                    
user_kill(i);
                }
            }
            
            return 
PLUGIN_HANDLED;
        }
        
        
//White, centered, 1 seconds
        
set_hudmessage(255255255, -1.0, -1.000.11.00.10.1, -1)
        
//Show it
        
show_hudmessage(0,"%i"g_iHiddenTimeleft);
        
        
set_task(1.0"task_thehidden_timer");
        
        return 
PLUGIN_HANDLED;
        
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
task_nadeBattleGiveHE()
{
    if(
g_lrG_activated && g_lrG == LR_GAME_GRENADE)
    {
        for(new 
i<= 33i++)
        {
            if(
is_user_alive(i) && g_PlayerData[i][PlayerIsInLr])
            {
                
g_PlayerData[i][GivingItem] = true;
                
fm_give_item(i"weapon_hegrenade")
                
g_PlayerData[i][GivingItem] = false;
            }
        }
        
        
set_task(1.0"task_nadeBattleGiveHE");
    }
}
public 
fw_GetGameDescription()
{
    
forward_return(FMV_STRING"[eG] Jail Break")
    
    return 
FMRES_SUPERCEDE;
}

public 
cmd_freeday(idlevelcid)
{
    if (!
cmd_access(idADMIN_BANcid2))
        return 
PLUGIN_HANDLED;
    
    
// Retrieve arguments
    
static arg[32], player
    read_argv
(1argcharsmax(arg))
    
player cmd_target(idarg, (CMDTARGET_ONLY_ALIVE CMDTARGET_ALLOW_SELF))
    
    
// Invalid target
    
if (!player) return PLUGIN_HANDLED;
    
    
g_PlayerData[id][iFreedayCount]++
    
set_freeday(player)
    
    return 
PLUGIN_HANDLED;
}
public 
cmd_rebel(idlevelcid)
{
    if (!
cmd_access(idADMIN_BANcid2))
        return 
PLUGIN_HANDLED;
    
    
// Retrieve arguments
    
static arg[32], player
    read_argv
(1argcharsmax(arg))
    
player cmd_target(idarg, (CMDTARGET_ONLY_ALIVE CMDTARGET_ALLOW_SELF))
    
    
// Invalid target
    
if (!player) return PLUGIN_HANDLED;
    
    
set_rebel(player);
    
    return 
PLUGIN_HANDLED;
}

public 
set_freeday(id)
{
    if(!
is_user_alive(id) || get_user_team(id) == CS_TEAM_CT)
        return;
    
    
get_user_name(idg_PlayerData[id][PlayerName], 31);
    
colored_print(1337"^04[eG | Jail Break]^03 %s now has freeday!"g_PlayerData[id][PlayerName]);
    
    
g_PlayerData[id][PlayerHasFreeday] = true;
    
g_PlayerData[id][iFreedayCount]--;
    
    
fm_set_rendering(idkRenderFxGlowShell255255255kRenderNormal16);
}

stock update_alive_count()
{
    
g_aPrisionerCount 0;
    
g_aGuardCount 0;
    
    for(new 
1<= 33i++)
    {
        new 
id i;
        
        if(
is_user_alive(id) && get_user_team(id) == CS_TEAM_CT)
        {
            
g_aGuardCount++;
        }
        else if(
is_user_alive(id) && get_user_team(id) == CS_TEAM_T)
        {
            
g_aPrisionerCount++;
        }
    }
}

stock get_alive_prisoners()
{
    new 
count 0;
    
    for(new 
1<= 33i++)
    {
        new 
id i;
        
        if(
is_user_alive(id) && get_user_team(id) == CS_TEAM_T)
        {
            
count++;
        }
    }
    
    return 
count;
}

stock get_alive_guards()
{
    new 
count 0;
    
    for(new 
1<= 33i++)
    {
        new 
id i;
        
        if(
is_user_alive(id) && get_user_team(id) == CS_TEAM_CT)
        {
            
count++;
        }
    }
    
    return 
count;
}

stock get_last_prisoner()
{
    new 
prisoner;
    
    if(!(
get_alive_prisoners() == 1))
        return;
    
    for(new 
1<= 32i++)
    {
        static 
id i;
        
        if(
is_user_alive(id) && get_user_team(id) == CS_TEAM_T)
        {
            
prisoner id;
        }
    }
    
    return 
prisoner;
}
public 
set_trail(task)
{
    if(
g_lrG_activated && g_lrG != LR_GAME_NONE)
    {
        new 
rgbT[3] = { 2550}
        new 
rgbCT[3] = { 00255 }
        new 
id task TASK_TRAIL;
        if(
g_PlayerData[id][PlayerIsInLr] && is_user_alive(id))
        {
            new 
team get_user_team(id);
            switch(
team)
            {
                case 
CS_TEAM_CT:
                {
                    
create_trail(id110rgbCT)
                }
                case 
CS_TEAM_T:
                {
                    
create_trail(id110rgbT)
                }
            }
        }
    }
}

public 
create_trail(idlifewidthrgb[3])
{
    
// And a colored trail
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(TE_BEAMFOLLOW// TE id
    
write_short(id// entity
    
write_short(gBeam// sprite
    //write_byte(life * 10) // life
    
write_byte(life 10// life
    
write_byte(width// width
    
write_byte(rgb[0]) // r
    
write_byte(rgb[1]) // g
    
write_byte(rgb[2]) // b
    
write_byte(200// brightness
    
message_end()
}
public 
class_handle(iditem)
{
    if( 
item 0)
        return 
PLUGIN_CONTINUE;
    
    
//new selection = item;
    //selection += 1;

    
switch(item)
    {
        case 
CT_CLASS_REGULAR:
        {
            
g_PlayerData[id][ClassCT] = CT_CLASS_REGULAR;
        }
        case 
CT_CLASS_FAT:
        {
            
g_PlayerData[id][ClassCT] = CT_CLASS_FAT;
        }
        case 
CT_CLASS_SNIPER:
        {
            
g_PlayerData[id][ClassCT] = CT_CLASS_SNIPER;
        }
        case 
CT_CLASS_RUSSIAN:
        {
            
g_PlayerData[id][ClassCT] = CT_CLASS_RUSSIAN;
        }
        case 
CT_CLASS_SWAT:
        {
            
g_PlayerData[id][ClassCT] = CT_CLASS_SWAT;
        }
        case 
CT_CLASS_GUNNER:
        {
            
g_PlayerData[id][ClassCT] = CT_CLASS_GUNNER;
        }
    }
    
giveWeapons(id);
    return 
PLUGIN_HANDLED;
}
public 
giveWeapons(id)
{
    if(
g_PlayerData[id][PlayerIsInLr] || !is_user_alive(id))
        return;
    
    if(
is_user_alive(id) && get_user_team(id) == CS_TEAM_T)
    {
        
fm_strip_user_weapons(id);
        
fm_give_item(id,"weapon_knife");
        
fm_set_user_health(id100)
    }
    else if(
is_user_alive(id) && get_user_team(id) == CS_TEAM_CT)
    {
        
fm_strip_user_weapons(id);
        switch(
g_PlayerData[id][ClassCT])
        {
            case 
CT_CLASS_REGULAR:
            {
                
fm_give_item(id,"weapon_m4a1");
                
//cs_set_user_bpammo(id, CSW_M4A1, 200)
                
fm_give_item(id,"weapon_deagle");
                
//cs_set_user_bpammo(id, CSW_USP, 200)
                //fm_give_item(id, "weapon_flashbang");
                //cs_set_user_bpammo(id, CSW_FLASHBANG, 2)
                
fm_give_item(id"weapon_hegrenade");
                
fm_give_item(id"weapon_knife");
                
fm_set_user_health(id100)
            }
            case 
CT_CLASS_FAT:
            {
                
fm_give_item(id,"weapon_m3");
                
//cs_set_user_bpammo(id, CSW_M3, 200)
                
fm_give_item(id,"weapon_deagle");
                
//cs_set_user_bpammo(id, CSW_USP, 200)
                //fm_give_item(id, "weapon_flashbang");
                //cs_set_user_bpammo(id, CSW_FLASHBANG, 2)
                
fm_give_item(id"weapon_hegrenade");
                
fm_give_item(id"weapon_knife");
                
fm_set_user_health(id200)
            }
            case 
CT_CLASS_SNIPER:
            {
                
fm_give_item(id,"weapon_awp");
                
//cs_set_user_bpammo(id, CSW_AWP, 200)
                
fm_give_item(id,"weapon_deagle");
                
//cs_set_user_bpammo(id, CSW_DEAGLE, 200)
                //fm_give_item(id, "weapon_flashbang");
                //cs_set_user_bpammo(id, CSW_FLASHBANG, 2)
                
fm_give_item(id"weapon_hegrenade");
                
fm_give_item(id"weapon_knife");
                
fm_set_user_health(id150)
            }
            case 
CT_CLASS_RUSSIAN:
            {
                
fm_give_item(id,"weapon_ak47");
                
//cs_set_user_bpammo(id, CSW_AK47, 200)
                
fm_give_item(id,"weapon_deagle");
                
//cs_set_user_bpammo(id, CSW_GLOCK18, 200)
                //fm_give_item(id, "weapon_flashbang");
                //cs_set_user_bpammo(id, CSW_FLASHBANG, 2)
                
fm_give_item(id"weapon_hegrenade");
                
fm_give_item(id"weapon_knife");
                
fm_set_user_health(id100)
            }
            case 
CT_CLASS_SWAT:
            {
                
fm_give_item(id,"weapon_mp5navy");
                
//cs_set_user_bpammo(id, CSW_MP5NAVY, 200)
                
fm_give_item(id,"weapon_deagle");
                
//cs_set_user_bpammo(id, CSW_USP, 200)
                //fm_give_item(id, "weapon_flashbang");
                //cs_set_user_bpammo(id, CSW_FLASHBANG, 2)
                
fm_give_item(id"weapon_hegrenade");
                
fm_give_item(id"weapon_knife");
                
fm_set_user_health(id150)
            }
            case 
CT_CLASS_GUNNER:
            {
                
fm_give_item(id,"weapon_m249");
                
//cs_set_user_bpammo(id, CSW_M249, 200)
                
fm_give_item(id,"weapon_deagle");
                
//cs_set_user_bpammo(id, CSW_ELITE, 200)
                //fm_give_item(id, "weapon_flashbang");
                //cs_set_user_bpammo(id, CSW_FLASHBANG, 2)
                
fm_give_item(id"weapon_hegrenade");
                
fm_give_item(id"weapon_knife");
                
fm_set_user_health(id50)
            }
        }
    }
}
public 
lr_crazy(id)
{
    
//He should be alive.
    
if(!is_user_alive(id))
        return 
PLUGIN_CONTINUE;
    
    if(
get_alive_guards() < 4)
    {
        
colored_print(id"^04[eG | Jail Break]^01 You can't use this option, because there must be at least 4 alive guards.");
        return 
PLUGIN_CONTINUE;
    }
    
    
get_user_name(idg_PlayerData[id][PlayerName], 31);
    
colored_print(1337"^04[eG | Jail Break]^03 %s^01 is^04 CRAZY TERRORIST^01, kill him before time runs out!"g_PlayerData[id][PlayerName]);
    
    
fm_set_rendering(idkRenderFxNone25500);
    
    
g_lrG_activated true;
    
g_iCrazyTimeleft get_pcvar_num(cvar_CrazyTime);
    
    
//Strip everyone
    
for(new i<= 32i++)
    {
        if(
is_user_alive(i) && get_user_team(i) == CS_TEAM_CT)
        {
            
g_PlayerData[i][PlayerIsInLr] = true;
            
fm_strip_user_weapons(i);
            
g_PlayerData[i][GivingItem] = true;
            
fm_give_item(i"weapon_knife");
            
fm_give_item(i"weapon_flashbang");
            
cs_set_user_bpammo(idCSW_FLASHBANG2)
            
g_PlayerData[i][GivingItem] = false;
            
fm_set_user_health(i200);
        }
    }
    
g_PlayerData[id][PlayerIsInLr] = true;
    
fm_strip_user_weapons(id);
    
g_PlayerData[id][GivingItem] = true;
    
fm_give_item(id,"weapon_elite");
    
cs_set_user_bpammo(idCSW_ELITE200)
    
g_PlayerData[id][GivingItem] = false;
    
fm_set_user_health(id1);
    
    
set_task(1.0"task_crazy_timer");
    
    return 
PLUGIN_HANDLED;
}
public 
task_crazy_timer()
{
    if(
g_lrG_activated && g_lrG == LR_GAME_CRAZY)
    {
        
g_iCrazyTimeleft--
        if(
g_iCrazyTimeleft <= 0)
        {
            
colored_print(1337"^04[eG | Jail Break]^01 Guards failed to kill^04 CRAZY TERRORIST^01!");
            
g_lrG LR_GAME_NONE;
            
g_lrG_activated false;
            for(new 
i<= 32i++)
            {
                if(
is_user_alive(i) && get_user_team(i) == CS_TEAM_CT)
                {
                    
user_kill(i);
                }
            }
            return 
PLUGIN_HANDLED;
        }
        
//White, centered, 1 seconds
        
set_hudmessage(255255255, -1.0, -1.000.11.00.10.1, -1)
        
//Show it
        
show_hudmessage(0,"%i"g_iCrazyTimeleft);
        
set_task(1.0"task_crazy_timer");
    }
    
    return 
PLUGIN_HANDLED;
}
public 
cmd_rules(id)
{
    
show_motd(id"motd.txt","[eG] JailBreak Rules");
    return 
PLUGIN_HANDLED;
}
public 
cmd_voteban(id)
{
    if(
g_voteban_running)
    {
        
colored_print(1337"^04[eG | Jail Break]^01 Another voteban is already running!");
        return 
PLUGIN_CONTINUE;
    }
    
    
show_voteban_menu(idg_iBanMenuPage[id] = 0);
    return 
PLUGIN_HANDLED;
    
    
/*
    new votebanMenu = menu_create("Select player to voteban", "voteban_menu");
    new pId[2];
    new players = 0;
    
    for(new iIndex = 1; iIndex <= 33; iIndex++)
    {
        if(is_user_connected(iIndex) && !is_user_bot(iIndex) && id != iIndex)
        {
            num_to_str(iIndex, pId, 2);
            get_user_name(iIndex, g_PlayerData[iIndex][PlayerName], 31);
            menu_additem(votebanMenu, g_PlayerData[iIndex][PlayerName], pId);
            players++;
        }
    }
    if(players >= 1)
    {
        //Display menu 
        menu_display(id, votebanMenu);
    }
    else
    {
        colored_print(1337, "^04[eG | Jail Break]^01 There are no players to vote for!");
    }
    
    
    */
}
public 
show_voteban_menu(idiPage)
{
    static 
iiPlayerszName[32];
    static 
szMenu[512], iCurrPosiCurrPos 0;
    static 
iStartiEndiStart iPage MENU_SLOTS;
    static 
iKeys;
    
    
get_players(g_iPlayersg_iNum"h");
    
    if(
iStart >= g_iNum)
    {
        
iStart iPage g_iBanMenuPage[id] = 0;
    }
    
    static 
iLen;
    
iLen formatex(szMenucharsmax(szMenu), "\ySelect player to voteban:^n^n");
    
    
iEnd iStart MENU_SLOTS;
    
iKeys MENU_KEY_0;
    
    if(
iEnd g_iNum)
    {
        
iEnd g_iNum;
    }
    
    for(
iStart iEnd i++)
    {
        
iPlayer g_iPlayers[i];
        
get_user_name(iPlayerszNamecharsmax(szName));
        
        
iKeys |= (<< iCurrPos++);
        
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\r%d\w. %s \d^n"iCurrPosszName);
    }
    
    if(
iEnd != g_iNum)
    {
        
formatex(szMenu[iLen], charsmax(szMenu) - iLen"^n\r9\w. Next ^n\r0\w.%s"iPage "Back" "Exit");
        
iKeys |= MENU_KEY_9;
    }
    else
    {
        
formatex(szMenu[iLen], charsmax(szMenu) - iLen"^n\r0\w. %s"iPage "Back" "Exit");
    }
    
show_menu(idiKeysszMenu, -1"");
    return 
PLUGIN_HANDLED;
}
//
// VOTEBAN
//
public voteban_menu(idkey)
{
    if( 
key 
        return 
PLUGIN_CONTINUE;
    
    switch(
key)
    {
        case 
8:
        {
            
show_voteban_menu(id, ++g_iBanMenuPage[id]);
        }
        case 
9:
        {
            if(!
g_iBanMenuPage[id])
                return 
PLUGIN_HANDLED;
            
            
show_voteban_menu(id, --g_iBanMenuPage[id]);
        }
        default: {
            static 
iPlayer;
            
iPlayer g_iPlayers[g_iBanMenuPage[id] * MENU_SLOTS key];
            
            
g_voteban_votes[0] = 0;
            
g_voteban_votes[1] = 0;
            
g_voteban_votes[2] = 0;
            
g_voteban_caller id;
            
g_voteban_target iPlayer;
            
            
get_user_name(idg_PlayerData[id][PlayerName], 31);
            
get_user_name(iPlayerg_PlayerData[iPlayer][PlayerName], 31);
            
            if(!
is_user_connected(iPlayer))
            {
                
show_voteban_menu(idg_iBanMenuPage[id]);
                return 
PLUGIN_HANDLED;
            }
            if(
iPlayer == id)
            {
                
client_print(idprint_center"*You cannot voteban yourself!*");
                
show_voteban_menu(idg_iBanMenuPage[id]);
                
                return 
PLUGIN_HANDLED;
            }
            
//Log little chat message
            
colored_print(1337"^04[eG | Jail Break]^01 Voteban started by ^03%s ^01for ^03%s^01."g_PlayerData[id][PlayerName], g_PlayerData[iPlayer][PlayerName]);
            
            new 
menu[250];
            
formatex(menu249"\yBan %s for 60 minutes ?^n^n\r1.\w Yes^n\r2.\w No^n\r3.\w DURRRRRR"g_PlayerData[iPlayer][PlayerName]);
            
show_menu(0MENU_KEYSmenu);
            
g_voteban_running true;
    
            
//Take action after 15 seconds
            
set_task(15.0"voteban_action");
        }
    }
    return 
PLUGIN_HANDLED;
}
public 
voteban_vote(iditem)
{
    if(!
g_voteban_running)
    {
        return 
PLUGIN_CONTINUE;
    }
    
    
get_user_name(idg_PlayerData[id][PlayerName], 31);
    
    switch(
item)
    {
        case 
0:
        {
            
colored_print(1337"^04[eG | Jail Break] ^03%s^01 voted ^04for^01!"g_PlayerData[id][PlayerName]);
            
g_voteban_votes[0]++;
            return 
PLUGIN_HANDLED;
        }
        case 
1:
        {
            
colored_print(1337"^04[eG | Jail Break] ^03%s^01 voted ^04against^01!"g_PlayerData[id][PlayerName]);
            
g_voteban_votes[1]++;
            return 
PLUGIN_HANDLED;
        }
        case 
2:
        {
            
colored_print(1337"^04[eG | Jail Break] ^03%s^01 is ^03retarded :("g_PlayerData[id][PlayerName]);
            
g_voteban_votes[2]++;
            return 
PLUGIN_HANDLED;
        }
    }

    return 
PLUGIN_CONTINUE;
}
public 
voteban_action()
{
    new 
totalvotes g_voteban_votes[0] + g_voteban_votes[1] + g_voteban_votes[2];
    new 
Float:result = (float(g_voteban_votes[0]) / float(totalvotes));
    
    
get_user_name(g_voteban_callerg_PlayerData[g_voteban_caller][PlayerName], 31);
    
get_user_name(g_voteban_targetg_PlayerData[g_voteban_target][PlayerName], 31);
    if(
totalvotes 2)
    {
        if( 
result 0.50 )
        {
            
colored_print(1337,"^04[eG | Jail Break]^01 The vote back-fired at ^03%s,^01 he is banned for^04 10^01 minutes."g_PlayerData[g_voteban_caller][PlayerName])
            
colored_print(1337"^04[eG | Jail Break]^01 For:^04 %i^01 Against:^04 %i^01 Retarded:^04 %i^01"g_voteban_votes[0], g_voteban_votes[1], g_voteban_votes[2]);
            new 
steamid[35];
            
get_user_authid(g_voteban_callersteamid34);
            new 
cmd[250]; 
            
formatex(cmd250"amx_ban ^"%s^" 10 ^"Voteban by %s^""steamidg_PlayerData[g_voteban_caller][PlayerName]);
            
server_cmd(cmd);
        }
        else if( 
result >= 0.50 )
        {
            
colored_print(1337"^04[eG | Jail Break]^01 The vote succeeded, ^03%s^01 is banned for^04 30^01 minutes."g_PlayerData[g_voteban_target][PlayerName])
            
colored_print(1337"^04[eG | Jail Break]^01 For:^04 %i^01 Against:^04 %i^01 Retarded:^04 %i^01"g_voteban_votes[0], g_voteban_votes[1], g_voteban_votes[2]);
            new 
steamid[35];
            
get_user_authid(g_voteban_targetsteamid34);
            new 
cmd[250];
            
formatex(cmd250"amx_ban ^"%s^" 30 ^"Voteban by %s^""steamidg_PlayerData[g_voteban_caller][PlayerName]);
            
server_cmd(cmd);
        }
        else  
        {
            
colored_print(1337"^04[eG | Jail Break]^01 The vote failed.")
        }
    } else
    {
        
colored_print(1337"^04[eG | Jail Break]^01 The vote failed.")
    }
    
    
g_voteban_running false;
    
g_voteban_caller 0;
    
g_voteban_target 0;
    
g_voteban_votes[0] = 0;
    
g_voteban_votes[1] = 0;
    
g_voteban_votes[2] = 0;
    
    return;
}
public 
fw_EmitSound(idchannel, const sound[]) 
{
    if(
pev_valid(id) && is_user_alive(id)) 
    {
        if(
get_user_team(id) == CS_TEAM_T)
        {
            
/*
            if(KNIFE_MODEL[id] == 2)
                return FMRES_IGNORED;
            */
            
for(new 09i++) 
            {
                if(
equal(sound knife_sounds_original[i])) 
                {
                    
emit_sound(idchannelknife_sounds_new[i], 1.0ATTN_NORM0PITCH_NORM);
                    return 
FMRES_SUPERCEDE;
                }
            }
        }
    }
    return 
FMRES_IGNORED;
}

stock set_stats(idfragsnewdeaths = -1)
{
    if(!
is_user_connected(id))
        return 
PLUGIN_CONTINUE;
    new 
deaths
    
    
if(newdeaths 0)
    { 
        
deaths get_user_deaths(id);
    }
    else
    {
        
deaths newdeaths;
    }
    
//Set new frags
    
set_user_frags(idfrags)
    
cs_set_user_deaths(iddeaths);
    new 
team get_user_team(id);
    
//new deaths = get_user_deaths(id);
    
    //Update score instantly
    
message_begin(MSG_ALLg_msgScoreInfo
    
write_byte(id)
    
write_short(frags)
    
write_short(deaths)
    
write_short(0
    
write_short(team
    
message_end()
    
    return 
PLUGIN_HANDLED;
}
public 
task_setammo(const args[], task)

    new 
id task TASK_SETAMMO;
    
    if(!
is_user_alive(id))
        return 
PLUGIN_CONTINUE;
    
    
ExecuteHamB(Ham_GiveAmmoidMAXBPAMMO[args[0]], AMMOTYPE[args[0]], MAXBPAMMO[args[0]])
    
    return 
PLUGIN_HANDLED;
}
public 
stats_load(id)
{
    if(
get_pcvar_num(cvar_savestats) > 0)
    {
        new 
steamid[32];
        
get_user_authid(idsteamidsizeof steamid);
        new 
ts;
        new 
data[20]
        
nvault_lookup(g_vaultsteamiddatasizeof datats);
        
//formatex(data, sizeof data, "%s", data2);
        
new frags[10]
        new 
deaths[10]

        
split(datafragssizeof fragsdeathssizeof deaths":")
        
//colored_print(1337, "Loaded: %s Frags: %i Deaths: %i", data, frags, deaths);
        
set_stats(idstr_to_num(frags), str_to_num(deaths));
    }
    return 
PLUGIN_HANDLED;
}
public 
stats_save(id)
{
    if(
get_pcvar_num(cvar_savestats) > 0)
    {
        if(
is_user_bot(id) || !is_user_connected(id))
            return 
PLUGIN_CONTINUE;
        
        new 
steamid[32];
        
get_user_authid(idsteamidsizeof steamid);
        new 
data[20];
        new 
frags get_user_frags(id);
        new 
deaths get_user_deaths(id);
        
formatex(datasizeof data"%i:%i"fragsdeaths);
        
nvault_set(g_vaultsteamiddata);
    }
    return 
PLUGIN_HANDLED;
}
public 
event_restart()
{
    if(
get_pcvar_num(cvar_savestats) > 0)
    {
        for(new 
133i++)
        {
            if(
is_user_connected(i))
            {
                
stats_save(i)
                
g_loadedvault[i] = false;
            }
        }
    }
}
public 
cmd_shop(id)
{
    
//colored_print(id, "^04[eG | Jail Break] ^01 We are currently working on shop and you will be able to use kills as money.");
    
if(g_lrG != LR_GAME_NONE)
    {
        
colored_print(id"^04[eG | Jail Break] ^01You can't use shop while last request is activated!");
        return 
PLUGIN_CONTINUE;
    }
        
    if(
get_user_team(id) == CS_TEAM_T)
    {
        
menu_show(idMENU_SHOP);
        return 
PLUGIN_HANDLED;
    }
    else if(
get_user_team(id) == CS_TEAM_CT)
    {
        
colored_print(id"^04[eG | Jail Break] ^01Only prisoners can use shop!");
        return 
PLUGIN_HANDLED;
    }
    return 
PLUGIN_CONTINUE;
}
public 
shop_handler(idkey
{    
    if(!
is_user_alive(id) || key == MENU_KEY_0)
        return 
PLUGIN_CONTINUE;
    
    new 
item key 1
    
new price[2]
    
//formatex(price, charsmax(price), "%i", SHOP_ITEM_PRICE[item])
    
new newfrags get_user_frags(id) - str_to_num(price)
    if (
newfrags 0)
    {
        
colored_print(id"^04[eG | Jail Break] ^01 You do not have enough points!");
        return 
PLUGIN_CONTINUE;
    }
    
    switch(
item)
    {
        case 
ITEM_PISTOL:
        {
                
set_stats(idnewfrags);
                if(
random_num(13) == 1)
                {
                    
colored_print(id"^04[eG | Jail Break] ^01 You gambled for pistol and you got it!");
                    
give_item(id"weapon_deagle");
                    return 
PLUGIN_HANDLED;
                }
                else
                {
                    
user_kill(id);
                    
colored_print(id"^04[eG | Jail Break] ^01 You gambled for pistol and died.");
                    return 
PLUGIN_HANDLED;
                }
                
                return 
PLUGIN_CONTINUE;
        }
        case 
ITEM_PILL:
        {
                
set_stats(idnewfrags);
                new 
health get_user_health(id) + 100
                
if(health 200)
                    
health 200;
                
                
set_user_health(idhealth)
                
colored_print(id"^04[eG | Jail Break] ^01 You bought %s."SHOP_ITEM_NAME[SHOP_DATA:item]);
        
                return 
PLUGIN_HANDLED;
        }
        case 
ITEM_ARMOR:
        {
                
set_stats(idnewfrags);
                new 
armor get_user_armor(id) + 100
                
if(armor 200)
                    
armor 200;
                
                
set_user_armor(idarmor);
                
colored_print(id"^04[eG | Jail Break] ^01 You bought %s."SHOP_ITEM_NAME[SHOP_DATA:item]);
                return 
PLUGIN_HANDLED;
        }
    }
    
    return 
PLUGIN_CONTINUE;
}
public 
fw_UseEntiy(entitycalleractivatoruse_type)
{
    
// Prevent players from using items while in lr
    
if (use_type == && is_user_alive(caller) && g_PlayerData[caller][PlayerIsInLr])
        return 
HAM_SUPERCEDE;
    
    return 
HAM_IGNORED;

__________________
JailBreak Mod with Plugin API ( 90% ) Public
shuttle_wave is offline
poophead1324
Zero Posts
Join Date: Mar 2010
Old 03-22-2010 , 15:55   Re: [eG] Private Jailbreak Plugin
Reply With Quote #87

this is good but there are still many bugs

if anyone can get their hands on his voting plugin with auto cvars which is simply amazing and has all perfect wep pickup settings and a working bomb game plugin with timers, then ill be impressed
poophead1324 is offline
wrecked_
Veteran Member
Join Date: Jan 2010
Location: New York (GMT-5)
Old 03-22-2010 , 15:56   Re: [eG] Private Jailbreak Plugin
Reply With Quote #88

Quote:
Originally Posted by poophead1324 View Post
"this is good but there are still many bugs"
"if anyone can get their hands on his voting plugin with auto cvars which is simply amazing and has all perfect wep pickup settings and a working bomb game plugin with timers, then ill be impressed"
Hi MC_HAMMER.
__________________
[ Paid Requests ]
DO NOT PM ME ABOUT BLOCKMAKER
NO PRIVATE SUPPORT
wrecked_ is offline
ScriptMafia
BANNED
Join Date: Feb 2010
Old 03-22-2010 , 16:00   Re: [eG] Private Jailbreak Plugin
Reply With Quote #89

Thankyou for this nice plugin xD
ScriptMafia is offline
poophead1324
Zero Posts
Join Date: Mar 2010
Old 03-22-2010 , 16:01   Re: [eG] Private Jailbreak Plugin
Reply With Quote #90

i am not MC_HAMMER but i do browse these forums well enough to know tha you did pay over $60 for his jailbreak plugin lawl
poophead1324 is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 04:42.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode