API UO GetScriptName ko - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

UO.GetScriptName

ClassicUO โ€ข Runtime API

ํ™œ์„ฑ ์‹คํ–‰์˜ ํ‘œ์‹œ ์ด๋ฆ„์„ ์ฝ์Šต๋‹ˆ๋‹ค.

์ •ํ™•ํ•œ ๊ตฌ๋ฌธ

UO.GetScriptName(ScriptIndex:Any) -> String

๋งค๊ฐœ๋ณ€์ˆ˜

  • ScriptIndex โ€” ํ•„์ˆ˜ ScriptIndex๋Š” ์ตœ์‹  GetScriptsList์—์„œ ์–ป๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ •์ˆ˜ ์ธ๋ฑ์Šค์ž…๋‹ˆ๋‹ค. ์Œ์ˆ˜์ด๊ฑฐ๋‚˜ ์—†๋Š” ์ธ๋ฑ์Šค๋Š” ๋ช…์‹œ๋œ ๋นˆ ๊ฐ’/์•Œ ์ˆ˜ ์—†์Œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์•„์ดํ…œ serial, ํ”„๋กœ์‹œ์ € ์ด๋ฆ„ ๋˜๋Š” IDE ์‹คํ–‰ ID๋ฅผ ์ „๋‹ฌํ•˜์ง€ ๋งˆ์„ธ์š”.

๋ฐ˜ํ™˜๊ฐ’

String: ํ‘œ์‹œ ์ด๋ฆ„์ด๋ฉฐ, ์ธ๋ฑ์Šค๊ฐ€ ์—†์œผ๋ฉด ""์ž…๋‹ˆ๋‹ค. ์กด์žฌํ•˜๋Š” ์‹คํ–‰๋„ ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋™์ž‘

  • ์‹คํ–‰ ์ค‘ ๋ฐ ์ผ์‹œ ์ •์ง€๋œ ์‹คํ–‰์„ ํฌํ•จํ•˜๋ฉฐ, ๋๋‚ฌ๊ฑฐ๋‚˜ ์ทจ์†Œ๊ฐ€ ์š”์ฒญ๋œ ์‹คํ–‰์€ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ถœ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ณดํ†ต ์ž์‹ ๋„ ์…‰๋‹ˆ๋‹ค. ๋กœ๋“œ๋งŒ ํ•œ IDE ํƒญ์€ ์‹คํ–‰์ด ์•„๋‹™๋‹ˆ๋‹ค.
  • ์ธ๋ฑ์Šค๋Š” ์‹œ์ž‘ ์ˆœ์„œ์— ๋”ฐ๋ฅธ ํ˜„์žฌ ์œ„์น˜์ž…๋‹ˆ๋‹ค. ์‹œ์ž‘/์ค‘์ง€๋กœ ์œ„์น˜๊ฐ€ ๋ฐ”๋€” ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ„๋„ ํ˜ธ์ถœ์€ ํ•˜๋‚˜์˜ ์›์ž์  ์Šค๋ƒ…์ƒท์ด ์•„๋‹ˆ๋ฏ€๋กœ ๋‚˜์ค‘์— ์ œ์–ดํ•˜๊ธฐ ์ „์— ๋ชฉ๋ก์„ ๋‹ค์‹œ ์ฝ์œผ์„ธ์š”.
  • Basic IDE๋ฅผ ๋‹ซ์•„๋„ ํ™œ์„ฑ ์‹คํ–‰์€ ์‚ฌ๋ผ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ช…๋ น๋“ค์€ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ๋‚˜ Windows ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•„๋‹Œ ์ด ํด๋ผ์ด์–ธํŠธ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.
  • GetScriptsList๋Š” ์ธ๋ฑ์Šค, GetScriptsCount๋Š” ๊ฐœ์ˆ˜, GetScriptState๋Š” ์„ธ ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋กœ ๋ฐ”๊พธ์–ด ์“ฐ๊ฑฐ๋‚˜ ๋ชจ๋“  0์ด ์•„๋‹Œ ๊ฐ’์„ true๋กœ ํ•ด์„ํ•˜์ง€ ๋งˆ์„ธ์š”.
  • ScriptIndex=0์€ ํ˜„์žฌ ์ฒซ ์‹คํ–‰์ด๋ฉฐ ๋ฐ˜๋“œ์‹œ ํ˜ธ์ถœ์ž๋ผ๋Š” ๋œป์€ ์•„๋‹™๋‹ˆ๋‹ค. SetScriptName์€ ํ‘œ์‹œ ์ด๋ฆ„๋งŒ ๋ฐ”๊พธ๊ณ  ํŒŒ์ผ ์ด๋ฆ„์€ ๋ฐ”๊พธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚ด๋ถ€ ํ•จ์ˆ˜: ํ˜ธ์ถœ๋ถ€ํ„ฐ ๊ฒฐ๊ณผ๊นŒ์ง€

์•„๋ž˜๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์‹ค์ œ ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. Basic ์˜ˆ์ œ์—๋Š” ์™„์ „ํ•œ ๋ณด์กฐ ํ•จ์ˆ˜๊ฐ€ ์žˆ์œผ๋ฉฐ ๋‚ด๋ถ€ C# ๋ฉ”์„œ๋“œ ์ด๋ฆ„์€ ์ถ”๊ฐ€ ์Šคํฌ๋ฆฝํŠธ ๋ช…๋ น์ด ์•„๋‹™๋‹ˆ๋‹ค.

1. ExecuteStealthCompatibility

Runtime์€ ๋“ฑ๋ก๋œ UO ํ˜ธ์ถœ์„ ์‹คํ–‰ํ•˜๊ณ  ๋ธŒ๋ฆฌ์ง€ ๊ฒฐ๊ณผ๋ฅผ Integer, String ๋˜๋Š” Array๋กœ ๊ฐ์Œ‰๋‹ˆ๋‹ค.

String: ํ‘œ์‹œ ์ด๋ฆ„์ด๋ฉฐ, ์ธ๋ฑ์Šค๊ฐ€ ์—†์œผ๋ฉด ""์ž…๋‹ˆ๋‹ค. ์กด์žฌํ•˜๋Š” ์‹คํ–‰๋„ ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์†Œ์Šค: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; ํ•จ์ˆ˜ ExecuteStealthCompatibility.

2. GetScriptName

๋ธŒ๋ฆฌ์ง€๋Š” ์ด ํด๋ผ์ด์–ธํŠธ์˜ ์‹คํ–‰ ๊ด€๋ฆฌ์ž์— ์œ„์ž„ํ•ฉ๋‹ˆ๋‹ค.

ScriptIndex=0์€ ํ˜„์žฌ ์ฒซ ์‹คํ–‰์ด๋ฉฐ ๋ฐ˜๋“œ์‹œ ํ˜ธ์ถœ์ž๋ผ๋Š” ๋œป์€ ์•„๋‹™๋‹ˆ๋‹ค. SetScriptName์€ ํ‘œ์‹œ ์ด๋ฆ„๋งŒ ๋ฐ”๊พธ๊ณ  ํŒŒ์ผ ์ด๋ฆ„์€ ๋ฐ”๊พธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์†Œ์Šค: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; ํ•จ์ˆ˜ GetScriptName.

3. GetScriptName

ElementAt(RunningScripts(), index)?.Name ?? string.Empty

์ธ๋ฑ์Šค๋Š” ์‹œ์ž‘ ์ˆœ์„œ์— ๋”ฐ๋ฅธ ํ˜„์žฌ ์œ„์น˜์ž…๋‹ˆ๋‹ค. ์‹œ์ž‘/์ค‘์ง€๋กœ ์œ„์น˜๊ฐ€ ๋ฐ”๋€” ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ„๋„ ํ˜ธ์ถœ์€ ํ•˜๋‚˜์˜ ์›์ž์  ์Šค๋ƒ…์ƒท์ด ์•„๋‹ˆ๋ฏ€๋กœ ๋‚˜์ค‘์— ์ œ์–ดํ•˜๊ธฐ ์ „์— ๋ชฉ๋ก์„ ๋‹ค์‹œ ์ฝ์œผ์„ธ์š”.

ํ”„๋กœ์ ํŠธ ์†Œ์Šค: src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs; ํ•จ์ˆ˜ GetScriptName.

