캐릭터별, 또는 클래스별로 전투명령을 부여할 수 있는 스크립트입니다. 스크립트와 작동은 첨부된 데모를 참조하세요. SDK용과 비SDK용이 있고, 사용할 전투명령은 BattleCommands.rxdata란 이름의 파일을 만들어 거기서 정의하면 됩니다(아래는 예제):
#This text is not parsed by the script
#Remember Here Are the Default Values
#
#id Must be declared
#name Must be declared
#name_set {}
#kind Must be declared
#type 0
#rating 10
#icon_name nil
#color [normal_color, disabled_color]
#skill_id nil
#common_event nil
#ammo [false, false]
#ammo_heal nil
#ammo_inc nil *NOT IMPLEMENTED*
#level nil *NOT IMPLEMENTED*
#exp_to_next nil *NOT IMPLEMENTED*
#weapon_ids nil
#armor_ids nil
#skill_set nil
#skills nil
#class_level nil
#actor_level nil
#description nil
#special_cond false
#hidden false
#parameters {} *BAG OF BATTLE COMMANDS* *NOT IMPLEMENTED*
#skill_parameters {} *BAG OF BATTLE COMMANDS*
#item_parameters {} *BAG OF BATTLE COMMANDS*
#actor_parameters {} *BAG OF BATTLE COMMANDS*
#enemy_parameters {} *BAG OF BATTLE COMMANDS* *NOT IMPLEMENTED*
#script nil
#next_method phase3_next_actor
#
#
# The command's id
#
# The command's name
# Do not enclose the name in " "
#
# The command's other names
# How you define the names determines the priority of the name chosen
# example
# {'actor' => {1 => 'Smile', 2 => 'Frown'},'class' => {1 => 'Anger'}}
# Now here are the heros
# Actor id 1 class 1 resulting name Smile
# Actor id 2 class 1 resulting name Frown
# Actor id 1 class 2 resulting name Anger
# Actor id 3 class 1 resulting name Anger
# Actor id 3 class 4 resulting name Default Name
# Actor id 2 class 2 Resulting name Frown
#
# parameters can include actor, class, weapon, shield, helmet, body, accessory, and level
#
# The command's kind
# note set to three if a command links to a skill or a skill_set
#
# The command's type
# see method make_basic_action_result
#
# The command's rating
# higher rated commands will appear on the top
# if the ratings are the same then the id is compared and lower ids have higher priority
#
# The command's icon name
# from Graphics/Icons
#
# The command's color in battle
# Use Color.new(red, green, blue) or Color.new(red, green, blue, alpha)
#
# The command's skill id
# If using you must set the kind to 3
# the skills common event will not be ran
#
# The command's common event
# If using you must set the kind to 3
#
# The on switch for ammo
# set to [true,false, maximum amount] if this command points
# set to [true, true, item id] for the points to depend on an item
# note if you are using an icon The ammo amount will most likely get cut off
#
# How the ammo regains its sp
# ignore this if the points depend on an item choices
# Heal is an Integer + Float where integer is the amount healed and float is the percentage healed
# ex 3.10 heals 10% + 3
# {0 => Heal} Heals float % + int at end of battle or nil for Full Heal after battle
# {1 => Heal} Heal at actor level up
# {2 => [Heal, a, b]} Heals float % + int or nil for full heal at ax+b turns
# {3 => Heal} Heals when Defending
# {4 => Heal} Heals when Doing Nothing
# {5 => Heal} Heals only with the Full Recovery Event Command
#
# The weapon ids
# you can have multiple ids use an array if just one id then you can just put an integer here
#
# The armor ids same as weapon ids
#
# The skill set for use in categorizing the skill list
# for example all fire skills will be skill.element_set.include?(1)
# You may also use this to work for items
#
# The usable skill list see OTHER STUFF section for more stuff on this
#
# The class level set
# must be an array set up like this [class_id,level,class2_id,level2]
#
# The actor level set same as above
#
# The Description of the command as with all words do not enclose in ""
#
# The special condition must be a boolean expression
# for example if you want the Arshes to learn this in battle while he has less than 100 hp
# then the condition will be (actor.id == 1 and actor.hp <= 100)
#
# Hidden
# if the command is hidden set this to true
#
# Parameters
# forget about this now
#
# Skill Parameters
# If you added the addon Bag of battle commands then you may edit its parameters
# You may edit sp_cost, power, atk_f, eva_f, str_f, dex_f, agi_f, int_f, hit
# pdef_f, mdef_f, variance, element_set, and plus(minus)_state_set
# The format is {'parameter' => [plus amount, times amount]}
# Where plus amount is the amount added and times amount is the percentage to add
# for example {'power' => [20, 3], 'sp_cost' => [0, 0.33]}
# would be skills power * 3 + 20 and 1/3 the sp_cost which is pretty nifty
#
# element_set and plus(minus)_state_set work differently
# The format is {'parameter' => [bool, int1, int2,... intn]}
# if bool is true then the whole set is replaced if false then add to the set
# int1-intn are values of ids to put/add to the parameter
# for example {'element_set' => [false, 1]}
# would be add a fire attribute to the skill
#
# Item Parameters
# Same as Skill Parameters except it is for items instead of skills
# You may edit recover_hp(sp)(_rate),hit,pdef_f,mdef_f,variance,e lement_set,
# and plus(minus)_state_set and same format as for the skill parameters
#
# Actor Parameters
# Same as Skill and Item Parameters except it affects the actor using the command
# You many edit str, dex, agi, int, hit, atk, pdef, mdef, eva, and damage
#
# Enemy Parameters
# Not implemented yet but affects the enemy the player is attacking
#
# Script
# Enter a script here separating lines by using a semicolon ( ; )
# you may replace @active_battler with just actor
# example heal 100 sp when using the command is actor.sp += 100; @status_window.refresh
#
# Next Method the next method called after selecting the command
#
#
#
#
#
#
#The Skills Parameter
#You may enter a string an array or a hash here (You must use kind = 3 for these)
#
#Array
#This array contains all of the skill ids the command can use great for if you want certain skills for a command
#
#String
#Example skill.element_set.include?(1) will make the command contain all fire skills
#the string holds a condition that is passed through each skill if true then the skill will be on the list
#
#Hash
#a bit more complicated but alot more powerful
# Integer value case 1 { skill.id => value, skill.id => value}
# in this case value is the minimum level required to use the skill
#
# Array for value case 2 {skill.id => [v1,v2]}
# in this case v1 is the minumum level required to use the skill and v2 is the actor id that can use the skill
#
# String for value case 3 {skill.id => "condition"}
# in this case the string condition is evaluated and if true then the skill can be used for more advanced effects
id 1
name Attack
name_set {'actor' => {2 => 'Hit', 7 => 'Tease', 8 => 'Poke'}}
kind 0
type 0
color [Color.new(0,0,255), Color.new(0,0,255,128)]
rating 10
ammo [true, false, 10]
ammo_heal {2 => [1.1,4,0]}
next_method start_enemy_select
id 2
name Skill
kind 1
rating 20
color [Color.new(128,0,0), Color.new(128,0,0,128)]
ammo [true, true, 2]
ammo_heal {3 => nil}
next_method start_skill_select
id 3
name Defend
kind 0
type 1
id 4
name Item
kind 2
next_method start_item_select
#This text is not parsed by the script
#Remember Here Are the Default Values
#
#id Must be declared
#name Must be declared
#name_set {}
#kind Must be declared
#type 0
#rating 10
#icon_name nil
#color [normal_color, disabled_color]
#skill_id nil
#common_event nil
#ammo [false, false]
#ammo_heal nil
#ammo_inc nil *NOT IMPLEMENTED*
#level nil *NOT IMPLEMENTED*
#exp_to_next nil *NOT IMPLEMENTED*
#weapon_ids nil
#armor_ids nil
#skill_set nil
#skills nil
#class_level nil
#actor_level nil
#description nil
#special_cond false
#hidden false
#parameters {} *BAG OF BATTLE COMMANDS* *NOT IMPLEMENTED*
#skill_parameters {} *BAG OF BATTLE COMMANDS*
#item_parameters {} *BAG OF BATTLE COMMANDS*
#actor_parameters {} *BAG OF BATTLE COMMANDS*
#enemy_parameters {} *BAG OF BATTLE COMMANDS* *NOT IMPLEMENTED*
#script nil
#next_method phase3_next_actor
#
#
# The command's id
#
# The command's name
# Do not enclose the name in " "
#
# The command's other names
# How you define the names determines the priority of the name chosen
# example
# {'actor' => {1 => 'Smile', 2 => 'Frown'},'class' => {1 => 'Anger'}}
# Now here are the heros
# Actor id 1 class 1 resulting name Smile
# Actor id 2 class 1 resulting name Frown
# Actor id 1 class 2 resulting name Anger
# Actor id 3 class 1 resulting name Anger
# Actor id 3 class 4 resulting name Default Name
# Actor id 2 class 2 Resulting name Frown
#
# parameters can include actor, class, weapon, shield, helmet, body, accessory, and level
#
# The command's kind
# note set to three if a command links to a skill or a skill_set
#
# The command's type
# see method make_basic_action_result
#
# The command's rating
# higher rated commands will appear on the top
# if the ratings are the same then the id is compared and lower ids have higher priority
#
# The command's icon name
# from Graphics/Icons
#
# The command's color in battle
# Use Color.new(red, green, blue) or Color.new(red, green, blue, alpha)
#
# The command's skill id
# If using you must set the kind to 3
# the skills common event will not be ran
#
# The command's common event
# If using you must set the kind to 3
#
# The on switch for ammo
# set to [true,false, maximum amount] if this command points
# set to [true, true, item id] for the points to depend on an item
# note if you are using an icon The ammo amount will most likely get cut off
#
# How the ammo regains its sp
# ignore this if the points depend on an item choices
# Heal is an Integer + Float where integer is the amount healed and float is the percentage healed
# ex 3.10 heals 10% + 3
# {0 => Heal} Heals float % + int at end of battle or nil for Full Heal after battle
# {1 => Heal} Heal at actor level up
# {2 => [Heal, a, b]} Heals float % + int or nil for full heal at ax+b turns
# {3 => Heal} Heals when Defending
# {4 => Heal} Heals when Doing Nothing
# {5 => Heal} Heals only with the Full Recovery Event Command
#
# The weapon ids
# you can have multiple ids use an array if just one id then you can just put an integer here
#
# The armor ids same as weapon ids
#
# The skill set for use in categorizing the skill list
# for example all fire skills will be skill.element_set.include?(1)
# You may also use this to work for items
#
# The usable skill list see OTHER STUFF section for more stuff on this
#
# The class level set
# must be an array set up like this [class_id,level,class2_id,level2]
#
# The actor level set same as above
#
# The Description of the command as with all words do not enclose in ""
#
# The special condition must be a boolean expression
# for example if you want the Arshes to learn this in battle while he has less than 100 hp
# then the condition will be (actor.id == 1 and actor.hp <= 100)
#
# Hidden
# if the command is hidden set this to true
#
# Parameters
# forget about this now
#
# Skill Parameters
# If you added the addon Bag of battle commands then you may edit its parameters
# You may edit sp_cost, power, atk_f, eva_f, str_f, dex_f, agi_f, int_f, hit
# pdef_f, mdef_f, variance, element_set, and plus(minus)_state_set
# The format is {'parameter' => [plus amount, times amount]}
# Where plus amount is the amount added and times amount is the percentage to add
# for example {'power' => [20, 3], 'sp_cost' => [0, 0.33]}
# would be skills power * 3 + 20 and 1/3 the sp_cost which is pretty nifty
#
# element_set and plus(minus)_state_set work differently
# The format is {'parameter' => [bool, int1, int2,... intn]}
# if bool is true then the whole set is replaced if false then add to the set
# int1-intn are values of ids to put/add to the parameter
# for example {'element_set' => [false, 1]}
# would be add a fire attribute to the skill
#
# Item Parameters
# Same as Skill Parameters except it is for items instead of skills
# You may edit recover_hp(sp)(_rate),hit,pdef_f,mdef_f,variance,e lement_set,
# and plus(minus)_state_set and same format as for the skill parameters
#
# Actor Parameters
# Same as Skill and Item Parameters except it affects the actor using the command
# You many edit str, dex, agi, int, hit, atk, pdef, mdef, eva, and damage
#
# Enemy Parameters
# Not implemented yet but affects the enemy the player is attacking
#
# Script
# Enter a script here separating lines by using a semicolon ( ; )
# you may replace @active_battler with just actor
# example heal 100 sp when using the command is actor.sp += 100; @status_window.refresh
#
# Next Method the next method called after selecting the command
#
#
#
#
#
#
#The Skills Parameter
#You may enter a string an array or a hash here (You must use kind = 3 for these)
#
#Array
#This array contains all of the skill ids the command can use great for if you want certain skills for a command
#
#String
#Example skill.element_set.include?(1) will make the command contain all fire skills
#the string holds a condition that is passed through each skill if true then the skill will be on the list
#
#Hash
#a bit more complicated but alot more powerful
# Integer value case 1 { skill.id => value, skill.id => value}
# in this case value is the minimum level required to use the skill
#
# Array for value case 2 {skill.id => [v1,v2]}
# in this case v1 is the minumum level required to use the skill and v2 is the actor id that can use the skill
#
# String for value case 3 {skill.id => "condition"}
# in this case the string condition is evaluated and if true then the skill can be used for more advanced effects
id 1
name Attack
name_set {'actor' => {2 => 'Hit', 7 => 'Tease', 8 => 'Poke'}}
kind 0
type 0
color [Color.new(0,0,255), Color.new(0,0,255,128)]
rating 10
ammo [true, false, 10]
ammo_heal {2 => [1.1,4,0]}
next_method start_enemy_select
id 2
name Skill
kind 1
rating 20
color [Color.new(128,0,0), Color.new(128,0,0,128)]
ammo [true, true, 2]
ammo_heal {3 => nil}
next_method start_skill_select
id 3
name Defend
kind 0
type 1
id 4
name Item
kind 2
next_method start_item_select