Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Lua by diego ( 15 years ago )
function getCursDir()
-- Screen variables  
  local maximumX, maximumY = 802,716 -- tamanho da tela do uo
  local centreX, fCentreX = math.modf(maximumX/2)
  local centreY, fCentreY = math.modf(maximumY/2) 
  local relativeX,relativeY = UO.CursorX-centreX , -1*(UO.CursorY-centreY)
  local sector = 16
  --print("**** coordenadas ****")
  --print( "centreX: " .. centreX, "centreY: " .. centreY)
  --print( "relativeX: " .. relativeX, "relativeY: " .. relativeY)
  local relativeDegrees = getAngle(relativeX,relativeY)
  if relativeDegrees > 22.5 and relativeDegrees <= 67.5 then
    return "N"
  elseif relativeDegrees > 67.5 and relativeDegrees <= 112.5 then
    return "NW" 
  elseif relativeDegrees > 112.5 and relativeDegrees <= 157.5 then
    return "W"  
  elseif ( relativeDegrees > 157.5 and relativeDegrees <= 180 ) or 
         ( relativeDegrees > -180 and relativeDegrees <= -157.5 ) then
    return "SW"         
  elseif relativeDegrees > -157.5 and relativeDegrees <= -112.5 then
    return "S"  
  elseif relativeDegrees > -112.5 and relativeDegrees <= -67.5 then
    return "SE"  
  elseif relativeDegrees > -67.5 and relativeDegrees <= -22.5 then
    return "E"  
  elseif ( relativeDegrees > -22.5 and relativeDegrees <= 0 ) or
         ( relativeDegrees > 0 and relativeDegrees <= 22.5) then  
    return "NE"         
  end  
end

function getAngle(x,y)
  local angleRadians = math.atan2(y,x)
  local degrees = angleRadians*(180/math.pi)
--  print("Radians: "..angleRadians)
--  print("degrees: "..degrees)
  return degrees
end

function teleFarCursDir()
  local lTargetID,lTargetKind = UO.LTargetID,UO.LTargetKind  
  UO.Macro(15,21)
  waitForTarget(21)                                  
  local x,y,z = UO.CharPosX,UO.CharPosY,UO.CharPosZ
  if getCursDir() == "N" then 
    y = y - range_teleport        
  elseif getCursDir() == "NE" then 
    y = y - range_teleport
    x = x + range_teleport
  elseif getCursDir() == "E" then 
    x = x + range_teleport
  elseif getCursDir() == "SE" then 
    x = x + range_teleport
    y = y + range_teleport
  elseif getCursDir() == "S" then 
    y = y + range_teleport  
  elseif getCursDir() == "SW" then 
    y = y + range_teleport
    x = x - range_teleport
  elseif getCursDir() == "W" then 
    x = x - range_teleport  
  elseif getCursDir() == "NW" then 
    x = x - range_teleport
    y = y - range_teleport
  end        
  UO.LTargetX = x
  UO.LTargetY = y
  UO.LTargetZ = z
  UO.LTargetKind = 2 
  while UO.TargCurs do
    UO.Macro(22,0)
  end
  UO.LTargetKind = lTargetKind
  UO.LTargetID = lTargetID
end

 

Revise this Paste

Your Name: Code Language: