IceDragon200

HoverMessageWindow

Mar 29th, 2011
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.10 KB | None | 0 0
  1. class Window_Message < Window_Selectable
  2.  
  3.   #--------------------------------------------------------------------------
  4.   # called method: convert_regexp
  5.   #--------------------------------------------------------------------------
  6.   alias iex_convert_special_characters convert_special_characters unless $@
  7.   def convert_special_characters(*args)
  8.     @overevent = nil
  9.     iex_convert_special_characters(*args)
  10.     @text.scan(/\\P\[(.*?)\]/i) ; @overevent = $1.to_i unless $1.to_s == ""
  11.     @text.gsub!(/\\P\[(.*?)\]/i) { "" }
  12.   end
  13.  
  14.   alias iex_wm_reset_window reset_window unless $@
  15.   def reset_window
  16.     unless @overevent != nil and $scene.is_a?(Scene_Map)
  17.       iex_setWindowXY(0, 0)
  18.     end  
  19.     iex_wm_reset_window
  20.     if @overevent != nil and $scene.is_a?(Scene_Map)
  21.       case @overevent
  22.       when -1
  23.         iex_setWindowXY($game_map.events[$game_map.interpreter.last_eventId])
  24.       when 0
  25.         iex_setWindowXY($game_player)
  26.       else
  27.         iex_setWindowXY($game_map.events[@overevent])
  28.       end
  29.     end
  30.   end
  31.  
  32.   def iex_setWindowXY(obj, y = nil)
  33.     calc_height = 56
  34.     calc_height += 64 unless $game_message.face_name.empty?
  35.     add_w = 32
  36.     add_w = 112 unless $game_message.face_name.empty?
  37.     if obj.is_a?(Game_Character)
  38.       self.width = self.contents.text_size(@text).width + 96 + add_w
  39.       self.height = calc_height #56
  40.       subx = 0 ; suby = 0
  41.       subx = (self.width / 2) if obj.screen_x < Graphics.width - (self.width / 2)
  42.       suby = self.height+40 if obj.screen_y > 96
  43.       self.x = obj.screen_x - subx ; self.y = obj.screen_y - suby
  44.       create_contents
  45.     else
  46.       self.x = obj.to_i ; self.y = y.to_i
  47.     end  
  48.   end
  49.  
  50.   #--------------------------------------------------------------------------
  51.   # alias method: new_page
  52.   #--------------------------------------------------------------------------
  53.   alias iex_new_page_cms new_page unless $@
  54.   def new_page
  55.     iex_new_page_cms
  56.     self.contents.font.size = 18 #Font.default_size
  57.   end
  58.  
  59. end
  60.  
  61. class Game_Interpreter
  62.  
  63.   def last_eventId ; return @event_id end
  64.  
  65. end
Advertisement
Add Comment
Please, Sign In to add comment