Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

 
Reply to this topicStart new topic
> Add-on to quest log
AphidRuin
post May 7 2011, 11:14 PM
Post #1


Level 9
Group Icon

Group: Revolutionary
Posts: 139
Type: Developer
RM Skill: Beginner




Sorry to be a parasite, but I really don't have even basic scripting skills. sad.gif

Well, first of all, I have this script:

CODE
#===============================================================================
# Quest Log System
# Author game_guy
# Version 3.0
#-------------------------------------------------------------------------------
# Intro:
# A script that keeps track of quests you obtain and complete.
#
# Features:
# Marks quest names with a yellow color if they're completed
# Easy to setup one quest
# Be able to use a fairly long description
# Be able to display a picture
# Easy to add and complete a quest
# More compatible than earlier versions
#
# Instructions:
# Scroll down a bit until you see # Being Config. Follow the instructions there.
# Scroll below that and you'll see Begin Quest Setup. Follow the steps there.
#
# Script Calls:
# Quest.add(id) ~ Adds the quest(id) to the parties quests.
# Quest.take(id) ~ Takes the quest(id) from the party.
# Quest.complete(id) ~ Makes the quest(id) completed.
# Quest.completed?(id) ~ Returns true if the quest(id) is completed.
# Quest.has?(id) ~ Returns true if the party has quest(id).
#
# Credits:
# game_guy ~ for making it
# Beta Testers ~ Sally and Landith
# Blizzard ~ Small piece of code I borrowed from his bestiary
#===============================================================================
module GameGuy
  #==================================================
  # Begin Config
  # UsePicture ~ true means it'll show pictures in
  #              the quests, false it wont.
  #==================================================
  UsePicture   = false
  
  def self.qreward(id)
    case id
    #==================================================
    # Quest Reward
    # Use when x then return "Reward"
    # x = id, Reward = reward in quotes
    #==================================================
    when 1 then return "50G"
    when 2 then return "2 High Potions & 50G "
    when 3 then return "???"
    when 4 then return "???"
    when 5 then return "???"
    end
    return "????"
  end
  
  def self.qpicture(id)
    case id
    #==================================================
    # Quest Picture
    # Use when x then return "picture"
    # x = id, picture = picutre name in quotes
    #==================================================
    when 1 then return "ghost"
    end
    return nil
  end
  
  def self.qname(id)
    case id
    #==================================================
    # Quest Name
    # Use when x then return "name"
    # x = id, name = quest name in quotes
    #==================================================
    when 1 then return "Colllection of war spoils"
    when 2 then return "The Golden Pendant"
    when 3 then return "My Axe!"
    when 4 then return "The Red Dragon"
    when 5 then return "Flower Extraction"
    end
    return ""
  end
  
  def self.qlocation(id)
    case id
    #==================================================
    # Quest Location
    # Use when x then return "location"
    # x = id, location = location in quotes
    #==================================================
    when 1 then return "Unknown area"
    when 2 then return "Ehira Dungeon"
    when 3 then return "Ruins of Despair"
    when 4 then return "Doam Swamp"
    when 5 then return "Ceerp Forest"
    end
    return "????"
  end
  
  def self.qdescription(id)
    case id
    #==================================================
    # Quest Description
    # Use when x then return "description"
    # x = id, description = quest description in quotes
    #==================================================
    when 1 then return "Bring back 1 War Spoil from Kenth Unit to Weapon Seller"
    when 2 then return "Help the Man with beard at the inn to find his lost golden pendant!"
    when 3 then return "Help the Woodcutter to find his axe!"
    when 4 then return "Defeat Rocoh the Red Dragon!"
    when 5 then return "Help Jessie extract 3 Esniato Extract."
    end
    return ""
  end
  
end

module Quest
  
  def self.add(id)
    $game_party.add_quest(id)
  end
  
  def self.take(id)
    $game_party.take_quest(id)
  end
  
  def self.complete(id)
    $game_party.complete(id)
  end
  
  def self.completed?(id)
    return $game_party.completed?(id)
  end
  
  def self.has?(id)
    return $game_party.has_quest?(id)
  end
  
end
  
class Game_Party
  
  attr_accessor :quests
  attr_accessor :completed
  
  alias gg_quests_lat initialize
  def initialize
    @quests = []
    @completed = []
    gg_quests_lat
  end
  
  def add_quest(id)
    unless @quests.include?(id)
      @quests.push(id)
    end
  end
  
  def completed?(id)
    return @completed.include?(id)
  end
  
  def complete(id)
    unless @completed.include?(id)
      if @quests.include?(id)
        @completed.push(id)
      end
    end
  end
  
  def has_quest?(id)
    return @quests.include?(id)
  end
  
  def take_quest(id)
    @quests.delete(id)
    @completed.delete(id)
  end
  
end
class Scene_Quest
  def main
    @quests = []
    for i in $game_party.quests
      @quests.push(GameGuy.qname(i))
    end
    @map = Spriteset_Map.new
    @quests2 = []
    for i in $game_party.quests
      @quests2.push(i)
    end
    @quests.push("No Quests") if @quests.size < 1
    @quests_window = Window_Command.new(160, @quests)
    @quests_window.height = 480
    @quests_window.back_opacity = 110
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    @quests_window.dispose
    @quest_info.dispose if @quest_info != nil
    @map.dispose
  end
  def update
    @quests_window.update
    if @quests_window.active
      update_quests
      return
    end
    if @quest_info != nil
      update_info
      return
    end
  end
  def update_quests
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      @quest_info = Window_QuestInfo.new(@quests2[@quests_window.index])
      @quest_info.back_opacity = 110
      @quests_window.active = false
      return
    end
  end
  def update_info
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @quests_window.active = true
      @quest_info.dispose
      @quest_info = nil
      return
    end
  end
end
class Window_QuestInfo < Window_Base
  def initialize(quest)
    super(160, 0, 480, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    @quest = quest
    refresh
  end
  def refresh
    self.contents.clear
    if GameGuy::UsePicture
      pic = GameGuy.qpicture(@quest)
      bitmap = RPG::Cache.picture(GameGuy.qpicture(@quest)) if pic != nil
      rect = Rect.new(0, 0, bitmap.width, bitmap.height) if pic != nil
      self.contents.blt(480-bitmap.width-32, 0, bitmap, rect) if pic != nil
    end
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, 480, 32, "Quest:")
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 32, 480, 32, GameGuy.qname(@quest))
    self.contents.font.color = system_color
    self.contents.draw_text(0, 64, 480, 32, "Reward:")
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 96, 480, 32, GameGuy.qreward(@quest))
    self.contents.font.color = system_color
    self.contents.draw_text(0, 128, 480, 32, "Location:")
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 160, 480, 32, GameGuy.qlocation(@quest))
    self.contents.font.color = system_color
    self.contents.draw_text(0, 192, 480, 32, "Completion:")
    self.contents.font.color = normal_color
    if $game_party.completed.include?(@quest)
      self.contents.font.color = crisis_color
      self.contents.draw_text(0, 224, 480, 32, "Completed")
    else
      self.contents.font.color = normal_color
      self.contents.draw_text(0, 224, 480, 32, "In Progress")
    end
    self.contents.font.color = system_color
    self.contents.draw_text(0, 256, 480, 32, "Description:")
    self.contents.font.color = normal_color
    text = self.contents.slice_text(GameGuy.qdescription(@quest), 480)
    text.each_index {|i|
        self.contents.draw_text(0, 288 + i*32, 480, 32, text[i])}
  end
end
class Bitmap
  
  def slice_text(text, width)
    words = text.split(' ')
    return words if words.size == 1
    result, current_text = [], words.shift
    words.each_index {|i|
        if self.text_size("#{current_text} #{words[i]}").width > width
          result.push(current_text)
          current_text = words[i]
        else
          current_text = "#{current_text} #{words[i]}"
        end
        result.push(current_text) if i >= words.size - 1}
    return result
  end
  
end


This is a quest log script made by game_guy of Chaos Project, but I would need some additional features that can help a lot in my optional quests in my game.

There is a lot of 'killing n number of x monsters' quest in games, like Maplestory, and thanks to brewmaster I have figured out how to count using variables the number of x monsters killed, but need the number to be present inside the quest log which will appear inside my menu so that it makes game experience much better.

Thus, can anyone help me with this tiny request? Easy or not, I'm not sure, but please do be kind.

Thanks. smile.gif


__________________________

Which Final Fantasy Character Are You?
Final Fantasy 7



Current Projects
First game - Shawn's Story]
Second game - TAE (Paused in order to complete Shawn's Story)

[Show/Hide] Cna uyo raed tihs?
Hleeo.Tahnk you for tkanig the tmie to raed tihs.I am bsaing tihs on the frist {oigranl} can you raed tihs?Yaeh olny smoe poelpe can sikm sneentces lkie tehse woituht hvanig to sotp.You rllaey olny hvae to konw the frist and end lttres of the wrod you are tyrnig to raed for yuor mnid to pcik tehm up esaily.Olny 55% of poelpe can raed tihs.I tihnk taht snice you konw waht you are raendig aoubt you can gesus the wrods.If you can raed tihs, palce it in yuor sgitanrue.Dnoe by Senapho.Oops.Sanehpo.


"Creative people don't say themselves as creative because they are creative." -Cheong Cheng Wen a.k.a AphidRuin
Go to the top of the page
 
+Quote Post
   
Night_Runner
post May 8 2011, 03:37 AM
Post #2


Level 50
Group Icon

Group: +Gold Member
Posts: 1,529
Type: Scripter
RM Skill: Undisclosed




Edited Version
CODE
#===============================================================================
# Quest Log System
# Author game_guy
# Version 3.0
#-------------------------------------------------------------------------------
# Intro:
# A script that keeps track of quests you obtain and complete.
#
# Features:
# Marks quest names with a yellow color if they're completed
# Easy to setup one quest
# Be able to use a fairly long description
# Be able to display a picture
# Easy to add and complete a quest
# More compatible than earlier versions
#
# Instructions:
# Scroll down a bit until you see # Being Config. Follow the instructions there.
# Scroll below that and you'll see Begin Quest Setup. Follow the steps there.
#
# Script Calls:
# Quest.add(id) ~ Adds the quest(id) to the parties quests.
# Quest.take(id) ~ Takes the quest(id) from the party.
# Quest.complete(id) ~ Makes the quest(id) completed.
# Quest.completed?(id) ~ Returns true if the quest(id) is completed.
# Quest.has?(id) ~ Returns true if the party has quest(id).
#
# Credits:
# game_guy ~ for making it
# Beta Testers ~ Sally and Landith
# Blizzard ~ Small piece of code I borrowed from his bestiary
#===============================================================================
module GameGuy
  #==================================================
  # Begin Config
  # UsePicture ~ true means it'll show pictures in
  #              the quests, false it wont.
  #==================================================
  UsePicture   = false
  
  def self.qreward(id)
    case id
    #==================================================
    # Quest Reward
    # Use when x then return 'Reward'
    # x = id, Reward = reward in quotes
    #==================================================
    when 1 then return '50G'
    when 2 then return '2 High Potions & 50G '
    when 3 then return '???'
    when 4 then return '???'
    when 5 then return '???'
    end
    return '????'
  end
  
  def self.qpicture(id)
    case id
    #==================================================
    # Quest Picture
    # Use when x then return 'picture'
    # x = id, picture = picutre name in quotes
    #==================================================
    when 1 then return 'ghost'
    end
    return nil
  end
  
  def self.qname(id)
    case id
    #==================================================
    # Quest Name
    # Use when x then return 'name'
    # x = id, name = quest name in quotes
    #==================================================
    when 1 then return 'Colllection of war spoils'
    when 2 then return 'The Golden Pendant'
    when 3 then return 'My Axe!'
    when 4 then return 'The Red Dragon'
    when 5 then return 'Flower Extraction'
    end
    return ''
  end
  
  def self.qlocation(id)
    case id
    #==================================================
    # Quest Location
    # Use when x then return 'location'
    # x = id, location = location in quotes
    #==================================================
    when 1 then return 'Unknown area'
    when 2 then return 'Ehira Dungeon'
    when 3 then return 'Ruins of Despair'
    when 4 then return 'Doam Swamp'
    when 5 then return 'Ceerp Forest'
    end
    return '????'
  end
  
  def self.qdescription(id)
    case id
    #==================================================
    # Quest Description
    # Use when x then return 'description'
    # x = id, description = quest description in quotes
    #==================================================
    when 1 then return 'Bring back 1 War Spoil from Kenth Unit to Weapon Seller'
    when 2 then return 'Help the Man with beard at the inn to find his lost golden pendant!'
    when 3 then return 'Help the Woodcutter to find his axe!'
    when 4 then return 'Defeat Rocoh the Red Dragon!'
    when 5 then return 'Help Jessie extract 3 Esniato Extract.'
    end
    return ''
  end
  
end

module Quest
  
  def self.add(id)
    $game_party.add_quest(id)
  end
  
  def self.take(id)
    $game_party.take_quest(id)
  end
  
  def self.complete(id)
    $game_party.complete(id)
  end
  
  def self.completed?(id)
    return $game_party.completed?(id)
  end
  
  def self.has?(id)
    return $game_party.has_quest?(id)
  end
  
end
  
class Game_Party
  
  attr_accessor :quests
  attr_accessor :completed
  
  alias gg_quests_lat initialize
  def initialize
    @quests = []
    @completed = []
    gg_quests_lat
  end
  
  def add_quest(id)
    unless @quests.include?(id)
      @quests.push(id)
    end
  end
  
  def completed?(id)
    return @completed.include?(id)
  end
  
  def complete(id)
    unless @completed.include?(id)
      if @quests.include?(id)
        @completed.push(id)
      end
    end
  end
  
  def has_quest?(id)
    return @quests.include?(id)
  end
  
  def take_quest(id)
    @quests.delete(id)
    @completed.delete(id)
  end
  
end
class Scene_Quest
  def main
    @quests = []
    for i in $game_party.quests
      @quests.push(GameGuy.qname(i).fmt_slsh)
    end
    @map = Spriteset_Map.new
    @quests2 = []
    for i in $game_party.quests
      @quests2.push(i)
    end
    @quests.push('No Quests') if @quests.size < 1
    @quests_window = Window_Command.new(160, @quests)
    @quests_window.height = 480
    @quests_window.back_opacity = 110
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    @quests_window.dispose
    @quest_info.dispose if @quest_info != nil
    @map.dispose
  end
  def update
    @quests_window.update
    if @quests_window.active
      update_quests
      return
    end
    if @quest_info != nil
      update_info
      return
    end
  end
  def update_quests
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      @quest_info = Window_QuestInfo.new(@quests2[@quests_window.index])
      @quest_info.back_opacity = 110
      @quests_window.active = false
      return
    end
  end
  def update_info
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @quests_window.active = true
      @quest_info.dispose
      @quest_info = nil
      return
    end
  end
end
class Window_QuestInfo < Window_Base
  def initialize(quest)
    super(160, 0, 480, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    @quest = quest
    refresh
  end
  def refresh
    self.contents.clear
    if GameGuy::UsePicture
      pic = GameGuy.qpicture(@quest).fmt_slsh
      bitmap = RPG::Cache.picture(pic) if pic != nil
      rect = Rect.new(0, 0, bitmap.width, bitmap.height) if pic != nil
      self.contents.blt(480-bitmap.width-32, 0, bitmap, rect) if pic != nil
    end
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, 480, 32, 'Quest:')
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 32, 480, 32, GameGuy.qname(@quest).fmt_slsh)
    self.contents.font.color = system_color
    self.contents.draw_text(0, 64, 480, 32, 'Reward:')
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 96, 480, 32, GameGuy.qreward(@quest).fmt_slsh)
    self.contents.font.color = system_color
    self.contents.draw_text(0, 128, 480, 32, 'Location:')
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 160, 480, 32, GameGuy.qlocation(@quest).fmt_slsh)
    self.contents.font.color = system_color
    self.contents.draw_text(0, 192, 480, 32, 'Completion:')
    self.contents.font.color = normal_color
    if $game_party.completed.include?(@quest)
      self.contents.font.color = crisis_color
      self.contents.draw_text(0, 224, 480, 32, 'Completed')
    else
      self.contents.font.color = normal_color
      self.contents.draw_text(0, 224, 480, 32, 'In Progress')
    end
    self.contents.font.color = system_color
    self.contents.draw_text(0, 256, 480, 32, 'Description:')
    self.contents.font.color = normal_color
    text = self.contents.slice_text(GameGuy.qdescription(@quest).fmt_slsh, 480)
    text.each_index {|i|
        self.contents.draw_text(0, 288 + i*32, 480, 32, text[i])}
  end
end
class Bitmap
  def slice_text(text, width)
    words = text.split(' ')
    return words if words.size == 1
    result, current_text = [], words.shift
    words.each_index {|i|
        if self.text_size("#{current_text} #{words[i]}").width > self.width
          result.push(current_text)
          current_text = words[i]
        else
          current_text = "#{current_text} #{words[i]}"
        end
        result.push(current_text) if i >= words.size - 1}
    return result
  end
end
class String
  def fmt_slsh
    self.gsub!(/\\[Vv]\[([\d]+)\]/) {$game_variables[$1.to_i]}
    self.gsub!(/\\[Nn]\[([\d]+)\]/) {$game_actors[$1.to_i].name}
    self.gsub!(/\\[Gg]/) {$game_party.gold}
    self
  end
end


Just use \v[2] to show variable #2 smile.gif I've also got \n[8] and \g working to show actor #8's name the the gold held by the party smile.gif


__________________________
K.I.S.S.
Want help with your scripting problems? Upload a demo! Or at the very least; provide links to the scripts in question.

Most important guide ever: Newbie's Guide to Switches
Go to the top of the page
 
+Quote Post
   
AphidRuin
post May 8 2011, 06:38 AM
Post #3


Level 9
Group Icon

Group: Revolutionary
Posts: 139
Type: Developer
RM Skill: Beginner




QUOTE (Night_Runner @ May 8 2011, 07:37 PM) *
Edited Version
CODE
#===============================================================================
# Quest Log System
# Author game_guy
# Version 3.0
#-------------------------------------------------------------------------------
# Intro:
# A script that keeps track of quests you obtain and complete.
#
# Features:
# Marks quest names with a yellow color if they're completed
# Easy to setup one quest
# Be able to use a fairly long description
# Be able to display a picture
# Easy to add and complete a quest
# More compatible than earlier versions
#
# Instructions:
# Scroll down a bit until you see # Being Config. Follow the instructions there.
# Scroll below that and you'll see Begin Quest Setup. Follow the steps there.
#
# Script Calls:
# Quest.add(id) ~ Adds the quest(id) to the parties quests.
# Quest.take(id) ~ Takes the quest(id) from the party.
# Quest.complete(id) ~ Makes the quest(id) completed.
# Quest.completed?(id) ~ Returns true if the quest(id) is completed.
# Quest.has?(id) ~ Returns true if the party has quest(id).
#
# Credits:
# game_guy ~ for making it
# Beta Testers ~ Sally and Landith
# Blizzard ~ Small piece of code I borrowed from his bestiary
#===============================================================================
module GameGuy
  #==================================================
  # Begin Config
  # UsePicture ~ true means it'll show pictures in
  #              the quests, false it wont.
  #==================================================
  UsePicture   = false
  
  def self.qreward(id)
    case id
    #==================================================
    # Quest Reward
    # Use when x then return 'Reward'
    # x = id, Reward = reward in quotes
    #==================================================
    when 1 then return '50G'
    when 2 then return '2 High Potions & 50G '
    when 3 then return '???'
    when 4 then return '???'
    when 5 then return '???'
    end
    return '????'
  end
  
  def self.qpicture(id)
    case id
    #==================================================
    # Quest Picture
    # Use when x then return 'picture'
    # x = id, picture = picutre name in quotes
    #==================================================
    when 1 then return 'ghost'
    end
    return nil
  end
  
  def self.qname(id)
    case id
    #==================================================
    # Quest Name
    # Use when x then return 'name'
    # x = id, name = quest name in quotes
    #==================================================
    when 1 then return 'Colllection of war spoils'
    when 2 then return 'The Golden Pendant'
    when 3 then return 'My Axe!'
    when 4 then return 'The Red Dragon'
    when 5 then return 'Flower Extraction'
    end
    return ''
  end
  
  def self.qlocation(id)
    case id
    #==================================================
    # Quest Location
    # Use when x then return 'location'
    # x = id, location = location in quotes
    #==================================================
    when 1 then return 'Unknown area'
    when 2 then return 'Ehira Dungeon'
    when 3 then return 'Ruins of Despair'
    when 4 then return 'Doam Swamp'
    when 5 then return 'Ceerp Forest'
    end
    return '????'
  end
  
  def self.qdescription(id)
    case id
    #==================================================
    # Quest Description
    # Use when x then return 'description'
    # x = id, description = quest description in quotes
    #==================================================
    when 1 then return 'Bring back 1 War Spoil from Kenth Unit to Weapon Seller'
    when 2 then return 'Help the Man with beard at the inn to find his lost golden pendant!'
    when 3 then return 'Help the Woodcutter to find his axe!'
    when 4 then return 'Defeat Rocoh the Red Dragon!'
    when 5 then return 'Help Jessie extract 3 Esniato Extract.'
    end
    return ''
  end
  
end

module Quest
  
  def self.add(id)
    $game_party.add_quest(id)
  end
  
  def self.take(id)
    $game_party.take_quest(id)
  end
  
  def self.complete(id)
    $game_party.complete(id)
  end
  
  def self.completed?(id)
    return $game_party.completed?(id)
  end
  
  def self.has?(id)
    return $game_party.has_quest?(id)
  end
  
end
  
class Game_Party
  
  attr_accessor :quests
  attr_accessor :completed
  
  alias gg_quests_lat initialize
  def initialize
    @quests = []
    @completed = []
    gg_quests_lat
  end
  
  def add_quest(id)
    unless @quests.include?(id)
      @quests.push(id)
    end
  end
  
  def completed?(id)
    return @completed.include?(id)
  end
  
  def complete(id)
    unless @completed.include?(id)
      if @quests.include?(id)
        @completed.push(id)
      end
    end
  end
  
  def has_quest?(id)
    return @quests.include?(id)
  end
  
  def take_quest(id)
    @quests.delete(id)
    @completed.delete(id)
  end
  
end
class Scene_Quest
  def main
    @quests = []
    for i in $game_party.quests
      @quests.push(GameGuy.qname(i).fmt_slsh)
    end
    @map = Spriteset_Map.new
    @quests2 = []
    for i in $game_party.quests
      @quests2.push(i)
    end
    @quests.push('No Quests') if @quests.size < 1
    @quests_window = Window_Command.new(160, @quests)
    @quests_window.height = 480
    @quests_window.back_opacity = 110
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    @quests_window.dispose
    @quest_info.dispose if @quest_info != nil
    @map.dispose
  end
  def update
    @quests_window.update
    if @quests_window.active
      update_quests
      return
    end
    if @quest_info != nil
      update_info
      return
    end
  end
  def update_quests
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      @quest_info = Window_QuestInfo.new(@quests2[@quests_window.index])
      @quest_info.back_opacity = 110
      @quests_window.active = false
      return
    end
  end
  def update_info
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @quests_window.active = true
      @quest_info.dispose
      @quest_info = nil
      return
    end
  end
end
class Window_QuestInfo < Window_Base
  def initialize(quest)
    super(160, 0, 480, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    @quest = quest
    refresh
  end
  def refresh
    self.contents.clear
    if GameGuy::UsePicture
      pic = GameGuy.qpicture(@quest).fmt_slsh
      bitmap = RPG::Cache.picture(pic) if pic != nil
      rect = Rect.new(0, 0, bitmap.width, bitmap.height) if pic != nil
      self.contents.blt(480-bitmap.width-32, 0, bitmap, rect) if pic != nil
    end
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, 480, 32, 'Quest:')
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 32, 480, 32, GameGuy.qname(@quest).fmt_slsh)
    self.contents.font.color = system_color
    self.contents.draw_text(0, 64, 480, 32, 'Reward:')
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 96, 480, 32, GameGuy.qreward(@quest).fmt_slsh)
    self.contents.font.color = system_color
    self.contents.draw_text(0, 128, 480, 32, 'Location:')
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 160, 480, 32, GameGuy.qlocation(@quest).fmt_slsh)
    self.contents.font.color = system_color
    self.contents.draw_text(0, 192, 480, 32, 'Completion:')
    self.contents.font.color = normal_color
    if $game_party.completed.include?(@quest)
      self.contents.font.color = crisis_color
      self.contents.draw_text(0, 224, 480, 32, 'Completed')
    else
      self.contents.font.color = normal_color
      self.contents.draw_text(0, 224, 480, 32, 'In Progress')
    end
    self.contents.font.color = system_color
    self.contents.draw_text(0, 256, 480, 32, 'Description:')
    self.contents.font.color = normal_color
    text = self.contents.slice_text(GameGuy.qdescription(@quest).fmt_slsh, 480)
    text.each_index {|i|
        self.contents.draw_text(0, 288 + i*32, 480, 32, text[i])}
  end
end
class Bitmap
  def slice_text(text, width)
    words = text.split(' ')
    return words if words.size == 1
    result, current_text = [], words.shift
    words.each_index {|i|
        if self.text_size("#{current_text} #{words[i]}").width > self.width
          result.push(current_text)
          current_text = words[i]
        else
          current_text = "#{current_text} #{words[i]}"
        end
        result.push(current_text) if i >= words.size - 1}
    return result
  end
end
class String
  def fmt_slsh
    self.gsub!(/\\[Vv]\[([\d]+)\]/) {$game_variables[$1.to_i]}
    self.gsub!(/\\[Nn]\[([\d]+)\]/) {$game_actors[$1.to_i].name}
    self.gsub!(/\\[Gg]/) {$game_party.gold}
    self
  end
end


Just use \v[2] to show variable #2 smile.gif I've also got \n[8] and \g working to show actor #8's name the the gold held by the party smile.gif

Sorry for the trouble, but I'm still kind of confused what is going on. Can you please explain clearer? Thanks for the help anyway smile.gif


__________________________

Which Final Fantasy Character Are You?
Final Fantasy 7



Current Projects
First game - Shawn's Story]
Second game - TAE (Paused in order to complete Shawn's Story)

[Show/Hide] Cna uyo raed tihs?
Hleeo.Tahnk you for tkanig the tmie to raed tihs.I am bsaing tihs on the frist {oigranl} can you raed tihs?Yaeh olny smoe poelpe can sikm sneentces lkie tehse woituht hvanig to sotp.You rllaey olny hvae to konw the frist and end lttres of the wrod you are tyrnig to raed for yuor mnid to pcik tehm up esaily.Olny 55% of poelpe can raed tihs.I tihnk taht snice you konw waht you are raendig aoubt you can gesus the wrods.If you can raed tihs, palce it in yuor sgitanrue.Dnoe by Senapho.Oops.Sanehpo.


"Creative people don't say themselves as creative because they are creative." -Cheong Cheng Wen a.k.a AphidRuin
Go to the top of the page
 
+Quote Post
   
Night_Runner
post May 10 2011, 04:55 AM
Post #4


Level 50
Group Icon

Group: +Gold Member
Posts: 1,529
Type: Scripter
RM Skill: Undisclosed




When you create a reward or name or description, like so:
when 2 then return 'The Golden Pendant'

If you wanted to show variable #2 in there change it to read:

when 2 then return 'The Golden Pendant \v[2]'

And \v[2] will be replaced with whatever's in variable #2 smile.gif


__________________________
K.I.S.S.
Want help with your scripting problems? Upload a demo! Or at the very least; provide links to the scripts in question.

Most important guide ever: Newbie's Guide to Switches
Go to the top of the page
 
+Quote Post
   
AphidRuin
post May 11 2011, 10:55 PM
Post #5


Level 9
Group Icon

Group: Revolutionary
Posts: 139
Type: Developer
RM Skill: Beginner




Ohhhh! ohmy.gif

Thanks a lot for your explanation. Now I know what to do with this.

Thanks biggrin.gif You are the best, Mr. Night_Runner!


__________________________

Which Final Fantasy Character Are You?
Final Fantasy 7



Current Projects
First game - Shawn's Story]
Second game - TAE (Paused in order to complete Shawn's Story)

[Show/Hide] Cna uyo raed tihs?
Hleeo.Tahnk you for tkanig the tmie to raed tihs.I am bsaing tihs on the frist {oigranl} can you raed tihs?Yaeh olny smoe poelpe can sikm sneentces lkie tehse woituht hvanig to sotp.You rllaey olny hvae to konw the frist and end lttres of the wrod you are tyrnig to raed for yuor mnid to pcik tehm up esaily.Olny 55% of poelpe can raed tihs.I tihnk taht snice you konw waht you are raendig aoubt you can gesus the wrods.If you can raed tihs, palce it in yuor sgitanrue.Dnoe by Senapho.Oops.Sanehpo.


"Creative people don't say themselves as creative because they are creative." -Cheong Cheng Wen a.k.a AphidRuin
Go to the top of the page
 
+Quote Post
   

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 18th June 2013 - 12:44 PM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker