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

ClassicUO โ€” ํ•œ๊ตญ์–ด ์•ˆ๋‚ด์„œ

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

ClassicUO Age of Power โ€” ํ‚ค์ด์šฐ, ์ „์‚ฌ, ์šฐํฌ๋ผ์ด๋‚˜ ์ƒ์ง•

์ƒ์„ธ ์•ˆ๋‚ด

์ด ์—๋””์…˜ ์†Œ๊ฐœ

ClassicUO - Bad Newbie & Basic IDE Edition์€ Windows x64์šฉ ๋น„๊ณต์‹ ๋นŒ๋“œ์ž…๋‹ˆ๋‹ค. ClassicUO, Bad Newbie ํ™•์žฅ ์„ค์ •, Basic IDE Runtime, ๋ณ„๋„์˜ Eclipse Theia IDE ์ฐฝ, ํ˜„์žฌ Runtime ๋“ฑ๋ก ์ •๋ณด๋กœ ์ƒ์„ฑ๋˜๋Š” API Manual์„ ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค.

Ultima Online ๊ฒŒ์ž„ ๋ฐ์ดํ„ฐ๋Š” ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Electronic Arts, Broadsword, Ultima Online ๋˜๋Š” ClassicUO ํŒ€์˜ ๊ณต์‹ ์ œํ’ˆ์ด ์•„๋‹™๋‹ˆ๋‹ค.

ํŒจํ‚ค์ง€ ๊ตฌ์„ฑ

  • client โ€” Basic๊ฐ€ ํฌํ•จ๋œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ „์ฒด ํด๋ผ์ด์–ธํŠธ;
  • project โ€” ์ „์ฒด ์—๋””์…˜ ์†Œ์Šค ์ฝ”๋“œ;
  • client-without-yoko โ€” Bad Newbie๋งŒ ํฌํ•จ๋œ ํด๋ผ์ด์–ธํŠธ;
  • project-without-yoko โ€” Basic๊ฐ€ ์—†๋Š” ์†Œ์Šค ์ฝ”๋“œ;
  • open-font-pack โ€” ์„ ํƒ ๊ฐ€๋Šฅํ•œ ์˜คํ”ˆ ๋ผ์ด์„ ์Šค ๊ธ€๊ผด;
  • verification โ€” ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ๋ณด๊ณ ์„œ.

์„ค์น˜

  1. ๋ฆด๋ฆฌ์Šค ์••์ถ• ํŒŒ์ผ์„ ์“ฐ๊ธฐ ๊ฐ€๋Šฅํ•œ ๋ณ„๋„ ํด๋”์— ํ’‰๋‹ˆ๋‹ค.
  2. client ๋˜๋Š” client-without-yoko๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ClassicUO.exe๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  4. ํ•ฉ๋ฒ•์ ์œผ๋กœ ๋ณด์œ ํ•œ Ultima Online ๋ฐ์ดํ„ฐ ํด๋”๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  5. ์„œ๋ฒ„์™€ ๊ณ„์ •์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

ZIP์˜ SHA-256์„ ์ธ์ ‘ํ•œ .sha256.txt ํŒŒ์ผ์˜ ๊ฐ’๊ณผ ๋น„๊ตํ•˜์‹ญ์‹œ์˜ค.

Bad Newbie

Options โ†’ Bad Newbie๋ฅผ ์—ฝ๋‹ˆ๋‹ค. ์ฃผ์š” ๊ธฐ๋Šฅ:

  • ์‹œ์•ผ ๊ฑฐ๋ฆฌ ๋ฐ ์˜ํ†  ํ‘œ์‹œ์„ ;
  • ์ตœ๋Œ€ 5๊ฐœ์˜ ์ถ”๊ฐ€ ํƒ€์ผ์„ ์‚ฌ์šฉํ•˜๋Š” ์žฅ์• ๋ฌผ ์šฐํšŒ;
  • ์ž์‹ , ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด, NPC/๋ชฌ์Šคํ„ฐ๋ณ„ ๋…๋ฆฝ ์‹œ์ „ ํ‘œ์‹œ๊ธฐ;
  • 0โ€“200ํ”ฝ์…€์˜ ํ‘œ์‹œ๊ธฐ ๊ธธ์ด. 0์€ ์ˆจ๊น€;
  • UI, journal, chat, overhead, ์ด๋ฆ„, ํ”ผํ•ด๋Ÿ‰, tooltip, hover ์นด๋“œ, ์‹œ์ „ ์ด๋ฆ„๋ณ„ ๊ธ€๊ผดยทํฌ๊ธฐยท์ƒ‰์ƒ;
  • Fonts ํด๋”์˜ .ttf ๋ฐ .otf;
  • ์บ๋ฆญํ„ฐ, ์•„์ดํ…œ, backpack, ์ค‘์ฒฉ ์ปจํ…Œ์ด๋„ˆ, ์žฅ๋น„, tile์šฉ hover ์นด๋“œ;
  • Info Bar, AutoLoot, AutoBuy ๋ฐ AutoSell.

Use original game/source color๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธ€๊ผด์„ ๋ณ€๊ฒฝํ•ด๋„ ์›๋ž˜์˜ ๋™์  UO hue๊ฐ€ ์œ ์ง€๋˜๋ฉฐ ๊ธ€์ž๊ฐ€ ๊ฒ€๊ฒŒ ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Hover ์นด๋“œ๋Š” ์„œ๋ฒ„ ์ด๋ฆ„, ๋กœ์ปฌ ๋ผ๋ฒจ, serial, graphic/body/tile ID, hue, ์ˆ˜๋Ÿ‰, ์ขŒํ‘œ, container, layer ๋ฐ ์ˆ˜์‹ ๋œ ์†์„ฑ์ฒ˜๋Ÿผ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‹ค์ œ๋กœ ๊ฐ€์ง„ ์ •๋ณด๋งŒ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ๋ณด๋‚ด์ง€ ์•Š์€ ์ˆจ๊ฒจ์ง„ ๊ฐ’์€ ์ถ”์ธกํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Basic Runtime

Basic ์ง„์ž…์ :

SUB Main()
    UO.Print('Basic started')
END SUB

ํŒŒ์ผ์„ ์—ด๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๋ฉด ์ „์ฒด ๋ฌธ์„œ๊ฐ€ ์ฆ‰์‹œ ์ธ๋ฑ์‹ฑ๋ฉ๋‹ˆ๋‹ค. ๋๊นŒ์ง€ ์Šคํฌ๋กคํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฐ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋…๋ฆฝ์ ์ธ ์ƒํƒœ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

๊ธด ๋ฐ˜๋ณต๋ฌธ์—๋Š” UO.Wait(...)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ UI๊ฐ€ ๊ณ„์† ์‘๋‹ตํ•˜๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Basic IDE

IDE๋Š” Eclipse Theia์™€ Monaco๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Explorer, Editor, Outline, Problems, Output, Debug Console, API Inspector, Variables, Watch, Call Stack ๋ฐ API Manual์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ƒํƒœ ์ƒ‰์ƒ: ๋…น์ƒ‰โ€”์‹คํ–‰ ์ค‘, ๋…ธ๋ž€์ƒ‰โ€”์ผ์‹œ ์ •์ง€, ๊ฒ€์ •/์ผ๋ฐ˜ ํ…Œ๋งˆ ์ƒ‰์ƒโ€”์„ ํƒ๋˜์–ด ์žˆ๊ณ  ์ค‘์ง€๋จ.

๋™์ž‘ ํ‚ค
ํ˜„์žฌ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ F5
๋””๋ฒ„๊น… ์—†์ด SUB Main ์‹œ์ž‘ Ctrl+F5
๋””๋ฒ„๊น… ์‹œ์ž‘ F4
๋ฌธ๋ฒ• ๊ฒ€์‚ฌ F6
์ผ์‹œ ์ •์ง€/์žฌ๊ฐœ F7
Continue F8
Breakpoint ์ „ํ™˜ F9
Step Over F10
Step Into F11
Step Out Shift+F11
์ค‘์ง€ Shift+F5
๋””๋ฒ„๊น… ๋‹ค์‹œ ์‹œ์ž‘ Ctrl+Shift+F5
์ปค์„œ ๊ธฐํ˜ธ API ๋ฌธ์„œ Ctrl+F1

๋‹จ๊ณ„ ์‹คํ–‰ ๋ช…๋ น์€ ๋””๋ฒ„๊ฑฐ๊ฐ€ ๋ช…๋ น๋ฌธ์—์„œ ๋ฉˆ์ถ˜ ์ƒํƒœ์ผ ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์‹คํ–‰ ์ค„์€ ๊ฐ•์กฐ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

AutoLoad ๋ฐ ๋งคํฌ๋กœ

AutoLoad ํŒŒ์ผ์€ Autoload ๋ฐ”๋กœ ์•„๋ž˜์—, ์ผ๋ฐ˜ ์Šคํฌ๋ฆฝํŠธ๋Š” Autoload\Scripts์— ๋‘ก๋‹ˆ๋‹ค. .sc, .inj, .bas, .txt๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Options โ†’ Basic IDE์—์„œ ํ™œ์„ฑ ํŒŒ์ผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ์€ ์บ๋ฆญํ„ฐ๋ณ„๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ž„ ํ™”๋ฉด์— ๋“ค์–ด๊ฐˆ ๋•Œ ์„ ํƒ๋œ AutoLoad์˜ SUB Main()๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

Options โ†’ Macros โ†’ Classic:

  • Basic Auto Load๋Š” ์„ ํƒํ•œ AutoLoad์˜ ํ”„๋กœ์‹œ์ €๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ํ‚ค์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค;
  • Basic Example์€ ์™„์ „ํ•œ SUB Main() ... END SUB ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ผ๋ฐ˜ ๋งคํฌ๋กœ ํ”„๋กœํ•„์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

IDE์˜ ์ƒˆ ์ด๋ฆ„ ์—†๋Š” ํŒŒ์ผ์€ Autoload\Scripts์— ์ €์žฅ๋˜๊ณ , ์—ด์–ด ๋‘” ํŒŒ์ผ์€ ์›๋ž˜ ๊ฒฝ๋กœ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

API Manual

Runtime ๋“ฑ๋ก์ด ์œ ์ผํ•œ ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค. Manual์€ ์‹ค์ œ ์‹œ๊ทธ๋‹ˆ์ฒ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, ๊ธฐ๋ณธ๊ฐ’, ๋ฐ˜ํ™˜/ํšจ๊ณผ, ํ—ˆ์šฉ๊ฐ’, ๋ฐ์ดํ„ฐ ๊ฒฝ๋กœ ๋ฐ ์œ ํšจํ•œ Basic ์˜ˆ์ œ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž SUB์™€ FUNCTION์€ Outline์—๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

API ๊ฐ์‚ฌ ๊ฒฐ๊ณผ: ๋ˆ„๋ฝ, ๋ฏธ๋“ฑ๋ก, ์ž˜๋ชป๋œ ์‹œ๊ทธ๋‹ˆ์ฒ˜, ์ค‘๋ณต ๋ฐ ์ž˜๋ชป๋œ ์˜ˆ์ œ๊ฐ€ ๋ชจ๋‘ 0์ž…๋‹ˆ๋‹ค.

๋น ๋ฅธ ๋ฌธ์ œ ํ•ด๊ฒฐ

  • API Manual์ด ๋น„์–ด ์žˆ์Œ: ์ „์ฒด client๋ฅผ ํ™•์ธํ•˜๊ณ  ์ด์ „ IDE ํŒŒ์ผ์„ ๋ฎ์–ด์“ฐ์ง€ ๋งˆ์‹ญ์‹œ์˜ค.
  • Already running: Main: ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๊ธฐ์กด ์ธ์Šคํ„ด์Šค๋ฅผ ์ค‘์ง€ํ•˜์‹ญ์‹œ์˜ค.
  • F10/F11 ๋น„ํ™œ์„ฑ: Debug๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  breakpoint์—์„œ ๋ฉˆ์ถ”์‹ญ์‹œ์˜ค.
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฉˆ์ถค: ๋ฐ˜๋ณต๋ฌธ์— UO.Wait(...)๋ฅผ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.
  • NPC ํ‘œ์‹œ๊ธฐ๊ฐ€ ์—†์Œ: NPC/Monster ์˜ต์…˜, ๊ธธ์ด, ์‹œ์•ผ ๋ฐ ์„œ๋ฒ„ ์ด๋ฒคํŠธ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

์ž๋™ํ™”๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ์„œ๋ฒ„ ๊ทœ์น™์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๋กœ๊ทธ์ธ ์ •๋ณด, ๊ฐœ์ธ ํ”„๋กœํ•„, ๋กœ๊ทธ ๋˜๋Š” ๋ณดํ˜ธ๋˜๋Š” ๊ฒŒ์ž„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต๊ฐœํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.