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

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

UO.Resend

Hide๋Š” ๋กœ๋“œ๋œ ๋ฌผ์ฒด๋ฅผ ๋กœ์ปฌ์—์„œ ์ˆจ๊ธฐ๋ฉฐ Hiding ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Resend/Resync๋Š” ์ด ์ˆจ๊น€์„ ํ•ด์ œํ•˜๊ณ  ์ด์ „ ๊ทธ๋ฆฌ๊ธฐ ์ƒํƒœ๋ฅผ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. Hide๋ฅผ ๋ฐ˜๋ณตํ•œ ๊ฒฝ์šฐ๋„ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฌผ์ฒด ๋ฐ์ดํ„ฐ์™€ ์„œ๋ฒ„ Hidden ํ”Œ๋ž˜๊ทธ๋Š” ๋ฐ”๋€Œ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ™ˆ ยท C# ยท IDE ยท UO API ยท Aโ€“Z ยท ์˜ˆ ยท ์–ธ์–ด

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

void UO.Resend();

์„ธ๊ณ„๋ฅผ ๋‹ค์‹œ ๋™๊ธฐํ™”ํ•˜๋ผ๋Š” ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

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

๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜๊ฐ’

void - ๊ฐ’์ด ์—†์Šต๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ํšŒ์„ ์œผ๋กœ ์ „ํ™”ํ•˜์„ธ์š”. ์™„๋ฃŒ๋Š” ์„œ๋ฒ„์˜ ์ž‘์—…์„ ํ™•์ธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋™์ž‘

  • Resync๋Š” ๊ฒŒ์ž„ ์Šค๋ ˆ๋“œ์—์„œ NetClient.Socket.Send_Resync๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ด๋Š” ์žฌ์—ฐ๊ฒฐ์ด๋‚˜ ๋ฐ์ดํ„ฐ ์ˆ˜์‹  ํ™•์ธ์ด ์•„๋‹Œ ์—…๋ฐ์ดํŠธ ์š”์ฒญ์ž…๋‹ˆ๋‹ค.
  • ์˜ˆ์ œ์—์„œ UO.Wait๋Š” ์Šคํฌ๋ฆฝํŠธ ์ผ์‹œ ์ค‘์ง€๋งŒ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ผ์‹œ ์ค‘์ง€๊ฐ€ ๋๋‚ฌ๋‹ค๊ณ  ํ•ด์„œ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์™„๋ฃŒํ–ˆ์Œ์„ ์ฆ๋ช…ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

๋…๋ฆฝ ์‹คํ–‰ C# ์Šคํฌ๋ฆฝํŠธ

๊ฐ ์˜ˆ์ œ๋Š” ๋ณ„๋„์˜ ํŒŒ์ผ .csx๋กœ ์ €์žฅํ•˜๊ณ  IDE์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. UO ๊ฐœ์ฒด์™€ ๋Œ€๊ธฐ ๊ธฐ๋Šฅ์€ ํ˜„์žฌ ๊ฒŒ์ž„ ์„ธ์…˜์˜ ํ˜ธ์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐ๋ชจ serial ์ด๋ฆ„, ์ขŒํ‘œ, ์ฃผ์†Œ๋ฅผ ์ž์‹ ์˜ ๊ฒƒ์œผ๋กœ ๋ฐ”๊พธ์„ธ์š”.

๊ฐ„๋‹จํ•œ ์˜ˆ์ œ

์ด ์ฝ”๋“œ๋ฅผ ๋ณ„๋„์˜ .csx ํŒŒ์ผ๋กœ ์‹คํ–‰ํ•˜์„ธ์š”. ์ธ์ˆ˜๋Š” ํ˜ธ์ถœ์— ์ง์ ‘ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ์ œ์˜ ์ด๋ฆ„, serial, ์ฃผ์†Œ๋ฅผ ์ž์‹ ์˜ ๊ฐ’์œผ๋กœ ๋ฐ”๊พธ์„ธ์š”.

๋ช…๋ น์€ ๋…๋ฆฝ๋œ ๋ฌธ์ž…๋‹ˆ๋‹ค. ์•ž์˜ ๋ฉ”์‹œ์ง€๋Š” ํ˜ธ์ถœ ์‹œ์ž‘์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ ์„œ๋ฒ„ ๋™์ž‘์˜ ์™„๋ฃŒ๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

UO.Print("Calling UO.Resend");
UO.Resend();

1. ์ง์ ‘ ํ†ตํ™” - ์ง์ ‘ ์Šคํฌ๋ฆฝํŠธ

๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์‹คํ–‰ ํ๋ฆ„:

  • ์„ธ๊ณ„๋ฅผ ๋‹ค์‹œ ๋™๊ธฐํ™”ํ•˜๋ผ๋Š” ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
UO.Resend();

2. ๋ช…์‹œ์  ์˜ต์…˜ - ์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋Šฅ

๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์‹คํ–‰ ํ๋ฆ„:

  • Resync๋Š” ๊ฒŒ์ž„ ์Šค๋ ˆ๋“œ์—์„œ NetClient.Socket.Send_Resync๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ด๋Š” ์žฌ์—ฐ๊ฒฐ์ด๋‚˜ ๋ฐ์ดํ„ฐ ์ˆ˜์‹  ํ™•์ธ์ด ์•„๋‹Œ ์—…๋ฐ์ดํŠธ ์š”์ฒญ์ž…๋‹ˆ๋‹ค.
return  RunScenario();
 object? RunScenario()
{
    if (Truth(UO.IsOnline()))
    {
        UO.Resend();
    }

    return null;
}

bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;

3. ์ „์ฒด ๋„์šฐ๋ฏธ ๊ธฐ๋Šฅ - ์Šคํฌ๋ฆฝํŠธ ํด๋ž˜์Šค

๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์‹คํ–‰ ํ๋ฆ„:

  • ์˜ˆ์ œ์—์„œ UO.Wait๋Š” ์Šคํฌ๋ฆฝํŠธ ์ผ์‹œ ์ค‘์ง€๋งŒ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ผ์‹œ ์ค‘์ง€๊ฐ€ ๋๋‚ฌ๋‹ค๊ณ  ํ•ด์„œ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์™„๋ฃŒํ–ˆ์Œ์„ ์ฆ๋ช…ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.
return  new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

     public object? RunScenario()
    {
        UO.Resend();
        UO.Wait(500);
        UO.Print(UO.GetX());
        return null;
    }
}

๋ช…๋ น ๊ตฌํ˜„

C#์€ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์ •ํ™•ํ•œ UO ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ˆซ์ž ํ”Œ๋ž˜๊ทธ๋Š” 0๊ณผ ๋น„๊ตํ•˜๊ณ  ๋ฐ˜ํ™˜ ํ˜•์‹์ด bool์ผ ๋•Œ๋งŒ bool์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

UO.Resend() โ€” UO.Resend()

๋งค๊ฐœ๋ณ€์ˆ˜: ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ: void / Unit.

ํ˜ธ์ถœ ์‹œ:

๋‚ด๋ถ€ ๊ตฌํ˜„ ์ฝ”๋“œ์ด๋ฉฐ ๋…๋ฆฝ ์Šคํฌ๋ฆฝํŠธ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

case "resend": bridge.Resync(); break;
โš ๏ธ **GitHub.com Fallback** โš ๏ธ