Alle erstellten Inhalte von gmd
-
MBS Companion V2
Hallo, habe die anlage aktualisiert mit der letzten software version. Etwas aufgeraeumt, kleine inkonsistenzen beseitigt und ein depot display zugefuegt damit ich sehen kann was im depot passiert. Jetz kann man oedentlich verkehr erzeugen, wenn man die module dupliziert oder erweitert und mehr als ein VO betreibt .. Als naechstes habe ich entschieden das SR modul zu erweitern und indirekte routen fuer ziele zu ermodeglichen, damit der ablauf mehr variation bekommt und die kreuzungen auch wirklich benutzt werden . Gruss gmd
-
MBS Companion V2
Hallo nochmal, anlage ist nochmals erneuert, habe load all und recall implementiert, allerdings funktioniert recall nur wenn das fahrzeug ausserhalb eines depots ist.. das werde ich noch erweitern. Aber soweit ist die erste version VS fertig, habe noch nicht entschieden was als naechstes kommt. Mal sehen. Gruss Gmd
-
MBS Companion V2
Hallo, obiger katalog eintrag immer noch gueltig - ist aktualisiert VS_Modul weitergebaut. Erste funktionen laufen. LOAD ONE (rot) started das jeweils erste fahrzeug auf der strecke und am kontakt werden fahreigenschaften zugewiesen und in das ausgewaehlte depot geschickt. Somit kann man typegesteuert mit spezifischen attributen fahrzeuge laden und auf depots verteilen .. zur zeit nur ein depot in der liste .. Load ALL und Recall kommt als naechtes und depotzuweisung wird manuell, random, sequential erfolgen. Recall holt die fahrzeuge zurueck... ist nur sinnvoll wenn jedes fahrzeug seinen platz hat. Nochmals zur erklaerung warum ich das tue an diesem beispiel .. generell kann mein externes programm die definitionstabellen, die derzeit als test von hand definiert sind, erzeugen und ueber die schnittstelle laden, da ja alles in variablen abgelegt ist. Die grundfunktionalitaet ist mit generischen funktionen implementiert, die von den definitionen unabhaengig sind. Ausserdem kann ich ueber die schnittstelle dinge tun, die ich in Lua nicht kann. Selektieren von objekten, hinzufuegen usw. eindeutige namen vergeben, etc etc. Mit dieser kombination kann ich dann komplexe steuerungen aufbauen, die ich dynamisch aendern kann ohne immer wieder zu programmieren und festgelegte starre strukturen wiederholt ablaufen zu lassen. Allerdings koennen alle module natuerlich auch von hand verwendet werden und das VS oder auch VO ist dabei ganz nuetzlich.. Generell ist es viel einfacher mit tabellen zu arbeiten weil man den code nur einmal testen muss und es immer laeuft, wenn man die tabelle richtig definiert. Plazierung von kontakten muss man auch manuell machen.. mein programm kann das automatisch fuer die verschiedenen grundmuster basierend auf template objekten (vorlagen). Das prinzip ist halt fuer typische scenarien abstraktionen zu schaffen, die man mit generischen funktionen implementiert. Der phantasie sind dabei keine grenzen gesetzt mehr und mehr verfeinerte konzepte zu schaffen. Es ist sind halt softwaremodule und keine landschaftsmodule. Gruss Gmd
-
MBS Companion V2
ok danke .. Habe die anlage aktualisiert.. sie enthaelt jetzt den beginn der "Vehicle Source", eine lademechanismus mit dem fahrzeuge mit bestimmten eigenschaften einfach in depots abgestellt werden .. das modul heisst VS .. spaeter kann mein programm damit fahrzeuge parken und dann laden mit verschiednen eigenschaften .. die taster sind als manueller test vorhanden .. ziel koennen verschiedene depots sein .. mit der zeit werden da wohl verschiedene kriterien anwendung finden. Gruss Gmd
-
MBS Companion V2
Hallo, hier die naechste version 28AF80AB-856B-4921-81F1-6327301F48CE Habe 2 weitere strategien ausprobiert, die letzte ist die aktive, wobei die kontakte fuer die route im fahrzeug liegen. Dabei ist zu beachten, dass die punkte nicht immer dicht liegen, das MBS muss immer noch kalkulieren und wenn man die erzeugte route fuer die gesamte strecke wieder ausliest, dann enthaelt sie zusaetzliche kontakte ... wenn man die kontakte dichter setz wird der kalkulationsaufwand veringert. Auf meinem spielrechner merke ich immer noch ein kleines rucken, auf meinem arbeitsrechner ist das weg, der ist schneller. Das depot muss noch optimiert werden .. es kann passieren dass fahrzeuge zu schnell ausgespuckt werden (settings) und auffahren . Das sind aber alles kleine dinge die dann stueck fuer stueck optimiert werden wenn ich die module tatsechlich einsetze .. Ich habe noch zwei weitere module definiert ... vordefinierte strecken fuer pkw, lkw, bus etc .. auf denen die fahrzeuge bestimmte eigenschaften bekommen und dann werden sie auf VO module (depots) verteilt .. random oder andere kriterien. Das naechste module ist der schattenparkplatz auf dem sets von fahrzeugen zwischengelagert werden umd verkehrsdichten je tageszeit zu simulieren. Dadurch koennen die anzahl der aktiven fahrzeuge gesteuert werden .. das sind dann die module mit denen ich meinen strassenverkehr implementiere. Ahhh.. ich glaube ich habe noch nicht den parkplatz erwaehnt .. kleine und groessere parkplaetze mit gesteuerten zufahrten und abgahrten. Auch diese module kann fuer verschiedene situationen verwendet werden .. Da ich jetzt erst mal die grundroutinen habe .. geht das schneller .. Allerdings wird es bei 100+ fahrzeugen auf eine schnelle CPU ankommen wenn nicht einiges im MBS erweitert wird (true multi threading). Ueber fahrstrassen ist das fuer die bahn beser zu loesen denke ich .. Wenn mir jemand sagt, wie ich die dynamisch anlegen kann.. habe noch nicht gesucht, kenne nur den manuellen weg und der ist mir zu aufwendig. Gruss Gmd
-
MBS Companion V2
Neo hat die antwort .. der erste kontakt setzt das ziel fuer die fahrzeuge .. sind nur wenige kontakte aber einige moegliche alternativen, daher die kalkulationszeit, ist halt nicht wirklich multi threaded. Werde die zielzuweisung aufteilen und dem fahrzeug mitgeben, das ermoeglicht auch das dynamische aendern des ziels spaeter und sollte das rucken verhindern. Gruss Gmd
-
MBS Companion V2
Hallo, mal wieder ein update .. BDBF09FC-82AD-4535-B4D6-6EF60584E054 Das modul "Vehicle Origin" ist in einer ersten version fertig, kombiniert mit dem strassenmodul. Nicht optimal da das MBS blockt wenn routen zugewiesen werden .. sieht man nach dem verlassen des depots. Das werde ich aendern und optimieren damit das ohne rucken geht. Derzeit nur ein depot definiert und nur directe routen zu den zielen .. vor den zielen liegen kontakte die die fahrzeuge derzeit zum startdepot zurueckschicken .. das ist nur test .. derzeit sind keine geschwindigkeitsunterschiede per fahrzeugtyp oder streckenabschnitt realisiert, das kommt spaeter, wenn ich die anderen module in der grundversion fertig habe.. Naechstes modul ist die segmentierte strecke, womit sich verschiedene situationen kontrollieren lassen, unter anderem hat das ja mit der RoLa angefangen mit den wartepositionen der LKW, aber auch bus haltestellen usw, werden damit implementiert. Danach kommen kreuzungen ohne ampeln und fuer das strassenmodul auch indirecte fahrstrecken. Gruss Gmd
-
MBS Companion V2
Atrus, beachte bitte folgendes: Direct hinter dem ausgang des depot's ist ein weiss/schwarzer kontakt der das fahrzeug direkt wieder zurueck in das depot schickt. Das ist zum test, da das routen modul noch nicht angeschlossen ist. Man kann die verschiednen modi ausprobieren .. the event is unter VO_1 Gleiskontakt wird ausgeloest. Gruss Gmd
-
MBS Companion V2
Hallo Atrus, Kein problem .. BDBF09FC-82AD-4535-B4D6-6EF60584E054 entwurf der demo mit dem code fuer das depot release, signal und signal crossing.. depot release ist etwas knapper dokumentiert als die anderen beiden module .. Ereignismodul ist "Vehicle Origin" Naechstes modul ist routing .. uebernimmt ein fahrzeug vom depot und fuehrt es zum zugeordneten ziel .. gruss Gmd Noch ein tip: wenn ihr den code an ChatGPT verfuettert, am besten nur jeweils ein modul, dann koennt ihr das auch in deutsch uebersetzen lassen oder erweiterungen machen, falls gewuenscht. In meiner derzeitigen arbeit verwende ich 3 AI's, Juny und Sonnet von Jetbrains, und ChatGPT. ChatGPT liefert gute ergebisse mit LUA ihr muesst nur aufpassen, denn MBS hat keine standard LUA implementierung, sondern weicht ab. In der source gibt es dazu eine beschreibung, die ihr auch dem AI fuettern koennt, dann kann er das beruecksichtigen. Und fuer die skeptiker: In den letzen 4 monaten habe ich eine sehr umfangreiche "full stack", client server anwendung implementiert, wen es interessiert: NextJs, React mit Tailwing und Daisy, auf MySQL. Derzeit roughly 80K lines of code, no chance without an AI ..
-
MBS Companion V2
Hallo, habe mal wieder einen schritt weiter gemacht .. bugs aus der amplesteuerung enfernt und die crossing funktionen mit ampel fertiggestellt. Dieses modul betreibt beliebige fahrzeuge and einer ampelkreuzung inclusive linksabbieger und blinker der fahrzeuge. Warten auf fussgaenger ist noch noch nicht enthalten. Das naechste modul is das depot .. hier werden fahrzeuge nach verschiedenen kriterien nach verschieden ausgesuchten zielen gestartet. Die fahrzeuge haben ziele und koenen am ende in andere depots transportiert werden .. damit regele ich die virtuelle verbindung zwischen anlagen auf verschiedenen rechnern. Die ausfahrenden fahrzeuge werden an ein streckenmodul uebergeben dass die zielsetzung mit den MBS restriktionen uebernimmt und dafuer sorgt dass die fahrzeuge in die richtige richtung fahren. Kreuzungsmodule arbeiten unabhaengig und die fahrzeuge verhalten sich an kreuzungen gemaess den bedingungen des jeweiligen moduls behalten aber ihr ziel. Ich habe noch ein paar weitere module zu erstellen bevor ich die meisten situationen abgedeckt habe. Parkplatzverwaltung Buskontenpunkt Einfacher busbetrieb und noch etliche speziellere module, die ich auch fuer fuessgaenger und radfahrer verwende. Die tasten im bild sind zum test .. die verschiedenen modi koenen auch per script gesetzt werden und natuerlich auch von meinem programm. Jedes der depots hat eine eigene definitionstabelle mit spezifischen zielen und rueckkehrkontakten. Die scripte sind allerdings generisch, wie alle anderen. Das ganze ist dann ein netzwerk von eigenstaendigen modulen mit spezifischen eigenschaften, die die jeweiligen fahrzeuge kontrollieren gemaess den definierten bedingungen. Spaeter werd ich dann auch animationen integrieren. Zunaechst mal nur die grundfunktionen, damit ich einen autonomen betrieb erreiche . Hier noch ein bildchen der anlage, die ich derzeit als pilot projekt zusammenstelle. Ist noch nicht ganz fertig .. Sie hate viele schnitstellen, portale und depots unter den bergen .. zu einem linken und rechten teil, der jeweils auf einem anderen rechner laeuft.. Gruss gmd
-
virtuelle pc connection ..
Hallo alle, habe lange nicht mehr gepostet, was aber nicht bedeutet dass ich nicht an meiner idee weitergearbeitet habe. Ich habe diesen post unter feature request, ist aber mehr eine frage an Neo als ein request. Ich habe drei straenge in meiner entwicklung ... meine c# app fuer die externe verwaltung und steuerung .. die Lua standard componenten fuer die steuerung von complexen scenarien und den aufbau von groesseren modulen. Diese sind nicht "komplette" anlagen, d.h. kreise sind nicht geschlossen jedenfalls nicht im herkoemmlichen sinne, sondern starten und enden in portalen und depots .. diese module sollen dann ueber tcp/ip verbunden werden, d.h. ueber die externe schnittstelle und das steuerprogramm. Soweit zum thema. Nun die frage: Ist geplant oder daran gedacht die virtuelle verbindung ueber portale ueber pc grenzen hinweg zu ermoeglichen, d.h. wenn auf einem pc ein fahrzeug in ein protal einfaehrt, dass das gleiche fahrzeug auf einer anlage auf einem anderen pc aus einem portal herausfaehrt. Das kann local (LAN) oder auch ueber remote verbindung geschehen. auf der zweiten anglage koennte/muesste das gleiche fahrzeug existieren. Falls an eine solche loesung gedacht wird brauche ich da nicht weiter zu implementieren. Mein programm kann auf mehr als einem rechner laufen und kommunizieren, also fuer mich ist das kein riesen problem, aber falls das MBS so etwas "nativ" macht brauche ich da keine gedanken verschwenden. Natuerlich lassen sich viele weiter scenarien denken, wenn erst mal so eine moeglichkeit besteht. Ein solches konzept ist erforderlich, wenn man groessere anlagenstrukturen mit vernuenftigen bildraten implementieren will und ein einziger PC selbst mit high end gpu nicht reicht, insbesondere mit hi-res displays (5K+). Gruesse aus Australien Gmd
-
Script Library Support
Nur weil du dir das nicht vorstellen kannst, solltest du mich nicht als spinner bezeichnen. Denke mal ein bischen nach .. hier etwas hilfe Logische Abstraktion und Generalisierung bezeichnet den Prozess, Funktionalität oder Verhalten auf eine generalisierte, kontextunabhängige Weise zu spezifizieren – ohne Bezug auf einzelne Instanzen oder konkrete Vorkommnisse. Im Mittelpunkt steht die Definition von Prinzipien, Regeln oder Beziehungen, die breit anwendbar sind. Dies ermöglicht Wiederverwendbarkeit und flexibles Denken in unterschiedlichen Situationen. Dieser Ansatz fördert Modularität, Skalierbarkeit und ein klareres konzeptionelles Verständnis, indem beschrieben wird, was geschehen soll – nicht wie oder wo es im Einzelnen geschieht. Schau dir meine ampelsteuerung and, vielleicht bekommst du ein paar ideen. Gruss Gmd
-
Script Library Support
Das wuerde ich anders loesen. Ueber schlagworte, damit wird deine steuerung generisch und kann an verschiedene modelle angepasst werden, auch dynamisch. Libraries mit objektbezuegen machen fuer mich keinen sinn. Gruss Gmd
-
MBS Companion V2
Hallo, mal wieder ein update ... werde wegen neuer umstaende in zukunft etwas langsamer vorankommen. Erstens bin ich wieder in einem alten kommerziellen projekt engagiert (springe fuer einen notfall ein) und zweitens bin ich mal wieder fuer den kommenden winter (ab mitte juni) mit meinem motorrad im Norden unterwegs (etwas waermer ). Die verschiedenen module repraesentieren anwendungsbereiche, die ich gedenke zu automatisieren. Tabellendefiniert mit generischen scripten. Tabellen koennen von hand erstellt werden, bzw. ich plane diese mit meinem programm zu generieren. Derzeit ist das modul SignalCrossing (sollte eigentlich traffic light crossing heissen), laufbereit. VehicleOrigin und CrossingRoutes haben anfaenge, aber noch keine wirklich sinnvolle anwendung. Die scripte sind sehr umfangreich dokumentiert und aufgeteilt in stufen der bedeutung, generisch, generalisiert und spezifisch. Beispiel fuer generalisiert: Phasendefinitionen fuer kreuzungen sind wiederverwendbar und sind nicht spezifisch fuer bestimmte kreuzungen, sondern fuer kreuzungstypen (hier SC) Beispiel fuer spezifisch: Signaldefinitionen fuer eine bestimmte kreuzung auf der anlage gruppiert in modulen, hier z.b. SC_1 Generisch: Generell verwendet in the ampelsteuerung Die rot/blauen kontakte sind nicht teil der ampelsteuerung, diese werden verwendet fuer den kreuzungsverkehr, auch ungesichert. Ist teilweise implementiert. Fussgaengerampeln, linksabbieger mit blinklicht ist teil der definition. Doppelspur mit separater linksabbiegerampel ist noch nicht teil der loesung, sowie andere spezielle faelle. Die taster sind mehr oder weniger nur als test vorhanden. Kettenfunktion (gruene welle) zwischen ampeln ist auch definierbar. Eine freundschaftliche warnung : Die scripte sind nicht geeignet fuer Lua anfaenger fals jemand sich fuer die implementierung selbst interessiert. Fuer die verwendung muss man diese aber nicht verstehen, es bedarf nur der sorgsamen definition der tabellen. Man kann variablen setzen in "Ereignisse" modul um debug ausgaben zu aktivieren. Ich habe nicht getestet die scripte zu kopieren in eine neue anlage. Ein timer mit 2s ist erforderlich fuer die ampelschaltung. In der demo ist alles enthalten, was man braucht um die scripte zu verwenden. Allerdings: Alle kommentare in English. hier die entwurfsanalage CA450BCA-57D8-4960-B0CA-4FA356B4C269 Falls jemand fragen hat, bitte nicht sofortige antwort erwarten. Gruss Gmd
-
Script Library Support
Hallo Neo, wahrscheinlich wirst du wieder sagen dass dies nicht fuer die allgemeinheit nuetzlich ist, aber ich poste es dennoch. Meine scripte wachsen, alles generisch und modularisiert. Ich kann natuerlich beliebig viele module mit je einem globalen script definieren um meine scripte besser zu strukturieren, aber das macht dann bei der wiederverwendung aufwand. Ich faende ein "include" statement wie in anderen sprachen sehr nuetzlich, womit ich abgeschlossene geteste scripten einbinden kann ohne dass das ganze unuebersichtlich wird. Eine alternative waere, wenn du mehr als ein globales script pro modul zulassen koenntest. Das ist zwar nicht das gleiche aber ein kompromis. Vielleicht noch nicht dieses jahr relevant, aber wen mehr und mehr benutzer lua verwenden und nicht nur die EV koennte das auch andere betreffen. Hier ein typisches beispiel: Es sind hilfsfunktionen fuer den zugriff auf eine datenstruktur, die ampelinstallationen an kreuzungen beschreibt. -- ################################################################################################## -- 📄 PhaseAccess.lua -- 🔵 Purpose: -- This module defines helper functions to access and manipulate the signal phase data structures. -- -- 🔵 Why: -- 1. Encapsulates the structure of phase definitions (offPhase, blinkPhase, phases, steps, triggers). -- 2. Allows changes to the internal data layout later without rewriting all core logic. -- 3. Centralizes repetitive lookup patterns (finding phase groups, steps, triggers). -- 4. Makes higher-level functions like AdvancePhase shorter, cleaner, and easier to maintain. -- -- 🔵 When to use: -- - Whenever signal states, phase groups, step triggers, green times, or emissions must be accessed. -- - Whenever crossing timing or switching behavior must depend on the phase definition. -- -- 🔵 Advantages: -- - Reduces repeated code in phase handling logic. -- - Isolates possible data format changes into one place. -- - Improves code readability and debuggability. -- -- ################################################################################################## -- 🔵 Find full phase data for a given crossing type -- Used whenever a crossing needs to load its signalPhases by type function GetPhaseDataForType(signalPhases, crossingType) for i = 1, #signalPhases do if signalPhases[i].type == crossingType then return signalPhases[i] end end return nil end -- 🔵 Return offPhase array ("lights off" state) from a phase definition -- Used when initializing crossing or setting all signals off function GetOffPhaseFromPhaseData(phaseData) return phaseData and phaseData.offPhase or nil end -- 🔵 Return blinkPhase array ("blinking" state) from a phase definition -- Used for crossings set to flashing yellow or emergency blinking function GetBlinkPhaseFromPhaseData(phaseData) return phaseData and phaseData.blinkPhase or nil end -- 🔵 Get the list of phase groups ("main", "leftTurn_2", "leftTurn_4", etc.) -- Needed whenever you want to find specific signal behavior groups function GetPhaseGroupsFromPhaseData(phaseData) return phaseData and phaseData.phases or nil end -- 🔵 Find a single phase group by its name -- Used to access steps for "main" or special leftTurn phases function FindPhaseGroupByName(phaseGroups, groupName) if not phaseGroups then return nil end for i = 1, #phaseGroups do if phaseGroups[i].name == groupName then return phaseGroups[i] end end return nil end -- 🔵 Get the list of steps from a phase group -- Needed whenever advancing or processing signal switching function GetStepsFromPhaseGroup(phaseGroup) return phaseGroup and phaseGroup.steps or nil end -- 🔵 Return the triggers table if defined -- Needed when checking if a special trigger (left turn, etc.) is active function GetTriggersFromPhaseData(phaseData) return phaseData and phaseData.triggers or nil end -- 🔵 Return the timing table if defined -- Needed when adjusting timing between signal phases function GetTimingFromPhaseData(phaseData) return phaseData and phaseData.timing or nil end -- 🔵 Return the greenTimeMultiplier table inside timing -- Needed for setting dynamic green times depending on phase group function GetGreenTimeMultiplierFromTiming(timing) return timing and timing.greenTimeMultiplier or nil end -- 🔵 Return the specific green multiplier array for a group ("main", "leftTurn_2", etc.) -- Needed to adjust how long each signal group stays green function GetGreenMultiplierForGroup(greenMultipliers, groupName) return greenMultipliers and greenMultipliers[groupName] or nil end -- 🔵 Return the next signal state array for a group at a given step -- Used to update multiple signals in one logical step function GetNextStateForSignalGroup(phaseGroup, stepIndex) local steps = GetStepsFromPhaseGroup(phaseGroup) return steps and steps[stepIndex] or nil end -- 🔵 Return the next single signal state at a step (e.g., for S1, S2, etc.) -- Used if only a single signal needs to be checked or updated function GetNextStateForSignal(phaseGroup, stepIndex, signalIndex) local step = GetNextStateForSignalGroup(phaseGroup, stepIndex) return step and step[signalIndex] or nil end -- 🔵 Check if a trigger is defined for a specific step -- Used to see if phase switching should wait for external events function IsTriggerDefinedForPhase(triggers, stepIndex) if not triggers then return false end local entry = triggers[stepIndex] return entry and (entry.trigger ~= nil) end -- 🔵 Check if a phase group auto-advances (no waiting) -- Used to decide if the crossing should immediately continue to next step function IsGroupAutoAdvance(phaseGroup) return phaseGroup and phaseGroup.autoAdvance == true end -- 🔵 Return the target phase name triggered at a given step -- Used to switch into left turn phases, etc. function GetTriggerPhaseName(triggers, stepIndex) if not triggers then return nil end local entry = triggers[stepIndex] return entry and entry.trigger and entry.trigger.phase or nil end -- 🔵 Return the emitted phase name when step emits a change -- Used when leaving special triggered phases (back to "main" etc.) function GetEmitName(triggers, stepIndex) if not triggers then return nil end local entry = triggers[stepIndex] return entry and entry.emit or nil end -- 🔵 Advance the phase index safely (wrap around if overflow) -- Used at the start of every AdvancePhase to move to the next step function AdvancePhaseIndex(crossing, steps) crossing.phaseIndex = (crossing.phaseIndex or 0) + 1 if not steps[crossing.phaseIndex] then crossing.phaseIndex = 1 end end -- 🔵 Create a readable string of current step signal states -- Used mainly for debug outputs ("3, 1, 3, 1") function DumpSignalState(step) local text = "" for i = 1, #step do if i > 1 then text = text .. ", " end text = text .. tostring(step[i] or "nil") end return text end Und viele andere gruppen von generischen fuktionen Gruss Gmd
-
Zeilennummern bei fehlern sind nicht sehr nuetzlich
Ja der syntxfehler war leicht zu beheben wie du sagst, hatte das nur gepostet als beispiel.. Die mehrzahl meiner fehler waehrend der entwicklung sind nils irgendwo und da bekomme ich ja meist keine zeilennummer. Und wie du bestaetigst, die zusammenfuehrung der globalen scripte ist die ursache fuer die "schraegen" zeilennummern. Werden die scripte immer in der gleichen reihenfolge zusammengefuegt ? Gruss Gmd
-
Junction issue
Hi Pete, You didn't get an answer yet, and to be honest, I do not quite understand what you are actually asking ? The picture does not help me either. Maybe you can elaborate a bit and you may get some answers. Regards gmd
-
Zeilennummern bei fehlern sind nicht sehr nuetzlich
Neo, Hier ein beispiel Anlage als entwurf 5CE7EEC1-B2C1-4D6B-A261-B660D70133CB Und hier die navigationshilfe Das event script Die FehlerMeldung Das ist das erste mal in einem event script, sonst hatte ich das nur in globalen scripten Gruss gmd
-
Gleiskontakt richtung abfragen
die ereignisee sind mir bekannt, dennoch wie kann ich die position abfragen oder geht das nicht ? und bitte nicht wieder die diskussion dass das ereignis das ja bereits enthaelt Gruss Gmd
-
Gleiskontakt richtung abfragen
Hallo, in the ereignisprotokollierung bekomme ich duplikate direkt hintereinander Ich nehmen an betreten und verlassen aber warum beide male -1 [7:32:08 PM] Gleiskontakt wird ausgelöst -> CR_1-TK_4, Caddy, -1 [7:32:09 PM] Gleiskontakt wird ausgelöst -> CR_1-TK_4, Caddy, -1 und wichtiger -- Wie kann ich in Lua abfragen ob der kontakt betreten oder verlassen wurde, oder auch natuerlich fahrzeugmitte ? gruss Gmd
-
Gibt es einen "Animation gestartet" event ?
Hallo, danke fuer die posts. Hatte aber gerade einen lichtblick, zugegebenermassen werden diese weniger Ich kann ja die animation per schnittstelle starten, da reicht ein miniprogramm und ich verwende einfach nicht den play und pause button. Damit kann ich ja einen benutzerevent starten, der alles tut was ich brauche. Gruss gmd
-
Gibt es einen "Animation gestartet" event ?
Wolfgang, danke fuer den post. Fuer den erststart ist das ok (gute idee), allerdings ja nicht wenn die anlage pausiert war. Naja, man kann ja auf dem standpunkt stehen, dass pausieren ja nichts veraendern sollte, das ist aber nicht so. Mir geht es hauptsaechlich auch um das testen von initialisierungs scripten, die testen ob komponenten fehlen etc. Die sollen nach jedem start oder nach pause ablaufen. Derzeit loesche ich ein flag der sagt, dass die initialisierung erfolgt ist. Aber jedesmal wenn ich aenderungen mache (nicht am script) moechte ich checks ablaufen lassen, deshalb die frage nach einem event bei "Start Animation". Gruss Gmd
-
Ampel mit linksabbiegerpfeil
wow danke das ging schnell.. sobald verfuegbar springe ich drauf vielen dank gruss gmd
-
Ampel mit linksabbiegerpfeil
grueneWelle.zip Kleiner movie, linksabbieger mit gruener welle Seitenhalter ist eingebaut gruss gmd
-
Ampel mit linksabbiegerpfeil
wow, vielen dank, war mal wieder nicht gruendlich genug gruss gmd