Stationeers

Stationeers

View Stats:
Wild Mar 15, 2019 @ 9:31pm
IC Help (Multiple Batch Writers)
i just started using the IC10, was trying to set 2 different batch writers with only one Programmable IC, is it possible?

i know "s db Setting X" will do the job and is working fine with one batch writer, but what if i got 2 batch writers?
I tried using Aliases but for some reason it wont recognize the Alias ( s Alias1 Setting 0 )
Atm i switched to 2 memory and im reading from there, but will be nice to know if is possible anyway.
< >
Showing 1-8 of 8 comments
Maireen Mar 15, 2019 @ 9:40pm 
Its possible but annoying as you'll need to assign screws to each writer and turning them on/off switching which will read from the housing with a couple yields in between.
Wild Mar 15, 2019 @ 10:09pm 
Hey maireen! :D
Thanks for the answer, ill just keep the 2 memory then. Cya again on the stream, i hope ;)
Maireen Mar 15, 2019 @ 10:36pm 
umm... which stream? hehe
Wild Mar 15, 2019 @ 10:47pm 
OGWild ;)
Peanut tha Kid Mar 22, 2019 @ 12:16am 
What exactly are you trying to achieve? I use 2 BW for my GH heating and cooling.

alias bWriter1 d0
alias bWriter2 d1

s db Setting 1
yield
s bWriter1 On 1

Does the job for my goal. As stated, use yields to make sure the writers and IC have time to sync.

My GH code includes 2 BW for heating and cooling, filtration, a sensor, and a light for errors or high/low temps. Set screws on IC to include BWs and screws on BW to read the IC
Last edited by Peanut tha Kid; Mar 22, 2019 @ 12:16am
Wild Mar 22, 2019 @ 12:44am 
Thanks for the answer peanut, i was trying to do that for my GH too (running 4 Heaters + 4 Coolers), just ended up using 2 BWs + Memory. I just started a new game with the last patch, maybe ill try it this time and see how it runs ;)
Peanut tha Kid Mar 22, 2019 @ 2:13pm 
Awesome. Just make sure in your IC code you use jumps to reset everything. Using yields and sleeps will allow you to run less instructions to save power since heaters are already hungry monsters. To turn it off, simply make it jump to a reset function that turns everything back off to save power.

I use code similar to:

j reset

reset:
s db Setting 0
yield
s bWriter1 On 0
s bWriter2 On 0
j check

While I may only turn on one of the BW, I can simplify my code by adding them both into the reset before returning the program to check then go to an idle status
Last edited by Peanut tha Kid; Mar 22, 2019 @ 2:18pm
Flerrin May 17, 2022 @ 8:36pm 
I know this is way late but in case someone finds this post in search of help I wanted to leave this comment.

The IC10 has a function called "sb" which if you have the PrefabHash of an object say Speakers (found via F1 in game not the unofficial wiki) the IC can move a register value to the variable of all devices using that PrefabHash meaning that function is a BatchWriter in code.

The great thing about it is if you have a loop using the "sb" function regardless of how many times it is triggered the sound of a Speaker for example does not get interrupted (I have only tried alarms) by placing the same value on a variable unlike some BatchWriter setups (not sure if that is a bug).

In practice it could look like this.


alias Station d0
alias TestBuffer r1
alias Exec r2

Main:
l TestBuffer Station Mode #reading Mode variable of Weather Station into Buffer
sgtz Exec TestBuffer #if Buffer value > 0 value of 1 moves to Exec, otherwise 0
sb -828056979 On Exec #writes Exec onto On variable of all Speakers in Network
sleep 3
j Main

Separating networks is important when using the sb function as it can not target custom groups (to my knowledge) due to using the PrefabHash value.
Last edited by Flerrin; May 17, 2022 @ 8:37pm
< >
Showing 1-8 of 8 comments
Per page: 1530 50

Date Posted: Mar 15, 2019 @ 9:31pm
Posts: 8