Well, i don't really comment my code. Probably should tho. (i'm pretty sure commenting code is ;* *; ;; lol if it isn't) What i do to create these teleporters is to create a normal kill trigger volume then use the "speed_halo_script01" code to remove the "kill" and maintain the "trigger" if you know what i mean. "speed_halo_script02" has the vehicle respawn scripts since vehicles that are object named do not respawn. Another solution is to make the vehicle invincible. ";;(object_cannot_die vehicle01 true)" in "speed_halo_script01". The problem with the Object teleporter script was that there is no statement that returns the velocity of the vehicle, so that had to be found another way. As a result the actual code to teleport the vehicles is located in the "speed_halo_script03". There are multiple examples of ways to teleport the vehicles. The first example is one i used in my speed halo map. (Only for vehicle01, needs to be copied and renamed for more vehicles) This teleports the vehicle to top on the correct sides of ramp that they entered from and also maintains the velocity of the vehicle for the players enjoyment. (probably could have used objects_distance_to_flag but i decided not to, if you read it you'll know what i mean) The next one (Example 2) is for vehicle02 and it also maintains the velocity of the vehicle but only teleports to a specific flag. (compared to first example) The next two after that are more examples that are commented out and do not maintain velocity (only gives specific initial velocity on way out). They are basically two different ways to do the same thing. (Example 3 and Example 4) (Diagrams of the 4 ways/examples are included with this txt...) By KILLER CHIEF, help from Kills Alone and Kirby_422. So here's the code, enjoy!: (script startup speed_halo_script01 (kill_volume_disable kill_trigger_volume_01) ;;(object_cannot_die vehicle01 true) ) (global short vehicle_timeout01 0) (global short vehicle_timeout02 0) (script continuous speed_halo_script02 (if (vehicle_test_seat_list vehicle01 "" (vehicle_riders vehicle01)) (set vehicle_timeout01 0) (set vehicle_timeout01 (+ vehicle_timeout01 1)) ) (if (>= vehicle_timeout01 1800 ;* 1800 ticks is roughly 30 seconds *;) (begin (object_create_anew vehicle01) (set vehicle_timeout01 0))) (if (vehicle_test_seat_list vehicle02 "" (vehicle_riders vehicle02)) (set vehicle_timeout02 0) (set vehicle_timeout02 (+ vehicle_timeout02 1)) ) (if (>= vehicle_timeout02 1800) (begin (object_create_anew vehicle02) (set vehicle_timeout02 0))) ) (global short tickCount01 0) (global short velocity01 2) (global short tickCount02 0) (global short velocity02 2) (script continuous speed_halo_script03 (if (or (< (objects_distance_to_flag vehicle01 flag01) 10) ;;Basically 10 units (distance) and the 700 dividend work well to obtain roughly the mean speed (< (objects_distance_to_flag vehicle01 flag02) 10) ;;of the vehicle that it travels when entering the teleporter. (so does 5 and 350, get the pattern?) (< (objects_distance_to_flag vehicle01 flag03) 10) (< (objects_distance_to_flag vehicle01 flag04) 10);;Distance of 10 is related to value below ---------------------------vvv ) (begin (set tickCount01 (+ tickCount01 1)) (if (volume_test_object kill_trigger_volume_01 vehicle01) (begin (if (and (< (objects_distance_to_flag vehicle01 flag01) (objects_distance_to_flag vehicle01 flag02)) (< (objects_distance_to_flag vehicle01 flag01) (objects_distance_to_flag vehicle01 flag03)) (< (objects_distance_to_flag vehicle01 flag01) (objects_distance_to_flag vehicle01 flag04)) ) (begin (object_teleport vehicle01 flag06) ) ) (if (and (< (objects_distance_to_flag vehicle01 flag02) (objects_distance_to_flag vehicle01 flag01)) (< (objects_distance_to_flag vehicle01 flag02) (objects_distance_to_flag vehicle01 flag03)) (< (objects_distance_to_flag vehicle01 flag02) (objects_distance_to_flag vehicle01 flag04)) ) (begin (object_teleport vehicle01 flag06) ) ) (if (and (< (objects_distance_to_flag vehicle01 flag03) (objects_distance_to_flag vehicle01 flag01)) (< (objects_distance_to_flag vehicle01 flag03) (objects_distance_to_flag vehicle01 flag02)) (< (objects_distance_to_flag vehicle01 flag03) (objects_distance_to_flag vehicle01 flag04)) ) (begin (object_teleport vehicle01 flag05) ) ) (if (and (< (objects_distance_to_flag vehicle01 flag04) (objects_distance_to_flag vehicle01 flag01)) (< (objects_distance_to_flag vehicle01 flag04) (objects_distance_to_flag vehicle01 flag02)) (< (objects_distance_to_flag vehicle01 flag04) (objects_distance_to_flag vehicle01 flag03)) ) (begin (object_teleport vehicle01 flag05) ) ) (if (> (/ 700 tickCount01) 2) (set velocity01 (/ 700 tickCount01)) (set velocity01 2));;<---700 dividend--------^^^ (object_set_velocity vehicle01 velocity01) ) ) ) (begin (set tickCount01 0) (set velocity01 2) ) ) (if (< (objects_distance_to_flag vehicle02 flag01) 10) (begin (set tickCount02 (+ tickCount02 1)) (if (volume_test_object kill_trigger_volume_01 vehicle02) (begin (object_teleport vehicle02 flag05) (if (> (/ 700 tickCount02) 2) (set velocity02 (/ 700 tickCount02)) (set velocity02 2)) (object_set_velocity vehicle02 velocity02) )) )(begin (set tickCount02 0) (set velocity02 2) ) ) ;* (if (< (objects_distance_to_flag vehicle02 flag01) 6) (begin (object_teleport vehicle02 flag05) ;;(object_set_velocity vehicle02 8) )) (if (volume_test_object kill_trigger_volume_01 vehicle02) (begin (object_teleport vehicle02 flag05) ;;(object_set_velocity vehicle02 8) )) *; )