Skip to content

API UO Say uk

Codex edited this page Sep 26, 2026 · 1 revision

UO.Say

ClassicUO / Basic IDE

Home · API · Journal

Надсилає звичайну мову персонажа серверу: наприклад, звернення до банкіра або наказ вихованцю.

Точний синтаксис

UO.Say(message:String) -> Unit

Параметри

  • message — Текст повідомлення. Числа приєднуйте через CStr; імена та координати автоматично не підставляються. Лапки обмежують рядок і не передаються як частина тексту.

Повертає

Unit — значення не повертається. Викликайте окремим рядком; результат не є True/False, serial чи кількістю. Завершення виклику не підтверджує відповідь сервера.

Поведінка

  • Потрібен підключений персонаж. Текст передається як звичайна мова без розбору префікса команд Basic. bank і Shadow follow me — приклади серверних фраз; замініть їх відповідно до сервера та імені вихованця. Дальність, права й реакцію NPC визначає сервер. Виклик не чекає гампа й не гарантує дію.
  • Для протоколу 2.0.0 і новішого використовується Unicode speech, для старішого — ASCII speech. SayU не примушує старий протокол до Unicode. Без кольору береться SpeechHue профілю; 0xFFFF у UO.UOSayColor також обирає його. Текст не виконується як код скрипту.
  • UO.Print · UO.CharPrint · UO.Say · UO.ConColor

Внутрішні функції: від виклику до результату

Потрібен підключений персонаж. Текст передається як звичайна мова без розбору префікса команд Basic. bank і Shadow follow me — приклади серверних фраз; замініть їх відповідно до сервера та імені вихованця. Дальність, права й реакцію NPC визначає сервер. Виклик не чекає гампа й не гарантує дію.

1. Say

Текст повідомлення. Числа приєднуйте через CStr; імена та координати автоматично не підставляються. Лапки обмежують рядок і не передаються як частина тексту.

Unit — значення не повертається. Викликайте окремим рядком; результат не є True/False, serial чи кількістю. Завершення виклику не підтверджує відповідь сервера.

Код проєкту: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; функція Say.

2. SendServerSpeech

Надсилає звичайну мову персонажа серверу: наприклад, звернення до банкіра або наказ вихованцю.

Потрібен підключений персонаж. Текст передається як звичайна мова без розбору префікса команд Basic. bank і Shadow follow me — приклади серверних фраз; замініть їх відповідно до сервера та імені вихованця. Дальність, права й реакцію NPC визначає сервер. Виклик не чекає гампа й не гарантує дію.

Код проєкту: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; функція SendServerSpeech.

3. Say

Текст повідомлення. Числа приєднуйте через CStr; імена та координати автоматично не підставляються. Лапки обмежують рядок і не передаються як частина тексту.

Для протоколу 2.0.0 і новішого використовується Unicode speech, для старішого — ASCII speech. SayU не примушує старий протокол до Unicode. Без кольору береться SpeechHue профілю; 0xFFFF у UO.UOSayColor також обирає його. Текст не виконується як код скрипту.

Код проєкту: src/ClassicUO.Client/Game/GameActions.cs; функція Say.

Приклади

Звернутися до банкіра

# Звернутися до банкіра
#
# Надсилає звичайну мову персонажа серверу: наприклад, звернення до банкіра або наказ вихованцю.
#
# Unit — значення не повертається. Викликайте окремим рядком; результат не є True/False, serial
# чи кількістю. Завершення виклику не підтверджує відповідь сервера.

SUB Main()
    # Перед надсиланням перевіряється Connected. bank — рядок мови, не назва API. Зазвичай потрібен
    # відповідний NPC поблизу; замініть фразу для свого сервера.

    IF UO.Connected() THEN
        UO.Say("bank")
    END IF
END SUB

Пояснення параметрів і виконання:

  • Перед надсиланням перевіряється Connected. bank — рядок мови, не назва API. Зазвичай потрібен відповідний NPC поблизу; замініть фразу для свого сервера.

Наказ вихованцю за ім’ям

# Наказ вихованцю за ім’ям
#
# Надсилає звичайну мову персонажа серверу: наприклад, звернення до банкіра або наказ вихованцю.
#
# Unit — значення не повертається. Викликайте окремим рядком; результат не є True/False, serial
# чи кількістю. Завершення виклику не підтверджує відповідь сервера.

SUB Main()
    # petName — ім’я вашого вихованця, тут Shadow. Формується рядок Shadow follow me. Це наказ
    # вихованцю йти за вами, а не UO.Follow, яка рухає вашого персонажа.

    VAR petName = "Shadow"
    IF UO.Connected() THEN
        UO.Say(petName + " follow me")
    END IF
END SUB

Пояснення параметрів і виконання:

  • petName — ім’я вашого вихованця, тут Shadow. Формується рядок Shadow follow me. Це наказ вихованцю йти за вами, а не UO.Follow, яка рухає вашого персонажа.

Попросити банк лише при перевантаженні

# Попросити банк лише при перевантаженні
#
# Надсилає звичайну мову персонажа серверу: наприклад, звернення до банкіра або наказ вихованцю.
#
# Unit — значення не повертається. Викликайте окремим рядком; результат не є True/False, serial
# чи кількістю. Завершення виклику не підтверджує відповідь сервера.

SUB Main()
    # RequestBankIfHeavy перевіряє підключення й додатний відомий максимум ваги. Лише при
    # перевантаженні надсилає bank і повертає 1 як ознаку запиту; 0 — запиту не було. Це результат
    # помічника, не команди мови.

    RETURN RequestBankIfHeavy()
END SUB

SUB RequestBankIfHeavy()
    IF NOT UO.Connected() THEN
        RETURN 0
    END IF
    VAR maximum = UO.MaxWeight()
    IF maximum <= 0 OR UO.Weight() < maximum THEN
        RETURN 0
    END IF
    UO.Say("bank")
    RETURN 1
END SUB

Пояснення параметрів і виконання:

  • RequestBankIfHeavy перевіряє підключення й додатний відомий максимум ваги. Лише при перевантаженні надсилає bank і повертає 1 як ознаку запиту; 0 — запиту не було. Це результат помічника, не команди мови.

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Clone this wiki locally