I'm less interested in "is this a good idea" or "there is a better way of playing the game" and more interested in "can i get the logic system to do the (silly) requirements i'm aiming for".
I've managed to put together a system that will load a train wagon with a given list of items/exact amounts as given by a constant combinator at the loading station. When the train is loaded it heads off to the drop station, which currently looks like this...
At the drop station I've got several things currently working:
- The drone chests are disabled to prevent the drones changing values and breaking the calcs during unloading the wagon (top red wire).
- The local contents are compared to the required list from the constant combinator ( i ) to give the required item/amounts to move from the wagon to the chests (output of A).
- The wagon contents is "type checked" against the required item list so it doesn't get locked up trying to move an item that is wanted but isn't actually on the train (B).
- The items that are on the train and required (result from C: amount values from A * types from B ) are then moved one type at a time (selector combinator) for the exact amount needed (left section, inserter stack amounts with / and % functions).
Once all the possible requests are 0, send a signal to the train so it is "released" (red x).
The issues i think i'm running into:
When the train arrives there is a very very brief flicker in the signal network, it seems to take a tick for it/the logic system to catch up with the calcs? so if i have the release check set to see if the outstanding requests to move check set to "everything is 0" for that first tick it is all still nothing and the signal is sent to the train before it realises there are actually amounts to move from the wagon. If the train only has "go to this station" in its manifest (and therefore doesn't want to leave straight away) the logic works and the release signal is only sent once all the loading is completed.
If i try to check that a train is present by getting the T signal from the train stop it seems like the requests take a little longer to get through the logic calcs than the T signal does, so there is still a window where the T is present but the requests are not present so "everything is 0" and the train is released.
I've been trying to play around with different options and i just don't seem to be able to figure this one out, anyone got any advice on how to get this to
... so the rubber ducky effect is real.
Added a T1 signal to the required items in the constant combinator so the T value from the train can get through the type check and is passed through the logic network at the same "speed" as the requirements to the release check combinator.
Added an inversion to remove the T signal from the "everything" channel being checked in the release combinator as it's not an actual request.
Added a second channel so the release signal can check the T signal from within the logic network rather than the train stop. ... and around and around it goes, unloading the pipes that are missing so the drones can move them back to the pickup location a train's work is never done
still a little confused by the "it takes time to get a signal through the network" bit, if that is true and what was actually causing the headache is that really a thing?