Code:
#pragma semicolon 1
#pragma ctrlchar '\'
new VERSION[4] =
{
49, 46, 48, 0
}
new Float:g_TotemPoleDelay[33];
new has_used[33];
new g_vipflag = 32768;
new bool:blockrevive[33];
new opens[33];
new u_knife[33];
new blockopens[33];
new blockspechmenu[33];
new knifespeed[33];
new blockknife[33];
new blocklight[33];
new blocklov[33];
new traps[33];
new block;
new hp;
new armor;
new speed;
new money;
new gravity;
new blockspech;
new exploSpr;
new blocklights;
new blocklovy;
new g_lighton;
new maxPlayers;
new g_ScreenFade;
bool:operator>(Float:,Float:)(Float:oper1, Float:oper2)
{
return 0 < floatcmp(oper1, oper2);
}
bool:operator<(Float:,Float:)(Float:oper1, Float:oper2)
{
return 0 > floatcmp(oper1, oper2);
}
replace_all(String:string[], len, String:what[], String:with[])
{
new pos = 0;
new var1 = contain(string, what);
pos = var1;
if (var1 == -1)
{
return 0;
}
new total = 0;
new with_len = strlen(with);
new diff = strlen(what) - with_len;
new total_len = strlen(string);
new temp_pos = 0;
while (replace(string[pos], len - pos, what, with))
{
total++;
pos = with_len + pos;
total_len -= diff;
if (pos >= total_len)
{
return total;
}
else
{
temp_pos = contain(string[pos], what);
if (temp_pos == -1)
{
return total;
}
else
{
pos = temp_pos + pos;
}
return total;
}
return total;
}
return total;
}
public __fatal_ham_error(Ham:id, HamError:err, String:reason[])
{
!!! Removed Phi
if (func != -1 && callfunc_begin_i(func, -1) == 1)
{
callfunc_push_int(id);
callfunc_push_int(err);
callfunc_push_str(reason, false);
if (callfunc_end() == 1)
{
fail = 0;
}
}
if (fail)
{
set_fail_state(reason);
}
return 0;
}
remove_entity_name(String:eName[])
{
new iEntity = find_ent_by_class(-1, eName);
while (0 < iEntity)
{
remove_entity(iEntity);
iEntity = find_ent_by_class(-1, eName);
}
return 1;
}
public plugin_init()
{
register_plugin("SuperVIP Menu", "1.0", "NooTy^^");
register_clcmd("vip_menu_zona", "open_vipmenu", -1, "", -1);
register_clcmd("say /svipmenu", "open_vipmenu", -1, "", -1);
register_clcmd("say /svips", "ShowVipsOnline", 0, "Show Vips Online", -1);
block = register_cvar("jb_vipmenu_blockopens", "10", 0, 0.00);
blockspech = register_cvar("jb_vipmenu_blockspech", "5", 0, 0.00);
blocklights = register_cvar("jb_vipmenu_blocklight", "15", 0, 0.00);
blocklovy = register_cvar("jb_vipmenu_blocklovyshka", "10", 0, 0.00);
hp = register_cvar("jb_vipmenu_hp", "170", 0, 0.00);
armor = register_cvar("jb_vipmenu_armor", "130", 0, 0.00);
speed = register_cvar("jb_vipmenu_speed", "500.0", 0, 0.00);
gravity = register_cvar("jb_vipmenu_gravity", "0.4", 0, 0.00);
money = register_cvar("jb_vipmenu_money", "16000", 0, 0.00);
RegisterHam(Ham_TraceAttack, "func_door_rotating", "open_door", 0);
RegisterHam(Ham_TraceAttack, "func_door", "open_door", 0);
register_event("CurWeapon", "Event_CurWeapon", "be", "1=1");
register_event("CurWeapon", "switchweapon", "be", "1=1", "2!29");
register_logevent("event_new_round", 2, "1=Round_Start");
register_forward(FM_EmitSound, "fw_EmitSound", 0);
RegisterHam(Ham_Spawn, "player", "Spawn_player", 1);
RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage", 0);
register_event("ResetHUD", "ResetHUD", "abe", "");
register_message(get_user_msgid("ScoreAttrib"), "VipStatus");
g_ScreenFade = get_user_msgid("ScreenFade");
register_dictionary("vipmenu.txt");
maxPlayers = get_maxplayers();
return 0;
}
public Spawn_player(id)
{
!!! Removed Phi
if (is_user_alive(id) && is_user_connected(id))
{
blockrevive[id] = 0;
blockknife[id] = 0;
blockspechmenu[id]--;
blockopens[id]--;
blocklight[id]--;
blocklov[id]--;
u_knife[id] = 0;
}
return 0;
}
public event_new_round()
{
arrayset("", 0, 33);
return 0;
}
public plugin_precache()
{
precache_model("models/PalestineJB_SVIP/v_axe.mdl");
precache_model("models/PalestineJB_SVIP/v_hammer.mdl");
precache_model("models/PalestineJB_SVIP/v_stik.mdl");
precache_model("models/PalestineJB_SVIP/v_knifevip.mdl");
precache_model("models/PalestineJB_SVIP/v_stap.mdl");
precache_model("models/PalestineJB_SVIP/p_axe.mdl");
precache_model("models/PalestineJB_SVIP/p_hammer.mdl");
precache_model("models/PalestineJB_SVIP/p_stik.mdl");
precache_model("models/PalestineJB_SVIP/p_knifevip.mdl");
precache_model("models/PalestineJB_SVIP/p_stap.mdl");
precache_model("models/JbVipMenu/trap/trap.mdl");
precache_sound("JbVipMenu/hammer/knife_slash1_off.wav");
precache_sound("JbVipMenu/hammer/hit2.wav");
precache_sound("JbVipMenu/hammer/hit1.wav");
precache_sound("JbVipMenu/hammer/knifedeploy.wav");
precache_sound("JbVipMenu/hammer/knife_stab123.wav");
precache_sound("JbVipMenu/strong/knife_slash1.wav");
precache_sound("JbVipMenu/strong/knife_hit1.wav");
precache_sound("JbVipMenu/strong/knife_hit2.wav");
precache_sound("JbVipMenu/strong/knife_stab.wav");
precache_sound("JbVipMenu/strong/knife_deploy1.wav");
precache_sound("JbVipMenu/strong/frostnova.wav");
precache_sound("JbVipMenu/axe/knife_slash1.wav");
precache_sound("JbVipMenu/axe/knife_hit1.wav");
precache_sound("JbVipMenu/axe/knife_hit2.wav");
precache_sound("JbVipMenu/axe/knife_stab.wav");
precache_sound("JbVipMenu/axe/knife_deploy1.wav");
precache_sound("JbVipMenu/m9co/knife_slash1.wav");
precache_sound("JbVipMenu/m9co/knife_hit1.wav");
precache_sound("JbVipMenu/m9co/knife_hit2.wav");
precache_sound("JbVipMenu/m9co/knife_stab.wav");
precache_sound("JbVipMenu/m9co/knife_deploy1.wav");
precache_sound("JbVipMenu/Skull/knife_wall.wav");
precache_sound("JbVipMenu/Skull/knife_draw.wav");
precache_sound("JbVipMenu/Skull/knife_hit.wav");
precache_sound("JbVipMenu/Skull/knife_hit.wav");
precache_sound("JbVipMenu/Skull/knife_miss.wav");
precache_sound("JbVipMenu/trap/trap.wav");
exploSpr = precache_model("sprites/shockwave.spr");
return 0;
}
ChatColor(id, String:input[])
{
new count = 1;
new players[32];
static msg[191];
vformat(msg, 190, input, 3);
replace_all(msg, 190, "!g", "\4");
replace_all(msg, 190, "!y", "\1");
replace_all(msg, 190, "!team", "\3");
if (id)
{
players[0] = id;
}
else
{
get_players(players, count, "ch", "");
}
new i = 0;
while (i < count)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), 10004, players[i]);
write_byte(players[i]);
write_string("");
message_end();
i++;
}
i++;
}
return 0;
}
public ResetHUD(id)
{
knifeblock(id);
return 0;
}
public knifeblock(id)
{
!!! Removed Phi
new ts = 0;
new i = 0;
while (get_maxplayers() >= i)
{
if (is_user_alive(i) && get_user_team(i, var2, 0) == 1)
{
ts++;
i++;
}
i++;
}
if (ts == 1)
{
u_knife[id] = 0;
}
return 0;
}
bool:is_user_vip(id)
{
!!! Removed Phi
if (id < 0 || id > 32)
{
return false;
}
if (!g_vipflag & get_user_flags(id, 0))
{
return false;
}
return true;
}
public Event_CurWeapon(player)
{
!!! Removed Phi
if (!u_knife[player][0][0])
{
return 0;
}
if (!is_user_vip(player) || !is_user_alive(player))
{
return 0;
}
if (read_data(2) == 29 && u_knife[player][0][0] == 1)
{
set_pev(player, pev_viewmodel2, "models/PalestineJB_SVIP/v_stik.mdl");
set_pev(player, pev_weaponmodel2, "models/PalestineJB_SVIP/p_stik.mdl");
}
if (read_data(2) == 29 && u_knife[player][0][0] == 2)
{
set_pev(player, pev_viewmodel2, "models/PalestineJB_SVIP/v_stap.mdl");
set_pev(player, pev_weaponmodel2, "models/PalestineJB_SVIP/p_stap.mdl");
}
if (read_data(2) == 29 && u_knife[player][0][0] == 3)
{
set_pev(player, pev_viewmodel2, "models/PalestineJB_SVIP/v_hammer.mdl");
set_pev(player, pev_weaponmodel2, "models/PalestineJB_SVIP/p_hammer.mdl");
}
if (read_data(2) == 29 && u_knife[player][0][0] == 4)
{
set_pev(player, pev_viewmodel2, "models/PalestineJB_SVIP/v_knifevip.mdl");
set_pev(player, pev_weaponmodel2, "models/PalestineJB_SVIP/p_knifevip.mdl");
}
if (read_data(2) == 29 && u_knife[player][0][0] == 5)
{
set_pev(player, pev_viewmodel2, "models/PalestineJB_SVIP/v_axe.mdl");
set_pev(player, pev_weaponmodel2, "models/PalestineJB_SVIP/p_axe.mdl");
}
return 0;
}
public open_vipmenu(id)
{
if (1 < has_used[id][0][0])
{
ChatColor(id, "!g[!teamPalestine JB!g] !yYou've already used the svipmenu 2 times in this round.");
return 1;
}
if (!is_user_vip(id))
{
ChatColor(id, "%L", 0, "NO_ASSES");
return 1;
}
new szText[139];
formatex(szText, 138, "\yPalestine JB \r| \wSuper Vip Menu", id, "MAIN_MENU_TITLE");
new menu = menu_create(szText, "vipmenu_handler", 0);
formatex(szText, 138, "\wKnives", id, "ITEM_1");
menu_additem(menu, szText, "1", 0, -1);
formatex(szText, 138, "\rHP Package", id, "ITEM_4");
menu_additem(menu, szText, "2", 0, -1);
formatex(szText, 138, "\yDrug", id, "ITEM_5");
menu_additem(menu, szText, "3", 0, -1);
formatex(szText, 138, "\wBombe Package", id, "ITEM_6");
menu_additem(menu, szText, "4", 0, -1);
formatex(szText, 138, "\rGravity", id, "ITEM_7");
menu_additem(menu, szText, "5", 0, -1);
formatex(szText, 138, "\yAmmunition", id, "ITEM_8");
menu_additem(menu, szText, "6", 0, -1);
formatex(szText, 138, "\wSpeed", id, "ITEM_9");
menu_additem(menu, szText, "7", 0, -1);
menu_setprop(menu, 6, 1);
menu_setprop(menu, 3, "[Next]");
menu_setprop(menu, 2, "[Back]");
menu_setprop(menu, 4, "[Exit]");
menu_display(id, menu, 0);
return 2;
}
public vipmenu_handler(id, menu, item)
{
if (item == -3)
{
menu_destroy(menu);
return 1;
}
has_used[id]++;
new data[6];
new iName[64];
new access = 0;
new callback = 0;
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))
{
weapon(id);
ChatColor(id, "%L", 0, "WEAPONS");
}
else
{
ChatColor(id, "%L", 0, "YOUR_DEAD");
}
}
case 2:
{
if (is_user_alive(id))
{
set_user_health(id, get_pcvar_num(hp));
set_user_armor(id, get_pcvar_num(armor));
ChatColor(id, "%L", 0, "HP_AR");
}
else
{
ChatColor(id, "%L", 0, "YOUR_DEAD");
}
}
case 3:
{
if (is_user_alive(id))
{
message_begin(MSG_ONE, get_user_msgid("SetFOV"), 12960, id);
write_byte(180);
message_end();
ChatColor(id, "%L", 0, "NARK");
}
else
{
ChatColor(id, "%L", 0, "YOUR_DEAD");
}
}
case 4:
{
if (is_user_alive(id))
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
ChatColor(id, "%L", 0, "GRENADE");
}
else
{
ChatColor(id, "%L", 0, "YOUR_DEAD");
}
}
case 5:
{
if (is_user_alive(id))
{
set_user_gravity(id, get_pcvar_float(gravity));
ChatColor(id, "%L", 0, "GRAVITY");
}
else
{
ChatColor(id, "%L", 0, "YOUR_DEAD");
}
}
case 6:
{
if (is_user_alive(id))
{
cs_set_user_bpammo(id, CSW_AK47, 5000);
cs_set_user_bpammo(id, CSW_USP, 5000);
cs_set_user_bpammo(id, CSW_AWP, 5000);
cs_set_user_bpammo(id, CSW_DEAGLE, 5000);
cs_set_user_bpammo(id, CSW_M249, 5000);
cs_set_user_bpammo(id, CSW_FAMAS, 5000);
cs_set_user_bpammo(id, CSW_GALI, 5000);
cs_set_user_bpammo(id, CSW_GLOCK18, 5000);
cs_set_user_bpammo(id, CSW_XM1014, 5000);
cs_set_user_bpammo(id, CSW_MP5NAVY, 5000);
cs_set_user_bpammo(id, CSW_M4A1, 5000);
ChatColor(id, "%L", 0, "AMMO");
}
else
{
ChatColor(id, "%L", 0, "YOUR_DEAD");
}
}
case 7:
{
if (is_user_alive(id))
{
set_user_maxspeed(id, get_pcvar_float(speed));
ChatColor(id, "%L", 0, "SPEED");
}
else
{
ChatColor(id, "%L", 0, "YOUR_DEAD");
}
}
default:
{
}
}
return 1;
}
public open_door(this, idattacker, Float:damage, Float:direction[3], tracehandle, damagebits)
{
new var2 = opens;
new var1;
if (var2[idattacker][0][0])
{
dllfunc(DLLFunc_Use, this, idattacker);
new var3 = opens[idattacker];
var3 = 0;
var1 = var3;
}
else
{
var1 = var2;
}
return 0;
}
public weapon(id)
{
!!! Removed Phi
if (get_user_team(id, var3, 0) == 1 && get_user_flags(id, 0) & 64)
{
formatex(szText, 138, "%L", id, "WEAPON_ITEM_1_3");
menu_additem(menu, szText, "2", 16777216, -1);
}
else
{
if (get_user_flags(id, 0) & 64 && get_user_team(id, var4, 0) == 2)
{
if (0 >= blockspechmenu[id][0][0])
{
formatex(szText, 138, "%L", id, "WEAPON_ITEM_1");
menu_additem(menu, szText, "1", 0, -1);
}
else
{
formatex(szText, 138, "%L", id, "WEAPON_ITEM_1_1", blockspechmenu[id]);
menu_additem(menu, szText, "1", 16777216, -1);
}
}
formatex(szText, 138, "%L", id, "WEAPON_ITEM_1_2");
menu_additem(menu, szText, "1", 16777216, -1);
}
if (!blockknife[id][0][0])
{
formatex(szText, 138, "%L", id, "WEAPON_ITEM_2");
menu_additem(menu, szText, "2", 0, -1);
}
else
{
formatex(szText, 138, "%L", id, "WEAPON_ITEM_2_1");
menu_additem(menu, szText, "2", 16777216, -1);
}
menu_display(id, menu, 0);
menu_setprop(menu, 6, 1);
menu_setprop(menu, 3, "[Next]");
menu_setprop(menu, 2, "[Back]");
menu_setprop(menu, 4, "[Exit]");
return 0;
}
public weapon_handler(id, menu, item)
{
if (item == -3)
{
menu_destroy(menu);
return 1;
}
new data[6];
new iName[64];
new access = 0;
new callback = 0;
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);
new key = str_to_num(data);
switch (key)
{
case 1:
{
weaponct(id);
}
case 2:
{
knifeweapon(id);
}
default:
{
}
}
return 0;
}
public weaponct(id)
{
new szText[139];
formatex(szText, 138, "%L", id, "MENU_CPES_TITLE");
new menu = menu_create(szText, "weaponct_handler", 0);
formatex(szText, 138, "%L", id, "CPES_ITEM_1");
menu_additem(menu, szText, "1", 0, -1);
formatex(szText, 138, "%L", id, "CPES_ITEM_2");
menu_additem(menu, szText, "2", 0, -1);
formatex(szText, 138, "%L", id, "CPES_ITEM_3");
menu_additem(menu, szText, "3", 0, -1);
menu_display(id, menu, 0);
menu_setprop(menu, 6, 1);
menu_setprop(menu, 3, "[Next]");
menu_setprop(menu, 2, "[Back]");
menu_setprop(menu, 4, "[Exit]");
return 0;
}
public weaponct_handler(id, menu, item)
{
if (item == -3)
{
menu_destroy(menu);
return 1;
}
new data[6];
new iName[64];
new access = 0;
new callback = 0;
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);
new key = str_to_num(data);
switch (key)
{
case 1:
{
client_cmd(id, "playerweapon_cpech1");
blockspechmenu[id] = get_pcvar_num(blockspech);
}
case 2:
{
client_cmd(id, "playerweapon_cpech2");
blockspechmenu[id] = get_pcvar_num(blockspech);
}
case 3:
{
client_cmd(id, "playerweapon_cpech3");
blockspechmenu[id] = get_pcvar_num(blockspech);
}
default:
{
}
}
return 0;
}
public knifeweapon(id)
{
new szText[139];
formatex(szText, 138, "\yPalestine JB \r| \wKnives", id, "MENU_KNIFE_TITLE", VERSION);
new menu = menu_create(szText, "knifeweapon_handler", 0);
formatex(szText, 138, "\yStik", id, "KNIFE_ITEM_1");
menu_additem(menu, szText, "1", 0, -1);
formatex(szText, 138, "\yStap", id, "KNIFE_ITEM_2");
menu_additem(menu, szText, "2", 0, -1);
formatex(szText, 138, "\yHammer", id, "KNIFE_ITEM_3");
menu_additem(menu, szText, "3", 0, -1);
formatex(szText, 138, "\yKnife Vip", id, "KNIFE_ITEM_4");
menu_additem(menu, szText, "4", 0, -1);
formatex(szText, 138, "\yAxe", id, "KNIFE_ITEM_5");
menu_additem(menu, szText, "5", 0, -1);
menu_display(id, menu, 0);
menu_setprop(menu, 6, 1);
menu_setprop(menu, 3, "[Next]");
menu_setprop(menu, 2, "[Back]");
menu_setprop(menu, 4, "[Exit]");
return 0;
}
public knifeweapon_handler(id, menu, item)
{
if (item == -3)
{
menu_destroy(menu);
return 1;
}
new data[6];
new iName[64];
new access = 0;
new callback = 0;
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);
new key = str_to_num(data);
switch (key)
{
case 1:
{
engclient_cmd(id, "weapon_knife", "", "");
u_knife[id] = 1;
blockknife[id] = 1;
set_pev(id, pev_viewmodel2, "models/PalestineJB_SVIP/v_stik.mdl");
set_pev(id, pev_weaponmodel2, "models/PalestineJB_SVIP/p_stik.mdl");
}
case 2:
{
engclient_cmd(id, "weapon_knife", "", "");
u_knife[id] = 2;
blockknife[id] = 1;
set_pev(id, pev_viewmodel2, "models/PalestineJB_SVIP/v_stap.mdl");
set_pev(id, pev_weaponmodel2, "models/PalestineJB_SVIP/p_stap.mdl");
}
case 3:
{
engclient_cmd(id, "weapon_knife", "", "");
u_knife[id] = 3;
blockknife[id] = 1;
set_pev(id, pev_viewmodel2, "models/PalestineJB_SVIP/v_hammer.mdl");
set_pev(id, pev_weaponmodel2, "models/PalestineJB_SVIP/p_hammer.mdl");
}
case 4:
{
engclient_cmd(id, "weapon_knife", "", "");
u_knife[id] = 4;
blockknife[id] = 1;
set_pev(id, pev_viewmodel2, "models/PalestineJB_SVIP/v_knifevip.mdl");
set_pev(id, pev_weaponmodel2, "models/PalestineJB_SVIP/p_knifevip.mdl");
}
case 5:
{
engclient_cmd(id, "weapon_knife", "", "");
u_knife[id] = 5;
blockknife[id] = 1;
set_pev(id, pev_viewmodel2, "models/PalestineJB_SVIP/v_axe.mdl");
set_pev(id, pev_weaponmodel2, "models/PalestineJB_SVIP/p_axe.mdl");
}
default:
{
}
}
return 0;
}
public VipStatus(MsgId, MsgType, MsgDest)
{
!!! Removed Phi
if (is_user_vip(id) && !get_msg_arg_int(2))
{
set_msg_arg_int(2, 1, 4);
}
return 0;
}
public ShowVipsOnline(id)
{
!!! Removed Phi
new message[256];
new name[32];
new count = 0;
new len = format(message, 255, "Online Super VIP's?: ");
new player = 1;
while (player <= maxPlayers)
{
if (is_user_connected(player) && is_user_vip(player))
{
if (count && len)
{
len = format(message[len], 255 - len, ", ") + len;
}
len = format(message[len], 255 - len, "%s", name) + len;
if (len > 96)
{
client_print(id, print_chat, "%s", message);
len = format(message, 255, "");
}
count++;
player++;
}
player++;
}
if (len)
{
if (!count)
{
len = format(message[len], 255 - len, "? ??? ???!??? ? ?? ?!?f? ???!???? ??.") + len;
}
client_print(id, print_chat, "%s", message);
}
return 1;
}
public fw_EmitSound(id, channel, String:sample[], Float:volume, Float:attn, flags, pitch)
{
!!! Removed Phi
if (!is_user_connected(id))
{
return 1;
}
if (u_knife[id][0][0] == 3 && equal(sample[8], "kni", 3))
{
volume = 0.60/*1058642330*/;
if (equal(sample[14], "sla", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/hammer/knife_slash1_off.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample, "weapons/knife_deploy1.wav", 0))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/hammer/knifedeploy.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample[14], "hit", 3))
{
if (sample[17] == 119)
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/hammer/hit1.wav", volume, attn, flags, pitch);
return 4;
}
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/hammer/hit2.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample[14], "sta", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/hammer/knife_stab123.wav", volume, attn, flags, pitch);
return 4;
}
}
if (u_knife[id][0][0] == 1 && equal(sample[8], "kni", 3))
{
volume = 0.60/*1058642330*/;
if (equal(sample[14], "sla", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/strong/knife_slash1.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample, "weapons/knife_deploy1.wav", 0))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/strong/knife_deploy1.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample[14], "hit", 3))
{
if (sample[17] == 119)
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/strong/knife_hit1.wav", volume, attn, flags, pitch);
return 4;
}
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/strong/knife_hit2.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample[14], "sta", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/strong/knife_stab.wav", volume, attn, flags, pitch);
return 4;
}
}
if (u_knife[id][0][0] == 2 && equal(sample[8], "kni", 3))
{
volume = 0.60/*1058642330*/;
if (equal(sample[14], "sla", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_slash1.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample, "weapons/knife_deploy1.wav", 0))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_deploy1.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample[14], "hit", 3))
{
if (sample[17] == 119)
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_hit1.wav", volume, attn, flags, pitch);
return 4;
}
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_hit2.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample[14], "sta", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_stab.wav", volume, attn, flags, pitch);
return 4;
}
}
if (u_knife[id][0][0] == 4 && equal(sample[8], "kni", 3))
{
volume = 0.60/*1058642330*/;
if (equal(sample[14], "sla", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_slash1.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample, "weapons/knife_deploy1.wav", 0))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_deploy1.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample[14], "hit", 3))
{
if (sample[17] == 119)
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_hit1.wav", volume, attn, flags, pitch);
return 4;
}
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_hit2.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample[14], "sta", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_stab.wav", volume, attn, flags, pitch);
return 4;
}
}
if (u_knife[id][0][0] == 5 && equal(sample[8], "kni", 3))
{
volume = 0.60/*1058642330*/;
if (equal(sample[14], "sla", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/Skull/knife_wall.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample, "weapons/knife_deploy1.wav", 0))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/Skull/knife_draw.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample[14], "hit", 3))
{
if (sample[17] == 119)
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/Skull/knife_hit.wav", volume, attn, flags, pitch);
return 4;
}
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/Skull/knife_hit.wav", volume, attn, flags, pitch);
return 4;
}
if (equal(sample[14], "sta", 3))
{
engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/Skull/knife_miss.wav", volume, attn, flags, pitch);
return 4;
}
}
return 1;
}
public Player_TakeDamage(victim, inflicator, attacker, Float:damage, damage_type, bitsDamage)
{
!!! Removed Phi
if (!var10 <= maxPlayers & 1 <= var10 || !var11 <= maxPlayers & 1 <= var11)
{
return 0;
}
if (get_user_weapon(attacker, 0, 0) != 29)
{
return 0;
}
if (pev(attacker, pev_button) & 1 && u_knife[attacker][0][0] == 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) & 2048 && u_knife[attacker][0][0] == 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) & 1 && u_knife[attacker][0][0] == 1)
{
new var12 = Heap_4;
var12[0] = 10016;
new var13 = Heap_4;
var13[0] = 10016;
if (get_user_team(victim, var13, 0) == get_user_team(attacker, var12, 0))
{
return 0;
}
knifespeed[victim] = victim;
set_user_maxspeed(knifespeed[victim][0][0], 1.00);
set_task(3.00, "speeds", knifespeed[victim][0][0], "", 0, "", 0);
client_cmd(0, "spk JbVipMenu/strong/frostnova.wav");
new origin[3];
get_user_origin(knifespeed[victim][0][0], origin, 0);
create_explosion(origin);
}
else
{
if (pev(attacker, pev_button) & 2048 && u_knife[attacker][0][0] == 1)
{
new var14 = Heap_4;
var14[0] = 10016;
new var15 = Heap_4;
var15[0] = 10016;
if (get_user_team(victim, var15, 0) == get_user_team(attacker, var14, 0))
{
return 0;
}
knifespeed[victim] = victim;
set_user_maxspeed(knifespeed[victim][0][0], 1.00);
set_task(3.00, "speeds", knifespeed[victim][0][0], "", 0, "", 0);
client_cmd(0, "spk JbVipMenu/strong/frostnova.wav");
}
}
if (pev(attacker, pev_button) & 1 && u_knife[attacker][0][0] == 4)
{
new var16 = Heap_4;
var16[0] = 10016;
new var17 = Heap_4;
var17[0] = 10016;
if (get_user_team(victim, var17, 0) == get_user_team(attacker, var16, 0))
{
return 0;
}
new vorigin[3];
get_user_origin(victim, vorigin, 0);
Blood(vorigin);
}
else
{
if (pev(attacker, pev_button) & 2048 && u_knife[attacker][0][0] == 4)
{
new var18 = Heap_4;
var18[0] = 10016;
new var19 = Heap_4;
var19[0] = 10016;
if (get_user_team(victim, var19, 0) == get_user_team(attacker, var18, 0))
{
return 0;
}
new vorigin[3];
get_user_origin(victim, vorigin, 0);
Blood(vorigin);
}
}
if (pev(attacker, pev_button) & 1 && u_knife[attacker][0][0] == 5)
{
new var20 = Heap_4;
var20[0] = 10016;
new var21 = Heap_4;
var21[0] = 10016;
if (get_user_team(victim, var21, 0) == get_user_team(attacker, var20, 0))
{
return 0;
}
new var22 = 77.00;
damage = var22;
SetHamParamFloat(4, var22);
}
else
{
if (pev(attacker, pev_button) & 2048 && u_knife[attacker][0][0] == 5)
{
new var23 = Heap_4;
var23[0] = 10016;
new var24 = Heap_4;
var24[0] = 10016;
if (get_user_team(victim, var24, 0) == get_user_team(attacker, var23, 0))
{
return 0;
}
new var25 = 77.00;
damage = var25;
SetHamParamFloat(4, var25);
}
}
return 0;
}
public speeds(id)
{
if (is_user_connected(id))
{
set_user_maxspeed(id, 220.00);
}
knifespeed[id] = 0;
return 0;
}
create_explosion(origin[3])
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY, 10004, 0);
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(exploSpr);
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, 10004, 0);
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(exploSpr);
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, 10004, 0);
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(exploSpr);
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, 10004, 0);
write_byte(27);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_byte(floatround(240.00 / 5.00, floatround_round));
write_byte(0);
write_byte(206);
write_byte(209);
write_byte(8);
write_byte(60);
message_end();
return 0;
}
Blood(iorigin[3])
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY, 10004, 0);
write_byte(10);
write_coord(iorigin[0]);
write_coord(iorigin[1]);
write_coord(iorigin[2]);
message_end();
return 0;
}
public begmenu(id)
{
new szText[139];
formatex(szText, 138, "%L", id, "MENU_BEG_TITLE");
new menu = menu_create(szText, "begmenu_handler", 0);
new var4 = blockopens[id][0][0];
new var1;
if (0 >= var4)
{
formatex(szText, 138, "%L", id, "BEG_ITEM_1");
menu_additem(menu, szText, "1", 0, -1);
var1 = var4;
}
else
{
new var5 = blockopens;
formatex(szText, 138, "%L", id, "BEG_ITEM_1_1", var5[id]);
menu_additem(menu, szText, "1", 16777216, -1);
var1 = var5;
}
new var6 = blocklight[id][0][0];
new var2;
if (0 >= var6)
{
formatex(szText, 138, "%L", id, "BEG_ITEM_2");
menu_additem(menu, szText, "2", 0, -1);
var2 = var6;
}
else
{
new var7 = blocklight;
formatex(szText, 138, "%L", id, "BEG_ITEM_2_1", var7[id]);
menu_additem(menu, szText, "2", 16777216, -1);
var2 = var7;
}
new var8 = blocklov[id][0][0];
new var3;
if (0 >= var8)
{
formatex(szText, 138, "%L", id, "BEG_ITEM_3");
menu_additem(menu, szText, "3", 0, -1);
var3 = var8;
}
else
{
new var9 = blocklov;
formatex(szText, 138, "%L", id, "BEG_ITEM_3_1", var9[id]);
menu_additem(menu, szText, "3", 16777216, -1);
var3 = var9;
}
menu_display(id, menu, 0);
menu_setprop(menu, 6, 1);
menu_setprop(menu, 3, "[Next]");
menu_setprop(menu, 2, "[Back]");
menu_setprop(menu, 4, "[Exit]");
return 0;
}
public begmenu_handler(id, menu, item)
{
if (item == -3)
{
menu_destroy(menu);
return 1;
}
new data[6];
new iName[64];
new access = 0;
new callback = 0;
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);
new key = str_to_num(data);
switch (key)
{
case 1:
{
opens[id] = 1;
blockopens[id] = get_pcvar_num(block);
ChatColor(id, "%L", 0, "BEG");
}
case 2:
{
light(id);
blocklight[id] = get_pcvar_num(blocklights);
ChatColor(id, "%L", 0, "BEG_2");
}
case 3:
{
trap(id);
blocklov[id] = get_pcvar_num(blocklovy);
ChatColor(id, "%L", 0, "BEG_3");
}
default:
{
}
}
return 0;
}
public light(id)
{
!!! Removed Phi
new iPlayer[32];
new iNum = 0;
get_players(iPlayer, iNum, "", "");
new i = 0;
while (i < iNum)
{
new var1 = Heap_4;
var1[0] = 10016;
if (get_user_team(iPlayer[i], var1, 0) == 2)
{
new names[33];
message_begin(MSG_ONE, g_ScreenFade, 10004, iPlayer[i]);
write_short(1);
write_short(1);
write_short(4);
write_byte(0);
write_byte(0);
write_byte(0);
write_byte(255);
message_end();
get_user_name(id, names, 32);
set_hudmessage(255, 255, 255, -1.00, 0.40, 0, 6.00, 5.00, 0.10, 0.20, 4);
show_hudmessage(iPlayer[i], "%L", 0, "LIGHT_NAME", names);
set_task(10.00, "light_off", iPlayer[i], "", 0, "", 0);
g_lighton = 1;
i++;
}
i++;
}
return 0;
}
public light_off(id)
{
new iPlayer[32];
new iNum = 0;
get_players(iPlayer, iNum, "", "");
new i = 0;
while (i < iNum)
{
new var1 = Heap_4;
var1[0] = 10016;
if (get_user_team(iPlayer[i], var1, 0) == 2)
{
message_begin(MSG_ONE, g_ScreenFade, 10004, iPlayer[i]);
write_short(4096);
write_short(512);
write_short(1);
write_byte(0);
write_byte(0);
write_byte(0);
write_byte(0);
message_end();
g_lighton = 0;
i++;
}
i++;
}
return 0;
}
public trap(id)
{
new Float:origin[3];
entity_get_vector(id, 0, origin);
new ent = create_entity("info_target");
entity_set_origin(ent, origin);
origin[2] += 100.00;
entity_set_origin(id, origin);
entity_set_float(ent, EV_FL_takedamage, 0.00);
entity_set_string(ent, 0, "npc_totem");
entity_set_model(ent, "models/JbVipMenu/trap/trap.mdl");
entity_set_int(ent, EV_INT_solid, 2);
entity_set_byte(ent, 0, 125);
entity_set_byte(ent, 1, 125);
entity_set_byte(ent, 2, 125);
entity_set_byte(ent, 3, 125);
new Float:maxs[3];
maxs[0] = 23232;
new Float:mins[3];
mins[0] = 23244;
entity_set_size(ent, mins, maxs);
entity_set_float(ent, EV_FL_animtime, 2.00);
entity_set_float(ent, EV_FL_framerate, 1.00);
entity_set_int(ent, EV_INT_sequence, 0);
entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.01);
drop_to_floor(ent);
return 1;
}
public client_PreThink(id)
{
!!! Removed Phi
if (!is_user_alive(id))
{
return 0;
}
new Float:gametime = get_gametime();
if (g_TotemPoleDelay[id][0][0] > gametime)
{
return 0;
}
new ent = -1;
new Float:vOrigin[3];
new Float:pOrigin[3];
new Float:distance = 0;
entity_get_vector(id, 0, pOrigin);
new var2 = find_ent_by_class(ent, "npc_totem");
ent = var2;
while (var2)
{
if (distance < 100.00 && get_user_team(id, var3, 0) == 2)
{
set_user_maxspeed(id, 1.00);
strip_user_weapons(id);
if (!traps[id][0][0])
{
traps[id] = id;
client_cmd(id, "spk JbVipMenu/trap/trap.wav");
ChatColor(id, "%L", 0, "CT_TRAP");
set_task(10.00, "trap_off", traps[id][0][0], "", 0, "", 0);
}
}
}
return 0;
}
public trap_off(id)
{
remove_entity_name("npc_totem");
set_user_maxspeed(id, 240.00);
give_item(traps[id][0][0], "weapon_knife");
give_item(traps[id][0][0], "weapon_deagle");
give_item(traps[id][0][0], "weapon_m4a1");
cs_set_user_bpammo(traps[id][0][0], CSW_M4A1, 90);
cs_set_user_bpammo(traps[id][0][0], CSW_DEAGLE, 35);
ChatColor(traps[id][0][0], "%L", 0, "CT_TRAP_OFF");
traps[id] = 0;
return 0;
}
public switchweapon(id)
{
!!! Removed Phi
if (get_user_team(id, var2, 0) == 2 && g_lighton)
{
engclient_cmd(id, "weapon_knife", "", "");
}
return 0;
}