PHP Code:
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
#include <engine>
#include <fun>
// Sobre cvars
new glow_on, player
new bool:g_iMaxPlayers, g_iSyncHud, g_msgCurWeapon
new glow_green
// Arma
new VIEW_MODEL[] = "models/boxing_mod/v_knife.mdl"
new PLAYER_MODEL[] = "models/boxing_mod/p_knife.mdl"
new const boxing_sounds[][] =
{
"boxing_sound/boxing_deploy1.wav",
"boxing_sound/boxing_hit1.wav",
"boxing_sound/boxing_hit2.wav",
"boxing_sound/boxing_hit3.wav",
"boxing_sound/boxing_hit4.wav",
"boxing_sound/boxing_hitwall1.wav",
"boxing_sound/boxing_slash1.wav",
"boxing_sound/boxing_slash2.wav",
"boxing_sound/boxing_stab.wav"
}
new const oldknife_sounds[][] =
{
"weapons/knife_deploy1.wav", // Deploy Sound
"weapons/knife_hit1.wav", // Hit 1
"weapons/knife_hit2.wav", // Hit 2
"weapons/knife_hit3.wav", // Hit 3
"weapons/knife_hit4.wav", // Hit 4
"weapons/knife_hitwall1.wav", // Hit Wall
"weapons/knife_slash1.wav", // Slash 1
"weapons/knife_slash2.wav", // Slash 2
"weapons/knife_stab.wav" // Stab
}
new const CVAR_BOXING_MOD[] = "amx_boxing";
public plugin_init()
{
// Plugin info
register_plugin("Boxing Mod", "1.5", "Zapdos1")
// Cvars
register_cvar(CVAR_BOXING_MOD , "1");
//Glow Cvar
glow_on = register_cvar("glow_enable", "1")
glow_green = register_cvar("glow_green", "100")
//Menu del mod
register_clcmd("say /boxmenu", "abrir_menu")
register_clcmd("say boxmenu", "abrir_menu")
register_clcmd("say_team /boxmenu", "abrir_menu")
register_clcmd("say_team boxmenu", "abrir_menu")
set_task(100.0, "mensaje_menu")
// Lang
register_dictionary("boxing.txt")
// Events
register_event("CurWeapon", "event_CurWeapon", "be","1=1")
register_event("HLTV", "event_RoundStart", "a", "1=0", "2=0")
// Ham fwd
RegisterHam(Ham_Spawn, "player", "skill", 1)
// Fakemeta fwds.
register_forward(FM_EmitSound, "fw_EmitSound")
// Cached vars
g_iMaxPlayers = get_maxplayers() // Line 112
g_iSyncHud = CreateHudSyncObj()
g_msgCurWeapon = get_user_msgid("CurWeapon")
}
public plugin_precache()
{
precache_model(VIEW_MODEL)
precache_model(PLAYER_MODEL)
for(new i = 0; i < sizeof boxing_sounds; i++)
precache_sound(boxing_sounds[i])
}
public event_RoundStart()
{
if(get_cvar_num(CVAR_BOXING_MOD))
// Hud message
set_hudmessage(255, 255, 255, -1.0, -1.0, 0, 6.0, 12.0)
ShowSyncHudMsg(0, g_iSyncHud, "[CS Boxing] - Have Fun!!!") // Line 133
//Mensaje
client_print(0, print_chat, "[AMXX] %L", LANG_PLAYER, "WELCOME_MESSAGE");
client_print(0, print_chat, "[AMXX] %L", LANG_PLAYER, "CREDIT_MESSAGE")
for(new i = 1; i <= g_iMaxPlayers; i++) // Line 139
{
if(is_user_connected(i))
reset_user_knife(i)
}
}
public event_CurWeapon(id)
{
if(get_cvar_num(CVAR_BOXING_MOD))
{
new weaponID = read_data(2)
if(weaponID == CSW_KNIFE)
{
entity_set_string(id, EV_SZ_viewmodel, VIEW_MODEL)
entity_set_string(id, EV_SZ_weaponmodel, PLAYER_MODEL)
}
else
reset_user_knife(id)
}
}
public fw_EmitSound(id, channel, const sound[])
{
if(get_cvar_num(CVAR_BOXING_MOD))
for(new i = 0; i < sizeof boxing_sounds; i++)
{
if(equal(sound, oldknife_sounds[i]))
{
emit_sound(id, channel, boxing_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
}
return FMRES_IGNORED
}
public Glow(id)
{
static green; green = get_pcvar_num(glow_green)
set_user_rendering(player, kRenderFxGlowShell, 0, green, 0, kRenderNormal, 20)
}
stock reset_user_knife(id)
{
engclient_cmd(id, "weapon_knife")
emessage_begin(MSG_ONE, g_msgCurWeapon, _, id)
ewrite_byte(1)
ewrite_byte(CSW_KNIFE)
ewrite_byte(-1)
emessage_end()
}
public skill(id)
{
if(get_cvar_num(CVAR_BOXING_MOD))
{
if(is_user_alive(id))
{
switch(get_user_frags(id))
{
case 3:
{
set_hudmessage(210, 210, 210, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(id, "Level 1!")
}
case 6:
{
set_hudmessage(212, 212, 255, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(id, "Level 2!")
}
case 9:
{
set_hudmessage(127, 255, 170, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(id, "Level 3!")
}
case 12:
{
set_hudmessage(255, 212, 127, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(id, "Level 4!")
}
case 15:
{
set_hudmessage(85, 212, 255, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(id, "Level 5!")
}
case 18:
{
set_hudmessage(0, 127, 255, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(id, "Level 6!")
}
case 21:
{
set_hudmessage(170, 255, 255, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(id, "LEVEL 7!!!!")
if(get_pcvar_num(glow_on))
{
Glow(id)
}
}
}
}
}
}
public abrir_menu(id)
{
if(get_cvar_num(CVAR_BOXING_MOD))
{
new Menu = menu_create("\yBoxing Menu", "mostrar_menu")
menu_additem(Menu, "\wHealth 150 - Need Level 1" , "1", 0)
menu_additem(Menu, "\rArmor 150 - Need Level 2" , "2", 0)
menu_additem(Menu, "\yGravity - Need Level 4" , "3", 0)
menu_additem(Menu, "\yFaster Speed - Need Level 7" , "4", 0)
menu_setprop(Menu,MPROP_EXITNAME,"Exit")
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu, 0)
}
}
public mostrar_menu(id, Menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(Menu)
return PLUGIN_HANDLED
}
new iData[6];
new iAccess;
new iCallback;
new iName[64];
menu_item_getinfo(Menu, item, iAccess, iData, 5, iName, 63, iCallback)
switch (str_to_num(iData))
{
case 1:
{
if(get_user_frags(id) >= 3)
{
set_user_health(id, get_user_health(id) + 150)
}
else
{
client_print(id, print_chat, "You are not level 1")
}
}
case 2:
{
if(get_user_frags(id) >= 6)
{
set_user_armor(id, get_user_armor(id) + 150)
}
else
{
client_print(id, print_chat, "You are not level 2")
}
}
case 3:
{
if(get_user_frags(id) >= 12)
{
set_user_gravity(id, get_user_gravity(id) - 0.5)
}
else
{
client_print(id, print_chat, "You are not level 4")
}
}
case 4:
{
if(get_user_frags(id) >= 21)
{
set_user_maxspeed(id, 270.0)
}
else
{
client_print(id, print_chat, "You are not level 7")
}
}
}
return PLUGIN_HANDLED
}
public mensaje_menu(index)
{
client_print(0, print_chat, "\r[AMXX] %L", LANG_PLAYER, "MENU_MESSAGE")
}