Raised This Month: $ Target: $400
 0% 

Menu to change knives


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
yan1255
Senior Member
Join Date: Jul 2011
Old 05-06-2013 , 14:20   Re: Menu to change knives
Reply With Quote #9

hmmm... I made this quickly... try to understand...
this code is 112 lines
PHP Code:
/* Includes */
    #include < amxmodx >
    #include < fakemeta_util >
    #include < engine >

/* Enums */
    
enum KnivesData
    
{
        
KnifeName32 ],
        
KnifeModel64 ]
    };
    
/* Arrays */    
    
new Info][ ] =
    {
        
"Knife Change",
        
"1.0",
        
"Rejack"
    
};
    
    new 
g_iKnives[ ][ KnivesData ] =
    {
        { 
"Knife 1""models/v_knife1" },
        { 
"Knife 2""models/v_knife2" },
        { 
"Knife 3""models/v_knife3" },
        { 
"Knife 4""models/v_knife4" },
        { 
"Knife 5""models/v_knife5" },
        { 
"Knife 6""models/v_knife6" },
        { 
"Knife 7""models/v_knife7" },
        { 
"Knife 8""models/v_knife8" },
        { 
"Knife 9""models/v_knife9" },
        { 
"Knife 10""models/v_knife10" },
        { 
"Knife 11""models/v_knife11" },
        { 
"Knife 12""models/v_knife12" },
        { 
"Knife 13""models/v_knife13" },
        { 
"Knife 14""models/v_knife14" },
        { 
"Knife 15""models/v_knife15" },
        { 
"Knife 16""models/v_knife16" },
        { 
"Knife 17""models/v_knife17" },
        { 
"Knife 18""models/v_knife18" },
        { 
"Knife 19""models/v_knife19" },
        { 
"Knife 20""models/v_knife20" }
    };
    
    new 
Knife33 ];

public 
plugin_init()
{
    
register_pluginInfo], Info], Info] );
    
    
register_clcmd"say /knife""CmdKnife" );
    
    
register_event"CurWeapon""evCurWeapon""be""1=1" );
}

public 
CmdKnifeclient )
{
    if ( !
is_user_aliveclient ) )
        return 
1;
    
    new 
Menu menu_create"\r[AMXX]\w Knife Changer""SubKnife" );
    
    new 
szItem128 ];
    
    for ( new 
isizeof g_iKnivesi++ )
    {
        
formatexszItemcharsmaxszItem ), "%s - \d[\r Sets %s Model \d]"g_iKnives][ KnifeName ], g_iKnives][ KnifeName ] );
        
        
menu_additemMenuszItem );
    }
    
    
menu_displayclientMenu );
    
    return 
0;
}

public 
SubKnifeclientMenuItem )
{
    if ( 
Item == MENU_EXIT || !is_user_aliveclient ) )
    {
        
menu_destroyMenu );
        
        return 
1;
    }
    
    
Knifeclient ] = Item;
    
    
client_printclientprint_chat"Your current knife is '%s'"g_iKnivesKnifeclient ] ][ KnifeName ] );
    
    
fm_strip_user_gunclient_"weapon_knife" );
    
    
fm_give_itemclient"weapon_knife" );
    
    
menu_destroyMenu );
    
    return 
1;
}

public 
evCurWeaponclient )
{
    if ( !
is_user_aliveclient ) || !is_user_connectedclient ) )
        return 
1;
        
    new 
Trash];
    
    
Trash] = get_user_weaponclientTrash], Trash] );
    
    if ( 
Trash] == CSW_KNIFE )
        
entity_set_stringclientEV_SZ_viewmodelg_iKnivesKnifeclient ] ][ KnifeModel ] );
    
    return 
0;

In case you want me to shorten the code... I did...
this code is 51 lines
PHP Code:
#include < amxmodx >
#include < fakemeta_util >
#include < engine >
enum KnivesData{
    
KnifeName32 ],
    
KnifeModel64 ]
};
new 
g_iKnives[ ][ KnivesData ] = {
    { 
"Knife 1""models/v_knife1" },{ "Knife 2""models/v_knife2" },{ "Knife 3""models/v_knife3" },{ "Knife 4""models/v_knife4" },{ "Knife 5""models/v_knife5" },
    { 
"Knife 6""models/v_knife6" },{ "Knife 7""models/v_knife7" },{ "Knife 8""models/v_knife8" },{ "Knife 9""models/v_knife9" },{ "Knife 10""models/v_knife10" },
    { 
"Knife 11""models/v_knife11" },{ "Knife 12""models/v_knife12" },{ "Knife 13""models/v_knife13" },{ "Knife 14""models/v_knife14" },{ "Knife 15""models/v_knife15" },
    { 
"Knife 16""models/v_knife16" },{ "Knife 17""models/v_knife17" },    { "Knife 18""models/v_knife18" },{ "Knife 19""models/v_knife19" },{ "Knife 20""models/v_knife20" }
};
new 
Knife33 ];
public 
plugin_init(){
    
register_plugin"Knife Changer""1.0""Rejack" );
    
register_clcmd"say /knife""CmdKnife" );
    
register_event"CurWeapon""evCurWeapon""be""1=1" );
}
public 
CmdKnifeclient ){
    if ( !
is_user_aliveclient ) )
        return 
1;
    new 
Menu menu_create"\r[AMXX]\w Knife Changer""SubKnife" );
    new 
szItem128 ];
    for ( new 
isizeof g_iKnivesi++ ){
        
formatexszItemcharsmaxszItem ), "%s - \d[\r Sets %s Model \d]"g_iKnives][ KnifeName ], g_iKnives][ KnifeName ] );    
        
menu_additemMenuszItem );
    }
    
menu_displayclientMenu );
    return 
0;
}
public 
SubKnifeclientMenuItem ){
    if ( 
Item == MENU_EXIT || !is_user_aliveclient ) ){
        
menu_destroyMenu );
        return 
1;
    }
    
Knifeclient ] = Item;
    
client_printclientprint_chat"Your current knife is '%s'"g_iKnivesKnifeclient ] ][ KnifeName ] );
    
fm_strip_user_gunclient_"weapon_knife" );
    
fm_give_itemclient"weapon_knife" );
    
menu_destroyMenu );
    return 
1;
}
public 
evCurWeaponclient ){
    if ( !
is_user_aliveclient ) || !is_user_connectedclient ) )
        return 
1;
    new 
Trash];Trash] = get_user_weaponclientTrash], Trash] );
    if ( 
Trash] == CSW_KNIFE )
        
entity_set_stringclientEV_SZ_viewmodelg_iKnivesKnifeclient ] ][ KnifeModel ] );
    return 
0;

__________________

Last edited by yan1255; 05-06-2013 at 14:28.
yan1255 is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 10:51.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode