Difference between revisions of "SetVehicleFuelTankExplodable"

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
 
m (Added OOP Syntax Method)
 
(6 intermediate revisions by 5 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
This function changes 'explodable state' of a vehicle's fuel tank (toggles the ability to blow it up by shooting the tank). This function will have no effect on vehicles with tanks that cannot be shot in single player.
{{Server client function}}
This function changes the 'explodable state' of a vehicle's fuel tank, which toggles the ability to blow the vehicle up by shooting the tank. This function will have no effect on vehicles with tanks that cannot be shot in single player.
 
==Syntax==
==Syntax==
<syntaxhighlight lang="lua">bool setVehicleFuelTankExplodable ( vehicle theVehicle, bool Explodable )</syntaxhighlight>
<syntaxhighlight lang="lua">
bool setVehicleFuelTankExplodable ( vehicle theVehicle, bool explodable )
</syntaxhighlight>
{{OOP||[[vehicle]]:setFuelTankExplodable}}


===Required Arguments===
===Required Arguments===
*'''theVehicle''': The [[vehicle]] you wish to change the fuel tank explodable state of.
*'''theVehicle''': The [[vehicle]] you wish to change the fuel tank explodable state of.
*'''Explodable''': A boolean value representing whether or not the fuel tank will be explodable.
*'''explodable''': A boolean value representing whether or not the fuel tank will be explodable.


==Returns==
===Returns===
Returns 'true' if the vehicle's fuel tank explodable state was successfully changed, 'false' otherwise.
Returns ''true'' if the vehicle's fuel tank explodable state was successfully changed, ''false'' otherwise.


==Example==
==Example==
This example will make fuel tanks explodable for 10seconds after they're entered
<section name="Serverside example" class="server" show="true">
This example will make vehicles' fuel tanks explodable for 10 seconds after they're entered.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
addEventHandler ( "onPlayerEnterVehicle", root, "onPlayerEnterVehicle" )
-- create a table to keep track of vulnerable vehicles
function onPlayerEnterVehicle ( theVehicle, seat, jacked )
-- so we don't set the state-reset timer twice when reentering a vulnerable vehicle
  if ( seat == 0 ) then -- if they're getting into the driver seat
local isVulnerable = {}
    setVehicleFuelTankExplodable ( theVehicle, true ) -- make it explodable
 
    setTimer ( "setVehicleFuelTankExplodable", 10000, 1, theVehicle, false ) -- make it unexplodable in 10seconds
-- this function makes a vehicle vulnerable and sets a timer to unset it in 10 seconds
  end
function setVehicleVulnerable ( theVehicle, enteredSeat )
    -- we'll ignore vehicles that are already vulnerable.
    if not isVulnerable[theVehicle] then
        -- if they're getting into the driver seat
        if enteredSeat == 0 then
            -- make the fuel tank explodable
            setVehicleFuelTankExplodable ( theVehicle, true )
            -- flag this vehicle as vulnerable
            isVulnerable[theVehicle] = true
            -- make it non vulnerable in 10 seconds
            setTimer ( unsetVehicleVulnerable, 10000, 1, theVehicle )
        end
    end
end
end
-- this function makes a vehicle not vulnerable
function unsetVehicleVulnerable ( theVehicle )
    -- make the fuel tank unexplodable
    setVehicleFuelTankExplodable ( theVehicle, false )
    -- remove the vulnerable flag
    isVulnerable[theVehicle] = nil
end
-- add the 'makeVehicleVulnerable' function as a handler for "onPlayerVehicleEnter"
addEventHandler ( "onPlayerVehicleEnter", root, setVehicleVulnerable )
</syntaxhighlight>
</syntaxhighlight>
</section>


==See Also==
==See Also==
{{Vehicle functions}}
{{Vehicle functions}}

Latest revision as of 14:11, 13 June 2021

This function changes the 'explodable state' of a vehicle's fuel tank, which toggles the ability to blow the vehicle up by shooting the tank. This function will have no effect on vehicles with tanks that cannot be shot in single player.

Syntax

bool setVehicleFuelTankExplodable ( vehicle theVehicle, bool explodable )

OOP Syntax Help! I don't understand this!

Method: vehicle:setFuelTankExplodable(...)

Required Arguments

  • theVehicle: The vehicle you wish to change the fuel tank explodable state of.
  • explodable: A boolean value representing whether or not the fuel tank will be explodable.

Returns

Returns true if the vehicle's fuel tank explodable state was successfully changed, false otherwise.

Example

Click to collapse [-]
Serverside example

This example will make vehicles' fuel tanks explodable for 10 seconds after they're entered.

-- create a table to keep track of vulnerable vehicles
-- so we don't set the state-reset timer twice when reentering a vulnerable vehicle
local isVulnerable = {}

-- this function makes a vehicle vulnerable and sets a timer to unset it in 10 seconds
function setVehicleVulnerable ( theVehicle, enteredSeat )
    -- we'll ignore vehicles that are already vulnerable.
    if not isVulnerable[theVehicle] then
        -- if they're getting into the driver seat
        if enteredSeat == 0 then
            -- make the fuel tank explodable
            setVehicleFuelTankExplodable ( theVehicle, true )
            -- flag this vehicle as vulnerable
            isVulnerable[theVehicle] = true
            -- make it non vulnerable in 10 seconds
            setTimer ( unsetVehicleVulnerable, 10000, 1, theVehicle )
        end
    end
end

-- this function makes a vehicle not vulnerable
function unsetVehicleVulnerable ( theVehicle )
    -- make the fuel tank unexplodable
    setVehicleFuelTankExplodable ( theVehicle, false )
    -- remove the vulnerable flag
    isVulnerable[theVehicle] = nil
end

-- add the 'makeVehicleVulnerable' function as a handler for "onPlayerVehicleEnter"
addEventHandler ( "onPlayerVehicleEnter", root, setVehicleVulnerable )

See Also