KO Troubleshooting - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
๋ฌธ์ ํด๊ฒฐ
ํ์:
- ์๋ด์
- ์ค์น
- Bad Newbie
- Basic Runtime ๋ฐ IDE
- AutoLoad ๋ฐ ๋งคํฌ๋ก
- API ๋งค๋ด์ผ
- ์ ์ฒด Runtime API
- ๋น๋ ๋ฐ ํ ์คํธ
- ๋ฌธ์ ํด๊ฒฐ
- ์ธ์ด
Age of Power:
API Manual์ด ๋น์ด ์์
client-without-yoko๊ฐ ์๋๋ผ ์ ์ฒดclient๋ฅผ ์ฌ์ฉํ๋์ง ํ์ธํฉ๋๋ค.ClassicUO.exe๋ง ๋ค๋ฅธ ํด๋๋ก ๋ณต์ฌํด ์คํํ์ง ๋ง์ญ์์ค.- Basic IDE/API payload๊ฐ ์ ์ฒด ํด๋ผ์ด์ธํธ์ ๋ค๋ฅธ ํ์ผ๊ณผ ๊ฐ์ ์ธํธ์ธ์ง ํ์ธํฉ๋๋ค.
- IDE์ ClassicUO๋ฅผ ๋ซ๊ณ ์ ์ฒด ํด๋ผ์ด์ธํธ ํด๋์์ ๋ค์ ์์ํฉ๋๋ค.
- ์ด์ ์์นด์ด๋ธ์ IDE, extension ๋๋ Runtime ํ์ผ์ ํ์ฌ ํด๋์ ๋ฎ์ด์ฐ์ง ๋ง์ญ์์ค.
- Output/Logs์์ Runtime metadata ๋๋ local Theia host ๋ก๋ ์ค๋ฅ๋ฅผ ํ์ธํฉ๋๋ค.
ํ๋ฉด ํ์ ์ด๋ฆฌ์ง๋ง API navigation์ด ์์ ํ ๋น์ด ์์ผ๋ฉด frontend๊ฐ ์์๋์์ง๋ง Runtime catalog๋ฅผ ๋ฐ์ง ๋ชปํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
Run์ด launch.json์ ์ถ
Basic extension์ Run Current Script, Start Script (SUB Main) / Run Without Debugging ๋๋ Start Debugging์ ์ฌ์ฉํ์ญ์์ค. ์ผ๋ฐ Theia/VS Code ๋ช
๋ น์ ์ผ์นํ๋ debug configuration์ด ์์ผ๋ฉด launch.json์ ์ด ์ ์์ต๋๋ค.
Already running: Main
Runtime์ด ๊ฐ์ ์คํฌ๋ฆฝํธ์ Main ์ธ์คํด์ค๋ฅผ active๋ก ์ ์งํ๊ณ ์์ต๋๋ค. Explorer์์ ์ฌ๋ฐ๋ฅธ ์คํฌ๋ฆฝํธ๋ฅผ ์ ํํ๊ณ Stop์ ๋๋ฅด์ญ์์ค. UI ์ํ๊ฐ ์ค๋๋์๋ค๋ฉด IDE๋ฅผ ๋ซ์๋ค ๋ค์ ์ด์ด ์คํ ์ค์ธ ClassicUO Runtime์์ ์ํ๋ฅผ ๋ค์ ์ฝ์ผ์ญ์์ค. ์ค์งํ๊ธฐ ์ ์ ๊ฐ์ entry point๋ฅผ ์ค๋ณต ์คํํ์ง ๋ง์ญ์์ค.
F10/F11์ด ์๋ํ์ง ์์
step command๋ debugger๊ฐ ์คํ ๊ฐ๋ฅํ ๋ฌธ์ฅ์์ ๋ฉ์ถ ๊ฒฝ์ฐ์๋ง ์๋ํฉ๋๋ค.
- Start Debugging ์คํ;
F9๋ก breakpoint๋ฅผ ์ค์ ํ๊ฑฐ๋ ์ฒซ ์ค์ง๊น์ง ๋๊ธฐ;F10,F11๋๋Shift+F11์ฌ์ฉ.
์คํฌ๋ฆฝํธ๊ฐ ์์ ํ stopped ์ํ๋ผ๋ฉด selected script is not running์ ์ ์ ๋ฉ์์ง์
๋๋ค.
๋๊น์ง ์คํฌ๋กคํด์ผ ์คํ๋จ
์ด ํ์์ ์ด์ ๊ตฌ์ฑ ์์์ ์ค๋ฅ์ ๋๋ค. ํ์ฌ ๋ฌธ์๋ ์ด๊ฑฐ๋ ๋ณ๊ฒฝํ ๋ ์ ์ฒด๊ฐ ์ธ๋ฑ์ฑ๋ฉ๋๋ค. IDE, language extension ๋ฐ Runtime์ด ๊ฐ์ ์ ์ฒด ํด๋ผ์ด์ธํธ์์ ์จ ํ์ผ์ธ์ง ํ์ธํ์ญ์์ค.
๋ น์ ๋๋ ๋ ธ๋์ ์ํ ์ ์ด ์์
- Explorer์์ ํด๋น ์คํฌ๋ฆฝํธ ์ ํ;
- Output์์ ์คํ ์ฑ๊ณต ํ์ธ;
- ์ํ Reload/Refresh ์ํ;
- IDE๊ฐ ๊ฐ์ ClassicUO ์ธ์คํด์ค์ ์ฐ๊ฒฐ๋์๋์ง ํ์ธ;
- ์๋ก ๋ค๋ฅธ ๋ ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ์ IDE payload๋ฅผ ๊ณต์ ํ์ง ์๋๋ก ํจ.
๋ น์์ running, ๋ ธ๋์์ paused, ๊ฒ์ /์ผ๋ฐ ํ ๋ง ์์์ ์ ํ๋์๊ณ stopped ์ํ์ ๋๋ค.
Basic ๋ช ๋ น ์คํ ์ ํด๋ผ์ด์ธํธ๊ฐ ์ ์ ๋ฉ์ถค
- ๊ธด ๋ฐ๋ณต๋ฌธ์
UO.Wait(...)์ถ๊ฐ; - ๋๊ธฐ ์๋ active infinite loop ์ ๊ฑฐ;
- ๋งค iteration๋ง๋ค ํฐ ๋๊ธฐ ๊ฒ์์ ์คํํ์ง ์์;
- ๋ฌด๊ฑฐ์ด ์์ ์ yielding ๊ฐ๋ฅํ ์์ ๋จ๊ณ๋ก ๋ถํ ;
- Macro, Runtime ๋ฐ IDE ํ์ผ์ด ๊ฐ์ ํด๋ผ์ด์ธํธ ์ธํธ์ธ์ง ํ์ธ.
Basic Auto Load์ procedure๊ฐ ์์
- Options โ Basic IDE์์ ์ฌ๋ฐ๋ฅธ AutoLoad๋ฅผ ์ ํํ๊ณ Apply;
- ํ์ผ์ด
Autoload์ต์์์ ์๋์ง ํ์ธ; - ํ์ฅ์๊ฐ
.sc,.inj,.bas,.txt์ธ์ง ํ์ธ; - procedure ๋ฌธ๋ฒ์ด ์์ ํ์ง ํ์ธ;
- Macros ํ์ด์ง๋ฅผ ๋ค์ ์ด์ด ๋ชฉ๋ก ์๋ก ๊ณ ์นจ.
๊ธ๊ผด์ด ๊ฒ๊ฒ ํ์๋จ
Use original game/source color๋ฅผ ์ผ๊ณ Apply๋ฅผ ๋๋ฅด์ญ์์ค. ์ด ์ต์ ์ ์ฌ์ฉ์ ๊ธ๊ผด์์๋ ์๋ ๋์ UO hue๋ฅผ ์ ์งํฉ๋๋ค. ๊ณ์ ๊ฒ๋ค๋ฉด ์ด์ font renderer ๋๋ ์ค์ ํ์ผ์ด ์์๋์ง ํ์ธํ์ญ์์ค.
NPC/๋ชฌ์คํฐ ์์ ํ์๊ธฐ๊ฐ ์์
NPC/Monster ๋
๋ฆฝ ์ต์
์ด ์ผ์ ธ ์๊ณ ๊ธธ์ด๊ฐ 0๋ณด๋ค ํฌ๋ฉฐ ์์น์ ์์์ด ๋ณด์ด๊ณ ๋์์ด ์์ผ ์์ ์๋์ง ํ์ธํฉ๋๋ค. ์๋ฒ๊ฐ ํ์ํ speech, action code ๋๋ animation์ ๋ณด๋ด์ง ์์ผ๋ฉด ๋ชจ๋ ์๊ฑฐ๋ฆฌ ์์ ์ ๊ฐ์งํ ์ ์์ต๋๋ค.
์์ ์ด๋ฆ์ด ํ์๊ธฐ์์ ๋จ์ด์ ธ ์์
self/Other Player/NPC/Monster ์ค ๊ฐ์ ๊ทธ๋ฃน์ ์ค์ ์ ์ฌ์ฉํ๊ณ ์๋์ง, ์ด์ UI ํ์ผ์ด ์์ด์ง ์์๋์ง ํ์ธํฉ๋๋ค. ํ ์คํธ๋ ์ค์ glyph ๋๋น๋ก ๋ค์ ์ธก์ ๋์ด ํ์๊ธฐ ์์ ๋ฐฐ์น๋์ด์ผ ํฉ๋๋ค.
Texture not found for sprite
ํ์ฌ Ultima Online ๋ฐ์ดํฐ์ ํด๋น sprite๊ฐ ์๋ค๋ ๋ป์ ๋๋ค. ํด๋ผ์ด์ธํธ๋ ์คํจ ๊ฒฐ๊ณผ๋ฅผ cacheํ๊ณ fallback์ ์ฌ์ฉํฉ๋๋ค. ์ค์ํ ๊ฐ์ฒด๋ผ๋ฉด ๋ก์ปฌ client data์ ์๋ฒ์ ํธํ์ฑ์ ํ์ธํ์ญ์์ค.
FPS๊ฐ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋์๊ฐ
Apply๋ฅผ ๋๋ ๋์ง, ํด๋ผ์ด์ธํธ ํด๋์ ์ฐ๊ธฐ ๊ถํ์ด ์๋์ง, ๋ค๋ฅธ ํด๋์ ์ค์ ์ ์์ง ์์๋์ง ํ์ธํ์ญ์์ค. FPS๋ ์ค์น ์ ์ฒด ์ค์ ์ด๋ฉฐ ์บ๋ฆญํฐ๋ฅผ ๋ฐ๊ฟ๋ ๋ฌ๋ผ์ง์ง ์์์ผ ํฉ๋๋ค.
Auto Open Doors๊ฐ ์๋ํ์ง ์์
์ต์ ์ด ์ ์ฉ๋์๊ณ ๋ฌธ์ด ๋์ ๊ฑฐ๋ฆฌ ์์ ์์ผ๋ฉฐ ์๋ฒ๊ฐ ์ฌ์ฉ์ ํ์ฉํ๋์ง ํ์ธํฉ๋๋ค. ํด๋ผ์ด์ธํธ๋ ์ด๋ ์ ์ ๊ตฌ์ฒด์ ์ธ door serial์ ์ฌ์ฉํ๊ณ ๊ฐ์ ๋ฌธ์ ๋ํ ์งง์ ์๊ฐ ๋ด ๋ฐ๋ณต ๋์์ ์ ํํฉ๋๋ค.
์ง์ ์์ฒญ์ ํฌํจํ ์ ๋ณด
client๋๋client-without-yoko์ค ๋ฌด์์ ์ฌ์ฉํ๋์ง;- ์ ํํ ์ฌํ ๋จ๊ณ;
- Output/Logs์ ๊ด๋ จ ์ค๋ฅ ๋ถ๋ถ;
- ๊ณ์ , ๋น๋ฐ๋ฒํธ ๋ฐ ๋น๊ณต๊ฐ ์๋ฒ ์ ๋ณด๋ฅผ ์ ๊ฑฐํ ์ต์ ์คํฌ๋ฆฝํธ;
- ํญ์ ๋ฐ์ํ๋์ง, ํน์ shard/๋ฐ์ดํฐ์์๋ง ๋ฐ์ํ๋์ง.
ํ์:
- ์๋ด์
- ์ค์น
- Bad Newbie
- Basic Runtime ๋ฐ IDE
- AutoLoad ๋ฐ ๋งคํฌ๋ก
- API ๋งค๋ด์ผ
- ์ ์ฒด Runtime API
- ๋น๋ ๋ฐ ํ ์คํธ
- ๋ฌธ์ ํด๊ฒฐ
- ์ธ์ด
Age of Power: