Manual RU - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

ClassicUO — полное руководство на русском языке

Быстрый старт

ClassicUO / Bad Newbie

Age of Power

Basic IDE

Разработка и публикация

ClassicUO Age of Power — Киев, воин и украинская символика

Клиент и состав сборки

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 в архив не входят.

Установка и первый запуск

  1. Распакуйте весь архив в отдельную папку с правом записи.
  2. Откройте client для полной редакции или client-without-yoko для редакции без Basic.
  3. Запустите ClassicUO.exe.
  4. Укажите папку с вашими игровыми данными Ultima Online.
  5. Настройте адрес сервера, порт, учётную запись и профиль персонажа.

Не смешивайте файлы разных выпусков в одной папке. Настройки персонажей и общие параметры хранятся раздельно; подробная схема описана в настройках и профилях.

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

Устранение проблем

  • Пустой API Manual: проверьте, что запущена полная редакция и в папку не скопированы файлы старой IDE.
  • Already running: Main: выберите этот скрипт и остановите его активный экземпляр перед повторным запуском.
  • F10/F11 недоступны: начните отладку и остановитесь на breakpoint или инструкции.
  • Клиент зависает при макросе: добавьте UO.Wait(...) в циклы и разбейте тяжёлую работу на короткие шаги.
  • Не виден индикатор NPC: проверьте отдельную опцию NPC/Monster, ненулевую длину, цвет, положение, дальность видимости и наличие событий каста от сервера.
  • Не сохраняется параметр: нажмите Apply, проверьте право записи в папку настроек и убедитесь, что профили разных установок не смешаны.

Полный список решений находится в разделе устранения неполадок.

Навигация:

Age of Power: