API UO AttackNearest - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

UO.AttackNearest

ClassicUO / Basic IDE

Оглавление · Алфавитный указатель · Combat

Выбирает персонажа по notoriety и дополнительным фильтрам distance, body, maxZ, nearest, color, classMask, aliveOnly, visibleOnly, затем посылает запрос атаки. classMask сопоставляется с загруженным текстом имени, титула и экипировки, а не со скрытым серверным классом. Возвращаемое ненулевое значение — выбранный serial; 0 — подходящей цели нет. Поддерживается 1–9 аргументов.

Синтаксис

UO.AttackNearest(notoriety:Any) -> Integer
UO.AttackNearest(notoriety:Any, distance:Any) -> Integer
UO.AttackNearest(notoriety:Any, distance:Any, body:Any) -> Integer
UO.AttackNearest(notoriety:Any, distance:Any, body:Any, maxZ:Any) -> Integer
UO.AttackNearest(notoriety:Any, distance:Any, body:Any, maxZ:Any, nearest:Any) -> Integer
UO.AttackNearest(notoriety:Any, distance:Any, body:Any, maxZ:Any, nearest:Any, color:Any) -> Integer
UO.AttackNearest(notoriety:Any, distance:Any, body:Any, maxZ:Any, nearest:Any, color:Any, classMask:Any) -> Integer
UO.AttackNearest(notoriety:Any, distance:Any, body:Any, maxZ:Any, nearest:Any, color:Any, classMask:Any, aliveOnly:Any) -> Integer
UO.AttackNearest(notoriety:Any, distance:Any, body:Any, maxZ:Any, nearest:Any, color:Any, classMask:Any, aliveOnly:Any, visibleOnly:Any) -> Integer

Регистр имени не важен. Any — динамическое значение Basic; Unit — отсутствие возвращаемого значения. Integer — знаковое 32-битное число, Decimal — число с плавающей точкой. Правила типов, serial, индексов и ожиданий.

Параметры

Имя Назначение
notoriety Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже.
distance Distance/radius in tiles. Explicit distance overrides the shared FindDistance state for overloads that provide it.
body Item/mobile/tile type (graphic/body ID). -1/0xFFFF may mean wildcard only for commands that document it.
maxZ Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже.
nearest Boolean ordering flag. TRUE selects/orders nearest matches first; FALSE preserves the runtime search order.
color Hue/color filter. -1 commonly means any hue where the overload supports wildcard filtering.
classMask Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже.
aliveOnly Логический флаг: 0 — выключено, 1 — включено. Значение при пропуске зависит от перегрузки.
visibleOnly Логический флаг: 0 — выключено, 1 — включено. Значение при пропуске зависит от перегрузки.

Параметры обязательны внутри каждой показанной сигнатуры. Опустить аргумент можно только при наличии более короткой перегрузки; пропуск позиции посередине не подразумевается.

Примеры

Каждый блок — самостоятельный скрипт из мануала проекта. Параметры демонстрационного объекта/контейнера и условия действия необходимо сопоставить с вашей игровой ситуацией.

Пример 1

SUB Main()
    VAR result = UO.AttackNearest(-1)
    UO.Print(CStr(result))
END SUB

Пример 2

SUB Main()
    VAR arg1 = -1 # notoriety
    VAR arg2 = 5 # distance
    VAR arg3 = -1 # body
    VAR arg4 = 4 # maxZ
    VAR arg5 = 1 # nearest
    VAR arg6 = -1 # color
    VAR arg7 = 7 # classMask
    VAR arg8 = 8 # aliveOnly
    VAR arg9 = 9 # visibleOnly
    VAR result = UO.AttackNearest(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
    UO.Print(CStr(result))
END SUB

Пример 3

SUB Main()
    VAR result = UO.AttackNearest(-1, 5)
    UO.Print(CStr(result))
END SUB

Пример 4

SUB Main()
    VAR result = UO.AttackNearest(-1, 5, -1)
    UO.Print(CStr(result))
END SUB

Пример 5

SUB Main()
    VAR result = UO.AttackNearest(-1, 5, -1, 4)
    UO.Print(CStr(result))
END SUB

Пример 6

SUB Main()
    VAR result = UO.AttackNearest(-1, 5, -1, 4, 1)
    UO.Print(CStr(result))
END SUB

Пример 7

SUB Main()
    VAR result = UO.AttackNearest(-1, 5, -1, 4, 1, -1)
    UO.Print(CStr(result))
END SUB

Пример 8

SUB Main()
    VAR result = UO.AttackNearest(-1, 5, -1, 4, 1, -1, 7)
    UO.Print(CStr(result))
END SUB

Пример 9

SUB Main()
    VAR result = UO.AttackNearest(-1, 5, -1, 4, 1, -1, 7, 8)
    UO.Print(CStr(result))
END SUB

Пример 10

SUB Main()
    VAR arg1 = -1 # notoriety
    VAR result = UO.AttackNearest(arg1)
    # Пример порога; выберите подходящий смыслу команды.
    IF result > 0 THEN
        UO.Print(CStr(result))
    END IF
END SUB

Пример 11

FUNCTION ReadResult()
    VAR arg1 = -1 # notoriety
    VAR result = UO.AttackNearest(arg1)
    RETURN result
END FUNCTION

SUB Main()
    VAR answer = ReadResult()
    UO.Print(CStr(answer))
END SUB
Реализация и проверка контракта
  • InjectionScript.Runtime.InjectionApiUO.<RegisterCompactSearchApi>b__341_4

Источник реестра и отчёт сверки. Примеры проверяются загрузчиком/парсером включённого runtime. Действия на игровом сервере этой проверкой не исполняются.

⚠️ **GitHub.com Fallback** ⚠️