O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Akea Battle Window

Iniciado por Raizen, 04/05/2014 às 21:40

Akea Battle Window

Compativel com: RMVXAce
Compatibilidade :boa
Facilidade de uso: fácil
Lag gerado: baixo
[box class=titlebg]
Condições de Uso
[/box]
  Pode ser modificado, e divulgado, mas mantenha os créditos a mim obrigado.

[box class=titlebg]
Para que serve o script
[/box]
  O script personaliza o layout de batalha, mudando como as janelas funcionam e permitindo que sejam todas por imagens.

As funcionalidades já inclusas no script são as seguintes
  • Cursor por imagem no lugar do cursor padrão
  • Todas as janelas podem ser por imagens
  • Compatível com sistemas que apareçam battlers na tela

    Para obter mais funcionalidades, basta adicionar add-ons de batalha junto com esse script

    [box class=titlebg]
    Script
    [/box]

    Download

    Script

    [box class=titlebg]
    Imagens e Videos
    [/box]


    Spoiler
    [close]
    Spoiler
    [close]

    [box class=titlebg]
    Créditos e Avisos
    [/box]

    Raizen pelo script

:rainbow: Mais um sistema lindo.
Não tenho muito o que falar seus scripts são incríveis
todos que eu vejo eu quero colocar em meu projeto,
parabéns e continue assim.
:clap:
Conheça também:
                   

Projetos:
Sword art Online The Last Time - Protocolo Fantasma Re: - Gazewyrim

Citação de: Marcelo Akihiro online 05/05/2014 às 02:03
:rainbow: Mais um sistema lindo.
Não tenho muito o que falar seus scripts são incríveis
todos que eu vejo eu quero colocar em meu projeto,
parabéns e continue assim.
:clap:
Vlws manolo *--*, tá chegando perto de eu configurar e lançar o sistema completo, tenho mais 2-3 addóns em mente, ai vou fazer um bem bolado xD.

Bem bonito e legal! Gostei bastante.
Depois vou ver com calma as configurações, se der pra customizar legal, melhor ainda =w=) <3

Só falta agora o raizen criar um Monogatari pra se consagrar God Of Ruby EHUEUHEHUEHUEH
'-' não tio, não estou duvidando, EHUEUUHEEUHEUHEUHE

Citação de: JosephSeraph online 05/05/2014 às 17:28
Bem bonito e legal! Gostei bastante.
Depois vou ver com calma as configurações, se der pra customizar legal, melhor ainda =w=) <3
Vlws manolo *--*, eu acho que dá, mas sei lá shUASHu, enfim vlws ai de verdade :D

Citação de: SimonMuran online 05/05/2014 às 17:44
Só falta agora o raizen criar um Monogatari pra se consagrar God Of Ruby EHUEUHEHUEHUEH
'-' não tio, não estou duvidando, EHUEUUHEEUHEUHEUHE
Aquele menu do Mog xD? Ah nem tenho condição, o Mog além de exímio scripter manda muito bem de design, eu sou um zero a esquerda em design shAUSH,  :ded: , mas enfim, já estou terminando todos os add-ons que eu pretendia, e em breve vou juntar toda essa gororoba e ver o que sai.

Citação de: Raizen online 05/05/2014 às 17:49
Citação de: SimonMuran online 05/05/2014 às 17:44
Só falta agora o raizen criar um Monogatari pra se consagrar God Of Ruby EHUEUHEHUEHUEH
'-' não tio, não estou duvidando, EHUEUUHEEUHEUHEUHE
Aquele menu do Mog xD? Ah nem tenho condição, o Mog além de exímio scripter manda muito bem de design, eu sou um zero a esquerda em design shAUSH,  :ded: , mas enfim, já estou terminando todos os add-ons que eu pretendia, e em breve vou juntar toda essa gororoba e ver o que sai.

Vc sempre pode recorrer a designers na comunidade pra te ajudarem com o design de uma GUI legal =w=
Afinal, um script não é algo de interesse comum? ;D

Oi Raizen, utilizo o script Akea Battle Window em meu projeto, e creio que é nele que está o meu problema. Quando aperto para baixo vai para opção de cima e quando aperto cima vai para baixo. Tem como deixar isso da forma lógica cima-cima e baixo-baixo? Tentei inverter os comandos do "def" mas não mudou, no menu de itens fica como quero, no menu principal não.

Citação de: Selitto online 24/02/2017 às 13:11
Oi Raizen, utilizo o script Akea Battle Window em meu projeto, e creio que é nele que está o meu problema. Quando aperto para baixo vai para opção de cima e quando aperto cima vai para baixo. Tem como deixar isso da forma lógica cima-cima e baixo-baixo? Tentei inverter os comandos do "def" mas não mudou, no menu de itens fica como quero, no menu principal não.

Que estranho, tem certeza que é esse? Não é o outro que tenho aqui?
http://centrorpg.com/index.php?topic=11672.0

26/02/2017 às 02:46 #9 Última edição: 26/02/2017 às 03:07 por Selitto
Citação de: Raizen online 26/02/2017 às 01:35
Citação de: Selitto online 24/02/2017 às 13:11
Oi Raizen, utilizo o script Akea Battle Window em meu projeto, e creio que é nele que está o meu problema. Quando aperto para baixo vai para opção de cima e quando aperto cima vai para baixo. Tem como deixar isso da forma lógica cima-cima e baixo-baixo? Tentei inverter os comandos do "def" mas não mudou, no menu de itens fica como quero, no menu principal não.

Que estranho, tem certeza que é esse? Não é o outro que tenho aqui?
http://centrorpg.com/index.php?topic=11672.0

Vish, que estranho to com esse HUD no jogo, mas não to usando la nos scripts só tem esses:
Akea Active Time Battle - Raizen
Akea Battle Cry
Akea Animated Battle Cursor
Akea Battle Window

EDIT:Está com nome diferente mas acho que é o mesmo:
Spoiler
#=======================================================
#        Akea Battle Window
# Autor: Raizen
# Comunidade: http://www.centrorpg.com/
# Compatibilidade: RMVXAce
#
#=======================================================
# =========================Não modificar==============================
$imported ||= Hash.new
$imported[:akea_bw_animated] = true
module Akea_Battle_Window
Party_Pos = []
Party_Pos2 = []
Help_Pos = []
Help_Pos2 = []
# =========================Não modificar==============================
# Mostrar icone dos itens/skills?
Show_Icon = true

# Mostrar nome dos itens/skills?
Show_Name = true

# Mostrar custo/quantidade dos skills/itens?
Show_Cost = true

# Posição da janela de Lutar/Fugir
Fight_Pos = [200, 150]

# Distancia entre as 2 janelas
Fight_Pos_Dist = [0, 50]

# Posição das imagens de comando da party Party_Pos[id] = [x, y]
Party_Pos[0] = [250, 110]
Party_Pos[1] = [310, 145]
Party_Pos[2] = [250, 180]
Party_Pos[3] = [310, 215]

# Posição das imagens de skills da party Party_Pos[id] = [x, y]
Party_Pos2[0] = [100, 110]
Party_Pos2[1] = [160, 145]
Party_Pos2[2] = [100, 180]
Party_Pos2[3] = [160, 215]

# Velocidade do movimento das janelas = [x, y]
Move_Speed = [3, 4]

# Imagem de fundo(Lutar)
Fight_Pic = "Fight_Back"
# Imagem de fundo(Fugir)
Run_Pic = "Run_Back"
# Imagem de fundo dos comandos
Back_Base_Command_Pic = "Skill_Back"
# Imagem de fundo dos skills
Back_Base_Skills_Pic = "Skill_Back"


# Tamanho da janela de skills(para efeitos de correção)
Skill_Window_Size = [160, 50]

# Tamanho da janela de comandos(para efeitos de correção)
Command_Window_Size = [150, 50]
# Alinhamento do texto (0 = esquerda, 1 = centro, 2 = direita)
Text_Align = 1

# Para efeitos de correção da posição do custo/quantidade do item
Cost_Align = 70
# Posição da janela de help de acordo com a party
Help_Pos[0] = [0, 220]
Help_Pos[1] = [0, 220]
Help_Pos[2] = [0, 50]
Help_Pos[3] = [0, 50]
# Posição da imagem de help de acordo com a party
Help_Pos2[0] = [0, 170]
Help_Pos2[1] = [0, 170]
Help_Pos2[2] = [0, 0]
Help_Pos2[3] = [0, 0]

# Imagem de fundo da janela de Help
Help_Image = "Help_Back"
# Opacidade da janela de Help
Help_Opacity = 0

#  Imagens da janela de status, qualquer parte que não queira que seja
# por imagens, basta colocar como '' o nome da imagem

# Imagem de fundo dos status (1 para cada personagem)
Status_Window_Base = 'Fundo'

# Imagem de frente dos status (1 para cada personagem)
Status_Window_Over = 'Borda'

# Barras de status
Status_HP = 'HP_BAR'
Status_MP = 'MP_BAR'
Status_TP = 'TP_BAR'

# Num = Valor atual(HP, MP ou TP)
# Max = Valor máximo(HP, MP ou TP)
# Hash = a imagem da barra que separa o máximo do atual
HP_Num = 'Numbers_Hud'
HP_Max = ''
HP_Hash = ''
MP_Num = 'Numbers_Hud'
MP_Max = ''
MP_Hash = ''
TP_Num = 'Numbers_Hud'
TP_Max = ''
TP_Hash = ''

# Espaço entre os números do status
Number_Spacing = 10


# Recorte da face, caso não use uma face desse modo basta
# Face_Rect = false
# Face_Rect pode ser configurado por
# [x, y, largura, altura]
Face_Rect = [0, 27, 96, 27]

# Taxa de atualização do Estado do Personagem
State_Update = 60

# Aqui é configurado todas as posições de imagens da Hud por
# Personagem da party!
Status_Actor_Pos = []


# Posição de todas as imagens sempre seguindo o padrão
# [posição em X, posição em Y]
Status_Actor_Pos[0] = {
:Windows_Back => [26, 296],
:State_Pos => [142, 297],
:Hp_Bar => [180, 308],
:Mp_Bar => [256, 308],
:Tp_Bar => [332, 308],
:Hp_Num => [237, 299],
:Hp_Hash => [80, 296],
:Hp_Max => [70, 310],
:Mp_Num => [314, 299],
:Mp_Hash => [160, 296],
:Mp_Max => [150, 310],
:Tp_Num => [386, 299],
:Tp_Hash => [240, 296],
:Tp_Max => [230, 310],
:Face => [26, 296],
}
Status_Actor_Pos[1] = {
:Windows_Back => [26, 326],
:State_Pos => [142, 327],
:Hp_Bar => [180, 338],
:Mp_Bar => [256, 338],
:Tp_Bar => [332, 338],
:Hp_Num => [237, 326],
:Hp_Hash => [80, 326],
:Hp_Max => [70, 340],
:Mp_Num => [314, 326],
:Mp_Hash => [160, 326],
:Mp_Max => [150, 340],
:Tp_Num => [386, 326],
:Tp_Hash => [240, 326],
:Tp_Max => [230, 340],
:Face => [26, 326],
}
Status_Actor_Pos[2] = {
:Windows_Back => [26, 356],
:State_Pos => [142, 357],
:Hp_Bar => [180, 368],
:Mp_Bar => [256, 368],
:Tp_Bar => [332, 368],
:Hp_Num => [237, 356],
:Hp_Hash => [80, 356],
:Hp_Max => [70, 370],
:Mp_Num => [314, 356],
:Mp_Hash => [160, 356],
:Mp_Max => [314, 356],
:Tp_Num => [386, 356],
:Tp_Hash => [240, 330],
:Tp_Max => [230, 370],
:Face => [26, 356],
}
Status_Actor_Pos[3] = {
:Windows_Back => [26, 386],
:State_Pos => [142, 387],
:Hp_Bar => [180, 398],
:Mp_Bar => [256, 398],
:Tp_Bar => [332, 398],
:Hp_Num => [237, 386],
:Hp_Hash => [80, 386],
:Hp_Max => [70, 400],
:Mp_Num => [314, 386],
:Mp_Hash => [160, 386],
:Mp_Max => [150, 400],
:Tp_Num => [386, 386],
:Tp_Hash => [240, 386],
:Tp_Max => [230, 400],
:Face => [26, 386],
}

# Imagens especificas para os comandos do personagem,
# Apenas para demonstrar que o script permite essa configuração,
# Coloque 'Nome' => 'Nome_da_Imagem'
Back_Base_Pic = {
'Atacar' => 'Skill_Back',

}
end

#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
#  Esta classe executa o processamento da tela de batalha.
#==============================================================================

class Scene_Battle < Scene_Base
alias :akea_bw_create_all_windows :create_all_windows
alias :akea_bw_update :update
alias :akea_bw_command_item :command_item
alias :akea_bw_turn_start :turn_start
alias :akea_bw_start_party_command_selection :start_party_command_selection
alias :akea_bw_dispose_all_windows :dispose_all_windows
alias :akea_bw_command_skill :command_skill
alias :akea_bw_command_item :command_item
  #--------------------------------------------------------------------------
  # * Criação da janela de atributos
  #--------------------------------------------------------------------------
  def create_status_window
    @status_window = Window_Akea_BattleStatus.new
    @status_window.x = 128
  end
  #--------------------------------------------------------------------------
  # * Criação de todas as janelas
  #--------------------------------------------------------------------------
  def create_all_windows(*args, &block)
    @akea_bw_icon = Array.new
    @akea_bw_old_icons = Array.new($game_party.battle_members.size, -1)
    for n in 0...$game_party.battle_members.size
      @akea_bw_icon[n] = Sprite.new
      @akea_bw_icon[n].bitmap = Cache.system("Iconset")
      @akea_bw_icon[n].opacity = 0
      @akea_bw_icon[n].x = Akea_Battle_Window::Status_Actor_Pos[n][:State_Pos][0]
      @akea_bw_icon[n].y = Akea_Battle_Window::Status_Actor_Pos[n][:State_Pos][1]
      @akea_bw_icon[n].z = 1
    end
    akea_bw_create_all_windows(*args, &block)
  end
  #--------------------------------------------------------------------------
  # * Comando [Skill]
  #--------------------------------------------------------------------------
  def command_skill
    akea_bw_command_skill
    @skill_window.refresh_aux_windows
  end
  #--------------------------------------------------------------------------
  # * Comando [Item]
  #--------------------------------------------------------------------------
  def command_item
    akea_bw_command_item
    @item_window.refresh_aux_windows
  end
  #--------------------------------------------------------------------------
  # * Disposição de todas as janelas
  #--------------------------------------------------------------------------
  def dispose_all_windows
    @akea_bw_icon.each{|icon| icon.bitmap.dispose; icon.dispose}
    akea_bw_dispose_all_windows
  end
  #--------------------------------------------------------------------------
  # * Iniciar seleção de grupo
  #--------------------------------------------------------------------------
  def start_party_command_selection
    akea_bw_start_party_command_selection
    @item_window.refresh_aux_windows
  end
  #--------------------------------------------------------------------------
  # * Início do turno
  #--------------------------------------------------------------------------
  def turn_start
    18.times{update}
    akea_bw_turn_start
  end
  #--------------------------------------------------------------------------
  # * Comando [Item]
  #--------------------------------------------------------------------------
  def command_item
    @item_window.actor = BattleManager.actor
    akea_bw_command_item
  end
  #--------------------------------------------------------------------------
  # * Atualização da tela
  #--------------------------------------------------------------------------
  def update
    update_state_icon if Graphics.frame_count % Akea_Battle_Window::State_Update == 0
    update_akea_windows unless BattleManager.in_turn?
    akea_bw_update
  end
  #--------------------------------------------------------------------------
  # * Atualização dos estados dos personagens
  #--------------------------------------------------------------------------
  def update_state_icon
    for n in 0...$game_party.battle_members.size
      update_state_icon_actor(n, $game_party.battle_members[n])
    end   
  end
  #--------------------------------------------------------------------------
  # * Desenho dos ícones de estado, foralecimento e enfraquecimento
  #     actor  : herói
  #     x      : coordenada X
  #     y      : coordenada Y
  #     width  : largura
  #--------------------------------------------------------------------------
  def update_state_icon_actor(n, actor)
    if actor.state_icons.empty? && actor.buff_icons.empty?
      @akea_bw_icon[n].opacity = 0
    else
      icons = (actor.state_icons + actor.buff_icons)
      y = icons.index(@akea_bw_old_icons[n])
      if y
        icons[y + 1] ?  y += 1 : y = 0
      else
        y = 0
      end
      set_icon = icons[y]
      @akea_bw_icon[n].opacity = 255
      @akea_bw_icon[n].src_rect.set(set_icon % 16 * 24, set_icon / 16 * 24, 24, 24)
      @akea_bw_old_icons[n] = set_icon
    end
  end
  #--------------------------------------------------------------------------
  # * Atualização das janelas
  #--------------------------------------------------------------------------
  def update_akea_windows
    if @party_command_window.active
      @party_command_window.move_aux_windows
    else
      @party_command_window.return_aux_windows
    end
    if @actor_command_window.active
      @actor_command_window.move_aux_windows(true)
    elsif @skill_window.active || @item_window.active
      @actor_command_window.move_aux_windows(false)
    else
      @actor_command_window.return_aux_windows
    end
    if @skill_window.active
      @skill_window.update_contents
    else
      @skill_window.return_aux_windows
    end
    if @item_window.active
      @item_window.update_contents
    else
      @item_window.return_aux_windows
    end
  end
  #--------------------------------------------------------------------------
  # * Criação do viewport de informações
  #--------------------------------------------------------------------------
  def create_info_viewport
    @info_viewport = Viewport.new
    @info_viewport.rect.y = 0
    @info_viewport.rect.height = @status_window.height
    @info_viewport.z = 100
    @info_viewport.ox = 128
    @status_window.viewport = @info_viewport
  end
  #--------------------------------------------------------------------------
  # * Movimento da exibição do viewport de informações
  #     ox : nova coordenada x
  #--------------------------------------------------------------------------
  def move_info_viewport(ox)
  end
end

#==============================================================================
# ** Window_ActorCommand
#------------------------------------------------------------------------------
#  Esta janela é usada para selecionar os comandos do herói na tela de batalha.
#==============================================================================

class Window_ActorCommand < Window_Command
alias :akea_bw_animated_initialize :initialize
alias :akea_bw_setup :setup
alias :akea_bw_dispose :dispose
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #--------------------------------------------------------------------------
  def initialize
    akea_bw_animated_initialize
    self.opacity = 0
    self.contents_opacity = 0
    self.y -= Graphics.height
    create_aux_windows
  end
  #--------------------------------------------------------------------------
  # * Atualização do cursor
  #--------------------------------------------------------------------------
  def update_cursor
    cursor_rect.empty
  end
  #--------------------------------------------------------------------------
  # * Atualização do cursor
  #--------------------------------------------------------------------------
  def update_cursor
    cursor_rect.empty
  end
  #--------------------------------------------------------------------------
  # * Criação das janelas auxiliares
  #--------------------------------------------------------------------------
  def create_aux_windows
    @actor_command_windows = Array.new($data_system.skill_types.size)
    for n in 0...($data_system.skill_types.size + 3)
      @actor_command_windows[n] = Window_Command_Akea.new(0, 0, Akea_Battle_Window::Command_Window_Size[0], Akea_Battle_Window::Command_Window_Size[1])
      @actor_command_windows[n].opacity = 0
      @actor_command_windows[n].contents_opacity = 0
      @actor_command_windows[n].y = n*40
      case n
      when 0
        @actor_command_windows[n].show_contents(Vocab::attack, Akea_Battle_Window::Back_Base_Pic[Vocab::attack] ? Akea_Battle_Window::Back_Base_Pic[Vocab::attack] : Akea_Battle_Window::Back_Base_Command_Pic)
      when 1...$data_system.skill_types.size
        @actor_command_windows[n].show_contents($data_system.skill_types[n], Akea_Battle_Window::Back_Base_Pic[$data_system.skill_types[n]] ? Akea_Battle_Window::Back_Base_Pic[$data_system.skill_types[n]] : Akea_Battle_Window::Back_Base_Command_Pic)
      when $data_system.skill_types.size
        @actor_command_windows[n].show_contents(Vocab::guard, Akea_Battle_Window::Back_Base_Pic[Vocab::guard] ? Akea_Battle_Window::Back_Base_Pic[Vocab::guard] : Akea_Battle_Window::Back_Base_Command_Pic)
      when $data_system.skill_types.size + 1
        @actor_command_windows[n].show_contents(Vocab::item, Akea_Battle_Window::Back_Base_Pic[Vocab::item] ? Akea_Battle_Window::Back_Base_Pic[Vocab::item] : Akea_Battle_Window::Back_Base_Command_Pic)
      end
    end
  end
  def dispose
    @actor_command_windows.each{|obj| obj.dispose}
    akea_bw_dispose
  end
  #--------------------------------------------------------------------------
  # * Criação da lista de comandos
  #--------------------------------------------------------------------------
  def make_command_list
    return unless @actor
    add_attack_command
    add_skill_commands
    add_guard_command
    add_item_command
  end
  #--------------------------------------------------------------------------
  # * Adicionar comados aos personagens
  #--------------------------------------------------------------------------
  def make_actor_commands
    @actor_has_command << 0 if @actor.attack_usable?
    @actor.added_skill_types.sort.each{|stype_id| @actor_has_command << stype_id}
    @actor_has_command << $data_system.skill_types.size if @actor.guard_usable?
    @actor_has_command << $data_system.skill_types.size + 1
  end
  #--------------------------------------------------------------------------
  # * Animação de retorno das janelas
  #--------------------------------------------------------------------------
  def return_aux_windows
    @actor_command_windows.each{|pic| pic.contents_opacity -= 20}
  end
  #--------------------------------------------------------------------------
  # * Movimentação das janelas
  #--------------------------------------------------------------------------
  def move_aux_windows(opac)
    for n in 1...(self.index)
      take_opacity(@actor_has_command[self.index - 1 - n])
      move_aux(@actor_has_command[self.index - 1 - n], (n + 1)*(Akea_Battle_Window::Move_Speed[0] * -10) + @actor_pos_x,  (n + 1)*Akea_Battle_Window::Move_Speed[1] * 10 + @actor_pos_y)
    end
    for n in (self.index + 2)...item_max
      take_opacity(@actor_has_command[n])
      move_aux(@actor_has_command[n], (n - self.index)*(Akea_Battle_Window::Move_Speed[0] * -10) + @actor_pos_x,  (n - self.index)*Akea_Battle_Window::Move_Speed[1] * -10 + @actor_pos_y)
    end
    if self.index > 0
      if opac
        side_opacity(@actor_has_command[self.index - 1])
        move_aux(@actor_has_command[self.index - 1],  Akea_Battle_Window::Move_Speed[0] * -10 + @actor_pos_x,  Akea_Battle_Window::Move_Speed[1] * 10 + @actor_pos_y)
      else
        take_opacity(@actor_has_command[self.index - 1])
        move_aux(@actor_has_command[self.index - 1],  @actor_pos_x, @actor_pos_y)
      end
    end
    if self.index + 1 < item_max
      if opac
        side_opacity(@actor_has_command[self.index + 1])
        move_aux(@actor_has_command[self.index + 1],  Akea_Battle_Window::Move_Speed[0] * -10 + @actor_pos_x,  Akea_Battle_Window::Move_Speed[1] * -10 + @actor_pos_y)
      else
        take_opacity(@actor_has_command[self.index + 1])
        move_aux(@actor_has_command[self.index + 1], @actor_pos_x, @actor_pos_y)
      end
    end
    move_aux(@actor_has_command[self.index], @actor_pos_x, @actor_pos_y)
    center_opacity(@actor_has_command[self.index])
  end
  #--------------------------------------------------------------------------
  # * Comando de opacidade lateral
  #--------------------------------------------------------------------------
  def side_opacity(i)
    if @actor_command_windows.contents_opacity < 140
      @actor_command_windows.contents_opacity += 15
    elsif @actor_command_windows.contents_opacity  > 160
      @actor_command_windows.contents_opacity -= 15
    end
  end
  #--------------------------------------------------------------------------
  # * Comando de opacidade central
  #--------------------------------------------------------------------------
  def center_opacity(i)
    @actor_command_windows.contents_opacity += 15
  end
  #--------------------------------------------------------------------------
  # * Comando de tirar opacidade(com fade)
  #--------------------------------------------------------------------------
  def take_opacity(i)
   @actor_command_windows.contents_opacity -= 15
  end
  #--------------------------------------------------------------------------
  # * Comando de tirar opacidade(sem fade)
  #--------------------------------------------------------------------------
  def take_all_opacity
    @actor_command_windows.each{|com| com.contents_opacity = 0}
  end
  #--------------------------------------------------------------------------
  # * Método de movimentação das janelas
  #--------------------------------------------------------------------------
  def move_aux(n, pos_x, pos_y)
     @actor_command_windows[n].x += Akea_Battle_Window::Move_Speed[0] if @actor_command_windows[n].x < pos_x
     @actor_command_windows[n].x -= Akea_Battle_Window::Move_Speed[0] if @actor_command_windows[n].x > pos_x
     @actor_command_windows[n].y += Akea_Battle_Window::Move_Speed[1] if @actor_command_windows[n].y < pos_y
     @actor_command_windows[n].y -= Akea_Battle_Window::Move_Speed[1] if @actor_command_windows[n].y > pos_y
   end
  #--------------------------------------------------------------------------
  # * Movimento do cursor para cima
  #--------------------------------------------------------------------------
  def cursor_right(wrap = false)
    super(false)
  end
  #--------------------------------------------------------------------------
  # * Movimento do cursor para baixo
  #--------------------------------------------------------------------------
   def cursor_left(wrap = false)
    super(false)
  end
  #--------------------------------------------------------------------------
  # * Configuração inicial
  #     actor : herói
  #--------------------------------------------------------------------------
  def setup(actor)
    p_index = $game_party.members.index(actor)
    @actor_has_command = []
    @actor_pos_x = Akea_Battle_Window::Party_Pos[p_index][0]
    @actor_pos_y = Akea_Battle_Window::Party_Pos[p_index][1]
    @actor_command_windows.each{|pic| pic.x = @actor_pos_x; pic.y = @actor_pos_y}
    akea_bw_setup(actor)
    select(1)
    make_actor_commands
    @actor_command_windows.each{|item| item.opacity = 0 ; item.contents_opacity = 0}
  end
end
#==============================================================================
# ** Window_Command_Akea
#------------------------------------------------------------------------------
#  Esta janela é a janela que exibe os comandos do personagem
#==============================================================================
class Window_Command_Akea < Window_Base
  #--------------------------------------------------------------------------
  # * Inicialização
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    @self_width = width
    @self_height = height
    super(x, y, width, height)
  end
  #--------------------------------------------------------------------------
  # * Mostrar o conteúdo da janela
  #--------------------------------------------------------------------------
  def show_contents(item, back_pic, skill = false)
    contents.clear
    bitmap = Cache.akea(back_pic)
    rect = Rect.new(0, 0, bitmap.width, bitmap.height)
    contents.blt(0, 0, bitmap, rect, 255)
    if item.is_a?(String)
      draw_text(0, 0, @self_width, line_height, item , Akea_Battle_Window::Text_Align)
      return
    end
    x = 30
    x = 80 if Akea_Battle_Window::Show_Cost
    if Akea_Battle_Window::Show_Icon
      draw_icon(item.icon_index, 0, 0, true)
      draw_text(30, 0, @self_width - x, line_height, item.name , Akea_Battle_Window::Text_Align) if Akea_Battle_Window::Show_Name
    else
      draw_text(0, 0, @self_width, line_height, item.name , Akea_Battle_Window::Text_Align) if Akea_Battle_Window::Show_Name
    end
    rect = Rect.new(@self_width - Akea_Battle_Window::Cost_Align, 0, 30, line_height)
    if skill
      draw_skill_cost(rect, item)
    else
      draw_item_number(rect, item)
    end
  end
  #--------------------------------------------------------------------------
  # * Desenho do custo das habilidades
  #     rect  : retângulo
  #     skill : habilidade
  #--------------------------------------------------------------------------
  def draw_skill_cost(rect, skill)
    if skill.tp_cost > 0
      change_color(tp_cost_color)
      draw_text(rect, skill.tp_cost, 2)
    elsif skill.mp_cost > 0
      change_color(mp_cost_color)
      draw_text(rect, skill.mp_cost, 2)
    end
    change_color(normal_color)
  end
  #--------------------------------------------------------------------------
  # * Desenho do número de itens possuido
  #     rect : retângulo
  #     item : item
  #--------------------------------------------------------------------------
  def draw_item_number(rect, item)
    draw_text(rect, sprintf(":%2d", $game_party.item_number(item)), 2)
  end
end


#==============================================================================
# ** Window_BattleStatus
#------------------------------------------------------------------------------
#  Esta janela exibe as condições de todos membros do grupo na tela de batalha.
#==============================================================================

class Window_Akea_BattleStatus < Window_BattleStatus
alias :akea_bw_initialize :initialize
alias :akea_bw_open :open
alias :akea_bw_close :close
alias :akea_bw_dispose :dispose
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #--------------------------------------------------------------------------
  def initialize
    akea_bw_initialize
    self.opacity = 0
    draw_static_windows
  end
  #--------------------------------------------------------------------------
  # * Método de abertura da janela
  #--------------------------------------------------------------------------
  def open
    akea_bw_open
    @back_actor_status.each{|window| window.opacity = 255}
    @front_actor_status.each{|window| window.opacity = 255}
  end
  #--------------------------------------------------------------------------
  # * Método de fechamento da janela
  #--------------------------------------------------------------------------
  def close
    akea_bw_close
    @back_actor_status.each{|window| window.opacity = 0}
    @front_actor_status.each{|window| window.opacity = 0}
  end
  #--------------------------------------------------------------------------
  # * Desenho das imagens auxiliares
  #--------------------------------------------------------------------------
  def draw_static_windows
    @back_actor_status = Array.new
    @front_actor_status = Array.new
    for n in 0...$game_party.battle_members.size
      param = Akea_Battle_Window::Status_Actor_Pos[n]
      draw_actor_back($game_party.battle_members[n], param, n)
      draw_actor_front($game_party.battle_members[n], param, n)
    end
  end
  #--------------------------------------------------------------------------
  # * Desenho das imagens de fundo
  #--------------------------------------------------------------------------
  def draw_actor_back(actor, param, n)
    @back_actor_status[n] = Sprite.new
    @back_actor_status[n].bitmap = Cache.akea(Akea_Battle_Window::Status_Window_Base)
    @back_actor_status[n].x = param[:Windows_Back][0]
    @back_actor_status[n].y = param[:Windows_Back][1]
    @back_actor_status[n].opacity = 0
  end
  #--------------------------------------------------------------------------
  # * Desenho das imagens de frente
  #--------------------------------------------------------------------------
  def draw_actor_front(actor, param, n)
    @front_actor_status[n] = Sprite.new
    @front_actor_status[n].bitmap = Cache.akea(Akea_Battle_Window::Status_Window_Over)
    @front_actor_status[n].x = param[:Windows_Back][0]
    @front_actor_status[n].y = param[:Windows_Back][1]
    @front_actor_status[n].opacity = 0
    @front_actor_status[n].z = 200
  end
  #--------------------------------------------------------------------------
  # * Atualização do cursor
  #--------------------------------------------------------------------------
  def update_cursor
    cursor_rect.empty
  end
  #--------------------------------------------------------------------------
  # * Atualização do espaçamento abaixo
  #--------------------------------------------------------------------------
  def update_padding_bottom
    #surplus = (height - standard_padding * 2) % item_height
    self.padding_bottom = 0
  end
  #--------------------------------------------------------------------------
  # * Aquisição do espaçamento entre os itens
  #--------------------------------------------------------------------------
  def spacing
    return 0
  end
  #--------------------------------------------------------------------------
  # * Espaçamento lateral padrão
  #--------------------------------------------------------------------------
  def standard_padding
    return 0
  end
  #--------------------------------------------------------------------------
  # * Aquisição da largura da janela
  #--------------------------------------------------------------------------
  def window_width
    Graphics.width
  end
  #--------------------------------------------------------------------------
  # * Aquisição da altura da janela
  #--------------------------------------------------------------------------
  def window_height
    Graphics.height + 20
  end
  #--------------------------------------------------------------------------
  # * Aquisição do número máximo de itens
  #--------------------------------------------------------------------------
  def item_max
    $game_party.battle_members.size
  end
  #--------------------------------------------------------------------------
  # * Renovação
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    draw_all_items
  end
  #--------------------------------------------------------------------------
  # * Desenho do item
  #     index : índice do item
  #--------------------------------------------------------------------------
  def draw_item(index)
    actor = $game_party.battle_members[index]
    draw_basic_area(actor, index)
  end
  #--------------------------------------------------------------------------
  # * Aquisição da largura da área do medidor
  #--------------------------------------------------------------------------
  def gauge_area_width
    return 220
  end
  #--------------------------------------------------------------------------
  # * Desenho da área básica
  #     rect  : retângulo
  #     actor : herói
  #--------------------------------------------------------------------------
  def draw_basic_area(actor, index)
    param = Akea_Battle_Window::Status_Actor_Pos[index]
    draw_actor_akea_hp(actor, param)
    draw_actor_akea_mp(actor, param)
    draw_actor_akea_tp(actor, param)
    draw_actor_akea_hp_num(actor, param)
    draw_actor_akea_mp_num(actor, param)
    draw_actor_akea_tp_num(actor, param)
    draw_akea_face(actor.face_name, actor.face_index, param) if Akea_Battle_Window::Face_Rect
  end
  #--------------------------------------------------------------------------
  # * Método de desenho : HP
  #--------------------------------------------------------------------------
  def draw_actor_akea_hp(actor, param)
    bitmap = Cache.akea(Akea_Battle_Window::Status_HP)
    rect = Rect.new(0, 0, bitmap.width * actor.hp_rate, bitmap.height)
    contents.blt(param[:Hp_Bar][0], param[:Hp_Bar][1], bitmap, rect, 255)
  end
  #--------------------------------------------------------------------------
  # * Método de desenho : MP
  #--------------------------------------------------------------------------
  def draw_actor_akea_mp(actor, param)
    bitmap = Cache.akea(Akea_Battle_Window::Status_MP)
    rect = Rect.new(0, 0, bitmap.width * actor.mp_rate, bitmap.height)
    contents.blt(param[:Mp_Bar][0], param[:Mp_Bar][1], bitmap, rect, 255)
  end
  #--------------------------------------------------------------------------
  # * Método de desenho : TP
  #--------------------------------------------------------------------------
  def draw_actor_akea_tp(actor, param)
    bitmap = Cache.akea(Akea_Battle_Window::Status_TP)
    rect = Rect.new(0, 0, bitmap.width * actor.tp_rate, bitmap.height)
    contents.blt(param[:Tp_Bar][0], param[:Tp_Bar][1], bitmap, rect, 255)
  end
  #--------------------------------------------------------------------------
  # * Método de desenho : HP - Valor
  #--------------------------------------------------------------------------
  def draw_actor_akea_hp_num(actor, param)
    bitmap = Cache.akea(Akea_Battle_Window::HP_Num)
    spacing_num = 0
    hp = actor.hp
    if hp == 0
      rect = Rect.new(0, 0, bitmap.width/10, bitmap.height)
      contents.blt(param[:Hp_Num][0], param[:Hp_Num][1], bitmap, rect, 255)
    end
    until hp == 0
      rest = hp % 10
      hp = hp/10
      rect = Rect.new((bitmap.width*rest)/10, 0, bitmap.width/10, bitmap.height)
      contents.blt(param[:Hp_Num][0] - spacing_num, param[:Hp_Num][1], bitmap, rect, 255)
      spacing_num += Akea_Battle_Window::Number_Spacing
    end
    bitmap = Cache.akea(Akea_Battle_Window::HP_Hash)
    rect = Rect.new(0, 0, bitmap.width, bitmap.height)
    contents.blt(param[:Hp_Hash][0], param[:Hp_Hash][1], bitmap, rect, 255)
    return if Akea_Battle_Window::HP_Max == ''
    bitmap = Cache.akea(Akea_Battle_Window::HP_Max)
    hp = actor.mhp
    spacing_num = 0
    until hp == 0
      rest = hp % 10
      hp = hp/10
      rect = Rect.new((bitmap.width*rest)/10, 0, bitmap.width/10, bitmap.height)
      contents.blt(param[:Hp_Max][0] - spacing_num, param[:Hp_Max][1], bitmap, rect, 255)
      spacing_num += Akea_Battle_Window::Number_Spacing
    end
  end
  #--------------------------------------------------------------------------
  # * Método de desenho : MP - Valor
  #--------------------------------------------------------------------------
  def draw_actor_akea_mp_num(actor, param)
    bitmap = Cache.akea(Akea_Battle_Window::MP_Num)
    spacing_num = 0
    mp = actor.mp
    if mp == 0
      rect = Rect.new(0, 0, bitmap.width/10, bitmap.height)
      contents.blt(param[:Mp_Num][0], param[:Mp_Num][1], bitmap, rect, 255)
    end
    until mp == 0
      rest = mp % 10
      mp = mp/10
      rect = Rect.new((bitmap.width*rest)/10, 0, bitmap.width/10, bitmap.height)
      contents.blt(param[:Mp_Num][0] - spacing_num, param[:Mp_Num][1], bitmap, rect, 255)
      spacing_num += Akea_Battle_Window::Number_Spacing
    end
    bitmap = Cache.akea(Akea_Battle_Window::MP_Hash)
    rect = Rect.new(0, 0, bitmap.width, bitmap.height)
    contents.blt(param[:Mp_Hash][0], param[:Mp_Hash][1], bitmap, rect, 255)
    return if Akea_Battle_Window::MP_Max == ''
    bitmap = Cache.akea(Akea_Battle_Window::MP_Max)
    mp = actor.mmp
    spacing_num = 0
    until mp == 0
      rest = mp % 10
      mp = mp/10
      rect = Rect.new((bitmap.width*rest)/10, 0, bitmap.width/10, bitmap.height)
      contents.blt(param[:Mp_Max][0] - spacing_num, param[:Mp_Max][1], bitmap, rect, 255)
      spacing_num += Akea_Battle_Window::Number_Spacing
    end
  end
  #--------------------------------------------------------------------------
  # * Método de desenho : TP - Valor
  #--------------------------------------------------------------------------
  def draw_actor_akea_tp_num(actor, param)
    bitmap = Cache.akea(Akea_Battle_Window::TP_Num)
    spacing_num = 0
    tp = actor.tp.to_i
    if tp == 0
      rect = Rect.new(0, 0, bitmap.width/10, bitmap.height)
      contents.blt(param[:Tp_Num][0], param[:Tp_Num][1], bitmap, rect, 255)
    end
    until tp == 0
      rest = tp % 10
      tp = tp/10
      rect = Rect.new((bitmap.width*rest)/10, 0, bitmap.width/10, bitmap.height)
      contents.blt(param[:Tp_Num][0] - spacing_num, param[:Tp_Num][1], bitmap, rect, 255)
      spacing_num += Akea_Battle_Window::Number_Spacing
    end
    bitmap = Cache.akea(Akea_Battle_Window::TP_Hash)
    rect = Rect.new(0, 0, bitmap.width, bitmap.height)
    contents.blt(param[:Tp_Hash][0], param[:Tp_Hash][1], bitmap, rect, 255)
    return if Akea_Battle_Window::TP_Max == ''
    bitmap = Cache.akea(Akea_Battle_Window::TP_Max)
    tp = 100
    spacing_num = 0
    until tp == 0
      rest = tp % 10
      tp = tp/10
      rect = Rect.new((bitmap.width*rest)/10, 0, bitmap.width/10, bitmap.height)
      contents.blt(param[:Tp_Max][0] - spacing_num, param[:Tp_Max][1], bitmap, rect, 255)
      spacing_num += Akea_Battle_Window::Number_Spacing
    end
  end
  #--------------------------------------------------------------------------
  # * Desenho do gráfico de rosto
  #     face_name  : nome do gráfico de face
  #     face_index : índice do gráfico de face
  #     x          : coordenada X
  #     y          : coordenada Y
  #     enabled    : habilitar flag, translucido quando false
  #--------------------------------------------------------------------------
  def draw_akea_face(face_name, face_index, param)
    bitmap = Cache.face(face_name)
    rect = Rect.new(face_index % 4 * 96 + Akea_Battle_Window::Face_Rect[0], face_index / 4 * 96 + Akea_Battle_Window::Face_Rect[1], Akea_Battle_Window::Face_Rect[2], Akea_Battle_Window::Face_Rect[3])
    contents.blt(param[:Face][0], param[:Face][1], bitmap, rect, 255)
    bitmap.dispose
  end
  #--------------------------------------------------------------------------
  # * Desenho da área do medidor (com TP)
  #     rect  : retângulo
  #     actor : herói
  #--------------------------------------------------------------------------
  def draw_gauge_area_with_tp(rect, actor)
    draw_actor_hp(actor, rect.x + 0, rect.y, 72)
    draw_actor_mp(actor, rect.x + 82, rect.y, 64)
    draw_actor_tp(actor, rect.x + 156, rect.y, 64)
  end
  #--------------------------------------------------------------------------
  # * Desenho da área do medidor (sem TP)
  #     rect  : retângulo
  #     actor : herói
  #--------------------------------------------------------------------------
  def draw_gauge_area_without_tp(rect, actor)
    draw_actor_hp(actor, rect.x + 0, rect.y, 134)
    draw_actor_mp(actor, rect.x + 144,  rect.y, 76)
  end
  def dispose
    @front_actor_status.each{|obj| obj.bitmap.dispose; obj.dispose}
    @back_actor_status.each{|obj| obj.bitmap.dispose; obj.dispose}
    akea_bw_dispose
  end
end
#==============================================================================
# ** Window_BattleSkill
#------------------------------------------------------------------------------
#  Esta janela para seleção de habilidades na tela de batalha.
#==============================================================================

class Window_BattleSkill < Window_SkillList
alias :akea_bw_initialize :initialize
alias :akea_bw_dispose :dispose
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #     info_viewport : viewport para exibir informações
  #--------------------------------------------------------------------------
  def initialize(help_window, info_viewport)
    akea_bw_initialize(help_window, info_viewport)
    @index_window = 0
    @help_Sprite = Sprite.new
    @help_Sprite.opacity = 0
    @help_Sprite.bitmap = Cache.akea(Akea_Battle_Window::Help_Image)
    create_aux_windows
  end
  def dispose
    @actor_command_windows.each{|obj| obj.dispose}
    @help_Sprite.bitmap.dispose
    @help_Sprite.dispose
    akea_bw_dispose
  end
  def col_max
    return 1
  end
  #--------------------------------------------------------------------------
  # * Definição de herói
  #     actor : herói
  #--------------------------------------------------------------------------
  def actor=(actor)
    @p_index = $game_party.members.index(actor)
    @actor_pos_x = Akea_Battle_Window::Party_Pos2[@p_index][0]
    @actor_pos_y = Akea_Battle_Window::Party_Pos2[@p_index][1]
    @actor_command_windows.each{|pic| pic.x = @actor_pos_x; pic.y = @actor_pos_y}
    return if @actor == actor
    @actor = actor
    refresh
    self.oy = 0
    initialize_aux_windows
  end
  #--------------------------------------------------------------------------
  # * Criação de janelas auxiliares
  #--------------------------------------------------------------------------
  def create_aux_windows
    @actor_command_windows = Array.new(7)
    for n in 0...7
      @actor_command_windows[n] = Window_Command_Akea.new(0, 0, Akea_Battle_Window::Skill_Window_Size[0], Akea_Battle_Window::Skill_Window_Size[1])
      @actor_command_windows[n].opacity = 0
      @actor_command_windows[n].contents_opacity = 250
      @actor_command_windows[n].show_contents(@data[n], Akea_Battle_Window::Back_Base_Skills_Pic, true) if @data[n]
    end
  end
  #--------------------------------------------------------------------------
  # * Inicialização da posição e indice das janelas
  #--------------------------------------------------------------------------
  def initialize_aux_windows
    @index_window = -1
    @actor_command_windows.each{|window| window.x = @actor_pos_x; window.y = @actor_pos_y}
  end
  #--------------------------------------------------------------------------
  # * Atualização do conteúdo
  #--------------------------------------------------------------------------
  def update_contents
    return unless @actor_pos_x
    for n in 0...7
      get_rest = (self.index - n) % 7
      case get_rest
      when 0
        x = 0
        y = 0
      when 1
        x = 1
        y = -1
      when 2
        x = 2
        y = -2
      when 3
        x = 3
        y = -3
      when 4
        x = 3
        y = 3
      when 5
        x = 2
        y = 2
      when 6
        x = 1
        y = 1
      end
      if x == 3
        set_aux(n , x * Akea_Battle_Window::Move_Speed[0] * - 10 + @actor_pos_x, y * Akea_Battle_Window::Move_Speed[1] * 10 + @actor_pos_y)
      else
        move_aux(n , x * Akea_Battle_Window::Move_Speed[0] * - 10 + @actor_pos_x, y * Akea_Battle_Window::Move_Speed[1] * 10 + @actor_pos_y)
      end
      if @data[self.index + y]
        if y.abs >= 2 || self.index == 0 && y < 0
          take_opacity(n)
        elsif y.abs == 1
          side_opacity(n)
        else
          center_opacity(n)
        end
        next if @index_window == self.index
        @actor_command_windows[n].show_contents(@data[self.index + y], Akea_Battle_Window::Back_Base_Skills_Pic, true)
      else
        take_opacity(n)
      end
    end
    @help_Sprite.opacity = @actor_command_windows[self.index % 7].contents_opacity
    @index_window = self.index
  end
  #--------------------------------------------------------------------------
  # * Método de atualização das janelas
  #--------------------------------------------------------------------------
  def refresh_aux_windows
    for n in 0...7
      if @data[n]
        @actor_command_windows[n].show_contents(@data[n], Akea_Battle_Window::Back_Base_Skills_Pic, true)
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Opacidade lateral
  #--------------------------------------------------------------------------
  def side_opacity(i)
    if @actor_command_windows.contents_opacity < 140
      @actor_command_windows.contents_opacity += 15
    elsif @actor_command_windows.contents_opacity  > 160
      @actor_command_windows.contents_opacity -= 15
    end
  end
  #--------------------------------------------------------------------------
  # * Método de opacidade central
  #--------------------------------------------------------------------------
  def center_opacity(i)
    @actor_command_windows.contents_opacity += 15
  end
  #--------------------------------------------------------------------------
  # * Método de reduzir opacidade(com fade)
  #--------------------------------------------------------------------------
  def take_opacity(i)
    @actor_command_windows.contents_opacity -= 15
  end
  #--------------------------------------------------------------------------
  # * Método de reduzir opacidade(sem fade)
  #--------------------------------------------------------------------------
  def take_all_opacity
    @actor_command_windows.each{|com| com.contents_opacity = 0}
  end
  #--------------------------------------------------------------------------
  # * Método de retornar as janelas auxiliares
  #--------------------------------------------------------------------------
  def return_aux_windows
    @actor_command_windows.each{|pic| pic.contents_opacity -= 15}
    @help_Sprite.opacity -= 15
  end
  #--------------------------------------------------------------------------
  # * Método de movimento das janelas
  #--------------------------------------------------------------------------
  def move_aux(n, pos_x, pos_y)
     @actor_command_windows[n].x += Akea_Battle_Window::Move_Speed[0] if @actor_command_windows[n].x < pos_x
     @actor_command_windows[n].x -= Akea_Battle_Window::Move_Speed[0] if @actor_command_windows[n].x > pos_x
     @actor_command_windows[n].y += Akea_Battle_Window::Move_Speed[1] if @actor_command_windows[n].y < pos_y
     @actor_command_windows[n].y -= Akea_Battle_Window::Move_Speed[1] if @actor_command_windows[n].y > pos_y
   end
  #--------------------------------------------------------------------------
  # * Método que seta a posição das janelas
  #--------------------------------------------------------------------------
  def set_aux(n, pos_x, pos_y)
     @actor_command_windows[n].x = pos_x
     @actor_command_windows[n].y = pos_y
   end
  #--------------------------------------------------------------------------
  # * Movimento do cursor para baixo
  #     wrap : cursor retornar a primeira ou ultima posição
  #--------------------------------------------------------------------------
    def cursor_down(wrap = false)
    super(false)
  end
  #--------------------------------------------------------------------------
  # * Movimento do cursor para cima
  #     wrap : cursor retornar a primeira ou ultima posição
  #--------------------------------------------------------------------------
  def cursor_up(wrap = false)
    super(false)
  end
  #--------------------------------------------------------------------------
  # * Movimento do cursor para baixo
  #     wrap : cursor retornar a primeira ou ultima posição
  #--------------------------------------------------------------------------
   def cursor_left(wrap = false)
    super(false)
  end
  #--------------------------------------------------------------------------
  # * Movimento do cursor para cima
  #     wrap : cursor retornar a primeira ou ultima posição
  #--------------------------------------------------------------------------
  def cursor_right(wrap = false)
    super(false)
  end

#################TESTE#################
  #--------------------------------------------------------------------------
  # * Exibição da janela
  #--------------------------------------------------------------------------
  def show
    select_last
    @help_window.show
    @help_window.opacity = Akea_Battle_Window::Help_Opacity
    @help_window.x = Akea_Battle_Window::Help_Pos[@p_index][0]
    @help_window.y = Akea_Battle_Window::Help_Pos[@p_index][1]
    @help_Sprite.x = Akea_Battle_Window::Help_Pos2[@p_index][0]
    @help_Sprite.y = Akea_Battle_Window::Help_Pos2[@p_index][1]
    super
  end
  #--------------------------------------------------------------------------
  # * Ocultação da janela
  #--------------------------------------------------------------------------
  def hide
    @help_window.hide
    @help_window.opacity = 255
    @help_window.x = 0
    @help_window.y = 0
    super
  end
end


#==============================================================================
# ** Window_BattleItem
#------------------------------------------------------------------------------
#  Esta janela para seleção de itens na tela de batalha.
#==============================================================================

class Window_BattleItem < Window_ItemList
alias :akea_bw_initialize :initialize
alias :akea_bw_dispose :dispose
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #     info_viewport : viewport para exibir informações
  #--------------------------------------------------------------------------
  def initialize(help_window, info_viewport)
    akea_bw_initialize(help_window, info_viewport)
    @index_window = 0
    @help_Sprite = Sprite.new
    @help_Sprite.opacity = 0
    @help_Sprite.bitmap = Cache.akea(Akea_Battle_Window::Help_Image)
    create_aux_windows
  end
  def dispose
    @actor_command_windows.each{|obj| obj.dispose}
    @help_Sprite.bitmap.dispose
    @help_Sprite.dispose
    akea_bw_dispose
  end
  #--------------------------------------------------------------------------
  # * Número de colunas
  #--------------------------------------------------------------------------
  def col_max
    return 1
  end
  #--------------------------------------------------------------------------
  # * Definição de herói
  #     actor : herói
  #--------------------------------------------------------------------------
  def actor=(actor)
    @p_index = $game_party.members.index(actor)
    @actor_pos_x = Akea_Battle_Window::Party_Pos2[@p_index][0]
    @actor_pos_y = Akea_Battle_Window::Party_Pos2[@p_index][1]
    @actor_command_windows.each{|pic| pic.x = @actor_pos_x; pic.y = @actor_pos_y}
    return if @actor == actor
    @actor = actor
    refresh
    self.oy = 0
    initialize_aux_windows
  end
  #--------------------------------------------------------------------------
  # * Método de criação das janelas auxiliares
  #--------------------------------------------------------------------------
  def create_aux_windows
    @actor_command_windows = Array.new(7)
    for n in 0...7
      @actor_command_windows[n] = Window_Command_Akea.new(0, 0, Akea_Battle_Window::Skill_Window_Size[0], Akea_Battle_Window::Skill_Window_Size[1])
      @actor_command_windows[n].opacity = 0
      @actor_command_windows[n].contents_opacity = 250<
[close]

Mas parece que é o outro que você está usando mesmo,

Eu dei uma olhada vai ser bem chato de inverter os lados...

Vou tentar trabalhar nisso pra te ajudar :/

Citação de: Raizen online 27/02/2017 às 19:46
Mas parece que é o outro que você está usando mesmo,

Eu dei uma olhada vai ser bem chato de inverter os lados...

Vou tentar trabalhar nisso pra te ajudar :/

Ah nem precisa se dar o trabalho. Fico grato mesmo assim. Foi uma reclamação de um player do jogo, eu particularmente não vejo problemas.