Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
In addition, if someone know how to integrate TIM with some common mods (I'm thinking nanitefactory and better ores/stones or something) please post it here; I'll put it up.
Instead of using the standard TIM script, use this script and set your priority levels (the lower the whole number, the higher the priority 1-10)
Taleden's Inventory Manager Port Script
Nanite Control Factory [TIM Force:Component:P1:100]
Large Cargo Container [TIM Ammo:P10 Ingot:P10 Ore:P10 Component:P10 PhysicalGunObject:P10 Gas:P10]
* This example should automaticly enpty all items out of the storage of your Nanite Control Factory except for 100 of all components.
An optimisation I was thinking to add was to remove the 'cycle' argument and do something similar to Automatic LCDs, which is to run every tick (or 10 or 100 which ever works best) and dynamically decide what and how much to run during that cycle, and if the instruction limit was getting to close put off the next cycles until the next run.
An example of the changes I have already done is the for loop at ~1967 where you replace
and replace the code at ~2054
These changes allow the run arguments to be added to the custom data instead, allowing them to be used.
If people think it's a good idea, I can set up a repo and add some guys from here as contributors to help manage. The minisier program can be found here[github.com] btw, and I plan to use a minimiser library to add proper name minimisation to the program, making the minimised code even smaller.
@Gorea: Thanks for your contribution, and excellent idea. Make it a full repo. I don't know C# myself, so I can't be the primary maintainer, but I'd be happy to help out. The optimisation you mentioned sounds amazing, and would solve a lot of problems. In addition, I would suggest moving the quota to the PB's custom data field, and remove all string formatting and LCD code from TIM; we should use e.g. Automatic LCDs 2 to display inventories instead. To top it off, it would free up some code space. Lastly, I would put off using minimisers to the last possible moment, it's yet another step in the dev cycle...
As for the quota panels, that's a little easier said than done. It would mean that the custom data would be very cluttered with all the quotas, and I would like to not force a reliance on another script in order to use part of this one. Although, I would say that there are a lot of optimisations we can do currently, like move the quota definitions to the custom data of the LCD and forgo the complex parsing of the panel text. This means we can use a simpler parser and make the quota panels still work nicely.
That said, it wouldn't be a huge issue to use Automatic LCDs to display some things, since it would allow us to offload processing and code to a more dedicated script, however if we did this I would simplify the panel code and remove things like 'SPAN' so you can still use the panels without it, but then allow people to opt-into making TIM generate A-LCD commands to display on panels.
The problem with any quota panel changes, however, is that we should really allow for at least some support with the current version, so people can still use their quotas without having to re-write them all. I can think of 3 ways round this: firstly, we don't touch how qutoas are defined and parsed, just how LCDs are handled. Secondly, we could make it automatically convert from the old format to the new one (would require the version checking and could cause some issues). Lastly, I write a small web-app than allows you to paste in the old quotas and will output the new ones. (We can look at this in detail later)
Also, the minimisier stuff I mentioned since I was working on it anyway, and I've almost got TIM fully minimising properly (my parser seems to have a few slight issues with strings, but I'm working on it). So far, the minimiser library doesn't work with expression bodies (e.g. 'int f() => 1;') and has some issues with empty if statement blocks, however I can work around these (like not using expression bodies, shuffling if's etc.). This means that we can basically do minimisation from the get-go without much extra work.
[CB]Pitje - if you have a GitHub account and you want to be added as a collaborator, I'll need you GitHub username
TIM works in lieu of conveyor system. It will turn off reactor conveyor as well, and other managed blocks.
Example:
Assembler [TIM AUTO]
Large Cargo Container [TIM Component:P8 Gas:P8 Ingot:P8 Ore:P8 PhysicalGunObject:P8]
Nanite Control Factory [TIM FORCE:Component:P8:100 Gas:0 Ingot:0 Ore:0 PhysicalGunObject:0]
This will empty the Nanite Control Factory of everything except 100 of every component and keep it at 100 components.
If you missed it, you also will need the matrial, if you are using a modded resouce (Example: v2LiquidHydrogen or v2LiquidOxygen) in the inventory of one of your blocks that has storage capacity and is using the TIM tag, so TIM can recognize it. But that is also covered in the videos that I shared in a previous post.
And btw Slimez your comment about the conveyors turning off, was already responded to by: