georgeb Posted December 7, 2021 Share Posted December 7, 2021 I am trying to find out the name of the vehicle stopped at a signal and then read a keyword from that vehicle. Any help would be great. Code would be preferred please. Thanks George Link to comment Share on other sites More sharing options...
Goetz Posted December 7, 2021 Share Posted December 7, 2021 Hello George, if you're using V7 and the vehicle has stopped on a contact which belongs to the signal: First, here's how to check for a keyword. A keyword is a treated like a variable, with the actual word being the name of this variable. That's why the condition may look like this: check if vehicle "MAK1202-1205" has a variable named "freighttrain" To find the train sitting on the contact of a particular signal, you may use an iteration. It will return a list of all vehicles on that contact. This may sound strange, because there shouldn't be more than one. But the same iteration is also used to get all vehicles on a particular track. And that may well be a larger number than 1. Here is the iteration: return all elements wich sit on the contact of signal "H/V main signal" - one by one - and give each one the temp name "Iter" And here is how you enter each element from that iteration into the condition: Click on the small cog wheel next to the object (where the train name was before) and selet "Iteration". If you feel comfortable with Lua, use the small <> button to convert everything into a script. In the script, you can eliminate the iteration and go straight for the first element of the returned list. That is the vehicle parked on that contact: local t = layout:getVehiclesOn($("H/V main signal")) if t[1].variables["freighttrain"] ~= nil then -- enter tasks here end Kind regards Goetz Link to comment Share on other sites More sharing options...
Curt84328 Posted December 7, 2021 Share Posted December 7, 2021 I hope this helps. First, a keyword is a shortcut to name one or more objects in the Events Manager In this case there are more than seven track contacts, and I want to set an event that will work for any of them. Vehicle (Trigger) refers to the Locomotive (any) that triggers a "Stop" contact. Here, I have used a track contact to trigger a track signal. The rest of the event sets specific routes. Each Locomotive has an object variable called Track that sets a specific track. Here, The Track for Loco 3 sets a series of three track switches for track3 Link to comment Share on other sites More sharing options...
georgeb Posted December 7, 2021 Author Share Posted December 7, 2021 You are such a brilliant group of "helpers". My interest in 3D Train studio would have lone been exhausted without the help from Goetz and Kurt. Thanks a million. George Link to comment Share on other sites More sharing options...
georgeb Posted December 9, 2021 Author Share Posted December 9, 2021 My next question is....Is it possible to display the time left on a timer (Nearest Second would be good). George, Bramhall, Stockport, UK Link to comment Share on other sites More sharing options...
Goetz Posted December 9, 2021 Share Posted December 9, 2021 vor 11 Minuten schrieb Jud91: Is it possible to display the time left on a timer apparently not, George The only timer property I can find is "active". Nothing beyond that. Link to comment Share on other sites More sharing options...
Curt84328 Posted December 9, 2021 Share Posted December 9, 2021 5 hours ago, Goetz said: apparently not, George The only timer property I can find is "active". Nothing beyond that. Link to comment Share on other sites More sharing options...
Goetz Posted December 9, 2021 Share Posted December 9, 2021 Hello @Curt84328 the active state is the only property that I can access from within the event manager. I cannot read and evaluate properties like the remaining time. Kind regards Göetz Link to comment Share on other sites More sharing options...
simonjackson1964 Posted December 10, 2021 Share Posted December 10, 2021 You can use the event tracer Click the + under timers and variables to add those you want to see. Link to comment Share on other sites More sharing options...
Goetz Posted December 10, 2021 Share Posted December 10, 2021 My apologies, @Curt84328 I just realised, I misunderstood Jud91. He simply want's to keep an eye on the timer values. And you, together with @simonjackson1964 gave the correct answer. For some reason I was under the impression that he wanted to evaluate it, using the event manager. THat he wanted to use the value as a condition or print it on a label. Sorry about that Link to comment Share on other sites More sharing options...
simonjackson1964 Posted December 10, 2021 Share Posted December 10, 2021 Well, we could still be wrong, we'll have to wait for a response from @Jud91 for that. Link to comment Share on other sites More sharing options...
georgeb Posted December 12, 2021 Author Share Posted December 12, 2021 Sorry to not be clear. Both answers are of help BUT I wish to display a current clock on the layout. This clock needs to show the simulation time. (If in real time it will show real time like a clock on the layout somewhere. Thanks for you help and apologies for not being very clear. George Link to comment Share on other sites More sharing options...
Goetz Posted December 12, 2021 Share Posted December 12, 2021 Hello @Jud91, in the Lua editor, press ctrl + spacebar to open a list of all available commands and parameters. You may find that the simulation time is held in a variable named layout.time Unfortunately, this value is only available from within a Lua script. Here's how you give the time to the text property of a label item (called Label in this example): $("Label").text = layout.time You can use a timer (set to 60 seconds) to refresh the text once every minute. Kind regards Goetz Link to comment Share on other sites More sharing options...
Neo Posted December 12, 2021 Share Posted December 12, 2021 vor 3 Minuten schrieb Goetz: You can use a timer (set to 60 seconds) to refresh the text once every minute. Small hint, you can use the event "Time is reached" to react on layout time changes without a timer. Kind regards, Neo Link to comment Share on other sites More sharing options...
georgeb Posted December 13, 2021 Author Share Posted December 13, 2021 Brilliant. Many thanks George Link to comment Share on other sites More sharing options...
georgeb Posted December 13, 2021 Author Share Posted December 13, 2021 Not related BUT. I have lost my Pro version settings even though I am logged in correctly. It will not save my work without buying professional again. Can anyone suggest what I do please? George Link to comment Share on other sites More sharing options...
georgeb Posted December 13, 2021 Author Share Posted December 13, 2021 Please ignore. I have logged in again and all is well. Link to comment Share on other sites More sharing options...
Neo Posted December 13, 2021 Share Posted December 13, 2021 Hi George, it seems that you are using 2 accounts here, but your professional version is only linked to a single account. Should I merge both accounts into a single one? Kind regards, Neo Link to comment Share on other sites More sharing options...
georgeb Posted December 14, 2021 Author Share Posted December 14, 2021 Yes please. Can you keep georgeb@*** and drop ms@***. Thank you George Link to comment Share on other sites More sharing options...
Neo Posted December 14, 2021 Share Posted December 14, 2021 Hi George, I have merged both accounts. If you like, you can change your username and/or mail in your account settings. Kind regards, Neo Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now