Jump to content

Tengo un problema con un Pickup


Serginix

Recommended Posts

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, xD.

Link to comment

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

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
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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