Partagez
Aller en bas
KillerWolf
KillerWolf
Membre

Nombre de messages : 15
Distinction : aucune
Date d'inscription : 28/05/2013

Recherche un script pour une minimap Empty Recherche un script pour une minimap

le Jeu 30 Mai 2013 - 9:56
Salut alors voilà je recherche un script minimap. J'avais déjà essayé celui-ci:

https://www.rpgmakervx-fr.com/t11679-minimap-hud

Mais je n'aime pas trop le fait que pour qu'un PNJ soit représenté sur la map il doit bouger et que nous devons bouger pour actualiser la minimap...

Donc avez-vous un meilleur script ou une idée pour améliorer celui que j'utilise en ce moment ?

Merci
hashel
hashel
Membre

Nombre de messages : 895
Age : 31
Localisation : Belgique
Distinction : Un bonhomme, un vrai ! [Korndor]
Date d'inscription : 16/05/2012
https://www.youtube.com/user/hashel05

Recherche un script pour une minimap Empty Re: Recherche un script pour une minimap

le Jeu 30 Mai 2013 - 10:55
Salut, je n'y connais rien en script mais tu peux aussi en faire manuellement : https://www.youtube.com/watch?v=HVRqa4QTUL8
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

Recherche un script pour une minimap Empty Re: Recherche un script pour une minimap

le Jeu 30 Mai 2013 - 11:55
Y'a Wora' qui avait fait ça : https://gist.github.com/kl/1491224

Teste, j'me rappelle plus à quoi ça ressemble... x)
KillerWolf
KillerWolf
Membre

Nombre de messages : 15
Distinction : aucune
Date d'inscription : 28/05/2013

Recherche un script pour une minimap Empty Re: Recherche un script pour une minimap

le Jeu 30 Mai 2013 - 17:31
Ok merci je regarde quand je suis chez moi, j'avais deja vu comment faire manuellement, mais ce qui est embetant c'est qu'il faut le refaire pour chaque map.
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

Recherche un script pour une minimap Empty Re: Recherche un script pour une minimap

le Jeu 30 Mai 2013 - 18:32
J'ai édité pour fusionner les deux messages puisque tu ne pouvais pas le faire.
(Je suis trop bon, comme seigneur, oui oui oui.)

Tiens nous au courant pour voir ça la solution restante te convient! Wink
KillerWolf
KillerWolf
Membre

Nombre de messages : 15
Distinction : aucune
Date d'inscription : 28/05/2013

Recherche un script pour une minimap Empty Re: Recherche un script pour une minimap

le Jeu 30 Mai 2013 - 20:46
Y'a Wora' qui avait fait ça : https://gist.github.com/kl/1491224

La minimap est pas mal mais au passage sur une autre zone l'image affiche toujours l'ancienne...
KillerWolf
KillerWolf
Membre

Nombre de messages : 15
Distinction : aucune
Date d'inscription : 28/05/2013

Recherche un script pour une minimap Empty Re: Recherche un script pour une minimap

le Ven 31 Mai 2013 - 22:52
Vous n'avez aucunes idées ?
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

Recherche un script pour une minimap Empty Re: Recherche un script pour une minimap

le Sam 1 Juin 2013 - 2:31
Attention aux double-posts!

Hmm. Ca affiche l'ancienne... C'est à dire..? Screen moi ça pour voir?
KillerWolf
KillerWolf
Membre

Nombre de messages : 15
Distinction : aucune
Date d'inscription : 28/05/2013

Recherche un script pour une minimap Empty Re: Recherche un script pour une minimap

le Sam 1 Juin 2013 - 11:17
Eh bien imaginons que je suis dans une maison. La minimap va afficher la maison. Mais si je sors de la maison la minimap affichera toujours l’intérieur de la maison.
Bencoco
Bencoco
Membre

Nombre de messages : 31
Age : 29
Localisation : Alsace
Distinction : aucune
Date d'inscription : 04/03/2012

Recherche un script pour une minimap Empty Re: Recherche un script pour une minimap

le Sam 1 Juin 2013 - 15:26
Salut j'ai regardé le script et il y a bien un problème j'ai rajouté deux petites lignes pour le corriger :

Spoiler:
Code:
#===============================================================
# ● [VX Ace] ◦ 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.
#--------------------------------------------------------------
# ◦ Ported to VX Ace by Kal on 2011/12/17
#--------------------------------------------------------------
 
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 SceneManager.scene.is_a?(Scene_Map)
SceneManager.scene.spriteset.minimap.refresh
end
end
def self.update_object
if SceneManager.scene.is_a?(Scene_Map)
SceneManager.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.rvdata2') 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
@map_id = $game_map.map_id
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, 4) #KAL: d = number of direcitons passable?
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, 4) #KAL: d = number of direcitons passable?
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 @map_id != $game_map.map_id
#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
sy = $game_player.real_y * grid_size
@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

maintenant ça marche Smile
KillerWolf
KillerWolf
Membre

Nombre de messages : 15
Distinction : aucune
Date d'inscription : 28/05/2013

Recherche un script pour une minimap Empty Re: Recherche un script pour une minimap

le Sam 1 Juin 2013 - 18:55
Je test et je te dit Wink

Super merci !
Bencoco
Bencoco
Membre

Nombre de messages : 31
Age : 29
Localisation : Alsace
Distinction : aucune
Date d'inscription : 04/03/2012

Recherche un script pour une minimap Empty Re: Recherche un script pour une minimap

le Lun 3 Juin 2013 - 13:06
De rien :-D
Balbereith
Balbereith
Staffeux retraité

Nombre de messages : 4129
Age : 26
Localisation : dans l'ombre...
Distinction : Péripatéticienne à temps perdu
Helly n°666 [Coco' ;D]
mon ptit balbounet p'tit jardinier en herbe(les râteaux ça le connait) [tonton Adurna]
Cultivateur professionnel de la commu' (il a de bons outils en de nombreux exemplaires Recherche un script pour une minimap 522164 ) [Coco' Smile]
Date d'inscription : 13/05/2009

Recherche un script pour une minimap Empty Re: Recherche un script pour une minimap

le Lun 3 Juin 2013 - 19:23
Donc résolu ou non ? Si oui, merci 'indiquer [résolu] dans le titre du sujet en éditant ton premier message ^^
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum