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

UO.BookSetHeader

ClassicUO / Basic IDE

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

Finds the currently open ModernBookGump, verifies that it is editable, updates the visible title/author controls and sends Send_BookHeaderChanged (or the old-protocol header packet when required by the client version).

Синтаксис

UO.BookSetHeader(Title:Any, Author:Any) -> Unit

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

Параметры

Имя Назначение
Title Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже.
Author new book author.

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

Допустимые значения

Title — Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes.

  • Author — Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes.

Ограничения

A writable book must already be open.

  • Read-only books and missing book windows are rejected with a runtime error message and no packet is sent.
  • Server rules remain authoritative and may reject an otherwise valid client request.

Возвращает: Unit — значения нет. Выполняйте вызов отдельной строкой; его нельзя использовать как проверку успеха. Эффект и ограничения зависят от команды.

Примеры

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

Пример 1

SUB Main()
    UO.BookSetHeader('Field Notes', 'LIHACH')
END SUB

Пример 2

SUB Main()
    UO.BookSetHeader(1, 2)
END SUB

Пример 3

SUB Main()
    VAR arg1 = 1 # Title
    VAR arg2 = 2 # Author
    UO.BookSetHeader(arg1, arg2)
END SUB

Пример 4

SUB ReadResult()
    VAR arg1 = 1 # Title
    VAR arg2 = 2 # Author
    UO.BookSetHeader(arg1, arg2)
END SUB

SUB Main()
    ReadResult()
END SUB
Реализация и проверка контракта
  • InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass38_0.<RegisterStealthCompatibility>b__0

Соответствующая ветвь совместимого обработчика в InjectionApiUO.cs. Arg(i)/Text(i) читают позицию с нуля; bridge обращается к клиенту. Прямые типизированные перегрузки перечислены выше и могут иметь отдельный маршрут.

state.BookTitle = Text(0);
                    state.BookAuthor = Text(1);
                    bridge.BookSetHeader(state.BookTitle, state.BookAuthor);
                    return InjectionValue.Unit;

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

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