Serginix Posted October 13, 2011 Share Posted October 13, 2011 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 ) : 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
RottenFlesh Posted October 13, 2011 Share Posted October 13, 2011 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
Castillo Posted October 13, 2011 Share Posted October 13, 2011 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
RottenFlesh Posted October 13, 2011 Share Posted October 13, 2011 Haaa si como pude olvidar eso ... tambien lo puedes hacer en la funcion de quitar para que desaparezcan de a uno en uno segun como los fuistes poniendo, eso estaria genial en un resource de seguir pistas o algo asi Link to comment
Serginix Posted October 13, 2011 Author Share Posted October 13, 2011 Gracias a ambos, tanto por el script, la ayuda, y el enlace suerte! ... y si Mario intentare lo qme dijiste , ya q esa era la idea... Link to comment
Recommended Posts