GetNpcCombatConfig: Difference between revisions
Jump to navigation
Jump to search
Release G1R:MP 0.1.5 BUILD144 / Protocol 37; update availability and migration |
Document upcoming 0.1.7: optional server TTS, 33 functions, 4 events, English voice/setup guides and NPC meleeSkillTier; not a release |
||
| 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 upcoming 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 36: | Line 36: | ||
[[Category:Server Functions]] | [[Category:Server Functions]] | ||
[[Category:NPC Functions]] | [[Category:NPC Functions]] | ||
<!-- melee017:start --> | |||
== NPC melee skill tiers (upcoming 0.1.7) == | |||
The functions themselves remain available since 0.1.5. '''Only the additions below are new in upcoming 0.1.7'''; they are not available in public 0.1.6. | |||
* [[setNpcCombatConfig]] accepts optional <code>meleeSkillTier</code>: integer 0 (untrained, default), 1 (trained) or 2 (master). [[getNpcCombatConfig]] includes this field in its result table. | |||
* <code>skillTier</code> remains 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. | |||
<syntaxhighlight lang="lua"> | |||
-- 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 | |||
</syntaxhighlight> | |||
<!-- melee017:end --> | |||
Revision as of 22:49, 8 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 upcoming 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 (upcoming 0.1.7)
The functions themselves remain available since 0.1.5. Only the additions below are new in upcoming 0.1.7; they are not available in public 0.1.6.
- 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