Suporte ao desenvolvimento de jogos!


    Script de Fome - Com Huds

    Compartilhe
    avatar
    RD12
    Lenda
    Lenda

    Medalhas :
    Mensagens : 1965
    Créditos : 743

    Script de Fome - Com Huds

    Mensagem por RD12 em Qui Jun 07, 2012 9:12 pm

    Script de Fome

    Olá a todos
    Fiz esse script a pedido da hatsurugi, o script ficou muito bom e completo, deu 260 linhas.

    Características:
    *Permite escolher o tempo em segundos que irá aumentar a fome, e o valor aumentado.
    *Ao usar items diminui a fome, só por -fome valor na nota do item.
    *Ao usar items também pode aumentar a fome, só por +fome valor.
    *Ao usar items que mudam a fome mostra uma mensagem na tela com a fome atual.
    *Mostra até 8 Huds com o nome dos membros em cima e a barra de fome.
    *Quando a fome chega no máximo(100), o jogador morre e a hud fica vermelha.


    Screenshots

    Spoiler:

    Aqui estou com 5 membros na party





    Script


    Código:
    #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
    #|Autor: RD12|                Script de Fome                          07/06/12
    #         
    #        Acesse:  www.aldeiarpgbr.com  Para mais scripts meus
    #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
    # A fome vai de 0 a 100, quanto maior o valor mais com fome o membro estará
    # Se a fome chegar no 100 o membro irá fifcar com hp=0 (morre)
    #
    # Para um item diminuir a fome bote em sua Nota: -fome valor
    # E para um item aumentar a fomt, bote na nota: +fome valor

    module Fome
      #Tempo em segundos que irá aumentar a fome
      Segundos = 30
      #Valor que irá aumentar de fome quando o tempo acima chegar
      Valor = 5 # A Fome vai até 100, aí morre
      #Modifique a posição das Huds aqui
      HUDs_x = 1
      HUDs_y = 190
    end

    class Hud_Fome < Sprite
      def initialize
        super
        self.bitmap = bitmap = Bitmap.new(100,300)
        self.bitmap.font.size = 14
        self.bitmap.font.name = "Segoe UI"
        self.x = Fome::HUDs_x
        self.y = Fome::HUDs_y
        refresh
      end
       
      def update
        super
        refresh
      end
     
      def refresh
        self.bitmap.clear
      if $game_party.members.size >= 1
        #---------------------------------------------------------------------------
        #Hud de Fome do 1° Membro - .members[0]
        #---------------------------------------------------------------------------
        base = Cache.picture("Fome_Base")
        rect = Rect.new(0,0,base.width,base.height)
        self.bitmap.blt(10,21,base,rect)
        self.bitmap.draw_text(10, 0, 100, 32, $game_party.members[0].name, 0)
          @actor = $game_party.members[0]
        if @actor.fome >= 100
          @actor.hp = 0
          hud_name = "Fome_100"
        else
          hud_name = "Fome_Hud"
        end
        base = Cache.picture(hud_name)
        rect = Rect.new(0,0,base.width * @actor.fome / 100,base.height)
        self.bitmap.blt(10,21,base,rect)
       
      end
      if $game_party.members.size >= 2
        #---------------------------------------------------------------------------
        #Hud de Fome do 2° Membro - .members[0]
        #---------------------------------------------------------------------------
        base = Cache.picture("Fome_Base")
        rect = Rect.new(0,0,base.width,base.height)
        self.bitmap.blt(10,45,base,rect)
        self.bitmap.draw_text(10, 24, 100, 32, $game_party.members[1].name, 0)
          @actor = $game_party.members[1]
        if @actor.fome >= 100
          @actor.hp = 0
          hud_name = "Fome_100"
        else
          hud_name = "Fome_Hud"
        end
        base = Cache.picture(hud_name)
        rect = Rect.new(0,0,base.width * @actor.fome / 100,base.height)
        self.bitmap.blt(10,45,base,rect)
      end
      if $game_party.members.size >= 3
        #---------------------------------------------------------------------------
        #Hud de Fome do 3° Membro - .members[0]
        #---------------------------------------------------------------------------
        base = Cache.picture("Fome_Base")
        rect = Rect.new(0,0,base.width,base.height)
        self.bitmap.blt(10,45+24,base,rect)
        self.bitmap.draw_text(10, 24*2, 100, 32, $game_party.members[2].name, 0)
          @actor = $game_party.members[2]
        if @actor.fome >= 100
          @actor.hp = 0
          hud_name = "Fome_100"
        else
          hud_name = "Fome_Hud"
        end
        base = Cache.picture(hud_name)
        rect = Rect.new(0,0,base.width * @actor.fome / 100,base.height)
        self.bitmap.blt(10,45+24,base,rect)
      end
      if $game_party.members.size >= 4
        #---------------------------------------------------------------------------
        #Hud de Fome do 4° Membro - .members[0]
        #---------------------------------------------------------------------------
        base = Cache.picture("Fome_Base")
        rect = Rect.new(0,0,base.width,base.height)
        self.bitmap.blt(10,45+(24*2),base,rect)
        self.bitmap.draw_text(10, 24*3, 100, 32, $game_party.members[3].name, 0)
          @actor = $game_party.members[3]
        if @actor.fome >= 100
          @actor.hp = 0
          hud_name = "Fome_100"
        else
          hud_name = "Fome_Hud"
        end
        base = Cache.picture(hud_name)
        rect = Rect.new(0,0,base.width * @actor.fome / 100,base.height)
        self.bitmap.blt(10,45+(24*2),base,rect)
      end
      if $game_party.members.size >= 5
        #---------------------------------------------------------------------------
        #Hud de Fome do 5° Membro - .members[0]
        #---------------------------------------------------------------------------
        base = Cache.picture("Fome_Base")
        rect = Rect.new(0,0,base.width,base.height)
        self.bitmap.blt(10,45+(24*3),base,rect)
        self.bitmap.draw_text(10, 24*4, 100, 32, $game_party.members[4].name, 0)
          @actor = $game_party.members[4]
        if @actor.fome >= 100
          @actor.hp = 0
          hud_name = "Fome_100"
        else
          hud_name = "Fome_Hud"
        end
        base = Cache.picture(hud_name)
        rect = Rect.new(0,0,base.width * @actor.fome / 100,base.height)
        self.bitmap.blt(10,45+(24*3),base,rect)
      end
      if $game_party.members.size >= 6
        #---------------------------------------------------------------------------
        #Hud de Fome do 6° Membro - .members[0]
        #---------------------------------------------------------------------------
        base = Cache.picture("Fome_Base")
        rect = Rect.new(0,0,base.width,base.height)
        self.bitmap.blt(10,45+(24*4),base,rect)
        self.bitmap.draw_text(10, 24*5, 100, 32, $game_party.members[5].name, 0)
          @actor = $game_party.members[5]
        if @actor.fome >= 100
          @actor.hp = 0
          hud_name = "Fome_100"
        else
          hud_name = "Fome_Hud"
        end
        base = Cache.picture(hud_name)
        rect = Rect.new(0,0,base.width * @actor.fome / 100,base.height)
        self.bitmap.blt(10,45+(24*4),base,rect)
      end
      if $game_party.members.size >= 7
        #---------------------------------------------------------------------------
        #Hud de Fome do 7° Membro - .members[0]
        #---------------------------------------------------------------------------
        base = Cache.picture("Fome_Base")
        rect = Rect.new(0,0,base.width,base.height)
        self.bitmap.blt(10,45+(24*5),base,rect)
        self.bitmap.draw_text(10, 24*6, 100, 32, $game_party.members[6].name, 0)
          @actor = $game_party.members[6]
        if @actor.fome >= 100
          @actor.hp = 0
          hud_name = "Fome_100"
        else
          hud_name = "Fome_Hud"
        end
        base = Cache.picture(hud_name)
        rect = Rect.new(0,0,base.width * @actor.fome / 100,base.height)
        self.bitmap.blt(10,45+(24*5),base,rect)
      end
      if $game_party.members.size >= 8
        #---------------------------------------------------------------------------
        #Hud de Fome do 8° Membro - .members[0]
        #---------------------------------------------------------------------------
        base = Cache.picture("Fome_Base")
        rect = Rect.new(0,0,base.width,base.height)
        self.bitmap.blt(10,45+(24*6),base,rect)
        self.bitmap.draw_text(10, 24*7, 100, 32, $game_party.members[7].name, 0)
          @actor = $game_party.members[7]
        if @actor.fome >= 100
          @actor.hp = 0
          hud_name = "Fome_100"
        else
          hud_name = "Fome_Hud"
        end
        base = Cache.picture(hud_name)
        rect = Rect.new(0,0,base.width * @actor.fome / 100,base.height)
        self.bitmap.blt(10,45+(24*6),base,rect)
      end
     end
    end

    #Bota a HUD no mapa e atualiza ela de acordo com o tempo configurado
    class Scene_Map
      alias rd12_main main
      def main
        $Fome = Hud_Fome.new
        @tocomfome = 0
        rd12_main
        $Fome.dispose
      end
      alias rd12_update update
      def update
        if Graphics.frame_count % 80 == 0
          @tocomfome += 1
        end
        if @tocomfome == Fome::Segundos
        for i in 0..$game_party.members.size-1
          $game_party.members[i].fome = (Fome::Valor)
        end 
        @tocomfome = 0
        end
        rd12_update
      end
    end

    # Adiciona o $game_party.members[x].fome
    # Pra adicionar mais fome: $game_party.members[x].fome = quantidade
    # Pra remover fome: $game_party.members[x].fome = -quantidade

    class Game_Actor < Game_Battler
      alias rd12_initialize initialize
      def initialize(actor_id)
        @fome = 0
        rd12_initialize(actor_id)
      end
     
      def fome=(arg)
      @fome = 0 if @fome == nil
      @fome += arg
      $Fome.refresh
      end
     
      def fome
      @fome
      end
     
    end
    #Modifica o método para ganhar ou perder Fome
    class Scene_Item < Scene_ItemBase
      def use_item_to_actors
        item_target_actors.each do |target|
          arg = item.note.split
          if arg[0] == "-fome"
            target.fome = -arg[1].to_i
            #Mostra mensagem com a fome atual
            msgbox("Fome atual: #{target.fome}/100")
          end
          if arg[0] == "+fome"
            target.fome = arg[1].to_i
            #Mostra mensagem com a fome atual
            msgbox("Fome atual: #{target.fome}/100")
          end
          item.repeats.times { target.item_apply(user, item) }
        end
      end
    end

    Pictures Necessárias

    Imagem/Nome
    - Fome_Base
    - Fome_Hud
    - Fome_100

    Para usar é só configurar no script o tempo em segundos e o valor que irá recuperar, e botar na nota de um item: -fome valor.

    Obrigado a Hatsurugi pela idéia do script.

    Créditos RD12
    avatar
    DeaN
    Colaborador
    Colaborador

    Mensagens : 1284
    Créditos : 48

    Re: Script de Fome - Com Huds

    Mensagem por DeaN em Sex Jun 08, 2012 9:38 am

    Poxa fico bem legal pareci que o VXAce pode fazer muitas coias.
    1+


    _________________
    Dean, Programador Geral :)

    Contato: Skype:matucarvalho e Facebook
    The Enze - Vulzt

    Shield Block
    Anti-Cheat para jogos de FPS, agora vou adaptar para jogos de RPG principalmente para o RMXP.
    www.shieldblock.net
    fb.com/shieldblockoficial

    avatar
    RD12
    Lenda
    Lenda

    Medalhas :
    Mensagens : 1965
    Créditos : 743

    Re: Script de Fome - Com Huds

    Mensagem por RD12 em Sex Jun 08, 2012 9:39 am

    Mais que o XP Dean. Obrigado.
    avatar
    Valentine
    Administrador
    Administrador

    Medalhas :
    Mensagens : 4977
    Créditos : 1060

    Re: Script de Fome - Com Huds

    Mensagem por Valentine em Sex Jun 08, 2012 10:14 am

    Bem legal RD12
    + 2 créditos


    _________________
    avatar
    Felix Blayder
    Membro de Honra
    Membro de Honra

    Mensagens : 1490
    Créditos : 219

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Re: Script de Fome - Com Huds

    Mensagem por Felix Blayder em Sex Jun 08, 2012 10:31 am

    tá ótimo o script em... +1 cred.


    _________________

    Se inscreva em meu Canal no YouTube:
    https://www.youtube.com/localnerd

    Faça uma doação para ajudar nos custos:

    https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3N8T2RJ977RCQ

    avatar
    Hatsurugi
    Diva
    Diva

    Mensagens : 236
    Créditos : 125

    Re: Script de Fome - Com Huds

    Mensagem por Hatsurugi em Sex Jun 08, 2012 2:19 pm

    Muito obrigada RD, você é um anjo mesmo, ficarei eternamente grata.


    +2 cred.


    De sua atiradora


    Hatsurugi


    _________________
    Fanbars:

    Guild:

    Project:





    Minha deusa:



    avatar
    Chupa Cabra
    Ocasional
    Ocasional

    Mensagens : 163
    Créditos : 8

    Re: Script de Fome - Com Huds

    Mensagem por Chupa Cabra em Sex Jun 08, 2012 6:52 pm

    Otimo script +1 cred
    Quem sabe que daqui a algum tempo você não cira um netplay pra rpg maker vx ACE


    _________________

    -------------------------------------------------------------------------------
    avatar
    Samuka_Maker
    Aldeia Friend
    Aldeia Friend

    Medalhas :
    Mensagens : 1205
    Créditos : 125

    Re: Script de Fome - Com Huds

    Mensagem por Samuka_Maker em Dom Jun 24, 2012 7:31 pm

    RD12 ele é compativel cm xp ou vx normal?


    _________________

    Life rpg maker, suporte para criacao de jgoos online eoffline, link do forum:(v2.0)
    http://liferpgmakerv2.forumotion.com/




    Tópico original/Tópico de Recrutamento
    avatar
    RD12
    Lenda
    Lenda

    Medalhas :
    Mensagens : 1965
    Créditos : 743

    Re: Script de Fome - Com Huds

    Mensagem por RD12 em Dom Jun 24, 2012 8:48 pm

    Não testei mas provavelmente não.
    avatar
    Jessé Smash
    Novato
    Novato

    Mensagens : 1
    Créditos : 0

    Re: Script de Fome - Com Huds

    Mensagem por Jessé Smash em Sex Mar 01, 2013 3:10 pm

    Existe alguma forma de desativar e reativar a fome no meio do jogo?
    Seria muito útil pois se a fome acaba no meio de um evento longo fica ruim.
    Eu achei o script muito bom. Mas ficaria melhor com esta função.

    Conteúdo patrocinado

    Re: Script de Fome - Com Huds

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Out 19, 2018 2:17 am