Alexs Posted June 8, 2012 Posted June 8, 2012 Hola a Todos, Hare ciertas cosas en mi servidor y queria saber si un Marcador puede ser creado al tocar un marcador y que el primero sea eliminado, algo asi: local mark1 = createMarker ( x, y, z, "cylinder", 1.5, 255, 255, 0, 170 ) function altocar ( ) mark2 = createMarker(-2596.625, 579.358, 15.626, 'cylinder', 2.0, 255, 0, 0, 150) addEventHandler( "onMarkerHit", mark1, altocar ) function altocar ( ) mark3 = createMarker(-2596.625, 0.2, 15.626, 'cylinder', 2.0, 255, 0, 0, 150) addEventHandler( "onMarkerHit", mark2, altocar ) Serviria esto o hay que buscar otro metodo?
Alexs Posted June 8, 2012 Author Posted June 8, 2012 Recolecciones, no tanto misiones, pero si, mas o menos es lo mismo, Aunque si se le pueden llamar misiones, Pero se Podria?
Edikosh998 Posted June 8, 2012 Posted June 8, 2012 Mira, esto hize. Fijate si te va : markers = { [1] = {x,y,z} [2] = {x,y,z} }; elMarkerMision = createMarker(x,y,z,"cylinder"); -- Lo toy haciendo simple como hacer ejemplo function alTocar(hitElement) local num = getElementData(hitElement,"mision.uno"); -- Ponele que esta data lo setias cuando quiera comenzar una "X" mision if num then -- Si tiene mision destroyElement(elMarkerMision); -- Este marker lo tendrias que crear cuando COMIENZA LA MISION. Como tambien hace que la visibilidad sea unica a el elMarkerMision = createMarker(markers[num][1],markers[num][2],markers[num][3],"cylinder"); local nuevoNum = num + 1; setElementData(hitElement,"mision.uno",nuevoNum); end end addEventHandler("onMarkerHit",elMarkerMision,alTocar);
Alexs Posted June 8, 2012 Author Posted June 8, 2012 No comprendo, si el elemento tiene el Data entonces las coordenadas del Marcador se cambian? pero para hacerlo con 5 o 6 marcadores a la vez?? A decir verdad no entendi en lo mas minimo y no comprendo de donde sale el [3] Edit: Ya entendi, pero cuando le pongo el Data al hitElement?
Edikosh998 Posted June 8, 2012 Posted June 8, 2012 Es que es complicado de explicar , si no sabes de arrays. Osea, el 3 viene porque si ves bien , hay una tabla dentro de la otra, y esa misma tabla tiene 3 datos (por eso el [3]). El elementData guarda el numero de indexo de tabla. Te juro que no se como explicarte , ya son cosas que me salen porque si. Vos podes agregar markers en la tabla, y el "markerMision" lo creas en un comando (ponele, cuando el comienza la mision) y en ese mismo comando le agregas al jugador un elementData.
Alexs Posted June 8, 2012 Author Posted June 8, 2012 Es que es complicado de explicar , si no sabes de arrays. Osea, el 3 viene porque si ves bien , hay una tabla dentro de la otra, y esa misma tabla tiene 3 datos (por eso el [3]).El elementData guarda el numero de indexo de tabla. Te juro que no se como explicarte , ya son cosas que me salen porque si. Vos podes agregar markers en la tabla, y el "markerMision" lo creas en un comando (ponele, cuando el comienza la mision) y en ese mismo comando le agregas al jugador un elementData. Y si la mision la comienza cuando toca el marcador?? No uso comandos en mi servidor por que no son realistas y mi servidor es RPG en el sentido de Realismo.... Podria usar un Colshape u otro marcador, pero aun me extracomplico, pero mi codigo no serviria para nada?
Edikosh998 Posted June 8, 2012 Posted June 8, 2012 Si lo queres hacer con tu codigo es : local mark1 = createMarker ( x, y, z, "cylinder", 1.5, 255, 255, 0, 170 ) function altocar ( ) if source == mark1 then mark2 = createMarker(-2596.625, 579.358, 15.626, 'cylinder', 2.0, 255, 0, 0, 150) destroyElement(mark1) elseif source == mark2 then mark3 = createMarker(-2596.625, 0.2, 15.626, 'cylinder', 2.0, 255, 0, 0, 150) destroyElement(mark2) end end addEventHandler( "onMarkerHit", root, altocar )
Alexs Posted June 8, 2012 Author Posted June 8, 2012 Si lo queres hacer con tu codigo es : local mark1 = createMarker ( x, y, z, "cylinder", 1.5, 255, 255, 0, 170 ) function altocar ( ) if source == mark1 then mark2 = createMarker(-2596.625, 579.358, 15.626, 'cylinder', 2.0, 255, 0, 0, 150) destroyElement(mark1) elseif source == mark2 then mark3 = createMarker(-2596.625, 0.2, 15.626, 'cylinder', 2.0, 255, 0, 0, 150) destroyElement(mark2) end end addEventHandler( "onMarkerHit", root, altocar ) Esto es muchisimo mas simple :B
Edikosh998 Posted June 8, 2012 Posted June 8, 2012 A mi me parecia mas facil el otro. Capaz mas dificil de entender, pero a la larga te termina ocupando menos. De todos modos, es mejor hacer lo que puedes comprender y te parece mas simple (por lo menos al principio).
Alexs Posted June 8, 2012 Author Posted June 8, 2012 A mi me parecia mas facil el otro. Capaz mas dificil de entender, pero a la larga te termina ocupando menos. De todos modos, es mejor hacer lo que puedes comprender y te parece mas simple (por lo menos al principio). Si, No estoy aqui para aprender (no mucho) estoy por que me gusta y al menos ya comprendo mejor :B Muchas Gracias Edikosh y de todas formas con el codigo (el que me parece mas simple) Tambien puedo ponerle outputChatBox, con el otro no sabria ni donde agregarlo :B
Recommended Posts