Modern Algebra's Quest Journal | #2 [UNSOLVED]

Discussion in 'RGSSx Script Support' started by Draganora, Aug 24, 2017.

  1. Draganora

    Draganora Villager Member

    Messages:
    23
    Likes Received:
    0
    First Language:
    English
    Primarily Uses:
    RMVXA
    Ok, I figured out how to make a new quest. But, how do I make an event give you the quest? I know you use a command, but I don't know which command. I would get the demo but it glitches. A lot.
     
    #1
  2. Draganora

    Draganora Villager Member

    Messages:
    23
    Likes Received:
    0
    First Language:
    English
    Primarily Uses:
    RMVXA
  3. bgillisp

    bgillisp Global Moderators Global Mod

    Messages:
    11,891
    Likes Received:
    12,009
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    Go to events: Script call. In the script field, enter the following:

    reveal_objective(id that you assigned to the quest, objective number that you want the player to see in the journal)
     
    #3
  4. Kyo Panda

    Kyo Panda Veteran Veteran

    Messages:
    34
    Likes Received:
    24
    Location:
    Brazil
    First Language:
    Portuguese
    Primarily Uses:
    RMMV
    Acording with the script, you should use a Script command call with the following:

    Code:
    quest(quest_id)
    Being quest_id the ID of the quest.

    You'll probably need to use other Script calls to progress with the quest:

    Code:
    #        reveal_objective(quest_id, objective_id_1, ..., objective_id_n)
    #            quest_id : the integer ID of the quest you want to access.
    #            objective_id_1, ..., objective_id_n : a list of the IDs of the
    #              objectives you want to operate on. It can be as few as one or as
    #              many as all of them.
    #          Will show the listed objectives in the Quest's information
    #
    #        conceal_objective(quest_id, objective_id_1, ..., objective_id_n)
    #          Will hide the listed objectives in the Quest's information
    #
    #        complete_objective(quest_id, objective_id_1, ..., objective_id_n)
    #          Changes the colour of the listed objectives to the completed colour.
    #          The quest is completed once all prime objectives are.
    #
    #        uncomplete_objective (quest_id, objective_id_1, ..., objective_id_n)
    #          Changes the status of the listed complete objectives back to active
    #
    #        fail_objective(quest_id, objective_id_1, ..., objective_id_n)
    #          Changes the colour of the listed objectives to the failed colour.
    #          The quest is failed once one prime objective is.
    #
    #        unfail_objective(quest_id, objective_id_1, ..., objective_id_n)
    #          Changes the status of the listed failed objectives back to active
    #
    #        change_reward_status(quest_id, value)
    #            value : either true or false. If excluded, defaults to true.
    #          Totally optional, but this is just a personal switch which you can
    #          turn on when the reward is given. You can then make it a condition
    #          so you don't reward the players more than once. (see line 180)
     
    #4
  5. Draganora

    Draganora Villager Member

    Messages:
    23
    Likes Received:
    0
    First Language:
    English
    Primarily Uses:
    RMVXA
    Hold on, in the quest script, do I replace # with a number or do I put a number after it?
     
    #5
  6. bgillisp

    bgillisp Global Moderators Global Mod

    Messages:
    11,891
    Likes Received:
    12,009
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    You need to read the *entire* editable region please. All 630+ lines of it, as it is important. Here's the relevant part from the script on my computer:

    when quest_id
    q[:name] = "??????"
    q[:icon_index] = 0
    q[:level] = 0
    q[:description] = ""
    q[:banner] = ""
    q[:banner_hue] = 0
    q[:objectives][0] = ""
    q[:objectives][1] = ""
    q[:objectives][2] = ""
    q[:prime_objectives] = [0, 1, 2]
    q[:custom_categories] = []
    q[:client] = ""
    q[:location] = ""
    q[:rewards] = []
    q[:common_event_id] = 0
    q[:layout] = false

    All of that is needed to set up a quest (except the objectives[1] and objectives[2], and you can add more or less to the prime objectives line). Quest ID (right after the when) is the number you pick, and it must be unique (not used by any other quest).

    I can't say or post much more though as my internet is being spotty today, so I have to leave it at that as it will probably disco me if I try to type more.

    Edit: Ignore the faces, that's the browser editing : o and : p (I added the space so it didn't do it again here). But the sample is line 630 on my script, so look around there.
     
    #6
  7. Draganora

    Draganora Villager Member

    Messages:
    23
    Likes Received:
    0
    First Language:
    English
    Primarily Uses:
    RMVXA

    Like this?
    Quest Script.PNG

    Also, is this script call?
    Script Call.PNG
     
    #7
  8. bgillisp

    bgillisp Global Moderators Global Mod

    Messages:
    11,891
    Likes Received:
    12,009
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    Pretty much! Though I'd add a space between the layout and the when 2 line, just to make it easier to read. And definitely keep doing the #First Quest like you did, as that will only help you when you get 15095710952 quests you need to figure out.

    Suggestion: The order you put the quests in will determine where they show up in the quest log. Also, you cannot move them around after a save game has been made, if you do those changes will not show up until you start another new game. So I'd consider putting your main quests first then leave a *huge* gap (I did it where I started my side quests on 21, which allowed me to use 1 - 20 for the main quests) then start the side quests. That will help organizing.
     
    #8
    Draganora likes this.
  9. Draganora

    Draganora Villager Member

    Messages:
    23
    Likes Received:
    0
    First Language:
    English
    Primarily Uses:
    RMVXA
    Yay! Now, one more thing, and then i'm set. What command to I enter into the script call again?
     
    #9
  10. bgillisp

    bgillisp Global Moderators Global Mod

    Messages:
    11,891
    Likes Received:
    12,009
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    For that quest, I would use:

    reveal_objective(2, 0)

    That will make the first objective of quest 2 show up in the quest log. If you want to mark it as complete, use:

    complete_objective(2, 0)

    I never use the features to automatically reward the party (as I do that manually) so I'm no help with that part.

    Also, if you ever need to start a quest over, using this quest as an example:

    reset_quest(2)

    It's useful when developing a game, as maybe you want to reset it on your saves and not start the game over just to test the quest.
     
    #10
    Draganora likes this.
  11. Kes

    Kes Global Moderators Global Mod

    Messages:
    20,580
    Likes Received:
    10,504
    First Language:
    English
    Primarily Uses:
    RMVXA
    I've used this script in 3 games now, and I want to second bgillisp's advice to manually reward the player for finishing the quest. The script call for that (for quest 2) is
    distribute_quest_rewards(2)
     
    #11
  12. Draganora

    Draganora Villager Member

    Messages:
    23
    Likes Received:
    0
    First Language:
    English
    Primarily Uses:
    RMVXA
    Thank you, also, about rewards.

    I want to change the rewards but everytime I go to open the Quests tab in the game once I edited it I get an error screen.
    Is there any way I could get rid of the rewards completely? I wanted to make the quest journal for people who haven't played in a long time. Of coarse I will use rewards in side-quests. For the side-quests, how do I change the rewards and not get a warning screen? I can send a picture of the warning screen if anyone wants to see it.
     
    #12
  13. bgillisp

    bgillisp Global Moderators Global Mod

    Messages:
    11,891
    Likes Received:
    12,009
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    Hmm...the error in the quest screen might be because you haven't started a new game since you set up the quests. Be sure to do that.

    As for the error screen if you edit the rewards, that means you probably forgot to keep the { } exactly where they are. Any { must have a matching } in code, else the code doesn't know when to end.

    If that isn't it, post a picture of the error message and the quest as it is currently set up in the script.
     
    #13

Share This Page