Help - Search - Members - Calendar
Full Version: Jens009's Breath of Fire Cross Command
RPG RPG Revolution Forums > Scripting > Script Submissions > RGSS2-Submissions
Pages: 1, 2
jens009
BOF Cross Command
Version
: 1.1
Author: Jens009 base from blazingamer
Release Date: July 29, 2008
Updated: August 5, 2008


Exclusive Script at RPG RPG Revolution


Introduction
Requested by: comeonman1111

Replaces the old command window with a picture oriented cross command window

Features
- A Cross Command Window that contains the following battle actions:
- Attack
- Skill
- Item
- Defend
- Escape
- Left Justify feature
- Blur Commands Feature (Only applicable to Battle Deactivation Patch)
- Should be compatible with other battle add on scripts since methods were aliased. (Except for one. Look at script for more info)

Script
[Show/Hide] Version 1.1

By Default, Left Justify is set to false
CODE
#===============================================================================
# Breath of Fire Cross Command Window     VX version                
#   Script: Exclusive to rpgrevolution.com/forums                  
# By: Jens009 (Translation and Modification)                        
#   Version 1.0 July 29, 2008
#   Version 1.1 July 31, 2008
# Originally by Blazingamer                                        
#   Contact me at Rpgrevolution.com/Forums
#
#   Rant: The Black Knights will liberate Japan                    
#         Left Justify was irritating yet fun! =D
#         HAPPY B-DAY to my certain friend =D
#        
#                                                                  
# Change Log:                                                      
#    - Version 1.0 : Default code                                  
#    - Version 1.1:
#         Change Window size to 128x128
#         Added LEFTJUSTIFY option
#         aliased two more methods
# Description:                                                      
#   Changes the default actor commands with a "cross-command" using
#   32x32 pictures.                                                
# Instructions:
#   Since version 1.1,
#   1) Place below materials but above everything that modifies Scene_Battle in
#      anyway to increase compatibility
#   2) Import the proper pictures to Graphics/Pictures
#
# Notes:
#   Version 1.0
#        2 methods were aliased from Scene_Battle.                  
#        1 method was directly edited from Scene_Battle            
#   Version 1.1
#        2 more methods were aliased from Scene_Battle
#
#                                                                  
#  
# Compatibility:                                                    
#   Should be compatible with most systems or add ons              
#   May cause errors with method
#      start_actor_command_selections
#   Using Left Justified decreases compatibility.
#                                                                  
# Modifications:
# I. Changing the pictures:                                            
#     Go to folder Graphics/Pictures                                
#     Import your desired 32x32 pictures                            
#     Make sure you named them as follows:                          
#      Attack.png                                                  
#      Magic.png                                                    
#      Items.png                                                    
#      Run.png                                                      
#     They should be self explanatory.
# II. Check the config section to further modify the cross window
#===============================================================================

#===============================================================================
# Config
#===============================================================================

LEFTJUSTIFY = false # set to true if cross command is left justified
CC_WINDOW_OPACITY = 255 # 0- Transparent, 155- Semi-Transparent, 255-Full

#===============================================================================
# CrossCommand Window class                                        
#   class handles the cross command window                          
#===============================================================================

class CrossCommand < Window_Selectable
  #==========================================================================

  # Initialize: Windows, Command list, Item size, and draw methods
  #==========================================================================

  def initialize
    super (0, 0, 128, 128)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = CC_WINDOW_OPACITY
    @commands = ["attack", "magic","defend","items","run away"]
      @item_max = 5
    draw_item(0, 32,32,"Attack")
    draw_item(1, 32,0, "Magic")
    draw_item(2, 64,32,"Defend")
    draw_item(3, 0,32, "Items")
    draw_item(4, 32,64, "Run")
    self.active = false
    self.visible = true
    self.index = 0
  end
  #============================================
  # Define Method draw_item.
  #============================================
  # index: Command index
  # x: Coordinate of bitmap
  # y: Coordinate of bitmap
  # picture: Picture name from index
  #============================================
  
  def draw_item(index, x, y, picture)  
    bitmap = Cache.picture(picture)
    self.contents.blt(x, y, bitmap, Rect.new(0, 0, 32, 32))
  end
  
  #============================================
  # Update Cursor Information
  #============================================
  # index 0 Attack
  #       1 Skill
  #       2 Defend
  #       3 Item
  #       4 Run
  #============================================
  
  def update
    update_cursor
  end
  
  def update_cursor
    if index == 3
      self.cursor_rect.set(0, 32, 32, 32)
    elsif index == 2
      self.cursor_rect.set(64, 32, 32, 32)
    elsif index == 1
       self.cursor_rect.set(32,0,32,32)
    elsif index == 4
       self.cursor_rect.set(32,64,32,32)
    else
       self.cursor_rect.set(32,32,32,32)
   end
  
    if Input.press?(Input::LEFT)
      @index = 3
    elsif Input.press?(Input::RIGHT)
      @index = 2
    elsif Input.press?(Input::UP)
      @index = 1
    elsif Input.press?(Input::DOWN)
      @index = 4
    else
      @index = 0
    end
end
end

#===============================================================================
#
# Scene_Battle                          
# Note: Methods were modified both by
# aliases and direct edits.
# Aliases used:
#  alias jens009_create_info_viewport_cross_command create_info_viewport
#  alias jens009_acommand_cross_command update_actor_command_selection
#  alias jens009_start_target_cross_command start_target_enemy_selection
#  alias jens009_end_target_cross_command end_target_enemy_selection
# Method directly modified:
#   start_actor_command_selection
#===============================================================================
#
class Scene_Battle
  
  alias jens009_create_info_viewport_cross_command create_info_viewport
  alias jens009_acommand_cross_command update_actor_command_selection
  
  alias jens009_start_target_cross_command start_target_enemy_selection
  alias jens009_end_target_cross_command end_target_enemy_selection
  
  def start_actor_command_selection
    @party_command_window.active = false
   # The next line is specifcally for class Window_ActorCommand
   # Do not, uncomment the line. The line was commented to show that this
   # line of code is not needed. Also to show that the method
   # start_actor_command_selection was directly edited from Scene_Battle
   #@actor_command_window.setup(@active_battler)
    @actor_command_window.active = true
    @actor_command_window.index = 0
  end
  
  def create_info_viewport
    jens009_create_info_viewport_cross_command
    #Create Cross Command
    @actor_command_window = CrossCommand.new
    #Make Cross Comand window part of viewport
    @actor_command_window.viewport =@info_viewport
    #Change coordinates of Cross Command window
    # Start check of justification
    if LEFTJUSTIFY == true
      @actor_command_window.x = 0
      @party_command_window.x = 544
      @status_window.x = 128
      else
      @actor_command_window.x = 544
    end #END JUSTIFICATION CHECK
  end
  
if LEFTJUSTIFY == true
  
  def update_info_viewport
    @party_command_window.update
    @actor_command_window.update
    @status_window.update
    if @actor_command_window.active and @info_viewport.ox > 0
      @info_viewport.ox -= 16
    elsif @party_command_window.active and @info_viewport.ox < 128
      @info_viewport.ox += 16
    end
  end

  #--------------------------------------------------------------------------
  # * Start Target Enemy Selection
  #--------------------------------------------------------------------------
  def start_target_enemy_selection
    jens009_start_target_cross_command # Call default methods
    #Start of Edit
    @target_enemy_window.x = 128
    @info_viewport.rect.x -= @target_enemy_window.width
    @info_viewport.ox -= @target_enemy_window.width
    @status_window.visible = false
  end
  #--------------------------------------------------------------------------
  # * End Target Enemy Selection
  #--------------------------------------------------------------------------
  def end_target_enemy_selection
    # Start of edit
    @info_viewport.rect.x += @target_enemy_window.width
    @info_viewport.ox += @target_enemy_window.width
    @status_window.visible = true
    jens009_end_target_cross_command #Call default methods
end
  
  
end # END LEFTJUSTIFY CHECK

  
    def update_actor_command_selection
    if Input.trigger?(Input::C)
      case @actor_command_window.index
        when 4
          if $game_troop.can_escape == false
            Sound.play_buzzer
            return
          end # End Can Escape
          Sound.play_decision
          process_escape
        end # End Case
      end # End If Statement
    jens009_acommand_cross_command #Call other commands
  end #End method
  
#====================================#
# END OF CLASS MODIFICATION          #
#====================================#
end


[Show/Hide] Version 1.0

CODE
#===================================================================#
# Breath of Fire Cross Command Window     VX version                #
#   Script: Exclusive to rpgrevolution.com/forums                   #
# By: Jens009 (Translation and Modification)                        #
# Originally by Blazingamer                                         #
#   Contact me at Rpgrevolution.com/Forums                          #
#   Rant: The Black Knights will liberate Japan                     #
#                                                                   #
# Change Log:                                                       #
#    - Version 1.0 : Default code                                   #
# Description:                                                      #
#   Changes the default actor commands with a "cross-command" using #
#   32x32 pictures.                                                 #
# Notes: 2 methods were aliased from Scene_Battle.                  #
#        1 method was directly edited from Scene_Battle             #
#                                                                   #
# Compatibility:                                                    #
#   Should be compatible with most systems or add ons               #
#   Uncompatible with battle systems that have weird methods.       #
#   May cause errors that modifies start_actor_command_selection    #
#                                                                   #
# Changing the pictures:                                            #
#    Go to folder Graphics/Pictures                                 #
#    Import your desired 32x32 pictures                             #
#    Make sure you named them as follows:                           #
#      Attack.png                                                   #
#      Magic.png                                                    #
#      Items.png                                                    #
#      Run.png                                                      #
#    They should be self explanatory.                               #  
#===================================================================#


#===================================================================#
# CrossCommand Window class                                         #
#   class handles the cross command window                          #
#===================================================================#
class CrossCommand < Window_Selectable
  #================================================================
  # Initialize: Windows, Command list, Item size, and draw methods
  #=================================================================
  def initialize
    super (0, 0, 125, 125)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 255
    @commands = ["attack", "magic","defend","items","run away"]
      @item_max = 5
    draw_item(0, 32,32,"Attack")
    draw_item(1, 32,0, "Magic")
    draw_item(2, 64,32,"Defend")
    draw_item(3, 0,32, "Items")
    draw_item(4, 32,64, "Run")
    self.active = false
    self.visible = true
    self.index = 0
  end
  #============================================
  # Define Method draw_item.
  #============================================
  # index: Command index
  # x: Coordinate of bitmap
  # y: Coordinate of bitmap
  # picture: Picture name from index
  #============================================
  
  def draw_item(index, x, y, picture)  
    bitmap = Cache.picture(picture)
    self.contents.blt(x, y, bitmap, Rect.new(0, 0, 32, 32))
  end
  
  #============================================
  # Update Cursor Information
  #============================================
  # index 0 Attack
  #       1 Skill
  #       2 Defend
  #       3 Item
  #       4 Run
  #============================================
  
  def update
    update_cursor
  end
  
  def update_cursor
    if index == 3
      self.cursor_rect.set(0, 32, 32, 32)
    elsif index == 2
      self.cursor_rect.set(64, 32, 32, 32)
    elsif index == 1
       self.cursor_rect.set(32,0,32,32)
    elsif index == 4
       self.cursor_rect.set(32,64,32,32)
    else
       self.cursor_rect.set(32,32,32,32)
   end
  
    if Input.press?(Input::LEFT)
      @index = 3
    elsif Input.press?(Input::RIGHT)
      @index = 2
    elsif Input.press?(Input::UP)
      @index = 1
    elsif Input.press?(Input::DOWN)
      @index = 4
    else
      @index = 0
    end
end
end

#===============================================================================
#
# Scene_Battle                          
# Note: Methods were modified both by
# aliases and direct edits.
# Aliases used:
#  alias jens009_create_info_viewport_cross_command create_info_viewport
#  alias jens009_acommand_cross_command update_actor_command_selection
# Method directly modified:
#   start_actor_command_selection
#===============================================================================
#
class Scene_Battle
  
  alias jens009_create_info_viewport_cross_command create_info_viewport
  alias jens009_acommand_cross_command update_actor_command_selection
  
  def start_actor_command_selection
    @party_command_window.active = false
   # The next line is specifcally for class Window_ActorCommand
   # Do not, uncomment the line. The line was commented to show that this
   # line of code is not needed. Also to show that the method
   # start_actor_command_selection was directly edited from Scene_Battle
   #@actor_command_window.setup(@active_battler)
    @actor_command_window.active = true
    @actor_command_window.index = 0
  end
  
  def create_info_viewport
    jens009_create_info_viewport_cross_command
    #Create Cross Command
    @actor_command_window = CrossCommand.new
    #Make Cross Comand window part of viewport
    @actor_command_window.viewport =@info_viewport
    #Change coordinates of Cross Command window
    @actor_command_window.x = 544
  end
  
    def update_actor_command_selection
    if Input.trigger?(Input::C)
      case @actor_command_window.index
        when 4
          if $game_troop.can_escape == false
            Sound.play_buzzer
            return
          end # End Can Escape
          Sound.play_decision
          process_escape
        end # End Case
      end # End If Statement
    jens009_acommand_cross_command #Call other commands
  end #End method
  
#====================================#
# END OF CLASS MODIFICATION          #
#=================================#
end



[Show/Hide] Battle Command Deactivation Patch Version 1.1

Description: This blurs the commands when they are deactivated. Only use this when you are using my other script,
Deactivate Battle Commands
Replace your current BOF Cross Command Script with this one:

CODE
#===============================================================================
#  WARNING: THIS IS THE PATCH VERSION
#           Coded for Jens009's Battle Command Deactivation
#   This patch features: Commands become blur when they are deactivated.
#===============================================================================
# Breath of Fire Cross Command Window     VX version                
#   Script: Exclusive to rpgrevolution.com/forums                  
# By: Jens009 (Translation and Modification)                        
#   Version 1.0 July 29, 2008
#   Version 1.1 July 31, 2008
#  
#  
# Originally by Blazingamer                                        
#   Contact me at Rpgrevolution.com/Forums
#
#   Rant: The Black Knights will liberate Japan                    
#         Left Justify was irritating yet fun! =D
#         HAPPY B-DAY to my certain friend =D
#        
#                                                                  
# Change Log:                                                      
#    - Version 1.0 : Default code                                  
#    - Version 1.1:
#         Change Window size to 128x128
#         Added LEFTJUSTIFY option
#         aliased two more methods
# Description:                                                      
#   Changes the default actor commands with a "cross-command" using
#   32x32 pictures.                                                
# Instructions:
#   Since version 1.1,
#   1) Place below materials but above everything that modifies Scene_Battle in
#      anyway to increase compatibility
#   2) Import the proper pictures to Graphics/Pictures
#
# Notes:
#   Version 1.0
#        2 methods were aliased from Scene_Battle.                  
#        1 method was directly edited from Scene_Battle            
#   Version 1.1
#        2 more methods were aliased from Scene_Battle
#
#                                                                  
#  
# Compatibility:                                                    
#   Should be compatible with most systems or add ons              
#   May cause errors with method
#      start_actor_command_selections
#   Using Left Justified decreases compatibility.
#                                                                  
# Modifications:
# I. Changing the pictures:                                            
#     Go to folder Graphics/Pictures                                
#     Import your desired 32x32 pictures                            
#     Make sure you named them as follows:                          
#      Attack.png                                                  
#      Magic.png                                                    
#      Items.png                                                    
#      Run.png                                                      
#     They should be self explanatory.
# II. Check the config section to further modify the cross window
#===============================================================================
#===============================================================================
# Config
#===============================================================================
LEFTJUSTIFY = true # set to true if cross command is left justified
CC_WINDOW_OPACITY = 255 # 0- Transparent, 155- Semi-Transparent, 255-Full

#===============================================================================
# CrossCommand Window class                                        
#   class handles the cross command window                          
#===============================================================================

class CrossCommand < Window_Selectable

  def initialize
    super (0, 0, 128, 128)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = CC_WINDOW_OPACITY
    @commands = ["attack", "magic","defend","items","run away"]
    @item_max = 5
    
    if $game_troop.no_attack
       draw_disabled_item(0, 32,32,"Attack")
    else
       draw_item(0, 32,32,"Attack")
     end
    
    if $game_troop.no_skill  # Deactive skill
      draw_disabled_item(1, 32,0, "Magic")
    else
      draw_item(1, 32,0, "Magic")
    end
    
    if $game_troop.no_guard  # Deactive guard
      draw_disabled_item(2, 64,32,"Defend")  
    else
      draw_item(2, 64,32,"Defend")
    end
    
    if $game_troop.no_item   # Deactive item
      draw_disabled_item(3, 0,32, "Items")  
    else
      draw_item(3, 0,32, "Items")
    end
  
    if $game_troop.can_escape == false
      draw_disabled_item(4, 32,64, "Run")
    else
       draw_item(4, 32,64, "Run")
      
    end
  end
#=========================================
# Define draw_disabled_item
# Description: Blurs Command When deactivated
#============================================
  def draw_disabled_item(index, x, y, picture)  
    bitmap = Cache.picture(picture)
    bitmap.radial_blur(50, 12)
    self.contents.blt(x, y, bitmap, Rect.new(0, 0, 32, 32))
  end
  #============================================
  # Define Method draw_item.
  #============================================
  # index: Command index
  # x: Coordinate of bitmap
  # y: Coordinate of bitmap
  # picture: Picture name from index
  #============================================
  
  def draw_item(index, x, y, picture)  
    bitmap = Cache.picture(picture)
    self.contents.blt(x, y, bitmap, Rect.new(0, 0, 32, 32))
  end


  
  #============================================
  # Update Cursor Information
  #============================================
  # index 0 Attack
  #       1 Skill
  #       2 Defend
  #       3 Item
  #       4 Run
  #============================================
  
  def update
    update_cursor
  end
  
  def update_cursor
    if index == 3
      self.cursor_rect.set(0, 32, 32, 32)
    elsif index == 2
      self.cursor_rect.set(64, 32, 32, 32)
    elsif index == 1
       self.cursor_rect.set(32,0,32,32)
    elsif index == 4
       self.cursor_rect.set(32,64,32,32)
    else
       self.cursor_rect.set(32,32,32,32)
   end
  
    if Input.press?(Input::LEFT)
      @index = 3
    elsif Input.press?(Input::RIGHT)
      @index = 2
    elsif Input.press?(Input::UP)
      @index = 1
    elsif Input.press?(Input::DOWN)
      @index = 4
    else
      @index = 0
    end
end
end

