Advertisement
DaxSoft

Show Coords 1.6

Apr 22nd, 2014
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.75 KB | None | 0 0
  1. #==============================================================================
  2. # • Mostrar Coordenadas
  3. #==============================================================================
  4. # Autor: Dax
  5. # Versão: 1.6
  6. # Site: www.dax-soft.weebly.com
  7. # Requerimento: Dax Core
  8. #==============================================================================
  9. # • Descrição:
  10. #------------------------------------------------------------------------------
  11. # Mostra as coordenadas do mapa de um determinado lugar. Útil para os eventers
  12. # que querem saber as coordenadas(X, Y) para disporem suas imagens em certos
  13. # lugares. Para ativar e simples, basta apertar com o botão do centro do Mouse
  14. # em um deteminado lugar.. Após isso uma mensagem irá aparecer informando as
  15. # coordenadas, com as opções: Sim,Não. Caso clique 'Sim' irá salvar
  16. # as informações das coordenadas em um arquivo de texto.
  17. #==============================================================================
  18. Dax.register(:show_coord, "Dax", 1.6) {
  19. #==============================================================================
  20. # • Módulo.
  21. #==============================================================================
  22. module Show_Coord
  23. extend self
  24. #----------------------------------------------------------------------------
  25. # • Constantes
  26. #----------------------------------------------------------------------------
  27. # Mostrar a grade de Tiles:
  28. GRID = {
  29. # Qual tecla que ao apertar irá ativar a grade?
  30. key: :F5,
  31. # Qual a cor da grade?
  32. color: "FFFFFF".color,
  33. # Cor ativa
  34. colora: "a10000".color
  35. }
  36. #----------------------------------------------------------------------------
  37. # • Inicialização dos objetos.
  38. #----------------------------------------------------------------------------
  39. def initG
  40. return unless $TEST
  41. @showGrid = Sprite.new([$game_map.width.grid_on, $game_map.height.grid_on])
  42. @showGrid.z = 1000
  43. @showGrid.visible = false
  44. (@showGrid.height.grid_off).times { |y| (@showGrid.width.grid_off).times { |x|
  45. bitmap = Bitmap.new(32, 32)
  46. [[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) }
  47. @showGrid.bitmap.blt(32*x, 32*y, bitmap, @showGrid.rect)
  48. }}
  49. @gridMouse = Sprite.new([32, 32])
  50. [[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) }
  51. @gridMouse.z = @showGrid.z+1
  52. @gridMouse.visible = @showGrid.visible
  53. end
  54. #----------------------------------------------------------------------------
  55. # • Renovação dos objetos.
  56. #----------------------------------------------------------------------------
  57. def disG
  58. return unless $TEST
  59. [@showGrid, @gridMouse].each(&:dispose)
  60. end
  61. #----------------------------------------------------------------------------
  62. # • Atualização dos objetos.
  63. #----------------------------------------------------------------------------
  64. def upG
  65. return unless $TEST
  66. trigger?(GRID[:key]) { @showGrid.visible = (@showGrid.visible ? false : true) }
  67. @gridMouse.visible = @showGrid.visible
  68. return unless @gridMouse.visible
  69. x, y = Mouse.x.to_i.round.grid_off, Mouse.y.to_i.round.grid_off
  70. @gridMouse.x, @gridMouse.y = x.grid_on, y.grid_on
  71. end
  72. #----------------------------------------------------------------------------
  73. # • Executar.
  74. #----------------------------------------------------------------------------
  75. def run
  76. return unless $TEST
  77. trigger?(0x04) {
  78. @coord = File.open("Coordenadas.txt", "a+")
  79. @format = API::MessageBox::YESNO + API::MessageBox::ICONINFORMATION
  80. @showGrid.visible ? grid : normal
  81. case(API::MessageBox.call("Show Coords", @text, @format))
  82. when(API::MessageBox::YES)
  83. @coord.write(@wtext << "\r\n")
  84. @coord.close
  85. return
  86. when(API::MessageBox::NO) then(@coord.close; return)
  87. end
  88. }
  89. end
  90. #----------------------------------------------------------------------------
  91. # • Executar no modo sem grade
  92. #----------------------------------------------------------------------------
  93. def normal
  94. @text = "Coord: (x: #{Mouse.x}, y: #{Mouse.y}).\nSalvar coordenadas?"
  95. @wtext = "Coordendas : X(#{Mouse.x}), Y(#{Mouse.y}) |: Nome de exibição do mapa:(#{$game_map.display_name})"
  96. end
  97. #----------------------------------------------------------------------------
  98. # • Executar no modo sem grade
  99. #----------------------------------------------------------------------------
  100. def grid
  101. x, y = Mouse.x.to_i.round.grid_off, Mouse.y.to_i.round.grid_off
  102. @text = "Coord: (x: #{x}, y: #{y}).\nSalvar coordenadas?"
  103. @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})"
  104. end
  105. end
  106. #==============================================================================
  107. # • Scene_Map.
  108. #==============================================================================
  109. class Scene_Map
  110. #----------------------------------------------------------------------------
  111. # • Processo principal.
  112. #----------------------------------------------------------------------------
  113. alias :show_coord_main :main
  114. def main
  115. Show_Coord.initG
  116. show_coord_main
  117. Show_Coord.disG
  118. end
  119. #----------------------------------------------------------------------------
  120. # • Atualização dos objetos.
  121. #----------------------------------------------------------------------------
  122. alias :show_coord_update :update
  123. def update
  124. show_coord_update
  125. Show_Coord.upG
  126. Show_Coord.run
  127. end
  128. end
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement