Posts by Bzmot332

    I've come across some problems. To be more precise, my DLL does nothing. And since it's a DLL, not an executable file, nor the LOTUS has anything to test the plugins, I don't really know what the problem might be.

    Here are my files I compiled the dll from:

    Teloc.ini Teloc.pas Teloc_config.txt

    I don't get any more errors about the code (I'm using Free Pascal Compiler), but I don't know whether the serial connection works at least, or the game itself sees the plugin itself. I placed these (as well as the compiled DLL file) in LOTUS\Plugins. Is there any spectacular error I made that I don't see?

    Thanks for answering!

    I do not really understand what you mean with interface or methods in this context... Plugin dll should describe everything...?

    I mean that what functions can we use to get data from LOTUS? The plugin DLL example code contains all the functions the LOTUS can handle? Not like it wasn't enough, but I just want to make it sure.

    I do not really understand, what you mean...

    I just meant that if I want to use for example the velocity data for a speedometer via Arduino, I "export" the velocity data in the "ReceiveVarFloat()" function, since it's used for float types. So I write some code inside that function, something like exporting the value I need via serial port, HTTP, anything like that.

    Hmm, every information and also an example should be given by our two articles...

    I was just curious whether you can name any simple program that can build dll files, but I guess a simple google search will answer this question :)

    Hi all!

    I've come across the lexicon articles about the plugin DLLs and some questions occured in me, because I'd like to write/build a DLL for myself for a real speedometer (Hasler & Bern RT9 but that doesn't matter at this point), using an Arduino.

    What interface can we use to access the data in LOTUS? I mean what functions/methods with what variables? Is there a list somewhere, or the example code contains all the usable functions (ReceiveVarFloat...etc)? What features does the DLL plugin method support? Can it handle accessing to serial ports or intermediate objects like a port on the local IP address to use the data in another program? Can the DLLs use config files or is there any way to change a variable without building the whole DLL again (for example serial port numbers, if it can handle it)?

    As far as I understand, the ReceiveVarXYZ functions are called when a propriate typed variable changes in the game (in the example code the v_axle_mps_0_0 is sent through var.0), so the inner parts of those are like the Simstep functions of the script system. So if I need a variable like that, I need to code in inside one of these functions (of course with the corresponding type). Am I right so far?

    Also, it's been a very long time ago since I built any DLL files, so I have to ask, is there any easy way to build from such a code as the example (so written in Object Pascal)? Also what do I need to make the plugin work? Make a plugins folder in LOTUS main directory, make an .ini file with whatever name I want, make a DLL file, all in this folder and that's it?

    You will need many animations "encapsulated" in together (I don't know how to say it, but you will need a base animation under Main, then another under your base animation, another under that...etc).

    The base movement of the whole stuff is the movement of a specific point of one wheel (and thus that part that connects the wheels move around in circular directions). Though that's not a rotation around some axis but rather a transition in two dimensions, Y and Z. This two movements are the sine and cosine functions of the angle of the wheel. Since it consist two different movements, you have to have one under Main that moves the part in let's say Y dimension, and another under that which moves it in Z direction. This inner animation which you will attach the model animation to. Of course you need a little code to calculate these in the script (nothing serious, sin/cos(angle of the wheel) times some constant, according to the wheel size). Since these are transitions, you don't need to bother with pivots.

    (By the way this movement can be also made by two rotations. The part needs to rotate around the last wheels pivot, and under that animation you need another one, that rotates around the pivot of the end of the part - of course in the other direction, so if one is X=1, the other one is X=-1 axis. This way you don't have to calculate anything but have to add the pivots correctly).

    Then you have the part which connects to this part AND to the one that comes out of the cylinder in and out. This has to move around too but also rotate, so it should be under the animation described above and have a rotation, with a calculated value, again. Or it's "under" the animation described below, with a proper rotation, which should be calculated in a very complex way, or just tune it with a linear function (just like the animation of the pantographs of the GTN, the animations don't connect like this, both the upper part is just tuned with linear functions, in two directions).

    You also have the part that moves in and out the cylinder. That's a simple transition, no need to care about pivots. I think it's easier if it's "under" Main, and calculate the movement of it with a linear function (or it can connect to the animation above, if that one connects to the connector part, but that will get quite messy I think).

    There are some other parts (stuff the controls the valves of the cylinder...etc), but those are more complicated (they have to go under the movement of the wheel connector part, but rotate, move..etc).

    On freeware stuff, developers often use logos. Well sure Oriolus asked for permission at BVG, but that's because the main program is not freeware. But freeware addon developers don't really ask permission to use let's say a transport company to use their logo on a repaint or a WIP bus/tram.

    On the other hand, big companies like Disney, well...let's assume they wouldn't like their logos used.

    But what's the point of the whole thing? Yes, LOTUS is probably capable of handling a roller coaster, more or less (you can't do hoops, that's sure). Though it would have problems with the ascending part (see grip). That would be an interesting map to use...for a few times. Like the hand driven cart (draisine) in steam. Sure it's fun for a few times, but then it gets boring. Unless I don't know, you make tons of different roller coasters (haunted house style eg.) and stuff (without logos ofc), but that's the point where LOTUS will die even on stronger PCs.

    BTW I don't think anyone would make such a map. Maybe for experimenting with the physics in the game, but nothing serious.

    Type of project: Map and train

    Name of project: Budapest metroline no. 1 (aka. "kisföldalatti"), 1970s

    Involved persons: Bzmot332 (me)


    The first underground line of Budapest, capital of Hungary was opened in 1896. It was the first underground railway of the continental Europe (the first European metro line was opened in London, but only with steam locomotives). This was a special year: the country celebrated the 1000th anniversary of the foundation of Hungary (Hungary was established in 895 AC, and thus being one of the „oldest” countries all over in Europe - history lesson over).

    The line was reconstructed in 1973. The surface parts were demolished, new tracks were layed underground to the new terminal station a few kilometres away. In LOTUS you can drive the ~1972 state, just before the close of the original track.

    The trains were moved between the line and the depot by electric locomotives - which I don't have made at the moment, but the "Ezres" can be used for that reason as well :D

    Please keep in mind that due to historic reasons, the line was RIGHT HAND DRIVE. You can drive on the "left" track. The mirrors and signals are placed for that, so don't make your life harder and drive on the "wrong" side.

    Also please keep in mind that LOTUS does not support metro lines at the moment. If you drive in dark (night hours), the tunnels are dark but the stations are light of course. If you drive in daylight, the tunnels are not that dark, but still not light.


    Link to commentary thread: link

    Link to item in Steam Workshop:


    Train (MFAV)

    This is the commentary thread concerning addon: Budapest metroline no.1 and train "MFAV"

    Please note:

    I am/We are receptive to every kind of constructive feedback. It must not hurt me/us and must not diminish my/our work.

    Please write your feedback to my/our work so, as to be

    • precise and clear, thus not vague or emotional
    • analytical and rational, thus properly researched and convenient, not on impulse
    • solution-orientated, thus, if applicable, attached with counterproposals, consequences and implications.

    Since I am/we are glad about any kind of compliment of my/our work, a balanced ratio of positive and negative feedback is greatly appreciated. :)

    I have a feature request for you guys: it'd be pretty useful if there was a way to regenerate the terrain of the whole map. Not only the middle one but all.

    Too many times I face with the issue that I regenerate the tiles (click all over the map, wait for loading them...etc), it looks OK, then in game (or after exiting and restarting the editor) there are generation fails, like polygons missing from fences, walls, roads...etc, I guess at tile borders. These things are usually not visible at the generation (because the whole spline is "generated" visually if you place it, but that doesn't mean that all needed polygons are really saved) and it's very time consuming to fix all problems.

    I know a feature like this wouldn't be used every minute ( know it could take several minutes at a bigger map), but it would be very useful, for example before sending a map to beta testers or uploading a map as a whole.

    Asides from that, is there any way to plot all used splines and objects, not just tracks? Just to know what WS packages are actually used by the map.

    You simply didn't regenerate the terrain after placing the splines, did you? If you place them, save the map and close the editor, they won't be generated into the terrain, and when you open it again, that will happen what you said. If I remember well, a simple terrain regeneration doesn't help in cases like that, you have to click on every damn spline, open their properties, hit enter, and do the same thing on every spline (catenaries too, which is quite a nice challenge to be honest).

    Got the answer. He says he deleted the stuff on purpose on steam, also deleted on his PC so couldn't even reupload it, but he doesn't want to anyway. And yeah, he's still mad at the LOTUS team, I'd not translate what he wrote.

    Or he is not active and busy with his life. I remember he did the same thing for omsi when he was making his project.

    He was not working on OMSI projects. Also I've chat a lot with him in the past, he was really upset on the LOTUS team that they could not help him with his map (there was some issue on a tile and thus the whole map was not openable, but Marcel couldn't really help with this, and he didn't have backups for the map). He was really disappointed and angry about this and stopped doing anything on LOTUS. Then got upset on I don't know what and deleted me on FB too. Also forbid me to publish the tram type S (that vintage brown tram) just before finishing it (he modeled it, but I scripted it, edited the sounds and put it all together in LOTUS). So I must guess he won't do anything in LOTUS anymore (though I can be wrong too).