SemlerPDX icon

Stationeers Power Station Min/Max/Averages Displays IC10

SemlerPDX | PRO | 02/18/25 05:47:09 PM UTC (Edited) | 0 ⭐ | 748 👁️ | Never ⏰ | [Stationeers, IC10]
text |

2.74 KB

|

Gaming

|

0 👍

/

0 👎

#Power Distribution Large LED Control Script v1
# by SemlerPDX Sept2023
 #As seen in my Power Station Quick Clip video:
# https://youtu.be/s45vYXD6dSI
 define CableAnalyzer 1036015121
define Button 491845673
define MediumLED -53151617
define LargeLED -1949054743
sb LargeLED Mode 2
sb LargeLED Color 6
 alias ThisBut r10
alias ThisMax r11
alias ThisLED r12
alias AvgTotal r13
alias AvgCount r14
alias x r15
 define ThisNet HASH("Cable Analyzer MAIN OUT")
 #Clear the stack
move sp 0
define STACK 500
push 0
brlt sp STACK -1 #can use clr in latest version
#Initialize Stack to contain Averages
move sp 0
move AvgTotal 0
move AvgCount 0
 start:
  sb MediumLED Color 6 #REQUIRED!
  move ThisLED HASH("LED Total Power Min")
  lbn r0 LargeLED ThisLED Setting Maximum
  beqzal r0 setMinDisplay
   yield
  move ThisLED HASH("LED Total Power Avg")
   add sp sp 1
  pop x
  sub AvgTotal AvgTotal x
  lbn x CableAnalyzer ThisNet PowerActual Maximum
  push x
  add AvgTotal AvgTotal x
  max AvgCount AvgCount sp
  brlt sp STACK 2
  move sp 0
  div x AvgTotal AvgCount
  sbn LargeLED ThisLED Setting x
   jal setDisplaysMinMax
j start
 setDisplaysMinMax:
  move ThisBut HASH("Button Total Power Max")
  move ThisLED HASH("LED Total Power Max")
  lbn r1 Button ThisBut Setting Maximum
  bgtz r1 resetThisDisplay
  move ThisMax HASH("LED Power Station Max")
  lbn r1 MediumLED ThisMax Setting Maximum
  add r0 0 r1
  move ThisMax HASH("LED Greenhouse Max")
  lbn r1 MediumLED ThisMax Setting Maximum
  add r0 r0 r1
  move ThisMax HASH("LED Workshop Max")
  lbn r1 MediumLED ThisMax Setting Maximum
  add r0 r0 r1
  move ThisMax HASH("LED Mining Max")
  lbn r1 MediumLED ThisMax Setting Maximum
  add r0 r0 r1
  move ThisMax HASH("LED Furnace Max")
  lbn r1 MediumLED ThisMax Setting Maximum
  add r0 r0 r1
  move ThisMax HASH("LED Spaceport Max")
  lbn r1 MediumLED ThisMax Setting Maximum
  add r0 r0 r1
  lbn r1 LargeLED ThisLED Setting Maximum
  bge r1 r0 setDisplaysMin #bypass if max is greater
   #Set new Maximum to Power Consumption Display
  sbn LargeLED ThisLED Setting r0
 setDisplaysMin:
  move ThisBut HASH("Button Total Power Min")
  move ThisLED HASH("LED Total Power Min")
  lbn r1 Button ThisBut Setting Maximum
  bgtz r1 resetThisDisplay
  lbn r0 CableAnalyzer ThisNet PowerActual Maximum
  lbn r1 LargeLED ThisLED Setting Maximum
  select r1 r1 r1 r0
  ble r1 r0 ra #bypass if min is already lesser
   #Set new Minimum to Power Consumption Display
  sbn LargeLED ThisLED Setting r0
j ra
 resetThisDisplay:
  sbn LargeLED ThisLED Color 1
  sbn LargeLED ThisLED Setting 0
  sleep 2
j start
 setMinDisplay:
  lbn r0 CableAnalyzer ThisNet PowerActual Maximum
  sbn LargeLED ThisLED Setting r0
j ra

Comments