[XP] Quest Log System

Started by G_G, May 31, 2009, 08:12:58 pm

Previous topic - Next topic

Alton Wyte

I replaced it, but now whenever I try to enter the menu the RGSS player stops working.

Landith

That would be because your using an illegal version of RMXP...
I'm too tired to think of how to fix it, I know it's really simple like changing the J to an E and the last number to a 2.
In the config file with your game.

Alton Wyte

No, I have the legal version. I got it from the RMXP site and purchased it.

G_G

It works fine for me. So it might be another script conflicting with it. I just added one line so it doesnt crash anymore. Thats it.

Alton Wyte

I don't know why, I did nothing, but the next day I got on and it didn't crash anymore.

TheSabreStorm

Okay...so...  I feel COMPLETELY stupid at the moment.  It's been awhile since I messed with RMXP, so I'm a bit rusty on things.

Regardless, I can't figure out just where to put this script.  I don't have any other scripts (yet) in the database, so where does this go, exactly?

WhiteRose

Below everything else, except Main. Once you begin to use more scripts, Blizz posted a sticky topic showing what the order in which you should place your scripts.

TheSabreStorm

Okay...well...I didn't see this one listed in Blizzard's post, presumably because this isn't his.  Either way, I put it below all the RTP scripts and above main, but it's not doing anything that I can tell.  I named it Quest Log System.  Is this incorrect?

WhiteRose

No, that's correct. The script is functioning properly. To see your quest log, you must use a script call containing:
$scene = Scene_Quest.new

For instructions on adding quests, marking them as complete, etc., see the instructions as the beginning of the script. If you need more help, try downloading the demo in the first post and seeing how it is done.

TheSabreStorm

Okay...  I'm stupid.

Do you have to set the thing up on an item or something?  I used the script call on an action-button triggered event and it pulled the log up no problem.  ><

crzyone9584

Quote from: TheSabreStorm on March 23, 2010, 11:22:36 pm
Okay...  I'm stupid.

Do you have to set the thing up on an item or something?  I used the script call on an action-button triggered event and it pulled the log up no problem.  ><



All quests are set up through the script. If you read threw the script you will notice how it is set up.

TheSabreStorm

Yeah, I can see that much.  I just couldn't figure out how to get the thing initiated.  Now that I have that figured out, the rest should be breezy.  Before I get too far into it, though, anybody have any idea how to impose a time limit on a quest?  I have to rewrite my entire scripts from before that I had for random weather effects, day-to-night shifts, and the calendar...but that won't be too hard.  Included in that whole script sequence was an idea for time-limited quests, but I never got around to doing it before my computer crashed and I lost all my stuff.

WhiteRose

A time limit meaning a certain amount of in-game days, or a certain amount of real time minutes? The minutes timer is already hard-coded into the RMXP program. For an in-game amount of time, you'd need to be using a system such as Blizz's ATES. Then do something like this:
1. When the timer begins, store the hour (or day amount; for help with setting up days, see my Calendar System in the Event Systems Database) to a variable.
2. Add a certain amount to that variable, indicating when the time would run out.
3. Create a Parallel Process event (make it a common event as well if the player will be going between maps) that checks if the time is greater than the variable. If so, then call the quest failure or game over screen or whatever.

There might be some flaws with this system as I just wrote it as I thought of it, but with a little tweaking you should be able to get it to work with whatever you need.

TheSabreStorm

Well, as I said, I had an event system set up that basically began a timer at the start of the game.  This timer controlled the day-to-night sequence and initialized the random weather generator.  If you slept at an inn, it automatically bumped the "game time" to the next day.  It all had a controlled day, day of the week week, month, and year system set up and an item that allowed you to pull the information to see the time, day, day of the week, month, and year.

I could easily institute it with this system, I think, but as I said, I have to go back and completely redo my system since I lost all the event scripting for it.  I was mostly just curious to see if anyone had another solution.  I'll be sure to check out your Calendar System, though.

flrodude

I'm confused.  :???:  Ok, i added a new quest into the person's log, but how do i OPEN the log?

G_G

Scene_Quest.new sorry for not placing in instructions

lonely_cubone

To be slightly more precise, call a script command, with the following code:

$scene = Scene_Quest.new

Just in case you don't know the exact syntax ;)

Murd

I'm currently using this script and found out it is very useful, simple but effective.
However; I'm not very good at Eng so I don't really understand how to use it
properly..

Here is a simulated quest senario, (please answer my ???)

1) Once you accept a quest -> call script Quest.add(id)
2) Suppose a quest you accepted is to bring back 10 potions to the quest giver,
    when you already got 10 -> call script ???
3) When you return potions to the quest giver -> call script ???

As the description says "Marks quest names with a yellow color if they're completed",
how to make the quest name marked yellow once complete?

Firstly I tried figure it out but I couldn't find the difference between
quest.complete(id) and quest.completed?(id) and what is the purpose of
call script quest.had?(id) ??

Can anyone help me about this?

Thank you so much,




nathmatt

the difference between quest.complete(id) and quest.completed?(id) is that quest.complete(id) completes the quest but quest.completed?(id) lets you know if the quest had been completed
Join Dead Frontier
Sorry, I will no longer be scripting for RMXP. I may or may not give support for my scripts. I don't have the will to script in RGSS anymore.
My script


Sacred Nym

Quote from: Murd on June 23, 2010, 09:39:40 am
1) Once you accept a quest -> call script Quest.add(id)

Correct

Quote2) Suppose a quest you accepted is to bring back 10 potions to the quest giver,
    when you already got 10 -> call script ???

No, what you want to do is set a variable equal to the number of potions in the player's inventory like so:
Spoiler: ShowHide


Then make a conditional branch checking if the player has enough:
Spoiler: ShowHide


Quote3) When you return potions to the quest giver -> call script ???

Quest.complete(id)

QuoteAs the description says "Marks quest names with a yellow color if they're completed",
how to make the quest name marked yellow once complete?

This is done automatically with Quest.complete

QuoteFirstly I tried figure it out but I couldn't find the difference between
quest.complete(id) and quest.completed?(id) and what is the purpose of
call script quest.had?(id) ??

Quest.complete marks the quest as completed. Quest.completed? is used with a conditional branch:
Spoiler: ShowHide


It checks if the quest has been marked as completed.

"Quest.has?" checks if the player has received the quest.
Quote昨日の自分に「さようなら」
Say "Goodbye" to who you were yesterday.