Space Engineers

Space Engineers

Multipurpose Filter and Control Block
26 comentarii
TheTownWitchDoctor 10 febr. 2019 la 11:27 
I should've just tried it, yes it seems to work fine but I don't think I can do what I want with it. It doesn't like the complex LCD names I have and I can't see an option for font size/type.
d4rky1989  [autor] 10 febr. 2019 la 10:23 
Hello, haven't installed SE right now. Maybe you can try if the script is still working. If it is not working I can fix it.
TheTownWitchDoctor 10 febr. 2019 la 9:20 
Does this still work? I need a script to change font size and font between Monospace/debug on some LCD screens when I run it with an argument for boot screens.
d4rky1989  [autor] 9 sept. 2016 la 0:43 
Updated script to work with the new game version
d4rky1989  [autor] 21 nov. 2015 la 14:07 
I'm sorry, but I'm not extending this script any more. Just keeping it running in case of API changes. Hopefully, when having enough time, I am able to finish implementation of the successor script that is more flexible to extend with new functions and that has a shorter syntax
mmille14 21 nov. 2015 la 12:32 
Wow, nice work. Is it possible to redirect the -info to a LCD panel? I am speciffically looking for a way to rename LCD panels so I can use the same panel for several different scripts. Of, course finding your script has also given me many more ideas. AT this rate my ship is never getting out of drydock :))
d4rky1989  [autor] 8 nov. 2015 la 0:46 
I've just tested it and it worked for me. Have you ensured to set the ownership of all blocks?
Tearin 7 nov. 2015 la 13:48 
Well... It's not working for me. It is a small ship. I'm using the rotor trick to connect a small ship to a large one. Would that make a difference?
d4rky1989  [autor] 7 nov. 2015 la 0:53 
Yes, as soon as the target block appears in the 'K'-menu it is also accessible for the programmable block.
Tearin 6 nov. 2015 la 17:02 
Dose this work with blocks on the other end of a rotor?
d4rky1989  [autor] 1 sept. 2015 la 8:46 
I'm glad you like the script. But I'm afraid it is currently not possible to do so with the current ingame API.
Taranis 31 aug. 2015 la 14:51 
This is a fantastic script, thank you very much for it.

Could you implement a function to change the sound of the soundblock, or is that not possible with the PB?
d4rky1989  [autor] 19 iun. 2015 la 2:24 
I don't know what the limit of the argument length is. Maybe you'll find/get an answer in the ingame-scriping forum. I guess the the arguments length is quite large.
C# string size limit is 2^31 but I'm really sure it is restiricted by the game API to be somewhat shorter.
RyansPlace 18 iun. 2015 la 21:30 
d4's right. I was thinking MMaster's CENTER cmd in his Auto LCD script. It works on either panels or LCDs, but that is set to a specific text size (0.8).

Is there an argument length limit before data starts being lost? I find myself using arguments like:

-withName "GAW113Light" -value Color=255:0:0 -value "Blink Lenght=100" -value "Blink Interval=1" -g -withName GAW113Gyro -value "Override=True" -g -withName GAWA113BAT -value "Recharge=False" -g -withName GAW113L -line "6= ----------- << FIRING >>" -g -withName GAW113P -line "5= -- GAW STATUS: << Firing >>"

How will these hold up in MP (now that death match is implemented)?
d4rky1989  [autor] 18 iun. 2015 la 14:02 
But one still have no clue if the text is displayed on a wide lcd panel or a normal lcd panel. And using the widest character doesn't really help, too ;)
🍁BuzzedBear🍁 17 iun. 2015 la 14:12 
You could calculate it based on the size of the font and how many letters fit across. Make the calculation based on the constant that the font size will be 1. Any change to the size will negate the centering ability... Use the largest letter as the base size.... yes? no? Should I shut up and leave now? LOL.
d4rky1989  [autor] 17 iun. 2015 la 13:27 
Yes. The "Blink Length" is mispelled in the game API. It is "Blink Lenght". 't' and 'h' are swapped. I've already posted it in the forums in hope it gets fixed soon.

