Jump to content

Vehicle Name


Empfohlene Beiträge

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:

900081242_keywordcondition1.jpg.0683a4be44cad2f3cf63f803766b7ab4.jpg

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:

375889232_keywordcondition2.jpg.f671d5a636ee26ad58cec83ecdf15ee0.jpg

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:

1451980535_keywordcondition3.jpg.9de65158531cd08df4257aa92e953eae.jpg

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 zu diesem Kommentar
Auf anderen Seiten teilen

I hope this helps.

First, a keyword is a shortcut to name one or more objects in the Events Manager

keyword.thumb.jpg.36d57e77523750093e496e228d7c59ed.jpg

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.

Signal.thumb.jpg.f56ee5c645e2ab34cb5e1221ef2f2018.jpg

Here, I have used a track contact to trigger a track signal.  The rest of the event sets specific routes.

Locomotive.thumb.jpg.01bd4218687a4ac761db1ecb571ac04a.jpg

Each Locomotive has an object variable called Track that sets a specific track.

Toggle.thumb.jpg.443a04a61ddb9a9fc56e1fc483800832.jpg

Here, The Track for Loco 3 sets a series of three track switches for track3

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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

2034901480_layouttime.jpg.01846209c183bb4289c84db262b94a14.jpg

 

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.

1709405909_timelabel.jpg.99ae334f42159a9454e51887024f5a7a.jpg

 

Kind regards
Goetz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...