O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

RGSS! - Janela de Tempo [De acordo com o PC]

Iniciado por Takkun, 05/08/2013 às 21:28


[box class=catbg]Introdução:[/box]
[box class=randomquote]
   Apresenta uma pequena Janela que mostra a Hora - Minutos - Segundos
   e também a Data - Mês - Ano. Mais funções serão adicionadas ao mesmo mais futuramente.

  Agradeço ao Ruby Doc por disponibilizar os comandos que usei para fazer
  esse script pois sem eles esse script não teria saído.

  Esse script foi criado com o próposito de deixar seu projeto mais real
  permitindo que mostre Data e Horas de acordo com o seu PC mais para
  frente esse sistema será implementado com um sistema de Dia & Noite.[/box]


[box class=catbg]Características:[/box]
[box class=randomquote]- Uso Simples
[/box]

[box class=catbg]Múltimidia:[/box]
[box class=randomquote]
[/box]


[box class=catbg]Como usar:[/box]
[box class=randomquote]- Coloque o script acima do Main
- Configure o módulo RGSS, no começo do script
[/box]

[box class=catbg]Script:[/box]
[box class=randomquote]
#===============================================================================
# +++ RGSS! - Janela de Tempo [Real] +++ 
#===============================================================================
# Por Faalco
# Esse script pode ser usado em fins comerciais e não comerciais desde que os
# devidos ao criador sejam devidamente apresentados.
#===============================================================================
# Apresenta uma pequena Janela que mostra a Hora - Minutos - Segundos e também
# a Data - Mês - Ano. Mais funções serão adicionadas ao mesmo mais futuramente.
#
# Esse script foi criado com o próposito de deixar seu projeto mais real
# permitindo que mostre Data e Horas de acordo com o seu PC mais para
# frente esse sistema será implementado com um sistema de Dia & Noite.
#
#===============================================================================
# ● Histórico
#==============================================================================
# v 1.0 - Criação do Script (05-08-2013)
#==============================================================================
module RGSS
  Fonte = "Trebuchet MS"
  #Fonte que será usada para mostrar as informações dentro da janela.
end
#==============================================================================
# ■ Window Time
#==============================================================================
class Window_Time < Window_Base
  def initialize
    super(0,0,250,50)
    self.contents.font.name = RGSS::Fonte
    refresh
  end
  def refresh
    self.contents.clear
    @time = Time.new
    @hour = @time.hour
    @min = @time.min
    @sec = @time.sec
    @day = @time.day
    @mon = @time.mon
    @year = @time.year
    self.draw_text(4,  0, self.width - 40, 32, @hour.to_s)
    self.draw_text(25, 0, self.width - 40, 32, ":")
    self.draw_text(35, 0, self.width - 40, 32, @min.to_s)
    self.draw_text(55, 0, self.width - 40, 32, ":")
    self.draw_text(65, 0, self.width - 40, 32, @sec.to_s)
    self.draw_text(98, 0, self.width - 40, 32, "-")
    self.draw_text(120, 0, self.width - 40, 32, @day.to_s)
    self.draw_text(140, 0, self.width - 40, 32, "/")
    self.draw_text(150, 0, self.width - 40, 32, @mon.to_s)
    self.draw_text(170, 0, self.width - 40, 32, "/")
    self.draw_text(180, 0, self.width - 40, 32, @year.to_s)
  end
end
class Scene_Map
  alias faalco_main main
  alias faalco_update update
  def main
    @hud = Window_Time.new
    faalco_main
    @hud.dispose
  end
  def update
    faalco_update
    @hud.update
    @hud.refresh
  end
end

[/box]

[box class=catbg]Créditos e Considerações finais:[/box]
[box class=randomquote][user]Faalco[/user] - Criação do Script
Ruby Doc Pelos códigos que usei no script.
Qualquer dúvida de como usar, o tópico está aqui pra isto.
[/box]

Nossa,que daora.Algo bastante útil para mim.

Consigo remover a data por exemplo?
Gifts: Mistyrol | [

Script muito bacana Faalco! Bastante inovador! nunca tinha pensado nisso! ehueahuahuaeu
Vai ser bem útil para alguns projetos! Obrigado por dispor! :D




@STRATØ

Tem como sim, eu fiz uma modificação simples e uma redução no script, use esse aqui agora:

#===============================================================================
# +++ RGSS! - Janela de Tempo [Real] +++ 
#===============================================================================
# Por Faalco
# Esse script pode ser usado em fins comerciais e não comerciais desde que os
# devidos ao criador sejam devidamente apresentados.
#===============================================================================
# Apresenta uma pequena Janela que mostra a Hora - Minutos - Segundos e também
# a Data - Mês - Ano. Mais funções serão adicionadas ao mesmo mais futuramente.
#
# Esse script foi criado com o próposito de deixar seu projeto mais real
# permitindo que mostre Data e Horas de acordo com o seu PC mais para
# frente esse sistema será implementado com um sistema de Dia & Noite.
#
#===============================================================================
# ● Histórico
#==============================================================================
# v 1.0 - Criação do Script (05-08-2013)
#==============================================================================
module RGSS
  Fonte = "Trebuchet MS"
  #Fonte que será usada para mostrar as informações dentro da janela.
end
#==============================================================================
# ■ Window Time
#==============================================================================
class Window_Time < Window_Base
  def initialize
    super(0,0,110,50)
    self.contents.font.name = RGSS::Fonte
    refresh
  end
  def refresh
    self.contents.clear
    @time = Time.new
    @hour = @time.hour
    @min = @time.min
    @sec = @time.sec
    self.draw_text(4,  0, self.width - 40, 32, @hour.to_s)
    self.draw_text(25, 0, self.width - 40, 32, ":")
    self.draw_text(35, 0, self.width - 40, 32, @min.to_s)
    self.draw_text(55, 0, self.width - 40, 32, ":")
    self.draw_text(65, 0, self.width - 40, 32, @sec.to_s)

  end
end
class Scene_Map
  alias faalco_main main
  alias faalco_update update
  def main
    @hud = Window_Time.new
    faalco_main
    @hud.dispose
  end
  def update
    faalco_update
    @hud.update
    @hud.refresh
  end
end
.

Bastante interessante!
Uma pergunta: É possível criar condições para que algo ocorra no jogo, dependendo do horário real mostrado no PC?

Tem como sim May, veja um exemplo:

    if @time.sec == 10
      $game_switches[1] = true
    end



dai vai ficar assim:


#===============================================================================
# +++ RGSS! - Janela de Tempo [Real] +++ 
#===============================================================================
# Por Faalco
# Esse script pode ser usado em fins comerciais e não comerciais desde que os
# devidos ao criador sejam devidamente apresentados.
#===============================================================================
# Apresenta uma pequena Janela que mostra a Hora - Minutos - Segundos e também
# a Data - Mês - Ano. Mais funções serão adicionadas ao mesmo mais futuramente.
#
# Esse script foi criado com o próposito de deixar seu projeto mais real
# permitindo que mostre Data e Horas de acordo com o seu PC mais para
# frente esse sistema será implementado com um sistema de Dia & Noite.
#
#===============================================================================
# ● Histórico
#==============================================================================
# v 1.0 - Criação do Script (05-08-2013)
#==============================================================================
module RGSS
  Fonte = "Trebuchet MS"
  #Fonte que será usada para mostrar as informações dentro da janela.
end
#==============================================================================
# ■ Window Time
#==============================================================================
class Window_Time < Window_Base
  def initialize
    super(0,0,110,50)
    self.contents.font.name = RGSS::Fonte
    refresh
  end
  def refresh
    self.contents.clear
    @time = Time.new
    @hour = @time.hour
    @min = @time.min
    @sec = @time.sec
    self.draw_text(4,  0, self.width - 40, 32, @hour.to_s)
    self.draw_text(25, 0, self.width - 40, 32, ":")
    self.draw_text(35, 0, self.width - 40, 32, @min.to_s)
    self.draw_text(55, 0, self.width - 40, 32, ":")
    self.draw_text(65, 0, self.width - 40, 32, @sec.to_s)
    
    if @time.sec == 10
      $game_switches[1] = true
    end
    
  end
end
class Scene_Map
  alias faalco_main main
  alias faalco_update update
  def main
    @hud = Window_Time.new
    faalco_main
    @hud.dispose
  end
  def update
    faalco_update
    @hud.update
    @hud.refresh
  end
end


Aqui na linha 45 eu adicionei uma condição que quando o time.sec (segundo) for igual a 10, na linha 46 ele liga a Switch 1. Bem simples. Se for pra desligar uma switch é só mudar de True para False. Se for uma variável é só mudar de $game_switchs para $game_variables[N] sendo o N o número equivalente a variável, e para somar é só colocar =+, ou para subtrair colocar =-.

Se quiser condicionar a minutos ou horas, é só trocar o time.sec para time.min ou time.hour.
.

Opa Sheph! Muito obrigada, esse script será bem útil para um mini-projeto que estou criando.

Desculpe o incomodo mas eu quero saber como eu uso uma linha de codigo em uma condição

tipo criar um evento que aconteça no dia tal e mês tal

Acho que não vai ser muito útil pra mim, não agora... Mas o script é excelente e bem simples! É bom para netplays ~se já não existe isso em netplays, sou leigo quanto a isso!~.

Tem como colocar a janela no lado direito??

Caio, no caso para usar condições baseadas em scripts. Você poderia simplesmente fazer (no caso da hora).
(Time.new).sec   ou
(Time.new).hour   ou
(Time.new).min   ou
etc... Isso lhe daria o valor exato naquele momento.
Uma condição por script do tipo (Time.new).sec, lhe daria os segundos no momento que aquela condição foi verificada pelo jogo.

Exemplo: Quero uma condição que se ative no dia 31/10/2015
Dentro do campo Script da condição colocaria:
(Time.new).day == 31 && (Time.new).mon == 10 && (Time.new).year == 2015


Desta forma, ele lê o tempo e verifica o dia, depois lê novamente e verifica o mês, depois lê novamente e verifica o ano. Caso as três sejam verdade, a condição é aceita. Se apenas uma for falsa, você não entra na condição.
Writing codes. Writing novels. Writing... Fates.

Sei que o post é meio velho e tals... mas tem como fazer a caixa aparecer só quando eu chamar?
Tava querendo fazer uma quebra na quarta parede com isso.
Tô com preguiça de escrever algo legal aqui.
Hello ^^

Nessa parte do código:

  def update
    faalco_update
    @hud.update
    @hud.refresh
  end


O senhor pode adicionar a seguinte linha após o faalco_update:

    @hud.visible = $game_switches[2]


Dessa forma a janela é exibida dependendo do status da switch com ID 2. Também pode mudar o 2 na linha acima para qualquer ID de switch que desejar.

Citação de: Kyo Panda online 17/10/2018 às 09:05
Nessa parte do código:

  def update
    faalco_update
    @hud.update
    @hud.refresh
  end


O senhor pode adicionar a seguinte linha após o faalco_update:

    @hud.visible = $game_switches[2]


Dessa forma a janela é exibida dependendo do status da switch com ID 2. Também pode mudar o 2 na linha acima para qualquer ID de switch que desejar.


Vlw mesmo. <3
Tô com preguiça de escrever algo legal aqui.
Hello ^^

Hum não sei se já falram disso, mas dá para deixar o mapa de dia durante o dia, e durante a noite deixar o mapa mais escuro?  :o:

Citação de: RodLego10 online 29/10/2018 às 13:57
Hum não sei se já falram disso, mas dá para deixar o mapa de dia durante o dia, e durante a noite deixar o mapa mais escuro?  :o:

Olá, tem sim. Tanto por eventos ou scripts como com imagens (falo isso por isso experiência no XP). Você pode configurar condições para mudar o tom da tela de acordo com a hora - ou minutos também - desejada ou usar condições para mostrar imagens que escurecem ou clareiam a tela de acordo com a hora.
O livro traz a vantagem de a gente poder estar só e ao mesmo tempo acompanhado.

------------