Raised This Month: $ Target: $400
 0% 

Solved Menu showing twice?


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
supertrio17
Senior Member
Join Date: May 2020
Location: Serbia
Old 06-19-2020 , 21:41   Menu showing twice?
Reply With Quote #1

Hey, so I am making class plugin using OciXCrom's Rank System, and using nVault. Menu should pop once player hit's level 10, and another one on level 20. But for some reason when you hit level 10 or 20, you get menu on spawn, you choose and when you respawn you get that menu once again, and after that, every time you respawn you will get class that you choosed first time menu was created, not second one. Idk if I made a mistake in my code, or nVault works like that, but if anyone has a suggestion, please tell me.
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fun>
#include <crxranks>
#include <nvault>
#include <CromChat>
#include <hamsandwich>

new g_Vault;
new 
g_szAuthID[33][35];
new 
g_Class[33];

const 
Float:DEFAULT_GRAVITY_I        800.0

// LEVEL 10
#define C_ONE_TEN           "\wRogue"           //Change name for first class
#define C_RG_HP             90                    //Rogue HP
#define C_RG_MS             75.0                 //Rogue Added Movespeed || MAX SPEED MUST BE FLOAT!
#define C_RG_GV             750.0                 //Rogue Gravity

#define C_TWO_TEN           "\wDark Knight"     //Change name for second class
#define C_DK_HP             135
#define C_DK_MS             0.0
#define C_DK_GV             800.0

#define C_THREE_TEN         "\wWizard"          //Change name for third class
#define C_WZ_HP             100
#define C_WZ_MS             15.0
#define C_WZ_GV             650.0

// LEVEL 20
#define C_ONE_TW           "\wTrickster"        //Change name for first class
#define C_TK_HP             115
#define C_TK_MS             150.0
#define C_TK_GV             650.0

#define C_TWO_TW            "\wBlade Knight"    //Change name for second class
#define C_BK_HP             185
#define C_BK_MS             35.0
#define C_BK_GV             700.0

#define C_THREE_TW          "\wSoul Master"     //Change name for third class
#define C_SM_HP             125
#define C_SM_MS             50.0
#define C_SM_GV             350.0

public plugin_init()
{
    
register_plugin("Class Menu for CRX""2.0""Mr. Boopsy");
    
register_clcmd("amx_resetclassID",    "reset_id")
    
RegisterHam(Ham_Spawn"player""OnPlayerSpawn"1);
}

public 
plugin_cfg()
{
    new 
g_Vault nvault_open"ClassIdByBoopsy" );

    if ( 
g_Vault == INVALID_HANDLE )
        
set_fail_state"Error opening nVault" );
}

public 
plugin_end()
{
    
nvault_closeg_Vault );
}

public 
client_authorized(id)
{
    
get_user_authid(idg_szAuthID[id], charsmax(g_szAuthID[]));
}

public 
OnPlayerSpawn(id)
{
    if(
is_user_alive(id))
    {
        
LoadClass_Spawn(id);
    }
}

public 
crxranks_user_level_updated(idlevelbool:levelup)
{
    if(
is_user_alive(id))
    {
        new 
szKey[40];
        
formatex(szKeycharsmaxszKey ), "%sCLASS"g_szAuthID[id]);
        new 
iClass nvault_get(g_VaultszKey );
        if( 
iClass )
        {
            switch(
iClass)
            {
                case 
1:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Rogue&x04!");
                }
                case 
2:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Dark Knight&x04!");
                }
                case 
3:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Wizard&x04!");
                }
                case 
4:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Trickster&x04!");
                }
                case 
5:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Blade Knight&x04!");
                }
                case 
6:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Soul Master&x04!");
                }
            }
        }
        else
        {
            new 
cLevel crxranks_get_user_level(id);

            if( 
cLevel == 10 )
            {
                
rank_ten(id);
            }

            else if( 
cLevel == 20 )
            {
                
rank_tw(id);
            }
        }
    }
}

public 
rank_ten(id)
{
    new 
menu_ten menu_create("\r[\wChoose Class\r]\r""menu_ten_f")

    
menu_additem(menu_tenC_ONE_TEN"1"0)
    
menu_additem(menu_tenC_TWO_TEN"2"0)
    
menu_additem(menu_tenC_THREE_TEN"3"0)

    
menu_setprop(menu_tenMPROP_EXITMEXIT_ALL)

    
menu_display(idmenu_ten0)
}

public 
rank_tw(id)
{
    new 
menu_tw menu_create("\r[\wChoose Class\r]\r""menu_tw_f")

    
menu_additem(menu_twC_ONE_TW"1"0)
    
menu_additem(menu_twC_TWO_TW"2"0)
    
menu_additem(menu_twC_THREE_TW"3"0)

    
menu_setprop(menu_twMPROP_EXITMEXIT_ALL)

    
menu_display(idmenu_tw0)
}

public 
menu_ten_f(idmenu_tenitem_ten)
{
    if (
item_ten == MENU_EXIT)
    {
        
menu_destroy(menu_ten)
        return 
PLUGIN_HANDLED
    
}
    new 
data_ten[6], iName_ten[64]
    new 
acces_tencallback_ten
    menu_item_getinfo
(menu_tenitem_tenacces_tendata_ten,5iName_ten63callback_ten)

    new 
key_ten str_to_num(data_ten)

    switch(
key_ten)
    {
       case 
1:
       {
           
rank_ten_c_one(id);
           
g_Class[id] = 1;
           
CC_SendMessage(id"&x01>> &x04You choosed &x07Rogue&x04!");
       }
       case 
2:
       {
           
rank_ten_c_two(id);
           
g_Class[id] = 2;
           
CC_SendMessage(id"&x01>> &x04You choosed &x07Dark Knight&x04!");
       }
       case 
3:
       {
           
rank_ten_c_three(id);
           
g_Class[id] = 3;
           
CC_SendMessage(id"&x01>> &x04You choosed &x07Wizard&x04!");
       }
    }

    
menu_destroy(menu_ten)
    return 
PLUGIN_HANDLED
}

public 
menu_tw_f(idmenu_twitem_tw)
{
    if (
item_tw == MENU_EXIT)
    {
        
menu_destroy(menu_tw)
        return 
PLUGIN_HANDLED
    
}

    new 
data_tw[6], iName_tw[64]
    new 
acces_twcallback_tw

    menu_item_getinfo
(menu_twitem_twacces_twdata_tw,5iName_tw63callback_tw)

    new 
key_tw str_to_num(data_tw)

    switch(
key_tw)
    {
       case 
1:
       {
           
rank_tw_c_one(id);
           
g_Class[id] = 4;
           
CC_SendMessage(id"&x01>> &x04You choosed &x07Trickster&x04!");
       }
       case 
2:
       {
           
rank_tw_c_two(id);
           
g_Class[id] = 5;
           
CC_SendMessage(id"&x01>> &x04You choosed &x07Blade Knight&x04!");
       }
       case 
3:
       {
           
rank_tw_c_three(id);
           
g_Class[id] = 6;
           
CC_SendMessage(id"&x01>> &x04You choosed &x07Soul Master&x04!");
       }
    }

    
menu_destroy(menu_tw)
    return 
PLUGIN_HANDLED
}

public 
rank_ten_c_one(id// Rogue
{
    new 
szClass[20];
    new 
szKey[40];

    
formatex(szKeycharsmaxszKey ), "%sCLASS"g_szAuthID[id]);
    
formatex(szClasscharsmaxszClass ), "%d"g_Class[id]); // Rogue

    
nvault_set(g_VaultszKeyszClass);

    
set_user_health(idC_RG_HP);
    
set_user_maxspeed(idget_user_maxspeedid ) + C_RG_MS);
    
set_user_gravity(id, ((C_RG_GV) / DEFAULT_GRAVITY_I))
}

public 
rank_ten_c_two(id// Dark Knight
{
    new 
szClass[20];
    new 
szKey[40];

    
formatex(szKeycharsmaxszKey ), "%sCLASS"g_szAuthID[id]);
    
formatex(szClasscharsmaxszClass ), "%d"g_Class[id]); // Dark Knight

    
nvault_set(g_VaultszKeyszClass);

    
set_user_health(idC_DK_HP);
    
set_user_maxspeed(idget_user_maxspeedid ) + C_DK_MS);
    
set_user_gravity(id, ((C_DK_GV) / DEFAULT_GRAVITY_I))
}

public 
rank_ten_c_three(id// Wizard
{
    new 
szClass[20];
    new 
szKey[40];

    
formatex(szKeycharsmaxszKey ), "%sCLASS"g_szAuthID[id]);
    
formatex(szClasscharsmaxszClass ), "%d"g_Class[id]); // Wizard

    
nvault_set(g_VaultszKeyszClass);

    
set_user_health(idC_WZ_HP);
    
set_user_maxspeed(idget_user_maxspeedid ) + C_WZ_MS);
    
set_user_gravity(id, ((C_WZ_GV) / DEFAULT_GRAVITY_I))
}

// LEVEL 20
public rank_tw_c_one(id// Trickster
{
    new 
szClass[20];
    new 
szKey[40];

    
formatex(szKeycharsmaxszKey ), "%sCLASS"g_szAuthID[id]);
    
formatex(szClasscharsmaxszClass ), "%d"g_Class[id]); // Trickster

    
nvault_set(g_VaultszKeyszClass);

    
set_user_health(idC_TK_HP);
    
set_user_maxspeed(idget_user_maxspeedid ) + C_TK_MS);
    
set_user_gravity(id, ((C_TK_GV) / DEFAULT_GRAVITY_I))
}

public 
rank_tw_c_two(id// Blade Knight
{
    new 
szClass[20];
    new 
szKey[40];

    
formatex(szKeycharsmaxszKey ), "%sCLASS"g_szAuthID[id]);
    
formatex(szClasscharsmaxszClass ), "%d"g_Class[id]); // Blade Knight

    
nvault_set(g_VaultszKeyszClass);

    
set_user_health(idC_BK_HP);
    
