[PEDIDO] Script de dia e noite (atualização)
Página 1 de 1
[PEDIDO] Script de dia e noite (atualização)
Olá pessoal.
Meu projeto está em desenvolvimento, e eu gostaria que uma atualização fosse feita no script de dia e noite do Kylock.
Este é o script:
Eu não sei se pode ser feita um atualização em um script criado por outra pessoa, (Na verdade eu sei que isso é irregular).
Então se não for possivel atualização, será que alguem poderia fazer um script do tipo, mas com o complemento que eu vim pedir.
ATUALIZAÇÃO/COMPLEMENTO:
adcionar uma hud vísivel no (overworld), ou melhor, quando jogamos com o personagem.
E outra menor no menu, um pouco diferente.
Hud:
UM relógio que muda quando o switch de dia ou noite é ativado, dentro dele, um desenho do Sol para manhã, um sol radiante quando for dia, um céu bem alaranjado quando for tarde e a Lua, quando for noite, e a lua com um céu bem escuro quando for madrugada.
Seria possivel alguem fazer isso pra mim?
Se bem que não só pra mim, muita gente vai gostar.
UM abraço galera e feliz ano novo. ( Meu primeiro post)
Meu projeto está em desenvolvimento, e eu gostaria que uma atualização fosse feita no script de dia e noite do Kylock.
Este é o script:
- Spoiler:
- Código:
#
# Sistema de Tempo Kylock para VX v1.3
# 10.5.2008
# traduzido pela Equipe Gemstone
#
# Script por: Kylock
# Praticamente todo reescrito desde a versão para XP. Códigos mais limpos
# e compatíveis. Esse é o meu sistema de dia e noite. Ele adiciona uma nova janela
# ao menu, então, se você usa um CMS, cole este script acima dele.
# Eu tentei fazer esse o mais customizável possível, as configurações
# são encontrada logo em baixo. Embora as variáveis sejam opcionais, eu
# sugiro que as usem, pois poderão construtir eventos baseados nesse script
# mais facilmente.
#
# Histórico
# 1.0 - Lançamento.
# 1.1 - Corrigido a mudança de tonalidade nas batalhas. Coloque este script
# abaixo de scripts de batalha caso você note alguma erro na mesma.
# 1.2 - Corrigida a precisão de $kts.stop e $kts.go
# 1.3 - $kts.stop realmente para tudo agora. Adicionadas switches para eventos.
#
# Instruções de Mudança de Tonalidade
#
# Mapas designados como "fora" são os únicos que devem ser afetados pela
# tonalidade. Coloque um [KTS] antes do nome do mapa para criar este efeito.
#
# Chamar Funções do Script
#
# Use o comando "Chamar Script".
# $kts.stop - parar o tempo
# $kts.go - continuar o tempo
# $kts.sec(n) - avança (n) segundos
# $kts.min(n) - avança (n) minutos
# $kts.hours(n) - avança (n) horas
# $kts.days(n) - avança (n) dias.
# $kts.jump_to_hour(n) - Muda o tempo para a hora (n).
#
# Configurações do Dabatase do Jogo
#
# Esse script, por padrão, usa as seguintes variáveis e switches:
# Variáveis:
# [1] O tempio atual [4] Horas Atual
# [2] Segundo atual [5] Dia Atual
# [3] Minuto atual [6] Nome do dia atual
# Switches:
# [1] ON durante a noite (2200-0400)(10pm-4am)
# [2] ON durante a madrugada (0500-0800)( 5am-8am)
# [3] ON durante o amanhecer (0900-1800)( 9am-6pm)
# [4] ON durante o anoitecer (1900-2100)( 7pm-9pm)
#
#
# Guarda as configurações definidas.
#
module KTS
#-
# Define as configurações do relógio
#-
# Define a velocidade do relógio.
# 1 é o tempo real. O padrão é 100 (cem vezes mais rápido do que o tempo real)
SPEED = 100
#AM-PM? (True: relógio de 12 horas AM e 12 horas PM, False: relógio de 24 horas)
AMPM = false
# Define o horário inicial do jogo.
START_HOUR = 22
START_DAY = 1
#-
# Nomes dos dias
#-
DAY_NAMES = ["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]
#-
# Períodos
#-
T1 = [ 0,5 ] # Noite # Arruma os períodos para a tonalidade.
T2 = [ 6,8 ] # Madrugada # [Hora Inicial, Hora Final]
T3 = [ 9,18] # Manhã # Use termos de um relógio de 24 horas.
T4 = [19,21] # Tarde
T5 = [22,24] # Noite # <- Ex: Noite é entre 22:00 e 24:00
#-
# Configurações para as variáveis em jogo
#-
# True para colocar o tempo nas variáveis e switches definidas
DATABASE_OUTPUT = true
# Variável a ser usada
TIME = 1 #(É nesse formato: "2:48 AM" ou "02:48")
SECONDS = 2
MINUTES = 3
HOURS = 4
DAYS = 5
DAYNAME = 6
# Switches
NIGHT = 1 # Estará on nas horas definidas
DAWN = 2 # Estará on nas horas definidas
DAY = 3 # Estará on nas horas definidas
SUNSET = 4 # Estará on nas horas definidas
#-
# Configurações para a tonalidade da tela
#-
# True para habilitar essa função; false para desabilitar essa função.
USE_TONE = true
# Duração da mudança de tonalidade (em frames)
FADE_LENGTH = 120
# Definir Tonalidades para cada período
# Vermelho, Verde, Azul, Cinza
C1 = Tone.new(-187, -119, -17, 68)
C2 = Tone.new( 17, -51, -102, 0)
C3 = Tone.new( 0, 0, 0, 0)
C4 = Tone.new( -68, -136, -34, 0)
C5 = Tone.new(-187, -119, -17, 68)
end
#
# Engine do Sistema de Tempo
#
class Kylock_Time_System
# arrumas as variáveis
def initialize
$kts_map_data = load_data("Data/MapInfos.rvdata")
@event_offset = (KTS::START_HOUR * 3600) + (KTS::START_DAY * 86400)
@kts_stop = false
$kts_event_tone = false
$kts_battle_tone = true
end
# Guarda o tempo e atualiza
def update
if !@kts_stop
@total_seconds = (Graphics.frame_count * KTS::SPEED / 60) + @event_offset
@seconds = (@total_seconds) % 60
@minutes = (@total_seconds / 60) % 60
@hours = (@total_seconds / 3600) % 24
@days = (@total_seconds / 86400)
update_tint
if KTS::DATABASE_OUTPUT
update_variables
update_switches
end
end
end
def update_variables
$game_variables[KTS::TIME] = getTime
$game_variables[KTS::SECONDS] = @seconds
$game_variables[KTS::MINUTES] = @minutes
$game_variables[KTS::HOURS] = @hours
$game_variables[KTS::DAYS] = @days
$game_variables[KTS::DAYNAME] = getDayName
end
def update_switches
if @period == 1 || @period == 5
$game_switches[KTS::NIGHT] = true
else
$game_switches[KTS::NIGHT] = false
end
if @period == 2
$game_switches[KTS::DAWN] = true
else
$game_switches[KTS::DAWN] = false
end
if @period == 3
$game_switches[KTS::DAY] = true
else
$game_switches[KTS::DAY] = false
end
if @period == 4
$game_switches[KTS::SUNSET] = true
else
$game_switches[KTS::SUNSET] = false
end
end
def getTime
if KTS::AMPM
# Formats a 12-Hour Clock
if @hours > 12
hours1 = @hours - 12
if hours1 > 9
time = sprintf("%02d:%02d" + " PM", hours1, @minutes)
else
time = sprintf("%01d:%02d" + " PM", hours1, @minutes)
end
else
if @hours > 9
time = sprintf("%02d:%02d" + " AM", @hours, @minutes)
else
time = sprintf("%01d:%02d" + " AM", @hours, @minutes)
end
end
return time
else
# Formats a 24-Hour Clock
time = sprintf("%02d:%02d", @hours, @minutes)
return time
end
end
#-
# Comandos para as Funções do Script
#-
def stop
@time_stopped = @total_seconds
@kts_stop = true
end
def go
total_seconds = (Graphics.frame_count * KTS::SPEED / 60) + @event_offset
@event_offset -= (total_seconds - @time_stopped)
@kts_stop = false
end
def sec(sec = 0)
@event_offset += sec
end
def min(min = 0)
@event_offset += min * 60
end
def hours(hours = 0)
@event_offset += hours * 3600
end
def days(days = 0)
@event_offset += days * 86400
end
def jump_to_hour(jhour = 0)
while @hours != jhour
@event_offset += 1
$kts.update
end
end
#-
# Outras funções
#-
def getDayName
weekday = (@days % KTS::DAY_NAMES.length)
return KTS::DAY_NAMES[weekday]
end
#-
# Tonalidade de Tela
#-
def update_tint(duration = KTS::FADE_LENGTH)
if KTS::USE_TONE && !$kts_event_tone && $kts_map_data[$game_map.map_id].outside_tint?
if @hours >= KTS::T1[0] and @hours <= KTS::T1[1]
@period = 1
screen.start_tone_change(KTS::C1,duration)
elsif @hours >= KTS::T2[0] and @hours <= KTS::T2[1]
@period = 2
screen.start_tone_change(KTS::C2,duration)
elsif @hours >= KTS::T3[0] and @hours <= KTS::T3[1]
@period = 3
screen.start_tone_change(KTS::C3,duration)
elsif @hours >= KTS::T4[0] and @hours <= KTS::T4[1]
@period = 4
screen.start_tone_change(KTS::C4,duration)
elsif @hours >= KTS::T5[0] and @hours <= KTS::T5[1]
@period = 5
screen.start_tone_change(KTS::C5,duration)
end
else
# sem mundaça nos mapas "dentro"
if !$kts_map_data[$game_map.map_id].outside_tint?
screen.start_tone_change(Tone.new(0,0,0,0),duration)
end
end
end
def screen
if $game_temp.in_battle
return $game_troop.screen
else
return $game_map.screen
end
end
end
#
# Atualiza instantaneamente quando se teletransporta
#
class Game_Map
alias kts_setup setup
def setup(map_id)
kts_setup(map_id)
$kts_event_tone = false
$kts.update
$kts.update_tint(0)
end
end
#
# Atualiza instantaneamente quando entra na batalha
#
class Spriteset_Battle
alias kts_create_battleback create_battleback
def create_battleback
$kts.update_tint(0)
kts_create_battleback
end
end
#
# Desabilita temporariamente quando um evento muda a tonalidade
#
class Game_Interpreter
alias kts_Interpreter_command_223 command_223
def command_223
$kts_event_tone = true
kts_Interpreter_command_223
end
end
#
# Integra o sistema ao Game System
#
class Game_System
# inits a KTS object
alias kts_initialize initialize
def initialize
$kts=Kylock_Time_System.new
kts_initialize
end
# Updates kts every game frame
alias kts_update update
def update
$kts.update
kts_update
end
end
#
# Scaneia mapas para o nome
#
class RPG::MapInfo
def name # Impede que sistemas de localização leiam o [KTS]
return @name.gsub(/\[.*\]/) {""} # colchetes e os inclusos
end
def original_name
return @name
end
def outside_tint?
return @name.scan(/[\KTS]/).size > 0
end
end
#
# Configura a janela de tempo
#
class Window_KTS < Window_Base
def initialize(x, y)
super(x, y, 160, WLH + 32)
refresh
end
def refresh
self.contents.clear
self.contents.draw_text(4, -6, 120, 32, $kts.getTime, 2)
end
def update
super
$kts.update
self.contents.clear
self.contents.draw_text(4, -6, 120, 32, $kts.getTime, 2)
end
end
#
# Adiciona a janela ao menu
#
class Scene_Menu < Scene_Base
alias kts_start start
def start
kts_start
@kts_window = Window_KTS.new(0,305)
end
alias kts_terminate terminate
def terminate
kts_terminate
@kts_window.dispose
end
alias kts_update update
def update
kts_update
@kts_window.update
end
end
#
# Para as tela de Load/Save
#
class Scene_File
alias kts_write_save_data write_save_data
def write_save_data(file)
kts_write_save_data(file)
Marshal.dump($kts, file)
end
alias kts_read_save_data read_save_data
def read_save_data(file)
kts_read_save_data(file)
$kts = Marshal.load(file)
end
end
Eu não sei se pode ser feita um atualização em um script criado por outra pessoa, (Na verdade eu sei que isso é irregular).
Então se não for possivel atualização, será que alguem poderia fazer um script do tipo, mas com o complemento que eu vim pedir.
ATUALIZAÇÃO/COMPLEMENTO:
adcionar uma hud vísivel no (overworld), ou melhor, quando jogamos com o personagem.
E outra menor no menu, um pouco diferente.
Hud:
UM relógio que muda quando o switch de dia ou noite é ativado, dentro dele, um desenho do Sol para manhã, um sol radiante quando for dia, um céu bem alaranjado quando for tarde e a Lua, quando for noite, e a lua com um céu bem escuro quando for madrugada.
Seria possivel alguem fazer isso pra mim?
Se bem que não só pra mim, muita gente vai gostar.
UM abraço galera e feliz ano novo. ( Meu primeiro post)
mathhycreater- Mensagens : 2
Data de inscrição : 31/12/2011
Re: [PEDIDO] Script de dia e noite (atualização)
muito obrigado o/
sim, parece que o sistema de dia e noite é ativado por switchs.
então, eu precisaria uma imagem de um relógio pra cada switch ativado.
EX- dia (switch 1), uma imagem de um relógio com um sol vai aparecer quando esse swtch for ativado.
eu tive essa idéia, mas, como vou fazer a imagem de um relógio?
sim, parece que o sistema de dia e noite é ativado por switchs.
então, eu precisaria uma imagem de um relógio pra cada switch ativado.
EX- dia (switch 1), uma imagem de um relógio com um sol vai aparecer quando esse swtch for ativado.
eu tive essa idéia, mas, como vou fazer a imagem de um relógio?
mathhycreater- Mensagens : 2
Data de inscrição : 31/12/2011
Tópicos semelhantes
» [PEDIDO]Script que o boneco cria sua popria arma[PEDIDO]
» [Pedido] Script
» (pedido)gif script
» [Pedido] Script Resolução VX
» Pedido script de capitulos
» [Pedido] Script
» (pedido)gif script
» [Pedido] Script Resolução VX
» Pedido script de capitulos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos