Jo, es ist die Zweitmöglichkeit der Strichpunkt klammert Dinge in Programmiersprachen aus, die werden nicht berücksichtigt.
Set XAchse to XachsePosition +11 ist einfach die Anzahl der Einheiten die sich das Boot jedes Bild/Frame an der XAchse (was genau die Xachse im Spiel ist, musst im Editor nachsehen, bei den Objekteigenschaften) nach vorne bewegt. Je höher der Wert desto schneller. Kannst natürlich auch Minuswerte angeben, dann fährt es in die andere Richtung.
Boot wie im Trailer
Moderator: Moderatoren
Nur zum Verständnis:
SCN Boot
Float -18957.0097Position
Float -18957.0097
GameMode
Set -18957.0097Position to GetPos x
Set -18957.0097 to -18957.0097Postition +11
SetPos x -18957.0097
End
Kann mir nicht vorstellen, dass das richtig ist, am Besten wärs natürlich, wenn du das Script direkt aus Nehrim zeigen würdest.
Das wär exstremst nett, Danke!
SCN Boot
Float -18957.0097Position
Float -18957.0097
GameMode
Set -18957.0097Position to GetPos x
Set -18957.0097 to -18957.0097Postition +11
SetPos x -18957.0097
End
Kann mir nicht vorstellen, dass das richtig ist, am Besten wärs natürlich, wenn du das Script direkt aus Nehrim zeigen würdest.
Das wär exstremst nett, Danke!
Wer Rechtschreibfehler findet, darf sie behalten...
-
Hoxyd
SureAI
- Schwarzer Wächter
- Beiträge: 4695
- Registriert: 02.10.2005 16:09
- Hat sich bedankt: 130 Mal
- Danksagung erhalten: 228 Mal
-
Die Float Variablen bleiben wie sie sind. Die speichern die Werte nur, die sich verändern.
Natürlich geht es noch verwirrender, wie du wünscht:
Ist bisschen chaotisch gescriptet aber es geht.
Natürlich geht es noch verwirrender, wie du wünscht:
Ist bisschen chaotisch gescriptet aber es geht.
Code: Alles auswählen
SCN MQ01BootScript
Float XAchsePosition
Float XAchse
Float Timer
Short BootState
Short BootAnkunft
Short BootAnkunft2
Begin OnActivate
if (Player.IsCurrentFurnitureRef "MQ01BootPlayerStuhl" != 1)
Message "Ihr müsst Euch erst auf euren Platz am Heck setzen, damit das Boot ablegen kann."
endif
End
Begin GameMode
if (MQ01PorimRef.GetDistance, "MQ01BootPorimStuhlRef" <= 100) && (BootState == 0)
Set Storyvar to 5
endif
End
Begin GameMode
if (Player.IsCurrentFurnitureRef "MQ01BootPlayerStuhl" == 1) && (Storyvar == 5) && (BootState == 0)
DisablePlayerControls
Set Timer to Timer + getSecondsPassed
if ( Timer >= 5 )
PlaySound3d DRSMetalOpen01
Message "Das Boot legt ab."
Set BootState to 1
Set Storyvar to 10
Message "Das Boot legt ab." ;Nachricht
endif
endif
End
Begin GameMode
if (BootState == 1)
Set XAchsePosition to GetPos X
Set XAchse to XachsePosition +11
SetPos X Xachse
endif
End
Begin GameMode
if (MQ01BootRef.GetDistance, MQ01BootMarker01 <= 300) && (Storyvar == 10)
Set Storyvar to 15
Set BootAngreifer to 1
endif
End
Begin GameMode
if (MQ01BootRef.GetDistance, MQ01BootMarker05 <= 100) && (BootState == 1)
Set Bootstate to 2
Set Storyvar to 20
SetStage MQ01Porim 15
Set BootAnkunft to 1
endif
End
Begin GameMode
if (Bootstate == 2)
Set XAchsePosition to GetPos X
Set XAchse to XachsePosition +0
SetPos X Xachse
Player.EnablePlayerControls
endif
End
Begin GameMode
if (Storyvar == 20) && (BootAnkunft2 == 0)
MQ01PorimRef.moveto "MQ01BootMarkerPorim02"
Set BootAnkunft2 to 1
endif
End
Danke!
Also muss ich diese ganzen Xachse-Dinger so lassen wie sie sind (?)
Ich geh einfach mal davon aus, dass das Script nicht mit der HQ von Nehrim zu tun hat
Und das hat es Aber die Erläuterung, dass ich Nichts durch "XAchse" ersetzten muss, hätte eig schon gereicht, denn dann hätte ich auch das Script auf der Vorherigen Seite nehmen können.
Apropos, der Script-Editor kann den Begriff "GameMode" nicht interpretieren
Also muss ich diese ganzen Xachse-Dinger so lassen wie sie sind (?)
Ich geh einfach mal davon aus, dass das Script nicht mit der HQ von Nehrim zu tun hat
Und das hat es Aber die Erläuterung, dass ich Nichts durch "XAchse" ersetzten muss, hätte eig schon gereicht, denn dann hätte ich auch das Script auf der Vorherigen Seite nehmen können.
Apropos, der Script-Editor kann den Begriff "GameMode" nicht interpretieren
Wer Rechtschreibfehler findet, darf sie behalten...
-
Hoxyd
SureAI
- Schwarzer Wächter
- Beiträge: 4695
- Registriert: 02.10.2005 16:09
- Hat sich bedankt: 130 Mal
- Danksagung erhalten: 228 Mal
-
Genau, und geh auch nicht davon aus, dass irgendjemand das Boot angreifen könnte. Nene, wir spoilern nicht.
Begin GameMode
if (MQ01BootRef.GetDistance, MQ01BootMarker01 <= 300) && (Storyvar == 10)
Set Storyvar to 15
Set BootAngreifer to 1
endif
End
GameMode ist ein ganz normaler Blockbefehl.
Begin GameMode
if (MQ01BootRef.GetDistance, MQ01BootMarker01 <= 300) && (Storyvar == 10)
Set Storyvar to 15
Set BootAngreifer to 1
endif
End
GameMode ist ein ganz normaler Blockbefehl.
Das Script ist der Hammer, allerdings habe ich folgende zwei Probleme:
- das Boot startet, ohne, dass ich es aktiviere (ich glaube der Startbefehl dafür is Begin OnAdd Player)
- es kollidiert nicht mit Objekten (oder dem Erdboden )
Tschuldige, dass ich dich so nerve , aber ich muss noch einmal eine wichtige Frage stellen:
Wie kann ich das Boot nochmals aktivieren, sodass es in die andere Richtung fährt, bzw. anhält?
- das Boot startet, ohne, dass ich es aktiviere (ich glaube der Startbefehl dafür is Begin OnAdd Player)
- es kollidiert nicht mit Objekten (oder dem Erdboden )
Tschuldige, dass ich dich so nerve , aber ich muss noch einmal eine wichtige Frage stellen:
Wie kann ich das Boot nochmals aktivieren, sodass es in die andere Richtung fährt, bzw. anhält?
Wer Rechtschreibfehler findet, darf sie behalten...
hi
wie funktioniert das mit der rotation?
ich habs so probiert:
das ist nicht der ganze script.
wie funktioniert das mit der rotation?
ich habs so probiert:
das ist nicht der ganze script.
Code: Alles auswählen
Begin gamemode
if (bootstate == 1)
set xachserotation to get pos x
set xachse to xachserotation +2
set pos x xachse
player. xachserotation to get pos x
player.xachse to xachserotation +2
player.set pos x xachse
Chair. xachserotation to get pos x
Chair.xachse to xachserotation +2
Chair.set pos x xachse
endif
end
-
Hoxyd
SureAI
- Schwarzer Wächter
- Beiträge: 4695
- Registriert: 02.10.2005 16:09
- Hat sich bedankt: 130 Mal
- Danksagung erhalten: 228 Mal
-
Das ist jetzt die einfache Drehung.
Code: Alles auswählen
scn RotateXPlus05
Float XAchse
Float xAchseMoved
Begin GameMode
Set XAchse to GetAngle X
Set XAchseMoved to XAchse + 0.5
SetAngle X XAchseMoved
end
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste