Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # • Mostrar Coordenadas
- #==============================================================================
- # Autor: Dax
- # Versão: 1.6
- # Site: www.dax-soft.weebly.com
- # Requerimento: Dax Core
- #==============================================================================
- # • Descrição:
- #------------------------------------------------------------------------------
- # Mostra as coordenadas do mapa de um determinado lugar. Útil para os eventers
- # que querem saber as coordenadas(X, Y) para disporem suas imagens em certos
- # lugares. Para ativar e simples, basta apertar com o botão do centro do Mouse
- # em um deteminado lugar.. Após isso uma mensagem irá aparecer informando as
- # coordenadas, com as opções: Sim,Não. Caso clique 'Sim' irá salvar
- # as informações das coordenadas em um arquivo de texto.
- #==============================================================================
- Dax.register(:show_coord, "Dax", 1.6) {
- #==============================================================================
- # • Módulo.
- #==============================================================================
- module Show_Coord
- extend self
- #----------------------------------------------------------------------------
- # • Constantes
- #----------------------------------------------------------------------------
- # Mostrar a grade de Tiles:
- GRID = {
- # Qual tecla que ao apertar irá ativar a grade?
- key: :F5,
- # Qual a cor da grade?
- color: "FFFFFF".color,
- # Cor ativa
- colora: "a10000".color
- }
- #----------------------------------------------------------------------------
- # • Inicialização dos objetos.
- #----------------------------------------------------------------------------
- def initG
- return unless $TEST
- @showGrid = Sprite.new([$game_map.width.grid_on, $game_map.height.grid_on])
- @showGrid.z = 1000
- @showGrid.visible = false
- (@showGrid.height.grid_off).times { |y| (@showGrid.width.grid_off).times { |x|
- bitmap = Bitmap.new(32, 32)
- [[0,0,32,1,GRID[:color]], [0,31,32,1,GRID[:color]], [0,0,1,32,GRID[:color]], [31,0,1,32,GRID[:color]]].each { |i| bitmap.fill_rect(*i) }
- @showGrid.bitmap.blt(32*x, 32*y, bitmap, @showGrid.rect)
- }}
- @gridMouse = Sprite.new([32, 32])
- [[0,0,32,2,GRID[:colora]], [0,30,32,2,GRID[:colora]],[0,0,2,32,GRID[:colora]],[30,0,2,32,GRID[:colora]]].each { |i| @gridMouse.bitmap.fill_rect(*i) }
- @gridMouse.z = @showGrid.z+1
- @gridMouse.visible = @showGrid.visible
- end
- #----------------------------------------------------------------------------
- # • Renovação dos objetos.
- #----------------------------------------------------------------------------
- def disG
- return unless $TEST
- [@showGrid, @gridMouse].each(&:dispose)
- end
- #----------------------------------------------------------------------------
- # • Atualização dos objetos.
- #----------------------------------------------------------------------------
- def upG
- return unless $TEST
- trigger?(GRID[:key]) { @showGrid.visible = (@showGrid.visible ? false : true) }
- @gridMouse.visible = @showGrid.visible
- return unless @gridMouse.visible
- x, y = Mouse.x.to_i.round.grid_off, Mouse.y.to_i.round.grid_off
- @gridMouse.x, @gridMouse.y = x.grid_on, y.grid_on
- end
- #----------------------------------------------------------------------------
- # • Executar.
- #----------------------------------------------------------------------------
- def run
- return unless $TEST
- trigger?(0x04) {
- @coord = File.open("Coordenadas.txt", "a+")
- @format = API::MessageBox::YESNO + API::MessageBox::ICONINFORMATION
- @showGrid.visible ? grid : normal
- case(API::MessageBox.call("Show Coords", @text, @format))
- when(API::MessageBox::YES)
- @coord.write(@wtext << "\r\n")
- @coord.close
- return
- when(API::MessageBox::NO) then(@coord.close; return)
- end
- }
- end
- #----------------------------------------------------------------------------
- # • Executar no modo sem grade
- #----------------------------------------------------------------------------
- def normal
- @text = "Coord: (x: #{Mouse.x}, y: #{Mouse.y}).\nSalvar coordenadas?"
- @wtext = "Coordendas : X(#{Mouse.x}), Y(#{Mouse.y}) |: Nome de exibição do mapa:(#{$game_map.display_name})"
- end
- #----------------------------------------------------------------------------
- # • Executar no modo sem grade
- #----------------------------------------------------------------------------
- def grid
- x, y = Mouse.x.to_i.round.grid_off, Mouse.y.to_i.round.grid_off
- @text = "Coord: (x: #{x}, y: #{y}).\nSalvar coordenadas?"
- @wtext = "Coordendas : X(#{x}), Y(#{y}) |: Nome de exibição do mapa:(#{$game_map.display_name}) : Coordenada do mapa na tela: x(#{x.grid_on}) y(#{y.grid_on})"
- end
- end
- #==============================================================================
- # • Scene_Map.
- #==============================================================================
- class Scene_Map
- #----------------------------------------------------------------------------
- # • Processo principal.
- #----------------------------------------------------------------------------
- alias :show_coord_main :main
- def main
- Show_Coord.initG
- show_coord_main
- Show_Coord.disG
- end
- #----------------------------------------------------------------------------
- # • Atualização dos objetos.
- #----------------------------------------------------------------------------
- alias :show_coord_update :update
- def update
- show_coord_update
- Show_Coord.upG
- Show_Coord.run
- end
- end
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement