When using nvault_get to retrieve a string, you need to pass the string variable along w\ maxlen value. Passing only 3 parameters will make the function think you are trying to retrieve a float byref. In this instance, it would be best to use nvault_get to retrieve an integer (only pass vault handle and key). Also, make sure to close the vault. There is a tutorial in the code snippets\tuts section.
How nvault_get functions based on # params:
2 parameters - function returns integer value
3 parameters - function sets float byref
4 parameters - function sets string byref for maxlen chars
Untested
PHP Code:
#include <amxmodx>
#include <nvault>
new gConnectVault
public plugin_init()
{
gConnectVault = nvault_open("ConnectVault")
if(gConnectVault == INVALID_HANDLE)
set_fail_state("nVault failed to open")
}
public plugin_end()
{
nvault_close( gConnectVault );
}
public client_putinserver( id )
{
static szAuthID[ 34 ] , szName[ 33 ] , szTemp[ 6 ] , iConnections;
get_user_authid( id , szAuthID , charsmax( szAuthID ) );
get_user_name( id , szName , charsmax( szName ) );
iConnections = nvault_get( gConnectVault , szAuthID );
num_to_str( ++iConnections , szTemp , charsmax( szTemp ) );
nvault_set( gConnectVault , szAuthID , szTemp );
client_print( 0 , print_chat , "* %s has connected and now has %d connections" , szName , iConnections );
}
__________________