Seite 3 von 4
Re: Boot wie im Trailer
Verfasst: 06.04.2009 18:57
von Superstylin
hab noch ma ne frage zu dem "SCN MQ01BootScript" was ihr hier oben geschrieben habt da muss man ja bestimmt noch paar sachen ins spiel einbauen ,oder ?
wenn ich mir das script so anschau seh ich
MQ01BootPlayerStuhl
MQ01BootPorimStuhlRef
MQ01BootMarker01
MQ01BootMarker05
MQ01BootMarkerPorim02
mmmmh also der stuhl wir woll das teil sein wo man sich dan drausetzen muss das es los geht ^^,aber was is das stuhlRef ? die marker sind bestimmt start und ziel ,oder ?
könnt ihr bitte noch ma erklären was ich wo einbauen muss und ob ich das script auf den stuhl oder das boot machen muss ?
danke schon mal
Re: Boot wie im Trailer
Verfasst: 06.04.2009 19:34
von Hoxyd
Hi, ich weiß nicht, wieviel Hintergrundwissen du hast und an welcher Achse dein Boot entlangfahren soll. Daher schwer.
Das ist eigentlich alles was du wissen musst:
Code: Alles auswählenSCN BewegungScript
Float YAchsePosition
Float YAchse
Float XAchsePosition
Float XAchse
Float ZAchsePosition
Float ZAchse
Short State
Begin GameMode
if ( State == 1 ) ; Wenn Variable State gleich 1 ist. An der Y Achse verschieben.
Set YAchsePosition to GetPos Y
Set YAchse to YachsePosition +10
SetPos Y Yachse
endif
if ( State == 2 ) ; Wenn Variable State gleich 2 ist. An der X Achse verschieben.
Set XAchsePosition to GetPos X
Set XAchse to XachsePosition +10
SetPos X Xachse
endif
if ( State == 3 ) ; Wenn Variable State gleich 3 ist. An der Z Achse verschieben.
Set ZAchsePosition to GetPos Z
Set ZAchse to ZachsePosition +10
SetPos Z Zachse
endif
End
Dieses Script muss auf jedem Objekt liegen das du bewegen willst. Den Spieler und alle Objekte.
Wenn jetzt die Variable
State 0, 4 oder größer ist passiert nix, steht das Boot also still.
Re: Boot wie im Trailer
Verfasst: 07.04.2009 10:44
von Superstylin
ja schon das es fährt schaf ich schon aber nicht das es stehn bleibt das ist eher mein prob ...
Re: Boot wie im Trailer
Verfasst: 07.04.2009 10:57
von Hoxyd
Du brauchst nen Marker. Einen xMarker am besten. Den findest du unter Static xMarker. Gib dem xMarker eine RefID:
"BootStopMarkerRef" oder so. Dem Boot gibst du die RefID:
"BootRef"
Dann füge deinem Script hinzu:
Code: Alles auswählenif ( State == 1 )
if ( "BootRef".GetDistance, "BootStopMarkerRef" <= 500 )
Set State to 4
endif
endif
Re: Boot wie im Trailer
Verfasst: 07.04.2009 11:45
von Superstylin
ich verstehs nich kannst du mir plz das script machen ...bitte
also das es losgeht kurz nachdem ich aufgestiegen bin und beim marker stehn bleibt ... und viellecht das ich erst am ziel absteigen kann ...
damit dus ma siehst hab ich nen screen angehängt ... (der stuhl und is nur zum test das bau ich nachher in nen andren mod ein ^^)
Re: Boot wie im Trailer
Verfasst: 07.04.2009 11:57
von Hoxyd
Hier:
Code: Alles auswählenSCN BootBewegung
Float XAchsePosition
Float XAchse
Short State
Begin OnActivate
if ( Player.IsCurrentFurnitureRef "001BootRef" == 1)
Set State to 1
endif
End
Begin GamMode
if ( State == 1 )
Set XAchsePosition to GetPos X
Set XAchse to XachsePosition +5
SetPos X Xachse
endif
if ( State == 1 )
if ( "001BootRef".GetDistance, "001BootStopMarkerRef" <= 200 )
Set State to -1
endif
endif
End
Re: Boot wie im Trailer
Verfasst: 07.04.2009 12:08
von Superstylin
mmmmh da kommt ein fehler
Non-persistent reference "001BootRef" cannot be used in a script
was muss ich machen ?
Re: Boot wie im Trailer
Verfasst: 07.04.2009 12:39
von Hoxyd
In dem Fenster von deinem Stuhl das Häkchen bei Persistend Reference rein setzen.
Re: Boot wie im Trailer
Verfasst: 07.04.2009 12:53
von Superstylin
jo ok, das script geht
aber ingame kann ich mich nich hinstezen
Re: Boot wie im Trailer
Verfasst: 07.04.2009 13:34
von Hoxyd
Jo, du musst normalerweise auch noch ein Script auf den Spieler legen, damit der sich mit bewegt. Probier mal das selbe Script auf den Spieler zu legen.
Code: Alles auswählenSCN BootBewegung
Float XAchsePosition
Float XAchse
Float Timer
Short State
Begin OnActivate
if ( Player.IsCurrentFurnitureRef "001BootRef" == 1)
Set State to 1
endif
End
Begin GamMode
if ( State == 1 )
DisablePlayerControls
Set Timer to Timer + GetSecondsPassed
if Timer >= 2 )
Set State to 2
Set Timer to -1
endif
endif
if ( State == 2 )
Set XAchsePosition to GetPos X
Set XAchse to XachsePosition +5
SetPos X Xachse
endif
if ( State == 2 )
if ( "001BootRef".GetDistance, "001BootStopMarkerRef" <= 200 )
EnablePlayerControls
Set State to -1
endif
endif
End