Might work for fighters, but less so on larger ships (especially capital ships), unless you're going to mess around with set-ship-speed (it works on a per-frame basis, so you'd need 0 repeat delays).
As soon as the ship arrives, teleport it directly in front of the player, cloak it, spawn a fake warp effect, decloak it as it comes through. olololo
Or spawn the warp effect a tiny moment before the ship arrives, and teleport the vessel right away when it arrives (i suppose...).
2. I'd read up on this part (http://www.hard-light.net/wiki/index.php/Tutorial_-_In-Mission_Jumps#warp-effect_and_Relative_Coordinates) of a tutorial to understand how you can get a position of something directly in front or something else.
3. And as for moving and pointing, well there's sexps for that. :) (Coordinate manipulation category!!)
set-object-position let's you "teleport" a ship anywhere. Do the event with a has-arrived-delay with a 0 delay.
$Formula: ( when-argument
( any-of
"Enemy Ship 1"
"Enemy Ship 2"
)
( has-arrived-delay 0 "<argument>" )
( set-object-position
"<argument>"
( get-object-x
"Enemy Jump In-Spawn:1"
)
( get-object-y
"Enemy Jump In-Spawn:1"
)
( get-object-z
"Enemy Jump In-Spawn:1"
)
)
( set-object-facing-object
"<argument>"
"Enemy Jump In-In Battle:1"
0
)
( set-object-position
"<argument>"
( +
( get-object-x "<argument>" )
( rand-multiple -2500 2500 )
)
( +
( get-object-y "<argument>" )
( rand-multiple -2500 2500 )
)
( +
( get-object-z "<argument>" )
( rand-multiple -2500 2500 )
)
)
( set-subsystem-strength
"<argument>"
"Simulated Hull"
90
)
( invalidate-argument "<argument>" )
)
+Name: Enemy Jump In - Start Enter
+Repeat Count: -1
+Trigger Count: 2
+Interval: 0
$Formula: ( when
( true )
( set-object-position
"Enemy Jump In-Spawn:1"
( +
( get-object-x "Battle Center:1" )
2000
)
( +
( get-object-y "Battle Center:1" )
0
)
( +
( get-object-z "Battle Center:1" )
25000
)
)
)
+Name: Enemy Jump In - Set Spawn
+Repeat Count: 1
+Interval: 1
$Formula: ( when-argument
( any-of
"Enemy Ship 1"
"Enemy Ship 2"
)
( and
( <=
( distance
"Enemy Ship 1"
"Enemy Jump In-In Battle:1"
)
10000
)
( = ( sim-hits-left "<argument>" ) 90 )
)
( play-sound-from-file
"exithyperspace.wav"
)
( invalidate-argument "<argument>" )
)
+Name: Play Exit Sound
+Repeat Count: -1
+Trigger Count: 3
+Interval: 0
$Formula: ( when-argument
( any-of
"Enemy Ship 1"
"Enemy Ship 2"
)
( and
( = ( sim-hits-left "<argument>" ) 90 )
( >=
( distance
"<argument>"
"Enemy Jump In-In Battle:1"
)
10000
)
)
( set-object-speed-z
"<argument>"
45000
( true )
)
)
+Name: Enemy Jump In - End Enter
+Repeat Count: -1
+Trigger Count: 99999
+Interval: 0
Edit: Just noticed there is a repeat count of -1 for some reason on some events, not sure why since in FRED it says just "1" not "-1".Whenever a trigger count is specified and repeat count is left on the default of 1, FRED saves the mission with a repeat count of -1, meaning "infinite", because otherwise the event would still only trigger once (which would be counter-intuitive to most FREDers).
Edit: Just noticed there is a repeat count of -1 for some reason on some events, not sure why since in FRED it says just "1" not "-1".Whenever a trigger count is specified and repeat count is left on the default of 1, FRED saves the mission with a repeat count of -1, meaning "infinite", because otherwise the event would still only trigger once (which would be counter-intuitive to most FREDers).