Note: LucasForums Archive Project
The content here was reconstructed by scraping the Wayback Machine in an effort to restore some of what was lost when LF went down. The LucasForums Archive Project claims no ownership over the content or assets that were archived on archive.org.

This project is meant for research purposes only.

Making NPCs walk waypoints

Page: 1 of 1
 Doc Valentine
01-02-2005, 2:51 PM
#1
Hey guys, I want to have civilians walking around on designated paths but still be able to talk, and when done talking continue on their paths, does anyone know how to make them have a path to walk on and move on?

Original thread (http://www.lucasforums.com/showthread.php?s=&threadid=143318)
 tk102
01-02-2005, 6:29 PM
#2
The k_inc_walkways.nss file contains the generic functions used to make people walk the waypoints. The naming of the waypoints is important in order to use these functions:

wp_NPCtag_## where ## is a two digit number starting with 01. The NPCtag portion should match the .utc tag exactly.

(There is a 2nd naming convention that uses wp_xx_## where xx is a two digit number, but this requires extra work with Local Numbers for each creature.)

Now, for generic walkpaths, you only really need one .utw file and then you can use the .git file to spawn it multiple times using different tagnames (using the naming convention described above). Almost every .git file has an example of this in its WaypointList field.



Your .utc's spawn-in script should be modeled after k_def_spawn01.nss inasmuch that you preserve the following lines:GN_SetDayNightPresence( AMBIENT_PRESENCE_ALWAYS_PRESENT);
GN_SetListeningPatterns();
GN_WalkWayPoints();These lines will force your .utc to start walking the waypoints that you've named especially for them. :)

#glovemaster 19/01/09:
A problem I found was that when you talked to them they stopped walking their waypoints, I had to add the following script to fire onEndDialog to fix it.
#include "k_inc_generic"
#include "k_inc_debug"
#include "k_inc_treas_k2"

void main(){
// Force them to continue walking waypoints.
GN_WalkWayPoints();
}

Stormtrooper789 says: For random walking you may be able to do without any waypoints. Use the following script:
void main()
{
AssignCommand(OBJECT_SELF,ActionRandomWalk())
}

Attach this to the .utc OnHeartbeat script event.
 Sithspecter
03-25-2009, 5:10 PM
#3
A tutorial that's a little easier to understand.

Okay, let's get started.
First, you need to make your creature file.

Do everything that you normally do to make a creature file, but I would make the tag very simple. In my case, I used "walkdrd" without the quotes. Also, change the Template ResRef to whatever you decide to make the tag.

Under the scripts tab, remove everything, and type the following scripts into their corresponding fields:
OnEndDialogu- k_act_walkways2
OnSpawn- k_def_spawn01
OnRested- k_act_walkways2

(These scripts command the NPC to walk the waypoints you will create next)

Save your .utc with the same name that you used in the tag and Template ResRef.

Now, get the waypoint editor open and enter the following in the Template ResRef, Tag, and Name files:
wp_walkdrd_01 (if you're using a different tag, use wp_tag_01)

Next, put your character in the .git file as normal, and then go to the waypoints section. Click 'Add struct', and then use the following for the fields:

Save the waypoint as what you used in the last step.
Okay, now make however many more that you need, just changing the number on the end (ex: wp_walkdrd_01, wp_walkdrd_02, .etc).

Add the .utc to the .git file as normal, and then go down to the waypoint list and click 'Add Struct.'
Find and existing .git with a waypoint beginning with wp_, and then copy and change the following fields:
Tag: wp_walkdrd_01 (or whatever you saved your waypoint as)
TemplateResRef: wp_walkdrd_10 (or whatever you saved your waypoint as)
XPosition: use whereami cheat to find location
YPosition: use whereami cheat to find location
ZPosition: use whereami cheat to find location

Add more waypoints for a longer path. Once your creature completes the last waypoint, he will return to the first and start over.

Hope that helps, and remember to include your .utc's and .utw's in the ERF!

SS
Page: 1 of 1