Ajudinha básica Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ajudinha básica

2 participantes

Ir para baixo

Ajudinha básica Empty Ajudinha básica

Mensagem por Dumsol Ter Ago 23, 2016 4:05 pm

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
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)
Dumsol
Dumsol
Iniciante
Iniciante

Mensagens : 36
Créditos : 2

Ir para o topo Ir para baixo

Ajudinha básica Empty Re: Ajudinha básica

Mensagem por Paulo Soreto Ter Ago 23, 2016 8:40 pm

Modifique o tópico adicionando o script em questão. Melhor ainda, adicione todos os scripts relacionados ao sistema de quest para que pessoas que não possuem o netplay possam te ajudar.

_________________
Ajudinha básica FwYnoXI
Paulo Soreto
Paulo Soreto
Lenda
Lenda

Mensagens : 1980
Créditos : 367

Ficha do personagem
Nível: 1
Experiência:
Ajudinha básica Left_bar_bleue0/0Ajudinha básica Empty_bar_bleue  (0/0)
Vida:
Ajudinha básica Left_bar_bleue30/30Ajudinha básica Empty_bar_bleue  (30/30)

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

Ajudinha básica Empty Re: Ajudinha básica

Mensagem por Dumsol Ter Ago 23, 2016 10:11 pm

OK
Dumsol
Dumsol
Iniciante
Iniciante

Mensagens : 36
Créditos : 2

Ir para o topo Ir para baixo

Ajudinha básica Empty Re: Ajudinha básica

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos