查看: 4122|回复: 16

[有事请教] 关于MOG的地图血条HUD

[复制链接]
梦石
20
星屑
13965
在线时间
1744 小时
注册时间
2017-1-12
回帖
1667

MZ评测员开拓者

发表于 2020-1-28 11:51:15 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 火锅深处 于 2020-2-11 19:49 编辑

emmm......如图,复制了用icon显血的设置,但是发现在地图上减HP的时候左上角的红心完全没变化。
地图血条.png
然后因为我设定了“不会导致战斗不能”,所以只剩1点HP时会变成这样。但是之前都是上图的样子。并且如果在只剩1点的时候喝回复药也是就算喝一点也会回复到上图的样子。
地图血条2.png

如果转换成血条而不是红心icon的模式的话倒是会减血。是还需要设置什么吗?(印象中我应该没有动什么东西。)

需要的文件(在img下新建一个actorhud文件夹,放在里面的):
MP_Meter.png Layout.png HP_Icon.png

脚本[pre lang="javascript" file="MOG_ActorHud"]//=============================================================================
// MOG_ActorHud.js           (Template - 02)
//=============================================================================

/*:
* @plugindesc (v2.0 *) Adiciona uma Hud com os parâmetros do personagem.
* @author Moghunter
*
* @param -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*  
* @param Initial Visible
* @desc Ativar a Hud no inicio do jogo.
* @default true
* @type boolean
* @on Visible From Start
* @off Hide
* @parent -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Hud X-Axis
* @desc Definição da posição X-Axis da Hud.
* @default 0
* @type number
* @parent -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Hud Y-Axis
* @desc Definição da posição Y-Axis da Hud.
* @default 0
* @type number
* @parent -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Smart Fade
* @desc Ativa transparência na hud quando a hud estiver acima do personagem.
* @default true
* @type boolean
* @on Overlapping Character
* @off Always Visible
* @parent -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Auto Fade
* @desc Oculta na hud quando a janela de messagem estiver ativada.
* @default true
* @type boolean
* @on Window Message
* @off Always Visible
* @parent -> MAIN <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> LAYOUT 2 <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param Layout Overlay Visible
* @desc Apresentar o segundo layout acima dos medidores e face.
* @default false
* @type boolean
* @on Show
* @off Hide
* @parent -> LAYOUT 2 <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Layout Overlay X-Axis
* @desc Definição da posição X-Axis da face.
* @default 0
* @type number
* @parent -> LAYOUT 2 <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Layout Overlay Y-Axis
* @desc Definição da posição Y-Axis da face.
* @default 0
* @type number
* @parent -> LAYOUT 2 <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> FACE <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param Face Visible
* @desc Apresentar a imagem da face.
* @default false
* @type boolean
* @on Show
* @off Hide
* @parent -> FACE <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Face X-Axis
* @desc Definição da posição X-Axis da face.
* @default 0
* @type number
* @parent -> FACE <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Face Y-Axis
* @desc Definição da posição Y-Axis da face.
* @default 0
* @type number
* @parent -> FACE <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Face Priority
* @desc Prioridade da Face. (0 Low - 1 High)
* @default 0
* @type select
* @option (0) Below the Layout
* @value 0
* @option (1) Above the Layout
* @value 1
* @parent -> FACE <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> NAME <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param Name Visible
* @desc Apresentar o nome do personagem.
* @default false
* @type boolean
* @on Show
* @off Hide
* @parent -> NAME <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Name X-Axis
* @desc Definição da posição X-Axis do nome.
* @default 0
* @type number
* @parent -> NAME <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Name Y-Axis
* @desc Definição da posição Y-Axis do nome.
* @default 0
* @type number
* @parent -> NAME <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Name Font Size
* @desc Definição do tamanho da fonte do nome.
* @default 20
* @type number
* @parent -> NAME <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Name Bold Size
* @desc Definição do tamanho do contorno.
* @default 4
* @type number
* @parent -> NAME <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Name Font Italic
* @desc Ativar fonte em itálico.
* @default false
* @type boolean
* @on Enable
* @off Disable
* @parent -> NAME <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> HP <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param HP Meter Visible
* @text Gauge Visible
* @desc Apresentar o medidor de HP
* @default false
* @type boolean
* @on Show
* @off Hide
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Meter X-Axis
* @text Gauge X-Axis
* @desc Definição da posição X-Axis do medidor de HP.
* @default 0
* @type number
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Meter Y-Axis
* @text Gauge Y-Axis
* @desc Definição da posição Y-Axis do medidor de HP.
* @default 0
* @type number
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Meter Angle
* @text Gauge Angle  
* @desc Ángulo do medidor.
* @default 0
* @type number
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Meter Flow Anime
* @text Gauge Gradient Animation
* @desc Ativar animação de gradiente no medidor.
* É necessário que a imagem tenha 3x a largura do medidor.
* @default false
* @type boolean
* @on Enable
* @off Disable
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Meter Flow Speed
* @text Gauge Gradient Speed  
* @desc Define a velocidade de animação do gradient.
* É necessário que a imagem tenha 3x a largura do medidor.
* @default 4
* @type number
* @min 1
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Number Visible
* @desc Apresentar o numero de HP
* @default false
* @type boolean
* @on Show
* @off Hide
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Number Align
* @desc Definição do alinhamento dos números.
* 0 - Espquerda     1 - Centro       2 - Direita
* @default 2
* @type select
* @option Left
* @value 0
* @option Center
* @value 1
* @option Right
* @value 2  
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*  
* @param HP Number X-Axis
* @desc Definição da posição X-Axis do numero de HP.
* @default 0
* @type number
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Number Y-Axis
* @desc Definição da posição Y-Axis do numero de HP.
* @default 0
* @type number
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxHP Number Visible
* @desc Apresentar o numero de HP maximo.
* @default false
* @type boolean
* @on Show
* @off Hide
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxHP Number X-Axis
* @desc Definição da posição X-Axis do numero de HP maximo.
* @default 0
* @type number
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxHP Number Y-Axis
* @desc Definição da posição Y-Axis do numero de HP maximo.
* @default 0
* @type number
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Icon Visible
* @desc Apresentar o ícone de HP.
* @default true
* @type boolean
* @on Show
* @off Hide
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Icon Half Mode
* @desc Um ícone equivale a 2 pontos de HP.
* @default true
* @type boolean
* @on Enable (Zelda Style)
* @off Disable
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Icon Max Colors
* @desc Quantidade de cores do ícone.
* A imagem será dividida pelo número de cores.
* @default 2
* @type number
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Icon Max Rows
* @desc Quantidade de ícones por linha.
* @default 10
* @type number
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Icon Max Columns
* @desc Quantidade de linhas.
* @default 2
* @type number
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Icon X-Axis
* @desc Quantidade X-Axis dos ícones.
* @default 67
* @type number
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Icon Y-Axis
* @desc Quantidade Y-Axis dos ícones.
* @default 70
* @type number
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Icon Space X
* @desc Definição do espaço entre os ícones na horizontal.
* @default 0
* @type number
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Icon Space Y
* @desc Definição do espaço entre os ícones na vertical.
* @default 0
* @type number
* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param HP Icon Zoom Anime
* @desc Ativar a animação de zoom no último ícone.
* @type boolean
* @on Enable
* @off Disable  
* @default true

* @parent -> HP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> MP <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param MP Meter Visible
* @text Gauge Visible
* @desc Apresentar o medidor de MP
* @default true
* @type boolean
* @on Show
* @off Hide
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Meter X-Axis
* @text Gauge X-Axis
* @desc Definição da posição X-Axis do medidor de MP.
* @default 43
* @type number
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Meter Y-Axis
* @text Gauge Y-Axis
* @desc Definição da posição Y-Axis do medidor de MP.
* @default 98
* @type number
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Meter Angle
* @text Gauge Angle
* @desc Ángulo do medidor.
* @default 0
* @type number
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Meter Flow Anime
* @text Gauge Gradient Animation  
* @desc Ativar animação de gradiente no medidor.
* É necessário que a imagem tenha 3x a largura do medidor.
* @default true
* @type boolean
* @on Enable
* @off Disable
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Meter Flow Speed
* @text Gauge Gradient Speed  
* @desc Define a velocidade de animação do gradient.
* É necessário que a imagem tenha 3x a largura do medidor.
* @default 2
* @type number
* @min 1
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Number Visible
* @desc Apresentar o numero de MP
* @default false
* @type boolean
* @on Show
* @off Hide
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Number Align
* @desc Definição do alinhamento dos números.
* 0 - Espquerda     1 - Centro       2 - Direita
* @default 0
* @type select
* @option Left
* @value 0
* @option Center
* @value 1
* @option Right
* @value 2   
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*  
* @param MP Number X-Axis
* @desc Definição da posição X-Axis do numero de MP.
* @default 0
* @type number
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Number Y-Axis
* @desc Definição da posição Y-Axis do numero de MP.
* @default 0
* @type number
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxMP Number Visible
* @desc Apresentar o numero de MP maximo.
* @default false
* @type boolean
* @on Show
* @off Hide
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxMP Number X-Axis
* @desc Definição da posição X-Axis do numero de MP maximo.
* @default 0
* @type number
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxMP Number Y-Axis
* @desc Definição da posição Y-Axis do numero de MP maximo.
* @default 0
* @type number
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Icon Visible
* @desc Apresentar o ícone de MP.
* @default false
* @type boolean
* @on Show
* @off Hide
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Icon Half Mode
* @desc Um ícone equivale a 2 pontos de MP.
* @default false
* @type boolean
* @on Enable (Zelda Style)
* @off Disable
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Icon Max Colors
* @desc Quantidade de cores do ícone.
* A imagem será dividida pelo número de cores.
* @default 0
* @type number
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Icon Max Rows
* @desc Quantidade de ícones por linha.
* @default 1
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Icon Max Columns
* @desc Quantidade de linhas.
* @default 1
* @type number
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Icon X-Axis
* @desc Quantidade X-Axis dos ícones.
* @default 0
* @type number
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Icon Y-Axis
* @desc Quantidade Y-Axis dos ícones.
* @default 0
* @type number
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Icon Space X
* @desc Definição do espaço entre os ícones na horizontal.
* @default 0
* @type number
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Icon Space Y
* @desc Definição do espaço entre os ícones na vertical.
* @default 0
* @type number
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MP Icon Zoom Anime
* @desc Ativar a animação de zoom no último ícone.
* @default false
* @type boolean
* @on Enable
* @off Disable
* @parent -> MP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> TP <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param TP Meter Visible
* @text Gauge Visible  
* @desc Apresentar o medidor de TP
* @default false
* @type boolean
* @on Show
* @off Hide
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Meter X-Axis
* @text Gauge X-Axis
* @desc Definição da posição X-Axis do medidor de TP.
* @default 0
* @type number
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Meter Y-Axis
* @text Gauge Y-Axis
* @desc Definição da posição Y-Axis do medidor de TP.
* @default 0
* @type number
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Meter Angle
* @text Gauge Angle
* @desc Ángulo do medidor.
* @default 0
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Meter Flow Anime
* @text Gauge Gradient Animation
* @desc Ativar animação de gradiente no medidor.
* É necessário que a imagem tenha 3x a largura do medidor.
* @default false
* @type boolean
* @on Enable
* @off Disable
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Meter Flow Speed
* @text Gauge Gradient Speed  
* @desc Define a velocidade de animação do gradient.
* É necessário que a imagem tenha 3x a largura do medidor.
* @default 4
* @type number
* @min 1
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Number Visible
* @desc Apresentar o numero de TP.
* @default false  
* @type boolean
* @on Show
* @off Hide
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Number Align
* @desc Definição do alinhamento dos números.
* 0 - Espquerda     1 - Centro       2 - Direita
* @default 0
* @type select
* @option Left
* @value 0
* @option Center
* @value 1
* @option Right
* @value 2  
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Number X-Axis
* @desc Definição da posição X-Axis do numero de TP.
* @default 0
* @type number
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Number Y-Axis
* @desc Definição da posição Y-Axis do numero de TP.
* @default 0
* @type number
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxTP Number Visible
* @desc Apresentar o numero de TP maximo.
* @default false
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxTP Number X-Axis
* @desc Definição da posição X-Axis do numero de TP maximo.
* @default 0
* @type number
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param MaxTP Number Y-Axis
* @desc Definição da posição Y-Axis do numero de TP maximo.
* @default 0
* @type number
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Icon Visible
* @desc Apresentar o ícone de TP.
* @default false
* @type boolean
* @on Show
* @off Hide
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Icon Half Mode
* @desc Um ícone equivale a 2 pontos de TP.
* @default false
* @type boolean
* @on Enable (Zelda Style)
* @off Disable
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Icon Max Colors
* @desc Quantidade de cores do ícone.
* A imagem será dividida pelo número de cores.
* @default 2
* @type number
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Icon Max Rows
* @desc Quantidade de ícones por linha.
* @default 10
* @type number
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Icon Max Columns
* @desc Quantidade de linhas.
* @default 2
* @type number
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Icon X-Axis
* @desc Quantidade X-Axis dos ícones.
* @default 0
* @type number
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Icon Y-Axis
* @desc Quantidade Y-Axis dos ícones.
* @default 0
* @type number
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Icon Space X
* @desc Definição do espaço entre os ícones na horizontal.
* @default 0
* @type number
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Icon Space Y
* @desc Definição do espaço entre os ícones na vertical.
* @default 0
* @type number
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param TP Icon Zoom Anime
* @desc Ativar a animação de zoom no último ícone.
* @default true
* @type boolean
* @on Enable
* @off Disable
* @parent -> TP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> EXP <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param EXP Meter Visible
* @desc Apresentar o medidor de EXP
* @default false
* @type boolean
* @on Show
* @off Hide
* @parent -> EXP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param EXP Meter X-Axis
* @desc Definição da posição X-Axis do medidor de EXP.
* @default 0
* @type number
* @parent -> EXP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param EXP Meter Y-Axis
* @desc Definição da posição Y-Axis do medidor de EXP.
* @default 0
* @type number
* @parent -> EXP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param EXP Meter Angle
* @desc Ángulo do medidor.
* @default 0
* @type number
* @parent -> EXP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Level Number Visible
* @desc Apresentar o numero de Level.
* @default false
* @type boolean
* @on Show
* @off Hide
* @parent -> EXP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Level Number Align
* @desc Definição do alinhamento dos números.
* 0 - Espquerda     1 - Centro       2 - Direita
* @default 0
* @type select
* @option Left
* @value 0
* @option Center
* @value 1
* @option Right
* @value 2
* @parent -> EXP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Level Number X-Axis
* @desc Definição da posição X-Axis do numero de Level.
* @default 0
* @type number
* @parent -> EXP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param Level Number Y-Axis
* @desc Definição da posição Y-Axis do numero de Level.
* @default 0
* @type number
* @parent -> EXP <<<<<<<<<<<<<<<<<<<<<<<
*
* @param
*
* @param -> STATES <<<<<<<<<<<<<<<<<<<<<<<
* @desc
*
* @param States Visible
* @desc Apresentar o numero as condições.
* @default false
* @type boolean
* @on Show
* @off Hide
* @parent -> STATES <<<<<<<<<<<<<<<<<<<<<<<
*
* @param States X-Axis
* @desc Definição da posição X-Axis das condições.
* @default 0
* @type number
* @parent -> STATES <<<<<<<<<<<<<<<<<<<<<<<
*
* @param States Y-Axis
* @desc Definição da posição Y-Axis das condições.
* @default 0
* @type number
* @parent -> STATES <<<<<<<<<<<<<<<<<<<<<<<
*
* @help  
* =============================================================================
* +++ MOG Actor Hud (v2.0) +++
* By Moghunter
* https://atelierrgss.wordpress.com/
* =============================================================================
* Adiciona uma Hud com os parâmetros do personagem.
*
* =============================================================================
* - REQUIRED FILES
* =============================================================================
* Serão necessários os arquivos. (img/actorhud/)
*
* HP_Meter.png
* HP_Number.png
* MP_Meter.png
* MP_Number.png
* TP_Meter.png
* TP_Number.png
* Layout.png
* Layout2.png
* LV_Number.png
* EXP_Meter.png
*
* =============================================================================
* Para nomear as faces dos battlers basta nomear da seguinte forma.
*
* Face_ + ACTOR_ID.png
*
* Face_1.png
* Face_2.png
* Face_3.png
* ...
*
* =============================================================================
* - PLUGIN COMMANDS
* =============================================================================
* Para ocultar ou apresentar a hud use os códigos abaixo.
*
* hide_actor_hud
* show_actor_hud
*
* ============================================================================
* - WHAT'S  NEW (version 2.0)
* ============================================================================
* - (NEW) - Plugins parameters compatíveis com RM1.5+
* - (NEW) - Adição da segunda camada de Layout (Overlay).
* - (NEW) - Possibilidade de mudar a velocidade de animação do gradient.
* - (BUG FIX) - Correção de resetar a animação de gradiente ao voltar do menu.
* - (BUG FIX) - Correção de resetar a transparência ao voltar do menu.   
*/

//=============================================================================
// ** PLUGIN PARAMETERS
//=============================================================================
  var Imported = Imported || {};
  Imported.MOG_ActorHud = true;
  var Moghunter = Moghunter || {};

   Moghunter.parameters = PluginManager.parameters('MOG_ActorHud');
   
    // HUD POSITION
        Moghunter.ahud_pos_x = Number(Moghunter.parameters['Hud X-Axis'] || 0);
        Moghunter.ahud_pos_y = Number(Moghunter.parameters['Hud Y-Axis'] || 440);
        Moghunter.ahud_fade_limit = Number(Moghunter.parameters['Fade Max'] || 90);
        Moghunter.ahud_layout2_visible = String(Moghunter.parameters['Layout Overlay Visible'] || true);
        Moghunter.ahud_layout2_x = Number(Moghunter.parameters['Layout Overlay X-Axis'] || 0);
        Moghunter.ahud_layout2_y = Number(Moghunter.parameters['Layout Overlay Y-Axis'] || 0);
       
        // FACE POSITION
        Moghunter.ahud_face_visible = String(Moghunter.parameters['Face Visible'] || true);
        Moghunter.ahud_face_shake = String(Moghunter.parameters['Face Shake Animation'] || true);
        Moghunter.ahud_face_zoom = String(Moghunter.parameters['Face Zoom Animation'] || true);
        Moghunter.ahud_face_animated = String(Moghunter.parameters['Face Frame Animation'] || false);
        Moghunter.ahud_face_pos_x = Number(Moghunter.parameters['Face X-Axis'] || 55);
        Moghunter.ahud_face_pos_y = Number(Moghunter.parameters['Face Y-Axis'] || 100);
        Moghunter.ahud_face_priority = Number(Moghunter.parameters['Face Priority'] || 1);
       
        // NAME POSITION
        Moghunter.ahud_name_visible = String(Moghunter.parameters['Name Visible'] || true);
        Moghunter.ahud_name_font_size = Number(Moghunter.parameters['Name Font Size'] || 20);
        Moghunter.ahud_name_font_bold_size = Number(Moghunter.parameters['Name Bold Size'] || 4);
        Moghunter.ahud_name_font_italic = String(Moghunter.parameters['Name Font Italic'] || false);       
        Moghunter.ahud_name_pos_x = Number(Moghunter.parameters['Name X-Axis'] || 5);
        Moghunter.ahud_name_pos_y = Number(Moghunter.parameters['Name Y-Axis'] || 20);       
       
        // HP ICON POSITION
        Moghunter.ahud_hp_icon_visible = String(Moghunter.parameters['HP Icon Visible'] || 'false');
        Moghunter.ahud_hp_icon_halfMode = String(Moghunter.parameters['HP Icon Half Mode'] || 'false');       
        Moghunter.ahud_hp_icon_colorMax = Number(Moghunter.parameters['HP Icon Max Colors'] || 2);         
        Moghunter.ahud_hp_icon_rows = Number(Moghunter.parameters['HP Icon Max Rows'] || 10);
        Moghunter.ahud_hp_icon_cols = Number(Moghunter.parameters['HP Icon Max Columns'] || 2);       
        Moghunter.ahud_hp_icon_pos_x = Number(Moghunter.parameters['HP Icon X-Axis'] || 143);
        Moghunter.ahud_hp_icon_pos_y = Number(Moghunter.parameters['HP Icon Y-Axis'] || 85);       
        Moghunter.ahud_hp_icon_space_x = Number(Moghunter.parameters['HP Icon Space X'] || 0);
        Moghunter.ahud_hp_icon_space_y = Number(Moghunter.parameters['HP Icon Space Y'] || 0);       
        Moghunter.ahud_hp_icon_zoomAnime = String(Moghunter.parameters['HP Icon Zoom Anime'] || 'true');       
       
        // MP ICON POSITION
        Moghunter.ahud_mp_icon_visible = String(Moghunter.parameters['MP Icon Visible'] || 'false');
        Moghunter.ahud_mp_icon_halfMode = String(Moghunter.parameters['MP Icon Half Mode'] || 'false');       
        Moghunter.ahud_mp_icon_colorMax = Number(Moghunter.parameters['MP Icon Max Colors'] || 2);         
        Moghunter.ahud_mp_icon_rows = Number(Moghunter.parameters['MP Icon Max Rows'] || 10);
        Moghunter.ahud_mp_icon_cols = Number(Moghunter.parameters['MP Icon Max Columns'] || 2);       
        Moghunter.ahud_mp_icon_pos_x = Number(Moghunter.parameters['MP Icon X-Axis'] || 143);
        Moghunter.ahud_mp_icon_pos_y = Number(Moghunter.parameters['MP Icon Y-Axis'] || 125);       
        Moghunter.ahud_mp_icon_space_x = Number(Moghunter.parameters['MP Icon Space X'] || 0);
        Moghunter.ahud_mp_icon_space_y = Number(Moghunter.parameters['MP Icon Space Y'] || 0);       
        Moghunter.ahud_mp_icon_zoomAnime = String(Moghunter.parameters['MP Icon Zoom Anime'] || 'true');       

        // TP ICON POSITION
        Moghunter.ahud_tp_icon_visible = String(Moghunter.parameters['TP Icon Visible'] || 'false');
        Moghunter.ahud_tp_icon_halfMode = String(Moghunter.parameters['TP Icon Half Mode'] || 'false');       
        Moghunter.ahud_tp_icon_colorMax = Number(Moghunter.parameters['TP Icon Max Colors'] || 2);         
        Moghunter.ahud_tp_icon_rows = Number(Moghunter.parameters['TP Icon Max Rows'] || 10);
        Moghunter.ahud_tp_icon_cols = Number(Moghunter.parameters['TP Icon Max Columns'] || 2);       
        Moghunter.ahud_tp_icon_pos_x = Number(Moghunter.parameters['TP Icon X-Axis'] || 143);
        Moghunter.ahud_tp_icon_pos_y = Number(Moghunter.parameters['TP Icon Y-Axis'] || 50);       
        Moghunter.ahud_tp_icon_space_x = Number(Moghunter.parameters['TP Icon Space X'] || 0);
        Moghunter.ahud_tp_icon_space_y = Number(Moghunter.parameters['TP Icon Space Y'] || 0);       
        Moghunter.ahud_tp_icon_zoomAnime = String(Moghunter.parameters['TP Icon Zoom Anime'] || 'true');       
       
        // HP METER POSITION
        Moghunter.ahud_hp_meter_visible = String(Moghunter.parameters['HP Meter Visible'] || true);
        Moghunter.ahud_hp_meter_pos_x = Number(Moghunter.parameters['HP Meter X-Axis'] || 143);
        Moghunter.ahud_hp_meter_pos_y = Number(Moghunter.parameters['HP Meter Y-Axis'] || 85);
        Moghunter.ahud_hp_meter_rotation = Number(Moghunter.parameters['HP Meter Angle'] || 0);
        Moghunter.ahud_hp_meter_flow = String(Moghunter.parameters['HP Meter Flow Anime'] || true);
        Moghunter.ahud_hp_flowSpd = Number(Moghunter.parameters['HP Meter Flow Speed'] || 2);
       
        // HP NUMBER POSITION
        Moghunter.ahud_hp_number_visible  = String(Moghunter.parameters['HP Number Visible'] || true);
        Moghunter.ahud_hp_number_align  = Number(Moghunter.parameters['HP Number Align'] || 0);
        Moghunter.ahud_hp_number_pos_x  = Number(Moghunter.parameters['HP Number X-Axis'] || 270);
        Moghunter.ahud_hp_number_pos_y  = Number(Moghunter.parameters['HP Number Y-Axis'] || 70);
        Moghunter.ahud_maxhp_number_visible  = String(Moghunter.parameters['MaxHP Number Visible'] || false);
        Moghunter.ahud_maxhp_number_pos_x  = Number(Moghunter.parameters['MaxHP Number X-Axis'] || 125);
        Moghunter.ahud_maxhp_number_pos_y  = Number(Moghunter.parameters['MaxHP Number Y-Axis'] || 13);       

        // MP METER POSITION
        Moghunter.ahud_mp_meter_visible = String(Moghunter.parameters['MP Meter Visible'] || true);
        Moghunter.ahud_mp_meter_pos_x = Number(Moghunter.parameters['MP Meter X-Axis'] || 160);
        Moghunter.ahud_mp_meter_pos_y = Number(Moghunter.parameters['MP Meter Y-Axis'] || 115);       
        Moghunter.ahud_mp_meter_rotation = Number(Moghunter.parameters['MP Meter Angle'] || 0);
        Moghunter.ahud_mp_meter_flow = String(Moghunter.parameters['MP Meter Flow Anime'] || true);
        Moghunter.ahud_mp_flowSpd = Number(Moghunter.parameters['MP Meter Flow Speed'] || 2);
       
        // MP NUMBER POSITION
        Moghunter.ahud_mp_number_visible  = String(Moghunter.parameters['MP Number Visible'] || true);
    Moghunter.ahud_mp_number_align  = Number(Moghunter.parameters['MP Number Align'] || 0);       
        Moghunter.ahud_mp_number_pos_x  = Number(Moghunter.parameters['MP Number X-Axis'] || 287);
        Moghunter.ahud_mp_number_pos_y  = Number(Moghunter.parameters['MP Number Y-Axis'] || 100);
        Moghunter.ahud_maxmp_number_visible  = String(Moghunter.parameters['MaxMP Number Visible'] || false);
        Moghunter.ahud_maxmp_number_pos_x  = Number(Moghunter.parameters['MaxMP Number X-Axis'] || 196);
        Moghunter.ahud_maxmp_number_pos_y  = Number(Moghunter.parameters['MaxMP Number Y-Axis'] || 78);       

        // TP METER POSITION
        Moghunter.ahud_tp_meter_visible = String(Moghunter.parameters['TP Meter Visible'] || true);
        Moghunter.ahud_tp_meter_pos_x = Number(Moghunter.parameters['TP Meter X-Axis'] || 143);
        Moghunter.ahud_tp_meter_pos_y = Number(Moghunter.parameters['TP Meter Y-Axis'] || 145);       
        Moghunter.ahud_tp_meter_rotation = Number(Moghunter.parameters['TP Meter Angle'] || 0);
        Moghunter.ahud_tp_meter_flow = String(Moghunter.parameters['TP Meter Flow Anime'] || false);
        Moghunter.ahud_tp_flowSpd = Number(Moghunter.parameters['TP Meter Flow Speed'] || 2);
       
        // TP NUMBER POSITION
        Moghunter.ahud_tp_number_visible  = String(Moghunter.parameters['TP Number Visible'] || true);
        Moghunter.ahud_tp_number_align  = Number(Moghunter.parameters['TP Number Align'] || 0);       
        Moghunter.ahud_tp_number_pos_x  = Number(Moghunter.parameters['TP Number X-Axis'] || 270);
        Moghunter.ahud_tp_number_pos_y  = Number(Moghunter.parameters['TP Number Y-Axis'] || 130);
        Moghunter.ahud_maxtp_number_visible  = String(Moghunter.parameters['MaxTP Number Visible'] || false);
        Moghunter.ahud_maxtp_number_pos_x  = Number(Moghunter.parameters['MaxTP Number X-Axis'] || 185);
        Moghunter.ahud_maxtp_number_pos_y  = Number(Moghunter.parameters['MaxTP Number Y-Axis'] || 116);       

        // Level NUMBER POSITION
        Moghunter.ahud_level_number_visible  = String(Moghunter.parameters['Level Number Visible'] || true);
        Moghunter.ahud_level_number_align  = Number(Moghunter.parameters['Level Number Align'] || 1);       
        Moghunter.ahud_level_number_pos_x  = Number(Moghunter.parameters['Level Number X-Axis'] || 65);
        Moghunter.ahud_level_number_pos_y  = Number(Moghunter.parameters['Level Number Y-Axis'] || 153);

    // EXP METER POSITION
        Moghunter.ahud_exp_meter_visible = String(Moghunter.parameters['EXP Meter Visible'] || true);
        Moghunter.ahud_exp_meter_pos_x = Number(Moghunter.parameters['EXP Meter X-Axis'] || 127);
        Moghunter.ahud_exp_meter_pos_y = Number(Moghunter.parameters['EXP Meter Y-Axis'] || 173);       
        Moghunter.ahud_exp_meter_rotation = Number(Moghunter.parameters['EXP Meter Angle'] || 0);
       
        // STATES POSITION
        Moghunter.ahud_states_visible = String(Moghunter.parameters['States Visible'] || true);
        Moghunter.ahud_states_pos_x = Number(Moghunter.parameters['States X-Axis'] || 5);
        Moghunter.ahud_states_pos_y = Number(Moghunter.parameters['States Y-Axis'] || 64);       

    Moghunter.ahud_hudvisible = String(Moghunter.parameters['Initial Visible'] || "false");       
    Moghunter.ahud_smartFade = String(Moghunter.parameters['Smart Fade'] || "true");       
        Moghunter.ahud_autoFade = String(Moghunter.parameters['Auto Fade'] || "true");
               
//=============================================================================
// ** ImageManager
//=============================================================================

//==============================
// * Actor Hud
//==============================
ImageManager.loadAHud = function(filename) {
    return this.loadBitmap('img/actorhud/', filename, 0, true);
};                       

//=============================================================================
// ** Game_System
//=============================================================================

//==============================
// * Initialize
//==============================
var _alias_mog_ahud_sys_initialize = Game_System.prototype.initialize;
Game_System.prototype.initialize = function() {
        _alias_mog_ahud_sys_initialize.call(this);
        this._ahud_position = [0,0];
        this._ahud_visible = String(Moghunter.ahud_hudvisible) === "true" ? true : false;
        this._ahud_smartFade = String(Moghunter.ahud_smartFade) === "true" ? true : false;
        this._ahud_autoFade = String(Moghunter.ahud_autoFade) === "true" ? true : false;
        this._ahud_opacity = 0;
        this._ahud_flowData = [0,0,0];
};

//=============================================================================
// ** Game BattlerBase
//=============================================================================

//==============================
// * Initialize
//==============================
var _alias_mog_ahud_gbat_initMembers = Game_BattlerBase.prototype.initMembers
Game_BattlerBase.prototype.initMembers = function() {
        _alias_mog_ahud_gbat_initMembers.call(this);
        this._ahud_face_data = [0,0,0,0];
};

//=============================================================================
// ** Game Actor
//=============================================================================

//==============================
// * Current EXP R
//==============================
Game_Actor.prototype.current_exp_r = function() {
    return this.nextLevelExp() - this.nextRequiredExp() - this.expForLevel(this._level);
};

//==============================
// * Next Level EXP R
//==============================
Game_Actor.prototype.nextLevelExp_r = function() {
    return this.expForLevel(this._level + 1) - this.expForLevel(this._level) ;
};

//=============================================================================
// ** Game Character Base
//=============================================================================

//==============================
// * Screen RealX
//==============================
Game_CharacterBase.prototype.screen_realX = function() {
    return this.scrolledX() * $gameMap.tileWidth();
};

//==============================
// * Screen RealY
//==============================
Game_CharacterBase.prototype.screen_realY = function() {
    return this.scrolledY() * $gameMap.tileHeight();
};

//=============================================================================
// ** Game_Interpreter
//=============================================================================       

//==============================
// * PluginCommand
//==============================
var _alias_mog_actorhud_pluginCommand = Game_Interpreter.prototype.pluginCommand
Game_Interpreter.prototype.pluginCommand = function(command, args) {
        _alias_mog_actorhud_pluginCommand.call(this,command, args)
        if (command === "show_actor_hud")  { $gameSystem._ahud_visible = true};
        if (command === "hide_actor_hud")  { $gameSystem._ahud_visible = false;};
        return true;
};

//=============================================================================
// ** Scene Base
//=============================================================================

//==============================
// ** create Hud Field
//==============================
Scene_Base.prototype.createHudField = function() {
        this._hudField = new Sprite();
        this._hudField.z = 10;
        this.addChild(this._hudField);
};

//==============================
// ** sort MZ
//==============================
Scene_Base.prototype.sortMz = function() {
   this._hudField.children.sort(function(a, b){return a.mz-b.mz});
};

//=============================================================================
// ** Scene Map
//=============================================================================

//==============================
// ** create Spriteset
//==============================
var _mog_actorHud_sMap_createSpriteset = Scene_Map.prototype.createSpriteset;
Scene_Map.prototype.createSpriteset = function() {
        _mog_actorHud_sMap_createSpriteset.call(this);
        if (!this._hudField) {this.createHudField()};
        this.createActorHud();
        this.sortMz();
};

//==============================
// * Create Actor Hud
//==============================
Scene_Map.prototype.createActorHud = function() {
        this._actorHud = new Actor_Hud();
        this._actorHud.mz = 101;
        this._hudField.addChild(this._actorHud);       
};

//=============================================================================
// * Actor_Hud
//=============================================================================
function Actor_Hud() {
    this.initialize.apply(this, arguments);
};

Actor_Hud.prototype = Object.create(Sprite.prototype);
Actor_Hud.prototype.constructor = Actor_Hud;

//==============================
// * Initialize
//==============================
Actor_Hud.prototype.initialize = function(hud_id) {
    Sprite.prototype.initialize.call(this);
        this.visible = false;       
    this._data_initial_ref = [0,true];
        this._hud_id = hud_id;
        this._hud_size = [-1,-1,-1,-1];
    this.base_parameter_clear();
    this.load_img();
        if (!$gameSystem._ahud_visible) {
                $gameSystem._ahud_opacity = 0;
                this.opacity = 0
        };
        this.opacity = $gameSystem._ahud_opacity;
        this.update();
};

//==============================
// * Load Img
//==============================
Actor_Hud.prototype.load_img = function() {
        this._layout_img = ImageManager.loadAHud("Layout");
        this._state_img = ImageManager.loadSystem("IconSet");
        if (String(Moghunter.ahud_layout2_visible) == "true") {this._layout2_img = ImageManager.loadAHud("Layout2")};
        if (String(Moghunter.ahud_hp_meter_visible) == "true") {this._hp_meter_img = ImageManager.loadAHud("HP_Meter")};
        if (String(Moghunter.ahud_mp_meter_visible) == "true") {this._mp_meter_img = ImageManager.loadAHud("MP_Meter")};
        if (String(Moghunter.ahud_tp_meter_visible) == "true") {this._tp_meter_img = ImageManager.loadAHud("TP_Meter")};       
        if (String(Moghunter.ahud_hp_icon_visible) == "true") {this._hp_icon_img = ImageManager.loadAHud("HP_Icon")};
        if (String(Moghunter.ahud_mp_icon_visible) == "true") {this._mp_icon_img = ImageManager.loadAHud("MP_Icon")};
        if (String(Moghunter.ahud_tp_icon_visible) == "true") {this._tp_icon_img = ImageManager.loadAHud("TP_Icon")};       
        if (String(Moghunter.ahud_exp_meter_visible) == "true") {this._exp_meter_img = ImageManager.loadAHud("EXP_Meter")};
        if (String(Moghunter.ahud_hp_number_visible) == "true") {this._hp_number_img = ImageManager.loadAHud("HP_Number")};
        if (String(Moghunter.ahud_mp_number_visible) == "true") {this._mp_number_img = ImageManager.loadAHud("MP_Number")};
        if (String(Moghunter.ahud_tp_number_visible) == "true") {this._tp_number_img = ImageManager.loadAHud("TP_Number")};
        if (String(Moghunter.ahud_level_number_visible) == "true") {this._level_number_img = ImageManager.loadAHud("LV_Number")};
        if (String(Moghunter.ahud_maxhp_number_visible) == "true") {this._maxhp_number_img = ImageManager.loadAHud("HP_Number2")};
        if (String(Moghunter.ahud_maxmp_number_visible) == "true") {this._maxmp_number_img = ImageManager.loadAHud("MP_Number2")};
        if (String(Moghunter.ahud_maxtp_number_visible) == "true") {this._maxtp_number_img = ImageManager.loadAHud("TP_Number2")};       
};

//==============================
// * Base Parameter Clear
//==============================
Actor_Hud.prototype.base_parameter_clear = function() {
         this._hp_old = [-1,-1];
         this._maxhp_old = [-1,-1];
         this._hp_old_ani = [-1,-1];
         this._hp_flow = [false,0,0,0];
     this._mp_old = [-1,-1];
         this._maxmp_old = [-1,-1];
         this._mp_old_ani = [-1,-1];
         this._mp_flow = [false,0,0,0];
         this._tp_old = [-1,-1];
         this._maxtp_old = [-1,-1];
         this._tp_old_ani = -1;
         this._tp_flow = [false,0,0,0];
         this._exp_old = [-1,-1];
         this._exp_flow = [false,0,0,0];       
         this._hp_number_old = -1;
         this._mp_number_old = -1;
         this._hp_number_old = -1;         
         this._hp_icon_old = [-1,-1];
         this._mp_icon_old = [-1,-1];
         this._tp_icon_old = [-1,-1];
         this._hp_img_data = [0,0,0];
         this._mp_img_data = [0,0,0];
         this._tp_img_data = [0,0,0];
         this._states_old = [];
         this._states_data = [0,0,0];
         this._active = false;
         this._hp_flow_speed = Moghunter.ahud_hp_flowSpd * 0.1;
         this._mp_flow_speed = Moghunter.ahud_mp_flowSpd * 0.1;
         this._tp_flow_speed = Moghunter.ahud_tp_flowSpd * 0.1;
         this._hud_size = [0,0];
};

//==============================
// * Need Refresh Bhud
//==============================
Actor_Hud.prototype.need_refreh_bhud = function() {
        if (this._data_initial_ref[1]) {return true};
        if (this._battler != $gameParty.members()[0]) {return true};
        return false;
};

//==============================
// * Refresh Bhud
//==============================
Actor_Hud.prototype.refresh_bhud = function() {
         this._data_initial_ref[1] = false;
         this._battler = $gameParty.members()[0];
         this._hud_size = [0,0];
         this.base_parameter_clear();
         this.create_base_sprites();
};

//==============================
// * Refresh Position
//==============================
Actor_Hud.prototype.refresh_position = function() {
         this.set_hud_position();         
         this.visible = true;     
         this.create_sprites();
         this._layout.x = this._pos_x;
         this._layout.y = this._pos_y;
         if (this._face) {
              this._face.x = this._pos_x + Moghunter.ahud_face_pos_x;
             this._face.y = this._pos_y + Moghunter.ahud_face_pos_y;
                 this._battler._face_pos = [this._face.x,this._face.y];
     };
};

//==============================
// * Set Hud Position
//==============================
Actor_Hud.prototype.set_hud_position = function() {
     this._hud_size[0] = Moghunter.ahud_pos_x - ($gameMap.tileWidth() / 2);
     this._hud_size[1] = Moghunter.ahud_pos_y - ($gameMap.tileHeight() / 2);
     this._hud_size[2] = Moghunter.ahud_pos_x + this._layout.bitmap.width - $gameMap.tileWidth();
     this._hud_size[3] = Moghunter.ahud_pos_y + this._layout.bitmap.height;         
         this._pos_x = Moghunter.ahud_pos_x;
         this._pos_y = Moghunter.ahud_pos_y;
};

//==============================
// * Update
//==============================
Actor_Hud.prototype.update = function() {
    Sprite.prototype.update.call(this);       
        if (this.need_refreh_bhud()) {this.refresh_bhud()};
    if (!this._battler) {this.visible = false;return};
        if (!this._layout_img.isReady()) {return};
        if (this._hud_size[0] === 0) {this.refresh_position();return};
        this.update_sprites();
};

//==============================
// * Create Base Sprites
//==============================
Actor_Hud.prototype.create_base_sprites = function() {
        if (Number(Moghunter.ahud_face_priority) === 0) {
               this.create_face();
            this.create_layout();}
        else {
                this.create_layout();
               this.create_face();                           
    };
};

//==============================
// * Create Sprites
//==============================
Actor_Hud.prototype.create_sprites = function() {
        this.create_hp_meter();
        this.create_mp_meter();
    this.create_tp_meter();
        this.create_hp_icon();
        this.create_mp_icon();
    this.create_tp_icon();
        this.create_exp_meter();
        if (this._layout2_img) {this.create_layout2()};
        this.create_hp_number();
        this.create_maxhp_number();
        this.create_mp_number();       
    this.create_maxmp_number();
        this.create_tp_number();
        this.create_level_number();
        this.create_maxtp_number();
    this.create_states();       
        this.create_name();
};

//==============================
// * Update Sprites
//==============================
Actor_Hud.prototype.update_sprites = function() {       
        this.update_visible();
        this.update_face();       
    this.update_hp();
        this.update_mp();
    this.update_tp();
    this.update_states();
        this.update_exp();
};

//==============================
// * Need Hide
//==============================
Actor_Hud.prototype.needHide = function(start) {
        if (Imported.MOG_ChronoEngine && $gameSystem.isChronoMode()) {return true};
    if (!this._battler) {return true};       
        if (!$gameSystem._ahud_visible) {return true};
        if (!$gameSystem._ahud_autoFade) {return false};
        if ($gameMessage.isBusy()) {return true};
        return false
};

//==============================
// * Update visible
//==============================
Actor_Hud.prototype.update_visible = function() {
         this.visible = true;
     if (this.needHide(false)) {
                 this.opacity -= 15;
         } else {                        
                if (this.needFade()) {
                        if (this.opacity > Moghunter.ahud_fade_limit) {
                                this.opacity -= 10;
                                if (this.opacity < Moghunter.ahud_fade_limit) {this.opacity = Moghunter.ahud_fade_limit};
                         };
                } else {
                                 this.opacity += 10;
                };               
         };
         $gameSystem._ahud_opacity = this.opacity;
};

//==============================
// * Need Fade
//==============================
Actor_Hud.prototype.needFade = function() {
    if (this._hud_size[0] === -1) {return false};
        if (!this._battler) {return false};
        if (!$gameSystem._ahud_smartFade) {return false};
        if ($gamePlayer.screen_realX() < this._hud_size[0]) {return false};
        if ($gamePlayer.screen_realX() > this._hud_size[2]) {return false};
        if ($gamePlayer.screen_realY() < this._hud_size[1]) {return false};
        if ($gamePlayer.screen_realY() > this._hud_size[3]) {return false};       
    return true;
};


//==============================
// * Update Dif
//==============================
Actor_Hud.prototype.update_dif = function(value,real_value,speed) {
        if (value == real_value) {return value};
        var dnspeed = 1 + (Math.abs(value - real_value) / speed);
        if (value > real_value) {value -= dnspeed;
            if (value < real_value) {value = real_value};}
    else if (value < real_value) {value  += dnspeed;
            if (value  > real_value) {value  = real_value};               
    };
        return Math.floor(value);
};

//==============================
// * Refresh Meter
//==============================
Actor_Hud.prototype.refresh_meter = function(sprite,value,value_max,type,div) {
        var ch = sprite.bitmap.height / div;
    var meter_rate = sprite.bitmap.width * value / value_max;
        sprite.setFrame(0,type * ch, meter_rate, ch);
};

//==============================
// * Refresh Flow
//==============================
Actor_Hud.prototype.refresh_meter_flow = function(sprite,value,value_max,type,flow) {
        var cw = sprite.bitmap.width / 3;
        var ch = sprite.bitmap.height / 2;
    var meter_rate = cw * value / value_max;
        sprite.setFrame(flow,type * ch, meter_rate, ch);
};

//==============================
// * Refresh Number
//==============================
Actor_Hud.prototype.refresh_number = function(sprites,value,img_data,x,center) {
    numbers = Math.abs(value).toString().split("");  
           for (var i = 0; i < sprites.length ; i++) {sprites.visible = false;
           if (i > numbers.length) {return};
           var n = Number(numbers);
           sprites.setFrame(n * img_data[2], 0, img_data[2], img_data[1]);
           sprites.visible = true;
           var nx = -(img_data[2] * i) + (img_data[2] * numbers.length);
           if (sprites.align === 1) {
              var xi = (img_data[2] * numbers.length) / 2;                  
                   sprites.x = x + xi - nx;
       } else if (sprites.align === 2) {
               var xi = img_data[2] * numbers.length;                  
                   sprites.x = x + xi - nx;
              } else {
                   sprites.x = x - nx;
           };
    };
};

//==============================
// * Need Refresh Parameter
//==============================
Actor_Hud.prototype.need_refresh_parameter = function(parameter) {
  switch (parameter) {
          case 0:
         if (this._hp_old[0] != this._battler.hp) {return true};
                 if (this._hp_old[1] != this._battler.mhp) {return true};
         break;
          case 1:
         if (this._mp_old[0] != this._battler.mp) {return true};
                 if (this._mp_old[1] != this._battler.mmp) {return true};
         break;                       
          case 2:
         if (this._tp_old[0] != this._battler.tp) {return true};                 
                 if (this._tp_old[1] != this._battler.maxTp()) {return true};
         break;       
          case 3:
         if (this._exp_old != this._battler.currentExp()) {return true};
         break;                                                        
  };
  return false;
};

//==============================
// * Create Layout
//==============================
Actor_Hud.prototype.create_layout = function() {
        this.removeChild(this._layout);
        if (!this._battler) {return};
        this._layout = new Sprite(this._layout_img);
        this.addChild(this._layout);
};

//==============================
// * Create Layout 2
//==============================
Actor_Hud.prototype.create_layout2 = function() {
        this.removeChild(this._layout2);
        if (!this._battler) {return};
        this._layout2 = new Sprite(this._layout2_img);
        this._layout2.x = Moghunter.ahud_layout2_x;
        this._layout2.y = Moghunter.ahud_layout2_y;
        this.addChild(this._layout2);
};
       
//==============================
// * Create Face
//==============================
Actor_Hud.prototype.create_face = function() {
        if (String(Moghunter.ahud_face_visible) != "true") {return};
        this.removeChild(this._face);
        if (!this._battler) {return};       
        this._face = new Sprite(ImageManager.loadAHud("Face_" + this._battler._actorId));
        this._face.anchor.x = 0.5;
        this._face.anchor.y = 0.5;
        this._face_data = [0,0,false,false,false,-1];
        if (String(Moghunter.ahud_face_shake) === "true") {this._face_data[2] = true}
        if (String(Moghunter.ahud_face_animated) === "true") {this._face_data[4] = true}
        this._battler._ahud_face_data = [0,0,0,0]
        this.addChild(this._face);
};

//==============================
// * Update Face
//==============================
Actor_Hud.prototype.update_face = function() {
        if (!this._face) {return};
        if (!this._face.bitmap.isReady()) {return};
        if (this._face_data[4] && this._face_data[5] != this._battler._ahud_face_data[2]) {this.refresh_face();};
    this.update_face_animation();
    this.update_face_shake();
    this.update_face_zoom();
};

//==============================
// * Refresh Face
//==============================
Actor_Hud.prototype.refresh_face = function() {
        this._face_data[5] = this._battler._ahud_face_data[2];
        var cw = this._face.bitmap.width / 5;
        var ch = this._face.bitmap.height;
        this._face.setFrame(cw * this._face_data[5], 0, cw, ch);
};

//==============================
// * Update Face Animation
//==============================
Actor_Hud.prototype.update_face_animation = function() {
        if (this._battler._ahud_face_data[3] > 0) {this._battler._ahud_face_data[3] -= 1;
            if (this._battler._ahud_face_data[3] === 0) {
                        if (this._battler.isDead()) {this._battler._ahud_face_data[2] = 4}
                        else if (this._battler.hp <= 30 * this._battler.mhp / 100) {this._battler._ahud_face_data[2] = 3}
                        else {this._battler._ahud_face_data[2] = 0};
                        };
        };
};

//==============================
// * Update Face Zoom
//==============================
Actor_Hud.prototype.update_face_zoom = function() {
        if (this._battler._ahud_face_data[1] > 0) {this._battler._ahud_face_data[1] -= 1;
            if (this._battler._ahud_face_data[1] == 0) {this._face.scale.x = 1.00}
                else if (this._battler._ahud_face_data[1] < 20) {this._face.scale.x -= 0.01;
                         if (this._face.scale.x < 1.00) {this._face.scale.x = 1.00;};       
            }
                else if (this._battler._ahud_face_data[1] < 40){this._face.scale.x += 0.01;
                         if (this._face.scale.x > 1.25) {this._face.scale.x = 1.25;};
            };
            this._face.scale.y = this._face.scale.x;
        };
};

//==============================
// * Update Face Shake
//==============================
Actor_Hud.prototype.update_face_shake = function() {
        this._face.x = this._pos_x + Moghunter.ahud_face_pos_x;
        if (this._face_data[2] && this._battler._ahud_face_data[0] > 0) {this._battler._ahud_face_data[0] -= 1;
            this._face.x = this._pos_x + Moghunter.ahud_face_pos_x + ((Math.random() * 12) - 6);
        };
};

//==============================
// * Create Name
//==============================
Actor_Hud.prototype.create_name = function() {
        if (String(Moghunter.ahud_name_visible) != "true") {return};
        this.removeChild(this._name);
        if (!this._battler) {return};       
        this._name = new Sprite(new Bitmap(300,48));
        this._name.x = this._pos_x + Moghunter.ahud_name_pos_x;
        this._name.y = this._pos_y + Moghunter.ahud_name_pos_y;
        this._name.bitmap.fontSize = Number(Moghunter.ahud_name_font_size);
        if (String(Moghunter.ahud_name_font_italic) === "true") {this._name.bitmap.fontItalic = true};
    this._name.bitmap.outlineWidth = Number(Moghunter.ahud_name_font_bold_size);
        this.addChild(this._name);       
        this.refresh_name();
};

//==============================
// * Refresh Name
//==============================
Actor_Hud.prototype.refresh_name = function() {
        this._name.bitmap.clear();
        this._name.bitmap.drawText(this._battler._name, 0, 0, this._name.bitmap.width, this._name.bitmap.height,0);       
};

//==============================
// * Create HP Meter
//==============================
Actor_Hud.prototype.create_hp_meter = function() {
        if (String(Moghunter.ahud_hp_meter_visible) != "true") {return};
        this.removeChild(this._hp_meter_blue);
        this.removeChild(this._hp_meter_red);
        if (!this._battler) {return};
        this._hp_meter_red = new Sprite(this._hp_meter_img);
        this._hp_meter_red.x = this._pos_x + Moghunter.ahud_hp_meter_pos_x;
        this._hp_meter_red.y = this._pos_y + Moghunter.ahud_hp_meter_pos_y;
        this._hp_meter_red.rotation = Moghunter.ahud_hp_meter_rotation * Math.PI / 180;
        this._hp_meter_red.setFrame(0,0,0,0);
        this.addChild(this._hp_meter_red);               
        this._hp_meter_blue = new Sprite(this._hp_meter_img);
        this._hp_meter_blue.x = this._hp_meter_red.x;
        this._hp_meter_blue.y = this._hp_meter_red.y;
        this._hp_meter_blue.rotation = this._hp_meter_red.rotation * Math.PI / 180;
        this._hp_meter_blue.setFrame(0,0,0,0);
        this.addChild(this._hp_meter_blue);
        this._hp_old_ani[0] = this._battler.hp - 1;
        if (String(Moghunter.ahud_hp_meter_flow) === "true") {this._hp_flow[0] = true;
            this._hp_flow[2] = this._hp_meter_img.width / 3;
                this._hp_flow[3] = this._hp_flow[2] * 2;
                this._hp_flow[1] = Math.floor(Math.random() * this._hp_flow[2]);
        };
};

//==============================
// * Create HP icon
//==============================
Actor_Hud.prototype.create_hp_icon = function() {
   if (String(Moghunter.ahud_hp_icon_visible) != "true") {return};
        if (this._hp_icons) {
            for (var i = 0; i < this._hp_icons.length; i++) {
                        this.removeChild(this._hp_icons);
            };
            for (var i = 0; i < this._hp_iconsB.length; i++) {
                        this.removeChild(this._hp_iconsB);
            };
        };       
        if (!this._battler) {return};       
        var n_icons = Moghunter.ahud_hp_icon_rows * Moghunter.ahud_hp_icon_cols;
        this._hp_icons = [];
        this._hp_icons.iconMode = String(Moghunter.ahud_hp_icon_halfMode) == "true" ? true : false;
        this._hp_iconsB = [];

        this._hp_iconsB.iconMode = this._hp_icons.iconMode;
        this._hp_IconZoomAnime = String(Moghunter.ahud_hp_icon_zoomAnime) == "true" ? true : false;
        var colors = Math.max(Moghunter.ahud_hp_icon_colorMax, 2)
        var cw = this._hp_icon_img.width / colors;
        var ch = this._hp_icon_img.height / 2;
        for (var i = 0; i < n_icons; i++) {
                 this._hp_iconsB = new Sprite(this._hp_icon_img);
                 this._hp_iconsB.colorMax = colors;
                 this._hp_iconsB.anchor.x = 0.5;
                 this._hp_iconsB.anchor.y = 0.5;
                 this._hp_iconsB.rows = Moghunter.ahud_hp_icon_rows;
                 this._hp_iconsB.cols = Moghunter.ahud_hp_icon_cols;
                 this._hp_iconsB.org = [this._pos_x + Moghunter.ahud_hp_icon_pos_x - cw,this._pos_y + Moghunter.ahud_hp_icon_pos_y - ch];
                 this._hp_iconsB.spc = [Moghunter.ahud_hp_icon_space_x,Moghunter.ahud_hp_icon_space_y];
                 this._hp_iconsB.zoomA = this._hp_IconZoomAnime;
                 this._hp_iconsB.zoomData = [0,0,0,1.00];
                 this._hp_iconsB.visible = false;
                 this._hp_iconsB.enabled = false;
                 this.addChild(this._hp_iconsB);
        };               
        for (var i = 0; i < n_icons; i++) {
                 this._hp_icons = new Sprite(this._hp_icon_img);
                 this._hp_icons.colorMax = Math.max(Moghunter.ahud_hp_icon_colorMax, 2);
                 this._hp_icons.anchor.x = 0.5;
                 this._hp_icons.anchor.y = 0.5;                 
                 this._hp_icons.rows = Moghunter.ahud_hp_icon_rows;
                 this._hp_icons.cols = Moghunter.ahud_hp_icon_cols;
                 this._hp_icons.org = [this._pos_x + Moghunter.ahud_hp_icon_pos_x - cw,this._pos_y + Moghunter.ahud_hp_icon_pos_y - ch];
                 this._hp_icons.spc = [Moghunter.ahud_hp_icon_space_x,Moghunter.ahud_hp_icon_space_y];
                 this._hp_icons.zoomA = this._hp_IconZoomAnime;
                 this._hp_icons.zoomData = [0,0,0,1.00];         
                 this._hp_icons.visible = false;
                 this._hp_icons.enabled = false;
                 this.addChild(this._hp_icons);
        };
};

//==============================
// * Create MP icon
//==============================
Actor_Hud.prototype.create_mp_icon = function() {
   if (String(Moghunter.ahud_mp_icon_visible) != "true") {return};
        if (this._mp_icons) {
            for (var i = 0; i < this._mp_icons.length; i++) {
                        this.removeChild(this._mp_icons);
            };
            for (var i = 0; i < this._mp_iconsB.length; i++) {
                        this.removeChild(this._mp_iconsB);
            };
        };       
        if (!this._battler) {return};       
        var n_icons = Moghunter.ahud_mp_icon_rows * Moghunter.ahud_mp_icon_cols;
        this._mp_icons = [];
        this._mp_icons.iconMode = String(Moghunter.ahud_mp_icon_halfMode) == "true" ? true : false;
        this._mp_iconsB = [];
        this._mp_iconsB.iconMode = 0;
        this._mp_IconZoomAnime = String(Moghunter.ahud_mp_icon_zoomAnime) == "true" ? true : false
        var colors = Math.max(Moghunter.ahud_mp_icon_colorMax, 2);
        var cw = this._mp_icon_img.width / colors;
        var ch = this._mp_icon_img.height / 2;
        for (var i = 0; i < n_icons; i++) {
                 this._mp_iconsB = new Sprite(this._mp_icon_img);
                 this._mp_iconsB.colorMax = colors;
                 this._mp_iconsB.anchor.x = 0.5;
                 this._mp_iconsB.anchor.y = 0.5;
                 this._mp_iconsB.rows = Moghunter.ahud_mp_icon_rows;
                 this._mp_iconsB.cols = Moghunter.ahud_mp_icon_cols;
                 this._mp_iconsB.org = [this._pos_x + Moghunter.ahud_mp_icon_pos_x - cw,this._pos_y + Moghunter.ahud_mp_icon_pos_y - ch];
                 this._mp_iconsB.spc = [Moghunter.ahud_mp_icon_space_x,Moghunter.ahud_mp_icon_space_y];
                 this._mp_iconsB.zoomA = this._mp_IconZoomAnime;
                 this._mp_iconsB.zoomData = [0,0,0,1.00];
                 this._mp_iconsB.visible = false;
                 this._mp_iconsB.enabled = false;
                 this.addChild(this._mp_iconsB);
        };               
        for (var i = 0; i < n_icons; i++) {
                 this._mp_icons = new Sprite(this._mp_icon_img);
                 this._mp_icons.colorMax = Math.max(Moghunter.ahud_mp_icon_colorMax, 2);
                 this._mp_icons.anchor.x = 0.5;
                 this._mp_icons.anchor.y = 0.5;                 
                 this._mp_icons.rows = Moghunter.ahud_mp_icon_rows;

                 this._mp_icons.cols = Moghunter.ahud_mp_icon_cols;
                 this._mp_icons.org = [this._pos_x + Moghunter.ahud_mp_icon_pos_x - cw,this._pos_y + Moghunter.ahud_mp_icon_pos_y - ch];
                 this._mp_icons.spc = [Moghunter.ahud_mp_icon_space_x,Moghunter.ahud_mp_icon_space_y];
                 this._mp_icons.zoomA = this._mp_IconZoomAnime;
                 this._mp_icons.zoomData = [0,0,0,1.00];         
                 this._mp_icons.visible = false;
                 this._mp_icons.enabled = false;
                 this.addChild(this._mp_icons);
        };       
};

//==============================
// * Create TP icon
//==============================
Actor_Hud.prototype.create_tp_icon = function() {
   if (String(Moghunter.ahud_tp_icon_visible) != "true") {return};
        if (this._tp_icons) {
            for (var i = 0; i < this._tp_icons.length; i++) {
                        this.removeChild(this._tp_icons);
            };
            for (var i = 0; i < this._tp_iconsB.length; i++) {
                        this.removeChild(this._tp_iconsB);
            };
        };       
        if (!this._battler) {return};       
        var n_icons = Moghunter.ahud_tp_icon_rows * Moghunter.ahud_tp_icon_cols;
        this._tp_icons = [];
        this._tp_icons.iconMode = String(Moghunter.ahud_tp_icon_halfMode) == "true" ? true : false;
        this._tp_iconsB = [];
        this._tp_iconsB.iconMode = this._tp_icons.iconMode;
        this._tp_IconZoomAnime = String(Moghunter.ahud_tp_icon_zoomAnime) == "true" ? true : false;
        var colors = Math.max(Moghunter.ahud_tp_icon_colorMax, 2);
        var cw = this._tp_icon_img.width / colors;
        var ch = this._tp_icon_img.height / 2;
        for (var i = 0; i < n_icons; i++) {
                 this._tp_iconsB = new Sprite(this._tp_icon_img);
                 this._tp_iconsB.colorMax = colors;
                 this._tp_iconsB.anchor.x = 0.5;
                 this._tp_iconsB.anchor.y = 0.5;
                 this._tp_iconsB.rows = Moghunter.ahud_tp_icon_rows;
                 this._tp_iconsB.cols = Moghunter.ahud_tp_icon_cols;
                 this._tp_iconsB.org = [this._pos_x + Moghunter.ahud_tp_icon_pos_x - cw,this._pos_y + Moghunter.ahud_tp_icon_pos_y - ch];
                 this._tp_iconsB.spc = [Moghunter.ahud_tp_icon_space_x,Moghunter.ahud_tp_icon_space_y];
                 this._tp_iconsB.zoomA = this._tp_IconZoomAnime;
                 this._tp_iconsB.zoomData = [0,0,0,1.00];
                 this._tp_iconsB.visible = false;
                 this._tp_iconsB.enabled = false;
                 this.addChild(this._tp_iconsB);
        };               
        for (var i = 0; i < n_icons; i++) {
                 this._tp_icons = new Sprite(this._tp_icon_img);
                 this._tp_icons.colorMax = Math.max(Moghunter.ahud_tp_icon_colorMax, 2);
                 this._tp_icons.anchor.x = 0.5;
                 this._tp_icons.anchor.y = 0.5;                 
                 this._tp_icons.rows = Moghunter.ahud_tp_icon_rows;
                 this._tp_icons.cols = Moghunter.ahud_tp_icon_cols;
                 this._tp_icons.org = [this._pos_x + Moghunter.ahud_tp_icon_pos_x - cw,this._pos_y + Moghunter.ahud_tp_icon_pos_y - ch];
                 this._tp_icons.spc = [Moghunter.ahud_tp_icon_space_x,Moghunter.ahud_tp_icon_space_y];
                 this._tp_icons.zoomA = this._tp_IconZoomAnime;
                 this._tp_icons.zoomData = [0,0,0,1.00];         
                 this._tp_icons.visible = false;
                 this._tp_icons.enabled = false;
                 this.addChild(this._tp_icons);
        };               
};


//==============================
// * setFrameIcon
//==============================
Actor_Hud.prototype.setFrameIcon = function(icon,image,i,hp,cw,ch) {       
        var sX = cw + 2 + icon.spc[0];
        var sY = ch + 2 + icon.spc[1];
        var lX = sX * icon.rows;
        var lines = Math.floor(i / icon.rows);
        icon.scale.y = icon.scale.x;
        icon.setFrame(hp,0,cw,ch);
        icon.x = icon.org[0] + (sX * i) - (lX * lines);
        icon.y = icon.org[1] + (sY * lines);
};

//==============================
// * is Icon Visible
//==============================
Actor_Hud.prototype.isIconVisible = function(i,mode,par,par_max,realvalue,isMaxValue,colorIndex,colorIndex2,realvalue2,icon,maxvalue) {       
    icon.opacity = 255;
        icon.blendMode = 0;
        if (mode === 0) {
            if (i >= par_max) {return false};
                return true;
        };
        if (par === 0) {return false};
        if (par > maxvalue) {
                icon.opacity = 155;
                icon.blendMode = 1;
                return true;
        };
    if (isMaxValue) {return true};
        if (colorIndex > 0 && colorIndex2 >= colorIndex) {
            icon.opacity = i >= realvalue ? 0 : 255;
                icon.blendMode = i >= realvalue ? 1 : 0;
                if (colorIndex2 > colorIndex) {return true};
                if (i >= realvalue2) {return false};
    } else {
          if (i >= realvalue) {return false};
    };
    return true;
};

//==============================
// * set Color Index
//==============================
Actor_Hud.prototype.setColorIndex = function(i,mode,par,par_max,realvalue,isMaxValue,colorIndex,colorMax,maxvalue) {       
     if (par === 0) {return 0};
         if (colorIndex >= colorMax || par > maxvalue) {return colorMax - 1}
     if (mode === 0) {return colorIndex};
         if (mode === 1) {
                 if (realvalue === 0) {return colorIndex};
                 return colorIndex + 1;
         };
     return 0;
};

//==============================
// * is Icon Enabled
//==============================
Actor_Hud.prototype.isIconEnabled = function(i,mode,par,par_max,realvalue,iconMax,colorIndex,colorMax,maxvalue) {       
     if (mode === 0) {return false};
         if (par === 0) {return false};
         if (colorIndex >= colorMax || par > maxvalue) {return true}
         if (realvalue != 0 && i === (realvalue - 1)) {return true};
         if (realvalue === 0 && i === (iconMax - 1)) {return true};
     return false
};

//==============================
// * refresh Icons
//==============================
Actor_Hud.prototype.refresh_icons = function(sprites,image,par,par_max,mode) {       
    if (sprites.iconMode) {
                this.refreshIconHalfMode(sprites,image,par,par_max,mode);
        } else {
                this.refreshIconNormalMode(sprites,image,par,par_max,mode);
        };
};

//==============================
// * refresh Icon Normal Mode
//==============================
Actor_Hud.prototype.refreshIconNormalMode = function(sprites,image,par,par_max,mode) {       
    for (var i = 0; i < sprites.length; i++) {
           var icon = sprites;
       var cw = image.width / icon.colorMax;
           var ch = image.height;          
           var iconMax = icon.rows;
           var colorIndex = Math.floor(par / iconMax);
           var colorMax = icon.colorMax;
           var avaliableValue = Math.floor(colorIndex * iconMax)
           var realvalue = par - avaliableValue;
           var isMaxValue = par === avaliableValue ? true : false;
           var colorIndex2 = Math.floor(par_max / iconMax);
           var avaliableValue2 = Math.floor(colorIndex2 * iconMax)
           var realvalue2 = par_max - avaliableValue2;
           var maxvalue = iconMax * (colorMax - 1);
           var hp = cw * this.setColorIndex(i,mode,par,par_max,realvalue,isMaxValue,colorIndex,colorMax,maxvalue);
       icon.visible = this.isIconVisible(i,mode,par,par_max,realvalue,isMaxValue,colorIndex,colorIndex2,realvalue2,icon,maxvalue);
           icon.enable = this.isIconEnabled(i,mode,par,par_max,realvalue,iconMax,colorIndex,colorMax,maxvalue);
           icon.scale.x = 1.00;
           icon.zoomData = [0,0,0,icon.scale.x];
           this.setFrameIcon(icon,image,i,hp,cw,ch);
        };
};

//==============================
// * refresh Icon Half Mode
//==============================
Actor_Hud.prototype.refreshIconHalfMode = function(sprites,image,par,par_max,mode) {       
    var halfpar = Math.floor(par / 2);
        var parOdd1 = par%2;
        var parOdd2 = parOdd1 == 0 ? true : false;
        var prepar = par;
        par = sprites.iconMode ? (halfpar + parOdd1) : par;
        var prepar2 = par;
        var halfmaxpar = Math.floor(par_max / 2);
        var parmaxOdd1 = par_max%2;
        var parmaxOdd2 = parmaxOdd1 == 0 ? true : false;
        var preparmax = par_max;
        par_max = sprites.iconMode ? (halfmaxpar + parmaxOdd1) : par_max;
        var preparmax2 = par_max;       
        if (mode === 1 && par > sprites.length) {

                        var mx_g = Math.floor(par / sprites.length);
                        var mx_l = sprites.length * mx_g;
                        var par = par - mx_l;
                        if (par === 0) {par = sprites.length};
        };
        for (var i = 0; i < sprites.length; i++) {
                var icon = sprites;
                icon.visible = false;
                icon.opacity = 255;
                icon.enable = (prepar2 > 0 && i === (prepar2 - 1) && mode === 1) ? true : false;
                var cw = image.width / icon.colorMax;
                var ch = image.height;
                if (par > 0 && icon.colorMax > 2) {
                        var lines  = Math.floor((prepar - 1) / sprites.length) + 1;
                        if (lines >= icon.colorMax - 1) {
                                var hp = (icon.colorMax - 1) * cw;
                                if (mode === 1) {icon.opacity = 0};
                        } else {
              if (mode === 0 && lines > 0) {lines--};
                          var hp = lines * cw;       
                        };
                } else {
                        if (mode === 1 && prepar2 > sprites.length) {
                                par = prepar;
                                icon.enable = false;
                        };               
                    var hp = mode === 1 ? cw : 0;
                };
                var sX = cw + 2 + icon.spc[0];
                var sY = ch + 2 + icon.spc[1];
                var lX = sX * icon.rows;
                var lines = Math.floor(i / icon.rows);
                if (sprites.iconMode) {
                        if (mode === 0) {
                                icon.scale.x = 1.00;
                                if (par_max <= sprites.length && i == par_max - 1) {
                                        icon.scale.x = !parmaxOdd2 ? 0.5 : 1.00;
                                };
                        } else  {
                                if (prepar2 - 1 === i) {
                                        icon.scale.x = parOdd2 ? 1.00 : 0.50;
                                } else {
                                        icon.scale.x = 1.00;
                                };               
                        };
                } else {
                        icon.scale.x = 1.00;
                };
                icon.scale.y = icon.scale.x;
                icon.zoomData = [0,0,0,icon.scale.x];
                icon.visible = true
                if (par_max < sprites.length && i > (par_max - 1)) {icon.visible = false};
                 if (mode === 1) {
                        icon.visible = i > prepar2 - 1 ? false : true
                };
                icon.setFrame(hp,0,cw,ch);
                icon.x = icon.org[0] + (sX * i) - (lX * lines);
                icon.y = icon.org[1] + (sY * lines);
        };
};

//==============================
// * update Icon Zoom Anime
//==============================
Actor_Hud.prototype.updateIconZoomAnime = function(sprites) {
        for (var i = 0; i < sprites.length; i++) {
                 var icon = sprites;
                 if (icon.enable) {
                         icon.zoomData[1]++;
                         if (icon.zoomData[1] > 2) {
                             icon.zoomData[1] = 0;
                                 icon.zoomData[2]++;
                             if (icon.zoomData[2] < 15) {
                                 icon.zoomData[0] += 0.02;
                                 } else if (icon.zoomData[2] < 30) {
                                         icon.zoomData[0] -= 0.02;
                                 } else {
                                         icon.zoomData[0] = 0;
                                     icon.zoomData[2] = 0;
                                 };
                             icon.scale.x = icon.zoomData[3] + icon.zoomData[0];
                             icon.scale.y = icon.scale.x;
                         };
                 };
        };
};

//==============================
// * Create HP Number
//==============================
Actor_Hud.prototype.create_hp_number = function() {
        if (String(Moghunter.ahud_hp_number_visible) != "true") {return};
        if (this._hp_number) {for (var i = 0; i < this._hp_number.length; i++) {this.removeChild(this._hp_number);}};
        if (!this._battler) {return};
        this._hp_number = [];
        this._hp_number.align = Number(Moghunter.ahud_hp_number_align);
        this._hp_img_data = [this._hp_number_img.width,this._hp_number_img.height,
                              this._hp_number_img.width / 10, this._hp_number_img.height / 2,
                                                  this._pos_x + Moghunter.ahud_hp_number_pos_x,
                                                  this._pos_y + Moghunter.ahud_hp_number_pos_y,
                                                  ];
        for (var i = 0; i < 5; i++) {
           this._hp_number = new Sprite(this._hp_number_img);
           this._hp_number.visible = false;
           this._hp_number.x = this._hp_img_data[4];
           this._hp_number.y = this._hp_img_data[5];
           this.addChild(this._hp_number);
        };       
        this._hp_number_old = this._battler.hp;       
        this.refresh_number(this._hp_number,this._hp_number_old,this._hp_img_data,this._hp_img_data[4],0);       
};

//==============================
// * Create maxHP Number
//==============================
Actor_Hud.prototype.create_maxhp_number = function() {
        if (String(Moghunter.ahud_maxhp_number_visible) != "true") {return};
        if (this._maxhp_number) {for (var i = 0; i < this._maxhp_number.length; i++) {this.removeChild(this._maxhp_number);}};
        if (!this._battler) {return};       
        this._maxhp_number = [];
        this._maxhp_number.align = Number(Moghunter.ahud_hp_number_align);
        this._maxhp_img_data = [this._maxhp_number_img.width,this._maxhp_number_img.height,
                              this._maxhp_number_img.width / 10, this._maxhp_number_img.height / 2,
                                                  this._pos_x + Moghunter.ahud_maxhp_number_pos_x,
                                                  this._pos_y + Moghunter.ahud_maxhp_number_pos_y,
                                                  ];
        for (var i = 0; i < 5; i++) {
           this._maxhp_number = new Sprite(this._maxhp_number_img);
           this._maxhp_number.visible = false;
           this._maxhp_number.x = this._maxhp_img_data[4];
           this._maxhp_number.y = this._maxhp_img_data[5];
           this.addChild(this._maxhp_number);
        };               
        this._maxhp_number_old = this._battler.mhp;       
        this.refresh_number(this._maxhp_number,this._maxhp_number_old,this._maxhp_img_data,this._maxhp_img_data[4],0);       
};

//==============================
// * Update HP
//==============================
Actor_Hud.prototype.update_hp = function() {
        if (this._hp_meter_blue) {
                if(this._hp_flow[0]) {
                   if (this._hp_old[1] != this._battler.mhp) {
                       this._hp_old = [this._battler.hp,this._battler.mhp];
                           this.refresh_meter_flow(this._hp_meter_red,this._battler.hp,this._battler.mhp,1,$gameSystem._ahud_flowData[0]);
                   };                                       
                   this.refresh_meter_flow(this._hp_meter_blue,this._battler.hp,this._battler.mhp,0,$gameSystem._ahud_flowData[0]);
                      var dif_meter = this.update_dif(this._hp_old_ani[0],this._battler.hp,160)
                   if (this._hp_old_ani[0] != dif_meter) {this._hp_old_ani[0] = dif_meter;
               this.refresh_meter_flow(this._hp_meter_red,this._hp_old_ani[0],this._battler.mhp,1,$gameSystem._ahud_flowData[0]);
                   };
                   $gameSystem._ahud_flowData[0] += this._hp_flow_speed;
                   if ($gameSystem._ahud_flowData[0] > this._hp_flow[3]) {$gameSystem._ahud_flowData[0] = 0};
               }
                else {
                   if (this.need_refresh_parameter(0)) {
                                this.refresh_meter(this._hp_meter_blue,this._battler.hp,this._battler.mhp,0,2,0);
                                this._hp_old = [this._battler.hp,this._battler.mhp];
                        };
                        var dif_meter = this.update_dif(this._hp_old_ani[0],this._battler.hp,160)
                        if (this._hp_old_ani[0] != dif_meter) {this._hp_old_ani[0] = dif_meter;
                        this.refresh_meter(this._hp_meter_red,this._hp_old_ani[0],this._battler.mhp,1,2,0);};               
            };
    };
        if (this._hp_number) {
                var dif_number = this.update_dif(this._hp_number_old,this._battler.hp,30)
                if (this._hp_number_old != dif_number) {this._hp_number_old = dif_number;
                this.refresh_number(this._hp_number,this._hp_number_old,this._hp_img_data,this._hp_img_data[4],0);};
        };
    if (this._maxhp_number) {
                if (this._maxhp_number_old != this._battler.mhp) {this._maxhp_number_old = this._battler.mhp;
                this.refresh_number(this._maxhp_number,this._maxhp_number_old,this._maxhp_img_data,this._maxhp_img_data[4],0);};
        };
        if (this._hp_icons) {
                if (this._hp_icon_old[0] != this._battler.hp || this._hp_icon_old[1] != this._battler.mhp) {
                    this._hp_icon_old[0] = this._battler.hp;
                        this._hp_icon_old[1] = this._battler.mhp;
                        this.refresh_icons(this._hp_iconsB,this._hp_icon_img,this._battler.hp,this._battler.mhp,0);
                this.refresh_icons(this._hp_icons,this._hp_icon_img,this._battler.hp,this._battler.mhp,1);
                };
                if (this._hp_IconZoomAnime) {this.updateIconZoomAnime(this._hp_icons)};
    };
};

