Skip to content

API CBool zh tw

Codex edited this page Sep 23, 2026 · 1 revision

CBool

ClassicUO / Basic IDE

Home · API · Basic

將數字轉為條件旗標,例如判斷數量是否非零。

完整語法

CBool(value:Any) -> Integer

參數

  • value — 必須提供一個 Integer/Decimal 或數字 String。文字使用小數點和可選指數,不受介面語言影響;此處 "0x0EED" 不是數字字串。無效文字、Array、Object、Unit 轉成 0。先以 IsNumeric 檢查輸入。

傳回值

轉換後數字非零時傳回 Integer 1,否則 0;負數也傳回 1。True/False 代表 1/0,可用 IF flag、flag = True、flag = 1。文字 "true" 不是 True 常值,結果為 0。NaN/Infinity 得到 1,因此此函式不是數字有效性檢查。

行為

  • 本機計算,不發封包、不選目標、不執行遊戲動作。BasicDouble 先用固定文化格式解析數字文字。本引擎規則不完全等同 VB.NET。Decimal 儲存 double;CInt/CLng 的中點向遠離零取整。

內部函式:從呼叫到結果

本機計算,不發封包、不選目標、不執行遊戲動作。BasicDouble 先用固定文化格式解析數字文字。本引擎規則不完全等同 VB.NET。Decimal 儲存 double;CInt/CLng 的中點向遠離零取整。

1. BasicDouble

必須提供一個 Integer/Decimal 或數字 String。文字使用小數點和可選指數,不受介面語言影響;此處 "0x0EED" 不是數字字串。無效文字、Array、Object、Unit 轉成 0。先以 IsNumeric 檢查輸入。

Decimal / double

專案原始碼: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; 函式 BasicDouble.

2. Register

將數字轉為條件旗標,例如判斷數量是否非零。

轉換後數字非零時傳回 Integer 1,否則 0;負數也傳回 1。True/False 代表 1/0,可用 IF flag、flag = True、flag = 1。文字 "true" 不是 True 常值,結果為 0。NaN/Infinity 得到 1,因此此函式不是數字有效性檢查。

專案原始碼: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; 函式 Register.

範例

CBool — 1

# CBool1
#
# 將數字轉為條件旗標例如判斷數量是否非零#
# 轉換後數字非零時傳回 Integer 1否則 0負數也傳回 1True/False 代表 1/0可用 IF flagflag = Trueflag = 1文字 "true"
# 不是 True 常值結果為 0NaN/Infinity 得到 1因此此函式不是數字有效性檢查SUB Main()
    # 轉換後數字非零時傳回 Integer 1否則 0負數也傳回 1True/False 代表 1/0可用 IF flagflag = Trueflag = 1文字 "true"
    # 不是 True 常值結果為 0NaN/Infinity 得到 1因此此函式不是數字有效性檢查RETURN CBool(-5)
END SUB

參數與執行說明:

  • 轉換後數字非零時傳回 Integer 1,否則 0;負數也傳回 1。True/False 代表 1/0,可用 IF flag、flag = True、flag = 1。文字 "true" 不是 True 常值,結果為 0。NaN/Infinity 得到 1,因此此函式不是數字有效性檢查。

CBool — 2

# CBool2
#
# 將數字轉為條件旗標例如判斷數量是否非零#
# 轉換後數字非零時傳回 Integer 1否則 0負數也傳回 1True/False 代表 1/0可用 IF flagflag = Trueflag = 1文字 "true"
# 不是 True 常值結果為 0NaN/Infinity 得到 1因此此函式不是數字有效性檢查SUB Main()
    # String "true" 不是數字所以 CBool 傳回 0請傳入不加引號的 True1或數值比較結果RETURN CBool("true")
END SUB

參數與執行說明:

  • String "true" 不是數字,所以 CBool 傳回 0。請傳入不加引號的 True(1)或數值比較結果。

CBool — 3

# CBool3
#
# 將數字轉為條件旗標例如判斷數量是否非零#
# 轉換後數字非零時傳回 Integer 1否則 0負數也傳回 1True/False 代表 1/0可用 IF flagflag = Trueflag = 1文字 "true"
# 不是 True 常值結果為 0NaN/Infinity 得到 1因此此函式不是數字有效性檢查SUB Main()
    # NeedRefill  current=2minimum=5current < minimum 成立CBool 傳回 1Main  True 比較並傳回
    # 1可換成已取得的實際數量函式本身不讀取或搬動物品IF NeedRefill(2,5) = True THEN
        RETURN 1
    END IF
    RETURN 0
END SUB

SUB NeedRefill(current,minimum)
    RETURN CBool(current < minimum)
END SUB

參數與執行說明:

  • NeedRefill 的 current=2、minimum=5。current < minimum 成立,CBool 傳回 1。Main 與 True 比較並傳回 1。可換成已取得的實際數量;函式本身不讀取或搬動物品。

Русский · English · Українська · Français · Deutsch · Italiano · Español · 繁體中文 · 日本語 · 한국어

Clone this wiki locally