-
Notifications
You must be signed in to change notification settings - Fork 0
API UO BookSetText
ClassicUO / Basic IDE
Оглавление · Алфавитный указатель · Books
Updates the currently open editable book rather than only storing a Basic-side string. Without explicit form-feed separators, lines are divided automatically into groups of up to ten lines per page. Each affected page is updated locally and sent to the server.
UO.BookSetText(Text:Any) -> Unit
Регистр имени не важен. Any — динамическое значение Basic; Unit — отсутствие возвращаемого значения. Integer — знаковое 32-битное число, Decimal — число с плавающей точкой. Правила типов, serial, индексов и ожиданий.
| Имя | Назначение |
|---|---|
Text |
Значение для данной позиции; назначение и поддерживаемые варианты показаны в описании и примерах. |
Параметры обязательны внутри каждой показанной сигнатуры. Опустить аргумент можно только при наличии более короткой перегрузки; пропуск позиции посередине не подразумевается.
Text — Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes.
The text must fit the open book's page count and current per-page/per-line limits.
- A read-only or missing book is not modified.
- Server validation remains authoritative.
Возвращает: Unit — значения нет. Выполняйте вызов отдельной строкой; его нельзя использовать как проверку успеха. Эффект и ограничения зависят от команды.
Каждый блок — самостоятельный скрипт из мануала проекта. Параметры демонстрационного объекта/контейнера и условия действия необходимо сопоставить с вашей игровой ситуацией.
SUB Main()
UO.BookSetText('First page line 1' + Chr(10) + 'First page line 2')
END SUBSUB Main()
UO.BookSetText('example')
END SUBSUB Main()
VAR arg1 = 'example' # Text
UO.BookSetText(arg1)
END SUBSUB ReadResult()
VAR arg1 = 'example' # Text
UO.BookSetText(arg1)
END SUB
SUB Main()
ReadResult()
END SUBРеализация и проверка контракта
InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass38_0.<RegisterStealthCompatibility>b__0
Соответствующая ветвь совместимого обработчика в InjectionApiUO.cs. Arg(i)/Text(i) читают позицию с нуля; bridge обращается к клиенту. Прямые типизированные перегрузки перечислены выше и могут иметь отдельный маршрут.
{
string bookText = Text(0) ?? string.Empty;
state.BookPages.Clear();
state.BookPages.AddRange(bookText.Split(new[] { '\f' }, StringSplitOptions.None));
bridge.BookSetText(bookText);
return InjectionValue.Unit;
}Источник реестра и отчёт сверки. Примеры проверяются загрузчиком/парсером включённого runtime. Действия на игровом сервере этой проверкой не исполняются.
ClassicUO - Bad Newbie & Basic IDE Edition