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 ํด๋๋ฅผ ๋ฎ์ด์ฐ์ง ์์๋์ง ํ์ธํ ๋ค ์ ์ฒด ํด๋ผ์ด์ธํธ๋ฅผ ๋ค์ ์์ํ์ญ์์ค. ์์ธํ ๋ด์ฉ์ ๋ฌธ์ ํด๊ฒฐ์ ๋ณด์ญ์์ค.