Skip to content

API UO GetGlobalShared

Bad Newbie edited this page Oct 16, 2026 · 1 revision

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

UO.GetGlobalShared

Сигнатури C#

string UO.GetGlobalShared(object? name);

Поведінка та результат

SetGlobal і GetGlobal мають спільний простір для всіх скриптів і профілів, також між процесами Full Client та Client. Значення зберігаються як рядки; відсутній ключ повертає "N/A". Регістр ключа враховується. Форми з region використовують пару region/name. Файл Manager/Game Manager/CSharp/globals.json читається свіжим під міжпроцесним блокуванням; перезапуск не стирає значення. Shared-форми є явними синонімами того самого сховища.

Параметри

  • name — Ім’я спільного ключа, чутливе до регістру.

Кожен блок — повний окремий .csx. Демонстраційні serial, type та координати замініть своїми. Параметри передаються у порядку сигнатури; іменовані параметри C# дозволяють явно вказати їх призначення.

Команди чату

#getglobalshared team.delay

Самостійні приклади C#

Кожен блок — повний окремий .csx. Демонстраційні serial, type та координати замініть своїми. Параметри передаються у порядку сигнатури; іменовані параметри C# дозволяють явно вказати їх призначення.

1

UO.Print(UO.GetGlobalShared("team.target"));

2

UO.SetGlobal("team.message", "Привіт");
string value = UO.GetGlobalShared("team.message");
UO.Print(value);

3

foreach (string key in new[] { "team.target", "team.delay" })
    UO.Print(UO.GetGlobalShared(key));

4

new CommandSample().Execute(UO);

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

Внутрішні виклики

CSharpGameApi.GetGlobalShared
  -> CSharpScriptGlobals
  -> InjectionScript.Runtime.State.Globals.GetGlobalShared
Globals -> SharedGlobalStore -> named mutex -> atomic JSON replacement

InjectionScript.Runtime.State.SharedGlobalStore.Get

Clone this wiki locally