Transport Drones (Continued)

by Shadoxa

Adds transport drones and transport depots. Update of Klonan's Transport Drones for Factorio 2.0.

Content
a day ago
2.0
494
Transportation Logistics Logistic network Circuit network Storage

g fluid

6 days ago

from requester fluids going wery slow flow, like 15/s

6 days ago

Hi, I think there's a setting to play with that

5 days ago

with one make flow faster? i only see that
Transport drone fluid capacity
Pollution per second
Transport drone fuel per drone
Fuel consumption per meter
Transport drone fuel

5 days ago

try change that i modifet work

*** script/depots/request_depot.lua

@@
function request_depot:update()
self:check_request_change()
self:check_fuel_amount()
self:check_drone_validity()
self:check_drone_amount()
self:update_circuit_writer()
self:make_request()
+ self:push_fluid_hack()
self:update_sticker()
self:update_circuit_reader()
end

@@
function request_depot:get_current_amount()

if self.mode == request_mode.item then
return self:get_output_inventory().get_item_count(self.item)
end

if self.mode == request_mode.fluid then
local box = self:get_output_fluidbox()
return box and box.amount or 0
end
end

+function request_depot:push_fluid_hack()
+ if self.mode ~= request_mode.fluid then return end
+
+ local box = self:get_output_fluidbox()
+ local connected_pipelines = self.entity.fluidbox.get_connections(2)
+ for i, next_box in ipairs(connected_pipelines) do
+ for j = 1, #next_box do
+ local next_fluid = next_box[j]
+ if (box and next_fluid and next_fluid.name == box.name) or not next_fluid then
+ local old_amount = next_fluid and next_fluid.amount or 0
+ local old_temperature = next_fluid and next_fluid.temperature or 0
+ local space = next_box.get_capacity(j) - old_amount
+ local push_amount = math.min(space, box and box.amount or 0)
+ if push_amount > 0 then
+ next_box[j] = {
+ name = box.name,
+ amount = old_amount + push_amount,
+ temperature = ((old_amount * old_temperature) + (push_amount * box.temperature)) / (old_amount + push_amount)
+ }
+ local new_next_fluid = next_box[j]
+ local new_amount = new_next_fluid and new_next_fluid.amount or 0
+ local pushed_amount = math.max(new_amount - old_amount, 0)
+ box.amount = box.amount - pushed_amount
+ if box.amount <= 0 then box = nil end
+ self:set_output_fluidbox(box)
+ box = self:get_output_fluidbox()
+ end
+ end
+ end
+ end
+end

5 days ago

not im but VS studio codex changet some and now work fluid flow

5 days ago

*** data/entities/transport_depot/transport_depot.lua

@@
{
production_type = "output",
- volume = 10000000,
+ volume = 1000000,
pipe_connections = {{ flow_direction="output", position = {0, 1}, direction = defines.direction.south }},
pipe_covers = pipecoverspictures(),
pipe_picture = assembler3pipepictures(),

5 days ago
(updated 5 days ago)

.

5 days ago

Yea sorry now i see what you meant, i think it's fixed in 2.0.10

5 days ago

going check you version :)

4 days ago

The mod Transport Drones (Continued) (2.0.31) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Transport_Drones_Continued::on_configuration_changed
Unknown entity name: mining-depot
stack traceback:
[C]: in function 'find_entities_filtered'
Transport_Drones_Continued/script/depot_common.lua:707: in function 'on_configuration_changed'
core/lualib/event_handler.lua:112: in function <core/lualib/event_handler.lua:109>

4 days ago

The mod Transport Drones (Continued) (2.0.31) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Transport_Drones_Continued::on_configuration_changed
Unknown entity name: mining-depot
stack traceback:
[C]: in function 'find_entities_filtered'
Transport_Drones_Continued/script/depot_common.lua:707: in function 'on_configuration_changed'
core/lualib/event_handler.lua:112: in function <core/lualib/event_handler.lua:109>

Should be fixed in 2.0.32

4 days ago

and that bution long time make crash where in toolbars

The mod Transport Drones (Continued) (2.0.32) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Transport_Drones_Continued::on_lua_shortcut (ID 42)
Unknown sprite "utility/close_white"
stack traceback:
[C]: in function 'add'
Transport_Drones_Continued/script/gui.lua:775: in function 'open_gui'
Transport_Drones_Continued/script/gui.lua:927: in function 'toggle_gui'
Transport_Drones_Continued/script/gui.lua:933: in function 'handler'
core/lualib/event_handler.lua:72: in function <core/lualib/event_handler.lua:70>

4 days ago

and that bution long time make crash where in toolbars

The mod Transport Drones (Continued) (2.0.32) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Transport_Drones_Continued::on_lua_shortcut (ID 42)
Unknown sprite "utility/close_white"
stack traceback:
[C]: in function 'add'
Transport_Drones_Continued/script/gui.lua:775: in function 'open_gui'
Transport_Drones_Continued/script/gui.lua:927: in function 'toggle_gui'
Transport_Drones_Continued/script/gui.lua:933: in function 'handler'
core/lualib/event_handler.lua:72: in function <core/lualib/event_handler.lua:70>

Nice catch, fixed in 2.0.33

2 days ago

Somehow, it seems the initial problem is not fixed. In game the only way to have a good flow for the fluid is to put a pump directly extracting from the request depot. I was on the 2.0.37 this morning (so way past the 2.0.10 that was supposed to fix the problem).
I originally thought it was a weird problem linked to better fluid handling but even with vanilla pipe, I've got a really slow extraction from the requester depot.

a day ago
(updated a day ago)

Yeah the issue appears back again, trying to pump directly out of a request depot also doesnt appear to fix it, seems to scale on amount in request depot at 55k fluid it pumps out about 150/s fluid. Attaching multiple pumps also doesnt work.

a day ago

Fixed in 2.0.47, the original mod had a 10M output buffer which caused near-zero fluid pressure (~15/s), a previous fix overcorrected to 1k, which was still too small, now set to 25k (matching a storage tank), and it's a tunable startup setting if needed

New response