Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - firevenge007

21
Script Requests / Re: Editing Quest Log
November 20, 2013, 04:16:05 pm
Okay, I'll try yours out - but I need to figure out how to fix the same nil problem that I got like the other quest script. I tried using your fix for it but it wouldn't work :)
22
Script Requests / Editing Quest Log
November 20, 2013, 03:36:28 pm
Using game_guy's code from his Quest Logger, I was wondering if it was possible to have the color of the name of the quest in the quest list to be colored based on completion.

#===============================================================================
# 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 "100 Gold"
   when 2 then return "3 Potions"
   when 3 then return "Strength Ring"
   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 "Bob's Chicken"
   when 2 then return "Lost My Weapon"
   when 3 then return "Finding The Letter"
   when 4 then return "Do You Believe in Magic"
   when 5 then return "Quest For A Bowl"
   when 6 then return "Quest For Quest"
   when 7 then return "Rat Catcher"
   when 8 then return "Baby Trouble"
   when 9 then return "Monster Mother"
   when 10 then return "Purity of Water"
   when 11 then return "Sailor's Quest"
   when 12 then return "Dangerous Passage"
   when 13 then return "The Search For Hidden Treasure"
   when 14 then return "Pricilla's Possession"
   when 15 then return "Agilequest"
   when 16 then return "Quest of the Musaph"
   when 17 then return "The Urothmyte Trials"
   when 18 then return "Bar Fight!"
   when 19 then return "Abandoned Village"
   when 20 then return "Milk Quest Part 1"
   when 21 then return "Milk Quest Part 2"
   when 22 then return "Milk Quest Part 3"
   when 23 then return "Herbalist Dungeon"
   when 24 then return "Expidition To The Danger Zone"
   when 25 then return "Angel Flight"
   when 26 then return "Combat Guild"
   when 27 then return "Leothon's Mini-Quest"
   when 28 then return "Warped Diamond"
   when 29 then return "Fortune"
   when 30 then return "The Mysterious Source"
   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 "Tutorial"
   when 2 then return "Kirkwood Forest"
   when 3 then return "Ridgeville Woods"
   when 4 then return "Ridgeville Woods"
   when 5 then return "Creekside"
   when 6 then return "Emporia"
   when 7 then return "Emporia Harbor"
   when 8 then return "East Lakiki Island"
   when 9 then return "East Lakiki Island"
   when 10 then return "East Lakiki Island"
   when 11 then return "East Lakiki Island"
   when 12 then return "Lakiki Desert Dungeon"
   when 13 then return "Saharan Village"
   when 14 then return "Saharan Village"
   when 15 then return "Swampy Marshes"
   when 16 then return "Swamp"
   when 17 then return "Ruins of Urothmus"
   when 18 then return "Quanzfalls Tavern"
   when 19 then return "Abandoned Village"
   when 20 then return "Peaceful Wood"
   when 21 then return "Jungle Crossover"
   when 22 then return "Jungle Village"
   when 23 then return "Herbalist's Realm"
   when 24 then return "Paladin City"
   when 25 then return "West Lakiki Island"
   when 26 then return "Fairie's Woods"
   when 27 then return "Combat Guild"
   when 28 then return "Combat Guild"
   when 29 then return "Poisonous Woods Tree Hollow"
   when 30 then return "Legends Area"
   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 "Kill a chicken and bring back a feather to Farmer Bob."
   when 2 then return "Give the wounded adventurer his weapon back by defeating the monster who took it."
   when 3 then return "Go find a letter that this man lost and give it back to him."
   when 4 then return "Bring the sick girl a magic potion to heal her."
   when 5 then return "Get the man a bowl by following these steps. \n\ Go North to Emporia. Go to the shop that sells blowing pipes and molten glass. Make him a bowl out of the glass."
   when 6 then return "Solve the puzzle that the woman gives you. Turn the right switches to unlock the barrier to the treasure!"
   when 7 then return "Get the sailor his rat that he lost somewhere in Kirkwood forest."
   when 8 then return "Get the woman her baby. \n\ She lost it somewhere on Lakiki Island."
   when 9 then return "Slay the beast within the woman to rid her of her angry spirit."
   when 10 then return "Bring Acquatica back a bottle of pure water by killing water salamanders."
   when 11 then return "Go on an adventure with the little sailor boy to unexplored lands."
   when 12 then return "Try to find your way through the Desert tunnels. /n/ Watch out for boulders!"
   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, "Not Started")
   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
class Scene_Load < Scene_File

 alias load_party_variables on_decision
 def on_decision(filename)
   load_party_variables(filename)
   # Initializes quest variables to empty arrays UNLESS they are not nil to begin with
   $game_party.quests ||= []
   $game_party.completed ||= []
 end

end


Not started would be colored red, In progression would be colored yellow, and Completed would be colored green.

When the Quest would be marked red, it would not show what the description of the quest is until a seperate command is called, "Quest.progress(id)", which would put the quest into progression and color the name yellow, as well as showing the description.

The reason I want to try this out is so that players see the whole quest list and can decide if they could start the quest or not. They can keep track of which quests they have done from the color of the names in the quest list as well.

Any help would be fantastic!

Thank you for your time.
23
Script Troubleshooting / Re: QuestLog error
November 19, 2013, 10:59:04 pm
Is there any way to have it work with loaded games then? Some kind of add-on that adds Quests to loaded files?

Only reason I'm asking this is because whenever I update my game, the players of my game take their save file and put it in the new game folder, which updates the game with the new content. But if it doesn't work, then the players will get an error.

It's not detrimental to the game, I was just wondering if there is a way to make it work.
24
Script Troubleshooting / Re: QuestLog error
November 19, 2013, 10:10:59 pm
Why does it not work in conjunction with old save games?
25
Event Systems / Assigned Monster Task
November 19, 2013, 06:48:19 pm
So this is something I made for my game that included going to a mentor who would assign you tasks and would have you complete them in order to gain experience.

Spoiler: ShowHide


This image is the first page of the mentor. It is simple and includes basic speech. The "\N[1]" you see in front of the player's sentences is meant to display the name of the actor used from the database. I was using the first actor, so I put a 1 in the brackets. If you were to use the 3rd actor in your database, you would use "\N[3]".

Near the bottom, you can see that the player obtains a "rogue book". This book is meant to keep track of what task the player has (including the required amount of kills of the certain monster is necessary to complete the task), and how many points the player has from completing tasks.

The Rogue book will be shown shortly.


Spoiler: ShowHide


This is the mentor's second page. It is notably longer than the first.

As you can see, once you talk to the mentor again, you have three options to choose from:

-Nevermind
-New task
-Spend points

Nevermind was made first in order to prevent players from accidentally asking for a new task.

Under the choice, new task, a conditional branch, [RogueHi] can be spotted. Because my game has multiple mentors varying by the player's level, this was put into place so that if a player already has a task asigned by another mentor, there could not be a possibility of receiving another task from another master.

Under the coniditonal branch [RogueHi], a Variable is called, with a 'random' number generated from 1 to 14.

Under this, there are 14 different conditional branches for [randomtask], only 3 of which can be seen due to the length of this page. But they are pretty much the same.

When variable [randomtask] falls on a number X, the conditional branch for the variable [randomtask] X will be selected.

Under this conditional branch, a certain switch will be turned on and a variable with a certain number will be declared respectively.

These switches, when activated, allow the player to be able to kill a monster in order to progress in his/her task.
The variable underneath, shows how many kills of that certain monster is needed to be able to finish the assigned task.

Spoiler: ShowHide


Now, we are on to the rewards portion.

The spending points section is the last of the three choices given to the player.

In my game, I gave the player the ability to choose his/her points to go either towards experience or money.

With no scripting knowledge, I used conditional branches to check if a certain player in my party had learned a spell.

R stands for Rogue, which is what I called this skill in my game.
In the database, for player 'Rogue', I assigned the skill 5R to be learned at level 5, 10R to be assigned at level 10, etc.

Based on these levels, the player is granted experience or money.
(Eg: Conditional Branch: [Rogue] is [50R] learned
@>Text: [You earn 700 Experience.]
@>Change EXP: [Rogue], +700)


Spoiler: ShowHide


Now, to introduce the rogue book.

The rogue book is quite simple, and like I said previously, it can either check your assigned task, or check how many points you have amassed through tasks.

When checking tasks, it is REQUIRED for a player to have already chosen a task. This is the reason for these conditional branches.

As I mentioned earlier, when the random variable falls on a number and chooses a task, that task's switch is turned on and a variable of X amount is set for that task.

If the random number landed on Warped Treasure, shown in the picture above, it would check that the switch warped treasure would be turned on. Once it has confirmed that the switch Warped Treasure is INDEED turned on, it will go to the text below.

Like "\N[X]", "\V[X]" is a shortcut to showing certain things in your text.

"\V[X]" shows the number for the variable X, based on the number in the database. So if you have just started a new game, and your first variable is 1, you would have to write "\V[1]" for it to show the remaining monsters left.

In-game, it would simply show as, "You have X Warped Treasures remaining."

Spoiler: ShowHide


The second choice in the rogue book is to check your points.

This follow the method above for checking the remaining amount of creatures you have left to kill, but instead, it counts how many points you have.

My variable for Points was set as 90. Yours may not be the same. Do not fear, just check what variable you set your points as in your database, or set it if you haven't.

Then once you figure it out, just write your sentence to display how many points the player has, without forgetting to include "\V[X]" where X represents the variable for your rogue points!

Spoiler: ShowHide


Now onto the actual monster!

This monster is a task assigned by the mentor in-game.

This monster WILL be able to be killed even though it may not be your task, but in this case, you will not be able to tick off some tasks to earn rogue points.

The conditional branch here for the Blue Dragon is ON, but ONLY if the player has this monster as his/her task. If the switch is turned on, it will go through another conditional branch.

This branch is a little different. It will check if the player has the variable for the Blue Dragon to be greater than 0. This is so if you check your rogue book, you will not receive negative numbers for your task.

(Eg: You have -3 Blue Dragons remaining.)

Also, it will remind you if you keep killing Blue Dragons once your task is done that you have actually completed your task and that you should go back to your mentor to receive your reward!

Spoiler: ShowHide


This is not needed, but I definitely recommend it.

This is a little respawn system I made so that a player would not be able to smash their keyboard trying to automatically get into combat again with the monster they just killed.
(If you were to permanently delete the monster after combat, this whole thing wouldn't work since if you ran out of monsters to kill, it would make completing tasks impossible!)

I put this page on a parallel process, and made the movement random and put the speed on fast and frequency on highest so that the monster would be able to re-appear in a different location when spawned again. When the switch A is finally turned off after 400 frames, which is 400/20 = 20 seconds, it will finally re-appear.

Spoiler: ShowHide


This is the last picture I have to show.

This is the mentor's final page. It rewards you based on what your rogue level is and includes many, many conditional branches.

I would say this is the largest page of them all, due to all the conditional branches piled up on top of each other.

But using the prior methods shown, you can easily whip up something like this, giving the player a reward.



Thank you for reading, I hope my 'little' guide helped!

Made by Firevenge007
26
Script Troubleshooting / QuestLog error
November 19, 2013, 03:43:51 pm

So i've been trying to use game_guy's Quest log, but I keep on coming up with an error. If anyone knows what's going on, I'm all ears!

#===============================================================================
# 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 "100 Gold"
   when 2 then return "3 Potions"
   when 3 then return "Strength Ring"
   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 "Bob's Chicken"
   when 2 then return "Lost My Weapon"
   when 3 then return "Finding The Letter"
   when 4 then return "Do You Believe in Magic"
   when 5 then return "Quest For A Bowl"
   when 6 then return "Quest For Quest"
   when 7 then return "Rat Catcher"
   when 8 then return "Baby Trouble"
   when 9 then return "Monster Mother"
   when 10 then return "Purity of Water"
   when 11 then return "Sailor's Quest"
   when 12 then return "Dangerous Passage"
   when 13 then return "The Search For Hidden Treasure"
   when 14 then return "Pricilla's Possession"
   when 15 then return "Agilequest"
   when 16 then return "Quest of the Musaph"
   when 17 then return "The Urothmyte Trials"
   when 18 then return "Bar Fight!"
   when 19 then return "Abandoned Village"
   when 20 then return "Milk Quest Part 1"
   when 21 then return "Milk Quest Part 2"
   when 22 then return "Milk Quest Part 3"
   when 23 then return "Herbalist Dungeon"
   when 24 then return "Expidition To The Danger Zone"
   when 25 then return "Angel Flight"
   when 26 then return "Combat Guild"
   when 27 then return "Leothon's Mini-Quest"
   when 28 then return "Warped Diamond"
   when 29 then return "Fortune"
   when 30 then return "The Mysterious Source"
   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 "Arton Woods"
   when 2 then return "Eeka"
   when 3 then return "Eeka"
   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 "Capture 10 animals and bring back the meat."
   when 2 then return "Bring gold to Jarns Defense to pay her tab."
   when 3 then return "Go get Kip a hunting knife from Eeka."
   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

Script 'QuestLog' line 205: NoMethodError occured. undefined method 'each' for nil:NilClass



class Scene_Quest
 def main
   @quests = []
   for i in $game_party.quests <---- this is line 205
     @quests.push(GameGuy.qname(i))
   end
   @map = Spriteset_Map.new
   @quests2 = []
   for i in $game_party.quests
     @quests2.push(i)
   end



Thanks for your time.
27
RMXP Script Database / Re: [XP] HoT DoT
November 19, 2013, 12:22:15 am
NoMethod occured. undefined method 'max_hp' for #<Game_Actor:0x6f47e50>
28
RMXP Script Database / Re: [XP] HoT DoT
November 17, 2013, 11:41:27 pm
When you use this outside of combat, it never seems to stop healing me. It just keeps on flashing green.
29
General Discussion / Re: H mode 7 + Babs?
November 13, 2013, 08:51:45 pm
Quote from: gameus on November 13, 2013, 09:22:11 am
Please do searches before making a topic. This topic is actually only 6 topics above someone asking the same thing and getting the same answer.
http://forum.chaos-project.com/index.php/topic,13579.0.html

Not to mention there have been other people requesting this same thing a few times.


yeah i did see that and I also saw that he was talking about MODE-7 and not H MODE-7, which is why I made this thread.

Mode 7 is not 3d but gives a false perception of having a three dimensional view.

H-mode 7 includes height maps and such to give a full 3d effect.
30
General Discussion / H mode 7 + Babs?
November 11, 2013, 10:06:20 pm
I was just wondering if it is even possible to make such a thing. It would seem very hard to make.
31
I actually think the system is perfect. You should post it on a script thread so that others can use it as well!

Anyways, I'll probably request another script soon.

The skill, "scroll-making" in my game, requires a player to make scrolls, which are used in spells. These spells require the scrolls to be used through a common event, which make the player cast in combat and lose sp before a message tells the player that he/she cannot cast this spell.
Also, I am not able to make very intricate combat spells due to the fact that it all has to be in a common event. To combat this, I just randomly altered the damage output of the spell based on the user's scroll-making level, so that if a randomly generated variable X, from 1 to 10 was equal to Y, then Y would equal 400 Damage (example).

I'm not sure if you're up for that, but I'll definitely post a new thread about it soon.

Thank you again for your help on this one. :)
32
Thank you! This is exactly what I wanted.

I wrote all of my necessary material with this. Thanks!

    when 2 then [
      ["Introduction to Fishing", "Fish are a source of both food and magic. Fish are caught in multiples, which allow for a more efficient source of energy."],
      ["Level 1 - Sardine", "Can be fished after the completion of the Rat Catcher Quest. Talk to the Captain at the Emporian Docks to get there. Requires a Fly Fishing Pole and bait."],
      ["Level 15 - Trout", "Can be fished in the Emporian River."],
      ["Level 25 - Salmon", "Requires Level 21 Combat to access the Lakiki Desert. They are found in a small oasis. \n\ Requires a Strong Fishing Pole and bait."],
      ["Level 35 - Lobster", "Found in a half-frozen lake in the Fairy's meadow. \n\ Requires Lobster Pot and Lobster Bait."],
      ["Level 45 - Shark", "Requires a Fishing scroll obtainable from Legends which requires 55 Legends to obtain. The fishing spot is located in East Emporia. \n\ Requires Harpoon, Nets, Vials of Blood, and Stabilizers for the net."],
      ["Level 55 - Fire Ray", "Completion of the Milk quest is required to fish these. They are located in the Jungle. \n\ Catched by hand."],
      ["Level 150 - Deep Sea Fishing", "Requires access to the foreign lands. \n\ Requires a Deep Sea Fishing Pole and Deep Sea Fishing bait."]
      ]
    when 3 then [
      ["Introduction to Agility", "Agility is useful for accessing quick shortcuts, or even entire new locations. \n\ Agility also offers protection in combat with the increased chance of evading with every level."],
      ["Level 1 - Lakiki Agility Course", "Can be accessed at West Lakiki Island."],
      ["Level 15 - Icy Agility Course", "Ccan be accessed near the Combat guild in Fairy's meadow."],
      ["Level 25 - Heavenly Agility Course", "Can be found when accessing Heaven through the rainbow in East Lakiki."],
      ["Level 35 - Musaph Agility Course", "Can be accessed by traveling through the Swamps north of East Lakiki. \n\ Requires completion of Quest of the Musaph and 80 Legends for the Agility Scroll."],
      ["Level 45 - Enhanced Agility Course", "A shortcut to the Regular Musaph Agility Course opens at this level."],
      ["Level 80 - Mountain Agility Course", "Can be accessed through the Inpenetrable Pass."]
      ]
    when 4 then [
      ["Introduction to Legend", "Legend is a skill in which you delve into dungeons and battle ferocious monsters in order to reach the final destination. \n\ The Main source for leveling Legend is through the Elemental Floors, which can be accessed by talking to the Legend master near the Combat guild in the Fairy's meadow. \n\ Leveling legend gives access to new weapons, abilities, and even areas which offer more efficient ways of making money or leveling your skills."],
      ["Level 1 - Earth Floor 1", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
      ["Level 10 - Earth Floor 2", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
      ["Level 20 - Water Floor 3", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
      ["Level 30 - Water Floor 5", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
      ["Level 40 - Wind Floor 6", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
      ["Level 50 - Wind Floor 7", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
      ["Level 60 - Fire Floor 8", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
      ["Level 70 - Fire Floor 9", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
      ["Level 80 - Elemental Floor 10", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
      ["Level 90 - Elemental Floor 11", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
      ["Level ? - World Dungeons", "World Dungeons are scattered dungeons all over the world. They vary based on Legend level and can only be raided once. After the dungeon has been defeated, it is yours to keep."],
      ]
    when 8 then [
      ["Introduction to Farming", "To start farming, visit the area west of Emporia. \n\ Planting tostle seeds is a good way to raise farming at low levels. \n\ Your plants grow over-time, and when they are ready to harvest, you must go collect them. \n\ Plants have a variety of uses from helping make potions, and could be used to make bows, or planks, to build your house. \n\ The use of each plant varies."],
      ["Level 1 - Tostle Plant", "Can be planted in Herb Patches"],
      ["Level 10 - Rosemary Plant", "Can be planted in Herb Patches"],
      ["Level 15 - Oak Tree", "Can be planted in Tree plots. \n\ Requires Scroll of Secrets 2 to access."],
      ["Level 20 - Ratheford Plant", "Can be planted in Herb Patches."],
      ["Level 30 - Willow Tree", "Can be planted in Tree plots. \n\ Requires Scroll of Secrets 2 to access."],
      ["Level 35 - Mirabelle Plant", " Can be planted in Herb Patches."],
      ["Level 45 - Maple Tree","Can be planted in Tree plots. \n\ Requires Scroll of Secrets 2 to access."],
      ["Level 45 - Pumpkin", "Can be planted in a Pumpkin Patch plot."],
      ["Level 60 - Yew Tree","Can be planted in Tree plots. \n\ Requires Scroll of Secrets 2 to access."],
      ["Level 75 - Mystic Tree","Can be planted in Tree plots. \n\ Requires Scroll of Secrets 2 to access."],
      ["Level 100 - Halloween Tree", "Can be planted in the Halloween Tree plot."]
      ]
    when 10 then [
      ["Introduction to Hunting", "Hunting can be accessed by traveling east of Creekside, and going up the Creekside waterfall. \n\ The hunting master will explain what you need to know about getting started with hunting. \n\ The tool box sells supplies which can be used for crafting Perfect skins into useful objects."],
      ["Level 1 - Rabbits", "Perfect Rabbit furs can be crafted into a Rabbit Hat. \n\ This offers a higher success rate when catching rabbits."],
      ["Level 10 - Frogs", "Perfect Frog skins can be used to create Frog-skin boots. \n\ Not only do they offer a decent accuracy bonus, but also offer a higher success rate when catching Frogs."],
      ["Level 15 - Seagulls", "Requires bird nets to catch, which can be purchased at the hunting tool-box. \n\ Perfect Feathers can be used in conjuction with high-tier healing potions (super, and extreme potions) to double the healing effect."],
      ["Level 20 - Squirrels", "Perfect Squirrel furs can be made into squirrel mitts, which offer a higher success rate when catching squirrels."],
      ["Level 30 - Blackbirds", "Requires bird nets to catch, which can be purchased at the hunting tool-box. \n\ Perfect Feathers can be used in conjuction with high-tier healing potions (super, and extreme potions) to double the healing effect."],
      ["Level 40 - Bulls", "A teasing stick, which can be found on the mountain in a crevice where the bulls live, is needed to hunt bulls. \n\ Perfect bull skins can be used to create a Bull-skin vest, which offers a lower rate of engaging combat with the bull, and a higher rate of receiving Perfect Bull skins."],
      ["Level 50 - Jungle Tigers", "Partial Completion of the Milk quest is needed to hunt these creatures. Their fur does not offer any advantages, but does have a very high market, making these skins very valuable."]
      ]
    when 12 then [
      ["Introdction to Building", "To start off, you must purchase a house from an estate agent. \n\ The agent is located in a building shop east of the Quanzfall Outskirts and the Abandoned village. \n\ To purchase a house, you must be willing to give up 100,000 Coins. The benefits of a house are very valuable, though. \n\ These benefits include a very useful home teleport, many ways to restore oneself, a storage system, a means of teleporting to hard-to-reach areas, the ability to enhance some skills using workbenches... the list goes on."],
      ["Level 1 - Chair", "Offers comfort for a tired bottom."],
      ["Level 3 - Small Rug", "Offers beauty to your home."],
      ["Level 5 - Cupboard", "Items can be stored in here."],
      ["Level 5 - Potted Plant", "Offers beauty to your home."],
      ["Level 7 - Fireplace", "Can cook fish you earn from fishing. \n\ Cooked fish offer 50% bonuses."],
      ["Level 8 - Water Supply", "Refills any empty watering cans"],
      ["Level 10 - Chicken Trophy", "Shows your victory against a chicken."],
      ["Level 13 - Basic Carpet", "Offers beauty to your home."],
      ["Level 13 - Bed", "Restores your health to full."],
      ["Level 15 - Table", "This works as a workbench. You may make empty watering cans which can be filled with a Water supply, which offer double farming produce, or Fishing orbs, which offer double fishing catch. Both items can be made out of clay as well."],
      ["Level 16 - Medium Rug", "Offers beauty to your home."],
      ["Level 16 - Majestic Chair", "Offers comfort for a tired bottom. \n\ Unlocks a new teleport."],
      ["Level 20 - Zombie Trophy", "Shows your victory against a zombie."],
      ["Level 20 - Plank Table", "Useful for turning logs into planks."],
      ["Level 22 - Simple Portal", "Used for teleporting to certain locations."],
      ["Level 24 - Large Rug", "Offers beauty to your home."],
      ["Level 24 - Ornate Bed", "Restores your health and magic to full."],
      ["Level 26 - Ornate Plant", "Offers beauty to your home."],
      ["Level 28 - Magic Carpet", "Used as a walk-way to your throne."],
      ["Level 30 - Dragon Trophy", "Shows your victory against a dragon."],
      ["Level 32 - Marble Fireplace", "Can cook fish you earn from fishing. \n\ Cooked fish offer 50% bonuses."],
      ["Level 34 - Throne", "Offers comfort for a tired bottom. \n\ Unlocks a new teleport."],
      ["Level 34 - Enhanced Portal", "Used for teleporting to a variety of locations."],
      ["Level 46 - Ornate Portal", "Used for teleporting to a wide variety of locations."],
      ["Level 54 - Emperial Throne", "Offers comfort for a tired bottom. \n\ Unlocks a new teleport."],
      ["Level 58 - Intricate Obelisk", "Only used after completion of the Milk Quest. \n\ Fragments can be used in conjunction with this obelisk to obtain very strong armour."],
      ["Level 60 - Backyard", "Unlocks a backyard with a new Herb farming patch."]
      ]
    when 13 then [
      ["Introduction to Plundering", "Plundering is a story-driven skill. \n\ You team up with some thiefs to gain the respect of the Saharan Town's royalty to be let into the castle. \n\ To begin plundering, completion of the Dangerous passage quest is required. \n\ This quest can be started in the Lakiki Desert which requires 21 Combat to access, and traveling North into a cave with menacing boulders."],
      ["Level 1 - Civilians", "Offers no more than 100 Coins."],
      ["Level 10 - Farmers", "Offers a variety of Herb and Tree seeds."],
      ["Level 16 - Intern Rogues", "Offers up to 5,000 Coins."],
      ["Level 20 - Intern Guard", "Offers up to 8,000 Coins."],
      ["Level 30 - Guard", "Offers a variety of swords from Bronze to Fire."],
      ["Level 30 - Picklocking the Castle Door", "Offers entry to the Saharan Castle."],
      ["Level 32 - Chest", "Offers up to 20,000 Coins."],
      ["Level 40 - Nobles", "Offers up to 65,000 Coins."],
      ["Level 52 - Legend", "Offers a variety of Legend items \n\ Requires a Legend level of 90 to steal from."]
      ]
    when 14 then [
      ["Introduction to Rogue", "Rogue is a combat-oriented skill in which a rogue master assigns you tasks which you can complete based on your combat and rogue level. \n\ Rogue monsters have potentially valuable drops, which increase in value with each rogue monster. \n\ Higher-level rogue masters offer more difficult, but more rewarding tasks."],
      ["Level 1 - Muck Rogue Master", "Can be reached in the outskirts of Quanzfalls in a little shack."],
      ["level 15 - White Wolf", "This monsters is located in Muck's dungeon."],
      ["Level 25 - Samadaen", "This monster is located in Muck's dungeon."],
      ["Level 35 - Mucaeous", "This monster is located in Muck's dungeon."],
      ["Level 45 - Aberstyne Wolf", "This monster is located in to the East of Muck's Shack."],
      ["Level 60 - Nes Rogue Master", "Can be reached to the south-west of the location of Aberstyne wolves. \n\ He lives in a giant oak tree. \n\ His tasks are considerably more difficult and lengthier. \n\ Only recommended for those who truly enjoy rogue."],
      ["Level 60 - Maelstrom", "This monster is located south-west of Nes's oak tree. \n\ They are located in a small dungeon."],
      ["Level 65 - Soulless Wolf", "This monster can be reached by accessing Nes's rogue dungeon. \n\ A lantern is required for this task."],
      ["Level 70 - Pheonixus", "This monster is very powerful, and located underneath Nes's oak tree, in a dungeon far below ground level. \n\ A lantern is required for this task."],
      ["Level 75 - Vellixum", "This monster can be reached by entering a crevice in the Paladin's Fireplace in Paladin City."],
      ["Level 80 - Rochet", "This monster is located in the Fortmaster's camp in a small dungeon. \n\ Partial completion of the Milk Quest is necessary to access this dungeon."],
      ["Level 90 - Breugus", "This monster can be accessed by heading West of Lakiki Island and entering an area with a circle of stones. \n\ North-east is where the dungeon is located. \n\ A high agility level would help considerably to cross the blazing lava to reach these monsters."],   
      ["Level 100 - Musaphus Rogue Master", "This rogue master is accessed by hopping onto a floating log on a river located South-East of where the Aberstyne wolves live. \n\ A requirement of Level 100 Agility is needed to use this log to reach Tenebris forest, where you can access rogue tasks. \n\ These rogue tasks are very difficult, and are not recommended for anyone under Level 150 Combat."]
      ]
    when 15 then [
      ["Introduction to Scroll-Making", "Scroll-Making is a skill in which you must use Papyrus scrolls purchasable through Scroll salesmen, and use these scrolls on certain obelisks to infuse them with magical abilities. \n\ Papyrus costs 1,000 Coins each, and the first salesman is located in the outskirts of Quanzfalls."],
      ["Level 1 - Light Healing Scrolls", "This obelisk is located East of the first salesman, and east of the Abandoned village, and south of the Fortmaster's Camp. \n\ This scroll can be used for small healing, or healing-over-time in battle."],
      ["Level 5 - Slash Scrolls", "This obelisk is located in the swamp, North of East Lakiki Island. \n\ This scroll offers a magical ability to damage all of your opponents in combat."],
      ["Level 10 - Crush Scrolls", "This obelisk is located in the Saharan Desert. \n\ Completion of the Dangerous Passage Quest is required to access this obelisk. \n\ This scroll offers a magical ability to damage all of your opponents in combat."],
      ["Level 15 - Aberstyne Scrolls", "This obelisk is located South-East of where Aberstyne wolves live. \n\ This scroll offers a teleport near the Aberstyne obelisk."],
      ["Level 20 - Holarian Scrolls", "This obelisk is located in Quanzfalls. \n\ This scroll offers the ability to heal yourself for 400 Health, while wearing a Holarian Staff."],
      ["Level 20 - Urothmus Scrolls", "This obelisk is located South of Quanzfalls, in the Webycium Cave. \n\ This scroll offers the ability to damage all opponents in combat for very high damage, while wearing an Urothmus Staff."],
      ["Level 35 - Arabellus Scrolls", "This oeblisk is located in Paladin City \n\ This scroll offers the ability to enhance your agility potions to make them offer you every more walking speed. (This reverts back to normal once you have teleported)."],
      ["Level 35 - Scroll-Making Guild", "This Guild is located South-West of the large Quanzfalls outskirts. \n\ Here you can level your Scroll-Making through little games like alchemy, teleportation, and mazes. \n\ With your points you earn, you can purchase new ways to train scroll-making, or items that could enhance your magical abilities."],
      ["Level 40 - Vitrum Scrolls", "This obelisk is located South-East of the Aberstyne Wolves, and South of the large oak tree. \n\ This scroll offers the ability to make special-herb potions in multiples of 10, rather than one by one."]
      ]
    when 16 then [
      ["Introduction to Herbalism", "Herbalism is a skill which uses special herbs in order to make potions with special enhancements. \n\ These enhancements range from a boost in accuracy to a boost in strength to even a boost in health. \n\ With the increase of your herbalism, you can make more powerful versions of the basic concoctions."],
      ["Level 1 - Clean Guoren", "Cleans a Guoren Herb."],
      ["Level 1 - Accuracy Potion", "Requires a Guoren Mixture + Tostle Substance"],
      ["Level 5 - Melanose", "Cleans a Melanose Herb."],
      ["Level 5 - Agility potion", "Requires a Melanose Mixture + Aqueous Berries \n\ Aqueous Berries can be found in a cavern south of Lakiki Island in the water."],
      ["Level 10 - Pelepanose", "Cleans a Pelepanose Herb."],
      ["Level 10 - Magical Defense Potion", "Requires a Pelepanose Mixture + Rosemary Substance"],
      ["Level 15 - Ferfella", "Cleans a Ferfella Herb."],
      ["Level 15 - Magical Potion", "Requires a Ferfella Mixture + Ferrore \n\ Ferrore can be obtained by talking to a farmer in the outskirts of Quanzfalls."],
      ["Level 20 - Reganose", "Cleans a Reganose Herb."],
      ["Level 20 - Physical Defense Potion", "Requires a Reganose Mixture + Mirabelle Substance"],
      ["Level 35 - Enhanced Accuracy Potion", "Requires a Guoren Mixture + Desert Root \n\ Desert Root can be bought from at the Foreign lands."],
      ["Level 40 - Enhanced Agility Potion", "Requires a Melanose Mixture + Enchanted Bark \n\ Enchanted Bark can be bought from at the Foreign lands."],
      ["Level 45 - Enchanted Magical Defense Potion", "Requires a Peleanose Mixture + Cinnamon \n\ Cinnamon can be bought from at the Foreign lands."],
      ["Level 50 - Enchanted Magical Potion", "Requires a Ferfella Mixture + Enchanted Grain \n\ Enchanted Grain can be bought from at the Foreign lands."],
      ["Level 55 - Enchanted Physical Defense Potion", "Requires a Reganose Mixture + Lilac Flower \n\ Lilac Flower can be bought from at the Foreign lands."]
      ]
    when 20 then [
      ["Introduction to Holyness", "Holyness is a skill involving freeing the gods. Ferrous, the god that rose to power from human, took advantage of his power and banished Urothmus and Holaria into another realm. \n\ You must read messages that the gods are sending to you as Soul Sprites. \n\ Messages vary in complication, and to decipher these higher-tier messages, your must increase your understanding through leveling your Holyness. \n\ To start training, you must pay the hooded Ferrous guard to allow you entry to a sacred area in the Ridgeville woods."],
      ["Level 1 - Light Energy Portal", "This portal is located North of the Ridgeville Woods"],
      ["Level 10 - Healing Energy Portal", "This portal is located on Lakiki Island"],
      ["level 20 - Destructive Energy Portal", "This portal is located in the Ruins of Urothmus, North of Quanzfalls."],
      ["Level 30 - Dense Energy Portal", "This portal is located in the Jungle. \n\ Partial completion of the Milk Quest is required to access this area."],
      ["Level 40 - Combusting Energy Portal", "This portal is located in Paladin City."],
      ]
33
Sounds good :))
34
I'm fine with having it display everything. It's meant partially so that players have a goal to achieve.

But when I mean unlockables, I just mean things players can do at a certain level, there's no specific thing stored in the database that you can pull from, other than the skills I set for each actor which require a level, but it would get too complicated.

I thought it would be a lot more simple if it was just a text box which could be selected to see more in depth.
35
Spoiler: ShowHide


This is what I had in mind.
36
Maybe pressing enter would instead take control of the current window.

Also, is it possible to make each line of text select-able so that if a player wants to know where to go find this or that, they can press enter when an unlockable is selected, and then a little textbox will appear with text in it based on what is written down, and then the player would be able to get out by pressing escape.

This is just an idea - it sounds quite difficult to me, so just tell me if this is impossible.
37
Thanks  a lot! That finally resolved the problem.

By the way, I also wanted to ask about the little section you put within the new tab where you could enter text.

I was wondering that it might be a good idea to help players out by making that section one where it tells players what that specific skill unlocks at a certain level.

Ex:
Spoiler: ShowHide


Though it seems to be cutting off and I was wondering how it would be possible to make a scrolling option within the box.
38
No it's blizzard's huge script thing part 1

I think I only used it for the arrow thing when I go behind large items so that it signifies where the player is.
39
Spoiler: ShowHide


This is what shows up when I look it up.
40
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# Drawing Info on Screen
#--------------------------------------------------------------------------
def refresh
 self.contents.clear
 x = 32
 y = 144
 SS_Config::ACTORS_REPRESENTING_SKILLS.each_index{|i|
   side_skill = $game_actors[SS_Config::ACTORS_REPRESENTING_SKILLS[i]]
   draw_actor_graphic(side_skill, x + (i%2)*230, y + i * 26)
   draw_actor_level(side_skill, x + (i%2)*250, y + i * 26 - 48)
   draw_actor_exp(side_skill, x + (i%2)*230 + 30, y + i * 26 - 32, 180)
 }
 self.contents.draw_text(232, 64, 160, 32, "Total Level: ")
 self.contents.draw_text(232, 64, 160, 32, $game_player.total_levels.to_s, 2)
 actor = $game_party.actors[0]
 draw_actor_graphic(actor, 32, 65)
 draw_actor_name(actor, 74, 0)
 draw_actor_level(actor, 232, 16)
 draw_actor_state(actor, 285, 13)
 draw_actor_exp(actor, 232, 40)
 draw_actor_hp(actor, 74, 16)
 draw_actor_sp(actor, 74, 40)
end
end


Spoiler: ShowHide


As you can see, the left column is not affected when I move the "Lv" text, and the bars won't get horizontally shorter either.