AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Need lil bit edit of this nVault code (https://forums.alliedmods.net/showthread.php?t=229202)

Critfame 11-03-2013 09:25

Need lil bit edit of this nVault code
 
I need to make it when client connect in server to ask him to pick class if he haven't already before.
Also I need to save it with nickname.

Here is my unfinished code:
PHP Code:

#include <amxmodx>
#include <nvault>

new nv_DB;

public 
plugin_init()
{
    
register_plugin("World of Warcraft""0.0001""Critfame");

    
nv_DB nvault_open("wowmod_cf");

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

public 
client_putinserver(id)
{
    
set_task(5.0"selectClassMenu"id);
}

public 
client_disconnect(id)
{
    
remove_task(id);
}

public 
plugin_end()
{
    
nvault_close(nv_DB);
}

public 
selectClassMenu(id)
{
    new 
selectClass menu_create("Select Class""selectClass_handler");

    
menu_additem(selectClass"Death Knight"""0);
    
menu_additem(selectClass"Druid"""0);
    
menu_additem(selectClass"Mage"""0);
    
menu_additem(selectClass"Monk (Admin only)"""ADMIN_ADMIN);
    
menu_additem(selectClass"Paladin"""0);
    
menu_additem(selectClass"Rogue"""0);
    
menu_additem(selectClass"Shaman"""0);

    
menu_setprop(selectClassMPROP_EXITMEXIT_ALL);
    
menu_display(idselectClass0);
}

public 
selectClass_handler(idselectClassitem)
{
    switch(
item)
    {
        case 
0:
        {
            
nvault_set(nv_DB "Class""DeathKnight");
        }
        case 
1:
        {
            
nvault_set(nv_DB "Class""Druid");
        }
        case 
2:
        {
            
nvault_set(nv_DB "Class""Mage");
        }
        case 
3:
        {
            
nvault_set(nv_DB "Class""Monk");
        }
        case 
4:
        {
            
nvault_set(nv_DB "Class""Paladin");
        }
        case 
5:
        {
            
nvault_set(nv_DB "Class""Rogue");
        }
        case 
6:
        {
            
nvault_set(nv_DB "Class""Shaman");
        }
    }

    
menu_destroy(selectClass);
    return 
PLUGIN_HANDLED;



ironskillz1 11-03-2013 10:08

Re: Need lil bit edit of this nVault code
 
Why not save it with SteamID?

Critfame 11-03-2013 11:09

Re: Need lil bit edit of this nVault code
 
Quote:

Originally Posted by ironskillz1 (Post 2056407)
Why not save it with SteamID?

Yeah it's worth, I just can't do it anyways :/

Bugsy 11-03-2013 11:29

Re: Need lil bit edit of this nVault code
 
Try this (untested)
PHP Code:

#include <amxmodx>
#include <nvault>

new nv_DB g_szAuthID33 ][ 34 ];

new const 
g_Classes[][] = 
{
    
"DeathKnight",
    
"Druid",
    
"Mage",
    
"Monk",
    
"Paladin",
    
"Rogue",
    
"Shaman"
};
            
public 
plugin_init()
{
    
register_plugin("World of Warcraft""0.0001""Critfame");
    
    
nv_DB nvault_open("wowmod_cf");
    
    if(
nv_DB == INVALID_HANDLE)
    {
        
set_fail_state("Error opening nVault");
    }
}

public 
client_putinserver(id)
{
    
get_user_authidid g_szAuthIDid ] , charsmaxg_szAuthID[] ) );
    
    
set_task(5.0 "selectClassMenu" id );
}

public 
client_disconnect(id)
{
    
remove_task(id);
}

public 
plugin_end()
{
    
nvault_close(nv_DB);
}

public 
selectClassMenu(id)
{
    new 
szValue32 ];
    if ( 
nvault_getnv_DB g_szAuthIDid ] , szValue charsmaxszValue ) ) )
    {
        
client_printid print_chat "Welcome back, your class is: %s" szValue );
        return
    }
    
    new 
selectClass menu_create("Select Class""selectClass_handler");
    
    
menu_additem(selectClass"Death Knight"""0);
    
menu_additem(selectClass"Druid"""0);
    
menu_additem(selectClass"Mage"""0);
    
menu_additem(selectClass"Monk (Admin only)"""ADMIN_ADMIN);
    
menu_additem(selectClass"Paladin"""0);
    
menu_additem(selectClass"Rogue"""0);
    
menu_additem(selectClass"Shaman"""0);
    
    
menu_setprop(selectClassMPROP_EXITMEXIT_ALL);
    
menu_display(idselectClass0);
}

public 
selectClass_handler(idselectClassitem)
{
    
nvault_set(nv_DB g_szAuthIDid ] , g_Classesitem ] );
    
    
menu_destroy(selectClass);
    return 
PLUGIN_HANDLED;



Critfame 11-03-2013 11:33

Re: Need lil bit edit of this nVault code
 
not working at all :(

Bugsy 11-03-2013 11:33

Re: Need lil bit edit of this nVault code
 
Quote:

Originally Posted by Critfame (Post 2056446)
not working at all :(

I just did an edit, try again.

Critfame 11-03-2013 11:42

Re: Need lil bit edit of this nVault code
 
It records data but when I am back it diesn't say: Welcome back ..

Bugsy 11-03-2013 11:52

Re: Need lil bit edit of this nVault code
 
Updated. It was working but I was sending the message at putinserver so you couldn't see it. The message will now be delayed 5 seconds, same as menu.

Critfame 11-03-2013 12:08

Re: Need lil bit edit of this nVault code
 
Thank you. Now it's working perfectly


All times are GMT -4. The time now is 23:16.

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