Skip to content

API CBool ja

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負数も 1 ですTrue/False  1/0 を意味しIF flagflag = Trueflag = 1
# で検査できます文字列 "true" はリテラル True とは異なり 0 ですNaN/Infinity  1 なので数値の妥当性検査にはなりませんSUB Main()
    # 変換後の数が非ゼロなら Integer 1ゼロなら 0負数も 1 ですTrue/False  1/0 を意味しIF flagflag = Trueflag = 1
    # で検査できます文字列 "true" はリテラル True とは異なり 0 ですNaN/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負数も 1 ですTrue/False  1/0 を意味しIF flagflag = Trueflag = 1
# で検査できます文字列 "true" はリテラル True とは異なり 0 ですNaN/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負数も 1 ですTrue/False  1/0 を意味しIF flagflag = Trueflag = 1
# で検査できます文字列 "true" はリテラル True とは異なり 0 ですNaN/Infinity  1 なので数値の妥当性検査にはなりませんSUB Main()
    # NeedRefill  current=2minimum=5current < minimum が真なので CBool  1 を返しMain  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