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

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.

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

configs/plugin/nazwaConfiga.cfg

config.zip Download

Przykładowy plugin

/* Script generated by Pawn Studio */

#include <amxmodx>
#include <amxmisc>

#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 // nie , funkcja jest owijana więc nie dojdzie do takiej sytuacji

Dodaj komentarz