Sziasztok,
ebben a leírásban a változók használatát mutatom be kezdő/leendő scriptereknek. Próbálom minél egyszerűbben leírni, hogy könnyű legyen a megértése.
A változók alkalmasak adatok tárolására. Mielőtt belekezdünk, nézzük meg mik is az mta scipteléshez használt leggyakoribb adattípusok.
Adattípusok:1. Szám:
pl.:
x = 15
2. Szöveg:
pl.:
x = \"alma\"
3. Igaz-hamis:
pl.:
x = true
Általánosságban a változókról: A matekból már ismerős lehet a változó fogalma nagyjából így van ez itt is, a fent lévő példában egy értéket adtunk az x változónak, de mi történik, ha ez többször is megismételjük?
pl.:
x = 15
x = 12
Ilyenkor az x váltózóban lévő érték(15) elveszik és helyére a 12 kerül.
Fontos tudni, hogy a LUA soronként dolgozik szóval, hogy ha kiszeretnéd íratni a változót, akkor mindig a kiírási parancs sora előtt lévő legközelebbi értéket fogja kiírni.
pl.:
a = 4
outputChatBox(a) -- ez 4-et fog kiírni
a = 9
outputChatBox(a) -- ez pedig 9-et
(ez a kód így önmagában nem működik, csak egy szemléltetés.) Az outputChatBox egy funkció, amit az mta csapat készített, arra szolgál, hogy kiírjon vmit a chatboxba.
Feltűnhetett a -- jel ami arra alkalmas, hogy egy sornyi megjegyzést írjunk amit a LUA figyelmen kívül hagy. Több sornyi megjegyzést ily módon írhatunk: --[[szöveg
szöveg]]
Nézzünk meg még pár példát változókkal kapcsolatosan:
a = 10
b = a
Ilyenkor a és b értéke is 10 lesz.
a = 12 -- a értéke 12
b = 10 -- b értéke 10
a = b -- a régi értéke(12 elveszik) és b értékét tároljuk el az a változóban. Szóval a értéke is 10
Itt a értéke 12 lesz majd b értéke 10 aztán látjuk a 3. sort ami elsőre kicsit furcsa lehet mivel 10 nem lehet egyenlő 12-vel. A LUA-ban az = jel nem ugyanaz mint amit a matematikában használunk = jel. Itt ezzel, ahogy a leírás elején is említettem tárolni tudunk adatot egy változóban. A matematikai egyenlőségjel a LUA-ban == -vel jelöljük.
A következő példa a szöveg és a szám közti különbségre hívja el a figyelmet.
sajt = 15 -- sajt értéke 15
a = \"sajt\" -- a értéke sajt
sajt = 15 -- sajt értéke 15
a = sajt --a értéke 15
b = \"15\" -- b értéke 15 lesz, de szövegként és nem számként, szóval ha számolni szeretnénk vele pl. c = b+15 akkor az nem fog működni.
Látható, hogy bármi ami \"\" jel között van kifog íródni, így az első scriptben nem 15lett a értéke hanem sajt ami szöveg típusú.
Műveletek használata változók segítségével:
a = 12 -- a értéke 12
b = 15 -- b értéke 15
c = a+b -- c értéke 27
Globális változók:A globális változók az egész scriptben és resourceben érvényes.(persze szerver oldaliban definiált változó nem létezik a cliens oldaliba és fordítva sem)
pl.:
a = 10
Fontos megjegyezni, hogy a LUA soronként dolgozik, ahogy már említettem, és ha a változót a parancs ( ami használja a változót) után definiáljuk, akkor az még akkor nem létezik.
Helyi változók:Ezek csak az adott funkcióban léteznek, ahol definiáljuk őket.
pl.:
function nev()
local b = 10
end
(a local szó helyit jelent)
Ha egy funkcióban definiálunk egy globális változót akkor az csak azután fog létezni, miután előhívjuk a funkciót.
Ha pedig funkción kívül definiálunk egy helyi változót,
pl.:
local a = 10
akkor az az egész scriptben érvényes, de nem az egész resource-ben.
Ennyi lenne ez a kis leírás, ha szeretnétek többet, akkora jelezzétek és folytatom a táblákkal.