
Trigger erstellen (Schalterfunktion)
- Busspotter_Ricky
- Erledigt
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet:
-
-
-
-
Ich hab nur das jetzt durchgelesen. Erlichgesagt versteh ich das aber immernoch nicht. Ich weiß das man in der Model.cfg der jeweiligen Busses bei einem Schalter dann da das Mausevent eintragen muss. In der Cockpit osc muss ich dann diesen Steiger erstellen. Verstehe aber nicht wie das genau geht. Kapiere auch DAF ganze mit dem L.L S.L usw. Nicht.
LG
Das habe ich in die Cockpit.osc geschrieben. Ich wolle nämlich einen Schalter erstellen der bei einem Bus mit Automatiktüren die 2. Tür manuell öffnet die es beim GN92 der fall ist.
Code{trigger:cp_schalter_kinderwagen_sw} (L.L.schalter_kinderwagen) ! (S.L.schalter_kinderwagen) (T.L.ev_VDV_toggle_on) {end}
ich hab es von einem anderem Schalter kopiert und habe nur die namen geändert.
-
Kapiere auch DAF ganze mit dem L.L S.L usw. Nicht.
L.L. steht für Load Local
S.L. steht für Save Local
L.S. steht für Load System
S.S. gibt es nicht, da man auf eine Systemvariable nichts speichern kann! Der Wert wird - wie der Name bereits sagt - vom System festgelegt.
Local variables / Lokale Variablen sind selbst erstelle, benutzerdefinierte Variablen.System variables / System-Variablen sind Variablen, die bereits vorher existieren und vom System / Spiel (also OMSI) gesteuert werden. Diese können lediglich abgerufen (L = Load) werden.
(L.L.schalter_kinderwagen) ! (S.L.schalter_kinderwagen)
Ist einfachste Mathematik: Das Ausrufezeichen kehrt den Wert um. Und da man in der Computersprache lediglich mit den Zahlen 0 und 1 arbeitet, wird der Wert beim betätigen des Schalters immer zwischen 0 und 1 gewechselt.
-
Ok also jetzt kann ich im Spiel den Schalter drücken. Er soll ja wiegesagt bei Auto-Türen die 2. Tür öffnen und die soll dann offen bleiben bis ich den Schalter wieder zurückmache.
Ich habe da jetzt mal herum probiert aber nun aktiviert er wie ganze Zeit den Haltewunsch für beide hinteren Türen egal ob der Schalter drin ist oder nicht. In folgenden Dateien hab ich was verändert:
Cockpit.osc:
{trigger:cp_schalter_kinderwagen_sw}
(L.L.schalter_kinderwagen_sw) ! (S.L.schalter_kinderwagen_sw)
(T.L.ev_VDV_toggle_on)
{end}
Cockpit_varlist.txt:
door_handsteuerung
schalter_kinderwagen_sw
cp_schalter_kinderwagen_sw
door-3.osc:
{trigger:cp_schalter_kinderwagen_sw}
(L.L.door_handsteuerung) ! (S.L.door_handsteuerung)
{if}
0 (S.L.door_kinderwagenwunsch)
{endif}
{end}
model_NG313_main.cfg
[mesh]
VDV\Schalter\NL263_S_14.o3d
[visible]
door_handsteuerung
1
[viewpoint]
3
[mouseevent]
cp_schalter_kinderwagen_sw
[newanim]
origin_from_mesh
anim_rot
schalter_kinderwagen_sw
-10
[matl_change]
NL2x3_Dash.tga
0
lights_stand
[matl_item]
[matl_nightmap]
NL2x3_Dash_lm.tga
Vielleicht weiß jemand was ich wo verändeern muss damit es so ist wie ich geschrieben habe.
LG
-
Dann tut er ja was er soll
"schalter_kinderwagen_sw" aktiviert den mobilitätsgerechten Haltewunsch.
Wenn der Schalter was anderes machen soll, musst du die Variable ändern. Wobei ich nicht wüsste, warum man bei automatischen Türen die Türen manuell öffnen sollte...?
-
Beim gn92 tut er aber die Türhandsteuerung aktivieren wie ich beschrieben hatte. Muss ich den dann umbennen ?
-
Du hast den Trigger "cp_schalter_kinderwagen_sw" zweimal im Script...
Bei dem einen stellt er die Variable "door_handsteuerung" um,
in dem anderen die Variable "schalter_kinderwagen_sw".
Und zusätzlich wird beim ersten (door_handsteuerung) geschaut, dass, wenn dieser auf 1 steht, der Wert der Variable "door_kinderwagenwunsch" auf 0 gesetzt wird. Also mit anderen Worten: Nothahn betätigt -> Kinderwagenwunsch quittiert
-
soll ich den Schalter jetzt einfach anders nennen z.b. cp_türhaltung_sw ?
Sorry bin etwas inkompetent was scripting angeht deswegen raff ich alles nicht so ganz...
-
[mouseevent]
NAME
{trigger:NAME}
...
{end}
Was genau soll denn der Taster eigentlich können? Ich verstehe das so, dass der am Ende wie ein ganz normaler Türknopf funktioniert, nur eben nicht als Druckknopf, sondern als Kippschalter mit zwei Endlagen... oder?
-
Er soll halt beim MAN A23 NG313 der Autotüren hat die 2 Tür öffnen wie bei manuellen Türen also wie beim 2. Türtaster den es in dem Fall nicht gibt. Wenn ich den Schalter in die Grundposition zurückschalte dann soll die Tür wieder automatisch funktionieren und nach ca 1/2 sek wieder zugehen wenn sich eben niemand in der Lichtschranke befindet. Sowas hat der GN92 eben auch
-
Dann probiere mal folgendes aus:
Code: Das hier ins Script eintragen:{trigger:DEIN_NAME} (L.L.schalter_tuer_offen_halten) ! (S.L.schalter_tuer_offen_halten) {if} (M.L.DoorAft_Open) 0 (S.L.doorAftLastOpen) {endif} {end}
Code: Das hjer zusätzlich in eine beliebige, verwendete Varlist eintragen:schalter_tuer_offen_halten
"trigger:DEIN_NAME" musst du logischerweise ersetzen. Keine Ahnung was du bei mouseevent stehen hast...
-
ok moment
kommmt das ganze in door-3.osc oder cockpit.osc rein?
-
Und wenn das nichtfunktionieren sollte, dann bitte folgendes in den frame-Abschnitt des Scriptes eintragen:
kommmt das ganze in door-3.osc oder cockpit.osc rein?
das ist egal.
-
Spammt immernoch den Haltewunsch. Ich find keinen Frame abschnitt
hier
-
Ich find keinen Frame abschnitt
Was ist dann das?
Spammt immernoch den Haltewunsch.
Hast du die beiden Trigger vorher entfernt, oder stehen die jetzt drei mal drin?
-
bei door-3 hab ich noch den einen drin. auch löschen?
{trigger:cp_tuerhaltung_sw}
(L.L.schalter_tuer_offen_halten) ! (S.L.schalter_tuer_offen_halten)
{if}
(M.L.DoorAft_Open)
0 (S.L.doorAftLastOpen)
{endif}
{end}
{trigger:door_kinderwagenwunsch}
(L.L.door_freigabe) (L.L.door_handsteuerung) ! &&
{if}
1 (S.L.door_kinderwagenwunsch)
{endif}
{end}
-
Ne den kannste lassen. Hast du denn auch die Türfreigabe drin? Mein Scriptschnipsel öffnet lediglich die Tür (das ist dieses M.L.), und setzt die Lichtschranke bzw. dessen Timer solange auf 0 zurück (das, was du in den frame-Abschnitt noch schreiben sollst). Mehr nicht.
-
ja hatte ich aber der Schalter soll die 2. Tür eigentlich öffnen können ohne das die Freigabe drin ist.
So sieht es in der Varlist aus. Vielleicht liegt der Haltewunschspamm daran_
-
ja hatte ich aber der Schalter soll die 2. Tür eigentlich öffnen können ohne das die Freigabe drin ist.
Okay, aber würde denn der Taster die Tür offen halten, wenn du die Freigabe reindübelst?