GetNpcData: Difference between revisions
Jump to navigation
Jump to search
Complete Lua function catalog |
Document G1R:MP 0.1.2 navigation collision API |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
= getNpcData = | = getNpcData = | ||
<div style="background:#fff5f5; border:1px solid #d13b3b; border-left:5px solid #d13b3b; color:#111111; padding:0.85rem 1rem; margin:0.75rem 0 1rem;"> | |||
<div style="color:#111111; font-weight:bold; letter-spacing:0.04em;">IMPROVED FROM UPDATE 0.1.2</div> | |||
<div style="color:#111111; margin-top:0.25rem;">This function is available in earlier releases and has corrected or expanded behavior in G1R:MP 0.1.2 and later. The contract below describes the updated behavior.</div> | |||
</div> | |||
Returns the complete authoritative state of a scripted NPC. | Returns the complete authoritative state of a scripted NPC. | ||
| Line 16: | Line 20: | ||
== Returns == | == Returns == | ||
Returns a table containing | Returns a table containing <code>id</code>, <code>ownerResource</code>, <code>name</code>, <code>skin</code>, <code>armor</code>, <code>weapon</code>, <code>x</code>, <code>y</code>, <code>z</code>, <code>yaw</code>, <code>speed</code>, <code>routeIndex</code>, <code>routeCount</code>, <code>routeLoop</code>, <code>routeActive</code>, <code>paused</code>, <code>nameplateIdVisible</code>, <code>obstacleBehavior</code>, <code>navigationMode</code>, and <code>navigationCollisionMode</code>; otherwise returns <code>false</code>. | ||
== Examples == | == Examples == | ||
| Line 30: | Line 34: | ||
* Available only in server-side resource scripts. | * Available only in server-side resource scripts. | ||
* Position and speed values use metres and metres per second; yaw uses degrees. | * Position and speed values use metres and metres per second; yaw uses degrees. | ||
* <code>obstacleBehavior</code> is <code>"wait"</code> or <code>"avoid"</code>, <code>navigationMode</code> is <code>"builtin"</code> or <code>"scripted"</code>, and <code>navigationCollisionMode</code> is <code>"combined"</code>, <code>"builtin"</code>, or <code>"custom"</code>. | |||
* Mutating functions accept only NPCs owned by the calling resource. | * Mutating functions accept only NPCs owned by the calling resource. | ||
Latest revision as of 13:52, 4 September 2026
getNpcData
IMPROVED FROM UPDATE 0.1.2
This function is available in earlier releases and has corrected or expanded behavior in G1R:MP 0.1.2 and later. The contract below describes the updated behavior.
Returns the complete authoritative state of a scripted NPC.
Syntax
table|false getNpcData(int npcId)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
npcId |
int |
yes | The server-assigned NPC identifier returned by spawnNpc or getNpcs.
|
Returns
Returns a table containing id, ownerResource, name, skin, armor, weapon, x, y, z, yaw, speed, routeIndex, routeCount, routeLoop, routeActive, paused, nameplateIdVisible, obstacleBehavior, navigationMode, and navigationCollisionMode; otherwise returns false.
Examples
Read the current route state:
local npc = getNpcData(npcId)
if npc then
outputDebugString(("Route %d/%d"):format(npc.routeIndex, npc.routeCount))
end
Notes
- Available only in server-side resource scripts.
- Position and speed values use metres and metres per second; yaw uses degrees.
obstacleBehavioris"wait"or"avoid",navigationModeis"builtin"or"scripted", andnavigationCollisionModeis"combined","builtin", or"custom".- Mutating functions accept only NPCs owned by the calling resource.