Multi Layer Quest Question

nolabel

Member
Reaction score
1
So I'm making an Optional Quest that is triggered when a hero gets a particular item. As the character progressess the Quest will continue to give Updates and eventually a Quest Completed message once all requirements have been met. However I'm not sure how to impliment the Quest Updates or Completed Message via triggers etc etc. Can anyone help me out with this?...

Heres the layout I'm looking to create:
-------------------------------------------
first...

Player Owned Unit - Acquires Item (Iron Gate Key) = Optional Quest Discovered

then...

Player Uses Item - Iron Gate Key on Iron Gate (Ability being cast) = Quest Updates with Message

then...

Player Kills Unit - Troll(Troll drops Iron Gate Key 2) = Quest Updates with Message

finally...

Player Uses Item - Iron Gate Key 2 on Iron Gate (Ability being cast) = Quest Updated as Completed with Message
--------------------------------------------
I hope that explains what I'm looking to do in good enough detail for someone's input/help.
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
Trigger:
  • Quest (Acquire Key)
    • Events
      • A unit acquires an item
    • Conditions
      • Item being manipulated is equal to (your Key)
    • Actions
      • Game Text - Display to all players the text: "<Quest Name> Quest Started:"
      • Game Text - Display to all players the text: " |cff808A87- Unlock the first Iron Gate"
      • Game Text - Display to all players the text: " |cff808A87- Kill the Troll"
      • Game Text - Display to all players the text: " |cff808A87- Unlock the second Iron Gate"

Trigger:
  • Quest (Unlock Gate 1)
    • Events
      • A unit uses an item
    • Conditions
      • Item being manipulated is equal to (your Key)
    • Actions
      • Game Text - Display to all players the text: "<Quest Name> Quest:"
      • Game Text - Display to all players the text: " - Unlock the first Iron Gate"
      • Game Text - Display to all players the text: " |cff808A87- Kill the Troll"
      • Game Text - Display to all players the text: " |cff808A87- Unlock the second Iron Gate"

Trigger:
  • Quest (Troll Death)
    • Events
      • A unit dies
    • Conditions
      • Unit Type of Dying unit is equal to Troll
    • Actions
      • Game Text - Display to all players the text: "<Quest Name> Quest:"
      • Game Text - Display to all players the text: " - Unlock the first Iron Gate"
      • Game Text - Display to all players the text: " - Kill the Troll"
      • Game Text - Display to all players the text: " |cff808A87- Unlock the second Iron Gate"

Trigger:
  • Quest (Completion)
    • Events
      • A unit uses an item
    • Conditions
      • Item type of Item being used is equal Key 2
    • Actions
      • Game Text - Display to all players the text: "<Quest Name> Quest Completed:"
      • Game Text - Display to all players the text: " - Unlock the first Iron Gate"
      • Game Text - Display to all players the text: " - Kill the Troll"
      • Game Text - Display to all players the text: " - Unlock the second Iron Gate"


this is an example of how the text would display, i think its a little off but you get the gist

Quest Name> Quest Started:
- Unlock the first Iron Gate
- Kill the Troll
- Unlock the second Iron Gate
 

nolabel

Member
Reaction score
1
Okay so I've used your triggers displayed above. They work fine and they deliever the message to the player that I was desiring. However the game doesn't create the quest itself. That's not a problem though because I already know how to creat the quest so that's not the issue. The issue is similating the quest reacting and updating as the character completes different phases of the quest. I don't know how to fit all this into one or more triggers that relate to a single quest. I either can't get this to work at all or I can't get the game to identify which quest I'm talking about. Ugh this is annoying.
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
|cff808A87 is the color code for the grayed out text, making the appearance of completing pieces of it, and there are quest commands that you can use in sequence with the game text to give/complete quests and just use the same text in those quests as the game text so it stays together
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
613
If you want to differentiate between multiple quests, you're going to have to use either variables or hashtables. I would suggest variables, which are far easier to use. Just create a variable array called Quest and you should be able to identify quests through the index of the array.
 

nolabel

Member
Reaction score
1
If you want to differentiate between multiple quests, you're going to have to use either variables or hashtables. I would suggest variables, which are far easier to use. Just create a variable array called Quest and you should be able to identify quests through the index of the array.

Yeah I've noticed this was possible but I'm confused on how to do it exactly. Because when you go into a trigger and try to pick the right variable, there is always a number right after it. I'm at work so I can't post what I'm talking about but maybe you'll know what talking about. Basically I have no idea what the number means that's right after the variable.

It looks something like this...

Change Quest Description for Quest(variable)[#]

Where I put the "#" sign above is where I get lost. What does that number mean and how do I know what number to put for the value?
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
613
That number next to the variable is the array index, which I mentioned above. When you create a quest, you want to be able to refer to it, but the only other way is through Last Created Quest. So, after creating a quest, you set the variable to point to it, like so:
Trigger:
  • Quest - Create a Required quest titled Gnoll Havoc with the description Destroy the gnoll e..., using icon path ReplaceableTextures\CommandButtons\BTNGnoll.blp
    • Set Quest[1] = (Last created quest)

From now on, Quest[1] will refer to Gnoll Havoc. So long as you remember which index refers to which quest, the rest should be easy. You can always use normal quest variables and name them after the quest they represent, but that would fill you up with variables.
 

nolabel

Member
Reaction score
1
Wow. Once you really learn how these triggers work on a deeper level the Editor becomes so much more powerful. I'm glad I found this site. All of you guys have really helped me take huge steps forward in regards to my project.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top