KO Runtime API 04 Gumps and Menus - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki

ะฃะบั€ะฐั—ะฝััŒะบะฐ ยท ะ ัƒััะบะธะน ยท English ยท Deutsch ยท Franรงais ยท Italiano ยท Espaรฑol ยท ็น้ซ”ไธญๆ–‡ ยท ๆ—ฅๆœฌ่ชž ยท ํ•œ๊ตญ์–ด

๋Ÿฐํƒ€์ž„ API - ๊ฒ€ํ”„ ๋ฐ ๋ฉ”๋‰ด

ํ™ˆ ยท C# ยท IDE ยท UO API ยท Aโ€“Z ยท ์˜ˆ ยท ์–ธ์–ด

๊ฐ ํŒ€์€ C# ์„œ๋ช…, ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ๋ช‡ ๊ฐ€์ง€ ๋…๋ฆฝ์ ์ธ ์˜ˆ์‹œ๊ฐ€ ํฌํ•จ๋œ ์นด๋“œ๋ฅผ ์—ฝ๋‹ˆ๋‹ค.

UO.AutoMenu

๋ฉ”๋‰ด ๋ฐ ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด

์˜๊ตฌ ๋ฉ”๋‰ด ํ›„ํฌ ๋“ฑ๋ก: ์ ์ ˆํ•œ ์บก์…˜์ด ์žˆ๋Š” ์„œ๋ฒ„ ๋ฉ”๋‰ด๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ์ ์ ˆํ•œ ํ•ญ๋ชฉ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ถœ์€ ๋ฉ”๋‰ด๋ฅผ ์—ด์ง€ ์•Š์œผ๋ฉฐ ๋™๊ธฐ์ ์œผ๋กœ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

UO.CancelAllMenuHooks

๋ฉ”๋‰ด ๋ฐ ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด

์ด์ „ ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„ ๋ฉ”๋‰ด์—์„œ ๋“ฑ๋ก๋œ ๋ชจ๋“  ์ž๋™ ํ›„ํฌ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

UO.CancelGump

Gump ์ฐฝ

ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ ๋ฆฌ์กธ๋ฒ„ CloseSimpleGump๋ฅผ ํ†ตํ•ด ์„ ํƒํ•œ ์„œ๋ฒ„ Gump๋ฅผ ๋‹ซ์Šต๋‹ˆ๋‹ค.

UO.CancelMenu

๋ฉ”๋‰ด ๋ฐ ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด

์ด์ „ ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„ ๋ฉ”๋‰ด์—์„œ ๋“ฑ๋ก๋œ ๋ชจ๋“  ์ž๋™ ํ›„ํฌ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

UO.CloseClientGump

Gump ์ฐฝ

ServerSerial๊ฐ€ ์ „๋‹ฌ๋œ ID์™€ ์ผ์น˜ํ•˜๋Š” ๋กœ์ปฌ ์„œ๋ฒ„ ๊ฒ€ํ”„๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

UO.CloseMenu

๋ฉ”๋‰ด ๋ฐ ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด

CancelForYoko๋ฅผ ํ†ตํ•ด ํ™œ์„ฑํ™”๋œ ๋ชจ๋“  ์ด์ „ ์„œ๋ฒ„ ๋ฉ”๋‰ด๋ฅผ ์ทจ์†Œํ•ฉ๋‹ˆ๋‹ค.

UO.CloseSimpleGump

Client UI

์—„๊ฒฉํ•œ ์ธ๋ฑ์Šค์— ์˜ํ•ด ๋‹ซํž ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„ ๊ฒ€ํ”„๋ฅผ ๋กœ์ปฌ์—์„œ ๋‹ซ์Šต๋‹ˆ๋‹ค.

UO.GetGump

Gump ์ฐฝ

์„ ํƒํ•œ ์„œ๋ฒ„ Gump์˜ ํ•œ ํ•„๋“œ๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค. ์ฐฝ ์„ ํƒ๊ธฐ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

UO.GetGumpButtonsDescription

Gump ์ฐฝ

์ผ๋ฐ˜ ์„œ๋ฒ„ ๊ฒ€ํ”„ ๋ฒ„ํŠผ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

UO.GetGumpCount

Gump ์ฐฝ

์งง์€ ๋ฒ„์ „ GetGumpsCount: ํ™œ์„ฑ ์„œ๋ฒ„ ๊ฒ€ํ”„ ์ˆ˜.

UO.GetGumpFullLines

Gump ์ฐฝ

์ค‘์ฒฉ๋œ ์„œ๋ฒ„ ๊ฒ€ํ”„๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  ์‚ด์•„์žˆ๋Š” ์š”์†Œ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

UO.GetGumpID

Gump ์ฐฝ

์„œ๋ฒ„ ๊ฒ€ํ”„ ์ธ๋ฑ์Šค์—์„œ GumpID ์ฐฝ ์œ ํ˜• ID๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค.

UO.GetGumpInfo

Gump ์ฐฝ

๋‹จ์ผ ์„œ๋ฒ„ Gump์˜ ์‹๋ณ„์ž ๋ฐ ์š”์†Œ์— ๋Œ€ํ•œ ์ผ๊ด€๋œ ์Šค๋ƒ…์ƒท์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

UO.GetGumpsCount

Gump ์ฐฝ

ํ™œ์„ฑ ์„œ๋ฒ„ ๊ฒ€ํ”„ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

UO.GetGumpSerial

Gump ์ฐฝ

์„œ๋ฒ„ ๊ฒ€ํ”„ ์ธ๋ฑ์Šค๋กœ serial ์ธ์Šคํ„ด์Šค/์ฐฝ ์†Œ์œ ์ž๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค.

UO.GetGumpShortLines

Gump ์ฐฝ

์„œ๋ฒ„ Gump์˜ ํ…์ŠคํŠธ ์š”์†Œ ๋ฐ ๋ฒ„ํŠผ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

UO.GetLastMenuItems

๋ฉ”๋‰ด ๋ฐ ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด

์ด๋ฏธ ์—ด๋ ค ์žˆ๋Š” ๊ธฐ์กด ์„œ๋ฒ„ ๋ฉ”๋‰ด์˜ ํ•ญ๋ชฉ์„ ์ฝ์–ด์˜ต๋‹ˆ๋‹ค.

UO.GetMenuItems

๋ฉ”๋‰ด ๋ฐ ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด

์ด๋ฏธ ์—ด๋ ค ์žˆ๋Š” ๊ธฐ์กด ์„œ๋ฒ„ ๋ฉ”๋‰ด์˜ ํ•ญ๋ชฉ์„ ์ฝ์–ด์˜ต๋‹ˆ๋‹ค.

UO.GetMenuItemsEx

๋ฉ”๋‰ด ๋ฐ ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด

์ด๋ฏธ ์—ด๋ ค ์žˆ๋Š” ๊ธฐ์กด ์„œ๋ฒ„ ๋ฉ”๋‰ด์˜ ํ•ญ๋ชฉ์„ ์ฝ์–ด์˜ต๋‹ˆ๋‹ค.

UO.GumpAutoCheckBox

Gump ์ฐฝ

์ฒซ ๋ฒˆ์งธ ์ ํ•ฉํ•œ ์„œ๋ฒ„ ๊ฒ€ํ”„์—์„œ ์š”์†Œ์˜ ๊ฐ’์„ ํ•œ ๋ฒˆ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์š”์†Œ๊ฐ€ ์•„์ง ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

UO.GumpAutoRadiobutton

Gump ์ฐฝ

์ฒซ ๋ฒˆ์งธ ์ ํ•ฉํ•œ ์„œ๋ฒ„ ๊ฒ€ํ”„์—์„œ ์š”์†Œ์˜ ๊ฐ’์„ ํ•œ ๋ฒˆ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์š”์†Œ๊ฐ€ ์•„์ง ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

UO.GumpExists

Gump ์ฐฝ

ํ•˜๋‚˜์˜ ์„ ํƒ๊ธฐ ๋˜๋Š” ์ •ํ™•ํ•œ ์Œ serial/GumpID๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„ Gump๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

UO.GumpObject

Gump ์ฐฝ

ํ›„์† ํ˜ธ์ถœ์„ ์œ„ํ•ด ๊ธฐ์กด ์„œ๋ฒ„ Gump๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

UO.InfoGump

์ง„๋‹จ ๋ฐ ์„ฑ์ฐฐ

GumpID, ์ผ๋ จ๋ฒˆํ˜ธ, ์œ„์น˜, ํฌ๊ธฐ, ํŽ˜์ด์ง€, ๋ฒ„ํŠผ ๋ฐ ButtonID, ํ…์ŠคํŠธ, ์ž…๋ ฅ ํ•„๋“œ ๋ฐ ๋ผ๋””์˜ค ๋ฒ„ํŠผ ๋“ฑ ์„œ๋ฒ„ ์ฐฝ์˜ ์„ธ๋ถ€ ๊ฒ€์‚ฌ๊ธฐ๋ฅผ ์—ฝ๋‹ˆ๋‹ค. ์ธ์ˆ˜๊ฐ€ ์—†์œผ๋ฉด ์ด์ „์— ์„ ํƒํ–ˆ๊ฑฐ๋‚˜ ๋งˆ์ง€๋ง‰ ํ™œ์„ฑ ์„œ๋ฒ„ ๊ฒ€ํ”„๊ฐ€ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. ์ธ์ˆ˜๋Š” GumpID/serial๋กœ ํ™•์ธ๋œ ๋‹ค์Œ ๋ชฉ๋ก ์ธ๋ฑ์Šค๋กœ ํ™•์ธ๋ฉ๋‹ˆ๋‹ค. -1๋งŒ ์„ ํƒ/๋งˆ์ง€๋ง‰ ์ฐฝ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ถ€์ •์ ์ธ int๋Š” 32๋น„ํŠธ ID(์˜ˆ: 0x87654321)์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. SendGumpSelect(buttonId)์— ๋Œ€ํ•ด ๊ฒ€์‚ฌํ•œ ์ฐฝ์ด ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. ์ ํ•ฉํ•œ ์ฐฝ์ด ์—†์œผ๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ์ด๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์€ ์•„๋ฌด๊ฒƒ๋„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

UO.InfoGumps

์ง„๋‹จ ๋ฐ ์„ฑ์ฐฐ

์ธ์ˆ˜ ์—†์ด ํ™œ์„ฑ ์„œ๋ฒ„ ์ฐฝ, ํ•ด๋‹น ์ƒ‰์ธ, GumpID, serial ๋ฐ ํฌ๊ธฐ ๋ชฉ๋ก์„ ์—ฝ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ๋‚ด๋ถ€ ์ฐฝ์€ ์ด ๋ชฉ๋ก์— ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. InfoGumps(gump) ํ˜•์‹์€ InfoGump(gump)์™€ ๊ฐ™์ด ์ง€์ •๋œ ์ฐฝ์˜ ์„ธ๋ถ€ ๊ฒ€์‚ฌ๊ธฐ๋ฅผ ์—ฝ๋‹ˆ๋‹ค. ๋ชฉ๋ก์—๋Š” ๊ฐœ๋ด‰ ๋‹น์‹œ์˜ ์ƒํƒœ๊ฐ€ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

UO.IsGump

Gump ์ฐฝ

ํ™œ์„ฑ ์„œ๋ฒ„ ๊ฒ€ํ”„๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

UO.IsGumpCanBeClosed

Gump ์ฐฝ

์„œ๋ฒ„ ๊ฒ€ํ”„์˜ ๋กœ์ปฌ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ ํด๋ฆญ ๋‹ซ๊ธฐ๊ฐ€ ํ—ˆ์šฉ๋˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

UO.LastGump

Gump ์ฐฝ

์„ ํƒํ•œ ์„œ๋ฒ„ Gump์˜ ํ•œ ํ•„๋“œ๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ์— ์˜ํ•ด ์„ ํƒ๋œ ์ฐฝ์ด๋‚˜ ํ˜„์žฌ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

UO.MenuHookPresent

๋ฉ”๋‰ด ๋ฐ ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด

๋“ฑ๋ก๋œ ๋ฉ”๋‰ด ํ›„ํฌ์˜ ์กด์žฌ๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค.

UO.MenuPresent

๋ฉ”๋‰ด ๋ฐ ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด

MenuPresent๊ฐ€ WaitingMenu์—๊ฒŒ ์ง์ ‘ ์ „ํ™”๋ฅผ ๊ฒ๋‹ˆ๋‹ค.

UO.NumGumpButton

Gump ์ฐฝ

์—„๊ฒฉํ•œ ์ฐฝ ์ธ๋ฑ์Šค์™€ ์ •ํ™•ํ•œ ButtonID๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ธฐ์กด ์„œ๋ฒ„ ๊ฒ€ํ”„ ๋ฒ„ํŠผ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

UO.NumGumpCheckBox

Gump ์ฐฝ

์„œ๋ฒ„ ๊ฒ€ํ”„์˜ ํ”Œ๋ž˜๊ทธ ์ƒํƒœ๋ฅผ ์ธ๋ฑ์Šค๋ณ„๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

UO.NumGumpRadiobutton

Gump ์ฐฝ

์ธ๋ฑ์Šค๋ณ„๋กœ ์„œ๋ฒ„ ๊ฒ€ํ”„์˜ ๋ผ๋””์˜ค ๋ฒ„ํŠผ ์ƒํƒœ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

UO.ReqVirtuesGump

ํ€˜์ŠคํŠธ์™€ ๋ฏธ๋•

์บ๋ฆญํ„ฐ์˜ ๋ฏธ๋• ์ฐฝ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

UO.SelectGump

Gump ์ฐฝ

ํ›„์† ํ˜ธ์ถœ์„ ์œ„ํ•ด ๊ธฐ์กด ์„œ๋ฒ„ Gump๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

UO.SendGumpSelect

Gump ์ฐฝ

์„ ํƒํ•œ ์„œ๋ฒ„ Gump์˜ ButtonID๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

UO.SetGump

Gump ์ฐฝ

๊ธฐ์กด ์„œ๋ฒ„ ๊ฒ€ํ”„์˜ ํ•„๋“œ๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

UO.WaitGump

Gump ์ฐฝ

๋ฒ„ํŠผ์— ๋Œ€ํ•œ ์ผ๋ จ์˜ ์ผํšŒ์„ฑ ์‘๋‹ต์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋Š” ์ฆ‰์‹œ ๊ณ„์† ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ฐฝ์ด ์—†์–ด๋„ 30์ดˆ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

UO.WaitGumpCheck

Gump ์ฐฝ

ํ˜„์žฌ ๊ฒ€ํ”„์˜ ์ฒดํฌ๋ฐ•์Šค ํ•„๋“œ๋ฅผ ์ตœ๋Œ€ 3๊ฐœ๊นŒ์ง€ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

UO.WaitGumpEntry

Gump ์ฐฝ

ํ˜„์žฌ ๊ฒ€ํ”„์˜ ํ…์ŠคํŠธ ์ž…๋ ฅ ํ•„๋“œ๋ฅผ ์ตœ๋Œ€ 3๊ฐœ๊นŒ์ง€ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

UO.WaitingForMenu

๋ฉ”๋‰ด ๋ฐ ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด

ํ•„์š”ํ•œ ์„œ๋ฒ„ ๋ฉ”๋‰ด ํ‘œ์‹œ ํšŸ์ˆ˜๋Š” ์ œํ•œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

UO.WaitingMenu

๋ฉ”๋‰ด ๋ฐ ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด

_world.ServerMenus.Snapshot().Length != 0์„ ์ฝ์Šต๋‹ˆ๋‹ค.

UO.WaitMenu

๋ฉ”๋‰ด ๋ฐ ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด

์ผํšŒ์„ฑ ๋ฉ”๋‰ด ํ›„ํฌ๋ฅผ ์ตœ๋Œ€ 3๊ฐœ๊นŒ์ง€ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.