Wie Wiki-Einträge beinhalten nur eine grobe Übersicht. Das Scripten erlernt man damit sicher nicht.
Ansonsten hat Thomas schon recht:
Mit viel Fleiß
Grundlage ist das Verstehen, wie die Rechnerei in den Scripten abläuft. Das alles zu erklären ist zu Umfangreich. Dahoer solltest du mit kleinen Sachen anfangen, die sehr einfach sind.
(L.L.Variable)
Hiermit wird der Wert einer Variable abgefragt. Ist der Wert "wahr" dann schreibt Omsi eine 1, Ist der Wert "unwahr" oder "falsch" dann schreibt Omsi eine 0.
(L.L.Variable) 0.25 >
Ähnlich in diesem Beispiel. Ist der Zustand des Objektes mit dieser Variable größer als 25% (0.25 = 25%, da 1= 100% ist), dann wird die Variable wahr, also wird 1 geschrieben.
(L.L.Variable) !
Hier wird ebenfalls die Variable ausgelesen und der Wert negiert. Ist die Variable wahr, dann schreibt Omsi 0, ist sie unwahr, schreibt Omsi 1.
Nun kann man einfache Variable berechnen lassen. Dabei gilt immer gleicher Aufbau:
Die Operatoren stehen im Wiki. Hier sind nur UND (&&) und ODER (||). Nun arbeitet Omsi diese Operations ab:
Variable_1 wahr oder unwahr?
UND
Variable_2 wahr oder unwahr?
ODER
Variable_3 wahr oder unwahr?
speichere das Ergebnis in die Variable mit dem Namen "Lösungsvariable".
Bis hierher ist es alles ganz einfach. Da Problem beginnt in den Scripten, weil ich dieses Beispiel unterschiedlich schreiben kann und dennoch kommt immer die selbe Antwort raus.
Noch kurz zur Erkennung der Lösung:
(L.L.Variable_1) Beispiel Wahr = 1
(L.L.Variable_2) && Beispiel unwahr = 0
(S.L.Lösungsvariable) Lösung = 0
Der Rest ist dann die Sache mit dem "logischen Gatter" (Digitaltechnik)
Variable_1 |
0 | 0 | 1 | 1 |
Variable_2 | 0 | 1 | 0 | 1 |
&& Lösung |
0 | 0 | 0 | 1 |
'|| Lösung (ohne Hochkommata) |
0 | 1 | 1 | 1 |
Was heißt das nun? Wann ist eine variable wahr oder unwahr? Beispiel eine einfache Tür. Ist die Tür zu (originale Position aus dem 3D-Programm), dann ist die Variable unwahr. Öffnet sich die Tür, dann bewegt sie sich von = (unwahr) nach = 1 (wahr). Ein Licht kann nur zwei Punkte annehmen. Entweder ist es unwahr (Licht aus) oder es ist wahr (Licht an). Das wiederholt sich mit allen Variabeln:
- Geschwindigkeitsabfrage (L.L.velocity) 7 <
- unter 7 km/h = wahr, über 7 km/h = unwahr
- Geschwindigkeitsabfrage 2 (L.L.velocity) 7 >
- unter 7 km/h = unwahr, über 7 km/h = wahr
- Türanfrage (L.L.door_0)
- Tür zu = unwahr, Tür auf = wahr
- Feststellbremse (L.L.bremse_feststell)
- fest = wahr, gelöst = unwahr
- Breslicht (L.L.light_brems)
- aus = unwahr, ein = wahr
Soweit der einfache Teil. Jetzt wird es kompliziert. In Omsi gibt es bestimmte Variable, die du nicht umbennen kannst. Das sind die festgelegten Systemvariablen (Wetter, Temperatur, Helligkeit, Sonnenstand, Uhrzeit, usw). Die kannst du nicht ändern. Aber man kann andere Variablen umbenennen und somit auch neue Variablennamen einführen. Ich muß die Variable für den ersten Türflügel nicht (L.L.door_0) nennen, ich kann sie auch (L.L.tuer_A) bezeichnen. Diese Abfrage[L.L.] funktioniert nur, wenn ich die Fahrzeugvariable auch so gespeichert habe [S.L.] (S.L.tuer_A). Fortan muß ich die Türabfrage auch so benennen. Also wenn eine bestimmte Variable in einem Bus einen festgelegten Namen hat, heißt es nicht, das es auch in allen anderen Bussen so sein muß.
Ich empfehle dir, mit wirklich einfachen Sachen anzufangen. Am besten eignet sich der MB O305 von Rolf oder die Busse von M+R Software. Hier sind die Scripte noch sehr übersichtlich. Nun kannst du beim MB O305 kleine Fehler berichtigen oder neue Sachen umbauen. Man kann die fehlerhafte Schaltung des Türlicht berichtigen oder Kontrolleuchten verändern. Das sind so die ersten Schritte, die wirklich sehr einfach sind.
Es ist ratsam, die ersten Gehversuche mit dem Wiki-Eintrag "Scriptsystem" zu erkunden. Damit kannst du anfangen, leichte Berechnungen auszulesen und eigene Schritte in das Script zu pinseln. Wichtig sind die Variablenzugriffe und die Operatoren. Du mußt diese nicht auswendig lernen, du solltest nur wissen, wo diese stehen, damit du immer nachschauen kannst. So merkst du dir das ganze Automatisch.