Skip to content

API UO Resend

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

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

UO.Resend

Hide приховує завантажений об’єкт локально і не застосовує Hiding. Resend/Resync скидає це приховування та відновлює попередній стан відображення завантажених об’єктів, також після повторного Hide. Дані об’єкта не видаляються; серверний стан Hidden не змінюється.

додому · C# · IDE · UO API · A–Z · Приклади · Languages

C#-сигнатури

void UO.Resend();

Надсилає запит повторної синхронізації світу.

Параметри

Параметрів немає.

Повернене значення

void - значення немає. Викликайте окремим рядком; завершення не підтверджує дію сервера.

Поведінка

  • Resync відправляє NetClient.Socket.Send_Resync на ігровому потоці. Це запит на оновлення, не перепідключення і не підтвердження отримання даних.
  • У прикладах UO.Wait задає лише паузу скрипта; закінчення паузи не доводить виконання запиту сервером.

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

Кожен приклад можна зберегти окремим файлом .csx та запускати в IDE. Об'єкт UO та функції очікування надає host поточної ігрової сесії. Демонстраційні 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;

Clone this wiki locally