- nota inicial:
- Antes de tudo quero deixar bem claro que não fui eu quem fez esse script e que eu estou apenas disponibilizando.
Complete Climate and Time System (CCTS)
Authors: ForeverZer0
Version: 1.2.2
Type: Dynamic Environment System
Introdução
Authors: ForeverZer0
Version: 1.2.2
Type: Dynamic Environment System
Introdução
Este script irá dar-lhe total controle do tempo e do clima em seu jogo. Ele permitirá que você criar climas diferentes que usam diferentes padrões climáticos, tons, sons e efeitos. É também um sistema de tempo completo que lhe dá controle total alem de mantém um registro com todas as configurações possíveis à sua disposição. Note que esta script vem com uma configuração pré definida que serão adequados para a maioria das necessidades, mas ele pode ser configurado para o nível mais extremo se assim for desejado, a qual irá requerer mais trabalho.
Fotos
- Spoiler:
- Spoiler:
Demo
Aqui
Script
- Spoiler:
- Código:
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
# Complete Climate and Time System (CCTS)
# Author: ForeverZer0
# Tradução: Gladistony
# Version: 1.2.3
# Date: 2.10.2011
#
#
# Instruções:
#
# Todas as instruções de configuração são explicados a seguir em cada seção.
#
# ------------------------------------------------- -----------------------
#
# Chamar Script:
#
# * time.freeze(true/false)
# - Vai congelar / descongelar tempo, tom e clima.
#
# * time.tone_freeze(true/false)
# - Vai congelar / descongelar o tom tela de atualização automaticamente. usar
# se você gostaria de definir um tom de tela personalizado, caso contrário o sistema
# Irá substituí-lo.
#
# * time.weather_freeze(true/false)
# - Irá congelar / descongelar o tempo de atualização. Congelar se você quiser e é usado
# para definir manualmente o tempo e não espera para o sistema para substituí-lo.
#
# * time.speed_freeze(true/false)
# - Irá manter o conjunto velocidade tempo a uma taxa específica, e não mudar por cada
# Mapa como o sistema normalmente faz.
#
# * time.change_speed(SPEED)
# - Define a velocidade do tempo. Use time.speed_freeze para manter-lo
# por um tempo indeterminado
#
# * time.set(m, h, d, m, y)
# - Define o tempo para o tempo definido em (minuto, hora, dia, mês, ano)
# Isto irá também permitir que você "volte" no tempo.
#
# * time.advance_minute(NUMBER)
# - Avança os minutos em NUMBER
#
# * time.advance_hour(NUMBER)
# - Avança as horas em NUMBER
#
# * time.advance_day(NUMBER)
# - Avança os diass em NUMBER
#
# * time.advance_month(NUMBER)
# - Avança os meses em NUMBER
#
# * time.advance_year(NUMBER)
# - Avança os anos em NUMBER
#
# * time.memorize(INDEX)
# - Memoriza o tempo atual para um array no INDEX. O índice pode ser qualquer
# Inteiro você gosta, ele é usado para referenciar mais tarde se o tempo for restaurado.
# Isto irá permitir que você memorize tantos 'Times' você precisa. Utilização
# de um índice existente sobre-escrever o antigo.
#
# * time.restore(INDEX)
# - Define o tempo ao tempo memorizado no INDEX. INDEX não faz nada se não
# Existir aquele tempo. Obviamente, você deve ter um tempo memorizado antes de usar.
#
# * time.clock(true/false)
# - Ativa / Desativa o relógio.
#
# * time.simple_clock(true/false)
# - Por padrão, o relógio mostra a hora, dia e data. Se isso for verdade[true],
# O relógio só vai mostrar somente o tempo.
#
# * time.analog_clock(true/false)
# - Define se ira usar o relógio analógico
#
# * time.clock_face(x, y, opacity, fontname, fontsize, bold, italic)
# - Muda as configurações do relógio [Melhor configurável com o programa]
#
# * time.analog_face(filename, handoffset, x, y, opacity)
# - Muda as configurações do relógio analógico. [Melhor configurável com o programa]
#
# * time.change_climate(MAP_ID, CLIMATE_ID)
# Muda o clima de um mapa.
#
# * CCTS.debug
# - Alterna o sprite de depuração ON / OFF. Mostra quase todas as variáveis relevantes
# Usar apenas na criação do jogo
#
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
# Inicio das configurações
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
module CCTS
# Nome dos dias da semana
DAYS = ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta',
'Sabado']
# Nome dos meses do ano
MONTHS = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho',
'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']
# Quantidade de dias de cada més.
MONTH_LENGTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# Data de inicio: Configure assim: [Minutos, Hora, Dia, Més, Ano]
START_DATE = [30, 6, 4, 0, 1776]
# Tecla que habilita ou desliga o relógio
CLOCK_BUTTON = Input::C
# Configurações do relógio
# Configure desta forma. [X, Y, Opacidade, Nome da fonte, Tamanho da fonte, BOLD, ITALIC]
CLOCK_FACE = [0, 90, 160, 'Arial', 16, false, false]
# Configurações do relógio analógico
# Set up using this pattern: ['FILENAME', HAND_OFFSET, X, Y, OPACITY]
#
ANALOG_FACE = ['', 0, 0, 0, 0]
# skin do relógio normal
CLOCK_SKIN = 'DEFAULT SKIN'
# usar o relógio analógico?
ANALOG_CLOCK = false
# Formato do tempo RECOMENTO QUE NÃO MECHAR
TIME_FORMAT = '%2d:%02d'
#RECOMENTO QUE NÃO MECHAR
WEATHER_WAIT = [0, 0]
# Variável que mostra o tipo de tempo.
WEATHER_VARIABLE = 6
# Essa condição se ativa durante climas ruins. Ideal para fazer os
# aldeões entrarem quando chover.
BAD_WEATHER_SWITCH = 4
# Esse é o contrario do de cima.
GOOD_WEATHER_SWITCH = 3
# Aqui você deve lista todos os climas ruins.
BAD_WEATHER_TYPES = []
# Variavel que muda conforme a estação do ano
SEASON_VARIABLE = 7
# 0 = Summer
# 1 = Autumn
# 2 = Winter
# 3 = Spring
# Define os mesas que cada estação dura.
SEASON_MONTHS = [ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], # Summer
[], # Autumn
[], # Winter
[]] # Spring
# ativa as condições durante o dia ou noite.
DAY_SWITCH = 1
NIGHT_SWITCH = 2
# Define a hora que o dia começa e também a que a noite começa
DAY_START_HOUR = 6
NIGHT_START_HOUR = 21
# Variáveis que contem os seguintes dados.
MINUTE_VARIABLE = 1
HOUR_VARIABLE = 2
DAY_VARIABLE = 3
MONTH_VARIABLE = 4
YEAR_VARIABLE = 5
#
WRITE_MISSING_DATA =
#-----------------------------------------------------------------------------
# Configurações do tempo
# Definir a influência tonalidade para cada tipo de clima. Estes não são os valores
# que a tonalidade da tela vai ter, mas eles são a quantidade aplicada a qualquer
# tonalidade da tela atual . Eles farão a transição in / out na
# Mesma taxa de transição sobre o tempo.
#-----------------------------------------------------------------------------
def self.weather_tint(type)
case type
# when WEATHER_TYPE then return [RED, GREEN, BLUE, GRAY]
when 1, 4 # Rain
return [-20, -20, -15, 10]
when 2, 5, 9 # Storm
return [-30, -30, -20, 15]
when 3, 16 # Snow
return [-15, -15, -15, 20]
end
return [0, 0, 0, 0]
end
#-----------------------------------------------------------------------------
# BGS Tempo
# Define o BGS do tempo.
#-----------------------------------------------------------------------------
def self.weather_BGS(type)
case type
# when WEATHER_TYPE then return ['FILENAME', VOLUME, PITCH]
when 1 # Rain
return ['005-Rain01', 80, 100]
when 2 # Heavy Rain
return ['006-Rain02', 80, 100]
when 3 # Snow
return ['001-Wind01', 80, 100]
when 4 # Hail
return ['005-Rain01', 60, 75]
when 5, 9 # Thunder Storm
return ['007-Rain03', 80, 100]
when 7 # Blowing Leaves
return ['003-Wind03', 80, 100]
when 8, 16 # Swirling Leaves
return ['004-Wind04', 80, 100]
when 22 # Falling Rocks
return ['015-Quake01', 100, 125]
end
end
#-----------------------------------------------------------------------------
# Probabilidade tempo
# Define as probabilidades de tempo para cada clima. A ID de clima e dos
# Meses são passados como argumentos para ramificação. Isto irá permitir que você faça
# Neve no inverno, tempestade no verão, etc
#
# Configure assim:
#
# case climate_id
# when CLIMATE_ID
# case month
# when MONTH then return [[TYPE, PROB], [TYPE, PROB], [TYPE, PROB], etc]
#-----------------------------------------------------------------------------
def self.weather_prob(climate_id, month)
case climate_id
end
end
#-----------------------------------------------------------------------------
def self.time_tint(climate_id, hour, month)
case climate_id
#-------------------------------------------------------------------
when 0 # Outdoor
case month
when 1, 2, 12
case hour
when 0, 1, 2, 3, 4, 5, 6, 19, 20, 21, 22, 23
return [-100, -100, -20, 15]
when 7
return [-15, -15, -25, 10]
when 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
return [-10, -10, -10, 10]
end
when 3, 4, 5
case hour
when 0, 1, 2, 3, 4, 5, 20, 21, 22, 23
return [-100, -100, -20, 10]
when 6
return [-5, -5, -20, 0]
when 18
return [0, 0, -15, 5]
when 19
return [-15, -15, -30, 10]
end
when 6, 7, 8
case hour
when 0, 1, 2, 3, 4, 5, 20, 21, 22, 23
return [-100, -100, -20, 15]
when 6
return [10, 10, -10, 0]
when 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
return [5, 5, -5, 0]
when 18
return [-25, -25, -10, 5]
when 19
return [-50, -50, -15, 10]
end
when 9, 10, 11
case hour
when 0, 1, 2, 3, 4, 5, 20, 21, 22, 23
return [-100, -100, -20, 10]
when 6
return [10, 5, -10, 10]
when 18
return [5, 5, -20, 0]
when 19
return [-5, -5, -25, 10]
end
end
#-------------------------------------------------------------------
when 0 # Snow
case month
when 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
case hour
when 0, 1, 2, 3, 4, 5, 6, 19, 20, 21, 22, 23
return [-100, -100, -20, 15]
when 7
return [-15, -15, -25, 10]
when 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
return [-10, -10, -10, 10]
end
end
#-------------------------------------------------------------------
when 0 # Desert
case month
when 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
case hour
when 0, 1, 2, 3, 4, 5, 20, 21, 22, 23
return [-100, -100, -20, 15]
when 6
return [10, 10, -10, 0]
when 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
return [5, 5, -5, 0]
when 18
return [-25, -25, -10, 5]
when 19
return [-50, -50, -15, 10]
end
end
#-------------------------------------------------------------------
when 0 # Underground
case month
when 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
case hour
when 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
return [-20, -20, -20, 0]
end
end
#-------------------------------------------------------------------
end
# Default return value for undefined time/climate (Don't edit)
return [0, 0, 0, 0]
end
end
#-----------------------------------------------------------------------------
class Climate
attr_accessor :maps
def initialize
@climate = []
#-----------------------------------------------------------------------------
# Initialize New Climates
# Simply follow the same pattern for each new climate you create.
#-----------------------------------------------------------------------------
@climate[0] = Game_Climate.new(0)
@climate[1] = Game_Climate.new(1)
@climate[2] = Game_Climate.new(2)
@climate[3] = Game_Climate.new(3)
@climate[4] = Game_Climate.new(4)
#-----------------------------------------------------------------------------
# Climate Names
# Create names for the different climates.
#-----------------------------------------------------------------------------
@climate[0].name = 'Outdoor'
@climate[1].name = 'Indoor'
@climate[2].name = 'Snow'
@climate[3].name = 'Desert'
@climate[4].name = 'Underground'
#-----------------------------------------------------------------------------
# Weather for this Climate?
# If false, no weather will be shown for climate, although weather sound and
# tinting can still be used if desired.
#-----------------------------------------------------------------------------
@climate[0].weather = true
@climate[1].weather = false
@climate[2].weather = true
@climate[3].weather = true
@climate[4].weather = false
#-----------------------------------------------------------------------------
# Weather Tinting?
# If true, different weather patterns will influence the screen tint
#-----------------------------------------------------------------------------
@climate[0].tinting = true
@climate[1].tinting = false
@climate[2].tinting = true
@climate[3].tinting = true
@climate[4].tinting = true
#-----------------------------------------------------------------------------
# Weather Sound?
# If true, weather BGS will be played automatically for that climate
#-----------------------------------------------------------------------------
@climate[0].sound = true
@climate[1].sound = true
@climate[2].sound = true
@climate[3].sound = true
@climate[4].sound = false
#-----------------------------------------------------------------------------
# Time Speed
# This will be the default time speed used for the climate. It can be
# overridden with script calls in-game if needed. "1" is real-time, and
# any other number is multiples of real-time, so "5" is 5 times as fast as
# the real world. (unless you live in a videogame)
#-----------------------------------------------------------------------------
@climate[0].speed = 8
@climate[1].speed = 10
@climate[2].speed = 8
@climate[3].speed = 8
@climate[4].speed = 15
#-----------------------------------------------------------------------------
# Maps for each climate
# Include IDs of maps that use each respective climate.
#-----------------------------------------------------------------------------
@climate[0].maps = []
@climate[1].maps = []
@climate[2].maps = []
@climate[3].maps = []
@climate[4].maps = []
#-----------------------------------------------------------------------------
end
#-------------------------------------------------------------------------------
def map_climate(map_id)
@climate.each {|climate| return climate if climate.maps.include?(map_id)}
# Returns a dummy climate with empty settings if not defined.
return Game_Climate.new(-1, 'DUMMY', false, false, false, 5, [])
end
end
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
# END CONFIGURATION
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
Como fazer
Primeiro baixe esse programa CCTS Configuration.exe (1.33 MB) depois executem e configurem do jeito que desejarem. Por fim apertem em generate.
Caso queiram vocês podem copiar direto o código acima e colar. Isto aqui e para se você quiser fazer do seu próprio jeito.
Créditos
ForeverZer0, Criador do script
Gladistony, Tradução