The RPG Maker Resource Kit

RMRK RPG Maker Creation => XP => XP Scripts Database => Topic started by: Dark_falcao on April 28, 2011, 09:29:37 PM

Title: Falcao Minimap Set 1.1 RMXP
Post by: Dark_falcao on April 28, 2011, 09:29:37 PM
[size=150]Falcao Minimap Set 1.1[/size]

Introduction

This script allow you to display a set of minimaps where the player can teleport or just display a minimap of your current location, also display events locations on minimpas such as chest, npc etc.

Features

- Display a minimap of the player current location
- Allow to save minimaps and then teleport
- Display player location on the minimap
- Display exact location of events on mainimaps
- Support a second index called dungeon
- Allow you to hide your current location wherever you want
- Easy to use

Instructions

Copy and paste the script above main.

Press 'ALT' button to call the script, but it can be called manually using the following command:   $scene = Teletrans.new
All commands are on the script notes, please read.

Credits

By Falcao

Demo
http://www.mediafire.com/?a6dvdckx1r200ge (http://www.mediafire.com/?a6dvdckx1r200ge)

Script in code just copy and paste (I recomend you to download demo)

Code: text [Select]

#===========================================================================#
#  #*****************#         Minimap Set 1.1 Falcao script, display a set #
#  #*** By Falcao ***#         of minimaps where the player can teleport,   #
#  #*****************#         event objects can be displayed on minimap    #
#         RMXP                 Release date:    25/4/2011                   #
# makerpalace.onlinegoo.com    Translated date: 28/4/2011                   #
#===========================================================================#
 
#----------------------------------------------------------------------------
# * Main features
#
# - Display a minimap where the player
# - Allow to save minimaps and then teleport
# - Display player location on the minimap
# - Display exact location of events on mainimaps
# - Support a second index called dungeon
# - Allow you to hide your current location wherever you want
# - Easy to use
 
#----------------------------------------------------------------------------
# * Instructions
#
# Copy and paste the script above main.
#
# Press 'ALT' button to call the script, but it can be called manually using
# the following command:   $scene = Teletrans.new
#
# - To save or remove maps from the map list use the followings commands
#
# $game_map.savemap(X)     Add map id 'X' to the map list (Saved Maps)
#                          Example: $game_map.savemap(1) add map id 1
#
#
# $game_map.remove_map(X)  Remove map 'X' form the list (Saved Maps)
#                          Example: $game_map.remove_map(1) remove map id 1
#
# Coodenates are added automatically, but it can be added manually using the
# following command:
#
# $game_map.savemap(id,x,y)  id = map id
#                            x  = map x   y = map y
#----------------------------------------------------------------------------
#
# - To add or clear maps form the dungeon map set use the followings commands
#
# $game_map.dungeon(X)     Add map id 'X' to the dungeon list
#                          Example: $game_map.dungeon(1) add map 1 as dungeon
#
# $game_map.dungeon_clear  Clear dungeon map set
#----------------------------------------------------------------------------
#
# $game_map.hide_player          Hide player location on the minimap
# $game_map.display_player       Show player location on the minimap
#
# $game_map.hide_minimap(value)  Hide current minimap, so you cannot see where
#                                you are, change value for true or false
#                                Example: $game_map.hide_minimap(true)
#----------------------------------------------------------------------------
#
# * Type the following commads on the 'Comment' from the events commands
#   Allows you to displays events on minimaps such as chests, bosses, npc etc.
#
# EVENT_POINT          Display a point icon on minimap
# EVENT_CHEST          Display a chest icon on minimap
# EVENT_BOSS           Display a boss icon on minimap
# EVENT_TELEPORT       Display a teleport icon on minimap
# EVENT_NPC            Display a npc icon on minimap
#---------------------------------------------------------------------------
#                         
# License: This script is for non-comercial games, for comercial games please
#          contact me.
#---------------------------------------------------------------------------
 
module Faltrans
 
  # Each map descriptions
  # A = Map id    B = Description (A=>B)
  MapDescription = {
 
  1=> 'Lugar de recreacion donde los usuarios de Maker Palace descansan',
  2=> 'Espeso bosque donde los mas probable es perderse xd',
  3=> 'Caverna con muchas sorpresas lo mejor es tener una linterna',
  5=> 'Lugar donde Falcao descansa en paz y se inspira',
  4=> 'Kysis Dungeon salon prinsipal',
  6=> 'Kysis Dungeon salon acuatico',
  7=> 'Kysis Dungeon trono del Rey Falcao',
 
  }
 
  # Script call button
  Call_Script = Input::ALT
 
  # Disable script call by the button
  Disable_Trans_call = false
 
  # Transition
  Transition = "015-Diamond01"
 
  # Font for the script
  FalFont = "Georgia"
 
  # Icons
  Point = "047-Skill04"
  Chest = "034-Item03"
  Boss = "046-Skill03"
  Teleport = "035-Item04"
  Npc = "011-Head02"
 
  # Vacabulary
  Vocab_Title  = "Map list"
  Saved = "Saved Maps"
  Dungeon = "Dungeon Maps"
 
  #Icons vocabulary
  Vocab_Point = "Key Point"
  Vocab_Chest = "Chest"
  Vocab_Boss = "Boss"
  Vocab_Teleport = "Teleport"
  Vocab_Npc = "Npc"
end
 
#-----------------------------------------------------------------------
# * Game map
#-----------------------------------------------------------------------
class Game_Map
  attr_accessor :falmap_data
  attr_accessor :falmap_added
  attr_accessor :falhide   
  attr_accessor :mess_var
  attr_accessor :read_index
  attr_reader   :hideminimap
  alias falcaominimapset_ini initialize
  def initialize
    @falmap_data = {}
    @falmap_added = []
    @falhide = false
    @read_index = 0
    @mess_var = [tranfer = false, time = 0, [], []]
    @falcmap = load_data("Data/MapInfos.rxdata")
    @faldelay = 0
    @hideminimap = false
    falcaominimapset_ini
  end
 
  alias falcaoset_fade_setup setup
  def setup(map_id)
    falcaoset_fade_setup(map_id)
    if @mess_var[0]
      $game_screen.start_tone_change($falcao_tone_rescue, 15)
      @mess_var[1] = 16
    end
  end
 
  def savemap(id, x=$game_player.x, y=$game_player.y)
    unless @falmap_data.has_key?(id)
      @falmap_data[id] = [load_data(sprintf("Data/Map%03d.rxdata", id)),
      @falcmap[id].name, id, x, y] rescue ala_mierda(id)
      @falmap_added.push(id) unless $from_falmenu
    end
  end
 
  def remove_map(id)
    if @falmap_data.has_key?(id)
      @falmap_data.delete(id)
    end
  end
 
  def dungeon(id)
    unless @mess_var[2].include?(id)
      @mess_var[2].push(id)
    end
  end
 
  def dungeon_clear
     return @mess_var[2] = []
  end
 
  def ala_mierda(id)
    p "Falcao script error: Map id #{id.to_s} has not been created"
    $scene = nil
  end
 
  def hide_player
    player_manager(true)
  end
 
  def display_player
    player_manager(false)
  end
 
  def player_manager(value)
    @falhide = value
    $game_player.refresh
  end
 
  def hide_minimap(value)
    @hideminimap = value
    $game_player.refresh
  end
 
  def delaytime(time)
    loop do
      Graphics.freeze
      @faldelay += 1
      if @faldelay == time
        @faldelay = 0
        Graphics.transition
        break
      end
    end
  end
end
 
#-----------------------------------------------------------------------
# * Minimap display
#-----------------------------------------------------------------------
class MapDisplay
  attr_reader   :map
  attr_reader   :panorama
  def initialize
    @panorama = Sprite.new
    @panorama.bitmap = RPG::Cache.panorama($game_map.panorama_name,
    $game_map.panorama_hue)
    @panorama.x = 192
    @panorama.y = 68
    @panorama.zoom_x = 0.94
    @panorama.zoom_y = 0.684
    @map_width =  448
    @map_height =  328 
    @map = Sprite.new
    @map.bitmap = Bitmap.new(width, height)
    @map.x = 191
    @map.y = 68
  end
 
  def dispose
    @map.bitmap.dispose
    @map.dispose
    @panorama.dispose
    @panorama.bitmap.dispose
  end
 
  def width
    return @map_width
  end
 
  def height
    return @map_height
  end
 
  def refresh(showmap)
    if Input.press?(Input::UP) or Input.press?(Input::DOWN) or
       Input.press?(Input::RIGHT) or Input.press?(Input::LEFT)
      @map.bitmap.clear
    end
    tileset = $data_tilesets[showmap.tileset_id]   
    if $game_map.read_index != $game_map.map_id
      @panorama.bitmap = RPG::Cache.panorama(tileset.panorama_name,
      tileset.panorama_hue)
    else
      @panorama.bitmap = RPG::Cache.panorama($game_map.panorama_name,
      $game_map.panorama_hue)
    end   
    bitmap = Bitmap.new(showmap.width * 32, showmap.height * 32)
    for i in 0...(showmap.width * showmap.height)
      x = i % showmap.width
      y = i / showmap.width
      for level in 0...3
        tile_id = showmap.data[x, y, level]
        if tile_id >= 384
          tileset_bitmap = RPG::Cache.tile(tileset.tileset_name, tile_id, 0)
          src_rect = Rect.new(0, 0, 32, 32)
          bitmap.blt(x * 32, y * 32, tileset_bitmap, src_rect)
        end
        if tile_id >= 48 and tile_id < 384
          id = tile_id / 48 - 1
          tileset_bitmap = RPG::Cache.autotile(tileset.autotile_names[id])
          src_rect = Rect.new(32, 64, 32, 32)
          bitmap.blt(x * 32, y * 32, tileset_bitmap, src_rect)
        end
      end
    end
    d_rect = Rect.new(0, 0, width, height)
    s_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
    @map.bitmap.stretch_blt(d_rect, bitmap, s_rect)
    bitmap.clear
    bitmap.dispose
  end
end
 
#-----------------------------------------------------------------------
# * Window icons
#-----------------------------------------------------------------------
class Window_KeyIcons < Window_Base
  include Faltrans
  def initialize
    super(0, 315, 190, 165)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
 
  def refresh
    self.contents.clear
    draw_icons(Point, 0, 0)
    draw_icons(Chest, 0, 28)
    draw_icons(Boss, 0, 54)
    draw_icons(Teleport, 0, 79)
    draw_icons(Npc, 0, 105)
    self.contents.draw_text(35, 0, self.width, 32, Vocab_Point)
    self.contents.draw_text(35, 27, self.width, 32, Vocab_Chest)
    self.contents.draw_text(35, 52, self.width, 32, Vocab_Boss)
    self.contents.draw_text(35, 78, self.width, 32, Vocab_Teleport)
    self.contents.draw_text(35, 103, self.width, 32, Vocab_Npc)
  end
 
  def draw_icons(name, x, y)
    src_rect = Rect.new(0, 0, 24, 24)
    icon = RPG::Cache.icon(name)   
    self.contents.blt(x , y,icon, src_rect)
  end
end
 
