GetNpcCombatConfig: Difference between revisions
Jump to navigation
Jump to search
Document upcoming 0.1.7: optional server TTS, 33 functions, 4 events, English voice/setup guides and NPC meleeSkillTier; not a release |
Release 0.1.7 / BUILD199 / Protocol 39: current API availability, setup and improvements |
||
| Line 29: | Line 29: | ||
== Notes == | == Notes == | ||
* Server-side only. Mutations require the NPC to belong to the calling resource; getters do not grant control. | * 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 | * 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. | * Use matching updated client and server. See [[NPC scripting]] for lifecycle, defaults, combat examples and collision limitations. | ||
* Does not include combat movement; use getNpcCombatMovement. | * Does not include combat movement; use getNpcCombatMovement. | ||
| Line 38: | Line 38: | ||
<!-- melee017:start --> | <!-- melee017:start --> | ||
== NPC melee skill tiers ( | == NPC melee skill tiers (since 0.1.7) == | ||
The functions themselves remain available since 0.1.5. '''Only the additions below are new in | 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 <code>meleeSkillTier</code>: integer 0 (untrained, default), 1 (trained) or 2 (master). [[getNpcCombatConfig]] includes this field in its result table. | * [[setNpcCombatConfig]] accepts optional <code>meleeSkillTier</code>: integer 0 (untrained, default), 1 (trained) or 2 (master). [[getNpcCombatConfig]] includes this field in its result table. | ||
Revision as of 23:50, 10 October 2026
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