hlmod.hu
https://hlmod.hu/

ConVar-ok
https://hlmod.hu/viewtopic.php?f=53&t=4378
Oldal: 1 / 1

Szerző:  Silent [ 2012.05.12. 18:19 ]
Hozzászólás témája:  ConVar-ok

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ás

Köszönöm szépen ha elolvastad a Cvarokról szóló tutorialomat!

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/