Registre-se gratuitamente e tenha o mundo do RPG na sua mão!
 
PortalInícioCalendárioGaleriaFAQBuscarRegistrar-seGruposConectar-se

Compartilhe | 
 

 [Dúvida] Script Menu Quest

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Jordy Fenrir
Explorador
Explorador
avatar

Número de Mensagens : 16
Idade : 24
Localização : Fortaleza
Data de inscrição : 22/03/2008

Estatísticas
Alertas Alertas:
0/5  (0/5)
Pontos Pontos: 0
Minhas Moedas! Minhas Moedas!: 65

MensagemAssunto: [Dúvida] Script Menu Quest   Sab 12 Abr - 11:32:40

Alguem pode fazer um pequeno favor aqui? Eu estou usando um Script Menu Quest, mas mesmo sem estar ativado uma quest, a quest fica lá no menu mas em amostra desativado, tem como aparecer no menu só quando eu ativar o switch da quest? vejam como o meu script esta:
Scene_Menu

Citação :
#==============================================================================
# Scene_Menu
#------------------------------------------------------------------------------
# Esta classe processa a Tela de Menu
#==============================================================================

class Scene_Menu

#--------------------------------------------------------------------------
# - Inicialização dos Objetos
#
# menu_index : posição inicial do cursor de comando
#--------------------------------------------------------------------------

def initialize(menu_index = 0)
@menu_index = menu_index
end

#--------------------------------------------------------------------------
# - Processamento Principal
#--------------------------------------------------------------------------

def main
# Criar janela de comando
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status"
s5 = "Quest"
s6 = "Fim de Jogo"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
# Se o número de membros do Grupo de Heróis for 0
if $game_party.actors.size == 0
# Desabilar as janelas de Item, Habilidades, Equipamento e Status
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
# Se Salvar for Proibido
if $game_system.save_disabled
# Desabilitar Salvar
@command_window.disable_item(4)
end
# Criar janela de Tempo de Jogo
@playtime_window = Window_PlayTime.new
@playtime_window.x = 0
@playtime_window.y = 250#224
# Criar janela de Número Passos
@steps_window = Window_Steps.new
@steps_window.x = 0
@steps_window.y = 320
# Criar janela de Dinheiro
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 416
# Criar janela de Status
@status_window = Window_MenuStatus.new
@status_window.x = 160
@status_window.y = 0
# Executar transição
Graphics.transition
# Loop principal
loop do
# Atualizar a tela de jogo
Graphics.update
# Atualizar a entrada de informações
Input.update
# Atualizar Frame
update
# Abortar loop se a tela for alterada
if $scene != self
break
end
end
# Preparar para transiçõa
Graphics.freeze
# Exibição das janelas
@command_window.dispose
@playtime_window.dispose
@steps_window.dispose
@gold_window.dispose
@status_window.dispose
end

#--------------------------------------------------------------------------
# - Atualização do Frame
#--------------------------------------------------------------------------

def update
# Atualizar janelas
@command_window.update
@playtime_window.update
@steps_window.update
@gold_window.update
@status_window.update
# Se a janela de comandos estiver ativo: chamar update_command
if @command_window.active
update_command
return
end
# Se a janela de Status estiver ativa: call update_status
if @status_window.active
update_status
return
end
end

#--------------------------------------------------------------------------
# - Atualização do Frame (Quando a janela de Comandos estiver Ativa)
#--------------------------------------------------------------------------

