SetVehicleGravityPoint

From Multi Theft Auto: Wiki

Jump to: navigation, search

This clientside function sets a vehicle's gravity in the direction of a 3 dimensional coordinate with the strength specified.

Syntax

bool setVehicleGravityPoint( vehicle targetVehicle, float pointX, float pointY, float pointZ, float strength )

Required Arguments

  • targetVehicle: The vehicle you want to set the gravity of.
  • pointX: The X position of the gravity point.
  • pointY: The Y position of the gravity point.
  • pointZ: The Z position of the gravity point.
  • strength: The strength of the gravity as a multiple of the global gravity.

Returns

Returns true if the function was successful, false otherwise.

Code

Click to collapse [-]
Client

function setVehicleGravityPoint( targetVehicle, pointX, pointY, pointZ, strength )
	if isElement( targetVehicle ) and getElementType( targetVehicle ) == "vehicle" then
		local vehicleX,vehicleY,vehicleZ = getElementPosition( targetVehicle )
		local vectorX = vehicleX-pointX
		local vectorY = vehicleY-pointY
		local vectorZ = vehicleZ-pointZ
		local length = ( vectorX^2 + vectorY^2 + vectorZ^2 )^0.5
 
		local propX = vectorX^2 / length^2
		local propY = vectorY^2 / length^2
		local propZ = vectorZ^2 / length^2
 
		local finalX = ( strength^2 * propX )^0.5
		local finalY = ( strength^2 * propY )^0.5
		local finalZ = ( strength^2 * propZ )^0.5
 
		if vectorX > 0 then finalX = finalX * -1 end
		if vectorY > 0 then finalY = finalY * -1 end
		if vectorZ > 0 then finalZ = finalZ * -1 end
 
		return setVehicleGravity( targetVehicle, finalX, finalY, finalZ )
	end
	return false
end

Example

Click to collapse [-]
Client

This example makes a command that will make the player's current vehicle "fall" towards 0,0,50 with 5 times the global gravity.

function toFarm()
		setVehicleGravityPoint(getPedOccupiedVehicle(getLocalPlayer()), 0, 0, 50, 5) -- Make the vehicle "fall"
end
addCommandHandler("tofarm", toFarm, false) -- Create the tofarm command

Author: Cecer1

See Also

  • callClientFunction » This function allows you to call any clientside function from the server's side.
  • callServerFunction » This function allows you to call any server-side function from the client's side.
  • Check » This function checks if it's arguments are of the right types and calls the error-function if one isn't.
  • doForAllElements » This function can be used to execute a specified function for all elements of a specified type.
  • iterElements » Returns an iterator for your for loops saving time typing ipairs( getElementsByType( type ) ), instead you type: iterElements( type ).
  • findRotation » Takes two points and returns the direction from point A to point B.
  • FormatDate » Formats a date on the basis of a format string and returns it.
  • getAge » This function calculates the age of a birthday.
  • IfElse » Returns one of two values based on a boolean expression.
  • isLeapYear » Checks if the given year is a leap year.
  • math.round » Rounds a number whereas the number of decimals to keep and the method may be set.
  • setVehicleGravityPoint » This clientside function sets a vehicle's gravity in the direction of a 3 dimensional coordinate with the strength specified.
  • string.explode » This function splits a string at a given separator pattern and returns a table with the pieces.
  • table.copy » This function copies a whole table and all the tables in that table.
  • table.map » This function goes through a table and replaces every field with the return of the passed function, where the field's value is passed as first argument and optionally more arguments.
  • table.size » Finds the absolute size of a table.
  • var_dump »This function outputs information about one or more variables using outputConsole().
  • RGBToHex » This function returns a string representing the color in hexadecimal.
  • onVehicleWeaponFire » This code implements an event that is triggered when a player in a vehicle fires a vehicles weapon.
  • toHex » This function converts a decimal number to a hexadecimal number, as a fix to be used clientside.
  • getElementSpeed » This function allows you to get element speed in kph or mph units.
  • setElementSpeed » This function allows you to set moving element speed in kph or mph units.
  • centerWindow » This function center the window in any resolution.
Personal tools