AWS - Advanced Windows Status

Ir em baixo

AWS - Advanced Windows Status

Mensagem  Kyo em Ter Mar 29, 2011 9:11 am

Advanced_Window_Status

Informações


É personalizável: Sim
Necessita de objetos externos(Imagens..): Sim




[Você precisa estar registrado e conectado para ver este link.]

Advance_Window_Status de DeadMaker é licenciado sob uma [Você precisa estar registrado e conectado para ver este link.]




Introdução


Este script cria uma janela de status um tanto quanto mais bonita da convencional, ele e de super facil modificação está tudo muito bem explicado no proprio script ^^ ! Espero que gostem 8D !
OBSS : Não liguem para as posições caso não tenha gostado de alguma está bem explicado no script como modificar [s]nem o design que esta um lixo =P[/s].

[/box]



Instruções


Baixe a DEMO com as imagens, e cole o script no seu projeto, ou apenas copie os scripts que irei postar e salve as imagens nescessarias.Devo avisar também que dentro deste script possui uma window_base, modificada para que desenhe somente os itens sem o nome, mas nada que venha causar problema futuramente.

Não se esqueça de definir os status do heroi conforme a database do seu projeto nas seguintes linhas :

39 Até 42 !






Screens


Spoiler:
[Você precisa estar registrado e conectado para ver este link.]
[/box]



Scripts


Advanced_Window_Status :
Spoiler:
Código:
#-------------------------------------------------------------------------------
#One_Player_Advenced_Status                                   
#-------------------------------------------------------------------------------
#Por: DeadMaker/VitorM 
#Agracedimentos : Kyo Panda e Gab!
#Ajuda para desenhar somente os icones equipados sem os nomes ^^ !
#-------------------------------------------------------------------------------
#Data: 22/03/2011   
#-------------------------------------------------------------------------------
#Introdução : Este script e de simples configuração até para quem não possui
#muita experiencia com o mesmo.Espero que gostem ^^ !
#-------------------------------------------------------------------------------
#Gráficos nescessarios (Pasta Pictures):
#-------------------------------------------------------------------------------
#  =>Back_Status
#  =>Bar_Agilidade
#  =>Bar_Defesa
#  =>Bar_Força
#  =>Bar_Inteligencia
#  =>Bar_HP
#  =>Bar_MP
#  =>Bar_Maxx
#-------------------------------------------------------------------------------
#Mais informações sobre o script :
# - [Você precisa estar registrado e conectado para ver este link.]
# - [Você precisa estar registrado e conectado para ver este link.]
#-------------------------------------------------------------------------------
#Modulo responsavel por todas configurações manuais do Scene_Status, nele você
#modifica desde as posições dos gráficos até a musica de fundo ! Super simples
#até para quem não possui conhecimento com scripts ^^ !
#-------------------------------------------------------------------------------
#Iniciando Configurações dos valores de atributo               
#-------------------------------------------------------------------------------
#Lembre-se se definir os valores de acordo com o database !
#-------------------------------------------------------------------------------
module Stats
  STATS = []
  STATS = [
  635, #=> Valor da Força
  564, #=> Valor da Defesa
  582, #=> Valor da Agilidade
  349] #=> Valor da Inteligencia
#-------------------------------------------------------------------------------
#Posição X de Equipamentos :
#-------------------------------------------------------------------------------
  EQUIPS_X = []
  EQUIPS_X = [
  206, #=> Posição X Arma
  365, #=> Posição X Escudo
  205, #=> Posição X Elmo
  205, #=> Posição X Armadura
  366] #=> Posição X Acessorio
#-------------------------------------------------------------------------------
#Posição Y de Equipamentos :
#-------------------------------------------------------------------------------
  EQUIPS_Y = []
  EQUIPS_Y = [
  416, #=> Posição Y Arma
  375, #=> Posição Y Escudo
  333, #=> Posição Y Elmo
  376, #=> Posição Y Armadura
  409] #=> Posição Y Acessorio
#-------------------------------------------------------------------------------
#Posição X das bars :
#-------------------------------------------------------------------------------
  BARS_X = []
  BARS_X = [
  56,  #=> Posição X bar de HP
  56,  #=> Posição X bar de Força
  56,  #=> Posição X bar de Agilidade
  56,  #=> Posição X bar de Maxx
  394, #=> Posição X bar de MP
  394, #=> Posição X bar de Defesa
  394, #=> Posição X bar de Inteligencia
  306] #=> Posição X grafico do Heroi
#-------------------------------------------------------------------------------
#Posição Y das bars :
#-------------------------------------------------------------------------------
  BARS_Y = []
  BARS_Y = [
  133, #=> Posição Y bar de HP
  159, #=> Posição Y bar de Força
  185, #=> Posição Y bar de Agilidade
  238, #=> Posição Y bar de Maxx
  133, #=> Posição Y bar de MP
  159, #=> Posição Y bar de Defesa
  185, #=> Posição Y bar de Inteligencia
  202] #=> Posição Y grafico do Heroi
#-------------------------------------------------------------------------------
#Posição X textos :
#-------------------------------------------------------------------------------
  TEXTS_X = []
  TEXTS_X = [
  110, #=> Posição X do valor HP
  448, #=> Posição X do valor MP
  110, #=> Posição X do valor Força
  448, #=> Posição X do valor Defesa
  110, #=> Posição X do valor Agilidade
  448, #=> Posição X do valor Inteligencia
  275, #=> Posição X do valor MaxStatus
  313, #=> Posição X do valor ActorLevel
  35,  #=> Posição X do texto HP
  555, #=> Posição X do texto MP
  555, #=> Posição X do texto DEF
  555, #=> Posição X do texto INT
  29,  #=> Posição X do texto STR
  32,  #=> Posição X do texto AGI
  287, #=> Posição X do texto LV
  275, #=> Posição X do texto MAX STATS
  293, #=> Posição X do Nome do Heroi
  274] #=> Posição X do Classe do Heroi
#-------------------------------------------------------------------------------
#Posição Y textos :
#-------------------------------------------------------------------------------
  TEXTS_Y = []
  TEXTS_Y = [
  123, #=> Posição Y do valor HP
  123, #=> Posição Y do valor MP
  149, #=> Posição Y do valor Força
  149, #=> Posição Y do valor Defesa
  175, #=> Posição Y do valor Agilidade
  175, #=> Posição Y do valor Inteligencia
  228, #=> Posição Y do valor MaxStatus
  190, #=> Posição Y do valor ActorLevel
  123, #=> Posição Y do texto HP
  123, #=> Posição Y do texto MP
  149, #=> Posição Y do texto DEF
  175, #=> Posição Y do texto INT
  149, #=> Posição Y do texto STR
  175, #=> Posição Y do texto AGI
  190, #=> Posição Y do texto LV
  215, #=> Posição Y do texto MAX STATS
  107, #=> Posição Y do Nome do Heroi
  128] #=> Posição Y do Classe do Heroi
#-------------------------------------------------------------------------------
#Musica de Fundo, caso não queira nenhuma deixe a linha assim :
# BACK_BGM = RPG::AudioFile.new("")
#-------------------------------------------------------------------------------
  BACK_BGM = RPG::AudioFile.new("012-Theme01")
end
#-------------------------------------------------------------------------------
#Nota: Modifique apenas os valores acima. Evite modificar os nomes !
#-------------------------------------------------------------------------------
#Lembrando que X move as imagens ou textos na horizontal começando da esquerda
#ja quando Y as move na vertical começando de cima !
#-------------------------------------------------------------------------------
#Fim das configurações basicas.
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
#Comandos principais :
#-------------------------------------------------------------------------------
class Window_Status < Window_Base
  include Stats
  def initialize(actor)
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.size = 15
    self.opacity = 0
    self.back_opacity = 0
    @actor = actor
    $game_party.actors[0]
    @maxfor = STATS[0]
    @maxdef = STATS[1]
    @maxagi = STATS[2]
    @maxint = STATS[3]
    $game_system.bgm_play(BACK_BGM)
    @maxx = @maxfor + @maxdef + @maxagi + @maxint
    @to_max = @actor.str + @actor.dex + @actor.agi + @actor.int
    refresh
  end
#-------------------------------------------------------------------------------
#Criando Gráficos e informações :
#-------------------------------------------------------------------------------
  def refresh
    self.contents.clear
    #---------------------------------------------------------------------------
    #Enviando ID's dos equipamentos :
    #---------------------------------------------------------------------------
    @data = []
    @data.push($data_weapons[@actor.weapon_id])
    @data.push($data_armors[@actor.armor1_id])
    @data.push($data_armors[@actor.armor2_id])
    @data.push($data_armors[@actor.armor3_id])
    @data.push($data_armors[@actor.armor4_id])
    #---------------------------------------------------------------------------
    #Desenhando equipamentos :
    #---------------------------------------------------------------------------
    draw_item_icon(@data[0], EQUIPS_X[0], EQUIPS_Y[0])
    draw_item_icon(@data[1], EQUIPS_X[1], EQUIPS_Y[1])
    draw_item_icon(@data[2], EQUIPS_X[2], EQUIPS_Y[2])
    draw_item_icon(@data[3], EQUIPS_X[3], EQUIPS_Y[3])
    draw_item_icon(@data[4], EQUIPS_X[4], EQUIPS_Y[4])
    #---------------------------------------------------------------------------
    #Desenhando gráfico do heroi :
    #---------------------------------------------------------------------------
    draw_actor_graphic(@actor, BARS_X[7], BARS_Y[7])
    #---------------------------------------------------------------------------
    #Desenhando nome do heroi :
    #---------------------------------------------------------------------------
    draw_actor_name(@actor, TEXTS_X[16], TEXTS_Y[16])
    #---------------------------------------------------------------------------
    #Desenhando Classe do heroi :
    #---------------------------------------------------------------------------
    draw_actor_class(@actor, TEXTS_X[17], TEXTS_Y[17])
    #---------------------------------------------------------------------------
    #Criando barra do HP :
    #---------------------------------------------------------------------------
    bhp = RPG::Cache.picture("Bar_HP")
    bhpwidth = bhp.width * @actor.hp/@actor.maxhp
    bhpheight = bhp.height
    bhp_rect = Rect.new(0,0,bhpwidth,bhpheight)
    self.contents.blt(BARS_X[0],BARS_Y[0],bhp,bhp_rect)
    #---------------------------------------------------------------------------
    #Criando barra da Força :
    #---------------------------------------------------------------------------
    bforç = RPG::Cache.picture("Bar_Força")
    bforçwidth = bforç.width * @actor.str/@maxfor
    bforçheight = bforç.height
    bforç_rect = Rect.new(0,0,bforçwidth,bforçheight)
    self.contents.blt(BARS_X[1],BARS_Y[1],bforç,bforç_rect)
    #---------------------------------------------------------------------------
    #Criando barra da Agilidade :
    #---------------------------------------------------------------------------
    bagi = RPG::Cache.picture("Bar_Agilidade")
    bagiwidth = bagi.width * @actor.agi/@maxagi
    bagiheight = bagi.height
    bagi_rect = Rect.new(0,0,bagiwidth,bagiheight)
    self.contents.blt(BARS_X[2],BARS_Y[2],bagi,bagi_rect)
    #---------------------------------------------------------------------------
    #Criando barra do MP :
    #---------------------------------------------------------------------------
    bsp = RPG::Cache.picture("Bar_MP")
    bspwidth = bsp.width * @actor.sp/@actor.maxsp
    bspheight = bsp.height
    bsp_rect = Rect.new(0,0,bspwidth,bspheight)
    self.contents.blt(BARS_X[4],BARS_Y[4],bsp,bsp_rect)
    #---------------------------------------------------------------------------
    #Criando barra da Defesa :
    #---------------------------------------------------------------------------
    bdef = RPG::Cache.picture("Bar_Defesa")
    bdefwidth = bdef.width * @actor.dex/@maxdef
    bdefheight = bdef.height
    bdef_rect = Rect.new(0,0,bdefwidth,bdefheight)
    self.contents.blt(BARS_X[5],BARS_Y[5],bdef,bdef_rect)
    #---------------------------------------------------------------------------
    #Criando barra de Inteligencia :
    #---------------------------------------------------------------------------
    bint = RPG::Cache.picture("Bar_Inteligencia")
    bintwidth = bint.width * @actor.int/@maxint
    bintheight = bint.height
    bint_rect = Rect.new(0,0,bintwidth,bintheight)
    self.contents.blt(BARS_X[6],BARS_Y[6],bint,bint_rect)
    #---------------------------------------------------------------------------
    #Criando barra de Status Maximo :
    #---------------------------------------------------------------------------
    bmaxx = RPG::Cache.picture("Bar_Maxx")
    bmaxxwidth = bmaxx.width * @to_max/@maxx
    bmaxxheight = bmaxx.height
    bmaxx_rect = Rect.new(0,0,bmaxxwidth,bmaxxheight)
    self.contents.blt(BARS_X[3],BARS_Y[3],bmaxx,bmaxx_rect)
    #---------------------------------------------------------------------------
    #Escrevendo valores :
    #---------------------------------------------------------------------------
    self.contents.draw_text(TEXTS_X[0], TEXTS_Y[0], 132, 32, "#{@actor.hp} / #{@actor.maxhp}")
    self.contents.draw_text(TEXTS_X[1], TEXTS_Y[1], 132, 32, "#{@actor.sp} / #{@actor.maxsp}")
    self.contents.draw_text(TEXTS_X[2], TEXTS_Y[2], 132, 32, "#{@actor.str} / #{@maxfor}")
    self.contents.draw_text(TEXTS_X[3], TEXTS_Y[3], 132, 32, "#{@actor.dex} / #{@maxdef}")
    self.contents.draw_text(TEXTS_X[4], TEXTS_Y[4], 132, 32, "#{@actor.agi} / #{@maxagi}")
    self.contents.draw_text(TEXTS_X[5], TEXTS_Y[5], 132, 32, "#{@actor.int} / #{@maxint}")
    self.contents.draw_text(TEXTS_X[6], TEXTS_Y[6], 132, 32, "#{@to_max} / #{@maxx}")
    self.contents.draw_text(TEXTS_X[7], TEXTS_Y[7], 132, 32, "#{@actor.level}")
    self.contents.font.color = system_color
    #---------------------------------------------------------------------------
    #Escrevendo textos :
    #---------------------------------------------------------------------------
    self.contents.draw_text(TEXTS_X[8], TEXTS_Y[8], 132, 32, "HP")
    self.contents.draw_text(TEXTS_X[9], TEXTS_Y[9], 132, 32, "MP")
    self.contents.draw_text(TEXTS_X[10], TEXTS_Y[10], 132, 32, "DEF")
    self.contents.draw_text(TEXTS_X[11], TEXTS_Y[11], 132, 32, "INT")
    self.contents.draw_text(TEXTS_X[12], TEXTS_Y[12], 132, 32, "STR")
    self.contents.draw_text(TEXTS_X[13], TEXTS_Y[13], 132, 32, "AGI")
    self.contents.draw_text(TEXTS_X[14], TEXTS_Y[14], 132, 32, "LV")
    self.contents.draw_text(TEXTS_X[15], TEXTS_Y[15], 132, 32, "MAX STATS")
  end
end
#-------------------------------------------------------------------------------
# Scene_Status
#-------------------------------------------------------------------------------
# Esta janela exibe o Status
#-------------------------------------------------------------------------------
class Scene_Status
  #-----------------------------------------------------------------------------
  # Inicialização dos Objetos
  #
  #    actor_index : índice do Herói
  #-----------------------------------------------------------------------------
  def initialize(actor_index = 0, equip_index = 0)
    @actor_index = actor_index
  end
  #-----------------------------------------------------------------------------
  # Processamento Principal
  #-----------------------------------------------------------------------------
  def main
    @window_stats = Sprite.new
    @window_stats.bitmap = RPG::Cache.picture("Back_Status")
    @actor = $game_party.actors[@actor_index]
    @status_window = Window_Status.new(@actor)
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @status_window.dispose
  end
  #-----------------------------------------------------------------------------
  # Atualização do frame
  #-----------------------------------------------------------------------------
  def update
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $game_system.bgm_fade(1500)
      $game_system.bgm_stop
      $scene = Scene_Menu.new(3)
      return
    end
    if Input.trigger?(Input::R)
      $game_system.se_play($data_system.cursor_se)
      @actor_index += 1
      @actor_index %= $game_party.actors.size
      $scene = Scene_Status.new(@actor_index)
      return
    end
    if Input.trigger?(Input::L)
      $game_system.se_play($data_system.cursor_se)
      @actor_index += $game_party.actors.size - 1
      @actor_index %= $game_party.actors.size
      $scene = Scene_Status.new(@actor_index)
      return
    end
  end
end
#-------------------------------------------------------------------------------
#Fim do Script
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
#Window_Base modificado :
#-------------------------------------------------------------------------------
class Window_Base < Window
  #-----------------------------------------------------------------------------
  # Inicialização dos Objetos
  #
  #    x      : coordenada x da janela
  #    y      : coordenada y da janela
  #    width  : largura da janela
  #    height : altura da janela
  #-----------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super()
    @windowskin_name = $game_system.windowskin_name
    self.windowskin = RPG::Cache.windowskin(@windowskin_name)
    self.x = x
    self.y = y
    self.width = width
    self.height = height
    self.z = 100
  end
  #-----------------------------------------------------------------------------
  # Exibição
  #-----------------------------------------------------------------------------
  def dispose
    # Exibir se um bitmap for definido
    if self.contents != nil
      self.contents.dispose
    end
    super
  end
  #-----------------------------------------------------------------------------
  # Selcionar Cor do Texto
  #
  #    n : número da cor do texto (0-7)
  # (Se quiser alterar, utilize o mesmo padrão (R,G,B, o último é a Gama)
  #-----------------------------------------------------------------------------
  def text_color(n)
    case n
    when 0
      return Color.new(255, 255, 255, 255)
    when 1
      return Color.new(128, 128, 255, 255)
    when 2
      return Color.new(255, 128, 128, 255)
    when 3
      return Color.new(128, 255, 128, 255)
    when 4
      return Color.new(128, 255, 255, 255)
    when 5
      return Color.new(255, 128, 255, 255)
    when 6
      return Color.new(255, 255, 128, 255)
    when 7
      return Color.new(192, 192, 192, 255)
    else
      normal_color
    end
  end
  #-----------------------------------------------------------------------------
  # Definir cor normal do texto (neste caso branca)
  #-----------------------------------------------------------------------------
  def normal_color
    return Color.new(255, 255, 255, 255)
  end
  #-----------------------------------------------------------------------------
  # Desabilitar Cor do Texto
  #-----------------------------------------------------------------------------
  def disabled_color
    return Color.new(255, 255, 255, 128)
  end
  #-----------------------------------------------------------------------------
  # Definir Cor do Texto do Sistema
  #-----------------------------------------------------------------------------
  def system_color
    return Color.new(192, 224, 255, 255)
  end
  #-----------------------------------------------------------------------------
  # Definir Cor do Texto do Crítico (neste caso amarela)
  #-----------------------------------------------------------------------------
  def crisis_color
    return Color.new(255, 255, 64, 255)
  end
  #-----------------------------------------------------------------------------
  # Difinir Cor do Texto do Dano (neste caso vermelha)
  #-----------------------------------------------------------------------------
  def knockout_color
    return Color.new(255, 64, 0)
  end
  #-----------------------------------------------------------------------------
  # Atualização do Frame
  #-----------------------------------------------------------------------------
  def update
    super
    # Resetar se uma Windowskin for alterada
    if $game_system.windowskin_name != @windowskin_name
      @windowskin_name = $game_system.windowskin_name
      self.windowskin = RPG::Cache.windowskin(@windowskin_name)
    end
  end
  #-----------------------------------------------------------------------------
  # Desenhar Gráfico
  #
  #    actor : Herói
  #    x    : Desenhar a partir da coordenada x
  #    y    : Desenhar a partir da coordenada y
  #-----------------------------------------------------------------------------
  def draw_actor_graphic(actor, x, y)
    bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
    cw = bitmap.width / 4
    ch = bitmap.height / 4
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  end
  #-----------------------------------------------------------------------------
  # Desenhar Nome
  #
  #    actor : Herói
  #    x    : Desenhar a partir da coordenada x
  #    y    : Desenhar a partir da coordenada y
  #-----------------------------------------------------------------------------
  def draw_actor_name(actor, x, y)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 120, 32, actor.name)
  end
  #-----------------------------------------------------------------------------
  # Desenhar Classe
  #
  #    actor : Herói
  #    x    : Desenhar a partir da coordenada x
  #    y    : Desenhar a partir da coordenada y
  #-----------------------------------------------------------------------------
  def draw_actor_class(actor, x, y)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 236, 32, actor.class_name)
  end
  #-----------------------------------------------------------------------------
  # Desenhar Nível
  #
  #    actor : Herói
  #    x    : Desenhar a partir da coordenada x
  #    y    : Desenhar a partir da coordenada y
  #-----------------------------------------------------------------------------
  def draw_actor_level(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, 32, "Lv")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2)
  end
  #-----------------------------------------------------------------------------
  # Criar String de Status para Desenhar
  #
  #    actor      : Herói
  #    width      : Desenhar o comprimento
  #    need_normal : Quer seja, ou não [Normal], need= verdadeiro ou falso
  #-----------------------------------------------------------------------------
  def make_battler_state_text(battler, width, need_normal)
    brackets_width = self.contents.text_size("[]").width
    text = ""
    for i in battler.states
      if $data_states[i].rating >= 1
        if text == ""
          text = $data_states[i].name
        else
          new_text = text + "/" + $data_states[i].name
          text_width = self.contents.text_size(new_text).width
          if text_width > width - brackets_width
            break
          end
          text = new_text
        end
      end
    end
    if text == ""
      if need_normal
        text = "[Normal]"
      end
    else
      text = "[" + text + "]"
    end
    return text
  end
  #-----------------------------------------------------------------------------
  # Desenhar Status
  #
  #    actor : Herói
  #    x    : Desenhar a partir da coordenada x
  #    y    : Desenhar a partir da coordenada y
  #    width : Desenhar o comprimento
  #-----------------------------------------------------------------------------
  def draw_actor_state(actor, x, y, width = 120)
    text = make_battler_state_text(actor, width, true)
    self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
    self.contents.draw_text(x, y, width, 32, text)
  end
  #-----------------------------------------------------------------------------
  # Desenhar EXP
  #
  #    actor : Herói
  #    x    : Desenhar a partir da coordenada x
  #    y    : Desenhar a partir da coordenada y
  #-----------------------------------------------------------------------------
  def draw_actor_exp(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 24, 32, "E")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 24, y, 84, 32, actor.exp_s, 2)
    self.contents.draw_text(x + 108, y, 12, 32, "/", 1)
    self.contents.draw_text(x + 120, y, 84, 32, actor.next_exp_s)
  end
  #-----------------------------------------------------------------------------
  # Desenhar HP
  #
  #    actor : Herói
  #    x    : Desenhar a partir da coordenada x
  #    y    : Desenhar a partir da coordenada y
  #    width : Desenhar comprimento
  #-----------------------------------------------------------------------------
  def draw_actor_hp(actor, x, y, width = 144)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
    if width - 32 >= 108
      hp_x = x + width - 108
      flag = true
    elsif width - 32 >= 48
      hp_x = x + width - 48
      flag = false
    end
    self.contents.font.color = actor.hp == 0 ? knockout_color :
      actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
    self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
    if flag
      self.contents.font.color = normal_color
      self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
      self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
    end
  end
  #-----------------------------------------------------------------------------
  # Desenhar MP
  #
  #    actor : Herói
  #    x    : Desenhar a partir da coordenada x
  #    y    : Desenhar a partir da coordenada y
  #    width : Desenhar comprimento
  #-----------------------------------------------------------------------------
  def draw_actor_sp(actor, x, y, width = 144)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
    if width - 32 >= 108
      sp_x = x + width - 108
      flag = true
    elsif width - 32 >= 48
      sp_x = x + width - 48
      flag = false
    end
    self.contents.font.color = actor.sp == 0 ? knockout_color :
      actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
    self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
    if flag
      self.contents.font.color = normal_color
      self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
      self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
    end
  end
  #-----------------------------------------------------------------------------
  # Desenhar Parâmetro
  #
  #    actor : Herói
  #    x    : Desenhar a partir da coordenada x
  #    y    : Desenhar a partir da coordenada y
  #    width : Desenhar comprimento
  #    type  : tipo de parâmetro (0-6)
  #-----------------------------------------------------------------------------
  def draw_actor_parameter(actor, x, y, type)
    case type
    when 0
      parameter_name = $data_system.words.atk
      parameter_value = actor.atk
    when 1
      parameter_name = $data_system.words.pdef
      parameter_value = actor.pdef
    when 2
      parameter_name = $data_system.words.mdef
      parameter_value = actor.mdef
    when 3
      parameter_name = $data_system.words.str
      parameter_value = actor.str
    when 4
      parameter_name = $data_system.words.dex
      parameter_value = actor.dex
    when 5
      parameter_name = $data_system.words.agi
      parameter_value = actor.agi
    when 6
      parameter_name = $data_system.words.int
      parameter_value = actor.int
    end
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, 32, parameter_name)
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
  end
  #-----------------------------------------------------------------------------
  # Desenhar Nome do Item
  #
  #    item  : Item
  #    x    : Desenhar a partir da coordenada x
  #    y    : Desenhar a partir da coordenada y
  #-----------------------------------------------------------------------------
  def draw_item_name(item, x, y)
    if item == nil
      return
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 28, y, 212, 32, item.name)
  end
  def draw_item_icon(item, x, y)
    if item == nil
      return
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  end
end





Complementos

[left]
Spoiler:
Back_Status (Pictures)
[Você precisa estar registrado e conectado para ver este link.]

Bar_Agilidade (Pictures)


Bar_Força (Pictures)


Bar_Defesa (Pictures)


Bar_Inteligencia (Pictures)


Bar_HP (Pictures)


Bar_MP (Pictures)


Bar_Maxx (Pictures)

[/box]



Donwload


[Você precisa estar registrado e conectado para ver este link.]




Créditos

Eu por criar o script e a maioria das imagens usadas nele !
Kyo Panda e Gab por terem a paciencia de ajudar sempre quando preciso brigadao ^^ !!

avatar
Kyo
Administrador
Administrador

Mensagens : 37
Data de inscrição : 26/03/2011

http://historicomaker.forumeiros.net

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum