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: ProgMatyi - 2015. március 19. - 15:28:27

Cím: Server oldali destroyElement triggerelve hiba
Írta: ProgMatyi - 2015. március 19. - 15:28:27
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!
Cím: Server oldali destroyElement triggerelve hiba
Írta: Enigma - 2015. március 19. - 16:09:47
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
Cím: Server oldali destroyElement triggerelve hiba
Írta: ProgMatyi - 2015. március 19. - 16:36:53
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?
Cím: Server oldali destroyElement triggerelve hiba
Írta: Feher - 2015. március 19. - 17:06:52
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.
Cím: Server oldali destroyElement triggerelve hiba
Írta: ProgMatyi - 2015. március 19. - 17:18:02
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)
Cím: Server oldali destroyElement triggerelve hiba
Írta: Feher - 2015. március 21. - 10:08:09

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.
Cím: Server oldali destroyElement triggerelve hiba
Írta: koko1238640 - 2015. május 10. - 15:48:48
[mod]Elavult. Zárom, helyezem.[/mod]