Space Engineers

Space Engineers

EasyCommands
Merlin of Mines  [developer] 9 Jan, 2022 @ 7:53am
Feature Ideas
Hey folks! Got an idea for a feature to change/add? Let's discuss them here!
< >
Showing 1-15 of 72 comments
ChrisOnMyList 15 Jan, 2022 @ 10:12pm 
First off, this is a game changer of a script. Incredible work. I'm looking forward to seeing how it develops.

I don't know if it's possible or feasible within the game's limitations, but it'd be great if there was some sort of check to return whether a cockpit was occupied or not.
Merlin of Mines  [developer] 16 Jan, 2022 @ 10:17am 
Hey @ChrisOnMyList! Glad you're enjoying the script. It looks like I'll need to explicitly map this to a property to expose it. I've created an issue to address this:

https://github.com/MerlinofMines/EasyCommands/issues/142

Thanks for the suggestion!
Sineval 18 Jan, 2022 @ 1:37am 
Would it be possible to change the way Items are handled by the script? If I understand documentation correctly, all vanilla items are essentially hardcoded, but this make this script incompatible with mods like Industrial Overhaul.
Maybe something like this: you provide a keyword (say: "ore" or "component") and then specify the name of said item? End result could look like: [Transfer ore "Bauxite" from "Inventory 1" to "Inventory 2"] for example.
Rümmler 18 Jan, 2022 @ 1:53am 
@Sineval
I think you can cheat a bit and adress the blocks via some tricks. If you browse the IO xml, you can see that e.g. the energy production blocks are reskinned and renamed blocks from vanilla with different values. A Nuclear Reactor is a O2/H2 generator, producing a gas called "steam", a Steamtank is (if I remember correctly) a hydrogentank storing a gas called "steam" and the turbines are a hydrogenengine, using "steam" instead of "hydrogen".

So, maybe (haven't tested that), you could say
>>turn on generator "Nuclear Reactor<<

The renamed components could work like this, too. I am fairly sure that interior plates turned into aluminum plates. Some modded blocks which have been made with vanilla in mind are "magically" switching components into IO components, unless they are using their own ones (which can be made via the mod compability assembler).
That wouldn't solve the issue of IO-exclusive components like Tokamak and Quantum Computers and all the others.
Merlin of Mines  [developer] 18 Jan, 2022 @ 4:33pm 
@Sineval

IIRC, I hardcoded these because the in game representations were difficult to deal with, and there were different representations for blueprints vs items.

I'll have to revisit this. If you know of attributes for Items/Blueprints we could use to dynamically resolve user friendly names for the items, I'd be up for revisiting this.

I've created an issue to track this request, please comment on it with any ideas or info.
https://github.com/MerlinofMines/EasyCommands/issues/148

Thanks for the suggestion!
Merlin of Mines  [developer] 18 Jan, 2022 @ 4:34pm 
@ChrisOnMyList

The "occupied" feature has been implemented in 1.2.0. Let me know if it's working for you! :)
ChrisOnMyList 18 Jan, 2022 @ 4:50pm 
Originally posted by Merlin of Mines:
@ChrisOnMyList

The "occupied" feature has been implemented in 1.2.0. Let me know if it's working for you! :)

Working perfectly. Great work!
Merlin of Mines  [developer] 19 Jan, 2022 @ 4:45pm 
@Sineval
I found a topic on this which indicates it might not be possible, partially due to L13n:
https://steamhost.cn/steamcommunity_com/app/244850/discussions/0/1743394605019944592/

We still might be able to fall back to the "SubTypeId" or similar for doing dynamic resolution. It wouldn't be as user friendly but would be able to support non-vanilla items & blueprints. Will keep noodling here.
Sineval 20 Jan, 2022 @ 12:44am 
@Merlin of Mines
Well.... This explains why other inventory sorting scripts sort items by general groups like "Ores" or "Ammo"...

Using SubTypeId is not a bad idea (kinda "advanced user" but still). Maybe printing it to an LCD and setting this up as a sort of external variable/collection in the PB CustomData? Might interfere with parser though. But this would allow setting some aliases for the SubTypeId for ease of use? This needs some thinking through
Merlin of Mines  [developer] 20 Jan, 2022 @ 7:22am 
@Sineval

I imagine a property that would print out the TypeId & SubTypeIds for all items in an inventory or production queue, and 1 or 2 commands for adding item names (and blueprints) to the registry using <friendlyName> <SubTypeId>. So in the setup of your script you can manually add more words for the items. That would let you only add what you need, and we could add example setup scripts to the website for commonly used mod items.
Sineval 21 Jan, 2022 @ 1:07pm 
@Merlin of Mines

Do you think it is possible to print TypeId & SubTypeId for all ores/components/consumables/etc in the currently played world (not just the ones in your inventory)?
This would allow setting up inventory management without constantly adjusting script for each newly acquired ore/component type
Merlin of Mines  [developer] 21 Jan, 2022 @ 4:42pm 
@Sineval

As a script, EasyCommands doesn't have access to all items in the current world. The best it could do is print out all of the items for all inventories on the same grid as the program. That operation would be pretty expensive but broken up might be doable.

I think a better bet would be to a mod specifically for inspecting the TypeId / SubTypeId for any/all loaded items. Perhaps this already exists?
Experementor 21 Jan, 2022 @ 11:10pm 
Two things: I could use something along the lines of LengthOfList to see how many items there are in the list, as well as the option to remove a particular item from the list
something along the lines of

set MyOldList to [a,b,c,d,e,f,g]
set MyNewList to MyOldList excluding [5]
#would return [a,b,c,d,f,g]

Also, as already mentioned in the comment to script in general, I think the display section as well as string sections of the instructions website would benefit from mention of \n for a new line on display. Other than that - awesome script that I've been having tons of fun with.
Sineval 22 Jan, 2022 @ 2:10am 
@Merlin of Mines

Then I would leave it at printing items from the target container (maybe to it's Custom Data to not clatter the PB one?). This would be the best compromise from performance angle I guess...

The mod for printing TypeId & SubTypeId is quite possible but would be pointless on it's own (as you can simply check the sbc file to get those.

I wonder if it would be possible to make a plugin for inventory sorting? Maybe by patching Sorters filtering options with dynamically generated component names? Might look into it once I have some free time for coding...
BLC.inc 22 Jan, 2022 @ 3:54am 
Hey, once again, thanks for this amazing script. I just have a few suggestions :

1) It would be nice to have access to a ship's altitude (e.g. through a read-only property of the Cockpit Block Handler ?)

2) It would be nice to also have access to the planet gravity *only*. As stated in the docs, Gravity property in the Cockpit Block Handler includes planet AND artificial gravity combined - and so does the one from the Parachute Block Handler...

3) +1 for the Dynamic ItemName Parsing feature request ; it would be extremely useful to be able to manage modded items (even by using SubTypeId), as well as obtaining the total components needed for a blueprint (that would be the cherry on top).
< >
Showing 1-15 of 72 comments
Per page: 1530 50