• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Quest Help

Status
Not open for further replies.
Level 13
Joined
Oct 1, 2009
Messages
592
So I'm making a quest in my map where you must kill 20 centaurs to get a reward. But I want it to be like; for every 20 centaurs you kill you get +X amount of gold and experience, and when you kill centaur a message shows up like this: "1/20 centaurs killed". And when you've killed 20 centaurs you return to the quest giver and get your reward and then the same quest again. But you can't have 2 of the same quests at the same time.
I also want to have a quest mark on the quest giver, but when the quest is taken, the quest mark is removed and there's a question mark above him instead.
Thanks in advance, it would be great if anyone could help me with this!
 
Level 5
Joined
Oct 18, 2009
Messages
149
1. To make a centaur give you an certain ammount of gold/food/wood you must edit the unit, scroll down and edit the food/lumber/gold awarded when killed.
2. (If 1 is complicated) You can add an item drop that gives the player lumber/gold or food.
3. The progress bar you are trying to achieve may be a custom UI or trigger, I believe.
 
Level 16
Joined
May 1, 2008
Messages
1,605
Seas =)

Often times questions about quests but listen now =)

1) Create 2 variables
- 1: Name: QEffect / Type: Special Effect
- 2: Name: QCount / Type: Integer

(Hint: The names are only examples)

2) Mark the Quest giver:
  • Mark
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Special Effect - Create a special effect attached to the overhead of Paladin 0000 <gen> using Abilities\Spells\Other\TalkToMe\TalkToMe.mdl
      • Set QEffect = (Last created special effect)
(Hint: This creates the effect (the mark). I used as event: Map initialization - you can use something else - the actions are important)

3) For taking the Quest:
  • GetQuest
    • Events
      • Unit - Paladin 0000 <gen> Is selected
    • Conditions
    • Actions
      • Special Effect - Destroy QEffect
      • Trigger - Turn off (This trigger)
      • Quest - Add Quest ...... (and so on)
(Hint: This Destroy the mark if you start the quest and turns off the trigger, so the quest can only be taken once.)

4) Count centaur kills:
  • CountKills
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Dying unit)) Equal to Centaur Khan
    • Actions
      • Set QCount = (QCount + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • QCount Equal to 20
        • Then - Actions
          • Trigger - Turn off (This trigger)
          • Game - Display to (All players) for 10.00 seconds the text: You killed 20 centaur ...
        • Else - Actions
(Hint: The kills are stored in the variable "QCount". If it equal to 20 trigger turned off)##

Hope this help you - and ofc you can add more things - this is just the basic you need - Have fun!
 
Level 5
Joined
Oct 18, 2009
Messages
149
Seas =)

Often times questions about quests but listen now =)

1) Create 2 variables
- 1: Name: QEffect / Type: Special Effect
- 2: Name: QCount / Type: Integer

2) Mark the Quest giver:
  • Mark
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Special Effect - Create a special effect attached to the overhead of Paladin 0000 <gen> using Abilities\Spells\Other\TalkToMe\TalkToMe.mdl
      • Set QEffect = (Last created special effect)
3) For taking the Quest:
  • GetQuest
    • Events
      • Unit - Paladin 0000 <gen> Is selected
    • Conditions
    • Actions
      • Special Effect - Destroy QEffect
      • Trigger - Turn off (This trigger)
      • Quest - Add Quest ...... (and so on)
4) Count centaur kills:
  • CountKills
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Dying unit)) Equal to Centaur Khan
    • Actions
      • Set QCount = (QCount + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • QCount Equal to 20
        • Then - Actions
          • Trigger - Turn off (This trigger)
          • Game - Display to (All players) for 10.00 seconds the text: You killed 20 centa...
        • Else - Actions

Ah, way ahead of me :gg:
 
Level 13
Joined
Oct 1, 2009
Messages
592
Thank you! Now I got that fixed:grin:. But I can only take the quest 1 time, tho I actually changed my mind about that. Now i want it to be a "1-time-quest" but i got another question, how do i make a following quest that you can only get if you completed the Centaur quest? rep+
 
Level 5
Joined
Oct 18, 2009
Messages
149
Thank you! Now I got that fixed:grin:. But I can only take the quest 1 time, tho I actually changed my mind about that. Now i want it to be a "1-time-quest" but i got another question, how do i make a following quest that you can only get if you completed the Centaur quest? rep+

Make a trigger with the other quest that is activated when the current quest is finished. (Or cinematic, in some cases)
 
Level 16
Joined
May 1, 2008
Messages
1,605
Seas =)

About the following quest.
You just create a second trigger this is " Initially off" ( You can remove the mark at "Initially on" )

After you kill this centaur, you can turn this trigger on (with the new quest).
  • Trigger - Turn on (The Trigger with the second quest)

Or you do the following (if it is the same quest giver):
1) Create a variable named "CentQuest" and type: Quest
2) Add to the trigger (where you take the quest) the line:
  • Set CentQuest = (Last created quest)
(after you created it ofc)

If you killed the 20 centaur - you go back to the quest giver and get your reward. Now you can use:
  • Quest - Change the title of CentQuest to Centaur Quest Part 2
  • Quest - Change the description of CentQuest to Now kill the centaur king
and so on =)
 
Status
Not open for further replies.
Top