Untested and I'm not sure what flag you want, so you need to update that part in the code.
PHP Code:
#include <amxmodx>
#include <nvault>
new const Version[] = "0.1";
#define MAX_PLAYERS 32
const FortyEightHours = ( 86400 * 2 );
enum PlayerData
{
pdAuthID[ 34 ],
pdConnectTime,
pdPlayTime,
pdIgnorePlayer
}
new g_pdData[ MAX_PLAYERS + 1 ][ PlayerData ];
new g_Vault;
public plugin_init()
{
register_plugin( "Play Time VIP" , Version , "bugsy" );
g_Vault = nvault_open( "ptvip" );
}
public plugin_end()
{
nvault_close( g_Vault );
}
public client_authorized( id )
{
new szTime[ 11 ] , iTS , szMsg[ 48 ];
if ( !( g_pdData[ id ][ pdIgnorePlayer ] = ( is_user_bot( id ) || is_user_hltv( id ) ) ) )
{
get_user_authid( id , g_pdData[ id ][ pdAuthID ] , charsmax( g_pdData[][ pdAuthID ] ) );
g_pdData[ id ][ pdConnectTime ] = get_systime();
if ( nvault_lookup( g_Vault , g_pdData[ id ][ pdAuthID ] , szTime , charsmax( szTime ) , iTS ) )
{
g_pdData[ id ][ pdPlayTime ] = str_to_num( szTime );
if ( g_pdData[ id ][ pdPlayTime ] >= FortyEightHours )
{
set_user_flags( id , ADMIN_LEVEL_F );
formatex( szMsg , charsmax( szMsg ) , "You have played for %d seconds and now have VIP" , g_pdData[ id ][ pdPlayTime ] );
}
else
{
formatex( szMsg , charsmax( szMsg ) , "You have played for %d seconds. Play more to get VIP" , g_pdData[ id ][ pdPlayTime ] );
}
}
else
{
copy( szMsg , charsmax( szMsg ) , "This is your first time connecting." );
}
set_task( 8.0 , "ShowMessage" , id , .parameter=szMsg , .len=sizeof( szMsg ) );
}
}
public client_disconnect( id )
{
new szTime[ 11 ];
if ( !g_pdData[ id ][ pdIgnorePlayer ] )
{
num_to_str( g_pdData[ id ][ pdPlayTime ] + ( get_systime() - g_pdData[ id ][ pdConnectTime ] ) , szTime , charsmax( szTime ) );
nvault_set( g_Vault , g_pdData[ id ][ pdAuthID ] , szTime );
g_pdData[ id ][ pdPlayTime ] = 0;
}
}
public ShowMessage( szMsg[] , id )
{
if ( is_user_connected( id ) )
{
client_print( id , print_chat , szMsg );
}
}
__________________