-
Notifications
You must be signed in to change notification settings - Fork 0
API UO PetsCurrent es
ClassicUO / Basic IDE
Home · Все команды · Каталоги
Permite comprobar si hay capacidad para otra criatura domada o invocada. Followers indica los espacios de control ocupados; FollowersMax, el límite total. No cuenta animales cercanos ni es la orden de movimiento Follow.
Lee el contador de status del jugador actual: espacios de control ocupados.
UO.PetsCurrent() -> Integer
Sin parámetros.
Integer — espacios de control ocupados, 0..255 en el modelo. 0 puede ser real, desconocido o Player ausente/destruido. Cantidad, no Boolean, ID ni type: 1 significa una unidad, no éxito. No enumera objetos ni devuelve un array.
- Con 3 espacios ocupados de 5 quedan 2. 4 puede representar cuatro criaturas de un espacio o una de cuatro. Para un coste de 2 hace falta maximum - current >= 2. El servidor determina costes y límite; no suponga siempre 5.
- Cero no demuestra pérdida o muerte: el estado puede faltar o estar desactualizado. Un aumento no identifica la criatura domada. Compruebe la criatura y los mensajes del servidor. Los espacios del establo son distintos.
- No admite argumentos. Usar las firmas mostradas.
- Lee Player.Followers en el hilo del juego si Player existe y no está destruido; de lo contrario 0. Sin búsqueda de equipo, cálculo de bonos, petición status ni espera. Un fantasma presente no es un Player destruido.
- PetsCurrent/Followers lee espacios de control ocupados del status propio type >= 3. Una mascota puede ocupar varios; el servidor fija reglas para criaturas invocadas/domadas. No cuenta mobiles visibles, no lista ID ni cuenta animales cercanos.
- CharacterStatus valida el cuerpo fijo antes de actualizar. Weight viene del status propio extendido, espacios desde type 3, Luck desde type 4 y WeightMax del servidor desde type 5. Paquetes compactos/antiguos sin contador opcional conservan la caché. Player nuevo empieza en cero; la consulta no demuestra un status reciente.
- RegisterCharacterGetterAliases añade funciones sin argumentos e intrínsecos ausentes. Las ramas existentes leen el mismo campo. Nombres sin distinción de mayúsculas; intrínsecos sin paréntesis se releen salvo variables que los oculten.
- Cada llamada vuelve a leer datos locales. Las variables guardan instantáneas; llamadas separadas pueden ver distintas actualizaciones. Un valor no cero no prueba conexión; cero puede ser un valor o datos ausentes.
Etapas nativas de lectura en caché. CanCarry, LuckAtLeast o CanAddFollower es una función BASIC de usuario completa en el ejemplo, no una acción nativa oculta. No modifica inventario ni seguidores.
RegisterCharacterGetterAliases añade funciones sin argumentos e intrínsecos ausentes. Las ramas existentes leen el mismo campo. Nombres sin distinción de mayúsculas; intrínsecos sin paréntesis se releen salvo variables que los oculten.
PetsCurrent Followers GetPetsCurrent GetFollowers.
Código del proyecto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; función RegisterCharacterGetterAliases.
Lee Player.Followers en el hilo del juego si Player existe y no está destruido; de lo contrario 0. Sin búsqueda de equipo, cálculo de bonos, petición status ni espera. Un fantasma presente no es un Player destruido.
Invoke lee en el hilo del juego; la espera respeta la cancelación del script. Sin paquete, solicitud de status, target, modificación ni retraso incorporado.
Código del proyecto: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; función Invoke.
CharacterStatus valida el cuerpo fijo antes de actualizar. Weight viene del status propio extendido, espacios desde type 3, Luck desde type 4 y WeightMax del servidor desde type 5. Paquetes compactos/antiguos sin contador opcional conservan la caché. Player nuevo empieza en cero; la consulta no demuestra un status reciente.
PetsCurrent/Followers lee espacios de control ocupados del status propio type >= 3. Una mascota puede ocupar varios; el servidor fija reglas para criaturas invocadas/domadas. No cuenta mobiles visibles, no lista ID ni cuenta animales cercanos.
Código del proyecto: src/ClassicUO.Client/Network/PacketHandlers.cs; función CharacterStatus.
World.Clear elimina Player. Las consultas dan 0 hasta que vuelvan el jugador y sus datos. Un valor guardado no prueba el requisito tras reconectar.
Integer — espacios de control ocupados, 0..255 en el modelo. 0 puede ser real, desconocido o Player ausente/destruido. Cantidad, no Boolean, ID ni type: 1 significa una unidad, no éxito. No enumera objetos ni devuelve un array.
Código del proyecto: src/ClassicUO.Client/Game/World.cs; función Clear.
Cada llamada vuelve a leer datos locales. Las variables guardan instantáneas; llamadas separadas pueden ver distintas actualizaciones. Un valor no cero no prueba conexión; cero puede ser un valor o datos ausentes.
# Calcular la capacidad libre
#
# Permite comprobar si hay capacidad para otra criatura domada o invocada. Followers indica los
# espacios de control ocupados; FollowersMax, el límite total. No cuenta animales cercanos ni es
# la orden de movimiento Follow.
#
# Lee el contador de status del jugador actual: espacios de control ocupados.
#
# Integer — espacios de control ocupados, 0..255 en el modelo. 0 puede ser real, desconocido o
# Player ausente/destruido. Cantidad, no Boolean, ID ni type: 1 significa una unidad, no éxito.
# No enumera objetos ni devuelve un array.
SUB Main()
# current es la ocupación, maximum el límite y freeSlots la diferencia. Un límite ausente o
# datos incoherentes detienen el ejemplo. Lee el estado guardado sin pedir actualización.
VAR current = UO.PetsCurrent()
VAR maximum = UO.FollowersMax()
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 SUBExplicación de los parámetros y la ejecución:
- current es la ocupación, maximum el límite y freeSlots la diferencia. Un límite ausente o datos incoherentes detienen el ejemplo. Lee el estado guardado sin pedir actualización.
# Comprobar antes de Animal Taming
#
# Permite comprobar si hay capacidad para otra criatura domada o invocada. Followers indica los
# espacios de control ocupados; FollowersMax, el límite total. No cuenta animales cercanos ni es
# la orden de movimiento Follow.
#
# Lee el contador de status del jugador actual: espacios de control ocupados.
#
# Integer — espacios de control ocupados, 0..255 en el modelo. 0 puede ser real, desconocido o
# Player ausente/destruido. Cantidad, no Boolean, ID ni type: 1 significa una unidad, no éxito.
# No enumera objetos ni devuelve un array.
SUB Main()
# Seleccione primero el animal para lasttarget. Cambie requiredSlots=2 por su coste en el
# servidor. Sin capacidad no se prepara objetivo ni se inicia habilidad. El objetivo se prepara
# antes de UseSkill("Animal Taming"), con un solo argumento. Habilidad, distancia y servidor
# determinan el éxito.
VAR requiredSlots = 2
VAR current = UO.PetsCurrent()
VAR maximum = UO.FollowersMax()
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 SUBExplicación de los parámetros y la ejecución:
- Seleccione primero el animal para lasttarget. Cambie requiredSlots=2 por su coste en el servidor. Sin capacidad no se prepara objetivo ni se inicia habilidad. El objetivo se prepara antes de UseSkill("Animal Taming"), con un solo argumento. Habilidad, distancia y servidor determinan el éxito.
# Reutilizar la comprobación con otros costes
#
# Permite comprobar si hay capacidad para otra criatura domada o invocada. Followers indica los
# espacios de control ocupados; FollowersMax, el límite total. No cuenta animales cercanos ni es
# la orden de movimiento Follow.
#
# Lee el contador de status del jugador actual: espacios de control ocupados.
#
# Integer — espacios de control ocupados, 0..255 en el modelo. 0 puede ser real, desconocido o
# Player ausente/destruido. Cantidad, no Boolean, ID ni type: 1 significa una unidad, no éxito.
# No enumera objetos ni devuelve un array.
SUB Main()
# CanAddFollower es la función BASIC definida en el ejemplo. extraSlots es el coste adicional,
# no type/ID. Devuelve 1/True o 0/False según el estado guardado; no doma ni invoca. Vuelva a
# comprobar justo antes de actuar.
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.PetsMax()
IF maximum <= 0 THEN
RETURN FALSE
END IF
RETURN extraSlots <= maximum - current
END SUBExplicación de los parámetros y la ejecución:
- CanAddFollower es la función BASIC definida en el ejemplo. extraSlots es el coste adicional, no type/ID. Devuelve 1/True o 0/False según el estado guardado; no doma ni invoca. Vuelva a comprobar justo antes de actuar.
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь