View Single Post
  #1  
Old 12-18-2002, 11:01 AM
Wiz
Dragon
 
Join Date: Feb 2002
Posts: 583
Default A guide for new quests/NPC wandering.

As of next release, the quest system has recieved a major overhaul and NPC wandering has been implemented. This is a guide to using both, until they're more "settled" parts of the EMU.

--QUESTS--

A bunch of new triggers has been added. These are TRIGGER_FLAGS, TRIGGER_KILLED and TRIGGER_ATTACK.

TRIGGER_KILLED kicks in whenever an NPC kills someone. For example: a giant rat says, 'I pwned u lolo'

TRIGGER_ATTACK is the attack message of an NPC. For example: Guard D'Varr says, 'That was not a very intelligent thing to do.'

TRIGGER_FLAGS is a tad different. It works in two ways, either

TRIGGER FLAGS X X X X where X is the number of flags that need to be matched to fulfill the requiremenr, for example TRIGGER_FLAGS 3 1 2 0 would require flags 1 2 and 3 to be active.

Also, TRIGGER_FLAGS 50 X is used for CUMULATIVE_FLAG. X is the amount of flag 50's you need, in this case. So TRIGGER_FLAGS 50 3 needs CUMULATIVE_FLAGS to have been ran three times.

The following triggers have also been added:

CHECK_FACTION X

X is one of:
1: Ally
2: Kindly
3: Warmly
4: Amiably
5: Indifferent
6: Apprehensive

This is the minimum faction required for it to continue. So, for example:

TRIGGER_TEXT:Hail:{
CHECK_FACTION 5
SAY: Hi
}

This would only say hi if faction is at least indif.

NPC_FLAG X 1/0 - This is in conjuction with CHECK_FLAGS. You can set and unset flag X (Goes up to 50), so that if you for example want 3 items turned it to give a result, you make them set one flag each, check a trigger_flags against all three flags, and voila. Flag 50 is reserved, and instead uses CUMULATIVE_FLAG. This needs no other entries, but will simply raise flag 50 by one notch. This is for multi turnin of the same item and likewise.

Note:

- Multi item turnin only works if you trade one item at a time.
- NPC's will also return items they don't want with this code.
- You can never interact through talk/items with an NPC if they are threat/scowl.

--WANDERING--

Wandering is handled through a few simple commands.

#wpinfo 0-49 - Target an NPC and use this to retrieve WP information assigned to it for waypoints 0-49.
#gassign grid_num - Target an NPC and use this to assign it's spawn2 point to grid grid_num.
#grid add/delete grid_num wandertype pausetype - Adds grid grid_num with the wandertype/pausetype as follows:

Wandertype
0: Circular. NPC will cycle waypoints in order, then head back to the first waypoint.
1: Random 10. NPC will pick a random of the nearest 10 waypoints and go to it.
2: Random. NPCwill pick a random waypoint in the grid and go to it.
3: Patrol. NPC will walk the waypoints to the end, then turn and backtrack.

Pausetype
0: Random half. NPC pauses for half of it's pause time + random of half it's pause time.
1: Full. NPC pauses for full pause time.
2: Random. NPC pauses for random of it's pause time.

or deletes grid number grid_num.

#wp add/delete grid_num pause wp_num - Adds waypoint number wp_num to grid grid_num with a pause of pause on the location you're standing at, or deletes waypoint number wp_num in grid number grid_num (just leave pause at 0)

To setup an NPC to a grid, simply #gassign an NPC spawned by a certain spawn2 point, and all NPC's spawned by that point will adhere to the selected grid. An NPC assigned to a grid will simply start wandering it after spawning.