Lua API catalogs: Difference between revisions

From Wiki G1R-MP G1 Remake Multiplayer
Jump to navigation Jump to search
Link the player animation catalog for update 0.1.2
Document expanded scripting capacities and complete audited limits for 0.1.3 BUILD81
 
(3 intermediate revisions by the same user not shown)
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.


Line 15: Line 17:
|-
|-
| [[Player identity catalog]] || supported complete identity setter [[setPlayerIdentity]]
| [[Player identity catalog]] || supported complete identity setter [[setPlayerIdentity]]
|-
| [[Player tattoo catalog]] <span style="color:#000; background:#ffcdd2; border:1px solid #c62828; font-weight:bold; padding:0.08em 0.35em; border-radius:0.2em;">(available from update 0.1.3)</span> || [[setPlayerTattoo]], [[getPlayerTattooNames]]
|-
|-
| [[Synchronized spell catalog]] || basic synchronized spell set for G1R:MP 0.1a
| [[Synchronized spell catalog]] || basic synchronized spell set for G1R:MP 0.1a
Line 26: Line 30:
| [[Player animation catalog]] <span style="color:#000; background:#ffcdd2; border:1px solid #c62828; font-weight:bold; padding:0.08em 0.35em; border-radius:0.2em;">(available from update 0.1.2)</span> || [[startAnim]] and [[stopAnim]]
| [[Player animation catalog]] <span style="color:#000; background:#ffcdd2; border:1px solid #c62828; font-weight:bold; padding:0.08em 0.35em; border-radius:0.2em;">(available from update 0.1.2)</span> || [[startAnim]] and [[stopAnim]]
|}
|}
== Camera scripting ==
[[Scripted camera]] and [[:Category:Camera Functions|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 <code>/nametest</code> resource. This is overhead presentation, not network anonymity.


== Runtime catalogs ==
== Runtime catalogs ==
Line 34: Line 47:
|-
|-
| [[getPlayerArmorNames]] || Armor keys
| [[getPlayerArmorNames]] || Armor keys
|-
| [[getPlayerTattooNames]] || Tattoo preset keys (available from update 0.1.3)
|-
|-
| [[getPlayerWeaponNames]] || Melee weapon keys
| [[getPlayerWeaponNames]] || Melee weapon keys

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