Urgent help with Modern Algebra's Quest Journal needed

Status
Not open for further replies.

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
22,299
Reaction score
11,712
First Language
English
Primarily Uses
RMVXA
Exactly!

That's what I did with A Tale of a Common Man. The main quest had no reward except the ending itself, and players seemed to like the ending very much, so I guess it worked.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
2,604
Reaction score
1,960
First Language
English
Primarily Uses
RMMV
Iavra, your snippet won't quite work for a few reasons, mainly that by the time the original merge is called the party has been deleted. What you need to do is edit the party merge script directly, and put this somewhere before the line which calls delete_party:

party2.quests.list.each { |quest| 

      0.upto(quest.objectives.size) { |objid|

        if party2.quests.revealed?(quest.id) && party2.quests[quest.id].objective_status?:)revealed, objid)

          party1.quests[quest.id].reveal_objective(objid)

        end

      }

    }

 

This will reveal for party1 any objectives which were revealed for party2, with the exception of quests that party2 didn't have visibility of in the first place.
 
Last edited by a moderator:

Iavra

Veteran
Veteran
Joined
Apr 9, 2015
Messages
1,797
Reaction score
863
First Language
German
Primarily Uses
That's why i extended Game_Party.merge and not Game_Parties.merge ;)
 
Last edited by a moderator:

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
22,299
Reaction score
11,712
First Language
English
Primarily Uses
RMVXA
Having just tried that snippet I can report that it does indeed add all the quests into one list.  So great!

What it doesn't do (yet) is record what progress (if any) was made in any of party 2's quests, everything shows up as incomplete.

What I could do is a series of conditional checks to see if the switches which record the completion of an individual quest is ON or not.  If it is, then a script call to re-complete the quest might do it. I shall have to experiment and see. I'm not sure how to get the data where only some of the objectives were completed, though.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
2,604
Reaction score
1,960
First Language
English
Primarily Uses
RMMV
I thought reveal objective retained completion from before, but that doesn't make sense because it's party 2 that did the completion, not party 1. Hang on a sec.

Iavra: The thing is, Game_Party doesn't HAVE a merge method so that's even worse. :p
 

cabfe

Cool Cat
Veteran
Joined
Jun 13, 2013
Messages
2,353
Reaction score
2,549
First Language
French
Primarily Uses
RMVXA
There's a function already included to be used with a script call: objective_complete?
 

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
22,299
Reaction score
11,712
First Language
English
Primarily Uses
RMVXA
There's a function already included to be used with a script call: objective_complete?
I cannot know which individual objectives a player has completed.  What I can know is that a quest is completed  That is because I activate a switch for that quest telling me that.  I can, therefore, check those switches to see if they are ON or OFF.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
2,604
Reaction score
1,960
First Language
English
Primarily Uses
RMMV
Change it to this.

party2.quests.list.each { |quest| 

      0.upto(quest.objectives.size) { |objid|

        if party2.quests.revealed?(quest.id) && party2.quests[quest.id].objective_status?:)revealed, objid)

          party1.quests[quest.id].reveal_objective(objid)

          if party2.quests[quest.id].objective_status?:)complete, objid)

            party1.quests[quest.id].complete_objective(objid)

          elsif party2.quests[quest.id].objective_status?:)failed, objid)

            party1.quests[quest.id].fail_objective(objid)

          end

        end

      }

    }
 

cabfe

Cool Cat
Veteran
Joined
Jun 13, 2013
Messages
2,353
Reaction score
2,549
First Language
French
Primarily Uses
RMVXA
I cannot know which individual objectives a player has completed.  What I can know is that a quest is completed  That is because I activate a switch for that quest telling me that.  I can, therefore, check those switches to see if they are ON or OFF.
It's exactly what it does:

objective_complete?(quest_id, objective_id_1, ... objective_id_n)

->          This is satisfied if all the listed objectives have been completed

You only enter what you need to be checked, regardless of the overall status of the quest.

Of course, if you need to check every objective separately that'll make a very long conditional branch, but still doable without switches.

Edit: Trihan's version using a script is easier than through traditional eventing in this case.
 
Last edited by a moderator:

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
22,299
Reaction score
11,712
First Language
English
Primarily Uses
RMVXA
Awesome mode officially confirmed.  That new variant works perfectly.

You have no idea how pleased I am about that.  To have the whole thing running smoothly is such a weight off my mind.

Thank you very much indeed.

And thank you, too, Iavra and cabfe, for your contributions to the thinking on this.
 
Last edited by a moderator:

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,367
Reaction score
7,676
First Language
German
Primarily Uses
RMMV
This thread is being closed, due to being solved. If for some reason you would like this thread re-opened, please report this post and leave a message why. Thank you.
 
Status
Not open for further replies.

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

People3_5 and People3_8 added!

so hopefully tomorrow i get to go home from the hospital i've been here for 5 days already and it's driving me mad. I miss my family like crazy but at least I get to use my own toiletries and my own clothes. My mom is coming to visit soon i can't wait to see her cause i miss her the most. :kaojoy:
Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.

Forum statistics

Threads
105,868
Messages
1,017,083
Members
137,583
Latest member
write2dgray
Top