SetElementFrozen: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
(14 intermediate revisions by 9 users not shown) | |||
Line 2: | Line 2: | ||
{{Server client function}} | {{Server client function}} | ||
This function freezes an element (stops it in its position and disables movement) or unfreezes it. | This function freezes an element (stops it in its position and disables movement) or unfreezes it. | ||
{{Warning|This function cancels any animation set by setPedAnimation if you freeze the ped.}} | |||
==Syntax== | ==Syntax== | ||
Line 7: | Line 8: | ||
bool setElementFrozen ( element theElement, bool freezeStatus ) | bool setElementFrozen ( element theElement, bool freezeStatus ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{OOP||[[element]]:setFrozen|frozen|isElementFrozen}} | |||
===Required Arguments=== | ===Required Arguments=== | ||
Line 19: | Line 21: | ||
This example binds the "p" key to a function to freeze/unfreeze the player's current vehicle. | This example binds the "p" key to a function to freeze/unfreeze the player's current vehicle. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
-- This function freezes the specified player's vehicle, if he's in one | function toggleFreezeStatus(thePlayer) -- This function freezes the specified player's vehicle, if he's in one | ||
local playerVehicle = getPedOccupiedVehicle(thePlayer) -- Check if player's in vehicle | |||
if | if playerVehicle then -- if so | ||
local isPlayerVehicleFrozen = isElementFrozen(playerVehicle) -- Check if vehicle is frozen | |||
setElementFrozen(playerVehicle, not isPlayerVehicleFrozen) -- Set opposite state | |||
local | |||
setElementFrozen ( playerVehicle, | |||
end | end | ||
end | end | ||
local connectedPlayers = getElementsByType("player") -- Get all connected players | |||
local connectedPlayers = getElementsByType ( "player" ) | for playerID = 1, #connectedPlayers do -- Loop through each player | ||
-- | local playerElement = connectedPlayers[playerID] -- Get player element by accessing it via playerID | ||
for | |||
-- | bindKey(playerElement, "p", "down", toggleFreezeStatus, "Toggle freeze status") -- Bind function for player | ||
bindKey ( | |||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | </section> | ||
==Issues== | |||
{{Issues| | |||
{{Issue|1291|Ped rotation is always zero on client side if ped has been frozed after creating it}} | |||
{{Issue|541|Frozen ped rotation goes wrong with latency reduction enabled}} | |||
{{Issue|442|Client-side setElementFrozen should sync vehicle driven by local player}} | |||
}} | |||
==See Also== | ==See Also== | ||
{{Element_functions}} | {{Element_functions}} |
Latest revision as of 14:55, 11 June 2023
This function freezes an element (stops it in its position and disables movement) or unfreezes it.
Syntax
bool setElementFrozen ( element theElement, bool freezeStatus )
OOP Syntax Help! I don't understand this!
- Method: element:setFrozen(...)
- Variable: .frozen
- Counterpart: isElementFrozen
Required Arguments
- theElement: The element whose freeze status we want to change.
- freezeStatus: A boolean denoting whether we want to freeze (true) or unfreeze (false) it.
Returns
Returns true if the element was frozen, false if it wasn't or if invalid arguments are passed.
Example
Click to collapse [-]
Serverside exampleThis example binds the "p" key to a function to freeze/unfreeze the player's current vehicle.
function toggleFreezeStatus(thePlayer) -- This function freezes the specified player's vehicle, if he's in one local playerVehicle = getPedOccupiedVehicle(thePlayer) -- Check if player's in vehicle if playerVehicle then -- if so local isPlayerVehicleFrozen = isElementFrozen(playerVehicle) -- Check if vehicle is frozen setElementFrozen(playerVehicle, not isPlayerVehicleFrozen) -- Set opposite state end end local connectedPlayers = getElementsByType("player") -- Get all connected players for playerID = 1, #connectedPlayers do -- Loop through each player local playerElement = connectedPlayers[playerID] -- Get player element by accessing it via playerID bindKey(playerElement, "p", "down", toggleFreezeStatus, "Toggle freeze status") -- Bind function for player end
Issues
Issue ID | Description |
---|---|
#1291 | Ped rotation is always zero on client side if ped has been frozed after creating it |
#541 | Frozen ped rotation goes wrong with latency reduction enabled |
#442 | Client-side setElementFrozen should sync vehicle driven by local player |
See Also
- attachElements
- createElement
- destroyElement
- detachElements
- getAttachedElements
- getElementAlpha
- getElementAttachedOffsets
- getElementAttachedTo
- getElementByIndex
- getElementByID
- getElementChild
- getElementChildren
- getElementChildrenCount
- getElementCollisionsEnabled
- getElementColShape
- getElementData
- getAllElementData
- hasElementData
- getElementDimension
- getElementHealth
- getElementID
- getElementInterior
- getElementMatrix
- getElementModel
- getElementParent
- getElementPosition
- getElementRotation
- getElementsByType
- getElementsWithinColShape
- getElementsWithinRange
- getElementType
- getElementVelocity
- getLowLODElement
- getRootElement
- isElement
- isElementAttached
- isElementCallPropagationEnabled
- isElementDoubleSided
- isElementFrozen
- isElementInWater
- isElementLowLOD
- isElementWithinColShape
- isElementWithinMarker
- setElementAlpha
- setElementAngularVelocity
- getElementAngularVelocity
- setElementAttachedOffsets
- setElementCallPropagationEnabled
- setElementCollisionsEnabled
- setElementData
- setElementDimension
- setElementDoubleSided
- setElementFrozen
- setElementHealth
- setElementID
- setElementInterior
- setElementModel
- setElementParent
- setElementPosition
- setElementRotation
- setElementVelocity
- setLowLODElement
- getPedContactElement
- getResourceDynamicElementRoot
- getResourceRootElement