how to setup space platform station conditions combinations

Don't know how to use a machine? Looking for efficient setups? Stuck in a mission?
its a me
Long Handed Inserter
Long Handed Inserter
Posts: 71
Joined: Fri Jul 26, 2024 7:37 pm
Contact:

how to setup space platform station conditions combinations

Post by its a me »

06-23-2025, 13-54-48.png
06-23-2025, 13-54-48.png (57.91 KiB) Viewed 346 times
Im trying to set the condition to leave if all of the conditions are true except for the cryogenic plants which i then want and with an or of concrete = 0 or my cryogenic plants request fulfilled.

and because that most likely made no sense this is how i would write it in code (scienceFulfilled && lithium fulfilled && fusionFuelFulfilled && fluoroketoneFulfilled && inactive && (cryogenicFulfilled || refinedConcreate == 0))

however when i try to do this it does this
06-23-2025, 14-01-32.png
06-23-2025, 14-01-32.png (59.42 KiB) Viewed 346 times
which is equivenlt to this
((scienceFulfilled && lithium fulfilled && fusionFuelFulfilled && fluoroketoneFulfilled && inactive && cryogenicFulfilled) || refinedConcreate == 0)

How do i change where the or is getting applied?
Loewchen
Global Moderator
Global Moderator
Posts: 10200
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

Re: how to setup space platform station conditions combinations

Post by Loewchen »

its a me wrote: Mon Jun 23, 2025 9:05 pm scienceFulfilled && lithium fulfilled && fusionFuelFulfilled && fluoroketoneFulfilled && inactive && (cryogenicFulfilled || refinedConcreate == 0)

when i try to do this it does this
06-23-2025, 14-01-32.png
which is equivenlt to this
(scienceFulfilled && lithium fulfilled && fusionFuelFulfilled && fluoroketoneFulfilled && inactive && cryogenicFulfilled) || refinedConcreate == 0
Make:
((scienceFulfilled && lithium fulfilled && fusionFuelFulfilled && fluoroketoneFulfilled && inactive && cryogenicFulfilled) || (scienceFulfilled && lithium fulfilled && fusionFuelFulfilled && fluoroketoneFulfilled && inactive && refinedConcreate == 0))
its a me
Long Handed Inserter
Long Handed Inserter
Posts: 71
Joined: Fri Jul 26, 2024 7:37 pm
Contact:

Re: how to setup space platform station conditions combinations

Post by its a me »

Thanks i wish there was a better way of doing it that didn't involve duplicating so much stuff
NineNine
Filter Inserter
Filter Inserter
Posts: 423
Joined: Mon Oct 24, 2022 11:20 pm
Contact:

Re: how to setup space platform station conditions combinations

Post by NineNine »

its a me wrote: Mon Jun 23, 2025 11:14 pm Thanks i wish there was a better way of doing it that didn't involve duplicating so much stuff
You can just select "all requests satisfied".
its a me
Long Handed Inserter
Long Handed Inserter
Posts: 71
Joined: Fri Jul 26, 2024 7:37 pm
Contact:

Re: how to setup space platform station conditions combinations

Post by its a me »

The issue is i need to request the spent nuclear fuel from my reactors on planet but i don't want to holdup my space platform if i haven burred enough fuel
Nidan
Filter Inserter
Filter Inserter
Posts: 319
Joined: Sat Nov 21, 2015 1:40 am
Contact:

Re: how to setup space platform station conditions combinations

Post by Nidan »

NineNine wrote: Tue Jun 24, 2025 4:01 am You can just select "all requests satisfied".
That wouldn't help with the (cryogenic plant fulfilled || concrete == 0) part.


You could put the common parts into the schedule and implement the remainder (or anything that becomes unwieldy in disjunctive normal form) in combinators, e.g. ((cryogenic plant >= your request && aquillo > 0) || (concrete == 0 && aquillo > 0)) => output check mark 1
Tertius
Smart Inserter
Smart Inserter
Posts: 1308
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: how to setup space platform station conditions combinations

Post by Tertius »

What you want is: "leave if all requests are satisfied. However, if there is not enough refined concrete to make cryogenic plants, ignore the cryogenic plant request".
I would implement this with a timeout, since it's tedious to create a condition without the possibility to use brackets to group ORed statements.

An example:

all requests satisfied
OR
cryogenic plants not satisfied
AND
refined concrete = 0
AND
inactivity 10 seconds

or just:

all requests satisfied
OR
inactivity 10 seconds

This will work under the assumption that in general all possible requested items are available at the ground and ready to launch. As long as there are items on their way up to the platform the platform will not leave(*), even if the waiting condition is true. The moment one of the items arrive, the inactivity timer is reset. So "inactivity 10 seconds" becomes true 10 seconds after the last item arrived at the platform and no more items are currently on their way. If a rocket is launched during these 10 seconds, and the 10 seconds elapse, the platform will stay nonetheless, since a rocket is on its way. If the rocket arrives, inactivity is reset and it again waits 10 more seconds. And so on.

The moment the platform arrives in orbit, it waits because of the "all requests satisfied" condition, and it sends its requests. All available stuff is now being sent, and no matter what happens and no matter the waiting conditions, the platform will wait because there are items on their way. If you have enough rocket silos to send all rockets in parallel for all requests, or if your rocket silos are fast enough to prepare the second rocket in the background to have it ready when the 1st has been started, requested items will be continuously sent and the platform will never leave. Again under the assumption all requested items are already in stock and ready to send. This means you completely get all available items because of inactivity = 10 even if "all requests satisfied" doesn't trigger because of the plant. The 10 seconds is for stragglers.

Now consider all available items have arrived and no rockets are currently on their way.
If all requests are satisfied in this moment, the platform will leave immediately due to "all requests satisfied".

If not all requests are satisfied, its something that was not on stock and it will take some time to make. Do you want to wait for that, or not? If this is a round trip platform, consider just leaving now and pick up the items (specifically the plants) the next time. If you dropped refined concrete, it takes 10 seconds to reach the ground (or was it 20?), then 5 seconds per plant to manufacture. Rocket stack size is 5, so it needs 10 + 5*5 seconds = 35 seconds or 45 seconds to create 5 cryogenic plants for one rocket load, then 10 or 20 more to send them up. If you request 20 or more plants, it takes a multiple of that.
In this time, you are already half at the next planet and deliver what you got. And pick up the next batch of refined concrete. Instead of idle waiting for machines running at the ground, you can speed up your round trip by not waiting at all or just 10 seconds of inactivity for stragglers.

(*) about "make sure he doesn't leave": https://www.youtube.com/watch?v=2f5MvVx8RM8 It's as confusing as with the space platform.
Post Reply

Return to “Gameplay Help”