Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

ConfigFramework – framework do ułatwiania zarządzania configami


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 983
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 30.10.2014 18:11

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

http://darkgl.amxx.p...ania-configami/
  • 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 przedplugin_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

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 );
}
Załączony plik  config.inc   2,95 KB  90 Ilość pobrań

  • +
  • -
  • 3

#2 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 03.11.2014 15:50

Czym to się różni od plugin_init + plugin_cfg prócz tego, że (niewiadomo po co!) odpalane jest przed plugin_precache?
  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#3 DarkGL

    Nie oddam ciasteczka !

  • Autor tematu
  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 983
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 03.11.2014 19:18

Chodzi właśnie o gwarancje wywoływania funkcji od configa jako pierwsze funkcje plugin w kilku swoich sytuacjach chciałem to elegancko zrobic i wyszedłem z takim rozwiązaniem
  • +
  • -
  • 0

#4 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 04.11.2014 09:57

Czyli potrzebujesz wartości cvaru w plugin_precache albo w plugin_init? Jeśli nie to po co się w to bawić? Prawie zawsze cvar będzie potrzebny dopiero PO plugin_cfg. Dla mnie nadal to nie ma sensu
  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#5 DarkGL

    Nie oddam ciasteczka !

  • Autor tematu
  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 983
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 04.11.2014 10:15

Tak , oczywiście chodziło tez o uporządkowanie configow i ograniczwnie mi pracy
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych