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

UO.StartScript

ClassicUO β€’ Runtime API

Basic νŒŒμΌμ„ 읽고 곡개 Sub Main의 μ‹œμž‘μ„ μš”μ²­ν•©λ‹ˆλ‹€.

μ •ν™•ν•œ ꡬ문

UO.StartScript(ScriptPath:Any) -> Integer

λ§€κ°œλ³€μˆ˜

  • ScriptPath β€” ν•„μˆ˜ String ScriptPathμž…λ‹ˆλ‹€. μƒλŒ€ κ²½λ‘œλŠ” 이 ν΄λΌμ΄μ–ΈνŠΈμ˜ AutoLoad ν΄λ”μ—μ„œ μ‹œμž‘ν•˜λ©° μ ˆλŒ€ κ²½λ‘œλ„ ν—ˆμš©ν•©λ‹ˆλ‹€. 곡백이 μžˆλŠ” κ²½λ‘œλŠ” λ”°μ˜΄ν‘œλ‘œ κ°μŒ‰λ‹ˆλ‹€. νŒŒμΌμ—λŠ” μ§€μ›ν•˜λŠ” Basicκ³Ό ν•„μˆ˜ μΈμˆ˜κ°€ μ—†λŠ” 곡개 Sub Main이 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

λ°˜ν™˜κ°’

Integer: μ‹œμž‘ μš”μ²­μ„ μˆ˜λ½ν•œ λ’€μ˜ ν™œμ„± μ‹€ν–‰ μˆ˜μž…λ‹ˆλ‹€. 65535 (0xFFFF)λŠ” μ‹œμž‘ μ‹€νŒ¨μž…λ‹ˆλ‹€. μƒˆ 인덱슀, Boolean λ˜λŠ” μ™„λ£Œ κ²°κ³Όκ°€ μ•„λ‹™λ‹ˆλ‹€.

λ™μž‘

  • μ‹€ν–‰ 쀑 및 μΌμ‹œ μ •μ§€λœ 싀행을 ν¬ν•¨ν•˜λ©°, λλ‚¬κ±°λ‚˜ μ·¨μ†Œκ°€ μš”μ²­λœ 싀행은 μ œμ™Έν•©λ‹ˆλ‹€. 호좜 μŠ€ν¬λ¦½νŠΈλŠ” 보톡 μžμ‹ λ„ μ…‰λ‹ˆλ‹€. λ‘œλ“œλ§Œ ν•œ IDE 탭은 싀행이 μ•„λ‹™λ‹ˆλ‹€.
  • μΈλ±μŠ€λŠ” μ‹œμž‘ μˆœμ„œμ— λ”°λ₯Έ ν˜„μž¬ μœ„μΉ˜μž…λ‹ˆλ‹€. μ‹œμž‘/μ€‘μ§€λ‘œ μœ„μΉ˜κ°€ λ°”λ€” 수 μžˆμŠ΅λ‹ˆλ‹€. 별도 ν˜ΈμΆœμ€ ν•˜λ‚˜μ˜ μ›μžμ  μŠ€λƒ…μƒ·μ΄ μ•„λ‹ˆλ―€λ‘œ λ‚˜μ€‘μ— μ œμ–΄ν•˜κΈ° 전에 λͺ©λ‘μ„ λ‹€μ‹œ μ½μœΌμ„Έμš”.
  • Basic IDEλ₯Ό 닫아도 ν™œμ„± 싀행은 사라지지 μ•ŠμŠ΅λ‹ˆλ‹€. 이 λͺ…령듀은 λ‹€λ₯Έ ν΄λΌμ΄μ–ΈνŠΈλ‚˜ Windows ν”„λ‘œμ„ΈμŠ€κ°€ μ•„λ‹Œ 이 ν΄λΌμ΄μ–ΈνŠΈλ₯Ό μ‘°νšŒν•©λ‹ˆλ‹€.
  • GetScriptsListλŠ” 인덱슀, GetScriptsCountλŠ” 개수, GetScriptStateλŠ” μ„Έ μƒνƒœ μ½”λ“œλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€. μ„œλ‘œ λ°”κΎΈμ–΄ μ“°κ±°λ‚˜ λͺ¨λ“  0이 μ•„λ‹Œ 값을 true둜 ν•΄μ„ν•˜μ§€ λ§ˆμ„Έμš”.
  • 예제 전에 μ§€μ •λœ Worker.bas νŒŒμΌλ“€μ„ λ”°λ‘œ λ§Œλ“œμ„Έμš”. 잘λͺ»λœ/읽을 수 μ—†λŠ” 경둜, λΆ€μ ν•©ν•œ Main, λΉ„ν™œμ„± Basic λ˜λŠ” 병렬 μ‹œμž‘ κ±°λΆ€λŠ” μ‹€νŒ¨ν•©λ‹ˆλ‹€. 이전 싀행이 아직 쀑지 쀑이면 μž¬μ‹œλ„κ°€ 지연될 수 μžˆμŠ΅λ‹ˆλ‹€. μˆ˜λ½μ€ μ™„λ£Œκ°€ μ•„λ‹ˆλ©° 짧은 μŠ€ν¬λ¦½νŠΈλŠ” 개수λ₯Ό 읽기 전에 끝날 수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚΄λΆ€ ν•¨μˆ˜: ν˜ΈμΆœλΆ€ν„° κ²°κ³ΌκΉŒμ§€

μ•„λž˜λŠ” ν΄λΌμ΄μ–ΈνŠΈμ˜ μ‹€μ œ λ©”μ„œλ“œμž…λ‹ˆλ‹€. Basic μ˜ˆμ œμ—λŠ” μ™„μ „ν•œ 보쑰 ν•¨μˆ˜κ°€ 있으며 λ‚΄λΆ€ C# λ©”μ„œλ“œ 이름은 μΆ”κ°€ 슀크립트 λͺ…령이 μ•„λ‹™λ‹ˆλ‹€.

1. ExecuteStealthCompatibility

Runtime은 λ“±λ‘λœ UO ν˜ΈμΆœμ„ μ‹€ν–‰ν•˜κ³  λΈŒλ¦¬μ§€ κ²°κ³Όλ₯Ό Integer, String λ˜λŠ” Array둜 κ°μŒ‰λ‹ˆλ‹€.

Integer: μ‹œμž‘ μš”μ²­μ„ μˆ˜λ½ν•œ λ’€μ˜ ν™œμ„± μ‹€ν–‰ μˆ˜μž…λ‹ˆλ‹€. 65535 (0xFFFF)λŠ” μ‹œμž‘ μ‹€νŒ¨μž…λ‹ˆλ‹€. μƒˆ 인덱슀, Boolean λ˜λŠ” μ™„λ£Œ κ²°κ³Όκ°€ μ•„λ‹™λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈ μ†ŒμŠ€: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; ν•¨μˆ˜ ExecuteStealthCompatibility.

2. StartScript

λΈŒλ¦¬μ§€λŠ” 이 ν΄λΌμ΄μ–ΈνŠΈμ˜ μ‹€ν–‰ κ΄€λ¦¬μžμ— μœ„μž„ν•©λ‹ˆλ‹€.

예제 전에 μ§€μ •λœ Worker.bas νŒŒμΌλ“€μ„ λ”°λ‘œ λ§Œλ“œμ„Έμš”. 잘λͺ»λœ/읽을 수 μ—†λŠ” 경둜, λΆ€μ ν•©ν•œ Main, λΉ„ν™œμ„± Basic λ˜λŠ” 병렬 μ‹œμž‘ κ±°λΆ€λŠ” μ‹€νŒ¨ν•©λ‹ˆλ‹€. 이전 싀행이 아직 쀑지 쀑이면 μž¬μ‹œλ„κ°€ 지연될 수 μžˆμŠ΅λ‹ˆλ‹€. μˆ˜λ½μ€ μ™„λ£Œκ°€ μ•„λ‹ˆλ©° 짧은 μŠ€ν¬λ¦½νŠΈλŠ” 개수λ₯Ό 읽기 전에 끝날 수 μžˆμŠ΅λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈ μ†ŒμŠ€: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; ν•¨μˆ˜ StartScript.

3. StartScript

Path.GetFullPath -> File.ReadAllText -> DiscoverProcedures -> SelectFileEntryPoint -> RunProcedure -> GetScriptsCount

μΈλ±μŠ€λŠ” μ‹œμž‘ μˆœμ„œμ— λ”°λ₯Έ ν˜„μž¬ μœ„μΉ˜μž…λ‹ˆλ‹€. μ‹œμž‘/μ€‘μ§€λ‘œ μœ„μΉ˜κ°€ λ°”λ€” 수 μžˆμŠ΅λ‹ˆλ‹€. 별도 ν˜ΈμΆœμ€ ν•˜λ‚˜μ˜ μ›μžμ  μŠ€λƒ…μƒ·μ΄ μ•„λ‹ˆλ―€λ‘œ λ‚˜μ€‘μ— μ œμ–΄ν•˜κΈ° 전에 λͺ©λ‘μ„ λ‹€μ‹œ μ½μœΌμ„Έμš”.

ν”„λ‘œμ νŠΈ μ†ŒμŠ€: src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs; ν•¨μˆ˜ StartScript.

Basic IDEλ₯Ό 닫아도 ν™œμ„± 싀행은 사라지지 μ•ŠμŠ΅λ‹ˆλ‹€. 이 λͺ…령듀은 λ‹€λ₯Έ ν΄λΌμ΄μ–ΈνŠΈλ‚˜ Windows ν”„λ‘œμ„ΈμŠ€κ°€ μ•„λ‹Œ 이 ν΄λΌμ΄μ–ΈνŠΈλ₯Ό μ‘°νšŒν•©λ‹ˆλ‹€.

예제

첫 호좜과 결과

# 첫 호좜과 결과
#
# Basic νŒŒμΌμ„ 읽고 곡개 Sub Main의 μ‹œμž‘μ„ μš”μ²­ν•©λ‹ˆλ‹€.
#
# Integer: μ‹œμž‘ μš”μ²­μ„ μˆ˜λ½ν•œ λ’€μ˜ ν™œμ„± μ‹€ν–‰ μˆ˜μž…λ‹ˆλ‹€. 65535 (0xFFFF)λŠ” μ‹œμž‘ μ‹€νŒ¨μž…λ‹ˆλ‹€. μƒˆ 인덱슀, Boolean λ˜λŠ” μ™„λ£Œ κ²°κ³Όκ°€ μ•„λ‹™λ‹ˆλ‹€.

SUB Main()
    # Sub Main을 μ‹€ν–‰ν•©λ‹ˆλ‹€. μ „λ‹¬ν•œ 0은 인덱슀이며 빈 κ΄„ν˜ΈλŠ” μΈμˆ˜κ°€ μ—†λ‹€λŠ” λœ»μž…λ‹ˆλ‹€. Print λ¬Έμžμ—΄μ€ 예제 λ©”μ‹œμ§€μΌ λΏμž…λ‹ˆλ‹€.
    # 예제 전에 μ§€μ •λœ Worker.bas νŒŒμΌλ“€μ„ λ”°λ‘œ λ§Œλ“œμ„Έμš”. 잘λͺ»λœ/읽을 수 μ—†λŠ” 경둜, λΆ€μ ν•©ν•œ Main, λΉ„ν™œμ„± Basic λ˜λŠ” 병렬 μ‹œμž‘ κ±°λΆ€λŠ” μ‹€νŒ¨ν•©λ‹ˆλ‹€. 이전
    # 싀행이 아직 쀑지 쀑이면 μž¬μ‹œλ„κ°€ 지연될 수 μžˆμŠ΅λ‹ˆλ‹€. μˆ˜λ½μ€ μ™„λ£Œκ°€ μ•„λ‹ˆλ©° 짧은 μŠ€ν¬λ¦½νŠΈλŠ” 개수λ₯Ό 읽기 전에 끝날 수 μžˆμŠ΅λ‹ˆλ‹€.
    # Integer: μ‹œμž‘ μš”μ²­μ„ μˆ˜λ½ν•œ λ’€μ˜ ν™œμ„± μ‹€ν–‰ μˆ˜μž…λ‹ˆλ‹€. 65535 (0xFFFF)λŠ” μ‹œμž‘ μ‹€νŒ¨μž…λ‹ˆλ‹€. μƒˆ 인덱슀, Boolean λ˜λŠ” μ™„λ£Œ κ²°κ³Όκ°€ μ•„λ‹™λ‹ˆλ‹€.
    # ν•„μˆ˜ String ScriptPathμž…λ‹ˆλ‹€. μƒλŒ€ κ²½λ‘œλŠ” 이 ν΄λΌμ΄μ–ΈνŠΈμ˜ AutoLoad ν΄λ”μ—μ„œ μ‹œμž‘ν•˜λ©° μ ˆλŒ€ κ²½λ‘œλ„ ν—ˆμš©ν•©λ‹ˆλ‹€. 곡백이 μžˆλŠ” κ²½λ‘œλŠ” λ”°μ˜΄ν‘œλ‘œ
    # κ°μŒ‰λ‹ˆλ‹€. νŒŒμΌμ—λŠ” μ§€μ›ν•˜λŠ” Basicκ³Ό ν•„μˆ˜ μΈμˆ˜κ°€ μ—†λŠ” 곡개 Sub Main이 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

    Dim count=UO.StartScript("Scripts/Worker.bas")
    If count=65535 Then
        UO.Print("launch failed")
    Else
        UO.Print("Active executions: " & CStr(count))
    End If
END SUB

λ§€κ°œλ³€μˆ˜ 및 μ‹€ν–‰ μ„€λͺ…:

  • Sub Main을 μ‹€ν–‰ν•©λ‹ˆλ‹€. μ „λ‹¬ν•œ 0은 인덱슀이며 빈 κ΄„ν˜ΈλŠ” μΈμˆ˜κ°€ μ—†λ‹€λŠ” λœ»μž…λ‹ˆλ‹€. Print λ¬Έμžμ—΄μ€ 예제 λ©”μ‹œμ§€μΌ λΏμž…λ‹ˆλ‹€.
  • 예제 전에 μ§€μ •λœ Worker.bas νŒŒμΌλ“€μ„ λ”°λ‘œ λ§Œλ“œμ„Έμš”. 잘λͺ»λœ/읽을 수 μ—†λŠ” 경둜, λΆ€μ ν•©ν•œ Main, λΉ„ν™œμ„± Basic λ˜λŠ” 병렬 μ‹œμž‘ κ±°λΆ€λŠ” μ‹€νŒ¨ν•©λ‹ˆλ‹€. 이전 싀행이 아직 쀑지 쀑이면 μž¬μ‹œλ„κ°€ 지연될 수 μžˆμŠ΅λ‹ˆλ‹€. μˆ˜λ½μ€ μ™„λ£Œκ°€ μ•„λ‹ˆλ©° 짧은 μŠ€ν¬λ¦½νŠΈλŠ” 개수λ₯Ό 읽기 전에 끝날 수 μžˆμŠ΅λ‹ˆλ‹€.
  • Integer: μ‹œμž‘ μš”μ²­μ„ μˆ˜λ½ν•œ λ’€μ˜ ν™œμ„± μ‹€ν–‰ μˆ˜μž…λ‹ˆλ‹€. 65535 (0xFFFF)λŠ” μ‹œμž‘ μ‹€νŒ¨μž…λ‹ˆλ‹€. μƒˆ 인덱슀, Boolean λ˜λŠ” μ™„λ£Œ κ²°κ³Όκ°€ μ•„λ‹™λ‹ˆλ‹€.
  • ν•„μˆ˜ String ScriptPathμž…λ‹ˆλ‹€. μƒλŒ€ κ²½λ‘œλŠ” 이 ν΄λΌμ΄μ–ΈνŠΈμ˜ AutoLoad ν΄λ”μ—μ„œ μ‹œμž‘ν•˜λ©° μ ˆλŒ€ κ²½λ‘œλ„ ν—ˆμš©ν•©λ‹ˆλ‹€. 곡백이 μžˆλŠ” κ²½λ‘œλŠ” λ”°μ˜΄ν‘œλ‘œ κ°μŒ‰λ‹ˆλ‹€. νŒŒμΌμ—λŠ” μ§€μ›ν•˜λŠ” Basicκ³Ό ν•„μˆ˜ μΈμˆ˜κ°€ μ—†λŠ” 곡개 Sub Main이 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

반볡문 λ˜λŠ” μ‘°κ±΄μ—μ„œ μ‚¬μš©

# 반볡문 λ˜λŠ” μ‘°κ±΄μ—μ„œ μ‚¬μš©
#
# Basic νŒŒμΌμ„ 읽고 곡개 Sub Main의 μ‹œμž‘μ„ μš”μ²­ν•©λ‹ˆλ‹€.
#
# Integer: μ‹œμž‘ μš”μ²­μ„ μˆ˜λ½ν•œ λ’€μ˜ ν™œμ„± μ‹€ν–‰ μˆ˜μž…λ‹ˆλ‹€. 65535 (0xFFFF)λŠ” μ‹œμž‘ μ‹€νŒ¨μž…λ‹ˆλ‹€. μƒˆ 인덱슀, Boolean λ˜λŠ” μ™„λ£Œ κ²°κ³Όκ°€ μ•„λ‹™λ‹ˆλ‹€.

SUB Main()
    # μ—¬λŸ¬ λͺ…령을 μ‘°ν•©ν•œ 독립적인 μ˜ˆμ œμž…λ‹ˆλ‹€. λ°°μ—΄ μΈλ±μŠ€λŠ” 0λΆ€ν„° μ‹œμž‘ν•˜λ―€λ‘œ μ ‘κ·Ό 전에 길이λ₯Ό ν™•μΈν•˜μ„Έμš”. Wait(250)이 있으면 250λ°€λ¦¬μ΄ˆ κΈ°λ‹€λ¦½λ‹ˆλ‹€.
    # 예제 전에 μ§€μ •λœ Worker.bas νŒŒμΌλ“€μ„ λ”°λ‘œ λ§Œλ“œμ„Έμš”. 잘λͺ»λœ/읽을 수 μ—†λŠ” 경둜, λΆ€μ ν•©ν•œ Main, λΉ„ν™œμ„± Basic λ˜λŠ” 병렬 μ‹œμž‘ κ±°λΆ€λŠ” μ‹€νŒ¨ν•©λ‹ˆλ‹€. 이전
    # 싀행이 아직 쀑지 쀑이면 μž¬μ‹œλ„κ°€ 지연될 수 μžˆμŠ΅λ‹ˆλ‹€. μˆ˜λ½μ€ μ™„λ£Œκ°€ μ•„λ‹ˆλ©° 짧은 μŠ€ν¬λ¦½νŠΈλŠ” 개수λ₯Ό 읽기 전에 끝날 수 μžˆμŠ΅λ‹ˆλ‹€.
    # Integer: μ‹œμž‘ μš”μ²­μ„ μˆ˜λ½ν•œ λ’€μ˜ ν™œμ„± μ‹€ν–‰ μˆ˜μž…λ‹ˆλ‹€. 65535 (0xFFFF)λŠ” μ‹œμž‘ μ‹€νŒ¨μž…λ‹ˆλ‹€. μƒˆ 인덱슀, Boolean λ˜λŠ” μ™„λ£Œ κ²°κ³Όκ°€ μ•„λ‹™λ‹ˆλ‹€.
    # ν•„μˆ˜ String ScriptPathμž…λ‹ˆλ‹€. μƒλŒ€ κ²½λ‘œλŠ” 이 ν΄λΌμ΄μ–ΈνŠΈμ˜ AutoLoad ν΄λ”μ—μ„œ μ‹œμž‘ν•˜λ©° μ ˆλŒ€ κ²½λ‘œλ„ ν—ˆμš©ν•©λ‹ˆλ‹€. 곡백이 μžˆλŠ” κ²½λ‘œλŠ” λ”°μ˜΄ν‘œλ‘œ
    # κ°μŒ‰λ‹ˆλ‹€. νŒŒμΌμ—λŠ” μ§€μ›ν•˜λŠ” Basicκ³Ό ν•„μˆ˜ μΈμˆ˜κ°€ μ—†λŠ” 곡개 Sub Main이 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

    Dim count=UO.StartScript("Scripts/My Worker.bas")
    If count<>65535 Then
        Dim indices=UO.GetScriptsList()
        For Each index In indices
            UO.Print(CStr(index) & ": " & UO.GetScriptPath(index))
        Next
    End If
END SUB

λ§€κ°œλ³€μˆ˜ 및 μ‹€ν–‰ μ„€λͺ…:

  • μ—¬λŸ¬ λͺ…령을 μ‘°ν•©ν•œ 독립적인 μ˜ˆμ œμž…λ‹ˆλ‹€. λ°°μ—΄ μΈλ±μŠ€λŠ” 0λΆ€ν„° μ‹œμž‘ν•˜λ―€λ‘œ μ ‘κ·Ό 전에 길이λ₯Ό ν™•μΈν•˜μ„Έμš”. Wait(250)이 있으면 250λ°€λ¦¬μ΄ˆ κΈ°λ‹€λ¦½λ‹ˆλ‹€.
  • 예제 전에 μ§€μ •λœ Worker.bas νŒŒμΌλ“€μ„ λ”°λ‘œ λ§Œλ“œμ„Έμš”. 잘λͺ»λœ/읽을 수 μ—†λŠ” 경둜, λΆ€μ ν•©ν•œ Main, λΉ„ν™œμ„± Basic λ˜λŠ” 병렬 μ‹œμž‘ κ±°λΆ€λŠ” μ‹€νŒ¨ν•©λ‹ˆλ‹€. 이전 싀행이 아직 쀑지 쀑이면 μž¬μ‹œλ„κ°€ 지연될 수 μžˆμŠ΅λ‹ˆλ‹€. μˆ˜λ½μ€ μ™„λ£Œκ°€ μ•„λ‹ˆλ©° 짧은 μŠ€ν¬λ¦½νŠΈλŠ” 개수λ₯Ό 읽기 전에 끝날 수 μžˆμŠ΅λ‹ˆλ‹€.
  • Integer: μ‹œμž‘ μš”μ²­μ„ μˆ˜λ½ν•œ λ’€μ˜ ν™œμ„± μ‹€ν–‰ μˆ˜μž…λ‹ˆλ‹€. 65535 (0xFFFF)λŠ” μ‹œμž‘ μ‹€νŒ¨μž…λ‹ˆλ‹€. μƒˆ 인덱슀, Boolean λ˜λŠ” μ™„λ£Œ κ²°κ³Όκ°€ μ•„λ‹™λ‹ˆλ‹€.
  • ν•„μˆ˜ String ScriptPathμž…λ‹ˆλ‹€. μƒλŒ€ κ²½λ‘œλŠ” 이 ν΄λΌμ΄μ–ΈνŠΈμ˜ AutoLoad ν΄λ”μ—μ„œ μ‹œμž‘ν•˜λ©° μ ˆλŒ€ κ²½λ‘œλ„ ν—ˆμš©ν•©λ‹ˆλ‹€. 곡백이 μžˆλŠ” κ²½λ‘œλŠ” λ”°μ˜΄ν‘œλ‘œ κ°μŒ‰λ‹ˆλ‹€. νŒŒμΌμ—λŠ” μ§€μ›ν•˜λŠ” Basicκ³Ό ν•„μˆ˜ μΈμˆ˜κ°€ μ—†λŠ” 곡개 Sub Main이 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

μ™„μ „ν•œ 보쑰 ν•¨μˆ˜

# μ™„μ „ν•œ 보쑰 ν•¨μˆ˜
#
# Basic νŒŒμΌμ„ 읽고 곡개 Sub Main의 μ‹œμž‘μ„ μš”μ²­ν•©λ‹ˆλ‹€.
#
# Integer: μ‹œμž‘ μš”μ²­μ„ μˆ˜λ½ν•œ λ’€μ˜ ν™œμ„± μ‹€ν–‰ μˆ˜μž…λ‹ˆλ‹€. 65535 (0xFFFF)λŠ” μ‹œμž‘ μ‹€νŒ¨μž…λ‹ˆλ‹€. μƒˆ 인덱슀, Boolean λ˜λŠ” μ™„λ£Œ κ²°κ³Όκ°€ μ•„λ‹™λ‹ˆλ‹€.

SUB Main()
    # Main μ•„λž˜μ— ν•¨μˆ˜ 전체가 μžˆμŠ΅λ‹ˆλ‹€. 이 ν•¨μˆ˜μ˜ μΈμˆ˜μ™€ λ°˜ν™˜κ°’μ€ λ‚΄λΆ€μ—μ„œ μ“°λŠ” API λͺ…λ Ήκ³Ό ꡬ뢄해 μ„€λͺ…ν•©λ‹ˆλ‹€.
    # TryStartBasic은 65535와 비ꡐ해 true/falseλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€. μ™„λ£Œλ₯Ό κΈ°λ‹€λ¦¬κ±°λ‚˜ 개수λ₯Ό 인덱슀둜 λ°”κΎΈμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
    # Integer: μ‹œμž‘ μš”μ²­μ„ μˆ˜λ½ν•œ λ’€μ˜ ν™œμ„± μ‹€ν–‰ μˆ˜μž…λ‹ˆλ‹€. 65535 (0xFFFF)λŠ” μ‹œμž‘ μ‹€νŒ¨μž…λ‹ˆλ‹€. μƒˆ 인덱슀, Boolean λ˜λŠ” μ™„λ£Œ κ²°κ³Όκ°€ μ•„λ‹™λ‹ˆλ‹€.
    # ν•„μˆ˜ String ScriptPathμž…λ‹ˆλ‹€. μƒλŒ€ κ²½λ‘œλŠ” 이 ν΄λΌμ΄μ–ΈνŠΈμ˜ AutoLoad ν΄λ”μ—μ„œ μ‹œμž‘ν•˜λ©° μ ˆλŒ€ κ²½λ‘œλ„ ν—ˆμš©ν•©λ‹ˆλ‹€. 곡백이 μžˆλŠ” κ²½λ‘œλŠ” λ”°μ˜΄ν‘œλ‘œ
    # κ°μŒ‰λ‹ˆλ‹€. νŒŒμΌμ—λŠ” μ§€μ›ν•˜λŠ” Basicκ³Ό ν•„μˆ˜ μΈμˆ˜κ°€ μ—†λŠ” 곡개 Sub Main이 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

    If TryStartBasic("Scripts/Worker.bas") Then
        UO.Print("launch accepted")
    Else
        UO.Print("check file, Main and execution settings")
    End If
END SUB

Function TryStartBasic(fileName) As Boolean
    Dim count=UO.StartScript(fileName)
    Return count<>65535
End Function

λ§€κ°œλ³€μˆ˜ 및 μ‹€ν–‰ μ„€λͺ…:

  • Main μ•„λž˜μ— ν•¨μˆ˜ 전체가 μžˆμŠ΅λ‹ˆλ‹€. 이 ν•¨μˆ˜μ˜ μΈμˆ˜μ™€ λ°˜ν™˜κ°’μ€ λ‚΄λΆ€μ—μ„œ μ“°λŠ” API λͺ…λ Ήκ³Ό ꡬ뢄해 μ„€λͺ…ν•©λ‹ˆλ‹€.
  • TryStartBasic은 65535와 비ꡐ해 true/falseλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€. μ™„λ£Œλ₯Ό κΈ°λ‹€λ¦¬κ±°λ‚˜ 개수λ₯Ό 인덱슀둜 λ°”κΎΈμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
  • Integer: μ‹œμž‘ μš”μ²­μ„ μˆ˜λ½ν•œ λ’€μ˜ ν™œμ„± μ‹€ν–‰ μˆ˜μž…λ‹ˆλ‹€. 65535 (0xFFFF)λŠ” μ‹œμž‘ μ‹€νŒ¨μž…λ‹ˆλ‹€. μƒˆ 인덱슀, Boolean λ˜λŠ” μ™„λ£Œ κ²°κ³Όκ°€ μ•„λ‹™λ‹ˆλ‹€.
  • ν•„μˆ˜ String ScriptPathμž…λ‹ˆλ‹€. μƒλŒ€ κ²½λ‘œλŠ” 이 ν΄λΌμ΄μ–ΈνŠΈμ˜ AutoLoad ν΄λ”μ—μ„œ μ‹œμž‘ν•˜λ©° μ ˆλŒ€ κ²½λ‘œλ„ ν—ˆμš©ν•©λ‹ˆλ‹€. 곡백이 μžˆλŠ” κ²½λ‘œλŠ” λ”°μ˜΄ν‘œλ‘œ κ°μŒ‰λ‹ˆλ‹€. νŒŒμΌμ—λŠ” μ§€μ›ν•˜λŠ” Basicκ³Ό ν•„μˆ˜ μΈμˆ˜κ°€ μ—†λŠ” 곡개 Sub Main이 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

en Β· ru Β· uk Β· fr Β· de Β· it Β· es Β· zh-tw Β· ja Β· ko

Basic