Space Engineers

Space Engineers

Knoweledge base with keys for GetValue and SetValue for missed getters/setters
Where I can find all keys available in GetValue and SetValue for each block in C# game API?
It can be even the source code.


UPD#3:

ANSWER IS:

https://github.com/malware-dev/MDK-SE/wiki/List-Of-Terminal-Properties-and-Actions#imymotorsuspension

UPD#2:
I just found:
https://bloc97.github.io/SpaceEngineersModAPIDocs/html/9b66e617-9be8-0f86-6fd3-3c184e5daac2.htm

Output of this method shows for example property "Propulsion",
but key for `SetKey()` is "Propulsion override" - not just "Propulsion".
Where to find exactly required key?



UPD#1:
Why I ask this:

For example `IMyMotorSuspension` (as described in https://github.com/malware-dev/MDK-SE/wiki/Sandbox.ModAPI.Ingame.IMyMotorSuspension) has no setters for Propulsion and Steering Overrides.
So I don't know how much data is not presented in this doc, how many possibilities is hidden.

Legutóbb szerkesztette: IamPhilipp; 2020. máj. 28., 5:54
< >
115/15 megjegyzés mutatása
Why you are trying to get the information this way?

GetValue and SetValue are pretty old and were phased out a while ago I think.
For example : A rotor did have something like Rotor.GetValue("Angle") which has been replaced with Rotor.Angle().

As such, there are a LOT of pages documenting this info, for example:
https://bloc97.github.io/SpaceEngineersModAPIDocs/html/c6d63f40-9ae5-baa2-5330-509b9aa669ba.htm

I use Visual Studio linked to the Space Enginers library.
Legutóbb szerkesztette: ShadedMJ; 2020. máj. 24., 9:33
The recommended way for making remote scripts with space engineers is using this API.
https://github.com/malware-dev/MDK-SE/wiki/Quick-Introduction-to-Space-Engineers-Ingame-Scripts

I use it with VSCode. While you can make cool things, it isn't a lot of fun, as rather than being a game it feels like it is work.
Doom eredeti hozzászólása:
... While you can make cool things, it isn't a lot of fun, as rather than being a game it feels like it is work.

I share that opinion for the most part. You can make code, but then it gets into the game and trying to debug from there is quite annoying and it feels like not worth the effort.
ShadedMJ eredeti hozzászólása:
Doom eredeti hozzászólása:
... While you can make cool things, it isn't a lot of fun, as rather than being a game it feels like it is work.

I share that opinion for the most part. You can make code, but then it gets into the game and trying to debug from there is quite annoying and it feels like not worth the effort.
Debugging (IF you need assistance with it) can be done by dumping stuff onto terminal or terminal panels and seeing what went wrong. It is not a modern style thing with breakpoints, but the old style by investigating with logs.

In general, scripting part of the game is rather poorly done. I scripted an IK driven arm before, it is absolutely unenjoyable.
https://www.youtube.com/watch?v=qc1mfKErdEM

When you try to do something more complex like automatic miner swarm controller, you hit problems with lack of debug visualization primitives, inability to draw geometric shapes on screen, editor unable to recognize tabs, and scripts being unable to use modular features of the language. Definitely not fun every time.
And then the code turns into 90% debug diagnostic and 10% what you really wanted. That is what I dislike.
ShadedMJ eredeti hozzászólása:
Why you are trying to get the information this way?

GetValue and SetValue are pretty old and were phased out a while ago I think.
For example : A rotor did have something like Rotor.GetValue("Angle") which has been replaced with Rotor.Angle().

As such, there are a LOT of pages documenting this info, for example:
https://bloc97.github.io/SpaceEngineersModAPIDocs/html/c6d63f40-9ae5-baa2-5330-509b9aa669ba.htm
...
Doom eredeti hozzászólása:
The recommended way for making remote scripts with space engineers is using this API.
https://github.com/malware-dev/MDK-SE/wiki/Quick-Introduction-to-Space-Engineers-Ingame-Scripts
...

Cause for example IMyMotorSuspension (as described in https://github.com/malware-dev/MDK-SE/wiki/Sandbox.ModAPI.Ingame.IMyMotorSuspension) has no setters for Propulsion and Steering overrides.
So I don't know how much data is not presented in this doc, how many possibilities is hidden.

And it is possible to set steering/propulsion override using SetValue, as I did find in someone's code.

And yes, thanks, I use VScode too - light and nice instrument. It is a pity that VIM mode is not very well implemented for windows
For debug I use logs using Echo and Displays.
Legutóbb szerkesztette: IamPhilipp; 2020. máj. 25., 11:02
Wait a minute! I just found:
https://bloc97.github.io/SpaceEngineersModAPIDocs/html/9b66e617-9be8-0f86-6fd3-3c184e5daac2.htm

ShadedMJ eredeti hozzászólása:
As such, there are a LOT of pages documenting this info, for example:
https://bloc97.github.io/SpaceEngineersModAPIDocs/html/c6d63f40-9ae5-baa2-5330-509b9aa669ba.htm
Thanks for this link!

It's good, but this list shows for example property "Propulsion",
but key for `SetKey()` is "Propulsion override" - not just "Propulsion"
Legutóbb szerkesztette: IamPhilipp; 2020. máj. 25., 11:11
IamPhilipp eredeti hozzászólása:
Wait a minute! I just found:
https://bloc97.github.io/SpaceEngineersModAPIDocs/html/9b66e617-9be8-0f86-6fd3-3c184e5daac2.htm

ShadedMJ eredeti hozzászólása:
As such, there are a LOT of pages documenting this info, for example:
https://bloc97.github.io/SpaceEngineersModAPIDocs/html/c6d63f40-9ae5-baa2-5330-509b9aa669ba.htm
Thanks for this link!

It's good, but this list shows for example property "Propulsion",
but key for `SetKey()` is "Propulsion override" - not just "Propulsion"
Names do not always match Gui names, and given that I never used SetKey/GetKey interface, I can't comment on that.

In my experience, things you can move around in GUI are available thorugh scripting interface in mod API index. For example, "Propulsion" property corresponds to "PropulsioN" checkbox (You can see it, for example, here: https://steamcommunity.com/sharedfiles/filedetails/?id=1138675837 ). However, I do not see "propulsion override setting" in GUI.

If it is a hidden property, maybe it got removed?

Honestly, I spent most of the time messing with flying vehicle scripting, and not wheeled vehicles, so I can't really comment that. Maybe you could try tearing apart someone else's script that controls wheels?

And failing that, there are always rotors.
Legutóbb szerkesztette: Doom; 2020. máj. 25., 11:52
Doom eredeti hozzászólása:
...
In my experience, things you can move around in GUI are available thorugh scripting interface in mod API index. For example, "Propulsion" property corresponds to "PropulsioN" checkbox (...). However, I do not see "propulsion override setting" in GUI.

If it is a hidden property, maybe it got removed?

Honestly, I spent most of the time messing with flying vehicle scripting, and not wheeled vehicles, so I can't really comment that. Maybe you could try tearing apart someone else's script that controls wheels?

And failing that, there are always rotors.


I already found how to steer and change propulsion, and it is why i'm confused:
```
Block.SetValue<float>("Steer override", value);
Block.SetValue<float>("Speed Limit", value);
Block.SetValue<float>("Propulsion override", value);
```
this is not included in the documentation, has no setters in api, but present in ingame GUI (in wheel suspension block menu). don't know how exactly it writen in english locale, but it can be translated as described in keys.

ok, but keys is... ugly! why they includes spaces, why it is not in PascalCase camalCase or other... oh. In this case I can`t foresee what exactly key is used for something other( they is not standardized
Legutóbb szerkesztette: IamPhilipp; 2020. máj. 25., 12:34
IamPhilipp eredeti hozzászólása:
Doom eredeti hozzászólása:
...
In my experience, things you can move around in GUI are available thorugh scripting interface in mod API index. For example, "Propulsion" property corresponds to "PropulsioN" checkbox (...). However, I do not see "propulsion override setting" in GUI.

If it is a hidden property, maybe it got removed?

Honestly, I spent most of the time messing with flying vehicle scripting, and not wheeled vehicles, so I can't really comment that. Maybe you could try tearing apart someone else's script that controls wheels?

And failing that, there are always rotors.


I already found how to steer and change propulsion, and it is why i'm confused:
```
Block.SetValue<float>("Steer override", value);
Block.SetValue<float>("Speed Limit", value);
Block.SetValue<float>("Propulsion override", value);
```
this is not included in the documentation, has no setters in api, but present in ingame GUI (in wheel suspension block menu). don't know how exactly it writen in english locale, but it can be translated as described in keys.

ok, but keys is... ugly! why they includes spaces, why it is not in PascalCase camalCase or other... oh. In this case I can`t foresee what exactly key is used for something other( they is not standardized
Can you post screenshot of the UI window? It doesn't matter if it is not in english, I should be able to find it based on layout.
Doom eredeti hozzászólása:
Can you post screenshot of the UI window? It doesn't matter if it is not in english, I should be able to find it based on layout.
https://sun9-46.userapi.com/aEJ1DGDmNwqwtxLYInj8oyKAykRFzt0ikBad_A/N3s24AvcBm0.jpg
IamPhilipp eredeti hozzászólása:
Doom eredeti hozzászólása:
Can you post screenshot of the UI window? It doesn't matter if it is not in english, I should be able to find it based on layout.
https://sun9-46.userapi.com/aEJ1DGDmNwqwtxLYInj8oyKAykRFzt0ikBad_A/N3s24AvcBm0.jpg
As far as I can tell, it, indeed, can only be accessed thorugh the old setkey interface.
https://forum.keenswh.com/threads/request-for-access-to-wheel-propulsion-override-steering-angle-as-a-bonus.7401289/

Seems like an oversight. A very old one on top of that.
Just found more info:
https://github.com/malware-dev/MDK-SE/wiki/List-Of-Terminal-Properties-and-Actions#imymotorsuspension

this doc also doesn't contain `Propulsion override` (for example), but it's slightly better than nothing.
IamPhilipp eredeti hozzászólása:
...this doc also doesn't contain `Propulsion override` (for example), but it's slightly better than nothing.

It doesn't? Under "Actions" is "Properties" and in there is "Propulsion override float"
Legutóbb szerkesztette: ShadedMJ; 2020. máj. 28., 5:45
ShadedMJ eredeti hozzászólása:
It doesn't? Under "Actions" is "Properties" and in there is "Propulsion override float"

Oh, Thanks! I didn't notice "Properties" table. Great!
Legutóbb szerkesztette: IamPhilipp; 2020. máj. 28., 5:49
< >
115/15 megjegyzés mutatása
Laponként: 1530 50

Közzétéve: 2020. máj. 23., 16:24
Hozzászólások: 15