hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.29. 01:53



Jelenlévő felhasználók

Jelenleg 218 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 217 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Google [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 7 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Pcvar készítés
HozzászólásElküldve: 2012.02.23. 19:01 
Offline
Signore Senior
Avatar

Csatlakozott: 2011.09.09. 17:39
Hozzászólások: 4020
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 139 alkalommal
Kód:
#include <amxmodx>  

#define PLUGIN "Cvar Tutorial"  //név
#define VERSION "1.0"  //verzió
#define AUTHOR "Slt"   //készítő

new cvar_value //létrehozunk egy globális változót, ez fogja tárolgatni a cvarunk értékét


public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
cvar_value register_cvar("amx_cvar""1"// itt "deklaráljuk" a változónkat cvarnak
    
register_clcmd("say /cvar""check_cvar")
}

public 
check_cvar(id)
{
    if(
get_pcvar_num(cvar_value) == 1)  // lekérjük a cvarunk értékét, fontos hogy a pointert kérdezzük és ne a cvar nevét
    
client_print(idprint_chat"A cvar erteke 1!")
    else if(
get_pcvar_num(cvar_value) == 2client_print(idprint_chat"A cvar erteke 2!")
    else 
client_print(idprint_chat"A cvar erteke nem 1 es nem 2!")
}

/*
    Tehát. Létrehoztunk egy globális változót, ami majd hordozni fogja a cvarunk értékét.
    Plugin_initben deklaráltuk, kijelentettük, hogy a pointerünk fogja hordozni a cvar értékét.
    Ezek után létrehoztunk egy kliens parancsot, ami a /cvar csetbe való írásával kiírja az amx_cvar értékét.
    Hogyan? Először is lekérdezzük a cvar értékét a get_pcvar_num függvénnyel, és megnézzük, hogy az 1-e.
    Mivel 1, kiírjuk neki, hogy 1. 
    Na de nem egy, ezért tovább lép és rájön, hogy 2. Ezért kiírja hogy 2.
    De ha nem 1 és nem is 2, akkor kiírja, hogy nem 1 és nem 2 az érték.
    
    
*/
 


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pcvar készítés
HozzászólásElküldve: 2012.09.25. 22:01 
Offline
Őskövület
Avatar

Csatlakozott: 2013.01.01. 17:48
Hozzászólások: 2441
Megköszönt másnak: 18 alkalommal
Megköszönték neki: 21 alkalommal
Ez miben különbözik a rendes cvartól? Érdekel ez a téma...:)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pcvar készítés
HozzászólásElküldve: 2012.09.26. 06:58 
Offline
Developer
Avatar

Csatlakozott: 2011.06.01. 21:11
Hozzászólások: 7962
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 535 alkalommal
Globális változóra van készítve, de szerintem ha kinyitnád a szemed és érdekelne is nem csak a hsz gyaraposítás miatt írnál tudnád te is...

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pcvar készítés
HozzászólásElküldve: 2012.09.26. 17:55 
Offline
Őskövület
Avatar

Csatlakozott: 2013.01.01. 17:48
Hozzászólások: 2441
Megköszönt másnak: 18 alkalommal
Megköszönték neki: 21 alkalommal
kiki írta:
Globális változóra van készítve, de szerintem ha kinyitnád a szemed és érdekelne is nem csak a hsz gyaraposítás miatt írnál tudnád te is...

Érdekel. Nem hsz gyarapítás...amúgy egy változó tárolja a cvart, és akkor nem kell változóba rakni a cvart, hanem az elején is elég, hogy több helyen is lehessen egyből használni?


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pcvar készítés
HozzászólásElküldve: 2012.09.28. 15:39 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
No akkor....

Kód:
cvar_value //létrehozunk egy globális változót, ez fogja tárolgatni a cvarunk értékét

Ez így ebben a formában nem igaz. Ebben az adott cvar referenciája kerül, nem pedig az értéke.
(inkább nevezd így el a változót: pcvar_value).

Tehát a változónk tulajdonképpen egy pointer lesz, ami a cvar memóriabeli helyére mutat. (Emiatt get_pcvar_num fgvt használjuk)
Érdemes ezt használni, mivel ha többször használsz egy regisztrált cvart, s nem pointeresen használod, hanem hivatkozol a cvarra, mint konstans string (get_cvar_num), akkor működik, de esetleg ha át akard nevezni a cvart, akkor több helyen kell átírni. Sőt, ekkor a memóriában sem szükséges lefoglalni egy string értékét még egyszer, ha már cvarban bent van.
Pl: register_cvar("almafa", "Korteeefaaminagyonhosszuszovegakarnovellaislehetne")
Megteheted, hogy ezt eltárolod változóban (+memóriaigény, jelen esetben 52 byte), VAGY egy pointert kreálsz hozzá, amin keresztül eléred (a mérete a pointernek fix, 4 byte)

További megjegyzések:
Egy változó lehet lokálisan is létrehozva (és pointer is lehet ez), ami a fgv futása végén eltűnik.
(Érdemes törekedni arra, hogy inkább lokális változókat használjunk: Nagyobb pluginnál sokat jelent, ha nem 10 megát zabál, hanem 1 megát. Azokat a változókat,a melyeket folyamatosan vagy gyakran használunk, érdemes kipakolni, így nem vesz el időt a memória foglalás/allokálás).


Kérdés?

u.i.:
Kicsit átírnám a kommentet silent, pl így:
/*
Tehát.
Létrehoztunk egy globális változót, ami tartalmazni fogja a cvarunk címét.
Plugin_initben deklaráltuk, s beállítottuk, hogy a változónk melyik cvarra lesz "kötve". (Innentől kezdve pointerként fog funkcionálni)
Ezek után létrehoztunk egy kliens oldali parancsot: ha sabye beírjuk, hogy "/cvar" akkor kiírj üzenetet a saybe az alábbiak szerint:
Lekéri a get_pcvar_num függvénnyel a változónk aktuális értékét.
Ha ez 1, akkor ezt látjuk majd: "A cvar erteke 1!"
Ha 2, akkor ezt: "A cvar erteke 2!"
Ha nem 1 és nem 2, akkor ezt írja ki: "A cvar erteke nem 1 es nem 2!"
*/



(u.i. 2: Nagyot nevettem ezen: "ezért tovább lép és rájön, hogy 2" :D Rájön? :D ilyen okos? :D)

_________________
Kód:
I'm back

Kép

Ők köszönték meg Metal nek ezt a hozzászólást: Vinnice (2012.09.28. 16:39)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pcvar készítés
HozzászólásElküldve: 2012.12.30. 20:41 
Offline
Újonc

Csatlakozott: 2012.12.30. 20:13
Hozzászólások: 12
Bocsaanat Mr.Metal. xd


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pcvar készítés
HozzászólásElküldve: 2013.04.26. 20:04 
Offline
Signore Senior
Avatar

Csatlakozott: 2011.09.09. 17:39
Hozzászólások: 4020
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 139 alkalommal
Feel free to edit my post. Jórégi amm, kicsit gáz is :DD


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 7 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole