Thread: nVault Tutorial
View Single Post
NiHiLaNTh
Way Past Expiration
Join Date: May 2009
Location: Latvia
Old 08-18-2010 , 13:32   Re: nVault
Reply With Quote #20

Can anyone help me with storing multiple data.
Code:
#include < amxmodx >
#include < nvault >

new g_iVaultID
new g_szSteamID[ 33 ][ 34 ]
new g_iData[ 33 ] 
new g_iData2[ 33 ] 
new g_iData3[ 33 ] 
new g_iData4[ 33 ] 
new g_iData5[ 33 ] 
new g_iData6[ 33 ] 

public plugin_init( )
{
    register_plugin( "Shit", "Crap", "Lol" )
    
    register_clcmd( "say /show", "fn_Show" )
    register_clcmd( "say /save", "fn_Save" )
}

public plugin_end( )
{
    nvault_close( g_iVaultID )
}

public plugin_cfg( )
{
    g_iVaultID = nvault_open( "test_vault" )
    
    if( g_iVaultID == INVALID_HANDLE )
    {
        set_fail_state( "Error opening Test Nvault" )
    }
}

public client_putinserver( Player )
{
    get_user_authid( Player, g_szSteamID[ Player ], charsmax( g_szSteamID[ ] ) )
    
    Load_Stuff( Player )
}

public fn_Show( Player )
{
    client_print( Player, print_chat, "Data1: %d; Data2: %d; Data3: %d; Data4: %d; Data5:%d; Data6: %d", g_iData[ Player ], g_iData2[ Player ], g_iData3[ Player ], g_iData4[ Player ], g_iData5[ Player ], g_iData6[ Player ] )
}

public fn_Save( Player )
{
    new szSteamID[ 34 ]
    formatex( szSteamID, charsmax( szSteamID ), "%sTEST", g_szSteamID[ Player ] )
    
    g_iData[ Player ] = random_num( 0, 200 )
    g_iData2[ Player ] = random_num( 201, 400 )
    g_iData3[ Player ] = random_num( 401, 600 )
    g_iData4[ Player ] = random_num( 601, 800 )
    g_iData5[ Player ] = random_num( 801, 999 )
    g_iData6[ Player ] = random_num( 1000, 1099 )
    
    new szData[ 50 ]
    formatex( szData, charsmax( szData ), "%d %d %d %d %d %d", g_iData[ Player ], g_iData2[ Player ], g_iData3[ Player ], g_iData4[ Player ], g_iData5[ Player ], g_iData6[ Player ] )
    
    nvault_set( g_iVaultID, szSteamID, szData )
    
    client_print( Player, print_chat, "Data1: %d; Data2: %d; Data3: %d; Data4: %d; Data5:%d; Data6: %d", g_iData[ Player ], g_iData2[ Player ], g_iData3[ Player ], g_iData4[ Player ], g_iData5[ Player ], g_iData6[ Player ]  )
}

Load_Stuff( Player )
{
    new szData[ 50 ], szSteamID[ 34 ]
    formatex( szSteamID, charsmax( szSteamID ), "%sTEST", g_szSteamID[ Player ] )
    
    if( nvault_get( g_iVaultID, szSteamID, szData, 49 ) )
    {
        new iSpacePos = contain( szData, " " )
        
        if( iSpacePos > -1 )
        {
            new szData1[ 4 ], szData2[ 4 ], szData3[ 4 ], szData4[ 4 ], szData5[ 4 ], szData6[ 5 ]
            formatex( szData1, iSpacePos, "%s", szData )
            formatex( szData2, 3, "%s", szData[ iSpacePos + 1 ] )
            formatex( szData3, 3, "%s", szData2[ iSpacePos + 1 ] )
            formatex( szData4, 3, "%s", szData3[ iSpacePos + 1 ] )
            formatex( szData5, 3, "%s", szData4[ iSpacePos + 1 ] )
            formatex( szData6, 4, "%s", szData5[ iSpacePos + 1 ] )
            
            
            g_iData[ Player ] = str_to_num( szData1 )
            g_iData2[ Player ] = str_to_num( szData2 )
            g_iData3[ Player ] = str_to_num( szData3 )
            g_iData4[ Player ] = str_to_num( szData4 )
            g_iData5[ Player ] = str_to_num( szData5 )
            g_iData6[ Player ] = str_to_num( szData6 )
        }
    }
}
I dont why, but g_iData[ ] values all the time are 0.
__________________

NiHiLaNTh is offline
Send a message via Skype™ to NiHiLaNTh