ConfigFramework – framework do ułatwiania zarządzania configami

Jest to projekt którego założeniem było ułatwienie pracy i zarządzania configami oraz dodania funkcjonalności której wcześniej nie było w amxxie. Wrzucając framework do projektu dostajemy do dyspozycji dwa nowe forwardy
  • plugin_config
  • plugin_config_loaded
oraz funkcje publiczną do wywołania
  • CFWInitialize( configName[] )
plugin_config – wykonuje się przed plugin_precache więc jest to pierwsza funkcja uruchamiana w pluginie w tym forwardzie rejestrujemy wszystkie cvary. Do funkcji register_cvar został dodany jeden nowy parametr description. Czyli opis cvara. Przykład użycia
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
register_cvar( "test_cvar" , "1" ,.description = "Testowy cvar" );
register_cvar( "test_cvar" , "1" ,.description = "Testowy cvar" );
register_cvar( "test_cvar" , "1" ,.description = "Testowy cvar" );
Drugi forward plugin_config_loaded jest uruchamiany po załadowaniu wszystkich cvarów jest to funkcja wykonywana przed plugin_precache. W tym forwardzie pobieramy sobie wszystkie dane z cvarów które są nam potrzebne. Funkcje CFWInitialize( configName[] ) uruchamiamy w forwadzie plugin_config np.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
CFWInitialize( "testConfig" );
CFWInitialize( "testConfig" );
CFWInitialize( "testConfig" );
pierwszym parametrem jest nazwa configu do utworzenia. Prywatne metody w frameworku to
  • __CFWregister_cvar
  • __CFWloadConfig
  • __CFWsaveConfig
Należy je tylko wykonywać jeśli dokładnie wie co chce się zrobić Wszelkie pluginy pojawia się w folderze
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
configs/plugin/nazwaConfiga.cfg
configs/plugin/nazwaConfiga.cfg
configs/plugin/nazwaConfiga.cfg
config.zip Download Przykładowy plugin
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
/* Script generated by Pawn Studio */
#include <amxmodx>
#include <amxmisc></amxmisc></amxmodx>
#include "config"
#define PLUGIN "testConfig"
#define AUTHOR "DarkGL"
#define VERSION "1.0"
new cvarResult;
#pragma unused cvarResult
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
}
public plugin_precache(){
}
public plugin_cfg(){
}
public plugin_config(){
CFWInitialize( "testConfig" );
register_cvar( "test_cvar" , "1" ,.description = "Testowy cvar" );
}
public plugin_config_loaded(){
cvarResult = get_cvar_num( "test_cvar" );
log_amx( "config loaded cvarResult: %d" , cvarResult );
}
/* Script generated by Pawn Studio */ #include <amxmodx> #include <amxmisc></amxmisc></amxmodx> #include "config" #define PLUGIN "testConfig" #define AUTHOR "DarkGL" #define VERSION "1.0" new cvarResult; #pragma unused cvarResult public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); } public plugin_precache(){ } public plugin_cfg(){ } public plugin_config(){ CFWInitialize( "testConfig" ); register_cvar( "test_cvar" , "1" ,.description = "Testowy cvar" ); } public plugin_config_loaded(){ cvarResult = get_cvar_num( "test_cvar" ); log_amx( "config loaded cvarResult: %d" , cvarResult ); }
/* Script generated by Pawn Studio */

#include 
#include 

#include "config"

#define PLUGIN	"testConfig"
#define AUTHOR	"DarkGL"
#define VERSION	"1.0"

new cvarResult;

#pragma unused cvarResult

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
}

public plugin_precache(){
}

public plugin_cfg(){
}

public plugin_config(){
CFWInitialize( "testConfig" );

register_cvar( "test_cvar" , "1" ,.description = "Testowy cvar" );
}

public plugin_config_loaded(){
cvarResult = get_cvar_num( "test_cvar" );

log_amx( "config loaded cvarResult: %d" , cvarResult );
}

2 komentarzy o “ConfigFramework – framework do ułatwiania zarządzania configami

  1. i jak dolacze to to juz nie moge w kodzie zdefiniowac swojego precache’a bo bedzie ze function is already defined

  2. i jak dolacze to to juz nie moge w kodzie zdefiniowac swojego precache’a bo bedzie ze function is already defined // nie , funkcja jest owijana więc nie dojdzie do takiej sytuacji

Dodaj komentarz

This site uses Akismet to reduce spam. Learn how your comment data is processed.