Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte no desenvolvimento de jogos


5 participantes

    Script De Hud Do grupo

    RD12
    RD12
    Lenda
    Lenda

    Medalhas : Script De Hud Do grupo - Página 2 48080450Script De Hud Do grupo - Página 2 Trophy11Script De Hud Do grupo - Página 2 GIueZScript De Hud Do grupo - Página 2 ZgLkiRU
    Mensagens : 1946
    Créditos : 745

    Script De Hud Do grupo - Página 2 Empty Re: Script De Hud Do grupo

    Mensagem por RD12 Dom Fev 24, 2013 10:33 pm

    Não precisaria e 4 classes para deixar em linha reta, mas como vc ta aprendendo então é só melhorar nas próximas.
    avatar
    rafaelgrg
    Semi-Experiente
    Semi-Experiente

    Mensagens : 84
    Créditos : 11

    Script De Hud Do grupo - Página 2 Empty Re: Script De Hud Do grupo

    Mensagem por rafaelgrg Seg Fev 25, 2013 7:01 am

    Nanzin veja como ficou eu acho que e assim como vc disse veja a imagem:
    Script De Hud Do grupo - Página 2 Semttulouyrj

    Se quisr o script ta aqui:
    Código:
    #------------------------------------------------------------------------------------
    #----------------------- Hud De Personagem Do grupo ---------------------------------
    #----------------------- Criador por: Rafaelgrga -------------------------------------
    # Para mostrar o hp do outro personagem Mude o 0 para 1 ou outros
    # Exemplo: $game_party.actors[6].hp
    #------------------------------------------------------------------------------------
    class Window_Hud < Window_Base
      def initialize
        super(0,0,115,105)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.windowskin = RPG::Cache.windowskin("WindowskinC")
        self.z = 9999999
        self.back_opacity = 250
        refresh
        @hp = -1
        @sp = -1
      end
      def refresh
        if @hp != $game_party.actors[0].hp or
        @sp != $game_party.actors[0].sp
          redesenha
        end
      end
      def redesenha
        @hp = $game_party.actors[0].hp
        @sp = $game_party.actors[0].sp
        self.contents.clear
        self.contents.draw_text( x, y, 100, 20, "Char: Ash "  , 0)
        self.contents.draw_text( x, y, 100, 75, "Hp " + $game_party.actors[0].hp.to_s, 0)
        self.contents.draw_text( x, y+40, 180, 50, "Sp " + $game_party.actors[0].sp.to_s, 0)
      end
    end
    class Scene_Map
      alias scene_map_main main
      alias grg_update update
      def main
        @hud = Window_Hud.new
        scene_map_main
      end
      def update
        @hud.refresh
        grg_update
      end
    end
    class Window_Hud2 < Window_Base
      def initialize
        super( 150, -2, 115,  105)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.windowskin = RPG::Cache.windowskin("WindowskinC")
        refresh
        @hp = -1
        @sp = -1
      end
      def refresh
        if @hp != $game_party.actors[1].hp or
        @sp != $game_party.actors[1].sp
          redesenha
        end
      end
      def redesenha
        @hp = $game_party.actors[1].hp
        @sp = $game_party.actors[1].sp
        self.contents.clear
        self.contents.draw_text( 1, 15, 100, 19, "Char: Trevor "  , 0)
        self.contents.draw_text( 1, 15, 100, 65, "Hp " + $game_party.actors[1].hp.to_s, 0)
        self.contents.draw_text( 1, 15+25, 180, 50, "Sp " + $game_party.actors[1].sp.to_s, 0)
      end
    end
    class Scene_Map
      alias scene_main main
      alias gr_update update
      def main
        @hud = Window_Hud2.new
        scene_main
      end
      def update
        @hud.refresh
        gr_update
      end
    end
    class Window_Hud3 < Window_Base
      def initialize
        super( 335, 0, 115,  105)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.windowskin = RPG::Cache.windowskin("WindowskinC")
        refresh
        @hp = -1
        @sp = -1
      end
      def refresh
        if @hp != $game_party.actors[2].hp or
        @sp != $game_party.actors[2].sp
          redesenha
        end
      end
      def redesenha
        @hp = $game_party.actors[2].hp
        @sp = $game_party.actors[2].sp
        self.contents.clear
        self.contents.draw_text( 1, 10, 100, 19, "Char: Baker "  , 0)
        self.contents.draw_text( 15, 15, 100, 65, "Hp " + $game_party.actors[2].hp.to_s, 0)
        self.contents.draw_text( 15, 15+25, 180, 50, "Sp " + $game_party.actors[2].sp.to_s, 0)
      end
    end
    class Scene_Map
      alias scene_main2 main
      alias grga_update update
      def main
        @hud = Window_Hud3.new
        scene_main2
      end
      def update
        @hud.refresh
        grga_update
      end
    end
    class Window_Hud4 < Window_Base
      def initialize
        super( 525, 0, 115,  105)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.windowskin = RPG::Cache.windowskin("WindowskinC")
        refresh
        @hp = -1
        @sp = -1
      end
      def refresh
        if @hp != $game_party.actors[3].hp or
        @sp != $game_party.actors[3].sp
          redesenha
        end
      end
      def redesenha
        @hp = $game_party.actors[3].hp
        @sp = $game_party.actors[3].sp
        self.contents.clear
        self.contents.draw_text( -2, 10, 100, 19, "Char:Lucy "  , 0)
        self.contents.draw_text( 1, 15, 100, 65, "Hp " + $game_party.actors[3].hp.to_s, 0)
        self.contents.draw_text( 1, 15+25, 180, 50, "Sp " + $game_party.actors[3].sp.to_s, 0)
      end
    end
    class Scene_Map
      alias scene_main3 main
      alias grg11_update update
      def main
        @hud = Window_Hud4.new
        scene_main3
      end
      def update
        @hud.refresh
        grg11_update
      end
    end

    E coloque essa imagem na pasta windowskin:
    Script De Hud Do grupo - Página 2 Blankjm

    Creditos a nanzin por me ajudar e com a windowskin
    Nanzin
    Nanzin
    Membro de Honra
    Membro de Honra

    Mensagens : 1550
    Créditos : 252

    Script De Hud Do grupo - Página 2 Empty Re: Script De Hud Do grupo

    Mensagem por Nanzin Seg Fev 25, 2013 8:13 am

    mais uma coisa, voce criou uma classe para cada janela da hud, sendo que voce pode criar uma classe apenas chamada de HUD , e intancia-la em 4 objetos na Scene_Map.

    sendo assim , diminuindo e optimizando seu código.


    _________________
    Script De Hud Do grupo - Página 2 Npvo

    Para Aqueles que gostam de Min e de meu Trabalho;
    Upem Meu Pet nao custa nda!!


    Pet:
    Script De Hud Do grupo - Página 2 5886250
    avatar
    rafaelgrg
    Semi-Experiente
    Semi-Experiente

    Mensagens : 84
    Créditos : 11

    Script De Hud Do grupo - Página 2 Empty Re: Script De Hud Do grupo

    Mensagem por rafaelgrg Seg Fev 25, 2013 8:14 am

    Para criar uma janela para colocar os 4 juntos?
    Nanzin
    Nanzin
    Membro de Honra
    Membro de Honra

    Mensagens : 1550
    Créditos : 252

    Script De Hud Do grupo - Página 2 Empty Re: Script De Hud Do grupo

    Mensagem por Nanzin Seg Fev 25, 2013 10:43 am

    entenda, o ruby trabalha com objetos.

    tudo no ruby é um objeto, inclusive um numero .

    voce pode criar instancias de um objeto colocando-as em um "container" mais conhecidas como variaveis.

    e manipula-las de forma que uma não altere a outra (afinal são objetos diferente na memória).

    sendo assim crie 4 variaveis dentro da Scene_Map

    ficaria +/- assim:


    Código:

    @hud1 = Hud.new(x,y,width,height,actor1)

    @hud2 = Hud.new(x,y,width,height,actor2)

    @hud3 = Hud.new(x,y,width,height,actor3)

    @hud4 = Hud.new(x,y,width,height,actor4)




    obviamente voce deve criar a classe Hud para aceitar os 5 parametros que estou passando ao declara-la às váriaveis.



    se ficou muito confuso me avise que eu crio o código e posto aqui pra voce entender melhor :)


    _________________
    Script De Hud Do grupo - Página 2 Npvo

    Para Aqueles que gostam de Min e de meu Trabalho;
    Upem Meu Pet nao custa nda!!


    Pet:
    Script De Hud Do grupo - Página 2 5886250
    avatar
    rafaelgrg
    Semi-Experiente
    Semi-Experiente

    Mensagens : 84
    Créditos : 11

    Script De Hud Do grupo - Página 2 Empty Re: Script De Hud Do grupo

    Mensagem por rafaelgrg Seg Fev 25, 2013 10:55 am

    Obrigado nanzin +1 Cred
    avatar
    rafaelgrg
    Semi-Experiente
    Semi-Experiente

    Mensagens : 84
    Créditos : 11

    Script De Hud Do grupo - Página 2 Empty Re: Script De Hud Do grupo

    Mensagem por rafaelgrg Seg Fev 25, 2013 11:46 am

    Desculpa pelo double post Sad mas, nanzin agora coloquei uma nova funçao:mostrar/esconder a HUD

    Código:
    #------------------------------------------------------------------------------------
    #----------------------- Hud De Personagem Do grupo ---------------------------------
    #----------------------- Criador por: Rafaelgrga -------------------------------------
    # Para mostrar o hp do outro personagem Mude o 0 para 1 ou outros
    # Exemplo: $game_party.actors[6].hp
    #------------------------------------------------------------------------------------
    class Window_Hud < Window_Base
      def initialize
        super(0,0,115,105)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.windowskin = RPG::Cache.windowskin("WindowskinC")
        self.z = 9999999
        self.back_opacity = 250
        refresh
        @hp = -1
        @sp = -1
      end
      def refresh
        if @hp != $game_party.actors[0].hp or
        @sp != $game_party.actors[0].sp
          redesenha
        end
      end
      def redesenha
        @hp = $game_party.actors[0].hp
        @sp = $game_party.actors[0].sp
        self.contents.clear
        self.contents.draw_text( x, y, 100, 20, "" + $game_party.actors[0].name.to_s , 0)
        self.contents.draw_text( x, y, 100, 75, "Hp " + $game_party.actors[0].hp.to_s, 0)
        self.contents.draw_text( x, y+40, 180, 50, "Sp " + $game_party.actors[0].sp.to_s, 0)
      end
    end
    class Scene_Map
      alias scene_map_main main
      alias grg_update update
      def main
        @hud1 = Window_Hud.new
        scene_map_main
      end
      def update
        @hud2.refresh
        grg_update
      end
    end
    class Window_Hud2 < Window_Base
      def initialize
        super( 150, -2, 115,  105)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.windowskin = RPG::Cache.windowskin("WindowskinC")
        refresh
        @hp = -1
        @sp = -1
      end
      def refresh
        if @hp != $game_party.actors[1].hp or
        @sp != $game_party.actors[1].sp
          redesenha
        end
      end
      def redesenha
        @hp = $game_party.actors[1].hp
        @sp = $game_party.actors[1].sp
        self.contents.clear
        self.contents.draw_text( 1, 15, 100, 19, "" + $game_party.actors[1].name.to_s , 0)
        self.contents.draw_text( 1, 15, 100, 65, "Hp " + $game_party.actors[1].hp.to_s, 0)
        self.contents.draw_text( 1, 15+25, 180, 50, "Sp " + $game_party.actors[1].sp.to_s, 0)
      end
    end
    class Scene_Map
      alias scene_main main
      alias gr_update update
      def main
        @hud2 = Window_Hud2.new
        scene_main
      end
      def update
        @hud2.refresh
        gr_update
      end
    end
    class Window_Hud3 < Window_Base
      def initialize
        super( 335, 0, 115,  105)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.windowskin = RPG::Cache.windowskin("WindowskinC")
        refresh
        @hp = -1
        @sp = -1
      end
      def refresh
        if @hp != $game_party.actors[2].hp or
        @sp != $game_party.actors[2].sp
          redesenha
        end
      end
      def redesenha
        @hp = $game_party.actors[2].hp
        @sp = $game_party.actors[2].sp
        self.contents.clear
        self.contents.draw_text( 1, 10, 100, 19, "" + $game_party.actors[2].name.to_s , 0)
        self.contents.draw_text( 15, 15, 100, 65, "Hp " + $game_party.actors[2].hp.to_s, 0)
        self.contents.draw_text( 15, 15+25, 180, 50, "Sp " + $game_party.actors[2].sp.to_s, 0)
      end
    end
    class Scene_Map
      alias scene_main2 main
      alias grga_update update
      def main
        @hud3 = Window_Hud3.new
        scene_main2
      end
      def update
        @hud3.refresh
        grga_update
      end
    end
    class Window_Hud4 < Window_Base
      def initialize
        super( 525, 0, 115,  105)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.windowskin = RPG::Cache.windowskin("WindowskinC")
        refresh
        @hp = -1
        @sp = -1
      end
      def refresh
        if @hp != $game_party.actors[3].hp or
        @sp != $game_party.actors[3].sp
          redesenha
        end
      end
      def redesenha
        @hp = $game_party.actors[3].hp
        @sp = $game_party.actors[3].sp
        self.contents.clear
        self.contents.draw_text( -2, 10, 100, 19, "" + $game_party.actors[3].name.to_s  , 0)
        self.contents.draw_text( 1, 15, 100, 65, "Hp " + $game_party.actors[3].hp.to_s, 0)
        self.contents.draw_text( 1, 15+25, 180, 50, "Sp " + $game_party.actors[3].sp.to_s, 0)
      end
    end
    class Scene_Map
      alias scene_main3 main
      alias grg11_update update
      def main
        @hud4 = Window_Hud4.new
        scene_main3
      end
      def update
        @hud4.refresh
        grg11_update
        if Input.trigger?(Input::A)
        @hud1.visible = false
    @hud2.visible = false
    @hud3.visible = false
    @hud4.visible = false
    if Input.trigger?(Input::SHIFT)
    @hud1.visible = true
    @hud2.visible = true
    @hud3.visible = true
    @hud4.visible = true
      end
    end
    end
    end

    Z serve para desaparecer a hud e shift serve para mostrar a hud

    Creditos: a kyo panda
    rafaelgrga
    nanzin
    Duel
    Duel
    Aldeia Friend
    Aldeia Friend

    Mensagens : 1375
    Créditos : 107

    Ficha do personagem
    Nível: 1
    Experiência:
    Script De Hud Do grupo - Página 2 Left_bar_bleue0/0Script De Hud Do grupo - Página 2 Empty_bar_bleue  (0/0)
    Vida:
    Script De Hud Do grupo - Página 2 Left_bar_bleue30/30Script De Hud Do grupo - Página 2 Empty_bar_bleue  (30/30)

    Script De Hud Do grupo - Página 2 Empty Re: Script De Hud Do grupo

    Mensagem por Duel Ter Fev 26, 2013 6:21 pm

    Nossa incrivel Rafael +4 Creds xD

    Aparecer,desaparecer,4 janelas em um script xD Demais cara parabens!


    _________________
    Jack:
    Script De Hud Do grupo - Página 2 Tumblr_m1axq3n5qo1r99f4t
    LeonM²
    LeonM²
    Lenda
    Lenda

    Mensagens : 1798
    Créditos : 150

    Script De Hud Do grupo - Página 2 Empty Re: Script De Hud Do grupo

    Mensagem por LeonM² Ter Fev 26, 2013 6:55 pm

    Código:
    #------------------------------------------------------------------------------------
    #----------------------- Hud De Personagem Do grupo ---------------------------------
    #----------------------- Criador por: Rafaelgrga -------------------------------------
    # Para mostrar o hp do outro personagem Mude o 0 para 1 ou outros
    # Exemplo: $game_party.actors[6].hp
    #------------------------------------------------------------------------------------
    class Window_Hud < Window_Base
      def initialize
        super(0,0,115,105)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.windowskin = RPG::Cache.windowskin("WindowskinC")
        self.z = 9999999
        self.back_opacity = 250
        refresh
        @hp = -1
        @sp = -1
      end
      def refresh
        if @hp != $game_party.actors[0].hp or
        @sp != $game_party.actors[0].sp
          redesenha
        end
      end
      def redesenha
        @hp = $game_party.actors[0].hp
        @sp = $game_party.actors[0].sp
        self.contents.clear
        self.contents.draw_text( x, y, 100, 20, "" + $game_party.actors[0].name.to_s , 0)
        self.contents.draw_text( x, y, 100, 75, "Hp " + $game_party.actors[0].hp.to_s, 0)
        self.contents.draw_text( x, y+40, 180, 50, "Sp " + $game_party.actors[0].sp.to_s, 0)
      end
    end
    class Window_Hud2 < Window_Base
      def initialize
        super( 150, -2, 115,  105)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.windowskin = RPG::Cache.windowskin("WindowskinC")
        refresh
        @hp = -1
        @sp = -1
      end
      def refresh
        if @hp != $game_party.actors[1].hp or
        @sp != $game_party.actors[1].sp
          redesenha
        end
      end
      def redesenha
        @hp = $game_party.actors[1].hp
        @sp = $game_party.actors[1].sp
        self.contents.clear
        self.contents.draw_text( 1, 15, 100, 19, "" + $game_party.actors[1].name.to_s , 0)
        self.contents.draw_text( 1, 15, 100, 65, "Hp " + $game_party.actors[1].hp.to_s, 0)
        self.contents.draw_text( 1, 15+25, 180, 50, "Sp " + $game_party.actors[1].sp.to_s, 0)
      end
    end
    class Window_Hud3 < Window_Base
      def initialize
        super( 335, 0, 115,  105)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.windowskin = RPG::Cache.windowskin("WindowskinC")
        refresh
        @hp = -1
        @sp = -1
      end
      def refresh
        if @hp != $game_party.actors[2].hp or
        @sp != $game_party.actors[2].sp
          redesenha
        end
      end
      def redesenha
        @hp = $game_party.actors[2].hp
        @sp = $game_party.actors[2].sp
        self.contents.clear
        self.contents.draw_text( 1, 10, 100, 19, "" + $game_party.actors[2].name.to_s , 0)
        self.contents.draw_text( 15, 15, 100, 65, "Hp " + $game_party.actors[2].hp.to_s, 0)
        self.contents.draw_text( 15, 15+25, 180, 50, "Sp " + $game_party.actors[2].sp.to_s, 0)
      end
    end
    class Window_Hud4 < Window_Base
      def initialize
        super( 525, 0, 115,  105)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.windowskin = RPG::Cache.windowskin("WindowskinC")
        refresh
        @hp = -1
        @sp = -1
      end
      def refresh
        if @hp != $game_party.actors[3].hp or
        @sp != $game_party.actors[3].sp
          redesenha
        end
      end
      def redesenha
        @hp = $game_party.actors[3].hp
        @sp = $game_party.actors[3].sp
        self.contents.clear
        self.contents.draw_text( -2, 10, 100, 19, "" + $game_party.actors[3].name.to_s  , 0)
        self.contents.draw_text( 1, 15, 100, 65, "Hp " + $game_party.actors[3].hp.to_s, 0)
        self.contents.draw_text( 1, 15+25, 180, 50, "Sp " + $game_party.actors[3].sp.to_s, 0)
      end
    end
    class Scene_Map
      alias grg_main_map main
      alias grg_update_map update
      def main
        @hud1 = Window_Hud.new
        @hud2 = Window_Hud2.new
        @hud3 = Window_Hud3.new
        @hud4 = Window_Hud4.new
        grg_main_map
      end
      def update
        @hud1.refresh
        @hud2.refresh
        @hud3.refresh
        @hud4.refresh
        grg_update_map
        if Input.trigger?(Input::A)
        @hud1.visible = false
    @hud2.visible = false
    @hud3.visible = false
    @hud4.visible = false
    if Input.trigger?(Input::SHIFT)
    @hud1.visible = true
    @hud2.visible = true
    @hud3.visible = true
    @hud4.visible = true
      end
    end
    end
    end
    Se não se importar dei uma pequena revida no teu código para fazer possivelmente melhorias no desempenho.
    Fiz de cabeça agora portanto não sei se vai trazer alguma diferença drástica.
    avatar
    rafaelgrg
    Semi-Experiente
    Semi-Experiente

    Mensagens : 84
    Créditos : 11

    Script De Hud Do grupo - Página 2 Empty Re: Script De Hud Do grupo

    Mensagem por rafaelgrg Qua Fev 27, 2013 11:29 am

    Obrigado a vcs e que bom que gostou do script Very Happy

    Conteúdo patrocinado

    Script De Hud Do grupo - Página 2 Empty Re: Script De Hud Do grupo

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qui Out 28, 2021 3:48 pm