RedM Natives

GET_PLAYER_FROM_STATE_BAG_NAME

On the server this will return the players source, on the client it will return the player handle.

Hash0xA56135E0
Runtime nameGetPlayerFromStateBagName
NamespaceCFX
SideClient + server
NameOfficial
Docs

Signature

int GET_PLAYER_FROM_STATE_BAG_NAME(char* bagName);

Parameters

NameTypeDescription
bagNamechar*

An internal state bag ID from the argument to a state bag change handler.

Returns int — The player handle or 0 if the state bag name did not refer to a player, or the player does not exist.

Description

Cfx.re native reference

On the server this will return the players source, on the client it will return the player handle.

Usage

Lua
local retval = GetPlayerFromStateBagName(bagName)

-- always works, by hash
local retval = Citizen.InvokeNative(0xa56135e0, bagName, Citizen.ResultAsInteger())
JavaScript and C#
JavaScript
const retval = GetPlayerFromStateBagName(bagName);

// by hash
const retval = Citizen.invokeNative('0xa56135e0', bagName, Citizen.returnResultAnyway(), Citizen.resultAsInteger());
C#
int retval = Function.Call<int>((Hash)0xa56135e0, bagName);

Examples

JS · Cfx.re native reference
AddStateBagChangeHandler("isDead", null, async (bagName, key, value /* boolean */) => {
    const ply = GetPlayerFromStateBagName(bagName);
    // The player doesn't exist!
    if (ply === 0) return;
    console.log(`Player: ${GetPlayerName(ply)} ${value ? 'died!' : 'is alive!'`)
})
LUA · Cfx.re native reference
AddStateBagChangeHandler("isDead", nil, function(bagName, key, value) 
    local ply = GetPlayerFromStateBagName(bagName)
    -- The player doesn't exist!
    if ply == 0 then return end
    print("Player: " .. GetPlayerName(ply) .. value and 'died!' or 'is alive!')
end)

Sources

Cfx.re native reference

Something wrong or missing? Contribute a verified note — corrections ship through pull requests.