Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker

Estamos de volta o/ ... Ou não.Eu amo a -Dark
Doações para o fórum abertas, clique aqui e saiba mais.
Últimos assuntos
» Ainda temos gente aqui?
Script de fome - com hud EmptyQui 25 Nov 2021, 14:04 por Halt

» [Dúvida] Como tirar a porcentagem de esquiva
Script de fome - com hud EmptySex 19 Nov 2021, 17:14 por Halt

» Pokémon Genesis Online! (PGO)
Script de fome - com hud EmptyQua 05 Jul 2017, 18:08 por Lexar

» Tileset Converter to MV
Script de fome - com hud EmptySex 12 maio 2017, 14:07 por Douggi

» Pack Resources, Sprites e etc
Script de fome - com hud EmptyQua 23 Dez 2015, 12:30 por raydengv

» Download RPG Maker 2003 + RTP em português
Script de fome - com hud EmptyTer 22 Dez 2015, 11:14 por ::KimMax::

» Fantasy Art Online
Script de fome - com hud EmptyDom 18 Out 2015, 18:42 por daviih123

» Você vai ter medo do Nerve gear?
Script de fome - com hud EmptySáb 25 Jul 2015, 17:02 por Kirito-kun

» O Barato é louco
Script de fome - com hud EmptySáb 27 Jun 2015, 16:26 por Halt

» Download RPG Maker 2000 + RTP em português
Script de fome - com hud EmptyQui 21 maio 2015, 20:28 por Wismael


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

1Script de fome - com hud Empty Script de fome - com hud Sex 28 Dez 2012, 15:45

Halt

Halt
Administrador
Administrador
RD12 escreveu:
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:
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
Script de fome - com hud Y9VWt - Fome_Base
Script de fome - com hud HOlyh - Fome_Hud
Script de fome - com hud 5Wtfn - 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

https://arenarpgmaker.forumeiros.com

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos