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.

A freezing problem with Tenkantai's sideview ABS [XP]

First, if anyone can help me figure this out I would greatly appreciate it. I have been struggling with this bug for over two weeks and cannot find the solution.

To begin, the bug occurs when I engage in battle. About 95% of the time the battlers works flawlessly. The battlers do what their supposed to do. Even my add-ons like modern_algebra's advanced skill options work with Tenkentai's Sideview ABS (scripted to fit XP by Atoa). I use most of the add-ons that come with and have put a lot of effort into implementing them into my game.

The problem comes with the other 5% of the battles. Every once in awhile when I choose the "attack" command, the most basic element of any battle, the game will freeze. There is no error message, and the actors/enemies continue their animated movement, but no attack occurs and no one can use any moves. The game simply stops, and I just hear the music and see my little actors and monsters walking in place. At first I thought it had something to do with the dual-wield script, because it happened with a dual-wield character a few times. Then I noticed that it happened with other characters as well.

It is quite a problem, and I've already put an immense amount of effort into working this into my game. I THINK, with some help, that I have narrowed it down to a possible problem with these scripts:
Code:
#--------------------------------------------------------------------------

  # * Frame Update (actor command phase : basic command)

  #--------------------------------------------------------------------------

  def update_phase3_basic_command

    # If B button was pressed

    if Input.trigger?(Input::B)

      # Play cancel SE

      $game_system.se_play($data_system.cancel_se)

      # Go to command input for previous actor

      phase3_prior_actor

      return

    end

    # If C button was pressed

    if Input.trigger?(Input::C)

      # Branch by actor command window cursor position

      case @actor_command_window.index

      when 0  # attack

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Set action

        @active_battler.current_action.kind = 0

        @active_battler.current_action.basic = 0

        # Start enemy selection

        start_enemy_select

      when 1  # skill

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Set action

        @active_battler.current_action.kind = 1

        # Start skill selection

        start_skill_select

      when 2  # guard

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Set action

        @active_battler.current_action.kind = 0

        @active_battler.current_action.basic = 1

        # Go to command input for next actor

        phase3_next_actor

      when 3  # item

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Set action

        @active_battler.current_action.kind = 2

        # Start item selection

        start_item_select

      end

      return

    end

  end
Code:
 alias acbs_update_phase4_step2_atb update_phase4_step2

  def update_phase4_step2

    @active_battler.defense_pose = false

    if @active_battler.cast_action != nil

      active_cast = @active_battler.cast_action

      if active_cast.scope == 1 or active_cast.scope == 3 or active_cast.scope == 5

        @active_battler.current_action.target_index = @active_battler.cast_target

      end

      if active_cast.is_a?(RPG::Skill)

        @active_battler.current_action.kind = 1

        @active_battler.current_action.skill_id = @active_battler.cast_action.id

      elsif active_cast.is_a?(RPG::Item) 

        @active_battler.current_action.kind = 2

        @active_battler.current_action.item_id = @active_battler.cast_action.id

      end

    end

    for state in @active_battler.battler_states

      @active_battler.remove_state(state.id) if state.extension.include?("ZEROTURNLIFT")

    end

    acbs_update_phase4_step2_atb

  end

 


However, I'll be honest, my scripting abilities are not very high. I think, since these deal with the attack sequence, I thought they would be the best places to start. With my limited knowledge though, I cannot seem to find what may be causing the freezing.

It is really debilitating for the game, has anyone else experienced a similar problem?

Thanks in advance for any help anyone can give.
 

Atoa

Member

That's a damn bug on the ATB + Tankentai that even I couldn't fix (and it's not something specfic to the ATB, since i use the same atb with small changes on my ACBS and this bug don't happen on it).
This one is one of the top bugs of the list of reasons for me to discuntinuating tankentai (toghter with some jerk noobs that didn't gave peace)
And since it's an bit random, it's hard to really know if it was really fixed (you can stay one week without having this problem)
 
Thanks for the response, and I'm happy (sort of) to know that I'm not the only one dealing with this problem. Is your slightly adjusted ATB compatible with the Tenkantai system? Perhaps whatever adjustments you made fixed the problem? Maybe not, but man am I desperate!

I wonder, does the same bug occur in the VX version?
 

Atoa

Member

@Ruminyauee
No, the changes i've made was just to fix some differences between the ACBS and Tankentai, it haves nothing with the action order itself, it was just commands for poses.

This "freeze bug" happens if on an clean tankentai instalation, if the actions aren't properly configurated.

The way tankentai manages actions movement are really glitchy sometimes, so changing the ATB would have small effects, the fix must be made on the tanketai system itself.

I spent a long time trying to fix it and nothing '-'
 

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