Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

 
Reply to this topicStart new topic
> Woratana's Mini-Map, Need some help showing stuff
slifer644
post Sep 28 2009, 05:09 PM
Post #1


I've come do deliver some bad luck, later.
Group Icon

Group: Revolutionary
Posts: 133
Type: Developer
RM Skill: Masterful




I need some help with his script. In it is says:
CODE
  #===============================================================
  # * SETUP EVENT KEYWORD & COLOR
  #---------------------------------------------------------------
  # ** Template:
  # OBJECT_COLOR['keyword'] = Color.new(Red, Green, Blue, Opacity)
  #-------------------------------------------------------------
  # * 'keyword': Word you want to put in event's comment to show this color
  # ** Note: 'keyword' is CASE SENSITIVE!
  # * Color.new(...): Color you want
  # You can put between 0 - 255 in each argument (Red, Green, Blue, Opacity)
  #-------------------------------------------------------------
  OBJECT_COLOR['npc'] = Color.new(30,144,255,160)
  OBJECT_COLOR['treasure'] = Color.new(0,255,255,160)
  OBJECT_COLOR['enemy'] = Color.new(139,35,35,160)
  OBJECT_COLOR['merchant'] = Color.new(255,255,0,160)

How do I get the enemies and such to show up on the minimap?


__________________________
[Show/Hide] What is mine (or what i work for :P)!

Go to the top of the page
 
+Quote Post
   
miget man12
post Sep 28 2009, 05:16 PM
Post #2


Making a Comeback
Group Icon

Group: Revolutionary
Posts: 393
Type: Musician
RM Skill: Intermediate




put a comment at the top of the commands list that says either:
MMEV npc
MMEV treasure
MMEV enemy
MMEV merchant
Now I'm not entirely sure if you need to put MMEV before it because you didn't give me the entire script (and it might be changed). If you post the entire script I can ensure it.

~Miget man12


__________________________
By the way:


I'm bored because it's summer so I decided to drop by for a bit.
Go to the top of the page
 
+Quote Post
   
slifer644
post Sep 28 2009, 05:33 PM
Post #3


I've come do deliver some bad luck, later.
Group Icon

Group: Revolutionary
Posts: 133
Type: Developer
RM Skill: Masterful




QUOTE (miget man12 @ Sep 28 2009, 05:16 PM) *
put a comment at the top of the commands list that says either:
MMEV npc
MMEV treasure
MMEV enemy
MMEV merchant
Now I'm not entirely sure if you need to put MMEV before it because you didn't give me the entire script (and it might be changed). If you post the entire script I can ensure it.

~Miget man12

Uhm, do you mean as in comment in the event of it? I'll try that and heres the entire script:
CODE
#===============================================================
# ● [VX] ◦ MiniMap ◦ □
# * Plug N Play Minimap (Don't need image~) *
#--------------------------------------------------------------
# ◦ by Woratana [woratana@hotmail.com]
# ◦ Thaiware RPG Maker Community
# ◦ Released on: 09/06/2008
# ◦ Version: 1.0
#--------------------------------------------------------------
# ◦ Credit: KGC for XP MiniMap Script,
# this script can't be done without his MiniMap.
#--------------------------------------------------------------

module MiniMap
  #==========================================================================
=
  # [START] MINIMAP SCRIPT SETUP PART
  #---------------------------------------------------------------------------
  SWITCH_NO_MINIMAP = 10 # Turn ON this switch to NOT SHOW minimap
    
  MAP_RECT = [435, 250, 100, 100] # Minimap size and position
  # [X, Y, Width, Height]
  # You can change it in game, by call script:
  # $game_system.minimap = [X, Y, Width, Height]

  MAP_Z = 0 # Minimap's Z-coordinate
  # Increase this number if there is problem that minimap show below some objects.

  GRID_SIZE = 5 # Minimap's grid size. Recommend to use more than 3.
  
  MINIMAP_BORDER_COLOR = Color.new(0, 0, 255, 160) # Minimap's border color
  # Color.new(Red, Green, Blue, Opacity)
  MINIMAP_BORDER_SIZE = 2 # Minimap's border size
  
  FOREGROUND_COLOR = Color.new(224, 224, 255, 160) # Passable tile color
  BACKGROUND_COLOR = Color.new(0, 0, 0, 160) # Unpassable tile color

  USE_OUTLINE_PLAYER = true # Draw outline around player in minimap?
  PLAYER_OUTLINE_COLOR = Color.new(0, 0, 0, 192) # Player Outline color
  USE_OUTLINE_EVENT = true # Draw outline around events in minimap?
  EVENT_OUTLINE_COLOR = Color.new(255, 255, 255, 192) # Player Outline color
  
  PLAYER_COLOR = Color.new(255, 0, 0, 192) # Player color
  #---------------------------------------------------------------------------

  OBJECT_COLOR = {} # Don't change or delete this line!
  #===============================================================
  # * SETUP EVENT KEYWORD & COLOR
  #---------------------------------------------------------------
  # ** Template:
  # OBJECT_COLOR['keyword'] = Color.new(Red, Green, Blue, Opacity)
  #-------------------------------------------------------------
  # * 'keyword': Word you want to put in event's comment to show this color
  # ** Note: 'keyword' is CASE SENSITIVE!
  # * Color.new(...): Color you want
  # You can put between 0 - 255 in each argument (Red, Green, Blue, Opacity)
  #-------------------------------------------------------------
  OBJECT_COLOR['npc'] = Color.new(30,144,255,160)
  OBJECT_COLOR['treasure'] = Color.new(0,255,255,160)
  OBJECT_COLOR['enemy'] = Color.new(139,35,35,160)
  OBJECT_COLOR['merchant'] = Color.new(255,255,0,160)
  
  #==========================================================================
=
  # * [OPTIONAL] TAGS:
  #---------------------------------------------------------------------------
  # Change keyword for disable minimap & keyword for show event on minimap~
  #-----------------------------------------------------------------------
  TAG_NO_MINIMAP = '[NOMAP]' # Tag for disable minimap
  TAG_EVENT = 'MMEV' # Tag for show event on minimap
  #---------------------------------------------------------------------------

  #---------------------------------------------------------------------------
  # [END] MINIMAP SCRIPT SETUP PART
  #==========================================================================
=
  
  def self.refresh
    if $scene.is_a?(Scene_Map)
      $scene.spriteset.minimap.refresh
    end
  end
  
  def self.update_object
    if $scene.is_a?(Scene_Map)
      $scene.spriteset.minimap.update_object_list
    end
  end
end

#==============================================================================
#   RPG::MapInfo
#==============================================================================
class RPG::MapInfo
  def name
    return @name.gsub(/\[.*\]/) { }
  end

  def original_name
    return @name
  end

  def show_minimap?
    return !@name.include?(MiniMap::TAG_NO_MINIMAP)
  end
end
#==============================================================================
#   Game_System
#==============================================================================
class Game_System
  attr_accessor :minimap
  alias wora_minimap_gamsys_ini initialize
  
  def initialize
    wora_minimap_gamsys_ini
    @minimap = MiniMap::MAP_RECT
  end
  
  def show_minimap
    return !$game_switches[MiniMap::SWITCH_NO_MINIMAP]
  end
end
#==============================================================================
#   Game_Map
#==============================================================================
class Game_Map
  alias wora_minimap_gammap_setup setup
  def setup(map_id)
    wora_minimap_gammap_setup(map_id)
    @db_info = load_data('Data/MapInfos.rvdata') if @db_info.nil?
    @map_info = @db_info[map_id]
  end
  
  def show_minimap?
    return @map_info.show_minimap?
  end
end
#==============================================================================
#   Game_Event
#==============================================================================
class Game_Event < Game_Character
  def mm_comment?(comment, return_comment = false )
    if !@list.nil?
      for i in 0...@list.size - 1
        next if @list[i].code != 108
        if @list[i].parameters[0].include?(comment)
          return @list[i].parameters[0] if return_comment
          return true
        end
      end
    end
    return '' if return_comment
    return false
  end
end
#==============================================================================
#   Game_MiniMap
#------------------------------------------------------------------------------
class Game_MiniMap
  def initialize(tilemap)
    @tilemap = tilemap
    refresh
  end

  def dispose
    @border.bitmap.dispose
    @border.dispose
    @map_sprite.bitmap.dispose
    @map_sprite.dispose
    @object_sprite.bitmap.dispose
    @object_sprite.dispose
    @position_sprite.bitmap.dispose
    @position_sprite.dispose
  end

  def visible
    return @map_sprite.visible
  end

  def visible=(value)
    @map_sprite.visible = value
    @object_sprite.visible = value
    @position_sprite.visible = value
    @border.visible = value
  end

  def refresh
    @mmr = $game_system.minimap
    map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
    grid_size = [MiniMap::GRID_SIZE, 1].max

    @x = 0
    @y = 0
    @size = [map_rect.width / grid_size, map_rect.height / grid_size]

    @border = Sprite.new
    @border.x = map_rect.x - MiniMap::MINIMAP_BORDER_SIZE
    @border.y = map_rect.y - MiniMap::MINIMAP_BORDER_SIZE
    b_width = map_rect.width + (MiniMap::MINIMAP_BORDER_SIZE * 2)
    b_height = map_rect.height + (MiniMap::MINIMAP_BORDER_SIZE * 2)
    @border.bitmap = Bitmap.new(b_width, b_height)
    @border.bitmap.fill_rect(@border.bitmap.rect, MiniMap::MINIMAP_BORDER_COLOR)
    @border.bitmap.clear_rect(MiniMap::MINIMAP_BORDER_SIZE, MiniMap::MINIMAP_BORDER_SIZE,
    @border.bitmap.width - (MiniMap::MINIMAP_BORDER_SIZE * 2),
    @border.bitmap.height - (MiniMap::MINIMAP_BORDER_SIZE * 2))
    
    @map_sprite = Sprite.new
    @map_sprite.x = map_rect.x
    @map_sprite.y = map_rect.y
    @map_sprite.z = MiniMap::MAP_Z
    bitmap_width = $game_map.width * grid_size + map_rect.width
    bitmap_height = $game_map.height * grid_size + map_rect.height
    @map_sprite.bitmap = Bitmap.new(bitmap_width, bitmap_height)
    @map_sprite.src_rect = map_rect

    @object_sprite = Sprite.new
    @object_sprite.x = map_rect.x
    @object_sprite.y = map_rect.y
    @object_sprite.z = MiniMap::MAP_Z + 1
    @object_sprite.bitmap = Bitmap.new(bitmap_width, bitmap_height)
    @object_sprite.src_rect = map_rect

    @position_sprite = Sprite_Base.new
    @position_sprite.x = map_rect.x + @size[0] / 2 * grid_size
    @position_sprite.y = map_rect.y + @size[1] / 2 * grid_size
    @position_sprite.z = MiniMap::MAP_Z + 2
    
    bitmap = Bitmap.new(grid_size, grid_size)
    # Player's Outline
    if MiniMap::USE_OUTLINE_PLAYER and MiniMap::GRID_SIZE >= 3
      bitmap.fill_rect(bitmap.rect, MiniMap::PLAYER_OUTLINE_COLOR)
      brect = Rect.new(bitmap.rect.x + 1, bitmap.rect.y + 1, bitmap.rect.width - 2,
        bitmap.rect.height - 2)
      bitmap.clear_rect(brect)
    else
      brect = bitmap.rect
    end
    
    bitmap.fill_rect(brect, MiniMap::PLAYER_COLOR)
    @position_sprite.bitmap = bitmap

    draw_map
    update_object_list
    draw_object
    update_position
  end

  def draw_map
    bitmap = @map_sprite.bitmap
    bitmap.fill_rect(bitmap.rect, MiniMap::BACKGROUND_COLOR)
    map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
    grid_size = [MiniMap::GRID_SIZE, 1].max
    
    $game_map.width.times do |i|
      $game_map.height.times do |j|
        if !$game_map.passable?(i, j)
          next
        end
        rect = Rect.new(map_rect.width / 2 + grid_size * i,
          map_rect.height / 2 + grid_size * j,
          grid_size, grid_size)
        if grid_size >= 3
          if !$game_map.passable?(i, j)
            rect.height -= 1
            rect.x += 1
            rect.width -= 1
            rect.width -= 1
            rect.y += 1
            rect.height -= 1
          end
        end
        bitmap.fill_rect(rect, MiniMap::FOREGROUND_COLOR)
      end
    end
  end

  def update_object_list
    @object_list = {}
    $game_map.events.values.each do |e|
      comment = e.mm_comment?(MiniMap::TAG_EVENT, true)
      if comment != ''
        type = comment.gsub(/#{MiniMap::TAG_EVENT}/){}.gsub(/\s+/){}
        @object_list[type] = [] if @object_list[type].nil?
        @object_list[type] << e
      end
    end
  end

  def draw_object
    bitmap = @object_sprite.bitmap
    bitmap.clear
    map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
    grid_size = [MiniMap::GRID_SIZE, 1].max
    rect = Rect.new(0, 0, grid_size, grid_size)
    mw = map_rect.width / 2
    mh = map_rect.height / 2

    @object_list.each do |key, events|
      color = MiniMap::OBJECT_COLOR[key]
      next if events.nil? or color.nil?
      events.each do |obj|
        if !obj.character_name.empty?
          rect.x = mw + obj.real_x * grid_size / 256
          rect.y = mh + obj.real_y * grid_size / 256
          # Event's Outline
          if MiniMap::USE_OUTLINE_EVENT and MiniMap::GRID_SIZE >= 3
            bitmap.fill_rect(rect, MiniMap::EVENT_OUTLINE_COLOR)
            brect = Rect.new(rect.x + 1, rect.y + 1, rect.width - 2,
            rect.height - 2)
            bitmap.clear_rect(brect)
          else
            brect = bitmap.rect
          end
          bitmap.fill_rect(brect, color)
        end
      end
    end
  end

  def update
    if @mmr != $game_system.minimap
      dispose
      refresh
    end
    draw_object
    update_position
    if @map_sprite.visible
      @map_sprite.update
      @object_sprite.update
      @position_sprite.update
    end
  end

  def update_position
    map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
    grid_size = [MiniMap::GRID_SIZE, 1].max
    sx = $game_player.real_x * grid_size / 256
    sy = $game_player.real_y * grid_size / 256
    @map_sprite.src_rect.x = sx
    @map_sprite.src_rect.y = sy
    @object_sprite.src_rect.x = sx
    @object_sprite.src_rect.y = sy
  end
end
#==============================================================================
#   Spriteset_Map
#------------------------------------------------------------------------------
class Spriteset_Map
  attr_reader :minimap
  alias wora_minimap_sprsetmap_ini initialize
  alias wora_minimap_sprsetmap_dis dispose
  alias wora_minimap_sprsetmap_upd update
  
  def initialize
    wora_minimap_sprsetmap_ini
    if $game_map.show_minimap?
      @minimap = Game_MiniMap.new(@tilemap)
      $game_system.show_minimap = true if $game_system.show_minimap.nil?
      @minimap.visible = $game_system.show_minimap
    end
  end
  
  def dispose
    @minimap.dispose if !@minimap.nil?
    wora_minimap_sprsetmap_dis
  end

  def update
    if !@minimap.nil?
      if $game_system.show_minimap
        @minimap.visible = true
        @minimap.update
      else
        @minimap.visible = false
      end
    end
    wora_minimap_sprsetmap_upd
  end
end
#==============================================================================
#   Scene_Map
#------------------------------------------------------------------------------
class Scene_Map < Scene_Base
  attr_reader :spriteset
end


This post has been edited by slifer644: Sep 28 2009, 05:34 PM


__________________________
[Show/Hide] What is mine (or what i work for :P)!

Go to the top of the page
 
+Quote Post
   
miget man12
post Sep 28 2009, 05:37 PM
Post #4


Making a Comeback
Group Icon

Group: Revolutionary
Posts: 393
Type: Musician
RM Skill: Intermediate




Yeah, MMEV npc/treasure/etc. in a comment command in the event that you want shown.
Also, you should put long scripts in spoilers.

~Miget man12


__________________________
By the way:


I'm bored because it's summer so I decided to drop by for a bit.
Go to the top of the page
 
+Quote Post
   
superspyspiderma...
post Oct 7 2009, 05:23 PM
Post #5


Level 1
Group Icon

Group: Member
Posts: 5
Type: Artist
RM Skill: Intermediate




QUOTE (miget man12 @ Sep 28 2009, 06:37 PM) *
Yeah, MMEV npc/treasure/etc. in a comment command in the event that you want shown.
Also, you should put long scripts in spoilers.

~Miget man12



So I have to put npc or whatever in the comment event? Do I need to put the [' '] in the comment too and I tried that, it didn't work, nothing was showing on the mini-map, only my main character, the ground, and stuff I can't walk on. Can you help me, maybe show me the picture of you putting in the npc in the comment event and how it looks like in the game.
Go to the top of the page
 
+Quote Post
   
miget man12
post Oct 7 2009, 05:47 PM
Post #6


Making a Comeback
Group Icon

Group: Revolutionary
Posts: 393
Type: Musician
RM Skill: Intermediate




just type MMEV npc:

Put the comment at the top of the command list.
If it still won't work, try putting the minimap script at the very bottom of the script list (but above the 'Main' script). If that doesn't work, try putting it at the top of the 'Materials' section.

~Miget man12


__________________________
By the way:


I'm bored because it's summer so I decided to drop by for a bit.
Go to the top of the page
 
+Quote Post
   
superspyspiderma...
post Oct 7 2009, 07:41 PM
Post #7


Level 1
Group Icon

Group: Member
Posts: 5
Type: Artist
RM Skill: Intermediate




QUOTE (miget man12 @ Oct 7 2009, 06:47 PM) *
just type MMEV npc:

Put the comment at the top of the command list.
If it still won't work, try putting the minimap script at the very bottom of the script list (but above the 'Main' script). If that doesn't work, try putting it at the top of the 'Materials' section.

~Miget man12


Thank you very much Miget man12, it worked.
Go to the top of the page
 
+Quote Post
   
superspyspiderma...
post Oct 10 2009, 08:33 PM
Post #8


Level 1
Group Icon

Group: Member
Posts: 5
Type: Artist
RM Skill: Intermediate




Can you help me with this problem that I found? This also happened in my last game too, I don't know why... It says-


Script 'Minimap=Woratana' line 136: No Method Error occurred.

undefined method 'show_minimap?' for nil:NilClass

Thank you...




Go to the top of the page
 
+Quote Post
   
Xzygon
post Oct 10 2009, 08:56 PM
Post #9


Pineapple Inc's President and Creator of Duality Online
Group Icon

Group: Revolutionary
Posts: 554
Type: Writer
RM Skill: Skilled




Did you edit anything in the scripts? What scripts are you using in correspondence (with) the Mini-Map script?


__________________________
Check out my game, Duality Online!
Duality Online






Blah
A saying that I DID NOT STEAL FROM KUNG FU PANDA!
Today is a Gift.
That's why they call it the Present.
You never know what's inside,
Because the Present is always changing.
~Made it up with my cuz 7 Years Ago, without the help of anybody else~


Don't read!
00110000001100010011000000110000001100010011000000110000001100000011000000
11000100110001001100000011000000110000001100000011000100110000001100010011000100
1
10000001100010011000000110000001100000011000000110001001100010011000000110000001
1
00000011000000110001001100000011000000110001001100000011000100110001001100000011
0
00000110000001100000011000100110000001100000011000000110000001100000011000000110
0
01001100010011000000110000001100010011000000110001001100000011000100110001001100
0
10011000000110000001100000011000000110000001100010011000100110000001100010011000
0
00110000001100010011000000110001001100010011000000110000001100000011000100110001
0
01100000011000000110001001100000011000000110000001100000011000000110000001100010
0
11000100110000001100000011000100110001001100000011000000110001001100010011000000
1
10000001100000011000000110001001100000011000100110001001100000011000100110000001
1
00000011000100110000001100010011000100110000001100010011000100110000001100000011
0
00000110000001100010011000000110000001100000011000000110000001100000011000100110
0
01001100000011000000110001001100010011000000110000001100010011000100110000001100
0
10011000100110001001100010011000000110001001100010011000100110000001100000011000
1
00110000001100000011000000110001001100000011000000110000001100000011000000110000
0
01100010011000100110000001100000011000100110000001100000011000000110001001100010
0
11000000110001001100010011000100110001001100000011000100110001001100010011000000
1
10001001100000011000100110000001100010011000100110000001100000011000000110001001
1
00000011000000110001001100010011000000110001001100010011000000110000001100000011
0
00100110001001100000011000000110001001100000011000100110000001100000011000100110
0
00001100000011000000110000001100000011000000110001001100010011000000110000001100
0
10011000000110000001100000011000100110001001100000011000000110001001100000011000
1
00110000001100010011000100110000001100000011000000110001001100010011000000110001
0
01100010011000100110000001100000011000100110000001100000011000100110001001100010
0
11000100110000001100000011000100110000001100010011000100110001001100000011000000
1
10000001100000011000000110001001100010011000100110000001100010011000000110000001
1
00000011000100110001001100000011000100110000001100000011000100110000001100010011
0
00100110000001100010011000100110001001100000011000000110001001100010011000000110
0
00001100010011000100110001001100000011000000110001001100000011000000110000001100
0
00011000000110000001100010011000100110001001100000011000100110000001100000011000
0
00110001001100010011000000110001001100000011000000110000001100000011000100110001
0
01100000011000100110000001100000011000100110000001100010011000100110001001100000
0
11000000110001001100010011000000110000001100010011000000110000001100000011000000
1
10000001100000011000100110001001100000011000000110000001100010011000000110000001
1
00010011000100110000001100010011000000110000001100010011000000110001001100010011
0
00000110001001100010011000100110000001100000011000100110001001100000011000000110
0
00001100000011000100110000001100010011000100110001001100000011000000110001001100
0
00011000000110001001100010011000100110001001100000011000000110001001100000011000
0
00110001001100000011000000110000001100000011000000110000001100010011000100110000
0
01100000011000000110001001100010011000000110001001100010011000000110001001100010
0
11000100110001001100000011000100110001001100000011000000110001001100000011000000
1
10000001100010011000100110000001100000011000100110000001100010011000000110000001
1
00010011000000110001001100010011000100110000





I support
Supporting


Go to the top of the page
 
+Quote Post
   
superspyspiderma...
post Oct 17 2009, 10:05 AM
Post #10


Level 1
Group Icon

Group: Member
Posts: 5
Type: Artist
RM Skill: Intermediate




QUOTE (Xzygon @ Oct 10 2009, 09:56 PM) *
Did you edit anything in the scripts? What scripts are you using in correspondence (with) the Mini-Map script?


Sorry about the late reply. The Mini-Map worked when I switched my side-view battle system, weird...thanks anyway... wink.gif
Go to the top of the page
 
+Quote Post
   
Ndoelicious
post Jan 22 2012, 10:41 AM
Post #11


Level 15
Group Icon

Group: Revolutionary
Posts: 282
Type: Mapper
RM Skill: Intermediate
Rev Points: 50




I actually dealing with the same problems..lol happy.gif
and thanks for helping out ^^


__________________________
One idiot is actually talk more than three geniuses combined!
-Patrick Star-

Go to the top of the page
 
+Quote Post
   
Pillanious
post Jan 23 2012, 12:04 AM
Post #12


Level 8
Group Icon

Group: Revolutionary
Posts: 125
Type: Musician
RM Skill: Beginner




If it helps,

I find I get that error anytime I load a save game after making any changes to the maps, or creating a new map. For some reason, the script doesn't recognize the changes until you start a new game.

Frustrating when you're testing things, but I usually just disable the map for the remainder of that test run, and re-enable it with a fresh new game.

Hope that helps smile.gif
Go to the top of the page
 
+Quote Post
   

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 23rd May 2013 - 12:51 PM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker