User Tools

Site Tools



argusdocs

Argus documentation

Module argus

Advanced detections/drawing library

World Draw Fields

u32color Integer color value used in Argus functions

World Draw Structures

rgbFill Structure used for old Argus timed draws

World Draw Functions

Argus.addArrowFilled Draw a filled arrow on the ground at world coordinates for this frame.
Argus.addChevronFilled Draw a filled chevron on the ground at world coordinates for this frame.
Argus.addCircleFilled Draw a filled circle on the ground at world coordinates for this frame.
Argus.addConeFilled Draw a timed cone on the ground at world coordinates for this frame.
Argus.addCrossFilled Draw a filled cross on the ground at world coordinates for this frame.
Argus.addDonutFilled Draw a filled donut (torus) on the ground at world coordinates for this frame.
Argus.addLineFilled Draw a timed line between two world coordinate positions for this frame.
Argus.addRectFilled Draw a filled rectangle on the ground at world coordinates for this frame.
Argus.addTimedCircleFilled THIS FUNCTION IS DEPRECATED.
Argus.addTimedConeFilled THIS FUNCTION IS DEPRECATED.
Argus.addTimedCrossFilled THIS FUNCTION IS DEPRECATED.
Argus.addTimedDonutFilled THIS FUNCTION IS DEPRECATED.
Argus.addTimedLineFilled THIS FUNCTION IS DEPRECATED.
Argus.addTimedRectFilled THIS FUNCTION IS DEPRECATED.
Argus.deleteTimedShape Deletes a timed draw given a uuid
Argus2.addTimedArrowFilled Draw a filled arrow on the ground at world coordinates for a specified duration.
Argus2.addTimedChevronFilled Draw a filled chevron on the ground at world coordinates for a specified duration.
Argus2.addTimedCircleFilled Draw a filled circle on the ground at world coordinates for a specified duration.
Argus2.addTimedConeFilled Draw a timed cone on the ground at world coordinates for a specified duration.
Argus2.addTimedCrossFilled Draw a filled cross on the ground at world coordinates for a specified duration.
Argus2.addTimedDonutFilled Draw a filled donut (torus) on the ground at world coordinates for a specified duration.
Argus2.addTimedLineFilled Draw a timed line between two world coordinate positions for a specified duration.
Argus2.addTimedRectFilled Draw a filled rectangle on the ground at world coordinates for a specified duration.

Class ShapeDrawer

Argus2.ShapeDrawer:new Create a new shape drawer object.
ShapeDrawer.colorEnd
ShapeDrawer.colorMid
ShapeDrawer.colorOutline
ShapeDrawer.colorStart
ShapeDrawer.gradientIntensity
ShapeDrawer.gradientMinOpacity
ShapeDrawer.outlineThickness
ShapeDrawer.segments
ShapeDrawer:addArrow Draw an arrow on the ground for this frame.
ShapeDrawer:addChevron Draw a chevron on the ground for this frame.
ShapeDrawer:addCircle Draw a filled circle on the ground at world coordinates for this frame.
ShapeDrawer:addCone Draw a cone on the ground at world coordinates for this frame.
ShapeDrawer:addCross Draw a cross on the ground at world coordinates for this frame.
ShapeDrawer:addDonut Draw a donut on the ground at world coordinates for this frame.
ShapeDrawer:addLine Draw a line between two points on the ground for this frame.
ShapeDrawer:addRect Draw a filled rectangle on the ground at world coordinates for this frame.
ShapeDrawer:addTimedArrow Draw an arrow on the ground for timeout milliseconds.
ShapeDrawer:addTimedArrowOnEnt Draw an arrow on the ground for timeout milliseconds.
ShapeDrawer:addTimedChevron Draw a chevron on the ground for timeout milliseconds.
ShapeDrawer:addTimedChevronOnEnt Draw a chevron on an entity for timeout milliseconds.
ShapeDrawer:addTimedCircle Draw a filled circle on the ground at world coordinates for timeout milliseconds.
ShapeDrawer:addTimedCircleOnEnt Draw a filled circle on an entity for timeout milliseconds.
ShapeDrawer:addTimedCone Draw a cone on the ground at world coordinates for timeout milliseconds.
ShapeDrawer:addTimedConeOnEnt Draw a cone on an entity for timeout milliseconds.
ShapeDrawer:addTimedCross Draw a cross on the ground at world coordinates for timeout milliseconds.
ShapeDrawer:addTimedCrossOnEnt Draw a cross on an entity for timeout milliseconds.
ShapeDrawer:addTimedDonut Draw a donut on the ground at world coordinates for timeout milliseconds.
ShapeDrawer:addTimedDonutOnEnt Draw a donut on an entity for timeout milliseconds.
ShapeDrawer:addTimedLine Draw a line between two points on the ground for timeout milliseconds.
ShapeDrawer:addTimedRect Draw a filled rectangle on the ground at world coordinates for timeout milliseconds.
ShapeDrawer:addTimedRectOnEnt Draw a filled rectangle on an entity for timeout milliseconds.
ShapeDrawer:setGradient

Detection Structures

DirectionalAOE Structure for Directional AOEs that are usually originating from an entity
GroundAOE Structure for Ground AOEs that are not usually attached to any entity
aoeAnimationInfo Structure that contains information about an aoe's animation.
aoeEffectInfo Structure that contains information about an omen/telegraph.
castType An integer to identify some aoe types.

Detection Functions

Argus.forceMisdirectionMovement Normal movement options in minion will not move the player when under misdirection.
Argus.getCurrentAOEs Returns a merged list of GroundAOEs and DirectionalAOEs.
Argus.getCurrentDirectionalAOEs Returns list of current AOEs that are cast on the ground where each key is the entityID source, and value is the DirectionalAOE structure.
Argus.getCurrentGroundAOEs Returns list of current AOEs that are on the ground where each key is the entityID source, and value is the DirectionalAOE.
Argus.getCurrentTethers Returns table where each key is number entityID and each value is table tethers.
Argus.getEntityAuras Returns the current auras on the target entity.
Argus.getEntityModel Sometimes contentid isn't enough to distinguish an entity (such as housing target dummies), in which case this function will provide a subcontentid.
Argus.getMisdirectionHeading This is for buffs where the finger points above the players head in a direction, and the player is forced to go in that direction.
Argus.getSpellAOEInfo Returns a structure similar to DirectionalAOE or GroundAOE but without any instance specific data.
Argus.getTethersOnEnt Returns a list of tethers that are attached to entity.
Argus.getWaymarkInfo Returns information about the marker.
Argus.isEntityVisible Returns whether or not the entity is visible to the player.
Argus.registerOnAOECreateFunc Registers func into on aoe create func list.
Argus.registerOnEntityCast Registers func into entity cast func list.
Argus.registerOnEntityChannel Registers func into entity channel func list.
Argus.registerOnEventObjectScript2Func Registers func into on event object script2 func list.
Argus.registerOnEventObjectScriptFunc Registers func into on event object script func list.
Argus.registerOnFloorChangeFunc Registers func into on floor change func list.
Argus.registerOnMapEffect Registers func into on map effect func list.
Argus.registerOnMarkerAdd Registers func into marker func list, and func will get called any time there is an overhead marker added to an entity.
Argus.registerOnTetherChange Registers func into on tether change func list.
Argus.setMisdirectionHeading This is for buffs where the finger points above the players head in a direction, and the player can adjust the direction of the finger with their movement.
onAOECreateFunc
onEntityCastFunc Cast position may be nil if the cast was not casted at a specific position.
onEntityChannelFunc
onEventObjectScript2Func
onEventObjectScriptFunc
onFloorChangeFunc
onMapEffectFunc The numbers/identifiers sent to this function are simply numbers to indicate which pattern it is.
onMarkerAddFunc
onTetherChangeFunc


World Draw Fields

u32color
Integer color value used in Argus functions
  • u32color Use GUI:ColorConvertFloat4ToU32(r, g, b, a) to get this U32 value. The r, g, b, a values are all [0,1], not [0,255].

World Draw Structures

rgbFill
Structure used for old Argus timed draws

Fields:

  • r number [0,1]
  • g number [0,1]
  • b number [0,1]
  • a number [0,1]

World Draw Functions

Argus.addArrowFilled (x, y, z, length, baseWidth, tipLength, tipWidth, heading, colorFill[, colorOutline][, outlineThickness=1.0][, gradientIntensity=3][, gradientMinOpacity=0.05][, oldDraw=false])
Draw a filled arrow on the ground at world coordinates for this frame. The arrow base/bottom is centered on x,y,z, and then rotated such that there is an arrow facing the specified heading.

Parameters:

  • x number
  • y number
  • z number
  • length number Length of the base rectangle of the arrow.
  • baseWidth number Width of the base rectangle of the arrow.
  • tipLength number Length of the tip triangle of the arrow.
  • tipWidth number Width of the tip triangle of the arrow.
  • heading number The direction the arrow will point towards in radians.
  • colorFill u32color Fill Color of rectangle. If argument is nil, then no fill will be drawn.
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
  • gradientIntensity int If specified, will control how quickly the gradient fades to minOpacity. A value of 0 means there is no gradient, just a constant fill. (default 3)
  • gradientMinOpacity number If specified, will control the minimum opacity of the gradient. (default 0.05)
  • oldDraw bool If true, will use the old draw method. Can be useful for certain types of draws to always overlay on top of everything, such as drawing your partner in a mechanic where the boss model is huge. (default false)
Argus.addChevronFilled (x, y, z, length, thickness, heading, colorFill[, colorOutline][, outlineThickness=1.0][, gradientIntensity=3][, gradientMinOpacity=0.05][, oldDraw=false])
Draw a filled chevron on the ground at world coordinates for this frame. The chevron base/bottom is centered on x,y,z, and then rotated such that it is pointing towards specified heading.

Parameters:

  • x number
  • y number
  • z number
  • length number
  • thickness number Width of the base rectangle of the arrow.
  • heading number The direction the chevron will point towards in radians.
  • colorFill u32color Fill Color of rectangle. If argument is nil, then no fill will be drawn.
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
  • gradientIntensity int If specified, will control how quickly the gradient fades to minOpacity. A value of 0 means there is no gradient, just a constant fill. (default 3)
  • gradientMinOpacity number If specified, will control the minimum opacity of the gradient. (default 0.05)
  • oldDraw bool If true, will use the old draw method. Can be useful for certain types of draws to always overlay on top of everything, such as drawing your partner in a mechanic where the boss model is huge. (default false)
Argus.addCircleFilled (x, y, z, radius, segments, colorFill[, colorOutline][, outlineThickness=1.0][, gradientIntensity=3][, gradientMinOpacity=0.05][, oldDraw=false])
Draw a filled circle on the ground at world coordinates for this frame.

Parameters:

  • x number
  • y number
  • z number
  • radius number Radius of the circle in yalms.
  • segments int Number of segments for the circle. Generally only 50 segments is needed to draw a circle that looks round. For performance reasons I would recommend not going above 50 segments.
  • colorFill u32color Fill Color of circle. If argument is nil, then no fill will be drawn.
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
  • gradientIntensity int If specified, will control how quickly the gradient fades to minOpacity. A value of 0 means there is no gradient, just a constant fill. (default 3)
  • gradientMinOpacity number If specified, will control the minimum opacity of the gradient. (default 0.05)
  • oldDraw bool If true, will use the old draw method. Can be useful for certain types of draws to always overlay on top of everything, such as drawing your partner in a mechanic where the boss model is huge. (default false)
Argus.addConeFilled (x, y, z, radius, angle, heading, segments, colorFill[, colorOutline][, outlineThickness=1.0][, gradientIntensity=4][, gradientMinOpacity=0.05][, oldDraw=false])
Draw a timed cone on the ground at world coordinates for this frame. The cone originates from x,y,z, and will go in the direction of heading.

Parameters:

  • x number
  • y number
  • z number
  • radius number If the cone was a circle instead, this gives the radius of that circle. Basically this is the length of the cone.
  • angle number Arc angle of the cone in radians. Basically, this is how wide the cone is.
  • heading number The direction the cone will face in radians.
  • segments int Generally only 30 segments is needed to draw a cone that looks round. For performance reasons I would recommend not going above 30 segments.
  • colorFill u32color Fill Color of rectangle. If argument is nil, then no fill will be drawn.
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
  • gradientIntensity int If specified, will control how quickly the gradient fades to minOpacity. A value of 0 means there is no gradient, just a constant fill. (default 4)
  • gradientMinOpacity number If specified, will control the minimum opacity of the gradient. (default 0.05)
  • oldDraw bool If true, will use the old draw method. Can be useful for certain types of draws to always overlay on top of everything, such as drawing your partner in a mechanic where the boss model is huge. (default false)
Argus.addCrossFilled (x, y, z, length, width, heading, colorFill[, colorOutline][, outlineThickness=1.0][, gradientIntensity=4][, gradientMinOpacity=0.05][, oldDraw=false])
Draw a filled cross on the ground at world coordinates for this frame. The cross is centered on x,y,z, and then rotated such that there is a rectangle facing the specified heading.

Parameters:

  • x number
  • y number
  • z number
  • length number
  • width number
  • heading number The direction the cross will face in radians.
  • colorFill u32color Fill Color of rectangle. If argument is nil, then no fill will be drawn.
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
  • gradientIntensity int If specified, will control how quickly the gradient fades to minOpacity. A value of 0 means there is no gradient, just a constant fill. (default 4)
  • gradientMinOpacity number If specified, will control the minimum opacity of the gradient. (default 0.05)
  • oldDraw bool If true, will use the old draw method. Can be useful for certain types of draws to always overlay on top of everything, such as drawing your partner in a mechanic where the boss model is huge. (default false)
Argus.addDonutFilled (x, y, z, radiusInner, radiusOuter, segments, colorFill[, colorOutline][, outlineThickness=1.0][, gradientIntensity=2][, gradientMinOpacity=0.15][, oldDraw=false])
Draw a filled donut (torus) on the ground at world coordinates for this frame.

Parameters:

  • x number
  • y number
  • z number
  • radiusInner number Inner radius of the donut.
  • radiusOuter number Outer radius of the donut
  • segments int Number of segments for the circle. Generally only 50 segments is needed to draw a circle that looks round. For performance reasons I would recommend not going above 50 segments.
  • colorFill u32color Fill Color of rectangle. If argument is nil, then no fill will be drawn.
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
  • gradientIntensity int If specified, will control how quickly the gradient fades to minOpacity. A value of 0 means there is no gradient, just a constant fill. (default 2)
  • gradientMinOpacity number If specified, will control the minimum opacity of the gradient. (default 0.15)
  • oldDraw bool If true, will use the old draw method. Can be useful for certain types of draws to always overlay on top of everything, such as drawing your partner in a mechanic where the boss model is huge. (default false)
Argus.addLineFilled (x1, y1, z1, x2, y2, z2, colorFill, outlineThickness, endpointThickness)
Draw a timed line between two world coordinate positions for this frame.

Parameters:

  • x1 number
  • y1 number
  • z1 number
  • x2 number
  • y2 number
  • z2 number
  • colorFill u32color
  • outlineThickness number
  • endpointThickness number
Argus.addRectFilled (x, y, z, length, width, heading, colorFill[, colorOutline][, outlineThickness][, ignoreBase=false][, gradientIntensity=4][, gradientMinOpacity=0.05][, oldDraw=false])
Draw a filled rectangle on the ground at world coordinates for this frame. The rectangle originates from x,y,z, and will go width/2 yalms out in each direction up and down, then length yalms out in the direction of heading.

Parameters:

  • x number
  • y number
  • z number
  • length number
  • width number
  • heading number The direction the rectangle will face in radians.
  • colorFill u32color Fill Color of rectangle. If argument is nil, then no fill will be drawn.
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (optional)
  • ignoreBase bool If true, Argus will not draw the outline connecting the base of the rectangle. Useful for drawing crosses, however Argus already has a function for that, see Argus.addCrossFilled. (default false)
  • gradientIntensity int If specified, will control how quickly the gradient fades to minOpacity. A value of 0 means there is no gradient, just a constant fill. (default 4)
  • gradientMinOpacity number If specified, will control the minimum opacity of the gradient. (default 0.05)
  • oldDraw bool If true, will use the old draw method. Can be useful for certain types of draws to always overlay on top of everything, such as drawing your partner in a mechanic where the boss model is huge. (default false)
Argus.addTimedCircleFilled (timeout, x, y, z, radius, segments, rgbFill, alphaMin, alphaMax[, delay=0][, entityAttachID][, colorOutline][, outlineThickness=1.0])
THIS FUNCTION IS DEPRECATED. Use Argus2.addTimedCircleFilled instead. Draw a filled circle on the ground at world coordinates for a specified duration.

Parameters:

  • timeout int duration of the draw
  • x number
  • y number
  • z number
  • radius number Radius of the circle in yalms.
  • segments int Number of segments for the circle. Generally only 50 segments is needed to draw a circle that looks round. For performance reasons I would recommend not going above 50 segments.
  • rgbFill rgbFill
  • alphaMin number Starting alpha value [0,1]
  • alphaMax number Ending alpha value, Argus will gradually increase from alphaMin to alphaMax over the duration of the draw. [0,1]
  • delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
  • entityAttachID int will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)

Returns:

    string uuid, see Argus.deleteTimedShape
Argus.addTimedConeFilled (timeout, x, y, z, radius, angle, heading, segments, rgbFill, alphaMin, alphaMax[, delay=0][, entityAttachID][, targetAttachID][, colorOutline][, outlineThickness=1.0])
THIS FUNCTION IS DEPRECATED. Use Argus2.addTimedConeFilled instead. Draw a filled cone on the ground at world coordinates for a specified duration. The cone originates from x,y,z, and will go in the direction of heading.

Parameters:

  • timeout int duration of the draw
  • x number
  • y number
  • z number
  • radius number If the cone was a circle instead, this gives the radius of that circle. Basically this is the length of the cone.
  • angle number Arc angle of the cone in radians. Basically, this is how wide the cone is.
  • heading number The direction the cone will face in radians.
  • segments int Generally only 30 segments is needed to draw a cone that looks round. For performance reasons I would recommend not going above 30 segments.
  • rgbFill rgbFill
  • alphaMin number Starting alpha value [0,1]
  • alphaMax number Ending alpha value, Argus will gradually increase from alphaMin to alphaMax over the duration of the draw. [0,1]
  • delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
  • entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
  • targetAttachID int If specified, the cone will be drawn from it's source position (either specified or attached to entity) and stopping at the position of targetAttach entity. (optional)
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)

Returns:

    string uuid, see Argus.deleteTimedShape
Argus.addTimedCrossFilled (timeout, x, y, z, length, width, heading, rgbFill, alphaMin, alphaMax[, delay=0][, entityAttachID][, targetAttachID][, colorOutline][, outlineThickness=1.0])
THIS FUNCTION IS DEPRECATED. Use Argus2.addTimedCrossFilled instead. Draw a filled cross on the ground at world coordinates for a specified duration. The cross is centered on x,y,z, and then rotated such that there is a rectangle facing the specified heading.

Parameters:

  • timeout int duration of the draw
  • x number
  • y number
  • z number
  • length number
  • width number
  • heading number The direction the cross will face in radians.
  • rgbFill rgbFill
  • alphaMin number Starting alpha value [0,1]
  • alphaMax number Ending alpha value, Argus will gradually increase from alphaMin to alphaMax over the duration of the draw. [0,1]
  • delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
  • entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
  • targetAttachID int If specified, the cone will be drawn from it's source position (either specified or attached to entity) and stopping at the position of targetAttach entity. (optional)
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)

Returns:

    string uuid, see Argus.deleteTimedShape
Argus.addTimedDonutFilled (timeout, x, y, z, radiusInner, radiusOuter, segments, rgbFill, alphaMin, alphaMax[, delay=0][, entityAttachID][, colorOutline][, outlineThickness=1.0])
THIS FUNCTION IS DEPRECATED. Use Argus2.addTimedDonutFilled instead. Draw a filled donut (torus) on the ground at world coordinates for a specified duration.

Parameters:

  • timeout int duration of the draw
  • x number
  • y number
  • z number
  • radiusInner number Inner radius of the donut.
  • radiusOuter number Outer radius of the donut
  • segments int Number of segments for the circle. Generally only 50 segments is needed to draw a circle that looks round. For performance reasons I would recommend not going above 50 segments.
  • rgbFill rgbFill
  • alphaMin number Starting alpha value [0,1]
  • alphaMax number Ending alpha value, Argus will gradually increase from alphaMin to alphaMax over the duration of the draw. [0,1]
  • delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
  • entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)

Returns:

    string uuid, see Argus.deleteTimedShape
Argus.addTimedLineFilled (timeout, x1, y1, z1, x2, y2, z2[, delay=0], rgbFill, outlineThickness, endpointThickness)
THIS FUNCTION IS DEPRECATED. Use Argus2.addTimedLineFilled instead. Draw a filled line between two world coordinate positions for a specified duration.

Parameters:

  • timeout int Duration of the draw
  • x1 number
  • y1 number
  • z1 number
  • x2 number
  • y2 number
  • z2 number
  • delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
  • rgbFill rgbFill Color of line
  • outlineThickness number
  • endpointThickness number

Returns:

    string uuid, see Argus.deleteTimedShape
Argus.addTimedRectFilled (timeout, x, y, z, length, width, heading, rgbFill, alphaMin, alphaMax[, delay=0][, entityAttachID][, targetAttachID[, keepLength=false]][, colorOutline][, outlineThickness=1.0])
THIS FUNCTION IS DEPRECATED. Use Argus2.addTimedRectFilled instead. Draws a filled rectangle on the ground for a specified duration. The rectangle originates from x,y,z, and will go width/2 yalms out in each direction up and down, then length yalms out in the direction of heading.

Parameters:

  • timeout int duration of the draw
  • x number
  • y number
  • z number
  • length number
  • width number
  • heading number The direction the rectangle will face in radians.
  • rgbFill rgbFill
  • alphaMin number Starting alpha value [0,1]
  • alphaMax number Ending alpha value, Argus will gradually increase from alphaMin to alphaMax over the duration of the draw. [0,1]
  • delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
  • entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
  • targetAttachID int If specified, the rectangle will be drawn from it's source position (either specified or attached to entity) and stopping at the position of targetAttach entity. (optional)
  • keepLength bool If specified with targetAttach, then the length won't be adjusted to the target, the length will stay constant. (default false)
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)

Returns:

    string uuid, see Argus.deleteTimedShape
Argus.deleteTimedShape ([uuid=nil])
Deletes a timed draw given a uuid

Parameters:

  • uuid string If nil, all timed draws will be deleted (default nil)
Argus2.addTimedArrowFilled (timeout, x, y, z, length, baseWidth, tipLength, tipWidth, heading, colorStart, colorEnd[, colorMid][, delay=0][, entityAttachID][, targetAttachID][, colorOutline][, outlineThickness=1.0][, gradientIntensity=3][, gradientMinOpacity=0.05][, oldDraw=false])
Draw a filled arrow on the ground at world coordinates for a specified duration. The arrow base/bottom is centered on x,y,z, and then rotated such that there is an arrow facing the specified heading.

