intro
well this is ,as the title says the bof3 cross command . it makes a cool looking command menu
and adds some command.
features
the run command : this will mean you will want to get rid of the ugly escape bar
the examine command : this inflicts a stae to the char that used it . that state will be used
for learning skill. ( if you don't know how make a common event that says if the actor has state X
=> add skill ....) by the way the skill i used is 3 (VENOM ) you will have to change that to whatever is the ID of the state you will be using . just change this line
the charge command : it forces the actors tho use the attack command
the script
screeny
instuctions
put the script above main
then go to scene_battle 1 and change this
to this
the demo
Credits
alone i couldn't do any of this (i suck at scripting but i can get scripts to work the way i want) so
this was done based on balzingamer's script and with the help of this cool dood khmp
this is my first submisson so it minght not be that great
well this is ,as the title says the bof3 cross command . it makes a cool looking command menu
and adds some command.
features
the run command : this will mean you will want to get rid of the ugly escape bar
the examine command : this inflicts a stae to the char that used it . that state will be used
for learning skill. ( if you don't know how make a common event that says if the actor has state X
=> add skill ....) by the way the skill i used is 3 (VENOM ) you will have to change that to whatever is the ID of the state you will be using . just change this line
Code:
@active_battler.add_state(3)
the charge command : it forces the actors tho use the attack command
the script
Code:
#==============================================================================
#
#
# joooda 's CrossCommand
# -----------------------------------------
# Makes a pretty command window in a shape of a cross like in Wild Arms
#==============================================================================
class CrossCommand < Window_Selectable
def initialize
super(320 - 128, 160 - 128, 256, 256)
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = 0
self.active = false
self.visible = false
self.index = 0
end
def update_cursor_rect
if index == 0
self.cursor_rect.set(0, 0, 0, 0)
end
if Input.press?(Input::LEFT)
if index==3
else
$game_system.se_play($data_system.cursor_se)
end
@index = 3
elsif Input.press?(Input::RIGHT)
if index==2
else
$game_system.se_play($data_system.cursor_se)
end
@index = 2
elsif Input.press?(Input::UP)
if index==1
else
$game_system.se_play($data_system.cursor_se)
end
@index = 1
elsif Input.press?(Input::DOWN)
@index = 4
elsif Input.press?(Input::Z)
if index==5
else
$game_system.se_play($data_system.cursor_se)
end
@index = 5
elsif Input.press?(Input::A)
if index==6
else
$game_system.se_play($data_system.cursor_se)
end
@index = 6
else
@index = 0
end
end
end
class Scene_Battle
alias_method :joda_crosscommand_scene_battle_main, :main
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def sg_phase2_allbasic(sg_temp)
$game_system.se_play($data_system.decision_se)
for i in $game_party.actors
i.current_action.kind = 0
i.current_action.basic = 0
end
start_phase4
end
def sg_phase2_lastaction
$game_system.se_play($data_system.decision_se)
for i in $game_party.actors
i.current_action.kind = 0
i.current_action.basic = 0
end
end
def main
# Create the cross cursor but make it invisible till it's needed.
@cross = Sprite.new
@cross.bitmap = RPG::Cache.icon("cross")
@cross.y = 148
@cross.x = 238
@cross.z = 8
@cross.visible = false
# Create the sprite responsible for drawing the active selection
# of the user.
@cross_cursor = Sprite.new
@cross_cursor.z = 9
# Call the old main's code.
joda_crosscommand_scene_battle_main
# Dispose of our assets.
@cross.bitmap.dispose unless @cross.bitmap.disposed?
@cross.dispose unless @cross.disposed?
unless @cross_cursor.bitmap.nil?
@cross_cursor.bitmap.dispose unless @cross_cursor.bitmap.disposed?
end
@cross_cursor.dispose unless @cross_cursor.disposed?
end
#--------------------------------------------------------------------------
# * Frame Update (actor command phase : basic command)
#--------------------------------------------------------------------------
def update_phase3_basic_command
@cross.bitmap = RPG::Cache.icon("cross") if @cross.bitmap.nil?
@cross.visible = true
case @actor_command_window.index
when 0
@cross_cursor.bitmap = RPG::Cache.icon("bt")
@cross_cursor.x = 180
@cross_cursor.y = 171
when 1
@cross_cursor.bitmap = RPG::Cache.icon("abl")
@cross_cursor.x = 245
@cross_cursor.y = 100
when 2
@cross_cursor.bitmap = RPG::Cache.icon("def")
@cross_cursor.y = 171
@cross_cursor.x = 290
when 3
@cross_cursor.bitmap = RPG::Cache.icon("ex")
@cross_cursor.y = 171
@cross_cursor.x = 140
when 4
@cross_cursor.bitmap = RPG::Cache.icon("item")
@cross_cursor.x = 245
@cross_cursor.y = 196
when 5
@cross_cursor.bitmap = RPG::Cache.icon("esc")
@cross_cursor.x = 293
@cross_cursor.y = 115
when 6
@cross_cursor.bitmap = RPG::Cache.icon("chg")
@cross_cursor.x = 140
@cross_cursor.y = 115
end
@cross_cursor.update unless @cross_cursor.bitmap.disposed?
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
phase3_prior_actor
return
end
if Input.trigger?(Input::C)
@cross_cursor.bitmap.dispose
@cross.visible = false
case @actor_command_window.index
when 0
$game_system.se_play($data_system.decision_se)
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 0
start_enemy_select
when 1
$game_system.se_play($data_system.decision_se)
@active_battler.current_action.kind = 1
start_skill_select
when 2
$game_system.se_play($data_system.decision_se)
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 1
phase3_next_actor
when 3
$game_system.se_play($data_system.decision_se)
if rand(99) < 30
@active_battler.add_state(3)
end
phase3_next_actor
when 4
$game_system.se_play($data_system.decision_se)
@active_battler.current_action.kind = 2
start_item_select
when 5
# If it's not possible to escape
if $game_temp.battle_can_escape == false
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
enemies_agi = 0
enemies_number = 0
for enemy in $game_troop.enemies
if enemy.exist?
enemies_agi += enemy.agi
enemies_number += 1
end
end
if enemies_number > 0
enemies_agi /= enemies_number
end
actors_agi = 0
actors_number = 0
for actor in $game_party.actors
if actor.exist?
actors_agi += actor.agi
actors_number += 1
end
end
if actors_number > 0
actors_agi /= actors_number
end
success = rand(100) < 50 * actors_agi / enemies_agi
if success
$game_system.se_play($data_system.escape_se)
$game_system.bgm_play($game_temp.map_bgm)
battle_end(1)
else
$game_party.clear_actions
start_phase4
end
when 6
sg_phase2_allbasic(1)
end
return
end
end
end
screeny
http://img246.imageshack.us/img246/3284/96316595bx3.th.png[/img] http://img246.imageshack.us/img246/3967/41373036wl3.th.png[/img]
http://img249.imageshack.us/img249/8807/61722680po2.th.png[/img]
note that the animated battlers are NOT included in the script these pics come from my project
http://img249.imageshack.us/img249/8807/61722680po2.th.png[/img]
note that the animated battlers are NOT included in the script these pics come from my project
instuctions
put the script above main
then go to scene_battle 1 and change this
Code:
@actor_command_window = Window_Command.new(160, [s1, s2, s3, s4])
Code:
@actor_command_window = CrossCommand.new
http://www.megaupload.com/?d=UEEB5HMN
or if you don't like mega upload
http://www.mediafire.com/?jatenvnleez
this third link is for cross command with the just the standard commands no charge no examine
http://www.mediafire.com/?1te3v0xzyay
or if you don't like mega upload
http://www.mediafire.com/?jatenvnleez
this third link is for cross command with the just the standard commands no charge no examine
http://www.mediafire.com/?1te3v0xzyay
alone i couldn't do any of this (i suck at scripting but i can get scripts to work the way i want) so
this was done based on balzingamer's script and with the help of this cool dood khmp
this is my first submisson so it minght not be that great