AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Retrieving data from vault (https://forums.alliedmods.net/showthread.php?t=263475)

EpicKiller 05-26-2015 08:17

Retrieving data from vault
 
So I have a vault that stores a name and a number. How could I get all the key-data combinations and display them in console, aligned, like below?
Code:

Name | Num
Name2 | Num2


Bugsy 05-26-2015 08:37

Re: Retrieving data from vault
 
Search for nvault utility include

EpicKiller 05-30-2015 03:13

Re: Retrieving data from vault
 
Quote:

Originally Posted by Bugsy (Post 2301191)
Search for nvault utility include

Thanks, but as I'm not so familiar with nvault, that didn't help me. I tried some things, but I can't get it done. Could you please be more explicit? Also, how could I sort them as mentioned?

Bugsy 05-30-2015 08:50

Re: Retrieving data from vault
 
This is not very efficient. I highly recommend using SQL when any type of sorting is needed or a large amount of data is being stored.
PHP Code:

#include <amxmodx>
#include <nvault_util>

//If you increase MAX_ENTRIES and get a stack error, un-comment the below line.
//#pragma dynamic 32768 

new const Version[] = "0.1";

const 
MAX_ENTRIES 1000;
new const 
VAULT_NAME[] = "original_names";

enum _:VaultSortInfo
{
    
EntryPos,
    
EntryVal
}

public 
plugin_init() 
{
    
register_plugin"nVault Util Sort Example" Version "Bugsy" );
    
    
SortVault();
}

SortVault()
{
    new 
iVault iCount iPos iTimestamp VaultDataMAX_ENTRIES ][ VaultSortInfo ] , szTmp10 ] , szKey255 ];
    
    if ( ( 
iVault nvault_util_openVAULT_NAME ) ) )
    {
        
iCount nvault_util_countiVault );
        
        for ( new 
iCount i++ )
        {
            
VaultData][ EntryPos ] = iPos;
            
iPos nvault_util_readiVault iPos "" szTmp charsmaxszTmp ) , iTimestamp );
            
VaultData][ EntryVal ] = str_to_numszTmp );
        }
    
        
SortCustom2DVaultData iCount ,"stats_custom_compare" );
    
        for ( new 
iCount i++ )
        {
            
nvault_util_readiVault VaultData][ EntryPos ] , szKey charsmaxszKey ) , "" iTimestamp );
            
server_print"[%d] %s | %d" szKey VaultData][ EntryVal ] );
        }
        
        
nvault_util_closeiVault );
    }
}

public 
stats_custom_compare(elem1[],elem2[])
{
    if(
elem1[1] > elem2[1]) 
        return 
1;
    else if(
elem1[1] < elem2[1]) 
        return -
1;
        
    return 
0;



EpicKiller 06-07-2015 06:09

Re: Retrieving data from vault
 
Alright, thank you very much!


All times are GMT -4. The time now is 07:08.

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