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

ClassicUO โ€” English Guide

Home ยท BASIC ยท UO API ยท Aโ€“Z ยท Examples ยท Languages

ClassicUO Age of Power โ€” Kyiv, warrior and Ukrainian symbolism

Detailed English topics

About this edition

ClassicUO - Bad Newbie & Basic IDE Edition is an unofficial Windows x64 build that combines ClassicUO, the Bad Newbie customization page, the Basic IDE Runtime, a separate Eclipse Theia IDE window, and a Runtime-generated API Manual.

The package does not contain Ultima Online game data and is not an official Electronic Arts, Broadsword, Ultima Online, or ClassicUO team product.

Package editions

  • client โ€” ready-to-run Full client with Bad Newbie and Basic;
  • project โ€” Full source code;
  • client-without-yoko โ€” ready client with Bad Newbie only;
  • project-without-yoko โ€” source without Basic UI and Runtime;
  • open-font-pack โ€” optional openly licensed fonts;
  • verification โ€” build and test reports.

Installation

  1. Extract the release archive to a writable folder.
  2. Choose client or client-without-yoko.
  3. Start ClassicUO.exe.
  4. Select your legally obtained Ultima Online data directory when requested.
  5. Configure the server and account as usual.

Verify the release archive against the SHA-256 value published in the adjacent .sha256.txt file.

Bad Newbie

Open Options โ†’ Bad Newbie. The page provides:

  • visibility and territory-line settings;
  • obstacle avoidance with up to five additional detour tiles;
  • separate cast indicators for self, other players, and NPC/monsters;
  • cast-bar length from 0 to 200 pixels, where 0 hides the bar;
  • independent fonts, sizes, and colors for interface text, journal, chat, overhead text, names, damage, tooltips, hover cards, and cast labels;
  • custom .ttf and .otf fonts from the Fonts directory;
  • world-hover cards for mobiles, world items, backpack contents, nested containers, equipment, static, multi, and land tiles;
  • configurable Info Bar, AutoLoot, AutoBuy, and AutoSell.

When Use original game/source color is enabled, changing the font family or size preserves the original dynamic UO hue instead of turning text black.

Hover cards can show the server label, a local custom label, serial, graphic/body/tile ID, hue, amount, coordinates, container, layer, and properties actually received from the server. The client never invents hidden server values.

Basic Runtime

Basic scripts use Basic syntax. The entry point is:

SUB Main()
    UO.Print('Hello from Basic')
END SUB

The whole document is indexed as soon as it is opened or changed. Running a script does not depend on scrolling to the bottom. Multiple scripts may run in parallel and keep independent running, paused, stopped, and debugging states.

Long loops must yield control:

SUB Main()
    WHILE UO.GetDead() = 0
        ' Work
        UO.Wait(100)
    WEND
END SUB

Basic IDE

The active IDE is based on Eclipse Theia and Monaco. It includes Explorer, Editor, Outline, Problems, Output, Debug Console, API Inspector, Variables, Watch, Call Stack, and API Manual.

Script state indicators:

  • green โ€” running;
  • yellow โ€” paused;
  • black/normal theme color โ€” selected and stopped.

Main shortcuts:

Action Key
Run current script F5
Start SUB Main without debugging Ctrl+F5
Start debugging F4
Validate F6
Pause/resume F7
Continue F8
Toggle breakpoint F9
Step over F10
Step into F11
Step out Shift+F11
Stop Shift+F5
Restart debugging Ctrl+Shift+F5
API documentation for symbol Ctrl+F1

Step commands are available only when the debugger is stopped on an instruction. The active source line is highlighted.

AutoLoad and macros

AutoLoad files are placed directly in Autoload; ordinary scripts are stored in Autoload\Scripts. Supported AutoLoad extensions are .sc, .inj, .bas, and .txt.

Choose the active file in Options โ†’ Basic IDE. The choice is stored separately for each character. On entering the game scene, only SUB Main() from the selected AutoLoad is started.

In Options โ†’ Macros โ†’ Classic:

  • Basic Auto Load lists procedures from the selected AutoLoad and binds one to a key;
  • Basic Example stores a complete SUB Main() ... END SUB script inside the normal macro profile.

A new unnamed IDE document is saved to Autoload\Scripts; an opened file is saved back to its original path.

API Manual

Runtime registration is the only source of truth. User-defined procedures are shown in Outline but are not added to the Runtime API Manual. Each API entry includes its real signature, parameters, defaults, return/effect, allowed values, data route, and a valid Basic example.

The API audit reports zero missing entries, zero unregistered entries, zero invalid signatures, zero duplicates, and zero invalid examples.

Troubleshooting

  • Empty API Manual: make sure the Full client payload is intact and no old IDE files were copied over it.
  • Already running: Main: select that script and stop its active instance before restarting it.
  • F10/F11 disabled: start debugging and stop at a breakpoint first.
  • Client freezes during a macro: add UO.Wait(...) to loops and split heavy work into smaller steps.
  • Missing NPC cast indicator: check the NPC/Monster switch, non-zero length, visibility range, and whether the server sends a detectable action.

Before using automation, verify the rules of your game server. Never publish account credentials, private profiles, logs, or copyrighted game data.