Skip to content

API UO TicksSpell

Codex edited this page Nov 6, 2026 · 11 revisions

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

UO.TicksSpell

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

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

int UO.TicksSpell();

Читає збережену позначку TicksSpell.

Параметри

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

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

int - позначка UO.Timer в десятих частках секунди від старту runtime. 0 - позначка ще не встановлена ​​або подія була в першу десяту секунди; це не мілісекунди та не календарний час.

Поведінка

  • Повертає поле ticksSpell. Його оновлює успішно прийнятий Cast/CastAtTarget; це не автоматичне відстеження всіх ручних/серверних дій. Сама команда позначку не змінює.
  • UO.Timer() - позначка обчислює вік десятих секунди. Між різними runtime позначки не порівнюються.

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

Кожен приклад можна зберегти окремим файлом .csx та запускати в IDE. Об'єкт UO та функції очікування надає host поточної ігрової сесії. Демонстраційні serial, імена, координати та адреси замініть своїми.

Простий приклад

Виконайте цей код як окремий файл .csx. Аргументи видно безпосередньо у виклику; демонстраційні імена, serial та адреси замініть своїми.

Результат одного виклику виводиться в журнал. Число не перетворюється на bool; для масиву показано кількість елементів.

var result = UO.TicksSpell();
UO.Print("TicksSpell: " + Convert.ToString(result));

1. Прямий виклик – прямий скрипт

Параметри та порядок виконання:

  • Читає збережену позначку TicksSpell.
var stamp = UO.TicksSpell();
UO.Print(stamp);

2. Явний варіант – функція сценарію

Параметри та порядок виконання:

  • Повертає поле ticksSpell. Його оновлює успішно прийнятий Cast/CastAtTarget; це не автоматичне відстеження всіх ручних/серверних дій. Сама команда позначку не змінює.
return  RunScenario();
 object? RunScenario()
{
    var stamp = UO.TicksSpell();
    var ageTenths = UO.Timer() - stamp;
    UO.Print(ageTenths);
    return null;
}

3. Повна допоміжна функція – клас сценарію

Параметри та порядок виконання:

  • UO.Timer() - позначка обчислює вік десятих секунди. Між різними runtime позначки не порівнюються.

Spells / Заклинання

Spells / Заклинання

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()
    {
        var before = UO.TicksSpell();
        UO.Wait(250);
        var after = UO.TicksSpell();
        UO.Print(before == after);
        return null;
    }
}

Реалізація команди

C# враховує регістр. Використовуйте точне ім’я UO. Числові прапорці порівнюйте з 0; bool використовуйте лише там, де сигнатура повертає bool.

UO.TicksSpell() — UO.TicksSpell()

Параметри: Немає параметрів.

Результат: int / Integer.

Під час виклику:

Внутрішній код реалізації, не самостійний скрипт.

public int TicksSpell() => ticksSpell;

Clone this wiki locally