-
Notifications
You must be signed in to change notification settings - Fork 0
API UO GetScriptsCount ja
ClassicUO • Runtime API
このクライアントの有効な実行数を数えます。
UO.GetScriptsCount() -> Integer
引数はありません。
Integer >= 0:一時停止中を含む有効な実行数です。Booleanやインデックスではありません。
- 実行中と一時停止中を含み、完了済みやキャンセル要求済みは除きます。呼び出し元は通常自分自身も数えます。読み込んだだけのIDEタブは実行ではありません。
- インデックスは起動順の現在位置です。起動や停止で位置が変わります。別々の呼び出しは単一の不可分なスナップショットではありません。後で制御するときは一覧を再取得します。
- Basic IDEを閉じても有効な実行は消えません。対象はこのクライアントであり、別クライアントやWindowsプロセスではありません。
- GetScriptsListはインデックス、GetScriptsCountは個数、GetScriptStateは3状態のコードです。取り違えたり、すべての非ゼロ値をtrueと扱ったりしないでください。
- 引数はありません。計数時に一覧のソートや状態変更はしません。
以下はクライアントの実際のメソッドです。上のBasic例には完全な補助関数があります。内部C#メソッド名は追加のスクリプトコマンドではありません。
Runtimeは登録されたUO呼び出しを実行し、ブリッジの結果をInteger、String、Arrayとして包みます。
Integer >= 0:一時停止中を含む有効な実行数です。Booleanやインデックスではありません。
プロジェクトのソース: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; 関数 ExecuteStealthCompatibility.
ブリッジはこのクライアントの実行マネージャーに委譲します。
引数はありません。計数時に一覧のソートや状態変更はしません。
プロジェクトのソース: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; 関数 GetScriptsCount.
_running.Count(entry => !entry.Value.Cancellation.IsCancellationRequested)
インデックスは起動順の現在位置です。起動や停止で位置が変わります。別々の呼び出しは単一の不可分なスナップショットではありません。後で制御するときは一覧を再取得します。
プロジェクトのソース: src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs; 関数 GetScriptsCount.
Basic IDEを閉じても有効な実行は消えません。対象はこのクライアントであり、別クライアントやWindowsプロセスではありません。
# 最初の呼び出しと結果
#
# このクライアントの有効な実行数を数えます。
#
# Integer >= 0:一時停止中を含む有効な実行数です。Booleanやインデックスではありません。
SUB Main()
# Sub Mainを実行します。渡す0はインデックスで、空の括弧は引数なしを表します。Printの文字列は例のメッセージです。
# 引数はありません。計数時に一覧のソートや状態変更はしません。
# Integer >= 0:一時停止中を含む有効な実行数です。Booleanやインデックスではありません。
Dim count=UO.GetScriptsCount()
UO.Print(CStr(count))
END SUBパラメーターと実行の説明:
- Sub Mainを実行します。渡す0はインデックスで、空の括弧は引数なしを表します。Printの文字列は例のメッセージです。
- 引数はありません。計数時に一覧のソートや状態変更はしません。
- Integer >= 0:一時停止中を含む有効な実行数です。Booleanやインデックスではありません。
# ループまたは条件で使う
#
# このクライアントの有効な実行数を数えます。
#
# Integer >= 0:一時停止中を含む有効な実行数です。Booleanやインデックスではありません。
SUB Main()
# 複数のコマンドを組み合わせる独立した例です。配列は0始まりで、参照前に長さを確認します。Wait(250)がある場合は250ミリ秒待ちます。
# 引数はありません。計数時に一覧のソートや状態変更はしません。
# Integer >= 0:一時停止中を含む有効な実行数です。Booleanやインデックスではありません。
Dim before=UO.GetScriptsCount()
Wait(250)
Dim after=UO.GetScriptsCount()
UO.Print(CStr(after-before))
END SUBパラメーターと実行の説明:
- 複数のコマンドを組み合わせる独立した例です。配列は0始まりで、参照前に長さを確認します。Wait(250)がある場合は250ミリ秒待ちます。
- 引数はありません。計数時に一覧のソートや状態変更はしません。
- Integer >= 0:一時停止中を含む有効な実行数です。Booleanやインデックスではありません。
# 完全な補助関数
#
# このクライアントの有効な実行数を数えます。
#
# Integer >= 0:一時停止中を含む有効な実行数です。Booleanやインデックスではありません。
SUB Main()
# Mainの下に関数全体を示します。その引数と結果は、内部のAPIコマンドとは区別して説明しています。
# HasOtherScriptsは、通常呼び出し元が1件を占めるため1と比較します。true/falseを返すのは補助関数で、GetScriptsCountではありません。
# Integer >= 0:一時停止中を含む有効な実行数です。Booleanやインデックスではありません。
If HasOtherScripts() Then
UO.Print("Other executions are active")
Else
UO.Print("No other active executions")
End If
END SUB
Function HasOtherScripts() As Boolean
Dim count=UO.GetScriptsCount()
Return count > 1
End Functionパラメーターと実行の説明:
- Mainの下に関数全体を示します。その引数と結果は、内部のAPIコマンドとは区別して説明しています。
- HasOtherScriptsは、通常呼び出し元が1件を占めるため1と比較します。true/falseを返すのは補助関数で、GetScriptsCountではありません。
- Integer >= 0:一時停止中を含む有効な実行数です。Booleanやインデックスではありません。
ClassicUO - Bad Newbie & Basic IDE Edition