Stationeers

Stationeers

View Stats:
programming
Translated by Google translator.
Can someone please give some link how to use the new instructions in MIPS programming.
For example, how to use the instruction "PrinterInstruction.EjectReagent" in the code
< >
Showing 1-10 of 10 comments
Alizia Kaline May 5, 2024 @ 5:40am 
A good start will be here : https://stationeers-wiki.com/MIPS

For the last instruction introduced in the last update, you won't have any documentation outside the game yet, it's too soon. You can find the instruction list in programming UI ingame.
Morpheus222cz May 5, 2024 @ 6:11am 
Thanks for the link, but I was just talking about the new features, I'm pretty good at basic MIPS programming.
Maybe you saw these already, but Rocket put some useful such code in his announcements:

https://discord.com/channels/276525882049429515/1169465377043001364

Example:
# clear all memory on device clr d0 # eject all reagent steel sll r0 HASH("Steel") 8 #offset 8b or r0 r0 PrinterInstruction.EjectReagent put d0 0 r0
Morpheus222cz May 5, 2024 @ 11:18am 
Okay.
Thanks, that's what I was looking for.
Morpheus222cz May 8, 2024 @ 5:49am 
I've only been familiar with bit operations for a few days, so I'd like to ask, I can't figure out how to read the PrinterInstruction.MissingRecipeReagent instruction in the code and get what items and how much is missing from the given recipe. Thanks
I don't know exactly how it works: I once wanted to use IC10 to read that directly from the manufactory, couldn't pull it off. Then I heard on Discord that there are special IC10 commands to deal with "reagents" - that's probably what's going on here. I have no clue how exactly, but I assume that reagents may be a special data type that you may to "look inside" of with those commands.
Rocket  [developer] May 8, 2024 @ 7:04am 
PrinterInstruction.MissingRecipeReagent

Will only show if the recipe is preceeded by a "wait for recipe" instruction. In other words, the MissingReagentRecipe instructions will only be populated if the machine is waiting to complete a recipe.

By default, the machine will not wait - and will skip a recipe and try the next - if it does not have the reagents.
Morpheus222cz May 9, 2024 @ 7:18am 
I have a waiting set, I read some value but it is not the HASH value of the reagent that I would expect, I don't know what that number means or how to find out which reagent is missing.
alias printer d0 define prefabHash HASH("ItemIronSheets") define quantity 2 clr printer alias temp r14 sll r0 1 8 or r0 r0 PrinterInstruction.DeviceSetLock put printer 0 r0 or r0 0 PrinterInstruction.WaitUntilNextValid put printer 1 r0 sll r1 quantity 8 sll r2 prefabHash 16 or r1 r1 r2 or r1 r1 PrinterInstruction.ExecuteRecipe put printer 2 r1 or r0 0 PrinterInstruction.EjectAllReagents put printer 3 r0 sll r0 0 8 or r0 r0 PrinterInstruction.DeviceSetLock put printer 4 r0 main: get temp printer 54 sra temp temp 16 s db Setting temp yield j main
Morpheus222cz May 13, 2024 @ 3:45pm 
Translated by Google translator.
It didn't occur to me that the hash of the agent is returned, I expected the HASH of the ingot, so after conversion it is displayed correctly.
But the problem is with the quantity value. According to the byte_8 type, it should have values 0 - 255, but here, when exceeding 63, it overflows and counts from zero (for example, it shows 65 as 1, 255 as 63)
Morpheus222cz May 14, 2024 @ 3:11am 
Another error is that the printer returns the missing quantity as the missing number to produce one item times the number of items. (For example, I want to make 8 pieces to make one item, 10 iron and 5 gold are needed, if the printer is empty it will return correctly 10 * 8 = 80, but if there are 3 ingots in the printer it will return 7 * 8 = 56 error)
< >
Showing 1-10 of 10 comments
Per page: 1530 50

Date Posted: May 5, 2024 @ 4:30am
Posts: 10