Skip to main content

Server Functions

RegisterObject

Register object with offset and rotation needed for attaching it to a player.

exports["sf-attachobject"]:RegisterObject(
    objectName, 
    modelHash, 
    offset, 
    rotation, 
    boneId, 
    disableCollision, 
    completelyDisableCollision
)

Parameters

  • objectName: string - It's unique name given for object by user, it should be kept as short as possible.
  • modelHash: number | string
  • offset: vector3
  • rotation: vector3
  • boneId: number - https://wiki.rage.mp/index.php?title=Bones
  • disableCollision: boolean
  • completelyDisableCollision: boolean

Example

exports["sf-attachobject"]:RegisterObject(
    "tablet", 
    `hei_prop_dlc_tablet`, 
    vector3(-0.05, -0.007, -0.04), 
    vector3(0.0, 0.0, 0.0), 
    28422, 
    true, 
    true
)

UnregisterObject

Unregister previously registered object.

exports["sf-attachobject"]:UnregisterObject(objectName)

Parameters

  • objectName: string

Example

exports["sf-attachobject"]:UnregisterObject("tablet")

CreateAttachObject

Create object and attach it to specified player.

local objectId = exports["sf-attachobject"]:CreateAttachObject(playerId, objectName)

Parameters

  • playerId: string
  • objectName: string

Returns objectId used later for removing object from a player.

Example

local objectId = exports["sf-attachobject"]:CreateAttachObject(source, "tablet")

RemoveAttachObject

Removes specified object from a player.

local status = exports["sf-attachobject"]:RemoveAttachObject(playerId, objectId)

Parameters

  • playerId: string
  • objectId: string

Returns status as boolean. True if object got removed successfully, false if not.

Example

local status = exports["sf-attachobject"]:RemoveAttachObject(source, "2")

GetObjectsOnPlayer

Returns list of objects that are currently on player.

local objectList = exports["sf-attachobject"]:GetObjectsOnPlayer(playerId)

Parameters

  • playerId: string

Returns objectList as table.

{
    {
        objectId = "3",
        objectName = "tablet"
    },
    {
        objectId = "2",
        objectName = "phone"
    }
}

ClearPlayerObjects

Removes every object from a player.

exports["sf-attachobject"]:ClearPlayerObjects(playerId, objectName)

Parameters

  • playerId: string
  • objectName: string?

If objectName is specified, this function will remove every object with provided objectName.

Example

exports["sf-attachobject"]:ClearPlayerObjects(source) -- This will remove every object from a player.

exports["sf-attachobject"]:ClearPlayerObjects(source, "tablet") -- This will remove every "tablet" object from a player.

FixPlayerProps

This function can be used when "weird bug" occurs. It will remove all objects from a player and reattach them.

exports["sf-attachobject"]:FixPlayerProps(playerId)

Parameters

  • playerId: string

Example

RegisterCommand("propfix", function(src)
    exports["sf-attachobject"]:FixPlayerProps(src)
end, false)