Koersborden op Railtraction BR648/Lint41 (AI) treinen met LUA-scripting

Hier vind je alle onderwerpen over scripting voor Train Simulator zoals LUA.
Gebruikersavatar
RemkoH
Beheerder
Berichten: 569
Lid geworden op: 04 apr 2020, 12:00
3
Gegeven waarderingen: 169 keren
Ontvangen waarderingen: 359 keren

Koersborden op Railtraction BR648/Lint41 (AI) treinen met LUA-scripting

Bericht door RemkoH »

Destinationsigns on Railtraction BR648/Lint41 (AI) trains with LUA-scripting

Afbeelding Afbeelding
Tot nu toe konden koersborden alleen ingesteld worden op de player trein.
Maar met LUA scripting kan het ook op AI treinen!
Until now destinationsigns could only be set on the player train.
But with LUA scripting you can set it on AI trains too!


Voor meer informatie over hoe en wat met LUA scripting verwijs ik je graag naar elders.
Matt Paddlesden heeft een uitstekend filmpje op YouTube en daaruit gemaakte blogs voor degene die zich willen verdiepen in de beginselen van LUA scripting in scenario's.
For more information about the basics of LUA scripting I'd like to point you to somewhere else.
Matt Paddlesden has an excelent video on YouTube and created blogs from that for everyone who want to learn the basics of LUA scripting in scenarios.
Ik beperkt me hier alleen specifiek op de LUA scripting voor de koersborden. Here I'll confine myself only to LUA scripting for the destinationsigns.


Om in het scenario een andere bestemming op de koersborden te plaatsen kunnen events worden aangemaakt. Events need to be created to set different destinations on the destinationsigns in a scenario.

Plaats in ieder LUA script voor het eerste event dit: Place this in front of your first event in every LUA script:

Code: Selecteer alles

function OnEvent(event)
  _G["OnEvent" .. event]();
end
Maak vervolgens een event aan: Then create an event:

Code: Selecteer alles

function OnEvent[EventName]()
  SysCall ( "[train ID1]:SetControlValue", "Destination", 0, [destination ID] );
  SysCall ( "[train ID2]:SetControlValue", "Destination", 0, [destination ID] );
end
Roep het event op in de scenario editor om de koersborden van de opgegeven trein te wijzigen naar de opgegeven bestemming. Call the event in the scenario editor to change the destinationsigns of the given train to it's destination.

Afbeelding
Houdt er rekening mee dat de bestemming per bak ingesteld wordt.
Wanneer er met gekoppelde Lints gereden wordt zal iedere bak ingesteld moeten worden.
In tegenstelling tot ChrisTrains zou er dus per treinstel (en zelfs per bak) een andere bestemming weergegeven kunnen worden.
Bijvoorbeeld gekoppelde Lints A & B van Zutphen naar Oldenzaal, waarbij Lint B niet verder gaat dan Hengelo.
Keep in mind that destinations are set per carriage.
When driving with multiple Lints every single carriage needs to be set.
Unlike ChrisTrains trains you could display a different destination on each unit (or even each carriage).
For example coupled Lints A & B from Zutphen to Oldenzaal, where Lint B won't go further than Hengelo.

Code: Selecteer alles

-- Train ID's
TrainA_id1 = 12345 -- Lint A first carriage 
TrainA_id2 = 67890 -- Lint A second carriage
TrainB_id1 = 09876 -- Lint B first carriage
TrainB_id2 = 54321 -- Lint B second carriage

-- Destination ID's
BLANCO = 1000  -- Blanco

Lint_Odz = 1022.75 -- Oldenzaal
Lint_Zp  = 1037.25 -- Zutphen

-- Events
function OnEvent(event)
  _G["OnEvent" .. event]();
end

function OnEventTrainAdest1()
  SysCall ( TrainA_id1 .. ":SetControlValue", "Destination", 0, Lint_Odz );
  SysCall ( TrainA_id2 .. ":SetControlValue", "Destination", 0, Lint_Odz );
end

function OnEventTrainBdest1()
  SysCall ( TrainB_id1 .. ":SetControlValue", "Destination", 0, Lint_Zp );
  SysCall ( TrainB_id2 .. ":SetControlValue", "Destination", 0, Lint_Zp );
end
Met event "TrainAdest1" worden de koersborden van Lint A ingesteld op "Oldenzaal".
De in tegengestelde richting rijdende Lint B krijgt met event "TrainBdest1" op de koersborden "Zutphen".
With event "TrainAdest1" the destinationsigns of Lint A will be set to "Oldenzaal".
The opposite driving Lint B will get it's destinationsigns set to "Zutphen" with event "TrainBdest1".

Gedurende het scenario kan met een nieuw event een nieuwe bestemming weergegeven worden. During the scenario a new event can be used to display a new destination.

Afbeelding
Deze gebruikers waarderen RemkoH voor dit bericht:
Daniel
Co-founder van DutchSims, admin, moderator, tester, scenario bouwer, lua scripter
De lijst houdt niet op :upside_down:


Plaats reactie

Terug naar “Scripting”