AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [Help] Custom Class Menu (https://forums.alliedmods.net/showthread.php?t=184918)

kketan77 05-10-2012 11:43

[Help] Custom Class Menu
 
Here this plugin have custom team menu!

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fun>

#define PLUGIN ""
#define VERSION ""
#define AUTHOR ""

public plugin_init() 
{
    
register_event("ResetHUD""resetModel""b")
    
register_event("ShowMenu""blockteams""b""3=#Team_Select_Spect")
}

public 
plugin_precache() 
{
    
precache_model("models/player/swat/swat.mdl")
    
precache_model("models/player/trx/trx.mdl")

    return 
PLUGIN_CONTINUE
}

public 
client_connect(id)
{
    
set_user_info(id"_vgui_menus""0");
}

public 
blockteams(id) {
    
show_menu(id0"work"1"#Team_Select_Spect")
    
set_task(1.0,"showmenu",id);
}

public 
showmenu(id) {
    new 
menu menu_create("\rChoose Team:""menu_handler")
    
menu_additem(menu"\wThe SWAT Team""1"0)    
    
menu_additem(menu"\wThe TRX Team""2"0)
    
menu_additem(menu"\wRandom""5"0)
    
menu_additem(menu"\wSpectator""6"0)    
    
menu_display(idmenu0)
}


public 
menu_handler(idmenuitem
    {
    new 
team get_user_team(id)
    if (
item == MENU_EXIT) {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
data[6], iName[64]
    new 
accesscallback
    menu_item_getinfo
(menuitemaccessdata,5iName63callback)
    new 
key str_to_num(data)
    switch(
key) {
        
        case 
1:{
            if (
team != 1
            {
                
engclient_cmd(id"jointeam""1")
                
engclient_cmd(id"menuselect""5")
            }
        }
        
        case 
2:{
                    if (
team != 2
            {
                
engclient_cmd(id"jointeam""2")
                
engclient_cmd(id"menuselect","5")
            }
        }
        
        case 
5:    menu_handler(idmenurandom_num(01))
                
        case 
6:    engclient_cmd(id"jointeam""6")
        }
        
    
show_menu(id0" "0)
    return 
PLUGIN_HANDLED
}

public 
resetModel(idlevelcid) {
    new 
CsTeams:team cs_get_user_team(id)
    if (
team == CS_TEAM_CT
    {
        
cs_set_user_model (id"swat")
    }
    else if (
team == CS_TEAM_T
    {
        
cs_set_user_model (id"trx")
    }
    
    return 
PLUGIN_CONTINUE


But i also want same custom class menu for (both team) as follows:
Code:

Choose Class:
1. Boy Class
2. Girl Class
5. Random Class

If press 1 get boy model as per their team.
If press 2 get girl model as per their team.
If press 5 get random class from either Girl Class either Boy Class

Then how could i set girl & boy model as their team & class?
I only know to precache model.
Code:

public plugin_precache()
{
        precache_model("models/player/swatboy/swatboy.mdl")
        precache_model("models/player/swatgirl/swatgirl.mdl")
        precache_model("models/player/trxboy/trxboy.mdl")
        precache_model("models/player/trxgirl/trxgirl.mdl")


        return PLUGIN_CONTINUE
}

Little bit explained here!
:cry:

iBrazilian 05-10-2012 12:03

Re: [Help] Custom Class Menu
 
Do you want a boy for CT and girl for T?

kketan77 05-10-2012 12:07

Re: [Help] Custom Class Menu
 
No!
I have Custom Team menu.

I want Custom Class menu for both team.(same class menu for CT & T Team)

If i choose CT Team either T Team it should show me this menu:
Code:

Choose Class:
1. Boy Class
2. Girl Class
5. Random Class

See first post you will get more information!

iBrazilian 05-10-2012 12:38

Re: [Help] Custom Class Menu
 
There is one warning in there that I don't have much time to fix, should work.

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fun>

#define PLUGIN ""
#define VERSION ""
#define AUTHOR ""

public plugin_init() 
    {
    
register_event("ResetHUD""resetModel""b")
    
register_event("ShowMenu""blockteams""b""3=#Team_Select_Spect")
}

public 
plugin_precache() 
    {
    
precache_model("models/player/swat/swat.mdl")
    
precache_model("models/player/trx/trx.mdl")
    
    
precache_model("PATH/boy.mdl")
    
precache_model("PATH/girl.mdl")
    
    return 
PLUGIN_CONTINUE
}

public 
client_connect(id)
    {
    
set_user_info(id"_vgui_menus""0");
}

public 
blockteams(id) {
    
show_menu(id0"work"1"#Team_Select_Spect")
    
set_task(1.0,"showmenu",id);
}

public 
showmenu(id) {
    new 
menu menu_create("\rChoose Team:""menu_handler")
    
menu_additem(menu"\wThe SWAT Team""1"0)    
    
menu_additem(menu"\wThe TRX Team""2"0)
    
menu_additem(menu"\wRandom""5"0)
    
menu_additem(menu"\wSpectator""6"0)    
    
menu_display(idmenu0)
}

public 
menu_handler(idmenuitem
    {
    new 
team get_user_team(id)
    if (
item == MENU_EXIT) {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
data[6], iName[64]
    new 
accesscallback
    menu_item_getinfo
(menuitemaccessdata,5iName63callback)
    new 
key str_to_num(data)
    switch(
key)
    {
        case 
1:
        {
            
engclient_cmd(id"jointeam""1")
            
engclient_cmd(id"menuselect""5")
            
ct(id)
        }
        case 
2:
        {
            
engclient_cmd(id"jointeam""2")
            
engclient_cmd(id"menuselect","5")
            
tteam(id)
        }
        
        case 
5:
        {
            
menu_handler(idmenurandom_num(01))
        }
        case 
6:
        {
            
engclient_cmd(id"jointeam""6")
        }        
    }
    
    
show_menu(id0" "0)
    return 
PLUGIN_HANDLED
}

public 
ct(id)
    {
    new 
menu menu_create("CT CLASS""menu_handlerct1")
    
    
menu_additem(menu"Boy""1"0);
    
menu_additem(menu"Girl""2"0);
    
menu_additem(menu"Ramdom""3"0);
    
    
menu_setprop(menuMPROP_EXITMEXIT_ALL);
    
menu_display(idmenu0);
}

public 
menu_handlerct1(idmenuitem)
    {
    if( 
item == MENU_EXIT )
        {
        
menu_destroy(menu);
        
        if( 
is_user_connected(id) )
            
showmenu(id);
        
        return 
PLUGIN_HANDLED;
    }
    
    new 
data[6], szName[64];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata,charsmax(data), szName,charsmax(szName), callback);
    
    new 
key str_to_num(data);
    
    switch(
key)
    {
        case 
1:
        {
            
cs_reset_user_model(id)
            
cs_set_user_model(id"Boy")
        }
        case 
2:
        {
            
cs_reset_user_model(id)
            
cs_set_user_model(id"Girl")
        }
        case 
3:
        {
            
cs_reset_user_model(id)
            
cs_set_user_model(id"Ramdom")
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
resetModel(idlevelcid) {
    new 
CsTeams:team cs_get_user_team(id)
    if (
team == CS_TEAM_CT
        {
        
cs_set_user_model (id"swat")
    }
    else if (
team == CS_TEAM_T
        {
        
cs_set_user_model (id"trx")
    }
    
    return 
PLUGIN_CONTINUE
}

public 
tteam(id)
    {
    new 
menu menu_create("CT CLASS""menu_handlert1")
    
    
menu_additem(menu"Boy""1"0);
    
menu_additem(menu"Girl""2"0);
    
menu_additem(menu"Ramdom""3"0);
    
    
menu_setprop(menuMPROP_EXITMEXIT_ALL);
    
menu_display(idmenu0);
}

public 
menu_handlert1(idmenuitem)
    {
    if( 
item == MENU_EXIT )
        {
        
menu_destroy(menu);
        
        if( 
is_user_connected(id) )
            
showmenu(id);
        
        return 
PLUGIN_HANDLED;
    }
    
    new 
data[6], szName[64];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata,charsmax(data), szName,charsmax(szName), callback);
    
    new 
key str_to_num(data);
    
    switch(
key)
    {
        case 
1:
        {
            
cs_reset_user_model(id)
            
cs_set_user_model(id"Boy")
        }
        case 
2:
        {
            
cs_reset_user_model(id)
            
cs_set_user_model(id"Girl")
        }
        case 
3:
        {
            
cs_reset_user_model(id)
            
cs_set_user_model(id"Ramdom")
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;



kketan77 05-10-2012 12:56

Re: [Help] Custom Class Menu
 
Well,

Following code directly choose team to random.

If we could set team here it will be good.

How could i make it as given in first post?

PHP Code:

public menu_handler(idmenuitem
    {
    new 
team get_user_team(id)
    if (
item == MENU_EXIT) {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
data[6], iName[64]
    new 
accesscallback
    menu_item_getinfo
(menuitemaccessdata,5iName63callback)
    new 
key str_to_num(data)
    switch(
key)
    {
        case 
1:
        {
            
engclient_cmd(id"jointeam""1")
            
engclient_cmd(id"menuselect""5")
            
ct(id)
        }
        case 
2:
        {
            
engclient_cmd(id"jointeam""2")
            
engclient_cmd(id"menuselect","5")
            
tteam(id)
        }
        
        case 
5:
        {
            
menu_handler(idmenurandom_num(01))
        }
        case 
6:
        {
            
engclient_cmd(id"jointeam""6")
        }        
    }
    
    
show_menu(id0" "0)
    return 
PLUGIN_HANDLED


I want that team choose in middle of that!

"random" is not model, "random" is type of selection from boy class or girl class.
Code:

        case 3:
        {
            cs_reset_user_model(id)
            cs_set_user_model(id, "Ramdom")
        }


iBrazilian 05-10-2012 13:07

Re: [Help] Custom Class Menu
 
I'm not understanding what you really want, I just know that you want classes for each team. Draw a paint picture or something, just not getting it right now.

kketan77 05-10-2012 21:24

Re: [Help] Custom Class Menu
 
ok let me explain what i want!

PHP Code:

public plugin_precache() 
{
    
precache_model("models/player/swatboy/swatboy.mdl")
    
precache_model("models/player/swatgirl/swatgirl.mdl")
    
precache_model("models/player/trxboy/trxboy.mdl")
    
precache_model("models/player/trxgirl/trxgirl.mdl")

    return 
PLUGIN_CONTINUE


I want to set 2 models class for 2 team.
so i precache total 4 models.
=====================================
=====================================


When user connect to server, server will show following menu to the user:
Code:

Choose Team:
1. The SWAT Team        //CT Team
2. The TRX Team                //T Team
5. Random                //CT Team or T Team
6. Spectator

Now if user select CT Team, he will get CT Class Menu as follows:
Code:

Choose Class:
1. Boy Class                // cs_set_user_model "models/player/swatboy/swatboy.mdl"
2. Girl Class                // cs_set_user_model "models/player/swatgirl/swatgirl.mdl"
5. Random                // cs_set_user_model "swatboy.mdl" or "swatgirl.mdl"

If user press key 3 or key 4 nothing should happen.

Else if user select T Team, he will get T Class Menu as follows:
Code:

Choose Class:
1. Boy Class                // cs_set_user_model "models/player/trxboy/trxboy.mdl"
2. Girl Class                // cs_set_user_model "models/player/trxgirl/trxgirl.mdl"
5. Random                // cs_set_user_model "trxboy.mdl" or "trxgirl.mdl

If user press key 3 or key 4 nothing should happen.

Else if user select Random Team, he should redirect to "CT Class Menu" or "T Class Menu".

[I don't want default CS model & menu]

731 05-12-2012 03:10

Re: [Help] Custom Class Menu
 
1 Attachment(s)
You can use this plugin modified


All times are GMT -4. The time now is 00:24.

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