def update_command
# Se o botão B for pressionado
if Input.trigger?(Input::B)
# Reproduzir SE de cancelamento
$game_system.se_play($data_system.cancel_se)
# Alternar para a tela do mapa
$scene = Scene_Map.new
return
end
# Se o botão C for pressionado
if Input.trigger?(Input::C)
# Se o comando for outro senão Salvar, Fim de Jogo e o número de Heróis no
# Grupo for 0
if $game_party.actors.size == 0 and @command_window.index < 4
# Reproduzir SE de erro
$game_system.se_play($data_system.buzzer_se)
return
end
# Ramificação por posição do cursor na janela de comandos
case @command_window.index
when 0 # Itens
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Itens
$scene = Scene_Item.new
when 1 # Habilidades
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Ativar o status da janela
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2 # Equipamentos
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Ativar o status da janela
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3 # Status
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Ativar o status da janela
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 4 # Quests
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Quests
$scene = Scene_Quests.new

when 5 # Fim de Jogo
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Fim de Jogo
$scene = Scene_End.new
end
return
end
end

#--------------------------------------------------------------------------
# - Atualização do Frame (Quando o status da Janela estiver Ativo)
#--------------------------------------------------------------------------

def update_status
# Se o botão B for pressionado
if Input.trigger?(Input::B)
# Reproduzir SE de cancelamento
$game_system.se_play($data_system.cancel_se)
# Torna a janela de comandos ativa
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
# Se o botão C for pressionado
if Input.trigger?(Input::C)
# Ramificação por posição do cursor na janela de comandos
case @command_window.index
when 1 # Habilidades
# Se o limite de ação deste Herói for de 2 ou mais
if $game_party.actors[@status_window.index].restriction >= 2
# Reproduzir SE de erro
$game_system.se_play($data_system.buzzer_se)
return
end
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Habilidades
$scene = Scene_Skill.new(@status_window.index)
when 2 # Equipamento
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Equipamento
$scene = Scene_Equip.new(@status_window.index)
when 3 # Status
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Status
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end


Menu Quest

Citação :

#------------------------------------------------------------------------------
#----Quests Window V.2---------------------------------------------------------
#----Made by Sirsk8aton--------------------------------------------------------
#------------------------------------------------------------------------------
#----Instructions--------------------------------------------------------------
#------------------------------------------------------------------------------
#
# The * are indicate in the script where you need to edit that.
# *- Update how many quests you wish to have in the quests window in
# **- Update the names of the quests.
# ***- Update the quests start points there.
# ****- Update the quests description there.
# *****- Update the quest's starting switch there.
# ******- Update the quest's ending switch there.
# Everything you need to edit is withing lines 14-30
#----Module--------------------------------------------------------------------
module Quest
# ** Add Quest Names Here, This would be quest 4: 4 => "Name here", Seperated By Commas
Names = {1 => "Class"}
# *** Add Quest Start Points Here, Also Seperated By Commas
Start = {1 => "Comandante"}
# **** Add the quest's info here
Info = {1 => "Encontre esses ítens para eu ter certesa que voc~e é um ótimo aprendiz"}
# **** Add the quest's info here(Line2)
Info2 = {1 => "Colete 100 Sapos Mortos"}
# ***** Put the starting switch id of each quest here.
Start_Switch = {1 => 16}
# ****** Put the ending switch id of each quest here.
End_Switch = {1 => 17}
Reward = {1 => "2ª Classe"}
end
#----Scene_Quests--------------------------------------------------------------
class Scene_Quests
def initialize(menu_index = 0)
@menu_index = menu_index
# * Update the number of quests you wish to have in the quest window here.
@quests = 1
end
def main
s1 = Quest::Names[1]
if @quests == 1
$cmd_window = Window_Command.new(160, [s1])
end
$cmd_window.index = @menu_index
$cmd_window.y = 0
$cmd_window.height = 480
@quests_status = Window_QuestsStatus.new
@quests_window = Window_Quests.new
@reward_window = Window_Reward.new
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
$cmd_window.dispose
@quests_status.dispose
@quests_window.dispose
@reward_window.dispose
end
def update
@quests_window.update
@quests_status.update
@reward_window.update
$cmd_window.update
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
end
end
#---------Window_Quests--------------------------------------------------------
class Window_Quests < Window_Selectable
def initialize
super(160, 60, 480, 340)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Garamond"
self.contents.font.size = 18
@switch1 = Quest::Start_Switch[1]
@switch2 = Quest::End_Switch[1]
refresh
end
def update
if $cmd_window.active
self.contents.clear
update_commands
return
end
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@info.dispose
@info2.dispose
@switch1.dispose
@switch2.dispose
@start.dispose
end
def update_commands
case $cmd_window.index
when 0
@info = Quest::Info[1]
@info2 = Quest::Info2[1]
@start = Quest::Start[1]
@switch1 = Quest::Start_Switch[1]
@switch2 = Quest::End_Switch[1]
refresh
return
end
end
def refresh
self.contents.font.color = system_color
self.contents.draw_text(10, 10, 320, 32, "-Descrição de Quest-")
self.contents.font.color = normal_color
self.contents.draw_text(10, 45, 320, 32, @info.to_s)
self.contents.draw_text(10, 67, 320, 32, @info2.to_s)
self.contents.font.color = system_color
self.contents.draw_text(130, 125, 320, 32, "-Lugar de Início-")
self.contents.font.color = normal_color
self.contents.draw_text(130, 160, 320, 32, @start.to_s)
self.contents.font.color = system_color
self.contents.draw_text(250, 213, 320, 32, "-Status da Quest-")
self.contents.font.color = normal_color
if $game_switches[@switch1] == false
self.contents.draw_text(250, 248, 320, 32, "Não Iniciada")
elsif $game_switches[@switch1] == true and $game_switches[@switch2] == false
self.contents.draw_text(250, 248, 320, 32, "Em progresso")
elsif $game_switches[@switch2] == true
self.contents.draw_text(250, 248, 320, 32, "Completada")
end
end
end
#----Window_QuestsStatus-------------------------------------------------------
class Window_QuestsStatus < Window_Base
def initialize
super(160, 0, 480, 60)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Garamond"
self.contents.font.size = 18
update_commands
end
def update
if $cmd_window.active
self.contents.clear
update_commands
return
end
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@names.dispose
end
def update_commands
case $cmd_window.index
when 0
@names = Quest::Names[1]
refresh
return
end
end
def refresh
self.contents.font.color = system_color
self.contents.draw_text(200, 0, 320, 32, @names.to_s)
end
end

#----Window_Reward-------------------------------------------------------------

class Window_Reward < Window_Base

def initialize
super(160, 400, 480, 80)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Garamond"
self.contents.font.size = 18
@reward = Quest::Reward[1]
@switch2 = Quest::End_Switch[1]
update_commands
end

def update
if $cmd_window.active
self.contents.clear
update_commands
return
end
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@reward.dispose
end

def update_commands
case $cmd_window.index
when 0
@reward = Quest::Reward[1]
@switch2 = Quest::End_Switch[1]
refresh
return
end
end


def refresh
if $game_switches[@switch2] == false
self.contents.font.color = system_color
self.contents.draw_text(10, 10, 320, 32, "Recompensa:")
self.contents.font.color = normal_color
self.contents.draw_text(100, 10, 320, 32, "???")
elsif if $game_switches[@switch2] == true
self.contents.font.color = system_color
self.contents.draw_text(10, 10, 320, 32, "Recompensa:")
self.contents.font.color = normal_color
self.contents.draw_text(100, 10, 320, 32, @reward.to_s)
end
end
end
end


Existe um jeito de aparecer a quest só quando eu ativar o switch, ao invez de ficar mostrando como desativada?
Vlw!
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://wolftearsoft.webs.com/
 
[Dúvida] Script Menu Quest
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» [Dúvida] Personalizar menu de navegação
» Questão de CSS para menu personalizado
» Menu seletor
» [Dúvida] Como utilizar o "active" no menu
» [dúvida]questões jurídicas

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
King RPG :: RPG Maker XP :: Scripts (RGSS)-
Ir para: