Coaster Scripting Cube
Hi! Ive got one question- I've got the transfer table to switch the track, but now the train just want to stay on the breaks, after the transfer table went to track 2, what should I do?
Hi. Have you configured the whole coaster (also the block of the transfer table) with the Coaster scripting cube? If the train doesn't move, the issue must be related to that cube, the blue one. Or else, did you turn the "Enable transport device" in the transfer table's "Brake section settings" on?
BackRowRider posted on August 9th, 2021
Hi. Have you configured the whole coaster (also the block of the transfer table) with the Coaster scripting cube? If the train doesn't move, the issue must be related to that cube, the blue one. Or else, did you turn the "Enable transport device" in the transfer table's "Brake section settings" on?
Yeah, I have the transports enabled. Does the coaster need to be a complete circuit for the scripts to work? I'm working on the coaster as I script it, and It's not giving me any error notices, so I think I have everything plugged in correctly?
That's it, yes. It doesn't need to be a complete circuit, but there should be at least one block following the transfer table, and it should also be configured by the Coaster scripting cube.
BackRowRider posted on August 10th, 2021
That's it, yes. It doesn't need to be a complete circuit, but there should be at least one block following the transfer table, and it should also be configured by the Coaster scripting cube.
It's still not working. When I try to configure something else, it wants to not slide over and instead wants to send the train backwards where it came from. I don't know what I'm doing wrong, and I feel so stupid.
Khrystan posted on August 10th, 2021
It's still not working. When I try to configure something else, it wants to not slide over and instead wants to send the train backwards where it came from. I don't know what I'm doing wrong, and I feel so stupid.
I also get a "tip" to make sure I have the train come to a complete stop, although I have the box ticked already. What am I doing wrong?
It's not your fault, these objects might be a bit hard to use at first. Besides, it could still be the script what is wrong. Maybe you are trying to use it in a specific situation I hadn't thought of when doing the code. May I have the park file or a screenshot of the top view of the wireframe coaster? Or could you at least make a detailed technical description of the coaster, i.e. what blocks are there, in what order, how is the transfer table supposed to work in that case...? That might help me spot possible errors. As far as I know right now, the issue is likely to be in the Coaster scripting cube's last parameter, the "Adjacent transfer table". Regarding the tip you keep getting, I admittedly have no clue what it could be due to. I've been revising the script now, and I don't understand why you get that error. Are you sure it is the transfer table's block that has the complete stop on? Do you have more than one transfer table? Is it possible that you selected a switch track instead of a transfer table in the Transfer table controller? I know these questions are a bit dumb, but I cannot think of anything else regarding that tip message. Also, you can try adding some wait time to the block, the parameter right under the "Complete stop", just one second or so. If you say that the train exits backwards again and the table doesn't move, it might be fixed by that (not likely, though).
Sorry for my absence, how can I send you the park file? Does the coaster type matter as well?
You can send it here: daniel.avenger.stark@gmail.com
No, the coaster style shouldn't matter at all. By the way, I'd say you kinda broke a NLC rule the last time (double posting). Not that I care at all, but you might be told off in the future for that. It's said it's better to edit the previous post rather than posting two in a row.
ROLLER COASTER COORDINATOR
Ever used custom trains and hated that the frozen brakes, wheels and (worst of all!) special tracks didn´t move when the invisible, wireframe ones did? If so, your problem is solved now!
The Roller coaster coordinator is an auxiliar object of the Coaster scripting cube collection that coordinates both coasters so that the frozen one behaves like the wireframe one. It doesn’t need the basic Coaster scripting cube to be applied, but if it is, the “Smart mode” uses its set up data to make the configuration even easier. However, this option only works if special tracks and blocks have the same name in both coasters.
I’ve used the object myself at this park (a new gen Vekoma tilt coaster), in case you want to have a look. (Steam link )
If you have a dueling coaster and the Coaster scripting cube fails because of multiple coasters, you could configure just one and make the other imitate the first one with the Roller coaster coordinator.
You may need to overwrite some files when unzipping the file.
Again, if you have any trouble with it, don’t hesitate to ask.
AUTOMATIC TRAIN STORER
Do you enjoy taking trains in and out of storages to gain realism, see how they run together and how that affects capacity, but you never do it because it’s too tedious to press all those buttons? If so, download immediately my new scripting object:
No parameters-filling required! Just place only one of these objects in the park, and it’s done! The coaster must be configured with the Coaster scripting cube. Then, in play mode, press Ctrl. + S (“S” from storage) to alter the number of storaged trains, and the scripts will take care of everything else! Trains at lower indexes will be kept on the circuit as much as possible, whereas the ones at higher indexes will be taken to the storages sooner.
Switch tracks are not supported yet; just transfer tables.
I just tried your train storer tool. When I put it on the map, there's a file not found message as the software is looking for ScriptCube3DModel.dae.
Did you also download the Coaster scripting cube? If so, is it in the same folder as the Automatic train storer, the one called "CoasterScriptingCube" that appears after unzipping?
BackRowRider posted on September 14th, 2021
Did you also download the Coaster scripting cube? If so, is it in the same folder as the Automatic train storer, the one called "CoasterScriptingCube" that appears after unzipping?
Well I did but there's no object called ScriptCube3DModel.dae in this folder.
If I'm not mistaken, when you download the Coaster scripting cube, one of the files in the folder should be that 3D model. The Automatic train storer includes none because it uses the very same file, so, if all the Coaster scripting cube files and the Automatic train storer ones are in a single folder called "CoasterScriptingCube", it should work properly. If you add one Coaster scripting cube object, do you also get that error?
BackRowRider posted on September 14th, 2021
If I'm not mistaken, when you download the Coaster scripting cube, one of the files in the folder should be that 3D model. The Automatic train storer includes none because it uses the very same file, so, if all the Coaster scripting cube files and the Automatic train storer ones are in a single folder called "CoasterScriptingCube", it should work properly. If you add one Coaster scripting cube object, do you also get that error?
Here is what I have in my "CoasterScriptingCube" folder:

I'm sorry, I must have expressed myself horribly before. What I meant is that you also have to download the tool called "Coaster scripting cube", which is at the very first link at the top of this thread. It's called like the folder you have, but it's not the same thing. It is the key tool of the collection, that's why the folder of all the tools on this thread has its name.
Therefore, you have to download the file at that first link and unzipp it where the storer tool is. Another folder called "CoasterScriptingCube" should appear, containing that tool's own files as well as the 3D model, and, as both folders have the same name, then their files should be automatically combined in a single folder (all you'll see is that the original folder has more files and no new folder actually appears).
BackRowRider posted on September 16th, 2021
I'm sorry, I must have expressed myself horribly before. What I meant is that you also have to download the tool called "Coaster scripting cube", which is at the very first link at the top of this thread. It's called like the folder you have, but it's not the same thing. It is the key tool of the collection, that's why the folder of all the tools on this thread has its name.
Therefore, you have to download the file at that first link and unzipp it where the storer tool is. Another folder called "CoasterScriptingCube" should appear, containing that tool's own files as well as the 3D model, and, as both folders have the same name, then their files should be automatically combined in a single folder (all you'll see is that the original folder has more files and no new folder actually appears).
Thanks alot for the help!
No problem. It's my tool, so it's also my responsibility that it works. Glad that I could help.

Good morning everybody. I’m new here so, first of all, please let me know if I do something I shouldn’t or if I accidentally break the rules (though I did read them).
You may skip those tedious paragraphs if you wish (I’d rather you read them) and directly download the two scripting objects and the demo park. You’ll probably know how to use them without the instructions, I made them as intuitive as I could. No scripting skills are needed. If there’s anything you don’t understand or that doesn’t work as expected, try searching for the answer in these paragraphs or simply asking down here.
PLEASE, READ UP TO HERE
Coaster scripting cube
Transfer table controller
Demo park
Steam link
INTRO: This Coaster scripting cube is a project I’ve been working on for a while, mainly aimed at my own learning and practicing some scripting in NoLimits. As I don’t have much experience yet, the code is probably quite improvable, and I might upload better versions in the future, but it does works well. You may have guessed (the name describes itself) that this object contains a script for the coasters to work in scripted operation mode. For me, that’s pretty useful, as it enables me to have the general script of the coaster, and to easily adapt specific blocks behavior through some quick scripting without having to program the whole ride. Before anyone starts complaining, I’m aware that there is some (quite) similar and better stuff out there, but I like using resources of my own (personal pride), so, why not share it? Besides, I’m also uploading an auxiliar cube, the Transfer table controller, and I plan on doing others throughout the summer which might prove pretty more useful than the base object. Anyway, let’s get to the point.
INSTRUCTIONS: To use it, you have to download the files, put them in your park folder and unzip them. If done well, a single folder called "CoasterScriptingCube" should appear then. Do not modify it. Now, in the editor, just select the object from the park base. For the Transfer table controller to work, you must first script the coaster with the Coaster scripting cube (don’t forget to put the coaster in scripted operation mode, in the coaster properties). Just fill the parameters asked in the Scene Object Instance Properties. When done, the coaster should operate almost exactly as if it were in normal operation mode, including functional manual mode for blocks, transfer tables and storages.
There’s a minor difference, though: trains will always be centered in the block before stopping (except lifts), ignoring the brake triggers. Furthermore, my script’s logic goes one step further than the in-game’s (I’d say it’s an improvement), so, on auto mode, trains will always exit the block forwards (like normally), unless there is no following block (just a void); then they’ll exit backwards (this is new). This logic can be reversed by turning the “Exit the block bwd., if possible” parameter on. It can prove useful in several cases, though it will be ignored if the section is a station or a lift, or if no previous block was configured. Finally, there’s another parameter, admittedly a bit weird, that is foremost for the transfer tables to properly work, and that’s the “Adjacent transfer table”. If a block is followed or follows a transfer table (or a tilt track), you have to write the name of that transfer table (of the special track, NOT of the block!); the position the block in question has on it, i.e., the switch direction the transfer track needs to have to be connected with the block in question, starting at 1 (not 0); and finally state whether the transfer table is next or previous to this block, by writing “next” or “prev”. Use dots to separate the three pieces of information: <TransferTable name>.<Pos. (number)>.<next/prev>. I know this may be a bit confusing, but I found it clearer than making three different parameters for just a single goal (properly identifying the transfer table). Take into account that there must be always at least two blocks between two different transfer tables (as you can’t write simultaneously .next and .prev) and a transfer table mustn’t follow nor be followed by another transfer table.
Now, regarding the Transfer table controller, you mustn’t select a switch track, but a transfer table (or a tilt track). It is adviseable to turn the "Complete Stop" in the “Brake Section Settings” on, and it’d be better to give it some waiting time, no matter how short, to make sure the train completely stops. That’s because the wait-time before switching starts when the train totally halts. If you select a track trigger, the transfer table will return to the specified initial position when the train leaves the trigger, or, once leaving the trigger, after a specific additional time, if also the “Return to initial position after a certain time” is a positive number. If no trigger is selected, that return wait-time will start when the train leaves the transfer table.
ERRORS: The script will print the errors that might occur with a quick explanation. If you don’t understand some of them, ask below. If it starts by “Error: …”, then it’s something serious that must be fixed. If it’s “Note: …”, then it’s just a warning or advice, but it will work acceptably well anyway.
DEMO PARK: I’ve uploaded a demo park (see link above) in which you may better understand how to fill all the parameters and properly use both cubes. It is NOT meant to be a decent roller coaster. I am aware that the ride is quite absurd, the trackwork is everything but smooth, the G’s are quite improvable, the supports are horrible and it doesn’t even pass clearance. It is just meant to be an example of the usage of the cubes. There are two normal and interesting easy uses for the Transfer table controller, as well as a very weird one which goes beyond the basic logic of the script and takes advantage of the way it works. It doesn’t seem really useful in the example, but I’m sure that doing similar things and combining several cubes can lead to surprising results.
Thank you for reading through all this, if you have. As said before, I’ll upload other cubes this summer, which will probably be more original and useful. If you find anything improvable or wrong in these two, please let me know. Ask as well if you don’t understand something or if unexpected errors are returned; I’ll be glad to help and to fix my creations if any mistake were to be found. I hope you like them.
SUMMARY
I made these objects for me and for practice and I decided to share them. Extract the files in your park folder. You have to script the coaster placing one *Coaster scripting cube *per block and filling the parameters in the properties. There must be at least two blocks between consecutive transfer tables. Works both on auto and manual mode. Trains will always be centered on the blocks and exit them forwards as long as there is a following block (opposite can be stated in the parameters).
The Transfer table controller is an auxiliar object to be added afterwards, it automatically moves transfer tables. More auxiliar cubes will be upload. See detailed instructions in the objects and hover over the parameters for explanations. You may download the demo park to see examples of the usage of these objects. Please let know if anything is wrong or doesn’t work; I’ll be glad to help.