Centering text is not possible. There is no way to get the width of the text and the width of the panel which would be required for centering a text. Using spaces should work, but you would need a lot of them as the font used by the LCDs does not have monospaced characters.
RyansPlace 17 iun. 2015 la 12:51 
d4rky1989 -

Having great success with your script. Question: When I enter this script, the color changes but it doesn't blink. I thought blink Interval 50 would allow that?

-withName "GAW113Light" -value Color=255:255:0 -value "Blink Length=50" -value "Blink Interval=1" -g

Also, would it be possible to add a Center text command (would look like -center "0=This text is center justified")? The script doesn't seem to handle text with a lot of spaces before it causing the line to appear left justified.

thanks again for an awesome product!
🍁BuzzedBear🍁 17 iun. 2015 la 8:16 
You rock bud! I will give this a go! I was dreading having to 'fit' extra lights in, and sensors are freaking ugly! LOL. Someone needs to mod a smaller sensor! Thanks again!
d4rky1989  [autor] 17 iun. 2015 la 8:13 
The only solution that is possible with the current state of this script would be the following:
You have 2 buttons. Button 1 opens the door and button 2 closes it. Both buttons run the programmable block with the following arguments:
Button 1: -withName "My Door" -value Open=1 -g -withName "Room 1" -value Color=255:0:0
Button 2: -withName "My Door" -value Open=0 -g -withName "Room 1" -value Color=0:255:0

Of course you need to adapt the door and light names of the argument lines and the color of the lights
d4rky1989  [autor] 17 iun. 2015 la 8:01 
Hi Buzzed Bear,
conditions are not yet implemented in this script. So this script is not (yet?) able to change the color of a light depending whether a door is open or closed.

I'm actually not sure how to implement conditions as all available options are working on a set of blocks to form a pipe of filters/actions/etc.
But of course I wish to implement somehow a conditional functionality. I just don't have a satisfying idea yet.
🍁BuzzedBear🍁 17 iun. 2015 la 6:46 
This looks like it is an awesome script, but like so many out there, one has to have an understanding of the Keen base I assume, and some background in programming.

I have been looking for a simple script that will allow me to simply change the color of my lights
When a door is opened - will this script make that possible, and at the risk of sounding really stupid... how complicated would it be?

Thanks for the time you put into this and thanks for sharing it with us.
d4rky1989  [autor] 16 iun. 2015 la 5:38 
This should do the trick:
-withName "WPN Status" -value "Blink Interval=1" -value "Blink Length=50" -value Color=255:0:0 -line "4=Firing"

Note, that -withName "WPN Status" will contain all 3 blocks of your example.
When setting the blink interval or the blink length the LCD panels will be skipped without any error as they don't have the given properties. Same counts for updating a line of text where the script will automatically skip the interior light.
RyansPlace 16 iun. 2015 la 5:11 
So in an example:
Interior light named "Light - WPN Status"
LCD named "LCD - Left WPN Status"
LCD named "LCD - Right WPN Status"

I want a timer to trigger the script to change the light color to turn red and blink while displaying "Firing" on line 5 of both LCDs. The argument should look like:

ARGUMENT: -withName "Light - WPN Status" -value Color=255:0:0 -Blink Length=100 -BlinkInterval=1.0 -g -withName "LCD WPN" -line "5=Firing"

Does that look right?
d4rky1989  [autor] 16 iun. 2015 la 4:23 
Hi, thanks.
Q: Can you include examples for the text options?
A: I've added an example for you (example 6).

Q: How do you set the filter chain?
A: A filter chain simply consists of options following each other

Q: Is it possible to have a script copy from one line and paste to another?
A: It is not possible to transfer any kind of data from one block to another
RyansPlace 16 iun. 2015 la 4:03 
Great script. Can you include examples for the text options? How do you set the filter chain?

Also, is it possible to have a script copy from one line and paste to another?