Knife Menu
Raheem i have a nice trick can you update it to v1.2
put Hammer only for VIP like this
Hammer (V.I.P) !!
put Hammer only for VIP like this
Hammer (V.I.P) !!
-
- Veteran Member
- Posts: 678
- Joined: 7 years ago
- Location: Paraguay
- Contact:
O.o Ask Jack to do that And update rad file and code
It is just work of 30sec
Nobody Is That Busy If They Make Time
Haha [mention]Jack GamePlay[/mention] can u do it ?
- Night Fury
- Mod Developer
- Posts: 677
- Joined: 7 years ago
- Contact:
Ok,this plugin killed my knife How?
I have added a special v_knife for humans on my servers from zombie_escape.ini what's the problem? Problem is when i turn this knife menu plugin ON my knife stop working, Fix that plugin
I have added a special v_knife for humans on my servers from zombie_escape.ini what's the problem? Problem is when i turn this knife menu plugin ON my knife stop working, Fix that plugin
You mean if you set default human knife from zombie_escape.ini then this plugin knife menu will make it default not the model you set in .ini?
He who fails to plan is planning to fail
Yes bro :/
I'll update the main plugin with this but later here is the working one:
He who fails to plan is planning to fail
but i wanna compile something's raheem i'll do this for vip's and i'll edit some things in ze_main_menu look at scripting section . is that error from my compiler or from codes? Thanks for knife menu test it raheem it says to me there's 1 Warning.
- Night Fury
- Mod Developer
- Posts: 677
- Joined: 7 years ago
- Contact:
Go do it by yourself if you can't wait.
lol, already did but i said to him should update every main plugin dont make updates and main plugin still in old versions
anyone can make my knife menu only for vips ? with Flag A
Code: Select all
#include <zombie_escape>
#define is_user_valid(%1) (is_user_alive(%1) && !is_user_bot(%1) && !is_user_hltv(%1))
// Setting File
new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"
// Models
new const Compat_Models[][] =
{
"models/BraZZers_ZE/knife_menu/v_shadow_knife.mdl",
"models/BraZZers_ZE/knife_menu/p_shadow_knife.mdl"
}
new const Strong_Models[][] =
{
"models/BraZZers_ZE/knife_menu/v_light_knife.mdl",
"models/BraZZers_ZE/knife_menu/p_light_knife.mdl"
}
new const Katana_Models[][] =
{
"models/BraZZers_ZE/knife_menu/v_katana_knife.mdl",
"models/BraZZers_ZE/knife_menu/p_katana_knife.mdl"
}
new const Hammer_Models[][] =
{
"models/BraZZers_ZE/knife_menu/v_hammer_knife.mdl",
"models/BraZZers_ZE/knife_menu/p_hammer_knife.mdl"
}
// Sounds
new const g_sound_knife[] = "items/gunpickup2.wav"
new const combat_sounds[][] =
{
"BraZZers_ZE/knife_menu/shadow_deploy.wav",
"BraZZers_ZE/knife_menu/shadow_hit.wav",
"BraZZers_ZE/knife_menu/shadow_hit.wav",
"BraZZers_ZE/knife_menu/shadow_hit.wav",
"BraZZers_ZE/knife_menu/shadow_hit.wav",
"BraZZers_ZE/knife_menu/shadow_hitwall.wav",
"BraZZers_ZE/knife_menu/shadow_slash.wav",
"BraZZers_ZE/knife_menu/shadow_slash.wav",
"BraZZers_ZE/knife_menu/shadow_stab.wav"
}
new const strong_sounds[][] =
{
"BraZZers_ZE/knife_menu/light_deploy.wav",
"BraZZers_ZE/knife_menu/light_hit.wav",
"BraZZers_ZE/knife_menu/light_hit.wav",
"BraZZers_ZE/knife_menu/light_hit.wav",
"BraZZers_ZE/knife_menu/light_hit.wav",
"BraZZers_ZE/knife_menu/light_hitwall.wav",
"BraZZers_ZE/knife_menu/light_slash.wav",
"BraZZers_ZE/knife_menu/light_slash.wav",
"BraZZers_ZE/knife_menu/light_stab.wav"
}
new const katana_sounds[][] =
{
"BraZZers_ZE/knife_menu/katana_deploy.wav",
"BraZZers_ZE/knife_menu/katana_hit.wav",
"BraZZers_ZE/knife_menu/katana_hit.wav",
"BraZZers_ZE/knife_menu/katana_hit.wav",
"BraZZers_ZE/knife_menu/katana_hit.wav",
"BraZZers_ZE/knife_menu/katana_hitwall.wav",
"BraZZers_ZE/knife_menu/katana_slash.wav",
"BraZZers_ZE/knife_menu/katana_slash.wav",
"BraZZers_ZE/knife_menu/katana_stab.wav"
}
new const hammer_sounds[][] =
{
"BraZZers_ZE/knife_menu/hammer_deploy.wav",
"BraZZers_ZE/knife_menu/hammer_hit.wav",
"BraZZers_ZE/knife_menu/hammer_hit.wav",
"BraZZers_ZE/knife_menu/hammer_hit.wav",
"BraZZers_ZE/knife_menu/hammer_hit.wav",
"BraZZers_ZE/knife_menu/hammer_hitwall.wav",
"BraZZers_ZE/knife_menu/hammer_slash.wav",
"BraZZers_ZE/knife_menu/hammer_slash.wav",
"BraZZers_ZE/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
// Dynamic Arrays
new Array:g_szNormalModel
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])
// Initialize arrays
g_szNormalModel = ArrayCreate(64, 1)
// Load from external file
amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN", g_szNormalModel)
}
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, "\yShadow", "", 0)
menu_additem(menu, "\yLight", "", 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))
{
menu_display(id, menu, 0)
}
else if(ze_is_user_zombie(id))
{
ze_colored_print(id, "!tYou can't open !gKnife menu !tdue to being !gZombie!y.")
return PLUGIN_HANDLED
}
else if(g_iUsedTimes[id] >= get_pcvar_num(cvar_use_times))
{
ze_colored_print(id, "!tYou have already chosen your !gKnife!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
{
new szModel[64]
ArrayGetString(g_szNormalModel, random_num(0, ArraySize(g_szNormalModel) - 1), szModel, charsmax(szModel))
cs_set_player_view_model(id, CSW_KNIFE, szModel)
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)
}
Solved i've coded to vips only.
DRK Zombie-Escape V1.6
IP : 81.169.153.129:27015
IP : 81.169.153.129:27015
- Night Fury
- Mod Developer
- Posts: 677
- Joined: 7 years ago
- Contact:
*BUMB*
-
- Veteran Member
- Posts: 598
- Joined: 7 years ago
- Contact:
This menu doesnt show on my server, plugin compiled without errors but I dont have this knife menu..
- Night Fury
- Mod Developer
- Posts: 677
- Joined: 7 years ago
- Contact:
Fixed now.czirimbolo wrote: ↑5 years ago This menu doesnt show on my server, plugin compiled without errors but I dont have this knife menu..
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 0 guests