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
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
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:
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.
Das ist eigentlich alles was du wissen musst:
Code Select all
SCN 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
EndWenn jetzt die Variable State 0, 4 oder größer ist passiert nix, steht das Boot also still.
ja schon das es fährt schaf ich schon aber nicht das es stehn bleibt das ist eher mein prob ... 
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:
Dann füge deinem Script hinzu:
Code Select all
if ( State == 1 )
if ( "BootRef".GetDistance, "BootStopMarkerRef" <= 500 )
Set State to 4
endif
endifich 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 ^^)
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 ^^)
Attachments
Hier:
Code Select all
SCN 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
mmmmh da kommt ein fehler
Non-persistent reference "001BootRef" cannot be used in a script
was muss ich machen ?
Non-persistent reference "001BootRef" cannot be used in a script
was muss ich machen ?
In dem Fenster von deinem Stuhl das Häkchen bei Persistend Reference rein setzen.
jo ok, das script geht
aber ingame kann ich mich nich hinstezen
aber ingame kann ich mich nich hinstezen
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 Select all
SCN 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

