Skip to content

API UO Track en

Codex edited this page Sep 23, 2026 · 1 revision

UO.Track

ClassicUO / Basic IDE

Home · API · Commands

Shows or removes a local directional marker. Useful for marking a return location. It does not use the Tracking skill, find creatures or move the character.

Exact syntax

UO.Track() -> Unit
UO.Track(flag:Any) -> Unit
UO.Track(flagRaw:Any, x:Any, y:Any) -> Unit

Parameters

  • flag / flagRaw — 0 removes the local marker; any other integer shows it. UO.Track() and UO.Track(1) mark the current character X/Y. UO.Track(1, x, y) marks the supplied point; UO.Track(0, x, y) ignores coordinates. No two-argument form is registered.
  • x, y — Tile coordinates on the current map, not window pixels. No Z or map argument. Choose a valid point on your map; the command does not validate passability, plan a path or follow a moving target.

Returns

Unit: no value, movement success or Boolean is returned. Only the local marker changes.

Behavior

  • Server arrows and the local marker are separate. Track(0) does not remove a server arrow. Without graphics the marker is retained and displayed when the view opens. Closing graphics retains markers; disconnect clears them. The server can move or remove its arrow. Coordinates do not prove reachability.
  • Tile coordinates on the current map, not window pixels. No Z or map argument. Choose a valid point on your map; the command does not validate passability, plan a path or follow a moving target.
  • 0 removes the local marker; any other integer shows it. UO.Track() and UO.Track(1) mark the current character X/Y. UO.Track(1, x, y) marks the supplied point; UO.Track(0, x, y) ignores coordinates. No two-argument form is registered.

Internal functions: from call to result

SessionCharacterPanels validates complete profile/arrow packets and stores records on the session thread. The bridge reads them without graphics. GetProfile sends 0xB8 and waits up to 3 seconds in 25 ms intervals for available text. Track updates its separate local marker. ProfileGump and QuestArrowGump display the same records. Arrows are excluded from GetGumpsCount server dialogs.

1. Track

Shows or removes a local directional marker. Useful for marking a return location. It does not use the Tracking skill, find creatures or move the character.

Unit: no value, movement success or Boolean is returned. Only the local marker changes.

Project source: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; function Track.

2. SessionCharacterPanels

Server arrows and the local marker are separate. Track(0) does not remove a server arrow. Without graphics the marker is retained and displayed when the view opens. Closing graphics retains markers; disconnect clears them. The server can move or remove its arrow. Coordinates do not prove reachability.

SessionCharacterPanels validates complete profile/arrow packets and stores records on the session thread. The bridge reads them without graphics. GetProfile sends 0xB8 and waits up to 3 seconds in 25 ms intervals for available text. Track updates its separate local marker. ProfileGump and QuestArrowGump display the same records. Arrows are excluded from GetGumpsCount server dialogs.

Project source: src/ClassicUO.Client/Game/Managers/SessionCharacterPanels.cs; function SessionCharacterPanels.

Unit: no value, movement success or Boolean is returned. Only the local marker changes.

Examples

Direct use

# Direct use
#
# Shows or removes a local directional marker. Useful for marking a return location. It does not
# use the Tracking skill, find creatures or move the character.
#
# Unit: no value, movement success or Boolean is returned. Only the local marker changes.

SUB Main()
    # UO.Track() remembers your current point: after leaving, the arrow points back. It does not
    # automatically follow the character.

    UO.Track()
END SUB

Parameter and execution notes:

  • UO.Track() remembers your current point: after leaving, the arrow points back. It does not automatically follow the character.

Game condition

# Game condition
#
# Shows or removes a local directional marker. Useful for marking a return location. It does not
# use the Tracking skill, find creatures or move the character.
#
# Unit: no value, movement success or Boolean is returned. Only the local marker changes.

SUB Main()
    # Marks 1450,1690 on the current map. Within one tile, Track(0) removes the marker. Replace with
    # your coordinates.

    VAR x = 1450
    VAR y = 1690
    UO.Track(1, x, y)
    IF UO.GetDistance(x, y) <= 1 THEN
        UO.Track(0)
    END IF
END SUB

Parameter and execution notes:

  • Marks 1450,1690 on the current map. Within one tile, Track(0) removes the marker. Replace with your coordinates.

Complete helper function

# Complete helper function
#
# Shows or removes a local directional marker. Useful for marking a return location. It does not
# use the Tracking skill, find creatures or move the character.
#
# Unit: no value, movement success or Boolean is returned. Only the local marker changes.

SUB Main()
    # The complete MarkIfDistant helper marks X/Y only if farther than two tiles, otherwise removes
    # it. It neither moves nor waits for arrival.

    MarkIfDistant(1450, 1690)
END SUB

SUB MarkIfDistant(x, y)
    IF UO.GetDistance(x, y) > 2 THEN
        UO.Track(1, x, y)
    ELSE
        UO.Track(0)
    END IF
END SUB

Parameter and execution notes:

  • The complete MarkIfDistant helper marks X/Y only if farther than two tiles, otherwise removes it. It neither moves nor waits for arrival.

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Clone this wiki locally