GetVehicleHandling: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
(Here you go Qais)
Line 14: Line 14:


===Returns===
===Returns===
Returns a ''table'' containing all the handling data, ''false'' otherwise. Here a list of valid table values:
Returns a ''table'' containing all the handling data, ''false'' otherwise. Here a list of valid table properties:
{{Handling Properties}}
{{Handling Properties}}


==Example==
==Example==
<section name="Server & Client" class="both" show="true">
<section name="Server & Client" class="both" show="true">
This example simplifies the use of getVehicleHandling
This example simulates the previous syntax of this function, getVehicleHandling ( element theVehicle, string property )
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
_getVehicleHandling = getVehicleHandling() -- replace the original getVehicleHandling function as _getVehicleHandling
_getVehicleHandling = getVehicleHandling() -- replace the original getVehicleHandling function as _getVehicleHandling
function getVehicleHandling(ele, prop)
function getVehicleHandling ( element, property )
        if ele and prop then -- there is an element and property
    if element and property then -- there is an element and property
          if getElementType(ele) == "vehicle" then -- if the type of the element is a vehicle
        if getElementType ( element ) == "vehicle" then -- if the type of the element is a vehicle
      local handlingTable = _getVehicleHandling(ele) -- get the handling as table and save as handlingTable
            local handlingTable = _getVehicleHandling ( element ) -- get the handling as table and save as handlingTable
              local value = handlingTable.prop -- make the value wanted
            local value = handlingTable[prop] -- make the value wanted
              return value -- return the value wanted!
            return value -- return the value wanted!
          end
         end
         end
    end
end
end
</syntaxhighlight>
</syntaxhighlight>

Revision as of 10:08, 7 May 2011

This function returns a table of the current vehicle handling data.

*Note: This function has not merged into the 1.1 nightly builds yet! It will only work if you have a custom build of the handling branch.

Syntax

table getVehicleHandling ( element theVehicle ) 

Required Arguments

  • theVehicle: The vehicle you wish to get the handling data of.

Returns

Returns a table containing all the handling data, false otherwise. Here a list of valid table properties:

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.

Example

Click to collapse [-]
Server & Client

This example simulates the previous syntax of this function, getVehicleHandling ( element theVehicle, string property )

_getVehicleHandling = getVehicleHandling() -- replace the original getVehicleHandling function as _getVehicleHandling
function getVehicleHandling ( element, property )
    if element and property then -- there is an element and property
        if getElementType ( element ) == "vehicle" then -- if the type of the element is a vehicle
            local handlingTable = _getVehicleHandling ( element ) -- get the handling as table and save as handlingTable
            local value = handlingTable[prop] -- make the value wanted
            return value -- return the value wanted!
        end
    end
end

See other vehicle functions