Basic IDE๋ฅผ ๋‹ซ์•„๋„ ํ™œ์„ฑ ์‹คํ–‰์€ ์‚ฌ๋ผ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ช…๋ น๋“ค์€ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ๋‚˜ Windows ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•„๋‹Œ ์ด ํด๋ผ์ด์–ธํŠธ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ

์ฒซ ํ˜ธ์ถœ๊ณผ ๊ฒฐ๊ณผ

# ์ฒซ ํ˜ธ์ถœ๊ณผ ๊ฒฐ๊ณผ
#
# ํ™œ์„ฑ ์‹คํ–‰์˜ ํ‘œ์‹œ ์ด๋ฆ„์„ ์ฝ์Šต๋‹ˆ๋‹ค.
#
# String: ํ‘œ์‹œ ์ด๋ฆ„์ด๋ฉฐ, ์ธ๋ฑ์Šค๊ฐ€ ์—†์œผ๋ฉด ""์ž…๋‹ˆ๋‹ค. ์กด์žฌํ•˜๋Š” ์‹คํ–‰๋„ ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SUB Main()
    # Sub Main์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ „๋‹ฌํ•œ 0์€ ์ธ๋ฑ์Šค์ด๋ฉฐ ๋นˆ ๊ด„ํ˜ธ๋Š” ์ธ์ˆ˜๊ฐ€ ์—†๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. Print ๋ฌธ์ž์—ด์€ ์˜ˆ์ œ ๋ฉ”์‹œ์ง€์ผ ๋ฟ์ž…๋‹ˆ๋‹ค.
    # ScriptIndex=0์€ ํ˜„์žฌ ์ฒซ ์‹คํ–‰์ด๋ฉฐ ๋ฐ˜๋“œ์‹œ ํ˜ธ์ถœ์ž๋ผ๋Š” ๋œป์€ ์•„๋‹™๋‹ˆ๋‹ค. SetScriptName์€ ํ‘œ์‹œ ์ด๋ฆ„๋งŒ ๋ฐ”๊พธ๊ณ  ํŒŒ์ผ ์ด๋ฆ„์€ ๋ฐ”๊พธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    # String: ํ‘œ์‹œ ์ด๋ฆ„์ด๋ฉฐ, ์ธ๋ฑ์Šค๊ฐ€ ์—†์œผ๋ฉด ""์ž…๋‹ˆ๋‹ค. ์กด์žฌํ•˜๋Š” ์‹คํ–‰๋„ ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    # ํ•„์ˆ˜ ScriptIndex๋Š” ์ตœ์‹  GetScriptsList์—์„œ ์–ป๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ •์ˆ˜ ์ธ๋ฑ์Šค์ž…๋‹ˆ๋‹ค. ์Œ์ˆ˜์ด๊ฑฐ๋‚˜ ์—†๋Š” ์ธ๋ฑ์Šค๋Š” ๋ช…์‹œ๋œ ๋นˆ ๊ฐ’/์•Œ ์ˆ˜ ์—†์Œ ๊ฒฐ๊ณผ๋ฅผ
    # ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์•„์ดํ…œ serial, ํ”„๋กœ์‹œ์ € ์ด๋ฆ„ ๋˜๋Š” IDE ์‹คํ–‰ ID๋ฅผ ์ „๋‹ฌํ•˜์ง€ ๋งˆ์„ธ์š”.

    Dim index=0
    Dim name=UO.GetScriptName(index)
    UO.Print(name)
END SUB

๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ์‹คํ–‰ ์„ค๋ช…:

  • Sub Main์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ „๋‹ฌํ•œ 0์€ ์ธ๋ฑ์Šค์ด๋ฉฐ ๋นˆ ๊ด„ํ˜ธ๋Š” ์ธ์ˆ˜๊ฐ€ ์—†๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. Print ๋ฌธ์ž์—ด์€ ์˜ˆ์ œ ๋ฉ”์‹œ์ง€์ผ ๋ฟ์ž…๋‹ˆ๋‹ค.
  • ScriptIndex=0์€ ํ˜„์žฌ ์ฒซ ์‹คํ–‰์ด๋ฉฐ ๋ฐ˜๋“œ์‹œ ํ˜ธ์ถœ์ž๋ผ๋Š” ๋œป์€ ์•„๋‹™๋‹ˆ๋‹ค. SetScriptName์€ ํ‘œ์‹œ ์ด๋ฆ„๋งŒ ๋ฐ”๊พธ๊ณ  ํŒŒ์ผ ์ด๋ฆ„์€ ๋ฐ”๊พธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • String: ํ‘œ์‹œ ์ด๋ฆ„์ด๋ฉฐ, ์ธ๋ฑ์Šค๊ฐ€ ์—†์œผ๋ฉด ""์ž…๋‹ˆ๋‹ค. ์กด์žฌํ•˜๋Š” ์‹คํ–‰๋„ ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•„์ˆ˜ ScriptIndex๋Š” ์ตœ์‹  GetScriptsList์—์„œ ์–ป๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ •์ˆ˜ ์ธ๋ฑ์Šค์ž…๋‹ˆ๋‹ค. ์Œ์ˆ˜์ด๊ฑฐ๋‚˜ ์—†๋Š” ์ธ๋ฑ์Šค๋Š” ๋ช…์‹œ๋œ ๋นˆ ๊ฐ’/์•Œ ์ˆ˜ ์—†์Œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์•„์ดํ…œ serial, ํ”„๋กœ์‹œ์ € ์ด๋ฆ„ ๋˜๋Š” IDE ์‹คํ–‰ ID๋ฅผ ์ „๋‹ฌํ•˜์ง€ ๋งˆ์„ธ์š”.

๋ฐ˜๋ณต๋ฌธ ๋˜๋Š” ์กฐ๊ฑด์—์„œ ์‚ฌ์šฉ

# ๋ฐ˜๋ณต๋ฌธ ๋˜๋Š” ์กฐ๊ฑด์—์„œ ์‚ฌ์šฉ
#
# ํ™œ์„ฑ ์‹คํ–‰์˜ ํ‘œ์‹œ ์ด๋ฆ„์„ ์ฝ์Šต๋‹ˆ๋‹ค.
#
# String: ํ‘œ์‹œ ์ด๋ฆ„์ด๋ฉฐ, ์ธ๋ฑ์Šค๊ฐ€ ์—†์œผ๋ฉด ""์ž…๋‹ˆ๋‹ค. ์กด์žฌํ•˜๋Š” ์‹คํ–‰๋„ ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SUB Main()
    # ์—ฌ๋Ÿฌ ๋ช…๋ น์„ ์กฐํ•ฉํ•œ ๋…๋ฆฝ์ ์ธ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. ๋ฐฐ์—ด ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ ์ ‘๊ทผ ์ „์— ๊ธธ์ด๋ฅผ ํ™•์ธํ•˜์„ธ์š”. Wait(250)์ด ์žˆ์œผ๋ฉด 250๋ฐ€๋ฆฌ์ดˆ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.
    # ScriptIndex=0์€ ํ˜„์žฌ ์ฒซ ์‹คํ–‰์ด๋ฉฐ ๋ฐ˜๋“œ์‹œ ํ˜ธ์ถœ์ž๋ผ๋Š” ๋œป์€ ์•„๋‹™๋‹ˆ๋‹ค. SetScriptName์€ ํ‘œ์‹œ ์ด๋ฆ„๋งŒ ๋ฐ”๊พธ๊ณ  ํŒŒ์ผ ์ด๋ฆ„์€ ๋ฐ”๊พธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    # String: ํ‘œ์‹œ ์ด๋ฆ„์ด๋ฉฐ, ์ธ๋ฑ์Šค๊ฐ€ ์—†์œผ๋ฉด ""์ž…๋‹ˆ๋‹ค. ์กด์žฌํ•˜๋Š” ์‹คํ–‰๋„ ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    # ํ•„์ˆ˜ ScriptIndex๋Š” ์ตœ์‹  GetScriptsList์—์„œ ์–ป๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ •์ˆ˜ ์ธ๋ฑ์Šค์ž…๋‹ˆ๋‹ค. ์Œ์ˆ˜์ด๊ฑฐ๋‚˜ ์—†๋Š” ์ธ๋ฑ์Šค๋Š” ๋ช…์‹œ๋œ ๋นˆ ๊ฐ’/์•Œ ์ˆ˜ ์—†์Œ ๊ฒฐ๊ณผ๋ฅผ
    # ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์•„์ดํ…œ serial, ํ”„๋กœ์‹œ์ € ์ด๋ฆ„ ๋˜๋Š” IDE ์‹คํ–‰ ID๋ฅผ ์ „๋‹ฌํ•˜์ง€ ๋งˆ์„ธ์š”.

    Dim indices=UO.GetScriptsList()
    For Each index In indices
        Dim name=UO.GetScriptName(index)
        UO.Print(CStr(index) & " = " & name)
    Next
END SUB

๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ์‹คํ–‰ ์„ค๋ช…:

  • ์—ฌ๋Ÿฌ ๋ช…๋ น์„ ์กฐํ•ฉํ•œ ๋…๋ฆฝ์ ์ธ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. ๋ฐฐ์—ด ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ ์ ‘๊ทผ ์ „์— ๊ธธ์ด๋ฅผ ํ™•์ธํ•˜์„ธ์š”. Wait(250)์ด ์žˆ์œผ๋ฉด 250๋ฐ€๋ฆฌ์ดˆ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.
  • ScriptIndex=0์€ ํ˜„์žฌ ์ฒซ ์‹คํ–‰์ด๋ฉฐ ๋ฐ˜๋“œ์‹œ ํ˜ธ์ถœ์ž๋ผ๋Š” ๋œป์€ ์•„๋‹™๋‹ˆ๋‹ค. SetScriptName์€ ํ‘œ์‹œ ์ด๋ฆ„๋งŒ ๋ฐ”๊พธ๊ณ  ํŒŒ์ผ ์ด๋ฆ„์€ ๋ฐ”๊พธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • String: ํ‘œ์‹œ ์ด๋ฆ„์ด๋ฉฐ, ์ธ๋ฑ์Šค๊ฐ€ ์—†์œผ๋ฉด ""์ž…๋‹ˆ๋‹ค. ์กด์žฌํ•˜๋Š” ์‹คํ–‰๋„ ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•„์ˆ˜ ScriptIndex๋Š” ์ตœ์‹  GetScriptsList์—์„œ ์–ป๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ •์ˆ˜ ์ธ๋ฑ์Šค์ž…๋‹ˆ๋‹ค. ์Œ์ˆ˜์ด๊ฑฐ๋‚˜ ์—†๋Š” ์ธ๋ฑ์Šค๋Š” ๋ช…์‹œ๋œ ๋นˆ ๊ฐ’/์•Œ ์ˆ˜ ์—†์Œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์•„์ดํ…œ serial, ํ”„๋กœ์‹œ์ € ์ด๋ฆ„ ๋˜๋Š” IDE ์‹คํ–‰ ID๋ฅผ ์ „๋‹ฌํ•˜์ง€ ๋งˆ์„ธ์š”.

์™„์ „ํ•œ ๋ณด์กฐ ํ•จ์ˆ˜

# ์™„์ „ํ•œ ๋ณด์กฐ ํ•จ์ˆ˜
#
# ํ™œ์„ฑ ์‹คํ–‰์˜ ํ‘œ์‹œ ์ด๋ฆ„์„ ์ฝ์Šต๋‹ˆ๋‹ค.
#
# String: ํ‘œ์‹œ ์ด๋ฆ„์ด๋ฉฐ, ์ธ๋ฑ์Šค๊ฐ€ ์—†์œผ๋ฉด ""์ž…๋‹ˆ๋‹ค. ์กด์žฌํ•˜๋Š” ์‹คํ–‰๋„ ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SUB Main()
    # Main ์•„๋ž˜์— ํ•จ์ˆ˜ ์ „์ฒด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜์˜ ์ธ์ˆ˜์™€ ๋ฐ˜ํ™˜๊ฐ’์€ ๋‚ด๋ถ€์—์„œ ์“ฐ๋Š” API ๋ช…๋ น๊ณผ ๊ตฌ๋ถ„ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
    # DescribeScript๋Š” ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ด๋ฆ„๊ณผ ๊ฒฝ๋กœ๋ฅผ ํ•ฉ์นฉ๋‹ˆ๋‹ค. ํ˜ธ์ถœ ์‚ฌ์ด์— ์ค‘์ง€๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ "missing"์€ ๋ณด์กฐ ํ•จ์ˆ˜์˜ ๊ฐ’์ด์ง€ GetScriptName์˜
    # ๋ฐ˜ํ™˜๊ฐ’์ด ์•„๋‹™๋‹ˆ๋‹ค.
    # String: ํ‘œ์‹œ ์ด๋ฆ„์ด๋ฉฐ, ์ธ๋ฑ์Šค๊ฐ€ ์—†์œผ๋ฉด ""์ž…๋‹ˆ๋‹ค. ์กด์žฌํ•˜๋Š” ์‹คํ–‰๋„ ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    # ํ•„์ˆ˜ ScriptIndex๋Š” ์ตœ์‹  GetScriptsList์—์„œ ์–ป๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ •์ˆ˜ ์ธ๋ฑ์Šค์ž…๋‹ˆ๋‹ค. ์Œ์ˆ˜์ด๊ฑฐ๋‚˜ ์—†๋Š” ์ธ๋ฑ์Šค๋Š” ๋ช…์‹œ๋œ ๋นˆ ๊ฐ’/์•Œ ์ˆ˜ ์—†์Œ ๊ฒฐ๊ณผ๋ฅผ
    # ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์•„์ดํ…œ serial, ํ”„๋กœ์‹œ์ € ์ด๋ฆ„ ๋˜๋Š” IDE ์‹คํ–‰ ID๋ฅผ ์ „๋‹ฌํ•˜์ง€ ๋งˆ์„ธ์š”.

    UO.Print(DescribeScript(0))
END SUB

Function DescribeScript(index) As String
    If UO.GetScriptState(index)=0 Then
        Return "missing"
    End If
    Return UO.GetScriptName(index) & " | " & UO.GetScriptPath(index)
End Function

๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ์‹คํ–‰ ์„ค๋ช…:

  • Main ์•„๋ž˜์— ํ•จ์ˆ˜ ์ „์ฒด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜์˜ ์ธ์ˆ˜์™€ ๋ฐ˜ํ™˜๊ฐ’์€ ๋‚ด๋ถ€์—์„œ ์“ฐ๋Š” API ๋ช…๋ น๊ณผ ๊ตฌ๋ถ„ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
  • DescribeScript๋Š” ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ด๋ฆ„๊ณผ ๊ฒฝ๋กœ๋ฅผ ํ•ฉ์นฉ๋‹ˆ๋‹ค. ํ˜ธ์ถœ ์‚ฌ์ด์— ์ค‘์ง€๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ "missing"์€ ๋ณด์กฐ ํ•จ์ˆ˜์˜ ๊ฐ’์ด์ง€ GetScriptName์˜ ๋ฐ˜ํ™˜๊ฐ’์ด ์•„๋‹™๋‹ˆ๋‹ค.
  • String: ํ‘œ์‹œ ์ด๋ฆ„์ด๋ฉฐ, ์ธ๋ฑ์Šค๊ฐ€ ์—†์œผ๋ฉด ""์ž…๋‹ˆ๋‹ค. ์กด์žฌํ•˜๋Š” ์‹คํ–‰๋„ ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•„์ˆ˜ ScriptIndex๋Š” ์ตœ์‹  GetScriptsList์—์„œ ์–ป๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ •์ˆ˜ ์ธ๋ฑ์Šค์ž…๋‹ˆ๋‹ค. ์Œ์ˆ˜์ด๊ฑฐ๋‚˜ ์—†๋Š” ์ธ๋ฑ์Šค๋Š” ๋ช…์‹œ๋œ ๋นˆ ๊ฐ’/์•Œ ์ˆ˜ ์—†์Œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์•„์ดํ…œ serial, ํ”„๋กœ์‹œ์ € ์ด๋ฆ„ ๋˜๋Š” IDE ์‹คํ–‰ ID๋ฅผ ์ „๋‹ฌํ•˜์ง€ ๋งˆ์„ธ์š”.

en ยท ru ยท uk ยท fr ยท de ยท it ยท es ยท zh-tw ยท ja ยท ko

Basic