Você está na página 1de 9

# =================================================== ======

# Akea Cursor de Batalha Animado


# Autor: Raizen
# Comunidade: http://www.centrorpg.com/
# Compatibilidade: RMVXAce
#
# =================================================== ======
# ========================= N�o modificar ==================== ==========
$ included || = Hash.new
$ included [: akea_battlecursor] = true
m�dulo Akea_BattleCursor
# ========================= N�o modificar ==================== ==========

# A configura��o come�a aqui

# =================================================== ======
# INSTRU��ES
# Simples, coloque o script acima de main e abaixo de qualquer outro script de
batalha
# (para melhor compatibilidade)
# E, em seguida, configure abaixo, os scripts mostram um cursor de batalha animado.
# =================================================== ======

# Se animada, esta � a atualiza��o da taxa de quadros da anima��o, quanto maior a


velocidade.
Cursor_Update = 10

# Mostra as janelas padr�o que identificam os inimigos e atores?


Show_Windows = false

# Mostrar nomes de lutadores?


Show_Name = true

# Nome do fot, colocar '' para ser usado a fonte padr�o


Font_Name = 'Georgia'

# Tamanho da fonte, coloque 0 para usar o tamanho da fonte padr�o


Font_Size = 18

# =================================================== =============================
# ** Configura��o inimiga
# =================================================== =============================

# Cor da fonte para inimigos, seguindo o padr�o R, G, B e, no final, coloque o


# opacidade da fonte, sendo 0 invis�vel at� 255 totalmente vis�vel
Enemy_Font_Color = [255, 100, 100, 255]

# Nome da imagem do cursor, deve estar na pasta Graphics / Akea


Enemy_Cursor = 'Enemy_Cursor'

# N�mero de quadros que o cursor inimigo possui, se n�o for animado


# Enemy_Frames = 1
Enemy_Frames = 5

Posi��o do cursor sobre os inimigos


# E_Cursor_Position = [posi��o x, posi��o y]
E_Cursor_Position = [0, -70]

# Posi��o do nome do inimigo


# E_Name_Position = [posi��o x, posi��o y]
E_Name_Position = [0, -30]

# Nome da imagem do cursor, deve estar na pasta Graphics / Akea


# Caso voc� n�o use atores vis�veis, coloque
# Actor_Cursor = ''
Actor_Cursor = 'Actor_Cursor'
# =================================================== =============================
# ** Configura��o do ator
# N�o � necess�rio se voc� n�o usa atores vis�veis
# =================================================== =============================

# Cor da fonte para os atores, seguindo o padr�o R, G, B e, no final, coloque o


# opacidade da fonte, sendo 0 invis�vel at� 255 totalmente vis�vel
Actor_Font_Color = [100, 255, 150, 255]

# N�mero de quadros do cursor do ator, se n�o for animado


# Actor_Frames = 1
Actor_Frames = 5

# Posi��o do Cursor sobre os atores


# A_Cursor_Position = [posi��o x, posi��o y]
A_Cursor_Position = [-55, -70]
#
# Nome da posi��o dos atores
# A_Name_Position = [posi��o x, posi��o y]
A_Name_Position = [-10, -10]

# =================================================== =============================
# ** AQUI inicia o script
# =================================================== =============================

fim

# =================================================== =============================
# ** Scene_Battle
# ------------------------------------------------- -----------------------------
# Esta classe executa ou processa a tela de batalha.
# =================================================== =============================

classe Scene_Battle <Scene_Base


alias: akea_bc_start: start
alias: akea_bc_update: atualiza��o
alias: akea_bc_select_enemy_selection: select_enemy_selection
alias: akea_bc_on_skill_ok: on_skill_ok
alias: akea_bc_on_enemy_cancel: on_enemy_cancel
alias: akea_bc_on_item_ok: on_item_ok
alias: akea_bc_on_actor_cancel: on_actor_cancel
alias: akea_bc_select_actor_selection: select_actor_selection
alias: akea_bc_terminate: terminate
alias: akea_bc_turn_start: turn_start
alias: akea_bc_next_command: next_command
# ------------------------------------------------- -------------------------
# * Inicializa��o do processo
# ------------------------------------------------- -------------------------
def start
@bc_cursor = Array.new
@bc_enemy_cursor = Array.new
@bc_actor_cursor = Array.new
@akea_target_all = false
akea_bc_start
akea_bc_create_pictures
fim
def akea_bc_create_pictures
@bc_actor_size = $ game_party.battle_members.size
@bc_frame_position = 0
para n em 0 ... all_battle_members.size
pr�ximo, a menos que all_battle_members [n] .use_sprite?
@bc_cursor [n] = Sprite.new
@bc_cursor [n] .bitmap = Bitmap.new (Graphics.width, Graphics.height)
# @ bc [n] .bitmap.font.size = 48
rect = Rect.new (0, 0, 200, 50)
se all_battle_members [n] .actor?
@bc_cursor [n] .bitmap.font.color = Color.new (Akea_BattleCursor ::
Actor_Font_Color [0], Akea_BattleCursor :: Actor_Font_Color [1],
Akea_BattleCursor :: Actor_Font_Color [2], Akea_BattleCursor :: Actea_Font_Color
[2]
@bc_actor_cursor [n] = Sprite.new
@bc_actor_cursor [n] .bitmap = Cache.akea (Akea_BattleCursor ::
Actor_Cursor)
@bc_actor_cursor [n] .src_rect.set (0, 0, @bc_actor_cursor [n]
.bitmap.width / Akea_BattleCursor :: Actor_Frames, @bc_actor_cursor [n]
.bitmap.height)
@bc_actor_cursor [n] .opacity = 0
outro
@bc_enemy_cursor << Sprite.new
@ bc_enemy_cursor.last.bitmap = Cache.akea (Akea_BattleCursor ::
Enemy_Cursor)
@ bc_enemy_cursor.last.src_rect.set (0, 0, @
bc_enemy_cursor.last.bitmap.width / Akea_BattleCursor :: Enemy_Frames, @
bc_enemy_cursor.last.bitmap.height)
@ bc_enemy_cursor.last.opacity = 0
@bc_cursor [n] .bitmap.font.color = Color.new (Akea_BattleCursor ::
Enemy_Font_Color [0], Akea_BattleCursor :: Enemy_Font_Color [1],
Akea_BattleCursor :: Enemy_Font_Color [2], Akea_BattleCursor :: 3]
fim
@bc_cursor [n] .bitmap.font.size = Akea_BattleCursor :: Font_Size, a menos
que Akea_BattleCursor :: Font_Size == 0
@bc_cursor [n] .bitmap.font.name = Akea_BattleCursor :: Font_Name, a menos
que Akea_BattleCursor :: Font_Name == ''
@bc_cursor [n] .bitmap.draw_text (rect, all_battle_members [n] .name, 0) se
Akea_BattleCursor :: Show_Name
@bc_cursor [n] .z = 105
se all_battle_members [n] .enemy?
@bc_cursor [n] .x = all_battle_members [n] .screen_x + Akea_BattleCursor ::
E_Name_Position [0]
@bc_cursor [n] .y = all_battle_members [n] .screen_y + Akea_BattleCursor ::
E_Name_Position [1]
outro
@bc_cursor [n] .x = all_battle_members [n] .screen_x + Akea_BattleCursor ::
A_Name_Position [0]
@bc_cursor [n] .y = all_battle_members [n] .screen_y + Akea_BattleCursor ::
A_Name_Position [1]
fim
@bc_cursor [n] .opacity = 0
fim
fim
atualiza��o de defini��o (* args, & block)
akea_bc_update
show_bc_info
fim
def show_bc_info
if @ enemy_window.active
@ bc_enemy_cursor.each {| cursor | cursor.opacity - = 30}
@ bc_actor_cursor.each {| cursor | cursor.opacity - = 30}
@ bc_cursor.each {| cursor | cursor.opacity - = 30}
if @akea_target_all
para n em 0 ... @ bc_enemy_cursor.size
se $ game_troop.members [n] .alive?
@bc_cursor [n + $ game_party.members.size] .opacity + = 60
@bc_enemy_cursor [n] .x = $ game_troop.members [n] .screen_x +
Akea_BattleCursor :: E_Cursor_Position [0]
@bc_enemy_cursor [n] .y = $ game_troop.members [n] .screen_y +
Akea_BattleCursor :: E_Cursor_Position [1]
@bc_enemy_cursor [n] .opacidade + = 60
fim
fim
outro
@bc_enemy_cursor [@ enemy_window.enemy.index] .x = $ game_troop.members [@
enemy_window.enemy.index] .screen_x + Akea_BattleCursor :: E_Cursor_Position [0]
@bc_enemy_cursor [@ enemy_window.enemy.index] .y = $ game_troop.members [@
enemy_window.enemy.index] .screen_y + Akea_BattleCursor :: E_Cursor_Position [1]
@bc_enemy_cursor [@ enemy_window.enemy.index] .opacity + = 60
@bc_cursor [@ enemy_window.enemy.index + $ game_party.members.size]
.opacity + = 60
fim
update_bc_enemy_cursor
elsif @ actor_window.active
se all_battle_members [0] .use_sprite?
@ bc_enemy_cursor.each {| cursor | cursor.opacity - = 30}
@ bc_actor_cursor.each {| cursor | cursor.opacity - = 30}
@ bc_cursor.each {| cursor | cursor.opacity - = 30}
if @akea_target_all
para n em 0 ... @ bc_actor_cursor.size
@bc_actor_cursor [n] .x = all_battle_members [n] .screen_x +
Akea_BattleCursor :: A_Cursor_Position [0]
@bc_actor_cursor [n] .y = all_battle_members [n] .screen_y +
Akea_BattleCursor :: A_Cursor_Position [1]
@bc_actor_cursor [n] .opacidade + = 60
@bc_cursor [n] .opacidade + = 60
fim
outro
@bc_actor_cursor [@ actor_window.index] .x = all_battle_members [@
actor_window.index] .screen_x + Akea_BattleCursor :: A_Cursor_Position [0]
@bc_actor_cursor [@ actor_window.index] .y = all_battle_members [@
actor_window.index] .screen_y + Akea_BattleCursor :: A_Cursor_Position [1]
@bc_actor_cursor [@ actor_window.index] .opacity + = 60
@bc_cursor [@ actor_window.index] .opacity + = 60
fim
fim
update_bc_actor_cursor
outro
para n em 0 ... all_battle_members.size
pr�ximo, a menos que all_battle_members [n] .use_sprite?
@bc_cursor [n] .opacidade - = 30
fim
@ bc_enemy_cursor.each {| cursor | cursor.opacity - = 30}
@ bc_actor_cursor.each {| cursor | cursor.opacity - = 30}
fim
fim
def update_bc_enemy_cursor
retornar, a menos que Graphics.frame_count% Akea_BattleCursor :: Cursor_Update
== 0
if @bc_frame_position> = Akea_BattleCursor :: Enemy_Frames - 1
@bc_frame_position = 0
outro
@bc_frame_position + = 1
fim
@ bc_enemy_cursor.each {| cursor | cursor.src_rect.set (@ bc_frame_position * @
bc_enemy_cursor [0] .bitmap.width / Akea_BattleCursor :: Enemy_Frames, 0,
@bc_enemy_cursor [0] .bitmap.width / Akea_BattleCursor ::cemy_Frames. )}
fim
def update_bc_actor_cursor
retornar, a menos que Graphics.frame_count% Akea_BattleCursor :: Cursor_Update
== 0
if @bc_frame_position> = Akea_BattleCursor :: Actor_Frames - 1
@bc_frame_position = 0
outro
@bc_frame_position + = 1
fim
@ bc_actor_cursor.each {| cursor | cursor.src_rect.set (@ bc_frame_position * @
bc_actor_cursor [0] .bitmap.width / Akea_BattleCursor :: Actor_Frames, 0,
@bc_actor_cursor [0] .bitmap.width / Akea_BattleCursor :: Actor_Frames]. )}
fim
# ------------------------------------------------- -------------------------
# * In�cio do turno
# ------------------------------------------------- -------------------------
def turn_start
para n em 0 ... all_battle_members.size
pr�ximo, a menos que all_battle_members [n] .use_sprite?
@bc_cursor [n] .opacity = 0
fim
@ bc_enemy_cursor.each {| cursor | cursor.opacity = 0}
@ bc_actor_cursor.each {| cursor | cursor.opacity = 0}
akea_bc_turn_start
fim
# ------------------------------------------------- -------------------------
# * Sele��o da sele��o de inimigos
# ------------------------------------------------- -------------------------
def select_enemy_selection
akea_bc_select_enemy_selection
@ enemy_window.hide, a menos que Akea_BattleCursor :: Show_Windows
fim
# ------------------------------------------------- -------------------------
# * Sele��o da sele��o de her�is
# ------------------------------------------------- -------------------------
def select_actor_selection
akea_bc_select_actor_selection
@ actor_window.hide if all_battle_members [0] .use_sprite? &&!
Akea_BattleCursor :: Show_Windows
fim
# ------------------------------------------------- -------------------------
# * Habilidade [Confirma��o]
# ------------------------------------------------- -------------------------
def on_skill_ok
@force_window = true
akea_bc_on_skill_ok
@force_window = false
if @ skill.for_opponent?
@ skill_window.hide
outro
@ skill_window.hide if all_battle_members [0] .use_sprite?
fim
fim
# ------------------------------------------------- -------------------------
# * Entrada de comandos para o pr�ximo her�i
# ------------------------------------------------- -------------------------
def next_command
if @force_window && @ skill.for_opponent?
@akea_target_all = true
select_enemy_selection
elsif @force_window
@akea_target_all = true
select_actor_selection
outro
@akea_target_all = false
akea_bc_next_command
fim
fim
# ------------------------------------------------- -------------------------
# * Inimigo [Cancelamento]
# ------------------------------------------------- -------------------------
def on_enemy_cancel
akea_bc_on_enemy_cancel
@akea_target_all = false
case @ actor_command_window.current_symbol
quando: habilidade
@ skill_window.show.activate
quando: item
@ item_window.show.activate
fim
fim
# ------------------------------------------------- -------------------------
# * Her�i [Cancelamento]
# ------------------------------------------------- -------------------------
def on_actor_cancel
akea_bc_on_actor_cancel
@akea_target_all = false
case @ actor_command_window.current_symbol
quando: habilidade
@ skill_window.show.activate
quando: item
@ item_window.show.activate
fim
fim
# ------------------------------------------------- -------------------------
# * Item [Confirma��o]
# ------------------------------------------------- -------------------------
def on_item_ok
akea_bc_on_item_ok
if @ item.for_opponent?
@ item_window.hide
outro
@ item_window.hide se all_battle_members [0] .use_sprite?
fim
fim
# ------------------------------------------------- -------------------------
# * Finaliza��o do processo
# ------------------------------------------------- -------------------------
def terminar
para n em 0 ... all_battle_members.size
pr�ximo, a menos que all_battle_members [n] .use_sprite?
@bc_cursor [n] .bitmap.dispose
@bc_cursor [n] .dispose
fim
@ bc_actor_cursor.each {| cursor | cursor.bitmap.dispose}
@ bc_actor_cursor.each {| cursor | cursor.dispose}
@ bc_enemy_cursor.each {| cursor | cursor.bitmap.dispose}
@ bc_enemy_cursor.each {| cursor | cursor.dispose}
akea_bc_terminate
fim
fim

