Space Engineers

Space Engineers

WIM - Wishy's Inventory Manager
95 Comments
_Dave. 5 May @ 11:04pm 
@Overlord: LCD, read description again
Overlord 25 Apr @ 2:50am 
Hello! I was wondering if someone could explain how to set stock values for autocrafting? I didn't find anything in Custom Data or Config.
TheGaminODST 25 Mar @ 12:45pm 
Is there a way to add ingots to the autocrafting? I have a mod that allows you to assemble a unique resourse via modded assembler, but it classifies as an ingot and would be very useful to be able to autocraft it in mass quantities
Nappel 21 Oct, 2024 @ 10:38am 
Is there a way to show or not show lines on lcd ? for example : i want to show ORE thad i have 0 of it dosent show on the ore lcd (automaticly) but i dont want things like normal grinder or plushies on the autocrafting lcd ..... so a line in custom data like : - plushie or show/not show 0 stats
kinngrimm 5 Sep, 2024 @ 2:05pm 
If you would open up the refinery logicstatements also for other inventories
like for a gatling munition depot, being able to write something like
Manual
NATO_25x184mm=10 -All

for having 10 boxes of munition and disallow any other object to be put in there, also therefor disallowing f.e. Ore overflow, for that one could say +Ore - All

if not too much work or boon on process cycles, then that might be a good addition to make the script more flexible and powerful.
Gigawatts 7 Jun, 2024 @ 6:08pm 
MyObjectBuilder_Component/SteelPlate_t3;MyObjectBuilder_BlueprintDefinition/Plate_t3
MyObjectBuilder_Component/SteelPlate_t2;MyObjectBuilder_BlueprintDefinition/Plate_t2
MyObjectBuilder_AmmoMagazine/SmallRailgunAmmo;MyObjectBuilder_BlueprintDefinition/Sentis_SmallRailgun
MyObjectBuilder_AmmoMagazine/LargeRailgunAmmo;MyObjectBuilder_BlueprintDefinition/LargeRailgunAmmo
Gigawatts 5 Jun, 2024 @ 10:29am 
Не работает
DeltaWing 19 May, 2024 @ 11:02pm 
Greetings, is the source code available anywhere? I would like to add a keyword for manual inventory assignment but without counting the items for autocrafting, such that any items sucked up by manual containers are brought up to quota.
kinngrimm 23 Apr, 2024 @ 3:36pm 
Conceptually still the best IM out there in my books, is it still working with the last/latest DLC(s) ?

After rereading some of the description and seeing the tut vid again, did the script give out a raw
and/or ingot ressource demand to fullfill the quotas/filllevels ("allocate a fixed amount of items in a container:")of cargo containers?
Mythalas 17 Apr, 2024 @ 3:53pm 
The LCD for Autocrafting has no data in it to set the desired values
Gelrok 25 Feb, 2024 @ 5:29pm 
Dictionary<string, string> subTypeIdMapping = new Dictionary<string, string>
{
{"Reactor", "ReactorComponent"},
{"Detector", "DetectorComponent"},
{"Thrust", "ThrusterComponent"},
};

public getMappedSubTypeId(name as string){
if(!subTypeIdMapping.ContainsKey(name))
return name;
else return subTypeIdMapping[name];
}

later replacing when using Contains.

Maybe you can implement a Name Mapper for SubTypeId and Manual Values in your script.

Thanks in advance.
Gelrok 25 Feb, 2024 @ 5:29pm 
Hi AIRobin. I Enjoy your script as an efficient Sorter with big flexibility. There is a small inconvenience if you use for example Tiered Mods because of the simple Contains String Check and usage of SubTypeId.

So if you have for example have an item "ReactorChip" which has the name "Reactor" in his name and do Manual -> ReactorChip then it will sort Reactor components (subTypeId Reactor) and the chips in the same container. I solved it by implementing a nameMapping Dictionary at top of your script body and replacing Contains Value:
erik 14 Feb, 2024 @ 1:49pm 
does not work
erik 14 Feb, 2024 @ 1:47pm 
does not work
MuffDyvaer 3 Jan, 2024 @ 10:59am 
@cyberwolfent
Just edit the Custom Data of the PB, and you'll see the font size specs.

autocraftingfontSize = 0.8
fontSize = 0.8
debugfontSize = 0.6

debugFont == debugLCD font
autocraft... == Autocraft LCD
fontSize == Stock LCD

just change it to your liking and recompile the script.

hope it helps o7
cyberwolfent 2 Jan, 2024 @ 12:15pm 
So, I am trying to figure out font sizes on the LCD's. I see a section for some font sizes. But I am mainly interested in Ores, Ingots and the power Generation sections.
MuffDyvaer 23 Dec, 2023 @ 6:26am 
Just what the doctor ordered. I can finally get rid of the "other" inv. mngr.

