O Melhor Forum para Animes, Mangás e Utilitarios para seu [PC]...


    Advanced_Window_Status - Um Personagem

    Compartilhe

    jiraya
    Admin
    Admin

    Mensagens : 402
    Reputação : 2152
    Créditos : 7
    Idade : 27

    Diverso Advanced_Window_Status - Um Personagem

    Mensagem por jiraya em Sex Set 30, 2011 7:54 am

    Autor DeadMaker

    Advanced_Window_Status

    Informações

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


    [Você precisa estar registrado e conectado para ver esta imagem.]


    [Você precisa estar registrado e conectado para ver esta imagem.]

    Advance_Window_Status de DeadMaker é licenciado sob uma Licença Creative Commons Atribuição-Uso não-comercial-Compartilhamento pela mesma licença 3.0 Unported.


    [Você precisa estar registrado e conectado para ver esta imagem.]

    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].



    [Você precisa estar registrado e conectado para ver esta imagem.]

    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 !




    [Você precisa estar registrado e conectado para ver esta imagem.]

    Screens

    Spoiler:
    [Você precisa estar registrado e conectado para ver esta imagem.]


    [Você precisa estar registrado e conectado para ver esta imagem.]

    Scripts

    Advanced_Window_Status :




    -Script "Compactado"

    -Menos risco de incompatibilidade

    Atualizado ~:.27/04/2011.:~ Devido ao fato de ter encontrado algumas incompatibilidades !

    Nova Versão :

    Spoiler:
    Código:
    #-------------------------------------------------------------------------------
    #One_Player_Advenced_Status     
    #-------------------------------------------------------------------------------
    #Atualizado ~:.27/04/2011.:~  Devido ao fato de ter encontrado algumas
    #incompatibilidades !
    #-------------------------------------------------------------------------------
    #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
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    # 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
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    #Fim do Script
    #-------------------------------------------------------------------------------

    #-------------------------------------------------------------------------------
    #Window_Base modificado :
    #-------------------------------------------------------------------------------
    class Window_Base < Window
    alias draw_item_icon_update update
      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



    [Você precisa estar registrado e conectado para ver esta imagem.]

    Complementos


    Spoiler:
    Back_Status (Pictures)
    [Você precisa estar registrado e conectado para ver esta imagem.]

    Bar_Agilidade (Pictures)
    [Você precisa estar registrado e conectado para ver esta imagem.]

    Bar_Força (Pictures)
    [Você precisa estar registrado e conectado para ver esta imagem.]

    Bar_Defesa (Pictures)
    [Você precisa estar registrado e conectado para ver esta imagem.]

    Bar_Inteligencia (Pictures)
    [Você precisa estar registrado e conectado para ver esta imagem.]

    Bar_HP (Pictures)
    [Você precisa estar registrado e conectado para ver esta imagem.]

    Bar_MP (Pictures)
    [Você precisa estar registrado e conectado para ver esta imagem.]

    Bar_Maxx (Pictures)
    [Você precisa estar registrado e conectado para ver esta imagem.]


    [Você precisa estar registrado e conectado para ver esta imagem.]

    Donwload


    Link :: 4Shared

    [Você precisa estar registrado e conectado para ver esta imagem.]

    Créditos
    [left]
    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 ^^ !!

      Data/hora atual: Dom Dez 04, 2016 11:07 am