• 🏆 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 Generator v1.2

Callex's Quest Generator



A GUI quest generation system that works with all 12 players. When a player right-clicks a quest vendor, a random quest is generated directed at a preset 'quest hotspot' location. Quest types include gathering items and killing both small groups and large camps of hostile NPCs.
Via the extensive use of variables, everything from quest vendor phrases to quest rewards can easily be tweaked without any advanced triggering knowledge.

Installation Guide

Step 1: Copy the 'Quest Gen Hotspot' unit across.
Step 2: Copy the 'Quest Gen Large Hotspot' unit across *It is important that they are copied in this order!*
Step 3: In the destination map window, press 'File', then 'Preferences' and ensure that the 'Automatically create unknown variables' box is ticked. Press ok when finished.
Step 4: Go to the sound editor in the destination map. Navigate to Sound\Interface and find 'QuestActivateWhat1.wav' and 'GoodJob.wav'. Right-click each one and press 'use as sound'.
Step 5: Copy the 'Variables Setup' trigger across. This will copy all of the variables. Delete it after copying.
Step 6: Copy the entire 'Editable Settings' category across. The 'QuestGen Quest Givers' trigger will appear damaged. This is normal.
Step 7: Copy the entire 'Copyable Triggers' category across.
Step 8: In the 'QuestGen Quest Givers' trigger, add all of your quest vendor units to the 'QuestGenQuestGivers' unit group. Refer to customising
Step 9: Adjust quest phrases if neccessary. *Refer to customising
Step 10: Adjust monster/base/item spawns if neccessary. Remember use the same cases and formats as seem in the examples. *Refer to customising
Step 11: Adjust the quest rewards. The 'reward item percent' refers to the percentage chance of the item being given for a medium difficulty mission of level 5 creeps. The percentage is higher for harder mission and lower for easier missions.
Step 12: Distribute 'Quest Hostpot' and 'Large Quest Hotspot' unit accross the map.
Step 13: Test the map!
Customisation Guide

Phrases:


The quest text is generated by mixing a combination of different phrases. The text can vary depending on the quest type:
Killing Quest
[Greeting Line] [Monster Name + Distance] [Monster Crime] [Monster Action]
Retrieval Quest
[Greeting Line] [Retrieval Line + Quantity] [Item Name]
Camp Raiding Quest
[Greeting Line] [Camp Name + Distance] [Raze it to the ground!]
Greeting lines, retrieval lines, monster crimes and monster actions can be added and edited in the 'QuestGen Phrases' trigger. Adding the following:
  • Set QuestGenGreetingLines[7] = Good to see you, friend!
and setting the greeting count to 8:
  • Set QuestGenGreetingCount = 8
would add the phrase "Good to see you, friend!" to the greeting database. Most other phrases types can be changed in the same way.
The retrieval lines are slightly more complicated, and require a # symbol to indicate the quantity of items to collect. For example:
  • Set QuestGenRetrievalLines[0] = I need you to gather # units of
could say "I need you to gather 3 units of Shimmerweed" in-game.

Creeps/Monsters:


Monster spawns can be adjusted in the "QuestGen Monsters" trigger. For normal kill quests, each monster comes in two parts: The unit-type of the monster and the name of the monster used in the quest text. Since there is allways multiple monsters spawned together, a "Wolf" unit for example could be named "a pack of Wolves". Remember to use the cases shown in the templates when adding new monsters. Bases are very similar, except each monster type is accompanied by two types of building that will likewise be spawned.

For retrieval quests, only the item-type needs to be set for it to work in-game.

Rewards


Quest rewards are probability based: each item type is accompanied by an 'Item Percent' variable. This number states the % chance of each item being given for a medium difficulty quest against level 5 creeps. As difficulty or creep level increase, the chance of each reward spawning also increases. Likewise, easier quests will have far less chance of spawning an item. If there are many high-probability items, then it is likely that a quest will give multiple rewards at once.
The experience payout of a quest can be tweaked by changing 'QuestGenXpFactor' in the rewards trigger. The xp payout is multiplied by the xp factor, so a factor or 0.5 will give half as much xp as a factor of 1.0.

Quest Vendors


A quest vendor can be made by simply adding any unit to the 'QuestGenQuestGivers' unit group as follows:
  • Unit Group - Add Footman 0010 <gen> to QuestGenQuestGivers
Now quests can be given whenever a unit is ordered to right-click the vendor and is both within 200 range and is allied with the vendor. The diffculty of the quests can be changed using custom values:
Custom value of 0: The vendor will give random difficulty quests.
Custom value of 1: The vendor will give easy difficulty quests. (levels 1-4)
Custom value of 2: The vendor will give medium difficulty quests. (levels 5-7)
Custom value of 3: The vendor will give hard difficulty quests. (levels 7-10)

Changelog

v1.1: Vendor turn rate increased, fixed a bug with quests not finishing properly, fixed a bug with creeps spawning at the centre of the map, slightly decreased the xp reward of retrieval quests.
v1.2: Added the ability to tweak the experience output of quests & a minor bug fix.
Bugs/Suggestions are allways welcome!

Keywords:
quest, quests, grind, rpg, system
Contents

Quest Generator v1.2 (Map)

Reviews
19:31, 4th Jan 2010 The_Reborn_Devil: The triggers look ok and it seems to be working correctly. Status: Approved Rating: Useful

Moderator

M

Moderator

19:31, 4th Jan 2010
The_Reborn_Devil:
The triggers look ok and it seems to be working correctly.

Status: Approved
Rating: Useful
 
Level 8
Joined
Aug 4, 2008
Messages
279
Wow, really good!
Suggestion : Add more phrases---The quests are too easy, try to create the unit at random point in the map, to make it more long.---Creating all itens in one place in a point make it too easy.---Add more interactive quests, like - Hey, can you recover my axe? (then create many monsters around the map and a random chance to drop his axe.---

The triggers are very cool, easy to edit. 9/10
 
Level 2
Joined
Aug 21, 2008
Messages
13
I cant end the first quest. It tells me to go back to the quest giver but i rightclick on him and nothing happend. But the idea is great!
 
Level 5
Joined
Feb 16, 2005
Messages
179
It seems quests will occasionally be unfinishable - for now typing "-abandon quest" will allow you to start a new, unbugged quest. But i'll look into what's causing it!

Edit: Ok I think I fixed it. I did about 30-40 test quests and none of them had the completion bug!
 
Last edited:
Level 2
Joined
Dec 29, 2009
Messages
11
Great system, lot better than mine and can be edit easly. there are some bugs thow,
there can be is the ping it still is there after completed Quest
but really great 5/5 :thumbs_up:
 
Last edited:
Level 2
Joined
Dec 14, 2008
Messages
21
It's still bugged, sometimes you can not finish the quest, it says "quest complete" but when you try to return it it says your not finished...

Otherwise a good resource, I was going to use this in my map, but since it's bugged I'll have to find another (or use my own :D )
 
Level 5
Joined
Feb 16, 2005
Messages
179
I agree; it could definitely do with more fleshing out and debugging. It was made for a friend as a side-feature of his map, rather than the main element. It probably isnt suitable as a central quest system.
If I find some free time I'll try and get back to it and update it.
 
Top