#1, by MachtnixWednesday, 11. June 2014, 00:39 11 years ago
Hallo,
ich habe mir ein relativ simples Problem vorgenommen, aber anscheinend ist es gar nicht so simpel.
Beim Betreten einer bestimmten Kulisse soll die Helligkeit langsam auf 10% abgesenkt und nach einer Pause wieder auf 100% erhöht werden. Ich möchte gerne eine Tag-Nacht-Simulation probieren.
Zum Testen habe ich erstmal nur Zehnerschritte gemacht, angedacht ist später aber eine langsamere 1%-Abstufung (allerdings kann man den Helligkeits-Regler gar nicht exakt einstellen, deshalb gibt es statt 70% eben z.B. 71% oder 69% usw. Daran würde eine 1%-Abstufung schon scheitern....). Die Aktion liegt bei "Beginn der Kulisse".
Nun ist mir aufgefallen, dass beim Verlassen und Neubetreten der Kulisse der Vorgang nicht jedesmal neu gestartet wird (wie ich annahm), sondern die Aktionen weiterlaufen. Die Person betritt die Kulisse also zum zweiten Mal und es ist dort schon abgedunkelt.
Auch das anfängliche Setzen auf 100% und bei "Ende der Kulisse" ignoriert die Engine, das heißt, sobald der Vorgang gestartet wird, laufen die Helligkeitsänderungen durch und lassen sich durch Verlassen und Betreten nicht neu starten. Somit ergibt der Befehl "Am Anfang der Kulisse" ja gar keinen Sinn, wenn beim erneuten Betreten noch alte Zustände abgearbeitet werden.
Naja, Tag und Nacht laufen ja auch automatisch weiter, egal, ob wo man steht... ;-) Ich könnte das Spiel nun so umbauen, dass mich das nicht weiter stört, aber hinterfragen möchte ich dieses Phänomen dennoch. Oder es gibt einen anderen Ort, wo ich die Aktionen plazieren könnte?
Abgesehen davon wäre das ein perfektes Beispiel für ein Script (sind ja stupide 200 Mal dieselben Schritte)... allerdings weiß ich überhaupt nicht, wo ich da anfangen soll. Klar kann ich in ein LUA-Script eine FOR-Schleife einbauen, die Werte von 0 bis 99 ausgibt, aber ich muss den Befehl "Helligkeit ändern" ja auch irgendwie ansprechen. Alleine die Schleife bewirkt ja nichts. In der VED-Datei gestöbert, wie der Befehl dazu wohl heißen möge, bin ich nicht schlau geworden. Beispiel:
<ActionPart name="Helligkeit auf 29% ändern" id="384" order="2" lastModified="-1" ActionPartCommand="115" ActionPartPath="" ActionPartInt="29" ActionPartAltInt="0" ActionPartAltInt2="0" ActionPartString="">
<ActionPartLink parentLink="F" id="-1" tableId="-1" LinkAny="F"/>
<ActionPartAltLink parentLink="F" id="-1" tableId="-1" LinkAny="F"/>
</ActionPart>
Vom Scripten bin ich noch meilenweit entfernt. Einige Beispiel-Scripte mit wirklich EINFACHEN Beispielen zum Verständnis wären hilfreich (z.B. ändere Outfit einer Person, lasse Person von A nach B gehen usw.). Wie sieht denn ein LUA-Script überhaupt aus? Gibt es eine Art "body", einen Main-Block? Muss ich Variablen deklarieren? Bibliotheken einbinden? Und, und, und...
Gruß
Machtnix