GetGaragePosition: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
 
(2 intermediate revisions by one other user not shown)
Line 12: Line 12:


===Returns===
===Returns===
Returns three ''float''s indicating the position of the garage, ''x'', ''y'' and ''z'' respectively.
Returns three ''float''s indicating the position of the garage, ''x'', ''y'' and ''z'' respectively, false when garageID was invalid.


==Example==  
==Example==  
<section name="Client" class="client" show="true">
<section name="Client" class="client" show="true">
-
This element has to create a blip at the nearest garage and removes it in 10 seconds.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
-- TODO
function getNearestGarageFromElement (element)
  nearestID = -1
  nearestDistance = 999999999999
  local ex,ey,ez = getElementPosition (element)
  for i=0,49 do
    local x,y,z = getGaragePosition (i)
    if (getDistanceBetweenPoints3D (ex,ey,ez,x,y,z) < nearestDistance) then
      nearestID = i
      nearestDistance = getDistanceBetweenPoints3D (ex,ey,ez,x,y,z)
    end
  end
  local _nearestID = nearestID
  nearestID = nil
  return _nearestID
end
 
addCommandHandler ("findgarage",
function(command)
  local garageID = getNearestGarageFromElement (getLocalPlayer())
  if (garageID ~= -1) then
    local x,y,z = getGaragePosition (garageID)
    local garageBlip = createBlip (x,y,z,41)
    setTimer (
      function (garageBlip)
        destroyElement (garageBlip)
      end
    ,10000,1,garageBlip)
  end
end)
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>

Latest revision as of 03:42, 25 September 2018

This function outputs X, Y and Z position of given garage.

Syntax

float, float, float getGaragePosition ( int garageID )

Required Arguments

  • garageID: The garage ID that represents the garage door that is being checked.

Returns

Returns three floats indicating the position of the garage, x, y and z respectively, false when garageID was invalid.

Example

Click to collapse [-]
Client

This element has to create a blip at the nearest garage and removes it in 10 seconds.

function getNearestGarageFromElement (element)
  nearestID = -1
  nearestDistance = 999999999999
  local ex,ey,ez = getElementPosition (element)
  for i=0,49 do
    local x,y,z = getGaragePosition (i)
    if (getDistanceBetweenPoints3D (ex,ey,ez,x,y,z) < nearestDistance) then
      nearestID = i
      nearestDistance = getDistanceBetweenPoints3D (ex,ey,ez,x,y,z)
    end
  end
  local _nearestID = nearestID
  nearestID = nil
  return _nearestID
end

addCommandHandler ("findgarage",
function(command)
  local garageID = getNearestGarageFromElement (getLocalPlayer())
  if (garageID ~= -1) then
    local x,y,z = getGaragePosition (garageID)
    local garageBlip = createBlip (x,y,z,41)
    setTimer (
      function (garageBlip)
        destroyElement (garageBlip)
      end
    ,10000,1,garageBlip)
  end
end)

See Also