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

API Manual ๋ฐ Inspector

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

API Manual

ํ˜„์žฌ ์ฐธ์กฐ ๋ฌธ์„œ์—๋Š” 1103๊ฐœ ๊ธฐํ˜ธ์™€ ํ˜ธ์ถœ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  1037๊ฐœ ๋ช…๋ น ์ด๋ฆ„์ด ์žˆ์œผ๋ฉฐ, ๊ฐ ๋ช…๋ น์— ์—ฌ๋Ÿฌ ์˜ˆ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์™ธ๋ถ€ API Manual ํด๋”์˜ ํŽธ์ง‘ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ์„ ์ฝ์Šต๋‹ˆ๋‹ค. ์ˆ˜์ • ํ›„์—๋Š” Theia์—์„œ ๋งค๋‰ด์–ผ์„ ๋‹ค์‹œ ์—ฌ์„ธ์š”. ๊ณตํ†ต ์ƒ์„ธ ํŽ˜์ด์ง€๋Š” ๋Ÿฌ์‹œ์•„์–ด์™€ ์ผ๋ถ€ ์˜์–ด๋กœ ์ž‘์„ฑ๋˜๋ฉฐ, ๋ช…๋ น ์‹๋ณ„์ž๋Š” ๋ฒˆ์—ญ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

API ยท Aโ€“Z ยท Examples ยท Audit

์œ ์ผํ•œ ์ •๋ณด ์›๋ณธ

API ๋ฌธ์„œ๋Š” ๋‹ค์Œ ๋ฐฉํ–ฅ์œผ๋กœ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค.

Runtime registration โ†’ API Manual

์ด์ „ Manual, ์˜ˆ์ œ ํŒŒ์ผ ๋˜๋Š” ๊ณผ๊ฑฐ ๋ช…๋ น ์ด๋ฆ„์€ ํ˜„์žฌ API๊ฐ€ ์กด์žฌํ•œ๋‹ค๋Š” ์ฆ๊ฑฐ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ํ˜„์žฌ Basic Runtime์— ์‹ค์ œ ๋“ฑ๋ก๋˜์–ด ์Šคํฌ๋ฆฝํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” elements๋งŒ Manual์— ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. Runtime์—๋Š” ์žˆ์ง€๋งŒ ์ด์ „ Manual์— ์—†๋˜ element๋Š” ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ API ํ•ญ๋ชฉ์˜ ๋‚ด์šฉ

  • ์ •ํ™•ํ•œ ์ด๋ฆ„๊ณผ element type;
  • ์‹ค์ œ signature์™€ ๋“ฑ๋ก๋œ ๋ชจ๋“  overload;
  • required/optional parameters;
  • ๊ตฌํ˜„๋œ default values;
  • return value ๋˜๋Š” side effect;
  • parameter ํ—ˆ์šฉ๊ฐ’๊ณผ ์ œํ•œ;
  • data source์™€ dispatch route;
  • ClassicUO๊นŒ์ง€์˜ ๊ตฌ์ฒด์ ์ธ ํ˜ธ์ถœ ๊ฒฝ๋กœ;
  • related properties/elements;
  • ์‹ค์ œ Basic Script ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•œ examples.

๋ช…๋ น ์ด๋ฆ„, identifier, path, type ๋ฐ ๊ตฌ๋ฌธ์€ ๋ฒˆ์—ญํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ ํƒํ•œ ์–ธ์–ด๋Š” Manual์˜ ์„ค๋ช…๋ฌธ์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

Runtime API์— ํฌํ•จ๋˜์ง€ ์•Š๋Š” ํ•ญ๋ชฉ

์‚ฌ์šฉ์ž๊ฐ€ AutoLoad ๋˜๋Š” Autoload\Scripts์— ์„ ์–ธํ•œ SUB, FUNCTION, globals ๋ฐ constants๋Š” Runtime API๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด symbols๋Š” ์„ ํƒ๋œ ํŒŒ์ผ์˜ Outline, references, navigation ๋ฐ static analysis์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋ช…๋ น ์นด๋“œ ๋ณด๊ธฐ

๋ช…๋ น์„ ์„ ํƒํ•˜๋ฉด ์ •ํ™•ํ•œ ์ด๋ฆ„, ์œ ํ˜•, ๊ฐ„๋‹จํ•œ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๋ฐ ๋ฐ˜ํ™˜๊ฐ’(๋˜๋Š” ํšจ๊ณผ)์„ ๋‹ด์€ ์š”์•ฝ ์นด๋“œ๊ฐ€ ๋จผ์ € ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํ™•์žฅ ์ •๋ณด๋ฅผ ์—ด๋ฉด ๋ชจ๋“  overload, ๋งค๊ฐœ๋ณ€์ˆ˜ ์š”๊ตฌ์‚ฌํ•ญ, ๊ธฐ๋ณธ๊ฐ’, ์ œ์•ฝ, ์ข…์†์„ฑ, Runtime ๊ฒฝ๋กœ, ๊ด€๋ จ ์š”์†Œ ๋ฐ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ Basic Script ์˜ˆ์ œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ณด๊ธฐ ๋ชจ๋‘ ๊ตฌ๋ฌธ๊ณผ return์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

API Inspector, debugger ๋ฐ ๋ฐ˜ํ™˜๊ฐ’

API Inspector๋Š” โ€œ์ด ๋ช…๋ น์˜ ์ •์˜์™€ ์‚ฌ์šฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€โ€๋ฅผ ๋ณด์—ฌ ์ฃผ๋ฉฐ signature, parameters, return/effect, example ๋ฐ ๊ธฐ์ˆ  ๊ฒฝ๋กœ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์ค‘ ๋ฐœ์ƒํ•œ ๋ชจ๋“  ํ˜ธ์ถœ ๊ฒฐ๊ณผ๋ฅผ ๋ˆ„์ ํ•ด์„œ ๋ณด์—ฌ ์ฃผ๋Š” ํŒจ๋„์€ ์•„๋‹™๋‹ˆ๋‹ค.

์‹ค์ œ ๋ฐ˜ํ™˜๊ฐ’์„ ํ™•์ธํ•˜๋Š” ์˜ˆ:

VAR item = UO.FindType(0x0F43, -1, backpack, -1, TRUE)
UO.Print('Result: ' + CStr(item))

๋˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๊ณ  ๋‹ค์Œ ์ค„์— breakpoint๋ฅผ ๋‘” ๋’ค ๋ฉˆ์ถ˜ ์ƒํƒœ์—์„œ Variables/Watch๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. Local, global, constant, frame ๋ฐ call stack์˜ ๋Ÿฐํƒ€์ž„ ์ •๋ณด๋Š” debugger panels์—์„œ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

IDE์—์„œ ๋ฌธ์„œ ์‚ฌ์šฉ

  • completion์€ ํ˜„์žฌ Runtime์ด ์ง€์›ํ•˜๋Š” signature๋ฅผ ํ‘œ์‹œ;
  • API ํ•ญ๋ชฉ์„ ํ•œ ๋ฒˆ ํด๋ฆญํ•˜๋ฉด Inspector์—์„œ ์ƒ์„ธ ์ •๋ณด ํ‘œ์‹œ;
  • ๋‘ ๋ฒˆ ํด๋ฆญํ•˜๋ฉด ์™„์ „ํ•œ ๋ช…๋ น ํ˜•ํƒœ ์‚ฝ์ž…;
  • Ctrl+F1์€ ์ปค์„œ ์œ„์น˜ symbol์˜ ๋ฌธ์„œ ์—ด๊ธฐ;
  • Ctrl์„ ๋ˆ„๋ฅธ ์ฑ„ hoverํ•˜๋ฉด ๊ฐ„๋‹จํ•œ ๋ฌธ์„œ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ํ‚ค๋ฅผ ๋†“์œผ๋ฉด ์ˆจ๊น€;
  • tooltip์€ ์ค„๋ฐ”๊ฟˆ๋˜๋ฉฐ ํ™”๋ฉด ์•ˆ์— ์œ ์ง€.

์–ธ์–ด

Manual UI์™€ ์„ค๋ช…์€ EU, RU, UA, FR, DE, IT, ES, ZH, JA, KO๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์–ธ์–ด๋ฅผ ๋ฐ”๊ฟ”๋„ UO.*, signature, Basic keywords, paths ๋˜๋Š” Runtime ๋™์ž‘์€ ๋ฐ”๋€Œ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

API ์ผ์น˜ ๊ฐ์‚ฌ

๋ฐฐํฌ ์ „ Runtime/Manual ๊ฒ€์ฆ์˜ ์˜ˆ์ƒ ๊ฒฐ๊ณผ:

Missing from Manual: 0
Not registered in Runtime: 0
Invalid signatures: 0
Duplicate entries: 0
Invalid Basic Script examples: 0

์ด ๊ฒฐ๊ณผ๋Š” ๋“ฑ๋ก ๋ชฉ๋ก, signature, ์ค‘๋ณต ๋ฐ examples์˜ ์ž๋™ ์ผ์น˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒŒ์ž„ ์„œ๋ฒ„๊ฐ€ ๊ฐ™์€ ํ™•์žฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ธ๋‹ค๋Š” ๋œป์€ ์•„๋‹™๋‹ˆ๋‹ค.

Manual์ด ๋น„์–ด ์žˆ์„ ๋•Œ

์ฐฝ์€ ์—ด๋ฆฌ์ง€๋งŒ navigation์ด ๋น„์–ด ์žˆ์œผ๋ฉด frontend๊ฐ€ Runtime catalog๋ฅผ ๋ฐ›์ง€ ๋ชปํ–ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ํฝ๋‹ˆ๋‹ค. ์ „์ฒด client๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  Basic payload๊ฐ€ ์™„์ „ํ•˜๋ฉฐ ์ด์ „ IDE ํด๋”๋ฅผ ๋ฎ์–ด์“ฐ์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•œ ๋’ค ์ „์ฒด ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์‹ญ์‹œ์˜ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ๋ณด์‹ญ์‹œ์˜ค.