Jump to content
  TPR Home | Parks | Twitter | Facebook | YouTube | Instagram 

Projektion

Members
  • Posts

    503
  • Joined

  • Last visited

Everything posted by Projektion

  1. Multiloopers/megaloopers They can be floorless/standing/sitting/B&M/Arrow/whatever, I love the inversion after inversion layouts these rides have ... aside for the intamin loopers, hate those consecutive rolls, it just feels cheap.
  2. ^I think he meant X2 goes faster than rocknRollercoaster. Also, it's a cartoon, s what does it matter.
  3. Small update on the recreation, here is the current version of the preshow script, I'm just trying to get a working script down for the prelaunch at the moment,I've currently got the cogs working and the (placeholder model of the) scientist/inventor being thrown through the machine. I still have the lighting, monkey and scientist being shot through the pipe on the ceiling to do. I also altered the colour the the track again to give it a touch more blue.
  4. It's sort of possible at the moment if you use a transfer table in a specific way. The downside is that your train would be on it's side instead of upright,
  5. The closest thing to a B&M treatment on an arrow coaster I think you can get is Dragon Khan. In the original plans/models of Portaventura, Dragon Khan was originally going to be an Arrow looper with intertwining loops. These pics were discovered by Willy on PA-Community.
  6. That was just me experimenting ways to try and get it to work that I forgot to clean up. import com.nolimitscoaster.*; public class showTrigger extends Script implements TrackTriggerListener { private static final String scoName1 = "DoorRight"; private static final String scoName2 = "DoorLeft"; private SceneObject sco1; private SceneObject sco2; private float time1 = 0; private float time2 = 0; private float pause1 = 0; private float pause2 = 0; private static final int STATE_IDLE = 0; private static final int STATE_ROTATION = 1; private static final int STATE_BACK_ROTATION = 2; private static final int STATE_PLAYING = 3; private int state; public showTrigger() { } public bool onInit() { sco1 = sim.getSceneObject(scoName1); sco2 = sim.getSceneObject(scoName2); if (sco1 == null) { System.err.println("Object Not Found (sco1)"); return false; } if (sco2 == null) { System.err.println("Object Not Found (sco2)"); return false; } stater = 0; state = STATE_IDLE; return true; } public void onTrainEntering(TrackTrigger trigger, Train train) { state = STATE_ROTATION; switch (state) { case STATE_IDLE: break; case STATE_ROTATION: { System.err.println("(YES)"); } } } public void onTrainLeaving(TrackTrigger trigger, Train train) { } public void onNextFrame(float tick) { switch (state) { case STATE_IDLE: { System.err.println("(NO)"); } break; case STATE_ROTATION: System.err.println("Object Not Found (YESyes)"); time2 += sim.getCurSimulationTickSec()/4; sco1.setRotation(0, time2, 0); sco2.setRotation(0, -time2, 0); if (time2 >= 1.57079633) { pause1 = time2; sco1.setRotation(0, pause1, 0); sco2.setRotation(0, -pause1, 0); time2 = 0; state = STATE_PLAYING; } break; case STATE_BACK_ROTATION: time2 += sim.getCurSimulationTickSec()/4; sco1.setRotation(0, pause2-time2, 0); sco2.setRotation(0, -pause2+time2, 0); if (time2 >= 1.57079633) { sco1.setRotation(0, 0, 0); sco2.setRotation(0, 0, 0); state = STATE_IDLE; } break; case STATE_PLAYING: { time2 += sim.getCurSimulationTickSec(); if (time2 >= 56) { pause2 = pause1; time2 = 0; state = STATE_BACK_ROTATION; } } break; } } } Each of the "System.err.println" from "onTrainEntering" and below are just there to tell me if it's working (NO = state is still idle, YES = state has been changed to rotation, YESYES = STATE_ROTATION is actually playing out).
  7. Sorry about the double post. I think I've found out the reason why the state isn't updating in onNextFrame section of my script. For some reason, even though in the onTrainEntering section I am declaring state as STATE_ROTATION, the onNEXTFRAME section just seems to ignore it. This is the bit of the script I'm using that is giving me the trouble (the (YES) and (NO) system error commands aare just there so I can keep track of what is happening in the script) public void onTrainEntering(TrackTrigger trigger, Train train) { state = STATE_ROTATION; switch (state) { case STATE_IDLE: break; case STATE_ROTATION: { System.err.println("(YES)"); } } } public void onNextFrame(float tick) { switch (state) { case STATE_IDLE: { if (stater == 0){ System.err.println("(NO)"); } if(stater >= 1) { state = STATE_ROTATION; System.err.println("(YESyes)"); } } break; And this was the result: As long as state is STATE_IDLE, it will constantly print (NO), that single (YES) is the switch in "onTrainEntering" saying state has been changed to STATE_ROTATION
  8. Now that I've actually had a chance to ride it, it not bad at all. There are a few jerks in the helixes and there didn't really seem a need for the magnetic trim brakes at the end as the train already seem slow enough. If anything, they seemed to speed the train up more so than slow it down.
  9. You forgot to freeze the coaster before uploading.
  10. I'm afraid it didn't work, it left me with the error as: "error C60: Unknown method: vector3f(int,float,int)". However, it kind of pointed me in the right direction, with some slight adjustments (instead of just using the figure 1.501, I define it as give it the value of time2 when it reaches 1.501, and somehow it worked). case STATE_ROTATION: time2 += sim.getCurSimulationTickSec()/4; sco1.setRotation(0, time2, 0); sco2.setRotation(0, -time2, 0); if (time2 >= 1.501) { test = time2; sco1.setRotation(0, test, 0); sco2.setRotation(0, -test, 0); time2 = 0; state = STATE_PLAYING; } break; Now it's just a case of figuring out why "onNextFrame" stops processing.
  11. Basically any line that contains anything to do with a decimal number (for example, " sco1.setRotation(0, 1.501, 0);"). if I try using pi/2, I get the same error.
  12. I can't tell, on the left side, do those lines cross or are they just really close.
  13. With all the news I've seen of the trouble they've been having trying to start the park, is this thing actually going to get built because, to me, them getting rid of the flags seem to suggest they are abandoning the idea and trying to make everyone forget.
  14. The problem I'm running into is that the x, y and z in "sco.setRotation(x, y, z)" all need to be int values, and 1.501 is a double. I'm also running into another problem, I'm trying to create the preshow for my Furius Baco recreation. Below is the script for to close the doors that separate the preshow room and station that (are supposed to) close when the train runs over a trigger. My problem is that in the "onTrainEntering" section, it will change the state to "STATE_ROTATION" to start closing the doors, but it seems to stop processing the "onNextFrame" section once the trigger is activated. import com.nolimitscoaster.*; import nlvm.math3d.*; import nlvm.lang.Math; public class showTrigger extends Script implements TrackTriggerListener { private static final String scoName1 = "DoorRight"; private static final String scoName2 = "DoorLeft"; private SceneObject sco1; private SceneObject sco2; private float time1 = 0; private float time2 = 0; private static final int STATE_IDLE = 0; private static final int STATE_ROTATION = 1; private static final int STATE_BACK_ROTATION = 2; private static final int STATE_PLAYING = 3; private int state; public bool onInit() { sco1 = sim.getSceneObject(scoName1); sco2 = sim.getSceneObject(scoName2); if (sco1 == null) { System.err.println("Object Not Found (sco1)"); return false; } if (sco2 == null) { System.err.println("Object Not Found (sco2)"); return false; } state = STATE_IDLE; return true; } public void onNextFrame(float tick) { switch (state) { case STATE_IDLE: break; case STATE_ROTATION: time2 += sim.getCurSimulationTickSec()/4; sco1.setRotation(new Vector3f(0, 0+time2, 0)); sco2.setRotation(new Vector3f(0, 0-time2, 0)); if (time2 >= 1.501) { sco1.setRotation(0, 1.501, 0); sco2.setRotation(0, -1.501, 0); state = STATE_PLAYING; } break; case STATE_BACK_ROTATION: time2 += sim.getCurSimulationTickSec()/4; sco1.setRotation(0,1.501-time2, 0); sco2.setRotation(0, -1.501+time2, 0); if (time2 >= 1.501) { sco1.setRotation(0, 0, 0); sco2.setRotation(0, 0, 0); } break; case STATE_PLAYING: { time1 += sim.getCurSimulationTickSec(); if (time1 >= 1) { time2 = 0; state = STATE_BACK_ROTATION; } } break; } } public void onTrainEntering(TrackTrigger trigger, Train train) { state = STATE_ROTATION; } public void onTrainLeaving(TrackTrigger trigger, Train train) { } }
  15. With "setRotation (x, y, z)", how do I set something at 90º given that all the values are radians? If I try to put 1.501 (approximately 90º) on y, I just get this error: "error C60: Unknown method: setRotation(int,double,int)"
  16. With the release of NL2, I've been working on a recreation of Furius Baco at PortAventura. With this recreation I hope to be able to completely remake the ride right down to scripting the pre-launch sequence. Right now, the trackwork is mostly done, but I am still going back and tweaking things as I find that they are off. I've got it somewhat functioning in script mode with a basic version of the pre launch sequence. I plan to do the 3ds next, then the terrain surrounding the area then lastly the supports. The current state of the Station with some minor 3ds work The current state of the bare untextured pre launch show room The launch The dive into the trench (The most inaccurate part of the recreation) Twisty Up and over the launch track The long inline roll The final turn over the (as of right now unmade) lagoon
  17. I love the uploader trying to teach the masses in the comments.
  18. I would disagree. Vortex at Carowinds is one of my bottom three steel coasters. No Intamin is close to being that bad. PS - Intamin all the way as well! Furius Baco, back row, outer seats.
  19. What about Millennium force or i305? I get what your saying about B&M but you can't just leave out two of Intamin's giants! Milennium Force and the Ride Of Steel coaster, sure; not so much I305, I just don't lke how it stays in that single area. With hypers and gigas, I like ones that seem to use large expanses of space since it gives the ride a much grander/larger feel.
  20. Personally I go with B&M because, even though Intamin make much taller rides and such, B&M coaster just feel and look massive (Their hypers in particular), they way the sprawl all over the land and look just huge on the horizon. That side pic of Nitro showing it towering above the treeline is always the first thing that comes into my mind whenever I think of B&M coaster.
  21. Could someone help me with another script? I'm using this one from the "Scripting API - Basics" page in the manual to rotate an object: import com.nolimitscoaster.*; public class Rotating extends Script { private SceneObject sco; private float totalTime; public bool onInit() { int parentID = sim.getParentEntityId(); sco = sim.getSceneObjectForEntityId(parentID); if (sco == null) { System.err.println("Object Not Found"); return false; } return true; } public void onNextFrame(float tick) { totalTime += tick; sco.setRotation(0, totalTime, 0); } } I'm constantly getting a C60 (Unknown Method) error on this line: int parentID = sim.getParentEntityId();
  22. After building my new PC on Friday, this is what I've spent the last weekend creating: I'm fairly happy with how it's turning out at the moment.
  23. That was it. I was using the scripts from the Script Park file with some minor changes for most things aside for the block which was before the final brake run, which I had to customze for timing, I didn't notice the "nextBlock.setState" part of the scripts. Thanks.
  24. I'm having a bit of trouble with scripting on the ride I'm currently working on. When I load up the ride there are 2 trains on the track, 1 in the station and 1 on the end brake run. Once the station is clear, the train on the brake run will advance with no problem, but when the first train arrives at the end of the circuit, the end brake run doesn´t seem to recognize the train is coming (the brakes stay up and the transport wheels don't turn on). Here's the code I'm using for that block private void processBeforeStationBlock() { switch (beforeStationBlock.getState()) { case STATE_BLOCK_FREE: beforeStationBlock.getSection().setBrakesOn(); beforeStationBlock.getSection().setTransportsOff(); break; case STATE_BLOCK_APPROACHING: beforeStationBlock.getSection().setBrakesOff(); beforeStationBlock.getSection().setTransportsStandardFwdOn(); if (beforeStationBlock.getSection().isTrainOnSection()) { beforeStationBlock.setState(STATE_BLOCK_BEFORE_TRIGGER); } break; case STATE_BLOCK_APPROACHING_B: beforeStationBlock.getSection().setBrakesOff(); beforeStationBlock.getSection().setTransportsOff(); if (beforeStationBlock.getSection().isTrainOnSection()) { beforeStationBlock.setState(STATE_BLOCK_BEFORE_TRIGGER_B); } break; case STATE_BLOCK_BEFORE_TRIGGER: beforeStationBlock.getSection().setBrakesTrim(); beforeStationBlock.getSection().setTransportsStandardFwdDependingOnBrake(); if (beforeStationBlock.getSection().isTrainBehindBrakeTrigger()) { beforeStationBlock.setState(STATE_BLOCK_BEHIND_TRIGGER); } break; case STATE_BLOCK_BEFORE_TRIGGER_B: beforeStationBlock.getSection().setBrakesTrim(); beforeStationBlock.getSection().setTransportsStandardBwdDependingOnBrake(); if (beforeStationBlock.getSection().isTrainBehindBrakeTrigger()) { beforeStationBlock.setState(STATE_BLOCK_BEHIND_TRIGGER); } break; case STATE_BLOCK_BEHIND_TRIGGER: if (stationBlock.getState() == STATE_BLOCK_FREE) { if (mode == MANUAL_BLOCK_MODE) { beforeStationBlock.setState(STATE_BLOCK_WAIT_FOR_ADVANCE); } else { stationBlock.setState(STATE_BLOCK_APPROACHING); beforeStationBlock.setState(STATE_BLOCK_LEAVING); } } else { beforeStationBlock.getSection().setBrakesOn(); beforeStationBlock.getSection().setTransportsOff(); { Train train = beforeStationBlock.getSection().getTrainOnSection(); if (train.getSpeed() == 0) { beforeStationBlock.setState(STATE_BLOCK_WAIT_FOR_CLEAR); } } } break; case STATE_BLOCK_WAIT_FOR_ADVANCE: if ((mode != MANUAL_BLOCK_MODE) || (stationBlock.getState() != STATE_BLOCK_FREE)) { beforeStationBlock.setState(STATE_BLOCK_WAIT_FOR_CLEAR); } beforeStationBlock.getSection().setBrakesOn(); beforeStationBlock.getSection().setTransportsOff(); break; case STATE_BLOCK_WAIT_FOR_CLEAR: if (stationBlock.getState() == STATE_BLOCK_FREE) { if (mode == MANUAL_BLOCK_MODE) { beforeStationBlock.setState(STATE_BLOCK_WAIT_FOR_ADVANCE); } else { stationBlock.setState(STATE_BLOCK_APPROACHING); beforeStationBlock.setState(STATE_BLOCK_LEAVING); } } else { beforeStationBlock.getSection().setBrakesOn(); beforeStationBlock.getSection().setTransportsOff(); } break; case STATE_BLOCK_LEAVING: beforeStationBlock.getSection().setBrakesOff(); beforeStationBlock.getSection().setTransportsStandardFwdOn(); if (beforeStationBlock.getNumberOfTrainsOnBlock() == 0) { beforeStationBlock.setState(STATE_BLOCK_FREE); } break; } }
  25. ^ I'm not having any trouble, I'm just not at home at the moment and don't have access to NL2. Probably should have worded it a little better. I realise other rides have high MCBRs, it's just in all the pictures where you can see the MCBR (minus the last one, it seems to look fine it that one) it seems strange seeing an mcbr dominate the skyline just as much as the lift hill.
×
×
  • Create New...

Important Information

Terms of Use https://themeparkreview.com/forum/topic/116-terms-of-service-please-read/