|
|
|
|
Hi ihrs,
bei mir hat sich da so ein "kleines" Prob. beim Basteln eines Zuges/Aufzuges (die Funktion ist bei beidem die selbe) aufgetan.
Da ich mich schon durch sehr viele Tuts und Foren gelesen habe währe es auch möglich das ich das ganze etwas zu kompliziert angehe aber alle meine vorherigen Versuche mit weniger Entitys, Functions und Einstellungen brachten noch schlechtere Ergebnisse als die von mir hier geschilderte "Konfiguration" des Zuges.
Entschuldigt bitte wenn der Text etwas länger wird aber ich versuche mein Problem genau darzustellen um Missverständnisen vorzubeugen .
Hier einmal der Soll-Zustand:
Es soll ein Zug mit 2 Schaltern zwischen zwei Stationen hin und her bewegt werden.
Logischerweise schicken die Schalter den Zug von einem path_corner zum anderen.
Anfangs soll der Schalter am path_corner2 keine Funktion haben, da der Zug schliesslich am path_corner1 steht und von dort aus zum Bewegen gebracht werden soll. Sprich wenn der Zug am path_corner2 steht soll der Schalter am path_corner1 keine Funktion haben (der Zug steht nicht dort also kann der Schalter ja auch nichts zum Fahren bringen;-) )
Bei jedem Rundenstart soll der Zug wieder auf die Startposition gesetzt werden und auch die entsprechenden Schalter wieder die Funktionen (An/Aus) haben.
So weit so gut.
#####
Der Aufbau:
1x func_train
2x path_corner
4x func_button
(mitlerweile)3x multimanager
2x multi_source
(mitlerweile)6x env_global
(mitlerweile)1x func_door
func_train (mit origin brush):
name: zug
first stop target: stop1
multi_manager3 (Steuerung zum Rundenstart):
name: mm_rundenstart
-Keyvalues
zugstatus_vorne_an: 0
zugstatus_hinten_aus: 0
func_door:
target: mm_rundenstart
Je 3x env_global für vorne und hinten
Vorne:
path_corner1 (vorne):
name: stop1
next stop target: stop2
fire on pass: zugstatus_vorne_an
-Flags
[x]wait for retrigger
func_button1 (vorne):
targetted object: mm_zug_vorne
master: ms_zug_vorne
-Flags
[x]don't move
multi_manager1 (vorne):
name: mm_zug_vorne
-Keyvalues
zug: 0
zugstatus_vorne_aus: 0
env_global1:
name: zugstatus_vorne_start
global state to set: zugstatusvorne
trigger mode: on
initial state: on
-Flags
[x]set initial state
env_global2:
name: zugstatus_vorne_an
global state to set: zugstatusvorne
trigger mode: on
initial state: on
-Flags
[ ]set initial state
env_global3:
name: zugstatus_vorne_aus
global state to set: zugstatusvorne
trigger mode: off
initial state: off
-Flags
[ ]set initial state
multisource:
name: ms_zug_vorne
global state master: zugstatusvorne
Hinten:
path_corner2 (hinten):
name: stop2
next stop target: stop1
fire on pass: zugstatus_hinten_an
-Flags
[x]wait for retrigger
func_button2 (hinten):
targetted object: mm_zug_hinten
master: ms_zug_hinten
-Flags
[x]don't move
multi_manager2 (hinten):
name: mm_zug_hinten
-Keyvalues
zug: 0
zugstatus_hinten_aus: 0
env_global1(4):
name: zugstatus_hinten_start
global state to set: zugstatushinten
trigger mode: on
initial state: on
-Flags
[x]set initial state
env_global2(5):
name: zugstatus_hinten_an
global state to set: zugstatushinten
trigger mode: on
initial state: on
-Flags
[ ]set initial state
env_global3(6):
name: zugstatus_hinten_aus
global state to set: zugstatushinten
trigger mode: off
initial state: off
-Flags
[ ]set initial state
multisource:
name: ms_zug_hinten
global state master: zugstatushinten
#####
Die Schalter steuern die jeweiligen multi_manager an die den Zug und den Status der env_globals ansprechen.
Die env_globals sind für den Status des Zuges ( und eigentlich auch der Schalter) verantwortlich und werden von der multisource gespeichert.
Die func_door soll den dritten multi_manager zu jedem Rundenstart triggern um den Status vorne auf "on" und den Status hinten auf "off" zu setzen.
Mit diesem Aufbau funktioniert der Zug soweit auch ganz gut, nur das nach der ersten Runde, wenn der Zug benutzt wurde, der Schalter am path_corner1 (so zu sagen der Startschalter) zwei mal gedrückt werden muss um den Zug in Bewegung zu setzen. Leider weiss ich nicht bzw. kann ich mir nicht vorstellen was das erste mal Drücken des Schalters bewirkt und warum erst der zweite Druck auf den Schalter den Zug bewegt.
Ich danke schon einmal im Vorraus herzlichst
MfG
Masta aka Perfect N.A.P
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von [KRK]M@sta{V} am 10.04.2009 17:59]
|
|
|
|
|
|
Kurz gesagt, wie bekomme ich ein env_global bei jedem Rundenstart auf einen bestimmten Status.
Nach dem laden der Map zählt soweit ich weiss das Flag "Set Inital State" aber wie steuere ich das zur 2. ode 40. Runde??
'MfG Der M@sta
|
|
|
|
|
|
Thema: zug mit buttons beim rundenstart triggern |