Difference between revisions of "ContentDesigner:Creating Movement"
| Line 39: | Line 39: | ||
The first MovementLoopAddLocation() ends the parameters just after the delay. The function name is optional and is not used throughout most of this code. This line looks like this... | The first MovementLoopAddLocation() ends the parameters just after the delay. The function name is optional and is not used throughout most of this code. This line looks like this... | ||
MovementLoopAddLocation(NPC, -407.46, -60.48, 174.23, 2, 8) | MovementLoopAddLocation(NPC, -407.46, -60.48, 174.23, 2, 8) | ||
| − | + | If the MovementLoopAddLocation() parameters are compared to the parameters guide listed above we can see that -407.46 is the X coords, -60.48 is the y coords, 174.23 is the z coords. We can also see that our speed is set to 2. This should be the average walk speed, and that is what we want to have this NPC do. We end with the delay parameter. This is measured in seconds. So our friend here will pause at this location for 8 seconds before moving to the next location. | |
Revision as of 16:10, 14 June 2016
ContentDesigner:SpawnScripts - Creating Movement
Return to: ContentDesigner:SpawnScripts | Tutorials | Portal | Forum | Project Manager | Bug Tracker
The Creating Movement guide will show you how to get your NPC's to walk and run around. With many different combinations you can make a specific path for the NPC to follow to walking in circles if you choose.
There are two functions that can be used to make an NPC move. Below you will find examples of how to use both to make an NPC move around in Norrath.
The MovementLoopAddLocation() function will allow an NPC to move along a given set of coordinates. This can be along a path, in a circle, or random locations. The below example will show a simple movement script. There must be at least two MovementLoopAddLocation() functions in the script for this to work, and the parameters used are as follows... NPC, x, y, z, speed, delay, function name Note *The delay is in seconds *The function name is optional Now let's see an example function spawn(NPC) MovementLoopAddLocation(NPC, -407.46, -60.48, 174.23, 2, 8) MovementLoopAddLocation(NPC, -420.76, -60.86, 180.15, 2, math.random(5, 15)) MovementLoopAddLocation(NPC, -425.42, -61.32, 186.58, 2) MovementLoopAddLocation(NPC, -424.20, -61.98, 190.47, 2, math.random(5, 15)) MovementLoopAddLocation(NPC, -410.19, -62.87, 189.81, 2, math.random(5, 15)) MovementLoopAddLocation(NPC, -406.82, -60.56, 174.38, 2, math.random(5, 15), "Comment") end This script contains the function spawn(NPC) and will run everything inside this block of code when the NPC spawns. This means everytime the NPC spawns it will begin the movement loop. Taking a closer look at this code we can see there are a few different ways of using the MovementLoopAddLocation() function. Here is breakdown of those lines. The first MovementLoopAddLocation() ends the parameters just after the delay. The function name is optional and is not used throughout most of this code. This line looks like this... MovementLoopAddLocation(NPC, -407.46, -60.48, 174.23, 2, 8) If the MovementLoopAddLocation() parameters are compared to the parameters guide listed above we can see that -407.46 is the X coords, -60.48 is the y coords, 174.23 is the z coords. We can also see that our speed is set to 2. This should be the average walk speed, and that is what we want to have this NPC do. We end with the delay parameter. This is measured in seconds. So our friend here will pause at this location for 8 seconds before moving to the next location.
|
The second one MoveToLocation() will allow the NPC to move to a specific location then stop.