Repository navigation
RU API UO Resend
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Hide скрывает загруженный объект локально и не использует Hiding. Resend/Resync сбрасывает это скрытие и восстанавливает прежнее состояние отображения загруженных объектов, в том числе после повторного Hide. Данные объекта не удаляются; серверный Hidden не изменяется.
Главная · C# · IDE · UO API · A–Z · Примеры · Языки
void UO.Resend();Посылает запрос повторной синхронизации мира.
Параметров нет.
void — значения нет. Вызывайте отдельной строкой; завершение не подтверждает действие сервера.
- Resync отправляет NetClient.Socket.Send_Resync на игровом потоке. Это запрос обновления, не переподключение и не подтверждение получения данных.
- В примерах UO.Wait задаёт только паузу скрипта; окончание паузы не доказывает выполнение запроса сервером.
Каждый пример можно сохранить отдельным файлом .csx и запускать в IDE. Объект UO и функции ожидания предоставляет host текущей игровой сессии. Демонстрационные serial, имена, координаты и адреса замените своими.
Выполните этот код как отдельный файл .csx. Аргументы видны прямо в вызове; демонстрационные имена, serial и адреса замените своими.
Команда вызывается отдельной строкой. Сообщение перед ней показывает начало вызова, а не подтверждение действия сервера.
UO.Print("Calling UO.Resend");
UO.Resend();Параметры и ход выполнения:
- Посылает запрос повторной синхронизации мира.
UO.Resend();Параметры и ход выполнения:
- 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;Параметры и ход выполнения:
- В примерах 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.
Параметры: Параметров нет.
Результат: void / Unit.
При вызове:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Resync:bridge.Resync().
Внутренний код реализации, не самостоятельный скрипт.
case "resend": bridge.Resync(); break;ClassicUO — Bad Newbie & C# Scripts IDE