DetachTrailerFromVehicle: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(→‎Example: added an example, corrected the existing one)
Line 15: Line 15:


==Example==
==Example==
'''Example 1:''' This example attaches a trailer to a truck, and detaches it if the trailer is damaged:
'''Example 1:''' A command for players to detach a trailer detached to their vehicle:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function onTrailerDamage ( loss )
-- the handler function for the "unhook" console command
function unhookTrailer(playerSource, commandName)
  -- check if a player triggered this command and that they are in a vehicle
  if (playerSource and isPlayerInVehicle(playerSource)) then
      local theVehicle = getPlayerOccupiedVehicle(playerSource) -- get the vehicle the player is in
      local success = detachTrailerFromVehicle(theVehicle) -- attempt to detach a trailer from this vehicle
      -- report whether the operation waa a success
      if (success) then
        outputConsole("Trailer detached!", playerSource)
      else
        outputConsole("Failed to detach trailer.", playerSource)
      end
  end
end
 
-- make the function above handle the "unhook" command
addCommandHandler("unhook", unhookTrailer)
</syntaxhighlight>
 
'''Example 2:''' This example attaches a trailer to a truck, and detaches it if the trailer is damaged:
<syntaxhighlight lang="lua">
function onTruckDamage ( loss )
   if ( loss > 50 ) then --if the health loss was more than 50
   if ( loss > 50 ) then --if the health loss was more than 50
       detachTrailerFromVehicle ( source ) --detach the truck from the trailer
       detachTrailerFromVehicle ( source ) --detach the truck from the trailer
Line 30: Line 51:
   attachTrailerToVehicle ( theTruck, theTrailer ) -- attach them
   attachTrailerToVehicle ( theTruck, theTrailer ) -- attach them
   -- add an event handler for when the trailer is damaged
   -- add an event handler for when the trailer is damaged
   addEventHandler ( "onVehicleDamage", theTrailer, onTrailerDamage )
   addEventHandler ( "onVehicleDamage", theTruck, onTruckDamage )
end
end
</syntaxhighlight>
</syntaxhighlight>

Revision as of 03:41, 29 July 2007

This function detaches an already attached trailer from a vehicle.

Syntax

bool detachTrailerFromVehicle ( vehicle theVehicle, [vehicle theTrailer] )

Required Arguments

  • theVehicle: The vehicle you wish to detach a trailer from.

Optional Arguments

  • theTrailer: The trailer you wish to be detached.

Note: If 'theTrailer' is specified, it will only detach if this matches. If it is not specified, any trailer attached to 'theVehicle' will be detached.

Returns

Returns 'true' if the vehicle's were successfully detached, 'false' otherwise.

Example

Example 1: A command for players to detach a trailer detached to their vehicle:

-- the handler function for the "unhook" console command
function unhookTrailer(playerSource, commandName)
   -- check if a player triggered this command and that they are in a vehicle
   if (playerSource and isPlayerInVehicle(playerSource)) then
      local theVehicle = getPlayerOccupiedVehicle(playerSource) -- get the vehicle the player is in
      local success = detachTrailerFromVehicle(theVehicle) -- attempt to detach a trailer from this vehicle
      -- report whether the operation waa a success
      if (success) then
         outputConsole("Trailer detached!", playerSource)
      else
         outputConsole("Failed to detach trailer.", playerSource)
      end
   end
end

-- make the function above handle the "unhook" command
addCommandHandler("unhook", unhookTrailer)

Example 2: This example attaches a trailer to a truck, and detaches it if the trailer is damaged:

function onTruckDamage ( loss )
   if ( loss > 50 ) then --if the health loss was more than 50
      detachTrailerFromVehicle ( source ) --detach the truck from the trailer
      -- remove the event handler so that this function is no longer called when the trailer is damaged
      removeEventHandler ( "onVehicleDamage", source, onTrailerDamage )
   end
end

function createVehiclesAndAttachThem ()
   local theTruck = createVehicle ( 515, 500, 500, 40 ) -- create a trailer-tower (roadtrain)
   local theTrailer = createVehicle ( 435, 500, 505, 40 ) -- create a trailer
   attachTrailerToVehicle ( theTruck, theTrailer ) -- attach them
   -- add an event handler for when the trailer is damaged
   addEventHandler ( "onVehicleDamage", theTruck, onTruckDamage )
end

See Also