Basic Usage
This guide shows you how to use TPNRP Core in your resources.
Accessing TPNRP Core
TPNRP Core can be accessed through exports:
Server-Side
-- Get the TPNRPServer instance
local TPNRP = exports['tpnrp-core']:core()
-- Access server methods
local player = TPNRP:getPlayerBySource(source)
if player then
print("Player found: " .. player.playerData.name)
end
Client-Side
-- Get the TPNRPClient instance
local TPNRP = exports['tpnrp-core']:core()
-- Access client methods
local coords = TPNRP:getCoords()
print("Player coords: " .. coords.x .. ", " .. coords.y .. ", " .. coords.z)
Getting a Player
Server-Side
-- By source (player ID)
local player = TPNRP:getPlayerBySource(source)
-- By license
local player = TPNRP:getPlayerByLicense(license)
-- By citizen ID
local player = TPNRP:getPlayerByCitizenId(citizenId)
Client-Side
The client-side player is automatically managed. Access it through the CPlayer entity.
Working with Player Data
-- Server-side example
local player = TPNRP:getPlayerBySource(source)
if player and player.playerData then
-- Access player data
local citizenId = player.playerData.citizen_id
local money = player.playerData.money
local job = player.playerData.job
-- Save player
player:save()
-- Update player data (syncs to client)
player:updatePlayerData()
end
Inventory Management
-- Server-side inventory access
local player = TPNRPServer:getPlayerBySource(source)
if player and player.inventory then
-- Inventory operations
-- See inventory documentation for details
end
Creating Useable Items
-- Register a useable item
TPNRPServer:createUseableItem('bread', function(source, itemData)
local player = TPNRPServer:getPlayerBySource(source)
if player then
-- Handle item usage
print("Player used bread item")
end
end)
Next Steps
- Check out the API Reference for detailed method documentation
- See Examples for more code samples