GetNpcCombatConfig
getNpcCombatConfig
AVAILABLE FROM UPDATE 0.1.5
This function is available in G1R:MP 0.1.5 and later. The contract below includes the compatibility guarantees introduced in that update.
Reads NPC projectile configuration.
Syntax
getNpcCombatConfig(npcId)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
npcId |
int |
yes | Server-assigned NPC ID returned by spawnNpc; not a player ID. |
Returns
Returns table {range, dexterity, skillTier, aimTimeMs, cooldownMs, consumeAmmo, consumeMana}, or false.
Examples
local config = getNpcCombatConfig(npcId)
Notes
- Server-side only. Mutations require the NPC to belong to the calling resource; getters do not grant control.
- Introduced in 0.1.5. Use matching client/server versions; the meleeSkillTier extension below requires 0.1.7.
- Use matching updated client and server. See NPC scripting for lifecycle, defaults, combat examples and collision limitations.
- Does not include combat movement; use getNpcCombatMovement.
NPC melee skill tiers (since 0.1.7)
The functions themselves remain available since 0.1.5. Only the additions below are new in 0.1.7; they require matching 0.1.7 client/server support.
- setNpcCombatConfig accepts optional
meleeSkillTier: integer 0 (untrained, default), 1 (trained) or 2 (master). getNpcCombatConfig includes this field in its result table. skillTierremains the separate ranged-combat tier. Changing the melee tier does not overwrite ranged settings. Omitted fields keep their existing values; invalid/unknown fields reject the entire change.- This selects ordinary melee presentation/timing for the NPC's equipped family, not its weapon or damage. It does not enable combat, select a target or increase strength/damage. Existing resource ownership and combat controls still apply.
- A strike already admitted keeps its captured animation/impact deadline. A melee-only or unchanged update does not restart unrelated projectile preparation; changing ranged settings still affects that separate configuration.
- Use matching updated client/server support to see the new tier presentation, including observers and late join. Players continue using the existing setPlayerSkill API; no new setPlayerCombatStyle function was added.
-- npcId is an existing NPC owned by this server resource.
local ok = setNpcCombatConfig(npcId, {meleeSkillTier=2})
if ok then
local config = getNpcCombatConfig(npcId)
if config then outputDebugString("NPC melee tier: " .. config.meleeSkillTier) end
end