SetVehicleFuelTankExplodable: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
m (Added OOP Syntax Method)
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
{{Server client function}}
{{Server client function}}
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.
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===
Line 9: Line 13:
*'''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 10 seconds 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">
function onPlayerEnterVehicle ( theVehicle, seat, jacked )
-- create a table to keep track of vulnerable vehicles
     if seat == 0 then                                                           -- if they're getting into the driver seat
-- so we don't set the state-reset timer twice when reentering a vulnerable vehicle
         setVehicleFuelTankExplodable ( theVehicle, true )                       -- make it explodable
local isVulnerable = {}
        setTimer ( setVehicleFuelTankExplodable, 10000, 1, theVehicle, false ) -- make it unexplodable in 10 seconds
 
-- 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
end
end
addEventHandler ( "onPlayerEnterVehicle", getRootElement ( ), onPlayerEnterVehicle )
 
-- 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