Space Engineers

Space Engineers

(Old) Easy Automation (InGameScript)
95 Comments
the peepeepoopoo man 2 Apr, 2017 @ 2:15am 
its the old one. go onto the new one
King Scorpio 1 Apr, 2017 @ 11:24pm 
Hi! Where can I find a list of commands?
Richard Asgard 27 May, 2016 @ 12:18pm 
@Coren Only now I was able to test out the setup with more instruction, it doesn't work unfortunately, or it does but with so many strange behaviors that it makes it unplayable...

At least we find out that it works with simple commands, maybe sometimes it can be useful.
Coren  [author] 25 May, 2016 @ 10:37pm 
If any one is wondering why you are getting stuck on surfaces as of 5/26/16, it is because Keen Software house's Havok physics engine license has expired. A temporary fix is to set your computers clock back.
Coren  [author] 25 May, 2016 @ 10:34pm 
@Richard Asgard Hmm, upon further experimentation I have found that this trick only works with extremely simple CodeBlocks with only one Statement. This is because the Easy Automation program Also splits it's actions over several frames. So it turns out that this is more of a quirk than an actual bit of functionality. If there is more than one Statement in the CodeBlocks then it will function as I had originally proposed. It's to bad, would have been a nice way to work with running multiple CodeBlocks at once.
Richard Asgard 25 May, 2016 @ 7:40pm 
@Coren I'm glad I can help

I think what's going on with the timer is as you said, the timer runs each slot at a time, but because it's so fast we can't notice. In reality the script is run 3 separate times, there's no multitasking involved, although it looks like there is. I guess it as to do with the game mechanics and not with the script itself.

I made a new platform to replicate and see if I made anything wrong and it worked again so I think you can implement this as a way of multitasking your script.

Keep up the god work, I can't wait for the V2.0 and to use the "else if" statements :-D
Coren  [author] 25 May, 2016 @ 4:40pm 
@Richard Asgard@ O my... That works... I just tried it out myself. Haha, the student has become the teacher. I'm not exactly sure what is going on here but my guess is that the Timer Block itself is multi-threaded and creates a new instance of the programing block to run the program each time the programing block is added in a new slot with a different argument. That or the Timer Block runs each of it's slots on separate frames of the game so that the actions aren’t actually happening all at once, just really quickly in succession.
Thank you Rich, I'll be adding this to the Guide for V2.0.
Richard Asgard 25 May, 2016 @ 4:35am 
@Coren I made a setup with 3 spotlights, and a code block OnOFF for each. Then as I explain below I just made a Button triggreing the timer and it worked, the spotlights toogle on and off all together

Code blocks:
@Spot01{
OnOff Spotlight01
}
@Spot02{
OnOff Spotlight02
}
@Spot03{
OnOff Spotlight03
}

Arguments inside the actions timer,
LCD Display(Spot01)
LCD Display(Spot02)
LCD Display(Spot03)

Later I wil check if theres anything wrong with my coding and let you know.
Coren  [author] 24 May, 2016 @ 6:32pm 
Er, actually what Richard suggests will not work. The programing block can only run one CodeBlock at a time. It does not have multi-threading capability. Only the first action in the timer block will be able to run, the others would be ignored. You would need multiple Easy Automation Programming block/timer Block combos to execute multiple CodeBlocks at the same time. 2 for 2 CodeBlocks at the same time, 3 for 3 CodeBlocks at the same time and so on.
Richard Asgard 24 May, 2016 @ 12:57pm 
@Eldser Yes it's possible, just create another timer block and inside it's "Setup actions" just add your Automation programming block as many times as you want, each with it's own argument for your code block, then assign a button to "Trigger Now" your timer.
Eldser 20 May, 2016 @ 7:25am 
Is there a way to reference a code block without my build going through all the delays in that code block? I guess what I'm really asking is if there is a way to activate multiple code blocks at once.
Stilgar 1 May, 2016 @ 12:12pm 
I find your lack of timer blocks disturbing. -Darth Stilgar, Attempted Walker Engineer

Not really. Wonderful, wonderful job!
Spexter69 28 Apr, 2016 @ 12:55pm 
can u add a statement which will let u set specified amount of rounds the rotor should turn? :) And in additions in which angle he should stop after the last round
SileniusFF 22 Apr, 2016 @ 1:58am 
Renaming functionality and Digi's Control Module combo sounds really cool idea. Dynamic control scheme for vehicles, ships etc. Really, really cool!
GirthQuake 21 Apr, 2016 @ 10:02pm 
I've not checked them yet for data reasons, as well as generally not viewing videos while in game. I'll do that, though some people may generally find written documentation easier than watching tutorial videos (sometimes, myself included).
Coren  [author] 21 Apr, 2016 @ 9:59pm 
@Sassy Rassy@ There are tutorial vids at the top.
GirthQuake 21 Apr, 2016 @ 9:55pm 
I just found this and I'd agree with Leto. I'm not yet too code/script savvy, tending to rely on reading the code and infrencing what it does and how it relates to the rest of the code and other scripts. A documentation would be appreciated.
Leto 15 Apr, 2016 @ 6:01am 
Could you please add an documentation?
the peepeepoopoo man 14 Apr, 2016 @ 9:10am 
is there a way to make it change the lcd color as i am trying to make a ship that can change its color by changing the lcd blocks around its hull
ente_legent 1 Apr, 2016 @ 10:20pm 
hello
it's the thing i've searched for - thank u for that :)

i've saw u are working on a new version.
Would it be possible to control thinks which are connectet via antennas?

Would be cool if u can check for a Grid-Name if they are connected with antennas, connectors or mergeblocks.

Would be also cool then to check if a special named grid is connected to a special connector for example :)

greez
Alabaster 1 Apr, 2016 @ 3:21am 
Does ShowOnHUD not work? Can someone give me an example of a code block with it working?
MeatyDoubleSlap 31 Mar, 2016 @ 12:44pm 
hey man i sent you a friend request i have a bunch of questions to ask you. I am working on somthing that has a bunch of legs and would love some help lol
Ω Spriggan Ω 20 Mar, 2016 @ 9:00pm 
that looks amazing. :D

i wonder though.....larger ships.
would the legs crumple under their own weight. :(

I like the thought of having one massive towering legged castle slowly moving over the land.
Coren  [author] 17 Mar, 2016 @ 9:58pm 
@Karras85 ah yes the script needs an update to work with that new feature. It is a feature that requires special attention as it is an unusually named action (consists of 2 words). I just made it functional in the version I'm working on. Thanks for the heads up.
karras 17 Mar, 2016 @ 7:24pm 
One of the lastest updates, lets you take out physics of any part sitting on rotors or pistions and became part of the same grid, the same as when you reach terminal speed, but you can trigger it on demand, so, instead of making corrections to stop a moving part (like the last vid with the rotor), you just activate the lock, and it will stop and wont shake or anything.
right now im using timer blocks on trigger now to switch on-off different sets of rotors.
Coren  [author] 15 Mar, 2016 @ 9:19am 
@Karras85 What is de-grid? It is likely it needs an update. I am working on a version right now that should be able to grab the possible options from the actual blocks so that updates are unnessesary when something changes in game. It may take a while but I am pluging away at it. :)
karras 14 Mar, 2016 @ 6:50pm 
Hi and thanks for this amazing script, now with the ability to de-grid stuff, its any way to do that now, or the script needs and update??

Im looking forward to make Vtols using thrusters on rotors, and with this i could trigger a de-physic when it reaches the desired location, can replace anything to hold complex mechanisms.
Eisbaer 11 Mar, 2016 @ 11:56pm 
very helpful ! :steamhappy: Thanks man
Lolociraptor 10 Mar, 2016 @ 4:05am 
Many thanks for your help. You are doing amazing work here ;)
Coren  [author] 9 Mar, 2016 @ 5:41pm 
@Lolociraptor groops are not currently supported but will be. if you wish to affect a groop of blocks then they must all shair something in there names. For instance blocks named "Piston 1", "Piston 2", and "Piston 3" will all be affected if your command is to "Pist", but only Piston 1 will be affected if your command is to "Piston 1"
Lolociraptor 9 Mar, 2016 @ 10:24am 
Is it possible to direct commands at groups instead of only single blocks?
SpetS 6 Mar, 2016 @ 7:31pm 
Ok, here again. I just changed the Block Name it was something like @WalkFrontLeg to @WalkFL and it worked... weird o.O
SpetS 6 Mar, 2016 @ 3:59pm 
is a single block not a group, maybe is something Im doing wrong have to check later :/
Coren  [author] 6 Mar, 2016 @ 3:43pm 
@SpetS if hinge01 is an in game group name with multiple hinges in it then it wont work. The script currently does not support groups. that is something i am working on for a future version though. Put hinge01 in the name of all the hinges you want to activate simultaneously and don’t have them in a group. That is how it currently works. It's a pain, I know, but it will be fixed in the next version.
SpetS 6 Mar, 2016 @ 7:51am 
Could it be the names? because I notice that it only moves the last one on the file
SpetS 6 Mar, 2016 @ 5:22am 
I think is a new problem
Im using something like this example

@walk{
Velocity of hinge01 = 10
UpperLimit of hinge01 = 75
Velocity of hinge02 = 0
UpperLimit of hinge02 = 60
Velocity of hinge03 = -10
UpperLimit of hinge03 = -45
}

then in the control bar I add the program block run with this argument

LCDX(@Walk) also tried with LCSX(Walk)
dont know if that matters...

and then they not move, or just one part move, or sometimes I just click spam and they move a little

all blocks owned by me, tested moving them manually and they work ok. They also work ok if I only tell the program to move one part, but it doesnt work with all together
Coren  [author] 5 Mar, 2016 @ 11:11pm 
@SpetS is this a new problem with something that was preaviously working or something that has always been a problem? what is your easy arguments code? please provide details in the Bug Reports discussion.
SpetS 5 Mar, 2016 @ 9:51pm 
Sometimes when Im trying to move a group of rotors/hinges at the same time, the script just does nothing. but if I keep spaming the action/programblock they move one by one instead of all together. What could this be the problem?
Jethril 5 Mar, 2016 @ 1:46pm 
Considering the vanilla programming block to be pure JavaScript, then your work should be the equivalent of jQuery. :P
Thanks a lot !
DerFedus 21 Feb, 2016 @ 3:29pm 
This is truly Awesome!
Thinking over posibilities, if this Script can work as a node between scripts and blocks, maybe we are looking at the next AI in SE.
Cheers Coren! Great Great Job!!!
coolfarmer 18 Feb, 2016 @ 4:12pm 
Your script is so awesome, thanks for your time! :)
With the new update come new properties for piston and rotor (Force weld), if you can add thoses properties in your new version, it will be fantastic! Thanks again!
Coren  [author] 17 Feb, 2016 @ 5:16pm 
@Maniac Hello there, I have been a bit buissy in real life lately (Moving and all that jazz) but I am still working on the script. I think I could add groops, and I may find time to write up an instruction manual but I am not sure when. The next version already has some new write to lcd functionality as well as the capacity to send arguments to other programing blocks which alows it to act as an interface for various scripts. I am not sure when I will be finishing up this next version but rest assured it is not dead. :)
Maniac 17 Feb, 2016 @ 3:45pm 
In order to have something to reference, for checking the correct usage at a glance, I went into the example world, and copy/pasted all the scripts. I also made pastebins of them, so others can use them:

Color Rotation: http://pastebin.com/pG0huVTC
Gravity Crane: http://pastebin.com/zS0T9uTY
Elevator: http://pastebin.com/x07AuEdP
Delay Example: http://pastebin.com/31e2MbjY
Centirover: http://pastebin.com/CKgEU3Qc
Maniac 16 Feb, 2016 @ 2:41pm 
Can we still not use groups with the script? That seems like a very big missing feature. I currently have 45 groups on the ship I am building, because groups are very useful. As for groups dissappearing, that only happens when you connect 2 grids with a merge block, that are already connected via a piston or rotor. (I avoid that, because of it breaking my groups)

This means I would have to go through renaming things that I grouped, like my hangar doors, just to get it to work with this script. While I do name a lot of things (such as lights), I don't name everything, and this just leaves me not wanting to use this script whenever I have a group involved in what I'm trying to use it for. Which is a shame, because this script looks like a great all-in-one automation script, allowing compact, precise functions, without many timer blocks, or additional programming blocks.
Maniac 16 Feb, 2016 @ 2:41pm 
It would be extremely helpful to have a written guide on how to use this script. I am always referencing MMasters guide for Automatic LCD's, so I know exactly how to write something. Even if I didn't have a slow internet, it's still a slow, time consuming, pain in the patootie to have to watch a video to learn one thing. Though it was very nice to have them, I only want to watch them once.

One of my pet peeves is video walkthroughs. I usually just want to find out how to get past the part I'm stuck, not watch someone play the game for half an hour, when a written guide has me going in under 5 minutes.
Zle4R0 10 Feb, 2016 @ 2:18am 
Can I change the sound of a sound block with a command like the image at a lcd and can I change a projection of a projector with a command??
Krypt 19 Jan, 2016 @ 5:00pm 
There can I found commands and syntax reference in text format? Something like Automatic LCDs documentation?
iw_shawn 10 Jan, 2016 @ 10:47am 
I am getting this error when trying to run a code block

"Caught exception during execution of script:Length cannot be less than zero
Parameter name: length"

This is the code block I'm trying to run

@Test{
OnOff TestLight
}

I'm not sure what I've screwed up lol
Coren  [author] 10 Jan, 2016 @ 10:10am 
@Sephiroth Try "Current angle" instead of "Current angles"
Sephiroth 10 Jan, 2016 @ 12:31am 
Hallo, vielleicht kann mir einer helfen.
Ich wollte etwas mit den Rotor machen doch selbst in der Test Welt gehen die Skripte nicht richtig, es kommt immer der Fehler (Current angles dose not exist in this context)