[XP] Organized Quest System

Started by KK20, August 15, 2012, 02:04:59 pm

Previous topic - Next topic

KK20

Script updated to 1.2!

Added a few more features including

  • Repeatable quests

  • New conditional checking script calls

  • Text in the rewards description


Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

KinTery

Is this script can delete some quests? I need a quest script that can delete quests....

KK20

Why would you want to delete quests?

You can use one of these script calls (or all of them at the same time to ensure removal)

$game_party.quests_new.delete(ID)
$game_party.quests_accepted.delete(ID)
$game_party.quests_completed.delete(ID)
$game_party.quests_repeating.delete(ID)

to remove a quest from the party.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

KinTery

December 02, 2013, 02:01:04 am #23 Last Edit: December 02, 2013, 09:04:12 am by KinTery
Well im making some optional quest so when the player didn't accept or complete the quest, it will remove completely instead it always displayed at the scene  :)

Thanks! I'll really use it to my game!

Edit:

I forgot to ask more something, i didn't insert this in my menu. Instead in a common event so when im talking to some NPC and i pressed the scene, it interrupts the conversation. Is there a probability that i can make this un-uninterruptible in other scenes?

Sorry for asking so much!

KK20

December 02, 2013, 12:45:43 pm #24 Last Edit: December 04, 2013, 12:36:33 am by KK20
Never thought of that before. I'll be sure to add easier script calls for that soon.

I would assume that your common event is a parallel process. In order for the parallel process to run, a game switch needs to be turned on. The most obvious solution would be to turn that switch off during the processing of other events. I'm currently not using a computer with RMXP installed, so I'll have to look at the specifics later.

EDIT:

Conditional Branch: The ___ Button is being pressed
  Conditional Branch: !$game_system.map_interpreter.running?
    Script Call: $scene = Scene_Quest.new


Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

PhoenixFire

Hmm.. I like the looks of it, and I like the features you have. I assume it's rather easy to use, and as such, I might use it in my game as well. Sure as hell beats using tons of switches and variables to track a quest status the way I'm doing it now lmao...
Quote from: Subsonic_Noise on July 01, 2011, 02:42:19 amNext off, how to create a first person shooter using microsoft excel.

Quote from: Zeriab on September 09, 2011, 02:58:58 pm<Remember when computers had turbo buttons?

finalholylight

I want new quest 1, 2, 3 only available at town 1, and new quest 4, 5, 6 only available at town 2, how to do that ?
Some quests player can finish and get reward right in scene quest when completed by press C again when viewing that quest, ex: I am viewing quest 001, and I completed all condition, I press C again, a choice box appear :"finish this quest ?", I choose yes and get reward right here. how to do that ?

KK20

Um...not sure by what you mean with the availability. Do you mean a quest will only show up as new/available when you're in a certain map and be removed if you are not? If so, that would just be the script call
$game_party.quests_new.delete(QUEST_ID)


For the second, that will require another Window_Selection in the Quest scene along with other modifications. It's do-able, but not the true intention of the script. I can write this up for you sometime next week most likely--but this will only be a request, not another feature I'll add to the main script unless others think it's a good idea.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

DarkCrow

June 28, 2014, 02:02:34 pm #28 Last Edit: June 28, 2014, 07:01:25 pm by DarkCrow
This script is awesome, and i have an idea its only and idea. to be more customizable i made some screens to explain my idea.
-Set diferente types and colors
-the ability to use an image instead windowskin
Spoiler: ShowHide


in the second view:
-more icons and options in the reward part
-the ability to use an image instead windowskin
-and extra option to put the main action of the quest

Spoiler: ShowHide


Sorry about my english isnt pretty good  :shy:

Zexion

Images are broked.
Can't hotlink dropbox I think

Sylphe

June 28, 2014, 05:38:28 pm #30 Last Edit: June 28, 2014, 06:19:56 pm by Sylphe
I didn't understand the system of new quests : In your video for example, you received a quest but the guy didn't give you the quest ? o_o
Or is it just an "alert" showing which quests are available ?

EDIT : Ok sorry I understood ! Well thank you this system is amazing :)
blindly follow his heart can lead to the loss

Sylphe, descendant of Zoldik Family.
Quote from: TedBearTRY KEEP UP

DarkCrow

Quote from: Zexion on June 28, 2014, 02:53:03 pm
Images are broked.
Can't hotlink dropbox I think


thanks for the report i reupload it to another server  :)

Sylphe

It's the annoying ME again ! :D I think the second idea of finalholylight is very good, I think it would be good to have the choice : which quest can be completed in the Scene_Quest and which quest must be reported to its owner to be completed ?

Example : I have a letter box in my game, and some PNJ can send the reward once they heard the quest was finished. But some never hear, and I have to talk to them (like in the demo).
And when I check the letter box, I only see the quests which PNJ (is it english ? "the quest which PNJ" or "the quests whose PNJ" ? XD) sent the rewards to me :)

Tell me if you didn't understand anything of what I said ._.
blindly follow his heart can lead to the loss

Sylphe, descendant of Zoldik Family.
Quote from: TedBearTRY KEEP UP

finalholylight

June 29, 2014, 12:54:47 pm #33 Last Edit: June 29, 2014, 12:56:56 pm by finalholylight
Actually, my idea is : the guild center (on every towns), yup, where you can see new quests that available for that town,you accept quests here, then also report and get rewards right here.

Ex: player read the quest board in guild center, view new quests (only show new quests), and then accept it by press C when viewing that quest, a choice box appear for choosing accept quest or not, to accept a quest you must pay a fee for register that quest, if you accept, that quest move to accepted quest list, when you complete a quest, come back guild center, talk to quest manager here, a list of accepted quest appear, an accepted quest that was completed will have " ! " , then you press C on that quest, you will get rewards, and that quest move to completed quest list.

In menu option, you have an option name "quest history" that can view accepted and completed quest list, in this accepted quest list, you can not finish quest here, just view info, if you want finish a quest, you must go to guild center and use the accepted quest list of "quest manager" to finish the quest like I said above.

Sylphe

Why would you pay a fee to accept a quest ._. XD It's like I ask you to clean up my room but in exchange... YOU give me money XD !
blindly follow his heart can lead to the loss

Sylphe, descendant of Zoldik Family.
Quote from: TedBearTRY KEEP UP

Blizzard

That's actually genius. I'd totally have people pay me money to be allowed to clean my apartment.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Sylphe

xD well maybe in heaven  :bag: lol

Me I have an error at line 598, when I call Quest.new(5) it tells me :
NoMethodErrorOccured
undefined method 'include?' for nil:NilClass

and here is the code :


def has_available?(id, only=false)
    if only
      return @quests_new.include?(id)
    else
      return (@quests_new.include?(id) or @quests_accepted.include?(id) or
              @quests_completed.include?(id) or @quests_repeating.include?(id))
    end
  end


I put the RMX-OS additionnal code at the end of the Quest script
And I put the Quest script juste below "RMX-OS Script" script.
:(
blindly follow his heart can lead to the loss

Sylphe, descendant of Zoldik Family.
Quote from: TedBearTRY KEEP UP

finalholylight

A person give request to guild, guild write this request into paper and attach it to quest board, many heroes come to guild to find their job, guild like an intermediary, one job, many heroes need that job, so a hero come here must pay a fee to that intermediary for taking away that job, seem logic, right ?
oh, I forgot one more request, player can only finish a quest at a guild that have requesting of that quest. Ex: guild A have new quest 001, guild B have new quest 002, guild C have new quest 001, player accept quest 001, then he can only finish quest 001 at guild A, or C. At guild B, you can't, because they don't request quest 001, quest 001 not show in quest manager's accepted list at guild B (still show in quest history's accepted list).

KK20

June 30, 2014, 01:04:27 am #38 Last Edit: June 30, 2014, 01:06:42 am by KK20
@finalholylight:
Your request is large enough to be an entirely different script. This system only handles quests that the party has recorded. You're asking for like a pub/bulletin board quest system that's too dynamic for this script to be adjusted to.

@Slyphe:
Did you add the code for incorporating this script into existing save files? (second spoiler)

@DarkCrow
I'll think about it. You can make some visually appealing stuff with images, but I feel that the configuration would become even more complicated than it needs to be.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

Sylphe

June 30, 2014, 04:57:52 am #39 Last Edit: June 30, 2014, 05:45:13 am by Sylphe
Oh no I thought it was for the persons who weren't using RMX-OS ^^
blindly follow his heart can lead to the loss

Sylphe, descendant of Zoldik Family.
Quote from: TedBearTRY KEEP UP