Space Engineers

Space Engineers

[v1.5.4] MECS: Motor Extensible Control Sequencer
16件中 1-10 を表示
< 1  2 >
更新:2022年10月25日 @ 20時52分

v1.5.4
Fixed issue with commands not being sent if parts happen to be in correct positions. Ensures parts don't skip and then get stuck because they happened to be passing through the complete range (aka, the area where it is considered in position by the script).

All I did was add a flag where if it was the first step of any sequence it will send commands to every part regardless of whether it is already in position or not.
This removes an edge case where a limb happens to be in position but is moving through it, meaning it doesn't get sent an update and moves past the position and then locks up the whole script. This effect was more noticeable with higher tolerance values.

更新:2020年7月15日 @ 19時49分

MECS now works in degrees instead of radians. This should make editing the customdata slightly easier to deal with. The system will perform the conversion to degrees on old sequences without breaking them.

You can now record and set the torque of a rotor. If rotor torque isn't present in the customdata it will add it in. However, if you have a really old sequence you might need to reload the script a second time for changes to take effect.

Unlocked setting on servos now works like you would expect. Rotors with this tag in their customData will now rotate the shortest distance every time, without having a min and max angle. This was a bit fiddly to get right but it works.
Please note that in unlocked mode rotors have to set the opposite angles to +-180 to avoid slider collisions.

I also made an internal change to the keybinds system. The system will now filter out keys that have no sequence applied to them. This makes it more compatible with itself and other systems as well. For example, a design with just w/s controls only takes the w/s keys into account.

更新:2019年8月27日 @ 11時50分

v1.4.3 - Hotfix for missing null check on gyros, and broken saving of wait timers and trigger commands.
I found out that if a gyro was missing from the list, the script will break.
It also occurred to me that it is actually a bit difficult figuring out which gyros were not being found by the program.
So now the program will give a warning for any missing blocks in any groups.
Note that this only checks the first sequence in the list, so keep this in mind if you want to finagle my script to get it to behave in a certain way.

更新:2019年8月27日 @ 11時44分

Attempted hotfix.

更新:2019年8月23日 @ 15時40分

v1.4.2 - Hotfix for broken saving of sequences.
It turns out, struct weirdness caused issues with saving data directly to them, which actually rendered my modifications earlier (aside from the ones for adding to the lists for some reason) kind of moot. Taking the value, modifying it, and reassigning the new value seems to have fixed the problem. The reason this was happening is because structs are technically variables on their own, and making any change to a struct returns a copy of the struct with the change, instead of modifying the struct itself. Lists seem to take changes without much trouble, but I think that is because a list is only a reference to a value and not actually stored in the struct itself.

更新:2019年8月23日 @ 11時14分

v1.4.1 - Hotfix for 1.192
A recent update changed how GetInternalArray() worked. As a result of that, I had to go in and fix everything. It was a bit tricky, because MECS makes heavy use of structs, and this was how I previously changed information internally. So, I had to implement methods to add and change values in my Sequence and Metadata structs. The rest of the script was surprisingly unscathed, as I straight up replace the structs stored in Sequence struct, avoiding the issue of modifying internal values.

更新:2019年6月22日 @ 13時38分

v1.3.9a - Hotfix for error that prevented generic blocks from being toggled. Fixed some optimization errors.

更新:2019年5月27日 @ 16時25分

v1.3.9: - Major optimization pass, and cockpit control support added.

更新:2018年9月2日 @ 13時41分

v1.2.3 - Added warning for when you have a servo with unset limiters. (It really messes with how the script reads angles.)

更新:2018年7月17日 @ 20時29分

v1.2.2 - Actual fix for the projector bug.

I only just uploaded my last little patch to fix it, but learned that I could update it more effectively using projector.UpdateOffsetAndRotation(), every 100 ticks. This should allow the code to run much more efficiently, and it should completely eliminate the chance of crashing when the script handles projectors.