GTA Közösség - A magyar GTA fórum

Multi Theft Auto (MTA) => MTA: Szerverfejlesztés => Archívum => A témát indította: gergelyfin - 2014. Október 18. - 14:30:51

Cím: Éhség le/fel menése
Írta: gergelyfin - 2014. Október 18. - 14:30:51
Sziasztok egy olyan kérdésem lenne hogyan lehetne azt megoldani hogy például: 5 percenként lemenne az éhség?  (én ezekre a parancsokra gondolok:)
setElementData +
getElementData +
if-es lekérdezésre
Cím: Éhség le/fel menése
Írta: Carlos - 2014. Október 18. - 16:01:06

setTimer ( EhsegFunkcio, 5 * 1000, -1)
function EhsegFunkcio()
local ehseg = getElementData(getLocalPlayer(), \"karakter:ehseg\")
local ehsegk = ehseg - 10
setElementData(getLocalPlayer(), \"karakter:ehseg\", ehsegk)
end
Cím: Éhség le/fel menése
Írta: gergelyfin - 2014. Október 18. - 17:47:42
Hello köszi két próbléma jött elő :D
1.
Bad argument @ settimer [Expected Fuction at argument  1, got nil]
2. Ha lekérem ugye a funkciót akkor nem adja ki
attempt to contacte global ehseg (nil value)
Cím: Éhség le/fel menése
Írta: Carlos - 2014. Október 18. - 18:22:10
Mivel még nincs \"karakter:ehseg\" érték rendelve a karakteredhez. Amennyiben akarod, hogy alapból ha még nem létezik 100-ként kezelje (full) akkor cseréld ki a local ehseg változót. Erre
 
 local ehseg = getElementData(getLocalPlayer(), \"karakter:ehseg\") or 100

 
De ilyen fajta megoldás nem ajánlott mert reconnectnél törlődnek a karaktered értékei így az éhség szintje is tehát maxról fog kezdődni. Ha ezt nem akarod akkor sql-be behelyezed a dolgokat és minden karakter betöltésnél betölteted az ehseg-et
Cím: Éhség le/fel menése
Írta: Xenius - 2014. Október 18. - 19:17:23
Idézetet írta: Carlos date=1413649330\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"55674\" data-ipsquote-contentclass=\"forums_Topic
Mivel még nincs \"karakter:ehseg\" érték rendelve a karakteredhez. Amennyiben akarod, hogy alapból ha még nem létezik 100-ként kezelje (full) akkor cseréld ki a local ehseg változót. Erre
 
 local ehseg = getElementData(getLocalPlayer(), \"karakter:ehseg\") or 100

 
De ilyen fajta megoldás nem ajánlott mert reconnectnél törlődnek a karaktered értékei így az éhség szintje is tehát maxról fog kezdődni. Ha ezt nem akarod akkor sql-be behelyezed a dolgokat és minden karakter betöltésnél betölteted az ehseg-et
 

local ehseg = tonumber(getElementData(getLocalPlayer(), \"karakter:ehseg\")) or 100
Cím: Éhség le/fel menése
Írta: Carlos - 2014. Október 18. - 19:43:22
Idézetet írta: Xenius date=1413652643\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"55674\" data-ipsquote-contentclass=\"forums_Topic


Mivel még nincs \"karakter:ehseg\" érték rendelve a karakteredhez. Amennyiben akarod, hogy alapból ha még nem létezik 100-ként kezelje (full) akkor cseréld ki a local ehseg változót. Erre
 
 local ehseg = getElementData(getLocalPlayer(), \"karakter:ehseg\") or 100

 
De ilyen fajta megoldás nem ajánlott mert reconnectnél törlődnek a karaktered értékei így az éhség szintje is tehát maxról fog kezdődni. Ha ezt nem akarod akkor sql-be behelyezed a dolgokat és minden karakter betöltésnél betölteted az ehseg-et
 

local ehseg = tonumber(getElementData(getLocalPlayer(), \"karakter:ehseg\")) or 100

 

[/quote]
Itt most semmi értelme a tonumbernek... Ha mint \"number\"-ként van elmentve a szám akkor nem kell újból numbert faragni belőle.... Azért köszönjük....  :-\\
Cím: Éhség le/fel menése
Írta: gergelyfin - 2014. Október 19. - 09:00:11
Valamennyire megtudtam csinálni köszönöm a segítséget.