PHP Code:
#include < amxmodx >
#include < engine >
#include < fakemeta >
#include < hamsandwich >
new knife_mode[ 33 ];
new const gszKnifeModel_default[] = "";
new const gszKnifeModel_wooden[] = "";
new const gszKnifeModel_butcher[] = "";
public plugin_init()
{
register_plugin( "Knife Model Selection", "1.0", "Juice" );
register_clcmd( "say /knife", "CmdKnife" );
register_menucmd( register_menuid("KnifeMenu"), 1023, "handleKnifeMenu" );
RegisterHam( Ham_Item_Deploy, "weapon_knife", "Ham_KnifeDeployPost", 1 );
}
public plugin_precache()
{
precache_model( gszKnifeModel_default );
precache_model( gszKnifeModel_wooden );
precache_model( gszKnifeModel_butcher );
}
public client_putinserver(id)
{
knife_mode[id] = 1;
}
public CmdKnife( id )
{
ShowKnifeMenu( id );
return PLUGIN_HANDLED;
}
public ShowKnifeMenu(id)
{
new MenuBody[512], len, keys;
len = format(MenuBody, 511, "\ySelect Your Knife\r:");
len += format(MenuBody[len], 511-len, "^n\r1. \wDefault");
len += format(MenuBody[len], 511-len, "^n\r2. \wWooden Knife");
len += format(MenuBody[len], 511-len, "^n\r3. \wButcher Knife");
len += format(MenuBody[len], 511-len, "^n\r0. \wExit");
keys |= ( 1<<0 | 1<<1 | 1<<2 | 1<<9 );
show_menu(id, keys, MenuBody, -1, "KnifeMenu");
}
public handleKnifeMenu( id, key )
{
switch(key + 1)
{
case 1: knife_mode[id] = 1;
case 2: knife_mode[id] = 2;
case 3: knife_mode[id] = 3;
}
}
public Ham_KnifeDeployPost( iEnt )
{
new id = get_pdata_cbase( iEnt, 41 ); // m_pPlayer = 41
switch( knife_mode[id] )
{
case 1: entity_set_string( id, EV_SZ_viewmodel, gszKnifeModel_default); // default model here
case 2: entity_set_string( id, EV_SZ_viewmodel, gszKnifeModel_wooden );
case 3: entity_set_string( id, EV_SZ_viewmodel, gszKnifeModel_butcher );
}
}