API UO FindMan - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
ClassicUO / Basic IDE
Оглавление · Алфавитный указатель · Search
Scans loaded mobiles only and applies notoriety, distance, nearest, Z/body/color/self and Ignore filters supported by the selected overload.
UO.FindMan() -> Unit
UO.FindMan(notoriety:Any) -> Any
UO.FindMan(notoriety:Any, distance:Any) -> Any
UO.FindMan(notoriety:Any, distance:Any, nearest:Any) -> Any
UO.FindMan(notoriety:Any, distance:Any, nearest:Any, maxZ:Any) -> Any
UO.FindMan(notoriety:Any, distance:Any, nearest:Any, maxZ:Any, body:Any) -> Any
UO.FindMan(notoriety:Any, distance:Any, nearest:Any, maxZ:Any, body:Any, color:Any) -> Any
UO.FindMan(notoriety:Any, distance:Any, nearest:Any, maxZ:Any, body:Any, color:Any, includeSelf:Any) -> Any
Регистр имени не важен. 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. |
nearest |
Boolean ordering flag. TRUE selects/orders nearest matches first; FALSE preserves the runtime search order. |
maxZ |
Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже. |
body |
Item/mobile/tile type (graphic/body ID). -1/0xFFFF may mean wildcard only for commands that document it. |
color |
Hue/color filter. -1 commonly means any hue where the overload supports wildcard filtering. |
includeSelf |
Boolean. TRUE allows the player mobile to be included; FALSE excludes self. |
Параметры обязательны внутри каждой показанной сигнатуры. Опустить аргумент можно только при наличии более короткой перегрузки; пропуск позиции посередине не подразумевается.
Каждый блок — самостоятельный скрипт из мануала проекта. Параметры демонстрационного объекта/контейнера и условия действия необходимо сопоставить с вашей игровой ситуацией.
SUB Main()
VAR result = UO.FindMan(5)
END SUBSUB Main()
UO.FindMan()
END SUBSUB Main()
UO.FindMan()
END SUBSUB Main()
VAR arg1 = -1 # notoriety
VAR arg2 = 5 # distance
VAR arg3 = 1 # nearest
VAR arg4 = 4 # maxZ
VAR arg5 = 0x0EED # body
VAR arg6 = -1 # color
VAR arg7 = 7 # includeSelf
VAR result = UO.FindMan(arg1, arg2, arg3, arg4, arg5, arg6, arg7)
UO.Print(CStr(result))
END SUBSUB Main()
VAR result = UO.FindMan(-1)
UO.Print(CStr(result))
END SUBSUB Main()
VAR result = UO.FindMan(-1, 5)
UO.Print(CStr(result))
END SUBSUB Main()
VAR result = UO.FindMan(-1, 5, 1)
UO.Print(CStr(result))
END SUBSUB Main()
VAR result = UO.FindMan(-1, 5, 1, 4)
UO.Print(CStr(result))
END SUBSUB Main()
VAR result = UO.FindMan(-1, 5, 1, 4, 0x0EED)
UO.Print(CStr(result))
END SUBSUB Main()
VAR result = UO.FindMan(-1, 5, 1, 4, 0x0EED, -1)
UO.Print(CStr(result))
END SUBSUB Main()
IF UO.Connected THEN
UO.FindMan()
END IF
END SUBSUB RunAction()
UO.FindMan()
END SUB
SUB Main()
# Запуск процедуры выполняет действие:
RunAction()
END SUBРеализация и проверка контракта
InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass62_0.<RegisterLegacyManualAliases>b__1InjectionScript.Runtime.InjectionApiUO.<RegisterCompactSearchApi>b__341_3
Соответствующая ветвь совместимого обработчика в InjectionApiUO.cs. Arg(i)/Text(i) читают позицию с нуля; bridge обращается к клиенту. Прямые типизированные перегрузки перечислены выше и могут иметь отдельный маршрут.
{
int mobile = bridge.GetMobiles().FirstOrDefault();
if (mobile != 0) state.Objects.Set(arguments.Length > 0 ? Text(0) : "findman", mobile);
break;
}Источник реестра и отчёт сверки. Примеры проверяются загрузчиком/парсером включённого runtime. Действия на игровом сервере этой проверкой не исполняются.