Parameters:

  • timeout int duration of the draw
  • x number
  • y number
  • z number
  • length number Length of the base rectangle of the arrow.
  • baseWidth number Width of the base rectangle of the arrow.
  • tipLength number Length of the tip triangle of the arrow.
  • tipWidth number Width of the tip triangle of the arrow.
  • heading number The direction the arrow will point towards in radians.
  • colorStart u32color color to start with.
  • colorEnd u32color U32 Color to end with. Argus will transition from color start to color end.
  • colorMid u32color If specified, Argus will shift from start -> mid -> end color instead of start -> finish (optional)
  • delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
  • entityAttachID int Will attach to specified entity ID, and x,y,z,h will dynamically be changed to specified entity (optional)
  • targetAttachID int If specified, the arrow will point from it's source position (either specified or attached to entity) -> the position of targetAttach entity (optional)
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
  • gradientIntensity int If specified, will control how quickly the gradient fades to minOpacity. A value of 0 means there is no gradient, just a constant fill. (default 3)
  • gradientMinOpacity number If specified, will control the minimum opacity of the gradient. (default 0.05)
  • oldDraw bool If true, will use the old draw method. Can be useful for certain types of draws to always overlay on top of everything, such as drawing your partner in a mechanic where the boss model is huge. (default false)

Returns:

    string uuid, see Argus.deleteTimedShape
Argus2.addTimedChevronFilled (timeout, x, y, z, length, thickness, heading, colorStart, colorEnd[, colorMid][, delay=0][, entityAttachID][, targetAttachID][, colorOutline][, outlineThickness=1.0][, gradientIntensity=3][, gradientMinOpacity=0.05][, oldDraw=false])
Draw a filled chevron on the ground at world coordinates for a specified duration. The chevron base/bottom is centered on x,y,z, and then rotated such that it is pointing towards specified heading.

Parameters:

  • timeout int duration of the draw
  • x number
  • y number
  • z number
  • length number
  • thickness number Width of the base rectangle of the arrow.
  • heading number The direction the chevron will point towards in radians.
  • colorStart u32color color to start with.
  • colorEnd u32color U32 Color to end with. Argus will transition from color start to color end.
  • colorMid u32color If specified, Argus will shift from start -> mid -> end color instead of start -> finish (optional)
  • delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
  • entityAttachID int Will attach to specified entity ID, and x,y,z,h will dynamically be changed to specified entity (optional)
  • targetAttachID int If specified, the chevron will point from it's source position (either specified or attached to entity) -> the position of targetAttach entity (optional)
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
  • gradientIntensity int If specified, will control how quickly the gradient fades to minOpacity. A value of 0 means there is no gradient, just a constant fill. (default 3)
  • gradientMinOpacity number If specified, will control the minimum opacity of the gradient. (default 0.05)
  • oldDraw bool If true, will use the old draw method. Can be useful for certain types of draws to always overlay on top of everything, such as drawing your partner in a mechanic where the boss model is huge. (default false)

Returns:

    string uuid, see Argus.deleteTimedShape
Argus2.addTimedCircleFilled (timeout, x, y, z, radius, segments, colorStart, colorEnd[, colorMid][, delay=0][, entityAttachID][, colorOutline][, outlineThickness=1.0][, gradientIntensity=3][, gradientMinOpacity=0.05][, oldDraw=false])
Draw a filled circle on the ground at world coordinates for a specified duration.

Parameters:

  • timeout int duration of the draw
  • x number
  • y number
  • z number
  • radius number Radius of the circle in yalms.
  • segments int Number of segments for the circle. Generally only 50 segments is needed to draw a circle that looks round. For performance reasons I would recommend not going above 50 segments.
  • colorStart u32color Color to start with.
  • colorEnd u32color U32 Color to end with. Argus will transition from color start to color end.
  • colorMid u32color If specified, Argus will shift from start -> mid -> end color instead of start -> finish (optional)
  • delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
  • entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
  • gradientIntensity int If specified, will control how quickly the gradient fades to minOpacity. A value of 0 means there is no gradient, just a constant fill. (default 3)
  • gradientMinOpacity number If specified, will control the minimum opacity of the gradient. (default 0.05)
  • oldDraw bool If true, will use the old draw method. Can be useful for certain types of draws to always overlay on top of everything, such as drawing your partner in a mechanic where the boss model is huge. (default false)

Returns:

    string uuid, see Argus.deleteTimedShape
Argus2.addTimedConeFilled (timeout, x, y, z, radius, angle, heading, segments, colorStart, colorEnd[, colorMid][, delay=0][, entityAttachID][, targetAttachID][, colorOutline][, outlineThickness=1.0][, gradientIntensity=4][, gradientMinOpacity=0.05][, oldDraw=false])
Draw a timed cone on the ground at world coordinates for a specified duration. The cone originates from x,y,z, and will go in the direction of heading.

Parameters:

  • timeout int duration of the draw
  • x number
  • y number
  • z number
  • radius number If the cone was a circle instead, this gives the radius of that circle. Basically this is the length of the cone.
  • angle number Arc angle of the cone in radians. Basically, this is how wide the cone is.
  • heading number The direction the cone will face in radians.
  • segments int Generally only 30 segments is needed to draw a cone that looks round. For performance reasons I would recommend not going above 30 segments.
  • colorStart u32color color to start with.
  • colorEnd u32color U32 Color to end with. Argus will transition from color start to color end.
  • colorMid u32color If specified, Argus will shift from start -> mid -> end color instead of start -> finish (optional)
  • delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
  • entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
  • targetAttachID int If specified, the cone will be drawn from it's source position (either specified or attached to entity) and stopping at the position of targetAttach entity. (optional)
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
  • gradientIntensity int If specified, will control how quickly the gradient fades to minOpacity. A value of 0 means there is no gradient, just a constant fill. (default 4)
  • gradientMinOpacity number If specified, will control the minimum opacity of the gradient. (default 0.05)
  • oldDraw bool If true, will use the old draw method. Can be useful for certain types of draws to always overlay on top of everything, such as drawing your partner in a mechanic where the boss model is huge. (default false)

Returns:

    string uuid, see Argus.deleteTimedShape
Argus2.addTimedCrossFilled (timeout, x, y, z, length, width, heading, colorStart, colorEnd[, colorMid][, delay=0][, entityAttachID][, targetAttachID][, colorOutline][, outlineThickness=1.0][, gradientIntensity=4][, gradientMinOpacity=0.05][, oldDraw=false])
Draw a filled cross on the ground at world coordinates for a specified duration. The cross is centered on x,y,z, and then rotated such that there is a rectangle facing the specified heading.

Parameters:

  • timeout int duration of the draw
  • x number
  • y number
  • z number
  • length number
  • width number
  • heading number The direction the cross will face in radians.
  • colorStart u32color color to start with.
  • colorEnd u32color U32 Color to end with. Argus will transition from color start to color end.
  • colorMid u32color If specified, Argus will shift from start -> mid -> end color instead of start -> finish (optional)
  • delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
  • entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
  • targetAttachID int If specified, the cone will be drawn from it's source position (either specified or attached to entity) and stopping at the position of targetAttach entity. (optional)
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
  • gradientIntensity int If specified, will control how quickly the gradient fades to minOpacity. A value of 0 means there is no gradient, just a constant fill. (default 4)
  • gradientMinOpacity number If specified, will control the minimum opacity of the gradient. (default 0.05)
  • oldDraw bool If true, will use the old draw method. Can be useful for certain types of draws to always overlay on top of everything, such as drawing your partner in a mechanic where the boss model is huge. (default false)

Returns:

    string uuid, see Argus.deleteTimedShape
Argus2.addTimedDonutFilled (timeout, x, y, z, radiusInner, radiusOuter, segments, colorStart, colorEnd[, colorMid][, delay=0][, entityAttachID][, colorOutline][, outlineThickness=1.0][, gradientIntensity=2][, gradientMinOpacity=0.15][, oldDraw=false])
Draw a filled donut (torus) on the ground at world coordinates for a specified duration.

Parameters:

  • timeout int duration of the draw
  • x number
  • y number
  • z number
  • radiusInner number Inner radius of the donut.
  • radiusOuter number Outer radius of the donut
  • segments int Number of segments for the circle. Generally only 50 segments is needed to draw a circle that looks round. For performance reasons I would recommend not going above 50 segments.
  • colorStart u32color color to start with.
  • colorEnd u32color U32 Color to end with. Argus will transition from color start to color end.
  • colorMid u32color If specified, Argus will shift from start -> mid -> end color instead of start -> finish (optional)
  • delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
  • entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
  • gradientIntensity int If specified, will control how quickly the gradient fades to minOpacity. A value of 0 means there is no gradient, just a constant fill. (default 2)
  • gradientMinOpacity number If specified, will control the minimum opacity of the gradient. (default 0.15)
  • oldDraw bool If true, will use the old draw method. Can be useful for certain types of draws to always overlay on top of everything, such as drawing your partner in a mechanic where the boss model is huge. (default false)

Returns:

    string uuid, see Argus.deleteTimedShape
Argus2.addTimedLineFilled (timeout, x1, y1, z1, x2, y2, z2[, delay=0], colorFill, outlineThickness, endpointThickness)
Draw a timed line between two world coordinate positions for a specified duration.

Parameters:

  • timeout int duration of the draw
  • x1 number
  • y1 number
  • z1 number
  • x2 number
  • y2 number
  • z2 number
  • delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
  • colorFill u32color
  • outlineThickness number
  • endpointThickness number

Returns:

    string uuid, see Argus.deleteTimedShape
Argus2.addTimedRectFilled (timeout, x, y, z, length, width, heading, colorStart, colorEnd[, colorMid][, delay=0][, entityAttachID][, targetAttachID[, keepLength=false]][, colorOutline][, outlineThickness][, gradientIntensity=4][, gradientMinOpacity=0.05][, oldDraw=false])
Draw a filled rectangle on the ground at world coordinates for a specified duration. The rectangle originates from x,y,z, and will go width/2 yalms out in each direction up and down, then length yalms out in the direction of heading.

Parameters:

  • timeout int duration of the draw
  • x number
  • y number
  • z number
  • length number
  • width number
  • heading number The direction the rectangle will face in radians.
  • colorStart u32color color to start with.
  • colorEnd u32color U32 Color to end with. Argus will transition from color start to color end.
  • colorMid u32color If specified, Argus will shift from start -> mid -> end color instead of start -> finish (optional)
  • delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
  • entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
  • targetAttachID int If specified, the rectangle will be drawn from it's source position (either specified or attached to entity) and stopping at the position of targetAttach entity. (optional)
  • keepLength bool If specified with targetAttach, then the length won't be adjusted to the target, the length will stay constant. (default false)
  • colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
  • outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (optional)
  • gradientIntensity int If specified, will control how quickly the gradient fades to minOpacity. A value of 0 means there is no gradient, just a constant fill. (default 4)
  • gradientMinOpacity number If specified, will control the minimum opacity of the gradient. (default 0.05)
  • oldDraw bool If true, will use the old draw method. Can be useful for certain types of draws to always overlay on top of everything, such as drawing your partner in a mechanic where the boss model is huge. (default false)

Returns:

    string uuid, see Argus.deleteTimedShape

Class ShapeDrawer

Argus2.ShapeDrawer:new ([colorStart][, colorMid], colorEnd, colorOutline[, outlineThickness=1.5])
Create a new shape drawer object. It will use the color values specified. You can also freely edit the color values at any point in time.

Parameters:

  • colorStart u32color If not using timed draws, this can be left nil, only colorEnd will be used for frame draws (optional)
  • colorMid u32color If not specified, colorMid is ignored in timed draws and goes colorStart -> colorEnd. Frame draws only use colorEnd (optional)
  • colorEnd u32color Required for timed draws and frame draws.
  • colorOutline u32color
  • outlineThickness number (default 1.5)

Returns:

    ShapeDrawer
ShapeDrawer.colorEnd
  • colorEnd u32color Required for timed draws and frame draws.
ShapeDrawer.colorMid
  • colorMid u32color If not specified, colorMid is ignored in timed draws and goes colorStart -> colorEnd. Frame draws only use colorEnd (optional)
ShapeDrawer.colorOutline
ShapeDrawer.colorStart
  • colorStart u32color If not using timed draws, this can be left nil, only colorEnd will be used for frame draws (optional)
ShapeDrawer.gradientIntensity
  • gradientIntensity int (optional)
ShapeDrawer.gradientMinOpacity
  • gradientMinOpacity number (optional)
ShapeDrawer.outlineThickness
  • outlineThickness number (default 1.5)
ShapeDrawer.segments
  • segments number Only used for circular draws. (default 50.0)
ShapeDrawer:addArrow (x, y, z, heading, baseLength, baseWidth[, tipLength][, tipWidth][, oldDraw])
Draw an arrow on the ground for this frame.

Parameters:

  • x number
  • y number
  • z number
  • heading number Heading in radians.
  • baseLength number
  • baseWidth number
  • tipLength number If unspecified, it will be the same as tipWidth. (optional)
  • tipWidth number If unspecified, it will be 2x baseWidth. (optional)
  • oldDraw bool (optional)
ShapeDrawer:addChevron (x, y, z, length, thickness, heading[, oldDraw])
Draw a chevron on the ground for this frame.

Parameters:

  • x number
  • y number
  • z number
  • length number
  • thickness number Width of the base rectangle of the arrow.
  • heading number Heading in radians.
  • oldDraw bool (optional)
ShapeDrawer:addCircle (x, y, z, radius[, oldDraw])
Draw a filled circle on the ground at world coordinates for this frame.

Parameters:

  • x number
  • y number
  • z number
  • radius number
  • oldDraw bool (optional)
ShapeDrawer:addCone (x, y, z, radius, angle, heading[, oldDraw])
Draw a cone on the ground at world coordinates for this frame.

Parameters:

  • x number
  • y number
  • z number
  • radius number
  • angle number Angle in radians.
  • heading number Heading in radians.
  • oldDraw bool (optional)
ShapeDrawer:addCross (x, y, z, length, width, heading[, oldDraw])
Draw a cross on the ground at world coordinates for this frame. The cross will be centered around xyz and rotated towards heading. One rectangle will point at heading, the others 90 and 180 degrees rotated.

Parameters:

  • x number
  • y number
  • z number
  • length number
  • width number
  • heading number Heading in radians.
  • oldDraw bool (optional)
ShapeDrawer:addDonut (x, y, z, radiusInner, radiusOuter[, oldDraw])
Draw a donut on the ground at world coordinates for this frame.

Parameters:

  • x number
  • y number
  • z number
  • radiusInner number
  • radiusOuter number
  • oldDraw bool (optional)
ShapeDrawer:addLine (x1, y1, z1, x2, y2, z2[, thickness][, endpointThickness])
Draw a line between two points on the ground for this frame.

Parameters:

  • x1 number
  • y1 number
  • z1 number
  • x2 number
  • y2 number
  • z2 number
  • thickness number (optional)
  • endpointThickness number (optional)
ShapeDrawer:addRect (x, y, z, length, width, heading[, oldDraw])
Draw a filled rectangle on the ground at world coordinates for this frame. XYZ pos is the bottom center of the rectangle. The rectangle will be created outwards in length, and then rotated to the heading.

Parameters:

  • x number
  • y number
  • z number
  • length number
  • width number
  • heading number Heading in radians.
  • oldDraw bool (optional)
ShapeDrawer:addTimedArrow (timeout, x, y, z, heading, baseLength, baseWidth[, tipLength][, tipWidth][, delay=0.0][, oldDraw])
Draw an arrow on the ground for timeout milliseconds.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • x number
  • y number
  • z number
  • heading number Heading in radians.
  • baseLength number
  • baseWidth number
  • tipLength number If unspecified, it will be the same as tipWidth. (optional)
  • tipWidth number If unspecified, it will be 2x baseWidth. (optional)
  • delay number Milliseconds to delay the start of the draw. (default 0.0)
  • oldDraw bool (optional)