# =================================================== =============================
# ** Cache
# ------------------------------------------------- -----------------------------
# Este m�dulo carrega cada gr�fico, cria um objeto de Bitmap e retira-o.
# Para acelerar o carregamento e preservar a mem�ria, este m�dulo � o
# objeto de Bitmap em um Hash interno, permitindo que objetos retornados
# pr�-existente quando o bitmap � novamente necess�rio.
# =================================================== =============================

cache do m�dulo
# ------------------------------------------------- -------------------------
# * Carregamento dos gr�ficos de anima��o
# filename: nome do arquivo
# hue: informa��es da altera��o de tonalidade
# ------------------------------------------------- -------------------------
def self.akea (nome do arquivo)
load_bitmap ("Graphics / Akea /", nome do arquivo)
fim
fim

# =================================================== =============================
# ** Window_BattleActor
# ------------------------------------------------- -----------------------------
# Esta janela para sele��o de her�is na tela de batalha.
# =================================================== =============================

classe Window_BattleActor <Window_BattleStatus


# ------------------------------------------------- -------------------------
# * Movimento do cursor para baixo
# wrap: cursor retornar a primeira ou a �ltima posi��o
# ------------------------------------------------- -------------------------
def cursor_down (wrap = false)
super (verdadeiro)
fim
# ------------------------------------------------- -------------------------
# * Movimento do cursor para cima
# wrap: cursor retornar a primeira ou a �ltima posi��o
# ------------------------------------------------- -------------------------
def cursor_up (wrap = false)
super (verdadeiro)
fim
# ------------------------------------------------- -------------------------
# * Movimento do cursor para a direita
# wrap: cursor retornar a primeira ou a �ltima posi��o
# ------------------------------------------------- -------------------------
def cursor_right (wrap = false)
cursor_down
fim
# ------------------------------------------------- -------------------------
# * Movimento do cursor para a esquerda
# wrap: cursor retornar a primeira ou a �ltima posi��o
# ------------------------------------------------- -------------------------
def cursor_left (wrap = false)
cursor_up
fim
fim
# =================================================== =============================
# ** Window_BattleEnemy
# ------------------------------------------------- -----------------------------
# Esta janela para sele��o de inimigos na tela de batalha.
# =================================================== =============================

classe Window_BattleEnemy <Window_Selectable


# ------------------------------------------------- -------------------------
# * Aquisi��o do n�mero de colunas
# ------------------------------------------------- -------------------------
def col_max
se Akea_BattleCursor :: Show_Windows
retorno 2
outro
retorno 1
fim
fim
# ------------------------------------------------- -------------------------
# * Movimento do cursor para baixo
# wrap: cursor retornar a primeira ou a �ltima posi��o
# ------------------------------------------------- -------------------------
def cursor_down (wrap = false)
super (verdadeiro)
fim
# ------------------------------------------------- -------------------------
# * Movimento do cursor para cima
# wrap: cursor retornar a primeira ou a �ltima posi��o
# ------------------------------------------------- -------------------------
def cursor_up (wrap = false)
super (verdadeiro)
fim
# ------------------------------------------------- -------------------------
# * Movimento do cursor para a direita
# wrap: cursor retornar a primeira ou a �ltima posi��o
# ------------------------------------------------- -------------------------
def cursor_right (wrap = false)
cursor_down
fim
# ------------------------------------------------- -------------------------
# * Movimento do cursor para a esquerda
# wrap: cursor retornar a primeira ou a �ltima posi��o
# ------------------------------------------------- -------------------------
def cursor_left (wrap = false)
cursor_up
fim
fim

Você também pode gostar