HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

How can I create a quest properly?

07-19-2003, 01:37 AM#1
Loren_3000
How do I make a quest **properly**?? That isn't full of BUGS and looks SILLY? This is my 1st attempt to create a quest, it has a couple of things wrong with it that I can't seem to figure out by myself how to fix. The purpose of this post is therefore to get HELP on how I can do this. Yes I have read the FAQ on this forum, both it and what tutorials I can find on the net provided little help for my specific problem.

For your convenience, as this is going to be a long post, you can skip directly to the areas I am needing help with as I will mark them off with astericks and dotted lines like this
**Message: This is a comment about where I need help with triggers, etc**
--------------------------------------------------
These are the actual trigger events, etc for you to look at that are troubling me.
--------------------------------------------------
Alternatively, you can scroll right to the bottomb for a quick description of my 3 problems.

Without further ado... my post.

First I created a new unit that will be the NPC, called "Haziz and Guldar" (a mortar team guy). Don't worry, he's invincible.

OK next, I do a series of triggers, including the giving of the quest in trigger A, so the quest is not given twice I do trigger B, a trigger C for the completion of the quest, and a trigger D for a short message afterwards so you don't get a quest completion message every time you return to that NPC...
Also, I used trigger TheOverseerSetup which sets up the particular enemy you have to kill, therefore preventing people from completing the quest before it is actually given.

Trigger A
Events: Unit: a unit comes within 200.00 within (Haziz and Guldar) 0042 <gen>
Conditions: (entering unit) is a hero equal to true
(owner of (entering unit) controller) equal to user

Actions: Make Haziz and Guldar 0042 <gen> face (entering unit) over 1.00 seconds.
**I would very much like to improve this next part of my quest system, any suggestions are welcomed, as I do not know how to do a transmission that looks good like how Blizzard can do it**
-------------------------------------------------
Game: Display to (all allies of (owner of (entering unit))) for 10 seconds the text:
"Guldar:
It's hard getting any quality goods to this village with those gnolls. I don't know what's gotten into them. Perhaps you could find out? "
Cinematic: Send transmission to (owner of (entering unit)) from Haziz and Guldar 0042 <gen> named (empty string) play (no sound) and display (empty string) modify duration: Add 0.00 seconds and (don't wait)
-------------------------------------------------
Create an optional quest titled "The Overseer" with the description: "Haziz and Guldar, the local merchants of Costa Grandia, have asked you to investigate why the Gnolls are so agressive, and organized. Find out who or what is behind their increasingly dangerous acts, and end it." using icon path ReplaceableTextures\CommandButtons\BTNGnollArcher.blp
Quest - Mark (last created quest) as discovered
Quest - Flash the Quest dialog button

Trigger - run (ignoring conditions (TheOverseerSetup)
Trigger - turn on (Trigger B)
Trigger - turn off (Trigger A)

Trigger B
Events: Unit: a unit comes within 200.00 within (Haziz and Guldar) 0042 <gen>
Conditions: (entering unit) is a hero equal to true
(owner of (entering unit) controller) equal to user

Actions: Make Haziz and Guldar 0042 <gen> face (entering unit) over 1.00 seconds.
Game: Display to (all allies of (owner of (entering unit))) for 10 seconds the text:
"Guldar:
Why are you back so soon? Go kill those gnolls"
Cinematic: Send transmission to (owner of (entering unit)) from Haziz and Guldar 0042 <gen> named (empty string) play (no sound) and display (empty string) modify duration: Add 0.00 seconds and (don't wait)

Trigger C
***Whenever a unit approaches the NPC Haziz and Guldar at this point in time, if B has not been triggered, both triggers B and C seem to happen, which I don't want, even though I turned off trigger B!***
Events: Unit: a unit comes within 200.00 within (Haziz and Guldar) 0042 <gen>
Conditions: (entering unit) is a hero equal to true
(owner of (entering unit) controller) equal to user

Actions: Make Haziz and Guldar 0042 <gen> face (entering unit) over 1.00 seconds.
Game: Display to (all allies of (owner of (entering unit))) for 10 seconds the text:
"Guldar:
Thanks for killing the gnolls. "
Cinematic: Send transmission to (owner of (entering unit)) from Haziz and Guldar 0042 <gen> named (empty string) play (no sound) and display (empty string) modify duration: Add 0.00 seconds and (don't wait)
Game: Display to (all allies of (owner of (entering unit))) for 10 seconds the text:
"Quest Completed: The Overseer".
**The following actions do not seem to have any affect at all on the quest log, the quest will still appear to be as the origional quest description and discovered, as in Trigger A**
--------------------------------------------------
Quest - Mark Variable (Quest type) TheOverseer as Completed
Quest- Change the Description of Variable (Quest Type) TheOverseer to "Quest Completed!"
--------------------------------------------------
Trigger - turn on (Trigger D)
Trigger - turn off (Trigger C)

Trigger D
Events: Unit: a unit comes within 200.00 within (Haziz and Guldar) 0042 <gen>
Conditions: (entering unit) is a hero equal to true
(owner of (entering unit) controller) equal to user

Actions: Make Haziz and Guldar 0042 <gen> face (entering unit) over 1.00 seconds.
Game: Display to (all allies of (owner of (entering unit))) for 10 seconds the text:
"Guldar:
Thanks for visiting us again. Good day. "
Cinematic: Send transmission to (owner of (entering unit)) from Haziz and Guldar 0042 <gen> named (empty string) play (no sound) and display (empty string) modify duration: Add 0.00 seconds and (don't wait)

Trigger TheOverseerSetup
Events: None
Conditions: None
Actions: Create 1 unit "The Overseer" for player 11 (dark green) at center of region (OverseerSpawn).

Trigger TheOverseer
Events: A unit owned by Player 11 (dark green) dies.
Conditions: Unit type of (dying unit) equal to (The Overseer).
Game: Display to (all allies of (owner of (entering unit))) for 6 seconds the text:
"Return to Haziz and Guldar for a reward".
**The following actions also do not seem to have any affect at all on the quest log, the quest will still appear to be as the origional quest description and discovered, as in Trigger A**
-------------------------------------------------
Quest- Change the Description of Variable (Quest Type) TheOverseer to "Return to Haziz and Guldar for a reward".
Quest- Flash the Quest Dialog Button
-------------------------------------------------
Trigger - turn on (Trigger C)
Trigger - turn off (Trigger B)




SO if you actually read all that, you'd know I am having 3 main problems:


When my hero approaches the NPC during C, both triggers B and C happen even if I turn B off

Even though I tell the editor to change quest descriptions and mark them as completed, it doesn't do that at all.

Finally, and this is more of a cosmetic thing, I don't know how to make a proper transmission. Any help with that would be appreciated.

Thanks in advance.
07-19-2003, 02:35 AM#2
HeX-MapMaker
I will gladly help you! First, let me address your "cosmetic" wish. Often, making a good-looking transmition can be tough and quite tedious. Here are some usefull tips about making good-looking conversations:

- Place several cameras around the scene of the conversations to make it look like the player is actually "in" the conversation.
- Apply a black filter just as the transmittion is about to begin.
- While the units are have their little conversation, be sure to pan from camera to camera slowly to give it a movie-like appearance.
- For closed captioning, I suggest you put the actual name of the talking in color while the rest of the next in white. This can be done quite easily; for example type in the following string:

&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp|cffff000Guldar:|r It's hard getting any quality goods to this village with those gnolls. I don't know what's gotten into them. Perhaps you could find out?

This will display:
&nbsp&nbsp&nbsp&nbsp&nbsp&nbspGuldar: It's hard getting any quality goods to this village with those gnolls. I don't know what's gotten into them. Perhaps you could find out?

Those crazy characters will make the word Guldar in red. Oh, and don't place a hard return between the character's name and they actual speech.

As for your first problem -- the one about trigger B and C happening. Be sure that in the trigger where you specified question completion, be sure to disable trigger B.

Unfortunately, I will have to look deeper into your second problem... I suspect that it has something to do with improper variable usage...

Anyway, if you'd like a sample map with some transmitions let me know. I can also give you a complete Action/Condition/Event listings for each trigger if you'd like.
07-19-2003, 03:25 AM#3
Pesmerga
I didnt see why they didnt make code like - |red100|r for 100% red and |blue50%| for like 50% blue. But what do i know.
07-19-2003, 03:33 AM#4
piRo-piOn
as for the thing where you turned off the trigger, when you turn a trigger off it doesn't stop it from finishing it's operation. i suggest adding a condition so that trigger B won't run when trigger C will.
07-19-2003, 03:44 AM#5
Loren_3000
I use this to get all the color codes...
It's very useful
http://www.visibone.com/colorlab/

But alas, the thing I was hoping I could get answered was how to properly make my quest work (the problems)
07-19-2003, 06:41 AM#6
Smokenham
Ty for the link, thats gonna help heaps :D KA PAI!