• 🏆 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!

Quests

Status
Not open for further replies.
Level 3
Joined
Aug 22, 2004
Messages
39
I can't figure out how to make a quest, I can't find a tutorial and I know you have to use triggers like the Quest in the Action Trigger, well anyways, first I want a npc to start out with the "!" mark over the npc's head to tell the player that it has a quest for the player and tell the player what to do. When the npc talks I just want what it says on the screen, nothing fancy. Then the player gets the quest.

So I can be more specific I'll write what the quest will be because I kind of screwed up typing the first paragraph.

I want an npc to give a quest to the player to go into a graveyard and kill all the zombies and then return for a reward. Also my map will be for multiplayer so I want to give this quest only to the player who talks to the npc and also I want the zombies to spawn when the spawn regions are in view of the player.

Thanks in advance.
 

Rui

Rui

Level 41
Joined
Jan 7, 2005
Messages
7,550
You guys are lazy nothing more. Can't you simply open up the editor and explain the stuff to the guy. Now I will "try" to explain how to make a quest (and why try? Because i think too few people understand me <_<). I am making a map right now so I will just explain how I made it. Create 3 quests. One named Reset Status, other named The Activation trigger and the third named Quest Trigger. The Reset Status and Quest Trigger are initially off.

I created a variable named EnteringUnit, which is a unit (unit). If you are making a quest for Heroes, let's make it this way; create a medium region around the guy that gives the quest and use this triggers:

The Activation Trigger

Events:
-Unit-Unit enters region MediumRegion (or the name you gave it, whatever)

Conditions:
-Boolean Comparison/Unit/Unit Classification Check: ((Entering Unit) is a Hero Equal to True

Actions:
-Set Variable. Set EnteringUnit = (Entering Unit)
-Trigger/Turn On: Turn On Quest Trigger
-Trigger/Turn On: Turn on Reset Status
-Trigger/Turn Off: Turn off This Trigger


This trigger is initially On. Why using a variable? If not, there would be a huge bugg if many heroes met the quest guy at same time (multiple quests would be created). Let's make the Quest Trigger. Create a Variable, which is a quest (quest) and name it TheQuest, or give it a name yourself.

Events:
-Generic Unit Event: A Unit enters In front of the quest guy (quest name)

Conditions:
-Unit Comparison: (Entering Unit) Equal to EnteringUnit (EnteringUnit is the variable you created)

Actions:
-Cinematic: Turn cinematic mode On for (All allies of (Owner of Entering Unit)) (I haven't found a way of making cinematic on for only one player :/)
-Cinematic: Send transmition from Quest Guy named (Name of the Unit) Play No sound and Display "blablabla" (-.-)
-Cinematic: Turn cinematic off for all players (to spare time <_<)
-Quest/Create: Quest - Create a Optional/Required quest titled Name of the Quest with the description "blablabla", using icon path (Choose Icon)
-Quest: Flash the Quest dialog buttom
-Set Variable: Set TheQuest equal to (Last created Quest)
-Quest/Create Quest Requirement: Create a Quest Requirement for TheQuest (variable) with the description "Kill the trolls" (just an example. Here you must write what the player is supposed to do).
Trigger-Turn Off: Turn off (This Trigger)


I'm sorry, but the ways i have to do quests are complex, but I like the way I make them sorry. Finnaly, we create the Reset Status Trigger.

Events:
-Unit-Unit Leaves Region: A unit leaves MediumRegion

Conditions:
-Unit Comparison: (Leaving Unit) equal to EnteringUnit (variable)

Actions:
-Set Variable: Set EnteringUnit = No unit (preset)
-Trigger/Turn On: Turn On The Activation Trigger (the first trigger you made)
-Trigger/Turn off: Turn off Quest Trigger
-Trigger/Turn off: (This trigger)


I'm sorry for the huge post. I know my ways are hard, but i try to give the quest full protection against buggs.

-Rui
 
Level 3
Joined
Aug 22, 2004
Messages
39
Rui, when you said you didn't know how to make a cinematic for only 1 player, I think I figured out how to do that. Go to Cinematic/Cinematic Mode/Turn Cinematic mode on for Player Group - Player 1 (Red) it was in the Preset bar.

Ok, a couple of your triggers don't make sense, for the Quest Trigger

Events

in the Generic Unit Event, there is no A unit enters variable.

And in the Action

-Cinematic: Send transmition from Quest Guy, but for the quest guy, I try selecting my quest guy in the unit bar, but it won't select, whats wrong?

I believe these two are the only things wrong and thanks for the help.
 
Level 2
Joined
Jul 8, 2005
Messages
7
O.K., here's what I do. This way is a bit easier, but it is a little lazier.

Events:
Unit enters Region(Region around your quest guy)

Condition:
Triggering Unit is a Hero=True(Boolean Comp.)

Action:
Turn Cinema Mode on for Player Group(Player(Color))
Cinmatic(Whatever you want him to see)
Camera Pan for Player Group(Player(Color)) to unit over _seconds
Turn Cinematic Mode Off for Player Group(Player(Color))
Create Quest(Give Title, description, all that stuff)


And There ya go.

Also, to create the exclamation marks.

Event:
Whatever event you want, I suggest Map Initiation.

Condition:
None

Actions:
Special Effect\Create Special Effect On Unit
Create a Special Effect to the overhead of (Unit) using Abilities\Spells\Other\TalkToMe\TalkToMe.mdl.

There ya go, you now have your exclamation mark.
Have fun.
 

Rui

Rui

Level 41
Joined
Jan 7, 2005
Messages
7,550
Rui, when you said you didn't know how to make a cinematic for only 1 player, I think I figured out how to do that. Go to Cinematic/Cinematic Mode/Turn Cinematic mode on for Player Group - Player 1 (Red) it was in the Preset bar.

Player 1 (Red)? And how you know that the hero receiving the cinematic belongs to player 1? Variables' function enters here. That's why you need to set EnteringUnit = (entering unit).
A unit enters variable? What? I can't see where i wrote that.

O.K., here's what I do. This way is a bit easier, but it is a little lazier.

Events:
Unit enters Region(Region around your quest guy)

Condition:
Triggering Unit is a Hero=True(Boolean Comp.)

Action:
Turn Cinema Mode on for Player Group(Player(Color))
Cinmatic(Whatever you want him to see)
Camera Pan for Player Group(Player(Color)) to unit over _seconds
Turn Cinematic Mode Off for Player Group(Player(Color))
Create Quest(Give Title, description, all that stuff
)

Sure that was just a copy from my way. What if you enter with more than one hero? What will happen? You have to use the "Wait" function, and the trigger would not finish before your ally's hero enters. This, in multi-player of course.

-Rui
 
Level 13
Joined
Jul 4, 2005
Messages
1,064
There is no "right" way of creating quest. Create quest on beginning and then unhide it, or create after cinema unhidden? Use text messages like in warcraft? Or use my own? Etc. etc. etc.

Everybody does it another.

One thing you just need to know is what do quest actions do, else you can figure out on your own.

PS If you make cinema just for 1 player, remember, you must apply cameras only for player 1, etc etc.
 
Level 3
Joined
Aug 22, 2004
Messages
39
Ok, I fixed my other problems, but now I have another problem, when I go into the region to start the quest, the cinematic won't start, but if I step out of the region and come back in the cinematic will start.

And also when the quest starts, well I don't have a quest yet, the quest dialog button flashes, but nothing shows up in the spot where the quest is suppose to be.

And also how do I turn off the explination point after the quest is given, I gave the explination point its own trigger and I tried the Turn Off - Trigger Action, but that didn't work. How do I fix these problems?
 

Rui

Rui

Level 41
Joined
Jan 7, 2005
Messages
7,550
Really, I can't understand what you did wrong.

I have another problem, when I go into the region to start the quest, the cinematic won't start, but if I step out of the region and come back in the cinematic will start.

Then there was a confusion with (leaving unit) and (entering unit). or maybe you placed the regions in wrong places.

And also when the quest starts, well I don't have a quest yet, the quest dialog button flashes, but nothing shows up in the spot where the quest is suppose to be.

...It's hard to detect the problem. The "Quest-Create" creates the quest no matter what.
And also how do I turn off the explination point after the quest is given, I gave the explination point its own trigger and I tried the Turn Off - Trigger Action, but that didn't work.

Maybe you turned off the wrong triggers <_<

For anyone that comes here and says that all my triggers are wrong; i tell you one thing; I created this quest and everything worked 100% well, so if this isn't working its YOUR fault.

-Rui
 
Level 3
Joined
Aug 22, 2004
Messages
39
Sorry Rui, I just don't know what I did wrong with your way, so I used Renatuss way and it worked.

Now I have new questions for my quest, how do I make the quest requirements so I have to kill 10 zombies and on screen it tells you how many zombies you already killed?

And how do I make it so the player has to go back to the npc that gives the quest to get his reward with a cinematic saying how grateful he is for doing his quest.

And how do you make it so the zombies will spawn in a certain distance from the hero? For instance the zombies will spawn when the hero is in viewing distance of the zombies.

And how do you turn off the exclamation point?!
 
Level 2
Joined
Jul 8, 2005
Messages
7
That's right!!!!! My way worked!!!!!
O.k., for new problems:

Now I have new questions for my quest, how do I make the quest requirements so I have to kill 10 zombies and on screen it tells you how many zombies you already killed?
I honestly don't know, the only thing I could think of, is when you give the quest to the person, create one of those little boxes(Rui will have to help you out with that, I've only just seen them in-game), and do a string so that you set it to 10, then when a unit kills a zombie, make the counter do string # that it is right now, minus one.

And how do I make it so the player has to go back to the npc that gives the quest to get his reward with a cinematic saying how grateful he is for doing his quest.
I am 99% sure this will work:
When the player gets the quest, turn off the trigger.
Then make a new trigger have unit enters the same region, then actions, just make another cinematic for that player. And remember to have a hero=true condition.

And how do you make it so the zombies will spawn in a certain distance from the hero? For instance the zombies will spawn when the hero is in viewing distance of the zombies.
The only thing I could think of here was that when a hero enters a region, then create # of units(zombies) in a different region ahead of him. Thats the only thing I could think of off the top of my head, but if I think of something else, I'll post it.

And how do you turn off the exclamation point?!
Once again, I say just do Turn off-This trigger. And I saw that you posted before that you tried that and it didnt work, but maybe you somehow messed up. BUT, if you didnt, I can't think of anything.

Have fun with the map, just mess arounf for a while, you might learn more than you think. And also: Experiment with variables, they are VERY useful.
 

Rui

Rui

Level 41
Joined
Jan 7, 2005
Messages
7,550
I honestly don't know, the only thing I could think of, is when you give the quest to the person, create one of those little boxes(Rui will have to help you out with that, I've only just seen them in-game), and do a string so that you set it to 10, then when a unit kills a zombie, make the counter do string # that it is right now, minus one.

Yeah sure but I don't know how to make it either, I still have to try a leaderboard tutorial, so hold on.

I am 99% sure this will work:
When the player gets the quest, turn off the trigger.
Then make a new trigger have unit enters the same region, then actions, just make another cinematic for that player. And remember to have a hero=true condition.

Yeah sure but what if the zombies are dead, and the hero is returning, but another hero reaches there first? The hero that reached there first receives the reward, and the other that did all the work receives nothing but a few points of EXP. -_- That's why you need to store the unit in a variable. Seems that 1% left was stronger.
The only thing I could think of here was that when a hero enters a region, then create # of units(zombies) in a different region ahead of him. Thats the only thing I could think of off the top of my head, but if I think of something else, I'll post it.

Spawn 1 zombie for neutral hostile in region ahead of the one that the hero stands on? -_-

Once again, I say just do Turn off-This trigger. And I saw that you posted before that you tried that and it didnt work, but maybe you somehow messed up. BUT, if you didnt, I can't think of anything.

Have fun with the map, just mess arounf for a while, you might learn more than you think. And also: Experiment with variables, they are VERY useful.

LOOOOL!!! Maybe remove the special effects from the quest guy? LOOOOL!

-Rui
 
Level 3
Joined
Aug 22, 2004
Messages
39
Ok, this could be my last question, which I asked in the post before, but no one seemed to notice that there were 2 questions in the second paragraph. How do I make the zombies the quest requirement, I tried on my own to figure it out, but I couldn't. How do I?

LOOOOL!!! Maybe remove the special effects from the quest guy? LOOOOL!

Then how are the players going to know if the npc has a quest for them.
 
Level 3
Joined
Aug 22, 2004
Messages
39
Come on people I need help. If the zombies were already in the map and not spawned I could figure it out, but since they are not, I don't know what to do. Please help.
 
Level 3
Joined
Aug 22, 2004
Messages
39
Ok, I fixed my Exclamation Point trigger, it was called....

Action

Special Effect - Destroy Special Effect

I still don't know how to make the zombies that spawn the quest requirement. Like I wrote before....

If the zombies were already in the map and not spawned I could figure it out

But I can't seem to find the right action trigger.
 
Status
Not open for further replies.
Top