Jump to content

Como funcionaria esta tabla?


Serginix

Recommended Posts

Hola!, estaba jugando y experimentando con tablas, aver q me salia... y quize hacer q al aprentar un boton en una GUI creara un marker y un blip... y con otro boton los eliminara, la cosa esq, apreto varias veces el boton, por lo tanto creo varios markers y blips, pero cuando le doy el boton de eliminarlos, solo elimina 1 de todos los q cree, y no pasa nada mas...

Se, por eso el titilo, q los elementos se tienen q meter en una tabla, y luego pasar a ser eliminados... la cosa esq no se bien como... en mi intento hize esto (realmente, normalmente tengo problemas con tablas xD) :

este seria el server side (no puse los trigeos, no son nesesarios, ya q no envia ninguna informacion, exepto el local player)

blip = {} 
marker = {} 
function poner () 
local x, y, z = getElementPosition (source) 
outputChatBox ("Marker y Blip Puestos", root, 255, 0, 0) 
blip[1] = createBlip (x, y, z, 49) 
marker[1] = createMarker (x, y, z, "checkpoint", 2, 135, 191, 255, 100) 
end 
  
function quitar () 
outputChatBox ("Marker y Blip Removido.", root, 255, 0, 0) 
destroyElement (eventblip[1]) 
destroyElement (eventmarker[1]) 
end 
  

Link to comment

No lo he provado pero puedes hacer esto para irlos agregando y quitanto

blip = {} 
marker = {} 
function poner () 
local x, y, z = getElementPosition (source) 
outputChatBox ("Marker y Blip Puestos", root, 255, 0, 0) 
local maxBlip = table.maxn (blip) --Con esta funcion obtienes el indice maximo en una tabla 
local maxMarker = table.maxn(marker) 
blip[maxBlip + 1] = createBlip (x, y, z, 49) 
marker[maxMarker + 1] = createMarker (x, y, z, "checkpoint", 2, 135, 191, 255, 100) 
end 
  
function quitar () 
outputChatBox ("Marker y Blip Removido.", root, 255, 0, 0) 
local maxBlip2 = table.maxn (blip)  
local maxMarker2 = table.maxn(marker) 
destroyElement (blip[maxBlip2]) 
destroyElement (marker[maxMarker2]) 
end 
  

Hay esta mas o menos para que te guies ahora no tengo mi pc para probarlo asi que si te sale algun error lo pones por aca.

PD: si quieres ver mas funciones para las tablas clickea aca: http://www.lua.org/manual/5.1/es/manual.html#5.5

Link to comment
blip = {} 
marker = {} 
  
function poner () 
    local x, y, z = getElementPosition (source) 
    outputChatBox ("Marker y Blip Puestos", root, 255, 0, 0) 
    local maxBlip = #blip -- con esto contas los contenidos de la tabla. 
    local maxMarker = #marker 
    blip[maxBlip + 1] = createBlip (x, y, z, 49) 
    marker[maxMarker + 1] = createMarker (x, y, z, "checkpoint", 2, 135, 191, 255, 100) 
end 
      
function quitar () 
    outputChatBox ("Marker y Blip Removido.", root, 255, 0, 0) 
    for index, mkr in pairs(marker) do 
         destroyElement(mkr) 
    end 
    for index, blp in pairs(blip) do 
          destroyElement(blp) 
    end 
end 

Para destruir todos los markers Y blips de la tabla tenes que hacer un loop.

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...