Just have one question, H2 gennies, I see the option to control reactors, and noticed that there's a display option for Hydro, but didn't see any reference to the H2 gennies control portion of the script. Are they also included in the power mgmt logic? As in, priority wise, kick H2Gen 1st, then reactors for last? Just want to know if I can ditch my other power mngmt script, and consolidate all into to one. The less cpu cycles the more my server can do something else.

Much obliged o7
Tiberius 15 Dec, 2023 @ 7:35pm 
As a server owner, this script is amazing. Much better than Isy's on server handling.
jokerace45 26 Nov, 2023 @ 12:14am 
Autocrafting isn't working. Nothing appears on any LCD I have tried so far. They are just blank with a time showing in the top right corner.
flasham 20 Nov, 2023 @ 3:28pm 
Is there any way to get the Gatling Ammo Box to be autocrafted with this script?
Taipay 16 Oct, 2023 @ 7:52am 
Are docked ships automatically unloaded?
Beef Supreme 4 Oct, 2023 @ 2:10pm 
Ive been around a long time. This mod is indeed more stable than Isy with PBLimter. I hate learning new things but Im probably going to switch to WIM.
[GER] Marcel 9 Sep, 2023 @ 12:12pm 
Caught exception during execution of script:Attempted to divide by zero.
at Program.Ę(IMyInventory J, MyInventoryItem A)
at Program.<ó>d__178.MoveNext()
at Program.Main(String ǐ, UpdateType Ǒ)
at Sandbox.Game.Entities.Blocks.MyProgrammableBlock.<>c__DisplayClass42_0.<ExecuteCode>b__0(IMyGridProgram program)
at Sandbox.Game.Entities.Blocks.MyProgrammableBlock.RunSandboxedProgramActionCore(Action`1 action, String& response)

the Sjript it cool, but it chrash
XIV 24 Aug, 2023 @ 1:01pm 
Hi, I hope the question has not been asked yet.
How can I display the ammunition via an LCD.
Young Stroker The Body Snatcher 10 Jul, 2023 @ 3:41pm 
Having trouble getting the autocrafting to use off-grid assemblers that are on a docked ship. Is there a fix?
Ahris 11 May, 2023 @ 12:20am 
Hey, how do i enable the refinery management?
I cant find something in the config.
j3llyt0ts 26 Mar, 2023 @ 9:38pm 
seems to be a problem with construction components just dumping in a container stated to only keep 2000 and autocrafting seems to crash the script.
kinngrimm 17 Mar, 2023 @ 6:07am 
ok after sleeping over it, one thought persisted. What if i have a fleet with specialised ships docked to each other.One that is a refinery ship, one that is a gas tanker with large o2/h2 generator capabilities, one construction ship that has a bunch of assemblers. All of them have a PG with your script installed. From a multiplayer performance and stability pov of view i would think that each PG of those specialised ships(ships with the largest capabilities of one type) should therefor handle that one task and by that splitting workload inbetween the ships.

Is that something you are doing within your script`? Now i am not convinced the way i described is the best possible way, as the logic might bring other problems i am currently not aware of and your script from what i gathered sofar seems stable so no need for drastic changes because of a lucid dream ^^.
Rant 16 Mar, 2023 @ 4:18pm 
I write in Custom date like this "SteelPlate=50" and it doesn't work for me
kinngrimm 16 Mar, 2023 @ 1:44pm 
i better stop now, this is not the best way to give structured thoughts here in this format, but i hope i could give you some idears.
kinngrimm 16 Mar, 2023 @ 1:42pm 
(3b) there could be special use case tags(customizable similar as you defined quotas in custom data), like [unload] xamount/all/upto ores and/or components and/or ... . Which could help a ton when people try to make supply chains with remote controlled cargo drones.
kinngrimm 16 Mar, 2023 @ 1:37pm 
(3a) so a rule could be, when a grid name is used as tag in the name of a conenctor/rotor/hinge/piston, then the grid with that name can take over the handling and the local script goes in sleep mode.
kinngrimm 16 Mar, 2023 @ 1:34pm 
(3) more grids, ball turret (hinge) subgrid, rotor and piston connections, could be seen as being part of the same grid, but i have seen some like to use f.e. rotors for drones to park and resupply (which on multiplayer server can end in desaster if not carefully handled)
Less so again the case of the carrier where on the carrier itself fighter, drones and other ships maybe docked. What i liked there was the approach of TIM(Taledens Inventory Manger) which allowed for flexible tags [Carrier Drone] or [Carrier Station] [Station] [Carrier] all connectors/rotors/hinges/pistons which f.e. have station in their name, therefor that Station recognmizs them and is allowed to handle them. That is even a simple form of security system of sorts :)
kinngrimm 16 Mar, 2023 @ 1:23pm 
(2)Then again if you want to keep the logic simple, you get the two grids to agree on a master and a slave or put one in a sleep mode while the other one handles things. Whereby that may end up becoming a performance spike. Maybe split some things to be directed by just one and have f.e. the munition redistribution on a per grid base, but the restocking of munition dumps centralized from the master. So say a carrier docks at a station and the carrier is still under attack, the carrier script keeps reshuffling munition out of the munition dumps and from each less active weapon to the more active once, while the station script refills the munition dump but leaves the sorting and refilling of the turrets to the local version(if one would be there, if none is there, then the station handles that too)
kinngrimm 16 Mar, 2023 @ 1:23pm 
(1) The optimal behviour mmm. Thats a diffiucult multilayered question. For once i think you need to define for yourself(not necessarily for the logic) which sets of tasks should go undisturbed from each other. Say i dock with a battleship, enemy is close and i need munition, while the battleship may strive to give the enemy facing guns munition first, it is a bit much to ask from the station maybe to handle that. The station on the other hand can check for munition dumps(cargo containers) from which then the ship would redistribute.
AIRobin  [author] 16 Mar, 2023 @ 8:18am 
@kinngrimm running it on your base/ship should be enough, if you dock a ship with a gun that has "Manual
100"
the base would put 100 of the accepted ammo in that gun
It does not balance the ammo (yet) but that's a good idea to add to a future update
I honestly didn't think about and check how it behaves when 2 grids running this script connect, will implement and test this in a future update too, what would be the optimal wanted behavior?
kinngrimm 15 Mar, 2023 @ 7:17pm 
One more, when getting into a fight, would it balance out munition between weapons engaging mostly and those which aren't and dedicated munition containers?
kinngrimm 15 Mar, 2023 @ 7:10pm 
nice, ok before i switch, just double checking, this will sort any connected grids (via connectors, adv rotors, hinges for ball turrets)therefor resupplying ships is a go, right? What happens if a carrier docks to a station, whereby the carrier has its own instance of WIM i would guess, right? Do both talk to each other to not doubly check for the same thing or will one get into sleep mode?
AIRobin  [author] 15 Mar, 2023 @ 6:55pm 
@kinngrimm updated with turret-support, tested with about half the size of what you describe, average runtime ranges from 0.05 to 0.1ms
@Rant StellPlate =/= SteelPlate
kinngrimm 15 Mar, 2023 @ 3:15pm 
have you or others scalled this up? I am currently using 40 refineries(might increase even more), 30 assemblers(might decrease to 20 because of performance issues), 10 o2/h2 gens and a metric ton of cargo containers. I am just wondering, because i tested out already 5 inventory managers some even claiming to explicitly going for multiplayer server performance only to notice that my PG got burned.
Rant 15 Mar, 2023 @ 2:58pm 
hi*
Rant 15 Mar, 2023 @ 2:22pm 
Hey,does not place a fixed value

Manual
StellPlate =5000
kinngrimm 15 Mar, 2023 @ 1:23pm 
ok nice
AIRobin  [author] 15 Mar, 2023 @ 12:23pm 
@kinngrimm this is possible with cargo containers, I haven't added block weapon inventories yet but will do so in the next update
kinngrimm 15 Mar, 2023 @ 10:03am 
If i have this on my station or carrier installed, can i stock subgrids with this like munitioning cargo containers to have a certain number of artillery shells or gattling munition?
AIRobin  [author] 14 Mar, 2023 @ 9:59am 
Updated with a bunch of bugfixes and some new features
FancyCat 26 Feb, 2023 @ 8:00am 
Power management set to true but still said false on the status screen.
crouchster 16 Jan, 2023 @ 10:56pm 
Was working yesterday. Completes 1 iteration. then about 2 secs into next one, it throws this:

Caught exception during execution of script:Attempted to divide by zero.
at Program.N(IMyInventory a, MyInventoryItem B, MyFixedPoint Á)
at Program.<A>d__156.MoveNext()
at Program.Main(String ƹ, UpdateType ƺ)
at Sandbox.Game.Entities.Blocks.MyProgrammableBlock.<>c__DisplayClass42_0.<ExecuteCode>b__0(IMyGridProgram program)
at Sandbox.Game.Entities.Blocks.MyProgrammableBlock.RunSandboxedProgramActionCore(Action`1 action, String& response)
neoyarus 28 Oct, 2022 @ 9:09am 
This seems like exactly what i need but for some reason the autocrafting doest work. It just sets the lcd to script mode and shows a blue screen with no text
mazrados 20 Aug, 2022 @ 9:40am 
Is it possible to set priorities? Or priorities are only indirect like - first fixed amount then amount not specified?