API Basic ApiNames ko - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

Basic / UO.

ClassicUO โ€ข Basic

๊ฒŒ์ž„ ๋ช…๋ น์€ UO.๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  Basic ๊ตฌ๋ฌธ, ๋‚ด์žฅ ํ•จ์ˆ˜์™€ ์‚ฌ์šฉ์ž ํ•จ์ˆ˜๋Š” ์„ ์–ธ๋œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

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

UO.command(arguments)
BasicFunction(arguments)
UserFunction(arguments)

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

  • UO.command โ€” UO.command(arguments): ๊ฒŒ์ž„ API์— ํ•„์ˆ˜์ธ ์ ‘๋‘์‚ฌ์ž…๋‹ˆ๋‹ค. UO.GetType(id)๋Š” ๊ทธ๋ž˜ํ”ฝ/๋ชธ์ฒด ๋ฒˆํ˜ธ๋ฅผ ์ฝ์œผ๋ฉฐ Basic ๋˜๋Š” CLR ํ˜•์‹์ด ์•„๋‹™๋‹ˆ๋‹ค.
  • BasicFunction โ€” BasicFunction(arguments): Int(value), Str(value), CInt(value) ๋“ฑ์—๋Š” UO.๋ฅผ ๋ถ™์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • arguments โ€” self, backpack, ground, Rhand๋Š” ๊ฐ์ฒด, ํ•„ํ„ฐ, ๋ ˆ์ด์–ด ์ธ์ˆ˜๋กœ ๊ณ„์† ์œ ํšจํ•ฉ๋‹ˆ๋‹ค. ์ธ์ˆ˜ ์ด๋ฆ„์€ ์ ‘๋‘์‚ฌ๋ฅผ ์ƒ๋žตํ•œ ๊ฒŒ์ž„ ํ˜ธ์ถœ์ด ์•„๋‹™๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜๊ฐ’

๋ช…๋ช… ๊ทœ์น™ ์ž์ฒด๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Int๋Š” Integer, Str๋Š” String, ์„ธ Api*Exists๋Š” TRUE/FALSE๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Integer 1/0์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋™์ž‘

  • ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. InjectionApi๋Š” ์ ‘๋‘์‚ฌ ์—†๋Š” Basic์„, InjectionApiUO๋Š” UO.๊ฐ€ ์žˆ๋Š” ๊ฒŒ์ž„ ํ˜ธ์ถœ์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ์งง์€ ํ˜ธ์ถœ์—๋Š” SC005์™€ ๋“ฑ๋ก๋œ UO. ๋Œ€์•ˆ์ด ํ‘œ์‹œ๋˜๋ฉฐ ์ž๋™ ์‹คํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์บ๋ฆญํ„ฐ ์†์„ฑ ๊ฐ’๋„ UO.๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ApiNameExists, ApiSignatureExists, ApiParameterExists๋Š” ์–‘๋ ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•˜๊ณ  ์ ‘๋‘์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์€ ์ •ํ™•ํ•œ ๋“ฑ๋ก ์ด๋ฆ„์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ฒ€์‚ฌ์ž…๋‹ˆ๋‹ค. VB.NET ๋ฆฌํ”Œ๋ ‰์…˜ ์—ฐ์‚ฐ์ž GetType(TypeName)์€ ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์˜ˆ์ œ

1. 1

# graphic์€ ๋ชธ์ฒด ๋ฒˆํ˜ธ๋ฅผ ์ฝ๊ณ  ์ •๋ณด๊ฐ€ ์—†์œผ๋ฉด 0์ด๋ฉฐ whole=2์ž…๋‹ˆ๋‹ค. registered๋Š” ์ธ์ˆ˜ ํ•˜๋‚˜์ธ UO.GetType์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. Main์€ ๊ทธ๋ž˜ํ”ฝ๊ณผ ๊ด€๊ณ„์—†์ด "2:1"์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ์•„์ดํ…œ์„ ์˜ฎ๊ธฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
Option Explicit On
Sub Main()
    Var graphic = UO.GetType('self')
    Var whole = Int(2.9)
    Var registered = UO.ApiSignatureExists('UO.GetType', 1)
    Return CStr(whole) + ":" + CStr(registered)
End Sub

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

graphic์€ ๋ชธ์ฒด ๋ฒˆํ˜ธ๋ฅผ ์ฝ๊ณ  ์ •๋ณด๊ฐ€ ์—†์œผ๋ฉด 0์ด๋ฉฐ whole=2์ž…๋‹ˆ๋‹ค. registered๋Š” ์ธ์ˆ˜ ํ•˜๋‚˜์ธ UO.GetType์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. Main์€ ๊ทธ๋ž˜ํ”ฝ๊ณผ ๊ด€๊ณ„์—†์ด "2:1"์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ์•„์ดํ…œ์„ ์˜ฎ๊ธฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

2. 2

# ์ „์ฒด ์ •์˜๋œ ์‚ฌ์šฉ์ž Function GetType์€ CInt(6)์—์„œ value=6์„ ๋ฐ›์•„ 7์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. UO.GetType์€ ๊ฒŒ์ž„ ๊ทธ๋ž˜ํ”ฝ์„ ๊ณ„์† ์ฝ์œผ๋ฉฐ ๋‘ ํ˜ธ์ถœ์€ ์„œ๋กœ ๊ฐ€๋กœ์ฑ„์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
Option Explicit On
Function GetType(value)
    Return value + 1
End Function
Sub Main()
    Var localResult = GetType(CInt(6))
    Var graphic = UO.GetType('self')
    Return localResult
End Sub

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

์ „์ฒด ์ •์˜๋œ ์‚ฌ์šฉ์ž Function GetType์€ CInt(6)์—์„œ value=6์„ ๋ฐ›์•„ 7์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. UO.GetType์€ ๊ฒŒ์ž„ ๊ทธ๋ž˜ํ”ฝ์„ ๊ณ„์† ์ฝ์œผ๋ฉฐ ๋‘ ํ˜ธ์ถœ์€ ์„œ๋กœ ๊ฐ€๋กœ์ฑ„์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

3. 3

# oldCall=0, gameCall=1, basicCall=1์€ GetType, UO.GetType(id), Int(value)๋ฅผ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. argumentName=1์€ backpack ์ธ์ˆ˜๊ฐ€ ์œ ํšจํ•จ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. Main์€ "0:1:1:1"์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ํ”„๋กœ์‹œ์ €๋Š” ๊ฒ€์ƒ‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
Option Explicit On
Sub Main()
    Var oldCall = UO.ApiSignatureExists('GetType', 1)
    Var gameCall = UO.ApiSignatureExists('UO.GetType', 1)
    Var basicCall = UO.ApiSignatureExists('Int', 1)
    Var argumentName = UO.ApiParameterExists('backpack')
    Return CStr(oldCall) + ":" + CStr(gameCall) + ":" + CStr(basicCall) + ":" + CStr(argumentName)
End Sub

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

oldCall=0, gameCall=1, basicCall=1์€ GetType, UO.GetType(id), Int(value)๋ฅผ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. argumentName=1์€ backpack ์ธ์ˆ˜๊ฐ€ ์œ ํšจํ•จ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. Main์€ "0:1:1:1"์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ํ”„๋กœ์‹œ์ €๋Š” ๊ฒ€์ƒ‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


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

Basic