Space Engineers

Space Engineers

[v1.5.4] MECS: Motor Extensible Control Sequencer
16개 중 1~10개 표시 중
< 1  2 >
업데이트: 2022년 10월 25일 오후 8시 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일 오후 7시 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일 오후 3시 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일 오후 1시 38분

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

업데이트: 2019년 5월 27일 오후 4시 25분

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

업데이트: 2018년 9월 2일 오후 1시 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일 오후 8시 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.