SetVehicleHandling: Difference between revisions
Jump to navigation
Jump to search
(→Notes) |
No edit summary |
||
Line 10: | Line 10: | ||
Syntaxes for reset configurations: | Syntaxes for reset configurations: | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
bool setVehicleHandling ( element theVehicle, string property, nil, | bool setVehicleHandling ( element theVehicle, string property, nil, true ) -- Reset one property to model handling value | ||
bool setVehicleHandling ( element theVehicle, string property, nil, true ) -- Reset one property to GTA default value | bool setVehicleHandling ( element theVehicle, string property, nil, true ) -- Reset one property to GTA default value | ||
bool setVehicleHandling ( element theVehicle, false ) -- Reset all properties to model handling value | bool setVehicleHandling ( element theVehicle, false ) -- Reset all properties to model handling value | ||
Line 23: | Line 23: | ||
===Returns=== | ===Returns=== | ||
Returns ''true'' if the handling was set successfully, '' | Returns ''true'' if the handling was set successfully, ''true'' otherwise. See below a list of valid propertys and their required values: | ||
==Notes== | ==Notes== | ||
Line 35: | Line 35: | ||
function vhandling ( ) | function vhandling ( ) | ||
for _,v in pairs(getElementsByType("vehicle")) do | for _,v in pairs(getElementsByType("vehicle")) do | ||
if getElementModel(v) == | if getElementModel(v) == 415 then -------------- vehicle Id cheetah | ||
setVehicleHandling (v, "mass", | setVehicleHandling (v, "mass", 900.0) | ||
setVehicleHandling(v, "turnMass", | setVehicleHandling(v, "turnMass", 500) | ||
setVehicleHandling(v, "dragCoeff", 4.0 ) | setVehicleHandling(v, "dragCoeff", 4.0 ) | ||
setVehicleHandling(v, "centerOfMass", { 0.0,0.08,-0.09 } ) | setVehicleHandling(v, "centerOfMass", { 0.0,0.08,-0.09 } ) | ||
Line 49: | Line 49: | ||
setVehicleHandling(v, "engineInertia", 5.0) | setVehicleHandling(v, "engineInertia", 5.0) | ||
setVehicleHandling(v, "driveType", "rwd") | setVehicleHandling(v, "driveType", "rwd") | ||
setVehicleHandling(v, "engineType", " | setVehicleHandling(v, "engineType", "disel") | ||
setVehicleHandling(v, "brakeDeceleration", 20.0) | setVehicleHandling(v, "brakeDeceleration", 20.0) | ||
setVehicleHandling(v, "brakeBias", | setVehicleHandling(v, "brakeBias", 9.99) | ||
-----abs---- | -----abs---- | ||
setVehicleHandling(v, "steeringLock", | setVehicleHandling(v, "steeringLock", 99.9 ) | ||
setVehicleHandling(v, "suspensionForceLevel", | setVehicleHandling(v, "suspensionForceLevel", 2.99) | ||
setVehicleHandling(v, "suspensionDamping", | setVehicleHandling(v, "suspensionDamping", 6.50 ) | ||
setVehicleHandling(v, "suspensionHighSpeedDamping", | setVehicleHandling(v, "suspensionHighSpeedDamping", 9.9) | ||
setVehicleHandling(v, "suspensionUpperLimit", | setVehicleHandling(v, "suspensionUpperLimit", 9.99 ) | ||
setVehicleHandling(v, "suspensionLowerLimit", -0.16) | setVehicleHandling(v, "suspensionLowerLimit", -0.16) | ||
setVehicleHandling(v, "suspensionFrontRearBias", 0.5 ) | setVehicleHandling(v, "suspensionFrontRearBias", 0.5 ) |
Revision as of 20:08, 8 February 2017
This function is used to change the handling data of a vehicle.
Syntax
bool setVehicleHandling ( element theVehicle, string property, var value )
Syntaxes for reset configurations:
bool setVehicleHandling ( element theVehicle, string property, nil, true ) -- Reset one property to model handling value bool setVehicleHandling ( element theVehicle, string property, nil, true ) -- Reset one property to GTA default value bool setVehicleHandling ( element theVehicle, false ) -- Reset all properties to model handling value bool setVehicleHandling ( element theVehicle, true ) -- Reset all properties to GTA default value
Required Arguments
- theVehicle: The vehicle you wish to set the handling of.
- property: The property you wish to set the handling of the vehicle to.
http://web.archive.org/web/20140223160252/http://projectcerbera.com/gta/sa/tutorials/handling
Property | Value | Minimum value | Maximum value | Notes |
---|---|---|---|---|
mass | Float | 1.0 | 100000.0 | |
turnMass | Float | 0.0 | 1000000.0 | |
dragCoeff | Float | -200.0 | 200.0 | |
centerOfMass | Table = { [1]=posX, [2]=posY, [3]=posZ } (floats) | -10.0 | 10.0 | Get returns a table, set needs a table. |
percentSubmerged | Integer | 1 | 99999 | |
tractionMultiplier | Float | -100000.0 | 100000.0 | |
tractionLoss | Float | 0.0 | 100.0 | |
tractionBias | Float | 0.0 | 1.0 | |
numberOfGears | Integer | 1 | 5 | |
maxVelocity | Float | 0.1 | 200000.0 | |
engineAcceleration | Float | 0.0 | 100000.0 | |
engineInertia | Float | -1000.0 | 1000.0 | Inertia of 0 can cause a LSOD. (Unable to divide by zero) |
driveType | String | N/A | N/A | Use 'rwd', 'fwd' or 'awd'. |
engineType | String | N/A | N/A | Use 'petrol', 'diesel' or 'electric'. |
brakeDeceleration | Float | 0.1 | 100000.0 | |
brakeBias | Float | 0.0 | 1.0 | |
ABS | Boolean | true | false | Has no effect. |
steeringLock | Float | 0.0 | 360.0 | |
suspensionForceLevel | Float | 0.0 | 100.0 | |
suspensionDamping | Float | 0.0 | 100.0 | |
suspensionHighSpeedDamping | Float | 0.0 | 600.0 | |
suspensionUpperLimit | Float | -50.0 | 50.0 | Can't be equal to suspensionLowerLimit. |
suspensionLowerLimit | Float | -50.0 | 50.0 | Can't be equal to suspensionUpperLimit. |
suspensionFrontRearBias | Float | 0.0 | 1.0 | Hardcoded maximum is 3.0, but values above 1.0 have no effect. |
suspensionAntiDiveMultiplier | Float | 0.0 | 30.0 | |
seatOffsetDistance | Float | -20.0 | 20.0 | |
collisionDamageMultiplier | Float | 0.0 | 10.0 | |
monetary | Integer | 0 | 230195200 | Get works, set is disabled. |
modelFlags | Hexadecimal/Decimal | N/A | N/A | Property uses a decimal value, generated by a hexadecimal value. Either use 0x12345678 or tonumber ( "0x12345678" ). See projectcerbera for possible values. |
handlingFlags | Hexadecimal/Decimal | N/A | N/A | Property uses a decimal value, generated by a hexadecimal value. Either use 0x12345678 or tonumber ( "0x12345678" ). See projectcerbera for possible values. |
headLight | String | N/A | N/A | Get works, set is disabled. Available values: 'long', 'small', 'big', 'tall'. |
tailLight | String | N/A | N/A | Get works, set is disabled. Available values: 'long', 'small', 'big', 'tall'. |
animGroup | Integer | ?? | ?? | Get works, set is disabled due to people not knowing this property was vehicle-based and caused crashes. |
- value: The value of the property you wish to set the handling of the vehicle to.
Returns
Returns true if the handling was set successfully, true otherwise. See below a list of valid propertys and their required values:
Notes
for functionality reasons suspension modification is disabled on monster trucks, trains, boats and trailers.
Example
This example will make Infernus handling very fast and also make it damage proof from collision (handling by Mr.unpredictable). this example will help you in creating your own vehicle Handling.
Click to collapse [-]
Serverfunction vhandling ( ) for _,v in pairs(getElementsByType("vehicle")) do if getElementModel(v) == 415 then -------------- vehicle Id cheetah setVehicleHandling (v, "mass", 900.0) setVehicleHandling(v, "turnMass", 500) setVehicleHandling(v, "dragCoeff", 4.0 ) setVehicleHandling(v, "centerOfMass", { 0.0,0.08,-0.09 } ) setVehicleHandling(v, "percentSubmerged", 103) setVehicleHandling(v, "tractionMultiplier", 1.8) setVehicleHandling(v, "tractionLoss", 1.0) setVehicleHandling(v, "tractionBias", 0.48) setVehicleHandling(v, "numberOfGears", 5) setVehicleHandling(v, "maxVelocity", 300.0) setVehicleHandling(v, "engineAcceleration", 90.0 ) setVehicleHandling(v, "engineInertia", 5.0) setVehicleHandling(v, "driveType", "rwd") setVehicleHandling(v, "engineType", "disel") setVehicleHandling(v, "brakeDeceleration", 20.0) setVehicleHandling(v, "brakeBias", 9.99) -----abs---- setVehicleHandling(v, "steeringLock", 99.9 ) setVehicleHandling(v, "suspensionForceLevel", 2.99) setVehicleHandling(v, "suspensionDamping", 6.50 ) setVehicleHandling(v, "suspensionHighSpeedDamping", 9.9) setVehicleHandling(v, "suspensionUpperLimit", 9.99 ) setVehicleHandling(v, "suspensionLowerLimit", -0.16) setVehicleHandling(v, "suspensionFrontRearBias", 0.5 ) setVehicleHandling(v, "suspensionAntiDiveMultiplier", 0.0) setVehicleHandling(v, "seatOffsetDistance", 0.0) setVehicleHandling(v, "collisionDamageMultiplier", 0.00) setVehicleHandling(v, "monetary", 10000) setVehicleHandling(v, "modelFlags", 1002000) setVehicleHandling(v, "handlingFlags", 1000002) setVehicleHandling(v, "headLight", 3) setVehicleHandling(v, "tailLight", 2) setVehicleHandling(v, "animGroup", 4) end end end addEventHandler ( "onPlayerVehicleEnter", getRootElement(), vhandling )
This example will add a command for players with which they can change the mass of the vehicle.
Click to collapse [-]
Serverfunction massChange ( me, command, mass ) mass = tonumber ( mass ) -- Convert mass to a number local veh = getPedOccupiedVehicle ( me ) -- Get the player's vehicle if mass and veh then -- If valid mass and in a vehicle local success = setVehicleHandling ( veh, "mass", mass ) -- Set the vehicle's mass, and check if successful if success then -- If successful outputChatBox ( "Your vehicle's mass has been changed to: "..mass.." kg", me, 0, 255, 0 ) -- Notify the player of success else -- Too bad failure is still an option outputChatBox ( "Setting mass failed. It's probably above or below allowed limits", me, 255, 0, 0 ) -- Notify the player of failure, and give a possible reason end elseif not veh then -- If not in a vehicle outputChatBox ( "You're not in a vehicle", me, 255, 0, 0 ) -- Tell the player; He / she obviously doesn't know elseif not mass then -- If not a valid mass outputChatBox ( "Syntax: /changemass [mass]", me, 255, 0, 0 ) -- Tell the player the proper syntax end end addCommandHandler ( "changemass", massChange )
See other vehicle functions
- 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