set_user_maxspeed(idget_user_maxspeedid ) + C_BK_MS);
    
set_user_gravity(id, ((C_BK_GV) / DEFAULT_GRAVITY_I))
}

public 
rank_tw_c_three(id// Soul Master
{
    new 
szClass[20];
    new 
szKey[40];

    
formatex(szKeycharsmaxszKey ), "%sCLASS"g_szAuthID[id]);
    
formatex(szClasscharsmaxszClass ), "%d"g_Class[id]); // Soul Master

    
nvault_set(g_VaultszKeyszClass);

    
set_user_health(idC_SM_HP);
    
set_user_maxspeed(idget_user_maxspeedid ) + C_SM_MS);
    
set_user_gravity(id, ((C_SM_GV) / DEFAULT_GRAVITY_I))
}

public 
LoadClass_Spawn(id)
{
    new 
cLevel crxranks_get_user_level(id);
    new 
szKey[40];
    
formatex(szKeycharsmaxszKey ), "%sCLASS"g_szAuthID[id]);
    new 
iClass nvault_get(g_VaultszKey );
    if( 
iClass )
    {
        switch(
iClass)
        {
            case 
1:
            {
                
set_user_health(idC_RG_HP);
                
set_user_maxspeed(idget_user_maxspeedid ) + C_RG_MS);
                
set_user_gravity(id, ((C_RG_GV) / DEFAULT_GRAVITY_I))
                
CC_SendMessage(id"&x01>> &x04Your class was updated to &x07Rogue&x04!");
            }
            case 
2:
            {
                
set_user_health(idC_DK_HP);
                
set_user_maxspeed(idget_user_maxspeedid ) + C_DK_MS);
                
set_user_gravity(id, ((C_DK_GV) / DEFAULT_GRAVITY_I))
                
CC_SendMessage(id"&x01>> &x04Your class was updated to &x07Dark Knight&x04!");
            }
            case 
3:
            {
                
set_user_health(idC_WZ_HP);
                
set_user_maxspeed(idget_user_maxspeedid ) + C_WZ_MS);
                
set_user_gravity(id, ((C_WZ_GV) / DEFAULT_GRAVITY_I))
                
CC_SendMessage(id"&x01>> &x04Your class was updated to &x07Wizard&x04!");
            }
            case 
4:
            {
                
set_user_health(idC_TK_HP);
                
set_user_maxspeed(idget_user_maxspeedid ) + C_TK_MS);
                
set_user_gravity(id, ((C_TK_GV) / DEFAULT_GRAVITY_I))
                
CC_SendMessage(id"&x01>> &x04Your class was updated to &x07Trickster&x04!");
            }
            case 
5:
            {
                
set_user_health(idC_BK_HP);
                
set_user_maxspeed(idget_user_maxspeedid ) + C_BK_MS);
                
set_user_gravity(id, ((C_BK_GV) / DEFAULT_GRAVITY_I))
                
CC_SendMessage(id"&x01>> &x04Your class was updated to &x07Blade Knight&x04!");
            }
            case 
6:
            {
                
set_user_health(idC_SM_HP);
                
set_user_maxspeed(idget_user_maxspeedid ) + C_SM_MS);
                
set_user_gravity(id, ((C_SM_GV) / DEFAULT_GRAVITY_I))
                
CC_SendMessage(id"&x01>> &x04Your class was updated to &x07Soul Master&x04!");
            }
        }
    }
    else if(
cLevel 10 && cLevel 20)
    {
        if( 
iClass )
        {
            switch(
iClass)
            {
                case 
1:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Rogue&x04!");
                }
                case 
2:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Dark Knight&x04!");
                }
                case 
3:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Wizard&x04!");
                }
                case 
4:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Trickster&x04!");
                }
                case 
5:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Blade Knight&x04!");
                }
                case 
6:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Soul Master&x04!");
                }
            }
        }
        else
        {
            
rank_ten(id);
        }
    }
    else if(
cLevel >= 20)
    {
        if( 
iClass )
        {
            switch(
iClass)
            {
                case 
1:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Rogue&x04!");
                }
                case 
2:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Dark Knight&x04!");
                }
                case 
3:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Wizard&x04!");
                }
                case 
4:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Trickster&x04!");
                }
                case 
5:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Blade Knight&x04!");
                }
                case 
6:
                {
                    
CC_SendMessage(id"&x01>> &x04Your class is &x07Soul Master&x04!");
                }
            }
        }
        else
        {
            
rank_tw(id);
        }
    }
}

public 
reset_id(id)
{
    if(
has_flag(id"m"))
    {
        
nvault_prune(g_Vault0get_systime());
        
server_cmd("restart");
    }

__________________
Contact! || Discord:
Mr_Boopsy_#2066

Last edited by supertrio17; 06-20-2020 at 14:30.
supertrio17 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 16:54.


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