#-----------------------------------------------------------------------
# * Indice de mapas
#-----------------------------------------------------------------------
class Map_Indice < Window_Selectable
  def initialize(x=0,y=0, act = false)
    super(x, y, 190, 226)
    @column_max = 1
    @action = act
    $from_falmenu = true
    refresh
    self.index = 0
  end
 
  def map
    return @data[self.index]
  end
 
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    #---
    if @action
      data_save = $game_map.falmap_data
      $game_map.falmap_data = {}
      for d in $game_map.mess_var[2]
        $game_map.savemap(d)
      end
      for i in $game_map.falmap_data.values
        @data.push(i)
      end
      $game_map.falmap_data = data_save
    else
      $game_map.savemap($game_map.map_id)
      for i in $game_map.falmap_data.values
        @data.push(i)
      end
    end
    if not @action
      for c in @data
        if c[2] == $game_map.map_id
          @data.delete(c)
          temp = @data[0]
          @data[0] = c
        end
      end
      @data.push(temp) unless $game_map.falmap_added.empty? or temp.nil?
    end
    #----
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end
 
  def draw_item(index)
    map_name = @data[index]
    x, y = 4, index * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    if contents.text_size(map_name[1]).width > self.width - 12
      letters = map_name[1].scan(/./)
      map_name[1] = ""
      for i in letters
        text_size = contents.text_size(map_name[1]).width
        break if text_size > self.width - 55
        map_name[1] += i
      end
      map_name[1] += "..."
    end
   
    if not @action
      index > 0 ? self.contents.font.color = normal_color :
      self.contents.font.color = Color.new(128, 255, 128, 255)
    end
    self.contents.draw_text(x, y, self.width, 32,  map_name[1])
  end
end
 
#-----------------------------------------------------------------------
# * Each map description
#-----------------------------------------------------------------------
class Falmap_info < Window_Base
  include Faltrans
  def initialize
    super(189, 400, 451, 80)
    self.contents = Bitmap.new(width - 32, height - 32)
    @tiempo = 0
    @scroll = 0
  end
 
  def clear_data(cont=false)
    @tiempo = 0
    @scroll = 0
    self.contents.clear if cont
  end
 
  def refresh(map_id)
    self.contents.clear
    draw_description(map_id)
  end
 
  def draw_description(map_id)
    if MapDescription.has_key?(map_id)
      MapDescription.each do |id, value|
        if id == map_id
          cx = contents.text_size(value).width
          scroll_text(value)
          self.contents.draw_text(@scroll, -4, cx + 10, 32 , value)
        end
      end
    else
      text = "                                                   
                                                         
             Descripcion no disponible
             Falcao Script Minimap Teletransport v 1.1"     
     
      scroll_text(text,false)
      cx = contents.text_size(text).width
      self.contents.draw_text(@scroll, -4, cx + 10, 32, text)
    end
  end
 
  def scroll_text(texto, result_ok=true)
    cx = contents.text_size(texto).width
    if cx > self.width - 25
      @tiempo += 1
      if @tiempo > 60
        @scroll -= 1 if @result == nil
        if @scroll == -cx
          @result = true
        end
      end
    end
    if @result
      result_ok ? @scroll += 10 :  @scroll = 0
      if @scroll >= 0
        @scroll = 0;  @tiempo = 0
        @result = nil
      end
    end
    if Input.press?(Input::UP) or Input.press?(Input::DOWN)
      @scroll = 0; @tiempo = 0; @result = nil
    end
  end
end
 
#-----------------------------------------------------------------------
# * Extra windows
#-----------------------------------------------------------------------
class Extra_Info < Window_Base
  include Faltrans
  def initialize(x=0, y=0, w=190, h=91)
    super(x, y, w, h)
    self.contents = Bitmap.new(width - 32, height - 32)
  end
 
  def draw_title_contents(action="Current location")
    self.contents.clear
    self.contents.draw_text(0, 0, self.width, 32, Vocab_Title)
    self.contents.draw_text(0, 30, self.width, 32, action)
  end
 
  def draw_texto(map_name)
    self.contents.clear
    self.contents.draw_text(0, 0, self.width, 32,
    "Teletrasportarse a #{map_name}?")
  end
 
  def draw_nodata
    self.contents.clear
    self.opacity = 0
    self.z = 500
    self.contents.fill_rect(0, 0, 448, 328, Color.new(0, 0, 0, 255))
    self.contents.font.size = 30
    self.contents.draw_text(-12, 120, self.width, 32, "No data", 1)
  end
end
 
#-----------------------------------------------------------------------
# * Seleccion inicial
#-----------------------------------------------------------------------
class Ini_Selection < Window_Selectable
  def initialize(x=0,y=0)
    super(x, y, 451, 64)
    @column_max = 2
    refresh
    self.index = 0
  end
 
  def ini_index
    return @data[self.index]
  end
 
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    ini = [Faltrans::Saved, Faltrans::Dungeon]
    for i in ini
      @data.push(i)
    end
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end
 
  def draw_item(index)
    name = @data[index]
    x = 4 + index % 2 * (237 - 9)
    y = 0
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.draw_text(x, y, self.width, 32,  name)
  end
end
 
#-----------------------------------------------------------------------
# * Scene Teletrans
#-----------------------------------------------------------------------
class Teletrans
  include Faltrans
  def initialize
    $falcao_tone_rescue = $game_screen.tone
    $game_screen.start_tone_change(Tone.new(-255, -255, -255, 0), 0)
  end
  def main
    @viewport1 = Viewport.new(191, 68, 448, 328)
    @viewport1.z = 200
    @indice_map = Map_Indice.new(0, 90)
    @key_sprites = []
    @time_count = 0
    @temp_data = []
    @keyicon_window = Window_KeyIcons.new
    @dungeon_indice = Map_Indice.new(0, 90, true)
    @dungeon_indice.active = false
    @dungeon_indice.visible = false
    @nodata = Extra_Info.new(175, 52, 481, 360)
    @nodata.draw_nodata
    $game_map.hideminimap ? @nodata.visible = true : @nodata.visible = false
    @display_map = MapDisplay.new
    @info_map = Falmap_info.new
    @title = Extra_Info.new
    @sprite =Sprite_Pos.new(@viewport1,@indice_map.map[0],$game_party.actors[0])
    @title.draw_title_contents
    @selection_ini = Ini_Selection.new(189, 0)
    @question = Extra_Info.new(0, 0, 330, 64)
    @question.visible = false
    @question.z = 600
    @question.x = 250
    @question.y = 137
    @command_question = Window_Command.new(330, ["Yes", "No"])
    @command_question.active = false
    @command_question.visible = false
    @command_question.x = 250
    @command_question.y = 200
    @command_question.z = 600
    if !$game_map.falmap_data.empty?
      @display_map.refresh(@indice_map.map[0])
      @info_map.refresh(@indice_map.map[2])
      @sprite.update_direction(@indice_map.map[0])
      $game_map.mess_var[3] = @indice_map.map[0]
      $game_map.read_index = @indice_map.map[2]
    end
    draw_icons(@indice_map.map[0], @indice_map.map[2])
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    unless $game_map.falmap_added.include?($game_map.map_id)
      $game_map.remove_map($game_map.map_id)
    end
    @display_map.dispose
    @info_map.dispose
    @title.dispose
    @dungeon_indice.dispose
    @nodata.dispose
    @selection_ini.dispose
    @indice_map.dispose
    @viewport1.dispose
    @keyicon_window.dispose
    @sprite.dispose
    @command_question.dispose
    @question.dispose
    for sprite in @key_sprites
      sprite.dispose
    end
    $from_falmenu = false
    if $game_map.mess_var[0]
      Graphics.transition(60, "Graphics/Transitions/" + Faltrans::Transition)
    else
      $game_screen.start_tone_change($falcao_tone_rescue, 0)
    end   
  end
 
  def update
    @indice_map.update
    @dungeon_indice.update
    @sprite.update
    @selection_ini.update
    @command_question.update if @command_question.active
    for sprite in @key_sprites
      sprite.update
    end
    refresh_display
    refresh_icons
    update_teletrans
    if Input.trigger?(Input::B) or
      Input.trigger?(Faltrans::Call_Script)
      salir
    end
  end
 
  def refresh_display
    return if @command_question.active
    case @selection_ini.index
    when 0
      @dungeon_indice.active = false
      @dungeon_indice.visible = false
      @indice_map.visible = true
      @indice_map.active = true
      if $game_map.hideminimap and @indice_map.index == 0
        @nodata.visible = true
      else
        @nodata.visible = false
      end
      if Input.press?(Input::UP) or Input.press?(Input::DOWN) or
        Input.press?(Input::RIGHT) or Input.press?(Input::LEFT)
        @info_map.clear_data
        @indice_map.index > 0 ? @title.draw_title_contents("Saved maps") :
        @title.draw_title_contents
        if !$game_map.falmap_data.empty?
          @time_count = 1
          @temp_data = [@indice_map.map[0], @indice_map.map[2]]
          $game_map.mess_var[3] = @indice_map.map[0]
          @display_map.refresh(@indice_map.map[0])
        end
      end
      @info_map.refresh(@indice_map.map[2]) if !$game_map.falmap_data.empty?
      $game_map.read_index = @indice_map.map[2]
      @sprite.update_direction(@indice_map.map[0])
    when 1
      @indice_map.active = false
      @indice_map.visible = false
      @dungeon_indice.active = true
      @dungeon_indice.visible = true
      if Input.press?(Input::UP) or Input.press?(Input::DOWN) or
        Input.press?(Input::RIGHT) or Input.press?(Input::LEFT)
        @info_map.clear_data
        @title.draw_title_contents("Dungeon set")
        if $game_map.mess_var[2].empty?
          @nodata.visible = true
          @info_map.clear_data(true)
        else
          @nodata.visible = false
        end
        if !$game_map.falmap_data.empty? and !$game_map.mess_var[2].empty?
          @time_count = 1
          @temp_data = [@dungeon_indice.map[0], @dungeon_indice.map[2]]
          $game_map.mess_var[3] = @dungeon_indice.map[0]
          @display_map.refresh(@dungeon_indice.map[0])
        end
      end
      if !$game_map.falmap_data.empty? and !$game_map.mess_var[2].empty?
        @info_map.refresh(@dungeon_indice.map[2])
        $game_map.read_index = @dungeon_indice.map[2]
        @sprite.update_direction(@dungeon_indice.map[0])
      end
    end
  end
 
  def refresh_icons
    if @time_count > 0
      @time_count += 1
      case @time_count
      when 1..3
        clear_icons
      when 4
        draw_icons(@temp_data[0], @temp_data[1])
        @time_count = 0
      end
    end
  end
 
  def draw_icons(map, map_id)
    @events = {}
    for i in map.events.keys
      @events[i] = Game_Event.new(map_id, map.events[i])
    end
    for event in @events.values
      next if event.page.nil?
      if event.event_point
        sprite = Sprite_Keys.new(@viewport1, map, Point, event)
        @key_sprites.push(sprite)
      elsif event.event_chest
        sprite = Sprite_Keys.new(@viewport1, map, Chest, event)
        @key_sprites.push(sprite)
      elsif event.event_boss
        sprite = Sprite_Keys.new(@viewport1, map, Boss, event)
        @key_sprites.push(sprite)
      elsif event.event_teleport
        sprite = Sprite_Keys.new(@viewport1, map, Teleport, event)
        @key_sprites.push(sprite)
      elsif event.event_npc
        sprite = Sprite_Keys.new(@viewport1, map, Npc, event)
        @key_sprites.push(sprite)
      end
    end
  end
 
  def clear_icons
    for sprite in @key_sprites
      @key_sprites.delete(sprite)
      sprite.dispose
    end
  end
 
  def update_teletrans
    return if @selection_ini.index > 0
    return if $game_map.falmap_data.empty?
    if Input.trigger?(Input::C) and !@command_question.active
      $game_system.se_play($data_system.decision_se)
      if @indice_map.map[2] == $game_map.map_id
        salir
        return
      end
      @command_question.index = 0
      @question.draw_texto(@indice_map.map[1])
      @indice_map.active = false
      @selection_ini.active = false
      @command_question.active = true
      @command_question.visible = true
      @question.visible = true
      $game_map.delaytime(50)
    end
    if Input.trigger?(Input::C) and @command_question.active
      case @command_question.index
      when 0
        Audio.se_play("Audio/SE/010-System10")
        $game_temp.player_transferring = true
        $game_temp.player_new_map_id = @indice_map.map[2]
        $game_temp.player_new_x = @indice_map.map[3]
        $game_temp.player_new_y = @indice_map.map[4]
        $game_temp.player_new_direction = 2
        $game_temp.transition_processing = true
        $game_map.mess_var[0] = true
        $scene = Scene_Map.new
        $game_map.autoplay
      when 1
        $game_system.se_play($data_system.cancel_se)
        @indice_map.active = true
        @selection_ini.active = true
        @command_question.active = false
        @command_question.visible = false
        @question.visible = false
      end
    end
  end
 
  def salir
    $game_system.se_play($data_system.cancel_se)
    $scene = Scene_Map.new
    return
  end
end
 
#-----------------------------------------------------------------------
# * Scene_Map, update aliased
#-----------------------------------------------------------------------
class Scene_Map
  alias falcao_teletrans_call update
  def update
    if $game_map.mess_var[1] > 0
      $game_map.mess_var[1] -= 1
      if $game_map.mess_var[1] == 1
        $game_map.mess_var[0] = false
        $game_map.mess_var[1] = 0
      end
    end
    falcao_teletrans_call
    managercall
  end
  def managercall
    return if Faltrans::Disable_Trans_call or
    $game_temp.message_window_showing or $game_system.map_interpreter.running?
    if Input.trigger?(Faltrans::Call_Script)
      $scene = Teletrans.new if !$game_map.mess_var[0]
      return
    end
  end
end
 
#-----------------------------------------------------------------------
# * Fuente
#-----------------------------------------------------------------------
class Font
  alias falcaoBest4_font initialize
  def initialize
    falcaoBest4_font
    if $scene.is_a?(Teletrans)
      self.name = Faltrans::FalFont
      self.size = 20
    end
  end
end
 
#-----------------------------------------------------------------------
# * Sprite que muestra la posision del jugador
#-----------------------------------------------------------------------
class Sprite_Pos < RPG::Sprite
  def initialize(viewport, realmap, character = nil)
    super(viewport)
    @character = character
    @sx = 0;  @counter = 0
    create_bitmap
    update_direction(realmap)
    update
  end
  def update
    super
    return if $game_map.read_index != $game_map.map_id and !self.visible
    update_src_rect
  end
  def create_bitmap
    self.bitmap = RPG::Cache.character(@character.character_name,
    @character.character_hue)
    @cw = bitmap.width / 4
    @ch = bitmap.height / 4
    self.ox = @cw / 2
    self.oy = @ch
    self.zoom_x = 0.6
    self.zoom_y = 0.6
    if $game_map.read_index != $game_map.map_id or $game_map.falhide
      self.visible = false
    else; self.visible = true; end
  end
  def update_src_rect
    if $game_map.read_index != $game_map.map_id or $game_map.falhide
      self.visible = false
    else; self.visible = true; end
    @counter += 1
    case @counter
    when 10; @sx = 0 * @cw
    when 20; @sx = 1 * @cw
    when 30; @sx = 2 * @cw
    when 40; @sx = 3 * @cw
      @counter = 0
    end
    self.src_rect.set(@sx, 0, @cw, @ch)
  end
 
  def update_direction(realmap)
    real_x = $game_player.x  * 448 / realmap.width
    real_y = $game_player.y * 328 / realmap.height
    self.x = real_x + 10
    self.y = real_y + 16
    self.z = 200
  end
end
 
#-----------------------------------------------------------------------
# * Key sprites
#-----------------------------------------------------------------------
class Sprite_Keys < RPG::Sprite
  def initialize(viewport, realmap, icon, character = nil)
    super(viewport)
    @character = character
    self.zoom_x = 0.8
    self.zoom_y = 0.8
    @counter = 0
    self.bitmap = RPG::Cache.icon(icon)
    update_direction(realmap)
    update
  end
 
  def update
    super
    @counter += 1
    case @counter
    when 1; self.visible = true
    when 20; self.visible = false
    when 40; @counter = 0
    end
  end
 
  def update_direction(realmap)
    real_x = @character.x  * 448 / realmap.width
    real_y = @character.y * 328 / realmap.height
    self.x = real_x
    self.y = real_y
    self.z = 200
  end
end
 
#-----------------------------------------------------------------------
# * Game_Event. refresh aliased
#-----------------------------------------------------------------------
class Game_Event < Game_Character
  attr_reader     :event_point
  attr_reader     :event_chest
  attr_reader     :event_boss
  attr_reader     :event_teleport
  attr_reader     :event_npc
  attr_accessor   :page
  alias falpoint_refresh refresh
  def refresh
    @event_point = false
    @event_chest = false
    @event_boss = false
    @event_teleport = false
    @event_npc = false
    falpoint_refresh
    create_falcomments
  end
 
  def create_falcomments
    return if @page.nil?
    for i in @page.list
      if i.code == 108 or i.code == 408
        if i.parameters[0].upcase[/EVENT_POINT/] != nil
          @event_point = true
        end
        if i.parameters[0].upcase[/EVENT_CHEST/] != nil
          @event_chest = true
        end
        if i.parameters[0].upcase[/EVENT_BOSS/] != nil
          @event_boss = true
        end
        if i.parameters[0].upcase[/EVENT_TELEPORT/] != nil
          @event_teleport = true
        end
        if i.parameters[0].upcase[/EVENT_NPC/] != nil
          @event_npc = true
        end
      end
    end
  end
end
 
#-----------------------------------------------------------------------
# * Game_Character modificacion, alias
#-----------------------------------------------------------------------
class Game_Character
  alias fal_moveto moveto
  def moveto(x, y)
    if $scene.is_a?(Teletrans)
      falmoveto(x, y, $game_map.mess_var[3])
      return
    end
    fal_moveto(x, y)
  end
 
  def falmoveto(x, y, map)
    @x = x % map.width
    @y = y % map.height
    @real_x = @x * 128
    @real_y = @y * 128
  end
end
 



License:

This script is for non-comercial games, for comercial games please contact me.

Screens

(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi627.photobucket.com%2Falbums%2Ftt357%2Ffalcao99%2FMinimapset2.png&hash=b0c14047cdae7c50ec55dcb126e9ce0ac29431f2)

(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi627.photobucket.com%2Falbums%2Ftt357%2Ffalcao99%2FMinimapset1.png&hash=135547e5bbfd69ba828b6a2d7093f80f34bdd7aa)

Enjoy
Title: Re: Falcao Minimap Set 1.1 RMXP
Post by: modern algebra on April 28, 2011, 09:54:33 PM
Nice! This looks pretty sweet falcao!
Title: Re: Falcao Minimap Set 1.1 RMXP
Post by: Dark_falcao on April 28, 2011, 09:58:21 PM
Nice! This looks pretty sweet falcao!

Jaja Thanks modern!

I took a break from rpg maker for a year

I hope you still remember me
Title: Re: Falcao Minimap Set 1.1 RMXP
Post by: modern algebra on April 28, 2011, 10:11:38 PM
That I do. I thought you were mostly a VX scripter though. Have you reverted to the dark side? :P
Title: Re: Falcao Minimap Set 1.1 RMXP
Post by: Acolyte on April 28, 2011, 10:26:52 PM
...........sex cavern?  :o
Title: Re: Falcao Minimap Set 1.1 RMXP
Post by: Dark_falcao on April 29, 2011, 02:28:54 PM

Quote
That I do. I thought you were mostly a VX scripter though. Have you reverted to the dark side?

I start learning RGSS on RMXP, i write scripts for both makers

Quote
  ...........sex cavern?

Jajaja i know that sound funny but i maped that cavern to be a sex cavern ;D

I hope all of you enjoy the script, may be i would rewhrite the code for RMVX
Title: Re: Falcao Minimap Set 1.1 RMXP
Post by: JOJguy66 on November 27, 2011, 06:09:16 PM
 :police: Sex cavern???? REALLY?! I grinned and though about the place. I want to go there.  ;) ;) :B
Title: Re: Falcao Minimap Set 1.1 RMXP
Post by: swick on November 30, 2011, 12:23:08 AM
is there a way to call the map, and show only the map without all the menu stuff around it?