AddVehicleUpgrade: Difference between revisions
Jump to navigation
Jump to search
(→Example: changed example to use command handler rather than onConsole event) |
(Add documentation for "all" upgrade) |
||
(14 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
This function adds an upgrade to | {{Server client function}} | ||
This function adds an upgrade to a [[vehicle]], e.g. nitrous, hydraulics. | |||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua">bool addVehicleUpgrade ( vehicle theVehicle, int upgrade )</syntaxhighlight> | <syntaxhighlight lang="lua">bool addVehicleUpgrade ( vehicle theVehicle, string/int upgrade )</syntaxhighlight> | ||
{{OOP||[[vehicle]]:addUpgrade}} | |||
===Required Arguments=== | ===Required Arguments=== | ||
*'''theVehicle''': The [[element]] representing the [[vehicle]] you wish to add the upgrade to. | *'''theVehicle''': The [[element]] representing the [[vehicle]] you wish to add the upgrade to. | ||
*'''upgrade''': The id of the upgrade you wish to add. | *'''upgrade''': The id of the upgrade you wish to add: 1000 to 1193 (''see [[Vehicle Upgrades]]'') or "'''all"''' to add all upgrades. | ||
'''Note:''' setCameraTarget will behave strangely if you use hydraulics (upgrade id: 1087) server sided and when your camera target is the player inside the vehicle with hydraulics and if the player is not you. | |||
==Returns== | ==Returns== | ||
Line 13: | Line 15: | ||
==Example== | ==Example== | ||
<section name="Example 1" class="server" show="true"> | |||
This serverside function allows the user to get an upgrade by typing a command: | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
-- | -- define the handler function for our command | ||
function consoleAddUpgrade ( thePlayer, commandName, id ) | |||
function consoleAddUpgrade ( | -- make sure the player is in a vehicle | ||
if ( isPedInVehicle ( thePlayer ) ) then | |||
if ( | -- convert the given ID from a string to a number | ||
-- | local id = tonumber ( id ) | ||
id = tonumber ( id ) | |||
-- get the player's vehicle | -- get the player's vehicle | ||
local | local theVehicle = getPedOccupiedVehicle ( thePlayer ) | ||
-- add the requested upgrade to the vehicle | -- add the requested upgrade to the vehicle | ||
local success = addVehicleUpgrade ( | local success = addVehicleUpgrade ( theVehicle, id ) | ||
-- inform the player of whether the upgrade was added successfully | |||
if ( success ) then | if ( success ) then | ||
outputConsole ( getVehicleUpgradeSlotName ( id ) .. " upgrade added.", thePlayer ) | |||
outputConsole ( getVehicleUpgradeSlotName ( id ) .. " upgrade added.", | |||
else | else | ||
outputConsole ( "Failed to add upgrade.", | outputConsole ( "Failed to add upgrade.", thePlayer ) | ||
end | end | ||
else | else | ||
outputConsole ( "You must be in a vehicle!", | outputConsole ( "You must be in a vehicle!", thePlayer ) | ||
end | end | ||
end | |||
-- add the function as a handler for the "addupgrade" command | |||
addCommandHandler ( "addupgrade", consoleAddUpgrade ) | |||
</syntaxhighlight> | |||
</section> | |||
<section name="Example 2" class="client" show="true"> | |||
This client-side script gives vehicles a nitro upgrade whenever they pass through a certain collision shape: | |||
<syntaxhighlight lang="lua"> | |||
-- create a collision shape | |||
local nitroColShape = createColSphere ( 1337, 100, 12, 2 ) | |||
-- attach the collision shape to an 'onClientColShapeHit' event | |||
function onNitroColShapeHit ( hitElement, matchingDimension ) | |||
if ( getElementType ( hitElement ) == "vehicle" ) then | |||
-- add a nitro upgrade if the element that hit the colshape is a vehicle | |||
addVehicleUpgrade ( hitElement, 1010 ) | |||
end | end | ||
end | end | ||
addEventHandler ( "onClientColShapeHit", nitroColShape, onNitroColShapeHit ) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | |||
==See Also== | ==See Also== | ||
{{Vehicle functions}} | {{Vehicle functions}} |
Latest revision as of 21:24, 19 March 2021
This function adds an upgrade to a vehicle, e.g. nitrous, hydraulics.
Syntax
bool addVehicleUpgrade ( vehicle theVehicle, string/int upgrade )
OOP Syntax Help! I don't understand this!
- Method: vehicle:addUpgrade(...)
Required Arguments
- theVehicle: The element representing the vehicle you wish to add the upgrade to.
- upgrade: The id of the upgrade you wish to add: 1000 to 1193 (see Vehicle Upgrades) or "all" to add all upgrades.
Note: setCameraTarget will behave strangely if you use hydraulics (upgrade id: 1087) server sided and when your camera target is the player inside the vehicle with hydraulics and if the player is not you.
Returns
Returns true if the upgrade was successfully added to the vehicle, otherwise false.
Example
Click to collapse [-]
Example 1This serverside function allows the user to get an upgrade by typing a command:
-- define the handler function for our command function consoleAddUpgrade ( thePlayer, commandName, id ) -- make sure the player is in a vehicle if ( isPedInVehicle ( thePlayer ) ) then -- convert the given ID from a string to a number local id = tonumber ( id ) -- get the player's vehicle local theVehicle = getPedOccupiedVehicle ( thePlayer ) -- add the requested upgrade to the vehicle local success = addVehicleUpgrade ( theVehicle, id ) -- inform the player of whether the upgrade was added successfully if ( success ) then outputConsole ( getVehicleUpgradeSlotName ( id ) .. " upgrade added.", thePlayer ) else outputConsole ( "Failed to add upgrade.", thePlayer ) end else outputConsole ( "You must be in a vehicle!", thePlayer ) end end -- add the function as a handler for the "addupgrade" command addCommandHandler ( "addupgrade", consoleAddUpgrade )
Click to collapse [-]
Example 2This client-side script gives vehicles a nitro upgrade whenever they pass through a certain collision shape:
-- create a collision shape local nitroColShape = createColSphere ( 1337, 100, 12, 2 ) -- attach the collision shape to an 'onClientColShapeHit' event function onNitroColShapeHit ( hitElement, matchingDimension ) if ( getElementType ( hitElement ) == "vehicle" ) then -- add a nitro upgrade if the element that hit the colshape is a vehicle addVehicleUpgrade ( hitElement, 1010 ) end end addEventHandler ( "onClientColShapeHit", nitroColShape, onNitroColShapeHit )
See Also
- addVehicleUpgrade
- attachTrailerToVehicle
- blowVehicle
- createVehicle
- detachTrailerFromVehicle
- fixVehicle
- getOriginalHandling
- getTrainDirection
- getTrainPosition
- getTrainSpeed
- getTrainTrack
- getVehicleColor
- getVehicleCompatibleUpgrades
- getVehicleController
- getVehicleDoorOpenRatio
- getVehicleDoorState
- getVehicleEngineState
- getVehicleHandling
- getVehicleHeadLightColor
- getVehicleLandingGearDown
- getVehicleLightState
- getVehicleMaxPassengers
- getVehicleModelFromName
- getVehicleName
- getVehicleNameFromModel
- getVehicleOccupant
- getVehicleOccupants
- getVehicleOverrideLights
- getVehiclePaintjob
- getVehiclePanelState
- getVehiclePlateText
- getVehicleSirenParams
- getVehicleSirens
- getVehicleSirensOn
- getVehicleTowedByVehicle
- getVehicleTowingVehicle
- getVehicleTurretPosition
- getVehicleType
- getVehicleUpgradeOnSlot
- getVehicleUpgradeSlotName
- getVehicleUpgrades
- getVehicleVariant
- getVehicleWheelStates
- isTrainDerailable
- isTrainDerailed
- isVehicleBlown
- isVehicleDamageProof
- isVehicleFuelTankExplodable
- isVehicleLocked
- isVehicleOnGround
- isVehicleTaxiLightOn
- removeVehicleUpgrade
- setTrainDerailable
- setTrainDerailed
- setTrainDirection
- setTrainPosition
- setTrainSpeed
- setTrainTrack
- setVehicleColor
- setVehicleDamageProof
- setVehicleDoorOpenRatio
- setVehicleDoorState
- setVehicleDoorsUndamageable
- setVehicleEngineState
- setVehicleFuelTankExplodable
- setVehicleHandling
- setVehicleHeadLightColor
- setVehicleLandingGearDown
- setVehicleLightState
- setVehicleLocked
- setVehicleOverrideLights
- setVehiclePaintjob
- setVehiclePanelState
- setVehiclePlateText
- setVehicleSirens
- setVehicleSirensOn
- setVehicleTaxiLightOn
- setVehicleTurretPosition
- setVehicleVariant
- setVehicleWheelStates