Skip to main content

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)