SAS ABS Erro

3 Respostas   165 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Foxxos

  • *
  • Posts: 4
  • Ouros: 0
Tópico criado em: 29/06/2016 às 23:36 - Última modificação por Foxxos em 30/06/2016 às 16:45

Oi estou tendo problemas com minhas batalhas com um dos scripts do SAS ABS que é quando eu solto "qualquer magia" ela da uma mensagem e sai. Por Favor se alguém souber resolver me ajude. Obrigado. :wow:

Script:
Código: [Selecionar]
#==============================================================================
# ¦ Sideview Ver100
#----------------------
--------------------------------------------------------
#  ??????????????????
#==============================================================================
class SideView
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  attr_accessor   :x                    # ??X??
  attr_accessor   :y                    # ??Y??
  attr_accessor   :z                    # ??Z??
  attr_accessor   :h                    # ????
  attr_accessor   :j                    # ??????
  attr_accessor   :c                    # ?????
  attr_accessor   :ox                   # ???
  attr_accessor   :oy                   # ???
  attr_accessor   :oy_adjust            # ?????
  attr_accessor   :angle                # ????
  attr_accessor   :zoom_x               # ?????
  attr_accessor   :zoom_y               # ?????
  attr_accessor   :pattern_w            # ?????(???)
  attr_accessor   :pattern_h            # ?????(???)
  attr_accessor   :sx                   # ?????(????)
  attr_accessor   :sy                   # ?????(????)
  attr_accessor   :pattern_type         # ???????
  attr_accessor   :pattern_time         # ??????
  attr_accessor   :graphic_name         # ???????????
  attr_accessor   :graphic_file_index   # ?????????????????
  attr_accessor   :graphic_index        # ????????????
  attr_accessor   :cw                   # ?????
  attr_accessor   :ch                   # ?????
  attr_accessor   :shadow_visible       # ???
  attr_accessor   :weapon_visible       # ????
 
  attr_accessor   :wait                 # ????????
  attr_accessor   :weapon_index         # ????????????????
  attr_accessor   :weapon_end           # ??????????
  attr_accessor   :force_action         # ???????
  attr_accessor   :target_battler       # ???????????
  attr_accessor   :second_targets       # ???????????
  attr_accessor   :m_a_targets          # ?????????????
  attr_accessor   :individual_targets   # ???????????????
  attr_accessor   :effect_data          # ????????
  attr_accessor   :anime_id             # ???ID??
  attr_accessor   :anime_move_id        # ??????ID??
  attr_accessor   :mirror               # ?????
  attr_accessor   :opacity              # ???
  attr_accessor   :opacity_data         # ???????
  attr_accessor   :set_damage           # ??????????????
  attr_accessor   :m_a_data             # ????????
  attr_accessor   :m_a_starter          # ???????????????
  attr_accessor   :action_end           # ????????????
  attr_accessor   :damage_anime_data    # ?????????????
  attr_accessor   :anime_no_mirror      # ?????????????
  attr_accessor   :anime_horming        # ??????????????
  attr_accessor   :anime_camera_zoom    # ?????????????????????
  attr_accessor   :anime_plus_z         # ?????Z????
  attr_accessor   :derivation_skill_id  # ?????ID
  attr_accessor   :immortal             # ??????
  attr_accessor   :mirage               # ?????
  attr_accessor   :balloon_data         # ???????
  attr_accessor   :timing               # ????????????????
  attr_accessor   :timing_targets       # ????????????????
  attr_accessor   :color_set            # ???????
  attr_accessor   :color                # ?????
  attr_accessor   :change_up            # ???????
  attr_accessor   :hit                  # ?????
  attr_accessor   :add_state            # ??????????????????
  attr_accessor   :counter_id           # ??????????ID
  attr_accessor   :reflection_id        # ?????????ID
  attr_accessor   :result_damage        # ???????HP?????
  attr_accessor   :active               # ???
  attr_accessor   :anime_off            # ???????
  attr_accessor   :command_action       # ????????????
   
  attr_accessor   :base_x               # ???? X??
  attr_accessor   :base_y               # ???? Y??
  attr_accessor   :base_h               # ???? ????
  attr_accessor   :max_pattern_w        # ???????
  attr_accessor   :max_pattern_h        # ???????
 
  attr_reader     :collapse             # ???????
  attr_reader     :picture              # ?????????
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def initialize(battler)
    @battler = battler
    reset
  end
  #--------------------------------------------------------------------------
  # ? ???
  #--------------------------------------------------------------------------
  def reset
    @x = 0
    @y = 0
    @z = 0
    @h = 0
    @j = 0
    @c = 0
    @jump = []
    @curve = []
    @ox = 0
    @oy = 0
    @oy_adjust = 0
    @z_plus = 0
    @move_time = 0
    @angle = 0
    @angle_time = 0
    @zoom_x = 1
    @zoom_y = 1
    @zoom_time = 0
    @pattern_w = 0
    @pattern_h = 0
    @sx = 0
    @sy = 0
    @pattern_type = 0
    @pattern_time = 0
    @pattern_rest_time = 0
    @graphic_name = ""
    @graphic_file_index = ""
    @graphic_index = 0
    @cw = 0
    @ch = 0
    @shadow_visible = false
    @weapon_visible = true
   
    @wait = 0
    @weapon_index = []
    @weapon_end = true
    @full_action = []
    @action = []
    @force_action = ""
    @target_battler = []
    @second_targets = []
    @individual_targets = []
    @m_a_targets = []
    @effect_data = []
    @anime_id = []
    @anime_move_id = []
    @opacity = 255
    @opacity_data = []
    @set_damage = false
    @m_a_data = []
    @m_a_starter = []
    @action_end = false
    @damage_anime_data = []
    @anime_no_mirror = false
    @anime_horming = false
    @anime_camera_zoom = false
    @anime_plus_z = true
    @derivation_skill_id = 0
    @immortal = false
    @mirage = []
    @play_data = []
    @balloon_data = []
    @picture = false
    @timing = []
    @timing_targets = []
    @color_set = []
    @color = []
    @change_up = false
    @non_motion = false
    @graphics_change = false
    @hit = []
    @add_state = []
    @collapse = false
    @counter_id = 0
    @reflection_id = 0
    @result_damage = [0,0]
    @active = false
    @anime_off = false
    @command_action = false
   
    @base_x = 0
    @base_y = 0
    @base_z = 0
    @base_h = 0
    @max_pattern_w = 0
    @max_pattern_h = 0
    @pattern_kind = 0
    @pattern_count = 0
    @move_time = 0
    @mirror = false
    @battler.set_graphic(@pre_change_data[0], @pre_change_data[1], @pre_change_data[2], @pre_change_data[3]) if @pre_change_data != nil
    @pre_change_data = nil
  end 
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def setup(bitmap_width, bitmap_height, first_action_flag)
    reset if first_action_flag
    set_data
    set_base_position if !@graphics_change
    set_graphics(bitmap_width, bitmap_height)
    set_target
    setup_graphics_change if @graphics_change
    first_battler_anime_set if first_action_flag
  end 
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def set_data
    return if @battler == nil
    if @battler.actor?
      @graphic_name = @battler.character_name
      @graphic_index = @battler.character_index
    else
      @graphic_name = @battler.battler_name
      @graphic_index = 0
    end
    @max_pattern_w = max_pattern[0]
    @max_pattern_h = max_pattern[1]
  end
  #--------------------------------------------------------------------------
  # ? ????????? data = [X?, Y?, H?]  moment_set…????
  #--------------------------------------------------------------------------
  def set_base_position(moment_set = true)
    mirroring_reset
    if @battler.actor?
      data = N03::ACTOR_POSITION[@battler.index].dup
      @base_x = data[0] * 100 if !@mirror
      @base_x = (Graphics.width - data[0]) * 100 if @mirror
    else
      data = [@battler.screen_x, @battler.screen_y, 0].dup
      @base_x = data[0] * 100 if !$sv_camera.mirror
      @base_x = (Graphics.width - data[0]) * 100 if $sv_camera.mirror
    end
    @base_y = data[1] * 100
    @base_h = data[2] * 100
    @base_z = @y
    return if !moment_set
    @x = @base_x
    @y = @base_y
    @z = @base_z
  end
  #--------------------------------------------------------------------------
  # ? ???????????
  #--------------------------------------------------------------------------
  def set_graphics(bitmap_width, bitmap_height)
    sign = @graphic_name[/^[\!\$]./]
    if sign && sign.include?('$')
      @cw = bitmap_width / @max_pattern_w
      @ch = bitmap_height / @max_pattern_h
    elsif @max_pattern_w == 1 && @max_pattern_h == 1
      @cw = bitmap_width
      @ch = bitmap_height
    else
      @cw = bitmap_width / (@max_pattern_w * 4)
      @ch = bitmap_height / (@max_pattern_h * 2)
    end
    @ox = @cw / 2
    @oy = @ch
    @sx = (@graphic_index % 4 * @max_pattern_w + @pattern_w) * @cw
    @sy = (@graphic_index / 4 * @max_pattern_h + @pattern_h) * @ch
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def set_target(target = nil)
    @target_battler = target
    @target_battler = [@battler] if target == nil
    @second_targets = @target_battler
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def setup_graphics_change
    @graphics_change = false
    @sx = (@graphic_index % 4 * @max_pattern_w + @pattern_w) * @cw
    @sy = (@graphic_index / 4 * @max_pattern_h + @pattern_h) * @ch
  end 
  #--------------------------------------------------------------------------
  # ? ??????????????????
  #--------------------------------------------------------------------------
  def first_battler_anime_set
    loop do
      update
      break if @action_data == nil
      break if @action_data[0] == "motion"
      break if @action_data[0] == "move" && @action_data[8] != ""
      break if @full_action == []
    end
    start_action(first_action) if @battler.movable?
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def start_action(kind = nil)
    return if @event_fix && $game_troop.interpreter.running?
    # ?????????????
    return @wait -= 1 if @wait > 0 && kind == nil
    action_setup(false) if kind != nil
    set_action(kind)
    @action = kind if @action == nil
    # ???????????????????
    action_terminate if @action == nil
    # ?????????
    @action_data = N03::ACTION[@action]
    next_action
  end
  #--------------------------------------------------------------------------
  # ? ???????????
  #--------------------------------------------------------------------------
  def action_setup(reset = true)
    @event_fix = false
    @set_damage = false
    @action_end = false
    @balloon_data = []
    @loop_act = []
    angle_reset if reset
    zoom_reset if reset
    opacity_reset if reset
    @curve = []
    @c = 0
    convert_jump
  end 
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def action_terminate
    @mirage = [] if @mirage_end
    mirroring_reset
    @picture = false
    @individual_targets = []
    action_setup if @active
    action_setup(false) if !@active
    # ??????????
    stand_by_action if !@non_motion
    # ??????????????
    next_battler
  end 
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def set_action(kind = nil)
    full_act = N03::FULLACTION[kind]
    @full_action = full_act.dup if full_act != nil
    @action = @full_action.shift
    # ????????????????????????????????
    full_act2 = N03::FULLACTION[@action]
    @full_action = full_act2.dup + @full_action if full_act2 != nil
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def next_action
    @wait = 0
    # ?????????
    eval(@action) if @action != nil && @action_data == nil && N03::FULLACTION[@action] == nil
    # ??????
    @wait = @action.to_i if @wait == 0 && @action_data == nil
    @wait = rand(@wait.abs + 1) if @wait < 0
    # ???????
    action_play
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def stand_by_action
    # ?????
    stand_by_act = normal
    # HP?1/4??????????
    stand_by_act = pinch if @battler.hp <= @battler.mhp / 4
    # ????????
    stand_by_act = state(@battler.states[0].id) if @battler.states[0] != nil && state(@battler.states[0].id) != nil
    # ????????
    stand_by_act = command if @command_action && command != nil
    set_action(stand_by_act)
    @action = stand_by_act if @action == nil
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def start_force_action
    return if @active
    start_action(@force_action)
    @force_action = ""
  end 
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def add_action(kind)
    @full_action.push(kind)
  end 
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def unshift_action(kind)
    @full_action.unshift(kind)
  end 
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update
    # ???????
    start_action
    # ?????????
    start_force_action if @force_action != ""
    # ?????????
    update_pattern
    # ????
    update_move
    # ????
    update_angle if @angle_time != 0
    # ??????
    update_zoom if @zoom_time != 0
    # ?????
    update_opacity if @opacity_data != []
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def update_pattern
    return @pattern_rest_time -= 1 if @pattern_rest_time != 0
    return if @max_pattern_w == 1 && @max_pattern_h == 1
    @pattern_rest_time = @pattern_time
    # ????·?????????
    if @pattern_kind > 0 # ?????
      @pattern_start = 0
      @pattern_end = @max_pattern_w - 1
    elsif @pattern_kind < 0 # ?????
      @pattern_start = @max_pattern_w - 1
      @pattern_end = 0
    end
    # ????????
    @pattern_count += 1 if @pattern_w == @pattern_end && @pattern_kind != 0
    # ?????
    case @pattern_type.abs
    when  1,3 # ??
      @pattern_kind =  0 if @pattern_count != 0 && @pattern_type ==  1
      @pattern_kind =  0 if @pattern_count != 0 && @pattern_type == -1
      @pattern_kind =  1 if @pattern_count != 0 && @pattern_type ==  3
      @pattern_kind = -1 if @pattern_count != 0 && @pattern_type == -3
      @pattern_w = @pattern_start - @pattern_kind if @pattern_count != 0 && @pattern_type.abs == 3
      @pattern_count = 0
    when  2,4 # ??
      @pattern_kind = -1 if @pattern_count == 1 && @pattern_type ==  2
      @pattern_kind =  1 if @pattern_count == 1 && @pattern_type == -2
      @pattern_kind =  0 if @pattern_count == 2 && @pattern_type ==  2
      @pattern_kind =  0 if @pattern_count == 2 && @pattern_type == -2
      @pattern_kind = -1 if @pattern_count == 1 && @pattern_type ==  4
      @pattern_kind =  1 if @pattern_count == 1 && @pattern_type == -4
      @pattern_kind =  1 if @pattern_count == 2 && @pattern_type ==  4
      @pattern_kind = -1 if @pattern_count == 2 && @pattern_type == -4
      @pattern_count = 0 if @pattern_count == 2
    end
    # ????
    @pattern_w += 1 * @pattern_kind
    @sx = (@graphic_index % 4 * @max_pattern_w + @pattern_w) * @cw
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def update_move
    @z = @y / 100 + @z_plus
    return if @move_time == 0
    target_position_set if @horming_move
    @x = (@x * (@move_time - 1) + @target_x) / @move_time
    @y = (@y * (@move_time - 1) + @target_y) / @move_time
    @h = (@h * (@move_time - 1) + @target_h) / @move_time if @move_h != nil
    @c += @curve[@move_time - 1] if @curve[@move_time - 1] != nil
    @j += @jump[@move_time - 1] if @jump[@move_time - 1] != nil
    @move_time -= 1
    convert_jump if @move_time == 0
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def target_position_set
    target_position = N03.get_targets_position(@move_targets, @horming_move)
    @target_x = target_position[0] + @move_x
    @target_y = target_position[1] + @move_y
    @target_h = target_position[2] + @move_h if @move_h != nil
  end 
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  def update_angle
    @angle += @angling
    @angle_time -= 1
    return if @angle_time != 0
    return angle_reset if @angle_data[4] == 0
    angling(@angle_data) if @angle_data[4] == 2
  end 
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update_zoom
    @zoom_x += @zooming_x
    @zoom_y += @zooming_y
    @zoom_time -= 1
    return if @zoom_time != 0
    return zoom_reset if @zoom_data[4] == 0
    zooming(@zoom_data) if @zoom_data[4] == 2
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def update_opacity
    @opacity += @opacity_data[2]
    @opacity_data[0] -= 1
    return if @opacity_data[0] != 0
    return if !@opacity_data[5]
    @opacity_data[2] *= -1
    @opacity_data[0] = @opacity_data[1]
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def action_play
    return if @action_data == nil
    action = @action_data[0]
    # ?????????
    return mirroring                    if action == "mirror"
    # ?????
    return mirage_set                   if action == "mirage"
    # ????? 
    return angling                      if action == "angle"
    # ??????? 
    return zooming                      if action == "zoom"
    # ???????? 
    return set_opacity                  if action == "opacity"
    # ??????????
    return battler_anime                if action == "motion"
    # ?????
    return move                         if action == "move"
    # ????????
    return weapon_anime([@action_data]) if action == "wp"
    # ?????????
    return move_anime                   if action == "m_a"
    # ??????????(????)
    return set_play_data                if action == "collapse" or action == "no_collapse"
    # ???????????????? 
    return battle_anime                 if action == "anime"
    # ?????????
    return camera                       if action == "camera"
    # ??????????
    return shake                        if action == "shake"
    # ?????????
    return color_effect                 if action == "color"
    # ??????????
    return transition                   if action == "ts"
    # ???????????? 
    return balloon_anime                if action == "balloon"
    # ?????????
    return picture_set                  if action == "pic"
    # ?????????
    return state_set                    if action == "sta"
    # FPS?????
    return fps                          if action == "fps"
    # ??????????? 
    return graphics_change              if action == "change"
    # ???????? 
    return derivating_skill             if action == "der"
    # BGM/BGS/SE????? 
    return sound                        if action == "sound"
    # ????????? 
    return movie                        if action == "movie"
    # ???????????? 
    return switches                     if action == "switch"
    # ?????????? 
    return variable                     if action == "variable"
    # ????(???????)???
    return nece_1                       if action == "n_1"
    # ????(?????)???
    return nece_2                       if action == "n_2"
    # ????(????)???
    return nece_3                       if action == "n_3"
    # ????(???)???
    return nece_4                       if action == "n_4"
    # ????(?????)???
    return nece_5                       if action == "n_5"
    # ????(??)???
    return nece_6                       if action == "n_6"
    # ????(?????)???
    return nece_7                       if action == "n_7"
    # ?????????????? 
    return second_targets_set           if action == "s_t"
    # ?????????????? 
    return call_common_event            if action == "common"
    # ?????????? 
    return @anime_off = true            if action == "anime_off"
    # ????????? 
    return BattleManager.process_abort  if action == "battle_end"
    # ??????? 
    return Graphics.freeze              if action == "graphics_freeze"
    # ?????????? 
    return damage_anime                 if action == "damage_anime"
    # ??????? 
    return @weapon_visible = false      if action == "weapon_off"
    # ????????? 
    return @weapon_visible = true       if action == "weapon_on"
    # ??????????
    return @non_motion = true           if action == "non_motion"
    # ????????????
    return @non_motion = false          if action == "non_motion_cancel"
    # ?????????
    return change_base_position         if action == "change_base_position"
    # ???????????
    return set_base_position(false)     if action == "set_base_position"
    # ?????????? 
    return force_act                    if action == "force_action"
    # ?????????? (?????????)
    return force_act2                   if action == "force_action2"
    # ???????
    return individual_start             if action == "individual_start"
    # ???????
    return individual_end               if action == "individual_end"
    # ????????
    return loop_start                   if action == "loop_start"
    # ????????
    return loop_end                     if action == "loop_end"
    # ?????????
    return only_action_on               if action == "only_action_on"
    # ???????????
    return only_action_off              if action == "only_action_off"
    # ???????????
    return next_battler                 if action == "next_battler"
    # ??????????
    return set_change                   if action == "set_change"
    # ??????????   
    return eval(@action_data[0])
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def mirroring
    @mirror = !@mirror
  end 
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def mirroring_reset
    @mirror = false
    mirroring if !@battler.actor? && N03::ENEMY_MIRROR
    mirroring if $sv_camera.mirror
  end 
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  def mirage_set
    @mirage = @action_data.dup
    @mirage_end = @mirage[3]
    @mirage = [] if @mirage[1] == 0
  end 
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  def angling(data = @action_data)
    @angle_data = data.dup
    @oy = @ch / 2
    @oy_adjust = @ch * 50
    @angle_time = data[1]
    start_angle = data[2] * N03.mirror_num(@mirror)
    end_angle = data[3] * N03.mirror_num(@mirror)
    # ???0????????????
    @angle_time = 1 if @angle_time <= 0
    # ??????1?????????????
    @angling = (end_angle - start_angle) / @angle_time
    # ??????????????
    @angle = (end_angle - start_angle) % @angle_time + start_angle
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def angle_reset
    @oy = @ch
    @angle = @angle_time = @oy_adjust = 0
  end 
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def zooming(data = @action_data)
    @zoom_data = data.dup
    @zoom_time = data[1]
    start_zoom_x = data[2][0]
    start_zoom_y = data[2][1]
    end_zoom_x = data[3][0]
    end_zoom_y = data[3][1]
    # ???0?????????????
    @zoom_time = 1 if @zoom_time <= 0
    # ????????1????????????????
    @zooming_x = (end_zoom_x - start_zoom_x) / @zoom_time
    @zooming_y = (end_zoom_y - start_zoom_y) / @zoom_time
    # ??????
    @zoom_x = start_zoom_x
    @zoom_y = start_zoom_y
  end 
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def zoom_reset
    @zoom_x = @zoom_y = 1
    @zoom_time = 0
  end 
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def set_opacity
    data = @action_data.dup
    @opacity = data[2]
    opacity_move = (data[3] - data[2])/ data[1]
    @opacity_data = [data[1], data[1], opacity_move, data[4], data[5], data[6]]
    @wait = data[1] if data[7]
    @wait *= 2 if data[6] && data[7]
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def opacity_reset
    @opacity = 255
    @opacity = 0 if @battler.hidden?
    @opacity_data = []
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def battler_anime(anime_data = nil)
    anime_data = @action_data.dup if anime_data == nil
    @graphic_file_index = anime_data[1] if !graphic_fix
    @pattern_h = anime_data[2]
    @pattern_w = anime_data[3]
    @pattern_h = 0 if @max_pattern_w == 1
    @pattern_w = 0 if @max_pattern_h == 1
    @pattern_type = anime_data[4]
    @pattern_time = anime_data[5]
    @pattern_rest_time = anime_data[5]
    @pattern_count = 0
    @pattern_kind = 1
    @pattern_kind = -1 if @pattern_type < 0
    @pattern_kind = 0 if @pattern_type == 0
    @sx = (@graphic_index % 4 * @max_pattern_w + @pattern_w) * @cw
    @sy = (@graphic_index / 4 * @max_pattern_h + @pattern_h) * @ch
    @z_plus = anime_data[6]
    @wait = set_anime_wait if anime_data[7]
    @shadow_visible = anime_data[8]
    weapon_anime(anime_data)
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def set_anime_wait
    if @pattern_type > 0
      pattern_time_a = @max_pattern_w - @pattern_w.abs
    elsif @pattern_type < 0
      pattern_time_a = @pattern_w.abs + 1
    else
      return @pattern_time if @pattern_type == 0
    end
    case @pattern_type
    when 1,-1, 3,-3
      return pattern_time_a * @pattern_time
    when 2,-2, 4,-4
      return pattern_time_a * @pattern_time + (@max_pattern_w - 2) * @pattern_time
    end
  end 
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  def move
    @move_targets = N03.get_targets(@action_data[1].abs, @battler)
    return if @move_targets == []
    @move_targets = [@battler] if @action_data[1].abs == 7
    @move_x = @action_data[2] * 100 * N03.mirror_num(@mirror)
    @move_y = @action_data[3] * 100
    @move_h = @action_data[4] * 100 if @action_data[4] != nil
    @move_h = nil if @action_data[4] == nil
    battler_anime(N03::ACTION[@action_data[8]].dup) if N03::ACTION[@action_data[8]] != nil
    @horming_move = true
    @horming_move = false if @action_data[1] < 0 or @action_data[1].abs == 7
    target_position_set
    target_position = [@target_x, @target_y, @target_z]
    distanse_move = @action_data[5] > 0
    @move_time = N03.distanse_calculation(@action_data[5].abs, target_position, [@x, @y, @z], distanse_move)
    @wait = @move_time
    curve
    jump
    @move_time = 1 if @move_time == 0
    @horming_move = false if !@move_targets or @move_targets.include?(@battler)
    update_move if @move_time == 1
  end 
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def curve
    @c = 0
    return if @action_data[6] == 0
    @curve = N03.parabola([@action_data[6], -@action_data[6]], @move_time, 100, 4)
  end 
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def jump
    convert_jump
    return if @action_data[7] == [0,0]
    @jump = N03.parabola(@action_data[7].dup, @move_time, 100)
  end 
  #--------------------------------------------------------------------------
  # ? J??(??????)?H?????
  #--------------------------------------------------------------------------
  def convert_jump
    @h += @j
    @j = 0
    @jump = []
  end 
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def battle_anime
    data = @action_data.dup
    targets = N03.get_targets(data[2], @battler)
    return if targets == []
    data[8] = !data[8] if @mirror
    @set_damage           = data[5]
    @damage_anime_data[0] = N03.get_attack_anime_id(data[1], @battler)
    @damage_anime_data[1] = data[8]
    @damage_anime_data[2] = data[7]
    @damage_anime_data[3] = data[6]
    @damage_anime_data[4] = data[9]
    @wait = N03.get_anime_time(@damage_anime_data[0]) - 2 if data[4]
    return if @set_damage
    for target in targets do display_anime(targets, target, data) end
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def weapon_anime(anime_data)
    @weapon_end = true
    for i in 9...anime_data.size
      set_effect_data(anime_data[i]) if anime_data[i] != ""
    end
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def move_anime
    @m_a_starter = []
    @m_a_targets = []
    starters = N03.get_targets(@action_data[2], @battler)
    targets = N03.get_targets(@action_data[3], @battler)
    return if starters == [] or targets == []
    single_start = true if starters != nil && @action_data[2] < 0
    single_start = true if @action_data[1][0] != 0 && $data_animations[N03.get_attack_anime_id(@action_data[1][0], @battler)].position == 3
    starters = [starters[0]] if single_start
    single_end = true if targets != nil && @action_data[3] < 0
    single_end = true if @action_data[1][1] != 0 && $data_animations[N03.get_attack_anime_id(@action_data[1][1], @battler)].position == 3
    targets = [targets[0]] if single_end
    se_flag = true
    for starter in starters
      for target in targets
        data = @action_data.dup
        data[17] = se_flag
        @effect_data.push(data)
        @m_a_targets.push(target)
        @m_a_starter.push(starter)
        se_flag = false
      end
    end 
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def set_effect_data(data = @action)
    action_data = N03::ACTION[data]
    return if action_data == nil
    @effect_data.push(action_data.dup)
  end
  #--------------------------------------------------------------------------
  # ? ??????????????
  #--------------------------------------------------------------------------
  def set_play_data(data = @action_data)
    @play_data = data.dup
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def display_anime(targets, target, data)
    return if !N03.first_of_all_screen_anime(data[1], target, targets)
    target.animation_id         = N03.get_attack_anime_id(data[1], @battler)
    target.animation_mirror     = data[8]
    target.sv.anime_horming     = data[3]
    target.sv.anime_camera_zoom = data[6]
    target.sv.anime_no_mirror   = data[7]
    target.sv.anime_plus_z      = data[9]
  end
  #--------------------------------------------------------------------------
  # ? ??????????????
  #--------------------------------------------------------------------------
  def reset_anime_data
    @anime_no_mirror = false
    @anime_horming = false
    @anime_camera_zoom = false
    @timing_targets = []
    @anime_plus_z = true
  end 
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def camera
    data = @action_data.dup
    N03.camera(@battler, data)
    @wait = data[4] if data[5]
  end 
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def shake
    data = @action_data.dup
    $sv_camera.shake(data[1], data[2], data[3])
    @wait = data[3] if data[4]
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def color_effect
    case @action_data[1]
    when 0,1,2,3,4,5
      targets = N03.get_targets(@action_data[1], @battler)
    when 6
      screen = true
    when 7
      targets = [@battler] + @target_battler
    when 8
      screen = true
      targets = $game_troop.members + $game_party.battle_members - [@battler]
    when 9
      screen = true
      targets = $game_troop.members + $game_party.battle_members - [@battler] - @target_battler
    when 10
      screen = true
      targets = $game_troop.members + $game_party.battle_members
    end
    return if screen == nil && targets == []
    for target in targets do target.sv.color_set = @action_data[2] end if targets
    @wait = @action_data[2][4] if @action_data[3]
    return if !screen
    $sv_camera.color_set[1] = @action_data[2]
    $sv_camera.color_set[2] = @action_data[2]
  end 
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def transition
    $sv_camera.perform_transition(@action_data)
  end 
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def balloon_anime
    @balloon_data = @action_data.dup
  end 
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def picture_set
    @picture = true
    set_effect_data
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def state_set
    targets = N03.get_targets(@action_data[1], @battler)
    return if targets == []
    case @action_data[2]
    when 1 ; targets = [targets[rand(targets.size)]]
    when 2 ; targets -= @battler if targets.include?(@battler)
    end
    for target in targets
      for id in @action_data[4]
        target.add_state(id) if @action_data[3] == "+"
        target.remove_state(id) if @action_data[3] == "-"
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? FPS??
  #--------------------------------------------------------------------------
  def fps
    Graphics.frame_rate = @action_data[1]
    start_action
  end
  #--------------------------------------------------------------------------
  # ? ???????????
  #--------------------------------------------------------------------------
  def graphics_change
    @graphics_change = true
    return @battler.graphics_change(@action_data[3]) if !@battler.actor?
    @pre_change_data = [@battler.character_name, @battler.character_index, @battler.face_name, @battler.face_index] if @pre_change_data == nil && !@action_data[1]
    if @action_data[4] == []
      face_name = @battler.face_name
      face_index = @battler.face_index
    else
      face_name = @action_data[4][1]
      face_index = @action_data[4][0]
    end
    @battler.set_graphic(@action_data[3], @action_data[2], face_name, face_index)
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def derivating_skill
    # ?????????????
    return if !@action_data[1] && !@battler.skill_learn?($data_skills[@action_data[3]])
    # ????????????
    return if !@action_data[2] && !@battler.skill_cost_payable?($data_skills[@action_data[3]])
    # ??
    @derivation_skill_id = @action_data[3]
    # ??????????????
    @full_action = []
  end
  #--------------------------------------------------------------------------
  # ? BGM/BGS/SE??
  #--------------------------------------------------------------------------
  def sound
    pitch = @action_data[2]
    vol   = @action_data[3]
    name  = @action_data[4]
    case @action_data[1]
    when "se"
      Audio.se_play("Audio/SE/" + name, vol, pitch)
    when "bgm"
      # ?????????????BGM????????
      name = RPG::BGM.last.name if @action_data[4] == ""
      Audio.bgm_play("Audio/BGM/" + name, vol, pitch)
    when "bgs"
      name = RPG::BGS.last.name if @action_data[4] == ""
      Audio.bgs_play("Audio/BGS/" + name, vol, pitch)
    end
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def movie
    Graphics.play_movie('Movies/' + @action_data[1])
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def switches
    for id in @action_data[1]
      $game_switches[id] = true if id > 0
      $sv_camera.switches[id.abs] = true  if id < 0
    end
    for id in @action_data[2]
      $game_switches[id] = false if id > 0
      $sv_camera.switches[id.abs] = false  if id < 0
    end
    $sv_camera.program_check
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def variable
    # ?????????
    operand = @action_data[3]
    operand = $game_variables[@action_data[3].abs] if @action_data[3] < 0
    # ???????
    case @action_data[2]
    when 0 ; $game_variables[@action_data[1]] = operand  # ??
    when 1 ; $game_variables[@action_data[1]] += operand # ??
    when 2 ; $game_variables[@action_data[1]] -= operand # ??
    when 3 ; $game_variables[@action_data[1]] *= operand # ??
    when 4 ; $game_variables[@action_data[1]] /= operand # ??
    when 5 ; $game_variables[@action_data[1]] %= operand # ??
    end
  end 
  #--------------------------------------------------------------------------
  # ? ???? (???????)
  #--------------------------------------------------------------------------
  def nece_1
    judgment = $game_switches[@action_data[1]] == @action_data[2] if @action_data[1] > 0
    judgment = $sv_camera.switches[@action_data[1].abs] == @action_data[2] if @action_data[1] < 0
    action_diverging(judgment, @action_data[3])
  end 
  #--------------------------------------------------------------------------
  # ? ???? (?????)
  #--------------------------------------------------------------------------
  def nece_2
    variable = $game_variables[@action_data[1]]
    num = @action_data[2]
    num = $game_variables[@action_data[2].abs] if num < 0
    case @action_data[3]
    when 0 ; judgment = variable == num
    when 1 ; judgment = variable < num
    when 2 ; judgment = variable > num
    end 
    action_diverging(judgment, @action_data[4])
  end 
  #--------------------------------------------------------------------------
  # ? ???? (????)
  #--------------------------------------------------------------------------
  def nece_3
    targets = N03.get_targets(@action_data[1], @battler)
    return if targets == []
    member_num = @action_data[4]
    member_num = targets.size if @action_data[4] == 0 && targets.size > 1
    hit_count = 0
    miss_count = 0
    for target in targets
      hit_count += 1 if target.state?(@action_data[2])
      miss_count += 1 if !target.state?(@action_data[2])
    end
    case @action_data[3]
    when 0 ; judgment = hit_count >= member_num
    when 1 ; judgment = miss_count >= member_num
    end
    action_diverging(judgment, @action_data[5])
  end 
  #--------------------------------------------------------------------------
  # ? ???? (???)
  #--------------------------------------------------------------------------
  def nece_4
    targets = N03.get_targets(@action_data[1], @battler)
    return if targets == []
    member_num = @action_data[4]
    member_num = targets.size if @action_data[4] == 0 && targets.size > 1
    hit_count = 0
    miss_count = 0
    for target in targets
      hit_count += 1 if target.skill_learn?($data_skills[@action_data[2]]) && target.skill_conditions_met?($data_skills[@action_data[2]])
      miss_count += 1 if !target.skill_learn?($data_skills[@action_data[2]]) or !target.skill_conditions_met?($data_skills[@action_data[2]])
    end
    case @action_data[3]
    when 0 ; judgment = hit_count >= member_num
    when 1 ; judgment = miss_count >= member_num
    end
    action_diverging(judgment, @action_data[5])
  end 

[Anexo excluído pelo administrador]

Ven

Resposta 1: 30/06/2016 às 08:35

Bom, se for o que eu entendi aqui agora o erro está bem óbvio, pois este não é o script do SAS que está dando erro mas sim o SBS do Tankentai ACE.

Cara, a causa é bem simples: Você não pode usar dois scripts de batalha ao mesmo tempo, principalmente quando está usando o SAS.

O Script do Tankentai foi feito para ter uma batalha lateral e o do SAS para uma batalha ativa, in game. O Erro acontece por incompatibilidade, portanto decida se vá usar o SAS ou o Sideview.

Espero ter ajudado.  :XD:

Foxxos

  • *
  • Posts: 4
  • Ouros: 0
Resposta 2: 30/06/2016 às 16:46

Obrigado, ajudou sim, mas ai eu procurei outro código do sideview e funcionou junto com o SAS. :ok:

Syureri

Resposta 3: 30/06/2016 às 16:52

Eu não entendo o por quê de alguém querer usar um sbs com um abs, mas em todo o caso...
Resolvido.