Először is tisztázzuk, mit is jelent a Cvar(ConVar)..Cvar-ok azok a változók, amelyeket egy egyszerű rcon parancssal / sm_cvar paranccsal változtathatunk, akár játék közben is.
Hol és mikor használjuk őket?.Az alap hl2 engine-es játékokban vannak alap cvar-ok is, amelyeket variálhatsz. Ezeket már biztosan ismered, csak nem tudtad hogy mik ezek.
.Például az "mp_startmoney" is egy cvar.
Na ássunk kicsit mélyebbre.Ahhoz, hogy létrehozzunk/lekérjünk/módosítsunk -egyszóval kezeljünk- egy cvart, létrekell hozni egy úgymond "handle- változót". Ez egy mutató.
.Figyelem! A cvar mutatója nem egyenlő a cvar értékével.
.Nézzünk egy példát, hogy hogyan lehet lekérni egy már létező cvar értékét.
Kód:
new Handle:my_handle; //létrehozzuk a handle-változót.
public OnPluginStart() //Amikor a plugin elindul
{
my_handle = FindConVar("mp_startmoney"); //Megkeressük, hogy van-e ilyen cvar-unk.
SetCvar(); //Elindítjuk a SetSvar nevű funkciót, amit mi fogunk meghatározni, hogy mit csinál.
}
public SetScar() //Íme a funkciónk.
{
if(my_handle != INVALID_HANDLE) //Ha létezik a cvar
{
SetConVarInt(my_handle, "800"); //Beállítjuk 800-ra.
}
}
.Ez egy egyszerű cvar beállítás volt.
.Cvar létrehozása:
Kód:
new Handle:my_handle
public OnPluginStart()
{
my_handle = CreateConVar("myplugin_cvar", "1", "Cvar leírása kerül ide") //cvar neve, értéke, leírása
}
.Ezek után a my_handle-t lehet babrálni.
A cvaroknak a sourcepawn-ban tudunk minimum és maximum értékeket megadni.Mégpedig így:
Kód:
new Handle:my_handle
public OnPluginStart()
{
my_handle = CreateConVar("myplugin_minmax",
"0.6",
"Minimum 0.1, maximum 1.0-t vehet fel",
_, /* Flagek, később lesz róla szó */
true, /* Van minimuma? Igen, tehát true */
0.1, /* Minimum értéke */
true, /* Van maximuma? Igen, tehát true */
1.0) /*Maximum értéke */
}
Cvar Flagek.A cvaroknak tudunk különböző flageket adni a harmadik paraméterben.
.Flagek:
-FCVAR_PROTECTED (jelentése: Változáskor a játékosok nem értesülnek róla, és a logban sem fog szerepelni)
-FCVAR_NOTIFY (jelentése: Változáskor a játékosok értesülnek róla)
-FCVAR_CHEAT (jelentése: Csak akkor használható a cvar, ha az "sv_cheat" cvar be van kapcsolva)
-FCVAR_REPLICATED (jelentése: A változás főleg kliens oldali cvarra érvényes)
Köszönet mondásKöszönöm szépen ha elolvastad a Cvarokról szóló tutorialomat!