←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Dynamiczna edycja nvault

  • +
  • -
Czaso Umilacz - zdjęcie Czaso Umilacz 14.07.2012

Witam, jak używać podanych funkcji:

nvault_util_count
nvault_util_read

Oraz jakie inne tego typu funkcje istnieją i tez instrukcje obsługi, oraz plik inc w jakim je znajdę :)
Odpowiedz

  • +
  • -
Czaso Umilacz - zdjęcie Czaso Umilacz 14.07.2012

Dzięki ale ja nie władam językiem angielskim zbyt dobrze więc polskie tłumaczenia bym prosił :)
Odpowiedz

  • +
  • -
speedkill - zdjęcie speedkill 14.07.2012

Żeby zrozumieć te funkcje nie trzeba władać świetnie językiem angielskim ;)
#include <amxmodx>
#include <nvault_util>

new const Version[] = "0.1";

new const szTestVault[] = "testvault";

public plugin_init() 
{
	register_plugin( "nvault_util test plugin" , Version , "bugsy" );
	
	//nvault_util_open_close_example();
	//nvault_util_count_example();
	//nvault_util_read_example();
	//nvault_util_readall_example();
	//nvault_util_pos_example();
}

public nvault_util_open_close_example()
{
	new iVaultHandle = nvault_util_open( szTestVault );
	nvault_util_close( iVaultHandle );
}

public nvault_util_count_example()
{
	new iVault = nvault_util_open( szTestVault );
	new iCount = nvault_util_count( iVault );
	
	nvault_util_close( iVault );
	
	server_print( "Vault [%s] has %d entries!" , szTestVault , iCount );
}

public nvault_util_read_example()
{
	new iPos , szKey[ 32 ] , szVal[ 64 ] , iTimeStamp;
	new iVault = nvault_util_open( szTestVault );
	new iCount = nvault_util_count( iVault );

	for ( new iCurrent = 1 ; iCurrent <= iCount ; iCurrent++ )
	{
		iPos = nvault_util_read( iVault , iPos , szKey , charsmax( szKey ) , szVal , charsmax( szVal ) , iTimeStamp );
		
		server_print( "[%d of %d] Key=%s Val=%s Timestamp=%d" , iCurrent , iCount , szKey , szVal ,  iTimeStamp );
	}
	
	nvault_util_close( iVault );
}

public nvault_util_readall_example()
{
	new iVault = nvault_util_open( szTestVault );
	new iData[ 3 ] = { 8 , 18 , 32 };
	
	nvault_util_readall( iVault , "nvault_util_readall_fwd" , iData , sizeof( iData ) );
	
	nvault_util_close( iVault );
}

public nvault_util_readall_fwd( iCurrent , iTotal , const szKey[] , const szVal[] , iTimeStamp , const Data[] , iSize )
{
	server_print( "[%d of %d] Key=%s Val=%s Timestamp=%d Data={ %d %d %d } Size=%d" , iCurrent , iTotal , szKey , szVal , iTimeStamp , Data[ 0 ] , Data[ 1 ] , Data[ 2 ] , iSize );
}

public nvault_util_pos_example()
{
	new iVault = nvault_util_open( szTestVault );
	new iPos , szKey[ 32 ] , szVal[ 64 ] , iTimeStamp;
	
	nvault_util_read( iVault , 0 , szKey , charsmax( szKey ) , szVal , charsmax( szVal ) , iTimeStamp );
	server_print( "Key=%s Val=%s Timestamp=%d" , szKey , szVal ,  iTimeStamp );
	
	iPos = nvault_util_pos( iVault );
	nvault_util_read( iVault , iPos , szKey , charsmax( szKey ) , szVal , charsmax( szVal ) , iTimeStamp );
	server_print( "Key=%s Val=%s Timestamp=%d" , szKey , szVal ,  iTimeStamp );
	
	nvault_util_close( iVault );
}

Odpowiedz