function onBegin()
    if not getFlag("CS_cutscene_1") then
        setFlag("CS_cutscene_1", true)
        waitUntilOnGround()
        player.ForceCameraUpdate = true
        disableMovement()
        walkTo(15752, false, 1.3)
        wait(0.6)
        walk(-24, false, 1.3)
        wait(0.8)
        walk(5, false, 1)
        say("CS_top")
        wait(0.3)
        walk(-5, false, 1)
        wait(0.3)
        say("CS_topA")
        wait(0.3)
        walk(5, false, 1)
        say("CS_topB")
        wait(1)
        say("CS_topC")
        wait(0.3)
        walk(-5, false, 1)
        wait(0.6)
        walk(12, false, 1.3)
        wait(0.4)
        say("CS_topD")
        wait(0.1)
        walk(39, false, 1.6)
        coroutine.yield(jump(2))
        walk(180, false, 1.5)

        waitUntilOnGround()
        enableMovement()
    end
end

function onEnd(level, wasSkipped)
    if wasSkipped then
        teleportTo(15952, -3416)
        enableMovement()
        setFlag("CS_cutscene_1", true)
    end
end
