BOF Cross Command
Version: 1.1
Author: Jens009 base from blazingamer
Release Date: July 29, 2008
Updated: August 5, 2008
Version: 1.1
Author: Jens009 base from blazingamer
Release Date: July 29, 2008
Updated: August 5, 2008
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
# 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
# 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
# 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
# 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.




