Available Help me in this request please

Unpaid Requests, Public Plugins
Post Reply
ZombieEscape
Member
Member
Posts: 8
Joined: 5 years ago
Contact:

Help me in this request please

#1

Post by ZombieEscape » 5 years ago

hello i want anyone to edit this knife menu plugin
viewtopic.php?f=15&t=88
and make the second 2. knife only for vips with vip access and the last 2 knives 3. + 4. with admin accesses for example (ADMIN_BAN + ADMIN_KICK) only these knives can choose it who have the access of it , hope anyone help me on it i am really in need of it and thank you all.

User avatar
Night Fury
Mod Developer
Mod Developer
Posts: 677
Joined: 7 years ago
Contact:

#2

Post by Night Fury » 5 years ago

Code: Select all

#include <zombie_escape>
#include <ze_vip>
 
#define VIP_ACCESS VIP_A
#define ADMIN_ACCESS ADMIN_LEVEL_H

// 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], g_pCvarUseTimes

public plugin_precache()
{
	new i

	for (i = 0; i <= charsmax(Compat_Models); i++)
		precache_model(Compat_Models[i])

	for (i = 0; i <= charsmax(Hammer_Models); i++)
		precache_model(Hammer_Models[i])

	for (i = 0; i <= charsmax(Katana_Models); i++)
		precache_model(Katana_Models[i])

	for (i = 0; i <= charsmax(Strong_Models); i++)
		precache_model(Strong_Models[i])

	for (i = 0; i <= charsmax(combat_sounds); i++)
		precache_sound(combat_sounds[i])

	for (i = 0; i <= charsmax(strong_sounds); i++)
		precache_sound(strong_sounds[i])

	for (i = 0; i <= charsmax(katana_sounds); i++)
		precache_sound(katana_sounds[i])

	for (i = 0; i <= charsmax(hammer_sounds); i++)
		precache_sound(hammer_sounds[i])

	precache_sound(g_sound_knife)
}
 
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.2", "Jack GamePlay")

	register_forward(FM_EmitSound, "fw_EmitSound")

	register_event("CurWeapon", "CurrentWeapon", "be", "1=1")

	g_pCvarUseTimes = register_cvar("ze_knife_menu_use_times", "1")

	register_message(get_user_msgid("DeathMsg"), "DeathMsg")

	register_clcmd("say /k", "Show_Knife_Menu")
}
 
public ze_user_humanized(id)
{
	g_iUsedTimes[id] = 0
}

public ze_user_infected(Victim)
{
	g_bCompat[Victim] = false
	g_bStrong[Victim] = false
	g_bKatana[Victim] = false
	g_bHammer[Victim] = false
	g_iUsedTimes[Victim] = 0
}

public client_putinserver(id)
{
	g_bCompat[id] = false
	g_bStrong[id] = false
	g_bKatana[id] = false
	g_bHammer[id] = false
	g_iUsedTimes[id] = 0
}

public client_disconnected(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)
{
	if (!is_user_connected(id))
		return PLUGIN_CONTINUE

	if (ze_is_user_zombie(id))
	{
		ze_colored_print(id, "!tZombies can't open knife menu!y.")
		return PLUGIN_HANDLED
	}

	if (g_iUsedTimes[id] >= get_pcvar_num(g_pCvarUseTimes))
	{
		ze_colored_print(id, "!tMaximum have been reached !y[!g%d!y]!", get_pcvar_num(g_pCvarUseTimes))
		return PLUGIN_HANDLED
	}

	if (!is_user_alive(id))
	{
		ze_colored_print(id, "!tDead can't open knife menu!y.")
		return PLUGIN_HANDLED
	}

	Knife_Menu(id)
	return PLUGIN_CONTINUE
}
 
public Knife_Menu(id)
{
	new iMenu = menu_create("\rChoose Your Knife\w:", "Menu_Handler")
	menu_additem(iMenu, "\yCombat", "", 0)
	if (ze_get_vip_flags(id) & VIP_ACCESS)
	{
		menu_additem(iMenu, "\yStrong", "", 0)
	}
	else
	{
		menu_additem(iMenu, "\dStrong", "", 0)
	}

	if (get_user_flags(id) & ADMIN_ACCESS)
	{
		menu_additem(iMenu, "\yKatana", "", 0)
		menu_additem(iMenu, "\yHammer", "", 0)
	}
	else
	{
		menu_additem(iMenu, "\dKatana", "", 0)
		menu_additem(iMenu, "\dHammer", "", 0)
	}
	
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL)
	menu_display(id, iMenu, 0)
}
 
public Menu_Handler(id, iMenu, iKey)
{
	if(!is_user_alive(id) || ze_is_user_zombie(id))
	{
		menu_destroy(iMenu)
		return PLUGIN_HANDLED
	}
		
	switch(iKey)
	{
		case 0: // Compat
		{
			g_bCompat[id] = true
			g_bStrong[id] = false
			g_bKatana[id] = false
			g_bHammer[id] = false
			/*rg_remove_item(id, "weapon_knife")
			rg_give_item(id, "weapon_knife", GT_APPEND)
			engclient_cmd(id, "weapon_knife")
			g_iUsedTimes[id]++
			emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
		}
		case 1: // Strong
		{
			if (ze_get_vip_flags(id) & VIP_ACCESS)
			{
				g_bCompat[id] = false
				g_bStrong[id] = true
				g_bKatana[id] = false
				g_bHammer[id] = false
				/*rg_remove_item(id, "weapon_knife")
				rg_give_item(id, "weapon_knife", GT_APPEND)
				engclient_cmd(id, "weapon_knife")
				g_iUsedTimes[id]++
				emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
			}
			else
			{
				ze_colored_print(id, "!tNo access!y.")
			}
		}
		case 2: // Katana
		{
			if (get_user_flags(id) & ADMIN_ACCESS)
			{
				g_bCompat[id] = false
				g_bStrong[id] = false
				g_bKatana[id] = true
				g_bHammer[id] = false
				/*rg_remove_item(id, "weapon_knife")
				rg_give_item(id, "weapon_knife", GT_APPEND)
				engclient_cmd(id, "weapon_knife")
				g_iUsedTimes[id]++
				emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
			}
			else
			{
				ze_colored_print(id, "!tNo access!y.")
			}
		}
		case 3: // Hammer
		{
			if (get_user_flags(id) & ADMIN_ACCESS)
			{
				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")
				g_iUsedTimes[id]++
				emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
			}
			else
			{
				ze_colored_print(id, "!tNo access!y.")
			}
		}
	}

	rg_remove_item(id, "weapon_knife")
	rg_give_item(id, "weapon_knife", GT_APPEND)
	engclient_cmd(id, "weapon_knife")
	g_iUsedTimes[id]++
	emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)
	return PLUGIN_HANDLED
}
 
public fw_EmitSound(id, channel, const sound[])
{
    if (!is_user_alive(id) || ze_is_user_zombie(id))
        return FMRES_IGNORED
       
    new i
    for (i = 0; i <= charsmax(combat_sounds); i++)
    for (i = 0; i <= charsmax(strong_sounds); i++)
    for (i = 0; i <= charsmax(katana_sounds); i++)
    for (i = 0; i <= charsmax(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_alive(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_alive(iAttacker) || iAttacker == get_msg_arg_int(2) || !is_user_alive(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)
}
Want your own mod edition? PM me.
Accepting private projects.
Discord: Fury#7469
Image

ZombieEscape
Member
Member
Posts: 8
Joined: 5 years ago
Contact:

#3

Post by ZombieEscape » 5 years ago

Jack GamePlay wrote: 5 years ago

Code: Select all

#include <zombie_escape>
#include <ze_vip>
 
#define VIP_ACCESS VIP_A
#define ADMIN_ACCESS ADMIN_LEVEL_H

// 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], g_pCvarUseTimes

public plugin_precache()
{
	new i

	for (i = 0; i <= charsmax(Compat_Models); i++)
		precache_model(Compat_Models[i])

	for (i = 0; i <= charsmax(Hammer_Models); i++)
		precache_model(Hammer_Models[i])

	for (i = 0; i <= charsmax(Katana_Models); i++)
		precache_model(Katana_Models[i])

	for (i = 0; i <= charsmax(Strong_Models); i++)
		precache_model(Strong_Models[i])

	for (i = 0; i <= charsmax(combat_sounds); i++)
		precache_sound(combat_sounds[i])

	for (i = 0; i <= charsmax(strong_sounds); i++)
		precache_sound(strong_sounds[i])

	for (i = 0; i <= charsmax(katana_sounds); i++)
		precache_sound(katana_sounds[i])

	for (i = 0; i <= charsmax(hammer_sounds); i++)
		precache_sound(hammer_sounds[i])

	precache_sound(g_sound_knife)
}
 
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.2", "Jack GamePlay")

	register_forward(FM_EmitSound, "fw_EmitSound")

	register_event("CurWeapon", "CurrentWeapon", "be", "1=1")

	g_pCvarUseTimes = register_cvar("ze_knife_menu_use_times", "1")

	register_message(get_user_msgid("DeathMsg"), "DeathMsg")

	register_clcmd("say /k", "Show_Knife_Menu")
}
 
public ze_user_humanized(id)
{
	g_iUsedTimes[id] = 0
}

public ze_user_infected(Victim)
{
	g_bCompat[Victim] = false
	g_bStrong[Victim] = false
	g_bKatana[Victim] = false
	g_bHammer[Victim] = false
	g_iUsedTimes[Victim] = 0
}

public client_putinserver(id)
{
	g_bCompat[id] = false
	g_bStrong[id] = false
	g_bKatana[id] = false
	g_bHammer[id] = false
	g_iUsedTimes[id] = 0
}

public client_disconnected(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)
{
	if (!is_user_connected(id))
		return PLUGIN_CONTINUE

	if (ze_is_user_zombie(id))
	{
		ze_colored_print(id, "!tZombies can't open knife menu!y.")
		return PLUGIN_HANDLED
	}

	if (g_iUsedTimes[id] >= get_pcvar_num(g_pCvarUseTimes))
	{
		ze_colored_print(id, "!tMaximum have been reached !y[!g%d!y]!", get_pcvar_num(g_pCvarUseTimes))
		return PLUGIN_HANDLED
	}

	if (!is_user_alive(id))
	{
		ze_colored_print(id, "!tDead can't open knife menu!y.")
		return PLUGIN_HANDLED
	}

	Knife_Menu(id)
	return PLUGIN_CONTINUE
}
 
public Knife_Menu(id)
{
	new iMenu = menu_create("\rChoose Your Knife\w:", "Menu_Handler")
	menu_additem(iMenu, "\yCombat", "", 0)
	if (ze_get_vip_flags(id) & VIP_ACCESS)
	{
		menu_additem(iMenu, "\yStrong", "", 0)
	}
	else
	{
		menu_additem(iMenu, "\dStrong", "", 0)
	}

	if (get_user_flags(id) & ADMIN_ACCESS)
	{
		menu_additem(iMenu, "\yKatana", "", 0)
		menu_additem(iMenu, "\yHammer", "", 0)
	}
	else
	{
		menu_additem(iMenu, "\dKatana", "", 0)
		menu_additem(iMenu, "\dHammer", "", 0)
	}
	
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL)
	menu_display(id, iMenu, 0)
}
 
public Menu_Handler(id, iMenu, iKey)
{
	if(!is_user_alive(id) || ze_is_user_zombie(id))
	{
		menu_destroy(iMenu)
		return PLUGIN_HANDLED
	}
		
	switch(iKey)
	{
		case 0: // Compat
		{
			g_bCompat[id] = true
			g_bStrong[id] = false
			g_bKatana[id] = false
			g_bHammer[id] = false
			/*rg_remove_item(id, "weapon_knife")
			rg_give_item(id, "weapon_knife", GT_APPEND)
			engclient_cmd(id, "weapon_knife")
			g_iUsedTimes[id]++
			emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
		}
		case 1: // Strong
		{
			if (ze_get_vip_flags(id) & VIP_ACCESS)
			{
				g_bCompat[id] = false
				g_bStrong[id] = true
				g_bKatana[id] = false
				g_bHammer[id] = false
				/*rg_remove_item(id, "weapon_knife")
				rg_give_item(id, "weapon_knife", GT_APPEND)
				engclient_cmd(id, "weapon_knife")
				g_iUsedTimes[id]++
				emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
			}
			else
			{
				ze_colored_print(id, "!tNo access!y.")
			}
		}
		case 2: // Katana
		{
			if (get_user_flags(id) & ADMIN_ACCESS)
			{
				g_bCompat[id] = false
				g_bStrong[id] = false
				g_bKatana[id] = true
				g_bHammer[id] = false
				/*rg_remove_item(id, "weapon_knife")
				rg_give_item(id, "weapon_knife", GT_APPEND)
				engclient_cmd(id, "weapon_knife")
				g_iUsedTimes[id]++
				emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
			}
			else
			{
				ze_colored_print(id, "!tNo access!y.")
			}
		}
		case 3: // Hammer
		{
			if (get_user_flags(id) & ADMIN_ACCESS)
			{
				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")
				g_iUsedTimes[id]++
				emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
			}
			else
			{
				ze_colored_print(id, "!tNo access!y.")
			}
		}
	}

	rg_remove_item(id, "weapon_knife")
	rg_give_item(id, "weapon_knife", GT_APPEND)
	engclient_cmd(id, "weapon_knife")
	g_iUsedTimes[id]++
	emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)
	return PLUGIN_HANDLED
}
 
public fw_EmitSound(id, channel, const sound[])
{
    if (!is_user_alive(id) || ze_is_user_zombie(id))
        return FMRES_IGNORED
       
    new i
    for (i = 0; i <= charsmax(combat_sounds); i++)
    for (i = 0; i <= charsmax(strong_sounds); i++)
    for (i = 0; i <= charsmax(katana_sounds); i++)
    for (i = 0; i <= charsmax(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_alive(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_alive(iAttacker) || iAttacker == get_msg_arg_int(2) || !is_user_alive(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)
}
Hello,
Thanks a lot Jack it worked and i followed your method to make all with access and it's OK :)
Just there is problem with your plugin if you can fix it, if i chose knife from menu and got infected to zombie at new round will see that my knife got reset to cs1.6 knife so can we fix this and make the knife be with human which chose it all the map however he got infected or not? also again i thank you :)

User avatar
Night Fury
Mod Developer
Mod Developer
Posts: 677
Joined: 7 years ago
Contact:

#4

Post by Night Fury » 5 years ago

Remove this part:

Code: Select all

public ze_user_infected(Victim)
{
	g_bCompat[Victim] = false
	g_bStrong[Victim] = false
	g_bKatana[Victim] = false
	g_bHammer[Victim] = false
	g_iUsedTimes[Victim] = 0
}
Want your own mod edition? PM me.
Accepting private projects.
Discord: Fury#7469
Image

ZombieEscape
Member
Member
Posts: 8
Joined: 5 years ago
Contact:

#5

Post by ZombieEscape » 5 years ago

Jack GamePlay wrote: 5 years ago Remove this part:

Code: Select all

public ze_user_infected(Victim)
{
	g_bCompat[Victim] = false
	g_bStrong[Victim] = false
	g_bKatana[Victim] = false
	g_bHammer[Victim] = false
	g_iUsedTimes[Victim] = 0
}
Thanks a lot it's working fine now, i just have last request can you please include in knife_main_menu (Unstuck) because i tried the tutorial that Raheem made it like about 3 hours and failed, so if you can do it for me?
I would be thankful in all cases thanks anyway man :D

User avatar
Night Fury
Mod Developer
Mod Developer
Posts: 677
Joined: 7 years ago
Contact:

#6

Post by Night Fury » 5 years ago

ZombieEscape wrote: 5 years ago Thanks a lot it's working fine now, i just have last request can you please include in knife_main_menu (Unstuck) because i tried the tutorial that Raheem made it like about 3 hours and failed, so if you can do it for me?
I would be thankful in all cases thanks anyway man :D

?!
Want your own mod edition? PM me.
Accepting private projects.
Discord: Fury#7469
Image

ZombieEscape
Member
Member
Posts: 8
Joined: 5 years ago
Contact:

#7

Post by ZombieEscape » 5 years ago

Hello,
I mean can you add for me Unstuck in ze_main_menu plugin that you added in your Knife Menu plugin?
Because i failed to do it many times, hope you do it please i really in need it..
Thanks man.

User avatar
DarkZombie
Member
Member
Hungary
Posts: 76
Joined: 5 years ago
Contact:

#8

Post by DarkZombie » 5 years ago

I think that's what you mean: viewtopic.php?f=7&t=1971

ZombieEscape
Member
Member
Posts: 8
Joined: 5 years ago
Contact:

#9

Post by ZombieEscape » 5 years ago

DarkZombie wrote: 5 years ago I think that's what you mean: viewtopic.php?f=7&t=1971
Already tried it but failed, more than 3 hours trying and the result fail....
so if you can make it for me? as you have the full knowledge you will not lose anything?
Thanks anyway.

User avatar
Night Fury
Mod Developer
Mod Developer
Posts: 677
Joined: 7 years ago
Contact:

#10

Post by Night Fury » 5 years ago

ZombieEscape wrote: 5 years ago Hello,
I mean can you add for me Unstuck in ze_main_menu plugin that you added in your Knife Menu plugin?
Because i failed to do it many times, hope you do it please i really in need it..
Thanks man.
Provide the code you edited.
Want your own mod edition? PM me.
Accepting private projects.
Discord: Fury#7469
Image

ZombieEscape
Member
Member
Posts: 8
Joined: 5 years ago
Contact:

#11

Post by ZombieEscape » 5 years ago

Jack GamePlay wrote: 5 years ago
ZombieEscape wrote: 5 years ago Hello,
I mean can you add for me Unstuck in ze_main_menu plugin that you added in your Knife Menu plugin?
Because i failed to do it many times, hope you do it please i really in need it..
Thanks man.
Provide the code you edited.
Hey,
https://www.dropbox.com/s/4ttjx8vfrob7s ... u.sma?dl=0
here is it, and thanks a lot

User avatar
Night Fury
Mod Developer
Mod Developer
Posts: 677
Joined: 7 years ago
Contact:

#12

Post by Night Fury » 5 years ago

ZombieEscape wrote: 5 years ago Hey,
https://www.dropbox.com/s/4ttjx8vfrob7s ... u.sma?dl=0
here is it, and thanks a lot
Provide your code directly next time.
Try:

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)
{
	if (!is_user_connected(id))
		return PLUGIN_CONTINUE;
	
	if (get_member(id, m_iTeam) == TEAM_TERRORIST || get_member(id, m_iTeam) == TEAM_CT)
	{
		Show_Menu_Main(id)
		return PLUGIN_HANDLED // Kill the Choose Team Command
	}
	
	// Player in Spec? Allow him to open choose team menu so he can join
	return PLUGIN_CONTINUE
}

// 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 (!ze_is_auto_buy_enabled(id)) // AutoBuy not enabled - normal case
	{
		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")
		}
	}
	else
	{
		// Auto-Buy enabled - Re-enable case
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w1.\r %L^n", id, "MENU_WEAPONBUY_RE_ENABLE")
	}
	
	// 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
	if (is_user_alive(id))
	{
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w3.\r Knife menu^n")
	}
	else
	{
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d3. Knife menu^n")
	}

		// 3. Knife menu
	if (is_user_alive(id))
	{
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w3.\rUnstuck^n")
	}
	else
	{
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d3. Unstuck^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
		{
			if (!ze_is_auto_buy_enabled(id))
			{
				ze_show_weapon_menu(id)
			}
			else
			{
				ze_disable_auto_buy(id)
				Show_Menu_Main(id)
			}
		}
		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: // Knife menu
		{
			if (is_user_alive(id))
			{
				ze_open_knife_menu(id)
			}
			else
			{
				ze_colored_print(id, "%L", id, "DEAD_CANT_BUY_WEAPON")
			}
		}
		case 2: // Knife menu
		{
			if (is_user_alive(id))
			{
				client_cmd(id, "say /unstuck")
			}
			else
			{
				ze_colored_print(id, "%L", id, "DEAD_CANT_BUY_WEAPON")
			}
		}
	}
	return PLUGIN_HANDLED
}
Want your own mod edition? PM me.
Accepting private projects.
Discord: Fury#7469
Image

ZombieEscape
Member
Member
Posts: 8
Joined: 5 years ago
Contact:

#13

Post by ZombieEscape » 5 years ago

Jack GamePlay wrote: 5 years ago
ZombieEscape wrote: 5 years ago Hey,
https://www.dropbox.com/s/4ttjx8vfrob7s ... u.sma?dl=0
here is it, and thanks a lot
Provide your code directly next time.
Try:

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)
{
	if (!is_user_connected(id))
		return PLUGIN_CONTINUE;
	
	if (get_member(id, m_iTeam) == TEAM_TERRORIST || get_member(id, m_iTeam) == TEAM_CT)
	{
		Show_Menu_Main(id)
		return PLUGIN_HANDLED // Kill the Choose Team Command
	}
	
	// Player in Spec? Allow him to open choose team menu so he can join
	return PLUGIN_CONTINUE
}

// 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 (!ze_is_auto_buy_enabled(id)) // AutoBuy not enabled - normal case
	{
		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")
		}
	}
	else
	{
		// Auto-Buy enabled - Re-enable case
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w1.\r %L^n", id, "MENU_WEAPONBUY_RE_ENABLE")
	}
	
	// 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
	if (is_user_alive(id))
	{
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w3.\r Knife menu^n")
	}
	else
	{
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d3. Knife menu^n")
	}

		// 3. Knife menu
	if (is_user_alive(id))
	{
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w3.\rUnstuck^n")
	}
	else
	{
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d3. Unstuck^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
		{
			if (!ze_is_auto_buy_enabled(id))
			{
				ze_show_weapon_menu(id)
			}
			else
			{
				ze_disable_auto_buy(id)
				Show_Menu_Main(id)
			}
		}
		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: // Knife menu
		{
			if (is_user_alive(id))
			{
				ze_open_knife_menu(id)
			}
			else
			{
				ze_colored_print(id, "%L", id, "DEAD_CANT_BUY_WEAPON")
			}
		}
		case 2: // Knife menu
		{
			if (is_user_alive(id))
			{
				client_cmd(id, "say /unstuck")
			}
			else
			{
				ze_colored_print(id, "%L", id, "DEAD_CANT_BUY_WEAPON")
			}
		}
	}
	return PLUGIN_HANDLED
}
Hello,
Your code is not compiling you made the new case with same number?
Also there is mistakes on it i corrected it, anyway fixed here is it the working code,
  1. #include <zombie_escape>
  2.  
  3. native ze_open_knife_menu(id)
  4.  
  5. // Keys
  6. const OFFSET_CSMENUCODE = 205
  7. 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
  8.  
  9. public plugin_init()
  10. {
  11.     register_plugin("[ZE] Main Menu", ZE_VERSION, AUTHORS)
  12.    
  13.     // Commands
  14.     register_clcmd("chooseteam", "Cmd_ChooseTeam")
  15.     register_clcmd("say /ze", "Cmd_ChooseTeam")
  16.     register_clcmd("say_team /ze", "Cmd_ChooseTeam")
  17.    
  18.     // Register Menus
  19.     register_menu("Main Menu", KEYSMENU, "Main_Menu")
  20. }
  21.  
  22. public Cmd_ChooseTeam(id)
  23. {
  24.     if (!is_user_connected(id))
  25.         return PLUGIN_CONTINUE;
  26.    
  27.     if (get_member(id, m_iTeam) == TEAM_TERRORIST || get_member(id, m_iTeam) == TEAM_CT)
  28.     {
  29.         Show_Menu_Main(id)
  30.         return PLUGIN_HANDLED // Kill the Choose Team Command
  31.     }
  32.    
  33.     // Player in Spec? Allow him to open choose team menu so he can join
  34.     return PLUGIN_CONTINUE
  35. }
  36.  
  37. // Main Menu
  38. public Show_Menu_Main(id)
  39. {
  40.     static szMenu[250]
  41.     new iLen
  42.    
  43.     // Title
  44.     iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w%L^n^n", id, "MAIN_MENU_TITLE")
  45.    
  46.     // 1. Buy Weapons
  47.     if (!ze_is_auto_buy_enabled(id)) // AutoBuy not enabled - normal case
  48.     {
  49.         if (is_user_alive(id))
  50.         {
  51.             iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w1.\r %L^n", id, "MENU_WEAPONBUY")
  52.         }
  53.         else
  54.         {
  55.             iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d1. %L^n", id, "MENU_WEAPONBUY")
  56.         }
  57.     }
  58.     else
  59.     {
  60.         // Auto-Buy enabled - Re-enable case
  61.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w1.\r %L^n", id, "MENU_WEAPONBUY_RE_ENABLE")
  62.     }
  63.    
  64.     // 2. Extra Items
  65.     if (is_user_alive(id))
  66.     {
  67.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w2.\r %L^n", id, "MENU_EXTRABUY")
  68.     }
  69.     else
  70.     {
  71.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d2. %L^n", id, "MENU_EXTRABUY")
  72.     }
  73.    
  74.     // 3. Knife menu
  75.     if (is_user_alive(id))
  76.     {
  77.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w3.\r Knife menu^n")
  78.     }
  79.     else
  80.     {
  81.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d3. Knife menu^n")
  82.     }
  83.  
  84.         // 4. Unstuck
  85.     if (is_user_alive(id))
  86.     {
  87.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w4.\r Unstuck^n")
  88.     }
  89.     else
  90.     {
  91.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d4. Unstuck^n")
  92.     }
  93.    
  94.     // 0. Exit
  95.     iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n^n\w0.\r %L", id, "EXIT")
  96.    
  97.     // Fix for AMXX custom menus
  98.     set_pdata_int(id, OFFSET_CSMENUCODE, 0)
  99.     show_menu(id, KEYSMENU, szMenu, -1, "Main Menu")
  100. }
  101.  
  102. // Main Menu
  103. public Main_Menu(id, key)
  104. {
  105.     // Player disconnected?
  106.     if (!is_user_connected(id))
  107.         return PLUGIN_HANDLED
  108.    
  109.     switch (key)
  110.     {
  111.         case 0: // Buy Weapons
  112.         {
  113.             if (!ze_is_auto_buy_enabled(id))
  114.             {
  115.                 ze_show_weapon_menu(id)
  116.             }
  117.             else
  118.             {
  119.                 ze_disable_auto_buy(id)
  120.                 Show_Menu_Main(id)
  121.             }
  122.         }
  123.         case 1: // Extra Items
  124.         {
  125.             if (is_user_alive(id))
  126.             {
  127.                 ze_show_items_menu(id)
  128.             }
  129.             else
  130.             {
  131.                 ze_colored_print(id, "%L", id, "DEAD_CANT_BUY_WEAPON")
  132.             }
  133.         }
  134.         case 2: // Knife menu
  135.         {
  136.             if (is_user_alive(id))
  137.             {
  138.                 ze_open_knife_menu(id)
  139.             }
  140.             else
  141.             {
  142.                 ze_colored_print(id, "%L", id, "DEAD_CANT_BUY_WEAPON")
  143.             }
  144.         }
  145.         case 3: // Unstuck
  146.         {
  147.             if (is_user_alive(id))
  148.             {
  149.                 client_cmd(id, "say /unstuck")
  150.             }
  151.             else
  152.             {
  153.                 ze_colored_print(id, "%L", id, "DEAD_CANT_BUY_WEAPON")
  154.             }
  155.         }
  156.     }
  157.     return PLUGIN_HANDLED
  158. }
Now i will thank you only for showing me the method and i will continue the rest, Thanks a lot!

Post Reply

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

Register

Sign in

Who is online

Users browsing this forum: Yandex [Bot] and 2 guests