OXS 2.0 TV Sound Bar
Compact sound bar pick for boosting TV, movie, and console audio.
View on Amazon
Bmmplay may earn a commission from qualifying purchases made through these links.
No products in the cart.
Simple enough for a child, powerful enough for a developer
BMM_Archive · July 16, 2026
The Story So Far by MobiusXVI​ Release Notes
#===============================================================================
# The Story So Far
# Author: Mobius XVI
# Version: 1.1
# Date: 02 MAR 2023
#===============================================================================
#
# Introduction:
#
# The purpose of this script is to allow you to remind the player about what
# has happened in the story whenever they load their game.
#
# Instructions:
#
# - Place this script below the defaults but above main. If you have other
# scripts that modify saving/loading, put this one below them.
# - What this script does is check a game variable of your choosing to
# determine the current "chapter". Then it loads a map that you specify to
# let you play out a cutscene of your own design to recap the story.
# So you'll need to complete the configuration section below to do this.
# - You can do whatever you want on the cutscene maps, including going to
# additional maps if need be. Whenever you finish with your cutscene, all
# you have to do is put the following script call in an event and the game
# will then load and allow the player to keep going.
# "Mobius_Story_So_Far.finish_cutscene" (without quotes)
#
# Features:
#
# - Very little scripting needed to make script work, since it uses maps for
# cutscenes.
# - Can have as many or few chapters as you want
# - Allows player to skip watching the cutscene and load directly into game
# (especially useful when reloading a game due to death)
#
# Issues/Bugs/Possible Bugs:
#
# - There may be incompatibility issues with any script that heavily modifies
# the saving/loading of the game. Placing this script below them should
# alleviate most problems
#
# Credits/Thanks:
# - Mobius XVI, author
# - Monkeysnow55, for requesting it
#
# License
# - Copyright 2023 Mobius XVI
# - This script is licensed under the MIT license.
# The full license is availble here:
# https://opensource.org/license/mit/
# Further, if you decide to use this script in a commercial product,
# I'd ask that you let me know via a forum post or a PM. Thanks.
#
#===============================================================================
# CONFIGURATION
#===============================================================================
module Mobius_Story_So_Far
CHAPTER_VARIABLE = 0
# Define the game variable that will be used to determine what chapter
# the player is on.
CUTSCENE_MAPS = [[5, 0, 0], # Chapter 0
[1, 9, 21], # Chapter 1
[15, 30, 0], # Chapter 2
# ...
#[MAP_ID, STARTING_X, STARTING_Y], # CHAPTER X
# ...
] # Array end - DON'T DELETE!
# This is an array of arrays. The inner arrays have three entries. The first
# is the Map_ID for whatever map you want to use for the cutscene. The second
# and third entries are for the player's x and y coordinates respectively.
# The inner arrays are all indexed, so whichever one comes first is used
# when the chapter variable is 0, the second array is used when the chapter
# variable is 1, and so on. Make sure all inner arrays are separated by commas
end
#===============================================================================
# ** Story So Far - EDIT BELOW THIS LINE AT OWN RISK
#===============================================================================
class Game_Temp
attr_accessor :cutscene_filename # filename to load after cutscene
end
class Scene_Load
# alias old loading method
alias mobius_ssf_on_decision on_decision
# new loading method
def on_decision(filename)
# If file doesn't exist
unless FileTest.exist?(filename)
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Read save data
file = File.open(filename, "rb")
read_save_data(file)
file.close
# Get chapter info
chapter_variable = Mobius_Story_So_Far::CHAPTER_VARIABLE
chapter = $game_variables[chapter_variable]
# Get cutscene info
@cutscene_info_array = Mobius_Story_So_Far::CUTSCENE_MAPS[chapter]
if @cutscene_info_array == nil or @cutscene_info_array.length < 3
# If there's no info, then load the save as normal
# Play load SE
$game_system.se_play($data_system.load_se)
# Load savefile as normal
mobius_ssf_on_decision(filename)
return
end
# If there is a cutscene, ask the player if they want to see it
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Set help text
@help_text = "Do you want to watch the story so far?"
@help_window.set_text(@help_text)
# Create choice window
@choice_window = Window_Command.new(120, ["Yes", "No"])
@choice_window.active = true
# Center choice window
@choice_window.x = 640 / 2 - @choice_window.width / 2
@choice_window.y = 480 / 2 - @choice_window.height / 2
@choice_window.z = 200
# Wait for input
end
# Load into cutscene
def load_into_cutscene(filename)
# Play load SE
$game_system.se_play($data_system.load_se)
# Remeber filename
$game_temp.cutscene_filename = filename
# Set cutscene info
cutscene_map_id = @cutscene_info_array[0]
cutscene_x = @cutscene_info_array[1]
cutscene_y = @cutscene_info_array[2]
# Stop BGM
Audio.bgm_stop
# Load cutscene map
# Set up new map
$game_map.setup(cutscene_map_id)
# Move player to initial position
$game_player.moveto(cutscene_x, cutscene_y)
# Refresh player
$game_player.refresh
# Straighten player
$game_player.straighten
# Run automatic change for BGM and BGS set with map
$game_map.autoplay
# Update map (run parallel process event)
$game_map.update
# Switch to map screen
$scene = Scene_Map.new
end
end
class Scene_File
# alias old update method
alias mobius_ssf_update update
def update
# If choice window is up don't do other updating
if @choice_window != nil and @choice_window.active
# Update command window
@choice_window.update
# If C button was pressed
if Input.trigger?(Input::C)
# Branch by command window cursor position
case @choice_window.index
when 0 # Yes
# Load into cutscene
load_into_cutscene(make_filename(@file_index))
when 1 # No
# Call old loading method
mobius_ssf_on_decision(make_filename(@file_index))
end
@choice_window.dispose
end
return
else # If no choice window, perform normal updating
mobius_ssf_update
end
end
end
module Mobius_Story_So_Far
def Mobius_Story_So_Far.finish_cutscene
# Prevent Screen Changes
Graphics.freeze
# Recall old filename
filename = $game_temp.cutscene_filename
# Create Load screen
$scene = Scene_Load.new
# Load savefile using original method
$scene.mobius_ssf_on_decision(filename)
end
end
Log in, then follow the RPG Maker Developers Group to see these download links.
Log in to download# Credits/Thanks: # - Mobius XVI, author # - Monkeysnow55, for requesting it #
If you are the original creator and want this listing reassigned, edited, or removed, join BMMPlay and contact the moderators with proof that matches the original RPG Maker Web profile, linked GitHub, itch.io page, or another public creator identity.
No replies yet.
Loading summary...
Bmmplay creator tools
Log in or create an account to use this creator tool.
Join the conversation
Your reaction is ready. Log in and you will return to this page to add it.
Are you sure you want to close this music player?
OXS 2.0 TV Sound Bar
Compact sound bar pick for boosting TV, movie, and console audio.
View on Amazon
Bmmplay may earn a commission from qualifying purchases made through these links.
Community safety