//==============================
// * Create MP Meter
//==============================
Actor_Hud.prototype.create_mp_meter = function() {
        if (String(Moghunter.ahud_mp_meter_visible) != "true") {return};
        this.removeChild(this._mp_meter_blue);
        this.removeChild(this._mp_meter_red);
        if (!this._battler) {return};
        this._mp_meter_red = new Sprite(this._mp_meter_img);
        this._mp_meter_red.x = this._pos_x + Moghunter.ahud_mp_meter_pos_x;
        this._mp_meter_red.y = this._pos_y + Moghunter.ahud_mp_meter_pos_y;
        this._mp_meter_red.rotation = Moghunter.ahud_mp_meter_rotation * Math.PI / 180;
        this._mp_meter_red.setFrame(0,0,0,0);
        this.addChild(this._mp_meter_red);               
        this._mp_meter_blue = new Sprite(this._mp_meter_img);
        this._mp_meter_blue.x = this._mp_meter_red.x;
        this._mp_meter_blue.y = this._mp_meter_red.y;
        this._mp_meter_blue.rotation = this._mp_meter_red.rotation * Math.PI / 180;
        this._mp_meter_blue.setFrame(0,0,0,0);
        this.addChild(this._mp_meter_blue);
        this._mp_old_ani[0] = this._battler.mp - 1;
        if (String(Moghunter.ahud_mp_meter_flow) === "true") {this._mp_flow[0] = true;
            this._mp_flow[2] = this._mp_meter_img.width / 3;
                this._mp_flow[3] = this._mp_flow[2] * 2;
                this._mp_flow[1] = Math.floor(Math.random() * this._mp_flow[2]);
        };
};

//==============================
// * Create MP Number
//==============================
Actor_Hud.prototype.create_mp_number = function() {
        if (String(Moghunter.ahud_mp_number_visible) != "true") {return};
        if (this._mp_number) {for (var i = 0; i < this._mp_number.length; i++) {this.removeChild(this._mp_number);}};
        if (!this._battler) {return};
        this._mp_number = [];
        this._mp_number.align = Number(Moghunter.ahud_mp_number_align);
        this._mp_img_data = [this._mp_number_img.width,this._mp_number_img.height,
                              this._mp_number_img.width / 10, this._mp_number_img.height / 2,
                                                  this._pos_x + Moghunter.ahud_mp_number_pos_x,
                                                  this._pos_y + Moghunter.ahud_mp_number_pos_y,
                                                  ];
        for (var i = 0; i < 5; i++) {
           this._mp_number = new Sprite(this._mp_number_img);
           this._mp_number.visible = false;
           this._mp_number.x = this._mp_img_data[4];
           this._mp_number.y = this._mp_img_data[5] ;
           this.addChild(this._mp_number);
        };       
        this._mp_number_old = this._battler.mp;
        this.refresh_number(this._mp_number,this._mp_number_old,this._mp_img_data,this._mp_img_data[4],0);       
};

//==============================
// * Create MaxMP Number
//==============================
Actor_Hud.prototype.create_maxmp_number = function() {
        if (String(Moghunter.ahud_maxmp_number_visible) != "true") {return};
        if (this._maxmp_number) {for (var i = 0; i < this._maxmp_number.length; i++) {this.removeChild(this._maxmp_number);}};
        if (!this._battler) {return};
        this._maxmp_number = [];
        this._maxmp_number.align = Number(Moghunter.ahud_mp_number_align);
        this._maxmp_img_data = [this._maxmp_number_img.width,this._maxmp_number_img.height,
                              this._maxmp_number_img.width / 10, this._maxmp_number_img.height / 2,
                                                  this._pos_x + Moghunter.ahud_maxmp_number_pos_x,
                                                  this._pos_y + Moghunter.ahud_maxmp_number_pos_y,
                                                  ];
        for (var i = 0; i < 5; i++) {
           this._maxmp_number = new Sprite(this._maxmp_number_img);
           this._maxmp_number.visible = false;
           this._maxmp_number.x = this._maxmp_img_data[4];
           this._maxmp_number.y = this._maxmp_img_data[5] ;
           this.addChild(this._maxmp_number);
        };       
        this._maxmp_number_old = this._battler.mmp;       
        this.refresh_number(this._maxmp_number,this._maxmp_number_old,this._maxmp_img_data,this._maxmp_img_data[4],0);       
};

//==============================
// * Update MP
//==============================
Actor_Hud.prototype.update_mp = function() {
        if (this._mp_meter_blue) {
                if(this._mp_flow[0]) {
                   if (this._mp_old[1] != this._battler.mmp) {
                       this._mp_old = [this._battler.mp,this._battler.mmp];
                           this.refresh_meter_flow(this._mp_meter_red,this._battler.mp,this._battler.mmp,1,$gameSystem._ahud_flowData[1]);
                   };                       
                   this.refresh_meter_flow(this._mp_meter_blue,this._battler.mp,this._battler.mmp,0,$gameSystem._ahud_flowData[1]);
                      var dif_meter = this.update_dif(this._mp_old_ani[0],this._battler.mp,160);
                   if (this._mp_old_ani[0] != dif_meter) {this._mp_old_ani[0] = dif_meter;
               this.refresh_meter_flow(this._mp_meter_red,this._mp_old_ani[0],this._battler.mmp,1,$gameSystem._ahud_flowData[1]);
                   };
                   $gameSystem._ahud_flowData[1] += this._mp_flow_speed;
                   if ($gameSystem._ahud_flowData[1] > this._mp_flow[3]) {$gameSystem._ahud_flowData[1] = 0};                  
               }
                else {               
                        if (this.need_refresh_parameter(1)) {
                                this.refresh_meter(this._mp_meter_blue,this._battler.mp,this._battler.mmp,0,2,0);
                                this._mp_old = [this._battler.mp,this._battler.mmp];
                        };
                        var dif_meter = this.update_dif(this._mp_old_ani[0],this._battler.mp,160)
                        if (this._mp_old_ani[0] != dif_meter) {this._mp_old_ani[0] = dif_meter;
                        this.refresh_meter(this._mp_meter_red,this._mp_old_ani[0],this._battler.mmp,1,2,0);};
                };
    };
        if (this._mp_number) {
                var dif_number = this.update_dif(this._mp_number_old,this._battler.mp,30)
                if (this._mp_number_old != dif_number) {this._mp_number_old = dif_number;
                this.refresh_number(this._mp_number,this._mp_number_old,this._mp_img_data,this._mp_img_data[4],0);};
        };
        if (this._maxmp_number) {
                if (this._maxmp_number_old != this._battler.mmp) {this._maxmp_number_old = this._battler.mmp;
                this.refresh_number(this._maxmp_number,this._maxmp_number_old,this._maxmp_img_data,this._maxmp_img_data[4],0);};
        };
        if (this._mp_icons) {
                if (this._mp_icon_old[0] != this._battler.mp || this._mp_icon_old[1] != this._battler.mmp) {
                    this._mp_icon_old[0] = this._battler.mp;
                        this._mp_icon_old[1] = this._battler.mmp;
                        this.refresh_icons(this._mp_iconsB,this._mp_icon_img,this._battler.mp,this._battler.mmp,0);
                this.refresh_icons(this._mp_icons,this._mp_icon_img,this._battler.mp,this._battler.mmp,1);
                };
                if (this._mp_IconZoomAnime) {this.updateIconZoomAnime(this._mp_icons)};
    };       
};

//==============================
// * Create TP Meter
//==============================
Actor_Hud.prototype.create_tp_meter = function() {
        if (String(Moghunter.ahud_tp_meter_visible) != "true") {return};
        this.removeChild(this._tp_meter_blue);
        this.removeChild(this._tp_meter_red);
        if (!this._battler) {return};
        this._tp_meter_red = new Sprite(this._tp_meter_img);
        this._tp_meter_red.x = this._pos_x + Moghunter.ahud_tp_meter_pos_x;
        this._tp_meter_red.y = this._pos_y + Moghunter.ahud_tp_meter_pos_y;
        this._tp_meter_red.rotation = Moghunter.ahud_tp_meter_rotation * Math.PI / 180;
        this._tp_meter_red.setFrame(0,0,0,0);
        this.addChild(this._tp_meter_red);               
        this._tp_meter_blue = new Sprite(this._tp_meter_img);
        this._tp_meter_blue.x = this._tp_meter_red.x;
        this._tp_meter_blue.y = this._tp_meter_red.y;
        this._tp_meter_blue.rotation = this._tp_meter_red.rotation * Math.PI / 180;
        this._tp_meter_blue.setFrame(0,0,0,0);
        this.addChild(this._tp_meter_blue);
        this._tp_old_ani[0] = this._battler.tp - 1;
        if (String(Moghunter.ahud_tp_meter_flow) === "true") {this._tp_flow[0] = true;
            this._tp_flow[2] = this._tp_meter_img.width / 3;
                this._tp_flow[3] = this._tp_flow[2] * 2;
                this._tp_flow[1] = Math.floor(Math.random() * this._tp_flow[2]);
        };
};

//==============================
// * Create TP Number
//==============================
Actor_Hud.prototype.create_tp_number = function() {
        if (String(Moghunter.ahud_tp_number_visible) != "true") {return};
        if (this._tp_number) {for (var i = 0; i < this._tp_number.length; i++) {this.removeChild(this._tp_number);}};
        if (!this._battler) {return};
        this._tp_number = [];
        this._tp_number.align = Number(Moghunter.ahud_tp_number_align);
        this._tp_img_data = [this._tp_number_img.width,this._tp_number_img.height,
                              this._tp_number_img.width / 10, this._tp_number_img.height / 2,
                                                  this._pos_x + Moghunter.ahud_tp_number_pos_x,
                                                  this._pos_y + Moghunter.ahud_tp_number_pos_y,
                                                  ];
        for (var i = 0; i < 5; i++) {
           this._tp_number = new Sprite(this._tp_number_img);
           this._tp_number.visible = false;
           this._tp_number.x = this._tp_img_data[4];
           this._tp_number.y = this._tp_img_data[5] ;
           this.addChild(this._tp_number);
        };       
        this._tp_number_old = this._battler.tp;
        this.refresh_number(this._tp_number,this._tp_number_old,this._tp_img_data,this._tp_img_data[4],0);       
};

//==============================
// * Create MaxTP Number
//==============================
Actor_Hud.prototype.create_maxtp_number = function() {
        if (String(Moghunter.ahud_maxtp_number_visible) != "true") {return};
        if (this._maxtp_number) {for (var i = 0; i < this._maxtp_number.length; i++) {this.removeChild(this._maxtp_number);}};
        if (!this._battler) {return};
        this._maxtp_number = [];
        this._maxtp_number.align = Number(Moghunter.ahud_tp_number_align);
        this._maxtp_img_data = [this._maxtp_number_img.width,this._maxtp_number_img.height,
                              this._maxtp_number_img.width / 10, this._maxtp_number_img.height / 2,
                                                  this._pos_x + Moghunter.ahud_maxtp_number_pos_x,
                                                  this._pos_y + Moghunter.ahud_maxtp_number_pos_y,
                                                  ];
        for (var i = 0; i < 5; i++) {
           this._maxtp_number = new Sprite(this._maxtp_number_img);
           this._maxtp_number.visible = false;
           this._maxtp_number.x = this._maxtp_img_data[4];
           this._maxtp_number.y = this._maxtp_img_data[5] ;
           this.addChild(this._maxtp_number);
        };       
        this._maxtp_number_old = 100;
        this.refresh_number(this._maxtp_number,this._maxtp_number_old,this._maxtp_img_data,this._maxtp_img_data[4],0);       
};

//==============================
// * Update TP
//==============================
Actor_Hud.prototype.update_tp = function() {
        if (this._tp_meter_blue) {
                if(this._tp_flow[0]) {
                   if (this._tp_old[1] != this._battler.maxTp()) {
                       this._tp_old = [this._battler.tp,this._battler.maxTp()];
                           this.refresh_meter_flow(this._tp_meter_red,this._battler.tp,this._battler.maxTp(),1,$gameSystem._ahud_flowData[2]);
                   };                               
                   this.refresh_meter_flow(this._tp_meter_blue,this._battler.tp,this._battler.maxTp(),0,$gameSystem._ahud_flowData[2]);
                      var dif_meter = this.update_dif(this._tp_old_ani[0],this._battler.tp,160)
                   if (this._tp_old_ani[0] != dif_meter) {this._tp_old_ani[0] = dif_meter;
               this.refresh_meter_flow(this._tp_meter_red,this._tp_old_ani[0],this._battler.maxTp(),1,$gameSystem._ahud_flowData[2]);
                   };
                   $gameSystem._ahud_flowData[2] += this._tp_flow_speed;
                   if ($gameSystem._ahud_flowData[2] > this._tp_flow[3]) {$gameSystem._ahud_flowData[2] = 0};                  
               }
                else {       
                        if (this.need_refresh_parameter(2)) {
                                this.refresh_meter(this._tp_meter_blue,this._battler.tp,this._battler.maxTp(),0,2,0);
                                this._tp_old = [this._battler.tp,this._battler.maxTp()];
                        };
                        var dif_meter = this.update_dif(this._tp_old_ani[0],this._battler.tp,160)
                        if (this._tp_old_ani[0] != dif_meter) {this._tp_old_ani[0] = dif_meter;
                        this.refresh_meter(this._tp_meter_red,this._tp_old_ani[0],this._battler.maxTp(),1,2,0);};
        };
    };
        if (this._tp_number) {
                var dif_number = this.update_dif(this._tp_number_old,this._battler.tp,30)
                if (this._tp_number_old != dif_number) {this._tp_number_old = dif_number;
                this.refresh_number(this._tp_number,this._tp_number_old,this._tp_img_data,this._tp_img_data[4],0);};
        };
        if (this._tp_icons) {
                if (this._tp_icon_old[0] != this._battler.tp || this._tp_icon_old[1] != this._battler.maxTp()) {
                    this._tp_icon_old[0] = this._battler.tp;
                        this._tp_icon_old[1] = this._battler.maxTp();
                        this.refresh_icons(this._tp_iconsB,this._tp_icon_img,this._battler.tp,this._battler.maxTp(),0);
                this.refresh_icons(this._tp_icons,this._tp_icon_img,this._battler.tp,this._battler.maxTp(),1);
                };
                if (this._tp_IconZoomAnime) {this.updateIconZoomAnime(this._tp_icons)};
    };       
};


//==============================
// * Create Exp Meter
//==============================
Actor_Hud.prototype.create_exp_meter = function() {       
if (String(Moghunter.ahud_exp_meter_visible) != "true") {return};
        this.removeChild(this._exp_meter);
        if (!this._battler) {return};
        this._exp_meter = new Sprite(this._exp_meter_img);
        this._exp_meter.x = this._pos_x + Moghunter.ahud_exp_meter_pos_x;
        this._exp_meter.y = this._pos_y + Moghunter.ahud_exp_meter_pos_y;
        this._exp_meter.rotation = this._exp_meter.rotation * Math.PI / 180;
        this.addChild(this._exp_meter);
        if (String(Moghunter.ahud_exp_meter_flow) === "true") {this._exp_flow[0] = true;
            this._exp_flow[2] = this._exp_meter_img.width / 3;
                this._exp_flow[3] = this._exp_flow[2] * 2;
                this._exp_flow[1] = Math.floor(Math.random() * this._exp_flow[2]);
        };
        this._exp_meter.setFrame(0,0,0,0);
};

//==============================
// * Create Level Number
//==============================
Actor_Hud.prototype.create_level_number = function() {
        if (String(Moghunter.ahud_level_number_visible) != "true") {return};
        if (this._level_number) {for (var i = 0; i < this._level_number.length; i++) {this.removeChild(this._level_number);}};
        if (!this._battler) {return};
        this._level_number = [];
        this._level_number.align = Number(Moghunter.ahud_level_number_align);
        this._level_img_data = [this._level_number_img.width,this._level_number_img.height,
                              this._level_number_img.width / 10, this._level_number_img.height / 2,
                                                  this._pos_x + Moghunter.ahud_level_number_pos_x,
                                                  this._pos_y + Moghunter.ahud_level_number_pos_y,
                                                  ];
        for (var i = 0; i < 3; i++) {
           this._level_number = new Sprite(this._level_number_img);
           this._level_number.visible = false;
           this._level_number.x = this._level_img_data[4];
           this._level_number.y = this._level_img_data[5];
           this.addChild(this._level_number);
        };       
        this._level_number_old = this._battler.level;
        this.refresh_number(this._level_number,this._level_number_old,this._level_img_data,this._level_img_data[4],1);       
};

//==============================
// * Update Exp
//==============================
Actor_Hud.prototype.update_exp = function() {
        if (this._exp_meter) {
                if (this.need_refresh_parameter(3)) {
                        if (this._battler.isMaxLevel()) {
                            this.refresh_meter(this._exp_meter,1,1,0,1,1);
                    } else {
                             this.refresh_meter(this._exp_meter,this._battler.current_exp_r(),this._battler.nextLevelExp_r(),0,1,1);
                        };
                        this._exp_old = this._battler.currentExp();
                };
    };
        if (this._level_number) {
                var dif_number = this.update_dif(this._level_number_old,this._battler.level,30)
                if (this._level_number_old != dif_number) {this._level_number_old = dif_number;
                    if (this._hp_old_ani) {this._hp_old_ani[0] = 0};
                        if (this._mp_old_ani) {this._mp_old_ani[0] = 0};
                        if (this._tp_old_ani) {this._tp_old_ani[0] = 0};
                    this.refresh_number(this._level_number,this._level_number_old,this._level_img_data,this._level_img_data[4],1);};
        };
};

//==============================
// * Create States
//==============================
Actor_Hud.prototype.create_states = function() {
        if (String(Moghunter.ahud_states_visible) != "true") {return};
        this.removeChild(this._state_icon);
        if (!this._battler) {return};
        this._states_data = [0,0,0];
        this._state_icon = new Sprite(this._state_img);
        this._state_icon.x = this._pos_x + Moghunter.ahud_states_pos_x;
        this._state_icon.y = this._pos_y + Moghunter.ahud_states_pos_y;
        this._state_icon.visible = false;
        this.addChild(this._state_icon);
        this.refresh_states();       
};

//==============================
// * Refresh States
//==============================
Actor_Hud.prototype.refresh_states = function() {
        this._states_data[0] = 0;
        this._states_data[2] = 0;
        this._state_icon.visible = false;
        if (this._battler.allIcons().length == 0) {this._states_data[1] = 0;return};
       if (this._battler.allIcons()[this._states_data[1]]) {       
                this._states_data[0] = this._battler.allIcons()[this._states_data[1]];
                this._state_icon.visible = true;
                var sx = this._states_data[0] % 16 * 32;
                var sy = Math.floor(this._states_data[0] / 16) * 32;
                this._state_icon.setFrame(sx, sy, 32, 32);
                this._battler.need_refresh_bhud_states = false;       
       
           };
        this._states_data[1] += 1;
        if (this._states_data[1] >= this._battler.allIcons().length) {
                this._states_data[1] = 0
        };
};

//==============================
// * Update States
//==============================
Actor_Hud.prototype.update_states = function() {
        if (!this._state_icon) {return};
        this._states_data[2] += 1;
        if (this.need_refresh_states()) {this.refresh_states();};
};

//==============================
// * Need Refresh States
//==============================
Actor_Hud.prototype.need_refresh_states = function() {
        if (this._battler.need_refresh_bhud_states) {return true};
        if (this._states_data[2] > 60) {return true};
        return false;
};[/pre]
梦石
20
星屑
13965
在线时间
1744 小时
注册时间
2017-1-12
回帖
1667

MZ评测员开拓者

 楼主| 发表于 2020-1-30 08:34:19 | 显示全部楼层
一天就被压下去了......稍微提一下,希望不算连贴。
回复

使用道具 举报

梦石
0
星屑
844
在线时间
157 小时
注册时间
2018-12-13
回帖
45
发表于 2020-1-30 14:41:43 | 显示全部楼层
那就老老实实用血条
不然你试试把血条画成红心的样式

点评

我还真试了,但是mog的血条可能有规格限制,导致只显示了心形的上半部分,又不知怎么改这个规格_(:з」∠)_  发表于 2020-1-30 15:23
无所事事
回复

使用道具 举报

梦石
0
星屑
133
在线时间
21 小时
注册时间
2019-6-16
回帖
4
发表于 2020-2-11 18:19:22 | 显示全部楼层
楼主,我研究了一下。mog的血条好像并没有规格的限制,我的血条显示的高度变为了图片高度的3分之1
你可以试试这样画
❤
❤
❤
看看是不是只显示一个❤
回复

使用道具 举报

梦石
20
星屑
13965
在线时间
1744 小时
注册时间
2017-1-12
回帖
1667

MZ评测员开拓者

 楼主| 发表于 2020-2-11 19:48:15 | 显示全部楼层
lkj25888 发表于 2020-2-11 18:19
楼主,我研究了一下。mog的血条好像并没有规格的限制,我的血条显示的高度变为了图片高度的3分之1
你可以试 ...

如果是指icon用在传统血条上的策略,也就是说血条从这样 HP_Meter3.png 变成这样 HP_Meter.png 的话。
显示效果会从这样 icon1.PNG 变成这样 三排血条.PNG 这么一看第一个好像也不只是变成三分之一的问题,而是仿佛把图像拆成上下两段又叠在一起了。
我开始怀疑是不是MV在版本更新的时候处理图像的方式变了(作为对脚本一无所知的人)。之前从另一位大佬(drill)那边下的mog血条范例显示有不正常
回复

使用道具 举报

梦石
0
星屑
133
在线时间
21 小时
注册时间
2019-6-16
回帖
4
发表于 2020-2-11 22:06:30 | 显示全部楼层
本帖最后由 lkj25888 于 2020-2-11 22:44 编辑

恩,抱歉了,我也是刚入坑不久的小白,这些深层次的东西我就完全不知道了。但是我想到了一个东西
回复

使用道具 举报

梦石
0
星屑
133
在线时间
21 小时
注册时间
2019-6-16
回帖
4
发表于 2020-2-11 22:33:48 | 显示全部楼层

,

本帖最后由 lkj25888 于 2020-2-11 22:37 编辑

楼主,我解决了,方法很简单,我看到你的图片发现有一层血条是完好的,然后我就想,会不会是因为下方有两层血条的原因,然后我就拿ps去掉了
结果就成功了,刚开始是我的理解出了问题,只需要图片的高度是原来的三倍,但是血条并不需要
Q$%OB(1AI)Q0~9F]ZJOWN(W.png
HP_Meter.png
回复

使用道具 举报

梦石
0
星屑
4881
在线时间
425 小时
注册时间
2019-10-22
回帖
647
发表于 2020-2-12 01:00:26 | 显示全部楼层
lkj25888 发表于 2020-2-11 22:33
楼主,我解决了,方法很简单,我看到你的图片发现有一层血条是完好的,然后我就想,会不会是因为下方有两层 ...

没什么深奥的东西  就是长宽比的问题  插件里面有计算公式

也就是你说的改成3倍  长宽比就符合对图片裁剪
















回复

使用道具 举报

梦石
20
星屑
13965
在线时间
1744 小时
注册时间
2017-1-12
回帖
1667

MZ评测员开拓者

 楼主| 发表于 2020-2-12 09:40:38 | 显示全部楼层
lkj25888 发表于 2020-2-11 22:33
楼主,我解决了,方法很简单,我看到你的图片发现有一层血条是完好的,然后我就想,会不会是因为下方有两层 ...

多谢提醒,试了你那种方法以后我因为发现血条流动的方式和原来的不太一样(没动态)),又观察了一下原素材
HP_Meter2.png 发现原本的血条素材是分成上下两部分的,暗色的部分是减血会流动的部分。
所以把素材又改了一下(两倍高,下面一半是减血时的流动状态),现在看起来效果应该差不多了。
HP_Meter.png
回复

使用道具 举报

梦石
0
星屑
15295
在线时间
720 小时
注册时间
2011-7-16
回帖
1373

开拓者

发表于 2020-2-16 12:20:01 | 显示全部楼层
厉害呀,这血条效果相当不错,不过感觉icon模式更有特色

点评

只剩1点HP的时候所有心会瞬间变空,但是只有这种情况会变……  发表于 2020-2-16 16:43
范例中满屏幕的其它hud的血条全部都能够正确显示当前的血量,包括行走图头顶上的,唯独心没有任何变化,看起来不是我想的那么简单,应该不是bug  发表于 2020-2-16 16:36
去看了下,能显示心,但是其它血条都位置错乱了,然后战斗一场后,一颗心也没少  发表于 2020-2-16 16:33
有的。MOG压缩包里还有一个专门的文件夹“ActorHud_Teamplates”放了同插件的三种血条  发表于 2020-2-16 13:14
mog范例里面有这个功能吗?有的话,我去看看  发表于 2020-2-16 12:38
RMMV网络插件,开源免费,内含服务器端,无需强制登录,云数据,弹幕,云存档,排名,兑换码,版本检测,可自由上架下架删除。q群399090587
免打包运行MV游戏,云游戏,安卓App雷神游戏厅,在线玩游戏,上传下载游戏
开源游戏:重装机兵之重装归来【RMMV制作】全球首款按照美剧分季分集的方式发布的游戏
体素画 -- MV画3D像素图的画板
RMMV显示3D模型和场景的插件
RMMV显示spine骨骼动画的插件
RMMV秘密通道插件
突破敌群数量上限8个的插件
在rmmv中显示gif动态图片的插件
一款可以在mv游戏界面的任意位置显示任意文字的插件
RMMV Toast 插件 带物品得失提示,可以设置开启关闭 兼容yep itemcore
制作一个改名卡道具插件、调整标题页面菜单的插件、在标题页面之前显示大段文字的插件、标题页面显示版本号的插件
物品得失自动提示自动上色自动换行插件
我的Q群 663889472
另外,我的插件、范例、游戏都在这里
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部