KS Title
por Khas
Caracteristicas:Script para customizar seu Title, com varios efeitos:
- Deslocamento da imagem principal ao iniciar
- Deslocamento da Janela de Opções ao iniciar
- Efeito Wave (onda) na imagem principal
- Efeito de mudança de opacidade na imagem principal
- Deslocamento (customizavel) das imagens de fundo
- Opacidade de cada imagem de fundo
- Efeito de Zoom ao iniciar novo jogo
O script utiliza 4 imagens, da qual a primeira é a principal, pode-se aplicar efeitos de wave e mudança de opacidade, além do deslocamento inicial e zoom final. As outras 3 imagens são aplicados a opacidade e o deslocamento x,y.
Você pode usar de uma imagem só ou até 4 imagens!
Tudo é configuravel e opcional, você só escolhe o que você quer usar
Instruções:No script ou na demo.
Screenshots:Demo:Em anexo.
Script:Abaixo ou na demo.
Spoiler :
#===============================================================================
# KS Title v1.0
# por Kbça
#-------------------------------------------------------------------------------
# Este Script cria diversos efeitos para customizar sua tela título!
#-------------------------------------------------------------------------------
# Crie uma pasta em Graphics com o nome "KS Title" (sem aspas) contendo
# as imagens nescessarias. Configure o script abaixo:
#===============================================================================
module KST
#----------------------------------------------------------------------------
# Configuração da Imagem Principal (title)
#----------------------------------------------------------------------------
# Nome do Grafico, deve estar na pasta "KS Title" (iguale a 0 para não usar imagem)
TITLE_GRAPHIC = "title"
# Mudança de opacidade (coloque 0 para não alterar)
TOPC = 4
# Variação de opacidade - Opacidade Maxima (1~255)
TMOP = 244
# Variação de opacidade - Opacidade Minima (0~255)
TMNOP = 80
# Tipo de deslocamento inicial:
# 0 para: centro
# 1 para: esquerda -> centro
# 2 para: abaixo -> centro
# 3 para: direita -> centro
# 4 para: acima -> centro
TMOVE_TYPE = 2
# Efeito de Onda (true para ligar e false para desligar)
TWV = true
# Amplitude da Onda
TW_AMP = 8
# Configuração da onda:
TW_LHG = 240
# Velocidade da onda
TW_SPD = 320
# Efeito de Zoom ao iniciar novo jogo (true para ligar e false para desligar)
TZOOM = true
#----------------------------------------------------------------------------
# Configuração das Imagens de Fundo
#----------------------------------------------------------------------------
# Grafico de fundo (atrás), deve estar na pasta "KS Title" (iguale a 0 para não usar imagem)
BACK_01 = "back_01"
# Opacidade
B1OP = 255
# Deslocamento X
B1X = 2
# Deslocamento Y
B1Y = 0
# Grafico de fundo (meio), deve estar na pasta "KS Title" (iguale a 0 para não usar imagem)
BACK_02 = 0
# Opacidade
B2OP = 200
# Deslocamento X
B2X = -5
# Deslocamento Y
B2Y = 0
# Grafico de fundo (frente), deve estar na pasta "KS Title" (iguale a 0 para não usar imagem)
BACK_03 = 0
# Opacidade
B3OP = 50
# Deslocamento X
B3X = 0
# Deslocamento Y
B3Y = 1
#----------------------------------------------------------------------------
# Configuração da Janela de Comandos
#----------------------------------------------------------------------------
# Tipo de deslocamento inicial:
# 0 para: centro
# 1 para: esquerda -> centro
# 2 para: abaixo -> centro
# 3 para: direita -> centro
# 4 para: acima -> centro
WMOVE_TYPE = 4
# Opacidade
WOP = 150
#----------------------------------------------------------------------------
# Fim da Configuração
#----------------------------------------------------------------------------
end
#===============================================================================
# Inicio do script KS
#===============================================================================
module Cache
def self.kst(filename)
load_bitmap("Graphics/KS Title/", filename)
end
end
class Scene_Title < Scene_Base
def main
if $BTEST
battle_test
else
super
end
end
def start
super
load_database
create_game_objects
check_continue
create_title_graphic
create_command_window
play_title_music
@str_title = false
@opacity_cmode = 2
end
def perform_transition
Graphics.transition(20)
end
def post_start
super
open_command_window
end
def pre_terminate
super
close_command_window
end
def terminate
super
dispose_command_window
snapshot_for_background
dispose_title_graphic
end
def update
super
update_ksgraphics
if @str_title == false
move_ksgraphics
else
@command_window.update
if Input.trigger?(Input::C) and @str_title == true
case @command_window.index
when 0
command_new_game
when 1
command_continue
when 2
command_shutdown
end
end
end
end
def move_ksgraphics
case KST::TMOVE_TYPE
when 1
@sprite.x < 0 ? @sprite.x += 16 : @t_ksf = true
when 2
@sprite.y > 0 ? @sprite.y -= 16 : @t_ksf = true
when 3
@sprite.x > 0 ? @sprite.x -= 16 : @t_ksf = true
when 4
@sprite.y < 0 ? @sprite.y += 16 : @t_ksf = true
else
t_ksf = true
end
case KST::WMOVE_TYPE
when 1
@command_window.x < 186 ? @command_window.x += 6 : w_ksf = true
when 2
@command_window.y > 288 ? @command_window.y -= 8 : w_ksf = true
when 3
@command_window.x > 186 ? @command_window.x -= 6 : w_ksf = true
when 4
@command_window.y < 288 ? @command_window.y += 8 : w_ksf = true
else
w_ksf = true
end
if @t_ksf == true and w_ksf == true
@str_title = true
end
@command_window.update
end
def load_database
$data_actors = load_data("Data/Actors.rvdata")
$data_classes = load_data("Data/Classes.rvdata")
$data_skills = load_data("Data/Skills.rvdata")
$data_items = load_data("Data/Items.rvdata")
$data_weapons = load_data("Data/Weapons.rvdata")
$data_armors = load_data("Data/Armors.rvdata")
$data_enemies = load_data("Data/Enemies.rvdata")
$data_troops = load_data("Data/Troops.rvdata")
$data_states = load_data("Data/States.rvdata")
$data_animations = load_data("Data/Animations.rvdata")
$data_common_events = load_data("Data/CommonEvents.rvdata")
$data_system = load_data("Data/System.rvdata")
$data_areas = load_data("Data/Areas.rvdata")
end
def load_bt_database
$data_actors = load_data("Data/BT_Actors.rvdata")
$data_classes = load_data("Data/BT_Classes.rvdata")
$data_skills = load_data("Data/BT_Skills.rvdata")
$data_items = load_data("Data/BT_Items.rvdata")
$data_weapons = load_data("Data/BT_Weapons.rvdata")
$data_armors = load_data("Data/BT_Armors.rvdata")
$data_enemies = load_data("Data/BT_Enemies.rvdata")
$data_troops = load_data("Data/BT_Troops.rvdata")
$data_states = load_data("Data/BT_States.rvdata")
$data_animations = load_data("Data/BT_Animations.rvdata")
$data_common_events = load_data("Data/BT_CommonEvents.rvdata")
$data_system = load_data("Data/BT_System.rvdata")
end
def create_game_objects
$game_temp = Game_Temp.new
$game_message = Game_Message.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
end
def check_continue
@continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
end
def create_title_graphic
unless KST::BACK_01 == 0
@back_1 = Plane.new
@back_1.opacity = KST::B1OP
@back_1.bitmap = Cache.kst(KST::BACK_01)
end
unless KST::BACK_02 == 0
@back_2 = Plane.new
@back_2.opacity = KST::B2OP
@back_2.bitmap = Cache.kst(KST::BACK_02)
end
unless KST::BACK_03 == 0
@back_3 = Plane.new
@back_3.opacity = KST::B3OP
@back_3.bitmap = Cache.kst(KST::BACK_03)
end
unless KST::TITLE_GRAPHIC == 0
@sprite = Sprite.new
case KST::TMOVE_TYPE
when 1
@sprite.x = -544
when 2
@sprite.y = 416
when 3
@sprite.x = 544
when 4
@sprite.y = -416
end
if KST::TWV == true
@sprite.wave_amp = KST::TW_AMP
@sprite.wave_length = KST::TW_LHG
@sprite.wave_speed = KST::TW_SPD
end
KST::TOPC == 0 ? @sprite.opacity = KST::TMOP : @sprite.opacity = KST::TMNOP
@sprite.bitmap = Cache.kst(KST::TITLE_GRAPHIC)
end
end
def dispose_title_graphic
unless KST::BACK_01 == 0
@back_1.bitmap.dispose
@back_1.dispose
end
unless KST::BACK_02 == 0
@back_2.bitmap.dispose
@back_2.dispose
end
unless KST::BACK_03 == 0
@back_3.bitmap.dispose
@back_3.dispose
end
unless KST::TITLE_GRAPHIC == 0
@sprite.bitmap.dispose
@sprite.dispose
end
end
def update_ksgraphics
unless KST::BACK_01 == 0
@back_1.ox += KST::B1X
@back_1.oy += KST::B1Y
end
unless KST::BACK_02 == 0
@back_2.ox += KST::B2X
@back_2.oy += KST::B2Y
end
unless KST::BACK_03 == 0
@back_3.ox += KST::B3X
@back_3.oy += KST::B3Y
end
if @t_ksf == true
unless KST::TITLE_GRAPHIC == 0
@sprite.update
unless KST::TOPC == 0
if @opacity_cmode == 1
@sprite.opacity >= KST::TMOP ? @opacity_cmode = 2 : @sprite.opacity += KST::TOPC
else
@sprite.opacity <= KST::TMNOP ? @opacity_cmode = 1 : @sprite.opacity -= KST::TOPC
end
end
end
end
end
def ks_zoom
close_command_window
for i in 0..60
@sprite.zoom_x += 0.01
@sprite.zoom_y += 0.01
@sprite.ox += 2
@sprite.oy -= 0.5
if KST::TWV == true
@sprite.wave_amp = 2
@sprite.wave_length = 120
@sprite.wave_speed = 800
@sprite.update
end
Graphics.update
end
end
def create_command_window
s1 = Vocab::new_game
s2 = Vocab::continue
s3 = Vocab::shutdown
@command_window = Window_Command.new(172, [s1, s2, s3]) #X = 186
@command_window.opacity = KST::WOP
case KST::WMOVE_TYPE
when 1
@command_window.x = -172
@command_window.y = 288
when 2
@command_window.x = 186
@command_window.y = 512
when 3
@command_window.x = 544
@command_window.y = 288
when 4
@command_window.x = 186
@command_window.y = -128
else
@command_window.x = 186
@command_window.y = 288
end
if @continue_enabled
@command_window.index = 1
else
@command_window.draw_item(1, false)
end
@command_window.openness = 0
@command_window.open
end
def dispose_command_window
@command_window.dispose
end
def open_command_window
@command_window.open
begin
@command_window.update
Graphics.update
end until @command_window.openness == 255
end
def close_command_window
@command_window.close
begin
@command_window.update
Graphics.update
end until @command_window.openness == 0
end
def play_title_music
$data_system.title_bgm.play
RPG::BGS.stop
RPG::ME.stop
end
def confirm_player_location
if $data_system.start_map_id == 0
print "A Posição Inicial de Personagem não foi definida."
exit
end
end
def command_new_game
confirm_player_location
Sound.play_decision
ks_zoom if KST::TZOOM == true
$game_party.setup_starting_members
$game_map.setup($data_system.start_map_id)
$game_player.moveto($data_system.start_x, $data_system.start_y)
$game_player.refresh
$scene = Scene_Map.new
RPG::BGM.fade(1500)
Graphics.fadeout(60)
Graphics.wait(40)
Graphics.frame_count = 0
RPG::BGM.stop
$game_map.autoplay
end
def command_continue
if @continue_enabled
Sound.play_decision
$scene = Scene_File.new(false, true, false)
else
Sound.play_buzzer
end
end
def command_shutdown
Sound.play_decision
RPG::BGM.fade(800)
RPG::BGS.fade(800)
RPG::ME.fade(800)
$scene = nil
end
def battle_test
load_bt_database
create_game_objects
Graphics.frame_count = 0
$game_party.setup_battle_test_members
$game_troop.setup($data_system.test_troop_id)
$game_troop.can_escape = true
$game_system.battle_bgm.play
snapshot_for_background
$scene = Scene_Battle.new
end
end
#===============================================================================
# Fim do script KS
#===============================================================================
Créditos:Criado por Khas
Comentem!