Quote:
Originally Posted by sn4k3
its just for keep things more clean, also if i change class name ...
longer than class name? true but i use also shorter defines. See at code bottom
PHP Code:
//================================================================================= // Following Constans, define what libs to use on the plugin and thier variables // Allow disable or enable NO-STATIC Libraries from plugin. // They will be always avaliable to use, but aren't pre defenied by plugintemplate // Never change define name // Comment to disable //================================================================================= #define USE_LIB_DOWNLOAD #define USE_LIB_SOUND #define USE_LIB_PLAYERMNGR #define USE_LIB_TIMER #define USE_LIB_PROFILING #define USE_LIB_ADMIN #define USE_LIB_EASYADMIN #define USE_LIB_LANG #define USE_LIB_MENU #define USE_LIB_PROP #define USE_LIB_VFUNCS #define USE_LIB_SIGSCAN //================================================================================= // Define libraries variables to use on plugin // Never change define name // l = library //================================================================================= #define VAR_LIB_DOWNLOAD glDownload #define VAR_LIB_SOUND glSound #define VAR_LIB_PLAYERMNGR glPlayerMngr #define VAR_LIB_TIMER glTimer #define VAR_LIB_PROFILING glProfiling #define VAR_LIB_ADMIN glAdmin #define VAR_LIB_EASYADMIN glEasyAdmin #define VAR_LIB_LANG glLang #define VAR_LIB_MENU glMenu #define VAR_LIB_HACK glHack // Do not touch this three #define VAR_LIB_PROP VAR_LIB_HACK->Props #define VAR_LIB_VFUNCS VAR_LIB_HACK->VFuncs #define VAR_LIB_SIGSCAN VAR_LIB_HACK->SigScan //================================================================================= // Short and nice typed re-defenitions from libraries variables // You can change define name to your prefered name // v = var, l = library //================================================================================= #define vlDownload VAR_LIB_DOWNLOAD #define vlSound VAR_LIB_SOUND #define vlPlayerMngr VAR_LIB_PLAYERMNGR #define vlTimer VAR_LIB_TIMER #define vlProfiling VAR_LIB_PROFILING #define vlAdmin VAR_LIB_ADMIN #define vlEasyAdmin VAR_LIB_EASYADMIN #define vlLang VAR_LIB_LANG #define vlMenu VAR_LIB_MENU #define vlHack VAR_LIB_HACK #define vlProp VAR_LIB_PROP #define vlVFuncs VAR_LIB_VFUNCS #define vlVSigscan VAR_LIB_SIGSCAN
i do the same for the interfaces:
PHP Code:
//================================================================================= // Disable or enable interfaces from plugin. // They will be always avaliable to use, but aren't pre defenied by plugintemplate // Never change define name // Comment to disable //================================================================================= #define USE_IFACE_BOTMANAGER // (IBotManager) #define USE_IFACE_VOICESERVER // (IVoiceServer) #define USE_IFACE_GAMEEVENTMANAGER // (IGameEventManager2) #define USE_IFACE_EFFECTS // (IEffects) #define USE_IFACE_ENGINETRACE // (IEngineTrace) #define USE_IFACE_SERVERGAMEENTS // (IServerGameEnts) #define USE_IFACE_SERVERCLIENTS // (IServerGameClients) #define USE_IFACE_RANDOMSTREAM // (IUniformRandomStream) #define USE_IFACE_SOUNDS // (IEngineSound) #define USE_IFACE_NETWORKSTRINGTABLE // (NetworkStringTableContainer) //================================================================================= // Following Constans, define plugin interfaces variables names // Methods under [] is where interface got used //================================================================================= #define VAR_IFACE_ENGINE engine // Must use (IVEngineServer) #define VAR_IFACE_PLAYERINFOMANAGER playerinfomanager // Must use (IPlayerInfoManager) #define VAR_IFACE_SERVERPLUGINHELPERS helpers // Must use (IServerPluginHelpers) #define VAR_IFACE_ICVAR icvar // Must use (ICvar) #define VAR_IFACE_SERVERGAMEDLL servergamedll // Must use (IServerGameDLL) #define VAR_IFACE_FILESYSTEM filesystem // Must use (IFileSystem) #define VAR_IFACE_GLOBALVARS gpGlobals // Must use (CGlobalVars) #define VAR_IFACE_BOTMANAGER botmanager // Optional (IBotManager) #define VAR_IFACE_VOICESERVER voiceserver // Optional (IVoiceServer) #define VAR_IFACE_GAMEEVENTMANAGER gameeventmanager // Optional (IGameEventManager2) #define VAR_IFACE_EFFECTS effects // Optional (IEffects) #define VAR_IFACE_ENGINETRACE enginetrace // Optional (IEngineTrace) #define VAR_IFACE_SERVERGAMEENTS serverents // Optional (IServerGameEnts) [GetEntityFromBaseEntity] #define VAR_IFACE_SERVERCLIENTS serverclients // Optional (IServerGameClients) [GetPlayerStatefromEdict, metamod plugin hooks] #define VAR_IFACE_RANDOMSTREAM randomStr // Optional (IUniformRandomStream) [GetEntityOfRandPlayer and GetIndexOfRandPlayer] #define VAR_IFACE_SOUNDS esounds // Optional (IEngineSound) [EmitSound, PrecacheSound] #define VAR_IFACE_NETWORKSTRINGTABLE networkstringtable // Optional (NetworkStringTableContainer) [Downloads] //================================================================================= // Short and nice typed re-defenitions from interfaces variables // You can change define name to your prefered name // v = var, i = interface //================================================================================= #define viEngine VAR_IFACE_ENGINE #define viPlayerinfomanager VAR_IFACE_PLAYERINFOMANAGER #define viHelpers VAR_IFACE_SERVERPLUGINHELPERS #define viICvar VAR_IFACE_ICVAR #define viServerdll VAR_IFACE_SERVERGAMEDLL #define viFilesystem VAR_IFACE_FILESYSTEM #define viGlobals VAR_IFACE_GLOBALVARS #define viBotmanager VAR_IFACE_BOTMANAGER #define viVoiceserver VAR_IFACE_VOICESERVER #define viGameeventmanager VAR_IFACE_GAMEEVENTMANAGER #define viEffects VAR_IFACE_EFFECTS #define viEnginetrace VAR_IFACE_ENGINETRACE #define viServerclients VAR_IFACE_SERVERGAMEENTS #define viRandomStr VAR_IFACE_RANDOMSTREAM #define viEsounds VAR_IFACE_SOUNDS #define viNetworkstringtable VAR_IFACE_NETWORKSTRINGTABLE
|
Quote:
#define VAR_IFACE_ENGINE engine // Must use (IVEngineServer)
#define VAR_IFACE_PLAYERINFOMANAGER playerinfomanager // Must use (IPlayerInfoManager)
#define VAR_IFACE_SERVERPLUGINHELPERS helpers // Must use (IServerPluginHelpers)
#define VAR_IFACE_ICVAR icvar // Must use (ICvar)
#define VAR_IFACE_SERVERGAMEDLL servergamedll // Must use (IServerGameDLL)
#define VAR_IFACE_FILESYSTEM filesystem // Must use (IFileSystem)
#define VAR_IFACE_GLOBALVARS gpGlobals // Must use (CGlobalVars)
|
Why would you want to type VAR_IFACE_ENGINE-> every time, instead of just... engine->
I
was going to say something else totally useless. I hope you understand that I holding myself back on thick chains.
Instead, I will say something useful in an effort to help you.
Order yourself a copy of this book.
http://www.amazon.com/Effective-Spec...5714164&sr=8-1