• 🏆 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!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

Quest Triggering Help – killing creeps spread around the map

Status
Not open for further replies.
Level 3
Joined
Sep 6, 2008
Messages
22
Well, I'm a total noob at triggering, and only know how to do the easiest ones, but this is a bit harder, I tried looking at the guides but they were pretty useless.

What I'm trying to do is make a quest, lets call it "Wildlife Killing" for now.
I spread some hostile wildlife creeps around the map, the quest objective is for the hero to kill every single wildlife creep in the map.

How do I make this trigger?

And also, if you know too, how do I make a trigger to collect items? If there were 4 pieces of items, and you are suppose to collect them, how do you make them all happen in one quest, not 4 seperate ones?

-Skisun
 
Level 28
Joined
Mar 25, 2008
Messages
2,955
For the first one, use something like this
  • Events
    • Unit - A Unit dies
  • Conditions
  • Actions
    • If quest_boolean = true then do Set creep_integer = (creep_integer + 1)
    • If creep_integer = *your maximum* then do *stuff*
Whereas the variable creep_integer adds +1 everytime a creep dies and if it'a number is equal to your maximum, you can place your actions after

The boolean variable checks if the quest is enabled, so best is to set it to ''true'' when you start the quest using
  • Set quest_boolean = true
and after the quest is completed, set it back to ''false''

For the second, just use
  • Events
    • Unit - A Unit acquires an item
  • Conditions
    • Or, - multiple conditions
      • (Item being manipulated) equal to *your first item*
      • (Item being manipulated) equal to *your second item*
      • (Item being manipulated) equal to *your third item*
      • (Item being manipulated) equal to *your fourth item*
  • Actions
    • If quest_boolean = true then do Set item_integer = (item_integer + 1)
    • If item_integer = *your maximum* then do *stuff*
There might be slight differences between my trigger and the actual but basically it's the same ;)
 
Level 18
Joined
Aug 23, 2008
Messages
2,319
For the Wildlife Killing quest, you need to say how many of such creeps are there. Then you set a counter trigger which counts the amount of creeps you've killed.

  • Wildlife Killing counter
    • Events
      • A unit dies
    • Conditions
      • (Triggering Unit) is in Wildlife Creeps
    • Actions
      • Set WildlifeKillingCounter = (WildlifeKillingCounter + 1)
      • Quest - Change the description of WildlifeKillingQuest to ((WildlifeKillingCounter + /) + <NUMBER OF CREEPS YOU PLACED>) Wildlifes killed.
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • WildlifeKillingCounter equal to <NUMBER OF CREEPS YOU PLACED>
        • Then - Actions
          • Quest - Mark WildlifeKillingReq as Completed
          • Quest - Mark WildlifeKillingQuest as Completed
          • Quest - Flash the quest dialog button
        • Else - Actions
For the other 1: Do you want the items to be in the inventory at the same time or do they only need to have been picked up so it can be dropped later, but still shows the quest requirement as completed)?


EDIT: You beat me Squiggy! :sad:
But I still think my solution is more clear! :gg:
 
Level 3
Joined
Sep 6, 2008
Messages
22
Thanks both of you! But I'm having another problem, I don't know the variables for the trigger and the action trigger "Set Wildlifekillingcounter = (Wildlifekillingcounter +1) is showing up like this "Set Wildlifekillingcounter[Index] = (Wildlifekillingcounter[Index])"
 
Last edited:
Level 3
Joined
Sep 6, 2008
Messages
22
Uncheck the box stating 'array' and set it up using arithmetical formula
And tripleposting is really really bad for your karma



Sorry, and that doesn't answer my question.
I'm looking to know what type of variables they are and how you setted it up for it to work.
 
Level 18
Joined
Aug 23, 2008
Messages
2,319
It's 1 Integer variable. Wildlifekillingcounter is an integer (number) that gets +1 when a Wildlife unit is killed. That way, it's a counter. The command is 'Wildlifekillingcounter = (Wildlifekillingcounter + 1.00)'. Just like Squiggy said: The Wildlifekillingcounter after the = sign is a Arithmatical command (which is default '1.00 + 1.00') Change the first 1.00 to Wildlifekillingcounter and keep the '+ 1.00'. You'll see that you get 'Wildlifekillingcounter = (Wildlifekillingcounter + 1.00)'.

As for the triple post: Delete you 2 other posts by clicking the Edit button, and just below the post, you see a option 'Delete Post'. Use that to delete them.
 
Level 3
Joined
Sep 6, 2008
Messages
22
It's 1 Integer variable. Wildlifekillingcounter is an integer (number) that gets +1 when a Wildlife unit is killed. That way, it's a counter. The command is 'Wildlifekillingcounter = (Wildlifekillingcounter + 1.00)'. Just like Squiggy said: The Wildlifekillingcounter after the = sign is a Arithmatical command (which is default '1.00 + 1.00') Change the first 1.00 to Wildlifekillingcounter and keep the '+ 1.00'. You'll see that you get 'Wildlifekillingcounter = (Wildlifekillingcounter + 1.00)'.

As for the triple post: Delete you 2 other posts by clicking the Edit button, and just below the post, you see a option 'Delete Post'. Use that to delete them.

Thank you very much! Sorry about the triple posts.
 
  • Like
Reactions: Rui
Status
Not open for further replies.
Top