Skip to content

JA API UO GetGlobal

Bad Newbie edited this page Oct 16, 2026 · 3 revisions

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

UO.GetGlobal

C# シグネチャ

string UO.GetGlobal(object? name);
dynamic UO.GetGlobal(object? globalRegion, object? varName);

動作と戻り値

SetGlobal と GetGlobal はすべてのスクリプト、プロファイル、Full Client/Client プロセスで共有されます。値は文字列で、存在しないキーは "N/A" です。キーは大文字と小文字を区別し、region 形式は region/name の組を使用します。Manager/Game Manager/CSharp/globals.json をプロセス間ロックで読み直し、再起動後も保持します。Shared 形式も同じ保存先です。

引数

  • globalRegion — キー名と組み合わせる名前空間。
  • name — 大文字と小文字を区別する共有キー名。
  • varName — 大文字と小文字を区別する共有キー名。

各コードブロックは独立した完全な .csx です。例の serial、type、座標を置き換えてください。引数順序と C# の名前付き引数はシグネチャに従います。

チャットコマンド

#getglobal team.target
#get global team.message

完全な C# の例

各コードブロックは独立した完全な .csx です。例の serial、type、座標を置き換えてください。引数順序と C# の名前付き引数はシグネチャに従います。

1

string value = UO.GetGlobal("team.target");
UO.Print(value);

2

string value = UO.GetGlobal("team.delay");
if (int.TryParse(value, out int milliseconds))
    UO.Print(milliseconds.ToString());

3

UO.Print(Convert.ToString(UO.GetGlobal("team", "delay")));

4

new CommandSample().Execute(UO);

sealed class CommandSample
{
    public void Execute(global::ClassicUO.CSharp.CSharpGameApi api)
    {
        string value = api.GetGlobal("team.target");
        api.Print(value);
    }
}

内部呼び出し

CSharpGameApi.GetGlobal
  -> CSharpScriptGlobals
  -> InjectionScript.Runtime.InjectionApiUO.RegisterClientApiCompatibility
  -> InjectionScript.Runtime.State.Globals.GetGlobal
Globals -> SharedGlobalStore -> named mutex -> atomic JSON replacement

InjectionScript.Runtime.State.SharedGlobalStore.Get

Clone this wiki locally