(object_teleport object flag)
To start off:
Add this to the top of your script
(script static unit player
(unit (list_get (players) 0))
Now you can teleport the player with a script.
(object_teleport player flagname)
Create cutscene flags in sapien, name them, and replace flagname with the flag name. Drop that in your script where you want and you can teleport the player. So essentially you can make a trigger volume, sleep until the player enter the trigger volume, then teleport them.
(sleep_until (volume_test_objects TRIGGERVOLUME (players))15)
(object_teleport player FLAGNAME)
If you have different bsps, loop at the order they were added to your scenario. The first bsp is bsp 0, the next is 1 and so on. So if you need to switch bsp you can add that script in there to