Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Help with two scripts

I would like that somebody makes a compatibility of two scripts.
RTAB & Extras and Status Display! I will place the codes to facilitate. I tried, but I did not obtain no result,only an error saying: An error ocurred in Real Time Active Battle(RTAB) wrong number of arguments(0 for1).
If somebody make them compatible post here please!
Status Display - Translated into portuguese
Code:
##################################################################
######################## Animated Status Display ##################################
##################################################################
# O script permite a apresentação do Status em texto no momento em
#que o blatter receber este status.
##################################################################
module State_Change_Pop_Config
  #Cor do status quando o battler recebe o Status.
  ST_CHANGE_PLUS_STATE_COLOR  = Color.new(255, 128, 128)
  #Cor do status quando o battler retira o status.
  ST_CHANGE_MINUS_STATE_COLOR = Color.new(128, 255, 128)
  #Fonte do status.
  ST_CHANGE_FONT_NAME        = "Georgia"      
  #Tamanho da fonte.
  ST_CHANGE_FONT_SIZE        = 32
  #Coloque aqui Status de cores especificas.
  ST_CHANGE_GOOD_STATE        = ["Confuse","Barrier",  
                                "Resist","Sono"]
  #Definição das cores especificas.                              
  ST_CHANGE_GOOD_STATE_COLOR  = Color.new(128, 128, 255)
  #Cor do Status quando o status perder o efeito.
  ST_CHANGE_G_ST_VANISH_COLOR = Color.new(128, 128, 128)
  #Esperar a mudança de status para mostrar animação.
  ST_CHANGE_WAIT              = true  
  #Tempo de espera para mostrar a animação.
  ST_CHANGE_DAM_DURATION      = 15    
end
##################################################################

class Game_Battler
  attr_accessor :state_change_pop            
  attr_accessor :state_change_plus          
  attr_accessor :state_change_minus          
  alias game_battler_state_change_initialize initialize
  def initialize
    game_battler_state_change_initialize
    @state_change_pop = false
    @state_change_plus = []
    @state_change_minus = []
  end
  alias game_battler_state_change_attack_effect attack_effect
  def attack_effect(attacker)
    b_st = @states.dup
    temp = game_battler_state_change_attack_effect(attacker)
    a_st = @states.dup
    change_st = state_change_check(b_st, a_st)
    @state_change_plus = state_name_transfer(change_st[0])
    @state_change_minus = state_name_transfer(change_st[1])
    return temp
  end
  alias game_battler_state_change_skill_effect skill_effect
  def skill_effect(user, skill)
    b_st = @states.dup
    temp = game_battler_state_change_skill_effect(user, skill)
    a_st = @states.dup
    change_st = state_change_check(b_st, a_st)
    @state_change_plus = state_name_transfer(change_st[0])
    @state_change_minus = state_name_transfer(change_st[1])
    return temp
  end
  alias game_battler_state_change_item_effect item_effect
  def item_effect(item)
    b_st = @states.dup
    temp = game_battler_state_change_item_effect(item)
    a_st = @states.dup
    change_st = state_change_check(b_st, a_st)
    @state_change_plus = state_name_transfer(change_st[0])
    @state_change_minus = state_name_transfer(change_st[1])
    return temp
  end
  alias game_battler_state_change_remove_states_auto remove_states_auto
  def remove_states_auto
    b_st = @states.dup
    game_battler_state_change_remove_states_auto
    a_st = @states.dup
    change_st = state_change_check(b_st, a_st)
    @state_change_plus = state_name_transfer(change_st[0])
    @state_change_minus = state_name_transfer(change_st[1])
  end
  def state_change_check(b_st, a_st)
    p_st = a_st - b_st
    m_st = b_st - a_st
    for st in p_st.dup
      p_st.delete(st) if $data_states[st].rating == 0
    end
    for st in m_st.dup
      m_st.delete(st) if $data_states[st].rating == 0
    end
    return [p_st, m_st]
  end
  def state_name_transfer(state)
    temp = []
    for st in state
      temp.push($data_states[st].name)
    end
    return temp
  end
end

class Scene_Battle
  alias scene_battle_state_change_update_phase4_step1 update_phase4_step1
  def update_phase4_step1
    scene_battle_state_change_update_phase4_step1
    if @active_battler != nil
      if @active_battler.state_change_plus != [] or @active_battler.state_change_minus != []
        @active_battler.state_change_pop = true
      end
    end
  end
  alias scene_battle_state_change_update_phase4_step5 update_phase4_step5
  def update_phase4_step5
    scene_battle_state_change_update_phase4_step5
    for target in @target_battlers
      if target.state_change_plus != [] or target.state_change_minus != []
        target.state_change_pop = true
      end
    end
  end
end

class Sprite_Battler < RPG::Sprite
  alias sprite_battler_state_change_update update
  def update
    sprite_battler_state_change_update
    return if @battler == nil
    if @battler_visible
      if @battler.state_change_pop
        state_change(@battler.state_change_plus, @battler.state_change_minus)
        @battler.state_change_pop = false
      end
    end
  end
end

module RPG
  class Sprite < ::Sprite
    include State_Change_Pop_Config
    if $alias_rpg_sprite_initialize != true
      alias rpg_sprite_state_change_initialize initialize
      $alias_rpg_sprite_initialize = true
    end
    def initialize(viewport = nil)
      rpg_sprite_state_change_initialize(viewport)
      @_st_change_duration = 0
    end
    def state_change(change_plus, change_minus)
      dispose_state_change
      bitmap_p = []
      bitmap_m = []
      for i in 0...change_plus.size
        bitmap_p[i] = Bitmap.new(160, 48)
        bitmap_p[i].font.name = ST_CHANGE_FONT_NAME
        bitmap_p[i].font.size = ST_CHANGE_FONT_SIZE
        bitmap_p[i].font.color.set(0, 0, 0)
        bitmap_p[i].draw_text(-1, 12-1, 160, 36, change_plus[i], 1)
        bitmap_p[i].draw_text(+1, 12-1, 160, 36, change_plus[i], 1)
        bitmap_p[i].draw_text(-1, 12+1, 160, 36, change_plus[i], 1)
        bitmap_p[i].draw_text(+1, 12+1, 160, 36, change_plus[i], 1)
        if ST_CHANGE_GOOD_STATE.include?(change_plus[i])
          f_color = ST_CHANGE_GOOD_STATE_COLOR
        else
          f_color = ST_CHANGE_PLUS_STATE_COLOR
        end
        bitmap_p[i].font.color = f_color
        bitmap_p[i].draw_text(0, 12, 160, 36, change_plus[i], 1)
      end
      for i in 0...change_minus.size
        bitmap_m[i] = Bitmap.new(160, 48)
        bitmap_m[i].font.name = ST_CHANGE_FONT_NAME
        bitmap_m[i].font.size = ST_CHANGE_FONT_SIZE
        bitmap_m[i].font.color.set(0, 0, 0)
        bitmap_m[i].draw_text(-1, 12-1, 160, 36, change_minus[i], 1)
        bitmap_m[i].draw_text(+1, 12-1, 160, 36, change_minus[i], 1)
        bitmap_m[i].draw_text(-1, 12+1, 160, 36, change_minus[i], 1)
        bitmap_m[i].draw_text(+1, 12+1, 160, 36, change_minus[i], 1)
        if ST_CHANGE_GOOD_STATE.include?(change_minus[i])
          f_color = ST_CHANGE_G_ST_VANISH_COLOR
        else
          f_color = ST_CHANGE_MINUS_STATE_COLOR
        end
        bitmap_m[i].font.color = f_color
        bitmap_m[i].draw_text(0, 12, 160, 36, change_minus[i], 1)
      end
      bitmap = bitmap_p + bitmap_m
      @_st_change_sprite = []
      for i in 0...bitmap.size
        @_st_change_sprite.push(::Sprite.new(self.viewport))
        @_st_change_sprite[i].bitmap = bitmap[i]
        @_st_change_sprite[i].ox = 80
        @_st_change_sprite[i].oy = 20
        @_st_change_sprite[i].x = self.x
        @_st_change_sprite[i].y = self.y - self.oy / 2
        @_st_change_sprite[i].z = 2999
        @_st_change_sprite[i].visible = false
      end
      @_st_change_duration = 40 + 20 * @_st_change_sprite.size
      @st_change_start = false
    end
    def dispose_state_change
      if @_st_change_sprite != [] and @_st_change_sprite != nil
        for sprite in @_st_change_sprite
          sprite.bitmap.dispose
          sprite.dispose
          sprite = nil
        end
        @_st_change_sprite = nil
        @_st_change_duration = 0
      end
    end
    if $alias_rpg_sprite_effect != true
      alias rpg_sprite_state_change_effect? effect?
      $alias_rpg_sprite_effect = true
    end
    def effect?
      temp = rpg_sprite_state_change_effect?
      if ST_CHANGE_WAIT
        return true if @_st_change_duration > 0
      end
      return temp
    end
    if $alias_rpg_sprite_update != true
      alias rpg_sprite_state_change_update update
      $alias_rpg_sprite_update = true
    end
    def update
      rpg_sprite_state_change_update
      if @_st_change_duration > 0 and 
        (@_damage_duration <= ST_CHANGE_DAM_DURATION or @st_change_start)
        @st_change_start = true
        @_st_change_duration -= 1
        st_size = @_st_change_sprite.size
        for i in 0...st_size
          if @_st_change_duration <= 27 + 20 * (st_size - i)
          elsif @_st_change_duration <= 33 + 20 * (st_size - i)
            @_st_change_sprite[i].y += 4
          elsif @_st_change_duration <= 35 + 20 * (st_size - i)
            @_st_change_sprite[i].y += 2
          elsif @_st_change_duration <= 37 + 20 * (st_size - i)
            @_st_change_sprite[i].y -= 2
          elsif @_st_change_duration <= 39 + 20 * (st_size - i)
            @_st_change_sprite[i].visible = true
            @_st_change_sprite[i].y -= 4
          end
          @_st_change_sprite[i].opacity = 256 - (12 - @_st_change_duration + 20 * (st_size - i)) * 32
        end
        
        if @_st_change_duration == 0
          dispose_state_change
        end
      end
    end
  end
end


The other script is:
Real Time Active Battle(RTAB) 1.4 with Extras... posted by DerVVulfman!
 
here it is!
Code:
##################################################################
######################## Animated Status Display ##################################
##################################################################
# O script permite a apresentação do Status em texto no momento em
#que o blatter receber este status.
##################################################################
module State_Change_Pop_Config
  #Cor do status quando o battler recebe o Status.
  ST_CHANGE_PLUS_STATE_COLOR  = Color.new(255, 128, 128)
  #Cor do status quando o battler retira o status.
  ST_CHANGE_MINUS_STATE_COLOR = Color.new(128, 255, 128)
  #Fonte do status.
  ST_CHANGE_FONT_NAME        = "Georgia"      
  #Tamanho da fonte.
  ST_CHANGE_FONT_SIZE        = 32
  #Coloque aqui Status de cores especificas.
  ST_CHANGE_GOOD_STATE        = ["Confuse","Barrier",  
                                "Resist","Sono"]
  #Definição das cores especificas.                              
  ST_CHANGE_GOOD_STATE_COLOR  = Color.new(128, 128, 255)
  #Cor do Status quando o status perder o efeito.
  ST_CHANGE_G_ST_VANISH_COLOR = Color.new(128, 128, 128)
  #Esperar a mudança de status para mostrar animação.
  ST_CHANGE_WAIT              = true  
  #Tempo de espera para mostrar a animação.
  ST_CHANGE_DAM_DURATION      = 15    
end
##################################################################

class Game_Battler
  attr_accessor :state_change_pop            
  attr_accessor :state_change_plus          
  attr_accessor :state_change_minus          
  alias game_battler_state_change_initialize initialize
  def initialize
    game_battler_state_change_initialize
    @state_change_pop = false
    @state_change_plus = []
    @state_change_minus = []
  end
  alias game_battler_state_change_attack_effect attack_effect
  def attack_effect(attacker)
    b_st = @states.dup
    temp = game_battler_state_change_attack_effect(attacker)
    a_st = @states.dup
    change_st = state_change_check(b_st, a_st)
    @state_change_plus = state_name_transfer(change_st[0])
    @state_change_minus = state_name_transfer(change_st[1])
    return temp
  end
  alias game_battler_state_change_skill_effect skill_effect
  def skill_effect(user, skill)
    b_st = @states.dup
    temp = game_battler_state_change_skill_effect(user, skill)
    a_st = @states.dup
    change_st = state_change_check(b_st, a_st)
    @state_change_plus = state_name_transfer(change_st[0])
    @state_change_minus = state_name_transfer(change_st[1])
    return temp
  end
  alias game_battler_state_change_item_effect item_effect
  def item_effect(item, battler)
    b_st = @states.dup
    temp = game_battler_state_change_item_effect(item, battler)
    a_st = @states.dup
    change_st = state_change_check(b_st, a_st)
    @state_change_plus = state_name_transfer(change_st[0])
    @state_change_minus = state_name_transfer(change_st[1])
    return temp
  end
  alias game_battler_state_change_remove_states_auto remove_states_auto
  def remove_states_auto
    b_st = @states.dup
    game_battler_state_change_remove_states_auto
    a_st = @states.dup
    change_st = state_change_check(b_st, a_st)
    @state_change_plus = state_name_transfer(change_st[0])
    @state_change_minus = state_name_transfer(change_st[1])
  end
  def state_change_check(b_st, a_st)
    p_st = a_st - b_st
    m_st = b_st - a_st
    for st in p_st.dup
      p_st.delete(st) if $data_states[st].rating == 0
    end
    for st in m_st.dup
      m_st.delete(st) if $data_states[st].rating == 0
    end
    return [p_st, m_st]
  end
  def state_name_transfer(state)
    temp = []
    for st in state
      temp.push($data_states[st].name)
    end
    return temp
  end
end

class Scene_Battle
  alias scene_battle_state_change_update_phase4_step1 update_phase4_step1
  def update_phase4_step1(battler)
    scene_battle_state_change_update_phase4_step1(battler)
    if @active_battler != nil
      if @active_battler.state_change_plus != [] or @active_battler.state_change_minus != []
        @active_battler.state_change_pop = true
      end
    end
  end
  alias scene_battle_state_change_update_phase4_step5 update_phase4_step5
  def update_phase4_step5(battler)
    scene_battle_state_change_update_phase4_step5(battler)
    for target in battler.target
      if target.state_change_plus != [] or target.state_change_minus != []
        target.state_change_pop = true
      end
    end
  end
end

class Sprite_Battler < RPG::Sprite
  alias sprite_battler_state_change_update update
  def update
    sprite_battler_state_change_update
    return if @battler == nil
    if @battler_visible
      if @battler.state_change_pop
        state_change(@battler.state_change_plus, @battler.state_change_minus)
        @battler.state_change_pop = false
      end
    end
  end
end

module RPG
  class Sprite < ::Sprite
    include State_Change_Pop_Config
    if $alias_rpg_sprite_initialize != true
      alias rpg_sprite_state_change_initialize initialize
      $alias_rpg_sprite_initialize = true
    end
    def initialize(viewport = nil)
      rpg_sprite_state_change_initialize(viewport)
      @_st_change_duration = 0
    end
    def state_change(change_plus, change_minus)
      dispose_state_change
      bitmap_p = []
      bitmap_m = []
      for i in 0...change_plus.size
        bitmap_p[i] = Bitmap.new(160, 48)
        bitmap_p[i].font.name = ST_CHANGE_FONT_NAME
        bitmap_p[i].font.size = ST_CHANGE_FONT_SIZE
        bitmap_p[i].font.color.set(0, 0, 0)
        bitmap_p[i].draw_text(-1, 12-1, 160, 36, change_plus[i], 1)
        bitmap_p[i].draw_text(+1, 12-1, 160, 36, change_plus[i], 1)
        bitmap_p[i].draw_text(-1, 12+1, 160, 36, change_plus[i], 1)
        bitmap_p[i].draw_text(+1, 12+1, 160, 36, change_plus[i], 1)
        if ST_CHANGE_GOOD_STATE.include?(change_plus[i])
          f_color = ST_CHANGE_GOOD_STATE_COLOR
        else
          f_color = ST_CHANGE_PLUS_STATE_COLOR
        end
        bitmap_p[i].font.color = f_color
        bitmap_p[i].draw_text(0, 12, 160, 36, change_plus[i], 1)
      end
      for i in 0...change_minus.size
        bitmap_m[i] = Bitmap.new(160, 48)
        bitmap_m[i].font.name = ST_CHANGE_FONT_NAME
        bitmap_m[i].font.size = ST_CHANGE_FONT_SIZE
        bitmap_m[i].font.color.set(0, 0, 0)
        bitmap_m[i].draw_text(-1, 12-1, 160, 36, change_minus[i], 1)
        bitmap_m[i].draw_text(+1, 12-1, 160, 36, change_minus[i], 1)
        bitmap_m[i].draw_text(-1, 12+1, 160, 36, change_minus[i], 1)
        bitmap_m[i].draw_text(+1, 12+1, 160, 36, change_minus[i], 1)
        if ST_CHANGE_GOOD_STATE.include?(change_minus[i])
          f_color = ST_CHANGE_G_ST_VANISH_COLOR
        else
          f_color = ST_CHANGE_MINUS_STATE_COLOR
        end
        bitmap_m[i].font.color = f_color
        bitmap_m[i].draw_text(0, 12, 160, 36, change_minus[i], 1)
      end
      bitmap = bitmap_p + bitmap_m
      @_st_change_sprite = []
      for i in 0...bitmap.size
        @_st_change_sprite.push(::Sprite.new(self.viewport))
        @_st_change_sprite[i].bitmap = bitmap[i]
        @_st_change_sprite[i].ox = 80
        @_st_change_sprite[i].oy = 20
        @_st_change_sprite[i].x = self.x
        @_st_change_sprite[i].y = self.y - self.oy / 2
        @_st_change_sprite[i].z = 2999
        @_st_change_sprite[i].visible = false
      end
      @_st_change_duration = 40 + 20 * @_st_change_sprite.size
      @st_change_start = false
    end
    def dispose_state_change
      if @_st_change_sprite != [] and @_st_change_sprite != nil
        for sprite in @_st_change_sprite
          sprite.bitmap.dispose
          sprite.dispose
          sprite = nil
        end
        @_st_change_sprite = nil
        @_st_change_duration = 0
      end
    end
    if $alias_rpg_sprite_effect != true
      alias rpg_sprite_state_change_effect? effect?
      $alias_rpg_sprite_effect = true
    end
    def effect?
      temp = rpg_sprite_state_change_effect?
      if ST_CHANGE_WAIT
        return true if @_st_change_duration > 0
      end
      return temp
    end
    if $alias_rpg_sprite_update != true
      alias rpg_sprite_state_change_update update
      $alias_rpg_sprite_update = true
    end
    def update
      rpg_sprite_state_change_update
      if @_st_change_duration > 0 and 
        (@_damage_duration <= ST_CHANGE_DAM_DURATION or @st_change_start)
        @st_change_start = true
        @_st_change_duration -= 1
        st_size = @_st_change_sprite.size
        for i in 0...st_size
          if @_st_change_duration <= 27 + 20 * (st_size - i)
          elsif @_st_change_duration <= 33 + 20 * (st_size - i)
            @_st_change_sprite[i].y += 4
          elsif @_st_change_duration <= 35 + 20 * (st_size - i)
            @_st_change_sprite[i].y += 2
          elsif @_st_change_duration <= 37 + 20 * (st_size - i)
            @_st_change_sprite[i].y -= 2
          elsif @_st_change_duration <= 39 + 20 * (st_size - i)
            @_st_change_sprite[i].visible = true
            @_st_change_sprite[i].y -= 4
          end
          @_st_change_sprite[i].opacity = 256 - (12 - @_st_change_duration + 20 * (st_size - i)) * 32
        end
        
        if @_st_change_duration == 0
          dispose_state_change
        end
      end
    end
  end
end
if there's another error, post it ;)
when u have put the individual skill commands, their will be more to edit...
i suggest this is where this error came from...
edit: should work now...
 
wait a sec, i try to do so
edit: sry... don't know that much scripting, or my eyes don't want to see through...
ask the the one who submitted the script if he could solve ur problem. i'll take a second watch tomorrow..
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top