Confira o Videos Épicos #45!
23 Respostas   8637 Visualizações
0 Membros e 1 Visitante estão vendo este tópico.
Muito bom o scriptEstou tendo problemas com o script e já até dei umas modificação quanto a ativação por teclas e por mapas.No caso específico é quanto a utilização de um evento com comentário, o erro apontado é na linha 252. if $game_map.events[event].list.size >= 0Quando tiro o evento da tela funciona normalmente, mas preciso realmente q funcione ambos.Agradeço a quem puder me responder.OBS: mesmo eu adicionando um novo evento na lista q define as colorações ele não aceita.
Wow. Mini-mapa bonitão! Curti bastante o layout dele, cara. Parabéns pelo script! + ouro. =)Um grande abraço,Kazuyashi.
Bom... desculpem lá por postar nesse tópico depois de tanto tempo sem comentários(ja que existe esse topico, não faz sentido criar outro), mas preciso de ajuda.Eu tentei utilizar esse mini-mapa no meu projeto mas deu um erro na hora de jogar:erro[close]Eu fiz uma copia e retirei os scripts(ficheiros e tags) que eu uso no projeto e executei no game e continuou com esse erro.Será que alguém pode me dizer como resolver esse problema?
#==============================================================================## **Azraven Minimap** ##------------------------------------------------------------------------------## ** Autor: Azraven ## ** Versão: 1.5b ## ** Data: 24/12/2012 ##------------------------------------------------------------------------------# # - Descrição: ## Este script adiciona um mini mapa circular no jogo. ## - Utilização: ## Cole este script na seção "Scripts Adicionais". ##==============================================================================## - Histórico ## 24/12/2012 - Início e término da versão 1.0b ## 04/03/2013 - Versão 1.5b Correção de bugs e adição de novas funções. ## * Correção de um bug em que não verificava corretamente o ## de determinados tiles. ## * Correção de um bug em que tiles de grama (bush) eram ## apresentados como bloqueio. ## * Correção de um bug em que tiles de bloqueio posicionados ## sobre tiles de grama era mrepresentados como passáveis. ## * Código melhorado. ## + Adicionado a função de mostrar os veiculos. ## + Adicionado a função de mostrar os seguidores. ## + Adicionado a função para utilizar IDs de Região para ## ocultar áreas passáveis. ##------------------------------------------------------------------------------#module SheolShade module MiniMap #--------------------------------------------------------------------------# # CONFIGURAÇÂO # #--------------------------------------------------------------------------# #Tamanho do tile do mini mapa, recomendável não usar valores menores que 3. TileSize = 8 #--------------------------------------------------------------------------# #Ajuste do centralizamento do mini mapa, depende do tamanho do tile. MapOffset = -4 #--------------------------------------------------------------------------# #Define a cor do jogador no mapa. PlayerColor = Color.new(255,0,0) #--------------------------------------------------------------------------# #Mostra os seguidores. ShowFollowers = true #--------------------------------------------------------------------------# #Define a cor dos seguidores no mapa. FollowerColor = Color.new(0,128,255) #--------------------------------------------------------------------------# #Define se irá mostrar os veiculos no map. ShowVehicles = true #--------------------------------------------------------------------------# #Define a cor do barco. BoatColor = Color.new(255,0,255) #--------------------------------------------------------------------------# #Define a cor do navio. ShipColor = Color.new(255,0,255) #--------------------------------------------------------------------------# #Define a cor do aeronave. AirshipColor = Color.new(255,0,255) #--------------------------------------------------------------------------# #Define a cor dos objetos mostrados no mapa. #Objetos são NPCs, portas, teleportes, baús e o que mais o usuário puder #imaginar. #Para adicionar um novo objeto use a seguinte sintaxe dentro das {}: # "tag" => Color.new(R,G,B,A) #Onde tag é o comentário que será adiocinado a tal evento. #Separe cada objeto por "," sem as aspas. ObjectColor = {"npc" => Color.new(0,255,0), "teleport" => Color.new(150,50,50), "chest" => Color.new(100,100,100)} #--------------------------------------------------------------------------# #Define a cor de contorno dos objetos e do jogador. BorderColor = Color.new(0,0,0) #--------------------------------------------------------------------------# #Opacidade dos objetos mostrados no mapa. ObjectLayerOpacity = 255 #--------------------------------------------------------------------------# #Posição do mapa na tela. #1 = Canto superior esquerdo. #2 = Canto superior direito. #3 = Canto inferior esquerdo. #4 = Canto superior direito. MiniMapCorner = 2 #--------------------------------------------------------------------------# #Define se determinada região mostrará como bloqueada no mini mapa. #Util pra não revelar "passagens secretas". UseHideRegion = true #--------------------------------------------------------------------------# #Id da região caso UseHideRegion for true. HideRegionId = 1 #--------------------------------------------------------------------------# #Cor do da área impassável do mapa. MapColor = Color.new(200,150,150) #--------------------------------------------------------------------------# #Cor do contorno da área impassável do mapa. MapBorderColor = Color.new(50,50,50) #--------------------------------------------------------------------------# #Nome do arquivo de imagem da borda do mini mapa na pasta Graphics/System. BorderName = "Border" #--------------------------------------------------------------------------# #Define se irá utilizar uam textura ao fundo. UseBGTexture = true #--------------------------------------------------------------------------# #Nome do arquivo de imagem da textura usada ao #fundo do mini mapa na pasta Graphics/System. #Obs.: A imagem deve estar com as cores invertidas. BackTextureName = "OldPaper" #--------------------------------------------------------------------------# #Cor de preenchimento do fundo caso nã oseja utilizado uma textura. BGColor = Color.new( 100, 100, 100) #--------------------------------------------------------------------------# #Opção de preencher com uma cor a área externa do mapa. ClearOutsideArea = false #--------------------------------------------------------------------------# #Cor utilizada para preencher a área externa do mapa. ClearOutsideColor = Color.new(0,0,0) #--------------------------------------------------------------------------# #Opção de dermarcar os limites do mapa. OutlineMapArea = true #--------------------------------------------------------------------------# #Cor da demarcação dos limites do mapa. OutlineMapColor = Color.new(0,0,0) #--------------------------------------------------------------------------# #Id do switch que habilida/desabilita o mini mapa. EnableSwitchId = 1 #--------------------------------------------------------------------------# # FIM DA CONFIGURAÇÂO. # #--------------------------------------------------------------------------# MiniMapCoords = {1 => [0,0,112,112], 2 => [Graphics.width - 112,0,112,112], 3 => [0,Graphics.height - 112,112,112], 4 => [Graphics.width - 112,Graphics.height - 112,112,112]} endend#==============================================================================## ** Classe Color#==============================================================================#class Color #----------------------------------------------------------------------------- # * Inverte o valor das cores #----------------------------------------------------------------------------- def invert r = 255 - self.red g = 255 - self.green b = 255 - self.blue a = self.alpha self.set(r, g, b, a) endend#==============================================================================## ** Classe Mini Map#==============================================================================#class MiniMap include SheolShade::MiniMap def initialize(viewport) @viewport = viewport @playercolor = PlayerColor.dup.invert @followercolor = FollowerColor.dup.invert @boatcolor = BoatColor.dup.invert @shipcolor = ShipColor.dup.invert @airshipcolor = AirshipColor.dup.invert @objectcolor = ObjectColor.dup @objectcolor.each_pair do |key, value| @objectcolor[key] = value.dup.invert end @bordercolor = BorderColor.dup.invert @mapcolor = MapColor.dup.invert @mapbordercolor = MapBorderColor.dup.invert @clearoutsidecolor = ClearOutsideColor.dup.invert @outlinemapcolor = OutlineMapColor.dup.invert refresh end def refresh @map_id = $game_map.map_id @backmask = Sprite.new(@viewport) @backmask.bitmap = Cache::system("Back_96") @backmask.x = @backmask.y = 8 @backtile = Sprite.new(@viewport) @backtile.blend_type = 2 @backtile.z = 1 @backtile.x = @backtile.y = -100 @map = Sprite.new(@viewport) @map.z = 2 @map.blend_type = 2 @object_layer = Sprite.new(@viewport) @object_layer.z = 3 @object_layer.blend_type = 2 @object_layer.bitmap = Bitmap.new($game_map.width*TileSize + 112, $game_map.height*TileSize + 112) @object_layer.opacity = ObjectLayerOpacity @border = Sprite.new(@viewport) @border.bitmap = Cache::system(BorderName) @border.z = 4 @border.opacity = 255 @mask = Cache::system("Mask") draw_back draw_map end def visible? $game_switches[EnableSwitchId] end def draw_map front = make_map_bitmap(@mapcolor) border = make_map_bitmap(@mapbordercolor) result = Bitmap.new($game_map.width*TileSize + 112, $game_map.height*TileSize+ 112) result.blt(-1, 0, border, border.rect) result.blt(1, 0, border, border.rect) result.blt(0, -1, border, border.rect) result.blt(0, 1, border, border.rect) result.blt(0, 0, front, front.rect) @mapbitmap = result end def draw_back bitmap = Bitmap.new($game_map.width*TileSize+112, $game_map.height*TileSize+112) if UseBGTexture bit = Cache::system(BackTextureName) bitmap.stretch_blt(bitmap.rect, bit, bit.rect) else bitmap.fill_rect(bitmap.rect, BGColor) end if ClearOutsideArea bitmap.fill_rect(0,0,bitmap.width, 56, @clearoutsidecolor) bitmap.fill_rect(0,0,56, bitmap.height, @clearoutsidecolor) bitmap.fill_rect(0,bitmap.height-56,bitmap.width, 56, @clearoutsidecolor) bitmap.fill_rect(bitmap.width-56,0,56, bitmap.height, @clearoutsidecolor) elsif OutlineMapArea bitmap.fill_rect(56,55,bitmap.width-112,1,@outlinemapcolor) bitmap.fill_rect(55,56,1,bitmap.height-112,@outlinemapcolor) bitmap.fill_rect(bitmap.width-56,55,1,bitmap.height-112,@outlinemapcolor) bitmap.fill_rect(56,bitmap.height-56,bitmap.width-112,1,@outlinemapcolor) end @backtilebitmap = bitmap end def draw_object_layer for event in $game_map.events.values if event.list.size >= 0 for item in event.list if item.code == 108 or item.code == 408 if @objectcolor.has_key?(item.parameters[0]) draw_object(event.real_x*TileSize+56, event.real_y*TileSize+56, @objectcolor[item.parameters[0]]) end end end end end if ShowFollowers unless $game_player.vehicle $game_player.followers.each do |follower| draw_object(follower.real_x*TileSize+56, follower.real_y*TileSize+56, @followercolor) if follower.visible? end end end if ShowVehicles unless $game_map.airship.transparent draw_object($game_map.airship.real_x*TileSize+56, $game_map.airship.real_y*TileSize+56, @airshipcolor) end unless $game_map.ship.transparent draw_object($game_map.ship.real_x*TileSize+56, $game_map.ship.real_y*TileSize+56, @shipcolor) end unless $game_map.boat.transparent draw_object($game_map.boat.real_x*TileSize+56, $game_map.boat.real_y*TileSize+56, @boatcolor) end end draw_object($game_player.real_x*TileSize+56, $game_player.real_y*TileSize+56, @playercolor) end def draw_object(x, y, color) @object_layer.bitmap.fill_rect(x, y, TileSize, TileSize, @bordercolor) @object_layer.bitmap.fill_rect(x+1, y+1, TileSize-2, TileSize-2, color) @object_layer.bitmap.clear_rect(x,y,1,1) @object_layer.bitmap.clear_rect(x,y+TileSize-1,1,1) @object_layer.bitmap.clear_rect(x+TileSize-1,y,1,1) @object_layer.bitmap.clear_rect(x+TileSize-1,y+TileSize-1,1,1) end def make_map_bitmap(color) bitmap = Bitmap.new($game_map.width*TileSize + 112, $game_map.height*TileSize + 112) for x in 0..$game_map.width - 1 for y in 0..$game_map.height - 1 if $game_map.airship_land_ok?(x, y) || $game_map.bush?(x, y) if UseHideRegion bitmap.fill_rect(x*TileSize+56, y*TileSize+56, TileSize, TileSize, color) if $game_map.region_id(x, y) == HideRegionId else next end if $game_map.bush?(x, y) unless $game_map.passable?(x, y, 4) bitmap.fill_rect(x*TileSize+56, y*TileSize+56, TileSize, TileSize, color) end end next end bitmap.fill_rect(x*TileSize+56, y*TileSize+56, TileSize, TileSize, color) end end bitmap end def update_object_layer @object_layer.bitmap.clear draw_object_layer end def dispose @backmask.dispose @backtile.dispose @map.dispose @object_layer.dispose @border.dispose end def update if @map_id != $game_map.map_id dispose @map_id = $game_map.map_id refresh end @backmask.visible = visible? @backtile.visible = visible? @map.visible = visible? @object_layer.visible = visible? @border.visible = visible? if visible? @map.bitmap = @mapbitmap.dup @backtile.bitmap = @backtilebitmap.dup sx = $game_player.real_x * (TileSize * -1) + MapOffset sy = $game_player.real_y * (TileSize * -1) + MapOffset update_object_layer @map.x = @backtile.x = @object_layer.x = sx @map.y = @backtile.y = @object_layer.y = sy @backtile.bitmap.blt(sx*-1, sy*-1,@mask,@mask.rect) @map.bitmap.blt(sx*-1, sy*-1,@mask,@mask.rect) @object_layer.bitmap.blt(sx*-1, sy*-1,@mask,@mask.rect) end endend#==============================================================================## ** Classe Spriteset_Map#==============================================================================#class Spriteset_Map alias sheol_mini_map_init initialize alias sheol_mini_map_updt update alias sheol_mini_map_disp dispose include SheolShade::MiniMap def initialize create_minimap sheol_mini_map_init end def create_minimap viewport = Viewport.new(Graphics.width - 112,0,112,112) viewport.rect.set(MiniMapCoords[MiniMapCorner][0], MiniMapCoords[MiniMapCorner][1], MiniMapCoords[MiniMapCorner][2], MiniMapCoords[MiniMapCorner][3]) viewport.z = 500 @minimapa = MiniMap.new(viewport) end def dispose sheol_mini_map_disp @minimapa.dispose end def update sheol_mini_map_updt @minimapa.update endend#==============================================================================## ** Fim do Script#==============================================================================#