[code][/code]
Scripting
Post the whole code bro here, Use code tag
He who fails to plan is planning to fail
ok i added native u gave me check it out and i edited what i want in ze_main_menu
Ze main menu: !
Knife menu: !
Ze main menu: !
Code: Select all
#include <zombie_escape>
#include <ze_knife_menu>
// Keys
const OFFSET_CSMENUCODE = 205
const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
public plugin_init()
{
register_plugin("[ZE] Main Menu", ZE_VERSION, AUTHORS)
// Commands
register_clcmd("chooseteam", "Cmd_ChooseTeam")
register_clcmd("say /ze", "Cmd_ChooseTeam")
register_clcmd("say_team /ze", "Cmd_ChooseTeam")
// Register Menus
register_menu("Main Menu", KEYSMENU, "Main_Menu")
}
public Cmd_ChooseTeam(id)
{
Show_Menu_Main(id)
return PLUGIN_HANDLED // Kill the Choose Team Command
}
// Main Menu
public Show_Menu_Main(id)
{
static szMenu[250]
new iLen
// Title
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w%L^n^n", id, "MAIN_MENU_TITLE")
// 1. Buy Weapons
if (is_user_alive(id))
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w1.\r %L^n", id, "MENU_WEAPONBUY")
}
else
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d1. %L^n", id, "MENU_WEAPONBUY")
}
// 2. Extra Items
if (is_user_alive(id))
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w2.\r %L^n", id, "MENU_EXTRABUY")
}
else
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d2. %L^n", id, "MENU_EXTRABUY")
}
// 3. Knife Menu
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w3.\r Knife Menu \w[\rVIP\w]")
// 0. Exit
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n^n\w0.\r %L", id, "EXIT")
// Fix for AMXX custom menus
set_pdata_int(id, OFFSET_CSMENUCODE, 0)
show_menu(id, KEYSMENU, szMenu, -1, "Main Menu")
}
// Main Menu
public Main_Menu(id, key)
{
// Player disconnected?
if (!is_user_connected(id))
return PLUGIN_HANDLED
switch (key)
{
case 0: // Buy Weapons
{
client_cmd(id, "guns")
}
case 1: // Extra Items
{
if (is_user_alive(id))
{
ze_show_items_menu(id)
}
else
{
ze_colored_print(id, "%L", id, "DEAD_CANT_BUY_WEAPON")
}
}
case 2:
{
ze_open_knife_menu(id)
}
}
return PLUGIN_HANDLED
}
Code: Select all
#include <zombie_escape>
#define is_user_valid(%1) (is_user_alive(%1) && !is_user_bot(%1) && !is_user_hltv(%1))
// Models
new const Compat_Models[][] =
{
"models/zombie_escape/v_combat_knife.mdl",
"models/zombie_escape/p_combat_knife.mdl"
}
new const Strong_Models[][] =
{
"models/zombie_escape/v_strong_knife.mdl",
"models/zombie_escape/p_strong_knife.mdl"
}
new const Katana_Models[][] =
{
"models/zombie_escape/v_katana_knife.mdl",
"models/zombie_escape/p_katana_knife.mdl"
}
new const Hammer_Models[][] =
{
"models/zombie_escape/v_hammer_knife.mdl",
"models/zombie_escape/p_hammer_knife.mdl"
}
// Sounds
new const g_sound_knife[] = "items/gunpickup2.wav"
new const combat_sounds[][] =
{
"zombie_escape/knife_menu/combat_deploy.wav",
"zombie_escape/knife_menu/combat_hit.wav",
"zombie_escape/knife_menu/combat_hit.wav",
"zombie_escape/knife_menu/combat_hit.wav",
"zombie_escape/knife_menu/combat_hit.wav",
"zombie_escape/knife_menu/combat_hitwall.wav",
"zombie_escape/knife_menu/combat_slash.wav",
"zombie_escape/knife_menu/combat_slash.wav",
"zombie_escape/knife_menu/combat_stab.wav"
}
new const strong_sounds[][] =
{
"zombie_escape/knife_menu/strong_deploy.wav",
"zombie_escape/knife_menu/strong_hit.wav",
"zombie_escape/knife_menu/strong_hit.wav",
"zombie_escape/knife_menu/strong_hit.wav",
"zombie_escape/knife_menu/strong_hit.wav",
"zombie_escape/knife_menu/strong_hitwall.wav",
"zombie_escape/knife_menu/strong_slash.wav",
"zombie_escape/knife_menu/strong_slash.wav",
"zombie_escape/knife_menu/strong_stab.wav"
}
new const katana_sounds[][] =
{
"zombie_escape/knife_menu/katana_deploy.wav",
"zombie_escape/knife_menu/katana_hit.wav",
"zombie_escape/knife_menu/katana_hit.wav",
"zombie_escape/knife_menu/katana_hit.wav",
"zombie_escape/knife_menu/katana_hit.wav",
"zombie_escape/knife_menu/katana_hitwall.wav",
"zombie_escape/knife_menu/katana_slash.wav",
"zombie_escape/knife_menu/katana_slash.wav",
"zombie_escape/knife_menu/katana_stab.wav"
}
new const hammer_sounds[][] =
{
"zombie_escape/knife_menu/hammer_deploy.wav",
"zombie_escape/knife_menu/hammer_hit.wav",
"zombie_escape/knife_menu/hammer_hit.wav",
"zombie_escape/knife_menu/hammer_hit.wav",
"zombie_escape/knife_menu/hammer_hit.wav",
"zombie_escape/knife_menu/hammer_hitwall.wav",
"zombie_escape/knife_menu/hammer_slash.wav",
"zombie_escape/knife_menu/hammer_slash.wav",
"zombie_escape/knife_menu/hammer_stab.wav"
}
new const oldknife_sounds[][] =
{
"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 bool:g_bCompat[33], bool:g_bStrong[33], bool:g_bKatana[33], bool:g_bHammer[33],
g_iUsedTimes[33], cvar_use_times
public plugin_precache()
{
new i
for(i = 0; i < sizeof(Hammer_Models); i++)
precache_model(Hammer_Models[i])
for(i = 0; i < sizeof(Katana_Models); i++)
precache_model(Katana_Models[i])
for(i = 0; i < sizeof(Compat_Models); i++)
precache_model(Compat_Models[i])
for(i = 0; i < sizeof(Strong_Models); i++)
precache_model(Strong_Models[i])
precache_sound(g_sound_knife)
for(i = 0; i < sizeof(combat_sounds); i++)
precache_sound(combat_sounds[i])
for(i = 0; i < sizeof(strong_sounds); i++)
precache_sound(strong_sounds[i])
for(i = 0; i < sizeof(katana_sounds); i++)
precache_sound(katana_sounds[i])
for(i = 0; i < sizeof(hammer_sounds); i++)
precache_sound(hammer_sounds[i])
}
public plugin_natives()
{
register_native("ze_open_knife_menu", "native_ze_open_knife_menu", 1)
}
public plugin_init()
{
register_plugin("[ZE] Addon: Knife Menu", "1.1", "Jack GamePlay")
// Forwards
register_forward(FM_EmitSound, "fw_EmitSound")
// Events
register_event("CurWeapon", "CurrentWeapon", "be", "1=1")
// Cvars
cvar_use_times = register_cvar("ze_knife_menu_use_times", "1")
// Messages
register_message(get_user_msgid("DeathMsg"), "DeathMsg")
}
public ze_user_humanized(id)
{
g_iUsedTimes[id] = 0
}
public client_connect(id)
{
g_bCompat[id] = false
g_bStrong[id] = false
g_bKatana[id] = false
g_bHammer[id] = false
g_iUsedTimes[id] = 0
}
public Show_Knife_Menu(id)
{
new menu = menu_create("\rChoose Your Knife\w:", "Knife_Menu_Functions")
menu_additem(menu, "\yCombat", "", 0)
menu_additem(menu, "\yGolden", "", 0)
menu_additem(menu, "\yKatana", "", 0)
menu_additem(menu, "\yHammer", "", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
if((g_iUsedTimes[id] < get_pcvar_num(cvar_use_times)) && !ze_is_user_zombie(id) && is_user_valid(id) && ze_get_vip_flags(id) & VIP_A)
{
menu_display(id, menu, 0)
}
else if(ze_is_user_zombie(id))
{
ze_colored_print(id, "!tYou can't open knife menu due to being zombie!y.")
return PLUGIN_HANDLED
}
else if(g_iUsedTimes[id] >= get_pcvar_num(cvar_use_times))
{
ze_colored_print(id, "!tYou've used !gKnife menu!y, !twait for the next round!y!", get_pcvar_num(cvar_use_times))
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public Knife_Menu_Functions(id, menu, key)
{
if(!is_user_valid(id) || ze_is_user_zombie(id))
return
switch(key)
{
case 0: // Compat
{
g_bCompat[id] = true
g_bStrong[id] = false
g_bKatana[id] = false
g_bHammer[id] = false
g_iUsedTimes[id]++
rg_remove_item(id, "weapon_knife")
rg_give_item(id, "weapon_knife", GT_APPEND)
engclient_cmd(id, "weapon_knife")
emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
case 1: // Strong
{
g_bCompat[id] = false
g_bStrong[id] = true
g_bKatana[id] = false
g_bHammer[id] = false
g_iUsedTimes[id]++
rg_remove_item(id, "weapon_knife")
rg_give_item(id, "weapon_knife", GT_APPEND)
engclient_cmd(id, "weapon_knife")
emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
case 2: // Katana
{
g_bCompat[id] = false
g_bStrong[id] = false
g_bKatana[id] = true
g_bHammer[id] = false
g_iUsedTimes[id]++
rg_remove_item(id, "weapon_knife")
rg_give_item(id, "weapon_knife", GT_APPEND)
engclient_cmd(id, "weapon_knife")
emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
case 3: // Hammer
{
g_bCompat[id] = false
g_bStrong[id] = false
g_bKatana[id] = false
g_bHammer[id] = true
g_iUsedTimes[id]++
rg_remove_item(id, "weapon_knife")
rg_give_item(id, "weapon_knife", GT_APPEND)
engclient_cmd(id, "weapon_knife")
emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
menu_destroy(menu)
}
public fw_EmitSound(id, channel, const sound[])
{
if(!is_user_valid(id) || ze_is_user_zombie(id))
return FMRES_IGNORED
new i
for(i = 0; i < sizeof(combat_sounds); i++)
for(i = 0; i < sizeof(strong_sounds); i++)
for(i = 0; i < sizeof(katana_sounds); i++)
for(i = 0; i < sizeof(hammer_sounds); i++)
{
if(equal(sound, oldknife_sounds[i]))
{
if (g_bCompat[id])
{
emit_sound(id, channel, combat_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
else if (g_bStrong[id])
{
emit_sound(id, channel, strong_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
else if (g_bKatana[id])
{
emit_sound(id, channel, katana_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
else if (g_bHammer[id])
{
emit_sound(id, channel, hammer_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
else if (!g_bCompat[id] || !g_bStrong[id] || !g_bKatana[id] || !g_bHammer[id])
{
emit_sound(id, channel, oldknife_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
}
}
return FMRES_IGNORED
}
public CurrentWeapon(id)
{
if(!is_user_valid(id) || ze_is_user_zombie(id))
return
if(get_user_weapon(id) & CSW_KNIFE)
{
if(g_bCompat[id])
{
cs_set_player_view_model(id, CSW_KNIFE, Compat_Models[0])
cs_set_player_weap_model(id, CSW_KNIFE, Compat_Models[1])
}
else if(g_bStrong[id])
{
cs_set_player_view_model(id, CSW_KNIFE, Strong_Models[0])
cs_set_player_weap_model(id, CSW_KNIFE, Strong_Models[1])
}
else if(g_bKatana[id])
{
cs_set_player_view_model(id, CSW_KNIFE, Katana_Models[0])
cs_set_player_weap_model(id, CSW_KNIFE, Katana_Models[1])
}
else if(g_bHammer[id])
{
cs_set_player_view_model(id, CSW_KNIFE, Hammer_Models[0])
cs_set_player_weap_model(id, CSW_KNIFE, Hammer_Models[1])
}
else
{
cs_reset_player_view_model(id, CSW_KNIFE)
cs_reset_player_weap_model(id, CSW_KNIFE)
}
}
}
public DeathMsg(msg_id, msg_dest, id)
{
static szTruncatedWeapon[33], iAttacker
get_msg_arg_string(4, szTruncatedWeapon, charsmax(szTruncatedWeapon))
iAttacker = get_msg_arg_int(1)
if(!is_user_valid(iAttacker) || iAttacker == get_msg_arg_int(2) || !is_user_valid(get_msg_arg_int(2))) // get_msg_arg_int(2) = iVictim
return
if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iAttacker) & CSW_KNIFE)
{
if(g_bCompat[id])
{
set_msg_arg_string(4, "Combat knife")
}
else if(g_bStrong[id])
{
set_msg_arg_string(4, "Strong knife")
}
else if(g_bKatana[id])
{
set_msg_arg_string(4, "Katana knife")
}
else if(g_bHammer[id])
{
set_msg_arg_string(4, "Ice knife")
}
}
}
public native_ze_open_knife_menu(id)
{
Show_Knife_Menu(id)
}
-
- Veteran Member
- Posts: 678
- Joined: 7 years ago
- Location: Paraguay
- Contact:
It is working for U or not ?Spir0x wrote: ↑6 years ago ok i added native u gave me check it out and i edited what i want in ze_main_menu
Ze main menu: !Knife menu: !Code: Select all
#include <zombie_escape> #include <ze_knife_menu> // Keys const OFFSET_CSMENUCODE = 205 const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0 public plugin_init() { register_plugin("[ZE] Main Menu", ZE_VERSION, AUTHORS) // Commands register_clcmd("chooseteam", "Cmd_ChooseTeam") register_clcmd("say /ze", "Cmd_ChooseTeam") register_clcmd("say_team /ze", "Cmd_ChooseTeam") // Register Menus register_menu("Main Menu", KEYSMENU, "Main_Menu") } public Cmd_ChooseTeam(id) { Show_Menu_Main(id) return PLUGIN_HANDLED // Kill the Choose Team Command } // Main Menu public Show_Menu_Main(id) { static szMenu[250] new iLen // Title iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w%L^n^n", id, "MAIN_MENU_TITLE") // 1. Buy Weapons if (is_user_alive(id)) { iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w1.\r %L^n", id, "MENU_WEAPONBUY") } else { iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d1. %L^n", id, "MENU_WEAPONBUY") } // 2. Extra Items if (is_user_alive(id)) { iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w2.\r %L^n", id, "MENU_EXTRABUY") } else { iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d2. %L^n", id, "MENU_EXTRABUY") } // 3. Knife Menu iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w3.\r Knife Menu \w[\rVIP\w]") // 0. Exit iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n^n\w0.\r %L", id, "EXIT") // Fix for AMXX custom menus set_pdata_int(id, OFFSET_CSMENUCODE, 0) show_menu(id, KEYSMENU, szMenu, -1, "Main Menu") } // Main Menu public Main_Menu(id, key) { // Player disconnected? if (!is_user_connected(id)) return PLUGIN_HANDLED switch (key) { case 0: // Buy Weapons { client_cmd(id, "guns") } case 1: // Extra Items { if (is_user_alive(id)) { ze_show_items_menu(id) } else { ze_colored_print(id, "%L", id, "DEAD_CANT_BUY_WEAPON") } } case 2: { ze_open_knife_menu(id) } } return PLUGIN_HANDLED }
Code: Select all
#include <zombie_escape> #define is_user_valid(%1) (is_user_alive(%1) && !is_user_bot(%1) && !is_user_hltv(%1)) // Models new const Compat_Models[][] = { "models/zombie_escape/v_combat_knife.mdl", "models/zombie_escape/p_combat_knife.mdl" } new const Strong_Models[][] = { "models/zombie_escape/v_strong_knife.mdl", "models/zombie_escape/p_strong_knife.mdl" } new const Katana_Models[][] = { "models/zombie_escape/v_katana_knife.mdl", "models/zombie_escape/p_katana_knife.mdl" } new const Hammer_Models[][] = { "models/zombie_escape/v_hammer_knife.mdl", "models/zombie_escape/p_hammer_knife.mdl" } // Sounds new const g_sound_knife[] = "items/gunpickup2.wav" new const combat_sounds[][] = { "zombie_escape/knife_menu/combat_deploy.wav", "zombie_escape/knife_menu/combat_hit.wav", "zombie_escape/knife_menu/combat_hit.wav", "zombie_escape/knife_menu/combat_hit.wav", "zombie_escape/knife_menu/combat_hit.wav", "zombie_escape/knife_menu/combat_hitwall.wav", "zombie_escape/knife_menu/combat_slash.wav", "zombie_escape/knife_menu/combat_slash.wav", "zombie_escape/knife_menu/combat_stab.wav" } new const strong_sounds[][] = { "zombie_escape/knife_menu/strong_deploy.wav", "zombie_escape/knife_menu/strong_hit.wav", "zombie_escape/knife_menu/strong_hit.wav", "zombie_escape/knife_menu/strong_hit.wav", "zombie_escape/knife_menu/strong_hit.wav", "zombie_escape/knife_menu/strong_hitwall.wav", "zombie_escape/knife_menu/strong_slash.wav", "zombie_escape/knife_menu/strong_slash.wav", "zombie_escape/knife_menu/strong_stab.wav" } new const katana_sounds[][] = { "zombie_escape/knife_menu/katana_deploy.wav", "zombie_escape/knife_menu/katana_hit.wav", "zombie_escape/knife_menu/katana_hit.wav", "zombie_escape/knife_menu/katana_hit.wav", "zombie_escape/knife_menu/katana_hit.wav", "zombie_escape/knife_menu/katana_hitwall.wav", "zombie_escape/knife_menu/katana_slash.wav", "zombie_escape/knife_menu/katana_slash.wav", "zombie_escape/knife_menu/katana_stab.wav" } new const hammer_sounds[][] = { "zombie_escape/knife_menu/hammer_deploy.wav", "zombie_escape/knife_menu/hammer_hit.wav", "zombie_escape/knife_menu/hammer_hit.wav", "zombie_escape/knife_menu/hammer_hit.wav", "zombie_escape/knife_menu/hammer_hit.wav", "zombie_escape/knife_menu/hammer_hitwall.wav", "zombie_escape/knife_menu/hammer_slash.wav", "zombie_escape/knife_menu/hammer_slash.wav", "zombie_escape/knife_menu/hammer_stab.wav" } new const oldknife_sounds[][] = { "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 bool:g_bCompat[33], bool:g_bStrong[33], bool:g_bKatana[33], bool:g_bHammer[33], g_iUsedTimes[33], cvar_use_times public plugin_precache() { new i for(i = 0; i < sizeof(Hammer_Models); i++) precache_model(Hammer_Models[i]) for(i = 0; i < sizeof(Katana_Models); i++) precache_model(Katana_Models[i]) for(i = 0; i < sizeof(Compat_Models); i++) precache_model(Compat_Models[i]) for(i = 0; i < sizeof(Strong_Models); i++) precache_model(Strong_Models[i]) precache_sound(g_sound_knife) for(i = 0; i < sizeof(combat_sounds); i++) precache_sound(combat_sounds[i]) for(i = 0; i < sizeof(strong_sounds); i++) precache_sound(strong_sounds[i]) for(i = 0; i < sizeof(katana_sounds); i++) precache_sound(katana_sounds[i]) for(i = 0; i < sizeof(hammer_sounds); i++) precache_sound(hammer_sounds[i]) } public plugin_natives() { register_native("ze_open_knife_menu", "native_ze_open_knife_menu", 1) } public plugin_init() { register_plugin("[ZE] Addon: Knife Menu", "1.1", "Jack GamePlay") // Forwards register_forward(FM_EmitSound, "fw_EmitSound") // Events register_event("CurWeapon", "CurrentWeapon", "be", "1=1") // Cvars cvar_use_times = register_cvar("ze_knife_menu_use_times", "1") // Messages register_message(get_user_msgid("DeathMsg"), "DeathMsg") } public ze_user_humanized(id) { g_iUsedTimes[id] = 0 } public client_connect(id) { g_bCompat[id] = false g_bStrong[id] = false g_bKatana[id] = false g_bHammer[id] = false g_iUsedTimes[id] = 0 } public Show_Knife_Menu(id) { new menu = menu_create("\rChoose Your Knife\w:", "Knife_Menu_Functions") menu_additem(menu, "\yCombat", "", 0) menu_additem(menu, "\yGolden", "", 0) menu_additem(menu, "\yKatana", "", 0) menu_additem(menu, "\yHammer", "", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) if((g_iUsedTimes[id] < get_pcvar_num(cvar_use_times)) && !ze_is_user_zombie(id) && is_user_valid(id) && ze_get_vip_flags(id) & VIP_A) { menu_display(id, menu, 0) } else if(ze_is_user_zombie(id)) { ze_colored_print(id, "!tYou can't open knife menu due to being zombie!y.") return PLUGIN_HANDLED } else if(g_iUsedTimes[id] >= get_pcvar_num(cvar_use_times)) { ze_colored_print(id, "!tYou've used !gKnife menu!y, !twait for the next round!y!", get_pcvar_num(cvar_use_times)) return PLUGIN_HANDLED } return PLUGIN_CONTINUE } public Knife_Menu_Functions(id, menu, key) { if(!is_user_valid(id) || ze_is_user_zombie(id)) return switch(key) { case 0: // Compat { g_bCompat[id] = true g_bStrong[id] = false g_bKatana[id] = false g_bHammer[id] = false g_iUsedTimes[id]++ rg_remove_item(id, "weapon_knife") rg_give_item(id, "weapon_knife", GT_APPEND) engclient_cmd(id, "weapon_knife") emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM) } case 1: // Strong { g_bCompat[id] = false g_bStrong[id] = true g_bKatana[id] = false g_bHammer[id] = false g_iUsedTimes[id]++ rg_remove_item(id, "weapon_knife") rg_give_item(id, "weapon_knife", GT_APPEND) engclient_cmd(id, "weapon_knife") emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM) } case 2: // Katana { g_bCompat[id] = false g_bStrong[id] = false g_bKatana[id] = true g_bHammer[id] = false g_iUsedTimes[id]++ rg_remove_item(id, "weapon_knife") rg_give_item(id, "weapon_knife", GT_APPEND) engclient_cmd(id, "weapon_knife") emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM) } case 3: // Hammer { g_bCompat[id] = false g_bStrong[id] = false g_bKatana[id] = false g_bHammer[id] = true g_iUsedTimes[id]++ rg_remove_item(id, "weapon_knife") rg_give_item(id, "weapon_knife", GT_APPEND) engclient_cmd(id, "weapon_knife") emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM) } } menu_destroy(menu) } public fw_EmitSound(id, channel, const sound[]) { if(!is_user_valid(id) || ze_is_user_zombie(id)) return FMRES_IGNORED new i for(i = 0; i < sizeof(combat_sounds); i++) for(i = 0; i < sizeof(strong_sounds); i++) for(i = 0; i < sizeof(katana_sounds); i++) for(i = 0; i < sizeof(hammer_sounds); i++) { if(equal(sound, oldknife_sounds[i])) { if (g_bCompat[id]) { emit_sound(id, channel, combat_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } else if (g_bStrong[id]) { emit_sound(id, channel, strong_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } else if (g_bKatana[id]) { emit_sound(id, channel, katana_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } else if (g_bHammer[id]) { emit_sound(id, channel, hammer_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } else if (!g_bCompat[id] || !g_bStrong[id] || !g_bKatana[id] || !g_bHammer[id]) { emit_sound(id, channel, oldknife_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } } } return FMRES_IGNORED } public CurrentWeapon(id) { if(!is_user_valid(id) || ze_is_user_zombie(id)) return if(get_user_weapon(id) & CSW_KNIFE) { if(g_bCompat[id]) { cs_set_player_view_model(id, CSW_KNIFE, Compat_Models[0]) cs_set_player_weap_model(id, CSW_KNIFE, Compat_Models[1]) } else if(g_bStrong[id]) { cs_set_player_view_model(id, CSW_KNIFE, Strong_Models[0]) cs_set_player_weap_model(id, CSW_KNIFE, Strong_Models[1]) } else if(g_bKatana[id]) { cs_set_player_view_model(id, CSW_KNIFE, Katana_Models[0]) cs_set_player_weap_model(id, CSW_KNIFE, Katana_Models[1]) } else if(g_bHammer[id]) { cs_set_player_view_model(id, CSW_KNIFE, Hammer_Models[0]) cs_set_player_weap_model(id, CSW_KNIFE, Hammer_Models[1]) } else { cs_reset_player_view_model(id, CSW_KNIFE) cs_reset_player_weap_model(id, CSW_KNIFE) } } } public DeathMsg(msg_id, msg_dest, id) { static szTruncatedWeapon[33], iAttacker get_msg_arg_string(4, szTruncatedWeapon, charsmax(szTruncatedWeapon)) iAttacker = get_msg_arg_int(1) if(!is_user_valid(iAttacker) || iAttacker == get_msg_arg_int(2) || !is_user_valid(get_msg_arg_int(2))) // get_msg_arg_int(2) = iVictim return if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iAttacker) & CSW_KNIFE) { if(g_bCompat[id]) { set_msg_arg_string(4, "Combat knife") } else if(g_bStrong[id]) { set_msg_arg_string(4, "Strong knife") } else if(g_bKatana[id]) { set_msg_arg_string(4, "Katana knife") } else if(g_bHammer[id]) { set_msg_arg_string(4, "Ice knife") } } } public native_ze_open_knife_menu(id) { Show_Knife_Menu(id) }
Nobody Is That Busy If They Make Time
-
- Veteran Member
- Posts: 678
- Joined: 7 years ago
- Location: Paraguay
- Contact:
Why has jack not made Command /knife For this Knife Menu
It would have Been alot easier for the New People who were going to use it ?
It would have Been alot easier for the New People who were going to use it ?
Nobody Is That Busy If They Make Time
Jhonny no it won't work for me. please compile these 2 codes for me
-
- Veteran Member
- Posts: 678
- Joined: 7 years ago
- Location: Paraguay
- Contact:
Alright !
Nobody Is That Busy If They Make Time
Please Fast bro :/
-
- Veteran Member
- Posts: 678
- Joined: 7 years ago
- Location: Paraguay
- Contact:
Code: Select all
#include <zombie_escape>
#include <ze_knife_menu>
// Keys
const OFFSET_CSMENUCODE = 205
const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
public plugin_init()
{
register_plugin("[ZE] Main Menu", ZE_VERSION, AUTHORS)
// Commands
register_clcmd("chooseteam", "Cmd_ChooseTeam")
register_clcmd("say /ze", "Cmd_ChooseTeam")
register_clcmd("say_team /ze", "Cmd_ChooseTeam")
// Register Menus
register_menu("Main Menu", KEYSMENU, "Main_Menu")
}
public Cmd_ChooseTeam(id)
{
Show_Menu_Main(id)
return PLUGIN_HANDLED // Kill the Choose Team Command
}
// Main Menu
public Show_Menu_Main(id)
{
static szMenu[250]
new iLen
// Title
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w%L^n^n", id, "MAIN_MENU_TITLE")
// 1. Buy Weapons
if (is_user_alive(id))
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w1.\r %L^n", id, "MENU_WEAPONBUY")
}
else
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d1. %L^n", id, "MENU_WEAPONBUY")
}
// 2. Extra Items
if (is_user_alive(id))
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w2.\r %L^n", id, "MENU_EXTRABUY")
}
else
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d2. %L^n", id, "MENU_EXTRABUY")
}
// 3. Knife Menu
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w3.\r Knife Menu^n")
// 0. Exit
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n^n\w0.\r %L", id, "EXIT")
// Fix for AMXX custom menus
set_pdata_int(id, OFFSET_CSMENUCODE, 0)
show_menu(id, KEYSMENU, szMenu, -1, "Main Menu")
}
// Main Menu
public Main_Menu(id, key)
{
// Player disconnected?
if (!is_user_connected(id))
return PLUGIN_HANDLED
switch (key)
{
case 0: // Buy Weapons
{
client_cmd(id, "guns")
}
case 1: // Extra Items
{
if (is_user_alive(id))
{
ze_show_items_menu(id)
}
else
{
ze_colored_print(id, "%L", id, "DEAD_CANT_BUY_WEAPON")
}
}
case 2:
{
ze_open_knife_menu(id)
}
}
return PLUGIN_HANDLED
}
and write there this
native ze_open_knife_menu(id)
save the inc file and then compile ze_main_menu.sma
Nobody Is That Busy If They Make Time
and i want to make knife menu only for vips i need to compile knife_menu too.
Jhonny i tryed to add the natives in ze_knife_menu.sma and ze_knife_menu.inc but it wont work still this message
-
- Veteran Member
- Posts: 678
- Joined: 7 years ago
- Location: Paraguay
- Contact:
U are doing something wrong
It compiled for me
I will try to upload the Inc.... if I can
My network is too slow that I can't even surf on net
Nobody Is That Busy If They Make Time
Dude i'm using zombie escape compiler from Zombie Escape Releases section.
i think it's old ? then it compiles for you here you are the code and compile it then upload .amxx and .sma on mediafire it's not too much.
Knife menu ony for vips with flag A code:
i think it's old ? then it compiles for you here you are the code and compile it then upload .amxx and .sma on mediafire it's not too much.
Knife menu ony for vips with flag A code:
Code: Select all
#include <zombie_escape>
#define is_user_valid(%1) (is_user_alive(%1) && !is_user_bot(%1) && !is_user_hltv(%1))
// Models
new const Compat_Models[][] =
{
"models/zombie_escape/v_combat_knife.mdl",
"models/zombie_escape/p_combat_knife.mdl"
}
new const Strong_Models[][] =
{
"models/zombie_escape/v_strong_knife.mdl",
"models/zombie_escape/p_strong_knife.mdl"
}
new const Katana_Models[][] =
{
"models/zombie_escape/v_katana_knife.mdl",
"models/zombie_escape/p_katana_knife.mdl"
}
new const Hammer_Models[][] =
{
"models/zombie_escape/v_hammer_knife.mdl",
"models/zombie_escape/p_hammer_knife.mdl"
}
// Sounds
new const g_sound_knife[] = "items/gunpickup2.wav"
new const combat_sounds[][] =
{
"zombie_escape/knife_menu/combat_deploy.wav",
"zombie_escape/knife_menu/combat_hit.wav",
"zombie_escape/knife_menu/combat_hit.wav",
"zombie_escape/knife_menu/combat_hit.wav",
"zombie_escape/knife_menu/combat_hit.wav",
"zombie_escape/knife_menu/combat_hitwall.wav",
"zombie_escape/knife_menu/combat_slash.wav",
"zombie_escape/knife_menu/combat_slash.wav",
"zombie_escape/knife_menu/combat_stab.wav"
}
new const strong_sounds[][] =
{
"zombie_escape/knife_menu/strong_deploy.wav",
"zombie_escape/knife_menu/strong_hit.wav",
"zombie_escape/knife_menu/strong_hit.wav",
"zombie_escape/knife_menu/strong_hit.wav",
"zombie_escape/knife_menu/strong_hit.wav",
"zombie_escape/knife_menu/strong_hitwall.wav",
"zombie_escape/knife_menu/strong_slash.wav",
"zombie_escape/knife_menu/strong_slash.wav",
"zombie_escape/knife_menu/strong_stab.wav"
}
new const katana_sounds[][] =
{
"zombie_escape/knife_menu/katana_deploy.wav",
"zombie_escape/knife_menu/katana_hit.wav",
"zombie_escape/knife_menu/katana_hit.wav",
"zombie_escape/knife_menu/katana_hit.wav",
"zombie_escape/knife_menu/katana_hit.wav",
"zombie_escape/knife_menu/katana_hitwall.wav",
"zombie_escape/knife_menu/katana_slash.wav",
"zombie_escape/knife_menu/katana_slash.wav",
"zombie_escape/knife_menu/katana_stab.wav"
}
new const hammer_sounds[][] =
{
"zombie_escape/knife_menu/hammer_deploy.wav",
"zombie_escape/knife_menu/hammer_hit.wav",
"zombie_escape/knife_menu/hammer_hit.wav",
"zombie_escape/knife_menu/hammer_hit.wav",
"zombie_escape/knife_menu/hammer_hit.wav",
"zombie_escape/knife_menu/hammer_hitwall.wav",
"zombie_escape/knife_menu/hammer_slash.wav",
"zombie_escape/knife_menu/hammer_slash.wav",
"zombie_escape/knife_menu/hammer_stab.wav"
}
new const oldknife_sounds[][] =
{
"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 bool:g_bCompat[33], bool:g_bStrong[33], bool:g_bKatana[33], bool:g_bHammer[33],
g_iUsedTimes[33], cvar_use_times
public plugin_precache()
{
new i
for(i = 0; i < sizeof(Hammer_Models); i++)
precache_model(Hammer_Models[i])
for(i = 0; i < sizeof(Katana_Models); i++)
precache_model(Katana_Models[i])
for(i = 0; i < sizeof(Compat_Models); i++)
precache_model(Compat_Models[i])
for(i = 0; i < sizeof(Strong_Models); i++)
precache_model(Strong_Models[i])
precache_sound(g_sound_knife)
for(i = 0; i < sizeof(combat_sounds); i++)
precache_sound(combat_sounds[i])
for(i = 0; i < sizeof(strong_sounds); i++)
precache_sound(strong_sounds[i])
for(i = 0; i < sizeof(katana_sounds); i++)
precache_sound(katana_sounds[i])
for(i = 0; i < sizeof(hammer_sounds); i++)
precache_sound(hammer_sounds[i])
}
public plugin_natives()
{
register_native("ze_open_knife_menu", "native_ze_open_knife_menu", 1)
}
public plugin_init()
{
register_plugin("[ZE] Addon: Knife Menu", "1.1", "Jack GamePlay")
// Forwards
register_forward(FM_EmitSound, "fw_EmitSound")
// Events
register_event("CurWeapon", "CurrentWeapon", "be", "1=1")
// Cvars
cvar_use_times = register_cvar("ze_knife_menu_use_times", "1")
// Messages
register_message(get_user_msgid("DeathMsg"), "DeathMsg")
}
public ze_user_humanized(id)
{
g_iUsedTimes[id] = 0
}
public client_connect(id)
{
g_bCompat[id] = false
g_bStrong[id] = false
g_bKatana[id] = false
g_bHammer[id] = false
g_iUsedTimes[id] = 0
}
public Show_Knife_Menu(id)
{
new menu = menu_create("\rChoose Your Knife\w:", "Knife_Menu_Functions")
menu_additem(menu, "\yCombat", "", 0)
menu_additem(menu, "\yGolden", "", 0)
menu_additem(menu, "\yKatana", "", 0)
menu_additem(menu, "\yHammer", "", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
if((g_iUsedTimes[id] < get_pcvar_num(cvar_use_times)) && !ze_is_user_zombie(id) && is_user_valid(id) && ze_get_vip_flags(id) & VIP_A)
{
menu_display(id, menu, 0)
}
else if(ze_is_user_zombie(id))
{
ze_colored_print(id, "!tYou can't open knife menu due to being zombie!y.")
return PLUGIN_HANDLED
}
else if(g_iUsedTimes[id] >= get_pcvar_num(cvar_use_times))
{
ze_colored_print(id, "!tYou've used !gKnife menu!y, !twait for the next round!y!", get_pcvar_num(cvar_use_times))
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public Knife_Menu_Functions(id, menu, key)
{
if(!is_user_valid(id) || ze_is_user_zombie(id))
return
switch(key)
{
case 0: // Compat
{
g_bCompat[id] = true
g_bStrong[id] = false
g_bKatana[id] = false
g_bHammer[id] = false
g_iUsedTimes[id]++
rg_remove_item(id, "weapon_knife")
rg_give_item(id, "weapon_knife", GT_APPEND)
engclient_cmd(id, "weapon_knife")
emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
case 1: // Strong
{
g_bCompat[id] = false
g_bStrong[id] = true
g_bKatana[id] = false
g_bHammer[id] = false
g_iUsedTimes[id]++
rg_remove_item(id, "weapon_knife")
rg_give_item(id, "weapon_knife", GT_APPEND)
engclient_cmd(id, "weapon_knife")
emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
case 2: // Katana
{
g_bCompat[id] = false
g_bStrong[id] = false
g_bKatana[id] = true
g_bHammer[id] = false
g_iUsedTimes[id]++
rg_remove_item(id, "weapon_knife")
rg_give_item(id, "weapon_knife", GT_APPEND)
engclient_cmd(id, "weapon_knife")
emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
case 3: // Hammer
{
g_bCompat[id] = false
g_bStrong[id] = false
g_bKatana[id] = false
g_bHammer[id] = true
g_iUsedTimes[id]++
rg_remove_item(id, "weapon_knife")
rg_give_item(id, "weapon_knife", GT_APPEND)
engclient_cmd(id, "weapon_knife")
emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
menu_destroy(menu)
}
public fw_EmitSound(id, channel, const sound[])
{
if(!is_user_valid(id) || ze_is_user_zombie(id))
return FMRES_IGNORED
new i
for(i = 0; i < sizeof(combat_sounds); i++)
for(i = 0; i < sizeof(strong_sounds); i++)
for(i = 0; i < sizeof(katana_sounds); i++)
for(i = 0; i < sizeof(hammer_sounds); i++)
{
if(equal(sound, oldknife_sounds[i]))
{
if (g_bCompat[id])
{
emit_sound(id, channel, combat_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
else if (g_bStrong[id])
{
emit_sound(id, channel, strong_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
else if (g_bKatana[id])
{
emit_sound(id, channel, katana_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
else if (g_bHammer[id])
{
emit_sound(id, channel, hammer_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
else if (!g_bCompat[id] || !g_bStrong[id] || !g_bKatana[id] || !g_bHammer[id])
{
emit_sound(id, channel, oldknife_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
}
}
return FMRES_IGNORED
}
public CurrentWeapon(id)
{
if(!is_user_valid(id) || ze_is_user_zombie(id))
return
if(get_user_weapon(id) & CSW_KNIFE)
{
if(g_bCompat[id])
{
cs_set_player_view_model(id, CSW_KNIFE, Compat_Models[0])
cs_set_player_weap_model(id, CSW_KNIFE, Compat_Models[1])
}
else if(g_bStrong[id])
{
cs_set_player_view_model(id, CSW_KNIFE, Strong_Models[0])
cs_set_player_weap_model(id, CSW_KNIFE, Strong_Models[1])
}
else if(g_bKatana[id])
{
cs_set_player_view_model(id, CSW_KNIFE, Katana_Models[0])
cs_set_player_weap_model(id, CSW_KNIFE, Katana_Models[1])
}
else if(g_bHammer[id])
{
cs_set_player_view_model(id, CSW_KNIFE, Hammer_Models[0])
cs_set_player_weap_model(id, CSW_KNIFE, Hammer_Models[1])
}
else
{
cs_reset_player_view_model(id, CSW_KNIFE)
cs_reset_player_weap_model(id, CSW_KNIFE)
}
}
}
public DeathMsg(msg_id, msg_dest, id)
{
static szTruncatedWeapon[33], iAttacker
get_msg_arg_string(4, szTruncatedWeapon, charsmax(szTruncatedWeapon))
iAttacker = get_msg_arg_int(1)
if(!is_user_valid(iAttacker) || iAttacker == get_msg_arg_int(2) || !is_user_valid(get_msg_arg_int(2))) // get_msg_arg_int(2) = iVictim
return
if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iAttacker) & CSW_KNIFE)
{
if(g_bCompat[id])
{
set_msg_arg_string(4, "Combat knife")
}
else if(g_bStrong[id])
{
set_msg_arg_string(4, "Strong knife")
}
else if(g_bKatana[id])
{
set_msg_arg_string(4, "Katana knife")
}
else if(g_bHammer[id])
{
set_msg_arg_string(4, "Ice knife")
}
}
}
public native_ze_open_knife_menu(id)
{
Show_Knife_Menu(id)
}
-
- Veteran Member
- Posts: 678
- Joined: 7 years ago
- Location: Paraguay
- Contact:
For me it is :pSpir0x wrote: ↑6 years ago Dude i'm using zombie escape compiler from Zombie Escape Releases section.
i think it's old ? then it compiles for you here you are the code and compile it then upload .amxx and .sma on mediafire it's not too much.
Knife menu ony for vips with flag A code:
Code: Select all
#include <zombie_escape> #define is_user_valid(%1) (is_user_alive(%1) && !is_user_bot(%1) && !is_user_hltv(%1)) // Models new const Compat_Models[][] = { "models/zombie_escape/v_combat_knife.mdl", "models/zombie_escape/p_combat_knife.mdl" } new const Strong_Models[][] = { "models/zombie_escape/v_strong_knife.mdl", "models/zombie_escape/p_strong_knife.mdl" } new const Katana_Models[][] = { "models/zombie_escape/v_katana_knife.mdl", "models/zombie_escape/p_katana_knife.mdl" } new const Hammer_Models[][] = { "models/zombie_escape/v_hammer_knife.mdl", "models/zombie_escape/p_hammer_knife.mdl" } // Sounds new const g_sound_knife[] = "items/gunpickup2.wav" new const combat_sounds[][] = { "zombie_escape/knife_menu/combat_deploy.wav", "zombie_escape/knife_menu/combat_hit.wav", "zombie_escape/knife_menu/combat_hit.wav", "zombie_escape/knife_menu/combat_hit.wav", "zombie_escape/knife_menu/combat_hit.wav", "zombie_escape/knife_menu/combat_hitwall.wav", "zombie_escape/knife_menu/combat_slash.wav", "zombie_escape/knife_menu/combat_slash.wav", "zombie_escape/knife_menu/combat_stab.wav" } new const strong_sounds[][] = { "zombie_escape/knife_menu/strong_deploy.wav", "zombie_escape/knife_menu/strong_hit.wav", "zombie_escape/knife_menu/strong_hit.wav", "zombie_escape/knife_menu/strong_hit.wav", "zombie_escape/knife_menu/strong_hit.wav", "zombie_escape/knife_menu/strong_hitwall.wav", "zombie_escape/knife_menu/strong_slash.wav", "zombie_escape/knife_menu/strong_slash.wav", "zombie_escape/knife_menu/strong_stab.wav" } new const katana_sounds[][] = { "zombie_escape/knife_menu/katana_deploy.wav", "zombie_escape/knife_menu/katana_hit.wav", "zombie_escape/knife_menu/katana_hit.wav", "zombie_escape/knife_menu/katana_hit.wav", "zombie_escape/knife_menu/katana_hit.wav", "zombie_escape/knife_menu/katana_hitwall.wav", "zombie_escape/knife_menu/katana_slash.wav", "zombie_escape/knife_menu/katana_slash.wav", "zombie_escape/knife_menu/katana_stab.wav" } new const hammer_sounds[][] = { "zombie_escape/knife_menu/hammer_deploy.wav", "zombie_escape/knife_menu/hammer_hit.wav", "zombie_escape/knife_menu/hammer_hit.wav", "zombie_escape/knife_menu/hammer_hit.wav", "zombie_escape/knife_menu/hammer_hit.wav", "zombie_escape/knife_menu/hammer_hitwall.wav", "zombie_escape/knife_menu/hammer_slash.wav", "zombie_escape/knife_menu/hammer_slash.wav", "zombie_escape/knife_menu/hammer_stab.wav" } new const oldknife_sounds[][] = { "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 bool:g_bCompat[33], bool:g_bStrong[33], bool:g_bKatana[33], bool:g_bHammer[33], g_iUsedTimes[33], cvar_use_times public plugin_precache() { new i for(i = 0; i < sizeof(Hammer_Models); i++) precache_model(Hammer_Models[i]) for(i = 0; i < sizeof(Katana_Models); i++) precache_model(Katana_Models[i]) for(i = 0; i < sizeof(Compat_Models); i++) precache_model(Compat_Models[i]) for(i = 0; i < sizeof(Strong_Models); i++) precache_model(Strong_Models[i]) precache_sound(g_sound_knife) for(i = 0; i < sizeof(combat_sounds); i++) precache_sound(combat_sounds[i]) for(i = 0; i < sizeof(strong_sounds); i++) precache_sound(strong_sounds[i]) for(i = 0; i < sizeof(katana_sounds); i++) precache_sound(katana_sounds[i]) for(i = 0; i < sizeof(hammer_sounds); i++) precache_sound(hammer_sounds[i]) } public plugin_natives() { register_native("ze_open_knife_menu", "native_ze_open_knife_menu", 1) } public plugin_init() { register_plugin("[ZE] Addon: Knife Menu", "1.1", "Jack GamePlay") // Forwards register_forward(FM_EmitSound, "fw_EmitSound") // Events register_event("CurWeapon", "CurrentWeapon", "be", "1=1") // Cvars cvar_use_times = register_cvar("ze_knife_menu_use_times", "1") // Messages register_message(get_user_msgid("DeathMsg"), "DeathMsg") } public ze_user_humanized(id) { g_iUsedTimes[id] = 0 } public client_connect(id) { g_bCompat[id] = false g_bStrong[id] = false g_bKatana[id] = false g_bHammer[id] = false g_iUsedTimes[id] = 0 } public Show_Knife_Menu(id) { new menu = menu_create("\rChoose Your Knife\w:", "Knife_Menu_Functions") menu_additem(menu, "\yCombat", "", 0) menu_additem(menu, "\yGolden", "", 0) menu_additem(menu, "\yKatana", "", 0) menu_additem(menu, "\yHammer", "", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) if((g_iUsedTimes[id] < get_pcvar_num(cvar_use_times)) && !ze_is_user_zombie(id) && is_user_valid(id) && ze_get_vip_flags(id) & VIP_A) { menu_display(id, menu, 0) } else if(ze_is_user_zombie(id)) { ze_colored_print(id, "!tYou can't open knife menu due to being zombie!y.") return PLUGIN_HANDLED } else if(g_iUsedTimes[id] >= get_pcvar_num(cvar_use_times)) { ze_colored_print(id, "!tYou've used !gKnife menu!y, !twait for the next round!y!", get_pcvar_num(cvar_use_times)) return PLUGIN_HANDLED } return PLUGIN_CONTINUE } public Knife_Menu_Functions(id, menu, key) { if(!is_user_valid(id) || ze_is_user_zombie(id)) return switch(key) { case 0: // Compat { g_bCompat[id] = true g_bStrong[id] = false g_bKatana[id] = false g_bHammer[id] = false g_iUsedTimes[id]++ rg_remove_item(id, "weapon_knife") rg_give_item(id, "weapon_knife", GT_APPEND) engclient_cmd(id, "weapon_knife") emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM) } case 1: // Strong { g_bCompat[id] = false g_bStrong[id] = true g_bKatana[id] = false g_bHammer[id] = false g_iUsedTimes[id]++ rg_remove_item(id, "weapon_knife") rg_give_item(id, "weapon_knife", GT_APPEND) engclient_cmd(id, "weapon_knife") emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM) } case 2: // Katana { g_bCompat[id] = false g_bStrong[id] = false g_bKatana[id] = true g_bHammer[id] = false g_iUsedTimes[id]++ rg_remove_item(id, "weapon_knife") rg_give_item(id, "weapon_knife", GT_APPEND) engclient_cmd(id, "weapon_knife") emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM) } case 3: // Hammer { g_bCompat[id] = false g_bStrong[id] = false g_bKatana[id] = false g_bHammer[id] = true g_iUsedTimes[id]++ rg_remove_item(id, "weapon_knife") rg_give_item(id, "weapon_knife", GT_APPEND) engclient_cmd(id, "weapon_knife") emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM) } } menu_destroy(menu) } public fw_EmitSound(id, channel, const sound[]) { if(!is_user_valid(id) || ze_is_user_zombie(id)) return FMRES_IGNORED new i for(i = 0; i < sizeof(combat_sounds); i++) for(i = 0; i < sizeof(strong_sounds); i++) for(i = 0; i < sizeof(katana_sounds); i++) for(i = 0; i < sizeof(hammer_sounds); i++) { if(equal(sound, oldknife_sounds[i])) { if (g_bCompat[id]) { emit_sound(id, channel, combat_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } else if (g_bStrong[id]) { emit_sound(id, channel, strong_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } else if (g_bKatana[id]) { emit_sound(id, channel, katana_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } else if (g_bHammer[id]) { emit_sound(id, channel, hammer_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } else if (!g_bCompat[id] || !g_bStrong[id] || !g_bKatana[id] || !g_bHammer[id]) { emit_sound(id, channel, oldknife_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } } } return FMRES_IGNORED } public CurrentWeapon(id) { if(!is_user_valid(id) || ze_is_user_zombie(id)) return if(get_user_weapon(id) & CSW_KNIFE) { if(g_bCompat[id]) { cs_set_player_view_model(id, CSW_KNIFE, Compat_Models[0]) cs_set_player_weap_model(id, CSW_KNIFE, Compat_Models[1]) } else if(g_bStrong[id]) { cs_set_player_view_model(id, CSW_KNIFE, Strong_Models[0]) cs_set_player_weap_model(id, CSW_KNIFE, Strong_Models[1]) } else if(g_bKatana[id]) { cs_set_player_view_model(id, CSW_KNIFE, Katana_Models[0]) cs_set_player_weap_model(id, CSW_KNIFE, Katana_Models[1]) } else if(g_bHammer[id]) { cs_set_player_view_model(id, CSW_KNIFE, Hammer_Models[0]) cs_set_player_weap_model(id, CSW_KNIFE, Hammer_Models[1]) } else { cs_reset_player_view_model(id, CSW_KNIFE) cs_reset_player_weap_model(id, CSW_KNIFE) } } } public DeathMsg(msg_id, msg_dest, id) { static szTruncatedWeapon[33], iAttacker get_msg_arg_string(4, szTruncatedWeapon, charsmax(szTruncatedWeapon)) iAttacker = get_msg_arg_int(1) if(!is_user_valid(iAttacker) || iAttacker == get_msg_arg_int(2) || !is_user_valid(get_msg_arg_int(2))) // get_msg_arg_int(2) = iVictim return if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iAttacker) & CSW_KNIFE) { if(g_bCompat[id]) { set_msg_arg_string(4, "Combat knife") } else if(g_bStrong[id]) { set_msg_arg_string(4, "Strong knife") } else if(g_bKatana[id]) { set_msg_arg_string(4, "Katana knife") } else if(g_bHammer[id]) { set_msg_arg_string(4, "Ice knife") } } } public native_ze_open_knife_menu(id) { Show_Knife_Menu(id) }
Super Slow net :p
Nobody Is That Busy If They Make Time
So u cant upload files maximum 45 or 50 Ko? xDD i can upload this on 1second
and i can download 500 Ko/sec! Al hamdo lelah.
Super Fast Net :p
and i can download 500 Ko/sec! Al hamdo lelah.
Super Fast Net :p
Man upload it :/
-
- Veteran Member
- Posts: 678
- Joined: 7 years ago
- Location: Paraguay
- Contact:
I am outside city -_-
That is why here net is slow
Atleast I can surf the net sometimes
Nobody Is That Busy If They Make Time
- Night Fury
- Mod Developer
- Posts: 677
- Joined: 7 years ago
- Contact:
Here you go:
If knife menu disabled, this will be auto disabled too.
Don't spam anymore, solved.
Code: Select all
#include <zombie_escape>
native ze_open_knife_menu(id)
// Keys
const OFFSET_CSMENUCODE = 205
const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
public plugin_init()
{
register_plugin("[ZE] Main Menu", ZE_VERSION, AUTHORS)
// Commands
register_clcmd("chooseteam", "Cmd_ChooseTeam")
register_clcmd("say /ze", "Cmd_ChooseTeam")
register_clcmd("say_team /ze", "Cmd_ChooseTeam")
// Register Menus
register_menu("Main Menu", KEYSMENU, "Main_Menu")
}
public Cmd_ChooseTeam(id)
{
Show_Menu_Main(id)
return PLUGIN_HANDLED // Kill the Choose Team Command
}
// Main Menu
public Show_Menu_Main(id)
{
static szMenu[250]
new iLen
// Title
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w%L^n^n", id, "MAIN_MENU_TITLE")
// 1. Buy Weapons
if (is_user_alive(id))
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w1.\r %L^n", id, "MENU_WEAPONBUY")
}
else
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d1. %L^n", id, "MENU_WEAPONBUY")
}
// 2. Extra Items
if (is_user_alive(id))
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w2.\r %L^n", id, "MENU_EXTRABUY")
}
else
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d2. %L^n", id, "MENU_EXTRABUY")
}
// 3. Knife Menu
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w3.\r Knife Menu \w[\rVIP\w]")
// 0. Exit
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n^n\w0.\r %L", id, "EXIT")
// Fix for AMXX custom menus
set_pdata_int(id, OFFSET_CSMENUCODE, 0)
show_menu(id, KEYSMENU, szMenu, -1, "Main Menu")
}
// Main Menu
public Main_Menu(id, key)
{
// Player disconnected?
if (!is_user_connected(id))
return PLUGIN_HANDLED
switch (key)
{
case 0: // Buy Weapons
{
client_cmd(id, "guns")
}
case 1: // Extra Items
{
if (is_user_alive(id))
{
ze_show_items_menu(id)
}
else
{
ze_colored_print(id, "%L", id, "DEAD_CANT_BUY_WEAPON")
}
}
case 2:
{
ze_open_knife_menu(id)
}
}
return PLUGIN_HANDLED
}
Don't spam anymore, solved.
[mention]Jack GamePlay[/mention] are you kidding me? lol i did that from 1 week ago i just need to compile knife menu only for vip's with flag A. cuz it wont compile for me that's not spam i see. like you said it's INTERNET
Here the code:
Code: Select all
#include <ze_vip> #define is_user_valid(%1) (is_user_alive(%1) && !is_user_bot(%1) && !is_user_hltv(%1)) // Models new const Compat_Models[][] = { "models/zombie_escape/v_combat_knife.mdl", "models/zombie_escape/p_combat_knife.mdl" } new const Strong_Models[][] = { "models/zombie_escape/v_strong_knife.mdl", "models/zombie_escape/p_strong_knife.mdl" } new const Katana_Models[][] = { "models/zombie_escape/v_katana_knife.mdl", "models/zombie_escape/p_katana_knife.mdl" } new const Hammer_Models[][] = { "models/zombie_escape/v_hammer_knife.mdl", "models/zombie_escape/p_hammer_knife.mdl" } // Sounds new const g_sound_knife[] = "items/gunpickup2.wav" new const combat_sounds[][] = { "zombie_escape/knife_menu/combat_deploy.wav", "zombie_escape/knife_menu/combat_hit.wav", "zombie_escape/knife_menu/combat_hit.wav", "zombie_escape/knife_menu/combat_hit.wav", "zombie_escape/knife_menu/combat_hit.wav", "zombie_escape/knife_menu/combat_hitwall.wav", "zombie_escape/knife_menu/combat_slash.wav", "zombie_escape/knife_menu/combat_slash.wav", "zombie_escape/knife_menu/combat_stab.wav" } new const strong_sounds[][] = { "zombie_escape/knife_menu/strong_deploy.wav", "zombie_escape/knife_menu/strong_hit.wav", "zombie_escape/knife_menu/strong_hit.wav", "zombie_escape/knife_menu/strong_hit.wav", "zombie_escape/knife_menu/strong_hit.wav", "zombie_escape/knife_menu/strong_hitwall.wav", "zombie_escape/knife_menu/strong_slash.wav", "zombie_escape/knife_menu/strong_slash.wav", "zombie_escape/knife_menu/strong_stab.wav" } new const katana_sounds[][] = { "zombie_escape/knife_menu/katana_deploy.wav", "zombie_escape/knife_menu/katana_hit.wav", "zombie_escape/knife_menu/katana_hit.wav", "zombie_escape/knife_menu/katana_hit.wav", "zombie_escape/knife_menu/katana_hit.wav", "zombie_escape/knife_menu/katana_hitwall.wav", "zombie_escape/knife_menu/katana_slash.wav", "zombie_escape/knife_menu/katana_slash.wav", "zombie_escape/knife_menu/katana_stab.wav" } new const hammer_sounds[][] = { "zombie_escape/knife_menu/hammer_deploy.wav", "zombie_escape/knife_menu/hammer_hit.wav", "zombie_escape/knife_menu/hammer_hit.wav", "zombie_escape/knife_menu/hammer_hit.wav", "zombie_escape/knife_menu/hammer_hit.wav", "zombie_escape/knife_menu/hammer_hitwall.wav", "zombie_escape/knife_menu/hammer_slash.wav", "zombie_escape/knife_menu/hammer_slash.wav", "zombie_escape/knife_menu/hammer_stab.wav" } new const oldknife_sounds[][] = { "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 bool:g_bCompat[33], bool:g_bStrong[33], bool:g_bKatana[33], bool:g_bHammer[33], g_iUsedTimes[33], cvar_use_times public plugin_precache() { new i for(i = 0; i < sizeof(Hammer_Models); i++) precache_model(Hammer_Models[i]) for(i = 0; i < sizeof(Katana_Models); i++) precache_model(Katana_Models[i]) for(i = 0; i < sizeof(Compat_Models); i++) precache_model(Compat_Models[i]) for(i = 0; i < sizeof(Strong_Models); i++) precache_model(Strong_Models[i]) precache_sound(g_sound_knife) for(i = 0; i < sizeof(combat_sounds); i++) precache_sound(combat_sounds[i]) for(i = 0; i < sizeof(strong_sounds); i++) precache_sound(strong_sounds[i]) for(i = 0; i < sizeof(katana_sounds); i++) precache_sound(katana_sounds[i]) for(i = 0; i < sizeof(hammer_sounds); i++) precache_sound(hammer_sounds[i]) } public plugin_natives() { register_native("ze_open_knife_menu", "native_ze_open_knife_menu", 1) } public plugin_init() { register_plugin("[ZE] Addon: Knife Menu", "1.1", "Jack GamePlay") // Forwards register_forward(FM_EmitSound, "fw_EmitSound") // Events register_event("CurWeapon", "CurrentWeapon", "be", "1=1") // Cvars cvar_use_times = register_cvar("ze_knife_menu_use_times", "1") // Messages register_message(get_user_msgid("DeathMsg"), "DeathMsg") } public ze_user_humanized(id) { g_iUsedTimes[id] = 0 } public client_connect(id) { g_bCompat[id] = false g_bStrong[id] = false g_bKatana[id] = false g_bHammer[id] = false g_iUsedTimes[id] = 0 } public Show_Knife_Menu(id) { new menu = menu_create("\rChoose Your Knife\w:", "Knife_Menu_Functions") menu_additem(menu, "\yCombat", "", 0) menu_additem(menu, "\yGolden", "", 0) menu_additem(menu, "\yKatana", "", 0) menu_additem(menu, "\yHammer", "", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) if((g_iUsedTimes[id] < get_pcvar_num(cvar_use_times)) && !ze_is_user_zombie(id) && is_user_valid(id) && ze_get_vip_flags(id) & VIP_A) { menu_display(id, menu, 0) } else if(ze_is_user_zombie(id)) { ze_colored_print(id, "!tYou can't open knife menu due to being zombie!y.") return PLUGIN_HANDLED } else if(g_iUsedTimes[id] >= get_pcvar_num(cvar_use_times)) { ze_colored_print(id, "!tYou've used !gKnife menu!y, !twait for the next round!y!", get_pcvar_num(cvar_use_times)) return PLUGIN_HANDLED } return PLUGIN_CONTINUE } public Knife_Menu_Functions(id, menu, key) { if(!is_user_valid(id) || ze_is_user_zombie(id)) return switch(key) { case 0: // Compat { g_bCompat[id] = true g_bStrong[id] = false g_bKatana[id] = false g_bHammer[id] = false g_iUsedTimes[id]++ rg_remove_item(id, "weapon_knife") rg_give_item(id, "weapon_knife", GT_APPEND) engclient_cmd(id, "weapon_knife") emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM) } case 1: // Strong { g_bCompat[id] = false g_bStrong[id] = true g_bKatana[id] = false g_bHammer[id] = false g_iUsedTimes[id]++ rg_remove_item(id, "weapon_knife") rg_give_item(id, "weapon_knife", GT_APPEND) engclient_cmd(id, "weapon_knife") emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM) } case 2: // Katana { g_bCompat[id] = false g_bStrong[id] = false g_bKatana[id] = true g_bHammer[id] = false g_iUsedTimes[id]++ rg_remove_item(id, "weapon_knife") rg_give_item(id, "weapon_knife", GT_APPEND) engclient_cmd(id, "weapon_knife") emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM) } case 3: // Hammer { g_bCompat[id] = false g_bStrong[id] = false g_bKatana[id] = false g_bHammer[id] = true g_iUsedTimes[id]++ rg_remove_item(id, "weapon_knife") rg_give_item(id, "weapon_knife", GT_APPEND) engclient_cmd(id, "weapon_knife") emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM) } } menu_destroy(menu) } public fw_EmitSound(id, channel, const sound[]) { if(!is_user_valid(id) || ze_is_user_zombie(id)) return FMRES_IGNORED new i for(i = 0; i < sizeof(combat_sounds); i++) for(i = 0; i < sizeof(strong_sounds); i++) for(i = 0; i < sizeof(katana_sounds); i++) for(i = 0; i < sizeof(hammer_sounds); i++) { if(equal(sound, oldknife_sounds[i])) { if (g_bCompat[id]) { emit_sound(id, channel, combat_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } else if (g_bStrong[id]) { emit_sound(id, channel, strong_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } else if (g_bKatana[id]) { emit_sound(id, channel, katana_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } else if (g_bHammer[id]) { emit_sound(id, channel, hammer_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } else if (!g_bCompat[id] || !g_bStrong[id] || !g_bKatana[id] || !g_bHammer[id]) { emit_sound(id, channel, oldknife_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } } } return FMRES_IGNORED } public CurrentWeapon(id) { if(!is_user_valid(id) || ze_is_user_zombie(id)) return if(get_user_weapon(id) & CSW_KNIFE) { if(g_bCompat[id]) { cs_set_player_view_model(id, CSW_KNIFE, Compat_Models[0]) cs_set_player_weap_model(id, CSW_KNIFE, Compat_Models[1]) } else if(g_bStrong[id]) { cs_set_player_view_model(id, CSW_KNIFE, Strong_Models[0]) cs_set_player_weap_model(id, CSW_KNIFE, Strong_Models[1]) } else if(g_bKatana[id]) { cs_set_player_view_model(id, CSW_KNIFE, Katana_Models[0]) cs_set_player_weap_model(id, CSW_KNIFE, Katana_Models[1]) } else if(g_bHammer[id]) { cs_set_player_view_model(id, CSW_KNIFE, Hammer_Models[0]) cs_set_player_weap_model(id, CSW_KNIFE, Hammer_Models[1]) } else { cs_reset_player_view_model(id, CSW_KNIFE) cs_reset_player_weap_model(id, CSW_KNIFE) } } } public DeathMsg(msg_id, msg_dest, id) { static szTruncatedWeapon[33], iAttacker get_msg_arg_string(4, szTruncatedWeapon, charsmax(szTruncatedWeapon)) iAttacker = get_msg_arg_int(1) if(!is_user_valid(iAttacker) || iAttacker == get_msg_arg_int(2) || !is_user_valid(get_msg_arg_int(2))) // get_msg_arg_int(2) = iVictim return if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iAttacker) & CSW_KNIFE) { if(g_bCompat[id]) { set_msg_arg_string(4, "Combat knife") } else if(g_bStrong[id]) { set_msg_arg_string(4, "Strong knife") } else if(g_bKatana[id]) { set_msg_arg_string(4, "Katana knife") } else if(g_bHammer[id]) { set_msg_arg_string(4, "Ice knife") } } } public native_ze_open_knife_menu(id) { Show_Knife_Menu(id) }
He who fails to plan is planning to fail
Thanks but people can press 3.Knife Menu but dont work only for vips
Create an account or sign in to join the discussion
You need to be a member in order to post a reply
Create an account
Not a member? register to join our community
Members can start their own topics & subscribe to topics
It’s free and only takes a minute
Sign in
Who is online
Users browsing this forum: No registered users and 2 guests