ThatFlyerGuy1 posted on July 15th, 2025
Ugh. We're back to spam. Love that.
Yeah, i hope not. I reported it allready

ThatFlyerGuy1 posted on July 15th, 2025
Ugh. We're back to spam. Love that.
Yeah, i hope not. I reported it allready
Ugh. We're back to spam. Love that.
Welcome to The Official Scripting Ask Thread, your go-to space for all things writing and content creation. Whether you're working on a screenplay, book, article, or marketing script, our community is here to support you. Get expert advice, share ideas, or request help from professional writers. If you’re short on time or need polished content fast, our ghostwriting services are available to turn your ideas into engaging, well-written scripts. Join the discussion, level up your writing, and explore how ghostwriting services can bring your vision to life with precision and creativity.
I think they are in this spreadsheet: https://docs.google.com/spreadsheets/d/1tU__tnY-bU29ONu3tFkAdzeIT8zl99TJY6Q_dW4jDZ0/edit?gid=0#gid=0
Has anyone modeled any of Vekomas new gen Invert trains? If so I'd like to use them in a project.
Quick update on Roundup 600: To make things easier on the judges and avoid a super late night, entry cutoff is moving back 12 hours to Noon PT on Sunday, August 3rd.
-Ride_Op
Well spotted!
That's an easy-to-fix reset bug.
Essentially, it's not that it's disabled throughout the entire block generator or that there's no way to reset it. It's that the block exit panel was not resetting the availability status of those fields when loading a new block exit. I've already added the appropriate resets and it should be working next version.
Meanwhile, it's enough with forcing the panel to recheck the availability status again by changing the other option to "Disabled". That should enable both options again.
Thanks for telling me!
Can anyone provide more detailed instructions on how to get these trains to appear correctly? The readme explanation is not very thorough. Is this done in Coaster Properties>Trains? If so, none of the file extensions are supported in order to select them. Anyone been able to get it to work?
Edit: So I guess this is done in scripts... any good tutorials?
Edit Again: Figured it out. It's done in scenery LOL. Here's a good tutorial for anyone who's curious:
Something I'm not sure I've mentioned before, but wanted to make sure so it might be integrated into the next update. When selecting any multi-move option, it removes the swing launch ability, vice versa. This makes sense for why one would disable the other; however, this disables it throughout the entire block generator with no way that I see to reset it.
U need Notepad ++ to modify your script.
When u save the script make sure the extension is Java !!
Ì'm trying to do my first ever scripted coaster so this question is very basic, but i cant manage to get a file to edit, im using a no limits script generator but i cant find a way to add a file to be able to script in both no limits and in the script generator, how can i create a file so that i can start scripting?
She's got a track that twists for me,
Steel rails that shine as memories.
Her elements are as bright as the dispatch light,
Yeah, that sweet ride of mine
Only 4 weeks until Roundup 600!
You create it, you share it, we feature it!
-Ride_Op
NoLimits Explorers posted on June 30th, 2025
Hello, I am not sure about being able to choose a switch track segment & export it to CSV. I found with a quick try-out that any track between two switch tracks is not exported. Though I did not check thoroughly...
You could use a script to measure e.g. a bogie of a train of your coaster and then just let the coaster run for a lap. Write the measured data to the messages window, and finally copy/paste it into a CSV file yourself.
Save the script below as "WriteTrackCoords.nlvm", and attach it to your coaster. It writes something similar to the messages window as you would get when exporting a CSV.
You can adjust this parameter in the script to adjust the distance between points as you'd do for CSV export:private float distanceBetweenPoints = 0.5f; // Adjust this number to your liking.;Hope this helps!
Perhaps someone else knows more sophisticated way without having to use a script...?The script:
import com.nolimitscoaster.*; import nlvm.lang.*; import nlvm.math3d.*; public class WriteTrackCoords extends Script { private Coaster coaster; private Train train; private float distanceBetweenPoints = 0.5f; // Adjust this number to your liking. public bool onInit() { coaster = sim.getCoasterForEntityId(getParentEntityId()); if (coaster == null) { System.err.println("Script not attached to a coaster. Exiting."); return false; } train = coaster.getTrainAt(0); if (train == null) { System.err.println("Coaster [" + coaster.getName() + "] has no trains. Exiting."); return false; } measureBogie(); writeHeadline(); writeMeasurement(); storedPosOut = posOut.dup(); return true; } public void onNextFrame(float tick) { measureBogie(); if (posOut.distance(storedPosOut) >= Math.abs(distanceBetweenPoints)) { writeMeasurement(); storedPosOut = posOut.dup(); } } private Vector3f frontOut = new Vector3f(); private Vector3f topOut = new Vector3f(); private Vector3f rightOut = new Vector3f(); private Vector3f posOut = new Vector3f(); private Vector3f storedPosOut = new Vector3f(); private void measureBogie() { train.getBogieOrientationAndPosition(0, frontOut, topOut, rightOut, posOut); } private void writeHeadline() { StringBuilder headline = new StringBuilder(); headline.append("No.\t"); headline.append("PosX\t"); headline.append("PosY\t"); headline.append("PosZ\t"); headline.append("FrontX\t"); headline.append("FrontY\t"); headline.append("FrontZ\t"); headline.append("RightX\t"); headline.append("RightY\t"); headline.append("RightZ\t"); headline.append("UpX\t"); headline.append("UpY\t"); headline.append("UpZ"); System.out.println(headline); } private int num = 1; private void writeMeasurement() { StringBuilder line = new StringBuilder(); line.append(num + "\t"); line.append(posOut.x + "\t"); line.append(posOut.y + "\t"); line.append(posOut.z + "\t"); line.append(frontOut.x + "\t"); line.append(frontOut.y + "\t"); line.append(frontOut.z + "\t"); line.append(topOut.x + "\t"); line.append(topOut.y + "\t"); line.append(topOut.z + "\t"); line.append(rightOut.x + "\t"); line.append(rightOut.y + "\t"); line.append(rightOut.z); System.out.println(line); num ++; } }The written result (example):
No. PosX PosY PosZ FrontX FrontY FrontZ RightX RightY RightZ UpX UpY UpZ
1 64.26366 2.5 -5.182514E-8 1.0 3.15369E-10 -1.892211E-9 -3.15369E-10 1.0 2.17077E-9 1.892211E-9 -2.17077E-9 1.0
2 64.7713 2.5 -5.278569E-8 1.0 3.15369E-10 -1.892211E-9 -3.15369E-10 1.0 2.299317E-9 1.892211E-9 -2.299317E-9 1.0
3 65.28258 2.5 -5.375313E-8 1.0 3.15369E-10 -1.892211E-9 -3.15369E-10 1.0 2.432075E-9 1.892211E-9 -2.432075E-9 1.0
4 65.79778 2.5 -5.4728E-8 1.0 3.15369E-10 -1.892211E-9 -3.15369E-10 1.0 2.569163E-9 1.892211E-9 -2.569163E-9 1.0
5 66.30961 2.5 -5.56965E-8 1.0 3.15369E-10 -1.892211E-9 -3.15369E-10 1.0 2.708614E-9 1.892211E-9 -2.708614E-9 1.0
This is for something else, but do you think it's possible to modify the script so that it saves a CSV of the coaster, but with all the roll points flipped 180 degrees?
Craig posted on July 8th, 2025
Roller coaster control panels
As an scene object for your game ? or external control panel ?
Not very specific your question .....
...I'm not 100% sure you know how a forum works.
Roller coaster control panels
Yes, that's a bug I'm aware of and have already fixed for the next version. It's a stupid bug, tbh, but I somehow missed it last time.
By setting it to normally open, as you're trying to do, you'd be able to do what you want. I'm also planning, although most likely not for the next version, which I want to release as soon as I can fix the issues with Multi-Move and Linked Sections, to allow to select a brake behaviour independently for each brake.
Meanwhile, if you want to manually fix the error, set the brake behaviour to what you want and then edit your script and substitute BRAKE_BEHAV_NORMALLY_OPEN with BRAKE_BEHAV_NORM_OPEN and the error should disappear.
Do you know if there is a way to keep the brakes closed when a train is on the block before the trigger, as well as when it's free? I have a final brake that also acts as a final trim, so when the Train is going through the layout, the brakes are open since it's on the block. When it's Idle or Free, the brakes are closed like I want them. I'd like it so they stay closed until the train hits the trigger on the block, then it can lower when it's at the target speed. Also, when I change the brake behavior, it gives me an error when the ride starts: Unknown symbol 'BRAKE_BEHAV_NORMALLY_OPEN'. I'm on V1.2.1 of the script Generator, and I generated the first version of the script on this version.