#==============================================
#
# Scene_Battle                          
# Note: Methods were modified both by
# aliases and direct edits.
# Aliases used:
#  alias jens009_create_info_viewport_cross_command create_info_viewport
#  alias jens009_acommand_cross_command update_actor_command_selection
#  alias jens009_start_target_cross_command start_target_enemy_selection
#  alias jens009_end_target_cross_command end_target_enemy_selection
# Method directly modified:
#   start_actor_command_selection
#======================================
#
class Scene_Battle
  
  alias jens009_create_info_viewport_cross_command create_info_viewport
  alias jens009_acommand_cross_command update_actor_command_selection
  
  alias jens009_start_target_cross_command start_target_enemy_selection
  alias jens009_end_target_cross_command end_target_enemy_selection
  
  def start_actor_command_selection
    @party_command_window.active = false
   # The next line is specifcally for class Window_ActorCommand
   # Do not, uncomment the line. The line was commented to show that this
   # line of code is not needed. Also to show that the method
   # start_actor_command_selection was directly edited from Scene_Battle
   #@actor_command_window.setup(@active_battler)
    @actor_command_window.active = true
    @actor_command_window.index = 0
  end
  
  def create_info_viewport
    jens009_create_info_viewport_cross_command
    #Create Cross Command
    @actor_command_window = CrossCommand.new
    #Make Cross Comand window part of viewport
    @actor_command_window.viewport =@info_viewport
    #Change coordinates of Cross Command window
    # Start check of justification
    if LEFTJUSTIFY == true
      @actor_command_window.x = 0
      @party_command_window.x = 544
      @status_window.x = 128
      else
      @actor_command_window.x = 544
    end #END JUSTIFICATION CHECK
  end
  
if LEFTJUSTIFY == true
  
  def update_info_viewport
    @party_command_window.update
    @actor_command_window.update
    @status_window.update
    if @actor_command_window.active and @info_viewport.ox > 0
      @info_viewport.ox -= 16
    elsif @party_command_window.active and @info_viewport.ox < 128
      @info_viewport.ox += 16
    end
  end

  #--------------------------------------------------------------------------
  # * Start Target Enemy Selection
  #--------------------------------------------------------------------------
  def start_target_enemy_selection
    jens009_start_target_cross_command # Call default methods
    #Start of Edit
    @target_enemy_window.x = 128
    @info_viewport.rect.x -= @target_enemy_window.width
    @info_viewport.ox -= @target_enemy_window.width
    @status_window.visible = false
  end
  #--------------------------------------------------------------------------
  # * End Target Enemy Selection
  #--------------------------------------------------------------------------
  def end_target_enemy_selection
    # Start of edit
    @info_viewport.rect.x += @target_enemy_window.width
    @info_viewport.ox += @target_enemy_window.width
    @status_window.visible = true
    jens009_end_target_cross_command #Call default methods
end
  
  
end # END LEFTJUSTIFY CHECK

  
    def update_actor_command_selection
    if Input.trigger?(Input::C)
      case @actor_command_window.index
        when 4
          if $game_troop.can_escape == false
            Sound.play_buzzer
            return
          end # End Can Escape
          Sound.play_decision
          process_escape
        end # End Case
      end # End If Statement
    jens009_acommand_cross_command #Call other commands
  end #End method
  
#====================================#
# END OF CLASS MODIFICATION          #
#====================================#
end



[Show/Hide] Left Justify Patch for RPG Tanketai SBS

CODE
#================
# Jens009's Cross Command Left Justified Patch
# for RPG Tanketai Battle System
# Description: Bug fix for window placement
# Instructions: Simply place below RPG Tanketai SBS
#=================
class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # MOVE VIEWPORT
  #--------------------------------------------------------------------------
  def move1_info_viewport
    if LEFTJUSTIFY == true
    @info_viewport.ox = 0
    loop do
      update_basic
      @info_viewport.ox += 8
      @party_command_window.x += 8
      @actor_command_window.x -= 8
      break if @info_viewport.ox == 64
    end  # END LOOP

    else
    @info_viewport.ox = 128
    loop do
      update_basic
      @info_viewport.ox -= 8
      @party_command_window.x -= 8
      @actor_command_window.x += 8
      break if @info_viewport.ox == 64
    end  # END LOOP
    end # END CHECK
  end # END METHOD EDIT
  #--------------------------------------------------------------------------
  # ● MOVE VIEWPORT
  #--------------------------------------------------------------------------
  def move2_info_viewport
    if LEFTJUSTIFY == true
      
    @info_viewport.ox = 64
    loop do
      update_basic
      @info_viewport.ox += 8
      @party_command_window.x -= 8
      @actor_command_window.x += 8
      break if @info_viewport.ox == 128
    end  
    
  else
    
    @info_viewport.ox = 64
    loop do
      update_basic
      @info_viewport.ox -= 8
      @party_command_window.x += 8
      @actor_command_window.x -= 8
      break if @info_viewport.ox == 0
    end # END LOOP  
    end # END CHECK
  
  end #END METHOD EDIT
  
end # END CLASS



Customization

You can change the graphics of the icon by replacing the current ones from your
Graphics/Pictures folder.
Simply change the icons with a 32x32 picture that has the same corresponding name
The icons name's are as follows:
Attack.png
Magic.png
Defend.png
Items.png
Run.png
When changing the names, remember, ruby is case sensitive so make sure you input the correct cases.

Compatibility
Two methods that are rarely used were aliased to increase compatibility.
Only one method was directly changed (to be specific, I had to delete a line). This method isn't use that much anyway. Refer to the script
for more information.

Screenshot
Well what do you know? It's compatible with my Enemy HP windows. XD


LEFTJUSTIFY = True


DEMO
None Needed.
Installation
Copy the script and paste it above main and below any Battle modifications
Save and paste these to your Graphics/Pictures folder.
The images should have the respective names of:
Attack.png


Magic.png


Defend.png


Items.png


Run.png


FAQ
I have a 1337 suggestion.!!1
-Post it up and tell me about it. =]
There'zz a cockroach in urr systemzz
-Post it up and tell me in detail:
How it happened
What did you do before it happened
What scripts do you have
What scripts do you think is conflicting with it.
Anything that you think might helpful.

Terms and Conditions
This script is for non-commercial use only.Contact me for commercial uses (No. I don't want your money)
Give credit to where it is due or I'll use Geass on you.
The script is exclusive to RRR.
The script is free to be modified by if you are to repost the script with said modifications, contact me.

Unless those terms are followed. You are not allowed to use this script.


Credits
Jens009: Translation, Modification, Iplmentation
Blazingamer: Script Basis.
GunZz
Nice,nice realy good.But can i make it go on the left side of the screen?
Thank you i will use it biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif .
jens009
Yes. Certainly possible. Do you want it so that the commands are on the left side and the actor status is on the right side?
GunZz
Yes pls tell me yes.gif yes.gif yes.gif
comeonman1111
Jens009, THANK YOU SO MUCH FOR THIS SCRIPT!!! IT'S EXACTLY WHAT I WANTED!
jens009
QUOTE (GunZz @ Jul 29 2008, 08:09 PM) *
Yes pls tell me yes.gif yes.gif yes.gif

QUOTE (comeonman1111 @ Jul 29 2008, 08:38 PM) *
Jens009, THANK YOU SO MUCH FOR THIS SCRIPT!!! IT'S EXACTLY WHAT I WANTED!


You're welcome. =]

@Gunzz: Tomorrow I shall make version 1.1 Where you can select either left justify mode or right justify mode.
GunZz
Okay.
(I can"t wait to tomorrow to do it yes.gif yes.gif yes.gif )
GunZz
And I just wont to say that i just test the script and it works perfect.
Its from my fav. scripts-SMALL and EASY.
Thank You
kreytor
I do like this one. Is it possible to add more commands? My project has a Party and Auto commands. Instead of a cross it could look like a square.

XXX
X X
XXX

Would allow for a total of 8 commands instead of the base 5 you are using now. Not sure what my 8th one would be but, I am sure I can come up with something biggrin.gif

Let me know if its possible.
Warder
A very nice script, and for me it's something that will be very useful as well. I'm working on a project that is somewhat of a Breath of Fire fangame (albeit in a very loose sense), and this is great for it. I'm glad that you're making a left aligned version too, as that's where I'd prefer to have it. Thanks. smile.gif
Loki333
Definately using this, and its compatible with RPG Tankentai Battle System 2.6 Trans+Addons by Kylock, too good to be true. I am looking forward to you making the window right justified though smile.gif

EDIT:
Errr Left Justified @_@
jens009
Well first off, thanks for your replies. I'm glad the cross command works with the battle systems you guys are using. I must say that you guys should also thanks

puppeto4 or Yanxie

This high compatibility rate wouldn't have been possible without her alias tutorial. Thanks puppeto!

Now time to answer questions:

QUOTE (kreytor @ Jul 30 2008, 07:09 PM) *
I do like this one. Is it possible to add more commands? My project has a Party and Auto commands. Instead of a cross it could look like a square.

XXX
X X
XXX

Would allow for a total of 8 commands instead of the base 5 you are using now. Not sure what my 8th one would be but, I am sure I can come up with something biggrin.gif

Let me know if its possible.

Yes this is certainly possible. But it wouldn't be called "breath of fire cross command" now would it?
I guess I'll take on this request in the future and adapt this feature as an extension so that more commands are possible within the menu. I'll probably get it done sooner or later, but I have to set my priorities first. =]

QUOTE (Fade @ Jul 30 2008, 08:47 PM) *
A very nice script, and for me it's something that will be very useful as well. I'm working on a project that is somewhat of a Breath of Fire fangame (albeit in a very loose sense), and this is great for it. I'm glad that you're making a left aligned version too, as that's where I'd prefer to have it. Thanks. smile.gif

oh? A breath of fire fan-game? That sounds great. Well, thanks for choosing this script as your command menu. =D

QUOTE (Loki333 @ Jul 30 2008, 08:55 PM) *
Definately using this, and its compatible with RPG Tankentai Battle System 2.6 Trans+Addons by Kylock, too good to be true. I am looking forward to you making the window right justified though smile.gif

EDIT:
Errr Left Justified @_@

Yes! I'm glad it works with your battle system. Aliasing really helps.

Ok. Here's the thing about the left justified. When I make the command left justified, I would have to be messing more around with Scene_Battle. The more I mess around with the default script, the lesser the compatibility it would be for your gaming systems. I'm not saying it's not possible but I'm just saying that it possibly COULD not be compatible with your gaming system. Now I haven't started coding yet, but making it left justified is just changing the coordinates of the system. Sounds easy right? Yes but do remember that I'm messing with the coordinates of not only the cross command window but also the coordinates of the original windows that makes up the battle system.

Boy that may have sound confusing from a non-scripter's point of view. But to sum up:
1) Possible to make it Left Justified
2) Compatibility decreases
3) Alias methods will increase to increase compatibility
4) If you have a modified window status, it will not look right. When this happens, contact me and I'll personally fix your problem.

Yup. So that's all I have to say about making it left justified. I'm still doing going to make it though so no worries. I just wanted to give you the heads up and possible "what ifs." But I'm fairly sure that if I aliased enough, then nothing should go wrong. =]



Loki333
I have a basic knowledge of RGSS and i don't believe RGSS2 is too much different but I do see your point about it being left justified possibly causing problems in battle systems, especially the already picky battle system I am using. If you do take it on that'd be great and I for one wouldn't hold it against you if the new version turned out incompatible. To tell the truth I can just deal with it being right justified, as it stands that is where the commands were to begin with. smile.gif Thanks again for the wonderful script btw!
GunZz
Thank you for doing it for the left side smile.gifsmile.gifsmile.gifsmile.gif
jens009
UPDATE: JULY 31, 2008

Left Justify feature and opacity change feature has been added.

Oh and another note:
I'm proud to say that the compatibility for both justifications are the same. Simply because the modifications for left justy were aliased. =]

Check the first post for more info!

Screenie:
Loki333
I get an error when hitting escape to return to the Attack or Escape page. I didn't notice this error on version 1.0 but it might be there as well, but for sure this error is on v1.1.



EDIT: This was only with left justify turned on when running right justification it worked fine.
jens009
QUOTE (Loki333 @ Aug 5 2008, 03:41 AM) *
I get an error when hitting escape to return to the Attack or Escape page. I didn't notice this error on version 1.0 but it might be there as well, but for sure this error is on v1.1.



EDIT: This was only with left justify turned on when running right justification it worked fine.

Ahh this is what I meant when making it left justified.

Be right back. I'll fix it right now.

EDIT: Loki. I don't seem to be able to recreate the error. Can you try recopying the script again?
Loki333
recopied the script and it doesn't seem to be doing it now, musta missed something in the copy the first time
jens009
@Loki:
Great, Looks like the script doesn't seem to have any errors so far. =D

Update:
If you're using my Battle Command Deactivation Script,
I've added a new feature for the cross command.

This new feature blurs commands that are deactivated.

Simply delete your old BOF command scritp, and paste the patch version.

Sample SCreenie: This is when Guard and Item are deactivated


Enjoy.
Loki333
Err sorry to be a pain, the addon for the script is working fine and the left justify works now. But I have another problem. This was in the previous edition as well. See the screenshot.

The windows don't align right again after selecting my command...and the crosscommand window is on top. Definately an eyesore although it doesn't actually give me any error messages.
jens009
Well first off, I'm glad there are no errors. =p

Ok, I can't recreate your problem and that's because your windows are aligned differently than the default one.
Here's my offer to you, you can look at this part of the code:
CODE
    if LEFTJUSTIFY == true
      @actor_command_window.x = 0          # THIS
      @party_command_window.x = 544       # THIS
      @status_window.x = 128                       # THIS
      else
      @actor_command_window.x = 544
    end #END JUSTIFICATION CHECK
  end
  
if LEFTJUSTIFY == true
  
  def update_info_viewport
    @party_command_window.update
    @actor_command_window.update
    @status_window.update
    if @actor_command_window.active and @info_viewport.ox > 0 # THIS
      @info_viewport.ox -= 16 #THIS
    elsif @party_command_window.active and @info_viewport.ox < 128 #THIS
      @info_viewport.ox += 16 #THIS
    end
  end


and mess around with it. I'm guessing that the update_info_viewport doesn't get updated when you paste the script. Have you tried pasting the script below any other scripts?

Oh and might I ask, what are the scripts you are using right now? It could be one of them changes the viewport and the coordinates as well.
banditjackpotty
QUOTE (Loki333 @ Aug 6 2008, 02:14 AM) *
Err sorry to be a pain, the addon for the script is working fine and the left justify works now. But I have another problem. This was in the previous edition as well. See the screenshot.

The windows don't align right again after selecting my command...and the crosscommand window is on top. Definately an eyesore although it doesn't actually give me any error messages.

holy crap those are beautiful icons you used. And how'd you get your battle background to be part of a tile set?

back on subject though: which version of the script are you using? becuz i dont think 1.0 has that problem.
Loki333
Offtopic:
That particular Iconset has been destroyed but I have a thread for Icons that I make. >>HERE<< For the battle background, use any battlebackground script. Make yourself some 17X13 maps and take a screenshot and import it into the background folder. It's really as simple as that.

Back On:
I'm using the newest version that is patched for the crosscommand script. It doesn't have that bug when right justified, just when left justified. Its a problem with the way that battle system re-writes the battle windows. Grrr. Well in either case that compatibility issue exists. I don't personally need it fixed I'll keep with the standard right justified window biggrin.gif


QUOTE
Well first off, I'm glad there are no errors. =p

Ok, I can't recreate your problem and that's because your windows are aligned differently than the default one.
Here's my offer to you, you can look at this part of the code:


CODE
    if LEFTJUSTIFY == true
      @actor_command_window.x = 0          # THIS
      @party_command_window.x = 544       # THIS
      @status_window.x = 128                       # THIS
      else
      @actor_command_window.x = 544
    end #END JUSTIFICATION CHECK
  end
  
if LEFTJUSTIFY == true
  
  def update_info_viewport
    @party_command_window.update
    @actor_command_window.update
    @status_window.update
    if @actor_command_window.active and @info_viewport.ox > 0 # THIS
      @info_viewport.ox -= 16 #THIS
    elsif @party_command_window.active and @info_viewport.ox < 128 #THIS
      @info_viewport.ox += 16 #THIS
    end
  end



and mess around with it. I'm guessing that the update_info_viewport doesn't get updated when you paste the script. Have you tried pasting the script below any other scripts?

Oh and might I ask, what are the scripts you are using right now? It could be one of them changes the viewport and the coordinates as well.


Alright so I know its RPG Tankentai Sideview Battle System Version 2.7 that is conflicting with it, because on the sideview 2 portion of the script it re-writes how the battle windows are animated. Thanks for the assistance but I'm pretty content just running right justified as this works completely fine.
Vanisher
Um, Jens009. Is it possible that I can add some additional commands like Party in the Cross Command Script?
jens009
QUOTE (banditjackpotty @ Aug 9 2008, 01:54 AM) *
holy crap those are beautiful icons you used. And how'd you get your battle background to be part of a tile set?
back on subject though: which version of the script are you using? becuz i dont think 1.0 has that problem.

Yes. Loki's Icons look wonderful. XD.

He was using version 1.1 where the left justified feature has been added.

QUOTE (Loki333 @ Aug 9 2008, 03:13 AM) *
Alright so I know its RPG Tankentai Sideview Battle System Version 2.7 that is conflicting with it, because on the sideview 2 portion of the script it re-writes how the battle windows are animated. Thanks for the assistance but I'm pretty content just running right justified as this works completely fine.

Ah. Alrighty. I'll take a good look into the RPG Tanketai once again and see what I can do about it. I'll still try to fix the left justified issue though. I'm sure it's nothing complicated. I'll post the new version up with the bug fix hopefully and the new iconsets you made. XD

QUOTE (Vanisher @ Aug 9 2008, 10:10 AM) *
Um, Jens009. Is it possible that I can add some additional commands like Party in the Cross Command Script?

In the next version, I'm going to be adapting one of the suggestions of kreytor to add more commands, 9 maximum to be exact.
However, I'm not making a new system for the new commands. I'm just giving the possibility of having more than the default 5 commands.
Vanisher
I see, Jens009.

BTW, I have an error that conflicts with the KGC Scripts, particularly in the Item and Skill Script, when using the Cross Command Script.
jens009
QUOTE (Vanisher @ Aug 9 2008, 11:19 AM) *
I see, Jens009.

BTW, I have an error that conflicts with the KGC Scripts, particularly in the Item and Skill Script, when using the Cross Command Script.

Really?
A few questions.
What version are you using?
When does the error occur?

Can you post up the error, with a screenshot. I want to see what KGC modifies with the cross command script.
if possible, link me to the site where you got the script too.
jens009
QUOTE (Loki333 @ Aug 6 2008, 02:14 AM) *
Err sorry to be a pain, the addon for the script is working fine and the left justify works now. But I have another problem. This was in the previous edition as well. See the screenshot.

The windows don't align right again after selecting my command...and the crosscommand window is on top. Definately an eyesore although it doesn't actually give me any error messages.


I know this is a double post but it is important.
I've made a Left Justify patch for the RPG Tanketai SBS. Check the first post Loki. I think you'd like it.
Loki333
OMG!! You are the $%&#ing MAN!! Thanks for this patch, I "WAS" just going to deal with right justification but you've definately made me very happy! Thanks more than you know XD No errors and looks clean btw XD
Vanisher
QUOTE (jens009 @ Aug 10 2008, 03:30 AM) *
QUOTE (Vanisher @ Aug 9 2008, 11:19 AM) *
I see, Jens009.

BTW, I have an error that conflicts with the KGC Scripts, particularly in the Item and Skill Script, when using the Cross Command Script.

Really?
A few questions.
What version are you using?
When does the error occur?

Can you post up the error, with a screenshot. I want to see what KGC modifies with the cross command script.
if possible, link me to the site where you got the script too.

Here's the link for the KGC Script
Link
fredjapa
Hi Jens..

First.. Congratulations for this great script, added with some cool icons will make an incredible look in any game =D


But I have an issue =S

The crosscommand DON'T APPEAR lol =(((((((((((((((((((((((((((((((


I'm using a couple of scripts, but the one that i 'think' that is causing trouble to work togheter with your is one special that have ' start_actor_command_selections ' ... All the others dont have anything like ' start_actor_command_selections ' ..


I can use the commands... like 'press and select magic' ( in screnshot) but the icons dont appear... they are in Graphics/Pictures with right names... I tested only on sbs 2.7 and worked perfectly , but on my project, with the scripts ( from http://strrgssvx.blog.shinobi.jp/ ) , the crosscommand isn't showed...


With the scripts and without your crosscommand , i noticed that the command bar, isn't showed all the time... The command bar 'pop up' when the ATB Gauge got full... So I think that the problem is in the 'pop up', like making the crosscomand a pop up window... If you think that will need all scripts... ask me...

Please.. try to fix for me if it's possible.



Sorry for bad english =p


heres a video of the scripts working togheter without the crosscommand
http://br.youtube.com/watch?v=R8eigqyAnTs

some screnshots with your crosscommand... " invisible = ( "

Click to view attachmentClick to view attachment




and the script that i think its incompatible

CODE
#======================================================================
========
# ★RGSS2
# STR33a_アクティブタイムバトル v0.8 08/04/16
# サポート:http://strcatyou.u-abel.net/
#
# ・戦闘に時間の概念を加え、FFのATBのような戦闘形式にします。
# ・詳しい使用方法はSTR33bを参照してください。
#
#------------------------------------------------------------------------------
#
# 更新履歴
# ◇0.8
# 正式バージョン
# バグ修正・カウントダメージ機能追加
# ◇0.3β
# デバッグver3
#
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :ctb_actionstart
attr_accessor :aw_ctb_actionstart
attr_accessor :action_waiting
attr_accessor :action_waitspeed
#--------------------------------------------------------------------------
# ● 詠唱カウント初期化
#--------------------------------------------------------------------------
def aw_gauge_clear
@aw_gauge = 0
@aw_ctb_actionstart = false
@action_waiting = false
@action_waitspeed = 0
end
#--------------------------------------------------------------------------
# ● 詠唱カウント取得
#--------------------------------------------------------------------------
def aw_gauge
@aw_gauge = 0 if @aw == nil
@aw_gauge
end
#--------------------------------------------------------------------------
# ● 詠唱カウント変更
#--------------------------------------------------------------------------
def aw_gauge=(n)
@aw_gauge = 0 if @aw_gauge == nil
if @action_waiting
@aw_gauge = [[max_ctb_gauge, @aw = n].min, 1].max
else
@aw_gauge = [[max_ctb_gauge, @aw = n].min, 0].max
end
@aw_ctb_actionstart = true if aw_gauge >= max_ctb_gauge
end
#--------------------------------------------------------------------------
# ● 詠唱カウント加算
#--------------------------------------------------------------------------
def aw_gauge_gain
return unless movable?
@aw_gauge = 0 if aw_gauge == nil
return if aw_gauge >= max_ctb_gauge
ctspeed = STRRGSS2::CTB.ctspeed
sp = self.agi * 1.0 / $game_troop.ctb_speed * ctspeed
sp *= @action_waitspeed
self.aw_gauge += sp
end
#--------------------------------------------------------------------------
# ● カウント取得
#--------------------------------------------------------------------------
def ctb_gauge
@ctb_gauge = 0 if @ctb_gauge == nil
@ctb_gauge
end
#--------------------------------------------------------------------------
# ● カウント変更
#--------------------------------------------------------------------------
def ctb_gauge=(n)
@ctb_gauge = 0 if @ctb_gauge == nil
@ctb_gauge = [[max_ctb_gauge, @ctb_gauge = n].min, 0].max
@ctb_actionstart = true if ctb_gauge >= max_ctb_gauge
end
#--------------------------------------------------------------------------
# ● カウント最大値取得
#--------------------------------------------------------------------------
def max_ctb_gauge
STRRGSS2::CTB::CT_MAX
end
#--------------------------------------------------------------------------
# ● カウント加算
#--------------------------------------------------------------------------
def ctb_gauge_gain
return unless movable?
return if self.ctb_gauge >= max_ctb_gauge
@ctb_gauge = 0 if @ctb_gauge == nil
ctspeed = STRRGSS2::CTB.ctspeed
self.ctb_gauge += self.agi * 1.0 / $game_troop.ctb_speed * ctspeed
end
#--------------------------------------------------------------------------
# ● ステートの付加
#--------------------------------------------------------------------------
alias add_state_str33x add_state
def add_state(state_id)
add_state_str33x(state_id)
unless movable?
@ctb_gauge = 0
aw_gauge_clear
end
end
#--------------------------------------------------------------------------
# ● 戦闘行動可能判定?(行動作成するか)
#--------------------------------------------------------------------------
def make_action
@ctb_actionstart
end
#--------------------------------------------------------------------------
# ● カウントダメージ
#--------------------------------------------------------------------------
def count_damage(action = 0)
if not action.is_a?(Numeric)
# メモ欄から設定取得
word = STRRGSS2::CTB::CT_DM_WORD
if action.note[/#{word}\[(\d+)\]/] != nil
ct_damage = $1.to_f
elsif action.note[/#{word}\[\-(\d+)\]/] != nil
ct_damage = -($1.to_f)
else
ct_damage = 0
end
else
ct_damage = action
end
# ダメージ
if @action_waiting
if self.aw_gauge < max_ctb_gauge
self.aw_gauge -= (max_ctb_gauge / 100.0) * ct_damage
end
else
if self.ctb_gauge < max_ctb_gauge
self.ctb_gauge -= (max_ctb_gauge / 100.0) * ct_damage
end
end
end
#--------------------------------------------------------------------------
# ● 通常攻撃の効果適用
#--------------------------------------------------------------------------
alias attack_effect_str33x attack_effect
def attack_effect(attacker)
attack_effect_str33x(attacker)
return if @skipped or @missed or @evaded or @hp_damage == 0
count_damage(STRRGSS2::CTB::CT_DM_ATTACK)
end
#--------------------------------------------------------------------------
# ● スキルの効果適用
#--------------------------------------------------------------------------
alias skill_effect_str33x skill_effect
def skill_effect(user, skill)
skill_effect_str33x(user, skill)
return if @skipped or @missed or @evaded or (skill.physical_attack and @hp_damage == 0)
count_damage(skill)
end
#--------------------------------------------------------------------------
# ● アイテムの効果適用
#--------------------------------------------------------------------------
alias item_effect_str33x item_effect
def item_effect(user, item)
item_effect_str33x(user, item)
return if @skipped or @missed or @evaded or (item.physical_attack and @hp_damage == 0)
count_damage(item)
end
end
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● 戦闘行動の作成
#--------------------------------------------------------------------------
alias str33x_make_action make_action
def make_action
return unless super
str33x_make_action
end
end
#==============================================================================
# ■ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias initialize_str33x initialize
def initialize(index, enemy_id)
initialize_str33x(index, enemy_id)
@ctbselfturn = 0
end
#--------------------------------------------------------------------------
# ● 行動条件合致判定
#--------------------------------------------------------------------------
alias conditions_met_str33x? conditions_met?
def conditions_met?(action)
case action.condition_type
when 1 # ターン数
n = @ctbselfturn # 自分の行動回数に置き換える
a = action.condition_param1
b = action.condition_param2
return false if (b == 0 and n != a)
return false if (b > 0 and (n < 1 or n < a or n % b != a % cool.gif)
return true
else
return conditions_met_str33x?(action)
end
end
#--------------------------------------------------------------------------
# ● 戦闘行動の作成
#--------------------------------------------------------------------------
alias str33x_make_action make_action
def make_action
return unless super
str33x_make_action
@ctbselfturn += 1
end
end
#==============================================================================
# ■ Game_Troop
#==============================================================================
class Game_Troop < Game_Unit
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :ctb_speed
attr_accessor :escape_count
attr_accessor :max_escape_count
attr_accessor :esc_p_average
attr_accessor :esc_t_average
#--------------------------------------------------------------------------
# ● クリア
#--------------------------------------------------------------------------
alias clear_str33x clear
def clear
clear_str33x
@ctb_speed = 0
@escape_count = 0
@max_escape_count = 0
@esc_p_average = 0
@esc_t_average = 0
end
#--------------------------------------------------------------------------
# ● 平均速度設定
#--------------------------------------------------------------------------
def ctb_speed_set
return ($game_party.average_agi + $game_troop.average_agi) / 2
end
#--------------------------------------------------------------------------
# ● セットアップ
#--------------------------------------------------------------------------
alias setup_str33x setup
def setup(troop_id)
setup_str33x(troop_id)
@ctb_speed = ctb_speed_set
end
#--------------------------------------------------------------------------
# ● ターンの増加
#--------------------------------------------------------------------------
alias increase_turn_str33x increase_turn
def increase_turn
increase_turn_str33x
# 平均スピード設定
@ctb_speed = ctb_speed_set
end
end
#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● 文章表示中?(追加)
#--------------------------------------------------------------------------
def m_window_visible?
return ($game_message.visible or $game_message.texts.size > 0)
end
#--------------------------------------------------------------------------
# ● アクション実行するか?(追加)
#--------------------------------------------------------------------------
def start_action_atb?
return (@action_active_wait > 0 or @action_battlers.size == 0 or @atb_result)
end
#--------------------------------------------------------------------------
# ● カウントするか?(追加)
#--------------------------------------------------------------------------
def atb_count?
return true if (@process_p or $game_message.visible or @atb_result)
a_mode = STRRGSS2::CTB.wait_mode
return ((a_mode[0] == true and @acton_phase) or
(a_mode[1] == true and (@skill_window != nil or @item_window != nil)) or
(a_mode[2] == true and (@target_enemy_window != nil or @target_actor_window != nil)) or
(a_mode[3] == true and @actor_command_window.active))
end
#--------------------------------------------------------------------------
# ● カウントタイム(追加)
#--------------------------------------------------------------------------
def update_ctb
# ウェイト
@action_active_wait -= 1 if @action_active_wait > 0
escape_now = false
# カウント可否判定
return unless (Graphics.frame_count % STRRGSS2::CTB::EXTEND[:update]) == 0
return if atb_count?
# 全バトラーゲージ加算
if Input.press?(STRRGSS2::CTB::ESCAPE_KEY)
# 逃走カウント
escape_count_gain
escape_now = true
end
if STRRGSS2::CTB::ESCAPE_CSTOP == false or
(STRRGSS2::CTB::ESCAPE_CSTOP == true and escape_now == false)
escape_count_gain(:minus) if not escape_now and STRRGSS2::CTB::ESCAPE_LOSS
# 逃走していない時のみ加算
for i in $game_party.members
if i.action_waiting
i.aw_gauge_gain
else
i.ctb_gauge_gain
end
end
end
for i in $game_troop.members
if i.action_waiting
i.aw_gauge_gain
else
i.ctb_gauge_gain
end
end
# アクター行動開始判定
for i in $game_party.members
if i.ctb_actionstart
if i.auto_battle
i.make_action
i.ctb_actionstart = false
if aw_setup(i)
@acton_phase = true
@action_battlers.push(i)
break
end
else
i.ctb_actionstart = false
@waiting_battler.push(i)
break
end
elsif i.action_waiting and i.aw_ctb_actionstart
i.action_waiting = i.aw_ctb_actionstart = false
@acton_phase = true
@action_battlers.push(i)
break
end
end
# エネミー行動開始判定
return if @action_active_wait > 0
for i in $game_troop.members
if i.ctb_actionstart
i.make_action
i.ctb_actionstart = false
if aw_setup(i)
@acton_phase = true
@action_battlers.push(i)
break
end
elsif i.action_waiting and i.aw_ctb_actionstart
i.action_waiting = i.aw_ctb_actionstart = false
@acton_phase = true
@action_battlers.push(i)
break
end
end
end
#--------------------------------------------------------------------------
# ● 詠唱セットアップ(追加)
#--------------------------------------------------------------------------
def aw_setup(actor)
if actor.action.skill != nil and actor.action.skill.speed > 0
actor.aw_ctb_actionstart = false
actor.action_waiting = true
actor.action_waitspeed = actor.action.skill.speed / 100.0
return false
elsif actor.action.item != nil and actor.action.item.speed > 0
actor.aw_ctb_actionstart = false
actor.action_waiting = true
actor.action_waitspeed = actor.action.item.speed/100.0
return false
else
return true
end
end
#--------------------------------------------------------------------------
# ● アクターコマンド開始(追加)
#--------------------------------------------------------------------------
def start_atb_actor_command
a_mode = STRRGSS2::CTB.wait_mode
return if (a_mode[0] == true and @acton_phase) or $game_troop.interpreter.running?
return if @waiting_battler.size == 0 or @a_command_battler != nil or @atb_result
return if @actor_command_window.openness > 0
STRRGSS2::CTB::COMMANDSE.play
ctb_actor_command(@waiting_battler.shift.index)
end
#--------------------------------------------------------------------------
# ● アクターコマンド入力(追加)
#--------------------------------------------------------------------------
def ctb_actor_command(index)
@a_command_battler = $game_party.members[index]
@status_window.index = index
start_actor_command_selection
end
#--------------------------------------------------------------------------
# ● 情報を常に表示(追加)
#--------------------------------------------------------------------------
def info_visible_update
@info_viewport.visible = true
if @target_enemy_window != nil
info_rx = @party_command_window.width + @target_enemy_window.width
@info_viewport.rect.x = info_rx - @actor_command_window.width
@info_viewport.ox = info_rx
elsif @target_actor_window
info_rx = @party_command_window.width + @target_actor_window.width
@info_viewport.rect.x = info_rx - @actor_command_window.width
@info_viewport.ox = info_rx
else
@info_viewport.rect.x = 0
@info_viewport.ox = @party_command_window.width
end
end
#--------------------------------------------------------------------------
# ● バトラー情報すり替えA(追加)
#--------------------------------------------------------------------------
def c_battler_atb_a
@active_battler_clone = @active_battler if @active_battler != nil
@waiting_battler_clone = @active_battler = @a_command_battler if @a_command_battler != nil
end
#--------------------------------------------------------------------------
# ● バトラー情報すり替えB(追加)
#--------------------------------------------------------------------------
def c_battler_atb_b
@active_battler = @active_battler_clone if @active_battler_clone != nil
@a_command_battler = @waiting_battler_clone if @waiting_battler_clone != nil
@active_battler_clone = @waiting_battler_clone = nil
end
#--------------------------------------------------------------------------
# ● ウィンドウ開放(追加)
#--------------------------------------------------------------------------
def dispose_windows
end_skill_selection
end_item_selection
end_target_actor_selection if @target_actor_window != nil
end_target_enemy_selection if @target_enemy_window != nil
@actor_command_window.create_contents
@actor_command_window.index = @actor_index = -1
@actor_command_window.close
@actor_command_window.active = false
@a_command_battler = @waiting_battler_clone = nil
@status_window.index = -1
end
#--------------------------------------------------------------------------
# ● 全バトラー初期カウント設定(追加)
#--------------------------------------------------------------------------
def battler_ctset
for i in $game_party.members
i.aw_gauge_clear
if $game_troop.surprise
i.ctb_gauge = 0
elsif i.fast_attack
i.ctb_gauge = i.max_ctb_gauge - 1
elsif $game_troop.preemptive
i.ctb_gauge = i.max_ctb_gauge - rand(i.max_ctb_gauge / 10)
else
i.ctb_gauge = (i.max_ctb_gauge / 3) + rand(i.max_ctb_gauge / 10)
end
i.ctb_actionstart = false
end
for i in $game_troop.members
i.aw_gauge_clear
if $game_troop.preemptive
i.ctb_gauge = 0
elsif i.fast_attack
i.ctb_gauge = i.max_ctb_gauge - 1
elsif $game_troop.surprise
i.ctb_gauge = i.max_ctb_gauge - rand(i.max_ctb_gauge / 10)
else
i.ctb_gauge = (i.max_ctb_gauge / 3) + rand(i.max_ctb_gauge / 10)
end
i.ctb_actionstart = false
end
end
#--------------------------------------------------------------------------
# ● 逃走カウント(追加)
#--------------------------------------------------------------------------
def escape_count_gain(n = :plus)
if n == :minus
max = $game_troop.max_escape_count
g = max / STRRGSS2::CTB::ESCAPE_LOSSP
$game_troop.escape_count = [[max, $game_troop.escape_count -= g].min, 0].max
return
end
return unless $game_troop.can_escape
$game_troop.escape_count += $game_troop.esc_p_average
@escape_flag = true if $game_troop.escape_count >= $game_troop.max_escape_count
end
#--------------------------------------------------------------------------
# ● 逃走カウント設定(追加)
#--------------------------------------------------------------------------
def escape_count_set
@escape_flag = false
$game_troop.esc_p_average = $game_party.average_agi
$game_troop.esc_t_average = $game_troop.average_agi
ave = $game_troop.esc_t_average
sp = STRRGSS2::CTB::ESCAPE
$game_troop.max_escape_count = ave * $game_troop.members.size * sp
$game_troop.max_escape_count /= 2
$game_troop.max_escape_count += rand(ave * 2)
unless $game_troop.can_escape
$game_troop.escape_count = 0
return
end
if $game_troop.preemptive
$game_troop.escape_count = $game_troop.max_escape_count / 2
$game_troop.escape_count += rand($game_troop.max_escape_count / 2)
elsif $game_troop.surprise
$game_troop.escape_count = 0
else
$game_troop.escape_count = rand($game_troop.max_escape_count / 5)
end
end
#--------------------------------------------------------------------------
# ● 次のアクターのコマンド入力へ(再定義)
#--------------------------------------------------------------------------
def next_actor
@party_command_window.active = false
@actor_command_window.create_contents
@actor_command_window.index = -1
@actor_command_window.close
if @a_command_battler != nil
if aw_setup(@a_command_battler)
@acton_phase = true
@action_battlers.push(@a_command_battler)
end
@a_command_battler = @waiting_battler_clone = nil
end
@status_window.index = @actor_index = -1
@process_p = false
start_main
end
#--------------------------------------------------------------------------
# ● 前のアクターのコマンド入力へ(再定義)
#--------------------------------------------------------------------------
def prior_actor
return if @a_command_battler == nil
@actor_command_window.create_contents
@actor_command_window.index = -1
@actor_command_window.close
c = @a_command_battler.max_ctb_gauge / 100.0 * STRRGSS2::CTB::CT_CANCEL
@a_command_battler.ctb_gauge = @a_command_battler.max_ctb_gauge - c
@a_command_battler = @waiting_battler_clone = nil
@status_window.index = @actor_index = -1
@process_p = false
start_main
end
#--------------------------------------------------------------------------
# ● 開始処理(エイリアス)
#--------------------------------------------------------------------------
alias start_str33x start
def start
escape_count_set
start_str33x
$game_temp.atb_itemrefresh = false
@message_window.z = 10
@action_active_wait = 0
@acton_phase = false
@process_p = true
@waiting_battler = []
$game_party.clear_actions
$game_troop.clear_actions
@actor_command_window.openness = 0
end
#--------------------------------------------------------------------------
# ● 基本更新処理(エイリアス)
#--------------------------------------------------------------------------
alias update_basic_str33x update_basic
def update_basic(main = false)
info_visible_update # 情報表示
update_basic_str33x(main) # 呼び戻し
unless main
update_active_command # コマンド入力更新
update_ctb # カウント
update_info_viewport # 情報表示ビューポートを更新
start_atb_actor_command # アクターコマンド開始
end
end
#--------------------------------------------------------------------------
# ● フレーム更新(再定義)
#--------------------------------------------------------------------------
def update
super
update_basic(true)
update_info_viewport # 情報表示ビューポートを更新
if $game_message.visible
@info_viewport.visible = false
@message_window.visible = true
end
return if judge_win_loss # 勝敗判定
return if @escape_success # 逃走成功
update_active_command # コマンド入力更新
update_ctb # カウント
process_battle_event # バトルイベントの処理
process_action # 戦闘行動
process_battle_event # バトルイベントの処理
# 逃走成功
if @escape_flag and not @atb_result
@escape_flag = false
@escape_success = true
process_escape
end
start_atb_actor_command # アクターコマンド開始
end
#--------------------------------------------------------------------------
# ● コマンド更新(追加)
#--------------------------------------------------------------------------
def update_active_command
update_scene_change
# 戦闘終了(Result)
if @atb_result
@party_command_window.active = false
@actor_command_window.index = -1
@actor_command_window.active = false
return
end
# 停止
return if (@process_p or $game_message.visible or @atb_result)
c_battler_atb_a
# コマンド入力待ち無し
if @waiting_battler_clone == nil
c_battler_atb_b
return
end
# カウントが変動したら行動不能になったと見做す
if @active_battler.ctb_gauge < @active_battler.max_ctb_gauge
dispose_windows
end
# 各ウィンドウ更新
if @target_enemy_window != nil
update_target_enemy_selection # 対象敵キャラ選択
elsif @target_actor_window != nil
update_target_actor_selection # 対象アクター選択
elsif @skill_window != nil
update_skill_selection # スキル選択
elsif @item_window != nil
update_item_selection # アイテム選択
elsif @party_command_window.active
update_party_command_selection # パーティコマンド選択
elsif @actor_command_window.active
update_actor_command_selection # アクターコマンド選択
end
c_battler_atb_b
end
#--------------------------------------------------------------------------
# ● パーティコマンド選択の開始(再定義)
#--------------------------------------------------------------------------
def start_party_command_selection
return if @spcs_disable
@process_p = false
if $game_temp.in_battle
@status_window.refresh
@status_window.index = @actor_index = -1
@message_window.visible = false
@actor_command_window.active = false
end
next_actor
end
#--------------------------------------------------------------------------
# ● 戦闘処理の実行開始(再定義)
#--------------------------------------------------------------------------
def start_main
#$game_troop.increase_turn ターン加算しない
@info_viewport.visible = false
@info_viewport.ox = 0
@message_window.visible = true
@party_command_window.active = false
@actor_command_window.active = false
@status_window.index = @actor_index = -1
@active_battler = nil
#@message_window.clear 消さない
$game_troop.make_actions
make_action_orders
wait(20)
end
#--------------------------------------------------------------------------
# ● パーティコマンド選択の更新(エイリアス)
#--------------------------------------------------------------------------
alias update_party_command_selection_str33x update_party_command_selection
def update_party_command_selection
@process_p = false
update_party_command_selection_str33x
end
#--------------------------------------------------------------------------
# ● アクターコマンド選択の開始(エイリアス)
#--------------------------------------------------------------------------
alias start_actor_command_selection_str33x start_actor_command_selection
def start_actor_command_selection
c_battler_atb_a
start_actor_command_selection_str33x
@actor_command_window.open
c_battler_atb_b
end
#--------------------------------------------------------------------------
# ● 対象敵キャラ選択の開始(エイリアス)
#--------------------------------------------------------------------------
alias start_target_enemy_selection_str33x start_target_enemy_selection
def start_target_enemy_selection
start_target_enemy_selection_str33x
@target_enemy_window.z += 10 if @target_enemy_window != nil
end
#--------------------------------------------------------------------------
# ● 対象アクター対象選択の開始(エイリアス)
#--------------------------------------------------------------------------
alias start_target_actor_selection_str33x start_target_actor_selection
def start_target_actor_selection
start_target_actor_selection_str33x
@target_actor_window.z += 10 if @target_actor_window != nil
end
#--------------------------------------------------------------------------
# ● スキル選択の開始(エイリアス)
#--------------------------------------------------------------------------
alias start_skill_selection_str33x start_skill_selection
def start_skill_selection
start_skill_selection_str33x
a = @active_battler
@activeref_skill = [a.mp, a.maxmp, a.skills, a.name]
end
#--------------------------------------------------------------------------
# ● スキル選択の終了(エイリアス)
#--------------------------------------------------------------------------
alias end_skill_selection_str33x end_skill_selection
def end_skill_selection
end_skill_selection_str33x
@activeref_skill = nil
end
#--------------------------------------------------------------------------
# ● スキル選択の更新(エイリアス)
#--------------------------------------------------------------------------
alias update_skill_selection_str33x update_skill_selection
def update_skill_selection
a = @active_battler; b = [a.mp, a.maxmp, a.skills, a.name]; ref = false
for i in 0..3
ref = true if b[i] != @activeref_skill[i]
end
if ref
@skill_window.refresh; a = @active_battler
@activeref_skill = [a.mp, a.maxmp, a.skills, a.name]
b.clear; a = b = nil
end
update_skill_selection_str33x
end
#--------------------------------------------------------------------------
# ● アイテム選択の更新(エイリアス)
#--------------------------------------------------------------------------
alias update_item_selection_str33x update_item_selection
def update_item_selection
if $game_temp.atb_itemrefresh
@item_window.refresh
$game_temp.atb_itemrefresh = false
end
update_item_selection_str33x
end
#--------------------------------------------------------------------------
# ● バトルイベントの処理(エイリアス)
#--------------------------------------------------------------------------
alias process_battle_event_str33x process_battle_event
def process_battle_event
return if start_action_atb? and not @battle_event_set
process_battle_event_str33x
@acton_phase = false
end
#--------------------------------------------------------------------------
# ● 戦闘開始の処理(エイリアス)
#--------------------------------------------------------------------------
alias process_battle_start_str33x process_battle_start
def process_battle_start
@battle_event_set = true # 必ずバトルイベント実行
battler_ctset
process_battle_start_str33x
@battle_event_set = false
$game_troop.increase_turn # ターン1にする
end
#--------------------------------------------------------------------------
# ● 逃走の処理(エイリアス)
#--------------------------------------------------------------------------
alias process_escape_str33x process_escape
def process_escape
$game_troop.preemptive = true
dispose_windows
@atb_result = true
process_escape_str33x
end
#--------------------------------------------------------------------------
# ● 勝利の処理(エイリアス)
#--------------------------------------------------------------------------
alias process_victory_str33x process_victory
def process_victory
dispose_windows
@atb_result = true
process_victory_str33x
end
#--------------------------------------------------------------------------
# ● 敗北の処理(エイリアス)
#--------------------------------------------------------------------------
alias process_defeat_str33x process_defeat
def process_defeat
dispose_windows
@atb_result = true
process_defeat_str33x
end
#--------------------------------------------------------------------------
# ● 行動順序作成(再定義)
#--------------------------------------------------------------------------
def make_action_orders
# 無効化 (配列をソートしない)
end
#--------------------------------------------------------------------------
# ● 戦闘行動の処理(エイリアス)
#--------------------------------------------------------------------------
alias process_action_str33x process_action
def process_action
return if start_action_atb?
@acton_phase = true
process_action_str33x
return if judge_win_loss or $game_temp.next_scene != nil
return if @active_battler == nil or @active_battler.dead?
@active_battler.ctb_gauge = 0
@active_battler.aw_gauge_clear
@active_battler = nil
turn_end(false)
end
#--------------------------------------------------------------------------
# ● ステート自然解除(エイリアス)
#--------------------------------------------------------------------------
alias remove_states_auto_str33x remove_states_auto
def remove_states_auto
@active_battler_rsa_clone = @active_battler
for rsa_battler in $game_party.members + $game_troop.members
@active_battler = rsa_battler
remove_states_auto_str33x
end
@active_battler = @active_battler_rsa_clone
@active_battler_rsa_clone = nil
end
#--------------------------------------------------------------------------
# ● ターン終了(エイリアス)
#--------------------------------------------------------------------------
alias turn_end_str33x turn_end
def turn_end(no_action = true)
return if no_action
@battle_event_set = true
@spcs_disable = true
turn_end_str33x
@battle_event_set = false
@spcs_disable = false
@action_active_wait = 4
@status_window.refresh
$game_troop.increase_turn
end
end
#==============================================================================
# ■ Game_Temp
#==============================================================================
class Game_Temp
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :atb_itemrefresh
#--------------------------------------------------------------------------
# ● オブジェクト初期化(エイリアス)
#--------------------------------------------------------------------------
alias initialize_str33x initialize
def initialize
initialize_str33x
@atb_itemrefresh = false
end
end
#==============================================================================
# ■ Game_Party
#==============================================================================
class Game_Party < Game_Unit
#--------------------------------------------------------------------------
# ● アイテムの増加 (減少)(エイリアス)
#--------------------------------------------------------------------------
alias gain_item_str33x gain_item
def gain_item(item, n, include_equip = false)
gain_item_str33x(item, n, include_equip)
$game_temp.atb_itemrefresh = true if $game_temp.in_battle
end
end
#==============================================================================
# ■ Window_TargetEnemy
#==============================================================================
class Window_TargetEnemy < Window_Command
#--------------------------------------------------------------------------
# ● オブジェクト初期化(エイリアス)
#--------------------------------------------------------------------------
alias initialize_str33x initialize
def initialize
initialize_str33x
@e_exist = []
for enemy in $game_troop.members
@e_exist[enemy.index] = enemy.exist?
end
end
#--------------------------------------------------------------------------
# ● オブジェクト初期化2(追加)
#--------------------------------------------------------------------------
def initialize_2(width, commands, column_max = 1, row_max = 0, spacing = 32)
if row_max == 0
row_max = (commands.size + column_max - 1) / column_max
end
@commands = commands
@item_max = commands.size
@column_max = column_max
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# ● フレーム更新(オーバーライド)
#--------------------------------------------------------------------------
def update
super
for enemy in $game_troop.members
if @e_exist[enemy.index] != enemy.exist?
# エネミーリスト変動
commands = []
@enemies = []
for enemy in $game_troop.members
next unless enemy.exist?
commands.push(enemy.name)
@enemies.push(enemy)
end
initialize_2(416, commands, 2, 4)
@e_exist = []
for enemy in $game_troop.members
@e_exist[enemy.index] = enemy.exist?
end
end
end
end
#--------------------------------------------------------------------------
# ● 敵キャラオブジェクト取得(エイリアス)
#--------------------------------------------------------------------------
alias enemy_str33x enemy
def enemy
# エネミーが全滅している場合、適当に先頭のエネミーを返す
return $game_troop.members[0] if @enemies.size == 0
return enemy_str33x
end
end
#==============================================================================
# ■ Window_BattleMessage
#==============================================================================
class Window_BattleMessage < Window_Message
#--------------------------------------------------------------------------
# ● 最下行の文章の取得(エイリアス)
#--------------------------------------------------------------------------
alias last_instant_text_str33x last_instant_text
def last_instant_text
return "" if @lines == []
return last_instant_text_str33x
end
end



the japanese kanjis its only for 'naming' Oo and for instructions... for someone that can understand scripting, i think that it don't cause problem.
jens009
QUOTE
Hi Jens..
First.. Congratulations for this great script, added with some cool icons will make an incredible look in any game =D
But I have an issue =S
The crosscommand DON'T APPEAR lol =(((((((((((((((((((((((((((((((
I'm using a couple of scripts, but the one that i 'think' that is causing trouble to work togheter with your is one special that have ' start_actor_command_selections ' ... All the others dont have anything like ' start_actor_command_selections ' ..
I can use the commands... like 'press and select magic' ( in screnshot) but the icons dont appear... they are in Graphics/Pictures with right names... I tested only on sbs 2.7 and worked perfectly , but on my project, with the scripts ( from http://strrgssvx.blog.shinobi.jp/ ) , the crosscommand isn't showed...
With the scripts and without your crosscommand , i noticed that the command bar, isn't showed all the time... The command bar 'pop up' when the ATB Gauge got full... So I think that the problem is in the 'pop up', like making the crosscomand a pop up window... If you think that will need all scripts... ask me...

Please.. try to fix for me if it's possible.


Hey thanks for the report. This is what I was talking about early on. The script can get incompatible in some ways when you use a custom battle system, and I think you are right about the start_actor_command_selection edit that may be causing the problems.

No worries though, II have multiple ideas of how to fix the small bug. The only problem is that I can't give out a straight answer right now. It would probably best if I have the scripts you are using for me to use as a reference to specifically point out the problem.
So if you can just send me a copy of your scripts, just for the battle system of course, I can fix this small bug really quickly.

I'm really glad you took the effort of pin pointing the problem. It helps a lot in debugging.
Zinos666
I'm having a problem with your script, it's not showing up at all, I enter a battle and the cross command isn't showing it's only the default commands.
What could be wrong?


-=edit=-
Ok it works only when I left justify it, but an new error appears when I go to target the monster on line 215
@target_enemy_window.x = 128
I'm using a custom battle system, but I doubt it has anything to do with the cursor error.

-=edit 2=-
ok something very very very odd happened right after I posted edit notice 1 the script suddenly started to work properly.
BigEd781
Great script Jens. I am making a Lufia type CBS and your script could save me a lot of time. Do you mind if I use it in my CBS (with credit of course)?
jens009
QUOTE (Zinos666 @ Aug 27 2008, 11:43 PM) *
-=edit 2=-
ok something very very very odd happened right after I posted edit notice 1 the script suddenly started to work properly.

Lmao. Well, You probably forgot to save your game before testing. XD I'm glad it worked out for you.

QUOTE (BigEd781 @ Aug 28 2008, 12:48 AM) *
Great script Jens. I am making a Lufia type CBS and your script could save me a lot of time. Do you mind if I use it in my CBS (with credit of course)?

Sure man. No problem. That's the main reason I posted it here. =D

@Fred: I just got home, working on the bug fix for you.
fredjapa
I hope you can get it =D ><



edit:

you are have troubles jens? =S
Shadow20
I love your scripts jens. they so useful, and neat. However, I was trying out this script and I got an error screen. Please help me
because I have no knowledge of scripts and how to write them

thanks
jens009
Do NOT use the Deactivate Commands Battle Patch script version if you are not using my other script.

If you just want the cross command alone, Just use version 1.1 alone.

Shadow20
thanks for responding so quick jens. But i figured the real problem. i have a problem with line 215. The same problem loki had. Yes it only happens when I have left set to true.



EvilEagles
Great script jens smile.gif I love it. tongue.gif
But I'm using Tankentai SBS + ATB. Hmm, I'm really dislike that default command-text-box, can this script compatible with Tankentai SBS + ATB?. blush.gif sorry bout my bad english
headless1
Thanks i really liked this...... biggrin.gif
ChaoticFox9900
"line 180: SystemStackError occurred

stack level too deep."


What can I do to fix this?
GENOCIDEGeorge
Hey!
I love your script, but I'm wondering if you could make a variation a little more to the Lufia II style?
Like so:
Make the battle screen to look like this:

Perhaps if you've played Lufia: Rise of the Sinistrals, you'll know what I'm talking about for the rest of my post. smile.gif
I'd much appreciate your help!

I also want my characters to switch into a View-From-Behind stance, then attack, after the commands have been issued (like in Lufia II)
Also, I would really love it if you could alter this script so that pressing down will take you to the "Ikari/Item points" menu, and that you have to press the action button to enter the crosshair menu, otherwise the "3 vertical blocks" menu shown as soon as the battle starts and before the Attack/Spell/Defend/Ikari Points menu appears (Down = escape and Up = change battle order) (once again, if you've played Lufia and know it well enough, you'll understand what I'm saying here)
I know, that's really confusing, but if you know Lufia II than you know what I'm talking about, and as I have no skills whatsoever with scripting, and currently have no time to learn how to do so, I fail.
Thanks smile.gif
secroit
Hi, i have a small problem with your awesome script and im pretty sure you can help me there.

Everything works fine and looks good, but i only can use the attack command. If i press the arrow keys to navigate through the commands nothing happens and im stuck to use "attack" i hope you understand what im trying to say.
Mishimo
Hey, i loved your script and tried to put it into my game but when I tried it I got this error:

The battle starts normally and the message "(monster) appeared" shows like it should, but as soon as I press the action button the cross menu appears for like... 1 second and then scrolls really fast to the right and disappears completely.
Then when I get the chance to press the action button to select an action the game crashes and I get the following message

Script 'ATB(1.1d)' line720:NoMethodError ocurred
undefined method 'action' for nil:NilClass

I'm currently using the RPG Tankentai SBS + ATB Kaduki and I supose its the Kaduki ATB script that is in conflict with your script, I was wondering if you can help me.

Anyways, thanks in advance and keep up the good work! :3
Mishimo
Bump! (sorry about that :x)
Khev
Maybe the scripts are not compatible.. Also, try posting a link to the ATB script so that he can help you...

Tanketai isn't usually compatible with battle add-ons other than the ones made exclusively to it, so don't expect much. =x
Mishimo
Yeah you are right, here is the battle script im using Tankentai Kaduki's ATB Demo
I hope this helps :\
Mishimo
bump (sorry I dont like to do this but...)
Mishimo
last try ohmy.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2013 Invision Power Services, Inc.