Multi Theft Auto: Wiki:GetNearestVehicle: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 12: Line 12:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function getNearestVehicle(player,distance)
function getNearestVehicle(player,distance)
local tempTable = {}
local lastMinDis = distance-0.0001
local lastMinDis = distance-0.0001
local nearestVeh = false
local nearestVeh = false
local pint = getElemnetInterior(player)
local pdim = getElementDimension(player)
local px,py,pz = getElementPosition(player)
local px,py,pz = getElementPosition(player)
for _,v in pairs(getElementsByType("vehicle")) do
for _,v in pairs(getElementsByType("vehicle")) do
local vx,vy,vz = getElementPosition(v)
local vx,vy,vz = getElementPosition(v)
local dis = getDistanceBetweenPoints3D(px,py,pz,vx,vy,vz)
local dis = getDistanceBetweenPoints3D(px,py,pz,vx,vy,vz)
if dis < distance then
local vdim = getElementDimension(v)
local vint = getElemnetInterior(v)
if dis < distance and vint == pint and vdim == pdim then
if dis < lastMinDis then  
if dis < lastMinDis then  
lastMinDis = dis
lastMinDis = dis
Line 27: Line 32:
return nearestVeh
return nearestVeh
end
end
</syntaxhighlight></section>
</syntaxhighlight></section>

Revision as of 12:53, 16 July 2017

Syntax

vehicle getNearestVehicle( element thePlayer, float distance )

Required Arguments

  • thePlayer: The player you want to get the nearest vehicle of.
  • distance: The distance to search for vehicles in.

Returns

Return a vehicle element if success, returns false if thers no vehicles in the specified distance.

Code

Click to collapse [-]
Server- and/or clientside Script
function getNearestVehicle(player,distance)
	local tempTable = {}
	local lastMinDis = distance-0.0001
	local nearestVeh = false
	local pint = getElemnetInterior(player)
	local pdim = getElementDimension(player)
	local px,py,pz = getElementPosition(player)
	for _,v in pairs(getElementsByType("vehicle")) do
		local vx,vy,vz = getElementPosition(v)
		local dis = getDistanceBetweenPoints3D(px,py,pz,vx,vy,vz)
		local vdim = getElementDimension(v)
		local vint = getElemnetInterior(v)
		if dis < distance and vint == pint and vdim == pdim then
			if dis < lastMinDis then 
				lastMinDis = dis
				nearestVeh = v
			end
		end
	end
	return nearestVeh
end