Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  1. # Multiple popups v1.0
  2. # by mikb89 for Stuntman Mike
  3.  
  4. # This script is a partial porting for VX Ace of some MelekTaus's VX script.
  5.  
  6. module MelekTaus
  7. FONT_NAME = "AvQest"
  8. FONT_BOLD = false
  9. DISTANCE = 4
  10. end
  11.  
  12. class Game_Event < Game_Character
  13. attr_reader :erased
  14. def comment_name
  15. @event.name
  16. end
  17. end
  18.  
  19. class Sprite_Character < Sprite_Base
  20. alias melektaus_sprite_character_initialize initialize unless $@
  21. def initialize(viewport, character = nil)
  22. melektaus_sprite_character_initialize(viewport, character)
  23. create_event_name(character)
  24. end
  25. def create_event_name(c)
  26. return if !c.is_a?(Game_Event)# and !c.is_a?(Game_Special_Event)
  27. @event_name = ::Sprite.new(viewport)
  28. @event_name.bitmap = Bitmap.new(128, 38)
  29. @event_name.bitmap.font.name = MelekTaus::FONT_NAME
  30. @event_name.bitmap.font.bold = MelekTaus::FONT_BOLD
  31. size = @event_name.bitmap.font.size * 0.1
  32. @event_name.bitmap.font.size -= size.round
  33. @event_name.ox = 64
  34. @event_name.oy = 31
  35. @event_comment_name = ""
  36. end
  37. alias melektaus_sprite_character_dispose dispose unless $@
  38. def dispose
  39. dispose_event_name
  40. melektaus_sprite_character_dispose
  41. end
  42. def dispose_event_name
  43. return if @event_name.nil?
  44. @event_name.dispose
  45. end
  46. alias melektaus_sprite_character_update update unless $@
  47. def update
  48. if @character.is_a? Game_Event and @character.erased
  49. self.visible = false
  50. @event_name.visible = false unless @event_name.nil?
  51. else
  52. melektaus_sprite_character_update
  53. update_event_name
  54. end
  55. end
  56. def update_event_name
  57. return if @event_name.nil?
  58. c = @character
  59. if !c.transparent and# $game_map.event_names_visible and
  60. (c.tile_id != 0 || c.character_name != "") and# || c.icon_index != 0) and
  61. c.opacity > 0 and
  62. c.comment_name != "" && c.comment_name[0, 3] != "EV0"
  63. @event_name.visible = true
  64. else
  65. @event_name.visible = false
  66. end
  67. if @event_name.visible
  68. @event_name.x = x
  69. @event_name.y = y - height
  70. @event_name.z = z + 190
  71. r_x = c.real_x - $game_player.real_x
  72. r_y = c.real_y - $game_player.real_y
  73. v = 255-[r_x.abs, r_y.abs].max*255/MelekTaus::DISTANCE
  74. if v > 0
  75. @event_name.opacity += 10
  76. else
  77. @event_name.opacity -= 10
  78. end
  79. if (c.is_a?(Game_Event) && @event_comment_name != c.comment_name)# or
  80. #~ (c.is_a? Game_Special_Event && @event_comment_name != c.name)
  81. @event_comment_name = c.comment_name
  82. @event_name.bitmap.clear
  83. name = @event_comment_name.split("\\n")
  84. if name.size == 1
  85. @event_name.bitmap.draw_text(0, 0, 128, 38, name[0], 1)
  86. elsif name.size == 2
  87. @event_name.bitmap.draw_text(0, 0, 128, 19, name[0], 1)
  88. #~ if MelekTaus::SpecialEvents::USE_BARS and !c.bar.nil?
  89. #~ @event_name.bitmap.draw_bar(40, 24, 48, 5, c.bar[0], c.bar[1],
  90. #~ Color.new(*([*c.bar[2]] + [205])), Color.new(0, 0, 0, 205))
  91. #~ else
  92. @event_name.bitmap.draw_text(0, 19, 128, 19, name[1], 1)
  93. #~ end
  94. end
  95. end
  96. end
  97. end
  98. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement