SetElementFrozen

From Multi Theft Auto: Wiki
Jump to navigation Jump to search

This function freezes an element (stops it in its position and disables movement) or unfreezes it.

[[|link=|]] Warning: This function cancels any animation set by setPedAnimation if you freeze the ped.

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 example

This 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