Serginix Posted November 18, 2011 Share Posted November 18, 2011 Hola a todos, estabahaciendo algo q para al pisar un marker, en un interior se creara una Pickup (una personalizada) y al crearse todos los jugadores que la pisaran, podrian sufrir el mismo efecto, lo que pasa esque, como van a haber varios jugandores tratando de hacer lo mismo, (de entrar al marker), son varios, de hecho al pisar un marker se crea otro y asi susivamente hasta llegar a 5, en ese momento se crea pickup de dinero y los q lleguen se lo llevan todo. no se que pueda fallar, pero la bolsa de dinero, NO ES VISIBLE Para TODOS los players, solo es visible, para algunos, de 5 la veran 2 o no se, el caso es, el script luce mas omenos asi (lo recorte mucho, habian mas cosas, le quite la rellena.) : PD: Use "setElementVisibleTo", tampoco funciona, ni en loop ni en nada. -- por aca un onResourceStat q pone la variable getElementData "cuantosMarkers" en 1 function cuandoPisaElMarker (player) local contador = getElementData(root, "cuantosMarker") if getElementData (source, "TipoDeMarker") == "MarkerEvent" then if contador >= 5 then if isElement (otroMarker) then destroyElement (otroMarker) end otroMarker = createMarker (X, Y, Z, "cylinder", 255, 255, 255) setElementInterior (otroMarker, 3) setElementData (otroMarker, "TipoDeMarker", "MarkerEvent") setElementData (root, "cuantosMarkers", contador+1) end if contador == 5 then destroyElement (otroMarker) Dinero = createPickup (358.4599609375, 160.2431640625, 1008.3, 3, 1550, 1) setElementInterior (Dinero, 3) addEventHandler ("onPickupHit", Dinero, CuandoCojeElDinero) -- pone el evento end end end addEventHandler("onMarkerHit", resourceRoot, cuandoPisaElMarker) function cuandoCojeElDinero (player) givePlayerMoney (player, 30000) -- ganancia outputChatBox ("Bien, llegaste ahora ganas 30k!", player, 255, 255, 0) -- output cancelEvent() --para q no se destruya la pickup end no se porque el Pickup no es visible por todos, lei en la wiki q los pickups q el juego no diseño para ser pickups podrian no funciona bien, quizas es eso? otra cosa rara, la Pickup no esta alli, pero al pasar por donde se supone q debe estar sale el outputChatBox diciedo lo q dice, y el jugadores recive el dinero. EDIT: No se si me explique bien, . Link to comment
Castillo Posted November 18, 2011 Share Posted November 18, 2011 Yo crearia una tabla para los pickups. local pickups = {} -- por aca un onResourceStat q pone la variable getElementData "cuantosMarkers" en 1 function cuandoPisaElMarker (player) local contador = tonumber(getElementData(root, "cuantosMarker")) if getElementData (source, "TipoDeMarker") == "MarkerEvent" then if contador >= 5 then if isElement (otroMarker) then destroyElement (otroMarker) end otroMarker = createMarker (X, Y, Z, "cylinder", 255, 255, 255) setElementInterior (otroMarker, 3) setElementData (otroMarker, "TipoDeMarker", "MarkerEvent") setElementData (root, "cuantosMarkers", contador+1) end if contador == 5 then destroyElement (otroMarker) local newIndex = #pickups +1 pickups[newIndex] = createPickup (358.4599609375, 160.2431640625, 1008.3, 3, 1550, 1) setElementInterior (pickups[newIndex], 3) addEventHandler ("onPickupHit", pickups[newIndex], CuandoCojeElDinero) -- pone el evento end end end addEventHandler("onMarkerHit", resourceRoot, cuandoPisaElMarker) function cuandoCojeElDinero (player) givePlayerMoney (player, 30000) -- ganancia outputChatBox ("Bien, llegaste ahora ganas 30k!", player, 255, 255, 0) -- output cancelEvent() --para q no se destruya la pickup end Igual, hay algo que no entiendo, para cada jugador un pickup? si es asi, porque no lo destruyes al usarlo? Link to comment
Serginix Posted November 18, 2011 Author Share Posted November 18, 2011 Bueno esque, estan corriendo de algo q se vuelve mierda literalmente, y se encuentran los 5 markers aparece el dinero, y los q queden vivos pueden cojer el dinerro y ay esta la salida al pickup esta programado (en otro lugar del script) al destruirse en 10 minutos despues de q empiezen a correr, otra cosa, esq AVECES (no siempre )TODOS ven el Pickup, MENOS el Que Coje el Ultimo Marker, es como si el q hace el pickup al cojer el ultimo marker no pueda verlo, pero mas si pasa por donde esta si coje el dinero. En cuanto a la forma de usar Tabla, no es lo mismo?, quiero decir es solo 1 Pickup, lo aria si fueran varios, de todas formas el q se crea se destruye al rato, y esta especie de carrera solo se activa cada 1 hora, como dije es parte pequeña del script. tambien note algo, el Pickup esta en la Dimension 1 (de hecho todo transcorre en la dimension 1), como abajo recorte parte del script no lo coloque... pero si por ejemplo el jugador no q ve la pickup es trasladado a la dimension 0, y luego a la 1 ve el pickup perfectamente, are mas pruebas. aun asi me sigue pareciend raro... Link to comment
Castillo Posted November 18, 2011 Share Posted November 18, 2011 Oh, yo habia entendido que querias crear un pickup para cada jugador. Link to comment
Serginix Posted November 18, 2011 Author Share Posted November 18, 2011 Emm, esq creo q no me explique bien, la cosa, esq solo funciona cuando se le da la gana, pero creo q ya lo arregle para casi todos lso casos, al rat testeo mas y si la cague posteo, si lo solucione, te pido cerrar el tema, gracias. Link to comment
Serginix Posted November 19, 2011 Author Share Posted November 19, 2011 Nah, solucionado (Gracias Mario )... Cierren esto para q no se metan los Spamers Y SolidSnake14 gracias por la recomendacion de usar mas tablas en todo > me fue algo util... Link to comment
Castillo Posted November 19, 2011 Share Posted November 19, 2011 Me alegro que lo hayas resuelto. Cierro el tema. Link to comment
Recommended Posts