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
IMyTerminalBlock ControlledEntity => MyAPIGateway.Session?.LocalHumanPlayer?.Controller?.ControlledEntity as IMyTerminalBlock;
it only happens when a player is using the seamless client plugin. it allows players to transfer to other servers without having to completely reload the world (takes just a few seconds). when this happens, the plugin does some magic to properly initialize the client into the new world, and thats when this crash happens. just adding some null checks allows everything to just keep working through that transition.
Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at KapitanOczywisty.HudLcd.HudSurface.get_ControlledEntity()
at KapitanOczywisty.HudLcd.HudSurface.get_IsSameGrid()
at KapitanOczywisty.HudLcd.HudSurface.Update()
at KapitanOczywisty.HudLcd.HudRenderer.UpdateAfterSimulation()
at Sandbox.Game.World.MySession.UpdateComponents()
at Sandbox.Game.World.MySession.Update(MyTimeSpan updateTime)
at Sandbox.MySandboxGame.Update()
at Sandbox.Engine.Platform.Game.UpdateInternal()
at Sandbox.Engine.Platform.Game.RunSingleFrame()
at Sandbox.Engine.Platform.FixedLoop.<>c__DisplayClass11_0.<Run>b__0()
at Sandbox.Engine.Platform.GenericLoop.Run(VoidAction tickCallback)
at Sandbox.Engine.Platform.Game.RunLoop()
at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
at SpaceEngineers.MyProgram.Main(String[] args)
Pretty sure adding some null checks at line 119 in HudSurface.cs will fix the issue. Something like:
IMyTerminalBlock ControlledEntity => MyAPIGateway.Session?.LocalHumanPlayer?.Controller?.ControlledEntity;
- Make sure there is no competing definitions in the name, since name has a higher priority and can override custom data
- Try to restart game, there might be a bug that changes in custom data are not recognized
- Check if there is anything in the SE log with hudlcd in it %appdata%\SpaceEngineers\SpaceEngineers.log
You can also share command which you are using. I don't have time to debug this myself, but I'll keep this on my radar. Please let me know what did you found
But only way to get it to work is if command is in name field - doesn't appear to look at custom data anymore?