Szenario scripten

  • Hallo zusammen,


    da ich mich ein wenig damit beschäftigt habe, ohne wirkliche Erfolge zu erzielen, möchte ich das Thema hier zur Diskussion stellen:


    Seit RW3 scheint es ja möglich zu sein, Szenarien zu scripten - stellt sich nur die Frage, wie das Ganze denn funktioniert. Dazu hab ich ein paar aktuelle Addons durchklamüsert und als erstes versucht, herauszubekommen, welche Komponenten dazugehören.


    Zunächst eine ScenarioScript.lua inklusive der kompilierten Variante ScenarioScript.luac. Die beiden liegen direkt im Scenarioordner und sind offensichtlich weder in der Scenario.bin, noch in der ScenarioProperties.xml verlinkt. Demnach scheint die Datei per Benennung erkannt zu werden. Das Script kann die Funktionen onEvent und TestCondition enthalten.


    onEvent wird angestoßen, wenn im Szenario ein Event ausgelöst wird. Interessanterweise sind im Szenarien-Edi die entsprechenden Einträge ausgegraut und unbenutzbar. Also muss das Ganze wohl manuell in die Scenario.xml eingetragen werden - und zwar bei den DriverInstructions in die <SuccessEvent> oder <FailureEvent>.


    Die TestCondition ( condition ) scheint "ähnlich" wie die Update-Schleife in anderen Scripts zu laufen. Sie wird für die jeweiligen Condition-Argumente mit dem SysCall ( "ScenarioManager:BeginConditionCheck", "ConditionName" ); gestartet und per SysCall ( "ScenarioManager:EndConditionCheck", "ConditionName" ); beendet.


    Also hab ich das Ganze mal in der Praxis ausprobiert: Ein Szenario erstellt, in den Spieleranweisungen eine Meldung ausgelöst und im entsprechenden Abschnitt der Scenario.xml unter <SuccessEvent> "meldung1" eingetragen. Dann eine ScenarioScript.lua angelegt, die das Event "meldung1" behandelt und testweise eine Ausgabe macht. Die Datei dann als kompilierte ScenarioScript.luac im SzenarienOrdner abgelegt und gespielt. Mit dem Ergebnis, dass die Meldung scheinbar kein Event triggert. Also was mache ich falsch? Bei den RSC-Addonszenarien geht es ja auch...


    Solange das Ganze nicht läuft, will ich von weiteren SysCalls noch gar nicht reden...


    Bin an dieser Stelle für Hinweise dankbar!


    Viele Grüße,
    Benjamin

  • Hallo,
    ich hab das Thema mal wieder herausgekramt da ich vor genau den gleichen Problemen wie einst BigBenjy stehe. Hat da jemand ein paar Hinweise wie man das machen kann?
    Evtl. Dokumentationen oder einfach mal einen Hinweis wie ich über die ersten Hürden komme. Habe nämlich auch das Problem dass die ersten Versuche mit einer Meldung via Script nicht im Szenario ausgeführt werden.


    Viele Grüße,
    Trip