Stationeers

Stationeers

评价数不足
(Formerly) The Best LArRE
   
奖励
收藏
已收藏
取消收藏
文件大小
发表于
更新日期
257.908 KB
2024 年 7 月 11 日 下午 3:28
2024 年 7 月 20 日 上午 3:38
4 项改动说明 ( 查看 )

订阅以下载
(Formerly) The Best LArRE

在 Wilhelm W. Walrus 的 1 个合集中
Some Good Stuff
11 件物品
描述
This (was) literally THE best LArRE script​.

Unfortunately, they changed how LArRE works.

It will handle all the chute bins and even a growlight. It can of course handle fertilizer, and the housing displays the growlight cycle time in minutes. The device stack is very easy and very flexible, allowing for chutes to be between pots in the stack without requiring the user to define the junction index, as it is implied from the stack position (sp).

If you want to learn more about mips to do this yourself, check out this guide.

alias larre d0 alias seedBin d1 alias fertBin d2 alias outBin d3 alias growLight d4 define seedBinMark HASH("Seed") define fertBinMark HASH("Fert") define outBinMark HASH("Out") push HASH("pot0") #push corresponding device names onto stack starting from junction 0 push HASH("pot1") #YOU MUST ALSO push the three 3 Mark vals above somewhere on the stack push HASH("pot2") push HASH("pot3") push HASH("pot4") push HASH("pot5") push HASH("pot6") push HASH("pot7") push seedBinMark push fertBinMark push outBinMark define minutesOfLight 10 #define these to the optimal values for your plants. define minutesOfDark 5 define potID HASH("StructureHydroponicsTrayData") alias stackSize r15 alias pot r14 alias seedPos r13 alias fertPos r12 alias outPos r11 alias timer r10 alias offTime r9 alias totalTime r8 mul offTime minutesOfLight 120 #calculate growlight cycle tick values floor offTime offTime mul totalTime minutesOfDark 120 floor totalTime totalTime add totalTime totalTime offTime move stackSize sp pop r0 #iterate through stack once to compute bin junction positions brne r0 seedBinMark 2 move seedPos sp brne r0 fertBinMark 2 move fertPos sp brne r0 outBinMark 2 move outPos sp brgtz sp -7 l timer db Setting #get housing timer value to prevent light stress during modifications mul timer timer 120 floor timer timer IterateStackDevices: move sp stackSize #start iterating through all the devices on the stack CheckNextDevice: pop pot beq pot seedBinMark CheckNextDevice beq pot fertBinMark CheckNextDevice beq pot outBinMark CheckNextDevice lbns r0 potID pot 0 Occupied Maximum bnez r0 SkipPlant #skip planting if slot occupied ls r0 seedBin 0 Occupied beqz r0 SkipPlant #skip planting if no seeds in bin s larre Setting seedPos #otherwise, jal SendLarreToTask #send larre to the seed bin, jal DoAtTray #then back to the tray SkipPlant: lbns r0 potID pot 1 Occupied Maximum bnez r0 CheckHarvestable #handle fertilizing like planting ls r0 fertBin 0 Occupied beqz r0 CheckHarvestable s larre Setting fertPos jal SendLarreToTask jal DoAtTray CheckHarvestable: lbns r0 potID pot 0 Seeding Minimum blez r0 Iterate #skip harvesting if plant not seeding ContinueHarvest: lbns r0 potID pot 0 Mature Minimum #keep harvesting while mature blez r0 Iterate #end harvest when no longer mature jal DoAtTray #otherwise, harvest tray, s larre Setting outPos #then go deposit in the export bin jal SendLarreToTask s outBin Open 0 #afterward, close bin to clear slot and export item j ContinueHarvest #then check again to see if there is more to harvest Iterate: bgtz sp CheckNextDevice #check next tray in stack when all is handled yield #wait, and then check all the trays again add timer timer 1 jal HandleGrowlight #increment timer one and handle grow light j IterateStackDevices DoAtTray: s larre Setting sp #stack pointer after getting tray is equal to junction index for SendLarreToTask: yield #wait for larre to make it to his destination before calling Activate add timer timer 1 #will handle growlight at the end of larre's do cycle l r0 larre Idle beqz r0 SendLarreToTask ActivateLarre: s larre Activate 1 sleep 2 #wait for larre to grab/drop add timer timer 4 HandleGrowlight: brle timer totalTime 2 move timer 0 div r0 timer 120 s db Setting r0 #write the cycle time in minutes to the housing slt r0 timer offTime s growLight On r0 j ra
8 条留言
AlfaOmega 2 月 19 日 上午 8:40 
Hi, work this or not? Thx
Flow86 2024 年 9 月 13 日 上午 7:12 
they changed the larre completely, so I think the stations do not start at 0 (the larre dock is 0 afaik?)
Gamerscomplete 2024 年 7 月 31 日 上午 1:26 
does this not work anymore? I have 10 pots labeled pot0-pot9, the bins and pots are pushed onto the stack in the order they are on the larre rail, but it seems to be missing the first pot and throwing the count off, I was able to get it to work for a couple of movements by putting a dummy push onto the stack at the very start to offset it by 1, but then it just starts doing random things, trying to pick out of the out bin, continually planting and picking up plants, seemingly at random
freiwild 2024 年 7 月 18 日 下午 1:51 
Confirm, it's working like a charm now! Thanks for the work you put in :):steamthumbsup:
Wilhelm W. Walrus  [作者] 2024 年 7 月 18 日 上午 9:44 
Yeah that's my bad, I thought Seeding would stay 1 while it was harvestable like Mature. Its fixed.
freiwild 2024 年 7 月 17 日 下午 9:48 
Wonderful. I’ve got a similar setup as you and it does everything it should, including growlights! It even collects the seeds. However, i can’t get it to actually harvest. What could i be missing?
Wilhelm W. Walrus  [作者] 2024 年 7 月 12 日 下午 6:33 
Sure, just replace line 106 (s growlight On r0) with 'sb HASH("StructureGrowLight?") On r0', though I find it unecessary. Above 12 pots, I'd rather build another larre track or it takes too long to do anything, and one growlight can illuminate 12 pots from a the wall positioning depicted above.
Gilbert 2024 年 7 月 12 日 下午 1:31 
Sweetness, now, can you make it control a batch of growlights? :-)