3Dragon RPG
On recherche des graphistes, scripteurs... <script type="text/javascript">
var adfly_id = 3917558;
</script>
<script src="http://cdn.adf.ly/js/display.js"></script>



Rejoignez le forum, c’est rapide et facile

3Dragon RPG
On recherche des graphistes, scripteurs... <script type="text/javascript">
var adfly_id = 3917558;
</script>
<script src="http://cdn.adf.ly/js/display.js"></script>

3Dragon RPG
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Pour tous les RPGs mais pas que !

-20%
Le deal à ne pas rater :
-20% Récupérateur à eau mural 300 litres (Anthracite)
79 € 99 €
Voir le deal

Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

[script] Mini Map 1.0,5

Aller en bas  Message [Page 1 sur 1]

1[script] Mini Map 1.0,5 Empty [script] Mini Map 1.0,5 Dim 1 Mai - 12:32

Master of Dragons

Master of Dragons
Administrateur en chef
Administrateur en chef

Voilà THE script :

Code:
#===============================================================
# ● [VX] ◦ MiniMap ◦ □
# * (Pas besoin d’images) *
#--------------------------------------------------------------
# ◦ by Woratana [woratana@hotmail.com]
# ◦ Traduit et détaillé par Master of Dragons [masterofdragons@rocketmail.com]
#
# ◦ Provient de  RPG Maker Community
# ◦ Date de realization : 09/06/2008
# ◦ Version: 1.0,5
#--------------------------------------------------------------
# ◦ Credit: KGC for XP MiniMap script,
#Ce script ne marche pas avec l’autre script.
#--------------------------------------------------------------

module MiniMap
#===========================================================================
# [DEBUT] Interrupteur de la mini-map.
#---------------------------------------------------------------------------
SWITCH_NO_MINIMAP = 10 # Il faut ACTIVER l’interrupteur pour DESACTIVER la mini-map.
[410, 20, 100, 100] # Taille et position de la mini-map.
# [X, Y, Largeur, Hauteur]
# Vous pouvez déplacer la mini-map en faisant “insérer un script” en évènement parallèle :
# $game_system.minimap = [X, Y, Largeur, Hauteur]

MAP_Z = 0 # Minimap's Z-coordinate
# Augmentez ce nombre si il y a un problème qui montrent la mini-map endessous de certains objets.

GRID_SIZE = 5 # Minimap's grid size. Plus que 3 recommandé.

MINIMAP_BORDER_COLOR = Color.new(0, 0, 255, 160) # Couleur de la bordure de la mini-map.
# Color.new(Rouge, Vert, Bleu, Opacité)
MINIMAP_BORDER_SIZE = 2 # Taille de la bordure
FOREGROUND_COLOR = Color.new(224, 224, 255, 160) # Couleur des tiles où on passe.
BACKGROUND_COLOR = Color.new(0, 0, 0, 160) # Couleur des tiles où on ne passé pas.

USE_OUTLINE_PLAYER = true # Mettre un contour autour du héros de la mini-map ?
PLAYER_OUTLINE_COLOR = Color.new(0, 0, 0, 192) # Couleur de ce contour
USE_OUTLINE_EVENT = true # Mettre un contour autour des évènements de la mini-map ?
EVENT_OUTLINE_COLOR = Color.new(255, 255, 255, 192) # Couleur de ce contour.

PLAYER_COLOR = Color.new(255, 0, 0, 192) # Couleur du héros.
#---------------------------------------------------------------------------

OBJECT_COLOR = {} # PAS TOUCHE !
#===============================================================
# * SETUP EVENT KEYWORD & COLOR
#---------------------------------------------------------------
# ** Template:
# OBJECT_COLOR[‘mot-clé’] = Color.new(Rouge, Vert, Bleu, Opacité)
#-------------------------------------------------------------
# * ‘mot-clé’ Code qui appelera cette couleur.
# ** Note: 'mot-clé’ est sensible à la case !
# * Color.new(...): la couleur voulue
# Opacité de 0 à 250.
#-------------------------------------------------------------
OBJECT_COLOR['npc'] = Color.new(30,144,255,160)
OBJECT_COLOR['trésor'] = Color.new(0,255,255,160)
OBJECT_COLOR['ennemi'] = Color.new(139,35,35,160)
OBJECT_COLOR['marchand'] = Color.new(255,255,0,160)
OBJECT_COLOR[‘exemple’]= Color.new(0, 0, 0, 0)

#===========================================================================
TAG_NO_MINIMAP = '[NOMAP]' # Code pour désactiver la mini-map (peut-être changé).
TAG_EVENT = 'MMEV' # Code pour montrer un evènement sur la mini-map (peut-être chanée).
#===========================================================================
#[FIN]
#===========================================================================
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

Crédits : Woratana (script), moi (traduction et trucs et astuces)

UTILISATION
Activer la map : interrupteur choisit DESACTIVE.

Mettre un évènement : "code choisit1" 'code choisit2' (faire insérer un commentaire); Par défaut c'est :
Code:
MMEV code

Evènemets par défaut :

REMARQUE PERSONELLE :

°Pour que ça marche, il faut mettre un character sur l'évènement.

ASTUCE PERSONELLE :

°Pour faire apparaître un évènement que l'on voit pas sur la carte normale, il faut mettre un character dessus et, en sur un autre évènement, parallèle, mettre "déplacer un évènement" ->"[EVxxx]->"Opacité=0". (Pourquoi faire ? Pour indiquer une sortie par exemple)

Le reste est dan le script, lisez-le (je l'ai pas traduit pour rien quand même ><)

Voili voilou ^^

EDIT : Screen

[script] Mini Map 1.0,5 Dazfd10

Comme on sait jamais, voilà le script initial :
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 = [410, 20, 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

https://3dragon-rpg.forumsrpg.com

Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum

 
  •  

Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit