Skocz do zawartości

Cvar`y


Muzzik
# CSH External VIP Project

Masz dosyć problemów z czynnikiem zaufania w CS2 lub notorycznymi banami?

Sprawdź CSH External VIP Project.


Więcej informacji  

Rekomendowane odpowiedzi

Cvar

 

Co to jest?

Wygląda mi na skrót od: "command variable", ale nie mówię, że tak jest. To komenda regulująca jakiś parametr.

Struktura:

 

[nazwa] [wartość]

Jeśli [wartość] zawiera spację trzeba umieścić ją w nawiasie.

 

[nazwa] "[wartość wartość cd.]"

1. Dodawanie

 

register_cvar( const name[],const string[],flags = 0,Float:fvalue = 0.0 ) 
const name[] -> nazwa cvara

const string[] -> wartość domyślna

flags = 0 -> flagi

 

 

FCVAR_ARCHIVE dodaj jeśli ma być umieszczona w vars.rc

FCVAR_USERINFO zmienia userinfo

FCVAR_SERVER informacja o zmianie pokazywana jest graczom

FCVAR_EXTDLL defiowana przez zewnętrzną bibliotekę DLL

FCVAR_CLIENTDLL defiowana przez dll klienta

FCVAR_PROTECTED chroniona przed ujawnieniem (jeśli zawiera hasło itd)

FCVAR_SPONLY nie może być zmieniana przez klienta w grze wieloosobowej

FCVAR_PRINTABLEONLY nie może zawierać znaków, których nie wyświetli gra

FCVAR_UNLOGGED zmiana nie jest odnotowywana w logach

jeśli interesuje nas kilka flag używamy sumy binarnej |:

 

FCVAR_SPONLY|FCVAR_PROTECTED
Float:fvalue = 0.0 -> jeśli wartość domyślna jest liczbą rzeczywistą tu ją podajemy

 

Funkcja register_cvar zwraca 'wskaźnik' (liczbę-identyfikator), który możemy używać potem z funkcjami get_pcvar_num,get_pcvar_float czy get_pcvar_string. Warto przechować tę wartość w zmiennej globalnej.

 

 

new gcvarMyFirst;
public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        gcvarMyFirst=register_cvar("amx_myfirstcvar","1");
}

 

 

2. Pobieranie wartości

Możemy to zrobić na 2 sposoby:

a) poprzez nazwę

 

Float: get_cvar_float ( const cvarname[] ) 
get_cvar_num ( const cvarname[] ) 
get_cvar_string ( const cvarname[],output[],iLen ) 
const cvarname[] to oczywiście nazwa cvara

Różne funkcje do różnych typów danych:

float-zwraca liczbę rzeczywstą,

string - tekst (przekazujemy tablicę wraz z długością, która zostanie wypełniona wartością cvara),

num- zwraca liczbę całkowitą.

:) poprzez wskaźnik

 

 

 

wskaźnik zwracany przez register_cvar. do istniejących już cvarów wskaźnik pobieramy funkcją

 

get_cvar_pointer ( const cvar[] ) 
pobieranie wartości:

 

 

Float: get_pcvar_float ( pcvar ) 
get_pcvar_num ( pcvar ) 
get_pcvar_string ( pcvar, string[], maxlen ) 
Fziałają identycznie, z tą różnicą, że zamiast nazwy podajemy wskaźnik. To metoda znacznie szybsza i używamy jej kiedy pobieramy wartość więcej niż raz.

 

 

 

3. Zmiana wartości

Rzecz banalnie prosta: wykonujemy w konsoli serwera (server_cmd()):

 

 

nazwa_cvara "[nowa wartość]"

Źródło amxx.pl

Zapraszam na mojego twittera:

@Muzzikx

Odnośnik do komentarza

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Regulamin. Polityka prywatności