I've also noticed lately that some scripts will randomly stop working for no reason and I can't get them back up unless I delete the LCDs,Switches and containers attached to the script.
Having a small issue with this one. Pretty sure I need a {{each}} command or list all the LCD panels and do a {{split}}. Issue I'm having is not all LCDs show the banner. One or two will alwys work and update, but the rest won't. Any ideas? Code: {{set 'ShipName' E.Name}} {{set 'FactionName' 'MSC'}} {{set 'CargoDoors' 'Signage -Cargo Door*'}} {{set 'BannerSign' 'Signage -Banner*'}} {{devices @root.E.S @root.Data.CargoDoors}} {{settextblock .0}}<size=+32><i><b><color=purple><u><color=red><align=left>{{@root.Data.FactionName}}</align> <line-height=-60px><size=+10> <color=white><align=right><pos=160>-Shipyards</u></size></color></align></pos></line-height> <pos=168><size=-1><color=yellow>{{@root.Data.ShipName}}</i></size></color> <line-height=+65px><size=+20><color=orange> <align=center>Constructor Bay Access</size> {{/settextblock}} {{/devices}} {{devices @root.E.S @root.Data.BannerSign}} {{settextblock .0}}<size=+32><i><b><color=purple><u><color=red><align=left>{{@root.Data.FactionName}}</align> <line-height=-60px><size=+10> <color=white><align=right><pos=160>-Shipyards</u></size></color></align></pos></line-height> <pos=168><size=-1><color=yellow>{{@root.Data.ShipName}}</i></size></color> {{/settextblock}} {{/devices}}
The ".0" in your "{{settextblock .0}}" specifies the first match, which means it will only update a single LCD. Try this instead (note: I am unable to test in game right now, so cannot guarantee it will work although I am fairly certain it will)... Code: {{set 'ShipName' E.Name}} {{set 'FactionName' 'MSC'}} {{set 'CargoDoors' 'Signage -Cargo Door*'}} {{set 'BannerSign' 'Signage -Banner*'}} {{devices @root.E.S @root.Data.CargoDoors}} {{#each .}} {{settextblock .}}<size=+32><i><b><color=purple><u><color=red><align=left>{{@root.Data.FactionName}}</align> <line-height=-60px><size=+10> <color=white><align=right><pos=160>-Shipyards</u></size></color></align></pos></line-height> <pos=168><size=-1><color=yellow>{{@root.Data.ShipName}}</i></size></color> <line-height=+65px><size=+20><color=orange> <align=center>Constructor Bay Access</size> {{/settextblock}} {{/each}} {{/devices}} {{devices @root.E.S @root.Data.BannerSign}} {{#each .}} {{settextblock .}}<size=+32><i><b><color=purple><u><color=red><align=left>{{@root.Data.FactionName}}</align> <line-height=-60px><size=+10> <color=white><align=right><pos=160>-Shipyards</u></size></color></align></pos></line-height> <pos=168><size=-1><color=yellow>{{@root.Data.ShipName}}</i></size></color> {{/settextblock}} {{/each}} {{/devices}}
Anyone else having severe issues with scripts and displays since the hotfix? None of my scripts run right and any of my compiled ones using an installer are hit or miss with function, but all have display issues. Was not having this issues before the 12 hotfix. Hotfix 11 was causing visual display issues, but the functions of the scripts worked fine. Blood? are you experiencing the same thing?
I have had issues with LCD, Light, and Spotlight blocks disappearing (as in the entire block is visibly gone, not just the text or the light from it) when my view is at particular angles. If I move my view to another position, the blocks suddenly re-appear. Not sure if this is affecting script functionality or not, but would not be surprised if it is. (The scripts I use all seem to be working OK, but I don't run anything that is constantly visible, meaning I wouldn't notice if they occasionally failed and recovered on a later passthrough.)
Hi Astic, I was recently trying to implement the playfield details you mentioned in your last release video. Maybe I'm blind but I cannot find the "Details" Property at the playfield object in C#. Is the access to the playfield details somewhere else? And another question: I read at the release note in Github that the latest version has "add exception handling". Does this relate to my timeout issue of "CsRoot.Items"? If yes I must say my issue on my big structure with "CsRoot.Items" still persists but no exception is thrown.
Sorry i forgot to add it to the C# scripts. https://github.com/GitHub-TC/EmpyrionScripting/releases/tag/11.4.3 will fix this Code: public interface IPlayfieldData { ... IPlayfieldDetails Details { get; } ... } public interface IPlayfieldDetails { bool AtmosphereBreathable { get; } double AtmosphereDensity { get; } double AtmosphereO2 { get; } string Description { get; } double Gravity { get; } double PlanetAxis { get; } int PlanetSize { get; } string PlanetType { get; } string PlayfieldType { get; } double Radiation { get; } int[] TemperatureMinMax { get; } } The exceptions concerned a mix of SP and MP installation, as Eleon now apparently also loads local mods in spite of EAC. Unfortunately, I have not yet had time to analyse your error with the large structures :-(
There seems to be a little issue with the temperature array: Or does a "Space" playfield not create a array at all? "m" in space shows a temperature. Code: ... displayManager.AddLogEntry(string.Format("PlanetType: {0}", rootPlayfield.Details.PlanetType)); displayManager.AddLogEntry(string.Format("PlayfieldType: {0}", rootPlayfield.Details.PlayfieldType)); displayManager.AddLogEntry(string.Format("Radiation: {0}", rootPlayfield.Details.Radiation)); displayManager.AddLogEntry(string.Format("TemperatureMinMax: {0}", string.Join(", ", rootPlayfield.Details.TemperatureMinMax)));
On planet playfields we have Code: TemperatureMinMax: - 0 - 40 in space playfields there is only Code: TemperatureDay: -84 I have to add these too... or map it to own properties https://github.com/GitHub-TC/EmpyrionScripting/releases/tag/11.4.4 Add TemperatureDay & TemperatureMin & TemperatureMax properties Code: public interface IPlayfieldDetails { ... int[] TemperatureMinMax { get; } int TemperatureDay { get; } int TemperatureMin { get; } int TemperatureMax { get; } ... }
That means if a specific field of the Details property is present depends on the playfield? Does this apply to the temperature only or to other Details fields, too? Maybe it would be helpful to have these "conditional present" fields as nullable type to have the "validity" information directly in the value of the field.
Code: int TemperatureMin { get; } int TemperatureMax { get; } are mapped properties to the correct values (regardless of which playfield it is) ;-)
I was thinking a little bit bigger. Fields liks "AtmosphereBreathable", "AtmosphereDensity", "AtmosphereO2", "Gravity", "PlanetAxis" or "PlanetSize" have no meaningful sense for a space playfield. So I would assume they are not present in a space playfield config file. To pay attention to this "physical fact" its not helpful to just blow all these "zero values" to a display. For a smart display I have to determine which value is valid. And upto now I can just implement a "clunky manual string check" on the PlayfieldType string value to get a vague idea which parameter could be valid.
Checking for the playfield type is always useful because then the specific information can be displayed better/more meaningfully
To rely on a "free text type" I would avoid at most costs. This creates a complex and difficult to maintain dependency. Which Parameters are valid at which type string at which playfield from which modder?
is there a way for scripsts to sort items without having to have every single item id posted in the script?
You can use the predefined Id lists https://github.com/GitHub-TC/EmpyrionScripting#predefined-id-lists Code: @root.Ids.Ore @root.Ids.Ingot @root.Ids.Food ...
Targets:二楼菜地 二楼菜地冰箱 {{#items E.S '二楼'}} {{Count}} {{key}} {{/items}} 二楼菜地冰箱 371840 MoneyCard 10S6 Fruit 660 Naturalstimulant 660 HerbalLeaves 1584 PlantProtein I am a player from China, how to display the materials in the cargo box in Chinese, use: {{Count}} {{zh-CN key}}, prompt script error.
You can set the "CultureInfo" LCD https://github.com/GitHub-TC/EmpyrionScripting#language-format-time-of-the-outputs the "i18nDefault" from "English" to "Chinese (simplified)" or "Chinese (traditional)" (these are the tags fom the ...\Empyrion - Galactic Survival\Content\Extras\Localization.csv)