Monsthers Posted September 18, 2016 Share Posted September 18, 2016 Hola gente de la comunidad tengo un problema y tal vez ustedes puedan solucionarmelo Pues tengo un sistema de respawn de autos pero no hace lo que quiero, osea el sistema va asi despues de cada 15 minutos el script da 60 segundos para respawnear los autos vacios hasta hay todo bien, cuando termina el tiempo elimina los autos vacios y asi no es como deberia funcionar osea deberia respawnear los autos vacios ala pocicion donde estaban... Mi server es RPG y mediante una registry tengo el spawn de los autos y bloqueados a dicha clase, pues cuando da el respawn me elimina los autos de los trabajos y deberia ponerlos en la posicion inicial o la pocicion que esta en la db. Creo que me explique bien, Gracias antemano respawnlock = false addEventHandler("onResourceStart", resourceRoot, function() mainTimer = setTimer(respawnVehicles, 900000, 0) end) function respawnVehicles() if not respawnlock then respawnlock = true exports.SAVGcommands:sendMessage("*RESPAWN* Respawneando todos los vehículos desocupados en 30 segundos!", 0, 255, 0, root) setTimer ( function(msg, target, r, g, b) exports.SAVGcommands:sendMessage(msg, r, g, b, target) end , 10000, 1, "*RESPAWN* Respawneando todos los vehículos desocupados en 20 segundos!!", getRootElement(), 0, 255, 0 ) setTimer ( function(msg, target, r, g, b) exports.SAVGcommands:sendMessage(msg, r, g, b, target) end, 20000, 1, "*RESPAWN* Respawneando todos los vehículos desocupados en 10 segundos!", getRootElement(), 0, 255, 0 ) setTimer ( function(msg, target, r, g, b) exports.SAVGcommands:sendMessage(msg, r, g, b, target) end, 25000, 1, "*RESPAWN* Respawneando todos los vehículos desocupados en 5 segundos!", getRootElement(), 0, 255, 0 ) setTimer ( vehrestask, 30000, 1) resetTimer(mainTimer) end end function respawnCommand(player) if not respawnlock then if exports.SAVGacl:isPlayerInGroup(player, "subadmin") then respawnVehicles() end else exports.SAVGcommands:sendMessage("*RESPAWN* Esperando respawneo completo para finalizar!", 0, 255, 0, player) end end addCommandHandler("vehiclerespawn", respawnCommand) function vehrestask() local resVehicles = getElementsByType("vehicle") exports.SAVGvehicles:fullRecache() for i,v in ipairs(resVehicles) do local occupants = getVehicleOccupants(v) -- Get all vehicle occupants local occupied = false if occupants then for seat, occupant in pairs(occupants) do if occupant then occupied = true break end end end if getVehicleController(v) then occupied = true end if not occupied then if getElementData(v, "WSSvehicles") then local id = tonumber(getElementData(v, "vehicleID")) if id then destroyElement(v) exports.SAVGvehicles:vehicleRecache(id) else destroyElement(v) end --[[elseif getElementData(v, "personalVehicle") then exports.WSShousing:vehicleRecache(v)]]-- else if not getElementData(v, "personalVehicleID") then destroyElement(v) end end end end if getResourceState(getResourceFromName("SAVGpublicvehicles")) == "running" then exports.SAVGpublicvehicles:spawnPublicCars() end exports.SAVGcommands:sendMessage("*RESPAWN* Todos los autos vacios han sido respawneados", 0, 255, 0, root) respawnlock = false end Link to comment
Arsilex Posted September 19, 2016 Share Posted September 19, 2016 respawnlock = false addEventHandler("onResourceStart", resourceRoot, function() mainTimer = setTimer(respawnVehicles, 900000, 0) end) function respawnVehicles() if not respawnlock then respawnlock = true exports.SAVGcommands:sendMessage("*RESPAWN* Respawneando todos los vehículos desocupados en 30 segundos!", 0, 255, 0, root) setTimer ( function(msg, target, r, g, b) exports.SAVGcommands:sendMessage(msg, r, g, b, target) end , 10000, 1, "*RESPAWN* Respawneando todos los vehículos desocupados en 20 segundos!!", getRootElement(), 0, 255, 0 ) setTimer ( function(msg, target, r, g, b) exports.SAVGcommands:sendMessage(msg, r, g, b, target) end, 20000, 1, "*RESPAWN* Respawneando todos los vehículos desocupados en 10 segundos!", getRootElement(), 0, 255, 0 ) setTimer ( function(msg, target, r, g, b) exports.SAVGcommands:sendMessage(msg, r, g, b, target) end, 25000, 1, "*RESPAWN* Respawneando todos los vehículos desocupados en 5 segundos!", getRootElement(), 0, 255, 0 ) setTimer ( vehrestask, 30000, 1) resetTimer(mainTimer) end end function respawnCommand(player) if not respawnlock then if exports.SAVGacl:isPlayerInGroup(player, "subadmin") then respawnVehicles() end else exports.SAVGcommands:sendMessage("*RESPAWN* Esperando respawneo completo para finalizar!", 0, 255, 0, player) end end addCommandHandler("vehiclerespawn", respawnCommand) function vehrestask() local resVehicles = getElementsByType("vehicle") exports.SAVGvehicles:fullRecache() for i,v in ipairs(resVehicles) do local occupants = getVehicleOccupants(v) -- Get all vehicle occupants local occupied = false if occupants then for seat, occupant in pairs(occupants) do if occupant then occupied = true break end end end if getVehicleController(v) then occupied = true end if not occupied then if getElementData(v, "WSSvehicles") then local id = tonumber(getElementData(v, "vehicleID")) if id then respawnVehicle ( v ) exports.SAVGvehicles:vehicleRecache(id) else respawnVehicle ( v ) end --[[elseif getElementData(v, "personalVehicle") then exports.WSShousing:vehicleRecache(v)]]-- else if not getElementData(v, "personalVehicleID") then respawnVehicle ( v ) end end end end if getResourceState(getResourceFromName("SAVGpublicvehicles")) == "running" then exports.SAVGpublicvehicles:spawnPublicCars() end exports.SAVGcommands:sendMessage("*RESPAWN* Todos los autos vacios han sido respawneados", 0, 255, 0, root) respawnlock = false end Esto sirve para respawnearlos pero cuando los creas deberás hacerles esto: https://wiki.multitheftauto.com/wiki/SetVehicleRespawnPosition para ponerle la posición de respawneo, si no se hace esto el vehículo sera respawneado en el sitio de su creación. Link to comment
Monsthers Posted September 19, 2016 Author Share Posted September 19, 2016 Me estas diciendo que tendre que darle pocicion de spawneo a todos los vehiculos? El script no me respawnea los vehiculos a su pocicion original. me los desaparece, Ejemplo el trabajo del piloto, Tengo un shamal en el aerepuerto de los santos y el piloto lo llevo al aereopuerto de san fierro. El respawn deberia poner el avion en su spawn original que vendria siendo el aereopuerto de los santos y no lo que hace es eliminar el coche entonces yo tendria que estar reseteando el script de vehiculos para poner el avion otra vez Link to comment
Arsilex Posted September 19, 2016 Share Posted September 19, 2016 Lo que te estoy diciendo es que con el código que yo te envié al crear el vehiculo se le asigna por así decirlo el respawn donde spawneo pero si tu mueves el vehiculo y guardas en el mysql su posición y entonces lo spawneas pues aparecerá en esa posición que ya no seria Aeropuerto si no que otro lugar en cambio si tu no guardas la posición y solo spawneas siempre en el mismo sitio no hay problema pero con el codigo que yo te pase arregle el error que tenias que eliminaba el vehículo ahora lo debería de respawnear. Link to comment
Recommended Posts