public

Rpg Maker Developers Group

Simple enough for a child, powerful enough for a developer

2 Followers

Dungeon Master Engine Ace

BMM Archive · July 15, 2026

Preserved forum archive. This topic stores the original first post and locally mirrored RPG Maker Web attachments when available. It is posted by the BMMPlay archive account, not by the original creator.

Original Source

  • Original title: Dungeon Master Engine Ace
  • Original author: Wyn Wizard
  • Original date: April 29, 2015
  • Source thread: https://forums.rpgmakerweb.com/threads/dungeon-master-engine-ace.39450/
  • Source forum path: Game Development Engines > Ruby Game System (RGSS) Scripts > RGSSx Scripts In Development

Summary

Introduction:​  Hello RMW! My name is Eugene Petrie, otherwise known as Wyn Wizard.   I am a novice scripter and as of late I have decided to create my own "Script Engine" for you guys to use. I've always wanted to work with open source code and make free things for others, since I enjoy making others happy. So, without further introductions, I give you Dungeon Master Engine Ace Beta 1.0!

Archived First Post

Introduction:
 

Hello RMW! My name is Eugene Petrie, otherwise known as Wyn Wizard.

 

I am a novice scripter and as of late I have decided to create my own "Script Engine" for you guys to use. I've always wanted to work with open source code and make free things for others, since I enjoy making others happy. So, without further introductions, I give you Dungeon Master Engine Ace Beta 1.0!

 

 

Release 1: This purpose for this release is to give the creator some scripts that change the appearance of their game.  By adding a splash screen, players can advertise either their company/team or advertise groups that helped them create the game. As for the menu, at the moment its functionality is limited since I am still learning how to modify the menus. As of right now there is only one layout, but I intend add other default layouts that the player/creator can choose from, whether its from initial setup or from the options menu which I plan to create. The core script hold 90% of the modifiable functionality, but as of right now all but one sound is not used since i haven't gotten that far into modifying the menus. Things I plan for release 2 are: Title Menu, Modifiable Menu Layouts, Options scene, auto load/save. So as of right now the next few releases will mainly be functionality based scripts, and not so much game play add-ons. once I get the functionality of the engine complete i will create scripts like: Advanced Stat Distribution, Class/Sub-Class/Prestige classes, RTS battle system with point and click attack/defend, a modifiable hot bar with macro capability, a stat hud, and enhanced movement (moving in diagonals, strafing, etc.)

 

 

This Beta version of my engine includes the following scripts:

 

1.) Core

2.) Custom Main Menu

3.) Custom Party Menu [Required Add-On]

4.) Splash Scene

 

Release Notes:
This is version Beta 1.0. The next release may include modifications to the rest of the sub menus like items/equipment windows and may include a new options window. Also may include a modified title menu.

 

Spoilers:
 

DMEA Core Script:



Code:
#===============================================================================
# Author: Wyn Wizard
# Supporting Authors: Dekita
# Email: eugenepetrie@live.com
# Title: Dungeon Master Engine Ace - Core Script
# Creation Date: 4/1/2015 11:16 a.m.
# Version: 1.1
#===============================================================================
# KNOWN BUGS:
# None
#-------------------------------------------------------------------------------
# UPDATES:
# 1.) Added sound options
# 2.) Made a few functions to play custom sounds from core module.
# 3.) Made the screen resizable.
#-------------------------------------------------------------------------------
# INSTRUCTIONS:
# 1.) Place this script above all other scripts that run in this engine.
# 2.) The Editable reagion below is pretty self explanitory.
#     You can modify the screen size to your liking.
#     With the Sounds, all you have to change is the file name. DO NOT CHANGE
#     THE PATHS.
#     The Window Settings can be changed by renaming the "Window" to the name of
#     your choice. The picture for that must be in Graphics/system folder.
#     Uncomment the line 91 and enter your picture name where you see 'nil'.
#     The line shoud look like this: Banner_Name = Cache.system("banner_name").
#     This too should be in the Graphics/system folder.
#
# If any errors occur, please feel free to email me at eugenepetrie@live.com,
# or pm me, Wyn Wizard.
#-------------------------------------------------------------------------------
# TERMS AND CONDITIONS:
# 1.) You must credit Wyn Wizard and Dekita if you use this script or this
#     engine.
# 2.) This script and engine is free for non comercial games.
# 3.) This script and engine is not free for commercial games. If you want to
#     this engine in a comercial game, pm me since i am the main code master.
# 4.) Do not claim this script as your own. I know my coding style, and I will
#     persue legal actions.
#===============================================================================
# Version:
($imported||={})[:DM_Core] = 1.1
#===============================================================================
# CUSTOMIZABLE ZONE
#===============================================================================
module DMEA
  module Core
    #--------------------------------------------------------------------------
    # ** Screen Options **
    #--------------------------------------------------------------------------
    Screen_Size = {
        screen_width: 640, # Default width is 544, change this to the size of
                           # your choice.
        screen_height: 480 # Default height is 416, change this to the size of
                           # your choice.
    }
    #--------------------------------------------------------------------------
    # ** Sound Options ** 
    #--------------------------------------------------------------------------
    # Sound     = ["path" + "filename", volume, pitch]
    Sounds = {
      :open_menu  => ["Audio/SE/" + "Decision2", 80, 100],
      :close_menu => ["Audio/SE/" + "Cancel2", 80, 100],
      :move_curs  => ["Audio/SE/" + "Cursor2", 80, 100],
      :confirm    => ["Audio/SE/" + "Decision2", 80, 100],
      :cancel     => ["Audio/SE/" + "Cancel2", 80, 100],
      :buzzer     => ["Audio/SE/" + "Cancel1", 80, 100],
      :title      => ["Audio/BGM/" + "Fireside Tales", 80, 100]
    }
    #---------------------------------------------------------------------------
    # ■ Play Sound Effect
    #---------------------------------------------------------------------------
    def self.play_sound(key)
      Audio.se_play(*Sounds[key]) 
    end
    #---------------------------------------------------------------------------
    # ■ Play BGM
    #---------------------------------------------------------------------------
    def self.play_bgm(key)
      Audio.bgm_play(*Sounds[key])
    end
    #--------------------------------------------------------------------------
    # ** Windowskin Settings **
    #--------------------------------------------------------------------------
    Windowskin  = "Window"
    Opacity     = 255
    #--------------------------------------------------------------------------
    # ** Window Banner Settings **
    #--------------------------------------------------------------------------
    Banner      = false # set to true for banner, false uses default text
#~     Banner_Name = Cache.system(nil)
  end
end
#===============================================================================
# DO NOT EDIT BELOW HERE!
# EDITING BELOW HERE MAY RESULT IN, BUT NOT RESTRICTED TO: NAUSEA, VOMITING, 
# EXPLOSIVE DIARRHEA, IMPLOSIVE DIARRHEA, DEMINSIA, LOSS OF: VISION, HEARING,
# FEELING IN YOUR LEFT LEG, OR HAIR. 
#===============================================================================
# ** Core Class
#------------------------------------------------------------------------------
#  This class creates and initializes all needed game variables.
#==============================================================================
class Core
  #--------------------------------------------------------------------------
  # ■ set_screen_size
  #--------------------------------------------------------------------------
  def set_screen_size
    Graphics.resize_screen(*DMEA::Core::Screen_Size.values())
    #DMEA::Core::play_sound(:open_menu)
  end
end
#==============================================================================
# ** Window_Header
#------------------------------------------------------------------------------
#  This class creates the header for scenes.
#==============================================================================
class Window_Header < Window_Base
    #--------------------------------------------------------------------------
    # ■ Initialize
    #--------------------------------------------------------------------------
    def initialize(x, y, width, height)
      super(x, y, width, height)
      self.windowskin = Cache.system(DMEA::Core::Windowskin) if DMEA::Core::Windowskin
      self.back_opacity = DMEA::Core::Opacity
    end
    #--------------------------------------------------------------------------
    # ■ Set Text
    #--------------------------------------------------------------------------
    def set_text(text)
      contents.clear
      draw_text(0, 0, contents.width, contents.height, text, 1)
    end
end
#==============================================================================
game = Core.new()
game.set_screen_size()
#==============================================================================#
# ** Script created by Wyn Wizard **                                           #
#==============================================================================#



 

DMEA Main Menu Script:



Code:
#===============================================================================
# Author: Wyn Wizard
# Supporting Authors: Dekita
# Email: eugenepetrie@live.com
# Title: Dungeon Master Engine Ace - Custom Menu
# Creation Date: 4/15/2015
# Version: 1.0
#===============================================================================
# KNOWN BUGS:
# None
#-------------------------------------------------------------------------------
# UPDATES:
# 1.) Created base menu script with 4 commands.
# 2.) Added party submenu command
#-------------------------------------------------------------------------------
# INSTRUCTIONS:
# 1.) Place this script beloew the DMEA Core Script.
#     This is a plug and play script.
# If any errors occur, please feel free to email me at eugenepetrie@live.com,
# or pm me, Wyn Wizard.
#-------------------------------------------------------------------------------
# TERMS AND CONDITIONS:
# 1.) You must credit Wyn Wizard and Dekita if you use this script or this
#     engine.
# 2.) This script and engine is free for non comercial games.
# 3.) This script and engine is not free for commercial games. If you want to
#     this engine in a comercial game, pm me since i am the main code master.
# 4.) Do not claim this script as your own. I know my coding style, and I will
#     persue legal actions.
#===============================================================================
# Version:
($imported||={})[:DM_Menu] = 1.0
#===============================================================================
# Check Core Script Version:
if $imported[:DM_Core] >= 1.0
#===============================================================================
  #=============================================================================
  # ** Menu Scene
  #-----------------------------------------------------------------------------
  #  This class inherits the super class Scene_MenuBase
  #=============================================================================
  class Scene_Menu < Scene_MenuBase
    #---------------------------------------------------------------------------
    # ■ Start Method
    #--------------------------------------------------------------------------- 
    def start
      super
      create_header_window()
      create_help_window()
      create_command_window()
      create_status_window()
    end
    #---------------------------------------------------------------------------
    # ■ Create Header Window Method
    #--------------------------------------------------------------------------- 
    def create_header_window
      @header_window = Window_Header.new(0, 0, Graphics.width, Graphics.height * 0.20)
      @header_window.viewport = @viewport
      if (DMEA::Core::Banner)
        @header_window_banner = Sprite.new()
        @header_window_banner.bitmap = DMEA::Core::Banner_Name
        @header_window_banner.x = Grapics.width * 0.2
        @header_window_banner.y = 100
        @header_window_banner.z = 255
      else
        @header_window.set_text("Main Menu")
      end        
    end
    #---------------------------------------------------------------------------
    # ■ Create Command Window Method
    #--------------------------------------------------------------------------- 
    def create_command_window
      @command_window = Window_Main.new()
      @command_window.viewport = @viewport
      @command_window.height = Graphics.height - @header_window.height - @help_window.height
      @command_window.help_window = @help_window
      @command_window.set_handler(:inv_view, method(:command_inv_view))
      @command_window.set_handler(:party_view,  method(:command_party_view))
      @command_window.set_handler(:save_game,   method(:command_save_game))
      @command_window.set_handler(:load_game,   method(:command_load_game))
      @command_window.set_handler(:quit_game,   method(:command_quit_game))
      @command_window.set_handler(:cancel,    method(:return_scene))
    end
    #---------------------------------------------------------------------------
    # ■ Create Status Window Method
    #--------------------------------------------------------------------------- 
    def create_status_window
      @status_window      = Window_MenuStatus.new(0, 0)
      @status_window.x    = @command_window.width
      @status_window.y    = 0 + @header_window.height
      @status_window.height = Graphics.height - @header_window.height - @help_window.height
    end
    #---------------------------------------------------------------------------
    # ■ Create Help Window Method
    #--------------------------------------------------------------------------- 
    def create_help_window
      @help_window    = Window_Help.new()
      @help_window.x  = 0
      @help_window.y  = Graphics.height - @help_window.height
      @help_window.z  = 255
    end
    #---------------------------------------------------------------------------
    # ■ Update Method
    #--------------------------------------------------------------------------- 
    def update
      super
      return_scene() if Input.trigger?(:
    end
    #---------------------------------------------------------------------------
    # ■ Terminate Method
    #--------------------------------------------------------------------------- 
    def terminate
    super 
      # Uncomment the lines below to dispose of the banner that is used.
#~      @header_window_banner.dispose()
#~      @header_window_banner.bitmap.dispose()
    end
    #---------------------------------------------------------------------------
    # ■ Save Game Command
    #--------------------------------------------------------------------------- 
    def command_save_game
      SceneManager.call(Scene_Save)
    end
    #---------------------------------------------------------------------------
    # ■ Load Game Command
    #--------------------------------------------------------------------------- 
    def command_load_game
      SceneManager.call(Scene_Load)
    end
    #---------------------------------------------------------------------------
    # ■ Quit Game Command
    #--------------------------------------------------------------------------- 
    def command_quit_game
      SceneManager.call(Scene_End)
    end
    #---------------------------------------------------------------------------
    # ■ View Inventory Command
    #--------------------------------------------------------------------------- 
    def command_inv_view
      SceneManager.call(Scene_Item)
    end
    #---------------------------------------------------------------------------
    # ■ View Party Command
    #---------------------------------------------------------------------------
    def command_party_view
      SceneManager.call(Scene_Party)
    end
  end
  #=============================================================================
  # ** Command_Window
  #-----------------------------------------------------------------------------
  #  This class creates the command window for scenes.
  #=============================================================================
  class Window_Main < Window_Command
    #---------------------------------------------------------------------------
    # ■ Initialize Method
    #---------------------------------------------------------------------------
    def initialize
      super(0, Graphics.height * 0.2)
    end
    #---------------------------------------------------------------------------
    # ■ Visibel Line Number Method
    #---------------------------------------------------------------------------
    def visible_line_number
      item_max
    end
    #---------------------------------------------------------------------------
    # ■ Create Command List Method
    #---------------------------------------------------------------------------
    def make_command_list
      add_command("Inventory", :inv_view)
      add_command("Party", :party_view)
      add_command("Save", :save_game)
      add_command("Load", :load_game)
      add_command("Quit", :quit_game)
    end
    #---------------------------------------------------------------------------
    # ■ Process Ok Method
    #---------------------------------------------------------------------------
    def process_ok
      @@last_command_symbol = current_symbol
      super
    end
    #---------------------------------------------------------------------------
    # ■ Select Last Method
    #---------------------------------------------------------------------------
    def select_last
      select_symbol(@@last_command_symbol)
    end
    #---------------------------------------------------------------------------
    # ■ Update Help Window Method
    #---------------------------------------------------------------------------
    def update_help
      super
      return unless @help_window
      @help_window.set_text("Take a look at what loot you have aquired") if @index == 0
      @help_window.set_text("Take a look at your party and its options.") if @index == 1
      @help_window.set_text("Save current game progress.") if @index == 2
      @help_window.set_text("Load previous game progress.") if @index == 3
      @help_window.set_text("Quit game.") if @index == 4
    end
  end
else
  msgbox_p("Dungeon Master Engine Ace - Core Script is either out of date or missing.")
  exit
end #end script
#==============================================================================#
# ** Script created by Wyn Wizard **                                           #
#==============================================================================#



 

DMEA Party Menu Script [Required Add-On]:



Code:
#===============================================================================
# Author: Wyn Wizard
# Supporting Authors: Dekita
# Email: eugenepetrie@live.com
# Title: Dungeon Master Engine Ace - Party Sub Menu
# Creation Date: 4/15/2015
# Version: 1.0
#===============================================================================
# KNOWN BUGS:
# None
#-------------------------------------------------------------------------------
# UPDATES:
# 1.) Created a Party Sub Menu that handles Formation, Equipment, Skills, and
#     Status views.
#-------------------------------------------------------------------------------
# INSTRUCTIONS:
# 1.) Place this script beloew the DMEA Custom Menu Script.
#     This is a plug and play script.
# If any errors occur, please feel free to email me at eugenepetrie@live.com,
# or pm me, Wyn Wizard.
#-------------------------------------------------------------------------------
# TERMS AND CONDITIONS:
# 1.) You must credit Wyn Wizard and Dekita if you use this script or this
#     engine.
# 2.) This script and engine is free for non comercial games.
# 3.) This script and engine is not free for commercial games. If you want to
#     this engine in a comercial game, pm me since i am the main code master.
# 4.) Do not claim this script as your own. I know my coding style, and I will
#     persue legal actions.
#===============================================================================
# Version:
($imported||={})[:DM_Party] = 1.0
#===============================================================================
# Check Core Script Version:
if $imported[:DM_Menu] >= 1.0
#===============================================================================
  #=============================================================================
  # ** Scene Party
  #-----------------------------------------------------------------------------
  # This class re-works how the formation and status windows are seen.
  # Inherits from Scene_MenuBase
  #=============================================================================
  class Scene_Party < Scene_MenuBase
      #-------------------------------------------------------------------------
      # ■ Start Method
      #-------------------------------------------------------------------------
      def start
          super
          create_header_window()
          create_help_window()
          create_command_window()
          create_status_window()
      end
      #-------------------------------------------------------------------------
      # ■ Create Header Window Method
      #-------------------------------------------------------------------------
      def create_header_window
          @header_window = Window_Header.new(0, 0, Graphics.width, Graphics.height * 0.20)
          @header_window.viewport = @viewport
          @header_window.set_text("Party Menu")
      end
      #-------------------------------------------------------------------------
      # ■ Create help Window Method
      #-------------------------------------------------------------------------    
      def create_help_window
          @help_window    = Window_Help.new()
          @help_window.x  = 0
          @help_window.y  = Graphics.height - @help_window.height
          @help_window.z  = 255
      end
      #-------------------------------------------------------------------------
      # ■ Create Command Window Method
      #-------------------------------------------------------------------------    
      def create_command_window
          @command_window = Window_Party.new()
          @command_window.viewport = @viewport
          @command_window.height = Graphics.height - @header_window.height - @help_window.height
          @command_window.help_window = @help_window
          @command_window.set_handler(:status,        method(:command_personal))
          @command_window.set_handler(:formation,     method(:command_formation))
          @command_window.set_handler(:equip,         method(:command_personal))
          @command_window.set_handler(:skill,        method(:command_personal))
          @command_window.set_handler(:cancel,        method(:return_scene))
      end
      #-------------------------------------------------------------------------
      # ■ Create Status Window Method
      #-------------------------------------------------------------------------    
      def create_status_window
          @status_window      = Window_MenuStatus.new(0, 0)
          @status_window.x    = @command_window.width
          @status_window.y    = 0 + @header_window.height
          @status_window.height = Graphics.height - @header_window.height - @help_window.height
      end
      #-------------------------------------------------------------------------
      # ■ Dispose Method
      #-------------------------------------------------------------------------    
      def dispose
      end
      #-------------------------------------------------------------------------
      # ■ Update Method
      #-------------------------------------------------------------------------    
      def update
          super
          return_scene() if Input.trigger?(:
      end
      #-------------------------------------------------------------------------
      # ■ command_personal Method
      #-------------------------------------------------------------------------
      def command_personal
          @status_window.select_last
          @status_window.activate
          @status_window.set_handler(:ok,     method(:on_personal_ok))
          @status_window.set_handler(:cancel, method(:on_personal_cancel))
      end
      #-------------------------------------------------------------------------
      # ■ command_formation Method
      #-------------------------------------------------------------------------
      def command_formation
          @status_window.select_last
          @status_window.activate
          @status_window.set_handler(:ok,     method(:on_formation_ok))
          @status_window.set_handler(:cancel, method(:on_formation_cancel))
      end
      #-------------------------------------------------------------------------
      # ■ on_personal_ok Method
      #-------------------------------------------------------------------------
      def on_personal_ok
          case @command_window.current_symbol
              when :skill then SceneManager.call(Scene_Skill)
              when :equip then SceneManager.call(Scene_Equip)
              when :status then SceneManager.call(Scene_Status)
          end
        end
      #-------------------------------------------------------------------------
      # ■ on_personal_cancel Method
      #-------------------------------------------------------------------------
      def on_personal_cancel
          @status_window.unselect
          @command_window.activate
      end
      #-------------------------------------------------------------------------
      # ■ on_formation_ok Method
      #-------------------------------------------------------------------------
      def on_formation_ok
          if @status_window.pending_index >= 0
            $game_party.swap_order(@status_window.index, @status_window.pending_index)
            @status_window.pending_index = -1
            @status_window.redraw_item(@status_window.index)
          else
            @status_window.pending_index = @status_window.index
          end
          @status_window.activate
      end
      #-------------------------------------------------------------------------
      # ■ on_formation_cancel Method
      #-------------------------------------------------------------------------
      def on_formation_cancel
          if @status_window.pending_index >= 0
              @status_window.pending_index = -1
              @status_window.activate
          else
              @status_window.unselect
              @command_window.activate
          end
      end
      #-------------------------------------------------------------------------
      # ■ command_equip Method
      #-------------------------------------------------------------------------  
      def command_equip
          SceneManager.call(Scene_Equip)
      end
  end
  #=============================================================================
  # ** Command_Window
  #-----------------------------------------------------------------------------
  #  This class creates the command window for scenes.
  #=============================================================================
  class Window_Party < Window_Command
    #---------------------------------------------------------------------------
    # ■ Initialize Method
    #---------------------------------------------------------------------------
    def initialize
      super(0, Graphics.height * 0.2)
    end
    #---------------------------------------------------------------------------
    # ■ Initialize Method
    #---------------------------------------------------------------------------
    def visible_line_number
      item_max
    end
    #---------------------------------------------------------------------------
    # ■ Create Command List Method
    #---------------------------------------------------------------------------
    def make_command_list
      add_command("Status", :status)
      add_command("Skill", :skill)
      add_command("Equip", :equip)
      add_command("Formation", :formation)
    end
    #---------------------------------------------------------------------------
    # ■ Process Ok Method
    #---------------------------------------------------------------------------
    def process_ok
      @@last_command_symbol = current_symbol
      super
    end
    #---------------------------------------------------------------------------
    # ■ Select Last Method
    #---------------------------------------------------------------------------
    def select_last
      select_symbol(@@last_command_symbol)
    end
    #---------------------------------------------------------------------------
    # ■ Update Help Window Method
    #---------------------------------------------------------------------------
    def update_help
      super
      return unless @help_window
      @help_window.set_text("Check the status of your party.") if @index == 0
      @help_window.set_text("Check or use a character's skill.") if @index == 1
      @help_window.set_text("Change or remove current equipment.") if @index == 2
      @help_window.set_text("Change the current party formation.") if @index == 3
    end
  end
else
  msgbox_p("Dungeon Master Engine Ace - Main Menu Script is either out of date or missing.")
  exit
end #end script
#==============================================================================#
# ** Script created by Wyn Wizard **                                           #
#==============================================================================#



 

DMEA Splash Scene



Code:
#===============================================================================
# Author: Wyn Wizard
# Supporting Authors: Dekita
# Email: eugenepetrie@live.com
# Title: Dungeon Master Engine Ace - Splash Scene
# Creation Date: 4/28/2015
# Version: 1.0
#===============================================================================
# KNOWN BUGS:
# None
#-------------------------------------------------------------------------------
# UPDATES:
# 1.) Created a spalsh scene that allows the user to add sponsers or project
#     team logos.
#-------------------------------------------------------------------------------
# INSTRUCTIONS:
# 1.) This script must be placed below the DMEA Core Script in order for it to
#     run properly.
# 2.) This script is fairy flexible, and the editable region is fairly easy to
#     follow.
#     The Scenes array is broken into a set of hashs that incude: 
#     name of the picture file wanted to be shown, picture's "hang" on 
#     the screen, and then its fade speeds. You can create more than one scene.
#     To do this, go to the last scene in the Splash_Settings module and add a
#     "," to it. Then insert this into a new line:
#     {:name => "file_name, :hang => frames, :fade => [fade_in, fade_out]}
#       - The file name is the name of the picture
#       - The frames tells the scene how long to hold the picture on the scene
#         [60 frames = 1 sec]
#       - The fade in speed controls the oppacity of the picture's incremement
#         speed which makes the picture appear on the screen.
#       - The fade out speed controls the oppacity of the picture's decremement
#         speed which makes the picture disappear from the screen
#
# If any errors occur, please feel free to email me at eugenepetrie@live.com,
# or pm me, Wyn Wizard.
#-------------------------------------------------------------------------------
# TERMS AND CONDITIONS:
# 1.) You must credit Wyn Wizard and Dekita if you use this script or this
#     engine.
# 2.) This script and engine is free for non comercial games.
# 3.) This script and engine is not free for commercial games. If you want to
#     this engine in a comercial game, pm me since i am the main code master.
# 4.) Do not claim this script as your own. I know my coding style, and I will
#     persue legal actions.
#===============================================================================
# Version: At the moment, this is not needed. May be needed in future releases.
($imported||={})[:DM_Splash] = 1.0
#===============================================================================
# Check Core Script Version:
if $imported[:DM_Core] >= 1.0
#===============================================================================
# DO NOT EDIT BELOW HERE!
# EDITING BELOW HERE MAY RESULT IN, BUT NOT RESTRICTED TO: NAUSEA, VOMITING, 
# EXPLOSIVE DIARRHEA, IMPLOSIVE DIARRHEA, DEMINSIA, LOSS OF: VISION, HEARING,
# FEELING IN YOUR LEFT LEG, OR HAIR. 
#===============================================================================
# ■ EDITABLE REGION
#===============================================================================
  module DMEA
    module Splash_Settings
      Scenes = [
        # [name of picture, how long the picture stays,
        #   [fade in speed, fade out speed]
        {:name => "evony", :hang => 60, :fade_speed => [2, 4]},
        {:name => "kirito", :hang => 60, :fade_speed => [2, 4]}
      ]
    end
  end
#===============================================================================
  #=============================================================================
  # ** SceneManager
  #-----------------------------------------------------------------------------
  #  This module manages scene transitions. For example, it can handle
  # hierarchical structures such as calling the item screen from the main menu
  # or returning from the item screen to the main menu.
  #=============================================================================
  class << SceneManager
    #---------------------------------------------------------------------------
    # * Get First Scene Class
    #---------------------------------------------------------------------------
    def first_scene_class
      $BTEST ? Scene_Battle : Scene_Splash
    end
  end
  #=============================================================================
  # ** Splash Scene
  #-----------------------------------------------------------------------------
  #  This class holds the fucntionality that runs the splash scene before the
  #   screen runs.
  #=============================================================================
  class Scene_Splash < Scene_Base
    #---------------------------------------------------------------------------
    # ■ Start Method
    #--------------------------------------------------------------------------- 
    def start
      super
      DMEA::Core::play_bgm(:title)
      @sprite = Sprite.new(@viewport)
      @splash_scenes = DMEA::Splash_Settings::Scenes.compact()
      @splash_scene_id = 0
      reset_splash()
    end
    #---------------------------------------------------------------------------
    # ■ Reset Splash Scene Method
    #---------------------------------------------------------------------------    
    def reset_splash
      data = @splash_scenes[@splash_scene_id]
      return unless data
      @stage = :fade_in
      @stage_opacity = 0
      @mid_hang = data[:hang]
      @sprite.bitmap = Cache.picture(data[:name])
      @sprite.opacity = @stage_opacity
      @sprite_center_x = Graphics.width/2 - (@sprite.width/2)
      @sprite_center_y = Graphics.height/2 - (@sprite.height/2)
      @sprite.x = @sprite_center_x
      @sprite.y = @sprite_center_y
      @sprite.zoom_x = (@sprite.zoom_y = 1.0)
    end
    #---------------------------------------------------------------------------
    # ■ Update Method
    #---------------------------------------------------------------------------    
    def update
      super
      case @stage
        when :fade_in  then @stage_opacity += 2
          @stage = :fade_mid if @stage_opacity >= 255
        when :fade_mid  then @mid_hang -= 1
          @stage = :fade_out if @mid_hang <= 0
        when :fade_out then @stage_opacity -= 4
          @sprite.zoom_x = (@sprite.zoom_y -= 0.001)
          @sprite_center_x = Graphics.width/2 - ((@sprite.width * @sprite.zoom_x)/2)
          @sprite_center_y = Graphics.height/2 - ((@sprite.height * @sprite.zoom_y)/2)
          @sprite.x = @sprite_center_x
          @sprite.y = @sprite_center_y
          @stage = :end if @stage_opacity <= 0
        when :end then update_stage_id()
      end
      @sprite.opacity = @stage_opacity
    end
    #---------------------------------------------------------------------------
    # ■ Update Stage ID Method
    #---------------------------------------------------------------------------    
    def update_stage_id
      if (@splash_scene_id == @splash_scenes.size())
        SceneManager.call(Scene_Title)
      else
        @splash_scene_id += 1
        reset_splash()
      end
    end
  end
 
  #=============================================================================
  # ** Scene_Title
  #-----------------------------------------------------------------------------
  #  This class performs the title screen processing.
  #=============================================================================
  class Scene_Title < Scene_Base
    #---------------------------------------------------------------------------
    # ■ Play Title Screen Music Method :: Overidden Method
    #---------------------------------------------------------------------------
    def play_title_music
      # This method does nothing.
    end
  end
else
  msgbox_p("Dungeon Master Engine Ace - Core Script is either out of date or missing.")
  exit
end #end script
#==============================================================================#
# ** Script created by Wyn Wizard **                                           #
#==============================================================================#



 

Pictures:
 

Main Menu:


SPSzlr5.png




 

Party Menu


S5EbW2J.png




 

​Commission Work:
Since I am a fairly new scriptor I feel I am not ready for commission work yet. However, if you wish me to modify my engine to fit your project or want me to make a specialty script for my engine that is not included in the open source default engine, I will want payment in the form of steam bucks or skill trade. PM me for details.

 

Downloads:
 

DMEA Core Script: http://www.mediafire.com/view/3nf4aek27wc9ume/DMEA_Core.rb

DMEA Main Menu Script: http://www.mediafire.com/download/dlgkm96xbkgkpuo/DMEA_Menu_Main.rb

DMEA Party Menu Script: http://www.mediafire.com/download/m1gevt5mqnqp6ga/DMEA_Menu_Party.rb

DMEA Splash Scene: http://www.mediafire.com/download/1tp86dmbmnfw7kt/DMEA_Splash_Scene.rb

 

Credits:
 

Credits due are to Dekita, who is my scripting mentor and script adviser. Who, without his help, the engine would have never made it past the palanning stage. Thanks man!

 

 

 

 

 

If you find any bugs/glitches in my engine please place them here and I will fix them as soon as possible. For remarks please post below. For ways i can improve, please post below. For all other types of remarks or questions please PM me and I will get back to you.

Downloads / Referenced Files

Log in to download

Log in, then follow the RPG Maker Developers Group to see these download links.

Log in to download

License / Terms Note

# 1.) You must credit Wyn Wizard and Dekita if you use this script or this #     engine. # 2.) This script and engine is free for non comercial games. # 3.) This script and engine is not free for commercial games. If you want to

Creator Claims / Removal

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.

#039#dmea#end#rpg-maker-archive#rgss-development

Replies (0)

No replies yet.

0 replies 1 view

Log in to reply.

User Avatar