Lua API catalogs: Difference between revisions
Document universal per-observer nameplates and test resource available from update 0.1.3 |
Document expanded scripting capacities and complete audited limits for 0.1.3 BUILD81 |
||
| Line 1: | Line 1: | ||
{{DISPLAYTITLE:Lua API catalogs}} | {{DISPLAYTITLE:Lua API catalogs}} | ||
See [[Scripting limits|current Lua, resource and API limits for 0.1.3 BUILD81]], [[Server configuration limits|all numeric server configuration bounds]] and [[Player statistic limits|all 59 statistic ranges]]. | |||
'''Lua API catalogs''' collect stable, server-validated keys used by G1R:MP resources. Prefer catalog keys and enumeration functions over hard-coded Unreal paths. | '''Lua API catalogs''' collect stable, server-validated keys used by G1R:MP resources. Prefer catalog keys and enumeration functions over hard-coded Unreal paths. | ||
Latest revision as of 11:51, 12 September 2026
See current Lua, resource and API limits for 0.1.3 BUILD81, all numeric server configuration bounds and all 59 statistic ranges.
Lua API catalogs collect stable, server-validated keys used by G1R:MP resources. Prefer catalog keys and enumeration functions over hard-coded Unreal paths.
Static catalogs
| Catalog | Used by |
|---|---|
| Player skin catalog | setPlayerSkin, setNpcSkin |
| Player body catalog | deprecated compatibility reference for setPlayerBody |
| Player face catalog | deprecated compatibility reference for setPlayerFace |
| Player head catalog | deprecated compatibility reference for setPlayerHead |
| Player identity catalog | supported complete identity setter setPlayerIdentity |
| Player tattoo catalog (available from update 0.1.3) | setPlayerTattoo, getPlayerTattooNames |
| Synchronized spell catalog | basic synchronized spell set for G1R:MP 0.1a |
| Monster type catalog | spawnMonster |
| World item catalog (available from update 0.1.2) | spawnItem and spawnTestItem |
| NPC and monster navigation collision (available from update 0.1.2) | NPC and monster collision-source modes and resource-owned AI navigation blockers |
| Player animation catalog (available from update 0.1.2) | startAnim and stopAnim |
Camera scripting
Scripted camera and Camera Functions document camera poses, units, state fields, movement, paths, orbits and client/server ownership. These new functions and their client events are available from update 0.1.3.
Player customization
Player customization documents the seven skin-color and tattoo functions available from update 0.1.3, including RGB ranges, independent resets, tattoo removal and persistence. Existing setPlayerIdentity head/armor handling is improved from update 0.1.3; it is not a newly introduced identity API or a full NPC body replacement.
Observer-specific nameplates
Observer nameplates documents the 12 observer/nameplate-ID functions available from update 0.1.3. Text, whole-label visibility and numeric-ID policy resolve independently for each observer/target pair. The guide covers explicit versus effective getters, exclusive per-field resource ownership, lifecycle, configurable limits, developer-owned acquaintance persistence, and the optional /nametest resource. This is overhead presentation, not network anonymity.
Runtime catalogs
These functions return the authoritative keys supported by the running server build:
| Function | Values |
|---|---|
| getPlayerArmorNames | Armor keys |
| getPlayerTattooNames | Tattoo preset keys (available from update 0.1.3) |
| getPlayerWeaponNames | Melee weapon keys |
| getPlayerRangedWeaponNames | Bow and crossbow keys |
| getPlayerAmmunitionNames | Ammunition keys |
| getPlayerRuneNames | All rune/spell-item keys; not a synchronization-support list |
| getSpellCatalog | All spell definitions and their implemented status; see Synchronized spell catalog
|
| getPlayerStatNames | Progression statistic keys |
| getPlayerSkillNames | Skill keys |
| getPlayerGuildNames | Guild keys |
Example
local function contains(values, wanted)
for _, value in ipairs(values) do
if value == wanted then
return true
end
end
return false
end
if contains(getPlayerArmorNames(), "none") then
setPlayerArmor(playerId, "none")
end