API UO GetSex - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

UO.GetSex

Оглавление · Алфавитный указатель · Character

ClassicUO • Runtime API

Читает код пола и расы из модели клиента.

Точный синтаксис

UO.GetSex() -> Integer

Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.

Параметры

Параметров нет.

Возвращает

Integer — совместимый код: 0=human male, 1=human female, 2=elf male, 3=elf female, 4=gargoyle male, 5=gargoyle female. Без персонажа также 0, поэтому для наличия проверяйте Exists(self). Это не простой Boolean female.

Поведение

  • Читаются уже полученные локальные данные. Запрос не открывает status и не заставляет сервер прислать обновление. После смерти, перехода карты или удаления объекта значения могут измениться между двумя вызовами.
  • Это функции чтения: присваивание результата переменной сохраняет снимок. Оно не изменяет характеристику персонажа. Имена нечувствительны к регистру; используйте именно показанную форму с нужным числом аргументов.

Примеры

Пример 1. Вывести текущее значение своего персонажа

# Вывести текущее значение своего персонажа
#
# Читает код пола и расы из модели клиента.
#
# Integer — совместимый код: 0=human male, 1=human female, 2=elf male, 3=elf female, 4=gargoyle
# male, 5=gargoyle female. Без персонажа также 0, поэтому для наличия проверяйте Exists(self).
# Это не простой Boolean female.

SUB Main()
    # Вызов без аргументов относится к self. Код пола и расы сохраняется в value.
    # STR преобразует число для вывода и не меняет смысл результата.

    VAR value = UO.GetSex()
    UO.Print('GetSex: ' + STR(value))
END SUB

Разбор параметров и выполнения:

  • Вызов без аргументов относится к self. Код пола и расы сохраняется в value.
  • STR преобразует число для вывода и не меняет смысл результата.

Пример 2. Использовать значение в прикладной проверке

# Использовать значение в прикладной проверке
#
# Читает код пола и расы из модели клиента.
#
# Integer — совместимый код: 0=human male, 1=human female, 2=elf male, 3=elf female, 4=gargoyle
# male, 5=gargoyle female. Без персонажа также 0, поэтому для наличия проверяйте Exists(self).
# Это не простой Boolean female.

SUB Main()
    # Значение читается один раз без аргументов. Код пола и расы используется в показанном расчёте
    # или условии.
    # Числовые пороги — пример условий скрипта, а не новые пределы клиента. Поле сохраняет серверные
    # единицы и ограничения, описанные выше.

    VAR value = UO.GetSex()
    IF value = 4 OR value = 5 THEN
        UO.Print('Gargoyle sex/race code')
    END IF
END SUB

Разбор параметров и выполнения:

  • Значение читается один раз без аргументов. Код пола и расы используется в показанном расчёте или условии.
  • Числовые пороги — пример условий скрипта, а не новые пределы клиента. Поле сохраняет серверные единицы и ограничения, описанные выше.

Пример 3. Наблюдать изменение за одну секунду

# Наблюдать изменение за одну секунду
#
# Читает код пола и расы из модели клиента.
#
# Integer — совместимый код: 0=human male, 1=human female, 2=elf male, 3=elf female, 4=gargoyle
# male, 5=gargoyle female. Без персонажа также 0, поэтому для наличия проверяйте Exists(self).
# Это не простой Boolean female.

SUB Main()
    # Оба вызова без аргумента читают своё текущее значение. WAIT(1000) даёт паузу в миллисекундах
    # между снимками.
    # Сравнивается изменение: код пола и расы. Пример ничего не изменяет в мире и не ждёт
    # бесконечно. События внутри этой секунды могут быть пропущены.

    VAR before = UO.GetSex()
    WAIT(1000)
    VAR after = UO.GetSex()
    IF before <> after THEN
        UO.Print('Before: ' + STR(before) + '; after: ' + STR(after))
    END IF
END SUB

Разбор параметров и выполнения:

  • Оба вызова без аргумента читают своё текущее значение. WAIT(1000) даёт паузу в миллисекундах между снимками.
  • Сравнивается изменение: код пола и расы. Пример ничего не изменяет в мире и не ждёт бесконечно. События внутри этой секунды могут быть пропущены.