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