-
Notifications
You must be signed in to change notification settings - Fork 0
API UO GetFollowersMax uk
ClassicUO / Basic IDE
Home · Все команды · Каталоги
Допомагає визначити, чи вистачить місця для наступної прирученої або викликаної істоти. Followers — зайняті слоти керування, FollowersMax — загальна межа. Це не кількість тварин поруч і не команда руху Follow.
Читає лічильник статусу власного персонажа: максимум слотів керування улюбленцями.
UO.GetFollowersMax() -> Integer
Параметрів немає.
Integer — максимум слотів керування улюбленцями, 0..255 у моделі клієнта. 0 може бути фактичним значенням, браком даних або відсутнім/знищеним Player. Це кількість, не Boolean, ID чи type: 1 означає одну одиницю, не успіх. Виклик не перебирає об’єкти й не повертає масив.
- Зайнято 3 з 5 — вільно 2 слоти. Значення 4 може означати чотири істоти по одному слоту або одну на чотири. Для істоти на 2 слоти потрібно maximum - current >= 2. Ціну істоти в слотах і межу задає сервер; не підставляйте завжди 5.
- Нуль не доводить втрату чи смерть улюбленця: статус може бути ще не оновлений. Зростання лічильника не визначає, яку істоту приручено; перевіряйте її та повідомлення сервера. Це не місця в стайні.
- Команда не приймає аргументів. Використовуйте точні сигнатури вище.
- Читання в ігровому потоці бере Player.FollowersMax, якщо поточний Player існує й не знищений; інакше 0. Спорядження не перебирається, бонуси не перераховуються, статус не запитується, очікування оновлення немає. Наявний привид не є знищеним Player.
- PetsMax/FollowersMax повідомляє загальну дозволену сервером межу слотів зі статусу type >= 3, а не вільні слоти. Зайнятих може бути більше за межу. Вільну місткість обчислюйте як maximum - current, замінюючи від’ємний результат на 0. Виклик нікого не відпускає, не приручає й не викликає.
- CharacterStatus перевіряє обов’язкове тіло перед оновленням. Weight є у власному розширеному статусі, слоти — з type 3, Luck — з type 4, серверний WeightMax — з type 5. Компактний/старий пакет без необов’язкового лічильника лишає попередній кеш. Новий Player починає з нулів; виклик не доводить свіжість статусу.
- RegisterCharacterGetterAliases додає відсутні функції без аргументів і вбудовані імена для поля. Наявні гілки сумісності читають те саме поле bridge. Регістр не важливий; intrinsic без дужок читається заново, якщо його не перекрила змінна.
- Кожен виклик читає локальні дані заново. Змінна зберігає знімок; окремі читання можуть бачити різні оновлення сервера. Ненульовий результат не перевіряє з’єднання. Нуль буває значенням або відсутністю даних.
Внутрішні етапи читання кешованого лічильника. Повністю оголошена CanCarry, LuckAtLeast чи CanAddFollower у прикладі — користувацький BASIC, не прихована нативна дія. Вона не змінює інвентар чи улюбленців.
RegisterCharacterGetterAliases додає відсутні функції без аргументів і вбудовані імена для поля. Наявні гілки сумісності читають те саме поле bridge. Регістр не важливий; intrinsic без дужок читається заново, якщо його не перекрила змінна.
PetsMax FollowersMax GetPetsMax GetFollowersMax.
Код проєкту: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; функція RegisterCharacterGetterAliases.
Читання в ігровому потоці бере Player.FollowersMax, якщо поточний Player існує й не знищений; інакше 0. Спорядження не перебирається, бонуси не перераховуються, статус не запитується, очікування оновлення немає. Наявний привид не є знищеним Player.
Invoke читає на ігровому потоці; очікування можна скасувати разом зі скриптом. Не запитує status, не відкриває target, не надсилає пакета, не змінює характеристику й не додає затримки.
Код проєкту: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; функція Invoke.
CharacterStatus перевіряє обов’язкове тіло перед оновленням. Weight є у власному розширеному статусі, слоти — з type 3, Luck — з type 4, серверний WeightMax — з type 5. Компактний/старий пакет без необов’язкового лічильника лишає попередній кеш. Новий Player починає з нулів; виклик не доводить свіжість статусу.
PetsMax/FollowersMax повідомляє загальну дозволену сервером межу слотів зі статусу type >= 3, а не вільні слоти. Зайнятих може бути більше за межу. Вільну місткість обчислюйте як maximum - current, замінюючи від’ємний результат на 0. Виклик нікого не відпускає, не приручає й не викликає.
Код проєкту: src/ClassicUO.Client/Network/PacketHandlers.cs; функція CharacterStatus.
World.Clear прибирає Player. Далі повертається 0, доки не з’являться поточний персонаж і його дані. Збережене значення не доводить виконання вимоги після перепідключення.
Integer — максимум слотів керування улюбленцями, 0..255 у моделі клієнта. 0 може бути фактичним значенням, браком даних або відсутнім/знищеним Player. Це кількість, не Boolean, ID чи type: 1 означає одну одиницю, не успіх. Виклик не перебирає об’єкти й не повертає масив.
Код проєкту: src/ClassicUO.Client/Game/World.cs; функція Clear.
Кожен виклик читає локальні дані заново. Змінна зберігає знімок; окремі читання можуть бачити різні оновлення сервера. Ненульовий результат не перевіряє з’єднання. Нуль буває значенням або відсутністю даних.
# Обчислити вільні слоти
#
# Допомагає визначити, чи вистачить місця для наступної прирученої або викликаної істоти.
# Followers — зайняті слоти керування, FollowersMax — загальна межа. Це не кількість тварин
# поруч і не команда руху Follow.
#
# Читає лічильник статусу власного персонажа: максимум слотів керування улюбленцями.
#
# Integer — максимум слотів керування улюбленцями, 0..255 у моделі клієнта. 0 може бути
# фактичним значенням, браком даних або відсутнім/знищеним Player. Це кількість, не Boolean, ID
# чи type: 1 означає одну одиницю, не успіх. Виклик не перебирає об’єкти й не повертає масив.
SUB Main()
# current — зайнято, maximum — межа, freeSlots — різниця. Нульова межа або суперечливі дані
# припиняють приклад. Читається останній статус без запиту оновлення.
VAR current = UO.Followers()
VAR maximum = UO.GetFollowersMax()
IF UO.Self() = 0 OR maximum <= 0 OR current > maximum THEN
UO.Print("Follower status is unavailable or inconsistent")
RETURN
END IF
VAR freeSlots = maximum - current
UO.Print("Control slots: " + CStr(current) + "/" + CStr(maximum))
UO.Print("Free slots: " + CStr(freeSlots))
END SUBПояснення параметрів і виконання:
- current — зайнято, maximum — межа, freeSlots — різниця. Нульова межа або суперечливі дані припиняють приклад. Читається останній статус без запиту оновлення.
# Перевірити місце перед Animal Taming
#
# Допомагає визначити, чи вистачить місця для наступної прирученої або викликаної істоти.
# Followers — зайняті слоти керування, FollowersMax — загальна межа. Це не кількість тварин
# поруч і не команда руху Follow.
#
# Читає лічильник статусу власного персонажа: максимум слотів керування улюбленцями.
#
# Integer — максимум слотів керування улюбленцями, 0..255 у моделі клієнта. 0 може бути
# фактичним значенням, браком даних або відсутнім/знищеним Player. Це кількість, не Boolean, ID
# чи type: 1 означає одну одиницю, не успіх. Виклик не перебирає об’єкти й не повертає масив.
SUB Main()
# Спочатку виберіть тварину для lasttarget. requiredSlots=2 замініть її вартістю на сервері. За
# нестачі місця навичка не запускається. Ціль готується перед UseSkill("Animal Taming") з одним
# аргументом. Успіх залежить також від навички, відстані та сервера.
VAR requiredSlots = 2
VAR current = UO.Followers()
VAR maximum = UO.GetFollowersMax()
IF UO.Self() = 0 OR maximum <= 0 OR maximum - current < requiredSlots THEN
UO.Print("Not enough known control slots")
RETURN
END IF
VAR animal = UO.LastTarget()
IF animal = 0 THEN
UO.Print("Select the animal first")
RETURN
END IF
UO.WaitTargetObject(animal)
UO.UseSkill("Animal Taming")
END SUBПояснення параметрів і виконання:
- Спочатку виберіть тварину для lasttarget. requiredSlots=2 замініть її вартістю на сервері. За нестачі місця навичка не запускається. Ціль готується перед UseSkill("Animal Taming") з одним аргументом. Успіх залежить також від навички, відстані та сервера.
# Повторно використати перевірку
#
# Допомагає визначити, чи вистачить місця для наступної прирученої або викликаної істоти.
# Followers — зайняті слоти керування, FollowersMax — загальна межа. Це не кількість тварин
# поруч і не команда руху Follow.
#
# Читає лічильник статусу власного персонажа: максимум слотів керування улюбленцями.
#
# Integer — максимум слотів керування улюбленцями, 0..255 у моделі клієнта. 0 може бути
# фактичним значенням, браком даних або відсутнім/знищеним Player. Це кількість, не Boolean, ID
# чи type: 1 означає одну одиницю, не успіх. Виклик не перебирає об’єкти й не повертає масив.
SUB Main()
# CanAddFollower — оголошений у прикладі помічник BASIC. extraSlots — слоти додаткової істоти,
# не type/ID. Результат 1/True або 0/False стосується кешованого ліміту. Функція не приручає й
# не викликає; перевіряйте знову перед дією.
IF CanAddFollower(2) THEN
UO.Print("Capacity check passed; verify the creature cost before acting")
ELSE
UO.Print("Insufficient capacity or unavailable status")
END IF
END SUB
SUB CanAddFollower(extraSlots)
IF extraSlots < 0 OR UO.Self() = 0 THEN
RETURN FALSE
END IF
VAR current = UO.PetsCurrent()
VAR maximum = UO.GetFollowersMax()
IF maximum <= 0 THEN
RETURN FALSE
END IF
RETURN extraSlots <= maximum - current
END SUBПояснення параметрів і виконання:
- CanAddFollower — оголошений у прикладі помічник BASIC. extraSlots — слоти додаткової істоти, не type/ID. Результат 1/True або 0/False стосується кешованого ліміту. Функція не приручає й не викликає; перевіряйте знову перед дією.
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь