Quest Journal v. 2.1

0 Members and 2 Guests are viewing this topic.

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best RPG Maker User (Scripting)2010 Most Mature Member
@Corbeau, around line 114, where you see:


Code: [Select]
    objectives = []
    name = '??????'
    description = '??????????'
    icon_index = 0


try putting prime = nil right below icon_index = 0 and see what happens.

@CheeseMonster: I'll take a look.

EDIT::

OK, it's because call script recognizes line breaks, so it doesn't read that (1) is meant to be attached to complete_objective. You can just take away the white space and:

Code: [Select]
$game_party.quests[10].complete_objective(0)
ought to fit. However, a nicer way might be to just assign the quest to a local variable, like this:

Code: [Select]
quest = $game_party.quests[10]
quest.complete_objective (0)

and that ought to work.
« Last Edit: February 16, 2009, 04:11:24 PM by Modern Algebra »

**
Rep: +0/-0Level 84
Thanks, such a simple solution!  Should really have tried that myself.

**
Rep: +0/-0Level 84
hi,

I'm trying to use Japanese on this script, but it doesn't really let me write much on the description and the objectives part(one or two words each line). I realized one of the problem it has is the space. If I use the US space in between the Japanese letters, the script works half way. If I use Japanese space in between it, the script says the sentence is too long even though the sentence is composed of two words. Is there any solution to this?

**
Rep: +0/-0Level 83
Hey, I love the script, to start off. It's WAY better than that Uber piece of shit I had before. I do have a question though. Is there any easy way to make it track the number of items you have? Ex: x/30 Bat Wings, at 30 or higher/30, it'd be complete, and if it's under / ever goes under, it uncompletes it. Is there a good way to do this?

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best RPG Maker User (Scripting)2010 Most Mature Member
Do you mean, is there an easy way to display it? Or just to track it. To track it, all you need to do is use a variable and set it to Items in possession, which is one of the options you'll see in Control Variabls. Then just use a conditional branch and check if it is over 30.If it is, complete the quest. Of course, you might need to do this in a parallel process or something so that it properly updates itself.

I did not build anything in to make it displayable in the quest scene though, sorry.

**
Rep: +0/-0Level 83
Do you mean, is there an easy way to display it? Or just to track it. To track it, all you need to do is use a variable and set it to Items in possession, which is one of the options you'll see in Control Variabls. Then just use a conditional branch and check if it is over 30.If it is, complete the quest. Of course, you might need to do this in a parallel process or something so that it properly updates itself.

I did not build anything in to make it displayable in the quest scene though, sorry.
Thank you for the quick reply. I understand it's not built into the script, but I think I could incorporate it through a common event or such - What I can't figure out is how to display a variable inside a string, if it's possible. I looked it up on the googles, but could only find something like #$game_variables[1], which didn't work.
« Last Edit: March 22, 2009, 03:50:03 AM by Aaronmanners »

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best RPG Maker User (Scripting)2010 Most Mature Member
No, you'd have to build a code interpreter into where it is displayed. Because the information is saved, the text is static from when it is initialized, therefore it wouldn't update the variable from when it is first initialized. To do so, you'd have to go to where the text is drawn, so in the Window class, and have an interpreter that takes the text, recognizes a specific code that tells it to replace that with a variable. It's not hard; I will build it in for the next version, but I am swamped with school right now and won't be able to work on it, sorry.

**
Rep: +0/-0Level 83
Alright. Thanks for the help man, I really appreciate it. Don't feel rushed though, it works fine as of right now. I'll see if I can do something like that you mentioned, and if I do, I'll put it up to save you the time.

Thank you.

Edit: I have it in place, however I can't find how to refresh it. Using the @info_window.refresh(@list_window.quest) simply lags it like a bitch; here's what I have- the item number simply stays at 0, no matter what (I checked to make sure it was the right ID and all)

Code: [Select]
quest.revealed_objectives.each { |i|
      # Get the correct color
      contents.font.color = quest.complete_objectives.include? (i) ?
        text_color (ModAlg_QuestData::COMPLETE_COLOUR) : quest.failed_objectives.include? (i) ?
        text_color (ModAlg_QuestData::FAILED_COLOUR) : text_color (ModAlg_QuestData::ACTIVE_COLOUR)
      # Get objective
      objective = quest.objectives[i]
      @objecti = objective
      @objecti.gsub!(/\\ITEM\[([0-9]+)\]/) { $game_party.item_number($1.to_i) }
      # Draw Bullet
      tw = contents.text_size (ModAlg_QuestData::BULLET_CHARACTER).width
      x = 8
      contents.draw_text (x, y, tw, WLH, ModAlg_QuestData::BULLET_CHARACTER)
      x += tw + 4
      # Format the objective
      obj_bitmap = Bitmap.new (contents.width - x, 2*WLH)
      obj_bitmap.font = contents.font
      obj_bitmap.font.size -= 4
      formatted_obj = formatter.format (@objecti, obj_bitmap)
      # Draw Objective
      bmp = artist.draw (formatted_obj)
      contents.blt (x, y + 4, bmp, bmp.rect)
      # Modify the Y accordingly
      y += WLH*([formatted_obj.lines.size, 2].min)
    }

The rest is the same; the objective is as this:
Code: [Select]
objective[0] = "Potions: \\ITEM[0] \\ITEM[1] #Used both for testing which it was- both stayed at 0 when potions were added.

Again, it works fine as of right now. However, if there's an easy way to finish this piece, I'd appreciate it.
« Last Edit: March 22, 2009, 03:56:28 PM by Aaronmanners »

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best RPG Maker User (Scripting)2010 Most Mature Member
Yeah, that's because you are modifying the actual saved message, meaning that you are replacing the
Code: [Select]
\item[i]
with the variable in the actual saved message. What you actually want to do is preserve the saved string and re-interpret it whenever it is drawn. I also don't know why you are making it a class variable. Something like this might work:

Code: [Select]
quest.revealed_objectives.each { |i|
      # Get the correct color
      contents.font.color = quest.complete_objectives.include? (i) ?
        text_color (ModAlg_QuestData::COMPLETE_COLOUR) : quest.failed_objectives.include? (i) ?
        text_color (ModAlg_QuestData::FAILED_COLOUR) : text_color (ModAlg_QuestData::ACTIVE_COLOUR)
      # Get objective # Notice that here I use gsub instead of gsub!
      objective = quest.objectives[i].gsub (/\\ITEM\[([0-9]+)\]/) { $game_party.item_number($1.to_i) }
      # Draw Bullet
      tw = contents.text_size (ModAlg_QuestData::BULLET_CHARACTER).width
      x = 8
      contents.draw_text (x, y, tw, WLH, ModAlg_QuestData::BULLET_CHARACTER)
      x += tw + 4
      # Format the objective
      obj_bitmap = Bitmap.new (contents.width - x, 2*WLH)
      obj_bitmap.font = contents.font
      obj_bitmap.font.size -= 4
      formatted_obj = formatter.format (objective, obj_bitmap)
      # Draw Objective
      bmp = artist.draw (formatted_obj)
      contents.blt (x, y + 4, bmp, bmp.rect)
      # Modify the Y accordingly
      y += WLH*([formatted_obj.lines.size, 2].min)
    }

**
Rep: +0/-0Level 83
Alright, I'll test that later today. My project just got set back 4 days cause my dad managed to corrupt every data file, haha. Gotta redo 4 days of work... no problem... heheh... :froghat:

E: Still doesn't work. But don't feel pressured or anything, I'm going to look into it on my own for now.

E2: Scratch that, I'm too lazy to pick up rgss(2) again... Don't feel pressured at all nonetheless.

E3: If you haven't started working on this yet, don't begin just for me. My RPG Maker keeps corrupting the file when I shut down my computer. Just gonna leave this project in the dust.
« Last Edit: March 26, 2009, 12:15:49 AM by Aaronmanners »

**
Rep: +0/-0Level 88
And the issues keep stacking.
I have a new one.

...

Every time I try to access the menu in my game, I get this error

????? 'Quest Journal' ? 918 ??? No Method Error ????????
undefined method 'diabled_commands' for #<Window_Command_Plus_Icons:0x1b22158>


...

If its any consolation, I am also using Omegas7 Menu Icons, and KGC_CustomMenuCommand (edited at line 230 with the string:

 @command_window = Window_Command_Plus_Icons.new(160, commands)

as is required to install the Omegas7 script)

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best RPG Maker User (Scripting)2010 Most Mature Member
It's because Window COmmand Icons remakes Window_Command, and since disabled_commands is added to Window_Command, the problem arises there. I would need to see the Omegas7 Menu Icons script in order to fix it. Well, maybe I could just straight up replace the class I make the modifications in, but I can't be sure that would work. Also, consolation? Why would I need consolation?

**
Rep: +0/-0Level 84
hi,

I'm trying to use Japanese on this script, but it doesn't really let me write much on the description and the objectives part(one or two words each line. It causes an error if I write more than that). I realized one of the problem it has is the space. If I put the English space in between the Japanese letters, the script kind of works but not in a perfect way. If I use Japanese space in between them, the script says the sentence is too long even though the sentence is composed of two words. Is there any solution to this? Does it have something to do with the paragraph formatter?

**
Rep: +0/-0Level 88
Uhmm...
that was a misuse of of the term on my behalf.

... anyways.

...

Heres the Omegas7 Menu Icon script then:

Spoiler for:
# ========================================================================
#                     Omegas7's Menu Icons Script.
# ========================================================================
#           Version: 2.0   (Final).
# ========================================================================
#
#         Set icons for the commands in the menu command window.
#
# ========================================================================
#
#     Edit the below module:
#
#     MENU_ICONS[ID] = N
#     Replace ID with the menu command window command option.
#     Start counting from 0.
#     0 = First Option... 1 = Second Option...
#     Replace N with the icon index.
#
#     MENU_ICONS_SPACING_LEVEL is the amount of spaces before the
#     command text, when higher, more space for the icon,
#     when lower, less.
#
#     MENU_ICONS_Y_INCREASE is the amount of Y screen position to
#     increase for each line, by default is 24.
#     Use it for adjusting the icons positions to fit the text.
#
# ========================================================================



module OMEGAS7
 
  MENU_ICONS = []   # Don't edit this line.
 
  MENU_ICONS[0] = 83     # First option has icon number 50.
  MENU_ICONS[1] = 107
  MENU_ICONS[2] = 26
  MENU_ICONS[3] = 131
  MENU_ICONS[4] = 112
  MENU_ICONS[5] = 143
  MENU_ICONS[6] = 143
  MENU_ICONS[7] = 143
  MENU_ICONS[8] = 143   # Sixth option has icon number 55.
 
 
  MENU_ICONS_SPACING_LEVEL = 3   # 3 spaces before command text.
 
  MENU_ICONS_Y_INCREASE = 24   # 24 pixels between each icon.
 
end




class Window_Command_Plus_Icons < Window_Selectable
 
  include OMEGAS7
 
  attr_reader   :commands                 # command

  def initialize(width, commands, column_max = 1, row_max = 0, spacing = 32)
    if row_max == 0
      row_max = (commands.size + column_max - 1) / column_max
    end
    super(0, 0, width, row_max * WLH + 32, spacing)
    @space = ""
    @commands = commands
    @item_max = commands.size
    @column_max = column_max
    refresh
    self.index = 0
  end

  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i)
    end
  end

  def draw_item(index, enabled = true)
   
    for i in 0..MENU_ICONS_SPACING_LEVEL.to_i
      @space += " "
    end
   
    rect = item_rect(index)
    rect.x += 4
    rect.width -= 8
    self.contents.clear_rect(rect)
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(rect, @space + @commands[index])
    draw_icon(MENU_ICONS[index],0,index * MENU_ICONS_Y_INCREASE)
   
    @space = ""
  end
end

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best RPG Maker User (Scripting)2010 Most Mature Member
hi,

I'm trying to use Japanese on this script, but it doesn't really let me write much on the description and the objectives part(one or two words each line. It causes an error if I write more than that). I realized one of the problem it has is the space. If I put the English space in between the Japanese letters, the script kind of works but not in a perfect way. If I use Japanese space in between them, the script says the sentence is too long even though the sentence is composed of two words. Is there any solution to this? Does it have something to do with the paragraph formatter?

Yeah, it's likely an error in the Paragraph Formatter. I will look into it when I can, but I'm in the middle of exams, so I probably won't gt around to it for a long long time  :(

@Darkie: OK, it should be easy enough to fix.

Try this, perhaps:

Code: [Select]
# ========================================================================
#                     Omegas7's Menu Icons Script.
# ========================================================================
#           Version: 2.0   (Final).
# ========================================================================
#
#         Set icons for the commands in the menu command window.
#
# ========================================================================
#
#     Edit the below module:
#
#     MENU_ICONS[ID] = N
#     Replace ID with the menu command window command option.
#     Start counting from 0.
#     0 = First Option... 1 = Second Option...
#     Replace N with the icon index.
#
#     MENU_ICONS_SPACING_LEVEL is the amount of spaces before the
#     command text, when higher, more space for the icon,
#     when lower, less.
#
#     MENU_ICONS_Y_INCREASE is the amount of Y screen position to
#     increase for each line, by default is 24.
#     Use it for adjusting the icons positions to fit the text.
#
# ========================================================================



module OMEGAS7
 
  MENU_ICONS = []   # Don't edit this line.
 
  MENU_ICONS[0] = 83     # First option has icon number 50.
  MENU_ICONS[1] = 107
  MENU_ICONS[2] = 26
  MENU_ICONS[3] = 131
  MENU_ICONS[4] = 112
  MENU_ICONS[5] = 143
  MENU_ICONS[6] = 143
  MENU_ICONS[7] = 143
  MENU_ICONS[8] = 143   # Sixth option has icon number 55.
 
 
  MENU_ICONS_SPACING_LEVEL = 3   # 3 spaces before command text.
 
  MENU_ICONS_Y_INCREASE = 24   # 24 pixels between each icon.
 
end



#==============================================================================
# ** Window Command Plus Icons
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of steps taken to make compatible with Quest Journal:
#    - changed super method to Window_Command, rather than Window_Selectable
#    - removed overlap between this class and Window_Command
#==============================================================================

class Window_Command_Plus_Icons < Window_Command
 
  include OMEGAS7
 
  def initialize (width, commands, column_max = 1, row_max = 0, spacing = 32)
    @space = ""
    for i in 0..MENU_ICONS_SPACING_LEVEL.to_i
      @space += " "
    end
    super (width, commands, column_max, row_max, spacing)
  end

  def draw_item(index, enabled = true)
    command = @commands[index].dup
    @commands[index] = @space + @commands[index]
    super (index, enabled)
    @commands[index] = command
    draw_icon(MENU_ICONS[index],0,index * MENU_ICONS_Y_INCREASE)
  end
end

 It's the same thing, I just changed it around a little bit to have a different super class.

You will aso need to change a line in the quest journal. At around line 921, you should see:

Code: [Select]
    @command_window = Window_Command.new(width, c)

change it to:

Code: [Select]
    @command_window = @command_window.class.new(width, c)

**
Rep: +0/-0Level 88
Sir! You are a genius!

Thank you very much! ^_^

**
Rep: +0/-0Level 83
Aww....Crap......
 :( I found another error. It may be just me and me noobness at rpg maker but i would like it if you would take a look.It was probably my fault. Please help. I took a screenie. See attachments please.
I used to think I was indisisive, but now i'm not so sure.

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best RPG Maker User (Scripting)2010 Most Mature Member
Right above that line, put this line:

Code: [Select]
    p i, ModAlg_QuestData::MENU_INDEX

then tell me everything that prints out when you open the menu in-game

**
Rep: +0/-0Level 83
Aww....Crap......
Now it says:


Nil
4

Then another window pops up and says;

 Error 'Quest Journal' line 925 NoMethodError Occured
undefined method '>=' for nil:NilClass

Thanks for your time.  :) I will hope to hear back soon! Thank you! (Once again see attachments for screenshots)
I used to think I was indisisive, but now i'm not so sure.

**
Rep: +0/-0Level 83
Aww....Crap......
Ok, i fixed part of it. :) (i hope)
Now my problem is that the menu will actually open, but displays no quests tab Example:

Menu:                                        What I want it to be:
Items                                                   Items
Skills                                                    Skills
Equip                                                   Equip
Status                                                 Status
Party                                                   Party
Save                                                   Quests
Game End                                             Save
                                                          Game End

See attachment please
I used to think I was indisisive, but now i'm not so sure.

**
Rep: +0/-0Level 83
Aww....Crap......
I tried to take the party changer off, and it said the same thing as before, only this time it was

Nil
3

Then the other window opened up and said

Error 'Quest Journal' line 925 NoMethodError Occured
undefined method '>=' for nil:NilClass

Sorry for all the confusion!
I used to think I was indisisive, but now i'm not so sure.

********
Resource Artist
Rep:
Level 94
\\\\\
Project of the Month winner for June 2009
Wow, please edit your post instead of triple posting. MA gets around to help everyone in due time.

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best RPG Maker User (Scripting)2010 Most Mature Member
What scripts do you have that modify the menu? IE, what is the script that allows for multiple commands in the menu.

In any case, since it seems you have a number of scripts, this will probably go faster if you upload your project for me to take a look at it.


If you do not want to share your project now, then just make a new project and add all the scripts you have into it and upload that.

**
Rep: +0/-0Level 83
Aww....Crap......
I really don't know how to upload the project, but i took some screenies of the scripts i have.
 :lol:
I have not touched or tampered with any of the main included scripts. Thank you.
Note: If you tell me how to upload the project I gladly would. Thanks! ;D

Edit: I figured it out! Its attached!

Edit 2: Here is the link to the mediafire version http://www.mediafire.com/?dei1myizmjm
« Last Edit: May 04, 2009, 09:52:57 PM by edd0345 »
I used to think I was indisisive, but now i'm not so sure.

********
Resource Artist
Rep:
Level 94
\\\\\
Project of the Month winner for June 2009
Note: If you tell me how to upload the project I gladly would. Thanks! ;D

Compress your game data (Not encrypted so that he can access the scripts) and then take that .exe and upload it using a file uploader site. http://www.sendspace.com/ or http://www.mediafire.com/ work fine. Then copy/paste the 'share' link to that download.