Prototype waybill system for Trainz

Sure do!! http://www.albionsoftware.com/

Honestly with some tweaking this software has worked perfect! I've ran 6 sessions on my layout so far. It really gives the layout a sense of being alive, from the early morning local route to the running of freight and empties from the interchange down the main line to distant industries. Now there is a real reason to move those cars around besides how cool they look.
 
Sure do!! http://www.albionsoftware.com/

Honestly with some tweaking this software has worked perfect! I've ran 6 sessions on my layout so far. It really gives the layout a sense of being alive, from the early morning local route to the running of freight and empties from the interchange down the main line to distant industries. Now there is a real reason to move those cars around besides how cool they look.

Dymond,

I assume you are using this with Trainz. If so, how big is your layout? And how do you interface between the two?

Dap
 
I am indeed using this with Trainz. I am actually using it with a layout I downloaded from here about a year or so ago. Its the large Layout based on the Gorre and Daphetid (not the one by Tokkyu). It was mostly unfinished so I pretty much made it my own. I think its about a 4x5 layout. As for how I interface them I really just treat it in Shipit as if it was model railroad. I entered my rolling stock, ,motive power, Cities, Industries with shippers and consignees etc. I then built my trains by creating the schedules running to the differing cities. The only real interface between the two products is that I use the session info rule to pull up an html page that contains an image of the switchlist created in ShipIt. I use the PrinterCapture feature in Snagit to 'print' the switchlist as an image so I can save it and use it in Trainz. I just run the 'Session Info' rule and can pull up the switchlists w/o having to switch PCs. But honestly thats just me being a geek, you could easily just print out the switchlists and have them just as handy.
 
Sounds like you are pleased with the results. I am modeling a complete railroad, the Ft Dodge, Des Moines and Southern. Eighty six miles of mainline track, four multi-town branchlines, plus three single service branchlines to coal mines. It has interchange tracks with seven different railroads in six different locations. I want my operating sessions to be continuous, 24 hour sessions. (Obviously Trainz will have to be "paused" to make this happen. After all, I do have a life outside of Trainz:) )

Given this objective, how would one coordinate the movements in Trainz with the database and keep the database timed to Trainz? Or is this even possible?

You mention that you are using "Snagit" to "print the switchlist as an image . . " What is Snagit?

Dap
 
I am actually really pleased with the results. I could think of a few things I would love to see added to it but really no complaints. The program does allow you to set up Divisions also so you can actually pass a car from a division to division until it gets to its consignee from the shipper. It really is an amazing program. Mine isn't quite as large as yours :) but even then I have been able to ship and receive from industries I don't even have on my route using staging and interchange tracks.

As for Snagit its a screen capturing program that I use extensively at my work for taking screen shots for writing FAQS etc. I have a copy I use here at home. Here is the website: http://www.techsmith.com/
 
Dymond,

You did not address my most important question . . . how would one coordinate the movements in Trainz with the database and keep the database timed to Trainz?

Do you run Ship-It first to get a switch list or several switch lists then run Trainz to impliment the actions prescribed by the swithch lists then go back to Ship-It for another switchlist?

Dap
 
Sorry Dap... Thats correct. I usually run one session in Ship-It. Once you run the session, you can actually run a report called starting locations. This tells you where every piece of rolling stock should be when your session is starting. This is also how I place my rolling stock in Surveyor in case I need to make a change to the session or route and start it over. I've done this a few times just because when your running things you start to see things you could have done better so its nice to stop, fix and tweak things then keep going.

Once you verify your starting locations you can print out your switchlists and go. One of the downfalls of Ship-It you can't stop the session and have it remember where you stopped. However my understanding is that Pro-Trak and RailOp(other switchlist programs available) allow you to 'check off' each part of the switchlist you finish.
 
Last edited:
. . . . . I actually used LARS Destination Database program in conjunction with it so I could actually tag the cars with where they were headed . . . .

Dymond, Can you tell us more about this Lars Destination Database program?

Dap
 
You can find it at trainzproroutes.org. The database installs as a small yard shed and allows you to define Yards and Destinations for your route. You can then click on any car and tag where it needs to go. I'm probably not explaining it as well as I could so pop on over to TPR, sign up and take a look at the downloads section. Lars includes a nice PDF help file with it that explains how to set it up.
 
An alternative to card cards

First, since Auran already uses "Waybill" for "model railroad" operating mode, I propose we adopt the name "switchlist" for prototype operating mode.
...

The problem is that "waybill" and "switchlist" refer to two very different systems. (Although they can be combined - see the OPSIG primer / FAQ.).

Many people prefer some sort of waybill system. Unfortunately car cards do not adapt well to Trainz. ( If you are not familiar with the car card concept I described a very primitive version of one in an earlier post here: http://forums.auran.com/trainz/showthread.php?p=195044#post195044 )

The main problem is handling the cards. On a physical model railroad you build boxes along the edge of the layout to hold the card for cars spotted at nearby industries. Obviously we can't do that in Trainz. I have thought of trying a loose-leaf book of pages with pockets but I never got around to trying it.

Instead I'm devoting my time to learning enough about Trainzscript programming to implement a version of a waybill-on-car system. Waybill-on-car was a hot topic in model railroading a number of years ago. It seems to have fallen into disfavor for reasons I pointed out in this earlier post: http://forums.auran.com/trainz/showthread.php?p=184878#post184878

As you can see, the most serious objections to the system don't apply to Trainz.

I'm going to start with a simple rule that finds all the cars on a route and allows you to assign them waybills manually and a non-scheduled driver command that displays the waybills. Once I get that working I'll write rules that allow programmed generation of the waybills. Thanks to this thread I now see that I will also have to program a Yard Check rule in case you have to modify the layout in surveyor.
 
David,

Don't forget to accommodate trains that are emitted from portals. On my railroad, these are foreign railroads that are dropping off interchange cars. It would be nice to have waybills assigned to them automatically as they emerge from the portal.

As far as how to display the waybill, would it work to just RMC the car and have the waybill info displayed in that pop-up window? That part seems like it would be fairly straight forward and would make a good starting point to test the concept. The waybill data for each car could be entered in Surveyor.

When an empty is spotted at its destination, the waybill information would be updated by user intervention (a mouse click on a box in the pop-up window?). When a full car is spotted at its destination, the waybill info would revert to empty routing instructions, again, by user intervention.

Dap
 
David,

Don't forget to accommodate trains that are emitted from portals.
... [See full quote below]

Dap

Portals are my biggest headache right now - the first version will probably need user intervention to handle the new trains. I'm currently using Central Portal Control on my own layouts; when combined with the Timecheck rule it allows you to emit specific trains at specific times. Unfortunately both of these rules are slightly buggy and the authors have stopped working on them. So my next project - if I ever get the waybill system working - will be a new portal that combines sequenced trains and emit at time and of course support for the waybills.

As to how to bring up the waybills I'm still trying to learn enough about trainz script to see if my preferred method of adding to the view details window is possible. The one person that I know has accomplished this (Andi06 in his superscript) adds scripting to each car and loco - this is obviously not what we want. My next favorite option is left click on car when a special window is open - like the TPR Destination Database. But I'm going to have to get someone on the scripting forum to tell me how to detect the mouse click; I can't find it in Auran's excuse for a help file and the one example that I know of is compiled code. My fallback option, which I may have to use in the first version, is to use ctrl-k to bring up a list of consists (like Marzipan's ShowTrains rule); I know how to do this.

And yes, manual intervention when a car is spotted is necessary. Otherwise the user would have to do massive modifications to his routes to add track marks to every possible delivery point. At some time in the future I may include an automatic option for named spots.

David,

Don't forget to accommodate trains that are emitted from portals. On my railroad, these are foreign railroads that are dropping off interchange cars. It would be nice to have waybills assigned to them automatically as they emerge from the portal.

As far as how to display the waybill, would it work to just RMC the car and have the waybill info displayed in that pop-up window? That part seems like it would be fairly straight forward and would make a good starting point to test the concept. The waybill data for each car could be entered in Surveyor.

When an empty is spotted at its destination, the waybill information would be updated by user intervention (a mouse click on a box in the pop-up window?). When a full car is spotted at its destination, the waybill info would revert to empty routing instructions, again, by user intervention.

Dap
 
I Wish I could help, but I am a designer and not a code writer. I can help with testing though, so when the time comes, keep me in mind.

Dap
 
Well as you guys know I was using the Ship-IT program to create the switchlists for the sessions I was running on my Trainz Routes. Overall it did a really good job, and it was flexible enough to work with some of the ways I was running trains on my route, IE dropping off loaded cars at not just the industries that needed them but at passing sidings I set up. so that another train coming by later that day could then pick up the cars and take them to their destination industry. However it did a few things that drove me bonkers. If I had a set of empties sitting at a siding waiting to be picked up, it wouldn't run all of them back to the yard. It would only get a few and it never failed the ones it wanted weren't at the end or weren't consecutive which caused alot of extra switching to get the right car. It seemed to only get empties for a load it knew was going to be coming right after it. So if the second train needed 2 boxcars the first train would only grab two boxcars instead of grabbing all off them, leaving the remaining empties to be picked up later that day if I had another train traveling to that town. The other thing was the program just doesn't have alot of randomness to it. An industry might not need to have a car sent to it every day or every other day. It might just need to submit a call for an empty or a load when it had a need. Plus it would be nice to program some 'reality' into the session, maybe have a car pulled off the route for maintenance etc.

So I've started to play around with a program called Interchange, which is extremely powerful but not for the faint of heart. It actually allows for random car calls, based on a random frequency you set up. It also allows for both freight and passenger consists. The really cool thing though is it actually allows for 'portal' activity within the program. If you were using E-Portal or Iportal with another user and they were also using Interchange you could import their layout into your system, so you could set up runs to go from your industries to theirs. I'm still in the early stages with the program and it definitely has some quirks.

Offtopic but who here is also a fan of the ridiculously short expiration date of the cookies in this forum? Nothing like writing a long post to only be told your not logged in when you post it. Good thing I copied it first...
 
It's been a while since this tread has been used. I finally took it upon myself to make this idea happen. No one volunteered to write code so I tought myself with the help of the great guys that monitor the Trainz Devepolment website forum. I have just put the finishing touches on the first working draft of my system and have it available for beta testing. I am quite pleased with the results. There may be another bug, but so far it seems to be pretty solid. One drawback is that the data from a session cannot be saved. Just a quirk of the software, but then Trainz is only a $39.95 piece of software.

Here is what the system looks like. I call it the Car Movement and Traffic Management System or CMTM for short. There are three assets that make up the system. Fist is the CMTM Portal which is Chris Margetts' Re-Rail Portal with a simple addition to make it work with the CMTM system. This portal will emit a string of cars without a locomotive - a very necessary component to simulate interchange traffic with another railroad. (One feature that makes it fun it that when you deliver cars to this interchange portal, you have to "drop kick" them into the portal so you don't loose your locomotive. I take a 20mph run at the portal track, uncouple the enigne at that speed then cut the throttle. The cars roll smoothly into the portal and you still have your locomotive. Most protoype railrods discourage this manuver but it works in Trains. The alternate would be to put the portal on a down grade and let gravity take the cars to the portal.)

These Portals also function as a regular portal. Each freight car in every train that is emitted by these portals has a series of destinations assigned to it. The second asset that is added to the route in Surveyor is the CMTM Anchor. This is a simple scenery asset that instantiates a Library Class script which is the third component - the heart of the system.

To impliment this System on a specific route, one must do a lot of operations and traffic flow planning. These movements are then entered into a spreadsheet in a specific format. This data is then exported as a comma delimited text file (.cvs format) and inbedded in the string table of CMTMSystem's config.txt file.

Implimenting this system takes a lot of work, but if you are into prototype operations the pay-off is worth it. There are some assets that will need to be "fixed" to work with this system. It relies on all freight vehicles to have in their config.txt files the correct "catagory class". Not all content from the DLS have all the correct data in their config.txt files so if you want to use that vehicle, it must be fixed.

Now, in Driver, there will be a small pop-up window in the upper left corner of the screen. This window states the name and destination of the last vehicle upon which you have done a left mouse button click. This window also allows you to notify the system when a car has been delivered. This begins a clock that will keep track of the amount of time left before the car will be loaded or unloaded. So, you have delivered a freight car and clicked on the delivered button. The next ime you click on that car, the window will tell you how much time is left before the load/unload will be finished. You determine this number when you enter data in the spreadsheet. If the time has already expired, the next destination is displayed.

If you are interested in beta testing this system, PM me your email address.
 
Is it really necessary to have the cars come out by momentum alone?

Would it be possible to set it up, with a switcher on the end (among a pre-determined list of possible switchers to use, so it isn't always the same one?), pushing the cars in through the portal, setting them out on a siding, de-coupling, and then heading right back into the portal?

and do the same for cars intended to leave? a switcher comes out to pick up the cars, and carry them through?

For that matter, on linked setups, you can have a switcher of your own, push cars through the portal, set them on a siding on the other side, come back through the portal, and wait in a holding area until more cars are set aside in the siding being used for that. The other player on the other side, can do the same thing on his side as well.

Would need some way to keep both sides from sending switchers through at the same time tho...



-- Smoovious
 
Last edited:
Smoovious,

You could take the time to program a switch engine to bring the cars out, drop them and then return. And then to come out and pick new ones up, but it is likely that no one else would be in the area to see all this activity. The driver will probably be busy classifying cars in the yard, pulling cars from a through freight or making a way freight run to switch industries.

And then there is the timing issue. What if the Driver does not get a string of cars delivered to the interchange track in time for the foreign switcher to pick them up?

And besides, how often do we get to do a drop kick switching move? Keeps the game interesting.

However, if you enjoy programming trains to make these moves, by all means have a go. CMTM will work either way.

By the way, the CMTM Portal is not an iPortal, so there is no one on the other side to recieve the cars.

The CMTM System simply gives every freight car on your route a destination. The rest of the operations are up to the Driver. If you like switching or shunting with a purpose, this system is for you.

Thanks for your suggestion.
 
Ok, my misunderstanding was what CMTM was about in the first place.

...and I agree with the principle... I just seem to have in mind, a method more prototypical than to just have cars come out on their own.

I'm not even in the beginning stages yet to program something like what I have in mind yet. I only own TRS09, and have a steep learning curve (plus waiting for a LOT of issues to be sorted out with the program itself)

Being a truck driver, I don't get much time for coding like I used to. As much as I love truck driving, that is the one thing that I miss greatly, and is a shame I can't put in the time I used to.

I do intend, long-term, to offer some content eventually.

The plus about my current job, is I get to see a great deal of places I think would make for interesting scenarios. Many chances to photograph a wide variety of rolling stock too... like the company switchers at the steel plant I was just at yesterday...

I think my biggest hurdle may be trying to decide which to incorporate first!

Anyways, I look forward to seeing ways this may be implemented.

-- Smoovious

edit> Perhaps one of the things getting in the way of what I have in mind, is the lack of being able to use commands such as "pick up all full cars" or "couple 3 cars from track XX" or "decouple last 4 cars" or something to that effect.

One of the uses for this would be a staging yard for a power plant, for example. When I still drove a taxi, I spent some time at one, exchanging train crews.

An incoming coal train would set out all of its full cars in a marshalling yard, and pick up all of the empty cars to take back with them, while another pair of engines, stayed at the plant, taking a handful of full cars and emptying them as needed, and setting them out... This would go on at a fairly regular pace.

Sometimes, I have a coal train empty at a power plant, only to have some cars end up not empty, because the plant reached its capacity, and I don't have a method to command the driver to set out those non-empty cars, and only take back the empty ones.

I haven't finished skimming the whole asset repository tho, so if someone has already created some commands to do this kind of thing, please let me know.

-- Smoovious
 
Last edited:
Smoovious,

Those are some very interesting ideas. Hope you figure out how to make it work. I'm not so much into letting AI do all the train driving. I love switching, so jumping from train to train to do the switching and lett AI do the long haul driving works fine for me. So, for the power plant problem you describe, I'd have the game send me a message that some switching needs to be done at the power plant. I'd then pull the unemptied cars and then send the train on its way with the required AI commands.
 
Back
Top