DetachElements

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This function detaches attached elements from one another.

Syntax

bool detachElements ( element theElement, [ element theAttachToElement ] )

OOP Syntax Help! I don't understand this!

Method: element:detach(...)
Counterpart: attachElements


Required Arguments

  • theElement: The element to be detached (the "child")

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • theAttachToElement: The element you wish to detach from, will detach from the attached element if this isn't specified.

Returns

Returns true if the detaching was successful, false otherwise.

Example

Example 1: This example attaches a marker to a vehicle, and detaches it when it blows up:

function attachMarkerToVehicle ( theVehicle )
    -- create the marker to attach
    local arrowMarker = createMarker ( 0, 0, 0, "arrow", 1.5, 0, 0, 255, 255 )
    -- attach the marker above the vehicle
    attachElements ( arrowMarker, theVehicle, 0, 0, 2 )
    -- add an event handler for when the vehicle blows up
    addEventHandler ( "onVehicleExplode", theVehicle, onMarkedCarExplode )
end

function onMarkedCarExplode ()
    -- get the elements attached to the vehicle
    local attachedElements = getAttachedElements ( source )
    -- loop through the table of elements
    for i,v in ipairs ( attachedElements ) do
        -- detach the element from the vehicle
        detachElements ( v, source )
    end
    -- remove the event handler
    removeEventHandler ( "onVehicleExplode", source, onMarkedCarExplode )
end

Example 2: This function will detach any elements that might have been attached to the passed element:

function freeElement( theElement )
      if ( isElementAttached( theElement ) ) then -- If the specified element is attached to something
            detachElements ( theElement ) -- Detach it.
      else
            outputChatBox( "Element is not attached" ) -- If not, say it wasn't attached in the first place.
      end
end

See Also