Vehicle/SetVehicleParams

From Garry's Mod
(Difference between revisions)
Jump to: navigation, search
(This isn't specific to maxSpeed (correct me if I missed a field - this is just from memory). Apologies if this description is a bit verbose - I wanted to explain the issue very clearly)
 
Line 14: Line 14:
 
|name=params
 
|name=params
 
|desc=The new new vehicle parameters. See {{Struct|VehicleParams}}
 
|desc=The new new vehicle parameters. See {{Struct|VehicleParams}}
 +
}}
 +
{{Example
 +
|Description=Adds 25 horsepower to every vehicle spawned.
 +
|Code=hook.Add("PlayerSpawnedVehicle", "VehicleParamsExample", function(ply, ent)
 +
 +
    local params = ent:GetVehicleParams()
 +
 +
 +
    params.engine.horsepower = params.engine.horsepower + 25
 +
 +
 +
    ent:SetVehicleParams(params)
 +
 +
end)
 
}}
 
}}

Latest revision as of 17:43, 16 October 2019

 Vehicle:SetVehicleParams( )

Contents

Description

Sets the vehicle parameters for given vehicle.

NOTE

Not all variables from the VehicleParams structure can be set.

BUG

Because this method uses miles per hour but Vehicle:GetVehicleParams returns Hammer units per second, this method incorrectly modifies the vehicle engine's "boostMaxSpeed", "maxRevSpeed" and "maxSpeed" even when not explicitly set in a call to this method.

Workaround: In order to retain the original values for these fields, call Vehicle:GetVehicleParams yourself, convert the mentioned fields from Hammer units per second to miles per hour (1 MPH ≈ 17.6 HU/s in this case) and add them to the table passed into the call to this setter. Avoid doing this repeatedly to avoid floating point inaccuracies over time (store the ready-calculated value for next time if possible).

Issue Tracker: #2625

Arguments

table params

The new new vehicle parameters. See VehicleParams structure

Examples

Example

Adds 25 horsepower to every vehicle spawned.

hook.Add("PlayerSpawnedVehicle", "VehicleParamsExample", function(ply, ent)

    local params = ent:GetVehicleParams()


    params.engine.horsepower = params.engine.horsepower + 25


    ent:SetVehicleParams(params)

end)


Personal tools
Navigation