-
Sziasztok. Az a hiba lenne,amit nem tudom hogy lehetne kiküszöbölni.
Probléma:
Az lenne,hogy amikor egy markerbe lépünk,akkor kliens oldalbol triggerel server oldalnak egy Createobject-et.
Nade,amikor szintén triggereléssel akarom eltűntetni,akkor mindig csak az tűnik el,amit utoljára hívtunk le.
Ezt lehet,vagy lehetetlen kiküszöbölni? Köszönöm a válaszokat előre is!
-
Szerveroldalon csinálsz egy táblát.
local createdObjects = {}
-- létrehozásnál pedig
createdObjects[#createdObjects + 1] = createObject(stb)
-- amikor pedig destroyolni akarod akkor végigpörögsz a táblán és kitörlöd őket.
for k, v in pairs(createdObjects) do
if v then
if isElement(v) then
destroyElement(v)
end
end
end
-
Köszi. 3 kérdésem lenne.
1. Tudsz egy oldalt linkelni,amin a táblákról van szó?
2. Amikor törölni akarom az általad írt módszerrel,akkor nem törli. A törlés külön van triggerelve.
3.kérdés: Hogyha az általad megadott,táblás createObject-et mozgatni akarom,akkor azt hogyan lehet megtenni?
-
Hali,
http://lua-users.org/wiki/TablesTutorial itt egy leírás.
Lehetséges, hogy törlésnél a táblának nem írtál indexet.
Arra gondolok, hogy a tábla elemekből áll mondhatni sok változó és ezeket a \"változókat\" úgy tudod megnevezni, hogy leírod a táblabevét és utána az indexét ilyen formában: tabla[1]. Ha a táblákat tanulod tanulod, akkor feltétlen nézd meg hozzá a pars/ipairs for ciklusokat is mivel ez a ciklus direkt a táblák kezelésére lett kitalálva.
-
Köszi.
Ebbe vajon mi a hiba?
function cb ()
local tabla = {}
tabla[#tabla + 1] = createObject(1304,565,880,-38.55)
end
addEvent(\"cb\", true)
addEventHandler(\"cb\", getRootElement(), cb)
function cd ()
for k, v in pairs(tabla[1]) do
if v then
if isElement(v) then
destroyElement(v)
end
end
end
end
addEvent(\"cd\", true)
addEventHandler(\"cd\", getRootElement(), cd)
-
local tabla = {}
function cb ()
tabla = createObject(1304,565,880,-38.55)
end
addEvent(\"cb\", true)
addEventHandler(\"cb\", getRootElement(), cb)
function cd ()
for k, v in pairs(tabla) do
if v then
if isElement(v) then
destroyElement(v)
end
end
end
end
addEvent(\"cd\", true)
addEventHandler(\"cd\", getRootElement(), cd)
A hiba az volt, hogy a táblát a funkción belül definiáltad és amikor a pairs funkciót használodbakkor nem kell indexelni a táblát.
-
[mod]Elavult. Zárom, helyezem.[/mod]