Stationeers

Stationeers

评价数不足
DiRCI [StationeersLaunchPad]
   
奖励
收藏
已收藏
取消收藏
文件大小
发表于
1.011 MB
10 月 30 日 下午 4:25
1 项改动说明 ( 查看 )

订阅以下载
DiRCI [StationeersLaunchPad]

描述
DiRCI
Adds DiRCI to Stationeers, A logistics robot.

DiRCI (or Directed Relocatable Cargo Interface) is a controllable rover which can be ordered to move to a point, pull from items from vending machines, and deposite items into a nearby chute inlet.

Having 10 storage slots and good speed, DiRCI can help connect your outposts without literally having to connect them.

DiRCI requires programming knowledge to operate, but like AIMeE it can make your life as a Stationeer a little easier.


Deep mining site a little too far - DiRCI can pick up those ores.

Don't feel like setting up passive power generation at the outpost - DiRCI can deliver batteries or fuel canisters then pickup the empty.

Regular sorting systems too simple for you - DiRCI... DiRCI isn't really meant for that, but if you can make DiRCI sort, more power to you.

DiRCI's kit is produced via tier two Electronics Printer:
Time: 30
Energy: 2000
Gold: 5
Copper: 5
Silicon: 20
Steel: 20
Electrum: 10

DiRCI has 8 modes:

0 = Idle = Do nothing
1 = MoveToTarget = Move to target in straight line, returns to Idle when reached
2 = LoadCargo = Pull items from the Vending Machine, Small Vending Machine, or Refrigerated Vending Machine it is facing
3 = UnloadCargo = Unload in chute input or chute bin within 2 meters / 1.25 large grids
4 = CargoFull = Automaticly assigned if full while trying to load Cargo
5 = CargoEmpty = Automaticly assigned if empty while trying to unload Cargo
6 = PathFromStack = See Below
7 = StackPointArrived = Automaticly assigned, used for telling when to move through the stack

PathFromStack: A path point is stored in the stack in four addresses.
[PathID] - Must be greater than zero
[TargetX] - This point's X position
[TargetY] - This point's Y position
[TargetZ] - This point's Z position

The absolute value of Setting minus one is the stack position. (1 or -1 is position 0 in the stack)

#1. When PathFromStack is assigned from any mode below 4, check the stack at the stack position for PathID, if it is not valid, go to Idle.
#2. If it is valid store it, then read up and set TargetX, TargetY, TargetZ and begin moving.
#3. When StackPointArrived is assigned, check 4 up if Setting was positive or 4 down if negative.
#4. If the value at the checked address equals the stored PathID, jump to its position and goto step #2.
#5. Othersize go to Idle.

Important notes:
*Will move to Idle if LoadCargo or UnloadCargo do not have a target.
*When its checking the stack and would go out of range, it will move to Idle.
*Assigning mode 6 with Setting at zero will move it to Idle.
*DiRCI's stack can hold 128 entries, or 32 points.
*The stack cannot be interacted with via transmitter, it must be interfaced via the IC10 socket.

Questions and Answers:
*Why use Setting: So you can easily read it and the game automatically saves it.
*Why can't Setting be zero: positive or negative Setting is used to tell which direction to jump through the stack, there is no negative zero.
*Power usage: About 16W, though it should be 15W based on the code.
Calculated runtime based on Joule capicity:
Small Battery: about 37 minutes.
Large Battery: about 5 hours.
Nuclear Battery: about 40 hours.
Small Wireless Cell: about 12 minutes. how I got 16W draw.
Big Wireless Cell: about 1 hour and 15 minutes.


Not gonna lie, this mod under the hood is frankenstein's monster of AIMeE's code, whatever bits of functions that I needed from other objects, and my own code stitching to make everything function how I want.
I was pretty much working from zero because I have a bad habit of trying to learn modding for games with completely different architecture from eachother.

But it does work, DiRCI remembers key things between saves, should sync between players (I have not tested it) and hasn't crashed my game nor tanked performance.


And Thank you to those in the Stationeers Modding Discord for answering my questions.


Before I forget this is a StationeersLaunchPad Plugin Mod. It requires Bepinex to be installed with the StationeersLaunchPad plugin.
See: https://github.com/StationeersLaunchPad/StationeersLaunchPad/


Have a good day!
热门讨论 查看全部(1)
0
10 月 30 日 下午 4:33
置顶: Errors and Issues
TrippleTrip
4 条留言
Kyr 8 小时以前 
Something like this needs to be in the base game now. Would love to see CowsAreEvil do a tutorial for it.
Xthesh 10 小时以前 
Awesome mod
Masteroink 22 小时以前 
GOAT
pagilu2401 11 月 1 日 上午 6:31 
This is the perfect mod.