Not signed in (Sign In)

Discussion Tag Cloud

Categories

Vanilla 1.1.9 is a product of Lussumo. More Information: Documentation, Community Support.

    • CommentAuthorsprog
    • CommentTimeJan 30th 2014
     
    Transfer the installer you downloaded originally, and run it on your new PC.

    You can't just transfer the NL2 shortcut on your desktop, because it's referencing a location that does not exist on the new PC. Neither can you move the NL2 files in C:/ProgramFiles/ for that matter, as they won't take the relevant registry data with them.
  1.  

    Qustion: When should I expect no limits to crash when I start to make mega textures? The problem is, I have made one single polygon object within c4d, the textures on this need to be baked in order to work within no limits. But since it is rather much massive I need a texture of at least 16348 by 16348, otherwise it is just one blur. Probably this is asking for a crash, if so does any c4d user know a work around?

  2.  
    What's up guys?! Ive been checking this forum and a few others periodically for useful tips and tricks and this is my first post here. Ive played NL1 for years and wow, i can't believe NL2 is finally here!!! I'll definitely be making my purchase soon, and although it should run on my current computer im in the middle of building a brand new pc that will hopefully keep the frame rate topped out all the time. I have a couple questions on the specs though, why does the standard version have such a small video resolution? Are you able to up it past that 720x586? The extra features in the pro version would keep my attention for five minutes or so but i dont want to spend the extra money just to get the resolution size if i dont have to.

    Thanks in advance!
  3.  
    Welcome! If you aren't going to use the additional features of the pro version, then there is no point spending the extra money, if you find yourself needing them later you can always upgrade. As for the video resolution, most viewers will be fine with 720p, and if you are making an epic coaster there are members on here with amazing video making talents that are willing to help (they also own the Pro version).
    • CommentAuthornjr140
    • CommentTimeJan 31st 2014
     
    I'm surprised how much I use the features of the pro version. I love taking the poster screenshots. They're so much better than the normal screenshots. The higher video option is really nice too. The custom friction I thought I'd never use but I actually do. It's awesome.
    •  
      CommentAuthorL Bosch
    • CommentTimeJan 31st 2014 edited
     
    ^concerning the poster screenshot quality, I've been wondering about it for some time now. Zooming in always reveals a quite muddy appearance.

    • CommentAuthornjr140
    • CommentTimeJan 31st 2014
     
    The default settings were set at about half the resolution. I changed them to the max and its much better. They take a lot longer to take, but the quality is much improved.
  4.  
    Thanks for the quick response architect! Honestly, I am ok with spending the extra money as i know I'll get more than enough use out of the program haha. I was just alightly worried about how it would look running 720x586 on my 1920x1080 screen.
    •  
      CommentAuthorKingRCT3
    • CommentTimeJan 31st 2014
     
    ^ The program will run on 1920x1080 on both pro or standard versions. The 720x586 is for video export only.
  5.  
    ^Perfect, thanks! Thats the stat i've spent almost 2 weeks trying to find haha
  6.  
    Posted By: The_ArchitectAs for the video resolution, most viewers will be fine with 720p, and if you are making an epic coaster there are members on here with amazing video making talents that are willing to help (they also own the Pro version).

    720p is actually 1280x720 (720 height), not 720x586. Just to clarify.

    But yes, it's only the video export that the standard version cuts down on, not your actual in-game resolution. If you don't upload to YouTube, the $45.99 version will be perfectly fine.
  7.  
    Hi guys,

    I'm having an issue with scripting on board sound and triggers. I've followed the instructions in the Let's Script thread but I get this error message: error C59: Method looks like constructor but has wrong name: onBoardSoundTrigger

    I don't know what the problem is, and I don't understand what people are saying after it to correct it. Anybody any ideas?
    •  
      CommentAuthorAussieMine
    • CommentTimeFeb 1st 2014
     
    Hey Devs, could I ask that in a future update, you can select all of the Storage Tracks in the Transfer Table, and set all the settings to be what you want and have it all set up at once, instead of individually doing all of the colours, and buildings at a time?
    •  
      CommentAuthorAussieMine
    • CommentTimeFeb 2nd 2014
     
    Sorry to double post, but I found a glitch/bug with Tunnels, Apparently if a tunnel is coming out of an inversion, and there is a roll node near it, It'll glitch out, and do this.

    <a href="http://s843.photobucket.com/user/AussieMine/media/Untitled_zpsb9078a25.png.html" target="_blank"><img src="http://i843.photobucket.com/albums/zz356/AussieMine/Untitled_zpsb9078a25.png" border="0" alt=" photo Untitled_zpsb9078a25.png"/></a>

    I think it's because it goes from 0 to like -131.5 (rounded) degrees and it freaks out
  8.  
    ^ Yeah I've had that, may be worth just lowering the tunnel in your case
    •  
      CommentAuthorcb0688
    • CommentTimeFeb 3rd 2014 edited
     
    Is it possible to make the rail connectors larger on Mack coasters?

    screenshot-2014-02-03-16-30-34
    • CommentAuthorC-A_99
    • CommentTimeFeb 3rd 2014 edited
     
    Is there an invisible ground option like in NL1? The only workaround I know of is to set the terrain to maximum height and work under it, but I'm not sure how effective this is in the long run. It doesn't look like a alpha-masking/blending texture would work either.
    • CommentAuthormacchiato
    • CommentTimeFeb 4th 2014
     
    Is there a way to apply a different texture to the standard station's sides? I don't like the brick wall too much.
    •  
      CommentAuthorProjektion
    • CommentTimeFeb 4th 2014 edited
     
    I'm running into a problem scripting the preshow for my Furius Baco recreation. Below is the script for doors that separate the preshow room and station that (are supposed to) close when the train runs over a trigger. My first 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)
    {
    }

    }
    •  
      CommentAuthorKWTbolt
    • CommentTimeFeb 6th 2014
     
    I've seen multiple screenshots where people are testing clearance on their coasters using an orange wireframe attached to the back of the coaster trains. I would love to do this, but I have no idea how it's being done. Is this an in game option? If so, I can't find it anywhere. If not, is it a custom scenery object that has been scripted onto the train?

    Thanks in advance for any help!
    • CommentAuthorMilBee
    • CommentTimeFeb 6th 2014
     
    ^Yeah, just go to the scenery tab and click "clearance envelope"
    •  
      CommentAuthorride_op
    • CommentTimeFeb 6th 2014
     
    Drop the Clearance Envelope object near each train you would like it to appear on, one per train. The script does the rest including choosing the correct envelope for your coaster type. The envelope will attach to the nearest train.

    -Ride_Op
    •  
      CommentAuthorKWTbolt
    • CommentTimeFeb 6th 2014
     
    Awesome, Thanks!
  9.  
    This isn't a bug but is something that is going to annoy me a lot....why do the PTC cars steer???? They should be fixed.. the real things are loose in the rails and basically side around turns. As far as I know they never had steering in NL1.

    Edit: Nope, just checked, they behave as they should in NL1. The axle is one piece and articulates from the middle only, the individual axles do not articulate or steer.

    And this one is kind of a bug. In NL1, holding page up/down to change segment height gave us a live preview of it moving so it was easy to accurately and precisely get things where they should be. NL2 seems to freeze after the first step and not show us where it ended up until we let off on the key.
    •  
      CommentAuthorride_op
    • CommentTimeFeb 6th 2014
     
    Ah good find. The PTC train bogies should not steer. That is a bug and we'll look into it.

    -Ride_Op
  10.  
    They also pitch with the track which they should not, but they've done that since NL1 so I'll let it slide ;)

    Also my apologies, I meant for this post to be in post release, not tips and tricks.
    • CommentAuthorsprog
    • CommentTimeFeb 6th 2014
     
    Posted By: boulderdashcciAnd this one is kind of a bug. In NL1, holding page up/down to change segment height gave us a live preview of it moving so it was easy to accurately and precisely get things where they should be. NL2 seems to freeze after the first step and not show us where it ended up until we let off on the key.

    I've found that it tends to freeze and "jump" location when you've got a spine comb visible, such as speed or G-force. Disable that, and it moves smoothly. I guess it jumps because it can't process altering the spine and moving the node quickly enough.
  11.  
    Ah, that works, thanks!
    •  
      CommentAuthorJAMMYD778
    • CommentTimeFeb 6th 2014
     
    Is there any way for a 2D Animation material texture to give off light as a light source? As an example, The Smiler's Marmaliser screen at night. When I set the omni light's parent element the light is just at 0,0,0. Many Thanks
    • CommentAuthorPePpO
    • CommentTimeFeb 6th 2014
     
    Is there a possibility to stop the popup "Multiple trains on a block detected"?
    • CommentAuthorDojynn
    • CommentTimeFeb 6th 2014
     
    ^ remove a train or add a new block, would be my guess. You can possibly fiddle with station timings to time them correctly.
    • CommentAuthorPePpO
    • CommentTimeFeb 7th 2014 edited
     
    But what if I want to have a station which leaves and enters at the same time? With scripting of course.

    Edit: who has done the maverik script?
  12.  
    Does anybody have a good idea of how many shadowcasting lights I should have in one area?
    •  
      CommentAuthorProjektion
    • CommentTimeFeb 8th 2014
     

    This has been racking my brain for the last week, why doesn't this script work?

    [...]
    
    public void onTrainEntering(TrackTrigger trigger, Train train) 
    
    {
    state = STATE_ROTATION;
    
        switch (state)
        {
            case STATE_IDLE:
            break;
            case STATE_ROTATION:
            {
                System.err.println("YES");
            }
            break;
        }
    
    }
    
    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("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;
    
    [...]    
    

    This script produces this:

    alt text

    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, but the switch in "onNextFrame" just seems to ignore it.

    •  
      CommentAuthordjd711
    • CommentTimeFeb 8th 2014
     
    Forgive me if there is a solution for this that I have not found but I am currently working on some 3D fences and to maintain framerates I want the mesh section of the fence to use a 2d double sided alpha as shown below:



    However the same problem persists from NL1 where it doesn't like double sided faces. Flipping the faces isn't really an option for me here due to the needed outcome. Any ideas on how to solve this?

    • CommentAuthorTOGO Fan
    • CommentTimeFeb 8th 2014
     
    Can you make the fences out of wooden supports and then use a tiny custom pipe beam to make the mesh? Then copy and paste?
    •  
      CommentAuthordjd711
    • CommentTimeFeb 8th 2014
     
    There will be a lot of fencing in this project and very much of it will be on varying levels, I already have a method for creating fences quickly and easily in 3D it's just this face problem. I could get around it by having every element of the fence fully created in 3D as shown here:



    But I take it this would be far too inefficient and be way too many polys?
  13.  
    Just use a mesh texture?
    •  
      CommentAuthordjd711
    • CommentTimeFeb 8th 2014
     
    Hmmm I guess I could use just an individual alpha yeah.... It would mean a little more work however to manually add each alpha unless I can implement it as an instance.
    • CommentAuthorole
    • CommentTimeFeb 8th 2014
     
    @Projektion: Could you please post the full script?
    •  
      CommentAuthorProjektion
    • CommentTimeFeb 8th 2014
     

    Here you go:

    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 = STATE_IDLE;
    
    
    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;
    
        }
    
    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");
            }
            break;
        }
    
    }
    
    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("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;
            }
    }   
    
    }
    
    • CommentAuthorole
    • CommentTimeFeb 8th 2014
     
    From what I see, neither onTrainEntering nor onTrainLeaving should be called. Is it possible that the "YES" is coming from a different script? The reason why onTrainEntering should never be called is because the script is not assigning itself to any trigger.
    • CommentAuthorsbdb2099
    • CommentTimeFeb 8th 2014
     
    Hi,

    since this is probably not a bug but my own stupidity i post it here ;).

     photo frage_zpsd4ab828f.png
    I don´t know why the track is like this. Every roll point is at 0° and here is what i did: I imported the track from the current fvd++ version and set up the station and lift sections. For testing the track after changes in fvd++ i deleted everything from the latest vertic of the straight part of the lift(at the same position as the last roll point in the pic).
    Now...the strange thing is that it worked a few times meaning that i could re-import everything after the straight section. I only had to move the type separator for the lift and freeze the track.

    Can someone enlighten me?

    Daniel :)
    •  
      CommentAuthorProjektion
    • CommentTimeFeb 8th 2014
     

    I probably should have included this, my script is based/a variation on geforefan's static sound script, because of that, there is a separate file that searches for the trigger.

    import com.nolimitscoaster.*;
    
    public class PreShow extends Script {
    private static final String sCoastername = "Furius Baco";
    Coaster cMyCoaster;
    
    public bool onInit() {
        cMyCoaster = sim.getCoaster(sCoastername);
        TrackTrigger startPreshowTrigger = cMyCoaster.getTrackTrigger("Preshow Sequence");
    
        if(startPreshowTrigger == null) {
            System.err.println("Trigger not found");
            return false;
        }
    
        TrackTriggerListener tTriggerListener = new showTrigger();
        startPreshowTrigger.addTrackTriggerListener(tTriggerListener);
    
        return true;
    }
    }
    

    The script that I put above is the only one that contains the YES command.

    • CommentAuthorole
    • CommentTimeFeb 8th 2014
     
    @Projektion: Okay, so basically you have two instances of showTrigger created from two different scripts, that explains it.
    •  
      CommentAuthorProjektion
    • CommentTimeFeb 8th 2014
     
    What I'm trying to accomplish with the script is that once the train rides over the trigger, the 2 wooden doors separating the station and prelaunch room would close. How do I get this to work? I feel like it's on the tip of my tongue what it is I have to do, but I'm not quite sure.
    • CommentAuthorsprog
    • CommentTimeFeb 8th 2014
     
    Quick query for anyone who's using the nl2mat and nl2sco formats. Got my head wrapped around how to convert 3DS files to these and apply textures using the nl2mat feature, but I'm struggling to figure out how to get them to occlude light. Currently working on a ride in the dark and I want to be able to place lights around the place, however currently the lights shine through the solid "wall" objects and light up things behind them.

    Is it just a matter of playing with light settings to shorten the beam length, or can I actually make the object block the light? Obviously the latter would be much quicker and easier.

    I've scouted through the documentation and couldn't really find anything on it... Unless I'm looking in the wrong place?
    • CommentAuthorole
    • CommentTimeFeb 8th 2014 edited
     
    @Projektion: Right now you seem to have attached two scripts, so you have two instances of showTrigger. There are multiple solutions to do what you want, I can only tell what I would do. I would merge the showTrigger code into the PreShow script class and get rid of the second script.


    import com.nolimitscoaster.*;

    public class PreShow extends Script /*CHANGE*/ implements TrackTriggerListener /*CHANGE*/ {
    private static final String sCoastername = "Furius Baco";
    Coaster cMyCoaster;

    public bool onInit() {
    cMyCoaster = sim.getCoaster(sCoastername);
    TrackTrigger startPreshowTrigger = cMyCoaster.getTrackTrigger("Preshow Sequence");

    if(startPreshowTrigger == null) {
    System.err.println("Trigger not found");
    return false;
    }

    /*CHANGE*/
    startPreshowTrigger.addTrackTriggerListener(this);
    /*CHANGE*/

    /*CHANGE*/
    remaining code of showTrigger.onInit goes here
    /*CHANGE*/

    return true;
    }

    ...
    onNextFrame and onTrainEntering and onTrainLeaving from showTrigger go here...
    ...

    }
    •  
      CommentAuthorProjektion
    • CommentTimeFeb 9th 2014
     
    Thank you so much Ole, my mind can finally be put to rest with this script.
  14.  
    It's not that, it's just that you (as well as others) like to point out and suggest everything that comes to your mind. Half of the time it just comes across as complaining and not appreciating that NL2 is even out to begin with.