KO API UO SetGlobalShared - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki

ะฃะบั€ะฐั—ะฝััŒะบะฐ ยท ะ ัƒััะบะธะน ยท English ยท Deutsch ยท Franรงais ยท Italiano ยท Espaรฑol ยท ็น้ซ”ไธญๆ–‡ ยท ๆ—ฅๆœฌ่ชž ยท ํ•œ๊ตญ์–ด

UO.SetGlobalShared

C# ์‹œ๊ทธ๋‹ˆ์ฒ˜

void UO.SetGlobalShared(object? name, object? value);

๋™์ž‘ ๋ฐ ๋ฐ˜ํ™˜๊ฐ’

SetGlobal๊ณผ GetGlobal์€ ๋ชจ๋“  ์Šคํฌ๋ฆฝํŠธ, ํ”„๋กœํ•„๊ณผ Full Client/Client ํ”„๋กœ์„ธ์Šค์—์„œ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ’์€ ๋ฌธ์ž์—ด์ด๊ณ  ์—†๋Š” ํ‚ค๋Š” "N/A"์ž…๋‹ˆ๋‹ค. ํ‚ค๋Š” ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜๋ฉฐ region ํ˜•์‹์€ region/name ์Œ์ž…๋‹ˆ๋‹ค. Manager/Game Manager/CSharp/globals.json์„ ํ”„๋กœ์„ธ์Šค ๊ฐ„ ์ž ๊ธˆ์œผ๋กœ ์ƒˆ๋กœ ์ฝ๊ณ  ์žฌ์‹œ์ž‘ ํ›„์—๋„ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. Shared ํ˜•์‹๋„ ๊ฐ™์€ ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜

  • name โ€” ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ณต์œ  ํ‚ค ์ด๋ฆ„.
  • value โ€” ํ…์ŠคํŠธ๋กœ ์ €์žฅ๋˜๋Š” ๊ฐ’.

๊ฐ ์ฝ”๋“œ ๋ธ”๋ก์€ ์™„์ „ํ•œ ๋…๋ฆฝ .csx์ž…๋‹ˆ๋‹ค. ์˜ˆ์‹œ serial, type๊ณผ ์ขŒํ‘œ๋ฅผ ๋ฐ”๊พธ์„ธ์š”. ์ธ์ˆ˜ ์ˆœ์„œ์™€ C# ๋ช…๋ช…๋œ ์ธ์ˆ˜๋Š” ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

์ฑ„ํŒ… ๋ช…๋ น

#setglobalshared team.delay 350

์™„์ „ํ•œ C# ์˜ˆ์ œ

๊ฐ ์ฝ”๋“œ ๋ธ”๋ก์€ ์™„์ „ํ•œ ๋…๋ฆฝ .csx์ž…๋‹ˆ๋‹ค. ์˜ˆ์‹œ serial, type๊ณผ ์ขŒํ‘œ๋ฅผ ๋ฐ”๊พธ์„ธ์š”. ์ธ์ˆ˜ ์ˆœ์„œ์™€ C# ๋ช…๋ช…๋œ ์ธ์ˆ˜๋Š” ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

1

UO.SetGlobalShared("team.target", 0x40001234);
UO.Print(UO.GetGlobal("team.target"));

2

UO.SetGlobal("team.message", "ะŸั€ะธะฒั–ั‚");
UO.Print(UO.GetGlobalShared("team.message"));

3

string key = "team.delay";
UO.SetGlobalShared(key, 350);
UO.Print(UO.GetGlobalShared(key));

4

new CommandSample().Execute(UO);

sealed class CommandSample
{
    public void Execute(global::ClassicUO.CSharp.CSharpGameApi api)
    {
        api.SetGlobalShared("team.target", 0x40001234);
        api.Print(api.GetGlobal("team.target"));
    }
}

๋‚ด๋ถ€ ํ˜ธ์ถœ

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

InjectionScript.Runtime.State.SharedGlobalStore.Set