API UO SetRec - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
ClassicUO / Basic IDE
Оглавление · Алфавитный указатель · Record / Playback
UO.SetRec() is the one-shot recorder. It clears the previous recording, arms capture, then lets the next compatible legacy UO.* command execute normally while storing the command name together with its typed arguments. The recorder disarms immediately after that one capture; UO.UseRec() replays the saved action.
UO.SetRec() -> Unit
Регистр имени не важен. Any — динамическое значение Basic; Unit — отсутствие возвращаемого значения. Integer — знаковое 32-битное число, Decimal — число с плавающей точкой. Правила типов, serial, индексов и ожиданий.
None; this command's registered overload takes no positional arguments.
No parameters; no argument defaults apply.
Recording is one-shot: after one compatible command is captured, the recorder automatically disarms.
-
UO.SetRec()andUO.UseRec()themselves are never captured. - The stored command is kept in Basic runtime state and survives the normal runtime-state snapshot/restore path.
-
remain()returns0immediately afterUO.SetRec()and1after a command has been captured. - This behavior is a documented ClassicUO/Basic compatibility definition because no authoritative public Script.dll implementation of the historical semantics is available.
Возвращает: Unit — значения нет. Выполняйте вызов отдельной строкой; его нельзя использовать как проверку успеха. Эффект и ограничения зависят от команды.
Каждый блок — самостоятельный скрипт из мануала проекта. Параметры демонстрационного объекта/контейнера и условия действия необходимо сопоставить с вашей игровой ситуацией.
SUB Main()
UO.SetRec()
UO.SetDefault('healbag', 0x40001234) # executes and is recorded
IF remain() = 1 THEN
UO.UseRec() # repeats SetDefault with the same arguments
END IF
END SUBSUB Main()
UO.SetRec()
END SUBSUB Main()
IF UO.Connected THEN
UO.SetRec()
END IF
END SUBSUB RunAction()
UO.SetRec()
END SUB
SUB Main()
# Запуск процедуры выполняет действие:
RunAction()
END SUBРеализация и проверка контракта
InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass62_0.<RegisterLegacyManualAliases>b__1
Соответствующая ветвь совместимого обработчика в InjectionApiUO.cs. Arg(i)/Text(i) читают позицию с нуля; bridge обращается к клиенту. Прямые типизированные перегрузки перечислены выше и могут иметь отдельный маршрут.
state.RecordedAction = string.Empty;
recordNextLegacyAction = true;
break;Источник реестра и отчёт сверки. Примеры проверяются загрузчиком/парсером включённого runtime. Действия на игровом сервере этой проверкой не исполняются.