Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # š RGSS2_namepop Ver0.02
- # tomoaky (http://hikimoki.sakura.ne.jp/)
- #==============================================================================
- =begin
- =end
- module NEL
- #Default text pop color
- DEF_TEXT_COLOR = Color.new(255,255,255,255)
- #Default text pop font size
- DEF_TEXT_SIZE = 14
- #Default text pop font
- DEF_TEXT_FONT = "Myriad"
- end
- # // 02/03/2012 [
- class Hash
- # // IceDragon
- def get_values(*args)
- args.collect {|a|self[a]}
- end
- end
- # // 02/03/2012 ]
- class Game_Interpreter
- include NEL
- def test_nel_textpop(*args)
- if(args[0].is_a?(Hash))
- p "true"
- text, ev_id, time, size, color, font, bold, ital = args[0].get_values(:text,:event_id,:time,:size,:color,:font,:bold,:italic)
- else
- text, ev_id, time, size, color, font, bold, ital = *args
- end
- char = get_character(ev_id || 0)
- return unless(char)
- char.namepop_size = size || DEF_TEXT_SIZE
- char.namepop_color= color || DEF_TEXT_COLOR
- char.namepop_time = time || 60
- char.namepop = text || ""
- char.namepop_font = font || DEF_TEXT_FONT
- char.namepop_bold = !!bold # // Convert to Bool
- char.namepop_ital = !!ital
- end
- def nel_textpop(text,ev_id=0,time=60,size=DEF_TEXT_SIZE,color=DEF_TEXT_COLOR)
- if ev_id == -1
- $game_player.namepop_size = size
- $game_player.namepop_color = color
- $game_player.namepop_time = time
- $game_player.namepop = text
- else
- ev_id = self.event_id if ev_id == 0
- $game_map.events[ev_id].namepop_size = size
- $game_map.events[ev_id].namepop_color = color
- $game_map.events[ev_id].namepop_time = time
- $game_map.events[ev_id].namepop = text
- end
- end
- def nel_change_font(ev_id = 0, font = DEF_TEXT_FONT, bold=false, ital=false)
- if ev_id == -1
- $game_player.namepop_font = font
- $game_player.namepop_bold = bold
- $game_player.namepop_ital = ital
- else
- ev_id = self.event_id if ev_id == 0
- $game_map.events[ev_id].namepop_font = font
- $game_map.events[ev_id].namepop_bold = bold
- $game_map.events[ev_id].namepop_ital = ital
- end
- end
- end
- #==============================================================================
- # ¡ Game_Character
- #==============================================================================
- class Game_Character
- #--------------------------------------------------------------------------
- # œ ŒöŠJƒCƒ“ƒXƒ^ƒ“ƒX•Ï”
- #--------------------------------------------------------------------------
- attr_accessor :namepop # ƒ|ƒbƒvƒAƒbƒvƒeƒLƒXƒg
- attr_accessor :namepop_size
- attr_accessor :namepop_color
- attr_accessor :namepop_time
- attr_accessor :namepop_font
- attr_accessor :namepop_bold
- attr_accessor :namepop_ital
- #--------------------------------------------------------------------------
- #Do I really want this????
- alias nel_font_type_init initialize
- def initialize
- @namepop_font = NEL::DEF_TEXT_FONT
- @namepop_bold = false
- @namepop_ital = false
- #~ @namepop_size = NEL::DEF_TEXT_SIZE
- #~ @namepop_color = NEL::DEF_TEXT_COLOR
- nel_font_type_init
- end
- end
- #==============================================================================
- # ¡ Game_Event
- #==============================================================================
- class Game_Event < Game_Character
- #--------------------------------------------------------------------------
- # œ ƒCƒxƒ“ƒgƒy[ƒW‚̃ZƒbƒgƒAƒbƒv
- #--------------------------------------------------------------------------
- alias tnpop_game_event_setup setup_page
- def setup_page(new_page)
- tnpop_game_event_setup(new_page)
- if @list != nil
- @namepop = $1 if /<namepop[ ](.*)>/i =~ @event.name
- for list in @list
- if list.code == 108
- @namepop = $1 if /<namepop[ ](.*)>/i =~ list.parameters[0]
- break
- end
- end
- end
- end
- end
- #==============================================================================
- # ¡ Sprite_Character
- #==============================================================================
- class Sprite_Character < Sprite_Base
- alias nel_textx_pop_initi initialize
- def initialize(*args)
- @timer = 0
- nel_textx_pop_initi(*args)
- end
- #--------------------------------------------------------------------------
- # œ ‰ð•ú
- #--------------------------------------------------------------------------
- alias tnpop_sprite_character_dispose dispose
- def dispose
- dispose_namepop
- tnpop_sprite_character_dispose
- end
- #--------------------------------------------------------------------------
- # œ ƒtƒŒ[ƒ€XV
- #--------------------------------------------------------------------------
- alias tnpop_sprite_character_update update
- def update
- tnpop_sprite_character_update
- if @timer > 0
- @timer -= 1
- update_text_pos
- if @timer <= 0
- @namepop_sprite.visible = false
- @namepop_sprite.opacity = 255 #Reset opacity just in case
- @namepop_sprite = nil
- @character.namepop = nil
- @namepop = nil
- elsif @timer < 60
- #Fade out text
- @namepop_sprite.opacity -= 4.25
- end
- else
- update_namepop
- if @character.namepop != @namepop
- @namepop = @character.namepop
- start_namepop
- end
- end
- end
- def update_text_pos
- @namepop_sprite.x = x
- @namepop_sprite.y = y - height
- @namepop_sprite.z = z + 200
- end
- #--------------------------------------------------------------------------
- # › namepop‚ÌŠJŽn
- #--------------------------------------------------------------------------
- def start_namepop
- dispose_namepop
- return if @namepop == "none" or @namepop == nil
- @namepop_sprite = ::Sprite.new(viewport)
- b_width = @namepop.size * 8
- b_height = @character.namepop_size + 20
- @namepop_sprite.ox = 80 + (b_width/2)
- @namepop_sprite.oy = 16 + (b_height/2) #16
- @namepop_sprite.bitmap = Bitmap.new(b_width+160, b_height)#160, 16
- ###Change Font, Font Size, Color, and Time based off Character values##
- @namepop_sprite.bitmap.font.color = @character.namepop_color
- # @namepop_color = @character.namepop_color
- @namepop_sprite.bitmap.font.size = @character.namepop_size
- # @namepop_size = @character.namepop_size
- @namepop_sprite.bitmap.font.name = [@character.namepop_font]
- # @namepop_font = @character.namepop_font
- @namepop_sprite.bitmap.font.bold = @character.namepop_bold
- # @namepop_bold = @character.namepop_bold
- @namepop_sprite.bitmap.font.italic = @character.namepop_ital
- # @namepop_ital = @character.namepop_ital
- @namepop_sprite.bitmap.draw_text(0, 0, b_width+160, b_height, @namepop, 1)#(0, 0, 160, 16, @namepop, 1)
- @namepop_time = @character.namepop_time
- update_namepop(@namepop_time) #Pass a timer variable
- end
- #--------------------------------------------------------------------------
- # › namepop‚ÌXV
- #--------------------------------------------------------------------------
- def update_namepop(time = nil) #Add a timer variable
- if @namepop_sprite != nil
- @namepop_sprite.x = x
- @namepop_sprite.y = y - height
- @namepop_sprite.z = z + 200
- if time != nil
- @timer = time
- @namepop_time = 0
- end
- end
- end
- #--------------------------------------------------------------------------
- # › namepop‚̉ð•ú
- #--------------------------------------------------------------------------
- def dispose_namepop
- if @namepop_sprite != nil
- @namepop_sprite.bitmap.dispose
- @namepop_sprite.dispose
- @namepop_sprite = nil
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment