Code:
/* Plugin generated by AMXX-Studio */#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <engine>
#include <colorchat>
#define PLUGIN "JbMod"
#define VERSION "1.7"
#define AUTHOR "FreeMan"
new mDuel
new cvarAllowKnife
new GetCT
new Free
new ColorMenu
new cd
new timer
//////////////////////////////////////////////////////
////////*------------[JB]Shop-------------*//////////
/////////////////////////////////////////////////////
new g_points[33]
new mShop
new c_deagle
new c_speed
new c_invisib
new c_Health
new a_Health
new c_XxSpeedxX
/*================================================================================
Variables | bools | Cvars
=================================================================================*/
new g_maxPlayers, g_msgSayText, beacon_sprite
new cvar_granadas_bpammo, cvar_scout_bpammo
new bool:touch_weapons[33], bool:once[33], bool:player_challenged[33], bool:duel_active,
bool:knife_duel[33] ,bool:deagle_duel[33], bool:grenade_duel[33], bool:scout_duel[33]
new bool:deagle_toss[33], bool:spray_duel[33], bool:crazy_terro[33], bool:clip_duel[33]
new bool:unappear_duel[33]
new tag[] = "|ECA|"
/*-----------------------------------*/
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
/* pcvar Enabled */
register_cvar("JbMod", "0")
/* Jailbreak Menu */
register_clcmd("say /jbmenu", "jbmenu")
/* Boxing */
register_clcmd("say /box", "boxing")
register_cvar("mp_friendlyfire", "0")
/* Menus */
register_clcmd("say /Gmenu", "Gmenu")
/* Get CT */
register_clcmd("say /get", "Getmenu")
/* LastRequst */
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
RegisterHam(Ham_Touch, "weaponbox", "fw_touch_weapon")
RegisterHam(Ham_Touch, "armoury_entity", "fw_touch_weapon")
RegisterHam(Ham_Touch, "weapon_shield", "fw_touch_weapon")
RegisterHam(Ham_Spawn, "player", "fw_player_respawn", 1)
RegisterHam(Ham_Killed, "player", "fw_player_killed")
register_forward(FM_CmdStart,"fw_cmdstart",1)
register_clcmd("say /lr", "duel_menu")
register_clcmd("say !lr", "duel_menu")
register_clcmd("say_team /lr", "duel_menu")
register_clcmd("say_team !lr", "duel_menu")
cvar_granadas_bpammo = register_cvar("jb_grenade_bpammo","10") // amount bpammo grenade | cantidad de granadas
cvar_scout_bpammo = register_cvar("jb_scout_bpammo", "10") // amount bpammo scout | cantidad de balas pa' la scout
g_maxPlayers = get_maxplayers()
g_msgSayText = get_user_msgid("SayText")
register_dictionary("jailbreak_last_request.txt")
/* OPEN JB DOORS */
cvarAllowKnife = register_cvar("open_allowknife", "0", FCVAR_SPONLY)
RegisterHam(Ham_TraceAttack, "func_button", "FwdTraceAttack_Post", 1)
register_clcmd("say /open", "client_say_open")
register_clcmd("say_team /open", "client_say_open")
/* Free Day */
register_clcmd("say /Freeday", "FreeDay")
register_clcmd("say /Fd", "FreeDay")
register_clcmd("say_team /Freeday", "FreeDay")
register_clcmd("say_team /Fd", "FreeDay")
/* CountDown */
register_clcmd("say /cd", "cdmenu")
register_clcmd("say /countdown", "cdmenu")
/* Shop */
register_clcmd("say /jbshop", "Shop")
register_clcmd("say /shop", "Shop")
register_clcmd("say /points", "point")
RegisterHam(Ham_Killed, "player", "fw_player_killed_point")
c_deagle = register_cvar("jb_deagleCost", "10")
c_speed = register_cvar("jb_speedCost", "15")
c_invisib = register_cvar("jb_invisibleCost", "30")
c_Health = register_cvar("jb_HealthCost", "20")
a_Health = register_cvar("jb_HealthAmont", "500")
c_XxSpeedxX = register_cvar("jb_XxSpeedxXCost", "35")
}
//////////////////////////
//PREACHES///////////////////
////////////////////////
public plugin_precache()
{
precache_sound("CD/one.wav")
precache_sound("CD/two.wav")
precache_sound("CD/three.wav")
precache_sound("CD/four.wav")
precache_sound("CD/five.wav")
precache_sound("CD/six.wav")
precache_sound("CD/seven.wav")
precache_sound("CD/eight.wav")
precache_sound("CD/nine.wav")
precache_sound("CD/ten.wav")
}
//////////////////////////////////////////
/* Messages Help *//* Connect */
//////////////////////////////////////
public client_connect(id)
{
if (get_cvar_num("JbMod") == 1)
{
set_task(35.0, "helpmsg")
set_task(45.0, "helpmsg_1")
}
}
public helpmsg(id)
{
ColorChat(id, GREEN, "|ECA| ^1Say ^4/Jbmenu ^1To Open JailBreak Menu For ^4[Gaurds]")
}
public helpmsg_1(id)
{
ColorChat(0, GREEN, "|ECA| ^1Say ^4/Shop ^1To Open ^4[JB]^1Shop For ^4[T]")
ColorChat(0, GREEN, "|ECA| ^1To See Your JB ^4Points ^1Say ^4/Points")
}
////////////////////////////////
/*------SHOP---------------*/
////////////////////////////
public Shop(id)
{
if (get_cvar_num("JbMod") == 1)
if(get_user_team(id) == 1)
{
static szText[ 64 ]
new pcvar_1 = get_pcvar_num(c_deagle)
new pcvar_2 = get_pcvar_num(c_speed)
new pcvar_3 = get_pcvar_num(c_invisib)
new pcvar_4 = get_pcvar_num(c_Health)
new pcvar_5 = get_pcvar_num(a_Health)
new pcvar_6 = get_pcvar_num(c_XxSpeedxX)
formatex(szText, charsmax(szText), "\y[JB]\wShop^n \rYour Points :%i", g_points[id])
mShop = menu_create(szText, "ShopHandle")
formatex(szText, charsmax(szText), "\y[%d]\wDeagle", pcvar_1)
menu_additem(mShop, szText, "1")
formatex(szText, charsmax(szText), "\y[%d]\wSpeed", pcvar_2)
menu_additem(mShop, szText, "2")
formatex(szText, charsmax(szText), "\y[%d]\wInvisiblite", pcvar_3)
menu_additem(mShop, szText, "3")
formatex(szText, charsmax(szText), "\y[%d]\wGet Health\r[%d]", pcvar_4, pcvar_5)
menu_additem(mShop, szText, "4")
formatex(szText, charsmax(szText), "\y[%d]\wXxSpeedxX", pcvar_6)
menu_additem(mShop, szText, "5")
menu_additem(mShop, "Give Points", "7", ADMIN_KICK)
menu_display(id, mShop)
}
else
{
ColorChat(0, GREEN, "|ECA| ^1 Your Not A ^3[T|Pirsoner]")
}
return PLUGIN_HANDLED
}
public ShopHandle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[7], name[64]
new access, callback
menu_item_getinfo(menu, item, access, data, 6, name, 63, callback)
new key = str_to_num(data)
new alive = is_user_alive(id)
new item_one = get_pcvar_num(c_deagle)
new item_two = get_pcvar_num(c_speed)
new item_three = get_pcvar_num(c_invisib)
new item_four = get_pcvar_num(c_Health)
new Health = get_pcvar_num(a_Health)
new item_five = get_pcvar_num(c_XxSpeedxX)
switch( key )
{
case 1:
{
if(g_points[id] >= item_one && alive)
{
g_points[id] -= item_one
give_item(id, "weapon_deagle")
ColorChat(id, GREEN, "|ECA| ^1You Have Buy A ^4Deagle.")
}
}
case 2:
{
if(g_points[id] >= item_two && alive)
{
g_points[id] -= item_two
set_user_maxspeed(id, 350.0)
ColorChat(id, GREEN, "|ECA| ^1You Have Buy A ^4Speed.")
}
}
case 3:
{
if(g_points[id] >= item_three && alive)
{
g_points[id] -= item_three
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderGlow, 0)
ColorChat(id, GREEN, "|ECA| ^1You Have Buy A ^4Invisiblite.")
}
}
case 4:
{
if(g_points[id] >= item_four && alive)
{
g_points[id] -= item_four
set_user_health(id, Health)
ColorChat(id, GREEN, "|ECA| ^1You Have Buy A ^4HealthPack.")
}
}
case 5:
{
if(g_points[id] >= item_five && alive)
{
g_points[id] -= item_five
set_user_maxspeed(id, 600.0)
ColorChat(id, GREEN, "|ECA| ^1 You Have Buy A ^4XxSpeedxX")
}
}
case 7:
{
PlayerChoosen(id)
return PLUGIN_HANDLED
}
}
Shop(id)
return PLUGIN_HANDLED
}
public PlayerChoosen(id)
{
static szText[64]
new Player = menu_create("\wGive Player^n\rPoints", "PlayerHandle")
new players[32], tempname [32], szTempid[9], tempid, num
get_players(players, num)
for ( new i = 0; i < num; i++ )
{
tempid = players[i]
get_user_name(tempid, tempname, 31)
num_to_str(tempid, szTempid, 8)
formatex(szText, charsmax(szText), "\wGive Points \r%i", g_points[0])
menu_additem(Player, szText, "1", 0)
formatex(szText, charsmax(szText), "\w%s |\r%i", tempname, g_points[tempid])
menu_additem(Player, szText, szTempid, 0)
menu_setprop(Player, MPROP_BACKNAME, MENU_BACK)
}
menu_display(id, Player)
return PLUGIN_HANDLED
}
public PlayerHandle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[9], name[64]
new access, callback
menu_item_getinfo(menu, item, access, data, 6, name, 63, callback)
new tempid = str_to_num(data)
switch( item )
{
case 0:{
if(g_points[0] <= 275)
{
g_points[0] += 25
PlayerChoosen(id)
}
else if(g_points[0] == 300)
{
g_points[0] = 0
PlayerChoosen(id)
}
}
case 1,2,3,4,5,6,7: {
g_points[tempid] = g_points[0]
PlayerChoosen(id)
}
}
return PLUGIN_HANDLED
}
public point(id)
{
if (get_cvar_num("JbMod") == 1)
{
ColorChat(id, GREEN, "|ECA| ^1You Got ^4 %i ^1Points", g_points[id])
}
return PLUGIN_HANDLED
}
public fw_player_killed_point(victim, attacker)
{
if (get_cvar_num("JbMod") ==1)
if(cs_get_user_team(attacker) == CS_TEAM_T)
{
g_points[attacker] += 2
set_user_info(attacker, g_points, "2")
ColorChat(attacker, GREEN, "|ECA| ^1You Got Points")
}
else if (get_cvar_num("JbMod") ==1)
if(cs_get_user_team(victim) == CS_TEAM_CT)
{
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
///////////////////////////
/* Button Shot Activated */
///////////////////////////
public FwdTraceAttack_Post(this, idattacker)
{
if (get_cvar_num("JbMod") == 1)
if (!get_pcvar_num(cvarAllowKnife))
{
if (get_user_weapon(idattacker) != CSW_KNIFE)
ExecuteHamB(Ham_Use, this, idattacker, idattacker, 2, 1.0)
}
else
{
ExecuteHamB(Ham_Use, this, idattacker, idattacker, 2, 1.0)
}
}
public client_say_open(id)
{
if (get_cvar_num("JbMod") == 1)
if(cs_get_user_team(id) == CS_TEAM_CT)
if(is_user_alive(id))
{
new ent = -1
while((ent = fm_find_ent_by_class(ent, "func_door")))
{
dllfunc(DLLFunc_Use, ent, 0)
}
new name[32]
get_user_name(id, name, 31)
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 6.0)
show_hudmessage(0, "%s : Has Open The Jail!", name)
}
}
//////////////////
/* Jailbreakmenu */
//////////////////
public jbmenu(id)
{
if (get_cvar_num("JbMod") == 1)
if(cs_get_user_team(id) == CS_TEAM_CT)
{
new jail = menu_create("\yJb Menu", "Jailhandle")
menu_additem(jail, "Open Jails", "1", 0)
menu_additem(jail, "Get", "2", 0)
menu_additem(jail, "FreeDay", "3", 0)
menu_additem(jail, "Box", "4", 0)
menu_additem(jail, "Guns", "5", 0)
menu_additem(jail, "CD", "6" , 0)
menu_additem(jail, "Give Points", "7", ADMIN_KICK)
menu_display(id, jail)
}
return PLUGIN_HANDLED
}
public Jailhandle(id, menu ,item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
switch ( item ) {
case 0: client_say_open(id)
case 1: Getmenu(id)
case 2: FreeDay(id)
case 3: boxing(id)
case 4: Gmenu(id)
case 5: cdmenu(id)
case 6: PlayerChoosen(id)
}
return PLUGIN_HANDLED
}
//////////////////
/* CountDown */
//////////////////
public cdmenu(id)
{
if (get_cvar_num("JbMod") == 1)
if (cs_get_user_team(id) == CS_TEAM_CT)
{
cd = menu_create("\yCountDown", "CountDown")
menu_additem(cd, "\y[CD] \w3 Seconds", "1", 0)
menu_additem(cd, "\y[CD] \w5 Seconds", "2", 0)
menu_additem(cd, "\y[CD] \w10 Seconds", "3", 0)
menu_display(id, cd)
}
else if(cs_get_user_team(id) == CS_TEAM_T|CS_TEAM_SPECTATOR)
if (get_cvar_num("JbMod") == 1)
{
new name[32]
get_user_name(id, name, 31)
ColorChat(id, GREEN, "|ECA|%s Your Not A Gaurd", name)
}
return PLUGIN_HANDLED
}
public CountDown(id, menu ,item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], name[64]
new access, callback
menu_item_getinfo(menu, item, access, data, 5, name, 63, callback)
new key = str_to_num(data)
switch ( key )
{
case 1:
{
timer = 3
}
case 2:
{
timer = 5
}
case 3:
{
timer = 10
}
}
CountHandle(id)
return PLUGIN_HANDLED
}
public CountHandle(id)
{
new name[32]
get_user_name(id, name, 31)
switch( timer )
{
case 0:
{
set_hudmessage(255, 0, 0, -1.0, 0.35, 0, 6.0, 3.0)
show_hudmessage(0, "Go Go Go!")
}
case 1:
{
client_cmd(0, "spk ^"CD/one.wav^"")
set_task(1.0, "CountHandle")
}
case 2:
{
client_cmd(0, "spk ^"CD/two.wav^"")
set_task(1.0, "CountHandle")
}
case 3:
{
client_cmd(0, "spk ^"CD/three.wav^"")
set_task(1.0, "CountHandle")
}
case 4:
{
client_cmd(0, "spk ^"CD/four.wav^"")
set_task(1.0, "CountHandle")
}
case 5:
{
client_cmd(0, "spk ^"CD/five.wav^"")
set_task(1.0, "CountHandle")
}
case 6:
{
client_cmd(0, "spk ^"CD/six.wav^"")
set_task(1.0, "CountHandle")
}
case 7:
{
client_cmd(0, "spk ^"CD/seven.wav^"")
set_task(1.0, "CountHandle")
}
case 8:
{
client_cmd(0, "spk ^"CD/eight.wav^"")
set_task(1.0, "CountHandle")
}
case 9:
{
client_cmd(0, "spk ^"CD/nine.wav^"")
set_task(1.0, "CountHandle")
}
case 10:
{
client_cmd(0, "spk ^"CD/ten.wav^"")
set_task(1.0, "CountHandle")
}
}
if(timer != 0)
{
set_hudmessage(255, 255, 255, -1.0, 0.35, 0, 6.0, 12.0)
show_hudmessage(0, "CountDown : %i", timer)
timer --
}
return PLUGIN_HANDLED
}
//////////////////
/* Free Day */
///////////////////
public FreeDay(id)
{
if (cs_get_user_team(id) == CS_TEAM_T)
if (get_cvar_num("JbMod") == 1)
{
green_print(0, "%s Your Not A Gaurd")
return PLUGIN_HANDLED
}
Free = menu_create("\yChoose Player", "FreeHandle")
new players[32], tempname[32], szTempid[10], tempid, num
get_players(players, num, "a", "T")
if (get_cvar_num("JbMod") == 1)
for (new i = 0; i < num; i++)
{
tempid = players[i]
if(cs_get_user_team(tempid) == CS_TEAM_T)
{
get_user_name(tempid, tempname, 31)
num_to_str(tempid, szTempid, 9)
menu_additem(Free, tempname, szTempid, 0)
}
}
menu_display(id, Free)
return PLUGIN_HANDLED
}
public FreeHandle(id, menu ,item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], name[64]
new access, callback
menu_item_getinfo(menu, item, access, data, 5, name, 63, callback)
new szName[33], szPlayerName[33]
new tempid = str_to_num(data)
get_user_name(id, szName, 32)
get_user_name(tempid, szPlayerName, 32)
ColorChat(0, GREEN, "Gaurd ^1%s : Has Set ON^4 %s ^1A FreeDay", szName, szPlayerName)
set_user_rendering(tempid, kRenderFxGlowShell, 255, 255, 255, kRenderNormal, 20)
ColorMenu = menu_create("\yChoose Color", "Colorhandle")
menu_additem(ColorMenu, "\yRed", "1", 0)
menu_additem(ColorMenu, "\yGreen", "2", 0)
menu_additem(ColorMenu, "\yBlue", "3", 0)
menu_additem(ColorMenu, "\yYellow", "4", 0)
menu_display(tempid, ColorMenu)
return PLUGIN_HANDLED
}
public Colorhandle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
switch ( item )
{
case 0: set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 20)
case 1: set_user_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 20)
case 2: set_user_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 20)
case 3: set_user_rendering(id, kRenderFxGlowShell, 255, 255, 0, kRenderNormal, 20)
}
return PLUGIN_HANDLED
}
///////////////////////
/* Get Counter FORCE */
//////////////////////
public Getmenu(id)
{
if (get_cvar_num("JbMod") == 1)
if(cs_get_user_team(id) == CS_TEAM_T)
{
green_print(0, "%s Your Not A Gaurd")
}
GetCT = menu_create("\y Get Player", "GetGaurd")
new players[32], tempname[32], szTempid[10], tempid, num
get_players(players, num, "", "T")
if (get_cvar_num("JbMod") == 1)
for (new i = 0; i < num; i++)
{
tempid = players [i]
if(cs_get_user_team(tempid) == CS_TEAM_T)
{
get_user_name(tempid, tempname, 31)
num_to_str(tempid, szTempid, 9)
menu_additem(GetCT, tempname, szTempid, 0)
}
}
menu_display(id, GetCT)
return PLUGIN_HANDLED
}
public GetGaurd(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], name[64]
new access, callback
new szName[33], szPlayerName[33]
menu_item_getinfo(menu, item, access, data, 5, name, 63, callback)
new tempid = str_to_num(data)
get_user_name(id, szName, 32)
get_user_name(tempid, szPlayerName, 32)
ColorChat(0, GREEN, "PLAYER ^1%s : Has Get ^4%s", szName, szPlayerName)
cs_set_user_team(id, CS_TEAM_T, CS_T_TERROR)
cs_user_spawn(id)
cs_set_user_team(tempid, CS_TEAM_CT, CS_CT_URBAN)
cs_user_spawn(tempid)
return PLUGIN_HANDLED
}
/*================================================================================
Round Start
=================================================================================*/
public event_round_start()
{
if (get_cvar_num("JbMod") == 1)
{
set_cvar_num("mp_friendlyfire", 0)
duel_active = false
for ( new i = 0; i < g_maxPlayers; i++ )
{
strip_user_weapons(i)
}
}
}
/*================================================================================
forwards
=================================================================================*/
public fw_player_respawn(id)
{
if (get_cvar_num("JbMod") == 1)
if(!is_user_alive(id) || !cs_get_user_team(id))
return
set_user_rendering(id)
remove_task(id)
touch_weapons[id] = false
once[id] = false
knife_duel[id] = false
deagle_duel[id] = false
grenade_duel[id] = false
scout_duel[id] = false
deagle_toss[id] = false
spray_duel[id] = false
crazy_terro[id] = false
clip_duel[id] = false
unappear_duel[id] = false
player_challenged[id] = false
}
public fw_touch_weapon(weapon, id)
{
if (get_cvar_num("JbMod") == 1)
if (!is_user_connected(id))
return HAM_IGNORED;
new players[32], pnum, tempid;
get_players(players, pnum, "a");
for( new i; i<pnum; i++ )
{
tempid = players[i];
}
if (touch_weapons[id] || touch_weapons[tempid])
return HAM_SUPERCEDE;
return HAM_IGNORED;
}
public fw_cmdstart(player,uc_handle,random_seed)
{
if (get_cvar_num("JbMod") == 1)
if(deagle_duel[player])
{
cs_set_user_bpammo(player, CSW_DEAGLE, 1)
}
}
public fw_player_killed(victim, attacker, shouldgib)
{
new name[32]
get_user_name(attacker, name, 31)
if (get_cvar_num("JbMod") == 1)
if(duel_active)
{
if(cs_get_user_team(victim) == CS_TEAM_CT && player_challenged[victim])
{
knife_duel[attacker] = false
deagle_duel[attacker] = false
grenade_duel[attacker] = false
scout_duel[attacker] = false
deagle_toss[attacker] = false
spray_duel[attacker] = false
crazy_terro[attacker] = false
clip_duel[attacker] = false
unappear_duel[attacker] = false
once[attacker] = false
strip_user_weapons(attacker)
give_item(attacker, "weapon_knife")
set_user_rendering(attacker)
duel_menu(attacker)
}
else if(cs_get_user_team(victim) == CS_TEAM_CT && !player_challenged[victim])
if (get_cvar_num("JbMod") == 1)
{
set_task(0.4, "kill_player", attacker)
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%L", LANG_PLAYER,"DUEL_DOWN", name)
}
}
remove_task(attacker)
remove_task(victim)
}
public kill_player(id)
{
user_kill(id)
}
/*================================================================================
Main Menu
=================================================================================*/
public duel_menu(id)
{
if (get_cvar_num("JbMod") == 1)
if(!is_user_alive(id))
return PLUGIN_HANDLED
if (!once[id])
{
if (get_cvar_num("JbMod") == 1)
if(cs_get_user_team(id) == CS_TEAM_T)
{
new cts[32], ts[32], ctsnum, tsnum
for (new id=1; id <= g_maxPlayers; id++)
{
if (!is_user_connected(id) || !is_user_alive(id))
{
continue
}
if (cs_get_user_team(id) == CS_TEAM_T)
{
ts[tsnum++] = id
}
else if (cs_get_user_team(id) == CS_TEAM_CT)
{
cts[ctsnum++] = id
}
}
if (tsnum == 1 && ctsnum >= 1)
{
static opcion[64]
formatex(opcion, charsmax(opcion),"\r%L:", id, "CHOOSE_DUEL")
new iMenu = menu_create(opcion, "sub_duel_menu")
formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_1")
menu_additem(iMenu, opcion, "1")
formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_2")
menu_additem(iMenu, opcion, "2")
formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_3")
menu_additem(iMenu, opcion, "3")
formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_4")
menu_additem(iMenu, opcion, "4")
formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_5")
menu_additem(iMenu, opcion, "5")
formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_6")
menu_additem(iMenu, opcion, "6")
formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_7")
menu_additem(iMenu, opcion, "7")
formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_8")
menu_additem(iMenu, opcion, "8")
formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_9")
menu_additem(iMenu, opcion, "9")
menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, iMenu, 0)
}
else if (tsnum == 1 && ctsnum < 1)
{
ChatColor(id, "%L", LANG_PLAYER,"NOT_CTS", tag)
}
else if (tsnum > 1)
{
ChatColor(id, "%L", LANG_PLAYER,"ONLY_LAST", tag)
}
}
else
{
ChatColor(id, "%L", LANG_PLAYER,"ONLY_TTS", tag)
}
}
else
{
ChatColor(id, "%L", LANG_PLAYER,"KILL_CHALLENGED", tag)
}
return PLUGIN_HANDLED
}
public sub_duel_menu(id, menu, item)
{
if (get_cvar_num("JbMod") == 1)
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new Data[6], Name[64]
new Access, Callback
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback)
new Key = str_to_num(Data)
switch (Key)
{
case 1:
{
knife_duel[id] = true
choose_enemy(id)
}
case 2:
{
deagle_duel[id] = true
choose_enemy(id)
}
case 3:
{
grenade_duel[id] = true
choose_enemy(id)
}
case 4:
{
scout_duel[id] = true
choose_enemy(id)
}
case 5:
{
deagle_toss[id] = true
choose_enemy(id)
}
case 6:
{
spray_duel[id] = true
choose_enemy(id)
}
case 7:
{
crazy_terro[id] = true
choose_enemy(id)
}
case 8:
{
clip_duel[id] = true
choose_enemy(id)
}
case 9:
{
unappear_duel[id] = true
choose_enemy(id)
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
/*================================================================================
Menu of challenges
=================================================================================*/
public choose_enemy(id)
{
static opcion[64]
formatex(opcion, charsmax(opcion),"\y%L:", id, "CHOOSE_ENEMY")
new iMenu = menu_create(opcion, "sub_choose_enemy")
new players[32], pnum, tempid
new szName[32], szTempid[10]
get_players(players, pnum, "a")
for( new i; i<pnum; i++ )
{
tempid = players[i]
if (get_cvar_num("JbMod") == 1)
if (cs_get_user_team(tempid) != CS_TEAM_CT)
{
continue
}
get_user_name(tempid, szName, 31)
num_to_str(tempid, szTempid, 9)
menu_additem(iMenu, szName, szTempid, 0)
}
menu_display(id, iMenu)
return PLUGIN_HANDLED
}
public sub_choose_enemy(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new Data[6], Name[64]
new Access, Callback
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback)
new tempid = str_to_num(Data)
new mapname[32], challenger[32], challenged[32], ct_origin[3], te_origin[3]
get_mapname(mapname,31)
get_user_name(id, challenger, 31)
get_user_name(tempid, challenged, 31)
// strip weapons
strip_user_weapons(id)
strip_user_weapons(tempid)
// health
set_user_health(id, 100)
set_user_health(tempid, 100)
// player challenged
player_challenged[tempid] = true
// lr menu once until he kills the player challenged
once[id] = true
// unable pick up weapon (only the 2 players on duel)
touch_weapons[id] = true
touch_weapons[tempid] = true
if(knife_duel[id])
{
give_item(id, "weapon_knife")
give_item(tempid, "weapon_knife")
set_user_rendering(id, kRenderFxGlowShell, 250, 0, 0, kRenderNormal, 20)
set_user_rendering(tempid, kRenderFxGlowShell, 0, 0, 250, kRenderNormal, 20)
new ent = -1
while((ent = fm_find_ent_by_class(ent, "func_door")))
{
dllfunc(DLLFunc_Use, ent, 0)
if(equali(mapname,"some1s_jailbreak"))
{
ct_origin[0] = -759, ct_origin[1] = 1047, ct_origin[2] = 100
te_origin[0] = -585, te_origin[1] = 867, te_origin[2] = 100
set_user_origin(id,te_origin)
set_user_origin(tempid,ct_origin)
}
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%L",LANG_PLAYER,"KNIFE_DUEL", challenger, challenged)
}
}
else if(deagle_duel[id])
{
deagle_duel[tempid] = true
cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 1)
cs_set_weapon_ammo(give_item(tempid, "weapon_deagle"), 1)
set_user_rendering(id, kRenderFxGlowShell, 250, 0, 0, kRenderNormal, 20)
set_user_rendering(tempid, kRenderFxGlowShell, 0, 0, 250, kRenderNormal, 20)
new ent = -1
while((ent = fm_find_ent_by_class(ent, "func_door")))
{
dllfunc(DLLFunc_Use, ent, 0)
if(equali(mapname,"some1s_jailbreak"))
{
ct_origin[0] = -1352, ct_origin[1] = 271, ct_origin[2] = 38
te_origin[0] = -1338, te_origin[1] = -782, te_origin[2] = 38
set_user_origin(id,te_origin)
set_user_origin(tempid,ct_origin)
}
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%L", LANG_PLAYER,"DEAGLE_DUEL", challenger, challenged)
}
}
else if(grenade_duel[id])
{
give_item(id, "weapon_hegrenade")
give_item(tempid, "weapon_hegrenade")
cs_set_user_bpammo(id, CSW_HEGRENADE,get_pcvar_num(cvar_granadas_bpammo))
cs_set_user_bpammo(tempid, CSW_HEGRENADE,get_pcvar_num(cvar_granadas_bpammo))
set_user_rendering(id, kRenderFxGlowShell, 250, 0, 0, kRenderNormal, 20)
set_user_rendering(tempid, kRenderFxGlowShell, 0, 0, 250, kRenderNormal, 20)
new ent = -1
while((ent = fm_find_ent_by_class(ent, "func_door")))
{
dllfunc(DLLFunc_Use, ent, 0)
if(equali(mapname,"some1s_jailbreak"))
{
ct_origin[0] = -1756, ct_origin[1] = -2526, ct_origin[2] = 36
te_origin[0] = -3020, te_origin[1] = -2529, te_origin[2] = 36
set_user_origin(id,te_origin)
set_user_origin(tempid,ct_origin)
}
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%L", LANG_PLAYER,"GRENADE_DUEL", challenger, challenged)
}
}
else if(scout_duel[id])
{
give_item(id, "weapon_scout")
give_item(tempid, "weapon_scout")
cs_set_user_bpammo(id, CSW_SCOUT, get_pcvar_num(cvar_scout_bpammo))
cs_set_user_bpammo(tempid, CSW_SCOUT, get_pcvar_num(cvar_scout_bpammo))
set_user_health(id, 650)
set_user_health(tempid, 650)
set_user_rendering(id, kRenderFxGlowShell, 250, 0, 0, kRenderNormal, 20)
set_user_rendering(tempid, kRenderFxGlowShell, 0, 0, 250, kRenderNormal, 20)
new ent = -1
while((ent = fm_find_ent_by_class(ent, "func_door")))
{
dllfunc(DLLFunc_Use, ent, 0)
if(equali(mapname,"some1s_jailbreak"))
{
ct_origin[0] = -2898, ct_origin[1] = -2040, ct_origin[2] = 37
te_origin[0] = -2908, te_origin[1] = 905, te_origin[2] = 37
set_user_origin(id,te_origin)
set_user_origin(tempid,ct_origin)
}
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%L", LANG_PLAYER,"SCOUT_DUEL", challenger, challenged)
}
}
else if(deagle_toss[id])
{
cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 0)
cs_set_weapon_ammo(give_item(tempid, "weapon_deagle"), 0)
give_item(id, "weapon_knife")
give_item(tempid, "weapon_knife")
set_user_rendering(id, kRenderFxGlowShell, 250, 0, 0, kRenderNormal, 20)
set_user_rendering(tempid, kRenderFxGlowShell, 0, 0, 250, kRenderNormal, 20)
new ent = -1
while((ent = fm_find_ent_by_class(ent, "func_door")))
{
dllfunc(DLLFunc_Use, ent, 0)
if(equali(mapname,"some1s_jailbreak"))
{
ct_origin[0] = -1352, ct_origin[1] = 271, ct_origin[2] = 38
te_origin[0] = -1338, te_origin[1] = -782, te_origin[2] = 38
set_user_origin(id,te_origin)
set_user_origin(tempid,ct_origin)
}
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%L", LANG_PLAYER,"DEAGLE_TOSS", challenger, challenged)
}
}
else if(spray_duel[id])
{
give_item(id, "weapon_knife")
give_item(tempid, "weapon_knife")
set_user_rendering(id, kRenderFxGlowShell, 250, 0, 0, kRenderNormal, 20)
set_user_rendering(tempid, kRenderFxGlowShell, 0, 0, 250, kRenderNormal, 20)
new ent = -1
while((ent = fm_find_ent_by_class(ent, "func_door")))
{
dllfunc(DLLFunc_Use, ent, 0)
if(equali(mapname,"some1s_jailbreak"))
{
ct_origin[0] = -1352, ct_origin[1] = 271, ct_origin[2] = 38
te_origin[0] = -1338, te_origin[1] = -782, te_origin[2] = 38
set_user_origin(id,te_origin)
set_user_origin(tempid,ct_origin)
}
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%L", LANG_PLAYER,"SPRAY_DUEL", challenger, challenged)
}
}
else if(crazy_terro[id])
{
/* Terro */
give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 90)
give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 90)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id, "weapon_knife")
set_user_health(id, 1)
/* EnEmey */
give_item(tempid, "weapon_usp")
cs_set_user_bpammo(tempid, CSW_USP, 100)
/* Render */
set_user_rendering(id, kRenderFxGlowShell, 250, 0, 0, kRenderNormal, 20)
set_user_rendering(tempid, kRenderFxGlowShell, 0, 0, 250, kRenderNormal, 20)
new ent = -1
while((ent = fm_find_ent_by_class(ent, "func_door")))
{
dllfunc(DLLFunc_Use, ent, 0)
if(equali(mapname,"some1s_jailbreak"))
{
ct_origin[0] = -1352, ct_origin[1] = 271, ct_origin[2] = 38
te_origin[0] = -1338, te_origin[1] = -782, te_origin[2] = 38
set_user_origin(id,te_origin)
set_user_origin(tempid,ct_origin)
}
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%L", LANG_PLAYER,"CRAZY_TERRO", challenger, challenged)
}
}
else if(clip_duel[id])
{
give_item(id, "weapon_knife")
set_user_noclip(id, 1)
give_item(tempid, "weapon_m4a1")
cs_set_user_bpammo(tempid, CSW_M4A1, 30)
set_user_rendering(id, kRenderFxGlowShell, 250, 0, 0, kRenderNormal, 20)
set_user_rendering(tempid, kRenderFxGlowShell, 0, 0, 250, kRenderNormal, 20)
new ent = -1
while((ent = fm_find_ent_by_class(ent, "func_door")))
{
dllfunc(DLLFunc_Use, ent, 0)
if(equali(mapname,"some1s_jailbreak"))
{
ct_origin[0] = -1352, ct_origin[1] = 271, ct_origin[2] = 38
te_origin[0] = -1338, te_origin[1] = -782, te_origin[2] = 38
set_user_origin(id,te_origin)
set_user_origin(tempid,ct_origin)
}
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%L", LANG_PLAYER,"NOCLIP_DUEL", challenger, challenged)
}
}
else if(unappear_duel[id])
{
give_item(id, "weapon_knife")
/* Enemy Guns */
give_item(tempid, "weapon_m4a1")
cs_set_user_bpammo(tempid, CSW_M4A1, 255)
give_item(tempid, "weapon_ak47")
cs_set_user_bpammo(tempid, CSW_AK47, 255)
give_item(tempid, "weapon_m249")
cs_set_user_bpammo(tempid, CSW_M249, 255)
give_item(tempid, "weapon_knife")
/* Render */
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderGlow, 0)
set_user_rendering(tempid, kRenderFxGlowShell, 0, 0 , 255, kRenderNormal, 40)
new ent = -1
while((ent = fm_find_ent_by_class(ent, "func_door")))
{
dllfunc(DLLFunc_Use, ent, 0)
if(equali(mapname,"some1s_jailbreak"))
{
ct_origin[0] = -1352, ct_origin[1] = 271, ct_origin[2] = 38
te_origin[0] = -1338, te_origin[1] = -782, te_origin[2] = 38
set_user_origin(id,te_origin)
set_user_origin(tempid,ct_origin)
}
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%L", LANG_PLAYER,"UNAPPEAR_DUEL", challenger, challenged)
}
}
duel_active = true
menu_destroy(menu)
return PLUGIN_HANDLED
}
public beacon(id)
{
if (get_cvar_num("JbMod") == 1)
if(cs_get_user_team(id) == CS_TEAM_CT)
{
static origin[3]
get_user_origin(id, origin)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_BEAMCYLINDER) // TE id
write_coord(origin[0]) // x
write_coord(origin[1]) // y
write_coord(origin[2]-20) // z
write_coord(origin[0]) // x axis
write_coord(origin[1]) // y axis
write_coord(origin[2]+200) // z axis
write_short(beacon_sprite) // sprite
write_byte(0) // startframe
write_byte(1) // framerate
write_byte(6) // life
write_byte(2) // width
write_byte(1) // noise
write_byte(0) // red
write_byte(0) // green
write_byte(250) // blue
write_byte(200) // brightness
write_byte(0) // speed
message_end()
}
else
{
static origin[3]
get_user_origin(id, origin)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_BEAMCYLINDER) // TE id
write_coord(origin[0]) // x
write_coord(origin[1]) // y
write_coord(origin[2]-20) // z
write_coord(origin[0]) // x axis
write_coord(origin[1]) // y axis
write_coord(origin[2]+200) // z axis
write_short(beacon_sprite) // sprite
write_byte(0) // startframe
write_byte(1) // framerate
write_byte(6) // life
write_byte(2) // width
write_byte(1) // noise
write_byte(250) // red
write_byte(0) // green
write_byte(0) // blue
write_byte(200) // brightness
write_byte(0) // speed
message_end()
}
set_task(1.0, "beacon", id)
}
/*================================================================================
Stocks
=================================================================================*/
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
if (id) players[0] = id
else get_players(players, count, "ch")
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
/* End lr */
/* Menu Duel */
public Gmenu(id)
{
/* Menu Duel */
/* Use menu_display(id, mDuel, 0) to show the menu to an user. */
mDuel = menu_create("% Choose Weapons %", "mh_Duel")
menu_additem(mDuel, "M4a1", "1")
menu_additem(mDuel, "Ak47", "2")
menu_additem(mDuel, "AWP", "3")
menu_additem(mDuel, "Scout", "4")
menu_additem(mDuel, "Mp5", "5")
/* Display Menu */
if (get_cvar_num("JbMod") == 1)
if(cs_get_user_team(id) == CS_TEAM_CT)
if(is_user_alive(id))
{
menu_display(id, mDuel, 0)
}
return PLUGIN_CONTINUE
}
public mh_Duel(id, menu, item)
{
/* This event is called when someone presses a key on this menu */
switch( item )
{
case 0:
{
strip_user_weapons(id)
give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 90)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id, "weapon_knife")
}
case 1:
{
strip_user_weapons(id)
give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 90)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id, "weapon_knife")
}
case 2:
{
strip_user_weapons(id)
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 30)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id, "weapon_knife")
}
case 3:
{
strip_user_weapons(id)
give_item(id, "weapon_scout")
cs_set_user_bpammo(id, CSW_SCOUT, 90)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id, "weapon_knife")
}
case 4:
{
strip_user_weapons(id)
give_item(id, "weapon_mp5navy")
cs_set_user_bpammo(id, CSW_MP5NAVY, 120)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id, "weapon_knife")
}
}
return PLUGIN_HANDLED
}
///////////////
/* BOxing */
////////////////
public boxing(id)
{
if(cs_get_user_team(id) == CS_TEAM_T)
{
green_print(id, "%s Your Not a Gaurd!")
}
else
if (get_cvar_num("JbMod") == 1)
if(cs_get_user_team(id) == CS_TEAM_CT)
if(is_user_alive(id))
if(get_cvar_num("mp_friendlyfire") == 0)
{
set_cvar_num("mp_friendlyfire", 1)
new name[32]
get_user_name(id, name, 31)
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(0, "%s : Has Enabled Box", name)
}
else
if(cs_get_user_team(id) == CS_TEAM_CT)
if(is_user_alive(id))
if(get_cvar_num("mp_friendlyfire") == 1)
{
set_cvar_num("mp_friendlyfire", 0)
new name[32]
get_user_name(id, name, 31)
set_hudmessage(0, 0, 255, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(0, "%s : Has Disabled Box", name)
}
return PLUGIN_HANDLED
}
stock green_print(index, const message[])
{
new Gmsg[192]
formatex(Gmsg, 191, "^x04|ECA| ^x01%s", message)
message_begin(MSG_ONE, LANG_SERVER, _, index)
write_byte(index)
write_string(Gmsg)
message_end()
}