GetGaragePosition: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Example.)
Line 16: Line 16:
==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. (untested)
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
-- TODO
function getNearestGarageFromElement (element)
  local nearestID = -1
  local 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
      local nearestID = i
    end
  end
  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>

Revision as of 11:15, 9 January 2011

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.

Example

Click to collapse [-]
Client

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

function getNearestGarageFromElement (element)
  local nearestID = -1
  local 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
      local nearestID = i
    end
  end
  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