Raised This Month: $ Target: $400
 0% 

Need help with model menu!


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
ic3z
Junior Member
Join Date: Jun 2009
Old 08-30-2009 , 17:07   Need help with model menu!
Reply With Quote #1

Hi I'm making an Admin Model Menu plugin which does the following...
When you type /models a model menu comes up if you have ADMIN_BAN flag
From the menu, you can select a model you want to be and you will switch to that player model once you select it, all of my models have a ct version (blue) and a t version (red) and some have a spectate version also. When you are ct and you go into the model menu and select a model, it will load the ct version and vice versa.

But there is a problem, when you switch team you keep the model you had. For example in ct you type /models and select the Teletubby model, you are now a blue teletubby but when you switch to terrorist, you stay as a blue teletubby instead of automatically changing to a red one which corresponds with your team. I tried fixing this problem but at the moment, as soon as i spawn again my model is reset to teletubby (with whatever colour corresponds to my team). But I need it to change to the model I have selected from the model menu, just change model depending on which team I am on.

I hope I explained my situation clearly enough :S Sorry if I didn't, if so ask any other questions you may need to know. Here is the full code for my plugin

PHP Code:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>

#define VERSION    "0.1"

#pragma semicolon 1

//new g_teleCt;
//new g_teleT;
//new g_benderBT;
//new g_benderBCt;
//new g_benderFT;
//new g_benderFCt;
//new g_benderFSpec;
//new g_haloT;
//new g_haloCt;
//new g_haloSpec;
//new g_skelT;
//new g_skelCt;
//new g_skelSpec;
//new g_agentSmT;
//new g_agentSmCt;
//new g_agentSmSpec;

public plugin_init( )
{
    
register_plugin"Admin Models"VERSION"icez" );
    
    
register_clcmd"say /models""chooseModel"ADMIN_BAN );

        
RegisterHam(Ham_Spawn"player""fwHamPlayerSpawn"1);
}

public 
plugin_precache( )
{
    
//g_teleCt = precache_model("models/player/admin/teletubby_ct.mdl");
    //g_teleT = precache_model ("models/player/admin/teletubby_t.mdl");
    //g_benderBT = precache_model("models/player/admin/bender_t.mdl");
    //g_benderBCt = precache_model("models/player/admin/bender_ct.mdl");
    //g_benderFT = precache_model("models/player/admin/bender_futurama_t.mdl");
    //g_benderFCt = precache_model("models/player/admin/bender_futurama_ct.mdl");
    //g_benderFSpec = precache_model("models/player/admin/bender_futurama_spec.mdl");
    //g_haloT = precache_model("models/player/admin/halo_t.mdl");
    //g_haloCt = precache_model("models/player/admin/halo_ct.mdl");
    //g_haloSpec = precache_model("models/player/admin/halo_spec.mdl");
    //g_skelT = precache_model("models/player/admin/skeleton_t.mdl");
    //g_skelCt = precache_model("models/player/admin/skeleton_ct.mdl");
    //g_skelSpec = precache_model("models/player/admin/skeleton_spec.mdl");
    //g_agentSmT = precache_model("models/player/admin/agentsmith_t.mdl");
    //g_agentSmCt = precache_model("models/player/admin/agentsmith_ct.mdl");
    //g_agentSmSpec = precache_model("models/player/admin/agentsmith_spec.mdl");
    //precache_model( "models/player/teletubby_t/teletubby_t.mdl" );
    
precache_model"models/player/teletubby_t/teletubby_tT.mdl" );
    
precache_model"models/player/teletubby_ct/teletubby_ct.mdl" );
    
precache_model"models/player/teletubby_ct/teletubby_ctT.mdl" );
    
precache_model"models/player/bendert/bendert.mdl" );
    
precache_model"models/player/benderct/benderct.mdl" );
    
precache_model"models/player/bender_futurama_t/bender_futurama_t.mdl" );
    
precache_model"models/player/bender_futurama_ct/bender_futurama_ct.mdl" );
    
precache_model"models/player/bender_futurama_spec/bender_futurama_spec.mdl" );
    
precache_model"models/player/halo_t/halo_t.mdl" );
    
precache_model"models/player/halo_ct/halo_ct.mdl" );
    
precache_model"models/player/halo_spec/halo_spec.mdl" );
    
precache_model"models/player/skeleton_t/skeleton_t.mdl" );
    
precache_model"models/player/skeleton_ct/skeleton_ct.mdl" );
    
precache_model"models/player/skeleton_spec/skeleton_spec.mdl" );
    
precache_model"models/player/agentsmith_t/agentsmith_t.mdl" );
    
precache_model"models/player/agentsmith_ct/agentsmith_ct.mdl" );
    
precache_model"models/player/agentsmith_spec/agentsmith_spec.mdl" );
}

public 
fwHamPlayerSpawniClient )
{
    if ( !( 
get_user_flagsiClient ) & ADMIN_BAN ) )
        return 
PLUGIN_HANDLED;
    
    else if (
is_user_aliveiClient ))
    {
        new 
szModel32 ];
        
cs_get_user_modeliClientszModel31 );
        
        if ( 
containszModel"teletubby" ) )
        {
            switch ( 
cs_get_user_teamiClient ) )
            {
                case 
CS_TEAM_Tcs_set_user_modeliClient"teletubby_t" );
                case 
CS_TEAM_CTcs_set_user_modeliClient"teletubby_ct" );
            }
        }
        else if ( 
containszModel"bender_futurama" ) )
        {
            switch ( 
cs_get_user_teamiClient ) )
            {
                case 
CS_TEAM_Tcs_set_user_modeliClient"bender_futurama_t" );
                case 
CS_TEAM_CTcs_set_user_modeliClient"bender_futurama_ct" );
                case 
CS_TEAM_SPECTATORcs_set_user_modeliClient"bender_futurama_spec" );
            }
        }
        else if ( 
containszModel"bender" ) )
        {
            switch ( 
cs_get_user_teamiClient ) )
            {
                case 
CS_TEAM_Tcs_set_user_modeliClient"bender_t" );
                case 
CS_TEAM_CTcs_set_user_modeliClient"bender_ct" );
            }
        }
        else if ( 
containszModel"skeleton" ) )
        {
            switch ( 
cs_get_user_teamiClient ) )
            {
                case 
CS_TEAM_Tcs_set_user_modeliClient"skeleton_t" );
                case 
CS_TEAM_CTcs_set_user_modeliClient"skeleton_ct" );
                case 
CS_TEAM_SPECTATORcs_set_user_modeliClient"skeleton_spec" );
            }
        }
        else if ( 
containszModel"agentsmith" ) )
        {
            switch ( 
cs_get_user_teamiClient ) )
            {
                case 
CS_TEAM_Tcs_set_user_modeliClient"agentsmith_t" );
                case 
CS_TEAM_CTcs_set_user_modeliClient"agentsmith_ct" );
                case 
CS_TEAM_SPECTATORcs_set_user_modeliClient"agentsmith_spec" );
            }
        }
        else if ( 
containszModel"halo" ) )
        {
            switch ( 
cs_get_user_teamiClient ) )
            {
                case 
CS_TEAM_Tcs_set_user_modeliClient"halo_t" );
                case 
CS_TEAM_CTcs_set_user_modeliClient"halo_ct" );
                case 
CS_TEAM_SPECTATORcs_set_user_modeliClient"halo_spec" );
            }
        }
    }
}

public 
chooseModelid )
{
    if ( !( 
get_user_flagsid ) & ADMIN_BAN ) )
        return 
PLUGIN_HANDLED;
    
    new 
menu menu_create"\rModel Menu""menu_handler" );
    
    
menu_additemmenu"Teletubby""1");
    
menu_additemmenu"Bender (Futurama)""2");
    
menu_additemmenu"Bender""3");
    
menu_additemmenu"Skeleton""4");
    
menu_additemmenu"Agent Smith""5");
    
menu_additemmenu"Halo""6");
    
    
menu_displayidmenu);
    
    return 
PLUGIN_HANDLED;
}

public 
menu_handleridmenuitem )
{
    if ( 
item == MENU_EXIT )
    {
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    new 
data], iName64 ];
    new 
accesscallback;
    
menu_item_getinfomenuitemaccessdata,5iName63callback );
    
    switch ( 
str_to_numdata ) )
    {
        case 
1:
        {
            switch ( 
cs_get_user_teamid ) )
            {
                case 
CS_TEAM_T:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"teletubby_t" );
                    }
                }
                case 
CS_TEAM_CT:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"teletubby_ct" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 0, 0, 255 = BLUE
                    
}
                }
            }
        }
        case 
2:
{
            switch ( 
cs_get_user_teamid ) )
            {
                case 
CS_TEAM_T:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"bender_futurama_t" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 255, 0, 0 = RED
                    
}
                }
                case 
CS_TEAM_CT:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"bender_futurama_ct" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 0, 0, 255 = BLUE
                    
}
                }
                case 
CS_TEAM_SPECTATOR:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"bender_futurama_spec" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 0, 0, 255 = BLUE
                    
}
                }
            }
        }
        case 
3:
{
            switch ( 
cs_get_user_teamid ) )
            {
                case 
CS_TEAM_T:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"bender_t" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 255, 0, 0 = RED
                    
}
                }
                case 
CS_TEAM_CT:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"bender_ct" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 0, 0, 255 = BLUE
                    
}
                }
            }
        }
        case 
4:
{
            switch ( 
cs_get_user_teamid ) )
            {
                case 
CS_TEAM_T:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"skeleton_t" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 255, 0, 0 = RED
                    
}
                }
                case 
CS_TEAM_CT:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"skeleton_ct" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 0, 0, 255 = BLUE
                    
}
                }
                case 
CS_TEAM_SPECTATOR:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"skeleton_spec" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 0, 0, 255 = BLUE
                    
}
                }
            }
        }
        case 
5:
{
            switch ( 
cs_get_user_teamid ) )
            {
                case 
CS_TEAM_T:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"agentsmith_t" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 255, 0, 0 = RED
                    
}
                }
                case 
CS_TEAM_CT:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"agentsmith_ct" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 0, 0, 255 = BLUE
                    
}
                }
                case 
CS_TEAM_SPECTATOR:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"agentsmith_spec" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 0, 0, 255 = BLUE
                    
}
                }
            }
        }
        case 
6:
{
            switch ( 
cs_get_user_teamid ) )
            {
                case 
CS_TEAM_T:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"halo_t" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 255, 0, 0 = RED
                    
}
                }
                case 
CS_TEAM_CT:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"halo_ct" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 0, 0, 255 = BLUE
                    
}
                }
                case 
CS_TEAM_SPECTATOR:
                {
                    if ( 
is_user_aliveid ) )
                    {
                        
cs_set_user_modelid"halo_spec" );

                        
//set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 20 ); // RANDOM GLOW - 0, 0, 255 = BLUE
                    
}
                }
            }
        }
    }
    
    return 
PLUGIN_HANDLED;


Last edited by ic3z; 08-30-2009 at 21:08.
ic3z is offline
 


Thread Tools
Display Modes

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 15:00.


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