[Ajutor] Erori plugin Jailbreak

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
w1nk3r
Membru, skill 0
Membru, skill 0
Posts: 9
Joined: 12 Dec 2017, 16:54
Detinator Steam: Da
Detinator server CS: jb.devilz.ro
SteamID: Alex71
Fond eXtream: 0
Location: Bucharest
Contact:

02 Jan 2018, 16:47

Stie cineva cum pot rezolva aceste erori la plugin-ul jbextreme?

jbextreme.sma(391) : error 017: undefined symbol "setup_buttons"
jbextreme.sma(394) : error 010: invalid function or declaration
jbextreme.sma(577) : error 017: undefined symbol "ChatColor"
jbextreme.sma(706) : error 017: undefined symbol "ChatColor"
jbextreme.sma(713) : error 017: undefined symbol "ChatColor"
jbextreme.sma(718) : error 017: undefined symbol "ChatColor"
jbextreme.sma(726) : error 029: invalid expression, assumed zero
jbextreme.sma(726) : error 017: undefined symbol "fw_player_killed"
jbextreme.sma(726) : error 017: undefined symbol "shouldgib"
jbextreme.sma(726) : fatal error 107: too many error messages on one line

Aveti aici sursa
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta_util>
#include <fakemeta>
#include <hamsandwich>
#include <fun>
#include <cstrike>

#pragma tabsize 0
  

//Drop Crowbar
enum _: iCrowbarSequences
{
	CrowbarIdle = 0,
	CrowbarFloat,
	CrowbarSpin
};
new const gCrowbarClassname[ ] = "crowbar$";
new const gCrowbarModel[ ] = "models/w_cbd.mdl";

//native
native jb_starttag()
native jb_game_killball()
native give_rifle(id);
native give_conc_bomb(id);
native give_jump_bomb(id);
native open_football_menu(id);


#define JB_PREFIX	"!y[!gSimonMenu!y]"


#pragma tabsize 0
#define PLUGIN_NAME	"JailBreak Romania"
#define PLUGIN_AUTHOR	"Fantasy / Joropito"
#define PLUGIN_VERSION	"2.0"
#define PLUGIN_CVAR	"jbromania"

#define ADMIN_ACCESS ADMIN_MAP

#define TASK_STATUS	2487000
#define TASK_FREEDAY	2487100
#define TASK_ROUND	2487200
#define TASK_HELP		2487300
#define TASK_SAFETIME	2487400
#define TASK_FREEEND	2487500
#define TEAM_MENU		"#Team_Select_Spect"
#define TEAM_MENU2	"#Team_Select_Spect"
#define HUD_DELAY		Float:4.0
#define CELL_RADIUS	Float:200.0

#define get_bit(%1,%2) 		( %1 &   1 << ( %2 & 31 ) )
#define set_bit(%1,%2)	 	%1 |=  ( 1 << ( %2 & 31 ) )
#define clear_bit(%1,%2)	%1 &= ~( 1 << ( %2 & 31 ) )

#define vec_len(%1)		floatsqroot(%1[0] * %1[0] + %1[1] * %1[1] + %1[2] * %1[2])
#define vec_mul(%1,%2)		( %1[0] *= %2, %1[1] *= %2, %1[2] *= %2)
#define vec_copy(%1,%2)		( %2[0] = %1[0], %2[1] = %1[1],%2[2] = %1[2])

// Offsets
#define m_iPrimaryWeapon	116
#define m_iVGUI			510
#define m_fGameHUDInitialized	349
#define m_fNextHudTextArgsGameTime	198
 
enum _hud { _hudsync, Float:_x, Float:_y, Float:_time }
enum _lastrequest { _knife, _deagle, _freeday, _weapon }
enum _duel { _name[16], _csw, _entname[32], _opt[32], _sel[32] }

new gp_PrecacheSpawn
new gp_PrecacheKeyValue

new gp_CrowbarMax
new gp_CrowbarMul
new gp_TeamRatio
new gp_CtMax
new gp_BoxMax
new gp_TalkMode
new gp_VoiceBlock
new gp_RetryTime
new gp_RoundMax
new gp_ButtonShoot
new gp_SimonSteps
new gp_SimonRandom
new gp_GlowModels
new gp_AutoLastresquest
new gp_LastRequest
new gp_Motd
new gp_SpectRounds
new gp_NosimonRounds
new gp_AutoOpen
new gp_TeamChange

new g_MaxClients
new g_MsgStatusText
new g_MsgStatusIcon
new g_MsgVGUIMenu
new g_MsgShowMenu
new g_MsgClCorpse
new g_MsgMOTD

new gc_TalkMode
new gc_VoiceBlock
new gc_SimonSteps
new gc_ButtonShoot
new Float:gc_CrowbarMul

// Precache
new const _FistModels[][] = { "models/lunetistiimodels/p_pumni.mdl", "models/lunetistiimodels/v4_pumni.mdl" }
new const _CrowbarModels[][] = { "models/lunetistiimodels/p_ranga.mdl", "models/lunetistiimodels/v_ranga.mdl" }
new const _FistSounds[][] = { "weapons/ranga/hit1.wav", "weapons/ranga/hit2.wav", "weapons/pumni/hit1.wav", "weapons/pumni/hit2.wav" }
new const gs_ViewModel[ ] = "models/lunetistiimodels/v_bulan.mdl";
new const gs_WeaponModel[ ] = "models/lunetistiimodels/p_bulan.mdl";
new const game_box[] = { "sound/jbsounds/jb_box3.mp3" }
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 _Duel[][_duel] =
{
	{ "Deagle", CSW_DEAGLE, "weapon_deagle", "JBE_MENU_LASTREQ_OPT4", "JBE_MENU_LASTREQ_SEL4" },
	{ "Scout", CSW_SCOUT, "weapon_scout", "JBE_MENU_LASTREQ_OPT5", "JBE_MENU_LASTREQ_SEL5" },
	{ "Grenades", CSW_HEGRENADE, "weapon_hegrenade", "JBE_MENU_LASTREQ_OPT6", "JBE_MENU_LASTREQ_SEL6" },
	{ "Awp", CSW_AWP, "weapon_awp", "JBE_MENU_LASTREQ_OPT7", "JBE_MENU_LASTREQ_SEL7" },
	{ "M4A1", CSW_M4A1, "weapon_m4a1", "JBE_MENU_LASTREQ_OPT8", "JBE_MENU_LASTREQ_SEL8" },
    { "M249", CSW_M249, "weapon_m249", "JBE_MENU_LASTREQ_OPT9", "JBE_MENU_LASTREQ_SEL9" }
}

//Shop
#define is_valid_player(%1) (1 <= %1 <= 32)
#define CharsMax(%1) sizeof %1 - 1
#define MAX_LINES 512
#define MAX_LEN 256
new g_szTag [] = "[Jb.RangFort.Ro]"
new g_cranii[33], take[33], give[33], gidPlayer[33]
new g_killcranii, g_killhscranii, g_startcranii, g_maxcranii, syncObj
new bool: GodmodeFolosit[33]
new w_machete[33], w_benzo[33], w_electro[33]
new const g_vipflag = ADMIN_LEVEL_G

//DaysMenu
#define is_valid_player(%1) (1 <= %1 <= 32)
const CountSeconds = 90;
new g_iCountTime;
new bool: GodmodeDay;
new bool: frezz[32]
new g_msgSayText, gmsgScreenFade
new day = 0;
new const PREFIX[] = "[Jb.RangFort.Ro]";

new g_iSpecialDay = -1;
new const g_szDaysText[ 16 ][] = {
	"Zombie",
	"Spartan",
	"Gravity",
	"NightCrawler",
	"Box",
	"War",
	"HNS",
	"NoClip",
	"GodMode",
	"MagicDay",
	"Tag",
	"DodgeBall",
	"Grenade",
	"Ramboo",
	"1HP",
	"Reverse Zombie"
}

// Reasons
new const g_Reasons[][] =  {
	"",
	"JBE_PRISONER_REASON_1",
	"JBE_PRISONER_REASON_2",
	"JBE_PRISONER_REASON_3",
	"JBE_PRISONER_REASON_4",
	"JBE_PRISONER_REASON_5",
	"JBE_PRISONER_REASON_6"
}

// HudSync: 0=ttinfo / 1=info / 2=simon / 3=ctinfo / 4=player / 5=day / 6=center / 7=help / 8=timer
new const g_HudSync[][_hud] =
{
	{0,  0.6,  0.2,  2.0},
	{0, -1.0,  0.7,  5.0},
	{0,  0.1,  0.2,  2.0},
	{0,  0.1,  0.3,  2.0},
	{0, -1.0,  0.9,  3.0},
	{0,  0.6,  0.1,  3.0},
	{0, -1.0,  0.6,  3.0},
	{0,  0.8,  0.3, 20.0},
	{0, -1.0,  0.4,  3.0}
}

// Colors: 0:Simon / 1:Freeday / 2:CT Duel / 3:TT Duel
new const g_Colors[][3] = { {0, 255, 0}, {255, 140, 0}, {0, 0, 255}, {255, 0, 0} }

new CsTeams:g_PlayerTeam[33]
new Float:g_SimonRandom
new Trie:g_CellManagers
new g_HelpText[512]
new g_JailDay
new g_PlayerJoin
new g_PlayerReason[33]
new g_PlayerSpect[33]
new g_PlayerSimon[33]
new g_PlayerNomic
new g_PlayerWanted
new g_PlayerCrowbar
new g_PlayerRevolt
new g_PlayerHelp
new g_PlayerFreeday
new g_PlayerLast
new g_FreedayAuto
new g_FreedayNext
new g_TeamCount[CsTeams]
new g_TeamAlive[CsTeams]
new g_BoxStarted
new g_CrowbarCount
new g_Simon
new g_SimonAllowed
new g_SimonTalking
new g_SimonVoice
new g_RoundStarted
new g_LastDenied
new g_Freeday
new g_BlockWeapons
new g_RoundEnd
new g_Duel
new g_DuelA
new g_DuelB
new g_SafeTime
new g_Buttons[10]
 
public plugin_init()
{
	unregister_forward(FM_Spawn, gp_PrecacheSpawn)
	unregister_forward(FM_KeyValue, gp_PrecacheKeyValue)
 
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
	register_cvar(PLUGIN_CVAR, PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY)
 
	register_dictionary("jbextreme.txt")
      
	g_MsgStatusText = get_user_msgid("StatusText")
	g_MsgStatusIcon = get_user_msgid("StatusIcon")
	g_MsgVGUIMenu = get_user_msgid("VGUIMenu")
	g_MsgShowMenu = get_user_msgid("ShowMenu")
	g_MsgMOTD = get_user_msgid("MOTD")
	g_MsgClCorpse = get_user_msgid("ClCorpse")

	register_message(g_MsgStatusText, "msg_statustext")
	register_message(g_MsgStatusIcon, "msg_statusicon")
	register_message(g_MsgVGUIMenu, "msg_vguimenu")
	register_message(g_MsgShowMenu, "msg_showmenu")
	register_message(g_MsgMOTD, "msg_motd")
	register_message(g_MsgClCorpse, "msg_clcorpse")
	

	register_event("CurWeapon", "current_weapon", "be", "1=1", "2=29")
	register_event("StatusValue", "player_status", "be", "1=2", "2!0")
	register_event("StatusValue", "player_status", "be", "1=1", "2=0")
    //register_event("SendAudio", "music1", "a", "2&%!MRAD_music") 
	//register_event("SendAudio", "music2", "a", "2&%!MRAD_music") 
	//register_event("SendAudio", "music3", "a", "2&%!MRAD_music")
	register_event("CurWeapon","HookCurWeapon", "be", "1=1")

	register_impulse(100, "impulse_100")
	// Crowbar Drop
	register_event( "DeathMsg", "Hook_DeathMessage", "a" );
	register_touch( gCrowbarClassname, "player", "Forward_TouchCrowbar" );
	
	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_jb_killed", 1)
	RegisterHam(Ham_Touch, "weapon_hegrenade", "player_touchweapon")
	RegisterHam(Ham_Touch, "weaponbox", "player_touchweapon")
	RegisterHam(Ham_Touch, "armoury_entity", "player_touchweapon")
	RegisterHam ( Ham_Spawn,"player","HookPlayerSpawn", 1 )
	RegisterHam(Ham_TakeDamage, "player", "fwdTakeDamage")

	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_forward(FM_EmitSound, "fw_EmitSound")
    register_event("CurWeapon", "Event_CurWeapon", "be", "1=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_logevent("eRoundEnd", 2, "1=Round_End");
	//register_logevent( "eRoundStart", 2, "1=Round_Start" );

	register_menucmd(register_menuid(TEAM_MENU), 51, "team_select") 
	register_menucmd(register_menuid(TEAM_MENU2), 51, "team_select") 

	register_clcmd("jointeam", "cmd_jointeam")
	register_clcmd("joinclass", "cmd_joinclass")
	register_clcmd("+simonvoice", "cmd_voiceon")
	register_clcmd("-simonvoice", "cmd_voiceoff")
	
    register_clcmd("say /fd", "cmd_freeday")
	register_clcmd("say /freeday", "cmd_freeday")
	register_clcmd("say /day", "cmd_freeday")
	register_clcmd("say /lr", "cmd_lastrequest")
	register_clcmd("say /lr", "cmd_lastrequest")
	register_clcmd("say /duel", "cmd_lastrequest")
	register_clcmd("say /simon", "cmd_simon")
	register_clcmd("say /open", "cmd_open")
	register_clcmd("say /nomic", "cmd_nomic")
	register_clcmd("say /box", "cmd_boxmenu")
	register_clcmd( "say /days", "cmd_daysmenu" )
	register_clcmd("say /daysmenu", "cmd_daysmenu")
	register_clcmd("say /shop", "ShopMenu")
    register_clcmd("say_team /shop", "ShopMenu")
	register_clcmd("say /mc", "MenuCranii")
	register_clcmd("say !mc", "MenuCranii")
	register_clcmd("say_team /mc", "MenuCranii")
	register_clcmd("say_team !mc", "MenuCranii")
	register_clcmd("Cantitate", "player")
	//register_clcmd("say /boxoff", "cmd_boxoff")
	//register_clcmd("say /boxinstant", "cmd_box")
	register_clcmd("say /help", "cmd_help")
	//register_clcmd("say /music", "cmd_music")
	register_clcmd("say /menu", "cmd_simonmenu")
	register_clcmd("say /simonmenu", "cmd_simonmenu")
	
	g_killcranii = register_cvar("jb_killcranii", "1"); 
	g_killhscranii = register_cvar("jb_bonushscranii","2");
	g_startcranii = register_cvar("jb_startcranii","2"); 
	g_maxcranii = register_cvar("jb_maxgivecranii","10000");
	
	syncObj = CreateHudSyncObj()
	
	register_dictionary( "jbextreme.txt" );
	
	register_clcmd("jbe_freeday", "adm_freeday", ADMIN_ACCESS)
	register_concmd("jbe_nomic", "adm_nomic", ADMIN_ACCESS)
	register_concmd("jbe_open", "adm_open", ADMIN_ACCESS)
	register_concmd("jbe_box", "adm_box", ADMIN_ACCESS)
	register_concmd("jbe_boxoff", "adm_boxoff", ADMIN_ACCESS)
	register_concmd("jbe_simonreset", "cmd_simonreset", ADMIN_ACCESS)

    gp_GlowModels = register_cvar("jbe_glowmodels", "0")
	gp_SimonSteps = register_cvar("jbe_simonsteps", "0")
	gp_CrowbarMul = register_cvar("jbe_crowbarmultiplier", "25.0")
	gp_CrowbarMax = register_cvar("jbe_maxcrowbar", "1")
	gp_TeamRatio = register_cvar("jbe_teamratio", "3")
	gp_TeamChange = register_cvar("jbe_teamchange", "0") // 0-disable team change for tt / 1-enable team change
	gp_CtMax = register_cvar("jbe_maxct", "6")
	gp_BoxMax = register_cvar("jbe_boxmax", "32")
	gp_RetryTime = register_cvar("jbe_retrytime", "10.0")
	gp_RoundMax = register_cvar("jbe_freedayround", "240.0")
	gp_AutoLastresquest = register_cvar("jbe_autolastrequest", "1")
	gp_LastRequest = register_cvar("jbe_lastrequest", "1")
	gp_Motd = register_cvar("jbe_motd", "1")
	gp_SpectRounds = register_cvar("jbe_spectrounds", "3")
	gp_NosimonRounds = register_cvar("jbe_nosimonrounds", "7")
	gp_SimonRandom = register_cvar("jbe_randomsimon", "0")
	gp_AutoOpen = register_cvar("jbe_autoopen", "1")
	gp_TalkMode = register_cvar("jbe_talkmode", "2")	// 0-alltak / 1-tt talk / 2-tt no talk
	gp_VoiceBlock = register_cvar("jbe_blockvoice", "2")	// 0-dont block / 1-block voicerecord / 2-block voicerecord except simon
	gp_ButtonShoot = register_cvar("jbe_buttonshoot", "1")	// 0-standard / 1-func_button shoots!
	
	g_MaxClients = get_global_int(GL_maxClients)
	g_msgSayText = get_user_msgid("SayText")
	gmsgScreenFade = get_user_msgid("ScreenFade")
	
	RegisterHam(Ham_Killed,	"player", "fw_player_killed")
    RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage")
    RegisterHam(Ham_Spawn, "player", "Spawn_player", 1)
    set_task(120.0, "mesajgodmode");
	
	for(new i = 0; i < sizeof(g_HudSync); i++)
		g_HudSync[_hudsync] = CreateHudSyncObj()
	
	formatex(g_HelpText, charsmax(g_HelpText), "%L^n^n%L^n^n%L^n^n%L",
	LANG_SERVER, "JBE_HELP_TITLE",
	LANG_SERVER, "JBE_HELP_BINDS",
	LANG_SERVER, "JBE_HELP_GUARD_CMDS",
	LANG_SERVER, "JBE_HELP_PRISONER_CMDS")
	
	setup_buttons()

}	  
	return PLUGIN_CONTINUE
}

public plugin_precache()
{
	static i
        precache_model("models/player/jb_lunetistii_v2/jb_lunetistii_v2.mdl")
		precache_model("models/player/jb_lunetistii_v2/jb_lunetistii_v2T.mdl")
        precache_model("models/w_cbd.mdl")
	precache_model ( gs_ViewModel )
	precache_model ( gs_WeaponModel )
        precache_generic("sound/jbsounds/florin1.mp3")
	precache_generic("sound/jbsounds/ST1.mp3")
	precache_generic("sound/jbsounds/Susa1.mp3")
	precache_generic(game_box)
 
	for(i = 0; i < sizeof(_FistModels); i++)
		precache_model(_FistModels)
 
	for(i = 0; i < sizeof(_CrowbarModels); i++)
		precache_model(_CrowbarModels)
 
	for(i = 0; i < sizeof(_FistSounds); i++)
		precache_sound(_FistSounds)
     
	precache_sound("ambience/siren.wav")
	precache_sound("jbsounds/jb_lr.wav")
    precache_sound("jbsounds/jb_box3.mp3")
	precache_sound("jbsounds/jb_ding.wav")
	precache_sound("jbsounds/jb_kill.wav")
	precache_sound("jbsounds/jb_open.wav")
	

	precache_model( "models/ShopJB/benzo/v_benzo.mdl" )
   precache_model( "models/ShopJB/benzo/p_benzo.mdl" )
   precache_model( "models/ShopJB/Machete/v_Machete.mdl" )
   precache_model( "models/ShopJB/Machete/p_Machete.mdl" )
   precache_model( "models/ShopJB/electro/v_electro.mdl" )
   precache_model( "models/ShopJB/electro/p_electro.mdl" )
   precache_sound("ShopJB/benzo/MTSlash.wav")
   precache_sound("ShopJB/benzo/MTConvoca.wav")
   precache_sound("ShopJB/benzo/MTHitWall.wav")
   precache_sound("ShopJB/benzo/MTHit2.wav")
   precache_sound("ShopJB/benzo/MTStab.wav")
   precache_sound("ShopJB/machete/EConvoca.wav")
   precache_sound("ShopJB/machete/EHitWall.wav")
   precache_sound("ShopJB/machete/EHit2.wav")
   precache_sound("ShopJB/machete/ESlash.wav")
   precache_sound("ShopJB/machete/EStab.wav")
	
 	g_CellManagers = TrieCreate()
	gp_PrecacheSpawn = register_forward(FM_Spawn, "precache_spawn", 1)
	gp_PrecacheKeyValue = register_forward(FM_KeyValue, "precache_keyvalue", 1)
}

//Shop
bool:is_user_vip(id)
{
	if(id < 0 || id > 32)
		return false
	
	if( !(get_user_flags(id) & g_vipflag) )
		return false
	
	return true
}
public fw_EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)
{
	if (!is_user_connected(id))
		return FMRES_IGNORED;
		
	if (w_benzo[id] && equal(sample[8], "kni", 3))
	{
		volume = 0.6;
		
		if (equal(sample[14], "sla", 3))
		{
			engfunc(EngFunc_EmitSound, id, channel, "ShopJB/benzo/MTSlash.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
		if(equal(sample,"weapons/knife_deploy1.wav"))
		{
			engfunc(EngFunc_EmitSound, id, channel, "ShopJB/benzo/MTConvoca.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
		if (equal(sample[14], "hit", 3))
		{
			if (sample[17] == 'w') 
			{
				engfunc(EngFunc_EmitSound, id, channel,"ShopJB/benzo/MTHitWall.wav", volume, attn, flags, pitch);
				return FMRES_SUPERCEDE;
			}
			else 
			{
				engfunc(EngFunc_EmitSound, id, channel, "ShopJB/benzo/MTHit2.wav", volume, attn, flags, pitch);
				return FMRES_SUPERCEDE;
			}
		}
		if (equal(sample[14], "sta", 3)) 
		{
			engfunc(EngFunc_EmitSound, id, channel, "ShopJB/benzo/MTStab.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
	}
	if (w_machete[id] && equal(sample[8], "kni", 3))
	{
		volume = 0.6;
		
		if (equal(sample[14], "sla", 3))
		{
			engfunc(EngFunc_EmitSound, id, channel, "ShopJB/machete/ESlash.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
		if(equal(sample,"weapons/knife_deploy1.wav"))
		{
			engfunc(EngFunc_EmitSound, id, channel, "ShopJB/machete/EConvoca.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
		if (equal(sample[14], "hit", 3))
		{
			if (sample[17] == 'w') 
			{
				engfunc(EngFunc_EmitSound, id, channel,"ShopJB/machete/EHitWall.wav", volume, attn, flags, pitch);
				return FMRES_SUPERCEDE;
			}
			else 
			{
				engfunc(EngFunc_EmitSound, id, channel, "ShopJB/machete/EHit2.wav", volume, attn, flags, pitch);
				return FMRES_SUPERCEDE;
			}
		}
		if (equal(sample[14], "sta", 3)) 
		{
			engfunc(EngFunc_EmitSound, id, channel, "ShopJB/machete/EStab.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
	}
	return FMRES_IGNORED;
}
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))
				remove_entity(ent)
	}
}
public Player_TakeDamage(victim, inflicator, attacker, Float:damage, damage_type, bitsDamage)
{
        if(is_user_connected(attacker) && get_user_weapon(attacker) != CSW_KNIFE)
		return;

        if(pev(attacker, pev_button) & IN_ATTACK && w_benzo[attacker])
	{
               if(get_user_team(attacker) == get_user_team(victim))
                                            return;

               SetHamParamFloat(4, damage = 500.0)
	}
	else if(pev(attacker, pev_button) & IN_ATTACK2 && w_benzo[attacker])
	{ 
               SetHamParamFloat(4, damage = 500.0)
	}

        if(pev(attacker, pev_button) & IN_ATTACK && w_electro[attacker])
	{
               if(get_user_team(attacker) == get_user_team(victim))
                                            return;

               SetHamParamFloat(4, damage = 75.0)
	}
	else if(pev(attacker, pev_button) & IN_ATTACK2 && w_electro[attacker])
	{ 
               SetHamParamFloat(4, damage = 75.0)
	}
}  
public MenuCranii(id)
{	
	if(!is_user_vip(id))
	{
		ChatColor(id, "!g[CrediteManager] Nu ai acces la aceasta comanda !", g_szTag )
		return PLUGIN_HANDLED
	}
	
	new menu = menu_create("\rCredite Manager", "CraniiHandler");
	
	menu_additem(menu, "Give Credite", "1")
	menu_additem(menu, "Take Credite", "2")
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
	menu_display(id, menu, 0)
	return PLUGIN_HANDLED
}
public CraniiHandler(id, menu, item)
{
	
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	new Data[6], Name[64]
	new Access, Callback
	
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback)
	
	new Key = str_to_num(Data)
	
	switch (Key)
	{
		case 1:
		{	
			give[id] = 1
			take[id] = 0	
			Choose(id)
		}
		case 2: 
		{	
			take[id] = 1
			give[id] = 0
			Choose(id)
		}
	}
	
	menu_destroy(menu)	
	return PLUGIN_HANDLED
}
public Choose(id)
{
	static opcion[64]
	
	
	new iMenu = menu_create("\rAlege playerul", "cantitate")
	
	new players[32], pnum, tempid
	new szName[32], szTempid[10]
	
	get_players(players, pnum, "a")
	
	for( new i; i<pnum; i++ )
	{
		tempid = players
		
		get_user_name(tempid, szName, 31)
		num_to_str(tempid, szTempid, 9)
		
		formatex(opcion, charsmax(opcion), "\y%s \gCredite [ %d ]", szName, g_cranii[tempid])
		menu_additem(iMenu, opcion, szTempid, 0)
	}
	
	menu_display(id, iMenu)
	return PLUGIN_HANDLED
}
public cantitate(id, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	new Data[6], Name[64]
	new Access, Callback
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback)
	
	new tempid = str_to_num(Data)
	
	gidPlayer[id] = tempid
	client_cmd(id, "messagemode Cantitate")
	
	menu_destroy(menu)
	return PLUGIN_HANDLED
}
public player(id)
{
	new say[300]
	read_args(say, charsmax(say))
	
	remove_quotes(say)
	
	if(!is_str_num(say) || equal(say, ""))
		return PLUGIN_HANDLED
	
	cranii(id, say)    
	
	return PLUGIN_CONTINUE
}
cranii(id, say[]) 
{        
	new amount = str_to_num(say)
	new victim = gidPlayer[id]
	
	new vname[32]
	
	if(victim > 0)
	 {    
		get_user_name(victim, vname, 31)
		
		if(give[id])
		 {    
			if(amount > get_pcvar_num(g_maxcranii))
			 {
				g_cranii[victim] = get_pcvar_num(g_maxcranii)
			 }
			else
			 {
				g_cranii[victim] = g_cranii[victim] + amount
			 }
			ChatColor(0, "[!gJailBreak]!gAdmin i-a dat !team%d !gCredite !glui !team%s ", amount, vname)
		 }  
		if(take[id])
		 {
			if(amount > g_cranii[victim])
			{
				g_cranii[victim] = 0
				ChatColor(0, "[!gJailBreak]!gAdmin i-a luat Creditele lui !e%s", vname)
			}
			else 
			{
				g_cranii[victim] = g_cranii[victim] - amount
				ChatColor(0, "[!gJailBreak]!gAdmin !team%d !gi-a luat toate Creditele !glui !team%s", amount, vname)
			=
			
		}		
	}
	
	return PLUGIN_HANDLED
}
public fw_player_killed(victim, attacker, shouldgib)
{
	if(get_user_team(attacker) == 1)
	{
		g_cranii[attacker] += get_pcvar_num(g_killcranii) 
		
		if(get_pdata_int(victim, 75) == HIT_HEAD)
		{
			g_cranii[attacker] += get_pcvar_num(g_killhscranii)
		}
	}
}
public Event_CurWeapon(player)
{
        if(!is_user_alive(player))
		return PLUGIN_CONTINUE

        if(read_data(2) == CSW_KNIFE && w_benzo[player])
	    {
            set_pev(player, pev_viewmodel2, "models/ShopJB/benzo/v_benzo.mdl")
	    set_pev(player, pev_weaponmodel2, "models/ShopJB/benzo/p_benzo.mdl")
        }

        if(read_data(2) == CSW_KNIFE  && w_machete[player])
        {
            set_pev(player, pev_viewmodel2, "models/ShopJB/Machete/v_Machete.mdl")
	    set_pev(player, pev_weaponmodel2, "models/ShopJB/Machete/p_Machete.mdl")    
        }

        if(read_data(2) == CSW_KNIFE  && w_electro[player])
        {
            set_pev(player, pev_viewmodel2, "models/ShopJB/electro/v_electro.mdl")
	    set_pev(player, pev_weaponmodel2, "models/ShopJB/electro/p_electro.mdl")    
        }
	return PLUGIN_CONTINUE
}
public ShopMenu(id)
{
   if(get_user_team(id)==1)
   {
      new szText[ 555 char ];

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPT_TITLE");
      new vip_menu = menu_create( szText, "ShopMenuT_handler" );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPT_ITEM_1" );
      menu_additem( vip_menu, szText, "1", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPT_ITEM_2" );
      menu_additem( vip_menu, szText, "2", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPT_ITEM_3" );
      menu_additem( vip_menu, szText, "3", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPT_ITEM_4" );
      menu_additem( vip_menu, szText, "4", 0 );
	  
      menu_display( id, vip_menu, 0)
   }else
   if(get_user_team(id)==2)
   {
      new szText[ 555 char ];

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPCT_TITLE");
      new vip_menu = menu_create( szText, "ShopMenuCT_handler" );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPCT_ITEM_1" );
      menu_additem( vip_menu, szText, "1", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPCT_ITEM_2" );
      menu_additem( vip_menu, szText, "2", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPCT_ITEM_3" );
      menu_additem( vip_menu, szText, "3", 0 );
	  
	  formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPCT_ITEM_4" );
      menu_additem( vip_menu, szText, "4", 0 );
	  
	    formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPCT_ITEM_5" );
      menu_additem( vip_menu, szText, "5", 0 );

      menu_display( id, vip_menu, 0)
    }
}
public ShopMenuT_handler( id, menu, item )
{
    if( item == MENU_EXIT )
    {
        menu_destroy( menu )
        return PLUGIN_HANDLED
    }
    new data[6], iName[64]
    new access, callback

    menu_item_getinfo( menu, item, access, data,5, iName, 63, callback )
    new key = str_to_num( data )
    switch( key )
    {
        case 1:
        {
            ShopMenuTequipment(id)
        }
        case 2:
        {
            ShopMenuTability(id)
        }
        case 3:
        {
            ShopMenuTequipmenty(id)
        }
        case 4:
		{
	    ShopMenuTValuta(id)
        }
    }
    menu_destroy( menu )
    return PLUGIN_HANDLED
} 

public ShopMenuTequipment(id)
{
      new szText[ 555 char ];

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTE_TITLE");
      new vip_menu = menu_create( szText, "ShopMenuTequipment_handler" );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTE_ITEM_1" );
      menu_additem( vip_menu, szText, "1", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTE_ITEM_2" );
      menu_additem( vip_menu, szText, "2", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTE_ITEM_3" );
      menu_additem( vip_menu, szText, "3", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTE_ITEM_4" );
      menu_additem( vip_menu, szText, "4", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTE_ITEM_5" );
      menu_additem( vip_menu, szText, "5", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTE_ITEM_6" );
      menu_additem( vip_menu, szText, "6", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTE_ITEM_7" );
      menu_additem( vip_menu, szText, "7", 0 );

      menu_display( id, vip_menu, 0)
}

public ShopMenuTequipment_handler( id, menu, item )
{
    if( item == MENU_EXIT )
    {
        menu_destroy( menu )
        return PLUGIN_HANDLED
    }
    new data[6], iName[64]
    new access, callback

    menu_item_getinfo( menu, item, access, data,5, iName, 63, callback )
    new key = str_to_num( data )
    switch( key )
    {
        case 1:
        {
            if( is_user_alive(id))
            {
               if(g_cranii[id]>=8)
               {
                  engclient_cmd(id, "weapon_knife")
                  w_machete[id] = true
                  set_pev(id, pev_viewmodel2, "models/ShopJB/Machete/v_Machete.mdl")
	          set_pev(id, pev_weaponmodel2, "models/ShopJB/Machete/p_Machete.mdl")    
                  ChatColor(id, "%L",0,"YOUR_MACHETE")  
                  g_cranii[id]=g_cranii[id]-8
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
        case 2:
        {
            if(is_user_alive(id))
            {
               if(g_cranii[id]>=10)
               {
                  engclient_cmd(id, "weapon_knife")
                  w_benzo[id] = true
                  set_pev(id, pev_viewmodel2, "models/ShopJB/benzo/v_benzo.mdl")
                  set_pev(id, pev_weaponmodel2, "models/ShopJB/benzo/p_benzo.mdl")    
                  ChatColor(id, "%L",0,"YOUR_BENZO") 
                  g_cranii[id]=g_cranii[id]-10
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
        case 3:
        {
            if(is_user_alive(id))
            {
               if(g_cranii[id]>=16)
               {
                  entity_set_int(id, EV_INT_body, 7)
                  ChatColor(id, "%L",0,"YOUR_FD") 
                  g_cranii[id]=g_cranii[id]-16
                  return PLUGIN_HANDLED
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
        case 4:
	{
            if( is_user_alive(id))
            {
               if(g_cranii[id]>=4)
               {
                  give_item(id, "weapon_hegrenade")
                  give_item(id, "weapon_flashbang")
                  give_item(id, "weapon_flashbang")
                  give_item(id, "weapon_smokegrenade")
                  ChatColor(id, "%L",0,"YOUR_GRENADE")
                  g_cranii[id]=g_cranii[id]-4
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
        case 5:
	{
            if(is_user_alive(id))
	    {
               if(g_cranii[id]>=16)
               {
	          entity_set_int(id, EV_INT_body, 3)
                  ChatColor(id, "%L",0,"YOUR_MASK")
                  g_cranii[id]=g_cranii[id]-16
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
	    }
        }
        case 6:
	{
            if( is_user_alive(id))
            {
               if(g_cranii[id]>=8)
               {
                  give_item(id, "weapon_shield")
                  ChatColor(id, "%L",0,"YOUR_SHIELD")
                  g_cranii[id]=g_cranii[id]-8
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
        case 7:
        {
            if(is_user_alive(id))
            {
               if(g_cranii[id]>=10)
               {
                  client_cmd(id, "set_micro_cheper")
                  ChatColor(id, "%L",0,"YOUR_MICRO") 
                  g_cranii[id]=g_cranii[id]-10
                  return PLUGIN_HANDLED
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
    }
    menu_destroy( menu )
    return PLUGIN_HANDLED
} 

public ShopMenuTability(id)
{
      new szText[ 555 char ];

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTA_TITLE");
      new vip_menu = menu_create( szText, "ShopMenuTability_handler" );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTA_ITEM_1" );
      menu_additem( vip_menu, szText, "1", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTA_ITEM_2" );
      menu_additem( vip_menu, szText, "2", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTA_ITEM_3" );
      menu_additem( vip_menu, szText, "3", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTA_ITEM_4" );
      menu_additem( vip_menu, szText, "4", 0 );
      
      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTA_ITEM_5" );
      menu_additem( vip_menu, szText, "5", 0 );

      menu_display( id, vip_menu, 0)
}

public ShopMenuTability_handler( id, menu, item )
{
    if( item == MENU_EXIT )
    {
        menu_destroy( menu )
        return PLUGIN_HANDLED
    }
    new data[6], iName[64]
    new access, callback

    menu_item_getinfo( menu, item, access, data,5, iName, 63, callback )
    new key = str_to_num( data )
    switch( key )
    {
        case 1:
        {
            if( is_user_alive(id))
            {
               if(g_cranii[id]>=16)
               {
                  set_user_gravity(id, 0.2)
                  ChatColor(id, "%L",0,"YOUR_GRAVITY")  
                  g_cranii[id]=g_cranii[id]-16
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
        case 2:
        {
            if(is_user_alive(id))
            {
               if(g_cranii[id]>=15)
               {
                  set_user_maxspeed(id, 500.0)
                  ChatColor(id, "%L",0,"YOUR_SPEED")  
                  g_cranii[id]=g_cranii[id]-15
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
        case 3:
        {
            if(is_user_alive(id))
            {
               if(g_cranii[id]>=14)
               {
                  set_user_health(id, 255)
                  ChatColor(id, "%L",0,"YOUR_HP") 
                  g_cranii[id]=g_cranii[id]-14
                  return PLUGIN_HANDLED
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
        case 4:
	{
            if( is_user_alive(id))
            {
               if(g_cranii[id]>=12)
               {
                  set_user_armor(id, 255)
                  ChatColor(id, "%L",0,"YOUR_ARMOR") 
                  g_cranii[id]=g_cranii[id]-12
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
       case 5:
	{
            if( is_user_alive(id))
            {
               if(g_cranii[id]>=7)
               {
                  set_user_footsteps(id, 1)
                  ChatColor(id, "%L",0,"YOUR_FOOTSTEPS")
                  g_cranii[id]=g_cranii[id]-7
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
    }
    menu_destroy( menu )
    return PLUGIN_HANDLED
} 

public ShopMenuTequipmenty(id)
{
      new szText[ 555 char ];

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTEQ_TITLE");
      new vip_menu = menu_create( szText, "ShopMenuTequipmenty_handler" );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTEQ_ITEM_1" );
      menu_additem( vip_menu, szText, "1", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTEQ_ITEM_2" );
      menu_additem( vip_menu, szText, "2", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTEQ_ITEM_3" );
      menu_additem( vip_menu, szText, "3", 0 );

      menu_display( id, vip_menu, 0)
}   

public ShopMenuTequipmenty_handler( id, menu, item )
{
    if( item == MENU_EXIT )
    {
        menu_destroy( menu )
        return PLUGIN_HANDLED
    }
    new data[6], iName[64]
    new access, callback

    menu_item_getinfo( menu, item, access, data,5, iName, 63, callback )
    new key = str_to_num( data )
    switch( key )
    {
        case 1:
        {
            if( is_user_alive(id))
            {
               if(g_cranii[id]>=14)
               {
                  give_item(id, "weapon_glock18")
                  ChatColor(id, "%L",0,"YOUR_GLOCK")  
                  g_cranii[id]=g_cranii[id]-14
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
        case 2:
        {
            if(is_user_alive(id))
            {
               if(g_cranii[id]>=16)
               {
                  give_item(id, "weapon_tmp")
                  ChatColor(id, "%L",0,"YOUR_TMP")  
                  g_cranii[id]=g_cranii[id]-16
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
        case 3:
        {
            if(is_user_alive(id))
            {
               if(g_cranii[id]>=15)
               {
                  give_item(id, "weapon_deagle")
                  ChatColor(id, "%L",0,"YOUR_DEAGLE") 
                  g_cranii[id]=g_cranii[id]-15
               }else{
                  ChatColor(id, "%L",0,"NOT_CHEREP")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
    }
    menu_destroy( menu )
    return PLUGIN_HANDLED
} 
public ShopMenuTValuta(id)

{
      new szText[ 555 char ];

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTVAL_TITLE");
      new vip_menu = menu_create( szText, "ShopMenuTValuta_handler" );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTVAL_ITEM_1" );
      menu_additem( vip_menu, szText, "1", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTVAL_ITEM_2" );
      menu_additem( vip_menu, szText, "2", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTVAL_ITEM_3" );
      menu_additem( vip_menu, szText, "3", 0 );

      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTVAL_ITEM_4" );
      menu_additem( vip_menu, szText, "4", 0 );
    
      formatex( szText, charsmax( szText ), "%L", id, "MAIN_SHOPTVAL_ITEM_5" );
      menu_additem( vip_menu, szText, "5", 0 );

      menu_display( id, vip_menu, 0)
}  
public ShopMenuTValuta_handler( id, menu, item )
{
    if( item == MENU_EXIT )
    {
        menu_destroy( menu )
        return PLUGIN_HANDLED
    }
    new data[6], iName[64]
    new access, callback

    menu_item_getinfo( menu, item, access, data,5, iName, 63, callback )
    new key = str_to_num( data )
    switch( key )
    {
        case 1:
	    {
           if(cs_get_user_money(id)>=3200)
           {
               g_cranii[id] = g_cranii[id]+1
               cs_set_user_money(id, cs_get_user_money(id)-3200)
           }else{
                ChatColor(id, "%L",0,"NOT_MONEY")  
           }
        }
        case 2:
	    {
           if(cs_get_user_money(id)>=6400)
           {
               g_cranii[id] = g_cranii[id]+2
               cs_set_user_money(id, cs_get_user_money(id)-6400)
           }else{
                ChatColor(id, "%L",0,"NOT_MONEY")  
           }
        }
        case 3:
	    {
           if(cs_get_user_money(id)>=9600)
           {
               g_cranii[id] = g_cranii[id]+3
               cs_set_user_money(id, cs_get_user_money(id)-9600)
           }else{
                ChatColor(id, "%L",0,"NOT_MONEY")  
           }
        }
        case 4:
        {
           if(cs_get_user_money(id)>=12800)
           {
               g_cranii[id] = g_cranii[id]+4
               cs_set_user_money(id, cs_get_user_money(id)-12800)
           }else{
                ChatColor(id, "%L",0,"NOT_MONEY")  
           }
        }
         case 5:
        {
           if(cs_get_user_money(id)>=16000)
           {
               g_cranii[id] = g_cranii[id]+6
               cs_set_user_money(id, cs_get_user_money(id)-16000)
           }else{
                ChatColor(id, "%L",0,"NOT_MONEY")  
           }
        }
    }
    menu_destroy( menu )
    return PLUGIN_HANDLED
}

public ShopMenuCT_handler( id, menu, item )
{
    if( item == MENU_EXIT )
    {
        menu_destroy( menu )
        return PLUGIN_HANDLED
    }
    new data[6], iName[64]
    new access, callback

    menu_item_getinfo( menu, item, access, data,5, iName, 63, callback )
    new key = str_to_num( data )
    switch( key )
    {
        case 1:
        {
            if( is_user_alive(id))
            {
               if(cs_get_user_money(id)>=6000)
               {
                  engclient_cmd(id, "weapon_knife")
                  w_electro[id] = true
                  set_pev(id, pev_viewmodel2, "models/ShopJB/electro/v_electro.mdl")
	          set_pev(id, pev_weaponmodel2, "models/ShopJB/electro/p_electro.mdl")    
                  ChatColor(id, "%L",0,"YOUR_ELECTRO")  
                  cs_set_user_money(id, cs_get_user_money(id)-6000)
               }else{
                  ChatColor(id, "%L",0,"NOT_MONEY")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
        case 2:
	{
            if( is_user_alive(id))
            {
               if(cs_get_user_money(id)>=14000)
               {
                  set_user_maxspeed(id, 700.0)
                  ChatColor(id, "%L",0,"YOUR_SPEED")  
                  cs_set_user_money(id, cs_get_user_money(id)-14000)
               }else{
                  ChatColor(id, "%L",0,"NOT_MONEY")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
          case 3:
        {
            if( is_user_alive(id))
            {
               if(cs_get_user_money(id)>=10000)
               {
                  set_user_gravity(id, 0.2)
                  ChatColor(id, "%L",0,"YOUR_GRAVITY2")  
                  cs_set_user_money(id, cs_get_user_money(id)-10000)
               }else{
                  ChatColor(id, "%L",0,"NOT_MONEY")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
          case 4:
        {
            if( is_user_alive(id))
            {
               if(cs_get_user_money(id)>=12000)
               {
                  set_user_godmode(id, 1 );
				  set_task(6.0, "scoategodmode", id);
                  ChatColor(id, "%L",0,"YOUR_GODMOD")  
                  cs_set_user_money(id, cs_get_user_money(id)-12000)
               }else{
                  ChatColor(id, "%L",0,"NOT_MONEY")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
		  case 5:
        {
            if( is_user_alive(id))
            {
               if(cs_get_user_money(id)>=8000)
               {
                  set_user_health(id, 300)
				  set_user_armor(id, 250)
                  ChatColor(id, "%L",0,"YOUR_HPAR")  
                  cs_set_user_money(id, cs_get_user_money(id)-8000)
               }else{
                  ChatColor(id, "%L",0,"NOT_MONEY")  
               }
            }else{
               ChatColor(id, "%L",0,"YOUR_DEAD")  
            }
        }
    }
    menu_destroy( menu )
    return PLUGIN_HANDLED
} 
public mesajgodmode() 
{
	ChatColor(0, "^x04[Jb.RangFort.Ro] Pentru a cumpara ceva tasteaza /shop !");
}
public scoategodmode(id) {
	set_user_godmode(id, 0 );
	ChatColor(id, "^x04[Jb.RangFort.Ro] Au exiprat cele 6 secunde de godmode !");
	GodmodeFolosit[id] = true;
}

// CrowBar Drop
public Hook_DeathMessage( )
	{
	new iVictim = read_data( 2 );
	
	if( read_data( 1 ) == iVictim )
		{
		return;
	}
	
	new Float:flPlayerOrigin[ 3 ];
	pev( iVictim, pev_origin, flPlayerOrigin );
	
	flPlayerOrigin[ 2 ] += 4.0;
	
	new iEntityCB = create_entity( "info_target" );
	
	if( !pev_valid( iEntityCB ) )
		{
		return;
	}
	
	if(get_user_team(iVictim) == 1 && get_bit(g_PlayerCrowbar, iVictim))
		{
		engfunc( EngFunc_SetOrigin, iEntityCB, flPlayerOrigin )
		set_pev( iEntityCB, pev_classname, gCrowbarClassname );
		engfunc( EngFunc_SetModel, iEntityCB, gCrowbarModel );
		set_pev( iEntityCB, pev_solid, SOLID_SLIDEBOX );
		set_pev( iEntityCB, pev_movetype, MOVETYPE_NONE );
		set_pev( iEntityCB, pev_framerate, 1.0 );
		set_pev( iEntityCB, pev_sequence, CrowbarFloat );
		engfunc( EngFunc_SetSize, iEntityCB, Float:{ -10.0, -10.0, -10.0 }, Float:{ 10.0, 10.0, 10.0 } );
		engfunc( EngFunc_DropToFloor, iEntityCB );
		set_pev( iEntityCB, pev_nextthink, get_gametime( ) + 1.0 );
		set_rendering( iEntityCB, kRenderFxGlowShell, (random_num(1, 255)),  (random_num(1, 255)),  (random_num(1, 255)), kRenderNormal, 75 );
		
		clear_bit(g_PlayerCrowbar, iVictim)
	}
}

public Forward_TouchCrowbar( iEntityCB, id )
	{
	if( pev_valid( iEntityCB ) && get_user_team(id) == 1 )
		{
		engclient_cmd ( id, "weapon_knife" );
		g_CrowbarCount++
		set_bit(g_PlayerCrowbar, id)
		current_weapon(id)
		set_pev( iEntityCB, pev_flags, FL_KILLME );
	}
	/*   if( pev_valid( iEntityCB ) && get_user_team(id) == 2 )
	{
		set_pev( iEntityCB, pev_solid, SOLID_NOT );
	}*/
	
	return PLUGIN_CONTINUE;
}
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
}

//DaysMenu

public RoundStart()
{
	day = 0; //F*KIN script,be sure that day == 0
	g_iSpecialDay = -1;
}
public fwdTakeDamage(iVictim, iInflictor, iAttacker, Float:flDamage, iDmgBits)
{
	if( is_valid_player( iAttacker ) && get_user_weapon( iAttacker) == CSW_KNIFE && frezz[ iAttacker ] ) {
		if(cs_get_user_team(iAttacker) == CS_TEAM_CT)
		{
			if(cs_get_user_team(iVictim) == CS_TEAM_T)
			{
				set_pev(iVictim, pev_flags, pev(iVictim, pev_flags) | FL_FROZEN);
			}
		}
		if(cs_get_user_team(iAttacker) == CS_TEAM_T)
		{
			if(cs_get_user_team(iVictim) == CS_TEAM_T)
			{
				set_pev(iVictim, pev_flags, pev(iVictim, pev_flags) & ~FL_FROZEN);
			}
		}
	}
}
public eRoundEnd()
{
	day = 0;
	g_iSpecialDay = -1;
	remove_task()
}
public ResModel(id)
{
	new iPlayers[32], iNum, iPid;
	get_players( iPlayers, iNum, "a" );
	
	for( new i; i < iNum; i++ )
	{
		iPid = iPlayers;
		cs_reset_user_model(iPid)
	}
}
public cmd_daysmenu(id)
{
	
	if(g_Simon == id)
	{
		if(is_user_alive(id))
		{
			if(day == 0)
			{
				JBDay(id);
			}
			else
			{
				colored_print(id, "^x04[ManagerDays] O zi a fost deja aleasa pentru aceasta runda!^x03")
			}
		}
	}
	else
	{
		colored_print(id, "^x04[ManagerDays] Tu nu esti Simon sau este FreeDay !^x03");
	}
}
public Count()
{
	if(GodmodeDay) {
		if(g_iCountTime == 0) {
			set_user_godmode(0, 0)
		}
	}
	set_hudmessage( 0 , 255 , 0 , -1.0 , 0.28 , 2 , 1.1 , 1.1 , 0.01 , 0.01 );
	show_hudmessage( 0 , "Prizonierii au %d secunde pentru a ascunde!" , g_iCountTime-- );
}

public JBDay(id)
{
	new menu = menu_create("DaysMenu Jb.RangFort.Ro", "menu_handler");
	
	menu_additem(menu, "Zombie Day", "1", 0);
	menu_additem(menu, "Spartan Day", "2", 0);
	menu_additem(menu, "Gravity Day", "3", 0);
	menu_additem(menu, "NightCrawler Day", "4", 0);
	menu_additem(menu, "Knife Day", "5", 0);
	menu_additem(menu, "War Day", "6", 0);
	menu_additem(menu, "HNS Day", "7", 0);
	menu_additem(menu, "Noclip Day", "8", 0);
	menu_additem(menu, "GodMode Day", "9", 0);
	menu_additem(menu, "Magic Day", "10", 0);
	menu_additem(menu, "Tag Day", "11", 0);
	menu_additem(menu, "DodgeBall Day", "12", 0);
	menu_additem(menu, "Grenade Day", "13", 0);
	menu_additem(menu, "Ramboo Day", "14", 0);
	menu_additem(menu, "1HP Day", "15", 0);
	menu_additem(menu, "Reverse Zombie Day", "16", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
}

public menu_handler(id, menu, item)
{
	
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64];
	new access, callback;
	
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	
	switch(key)
	{
		case 1:
		{
			ZombieDay(id)
			g_iSpecialDay = 0;
			ResModel(id)
			day = 1;
			frezz[id] = false
		}
		case 2:
		{
			SpartanDay(id)
			g_iSpecialDay = 1;
			day = 1;
			frezz[id] = false
		}
		case 3:
		{
			Gravity(id)
			g_iSpecialDay = 2;
			day = 1;
			frezz[id] = false
		}
		case 4:
		{
			NightDay(id)
			g_iSpecialDay = 3;
			day = 1;
			frezz[id] = false
		}
		case 5:
		{
			KnifeDay(id)
			g_iSpecialDay = 4;
			day = 1;
			frezz[id] = false
		}
		case 6:
		{
			WarDay(id)
			g_iSpecialDay = 5;
			day = 1;
			frezz[id] = false
		}
		case 7:
		{
			HideDay(id)
			g_iSpecialDay = 6;
			day = 2;
			frezz[id] = false
		}
		case 8:
		{
			SharkDay(id)
			g_iSpecialDay = 7;
			day = 2;
			frezz[id] = false
		}
		case 9:
		{
			Godmode(id)
			g_iSpecialDay = 8;
			day = 2;
			frezz[id] = false
		}
		case 10:
		{
			MagicDay(id)
			g_iSpecialDay = 9;
			day = 2;
			frezz[id] = false
		}
		case 11:
		{
			TagDay(id)
			g_iSpecialDay = 10;
			day = 1;
			frezz[id] = false
		}
		case 12:
		{
			DodgeballDay(id)
			g_iSpecialDay = 11;
			day = 1;
			frezz[id] = false
        }
		case 13:
		{
			grenade(id)
			g_iSpecialDay = 12;
			day = 1;
			frezz[id] = false
		}
		case 14:
		{
			RamboDay(id) 
			g_iSpecialDay = 13;
			day = 1;
			frezz[id] = false
		}
		case 15:
		{
			hpg(id)
			g_iSpecialDay = 14;
			day = 1;
			frezz[id] = false
		}
		case 16:
		{
			RevZombie(id)
			g_iSpecialDay = 15;
			day = 1;
			frezz[id] = false
		}
		
	}
	
	ShowSpecialHudDay( id );
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public SharkDay(id)
{
	new iPlayers[32]
	new iNum
	new id
	
	get_players( iPlayers, iNum )
	
	for( new i = 0; i < iNum; i++ )
	{
		id = iPlayers
		if( !is_user_alive( id ) )
		{
			continue;
		}
		set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
		show_hudmessage(id, "Astazi este: NoClip Day")
		
		
		colored_print(id, "^x04%s^x01 Astazi este Noclip Day !", PREFIX)
		
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		
		fm_give_item( id, "weapon_knife" )
		
		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			set_user_health(id, 250);
			set_user_noclip (id, true);
		}
		
		if (cs_get_user_team(id) == CS_TEAM_T)
		{
			set_user_health(id, 100);
			fm_give_item(id, "weapon_ak47")
			cs_set_user_bpammo( id, CSW_AK47, 300 );
			fm_give_item(id, "weapon_deagle");
			cs_set_user_bpammo( id, CSW_DEAGLE, 200 );
			
		}
		
	}
}

public NightDay(id)
{
	new iPlayers[32]
	new iNum
	new id
	
	get_players( iPlayers, iNum )
	
	for( new i = 0; i < iNum; i++ )
	{
		id = iPlayers
		if( !is_user_alive( id ) )
		{
			continue;
		}
		set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
		show_hudmessage(id, "Astazi este: NightCrawler Day")
		
		colored_print(id, "^x04%s^x01 Astazi este NightCrawler Day !", PREFIX)
		
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		
		fm_give_item( id, "weapon_knife" )
		
		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			set_user_health(id, 150);
			set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0);
			
		}
		
		if (cs_get_user_team(id) == CS_TEAM_T)
		{
			set_user_health(id, 100);
			fm_give_item(id, "weapon_ak47")
			cs_set_user_bpammo( id, CSW_AK47, 300 );
			fm_give_item(id, "weapon_deagle");
			cs_set_user_bpammo( id, CSW_DEAGLE, 200 );
			
		}
		
	}
}
public ZombieDay(id)
{
	new iPlayers[32]
	new iNum
	new id
	
	get_players( iPlayers, iNum )
	
	for( new i = 0; i < iNum; i++ )
	{
		id = iPlayers
		if( !is_user_alive( id ) )
		{
			continue;
		}
		set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
		show_hudmessage(id, "Astazi este: Zombie Day")
		
		colored_print(id, "^x04%s^x01 Virusul este scapat de sub control!^x04 Prizonierii^x01 au fost infectati!", PREFIX)
		
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		
		fm_give_item( id, "weapon_knife" )
		
		
		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			fm_give_item(id, "weapon_ak47")
			fm_give_item(id, "weapon_m4a1")
			fm_give_item(id, "weapon_deagle")
			cs_set_user_bpammo( id, CSW_AK47, 999 );
			cs_set_user_bpammo( id, CSW_M4A1, 999 );
			cs_set_user_bpammo( id, CSW_DEAGLE, 999 );
			set_user_health(id, 500)
			
		}
		
		if (cs_get_user_team(id) == CS_TEAM_T)
		{
			set_user_health(id, 3000);
			give_jump_bomb(id);
			give_conc_bomb(id);
			
		}
		
	}
}

public SpartanDay(id)
{
	new iPlayers[32]
	new iNum
	new id
	
	get_players( iPlayers, iNum )
	
	for( new i = 0; i < iNum; i++ )
	{
		id = iPlayers[i]
		if(cs_get_user_team(id) == CS_TEAM_T)
		{
			
		}
		if( !is_user_alive( id ) )
		{
			continue;
		}
		
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		
		set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
		show_hudmessage(id, "Astazi este: Spartan Day")
		
		colored_print(id, "^x04%s^x01 Astazi vom juca in stil^x04 spartan !", PREFIX)
		
		if(cs_get_user_team(id) == CS_TEAM_T)
		{
			fm_give_item( id, "weapon_knife" )
			fm_give_item( id, "weapon_deagle")
			fm_give_item( id, "weapon_shield")
			cs_set_user_bpammo( id, CSW_DEAGLE, 200 );
			set_user_health(id, 200);
		}
		
	}
}

public KnifeDay(id)
{
	
	new iPlayers[32]
	new iNum
	new id
	
	get_players( iPlayers, iNum )
	
	for( new i = 0; i < iNum; i++ )
	{
		id = iPlayers[i]
		if( !is_user_alive(id) )
		{
			continue;
		}
		
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		
		set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
		show_hudmessage(id, "Astazi este: Knife Day")
		
		colored_print(id, "^x04%s^x01 Knife^x04 Day^x01, esti pregatit ?", PREFIX)
		
		
		fm_give_item( id, "weapon_knife" )
		set_user_health(id, 100);
	}
}

public WarDay(id)
{
	new iPlayers[32]
	new iNum
	new id
	
	get_players( iPlayers, iNum )
	
	for( new i = 0; i < iNum; i++ )
	{
		id = iPlayers[i]
		if( !is_user_alive( id ) )
		{
			continue;
		}
		
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		
		set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
		show_hudmessage(id, "Astazi este: War Day")
		
		colored_print(id, "^x04%s^x01 Astazi vom juca^x04 War Day^x01. Cel mai bun mod de castig este munca in^x03 echipa!", PREFIX)
		
		
		fm_give_item(id, "weapon_knife")
		fm_give_item( id, "weapon_deagle")
		fm_give_item(id, "weapon_ak47")
		fm_give_item(id, "weapon_awp")
		fm_give_item(id, "weapon_m4a1")
		cs_set_user_bpammo( id, CSW_DEAGLE, 999 )
		cs_set_user_bpammo( id, CSW_AK47, 999 )
		cs_set_user_bpammo( id, CSW_AWP, 999 )
		cs_set_user_bpammo( id, CSW_M4A1, 999 )
		set_user_health(id, 150)
	}
}
public HideDay(id)
{
	set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
	show_hudmessage(id, "Astazi este: HNS Day")
	
	colored_print(id, "^x04%s^x01 Azi vom juca^x04  HNS Day.^x03 Prizonieri^x01, ascundeti-va! Ai^x04 90^x01 de secunde!", PREFIX)
	new iPlayers[32]
	new iNum
	new id
	
	get_players( iPlayers, iNum )
	
	for( new i = 0; i < iNum; i++ )
	{
		id = iPlayers[i]
		if( !is_user_alive( id ) )
		{
			continue;
		}
		
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		
		
		fm_give_item( id, "weapon_knife" )
		set_task(90.0, "reset", id)
		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			set_pev(id, pev_velocity, Float:{0.0,0.0,0.0})      
			set_pev(id, pev_flags, pev(id, pev_flags) | FL_FROZEN); 
			set_user_godmode(id, true);
			Fade_To_Black(id)
		}   
	}
	g_iCountTime = CountSeconds;
	set_task( 1.0 , "Count" , _ , _ , _ , "a" , g_iCountTime );
}
public Godmode(id)
{
	set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
	show_hudmessage(id, "Astazi este: GodMode Day")
	
	colored_print(id, "^x04%s Astazi este^x04 GodMode.", PREFIX)
	new iPlayers[32]
	new iNum
	new id
	
	get_players( iPlayers, iNum )
	
	for( new i = 0; i < iNum; i++ )
	{
		id = iPlayers[i]
		if( !is_user_alive( id ) )
		{
			continue;
		}
		
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		
		fm_give_item( id, "weapon_knife" )
		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			set_user_godmode(id,1);
	        set_user_godmode(id,1);
		    
		    fm_give_item( id, "weapon_knife" )
		    fm_give_item( id, "weapon_deagle" )
            cs_set_user_bpammo( id, CSW_DEAGLE, 35 )
		}
	}
}
public MagicDay(id)
{
	new iPlayers[32]
	new iNum
	new id
	
	get_players( iPlayers, iNum )
	
	for( new i = 0; i < iNum; i++ )
	{
		id = iPlayers[i]
		if( !is_user_alive( id ) )
		{
			continue;
		}
		
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		give_rifle(id)
		
		fm_give_item( id, "weapon_knife" )
		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			set_user_health(id, 200);
		}
		
		if (cs_get_user_team(id) == CS_TEAM_T)
		{
			set_user_health(id, 100);
		}
	}
}
public Gravity(id)
{
	set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
	show_hudmessage(id, "Astazi este: Gravity Day")
	
	colored_print(id, "^x04%s^x01 Astazi este^x04 Gravity Day !.", PREFIX)
	new iPlayers[32]
	new iNum
	new id
	
	get_players( iPlayers, iNum )
	
	for( new i = 0; i < iNum; i++ )
	{
		id = iPlayers[i]
		if( !is_user_alive( id ) )
		{
			continue;
		}
		
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		
		fm_give_item( id, "weapon_knife" )
		set_user_gravity(id, 0.375);
		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			fm_give_item( id, "weapon_deagle" )
			cs_set_user_bpammo( id, CSW_DEAGLE, 999 )
			set_user_gravity(id, 0.375);
		}
	}
}
public grenade(id)
{
	set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
	show_hudmessage(id, "Astazi este: Grenade Day")
	
	colored_print(id, "^x04%s^x01 Astati este^x04 Grenade Day !.", PREFIX)
	new iPlayers[32]
	new iNum
	new id
	
	get_players( iPlayers, iNum )
	
	for( new i = 0; i < iNum; i++ )
	{
		id = iPlayers[i]
		if( !is_user_alive( id ) )
		{
			continue;
		}
		
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		
		fm_give_item( id, "weapon_knife" )
		fm_give_item( id, "weapon_grenade" )
		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			fm_give_item( id, "weapon_hegrenade" )
			cs_set_user_bpammo( id, CSW_HEGRENADE, 200 ); 
		}
		if (cs_get_user_team(id) == CS_TEAM_T)
		{
			fm_give_item( id, "weapon_hegrenade" )
			cs_set_user_bpammo( id, CSW_HEGRENADE, 200 ); 
		}
	}
}
public RamboDay(id) 
{ 
	set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
	show_hudmessage(id, "Astazi este: Ramboo Day")
	
	colored_print(id, "^x04%s^x01 Astazi este^x04 Ramboo Day !.", PREFIX)
	new iPlayers[32] 
	new iNum 
	new id 
	
	get_players( iPlayers, iNum ) 
	
	for( new i = 0; i < iNum; i++ ) 
	{ 
		id = iPlayers[i] 
		if( !is_user_alive( id ) ) 
		{ 
			continue; 
		}
		 
		 player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		 
		
		fm_give_item( id, "weapon_knife" ) 
		
		if (cs_get_user_team(id) == CS_TEAM_CT) 
		{ 
			fm_give_item(id, "weapon_m4a1")
            fm_give_item(id, "weapon_ak47") 			
			cs_set_user_bpammo( id, CSW_M4A1, 999 );
			cs_set_user_bpammo( id, CSW_AK47, 999 );
			set_user_health(id, 150); 
		} 
		
		if (cs_get_user_team(id) == CS_TEAM_T) 
		{ 
			fm_give_item(id, "weapon_m249") 
			cs_set_user_bpammo( id, CSW_M249, 999 ); 
			set_user_health(id, 100); 
		} 
	} 
}
public hpg(id) 
{ 
	set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
	show_hudmessage(id, "Astazi este: 1Hp Day")
	
	colored_print(id, "^x04%s^x01 Astazi este^x04 1Hp Day !.", PREFIX)
	new iPlayers[32] 
	new iNum 
	new id 
	
	get_players( iPlayers, iNum ) 
	
	for( new i = 0; i < iNum; i++ ) 
	{ 
		id = iPlayers[i] 
		if( !is_user_alive( id ) ) 
		{ 
			continue; 
		}
		
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		 
		
		fm_give_item( id, "weapon_knife" ) 
		
		if (cs_get_user_team(id) == CS_TEAM_CT) 
		{ 
			set_user_health(id, 25); 
		} 
		
		if (cs_get_user_team(id) == CS_TEAM_T) 
		{ 
			set_user_health(id, 1); 
		} 
	} 
}
public TagDay(id) 
{ 
	set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
	show_hudmessage(id, "Astazi este: Tag Day")
	
	colored_print(id, "^x04%s^x01 Astazi este^x04 Tag Day !.", PREFIX)
	new iPlayers[32] 
	new iNum 
	new id 
	
	get_players( iPlayers, iNum ) 
	
	for( new i = 0; i < iNum; i++ ) 
	{ 
		id = iPlayers[i] 
		if( !is_user_alive( id ) ) 
		{ 
			continue; 
		}
		 
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		
		
		fm_give_item( id, "weapon_knife" ) 
		
		if (cs_get_user_team(id) == CS_TEAM_CT) 
		{ 
			set_user_health(id, 100);
			jb_starttag()
		} 
		
		if (cs_get_user_team(id) == CS_TEAM_T) 
		{ 
			set_user_health(id, 100); 
		} 
	} 
}
public DodgeballDay(id) 
{ 
	set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
	show_hudmessage(id, "Astazi este: Dodgeball Day")
	
	colored_print(id, "^x04%s^x01 Astazi este^x04 Dodgeball Day !.", PREFIX)
	new iPlayers[32] 
	new iNum 
	new id 
	
	get_players( iPlayers, iNum ) 
	
	for( new i = 0; i < iNum; i++ ) 
	{ 
		id = iPlayers[i] 
		if( !is_user_alive( id ) ) 
		{ 
			continue; 
		}
		 
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		 
		
		fm_give_item( id, "weapon_knife" ) 
		
		if (cs_get_user_team(id) == CS_TEAM_CT) 
		{ 
			set_user_health(id, 100);
			jb_game_killball()
		} 
		
		if (cs_get_user_team(id) == CS_TEAM_T) 
		{ 
			set_user_health(id, 100); 
		} 
	} 
}
public RevZombie(id) 
{ 
	set_hudmessage(255, 0, 42, 0.0, 0.14, 0, 6.0, 10.0)
	show_hudmessage(id, "Astazi este: Reverse Zombie Day")
	
	colored_print(id, "^x04%s^x01 Astazi este^x04 Reversse Zombie Day !.", PREFIX)
	new iPlayers[32] 
	new iNum 
	new id 
	
	get_players( iPlayers, iNum ) 
	
	for( new i = 0; i < iNum; i++ ) 
	{ 
		id = iPlayers[i] 
		if( !is_user_alive( id ) ) 
		{ 
			continue; 
		}
		
		player_strip_weapons(id)
		g_BlockWeapons = 1
		g_LastDenied = 1
		
		
		fm_give_item( id, "weapon_knife" ) 
		
		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			set_user_health(id, 3000);
			give_jump_bomb(id);
			give_conc_bomb(id);
		}
		
		if (cs_get_user_team(id) == CS_TEAM_T)
		{
			fm_give_item(id, "weapon_ak47")
			fm_give_item(id, "weapon_m4a1")
			fm_give_item(id, "weapon_deagle")
			cs_set_user_bpammo( id, CSW_AK47, 999 );
			cs_set_user_bpammo( id, CSW_M4A1, 999 );
			cs_set_user_bpammo( id, CSW_DEAGLE, 999 );
			set_user_health(id, 500)
		} 
	} 
}
public ShowSpecialHudDay( id ) {
	if( g_iSpecialDay >= 0 ) {
	        set_hudmessage ( 0, 176, 0, 0.0, 0.15, 0, 6.0, 3.0, _, _, 1 );
		show_hudmessage( 0, " %s Day", g_szDaysText[ g_iSpecialDay ] );
		set_task( 1.0, "ShowSpecialHudDay" );
	}
	return PLUGIN_HANDLED;
}

colored_print(target, const message[], any:...)
{
	static buffer[512], i, argscount
	argscount = numargs()
	
	// Send to everyone
	if (!target)
	{
		static player
		for (player = 1; player <= get_maxplayers(); player++)
		{
			// Not connected
			if (!is_user_connected(player))
				continue;
			
			// Remember changed arguments
			static changed[5], changedcount // [5] = max LANG_PLAYER occurencies
			changedcount = 0
			
			// Replace LANG_PLAYER with player id
			for (i = 2; i < argscount; i++)
			{
				if (getarg(i) == LANG_PLAYER)
				{
					setarg(i, 0, player)
					changed[changedcount] = i
					changedcount++
				}
			}
			
			// Format message for player
			vformat(buffer, charsmax(buffer), message, 3)
			
			// Send it
			message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player)
			write_byte(player)
			write_string(buffer)
			message_end()
			
			// Replace back player id's with LANG_PLAYER
			for (i = 0; i < changedcount; i++)
				setarg(changed[i], 0, LANG_PLAYER)
		}
	}
	// Send to specific target
	else
	{
		// Format message for player
		vformat(buffer, charsmax(buffer), message, 3)
		
		// Send it
		message_begin(MSG_ONE, g_msgSayText, _, target)
		write_byte(target)
		write_string(buffer)
		message_end()
	}
}
public Fade_To_Black(id)
{
	
	message_begin(MSG_ONE_UNRELIABLE, gmsgScreenFade, _, id)
	write_short((1<<3)|(1<<8)|(1<<10))
	write_short((1<<3)|(1<<8)|(1<<10))
	write_short((1<<0)|(1<<2))
	write_byte(255)
	write_byte(0)
	write_byte(0)
	write_byte(255)
	message_end()
	
}
public Reset_Screen(id)
{
	
	message_begin(MSG_ONE_UNRELIABLE, gmsgScreenFade, _, id)
	write_short(1<<2)
	write_short(0)
	write_short(0)
	write_byte(0)
	write_byte(0)
	write_byte(0)
	write_byte(0)
	message_end()
	
}
public reset(id)
{
	if (cs_get_user_team(id) == CS_TEAM_CT)
	{
		set_pev(id, pev_flags, pev(id, pev_flags) & ~FL_FROZEN);
		Reset_Screen(id)
	}
	if (cs_get_user_team(id) == CS_TEAM_T)
	{    
		set_pev(id, pev_flags, pev(id, pev_flags) | FL_FROZEN);
	}
}


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
	g_cranii[id] = get_pcvar_num(g_startcranii) 
	set_task(1.0, "CraniiPack", id, _, _, "b")
}
public Spawn_player(id)
{
   if(is_user_alive(id) && is_user_connected(id))
   {
      w_machete[id] = false
      w_benzo[id] = false
      ++g_cranii[id]
   }
}
public CraniiPack(id)
{
	set_hudmessage( 142, 239, 39, -1.1, 0.60, 0, 6.0, 1.2);
	ShowSyncHudMsg(id, syncObj,"Credite = [%i]", g_cranii[id])
}
public client_connect( id )
{
   g_cranii[id] = 2
}

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 HookPlayerSpawn ( const id )
	{
	if ( get_user_team ( id ) == 2 )
		{
		give_item ( id, "weapon_knife" );
		engclient_cmd ( id, "weapon_knife" );
	}
}

public HookCurWeapon ( id )
	{
	if ( get_user_team ( id ) != 2 )
		return 0;
	
	if ( read_data ( 2 ) != CSW_KNIFE )
		return 0;
	
	entity_set_string ( id, EV_SZ_viewmodel, gs_ViewModel );
	entity_set_string ( id, EV_SZ_weaponmodel, gs_WeaponModel );
	return 0;
}

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, 255}, "%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 cmd_simonmenu(id)
	{	
	if (g_Simon == id)
		{
		static menu, menuname[32], option[64]
		
		formatex(menuname, charsmax(menuname), "%L", LANG_SERVER, "JB_MENU_SIMONMENU")
		menu = menu_create(menuname, "simon_choice")
		
		formatex(option, charsmax(option), "\r%L\w", LANG_SERVER, "JB_MENU_SIMONMENU_OPEN")
		menu_additem(menu, option, "1", 0)
		
		formatex(option, charsmax(option), "\g%L\w", LANG_SERVER, "JB_MENU_SIMONMENU_FD")
		menu_additem(menu, option, "2", 0)
		
		formatex(option, charsmax(option), "\g%L\w", LANG_SERVER, "JB_MENU_SIMONMENU_BOX")
	        menu_additem(menu, option, "3", 0)
			
		formatex(option, charsmax(option), "\g%L\w", LANG_SERVER, "JB_MENU_SIMONMENU_MUSIC")
	        menu_additem(menu, option, "4", 0)
		
		formatex(option, charsmax(option), "\g%L\w", LANG_SERVER, "JB_MENU_SIMONMENU_DAYS")
		menu_additem(menu, option, "5", 0)
		
		formatex(option, charsmax(option), "\g%L\w", LANG_SERVER, "JB_MENU_SIMONMENU_FOOTBALL")
		menu_additem(menu, option, "6", 0)
		
		formatex(option, charsmax(option), "\g%L\w", LANG_SERVER, "JB_MENU_SIMONMENU_RESET")
		menu_additem(menu, option, "7", 0)
		
		formatex(option, charsmax(option), "\g%L\w", LANG_SERVER, "JB_MENU_SIMONMENU_REVIVE")
		menu_additem(menu, option, "8", 0)
		
		formatex(option, charsmax(option), "%L",LANG_SERVER, "JB_MENU_2_SIMONMENU")
		menu_additem(menu, option, "9", 0)
		
		menu_display(id, menu)	
	}
	else {
		client_print( id, print_chat, "*** Nu esti SIMON deci nu poti accesa SIMON MENU !");
	}
	return PLUGIN_HANDLED
}
public simon_choice(id, menu, item)
	{
	if(item == MENU_EXIT || !(id == g_Simon) )
		{
		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'): 
		{
			jail_open()
                        emit_sound(0, CHAN_AUTO, "jbsounds/jb_open.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
			cmd_simonmenu(id)
		}
		case('2'): cmd_freeday(id)
		case('3'): cmd_boxmenu(id)
		case('4'): 
		{
		cmd_meniusounduri(id)
		}		
		case('5'): 
                {
			client_cmd(id,"say /days")
		}
		case('6'): 
               {
                open_football_menu(id)
		}
		case('7'): 
                {
			cmd_simonreset(id)
		}
		case('8'): 
		{
			cmd_simonrevive(id)
		}
		case('9'): 
		{
			//cmd_menu2_2(id)
		}
	}		
	return PLUGIN_HANDLED
}
public cmd_meniusounduri(id)
{
     new menu = menu_create( "Meniu Sounduri", "sound_handler" );
     
     menu_additem(menu, "Ding", "1", 0); 
     menu_additem(menu, "Melodii", "2", 0);
    
     menu_setprop( menu, MPROP_EXITNAME, "Exit")
     menu_display( id, menu, 0);
}
public sound_handler(id, menu ,item)
{
 if( item == MENU_EXIT )
     {    
          menu_destroy( menu );
          return PLUGIN_HANDLED;
     }

     new data[ 6 ], iName[ 64 ], access, callback;
     menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );

     new key = str_to_num( data );
	
     switch( key )
     {
          case 1:
          {
          emit_sound(0, CHAN_AUTO, "jbsounds/jb_ding.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	      cmd_meniusounduri(id)
          }
          case 2:
          {
          cmd_music(id)
          }
     }
      return PLUGIN_HANDLED
}

public cmd_music(id)
	{
	if(id == g_Simon)
		{
		static menu, menuname[32], option[64]
		
		formatex(menuname, charsmax(menuname), "\y%L", LANG_SERVER, "JBE_MUSIC_MENU")
		menu = menu_create(menuname, "music_handler")
		
		formatex(option, charsmax(option), "\w%L", LANG_SERVER, "JBE_MUSIC1")
		menu_additem(menu, option, "1", 0)
		
		formatex(option, charsmax(option), "\w%L", LANG_SERVER, "JBE_MUSIC2")
		menu_additem(menu, option, "2", 0)
		
		formatex(option, charsmax(option), "\w%L", LANG_SERVER, "JBE_MUSIC3")
		menu_additem(menu, option, "3", 0)

			
		formatex(option, charsmax(option), "\w%L", LANG_SERVER, "JBE_STOP")
		menu_additem(menu, option, "9", 0)
		
		menu_display(id, menu)
	}
}
public music_handler(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'):
		{
	        client_cmd(0, "mp3 play sound/jbsounds/Florin1.mp3")
	        set_hudmessage(20, 255, 20, -1.0, 0.17, 1, 0.0, 5.0, 15.0, 1.0, -1)
	        show_hudmessage(0, "!!!Simon a pornit MUZICA!!!")
	        cmd_music(id)
		}
		
		case('2'):
		{
	        client_cmd(0, "mp3 play sound/jbsounds/ST1.mp3")
	        set_hudmessage(20, 255, 20, -1.0, 0.17, 1, 0.0, 5.0, 5.0, 1.0, -1)
	        show_hudmessage(0, "!!!Simon a pornit MUZICA!!!")
	        cmd_music(id)
		}
		
		case('3'):
		{
	        client_cmd(0, "mp3 play sound/jbsounds/Susa1.mp3")
	        set_hudmessage(20, 255, 20, -1.0, 0.17, 1, 0.0, 5.0, 5.0, 1.0, -1)
	        show_hudmessage(0, "!!!Simon a pornit MUZICA!!!")
	        cmd_music(id)
		}				
		case('4'):
		{
	        client_cmd(0,"mp3 stop")
	        set_hudmessage(49, 119, 11, 0.42, 0.32, 0, 6.0, 10.0)
	        show_hudmessage(id, "!!!Simon a inchis MUZICA!!!")
	        cmd_music(id)
			
		}
	}
	return PLUGIN_HANDLED
}
/*
public cmd_menu2_2(id)
{
     new menu = menu_create( "Meniu 2 SimonMenu v1.2.3", "cmd_menu_2_2_handler" );
     
     menu_additem(menu, "Scoate Wanted-ul la un prizonier", "1", 0); 
     menu_additem(menu, "Meniu HP Prizonieri", "2", 0);
    
     menu_setprop( menu, MPROP_EXITNAME, "Exit")
     menu_display( id, menu, 0);
}
public cmd_menu_2_2_handler(id, menu ,item)
{
 if( item == MENU_EXIT )
     {    
          menu_destroy( menu );
          return PLUGIN_HANDLED;
     }

     new data[ 6 ], iName[ 64 ], access, callback;
     menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );

     new key = str_to_num( data );
	
     switch( key )
     {
          case 1:
          {
          cmd_wanted_remove(id)
          }
          case 2:
          {
          cmd_hp_menu_t(id)
          }
     }
      return PLUGIN_HANDLED
}

GetPlayersNum( iTeam, iAlive )
{
        new iPlayersNum;
 
        for( new iPlayers = get_maxplayers( ); iPlayers > 0; iPlayers-- )
        {
                if( !is_user_connected( iPlayers ) )
                        continue;
 
                if( get_user_team( iPlayers ) == iTeam && ( is_user_alive( iPlayers ) == iAlive || iAlive == 2 ) )
                {
                        iPlayersNum++;
                }
        }
 
        return iPlayersNum;
}
public cmd_wanted_remove(id)
{
	if(GetPlayersNum(1, 1) < 1)
	{
		ChatColor(id, "%L", id, "NO_WANTED", JB_PREFIX)
		return PLUGIN_HANDLED
	}
	new i_Menu = menu_create("\yCui??", "remove_wanted_handler")
	new s_Players[32], i_Num, i_Player
	new s_Name[32], s_Player[10]
	
	get_players(s_Players, i_Num)
	
	for (new i; i < i_Num; i++)
	{ 
		i_Player = s_Players[i]
	
		if(is_user_alive(i_Player) && id != i_Player && get_user_team(i_Player) == 1 && get_bit(g_PlayerWanted, i_Player))
		{
			get_user_name(i_Player, s_Name, charsmax(s_Name))
			num_to_str(i_Player, s_Player, charsmax(s_Player))

			menu_additem(i_Menu, s_Name, s_Player, 0)
		}
	}
	menu_display(id, i_Menu, 0)
	return PLUGIN_HANDLED
}

public cmd_wanted_remove_handler(id, i_Menu, item)
{
	if(item == MENU_EXIT || g_Simon != id)
	{
		menu_destroy(i_Menu)
		return PLUGIN_HANDLED
	}

	new s_Data[6], s_Name[64], i_Access, i_Callback
	menu_item_getinfo(i_Menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

	new i_Player = str_to_num(s_Data)

	new name[32], name_player[32]
	get_user_name(id, name, charsmax(name))
	get_user_name(i_Player, name_player, charsmax(name_player))

	if(g_Simon == id && id != i_Player && is_user_alive(i_Player) && get_user_team(i_Player) == 1 && get_bit(g_PlayerWanted, i_Player))
	{
		set_hudmessage(0, 255, 255, -1.0, 0.74, 0, 6.0, 8.0)
		show_hudmessage(0, "%L", id, "CLEAR_WANTED_LIST", name, name_player)

		clear_bit(g_PlayerWanted, i_Player)
		set_pev(i_Player, pev_skin, random_num(0, 4))
		g_WantedNum--
	}

	menu_destroy(i_Menu)
	return PLUGIN_HANDLED
}

public cmd_hp_menu_t(id)
{
	if(GetPlayersNum(1, 1) < 1)
	{
		ChatColor(id, "%L", id, "HAVENT_PIRSONERS", JB_PREFIX)
		return PLUGIN_HANDLED
	}
	new Buffer[512]
	formatex(Buffer, charsmax(Buffer), "%L", id, "WHO_CURE")
	new i_Menu = menu_create(Buffer, "cure_handler")

	new s_Players[32], i_Num, i_Player
	new s_Name[32], s_Player[10]
	
	get_players(s_Players, i_Num)
	
	for (new i; i < i_Num; i++)
	{ 
		i_Player = s_Players[i]
	
		if(is_user_alive(i_Player) && id != i_Player && get_user_team(i_Player) == 1 && get_user_health(i_Player) < 100)
		{
			get_user_name(i_Player, s_Name, charsmax(s_Name))
			num_to_str(i_Player, s_Player, charsmax(s_Player))
			
			formatex(Buffer, charsmax(Buffer), "%s \r[ HP: %d ]", s_Name, get_user_health(i_Player))
			menu_additem(i_Menu, Buffer, s_Player, 0)
		}
	}
	menu_display(id, i_Menu, 0)
	return PLUGIN_HANDLED
}

public cmd_hp_menu_t_handler(id, i_Menu, item)
{
	if(item == MENU_EXIT || g_Simon != id)
	{
		menu_destroy(i_Menu)
		return PLUGIN_HANDLED
	}

	new s_Data[6], s_Name[64], i_Access, i_Callback
	menu_item_getinfo(i_Menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

	new i_Player = str_to_num(s_Data)

	new name[32], name_player[32]
	get_user_name(id, name, charsmax(name))
	get_user_name(i_Player, name_player, charsmax(name_player))

	if(g_Simon == id && id != i_Player && is_user_alive(i_Player) && get_user_team(i_Player) == 1 && get_user_health(i_Player) < 100)
	{
		ChatColor(0, "%L", id, "CURED_PIRSONERS", JB_PREFIX, name, name_player)
		set_user_health(i_Player, 100)
	}

	menu_destroy(i_Menu)
	return PLUGIN_HANDLED
}*/


public player_spawn(id)
{
	static CsTeams:team

	if(!is_user_connected(id))
		return HAM_IGNORED

	set_pdata_float(id, m_fNextHudTextArgsGameTime, get_gametime() + 999999.0)
	player_strip_weapons(id)
	if(g_RoundEnd)
	{
		g_RoundEnd = 0
		g_JailDay++
	}

	set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)

	clear_bit(g_PlayerCrowbar, id)
	clear_bit(g_PlayerWanted, id)
	team = cs_get_user_team(id)

	switch(team)
	{
		case(CS_TEAM_T):
		{
			g_PlayerLast = 0
			if(!g_PlayerReason[id])
				g_PlayerReason[id] = random_num(1, 6)

			player_hudmessage(id, 0, 5.0, {255, 0, 255}, "%L %L", LANG_SERVER, "JBE_PRISONER_REASON",
				LANG_SERVER, g_Reasons[g_PlayerReason[id]])

			set_user_info(id, "model", "jb_lunetistii_v2")
			entity_set_int(id, EV_INT_body, 2)
			if(is_freeday() || get_bit(g_FreedayAuto, id))
			{
				freeday_set(0, id)
				clear_bit(g_FreedayAuto, id)
			}
			else
			{
				entity_set_int(id, EV_INT_skin, random_num(0, 2))
			}

			if(g_CrowbarCount < get_pcvar_num(gp_CrowbarMax))
			{
				if(random_num(0, g_MaxClients) > (g_MaxClients / 2))
				{
					g_CrowbarCount++
					set_bit(g_PlayerCrowbar, id)
				}
			}
			cs_set_user_armor(id, 0, CS_ARMOR_NONE)
		}
		case(CS_TEAM_CT):
		{
			g_PlayerSimon[id]++
			set_user_info(id, "model", "jb_lunetistii_v2")
			entity_set_int(id, EV_INT_body, 3)
			cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
		}
	}
	first_join(id)
	return HAM_IGNORED
}

public player_damage(victim, ent, attacker, Float:damage, bits)
{
	if(!is_user_connected(victim) || !is_user_connected(attacker) || victim == attacker)
		return HAM_IGNORED

	switch(g_Duel)
	{
		case(0):
		{
			if(attacker == ent && get_user_weapon(attacker) == CSW_KNIFE && get_bit(g_PlayerCrowbar, attacker) && cs_get_user_team(victim) != CS_TEAM_T)
			{
				SetHamParamFloat(4, damage * gc_CrowbarMul)
				return HAM_OVERRIDE
			}
		}
		case(2):
		{
			if(attacker != g_PlayerLast)
				return HAM_SUPERCEDE
		}
		default:
		{
			if((victim == g_DuelA && attacker == g_DuelB) || (victim == g_DuelB && attacker == g_DuelA))
				return HAM_IGNORED
	
			return HAM_SUPERCEDE
		}
	}

	return HAM_IGNORED
}

public player_attack(victim, attacker, Float:damage, Float:direction[3], tracehandle, damagebits)
{
	static CsTeams:vteam, CsTeams:ateam
	if(!is_user_connected(victim) || !is_user_connected(attacker) || victim == attacker)
		return HAM_IGNORED

	vteam = cs_get_user_team(victim)
	ateam = cs_get_user_team(attacker)

	if(ateam == CS_TEAM_CT && vteam == CS_TEAM_CT)
		return HAM_SUPERCEDE

	switch(g_Duel)
	{
		case(0):
		{
			if(ateam == CS_TEAM_CT && vteam == CS_TEAM_T)
			{
				if(get_bit(g_PlayerRevolt, victim))
				{
					clear_bit(g_PlayerRevolt, victim)
					hud_status(0)
				}
				return HAM_IGNORED
			}
		}
		case(2):
		{
			if(attacker != g_PlayerLast)
				return HAM_SUPERCEDE
		}
		default:
		{
			if((victim == g_DuelA && attacker == g_DuelB) || (victim == g_DuelB && attacker == g_DuelA))
				return HAM_IGNORED

			return HAM_SUPERCEDE
		}
	}

	if(ateam == CS_TEAM_T && vteam == CS_TEAM_T && !g_BoxStarted)
		return HAM_SUPERCEDE

	if(ateam == CS_TEAM_T && vteam == CS_TEAM_CT)
	{
		if(!g_PlayerRevolt)
			revolt_start()
		set_bit(g_PlayerRevolt, attacker)
	}

	return HAM_IGNORED
}

public button_attack(button, id, Float:damage, Float:direction[3], tracehandle, damagebits)
{
	if(is_valid_ent(button) && gc_ButtonShoot)
	{
		ExecuteHamB(Ham_Use, button, id, 0, 2, 1.0)
		entity_set_float(button, EV_FL_frame, 0.0)
	}

	return HAM_IGNORED
}

public player_jb_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")
                emit_sound(0, CHAN_AUTO, "jbsounds/jb_kill.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	}

	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)
                                                emit_sound(0, CHAN_AUTO, "jbsounds/jb_kill.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
					}
				}
				case(CS_TEAM_T):
				{
					clear_bit(g_PlayerRevolt, victim)
					clear_bit(g_PlayerWanted, victim)
				}
			}
		}
		default:
		{
			if(g_Duel != 4 && (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/pumni/hit1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
			}
			case('w'):
			{
				emit_sound(id, CHAN_WEAPON, "weapons/pumni/hit2.wav", 1.0, ATTN_NORM, 0, PITCH_LOW)
			}
			case('1', '2'):
			{
				emit_sound(id, CHAN_WEAPON, "weapons/ranga/hit1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
			}
		}
		return FMRES_SUPERCEDE
	}
	return FMRES_IGNORED
}

public voice_listening(receiver, sender, bool:listen)
{
	if((receiver == sender))
		return FMRES_IGNORED

	if(is_user_admin(sender))
	{
		engfunc(EngFunc_SetClientListening, receiver, sender, true)
		return FMRES_SUPERCEDE
	}

	switch(gc_VoiceBlock)
	{
		case(2):
		{
			if((sender != g_Simon) && (!get_bit(g_SimonVoice, sender) && gc_VoiceBlock))
			{
				engfunc(EngFunc_SetClientListening, receiver, sender, false)
				return FMRES_SUPERCEDE
			}
		}
		case(1):
		{
			if(!get_bit(g_SimonVoice, sender) && gc_VoiceBlock)
			{
				engfunc(EngFunc_SetClientListening, receiver, sender, false)
				return FMRES_SUPERCEDE
			}
		}
	}
	if(!is_user_alive(sender))
	{
		engfunc(EngFunc_SetClientListening, receiver, sender, false)
		return FMRES_SUPERCEDE
	}

	if(sender == g_Simon)
	{
		engfunc(EngFunc_SetClientListening, receiver, sender, true)
		return FMRES_SUPERCEDE
	}

	listen = true

	if(g_SimonTalking && (sender != g_Simon))
	{
		listen = false
	}
	else
	{
		static CsTeams:steam
		steam = cs_get_user_team(sender)
		switch(gc_TalkMode)
		{
			case(2):
			{
				listen = (steam == CS_TEAM_CT)
			}
			case(1):
			{
				listen = (steam == CS_TEAM_CT || steam == CS_TEAM_T)
			}
		}
	}

	engfunc(EngFunc_SetClientListening, receiver, sender, listen)
	return FMRES_SUPERCEDE
}

public player_cmdstart(id, uc, random)
{
	if(g_Duel > 3)
	{
		cs_set_user_bpammo(id, _Duel[g_Duel - 4][_csw], 1)
	}
}

public round_first()
{
	g_JailDay = 0
	for(new i = 1; i <= g_MaxClients; i++)
		g_PlayerSimon[i] = 0

	set_cvar_num("sv_alltalk", 1)
	set_cvar_num("mp_roundtime", 2)
	set_cvar_num("mp_limitteams", 0)
	set_cvar_num("mp_autoteambalance", 0)
	set_cvar_num("mp_tkpunish", 0)
	set_cvar_num("mp_friendlyfire", 0)
	round_end()
}

public round_end()
{
	static CsTeams:team
	static maxnosimon, spectrounds
	g_SafeTime = 0
	g_PlayerRevolt = 0
	g_PlayerFreeday = 0
	g_PlayerLast = 0
	g_BoxStarted = 0
	g_CrowbarCount = 0
	g_Simon = 0
	g_SimonAllowed = 0
	g_RoundStarted = 0
	g_LastDenied = 0
	g_BlockWeapons = 0
	g_TeamCount[CS_TEAM_T] = 0
	g_TeamCount[CS_TEAM_CT] = 0
	g_Freeday = 0
	g_FreedayNext = (random_num(0,99) >= 95)
	g_RoundEnd = 1
	g_Duel = 0

	remove_task(TASK_STATUS)
	remove_task(TASK_FREEDAY)
	remove_task(TASK_FREEEND)
	remove_task(TASK_ROUND)
	maxnosimon = get_pcvar_num(gp_NosimonRounds)
	spectrounds = get_pcvar_num(gp_SpectRounds)
	for(new i = 1; i <= g_MaxClients; i++)
	{
		if(!is_user_connected(i))
			continue

		menu_cancel(i)
		team = cs_get_user_team(i)
		player_strip_weapons(i)
		switch(team)
		{
			case(CS_TEAM_CT):
			{
				if(g_PlayerSimon[i] > maxnosimon)
				{
					cmd_nomic(i)
				}
			}
			case(CS_TEAM_SPECTATOR,CS_TEAM_UNASSIGNED):
			{
				g_PlayerSpect[i]++
				if(g_PlayerSpect[i] > spectrounds)
				{
					client_cmd(i, "disconnect")
					server_print("JBE Disconnected spectator client #%i", i)
				}
				else
				{
					show_menu(i, 51, TEAM_MENU, -1)
				}
			}
		}
	}
	for(new i = 0; i < sizeof(g_HudSync); i++)
		ClearSyncHud(0, g_HudSync[i][_hudsync])

}

public round_start()
{
	if(g_RoundEnd)
		return

	team_count()
	if(!g_Simon && is_freeday())
	{
		g_Freeday = 1
		emit_sound(0, CHAN_AUTO, "jbsounds/jb_ding.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
		check_freeday(TASK_FREEDAY)
	}
	else
	{
		set_task(60.0, "check_freeday", TASK_FREEDAY)
	}
	set_task(HUD_DELAY, "hud_status", TASK_STATUS, _, _, "b")
	set_task(get_pcvar_float(gp_RetryTime) + 1.0, "safe_time", TASK_SAFETIME)
	set_task(120.0, "freeday_end", TASK_FREEDAY)
	g_SimonRandom = get_pcvar_num(gp_SimonRandom) ? random_float(15.0, 45.0) : 0.0
	g_SimonAllowed = 1
	g_FreedayNext = 0
}

public cmd_jointeam(id)
{
	return PLUGIN_HANDLED
}

public cmd_joinclass(id)
{
	return PLUGIN_HANDLED
}

public cmd_voiceon(id)
{
	client_cmd(id, "+voicerecord")
	set_bit(g_SimonVoice, id)
	if(g_Simon == id || is_user_admin(id))
		set_bit(g_SimonTalking, id)

	return PLUGIN_HANDLED
}

public cmd_voiceoff(id)
{
	client_cmd(id, "-voicerecord")
	clear_bit(g_SimonVoice, id)
	if(g_Simon == id || is_user_admin(id))
		clear_bit(g_SimonTalking, id)

	return PLUGIN_HANDLED
}

public cmd_simon(id)
	{
	static CsTeams:team, name[32]
	if(!is_user_connected(id))
		return PLUGIN_HANDLED
	
	team = cs_get_user_team(id)
	if(g_SimonAllowed && !g_Freeday && is_user_alive(id) && team == CS_TEAM_CT && !g_Simon)
		{
		g_Simon = id
		get_user_name(id, name, charsmax(name))
		set_pev(id, pev_body, 1)
		g_PlayerSimon[id]--
		if(get_pcvar_num(gp_GlowModels))
		player_glow(id, g_Colors[0])
		set_user_info(id, "model", "jb_lunetistii_v2")
		client_print( id, print_chat, "***Acum este simon, da-le comenzi PRIZONIERILOR !***");
		cmd_simonmenu(id)
		
		hud_status(0)
	}
	return PLUGIN_HANDLED
}

public cmd_simonreset(id)
	{
	if((id  == g_Simon) || is_user_admin(id) )
		menu_players(id, CS_TEAM_CT, id, 1, "cmd_simon_ct", "\rCine vrei sa fie SIMON in loc?")
		
	return PLUGIN_CONTINUE
}

public cmd_simon_ct(id, menu, item)
	{
	
	if(item == MENU_EXIT ||( g_Simon != id))
		{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	static dst[32],src[32], data[5], player, access, callback
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	player = str_to_num(data)
	if (g_Simon == player) return PLUGIN_CONTINUE
	g_Simon = 0
	cmd_simon(player)
	get_user_name(player, dst, charsmax(dst))
	get_user_name(id, src, charsmax(src))
	set_hudmessage(255, 255, 255, -1.0, -0.35, 0, 6.0, 10.0)
	show_hudmessage(0, "%s a predat grad-ul de SIMON lui %s",  src, dst)
	set_user_info(id, "model", "jb_lunetistii_v2")
	set_pev(id, pev_body, 3)
	
	return PLUGIN_HANDLED
}

public cmd_simonrevive(id)
	{
	if((id  == g_Simon) || is_user_admin(id) )
		menu_players(id, CS_TEAM_T, id, 0, "cmd_simon_re", "\rPe cine ai vrea s-a reinvii?")
	return PLUGIN_CONTINUE
}

public cmd_simon_re(id, menu, item)
	{
	if(item == MENU_EXIT ||( g_Simon != id))
		{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	static dst[32],src[32], data[5], player, access, callback
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	player = str_to_num(data)
	get_user_name(player, dst, charsmax(dst))
	get_user_name(id, src, charsmax(src))
	
	if(is_user_alive(player))
		{
		ChatColor(id, "!g[SimonMenu] !yPrizonierul !g%s !yeste viu deja", dst)
		cmd_simonrevive(id)
		return PLUGIN_HANDLED;
	}
	if (g_Simon == player) return PLUGIN_CONTINUE
	ChatColor(0, "!g[SimonMenu] !ySimon !g%s !ya dat revive prizonierului !g%s", src, dst)
	cmd_simonrevive(id)
	Revive(player,100,0);
	
	return PLUGIN_HANDLED
}

public cmd_open(id)
	{
	if(id == g_Simon){
		jail_open()
		
		emit_sound(0, CHAN_AUTO, "jbsounds/jb_open.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	}
	
	return PLUGIN_HANDLED
}

public cmd_nomic(id)
	{
	if(!is_user_connected(id))
		return PLUGIN_HANDLED;
	
	static CsTeams:team
	team = cs_get_user_team(id)
	if(team == CS_TEAM_CT)
		{
		server_print("JBE Transfered guard to prisoners team client #%i", id)
		if(g_Simon == id)
			{
			g_Simon = 0
			static szName[ 33 ];
			get_user_name( id, szName, 32 );
			player_hudmessage(0, 2, 5.0, _, "%L", LANG_SERVER, "JBE_SIMON_TRANSFERED", szName);
			//ChatColor(0, "%L",0,"JBE_SIMON_TRANSFERED", szName)
		}
		if(!is_user_admin(id))
			set_bit(g_PlayerNomic, id)
		
		user_silentkill(id)
		cs_set_user_team(id, CS_TEAM_T)
	}
	return PLUGIN_HANDLED
}

public cmd_boxmenu(id){
	if((is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT))
		{
		new szText[ 555 char ];
		
		formatex( szText, charsmax( szText ), "%L", id, "BOXMENU_TITLE");
		new menu = menu_create( szText, "box_handler" );
		
		formatex( szText, charsmax( szText ), "%L", id, "BOXMENU_M1" );
		menu_additem( menu, szText, "1", 0 );
		
		formatex( szText, charsmax( szText ), "%L", id, "BOXMENU_M2" );
		menu_additem( menu, szText, "2", 0 );
		
		menu_display( id, menu, 0)
	}
	else{
		ChatColor(id, "%L",0,"BOX_ACCES")
	}
}

public box_handler( id, menu, item )
	{
	if( item == MENU_EXIT )
		{
		menu_destroy( menu )
		return PLUGIN_HANDLED
	}
	new data[6], iName[64]
	new access, callback
	
	menu_item_getinfo( menu, item, access, data,5, iName, 63, callback )
	new key = str_to_num( data )
	switch( key )
	{
		case 1:
		{
			cmd_box(id)
		}
		case 2:
		{
			cmd_boxoff(id)
		}	
	}
	menu_destroy( menu )
	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)
			
			client_cmd(0, "mp3 play ^"%s^"", game_box)
			set_cvar_num("mp_tkpunish", 0)
			set_cvar_num("mp_friendlyfire", 1)
			g_BoxStarted = 1
			new name[32]
			get_user_name(id, name, 63)
			ChatColor(0, "%L",0,"BOX_START", name)
			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_boxoff(id)
	{
	static i
	if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT)
		{
		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", 0)
		g_BoxStarted = 0
		new name[32]
		get_user_name(id, name, 63)
		ChatColor(0, "%L",0,"BOX_STOP", name)
		player_hudmessage(0, 1, 3.0, _, "%s a anulat BOX-UL !!!", name)
	}
	return PLUGIN_HANDLED
}

public cmd_help(id)
{
	if(id > g_MaxClients)
		id -= TASK_HELP

	remove_task(TASK_HELP + id)
	switch(get_bit(g_PlayerHelp, id))
	{
		case(0):
		{
			set_bit(g_PlayerHelp, id)
			player_hudmessage(id, 7, 15.0, {230, 100, 10}, "%s", g_HelpText)
			set_task(15.0, "cmd_help", TASK_HELP + id)
		}
		default:
		{
			clear_bit(g_PlayerHelp, id)
			ClearSyncHud(id, g_HudSync[7][_hudsync])
		}
	}
}

public cmd_freeday(id)
{
	static menu, menuname[32], option[64]
	if(!is_freeday() && ((is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT) || is_user_admin(id)))
	{
		formatex(menuname, charsmax(menuname), "%L", LANG_SERVER, "JBE_MENU_FREEDAY")
		menu = menu_create(menuname, "freeday_choice")

		formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_FREEDAY_PLAYER")
		menu_additem(menu, option, "1", 0)

		formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_FREEDAY_ALL")
		menu_additem(menu, option, "2", 0)

		menu_display(id, menu)
	}
	return PLUGIN_HANDLED
}

public cmd_freeday_player(id)
{
	if((is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT) || is_user_admin(id))
		menu_players(id, CS_TEAM_T, id, 1, "freeday_select", "%L", LANG_SERVER, "JBE_MENU_FREEDAY")

	return PLUGIN_CONTINUE
}

public cmd_lastrequest(id)
{
	static i, num[5], menu, menuname[32], option[64]
	if(!get_pcvar_num(gp_LastRequest) || g_Freeday || g_LastDenied || id != g_PlayerLast || g_RoundEnd || get_bit(g_PlayerWanted, id) || get_bit(g_PlayerFreeday, id) || !is_user_alive(id))
		return PLUGIN_CONTINUE

	formatex(menuname, charsmax(menuname), "%L", LANG_SERVER, "JBE_MENU_LASTREQ")
	menu = menu_create(menuname, "lastrequest_select")

	formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_LASTREQ_OPT1")
	menu_additem(menu, option, "1", 0)

	formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_LASTREQ_OPT2")
	menu_additem(menu, option, "2", 0)

	formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_LASTREQ_OPT3")
	menu_additem(menu, option, "3", 0)

	for(i = 0; i < sizeof(_Duel); i++)
	{
		num_to_str(i + 4, num, charsmax(num))
		formatex(option, charsmax(option), "%L", LANG_SERVER, _Duel[i][_opt])
		menu_additem(menu, option, num, 0)
	}

	menu_display(id, menu)
	return PLUGIN_CONTINUE
}

public adm_freeday(id)
{
	static player, user[32]
	
	if(get_user_flags(id) & ADMIN_ACCESS)
	{
	    new nume[21]
	    get_user_name(id, nume, 20)
	    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)
		    ChatColor(0, "!g[AdminControl] !yAdmin-ul !g[%s] !ya dat zi libera lui !g[%s].", nume, user)
		    log_to_file("LogJailBreak.log","[ JBE_FREEDAY ] Admin-ul [ %s ] a dat zi libera lui [ %s ].",nume,user)
                    emit_sound(0, CHAN_AUTO, "jbsounds/jb_ding.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	    }
    }
	else
	{
		ChatColor(id, "!g[AdminControl] !yNu ai !gacces !yla aceasta comanda.")
		return PLUGIN_CONTINUE
	}
	return PLUGIN_HANDLED
}
public adm_nomic(id)
	{
	static player, user[32]
	
	if(id == 0 && get_user_flags(id) & ADMIN_ACCESS)
	{
		new nume[21]
		get_user_name(id, nume, 20)
		new numeplayer[21]
		get_user_name(player, numeplayer, 20)
		read_argv(1, user, charsmax(user))
		player = cmd_target(id, user, 3)
		if(is_user_connected(player))
	    {
			cmd_nomic(player);
			ChatColor(0, "!g[AdminControl] !yAdmin-ul !g[%s] !yl-a mutat la !gPrizonieri !ype !g[%s].", nume, numeplayer)
			log_to_file("LogJailBreak.log","[JBE_NOMIC] Admin-ul [ %s ] l-a mutat la T pe [%s].", nume, numeplayer)
		}
	}
	else
	{
		ChatColor(id, "!g[AdminControl] !yNu ai !gacces !yla aceasta comanda.")
		return PLUGIN_CONTINUE
	}
	return PLUGIN_HANDLED;
}

public adm_open(id)
	{
	if(get_user_flags(id) & ADMIN_ACCESS)
	{	
	    new nume[18]
	    get_user_name(id, nume, 17)
	    ChatColor(0, "!g[AdminControl]!y Admin-ul !g[%s] !ya folosit!g [jbe_open].", nume)
	    log_to_file("LogJailBreak.log","[JBE_OPEN] Admin-ul [ %s ] a deschis celulele prin JBE_OPEN ",nume)
	    emit_sound(0, CHAN_AUTO, "jbsounds/jb_open.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	    jail_open()
	}
	else
	{
		ChatColor(id, "!g[AdminControl] !yNu ai !gacces !yla aceasta comanda.")
		return PLUGIN_CONTINUE
	}
	return PLUGIN_HANDLED
}

public adm_box(id)
	{
	if(get_user_flags(id) & ADMIN_ACCESS)
	{
	    new nume[16]
	    get_user_name(id, nume, 15)
	    //print(0, "^x04[AdminJail]^x01 Admin-ul^x03 [ %s ]^x01 a folosit^x03 JBE_BOX.^x01",nume)
	    ChatColor(0, "!g[AdminControl]!y Admin-ul !g[%s] !ya folosit!g [jbe_box].", nume)
	    log_to_file("LogJailBreak.log","[ JBE_BOX ] Admin-ul [ %s ] a dat BOX prin JBE_BOX ", nume)
	    cmd_box(id)
	}
	else
	{
		ChatColor(id, "!g[AdminControl] !yNu ai !gacces !yla aceasta comanda.")
		return PLUGIN_CONTINUE
	}
	return PLUGIN_HANDLED
}

public adm_boxoff(id)
	{
	if(get_user_flags(id) & ADMIN_ACCESS)
	{
	    new nume[16]
	    get_user_name(id, nume, 15)
	    ChatColor(0, "!g[AdminControl]!y Admin-ul !g%s !ya folosit!g JBE_BOXOFF.", nume)
	    log_to_file("LogJailBreak.log","[ JBE_BOX ] Admin-ul [ %s ] a dat BOX-OFF prin JBE_BOXOFF ", nume)
	    cmd_boxoff(id)
	}
	else
	{
		ChatColor(id, "!g[AdminControl] !yNu ai !gacces !yla aceasta comanda.")
		return PLUGIN_CONTINUE
	}
	return PLUGIN_HANDLED
}

public team_select(id, key)
{
	static CsTeams:team, roundloop, admin

	roundloop = get_pcvar_num(gp_RetryTime) / 2
	team = cs_get_user_team(id)
	admin = is_user_admin(id)
	team_count()

	if(!admin && (team == CS_TEAM_UNASSIGNED) && (g_RoundStarted >= roundloop) && g_TeamCount[CS_TEAM_CT] && g_TeamCount[CS_TEAM_T] && !is_user_alive(id))
	{
		team_join(id, CS_TEAM_SPECTATOR)
		client_print(id, print_center, "%L", LANG_SERVER, "JBE_TEAM_CANTJOIN")
		return PLUGIN_HANDLED
	}


	switch(key)
	{
		case(0):
		{
			if(team == CS_TEAM_T)
				return PLUGIN_HANDLED

			g_PlayerReason[id] = random_num(1, 6)

			team_join(id, CS_TEAM_T)
		}
		case(1):
		{
			if(team == CS_TEAM_CT || (!admin && get_bit(g_PlayerNomic, id)))
				return PLUGIN_HANDLED

			if(g_TeamCount[CS_TEAM_CT] < ctcount_allowed() || admin)
				team_join(id, CS_TEAM_CT)
			else
				client_print(id, print_center, "%L", LANG_SERVER, "JBE_TEAM_CTFULL")
		}
		case(5):
		{
			user_silentkill(id)
			team_join(id, CS_TEAM_SPECTATOR)
		}
	}
	return PLUGIN_HANDLED
}

public team_join(id, CsTeams:team)
{
	static restore, vgui, msgblock

	restore = get_pdata_int(id, m_iVGUI)
	vgui = restore & (1<<0)
	if(vgui)
		set_pdata_int(id, m_iVGUI, restore & ~(1<<0))

	switch(team)
	{
		case CS_TEAM_SPECTATOR:
		{
			msgblock = get_msg_block(g_MsgShowMenu)
			set_msg_block(g_MsgShowMenu, BLOCK_ONCE)
			dllfunc(DLLFunc_ClientPutInServer, id)
			set_msg_block(g_MsgShowMenu, msgblock)
			set_pdata_int(id, m_fGameHUDInitialized, 1)
			engclient_cmd(id, "jointeam", "6")
		}
		case CS_TEAM_T, CS_TEAM_CT:
		{
			msgblock = get_msg_block(g_MsgShowMenu)
			set_msg_block(g_MsgShowMenu, BLOCK_ONCE)
			engclient_cmd(id, "jointeam", (team == CS_TEAM_CT) ? "2" : "1")
			engclient_cmd(id, "joinclass", "1")
			set_msg_block(g_MsgShowMenu, msgblock)
			g_PlayerSpect[id] = 0
		}
	}
	
	if(vgui)
		set_pdata_int(id, m_iVGUI, restore)
}

public team_count()
{
	static CsTeams:team, last
	g_TeamCount[CS_TEAM_UNASSIGNED] = 0
	g_TeamCount[CS_TEAM_T] = 0
	g_TeamCount[CS_TEAM_CT] = 0
	g_TeamCount[CS_TEAM_SPECTATOR] = 0
	g_TeamAlive[CS_TEAM_UNASSIGNED] = 0
	g_TeamAlive[CS_TEAM_T] = 0
	g_TeamAlive[CS_TEAM_CT] = 0
	g_TeamAlive[CS_TEAM_SPECTATOR] = 0
	for(new i = 1; i <= g_MaxClients; i++)
	{
		if(is_user_connected(i))
		{
			team = cs_get_user_team(i)
			g_TeamCount[team]++
			g_PlayerTeam[i] = team
			if(is_user_alive(i))
			{
				g_TeamAlive[team]++
				if(team == CS_TEAM_T)
					last = i
			}
		}
		else
		{
			g_PlayerTeam[i] = CS_TEAM_UNASSIGNED
		}
	}
	if(g_TeamAlive[CS_TEAM_T] == 1)
	{
		if(last != g_PlayerLast && g_SafeTime)
		{
			prisoner_last(last)
		}
	}
	else
	{
		if(g_Duel || g_DuelA || g_DuelB)
		{
			if(is_user_alive(g_DuelA))
			{
				set_user_rendering(g_DuelA, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
				player_strip_weapons(g_DuelA)
			}

			if(is_user_alive(g_DuelB))
			{
				set_user_rendering(g_DuelB, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
				player_strip_weapons(g_DuelB)
			}

		}
		g_PlayerLast = 0
		g_DuelA = 0
		g_DuelB = 0
		g_Duel = 0
	}
}

public revolt_start()
{
	emit_sound(0, CHAN_AUTO, "ambience/siren.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	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, 255}, "%s este Simon :: Ziua %d :: Jb.RangFort.Ro ", name, g_JailDay)
   }else{
      player_hudmessage(0, 2, HUD_DELAY + 1.0, {0, 255, 255}, "Nu este Simon :: Ziua %d :: Jb.RangFort.Ro", g_JailDay)
   }
   if(g_Freeday)
   {
   player_hudmessage(0, 2, HUD_DELAY + 1.0, {0, 255, 255}, "Nu este Simon :: Zi Libera :: Jb.RangFort.Ro", g_JailDay)
   }
   
   if(g_PlayerWanted)
      player_hudmessage(0, 3, HUD_DELAY + 1.0, {255, 25, 50}, "%s", wanted)
   else if(g_PlayerRevolt)
      player_hudmessage(0, 3, HUD_DELAY + 1.0, {255, 25, 50}, "%L", LANG_SERVER, "JBE_PRISONER_REVOLT")
   
	gc_TalkMode = get_pcvar_num(gp_TalkMode)
	gc_VoiceBlock = get_pcvar_num(gp_VoiceBlock)
	gc_SimonSteps = get_pcvar_num(gp_SimonSteps)
	gc_ButtonShoot = get_pcvar_num(gp_ButtonShoot)
	gc_CrowbarMul = get_pcvar_float(gp_CrowbarMul)

}

public safe_time(task)
{
	g_SafeTime = 1
}

public check_freeday(task)
{
	static Float:roundmax, i
	if(!g_Simon && !g_PlayerLast)
	{
		g_Freeday = 1
		hud_status(0)
		roundmax = get_pcvar_float(gp_RoundMax)
		if(roundmax > 0.0)
		{
			for(i = 1; i <= g_MaxClients; i++)
			{
				if(is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T)
					freeday_set(0, i)
			}
			emit_sound(0, CHAN_AUTO, "jbsounds/jb_ding.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
			player_hudmessage(0, 8, 3.0, {0, 255, 255}, "%L", LANG_SERVER, "JBE_STATUS_ENDTIMER", floatround(roundmax - 60.0))
			remove_task(TASK_ROUND)
			set_task(roundmax - 60.0, "check_end", TASK_ROUND)
		}
	}

	if(get_pcvar_num(gp_AutoOpen))
		jail_open()
}

public freeday_end(task)
{
	if(g_Freeday || g_PlayerFreeday)
	{
		emit_sound(0, CHAN_AUTO, "jbsounds/jb_ding.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
		player_hudmessage(0, 8, 3.0, {0, 255, 255}, "%L", LANG_SERVER, "JBE_STATUS_ENDFREEDAY")
	}
}

public check_end(task)
{
	team_count()
	for(new i = 1; i <= g_MaxClients; i++)
	{
		if(g_PlayerTeam[i] == CS_TEAM_T && is_user_alive(i))
		{
			user_silentkill(i)
			cs_set_user_deaths(i, get_user_deaths(i) - 1)
		}
	}
	for(new i = 1; i <= g_MaxClients; i++)
	{
		if(g_PlayerTeam[i] == CS_TEAM_CT && is_user_alive(i))
		{
			user_silentkill(i)
			cs_set_user_deaths(i, get_user_deaths(i) - 1)
		}
	}
	player_hudmessage(0, 6, 3.0, {0, 255, 255}, "%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, 255}, "%L", LANG_SERVER, "JBE_PRISONER_LAST", name)
		remove_task(TASK_ROUND)
		if(roundmax > 0.0)
		{
			player_hudmessage(0, 8, 3.0, {0, 255, 255}, "%L", LANG_SERVER, "JBE_STATUS_ENDTIMER", floatround(roundmax - 60.0))
			set_task(roundmax - 60.0, "check_end", TASK_ROUND)
		}
		if((g_TeamAlive[CS_TEAM_CT] > 0) && get_pcvar_num(gp_AutoLastresquest))
			cmd_lastrequest(id)
	}
}

public freeday_select(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}

	static dst[32], data[5], player, access, callback

	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	player = str_to_num(data)
	freeday_set(id, player)
	return PLUGIN_HANDLED
}

public duel_knives(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		g_LastDenied = 0
		return PLUGIN_HANDLED
	}

	static dst[32], data[5], access, callback, option[128], player, src[32]

	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	get_user_name(id, src, charsmax(src))
	player = str_to_num(data)
	formatex(option, charsmax(option), "%L^n%L", LANG_SERVER, "JBE_MENU_LASTREQ_SEL3", src, LANG_SERVER, "JBE_MENU_DUEL_SEL", src, dst)
	emit_sound(0, CHAN_AUTO, "jbsounds/jb_box3.mp3", 1.0, ATTN_NORM, 0, PITCH_NORM)
	player_hudmessage(0, 6, 3.0, {0, 255, 255}, option)

	g_DuelA = id
	clear_bit(g_PlayerCrowbar, id)
	player_strip_weapons(id)
	player_glow(id, g_Colors[3])
	set_user_health(id, 100)

	g_DuelB = player
	player_strip_weapons(player)
	player_glow(player, g_Colors[2])
	set_user_health(player, 100)
	g_BlockWeapons = 1
	return PLUGIN_HANDLED
}
public duel_guns(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		g_LastDenied = 0
		g_Duel = 0
		return PLUGIN_HANDLED
	}

	static gun, dst[32], data[5], access, callback, option[128], player, src[32]

	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	get_user_name(id, src, charsmax(src))
	player = str_to_num(data)
	formatex(option, charsmax(option), "%L^n%L", LANG_SERVER, _Duel[g_Duel - 4][_sel], src, LANG_SERVER, "JBE_MENU_DUEL_SEL", src, dst)
	emit_sound(0, CHAN_AUTO, "jbsounds/jb_lr.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	player_hudmessage(0, 6, 3.0, {0, 255, 255}, option)

	g_DuelA = id
	clear_bit(g_PlayerCrowbar, id)
	player_strip_weapons(id)
	gun = give_item(id, _Duel[g_Duel - 4][_entname])
	cs_set_weapon_ammo(gun, 1)
	set_user_health(id, 100)
	player_glow(id, g_Colors[3])

	g_DuelB = player
	player_strip_weapons(player)
	gun = give_item(player, _Duel[g_Duel - 4][_entname])
	cs_set_weapon_ammo(gun, 1)
	set_user_health(player, 100)
	player_glow(player, g_Colors[2])

	g_BlockWeapons = 1
	return PLUGIN_HANDLED
}

public freeday_choice(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}

	static dst[32], data[5], access, callback

	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	menu_destroy(menu)
	get_user_name(id, dst, charsmax(dst))
	switch(data[0])
	{
		case('1'):
		{
			cmd_freeday_player(id)
		}
		case('2'):
		{
			if((id == g_Simon) || is_user_admin(id))
			{
				g_Simon = 0
				get_user_name(id, dst, charsmax(dst))
				client_print(0, print_console, "%s gives freeday for everyone", dst)
				server_print("JBE Client %i gives freeday for everyone", id)
				check_freeday(TASK_FREEDAY)		
                                emit_sound(0, CHAN_AUTO, "jbsounds/jb_ding.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
			}
		}
	}
	return PLUGIN_HANDLED
}

public lastrequest_select(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}

	static 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, 255}, option)
			set_bit(g_FreedayAuto, id)
			user_silentkill(id)
		}
		case('2'):
		{
			formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_LASTREQ_SEL2", dst)
			player_hudmessage(0, 6, 3.0, {0, 255, 255}, option)
		        cs_set_user_money(id,cs_get_user_money(id) + 16000)
			user_silentkill(id)
		}
		case('3'):
		{
			g_Duel = 3
			menu_players(id, CS_TEAM_CT, 0, 1, "duel_knives", "%L", LANG_SERVER, "JBE_MENU_DUEL")
		}
		default:
		{
			g_Duel = str_to_num(data)
			menu_players(id, CS_TEAM_CT, 0, 1, "duel_guns", "%L", LANG_SERVER, "JBE_MENU_DUEL")
		}
	}
	g_LastDenied = 1
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public setup_buttons()
{
	new ent[3]
	new Float:origin[3]
	new info[32]
	new pos

	while((pos <= sizeof(g_Buttons)) && (ent[0] = engfunc(EngFunc_FindEntityByString, ent[0], "classname", "info_player_deathmatch")))
	{
		pev(ent[0], pev_origin, origin)
		while((ent[1] = engfunc(EngFunc_FindEntityInSphere, ent[1], origin, CELL_RADIUS)))
		{
			if(!is_valid_ent(ent[1]))
				continue

			entity_get_string(ent[1], EV_SZ_classname, info, charsmax(info))
			if(!equal(info, "func_door"))
				continue

			entity_get_string(ent[1], EV_SZ_targetname, info, charsmax(info))
			if(!info[0])
				continue

			if(TrieKeyExists(g_CellManagers, info))
			{
				TrieGetCell(g_CellManagers, info, ent[2])
			}
			else
			{
				ent[2] = engfunc(EngFunc_FindEntityByString, 0, "target", info)
			}

			if(is_valid_ent(ent[2]) && (in_array(ent[2], g_Buttons, sizeof(g_Buttons)) < 0))
			{
				g_Buttons[pos] = ent[2]
				pos++
				break
			}
		}
	}
	TrieDestroy(g_CellManagers)
}

stock in_array(needle, data[], size)
{
	for(new i = 0; i < size; i++)
	{
		if(data[i] == needle)
			return i
	}
	return -1
}

stock freeday_set(id, player)
{
	static src[32], dst[32]
	get_user_name(player, dst, charsmax(dst))

	if(is_user_alive(player) && !get_bit(g_PlayerWanted, player))
	{
		set_bit(g_PlayerFreeday, player)
		entity_set_int(player, EV_INT_skin, 3)
		if(get_pcvar_num(gp_GlowModels))
			player_glow(player, g_Colors[1])

		if(0 < id <= g_MaxClients)
		{
			get_user_name(id, src, charsmax(src))
			player_hudmessage(0, 6, 3.0, {0, 255, 255}, "%L", LANG_SERVER, "JBE_GUARD_FREEDAYGIVE", src, dst)
		}
		else if(!is_freeday())
		{
			player_hudmessage(0, 6, 3.0, {0, 255, 255}, "%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, 255}, 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)
		}
	}
}
Revive(index,hp,armor)
{
	set_pev(index,pev_deadflag,DEAD_RESPAWNABLE);
	set_pev(index,pev_iuser1,0);
	dllfunc(DLLFunc_Think,index);
	engfunc(EngFunc_SetOrigin,index,Float:{-4800.0,-4800.0,-4800.0});
	new array[3];
	array[0] = index;
	array[1] = hp;
	array[2] = armor
	set_task(0.5,"respawn",0,array,3);
}

public respawn(array[3])
	{
	new index = array[0];
	new hp = array[1];
	new armor = array[2];
	if(is_user_connected(index))
		{
		dllfunc(DLLFunc_Spawn,index);
		set_pev(index,pev_health,float(hp));
		set_pev(index,pev_armorvalue,float(armor));
		Fade(index,0,255,0,30);
	}
}

stock Fade(index,red,green,blue,alpha)
	{
	message_begin(MSG_ONE,get_user_msgid("ScreenFade"),{0,0,0},index);
	write_short(1<<10);
	write_short(1<<10);
	write_short(1<<12);
	write_byte(red);
	write_byte(green);
	write_byte(blue);
	write_byte(alpha);
	message_end();
}

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")
	replace_all(msg, 190, "!y", "^1")
	replace_all(msg, 190, "!team", "^3")
	
	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, get_user_msgid("SayText"), _, players[i]);
				write_byte(players[i]);
				write_string(msg);
				message_end();
			}
		}
	}
}
RoyalServer
User avatar
YONTU
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 2466
Joined: 10 May 2013, 14:25
Detinator Steam: Nu
CS Status: Everyone is looking at ur shoes
Reputatie: Moderator ajutator
Fost scripter eXtreamCS
Location: Gura Humorului
Has thanked: 256 times
Been thanked: 288 times
Contact:

01 Feb 2019, 23:25

Mutat din

Board index » eXtream - Counter-Strike 1.6 » Programarea CS-ului » Scripting

In categoria Scripting se posteaza doar nelamuriri legate de bucăți de cod, cereri sfaturi despre functii, etc, orice legat de mentenata pluginului.
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș


Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114

Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 7 guests