API Basic ApiNames zh tw - 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 回傳 Integer 1/0,可當 TRUE/FALSE 使用。

行為

  • 名稱不分大小寫。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