Space Engineers

Space Engineers

NDS Inventory Manager 5
 This topic has been pinned, so it's probably important
nicknds  [developer] 1 Oct, 2020 @ 12:10am
Suggestions and Changes
If you have any suggestions or would like to see anything changed, post here
< >
Showing 1-8 of 8 comments
Gate 3 Jan, 2021 @ 6:13pm 
1. Extend the logic functionality to include monitoring custom data of assembler/refinery type blocks to power on/off said blocks based on true/false result. The timer implementation is cute, but right now i have something like 24 timer blocks to control 10 assemblers and 2 refineries.

2. Extend item-panel style filtering to cargo containers to allow custom contents without affecting quotas (ie: to set a container to contain ALL of a type (or as much as space allows).

3a. Add configuration to disable additive quotas (why should a configured quota in the programmable block be overridden/added to by a "load-out"?)

-or-

3b. Separate load-outs from the quota system.

4. Additional configuration options for adding custom sub-types (ie:ore/ingot/componet -> Food / Fuel / Intermediates / etc) Several items are set as ingot in various mods that would be more useful in NDS as being redefined as "other" types. Maybe a translation system? eg. ingot:x is now known as food:x

5. Consider moving from being a script mod to a full fledged code mod. Would remove the character limit and allow use on servers that do not have programmable blocks enabled. Would alllow movement of mod configuration to discrete files.


That's all i got for now. Please let me know if any of those are directions you would not consider. I can generate ideas all day long, but some are out of scope or off the wall : p
Last edited by Gate; 3 Jan, 2021 @ 6:55pm
nicknds  [developer] 4 Jan, 2021 @ 9:01pm 
Gate,

1. Done


2. Already exists


3. Done. (Loadouts increase quotas so loadouts get filled when quotas are lower than the loadout)


4. Done


5. It's definitely worth considering, there are many features I want to add but can't due to limitations. I would have to learn to make true mods first :D


Thanks for the feedback Gate
Last edited by nicknds; 9 Jan, 2021 @ 1:38am
Gate 5 Jan, 2021 @ 2:28am 
Re 4. Arn't you already doing some form of translation with the alternate name lookup code?

Name=Uranium Ore||Quota=0 ^Type=MyObjectBuilder_Ore||Subtype=Uranium||Refine=True||BasicRefine=False||Fuel=False||Display=True

instead becomes something like

Name=Uranium Ore|Category=Fuel|Quota=0
^Type=MyObjectBuilder_Ore||Subtype=Uranium||Refine=True||BasicRefine=False||Fuel=False||Display=True


Edit:

Just realized what i consider a type and what game code considers a type are slightly functionally different, apologies for that miscommunication.

I think of a type like a category; Component, Ingot, Ore, etc.

Instead of the lcd's/containers relying on the definitions for ingot and ore could the categories be auto-generated as it is now, but allow user redefinition via the category=x ?

so that a user could do


Item Panel [tool:*] [ammo:184x25mm:Missile] [food:water]

-and-

Block name => Cargo Container, Large - [Ammo, Fuel] Custom Data => cargo ammo fuel
Last edited by Gate; 5 Jan, 2021 @ 2:43am
nicknds  [developer] 9 Jan, 2021 @ 1:45am 
I finished coding and testing the suggested features

Logic applies to all blocks
  • Triggers Timers
  • Turns other blocks On/Off

Categories have replaced types and are completely customizable
  • The default 5 categories can not be removed to account for mismatched types or mod items
  • The default 5 categories can be renamed by changing the item keywords

Toggle adding loadouts to quotas with the setting addLoadoutsToQuota
Gate 11 Jan, 2024 @ 5:42pm 
[deleted] i figured out alternate method, ignore this post
Gate 5 Feb, 2024 @ 9:49pm 
Could you have the script preserve any ini-style contents in the blocks custom data? Or at the very least, prepend "---" to your configuration, and only parse from that index forwards?

i write a few QoL scripts that make use of ini configuration, and i keep colliding with NDSI overwriting my changes : ( this is low priority, but would be convenient for me and a few others.


would this be something you could implement in the character space you have remaining?
nicknds  [developer] 6 Feb, 2024 @ 2:29am 
I changed the option header slightly to work more like a normal filter with an immediate effect
  • Leaving it blank disables the filter (default behavior)
optionHeader=

Enabling the filter limits the script to reading from the Custom Data of blocks within the headers you set
Setting example
//Text - A. Global Tags optionHeader=[nds]
Custom Data example: 1 header
@AutoLCD 0 InvListX {T:*} [nds] Parse From Here
Custom Data example: 2 headers
@AutoLCD 0 InvListX {T:*} [NDS] Parse These Lines [NdS] @AutoLCD 1 Power {T:*}
Last edited by nicknds; 7 Feb, 2024 @ 12:10am
nicknds  [developer] 6 Feb, 2024 @ 2:48am 
I was considering something like this so different ships and stations can use different settings
[capitol] Automatic=True [capitol] [station] Loadout=5%:ingot:*|5000000:ingot:iron:silicon:nickel|2%:ore:ice [station]

I also added one of the old requested features for ordering items within Cargo Containers and storage

I moved the ordering code from Refinery ordering into a reusable function and made a short function that orders the items in each storage by category and display name so you control the order

Oh and the vanilla library is now optional. Disable it at the top of the script with UseVanillaLibrary = False
  • Disabling it before the script ever runs will leave it with no known items and everything will be a mod item. Might help with total overhaul mods conflicting with the vanilla library
  • Disabling it after the script saves the vanilla library to Custom Data will speed up the boot time
Last edited by nicknds; 7 Feb, 2024 @ 12:12am
< >
Showing 1-8 of 8 comments
Per page: 1530 50