Life Rpg Maker
Registre-se em nossa comunidade e saiba Mais do mundo maker(:



 
InícioInício  chat  PortalPortal  CalendárioCalendário  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Conectar-seConectar-se  

Compartilhe | 
 

 Script de Fome - Com Huds

Ir em baixo 
AutorMensagem
RD12
Lenda
Lenda
avatar

Mensagens : 4
Pontos : 17
Reputação : 5
Data de inscrição : 13/08/2012

MensagemAssunto: Script de Fome - Com Huds   Seg Set 24, 2012 4:53 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:
 
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
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Samuka_Adm
Admin
Admin
avatar

Medalhas :
Mensagens : 150
Pontos : 319
Reputação : 44
Data de inscrição : 15/06/2012

MensagemAssunto: Re: Script de Fome - Com Huds   Seg Set 24, 2012 4:56 pm

lol, o scipt nem é dificil mas é muuuito bom *u* usarei ele no meu jogo off, +1 cred pra tu amg *-*

_________________
Do quê adianta baixar um sistema e só copiar tudo? estão faltando makers no mundo intão porquê você não aprende ruby para fazer seus proprios scripts?
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://liferpgmaker.forumfacil.net
 
Script de Fome - Com Huds
Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» [Script][GML]Array 3D
» Drops - Editor de script
» [Script]Carregar arquivos em 3D
» script para arrastar itens
» [Script]Visualizador de arquivos

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Life Rpg Maker :: RPG MAKER VX ACE :: Scripts RGSS3-
Ir para: