Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Sort, Map Name, Options, and Text Script

I need the following scripts that are stated on the title:
1. Sort - this script will sort items into different categories (also teach me on how to add or remove a category).
2. Map Name - this script will show the Map's Name after they entered the map and will disappear after a few seconds.
3. Options - this script will add the Options in the menu, where the Message Frame can be changed, BGM and SFX Volume, and Message speed.
4. Text - this will show up the text with "One letter at a time". It must have no sound (the last one I got has). And the text will finish if Action or Cancel button is pressed and also please put the script that the Action or Cancel button must be pressed before the last message disappears. (I noticed that when the last message box appears and when I press directional buttons, it automatically disappears).
The script must not be SDK needed, since I don't know how to use it and I added other scripts.
 
I  found out a way to show the map name on screen just after you were teleported from map a to map b, but if you are just showing a window or an image with the name, it may produce some serious lag while the window or picture is visible. You may also need a counter to make it disappear... Maybe a switch could be used instead...
 
1) there are multiple ways to do this. Search for "Key items" or "Special Items"
2) There is also a script that does this. Search on "Display Location"
3) There is also an "Options" script out there somewhere. It brings up the "F1" menu.
    For the Message "Windowskin" & message speed, you will need a "Custom Message System.
4) Ccoa's "UMS" & Dubealex's "AMS" both work without the SDK, and will do everything you want. in UMS you can turn off the sound. If you need help killing the sound in "AMS", let us know.

Be Well
 
For shadowball, I just need the name to show up, it is without image or window, just the Map's Name. For Brewmeister, I seen SephirothSpawn's Script, but I don't know how to use it and the other one has an error.
 
I must be feeling particularly generous today...  or bored :scruff:

Here's Yeyinde's script without the SDK dependence.
I can't guarantee that it's compatible with the rest of your scripts though.
Code:
#============================================================================
# ** Map Location Popup
#----------------------------------------------------------------------------
# Yeyinde
# 1.0.0
# 06/07/07
# SDK Version : (2.2) - Parts: I, III
# 07FEB08 - removed SDK dependence - Brew
#============================================================================


#==============================================================================
# ** Location_Popup
#------------------------------------------------------------------------------
#  Customization module
#==============================================================================

module Location_Popup
  # Display Type (0:text 1:image)
  DISPLAY_TYPE = 0
  # Show Type (0:fade 1:scroll)
  SHOW_TYPE = 0
  # Showing Duration (Excludes transition time) - Units: Frames
  SHOW_TIME = 100
  # Transition Duration (For one transition) - Units: Frames
  TRANSITION_TIME = 10
  # Image Type (0:MapID 1:MapName)
  IMAGE_TYPE = 0
  # Image Prefix (For DISPLAY_TYPE 1)
  IMAGE_PREFIX = 'Location_'
  # Image Sufix (For DISPLAY_TYPE 1)
  IMAGE_SUFFIX = ''
  # Popup exemptions (Syntax: [map_id1, mapid2, etc.] EX. [1, 5, 6])
  NO_POPUP_MAPS = []
end

#==============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
#  This class handles temporary data that is not included with save data.
#  Refer to "$game_temp" for the instance of this class.
#==============================================================================

class Game_Temp
  #---------------------------------------------------------------------------
  # * Aliasing
  #---------------------------------------------------------------------------
  alias_method :map_name_popup_int, :initialize
  #---------------------------------------------------------------------------
  # * Public Instance Variables
  #---------------------------------------------------------------------------
  attr_accessor :new_location_name
  attr_accessor :location_popup_show
  #---------------------------------------------------------------------------
  # * Object Initialization
  #---------------------------------------------------------------------------
  def initialize
    # Call aliased method
    map_name_popup_int
    # Crate new variables
    @new_location_name = ''
    @location_popup_show = false
  end
end

#==============================================================================
# ** Game_Map
#------------------------------------------------------------------------------
#  This class handles the map. It includes scrolling and passable determining
#  functions. Refer to "$game_map" for the instance of this class.
#==============================================================================

class Game_Map
  #---------------------------------------------------------------------------
  # * Aliasing
  #---------------------------------------------------------------------------
  alias_method :map_name_popup_setup, :setup
  #--------------------------------------------------------------------------
  # * Setup
  #     map_id : map ID
  #--------------------------------------------------------------------------
  def setup(map_id)
    # Call aliased method
    map_name_popup_setup(map_id)
    # Set temporary variable
    if Location_Popup::DISPLAY_TYPE == 0 || 
        (Location_Popup::DISPLAY_TYPE == 1 && Location_Popup::IMAGE_TYPE == 1)
      location_text = $data_mapinfos[@map_id].name
    else
      location_text = @map_id.to_s
    end
    $game_temp.new_location_name = location_text
    $game_temp.location_popup_show = true
  end
end

#==============================================================================
# ** Sprite_LocationPopup
#------------------------------------------------------------------------------
#  This sprite is used to display the current location when it is entered.  It
#  observes $game_temp.new_location_name to know when to refresh
#==============================================================================

class Sprite_LocationPopup < Sprite
  #---------------------------------------------------------------------------
  # * Object Initialization
  #---------------------------------------------------------------------------
  def initialize
    # Call superclass method
    super()
    # Set co-ordinates
    self.x = 640
    self.y = 16
    self.z = 999999
    # Set some variables to save space
    @show_time = Location_Popup::SHOW_TIME
    @transition_time = [Location_Popup::TRANSITION_TIME, 1].max
    # Refresh
    refresh
  end
  #---------------------------------------------------------------------------
  # * Reset Variables
  #---------------------------------------------------------------------------
  def reset_variables
    @current_location = $game_temp.new_location_name
    @frames_remaining = @show_time + @transition_time * 2
  end
  #---------------------------------------------------------------------------
  # * Refresh
  #---------------------------------------------------------------------------
  def refresh
    # Clear existing bitmap
    if self.bitmap != nil
      self.bitmap.dispose
      self.bitmap = nil
    end
    # Reset variables
    reset_variables
    # Stop if the location is not to be displayed on this map
    if Location_Popup::NO_POPUP_MAPS.include?($game_map.map_id) ||
        !$game_temp.location_popup_show
      @frames_remaining = 0
      return 
    end
    $game_temp.location_popup_show = false
    # Branch for text display
    if Location_Popup::DISPLAY_TYPE == 0
      text = @current_location
      bitmap = Bitmap.new(32, 32)
      width = bitmap.text_size(text).width + 8
      bitmap.dispose
      self.bitmap = Bitmap.new(width, 32)
      self.bitmap.draw_text(0, 0, width, 32, text)
    else # Branch for image display
      name = Location_Popup::IMAGE_PREFIX + @current_location + 
        Location_Popup::IMAGE_SUFFIX
      self.bitmap = RPG::Cache.picture(name)
    end
    # Reset x co-ordinates
    self.x = Location_Popup::SHOW_TYPE == 0 ? 640 - 16 - self.bitmap.width : 640
    # Set opacity if fade type
    self.opacity = 0 if Location_Popup::SHOW_TYPE == 0
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Call superclass method
    super
    # Refresh if location was changed
    refresh if @current_location != $game_temp.new_location_name
    # If there is still a frame remaining
    if @frames_remaining > 1
      # Branch per frames remaining
      case @frames_remaining
      when (@show_time + @transition_time )...(@show_time + 
          @transition_time * 2)
        # Branch per showing type
        if Location_Popup::SHOW_TYPE == 0
          self.opacity += 256 / @transition_time
        else
          self.x -= (self.bitmap.width + 16) / @transition_time
        end
      when 1..(@transition_time + 1)
        # Branch per showing type
        if Location_Popup::SHOW_TYPE == 0
          self.opacity -= 256 / @transition_time
        else
          self.x += (self.bitmap.width + 16) / @transition_time
        end
      end
      # Remove one frame
      @frames_remaining -= 1
    end
  end
end

#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
#  This class performs title screen processing.
#==============================================================================

class Scene_Title
  #---------------------------------------------------------------------------
  # * Aliasing
  #---------------------------------------------------------------------------
  alias_method :map_name_popup_main, :main
  #--------------------------------------------------------------------------
  # * Main Processing : Database Initialization
  #--------------------------------------------------------------------------
  def main
    # If global variable $data_mapinfos has not yet been defined
    #  and if the setup is to use the map name in some way (Text/Mapname image)
    if $data_mapinfos.nil? && Location_Popup::DISPLAY_TYPE == 0 || 
        (Location_Popup::DISPLAY_TYPE == 1 && Location_Popup::IMAGE_TYPE == 1)
      # Load Mapinfos data
      $data_mapinfos = load_data('Data/MapInfos.rxdata')
    end
    # Call aliased method
    map_name_popup_main
  end
end

#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs map screen processing.
#==============================================================================

class Scene_Map
  #---------------------------------------------------------------------------
  # * Aliasing
  #---------------------------------------------------------------------------
  alias_method :map_name_popup_sprite, :main
  alias_method :map_name_popup_update, :update
  #--------------------------------------------------------------------------
  # * Main Processing : Sprite Initialization
  #--------------------------------------------------------------------------
  def main
    @location_popup_sprite = Sprite_LocationPopup.new
    map_name_popup_sprite
    @location_popup_sprite.dispose
  end
  def update
    map_name_popup_update
    @location_popup_sprite.update  
  end
end

I seen SephirothSpawn's Script, but I don't know how to use it and the other one has an error.

Which script do you want to use?
What is the error?
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top