ShapeDrawer:addTimedArrowOnEnt (timeout, entID, baseLength, baseWidth[, tipLength][, tipWidth][, targetID][, delay=0.0][, oldDraw])
Draw an arrow on the ground for timeout milliseconds.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • entID number or table Entity ID or Entity Table to draw the arrow on.
  • baseLength number
  • baseWidth number
  • tipLength number If unspecified, it will be the same as tipWidth. (optional)
  • tipWidth number If unspecified, it will be 2x baseWidth. (optional)
  • targetID number or table Entity ID to draw the arrow towards. Length will be automatically extended. (optional)
  • delay number Milliseconds to delay the start of the draw. (default 0.0)
  • oldDraw bool (optional)
ShapeDrawer:addTimedChevron (timeout, x, y, z, length, thickness, heading[, delay][, oldDraw])
Draw a chevron on the ground for timeout milliseconds.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • x number
  • y number
  • z number
  • length number
  • thickness number Width of the base rectangle of the arrow.
  • heading number Heading in radians.
  • delay number Milliseconds to delay the start of the draw. (optional)
  • oldDraw bool (optional)
ShapeDrawer:addTimedChevronOnEnt (timeout, entID, length, thickness[, targetID][, delay=0.0][, oldDraw])
Draw a chevron on an entity for timeout milliseconds.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • entID number or table Entity ID or Entity Table to draw the arrow on.
  • length number
  • thickness number Width of the base rectangle of the arrow.
  • targetID number Entity ID to draw the chevron towards. Length will be automatically extended. (optional)
  • delay number Milliseconds to delay the start of the draw. (default 0.0)
  • oldDraw bool (optional)
ShapeDrawer:addTimedCircle (timeout, x, y, z, radius[, delay=0.0][, oldDraw])
Draw a filled circle on the ground at world coordinates for timeout milliseconds.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • x number
  • y number
  • z number
  • radius number
  • delay number Milliseconds to delay the start of the draw. (default 0.0)
  • oldDraw bool (optional)
ShapeDrawer:addTimedCircleOnEnt (timeout, entID, radius[, delay=0.0][, oldDraw])
Draw a filled circle on an entity for timeout milliseconds.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • entID number or table Entity ID or Entity Table to draw the circle on.
  • radius number
  • delay number Milliseconds to delay the start of the draw. (default 0.0)
  • oldDraw bool (optional)
ShapeDrawer:addTimedCone (timeout, x, y, z, radius, angle, heading[, delay=0.0][, oldDraw])
Draw a cone on the ground at world coordinates for timeout milliseconds.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • x number
  • y number
  • z number
  • radius number
  • angle number Angle in radians.
  • heading number Heading in radians.
  • delay number Milliseconds to delay the start of the draw. (default 0.0)
  • oldDraw bool (optional)
ShapeDrawer:addTimedConeOnEnt (timeout, entID, radius, angle[, targetID][, delay=0.0][, oldDraw])
Draw a cone on an entity for timeout milliseconds. The cone's origin position will be set to XYZ, and then rotated to the entity's heading, unless targetID is specified.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • entID number or table Entity ID or Entity Table to draw the cone on.
  • radius number How far out the cone will go. This is the radius of the full circle that would be drawn by this cone if it was extended to 360 degrees.
  • angle number Angle in radians. Basically how wide the cone is.
  • targetID number or table Target ID or target table to draw the cone to. It will go from ent -> target. This parameter is optional. (optional)
  • delay number Milliseconds to delay the start of the draw. (default 0.0)
  • oldDraw bool (optional)
ShapeDrawer:addTimedCross (timeout, x, y, z, length, width, heading[, delay=0.0][, oldDraw])
Draw a cross on the ground at world coordinates for timeout milliseconds. The cross will be centered around xyz and rotated towards heading. One rectangle will point at heading, the others 90 and 180 degrees rotated.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • x number
  • y number
  • z number
  • length number
  • width number
  • heading number Heading in radians.
  • delay number Milliseconds to delay the start of the draw. (default 0.0)
  • oldDraw bool (optional)
ShapeDrawer:addTimedCrossOnEnt (timeout, entID, length, width[, targetID][, delay=0.0][, oldDraw])
Draw a cross on an entity for timeout milliseconds. The cross will be centered around the entity, and rotated towards the entity's heading, unless targetID is specified.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • entID number or table Entity ID or Entity Table to draw the cross on.
  • length number
  • width number
  • targetID number or table Entity ID to draw the cross towards. Length will be automatically extended. (optional)
  • delay number Milliseconds to delay the start of the draw. (default 0.0)
  • oldDraw bool (optional)
ShapeDrawer:addTimedDonut (timeout, x, y, z, radiusInner, radiusOuter[, delay=0.0][, oldDraw])
Draw a donut on the ground at world coordinates for timeout milliseconds.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • x number
  • y number
  • z number
  • radiusInner number
  • radiusOuter number
  • delay number Milliseconds to delay the start of the draw. (default 0.0)
  • oldDraw bool (optional)
ShapeDrawer:addTimedDonutOnEnt (timeout, entID, radiusInner, radiusOuter[, delay=0.0][, oldDraw])
Draw a donut on an entity for timeout milliseconds. The donut will be centered around the entity.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • entID number or table Entity ID or Entity Table to draw the donut on.
  • radiusInner number Inner radius of the donut.
  • radiusOuter number Outer radius of the donut. This also includes the inner radius.
  • delay number Milliseconds to delay the start of the draw. (default 0.0)
  • oldDraw bool (optional)
ShapeDrawer:addTimedLine (timeout, x1, y1, z1, x2, y2, z2[, thickness][, endpointThickness][, delay=0.0])
Draw a line between two points on the ground for timeout milliseconds.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • x1 number
  • y1 number
  • z1 number
  • x2 number
  • y2 number
  • z2 number
  • thickness number (optional)
  • endpointThickness number (optional)
  • delay number Milliseconds to delay the start of the draw. (default 0.0)
ShapeDrawer:addTimedRect (timeout, x, y, z, length, width, heading[, delay=0.0][, oldDraw])
Draw a filled rectangle on the ground at world coordinates for timeout milliseconds. XYZ pos is the bottom center of the rectangle. The rectangle will be created outwards in length, and then rotated to the heading.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • x number
  • y number
  • z number
  • length number
  • width number
  • heading number Heading in radians.
  • delay number Milliseconds to delay the start of the draw. (default 0.0)
  • oldDraw bool (optional)
ShapeDrawer:addTimedRectOnEnt (timeout, entID, length, width[, targetID][, delay=0.0][, keepLength=false][, oldDraw])
Draw a filled rectangle on an entity for timeout milliseconds. The rectangle's bottom center position will be set to XYZ, and then rotated to the entity's heading, unless targetID is specified.

Parameters:

  • timeout number Milliseconds to draw the shape for.
  • entID number or table Entity ID or Entity Table to draw the rectangle on.
  • length number
  • width number
  • targetID number or table Target ID or target table to draw the rectangle to. It will go from ent -> target. This parameter is optional. (optional)
  • delay number Milliseconds to delay the start of the draw. (default 0.0)
  • keepLength bool If specified with targetID, then the length won't be adjusted to the target, the length will stay constant, instead only the heading will be updated. (default false)
  • oldDraw bool (optional)
ShapeDrawer:setGradient ([intensity][, minOpacity])

Parameters:

  • intensity int (optional)
  • minOpacity number (optional)

Detection Structures

DirectionalAOE
Structure for Directional AOEs that are usually originating from an entity

Fields:

  • x number X position of aoe
  • y number Y position of aoe
  • z number Z position of aoe
  • aoeType int Animation/omen type of aoe
  • heading number Direction the aoe is facing
  • aoeLength int Length of aoe
  • aoeWidth int Width of aoe, mostly used for Line aoes. This value is 0 for cones and circles.
  • aoeName string Name of aoe
  • aoeID number Cast/Spell ID of aoe
  • aoeCastType number Cast type/shape of AOE. See castType for known castType values.
  • targetAttach int ID of entity that current aoe is attached to, if found. Value is nil otherwise.
  • aoeAnimationInfo aoeAnimationInfo Contains information about the animation that will play when the aoe completes and gets casted.
  • aoeEffectInfo aoeEffectInfo Contains information about the aoe's omen/telegraph.
  • isAreaTarget bool If the spell is a free target ability or not, this is useful for identifying aoes that will attach to target or not. Argus already processes this information combined with a few more heuristics internally, and will update the x,y,z and well as targetAttachID correctly.
GroundAOE
Structure for Ground AOEs that are not usually attached to any entity

Fields:

  • x number X position of aoe
  • y number Y position of aoe
  • z number Z position of aoe
  • aoeType int Animation/omen type of aoe
  • aoeLength int Length/radius in yalms of aoe
  • aoeWidth int Width in yalms of aoe (0 for circles and cones etc)
  • aoeName string Name of aoe
  • aoeID int Cast/Spell ID of aoe
  • aoeCastType int Cast type/shape of AOE. See castType for known castType values.
  • targetAttach int ID of entity that current aoe is attached to, if found. Value is nil otherwise.
  • aoeAnimationInfo aoeAnimationInfo Contains information about the animation that will play when the aoe completes and gets casted.
  • aoeEffectInfo aoeEffectInfo Contains information about the aoe's omen/telegraph.
  • isAreaTarget bool If the spell is a free target ability or not, this is useful for identifying aoes that will attach to target or not. Argus already processes this information combined with a few more heuristics internally, and will update the x,y,z and well as targetAttachID correctly.
aoeAnimationInfo
Structure that contains information about an aoe's animation. Useful in case there is additional info that can be grabbed to determine cone width/donut inner radius.

Fields:

  • aoeAnimationTypeStart int
  • aoeAnimationTypeEnd int
  • aoeAnimationTimelineHit int
  • aoeCastVFX int
aoeEffectInfo
Structure that contains information about an omen/telegraph. Useful for identifying cone width and donut inner radius for telegraphed aoes.

Fields:

  • aoeEffectName string Name of omen
  • aoeEffectCastType int If this value is non-zero, then the game override the original aoeCastType with this castType value internally. Argus already updates the original aoeCastType value correctly, so this field can be generally ignored. See castType for known castType values.
  • aoeEffectRestrictYScale bool If true, the aoe will be 10% of it's original size. Argus already adjusts the original aoe size values correctly, so this field can be generally ignored.
  • aoeEffectLargeScale int Some value that changes internal orientation for drawing the telegraph effects. Argus already handles this value interanlly, so it can be generally ignored.
castType
An integer to identify some aoe types. These are not guaranteed for every AOE. But generally, these are how AOEs are categorized in the game.

Fields:

  • [2, 5, 7] Circle AOE
  • [3, 13] Directional Cone/arc AOE
  • [4, 12] Directional Line AOE
  • [6] Meteor mechanic (more damage the closer you are to the center), usually unavoidable
  • [8] Line AOE that's targeted to either a position, or specific entity. Argus will adjust the length and heading automatically
  • [10] Donut AOE
  • [11] Cross AOE (new type to shadowbringers, like last boss of grand cosmos)

Detection Functions

Argus.forceMisdirectionMovement (value)
Normal movement options in minion will not move the player when under misdirection. This function will allow you to start/stop movement while under misdirection. Note that the movement will always go in the direction of Argus.getMisdirectionHeading.

Parameters:

  • value bool true to start movement, false or nil to stop movement

Returns:

    bool Returns the value set if successful, nil if not (cases of nil can be TensorCore Exe not being loaded.)
Argus.getCurrentAOEs ()
Returns a merged list of GroundAOEs and DirectionalAOEs. Due to the nature of this function, this list is always in order.

Returns:

    table Merged list of GroundAOEs and DirectionalAOEs.
Argus.getCurrentDirectionalAOEs ([inOrder=false])
Returns list of current AOEs that are cast on the ground where each key is the entityID source, and value is the DirectionalAOE structure. These are not attached to an entity (they do not originate from an entity centerpoint). Also returns AOEs before the telegraphs are drawn, and returns AOEs with no telegraphs.

Parameters:

  • inOrder bool If true, then the AOEs will return in order of appearance, instead of having each key be entityID. (default false)

Returns:

    table List of DirectionalAOE, keys based on inOrder
Argus.getCurrentGroundAOEs ([inOrder=false])
Returns list of current AOEs that are on the ground where each key is the entityID source, and value is the DirectionalAOE. These are attached to an entity (they originate from the source entity's center point). Most commonly used for line AOEs, conals, and donuts, but also includes circles. Also returns AOEs before the telegraphs are drawn, and returns AOEs with no telegraphs.

Parameters:

  • inOrder bool If true, then the AOEs will return in order of appearance, instead of having each key be entityID. (default false)

Returns:

    table List of GroundAOE, keys based on inOrder.
Argus.getCurrentTethers ()
Returns table where each key is number entityID and each value is table tethers. The list is all active tethers/chains/links between 2 entities. Each tether table has the following values: number type, number targetID. This type is similar to overhead marker types, each type will have exactly the same animation for every instance that shares that type (ex type 2 tethers will always look the same). However, how or when the tether resolves, is not known to the client.

Returns:

    table List where each key is number entityID and each value is table tethers.

Usage:

    -- simple function to print all tethers on player
    local tethers = Argus.getCurrentTethers()
    
    for id, ts in pairs(tethers) do
        for t = 1, #ts do -- there can be multiple tethers going from one entity
            local tether = ts[t]
            if tether.targetid == Player.id then
                d("Entity " .. id .. " is tethered to player with type " .. tether.type)
            end
        end
    end
Argus.getEntityAuras (ent)
Returns the current auras on the target entity. This function returns 3 values: persistentAura, activeAura1, activeAura2.

Parameters:

  • ent int or table Entity Object (from TensorCore.mGetEntity()) or entity ID to check

Returns:

  1. int persistentAura
  2. int activeAura1
  3. int activeAura2
Argus.getEntityModel (ent)
Sometimes contentid isn't enough to distinguish an entity (such as housing target dummies), in which case this function will provide a subcontentid.

Parameters:

  • ent int or table Entity Object (from TensorCore.mGetEntity()) or entity ID to check

Returns:

    int modelID
Argus.getMisdirectionHeading ()
This is for buffs where the finger points above the players head in a direction, and the player is forced to go in that direction. This mechanic is always associated with a buff. Examples include first boss of Vanaspati, and the final boss of Alzadaal's Legacy. While Vanaspati is the standard mechanic where the game spins the finger, Alzadaal has a special variant of this mechanic where the player can control the direction of this finger. For this mechanic, use Argus.setMisdirectionHeading to set the direction and Player:Move(FFXIV.MOVEMENT.FORWARD) to move in that direction.

Returns:

    number Heading in radians, betwee -pi and +pi, same format as the game.
Argus.getSpellAOEInfo (id)
Returns a structure similar to DirectionalAOE or GroundAOE but without any instance specific data. That is, there will be no entity/target attach nor any position info. However the other identifiers will be present. Can be combined with onEntityCast to draw snapshots after an aoe has been casted.

Parameters:

  • id

Returns:

    table
Argus.getTethersOnEnt (entityID)
Returns a list of tethers that are attached to entity. This includes tethers that are both going from entity, and attached to entity. Each tether object in the list has 2 fields, .type and .partnerid

Parameters:

  • entityID int ID of the entity to get tethers for

Returns:

    table List of tethers attached to entity

Usage:

    local pTethers = Argus.getTethersOnEnt(Player.id) -- returned table is a list, indices are keys and not entity ID
    
    -- draw a circle on all entities tethered to player
    for i = 1, #pTethers do
        local tether = pTethers[i]
        local partner = TensorCore.mGetEntity(tether.partnerid)
        if partner ~= nil then
            Argus.addCircleFilled(
                partner.pos.x,
                partner.pos.y,
                partner.pos.z,
                3,
                30,
                GUI:ColorConvertFloat4ToU32(1, 1, 0, 0.1),
                GUI:ColorConvertFloat4ToU32(1, 1, 0, 1),
                1.5
            )
        end
    end
Argus.getWaymarkInfo (markerID)
Returns information about the marker.

Parameters:

  • markerID int This is just the same spell ID from ActionList type 15.

Returns:

  1. number x
  2. number y
  3. number z
  4. bool isActive
  5. int timeLastModify
Argus.isEntityVisible (ent)
Returns whether or not the entity is visible to the player.

Parameters:

  • ent int or table Entity Object (from TensorCore.mGetEntity()) or entity ID to check

Returns:

    bool True if entity is visible to the player, false if not
Argus.registerOnAOECreateFunc (func)
Registers func into on aoe create func list. This is called whenever a directional or ground aoe is greated. Ground aoes just have a heading of 0 since it doesn't apply to them. Be warned, the table sent is a copy and will not receive position updates, so you will have to calculate the position yourself based on the target attach and if there is one. Note: MUST BE CALLED IN YOUR "Module.Initalize" HANDLER, not when your file loads. Otherwise you will get nil errors!

Parameters:

Argus.registerOnEntityCast (func)
Registers func into entity cast func list. This func will get called any time the server sends a successful entity cast packet to the client. This means that this function is almost 100% reliable to use. This is also useful to detect certain mechanics, such as Sirensong Sea 2nd boss, where there are 6 entities in the middle facing a certain way, and they cast an action with no preceding channel. Note: MUST BE CALLED IN YOUR "Module.Initalize" HANDLER, not when your file loads. Otherwise you will get nil errors!

Parameters:

Argus.registerOnEntityChannel (func)
Registers func into entity channel func list. This func will get called any time the server sends a packet to the client, that entity has begun channeling. This means that the function is almost 100% reliable to use. Note: MUST BE CALLED IN YOUR "Module.Initalize" HANDLER, not when your file loads. Otherwise you will get nil errors!

Parameters:

Argus.registerOnEventObjectScript2Func (func)
Registers func into on event object script2 func list. This is called when event entities perform certain scripted events. These functions were called a lot in stormblood and prior, but not so much in shadowbringers and beyond. Some examples of where it's used: - it's generally used on meteor entities (where they have a meteor dropping on them and you have to kill them before the meteor touches the ground), - thordan ex for the big eye on the edge of the map (but not in DSR, that's a map effect), that one is differentiated by contentid of the entity for where the eye position is - p5s, the crystals that spawn, whether or not its green or normal is shown by the args Note: MUST BE CALLED IN YOUR "Module.Initalize" HANDLER, not when your file loads. Otherwise you will get nil errors!

Parameters:

Argus.registerOnEventObjectScriptFunc (func)
Registers func into on event object script func list. This is called when event entities perform certain scripted events. These functions were called a lot in stormblood and prior, but not so much in shadowbringers and beyond. Some examples of where it's used: - it's generally used on meteor entities (where they have a meteor dropping on them and you have to kill them before the meteor touches the ground), - thordan ex for the big eye on the edge of the map (but not in DSR, that's a map effect), that one is differentiated by contentid of the entity for where the eye position is - p5s, the crystals that spawn, whether or not its green or normal is shown by the args Note: MUST BE CALLED IN YOUR "Module.Initalize" HANDLER, not when your file loads. Otherwise you will get nil errors!

Parameters:

Argus.registerOnFloorChangeFunc (func)
Registers func into on floor change func list. This is called whenever the ground floor itself changes texture, like transitions in DSR. Note: MUST BE CALLED IN YOUR "Module.Initalize" HANDLER, not when your file loads. Otherwise you will get nil errors!

Parameters:

Argus.registerOnMapEffect (func)
Registers func into on map effect func list. This function is called any time a visual map effect happens. For example: Zodiark snakes, star patterns in zodiark (when the arrows come down, to see what the star is), shiva savage mirror colors, wol triangle patterns, etc. Seems to be only used in shadowbringers and beyond, stormblood and before don't really have map effects, everything is done through channel animation or cast animations, or entities themselves. Note: MUST BE CALLED IN YOUR "Module.Initalize" HANDLER, not when your file loads. Otherwise you will get nil errors!

Parameters:

Argus.registerOnMarkerAdd (func)
Registers func into marker func list, and func will get called any time there is an overhead marker added to an entity. Note: MUST BE CALLED IN YOUR "Module.Initalize" HANDLER, not when your file loads. Otherwise you will get nil errors!

Parameters:

Argus.registerOnTetherChange (func)
Registers func into on tether change func list. This function is called any time tether id, tether flags, or tether target id changes for a given enity. In other words, it reports any time an entity adds/removes/modifies it's tether. This can be useful to track certain changes since checking onupdate for tethers can be unreliable. Note: MUST BE CALLED IN YOUR "Module.Initalize" HANDLER, not when your file loads. Otherwise you will get nil errors!

Parameters:

Argus.setMisdirectionHeading (value)
This is for buffs where the finger points above the players head in a direction, and the player can adjust the direction of the finger with their movement. This mechanic is always associated with a buff. For example, the final boss of Alzadaal's Legacy has a special variant of this mechanic where the player can control the direction of this finger. Use this function to set the direction and Player:Move(FFXIV.MOVEMENT.FORWARD) to move in that direction.

Parameters:

  • value number Heading in radians, betwee -pi and +pi, same format as the game.
onAOECreateFunc (aoe)

Parameters:

onEntityCastFunc (entityID, actionID, castPosX, castPosY, castPosZ, heading, mainTargetID, targets)
Cast position may be nil if the cast was not casted at a specific position. For example, if the spell was casted on self, the position will be nil. Tip: You can get the radius of the ability through ActionList:Get(1, actionID).radius

Parameters:

  • entityID int ID of the caster
  • actionID int Spell ID of action being casted
  • castPosX number X position of cast
  • castPosY number Y position of cast
  • castPosZ number Z position of cast
  • heading number Heading of the casted ability, this is only used for rectangles and cones
  • mainTargetID number This is the main target of the spell, however it may not be the target that gets hit by the spell. Use the targets list to get the targets hit. For example, if a white mage casts holy, the mainTargetID would be the player.id, but the targets list would contain the list of enemies hit.
  • targets table List of target IDs the ability is cast on
onEntityChannelFunc (entityID, channelID, targetID, channelTimeMax)

Parameters:

  • entityID int ID of the caster
  • channelID int Spell ID of the ability being channeled
  • targetID int Target that the spell is being channeled on
  • channelTimeMax number How long the cast will be channeled for
onEventObjectScript2Func (entityID, a2, a3)

Parameters:

  • entityID int
  • a2 int
  • a3 int
onEventObjectScriptFunc (entityID, a2, a3, a4)

Parameters:

  • entityID int
  • a2 int
  • a3 int
  • a4 int
onFloorChangeFunc (a1, a2, a3)

Parameters:

  • a1 int
  • a2 int
  • a3 int
onMapEffectFunc (a1, a2, a3)
The numbers/identifiers sent to this function are simply numbers to indicate which pattern it is. They appear to be indexes/types of map effects, however usually a combination of all this data can give you which pattern it is exactly.

Parameters:

  • a1 int
  • a2 int
  • a3 int
onMarkerAddFunc (entityID, markerType)

Parameters:

  • entityID int The id of the entity to which the marker is being added to.
  • markerType int The marker type that is added to entity. Marker type is consistent across mechanics. A marker of type 2 will always have the same animation.
onTetherChangeFunc (sourceEntityID, oldTetherID, oldTetherFlags, oldTargetID, newTetherID, newTetherFlags, newTargetID)

Parameters:

  • sourceEntityID int Source entity of the tether
  • oldTetherID int Previous tether type/id
  • oldTetherFlags int Previous tether flags
  • oldTargetID int Previous target ID
  • newTetherID int New tether type/id
  • newTetherFlags int New tether flags
  • newTargetID int New target ID
Last updated 2022-11-22 02:15:52

argusdocs.txt · Last modified: 2022/11/22 10:23 by rikudou