Main Menu
  • Welcome to The RPG Maker Resource Kit.

Flashing Text @ the beginning of a player's turn

Started by blazinhandle, March 12, 2008, 03:04:48 PM

0 Members and 1 Guest are viewing this topic.

blazinhandle

I was wondering how you could go about blinking text in battle. For instance, in battle when a character's turn is up, the actor's battler blinks. I was wondering how I could trigger text to blink the actor's status.

Thanks!

modern algebra

I think Sprite has that method built in.

So, make your text a sprite and then you can flash it with the method like:

@sprite.flash (colour, number of frames)

I'm not sure about that though. Check the help file.

blazinhandle

Alright. Sorry to switch things up. But I was thinking of rather scrolling the status.

RMXP is wierd in that it only displays one status that an actor has. I've messed around with RGSS and configured a script that displays every status that an actor has and scrolls through it so that all can be visible.

I've implemented it into my battle system so that upon the actor command window prompting, a window scrolls up (displaying all of the actor's statuses). However, my trouble is that I need it to only display in the area that's designated to the status display (the scrolling window simply scrolls from -50 to the top of the screen). What I need to do is somehow block it from showing everywhere else other than the status window or get it to draw the text only when it is in that designated area.

Any ideas on how to do/fix this?

Here's what it looks like (It's pretty big and btw I have 3 different scripts for each party member but I'm only posting one b/c the rest are more or less verbatum):

[Spoiler="Scrolling Status"]#=====================================================
#  *  Scrolling Status v 1.0
#=====================================================
#===============================================================================
#===============================================================================
# Actor 0
#===============================================================================
#===============================================================================
class Scrolling_Status0 < Window_Base
  def initialize
    super(186,350,120,512)
    if self.x == 186
      actor = $game_party.actors[0]
    end
    self.z = 9999 + 10
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Arial"
    self.contents.font.bold = true
    self.contents.font.size = 14

    states_total = 0
   
    @text_ready = {100 => 'Ready'} if not actor.states.include?(1)
    @text1 = {101 => $data_states[2].name} if actor.states.include?(2)
    @text2 = {102 => $data_states[3].name}if actor.states.include?(3)
    @text3 = {103 => $data_states[4].name}if actor.states.include?(4)
    @text4 = {104 => $data_states[5].name}if actor.states.include?(5)
    @text5 = {105 => $data_states[6].name}if actor.states.include?(6)
    @text6 = {106 => $data_states[7].name}if actor.states.include?(7)
    @text7 = {107 => $data_states[8].name}if actor.states.include?(8)
    @text8 = {108 => $data_states[9].name}if actor.states.include?(9)
    @text9 = {109 => $data_states[10].name}if actor.states.include?(10)
    @text10 = {110 => $data_states[11].name}if actor.states.include?(11)
    @text11 = {111 => $data_states[12].name}if actor.states.include?(12)
    @text12 = {112 => $data_states[13].name}if actor.states.include?(13)
    @text13 = {113 => $data_states[14].name}if actor.states.include?(14)
    @text14 = {114 => $data_states[15].name}if actor.states.include?(15)
    @text15 = {115 => $data_states[16].name}if actor.states.include?(16)
    @text16 = {116 => $data_states[17].name}if actor.states.include?(17)
    @text17 = {117 => $data_states[18].name}if actor.states.include?(18)
    @text18 = {118 => $data_states[19].name}if actor.states.include?(19)
    @text19 = {119 => $data_states[20].name}if actor.states.include?(20)
    @text20 = {120 => $data_states[21].name}if actor.states.include?(21)
    @text21 = {121 => $data_states[22].name}if actor.states.include?(22)
    @text22 = {122 => $data_states[23].name}if actor.states.include?(23)
    @text23 = {123 => $data_states[24].name}if actor.states.include?(24)
    @text24 = {124 => $data_states[25].name}if actor.states.include?(25)
    @text25 = {125 => $data_states[26].name}if actor.states.include?(26)
    @text26 = {126 => $data_states[27].name}if actor.states.include?(27)
    @text27 = {127 => $data_states[28].name}if actor.states.include?(28)
    @text28 = {128 => $data_states[29].name}if actor.states.include?(29)
    @text29 = {129 => $data_states[30].name}if actor.states.include?(30)
    @text30 = {130 => $data_states[31].name}if actor.states.include?(31)
    @text31 = {131 => $data_states[32].name}if actor.states.include?(32)
    @text32 = {132 => $data_states[33].name}if actor.states.include?(33)
    @text33 = {133 => $data_states[34].name}if actor.states.include?(34)
    #
    y = -24
    #
    if not actor.states.include?(1)
      @text_ready.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(2)
      @text1.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(3)
      @text2.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(4)
      @text3.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(5)
      @text4.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(6)
      @text5.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(7)
      @text6.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(8)
      @text7.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(9)
      @text8.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(10)
      @text9.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(11)
      @text10.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(12)
      @text11.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(13)
      @text12.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(14)
      @text13.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(15)
      @text14.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(16)
      @text15.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(17)
      @text16.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(18)
      @text17.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(19)
      @text18.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(20)
      @text19.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(21)
      @text20.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(22)
      @text21.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(23)
      @text22.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(24)
      @text23.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(25)
      @text24.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(26)
      @text25.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(27)
      @text26.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(28)
      @text27.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(29)
      @text28.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(30)
      @text29.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(31)
      @text30.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(32)
      @text31.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(33)
      @text32.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
    if actor.states.include?(34)
      @text33.sort.each do |keys, values|
        y += 24
        self.contents.draw_text(0,y,488,24, values)
      end
      states_total += 1
    end
   
    self.opacity = 255
    self.height = (states_total * 24) + 24
    refresh
  end
 
  def refresh
    self.y -= 1 if self.y > -(self.height)
  end
 
end
#===============================================================================
#===============================================================================
# Actor 0
#===============================================================================
#===============================================================================

This will scroll the text(Although I don't think it'll help fix my problem & it's not how I use it in battle)
[/Spoiler]

[Spoiler="Scroll Status"]class Scroll_Status

  def main
    #@sprite = Sprite.new
    #@sprite.bitmap = RPG::Cache.picture('scrollingtext')
    @scroll_window = Scrolling_Status0.new(@actor)
    @scroll_window.y = 480
    @scroll_repeat = 0
    # Execute transition
    Graphics.transition
    # Main loop
    loop do
      # Update game screen
      Graphics.update
      # Update input information
      Input.update
      # Frame update
      update
      # Abort loop if screen is changed
      if $scene != self
        break
      end
    end
    # Prepare for transition
    Graphics.freeze
    # Dispose of windows
    @scroll_window.dispose
    #@sprite.dispose
    #@sprite.bitmap.dispose
  end

  def update
    # Update windows
    @scroll_window.refresh
    # if actor != actor
    if (@scroll_window.y == -600) and (@scroll_repeat == 2)#512
      $scene = Scene_Map.new
    elsif (@scroll_window.y == -600)
      @scroll_window.y = 480
      @scroll_repeat += 1
    end
    # end
  end

end
[/spoiler]