GetPlayerItemCount: Difference between revisions

From Wiki G1R-MP G1 Remake Multiplayer
Jump to navigation Jump to search
Document Lua APIs available or improved from G1R:MP 0.1.2
Document upcoming 0.1.9 custom native keys, shared doors, server Lua callbacks and persistence; not a release
Line 41: Line 41:
[[Category:Player Functions]]
[[Category:Player Functions]]
[[Category:Inventory Functions]]
[[Category:Inventory Functions]]
<!-- customkeys019:start -->
'''Available from 0.1.9 (upcoming; not yet publicly released). Not included in public 0.1.8. Use matching updated server and clients.'''
== Registered custom keys ==
This existing API also accepts the canonical item string from [[registerKeyDefinition]] in upcoming 0.1.9. Server registration, active definition and appropriate presentation readiness are required for mutations; use [[isPlayerKeyDefinitionReady]]. Do not pass the donor model alias as the custom item identity. Existing call shapes and limits remain; [[spawnItem]] creates one world item per call, whereas give/remove counts can manage copies. See [[Custom keys]] for safe server-side issuance, drop, pickup and persistence.
<!-- customkeys019:end -->

Revision as of 20:00, 19 October 2026

getPlayerItemCount

IMPROVED FROM UPDATE 0.1.2
This function is available in earlier releases and has corrected or expanded behavior in G1R:MP 0.1.2 and later. The contract below describes the updated behavior.

Returns the quantity of a known inventory item in the player's authoritative server runtime cache.

Syntax

int|false getPlayerItemCount(int playerId, string itemKey)

Parameters

Name Type Required Description
playerId int yes The connected player identifier.
itemKey string yes A rune, armor, or melee weapon key from the server catalog.

Returns

Returns the item quantity, including 0 when the player owns none, or false for an invalid player or item key.

Examples

Check how many copies of a sword a player owns:

local count = getPlayerItemCount(playerId, "1h_sword_01")
if count and count > 0 then
    outputChatBox("Sword available", playerId)
end

Notes

  • Available only in server-side resource scripts.
  • Inventory is server-authoritative. The runtime cache is updated by accepted native world-item pickups and drops, completed native consumable uses, and successful Lua inventory mutations.

Available from 0.1.9 (upcoming; not yet publicly released). Not included in public 0.1.8. Use matching updated server and clients.

Registered custom keys

This existing API also accepts the canonical item string from registerKeyDefinition in upcoming 0.1.9. Server registration, active definition and appropriate presentation readiness are required for mutations; use isPlayerKeyDefinitionReady. Do not pass the donor model alias as the custom item identity. Existing call shapes and limits remain; spawnItem creates one world item per call, whereas give/remove counts can manage copies. See Custom keys for safe server-side issuance, drop, pickup and persistence.