Jamira's DQ Battle System script. Highlighting Actor's status when it's their turn for selecting commands

Panda_Artist

Humble RPG Fan
Veteran
Joined
Dec 22, 2018
Messages
408
Reaction score
34
First Language
Portuguese
Primarily Uses
RMVXA
Good Morning / Afternoon / Evening

I am not sure if this is the right place to ask... but okay.

This script i'm using gives me a great Battle HUD for me to use but the problem for me is that while selecting the commands, there is no way for me to know which actor I am selecting commands for.

I hope they don't mind me posting their script here...

Is there anyway to add some sort of highlight on the specific actor's status so we can know who we are selecting commands for?

Any help is appreciated!!
 

Panda_Artist

Humble RPG Fan
Veteran
Joined
Dec 22, 2018
Messages
408
Reaction score
34
First Language
Portuguese
Primarily Uses
RMVXA
Excuse my double posting

15.08.2022_20.41.16_REC.png

A lil' something like this would suffice...!
 

Panda_Artist

Humble RPG Fan
Veteran
Joined
Dec 22, 2018
Messages
408
Reaction score
34
First Language
Portuguese
Primarily Uses
RMVXA
Again, excuse the double post...

There is also this ADDON I forgot to include!


any help is appreciated
 

Roninator2

Gamer
Veteran
Joined
May 22, 2016
Messages
4,477
Reaction score
1,248
First Language
English
Primarily Uses
RMVXA
you already have AMN addon. It shows the name of who is attacking.
Maybe I'll look into showing a box around the actor. can't promise anything
 
Last edited:

Panda_Artist

Humble RPG Fan
Veteran
Joined
Dec 22, 2018
Messages
408
Reaction score
34
First Language
Portuguese
Primarily Uses
RMVXA
Thanks for that but I'm not really using that mod i'm making a few modifications to the original one, what i'm asking must be pretty difficult

1660599771614.png

A simple rectangle higlighting the actor's status is enough... I already had modified the script heavily... :)

Hopefully we can achieve this.
 

Roninator2

Gamer
Veteran
Joined
May 22, 2016
Messages
4,477
Reaction score
1,248
First Language
English
Primarily Uses
RMVXA
Here is your request, but with AMN addon included. You can modify this to suit your needs.
Ruby:
# ╔═════════════════════════════════════╦════════════════════╗
# ║ Title: Show Box On Actor            ║  Version: 1.01     ║
# ║ Author: Roninator2                  ║                    ║
# ╠═════════════════════════════════════╬════════════════════╣
# ║ Function:                           ║   Date Created     ║
# ║                                     ╠════════════════════╣
# ║ Show box on actor command selection ║    15 Aug 2022     ║
# ╚═════════════════════════════════════╩════════════════════╝
# ╔══════════════════════════════════════════════════════════╗
# ║ Image must be in Graphics\System folder.                 ║
# ╚══════════════════════════════════════════════════════════╝
# ╔═════════════════════════════════════╗
# ║ Terms of use:                       ║
# ║ Free for all uses in RPG Maker      ║
# ╚═════════════════════════════════════╝

module R2_Window_Select_Box
  Image = "Status_Select"
end

class Window_DQ_BattleStatus < Window_Base
 
#----------------------------------------------------
# * Draw Actor Info
#----------------------------------------------------
  def draw_actor_info(actor, x, y, width)
    draw_face(actor.face_name, actor.face_index, x, y, false) if Jami_DQ_Battle::SHOW_FACE
    draw_actor_names(actor, x, y) # modified
    draw_actor_hp(actor, x, y+24, width)
    draw_actor_mp(actor, x, y+44, width)
    draw_actor_level(actor, x, y+64)
    draw_actor_icons(actor, x+60, y)
  end
#----------------------------------------------------
# * Draw Actor Name
#----------------------------------------------------
  # roninator addon
  def draw_actor_names(actor, x, y, width = 112)
    change_color(hp_color(actor))
    text = actor.name
    text = text[0..((width / 13) - 1)]
    draw_text(x, y, width, line_height, text)
  end
#---------------------------------------------------- 
# * Draw Active Actor 
#----------------------------------------------------
  def draw_active_box(index)
    clear_select if @box
    @box = Sprite.new
    @box.bitmap = Cache.system(R2_Window_Select_Box::Image)
    width =
    @box.z = self.z + 120
    @box.x = index * 107 + 5
    @box.y += 8
    @box_shown = true
  end
#---------------------------------------------------- 
# * Remove Select Box
#----------------------------------------------------
  def clear_select
    return if @box.nil?
    @box.bitmap.dispose
    @box.dispose
    @box_shown = false
  end
#---------------------------------------------------- 
# * Update
#----------------------------------------------------
  alias r2_box_anim_update  update
  def update
    r2_box_anim_update
    if @box_shown
      if @box.opacity < 20
        @boxanim = false
      elsif @box.opacity > 250
        @boxanim = true
      end
      if @boxanim == true
        @box.opacity -= 5
      else
        @box.opacity += 5
      end
    end
  end
end


class Scene_Battle < Scene_Base
  def prior_command
    if BattleManager.prior_command
      start_actor_command_selection
    else
      @DQ_status_window.clear_select
      start_party_command_selection
    end
  end
  alias r2_dqbattle_statusselect  start_actor_command_selection
  def start_actor_command_selection
    r2_dqbattle_statusselect
    b = BattleManager.actor
    index = -1
    $game_party.members.each_with_index do |a, i|
      index = i if a.id == b.id
    end
    @DQ_status_window.draw_active_box(index)
  end
  alias r2_turn_start_dispose_select_box  turn_start
  def turn_start
    @DQ_status_window.clear_select
    r2_turn_start_dispose_select_box
  end
end
Status_Select.png <- status box
 
Last edited:

Panda_Artist

Humble RPG Fan
Veteran
Joined
Dec 22, 2018
Messages
408
Reaction score
34
First Language
Portuguese
Primarily Uses
RMVXA
It works perfectly except for one little NITPICK

but it's just a NITPICK! :D

When I cancel back to the Party command, the status box stays highlighted in the first party member...!
 

Panda_Artist

Humble RPG Fan
Veteran
Joined
Dec 22, 2018
Messages
408
Reaction score
34
First Language
Portuguese
Primarily Uses
RMVXA
I have tested it and so far so good!!

Thank you so much for this and if I find any more issues I'll let you know! I can actually do some creative stuff with this.
 

Panda_Artist

Humble RPG Fan
Veteran
Joined
Dec 22, 2018
Messages
408
Reaction score
34
First Language
Portuguese
Primarily Uses
RMVXA
While we are on this subject...

Speaking of AMN's mod... is it possible to remove that pesky Enemy window when selecting actor commands? I would only like that window to show when I am actually selecting which enemy to attack...

Hope this isn't too much of a hassle, but this would be greatly appreciated.
 

Roninator2

Gamer
Veteran
Joined
May 22, 2016
Messages
4,477
Reaction score
1,248
First Language
English
Primarily Uses
RMVXA
Ruby:
=begin
#==============================================================================#
#   AMN DQ Battle Addon
#   Version 1.03
#   Author: AMoonlessNight
#   Date: 09 Dec 2018
#   Latest: 11 Dec 2018
#==============================================================================#
#   UPDATE LOG
#------------------------------------------------------------------------------#
# 09 Dec 2018 - created the script
# 10 Dec 2018 - fixed a couple of bugs
# 11 Dec 2018 - status window always stays up during battle
#==============================================================================#
#   TERMS OF USE
#------------------------------------------------------------------------------#
# - Please credit AMoonlessNight or A-Moonless-Night
# - Free for non-commercial use
# - I'd love to see your game if you end up using one of my scripts
#==============================================================================#

This script updates the battle scene from Jamiras843 Dragon Quest Battle script,
changing the position of certain windows and changing the way some information
is drawn.

You can choose whether to draw icons in skill and item lists in the editable
region below.

All windows now open and close instantly, no fade-in/-out transition.

=end
module AMN_DQ_Battle
#==============================================================================
# ** EDITABLE REGION BELOW
#------------------------------------------------------------------------------
#  Change the values in the area below to suit your needs.
#==============================================================================

  Icons_On = false  # whether to draw icons in item and skill lists
 
#==============================================================================
# ** END OF EDITABLE REGION
#------------------------------------------------------------------------------
#  Please do not edit below this point unless you know what you are doing.
#==============================================================================
end

class Window_Base < Window
 
  def update_open
    self.openness += 254
    @opening = false if open?
  end

  def update_close
    self.openness -= 254
    @closing = false if close?
  end
 
  alias amn_dqbattle_windowbase_drawitemname  draw_item_name
  def draw_item_name(item, x, y, enabled = true, width = 172)
    if AMN_DQ_Battle::Icons_On
      amn_dqbattle_windowbase_drawitemname(item, x, y, enabled, width)
    else
      return unless item
      change_color(normal_color, enabled)
      draw_text(x, y, width, line_height, item.name)
    end
  end
end

class Window_Selectable < Window_Base

  def item_rect_for_text(index)
    rect = item_rect(index)
    rect.x += 10
    rect.width -= 20
    rect
  end
 
end

class Window_BattleActor < Window_BattleStatus
 
  def visible_line_number; item_max; end
  def show; select(0) if @info_viewport; super; end
  def hide; super; end
  def window_width; 170; end
 
  def draw_item(index)
    actor = $game_party.battle_members[index]
    draw_actor_name(actor, 10, line_height * index)
  end
 
end

class Window_BattleEnemy < Window_Selectable
  def col_max; return 1; end

  def initialize(info_viewport)
    super(250, 296, Graphics.width - 250, fitting_height(4))
    refresh
    self.visible = false
  end
 
end

class Window_DQ_BattleStatus < Window_Base

  def initialize
    super(100, 0, 112 * [$game_party.members.size, 4].min, 120)   
    create_contents     
    @actor1 = $game_party.members[0]     
    @actor2 = $game_party.members[1]     
    @actor3 = $game_party.members[2]     
    @actor4 = $game_party.members[3]     
    refresh     
    self.openness = 0
    self.arrows_visible = false
  end
 
  def draw_actor_info(actor, x, y, width)
    draw_face(actor.face_name, actor.face_index, x, y, false) if Jami_DQ_Battle::SHOW_FACE
    draw_actor_name(actor, x, y)
    draw_actor_hp(actor, x, y+24, width)
    draw_actor_mp(actor, x, y+44, width)
    draw_actor_level(actor, x, y+64)
    draw_actor_icons(actor, x+60, y)
  end
 
  def draw_window_content
    draw_actor_info(@actor1, 0, 0, 80)
    draw_actor_info(@actor2, 110, 0, 80) if $game_party.members.size > 1
    draw_actor_info(@actor3, 220, 0, 80) if $game_party.members.size > 2
    draw_actor_info(@actor4, 330, 0, 80) if $game_party.members.size > 3
  end
end

class Window_ActorCommand < Window_Command
  def spacing; return 6; end
  def visible_line_number; return 3; end
  def window_width; return 250; end
    
  alias amn_dqbattle_windowactorcmd_init  initialize
  def initialize
    amn_dqbattle_windowactorcmd_init
    self.opacity = 0
  end
 
end

class Window_ActorDummy < Window_Base
  def initialize
    super(0, 0, 250, fitting_height(visible_line_number))
    self.openness = 0
    @actor = nil
  end

  def visible_line_number; return 4; end

  def draw_actor_details
    return unless @actor
    draw_text(0, 0, contents_width, line_height, @actor.name, 1)
    draw_horz_line(12)
  end

  def draw_horz_line(y)
    line_y = y + line_height / 2 - 1
    contents.fill_rect(0, line_y, contents_width, 2, normal_color)
  end
 
  def setup(actor)
    @actor = actor
    contents.clear
    draw_actor_details
    open
  end
end

class Window_BattleItem < Window_ItemList
  def col_max; return 1; end
    
  def initialize(help_window, info_viewport)
    height = fitting_height(4)
    hww = help_window.width
    super(0, Graphics.height - height, Graphics.width - hww, height)
    self.visible = false
    @help_window = help_window
    @info_viewport = info_viewport
  end
 
  def draw_item(index)
    item = @data[index]
    if item
      rect = item_rect(index)
      rect.width -= 8
      draw_item_name(item, rect.x+10, rect.y, enable?(item))
      draw_item_number(rect, item)
    end
  end
 
end

class Window_BattleSkill < Window_SkillList
  attr_reader :actor
  def col_max; return 1; end
 
  def initialize(help_window, info_viewport)
    height = fitting_height(4)
    hww = help_window.width
    super(0, Graphics.height - height, Graphics.width - hww, height)
    self.visible = false
    @help_window = help_window
    @info_viewport = info_viewport
    @mp_window = nil
  end
 
  def mp_window=(mp_window)
    @mp_window = mp_window
  end

  def draw_item(index)
    skill = @data[index]
    if skill
      rect = item_rect(index)
      rect.width -= 8
      draw_item_name(skill, rect.x+10, rect.y, enable?(skill))
    end
  end
 
  alias amn_dqbattle_windbattleskill_show show
  def show
    @mp_window.show if @mp_window
    amn_dqbattle_windbattleskill_show
  end

  alias amn_dqbattle_windbattleskill_hide hide
  def hide
    @mp_window.hide if @mp_window
    amn_dqbattle_windbattleskill_hide
  end
 
  def update_help
    super
    @mp_window.set_item if @mp_window
  end
end

class Window_BattleSkillMP < Window_Base

  def initialize(skill_window, info_viewport)
    h = fitting_height(1)
    super(Graphics.width - 250, Graphics.height - h, 250, h)
    self.visible = false
    @info_viewport = info_viewport
    skill_window.mp_window = self
    @skill_window = skill_window
  end

  def set_text(text)
    if text != @text
      @text = text
      refresh
    end
  end

  def clear
    set_text("")
  end

  def item
    @skill_window.item
  end
 
  def actor
    @skill_window.actor
  end
 
  def set_item
    return clear if actor.nil? || item.nil?
    return clear if actor.skill_mp_cost(item).zero? && actor.skill_tp_cost(item).zero?
    if actor.skill_mp_cost(item) > 0
      set_text(sprintf("MP Cost: %d/%d", actor.skill_mp_cost(item), actor.mp))
    elsif actor.skill_tp_cost(item) > 0
      set_text(sprintf("TP Cost: %d/%d", actor.skill_tp_cost(item), actor.tp))
    end
  end

  def refresh
    contents.clear
    draw_text_ex(4, 0, @text)
  end
end

class Scene_Battle < Scene_Base
 
  alias amn_dqbattle_scenebattle_createactorcmdwind create_actor_command_window
  def create_actor_command_window
    @dummy_window = Window_ActorDummy.new
    amn_dqbattle_scenebattle_createactorcmdwind
    @actor_command_window.y = 320
    @dummy_window.y = 296
  end
 
  alias amn_dqbattle_scenebattle_createactorwind  create_actor_window
  def create_actor_window
    amn_dqbattle_scenebattle_createactorwind
    @actor_window.y -= @actor_window.height
    @actor_window.x = Graphics.width - @actor_window.width
  end
 
  alias amn_dqbattle_scenebattle_startpartycmdselect  start_party_command_selection
  def start_party_command_selection
    amn_dqbattle_scenebattle_startpartycmdselect
    unless scene_changing?   
      if BattleManager.input_start     
        @dummy_window.close
        @enemy_window.deactivate.hide
      end
    end
  end
 
  alias amn_dqbattle_scenebattle_createskillwind create_skill_window
  def create_skill_window
    amn_dqbattle_scenebattle_createskillwind
    @skill_mp_window = Window_BattleSkillMP.new(@skill_window, @info_viewport)
  end
 
  alias amn_dqbattle_scenebattle_createhelpwind create_help_window
  def create_help_window
    amn_dqbattle_scenebattle_createhelpwind
    w = 250
    hh = @help_window.height
    h = @help_window.fitting_height(4)
    @help_window.move(Graphics.width - w, Graphics.height - h, w, hh)
    @help_window.create_contents
  end
 
  alias amn_dqbattle_scenebattle_startactorcmdselect  start_actor_command_selection
  def start_actor_command_selection
    amn_dqbattle_scenebattle_startactorcmdselect
    @dummy_window.setup(BattleManager.actor)
  end

  def turn_start
    @party_command_window.close
    @actor_command_window.close
    @dummy_window.close
    @enemy_window.deactivate.hide
    @subject =  nil
    BattleManager.turn_start
    if Jami_DQ_Battle::HUD_HIDE
      @DQ_status_window.height = @DQ_status_window.fitting_height(2)
      @info_viewport.rect.height = @DQ_status_window.fitting_height(2)
    end
    @log_window.clear
  end

  def turn_end
    all_battle_members.each do |battler|   
      battler.on_turn_end   
      refresh_status   
      if Jami_DQ_Battle::HUD_HIDE
        @DQ_status_window.height = 110
        @DQ_status_window.update_padding
        @info_viewport.rect.height = @DQ_status_window.height
      end   
      @log_window.display_auto_affected_status(battler)   
      @log_window.wait_and_clear
    end
    BattleManager.turn_end
    process_event
    start_party_command_selection
  end
 
  def update_message_open
    if $game_message.busy?
      @message_window.openness = 0
      @party_command_window.close   
      @actor_command_window.close
      @dummy_window.close
      @message_window.openness = 255
    end
  end
 
  def on_enemy_ok
    unless @actor_command_window.visible
      @actor_command_window.show
      @dummy_window.show
    end
    case @actor_command_window.current_symbol
    when :skill
      @enemy_window.y += @enemy_window.height
    when :item
      @enemy_window.y += @enemy_window.height
    end
    BattleManager.actor.input.target_index = @enemy_window.enemy.index
    @skill_window.hide
    @item_window.hide
    @enemy_window.hide # added on
    next_command
  end

  def on_enemy_cancel
    @enemy_window.deactivate
    case @actor_command_window.current_symbol
    when :attack
      @actor_command_window.activate
      @enemy_window.hide # added on
    when :skill
      @skill_window.activate
      @enemy_window.hide
    when :item
      @item_window.activate
      @enemy_window.hide
    end
  end
 
  alias amn_dqbattle_scenebattle_commandskill command_skill
  def command_skill
    amn_dqbattle_scenebattle_commandskill
    @enemy_window.y -= @enemy_window.height
    @enemy_window.deactivate.hide
    @actor_command_window.hide
    @dummy_window.hide
  end

  alias amn_dqbattle_scenebattle_commanditem command_item
  def command_item
    amn_dqbattle_scenebattle_commanditem
    @enemy_window.y -= @enemy_window.height
    @enemy_window.deactivate.hide
    @actor_command_window.hide
    @dummy_window.hide
  end
 
  alias amn_dqbattle_scenebattle_onactorok on_actor_ok
  def on_actor_ok
    unless @actor_command_window.visible
      @actor_command_window.show
      @dummy_window.show
    end
    @enemy_window.y += @enemy_window.height
    amn_dqbattle_scenebattle_onactorok
  end
 
  alias amn_dqbattle_scenebattle_onskillok  on_skill_ok
  def on_skill_ok
    amn_dqbattle_scenebattle_onskillok
    @skill = @skill_window.item
    if !@skill.need_selection?
      @enemy_window.y += @enemy_window.height
      @actor_command_window.show
      @dummy_window.show
      @enemy_window.deactivate.show
    end
  end

  alias amn_dqbattle_scenebattle_onskillcancel  on_skill_cancel
  def on_skill_cancel
    amn_dqbattle_scenebattle_onskillcancel
    @enemy_window.y += @enemy_window.height
    @enemy_window.deactivate.hide
    @actor_command_window.show
    @dummy_window.show
  end

  alias amn_dqbattle_scenebattle_onitemok  on_item_ok
  def on_item_ok
    amn_dqbattle_scenebattle_onitemok
    @item = @item_window.item
    if !@item.need_selection?
      @enemy_window.y += @enemy_window.height
      @actor_command_window.show
      @dummy_window.show
      @enemy_window.deactivate.show
    end
  end

  alias amn_dqbattle_scenebattle_onitemcancel  on_item_cancel
  def on_item_cancel
    amn_dqbattle_scenebattle_onitemcancel
    @enemy_window.deactivate.hide
    @enemy_window.y += @enemy_window.height
    @actor_command_window.show
    @dummy_window.show
  end
 
end
class Scene_Map < Scene_Base
  def perform_transition
    if Graphics.brightness == 0
      Graphics.transition(0)
      fadein(fadein_speed)
    else
      super
    end
  end
end

class Scene_Menu < Scene_MenuBase
  def transition_speed
    return 0
  end
 
  def terminate
    super
    Graphics.transition(0)
  end
end
 

Panda_Artist

Humble RPG Fan
Veteran
Joined
Dec 22, 2018
Messages
408
Reaction score
34
First Language
Portuguese
Primarily Uses
RMVXA
Is RPG Maker supposed to be this frustrating game of whack-a-mole?

This works perfectly but now Akea's battle cursor refuses to work whenever I select a skill that targets all enemies or allies the game just freezes....

whenever I pick a skill that targets ALL (allies or enemies)


 
Last edited:

Roninator2

Gamer
Veteran
Joined
May 22, 2016
Messages
4,477
Reaction score
1,248
First Language
English
Primarily Uses
RMVXA
It's just not compatible with this battle system
The battle cursor overwrites too many methods and is really designed to work for the default battle system.
I tested VE target arrow and it works fine.
If you also need a menu cursor use Yanfly menu cursor script.
 

Panda_Artist

Humble RPG Fan
Veteran
Joined
Dec 22, 2018
Messages
408
Reaction score
34
First Language
Portuguese
Primarily Uses
RMVXA
VE Target Arrow isn't registering my actor battlers for some reason... just give me a minute i'll test it again...!

EDIT



16.08.2022_17.51.52_REC.png

16.08.2022_17.51.06_REC.png

EDIT

NOW I 16.08.2022_17.55.03_REC.png

THIS seems to have made it work

is this what you did as well?


AGAIN , EDIT


This really feels like playing whack-a-mole lmao


16.08.2022_17.56.35_REC.png

When I set these options to false

16.08.2022_17.56.18_REC.png

This happens...


ALSO

Now I tested all the scripts together

16.08.2022_18.00.22_REC.png


All settings set to true now


BUT STILL I GOT THIS ERROR, A DIFFERENT ERROR TOO...!

16.08.2022_18.00.01_REC.png
 
Last edited:

Roninator2

Gamer
Veteran
Joined
May 22, 2016
Messages
4,477
Reaction score
1,248
First Language
English
Primarily Uses
RMVXA
That's your test project?
You may just have to move some scripts around.
I had VE target arrow below the DQ battle scripts.
This is my current project for a remake of Dragon Warrior.
1660669593115.png minus the VE scripts since I don't need them
 

Panda_Artist

Humble RPG Fan
Veteran
Joined
Dec 22, 2018
Messages
408
Reaction score
34
First Language
Portuguese
Primarily Uses
RMVXA
Excuse my double posting

TIL I'm dumb as bricks

16.08.2022_18.07.26_REC.png

THIS seemed to have made everything work well so far...!
 

Panda_Artist

Humble RPG Fan
Veteran
Joined
Dec 22, 2018
Messages
408
Reaction score
34
First Language
Portuguese
Primarily Uses
RMVXA
I will not ask anyone to actually do this, but now the cherry on the top for the image script is to make it ANIMATED! :D

but I know this is proably pretty hard to do...!

Anyway, thank you so much! I can make real use of this one!
 

Panda_Artist

Humble RPG Fan
Veteran
Joined
Dec 22, 2018
Messages
408
Reaction score
34
First Language
Portuguese
Primarily Uses
RMVXA
Here is your request, but with AMN addon included. You can modify this to suit your needs.
Ruby:
# ╔═════════════════════════════════════╦════════════════════╗
# ║ Title: Show Box On Actor            ║  Version: 1.00     ║
# ║ Author: Roninator2                  ║                    ║
# ╠═════════════════════════════════════╬════════════════════╣
# ║ Function:                           ║   Date Created     ║
# ║                                     ╠════════════════════╣
# ║ Show box on actor command selection ║    15 Aug 2022     ║
# ╚═════════════════════════════════════╩════════════════════╝
# ╔══════════════════════════════════════════════════════════╗
# ║ Image must be in Graphics\System folder.                 ║
# ╚══════════════════════════════════════════════════════════╝
# ╔═════════════════════════════════════╗
# ║ Terms of use:                       ║
# ║ Free for all uses in RPG Maker      ║
# ╚═════════════════════════════════════╝

module R2_Window_Select_Box
  Image = "Status_Select"
end

class Window_DQ_BattleStatus < Window_Base
 
#---------------------------------------------------- 
# * Draw Actor Info
#----------------------------------------------------
  def draw_actor_info(actor, x, y, width)
    draw_face(actor.face_name, actor.face_index, x, y, false) if Jami_DQ_Battle::SHOW_FACE
    draw_actor_names(actor, x, y) # modified
    draw_actor_hp(actor, x, y+24, width)
    draw_actor_mp(actor, x, y+44, width)
    draw_actor_level(actor, x, y+64)
    draw_actor_icons(actor, x+60, y)
  end
#---------------------------------------------------- 
# * Draw Actor Name
#----------------------------------------------------
  # roninator addon
  def draw_actor_names(actor, x, y, width = 112)
    change_color(hp_color(actor))
    text = actor.name
    text = text[0..((width / 13) - 1)]
    draw_text(x, y, width, line_height, text)
  end
#---------------------------------------------------- 
# * Draw Active Actor 
#----------------------------------------------------
  def draw_active_box(index)
    clear_select if @box
    @box = Sprite.new
    @box.bitmap = Cache.system(R2_Window_Select_Box::Image)
    width =
    @box.z = self.z + 120
    @box.x = index * 107 + 5
    @box.y += 8
  end
#---------------------------------------------------- 
# * Remove Select Box
#----------------------------------------------------
  def clear_select
    @box.bitmap.dispose
    @box.dispose
  end
end

class Scene_Battle < Scene_Base
  def prior_command
    if BattleManager.prior_command
      start_actor_command_selection
    else
      @DQ_status_window.clear_select
      start_party_command_selection
    end
  end
  alias r2_dqbattle_statusselect  start_actor_command_selection
  def start_actor_command_selection
    r2_dqbattle_statusselect
    b = BattleManager.actor
    index = -1
    $game_party.members.each_with_index do |a, i|
      index = i if a.id == b.id
    end
    @DQ_status_window.draw_active_box(index)
  end
  alias r2_turn_start_dispose_select_box  turn_start
  def turn_start
    @DQ_status_window.clear_select
    r2_turn_start_dispose_select_box
  end
end
View attachment 237904 <- status box


This wonderful piece of code you made!! if it ever made it so it became a multi-frame animated image than it would make it even more versatile!

of course I honestly think this is pretty challenging to do, even for experienced coders. I feel bad for asking and I will not. Just entertaining the idea that maybe someone would do it eventually.
 

Roninator2

Gamer
Veteran
Joined
May 22, 2016
Messages
4,477
Reaction score
1,248
First Language
English
Primarily Uses
RMVXA
code above updated
 
Last edited:

Latest Threads

Latest Profile Posts

ScreenShot_11_27_2022_10_0_8.png
finally finished all the sprites for my friend's Comic book OC that I put in my game.
1669612924226.png
Added collectible trading cards to my current game, bio-Synthetica.
I plan to have a total of 20 different BATTLE-bot cards you can find & collect.
100 likes.jpg

I reached 100 followers on my new twitter! It's not much but it's honest work

Forum statistics

Threads
126,893
Messages
1,182,146
Members
166,693
Latest member
Glakus
Top