Manual RU - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
ClassicUO — полное руководство на русском языке
Быстрый старт
ClassicUO / Bad Newbie
- Возможности Bad Newbie
- Шрифты и цвета
- Hover Cards и Info Bar
- Каст и движение
- Локализация
- Настройки и профили
Age of Power
- Обзор мира
- Консольные команды
- Квесты и NPC
- Крафт — оглавление
- Каталог предметов: ресурсы, навыки и инструменты
- Ресурсы и способы получения
Basic IDE
- Runtime
- Basic IDE
- Быстрый старт скриптов
- AutoLoad и макросы
- API Manual и Inspector
- Полный Runtime API
- Алфавитный указатель API
- Аудит Runtime API
Разработка и публикация
- Архитектура
- Сборка из исходников
- Тестирование
- Решение проблем
- FAQ
- Безопасность и правила
- Порядок загрузки файлов
- Публикация Wiki

Клиент и состав сборки
ClassicUO - Bad Newbie & Basic IDE Edition — расширенная сборка ClassicUO для Windows x64. Она объединяет игровой клиент, настройки Bad Newbie, Basic IDE Runtime, отдельное окно Basic IDE на Eclipse Theia и API Manual, сформированный по фактической регистрации Runtime.
В комплект входят две редакции:
| Редакция | Состав |
|---|---|
| Full | ClassicUO, Bad Newbie, Basic Runtime, Basic IDE и API Manual |
| Bad Newbie Only | ClassicUO и Bad Newbie без Basic Runtime и IDE |
Архив содержит готовые клиенты, исходные проекты, необязательный набор открытых шрифтов и материалы проверки сборки. Игровые данные Ultima Online в архив не входят.
Установка и первый запуск
- Распакуйте весь архив в отдельную папку с правом записи.
- Откройте
clientдля полной редакции илиclient-without-yokoдля редакции без Basic. - Запустите
ClassicUO.exe. - Укажите папку с вашими игровыми данными Ultima Online.
- Настройте адрес сервера, порт, учётную запись и профиль персонажа.
Не смешивайте файлы разных выпусков в одной папке. Настройки персонажей и общие параметры хранятся раздельно; подробная схема описана в настройках и профилях.
Bad Newbie
Раздел Options → Bad Newbie содержит:
- дальность видимости и линии территории;
- обход препятствий с запасом до пяти дополнительных клеток;
- отдельные индикаторы каста своего персонажа, других игроков и NPC/монстров;
- независимую настройку шрифтов, размеров и цветов интерфейса, журнала, чата, overhead-текста, имён, урона, подсказок, карточек наведения и надписей каста;
- карточки наведения для персонажей, предметов мира, содержимого backpack и контейнеров, экипировки, static, multi и land tiles;
- настраиваемый Info Bar;
- AutoLoot, AutoBuy, AutoSell и экспериментальные параметры.
Кнопка Apply применяет и сохраняет выбранные значения. Сброс возвращает параметры по умолчанию.
Шрифты и цвета
Файлы .ttf и .otf можно поместить в папку Fonts рядом с клиентом. После добавления во время работы нажмите Reload Fonts folder. Шрифты становятся доступны в настройках клиента и не устанавливаются в Windows.
При включённой опции Use original game/source color смена семейства или размера шрифта сохраняет исходный динамический hue Ultima Online. При выключенной опции используется выбранный вручную цвет.
Подробности: шрифты и цвета.
Карточки наведения
Карточка может показывать:
- игровое имя, полученное от сервера;
- локальную пользовательскую метку;
- serial;
- graphic, body или tile ID;
- hue и amount;
- координаты, container и layer;
- свойства предмета, доступные клиенту.
Для объектов с serial клиент может запросить имя у сервера с ограничением частоты повторных запросов. Static, multi и land tiles используют TileData клиента. Локальная метка сохраняется в профиле и не переименовывает предмет на сервере.
Info Bar и параметры предметов
Info Bar поддерживает 25 параметров персонажа. Ширина каждой ячейки вычисляется по содержимому; внешняя рамка и разделители не дают тексту смешиваться. При уменьшении ширины значения переносятся или располагаются в несколько строк.
Weapon Damage показывает диапазон урона экипированного оружия по доступным данным в таком порядке: расширенный статус сервера, свойства оружия, базовые данные клиента. Если диапазон определить нельзя, отображается N/A, а не ноль или многоточие. Свойства, которые сервер клиенту не передал, не могут быть восстановлены.
Подробности: Hover Cards и Info Bar.
Индикаторы каста
Настройки независимы для:
- своего персонажа;
- другого игрока;
- NPC или монстра.
Индикатор можно расположить слева, справа, сверху или снизу от персонажа. Длина задаётся в пикселях; 0 скрывает полосу. Надпись измеряется по фактическому размеру выбранного шрифта и остаётся рядом с индикатором после изменения масштаба, стороны или шрифта.
Определение удалённого каста использует речь, группу заклинания, action и другие события, которые клиент получил от сервера. Радиус учитывает настройку видимости мира, а не ползунок обхода препятствий.
Движение и обход препятствий
Ползунок обхода задаёт запас 1–5 дополнительных клеток, которые разрешено использовать при поиске маршрута. Сначала проверяется кратчайший прямой путь. Если персонаж упёрся в угол или препятствие, планировщик рассматривает боковые, диагональные, перпендикулярные и при необходимости обратные шаги. Большой обход используется только тогда, когда короткого пути недостаточно.
Подробности: индикаторы каста и движение.
Basic IDE Runtime
Basic Runtime выполняет скрипты на синтаксисе Basic и передаёт зарегистрированные вызовы UO.* в ClassicUO. Точка входа файла:
SUB Main()
UO.Print('Basic запущен')
END SUB
При открытии или изменении документа индексируется весь текст: SUB, FUNCTION, параметры, локальные и глобальные переменные, константы, вызовы API, Outline и диагностика. Запуск не зависит от прокрутки файла до конца, а SUB Main() может находиться в любой части документа.
Несколько скриптов могут выполняться параллельно. Для длительных циклов необходимо регулярно отдавать управление Runtime:
SUB Main()
WHILE UO.GetDead() = 0
' Небольшая операция
UO.Wait(100)
WEND
END SUB
Бесконечный цикл без UO.Wait(...) способен занять процессор и временно остановить отрисовку клиента.
Basic IDE
IDE построена на Eclipse Theia и Monaco. В ней доступны Explorer, Editor, Outline, Problems, Output, Debug Console, API Inspector, Variables, Watch, Call Stack и API Manual.
Состояние скрипта рядом с его именем:
- зелёный кружок — выполняется;
- жёлтый кружок — на паузе;
- чёрный или обычный цвет темы — выбран и остановлен.
Выбор одного скрипта не меняет состояние остальных. Закрытие окна IDE не останавливает скрипты, пока работает процесс ClassicUO; после повторного открытия IDE их состояние восстанавливается.
Запуск и отладка
| Действие | Клавиша | Результат |
|---|---|---|
| Run Current Script | F5 |
Проверить и запустить текущий скрипт |
| Run Without Debugging | Ctrl+F5 |
Запустить SUB Main() без остановок отладчика |
| Start Debugging | F4 |
Запустить SUB Main() под отладчиком |
| Validate | F6 |
Проверить синтаксис без запуска |
| Pause/Resume | F7 |
Поставить выбранный скрипт на паузу или продолжить |
| Continue | F8 |
Продолжить после паузы или breakpoint |
| Toggle Breakpoint | F9 |
Добавить или убрать точку останова |
| Step Over | F10 |
Выполнить текущую инструкцию |
| Step Into | F11 |
Войти в вызываемый пользовательский SUB или FUNCTION |
| Step Out | Shift+F11 |
Завершить текущую процедуру и вернуться |
| Stop | Shift+F5 |
Остановить выбранный скрипт |
| Restart Debugging | Ctrl+Shift+F5 |
Перезапустить выбранный скрипт под отладчиком |
| API Documentation | Ctrl+F1 |
Открыть документацию символа под курсором |
Пошаговые команды доступны, когда отладчик остановлен на выполняемой инструкции. Активная строка подсвечивается. F10 переходит по выполняемым операторам согласно синтаксису, а не просто перемещает курсор на следующую визуальную строку.
Подробности: Basic IDE и быстрый старт скриптов.
AutoLoad и макросы
AutoLoad-файлы находятся непосредственно в Autoload, обычные скрипты — в Autoload\Scripts. Поддерживаются расширения .sc, .inj, .bas и .txt.
Активный AutoLoad выбирается в Options → Basic IDE и сохраняется отдельно для каждого персонажа. При входе в игровой мир запускается только SUB Main() выбранного файла.
В Options → Macros → Classic:
- Basic Auto Load показывает процедуры выбранного AutoLoad и назначает их на клавиши;
- Basic Example хранит полный скрипт
SUB Main() ... END SUBв обычном профиле макросов.
Новый безымянный документ IDE при обычном Save сохраняется в Autoload\Scripts. Открытый существующий файл сохраняется обратно по исходному пути.
Подробности: AutoLoad и макросы.
API Manual и Inspector
Каталог API строится по фактически зарегистрированному Runtime. Пользовательские SUB и FUNCTION показываются в Outline, но не добавляются в Runtime API Manual.
Для каждого элемента отображаются точное имя, тип, сигнатуры, параметры, обязательность, значения по умолчанию, возвращаемое значение, допустимые значения и пример Basic. Inspector показывает выбранную команду, а во время остановки отладчика — доступные значения переменных, стека и кадров.
Подробности: API Manual и Inspector и полный Runtime API.
Age of Power
- обзор сервера;
- консольные команды;
- квесты, NPC и координаты;
- крафт и необходимые ресурсы;
- изображения ресурсов и предметов.
Устранение проблем
- Пустой API Manual: проверьте, что запущена полная редакция и в папку не скопированы файлы старой IDE.
Already running: Main: выберите этот скрипт и остановите его активный экземпляр перед повторным запуском.F10/F11недоступны: начните отладку и остановитесь на breakpoint или инструкции.- Клиент зависает при макросе: добавьте
UO.Wait(...)в циклы и разбейте тяжёлую работу на короткие шаги. - Не виден индикатор NPC: проверьте отдельную опцию NPC/Monster, ненулевую длину, цвет, положение, дальность видимости и наличие событий каста от сервера.
- Не сохраняется параметр: нажмите Apply, проверьте право записи в папку настроек и убедитесь, что профили разных установок не смешаны.
Полный список решений находится в разделе устранения неполадок.
Навигация:
- Руководство
- Установка
- Bad Newbie
- Basic Runtime и IDE
- AutoLoad и макросы
- API Manual
- Полный Runtime API
- Сборка и тестирование
- Устранение неполадок
- Языки
Age of Power: