SetNpcArmor: Difference between revisions
Document new NPC/player-mode API and events available from 0.1.5 |
Document armor catalogs and eight armor-upgrade Lua APIs from upcoming 0.1.9; public release unchanged |
||
| Line 42: | Line 42: | ||
From 0.1.5 [[setNpcIdentity]], [[setNpcSkinColor]] and [[setNpcTattoo]] remain independent of armor. Changing or removing armor does not clear these values. Covered skin/tattoo regions naturally remain hidden by garments. | From 0.1.5 [[setNpcIdentity]], [[setNpcSkinColor]] and [[setNpcTattoo]] remain independent of armor. Changing or removing armor does not clear these values. Covered skin/tattoo regions naturally remain hidden by garments. | ||
<!-- npc-appearance015:end --> | <!-- npc-appearance015:end --> | ||
<!-- armor019:start --> | |||
== Armor parts (from 0.1.9) == | |||
Upcoming; not included in public 0.1.8. [[Armor catalog]] lists the 26 bases; [[Armor upgrade catalog]] lists all 84 pieces. This existing function/guide is not newly introduced in 0.1.9. The new [[Armor upgrades|upgrade system]] adds per-character top/mid/bottom selections, full presets and separate player/NPC setters. A different base clears the old parts; choosing the same base keeps compatible selections. Identity, skin tint and tattoos remain separate. See the guide for requirements, safe replacement and synchronization validation. | |||
<!-- armor019:end --> | |||
Revision as of 21:47, 18 October 2026
setNpcArmor
Changes the authoritative armor of a resource-owned scripted NPC.
Syntax
bool setNpcArmor(int npcId, string itemKey)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
npcId |
int |
yes | The server-assigned NPC identifier returned by spawnNpc or getNpcs.
|
itemKey |
string |
yes | A validated key returned by getPlayerArmorNames; armor and weapon accept none to clear the slot.
|
Returns
Returns true when the validated change is accepted and replicated; otherwise returns false.
Examples
Change an NPC's armor:
setNpcArmor(npcId, "none")
Notes
- Available only in server-side resource scripts.
- The state is sent reliably to current viewers and replayed on relevance entry and late join.
- Raw Unreal object paths are never accepted from Lua.
- Use
getPlayerArmorNamesto enumerate supported keys.
Appearance API since 0.1.5
From 0.1.5 setNpcIdentity, setNpcSkinColor and setNpcTattoo remain independent of armor. Changing or removing armor does not clear these values. Covered skin/tattoo regions naturally remain hidden by garments.
Armor parts (from 0.1.9)
Upcoming; not included in public 0.1.8. Armor catalog lists the 26 bases; Armor upgrade catalog lists all 84 pieces. This existing function/guide is not newly introduced in 0.1.9. The new upgrade system adds per-character top/mid/bottom selections, full presets and separate player/NPC setters. A different base clears the old parts; choosing the same base keeps compatible selections. Identity, skin tint and tattoos remain separate. See the guide for requirements, safe replacement and synchronization validation.