This wiki is archived and useful information is being migrated to the main bzflag.org website

functions (API)

From BZFlagWiki
Revision as of 04:03, 14 August 2007 by 71.109.219.226 (Talk) (Global Database Management (BZDB))

Jump to: navigation, search
BZFS API Documentation This page contains part of the BZFS API documentation for use by Plug-ins on the BZFS server.


Overview

The BZFS API provides a number of functions to plug-ins for use in querying the current game state. Functions are used both to get information about the game, and to trigger in game actions, such as activating a world weapon.

Function Groups

Functions are broken into a series of groups based on the type of action or information they deal with.

Event Registration

BZF_API bool bz_registerEvent ( bz_eEventType eventType, bz_EventHandler* eventHandler );
BZF_API bool bz_removeEvent ( bz_eEventType eventType, bz_EventHandler* eventHandler );

Non-Player Connections

BZF_API bool bz_registerNonPlayerConnectionHandler ( int connectionID, bz_NonPlayerConnectionHandler* handler );
BZF_API bool bz_removeNonPlayerConnectionHandler ( int connectionID, bz_NonPlayerConnectionHandler* handler );
BZF_API bool bz_sendNonPlayerData ( int connectionID, const void *data, unsigned int size );
BZF_API bool bz_disconectNonPlayerConnection ( int connectionID );

Player Information

BZF_API bool [[bz_getPlayerIndexList ( bz_APIIntList *playerList );
BZF_API [[bz_APIIntList *bz_getPlayerIndexList ( void );
BZF_API [[bz_BasePlayerRecord *bz_getPlayerByIndex ( int index );
BZF_API bool bz_updatePlayerData ( bz_BasePlayerRecord *playerRecord );
BZF_API bool bz_hasPerm ( int playerID, const char* perm );
BZF_API bool [[bz_grantPerm ( int playerID, const char* perm );
BZF_API bool bz_revokePerm ( int playerID, const char* perm );
BZF_API bool bz_freePlayerRecord ( bz_BasePlayerRecord *playerRecord );
BZF_API const char* bz_getPlayerFlag]] ( int playerID );
BZF_API bool bz_getPlayerCurrentState ( int playerID, bz_PlayerUpdateState &state );
BZF_API bool bz_isPlayerPaused ( int playerID );
BZF_API bool bz_setPlayerOperator ( int playerId );

Team Information

BZF_API unsigned int bz_getTeamPlayerLimit ( bz_eTeamType team )

Score Management

BZF_API bool bz_setPlayerWins (int playerId, int wins);
BZF_API bool bz_setPlayerLosses (int playerId, int losses);
BZF_API bool bz_setPlayerTKs (int playerId, int tks);
BZF_API bool bz_resetPlayerScore (int playerId);

Latency Information

BZF_API int bz_getPlayerLag ( int playerId );
BZF_API int bz_getPlayerJitter ( int playerId );
BZF_API float bz_getPlayerPacketloss ( int playerId );

Permission Group Management

BZF_API bz_APIStringList* bz_getGroupList ( void );
BZF_API bz_APIStringList* bz_getGroupPerms ( const char* group );
BZF_API bool bz_groupAllowPerm( const char* group, const char* perm );

Chat Messages

BZF_API bool bz_sendTextMessage (int from, int to, const char* message);
BZF_API bool bz_sendTextMessage (int from, bz_eTeamType to, const char* message);
BZF_API bool bz_sendTextMessagef (int from, int to, const char* fmt, ...);
BZF_API bool bz_sendTextMessagef (int from, bz_eTeamType to, const char* fmt, ...);
BZF_API bool bz_sentFetchResMessage ( int playerID,  const char* URL );

Server Management

BZF_API bool bz_restart ( void );

Map Management

BZF_API void bz_setClientWorldDowloadURL( const char* URL );
BZF_API const bzApiString bz_getClientWorldDowloadURL ( void );
BZF_API bool bz_saveWorldCacheFile( const char* file );

Flag Management

BZF_API bool bz_givePlayerFlag ( int playerID, const char* flagType, bool force );
BZF_API bool bz_removePlayerFlag ( int playerID );
BZF_API void bz_resetFlags ( bool onlyUnused );
BZF_API unsigned int bz_getNumFlags ( void );
BZF_API const bz_ApiString bz_getName( int flag );
BZF_API bool bz_resetFlag ( int flag );
BZF_API int bz_flagPlayer ( int flag );
BZF_API bool bz_getFlagPosition ( int flag, float* pos );
BZF_API bool bz_moveFlag ( int flag, float pos[3], bool reset = true );

Shot Type Control

BZF_API bool bz_setPlayerShotType( int playerId, bz_eShotType shotType );

World Weapon Management

BZF_API bool bz_fireWorldWep ( const char* flagType, float lifetime, float *pos, float tilt, float direction, int shotID , float dt );
BZF_API int bz_fireWorldGM ( int targetPlayerID, float lifetime, float *pos, float tilt, float direction, float dt);

Server Time

BZF_API double bz_getCurrentTime ( void );
BZF_API float bz_getMaxWaitTime ( void );
BZF_API void bz_setMaxWaitTime ( float maxTime );
BZF_API void bz_getLocaltime ( bz_localTime *ts );

Global Database Management (BZDB)

BZF_API double bz_getBZDBDouble ( const char* variable );
BZF_API bz_ApiString bz_getBZDBString( const char* variable );
BZF_API bool bz_getBZDBBool( const char* variable );
BZF_API int bz_getBZDBInt( const char* variable );
BZF_API int bz_getBZDBItemPerms ( const char* variable );
BZF_API bool bz_getBZDBItemPesistent( const char* variable );
BZF_API bool bz_BZDBItemExists( const char* variable );
BZF_API bool bz_setBZDBDouble ( const char* variable, double val, int perms = 0, bool persistent = false );
BZF_API bool bz_setBZDBString( const char* variable, const char *val, int perms = 0, bool persistent = false  );
BZF_API bool bz_setBZDBBool( const char* variable, bool val, int perms = 0, bool persistent = false  );
BZF_API bool bz_setBZDBInt( const char* variable, int val, int perms = 0, bool persistent = false  );
BZF_API int bz_getBZDBVarList( bz_APIStringList	*varList );
BZF_API void bz_resetBZDBVar( const char* variable );
BZF_API void bz_resetALLBZDBVars( void );

Misc

See also

BZFS API

plug-ins