Não sei bem, mas ao fazer duas quest no Netplay 4.9.2 (5) você tem que começar pela primeira, e depois fazer a segunda para que o "Quest info" não fique bugado, caso você comece pela 2 quest o "Quest info" não mostra a recompensa, nem a descrição. Tem como mudar isso? Agradeço de já
#Edit
Esse é o código do windows quest
Esse é do quest list:
E esse é o quest info
#Edit
Esse é o código do windows quest
- Código:
#==============================================================================
# ** Window_Quests
#------------------------------------------------------------------------------
# By Valentine
#==============================================================================
class Window_Quests < Window_Base
#--------------------------------------------------------------------------
# * Inicialização dos Objetos
#--------------------------------------------------------------------------
def initialize
super(310, 80, 232, 207)
$game_temp.windows << self
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = 200
self.visible = false
self.active = false
self.z = 999999
@title = Sprite_Title.new(self, Vocab::TITLE16)
@dragable = true
@closable = true
end
#--------------------------------------------------------------------------
# * Atualização do Frame
#--------------------------------------------------------------------------
def update
super
@title.update
end
#--------------------------------------------------------------------------
# * Atualização
#--------------------------------------------------------------------------
def refresh
self.contents.clear
id = $scene.quest_list.index + 1
@name = Config::MISSION[id][0]
@info = Config::MISSION[id][1]
@item = Config::MISSION[id][2]
@item_amount = Config::MISSION[id][3]
@level = Config::MISSION[id][4]
@gain_item = Config::MISSION[id][5]
@amount = Config::MISSION[id][6]
# Não é necessário usar @ nas variáveis abaixo
exp = Config::MISSION[id][7] != nil ? Config::MISSION[id][7] : 0
enemy = Config::MISSION[id][8] if Config::MISSION[id][8] != nil
enemy_amount = Config::MISSION[id][9] if Config::MISSION[id][9] != nil
enemy_sprite = Config::MISSION[id][10] if Config::MISSION[id][10] != nil
# Nome
self.contents.font.color = Color.new(255, 0, 0)
rect = Rect.new(4, 0, self.contents.width - 8, 32)
self.contents.draw_text(rect, @name.to_s, 1)
self.contents.font.color = normal_color
# Informação
desc = Game_Chat.text_break(self.contents, @info.to_s, 200)
count = 0
for line in desc.split("-N-")
rect = Rect.new(0, 17 + (count * 14), self.contents.width, 32)
self.contents.draw_text(rect, "#{line}", 1)
count += 1
end
# Recompensa
self.contents.draw_text(0, 50, self.contents.width, 32, Vocab::QUEST_REWARD)
self.contents.draw_text(self.contents.text_size(Vocab::QUEST_REWARD).width + 34, 50, self.contents.width, 32, "#{$data_items[@gain_item].name} (#{@amount.to_s}x)")
draw_item_name($data_items[@gain_item], self.contents.text_size(Vocab::QUEST_REWARD).width + 5, 50, 1)
# Status
self.contents.draw_text(0, 70, 262, 32, Vocab::QUEST_STATUS)
if $game_quests.finished(id)
@status_quest = Vocab::QUEST_COMPLETE
self.contents.font.color = Color.new(0, 128, 0)
else
@status_quest = Vocab::QUEST_IN_PROGRESS
end
self.contents.draw_text(40, 70, 262, 32, @status_quest.to_s)
self.contents.font.color = normal_color
# Experiência
self.contents.draw_text(0, 90, 262, 32, "#{Vocab::QUEST_EXP} #{exp}x")
# Nível
self.contents.draw_text(0, 110, 262, 32, "#{Vocab::QUEST_LEVEL} #{@level.to_s}")
# Requerimentos
self.contents.draw_text(0, 130, 262, 32, Vocab::QUEST_REQUIREMENTS)
draw_item_name($data_items[@item], self.contents.text_size(Vocab::QUEST_REQUIREMENTS).width + 5, 130, 1)
self.contents.draw_text(self.contents.text_size(Vocab::QUEST_REQUIREMENTS).width + 34, 130, self.contents.width, 32, "#{@item_amount}x")
if enemy != nil
bitmap = RPG::Cache.character(enemy_sprite, 0)
self.contents.blt(self.contents.text_size(Vocab::QUEST_REQUIREMENTS).width + 50, 125, bitmap, Rect.new(0, 0, bitmap.width / 4, bitmap.height / 4))
self.contents.draw_text(self.contents.text_size(Vocab::QUEST_REQUIREMENTS).width + 55 + bitmap.width / 4, 130, 262, 32, "#{enemy_amount}x")
end
end
end
Esse é do quest list:
- Código:
#==============================================================================
# ** Quest_List
#------------------------------------------------------------------------------
# By Valentine
#==============================================================================
class Quest_List < Window_Selectable
#--------------------------------------------------------------------------
# * Inicialização dos Objetos
#--------------------------------------------------------------------------
def initialize
super(100, 80, 207, 207)
$game_temp.windows << self
self.back_opacity = 200
self.visible = false
self.active = false
self.z = 99999
self.index = 0
@title = Sprite_Title.new(self, Vocab::TITLE10)
@dragable = true
@closable = true
end
#--------------------------------------------------------------------------
# * Selecionar Item
#--------------------------------------------------------------------------
def item
return @data[self.index]
end
#--------------------------------------------------------------------------
# * Atualização do Frame
#--------------------------------------------------------------------------
def update
super
@title.update
refresh if @old_quests != @data
if Input.trigger?(Input::C) or can_pressed?
return if item == nil
#return if @data[index] == nil
return if $game_quests.started(index + 1) == false
$scene.quest_window.refresh
$scene.quest_window.visible = true
$scene.quest_window.active = true
end
end
#--------------------------------------------------------------------------
# * Atualização
#--------------------------------------------------------------------------
def refresh
@old_quests = @data
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
for i in 1..Config::MISSION.size-1#$game_quests.progress.size-1
@data.push(Config::MISSION[i][0]) if $game_quests.started(i)
end
@data = @data.compact
@item_max = @data.size
if @data.size > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@data.size
draw_item(i)
end
end
end
#--------------------------------------------------------------------------
# * Desenhar Item
#--------------------------------------------------------------------------
def draw_item(index)
item = @data[index]
self.contents.font.color = $game_quests.finished(index + 1) == true ? Color.new(0, 128, 0) : normal_color
y = index * 20
rect = Rect.new(4, y - 6, self.contents.width - 8, 32)
self.contents.draw_text(rect, item, 1)
end
end
E esse é o quest info
- Código:
#==============================================================================
# ** Quest_Info
#------------------------------------------------------------------------------
# By Valentine
#==============================================================================
class Quest_Info < Window_Base
#--------------------------------------------------------------------------
# * Inicialização dos Objetos
#--------------------------------------------------------------------------
def initialize
super(205, 125, 230, 230)
$game_temp.windows << self
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = 200
self.visible = false
self.active = false
self.z = 9999999
@accept_button = Button.new(self, 47, 45, Vocab::CALL_ACCEPT) {accept}
@cancel_button = Button.new(self, 111, 45, Vocab::CALL_NOT_ACCEPT) {on_close}
@title = Sprite_Title.new(self, "")
@dragable = true
@closable = true
end
#--------------------------------------------------------------------------
# * Atualização do Frame
#--------------------------------------------------------------------------
def update
super
@title.update
end
#--------------------------------------------------------------------------
# * Abrir Janela
#--------------------------------------------------------------------------
def open(message, id)
self.visible = true
self.active = true
self.contents.clear
@id = id
@title.text = Config::MISSION[@id][0]
@title.update
@title.refresh
message = Game_Chat.text_break(self.contents, message, 200)
count = 0
for line in message.split("-N-")
rect = Rect.new(0, count * 17, self.contents.width, 32)
self.contents.draw_text(rect, "#{line}", 1)
count += 1
end
self.height = count > 3 ? 25 * (count + 1) : 25 * (count + 2)
@accept_button.y = self.height - 50
@cancel_button.y = self.height - 50
end
#--------------------------------------------------------------------------
# * Aceitar
#--------------------------------------------------------------------------
def accept
$game_quests.accept(@id)
on_close
end
end
Última edição por Dumsol em Ter Ago 23, 2016 9:40 pm, editado 1 vez(es)