GetGaragePosition: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Example.)
m (Example edited)
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)
This element has to create a blip at the nearest garage and removes it in 10 seconds.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function getNearestGarageFromElement (element)
function getNearestGarageFromElement (element)
   local nearestID = -1
   nearestID = -1
   local nearestDistance = 999999999999
   nearestDistance = 999999999999
   local ex,ey,ez = getElementPosition (element)
   local ex,ey,ez = getElementPosition (element)
   for i=0,49 do
   for i=0,49 do
     local x,y,z = getGaragePosition (i)
     local x,y,z = getGaragePosition (i)
     if (getDistanceBetweenPoints3D (ex,ey,ez,x,y,z) < nearestDistance) then
     if (getDistanceBetweenPoints3D (ex,ey,ez,x,y,z) < nearestDistance) then
       local nearestID = i
       nearestID = i
      nearestDistance = getDistanceBetweenPoints3D (ex,ey,ez,x,y,z)
     end
     end
   end
   end
   return nearestID
  local _nearestID = nearestID
  nearestID = nil
   return _nearestID
end
end



Revision as of 16:17, 15 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.

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

Shared