Jump to content

[Ayuda] Autos No Respawnean al Caer al mar DayZ


Recommended Posts

Hola tengo un problema y es que los autos al caer al mar o agua no reaparecen y como un lugar de ida es Naval caen muchos causando un lag terrible.

Server

function respawnVehiclesInWater(vehiclesInWater) 
  for i, veh in ipairs(vehiclesInWater) do 
    if getElementModel(veh) == 453 then 
      break 
    end 
    local col = getElementData(veh, "parent") 
    id, x, y, z = getElementData(col, "spawn")[1], getElementData(col, "spawn")[2], getElementData(col, "spawn")[3], getElementData(col, "spawn")[4] 
    respawnDayZVehicle(id, x, y, z, veh, col, getElementData(col, "MAX_Slots")) 
    destroyElement (source) 
  end 
end 
addEvent("respawnVehiclesInWater", true) 
addEventHandler("respawnVehiclesInWater", getRootElement(), respawnVehiclesInWater) 
function checkVehicleInWater() 
  local randomPlayer = getRandomPlayer() 
  if randomPlayer then 
    triggerClientEvent(randomPlayer, "checkVehicleInWaterClient", randomPlayer) 
  end 
end 
setTimer(checkVehicleInWater, 1800000, 0) 
function respawnDayZVehicle(id, x, y, z, veh, col, max_slots) 
  if id == 497 then 
    local item_id = math.random(table.size(hunterSpawns)) 
    x, y, z = hunterSpawns[item_id][1], hunterSpawns[item_id][2], hunterSpawns[item_id][3] 
  end 
  if id == 487 then 
    local item_id = math.random(table.size(maverikSpawns)) 
    x, y, z = maverikSpawns[item_id][1], maverikSpawns[item_id][2], maverikSpawns[item_id][3] 
  end 
  destroyElement(veh) 
  destroyElement(col) 
  veh = createVehicle(id, x, y, z + 1) 
  vehCol = createColSphere(x, y, z, 4) 
  attachElements(vehCol, veh, 0, 0, 0) 
  setElementData(vehCol, "parent", veh) 
  setElementData(veh, "parent", vehCol) 
  setElementData(vehCol, "vehicle", true) 
  setElementData(vehCol, "MAX_Slots", max_slots) 
  local tires, engine, parts = getVehicleAddonInfos(getElementModel(veh)) 
  setElementData(vehCol, "Tire_inVehicle", math.random(0, tires)) 
  setElementData(vehCol, "Engine_inVehicle", math.random(0, engine)) 
  setElementData(vehCol, "Parts_inVehicle", math.random(0, parts)) 
  setElementData(vehCol, "spawn", { 
    id, 
    x, 
    y, 
    z 
  }) 
  setElementData(vehCol, "fuel", 10) 
  if id == 433 then 
    for i, items in ipairs(lootItems.helicrashsides) do 
      local randomNumber = math.random(1, 10) 
      if randomNumber == 5 then 
        setElementData(vehCol, items[1], math.random(1, 2)) 
      end 
    end 
  elseif id == 470 then 
    for i, items in ipairs(lootItems.helicrashsides) do 
      local randomNumber = math.random(1, 10) 
      if randomNumber == 5 then 
        setElementData(vehCol, items[1], math.random(1, 2)) 
      end 
    end 
  elseif id == 471 then 
    for i, items in ipairs(lootItems.helicrashsides) do 
      local randomNumber = math.random(1, 10) 
      if randomNumber == 5 then 
        setElementData(vehCol, items[1], math.random(1, 2)) 
      end 
    end 
  elseif id == 596 then 
    for i, items in ipairs(lootItems.helicrashsides) do 
      local randomNumber = math.random(1, 10) 
      if randomNumber == 5 then 
        setElementData(vehCol, items[1], math.random(1, 2)) 
      end 
    end 
  elseif id == 542 then 
    for i, items in ipairs(lootItems.helicrashsides) do 
      local randomNumber = math.random(1, 10) 
      if randomNumber == 5 then 
        setElementData(vehCol, items[1], math.random(1, 2)) 
      end 
    end 
  elseif id == 479 then 
    for i, items in ipairs(lootItems.helicrashsides) do 
      local randomNumber = math.random(1, 10) 
      if randomNumber == 5 then 
        setElementData(vehCol, items[1], math.random(1, 2)) 
      end 
    end 
    elseif id == 500 then 
    for i, items in ipairs(lootItems.helicrashsides) do 
      local randomNumber = math.random(1, 10) 
      if randomNumber == 5 then 
        setElementData(vehCol, items[1], math.random(1, 2)) 
      end 
    end 
   elseif id == 531 then 
    for i, items in ipairs(lootItems.helicrashsides) do 
      local randomNumber = math.random(1, 10) 
      if randomNumber == 5 then 
        setElementData(vehCol, items[1], math.random(1, 2)) 
      end 
    end 
  end 
end 

Cliente:

function checkVehicleInWaterClient() 
  vehiclesInWater = {} 
  for i, veh in ipairs(getElementsByType("vehicle")) do 
    if isElementInWater(veh) then 
      table.insert(vehiclesInWater, veh) 
    end 
  end 
  triggerServerEvent("respawnVehiclesInWater", getLocalPlayer(), vehiclesInWater) 
end 
addEvent("checkVehicleInWaterClient", true) 
addEventHandler("checkVehicleInWaterClient", getRootElement(), checkVehicleInWaterClient) 

Link to comment

Tengo exactamente el mismo error que tu, amí me gustaría que los autos desaparecieran a los 2 minutos, que escribo?

Porcierto, yo tengo mi server Dayz casi acabado, y no, no es una mierda, es una pasada. Si quieres contactamos y en fin, compartimos ideas, resources e incluso si nos lo planteamos podemos sacar uno entre ambos. Saludos

Link to comment
  • MTA Team

Va a salir el release oficial de MTA:DayZ de nuevo en un tiempo mas, y de verdad que vale la pena ;) aparte de ser open source.

No estoy seguro bien de porque no respawnean, has cambiado algo en el script original?

Link to comment
Va a salir el release oficial de MTA:DayZ de nuevo en un tiempo mas, y de verdad que vale la pena ;) aparte de ser open source.

No estoy seguro bien de porque no respawnean, has cambiado algo en el script original?

Saldra open? Geneal!, y no ya revise a uno de mis respaldo viejos donde no pasaba y esa parte sigue igual.

Link to comment

Un problema que aunque no te interfiere con eso , es que estas agregando el Reefer a la tabla de vehiculos en agua , podrias evitar eso y por otro lado estas seguro que solo es al Caer al agua ? , he tenido el mismo problema , pero no era solo por el agua , al final era mas facil de lo que parece arreglarlo.

Link to comment
  • Recently Browsing   0 members

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