SetElementFrozen

From Multi Theft Auto: Wiki
Revision as of 13:26, 24 February 2021 by Srslyyyy (talk | contribs) (Fix example)
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
local playerElement = false -- Store reference to player

for playerID = 1, #connectedPlayers do -- Loop through each player
	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
#9522 Freezing a ped or player whilst occupying a jetpack will remove their jetpack, but not the jetpack sound

See Also