Guide to usage of my Reedit Ship Management script.
The broad goals of this script are to…
- Prevent configuration errors that can lead to combat failure or other mistakes.
- Provide a customised, high-density ship status LCD display
- Allow for simplified toolbar control of a complex ship with stance management
- Automate block naming so you don’t spend hours manually tidying names.
- Make ships cooler and provide feedback by automating lighting colours inside and out.
- Combine the functions of a number of individual scripts into one, specialised & efficient script.
소개
Reedit Ship Management (RSM) is a ship automation script written specifically for the Sigma Draconis Expanse multiplayer server.
The broad goals of this script are to…
- Prevent configuration errors that can lead to combat failure or other mistakes.
- Provide a customised, high-density ship status LCD display
- Allow for simplified toolbar control of a complex ship with stance management
- Automate block naming so you don’t spend hours manually tidying names.
- Make ships cooler and provide feedback by automating lighting colours inside and out.
- Combine the functions of a number of individual scripts into one, specialised & efficient script.
There are a lot of features, and some things to learn to get the most out of them…
Init – Rename and tidy all blocks
명령
The init function allows you to quickly rename all blocks on your ship.
- It uses my preferred block name syntax which is basically
- <Ship Name>.<Block Type>.<Padded Count>.<Other details (retained)>
- <Ship Name>.<Block Type>.<Other details (retained)>
- It can be run multiple times to rename your ship, or to account for newly added blocks. If you were careful to only add to the name after the second . (즉, in the area marked as retained above), then init will retain those additions during subsequent init commands.
- Prior to running the script, I recommend manually making sure that all internal lights have ‘Interior’ in the name, and all external ones do not. The script will automatically tidy and renumber these appropriately.
- Programmable block is a dumb name, so will rename all to ‘Server’. Deal with it lol.
- You don’t have to run init, and this script will work fine without using my naming syntax, 하지만…
- Blocks which don’t have the ship name (as configured in custom data, and set by this function) in their name will be ignored for other script functionality.
- The airlock functionality in particular does require using my syntax in block names
Stance management – Control many functions with one press
명령
The stance function is like a ship mode macro that allows you to simplify ship control by adjusting a number of different settings with a single button press. I use it to rapidly reconfigure my ship for various uses like combat, docking or cruising. It’s highly configurable, and you can change or add to my list of stances from the custom data of the server block.
- The stance function is like a ship mode macro that allows you to simplify ship control by adjusting a number of different settings with a single button press. I use it to rapidly reconfigure my ship for various uses like combat, docking or cruising. It’s highly configurable, and you can change or add to my list of stances from the custom data of the server block.
- Stance management permits you to set some PDCs to be dedicated to defence. I’ve found this can help with survivability by ensuring some PDCs are always focused on protecting against torpedoes. 원한다면, 추가하다 “.방어” to the name of a PDC (and recompile) to mark that PDC as for defence only. The tag can be adjusted in custom data if you wish. I recommend leaving one PDC per direction dedicated to defence in this way. 기본적으로, in some stances, only defence PDCs will be activated.
- Stance management can also handle other elements of PDC configuration. 활성화된 경우, it will automatically handle the Target Grids, Target Large Grid, Target Small Grid, Repel Mode & Focus Fire settings to match the current stance. You can turn this off in custom data if you wish.
- Make sure you put the tag “[EFC]” on your Expanse Flight Controls script if you want that functionality to work.
- If you want the script to ignore a particular block during stance management (and other script functions), add a ‘#’ to the name of the block. You can configure the ignore keyword to something else in the RSM server custom data.
- Here’s a list of all the things you can control with a stance command…
- Turn torpedoes, railguns, PDCs, Epsteins, RCS thrusters, Spotlights on/off.
- Configure PDCs, split into offence and defence, to modes: 끄다, min defence, all defence or offence
- Turn interior lights and exterior lights on/off and set colour for each per stance.
- Configure boost, burn % of EFC script, or force EFC script to stop (Off command)
- Turn extractors on/off, automatically load fuel tanks into extractors below 10% hydrogen on ship.
- Stockpile tanks and recharge batteries, on/off.
- Keep connectors, gyros, LCDs alive (~에) to increase effectiveness of auto repair systems (toggleable).
- RSM actually also automatically turns on batteries & tanks, as well as PDCs, torpedoes & railguns to match the current stance for the same reason.
- Turn on/off auto repair systems (found via the configurable tag).
- Open/close hangar doors (I use these for torpedo bay doors)
- Here’s a list of the default stances…
- Docking – This stance turns off epsteins but leaves RCS on. I use it for final parking manoeuvres
- 도킹 – This stance sets tanks to stockpile, batteries to charge and turns off all thrusters.
- Cruise – This stance turns all thrusters on and sets the ship up for standard cruising.
- MaxCruise – This stance is the same as cruise, except it activates boost and sets max thrust to EFC
- 방어 – Exterior lights off, Railguns, PDCs on, all set to repel attacks etc.
- Offence – Now the gloves are off and offensive PDCs are unleashed.
- Coast – This stance turns most things off, for stealthy coasting in on a target.
- NoAttack – This stance deactivates all weapons just in case you’re shooting a friendly or need to capitulate.
- 잠 – This cuts back to essential services only. It’s vulnerable, but battery is conserved.
Comms management – Use toolbar to send messages with antennas
명령
This command sets all antenna’s HUD text to the provided message.
- I use it to with various pre-set messages on my toolbar like ‘Hello!’, ‘Don’t Approach!’ or ‘I Surrender! Don’t Shoot!’
- Remember to manually manage antenna power status and broadcast range.
RSM LCD Output
Reedit Ship Management provides an LCD output with some important, useful readouts on ship status.
- Place an LCD somewhere visible from your helm and add “[RSM]” to the end of its name. You can change the tag in the block custom data.
- RSM will detect it and populate it with some useful info. LCD detection like all other blocks takes place during a full refresh, and by default that only happens every 5000 game ticks. So be patient (or force anytime by pressing recompile).
- The LCD provides a count of important items like Fusion Fuel, Fuel Tanks & 탄약. Each item has a target count, and the bar on the LCD shows what % of that target are actually on board. You can edit the targets in the RSM server custom data. If you set a target to 0, it will disappear from the LCD.
- The LCD will spit out errors below the current stance. 자세한 내용은, check the details section of the control panel screen of the RSM server.
Automatic Door Management
- RSM sets up a basic close timer for every door on your ship.
- RSM also includes some very basic airlock management functionality as well. It works like this…
- You carefully name airlock doors like this… “ShipName.Door.Airlock.Forward.Inner” “ShipName.Door.Airlock.Forward.Outer” 등
- When RSM detects that an airlock door is open, in addition to the normal close timer for that door, it will also disable all other doors in that airlock and set a separate, 더 길게, timer to re-enable them.
- I use it with a vent in my airlock set to depressurize. The extra time just gives a moment for the airlock to fully suck out all air to any spare space in O2 tanks prior to letting a user open a door.
- You can adjust the timer values under the RSM server custom data. The values configured aren’t in seconds, rather they are counts of 100x game ticks.
Automatic Extractor Management
If configured in the current stance, RSM will automatically load a fuel tank into your extractors if you go below 10% 연료. This means if you run low on fuel during an engagement, the ship will refuel for you so you can focus on fighting.
Loading a fuel tank in the extractor basically just means adding additional fuel to the ships main tanks by extracting that fuel from an auxiliary fuel tank (the inventory item) which you can purchase from any station. You can carry many of them in cargo and greatly extend the range of a ship.
Configurable Server Load
I’ve tried to be efficient with all elements of this script, and am not aware of any current performance issues. Never the less, especially considering the PB runtime limits on the Draconis Expanse server, and considering that you might be running other scripts (or controlling an unusually massive or complex ship), I’ve built in throttling features to allow you to slow the script down if required.
Under the RSM server custom data, there are two performance related values:
- Throttle script (x100 ticks pause between loops):
- This many loops are skipped in between each run of the script.
- 값 1 halves the speed of the script, 3 quarters it etc.
- 메모, this also effects the speed of other times, like those on doors.
- Full refresh frequency (x100 ticks, 기본 50):
- 기본적으로, the script only completes heavy CPU tasks like parsing the custom data values and building block lists during a full refresh, which occurs every 50 quick refreshes.
You can improve performance by increasing this number, but the script will be slower to respond to some changes.
- 기본적으로, the script only completes heavy CPU tasks like parsing the custom data values and building block lists during a full refresh, which occurs every 50 quick refreshes.
Debugging
If the script seems to be throwing an error and crashing, or otherwise not working as expected, you can turn on verbose debugging in the script custom data (and force a refresh with recompile).
- With this setting on, additional information about what the script is doing will be printed into the RSM server details section of the control menu.
- If you think you’ve found a bug, 알려줘요. It will help to…
- Have screenshots of the control screen showing what the script was trying to do when it crashed.
- Provide a description of what went wrong and what you were trying to do at the time.
I might also need a copy of your ship’s blueprint to replicate your bug.
What about servers other than Draconis Expanse?
As we say in Australia, yeah nah.
I may built another version of this script more suited to vanilla gameplay (or some other mod collection), but for now I have no such plans.
With heavy configuration, you could use several of the features of this script on a vanilla server. I’m not interested in supporting that configuration at this time, so you’re on your own.
Wishlist
Here’s a quick list of other features that I would like to add to future versions of RSM. Let me know if something stands out to you.
- Gravity Generator Management
- Would be cool if the script could modulate the strength of ship gravity generators based on acceleration. It would probably make ships more annoying to walk around on, but would be more immersive from a lore-accuracy perspective if gravity disappeared with the drive.
- Green/Red lights for docking
- Would be cool if the script could automatically detect which external lights are port and which are starboard, and colour them red/green respectively while in docking mode?
- Multi-LCD support
- Would be cool if the LCD worked properly on cockpit screens etc.
- Additional stance features
- Permit triggering of a timer block with a stance change
- Permit triggering of a sound from a sound block with a stance change.
- Decoy Management
- Would be cool if I could setup some kind of advanced decoy management to spoof or confuse enemy ships based on ship stance.
- Sensor Management
- Would be cool if the ship had some kind of advanced intrusion detection involving sensors. It could trigger alarms, turn on welders, activate internal turrets, maybe even self-destruct.
- Enemy Signature Tracking
- I have an idea about a function which recorded the positions of an enemy ship’s signature multiple times over some amount of time. I might then be able to determine a 3D azimuth which could be used to trace a retreating player back to their base. Maybe this will be too spicey for me to release hahaha.
- Additional stability, efficiency improvements.
- Always room for improvement here.
이것이 오늘 우리가 공유하는 모든 것입니다. 우주 엔지니어 가이드. 이 가이드는 원래 작성자가 작성하고 작성했습니다. christophuck. 이 가이드를 업데이트하지 못한 경우, 다음을 수행하여 최신 업데이트를 찾을 수 있습니다. 링크.