-
Notifications
You must be signed in to change notification settings - Fork 0
API UO PetsMax fr
ClassicUO / Basic IDE
Home · Все команды · Каталоги
Permet de vérifier la capacité pour une autre créature apprivoisée ou invoquée. Followers donne les emplacements de contrôle occupés, FollowersMax la limite totale. Ce n’est ni le nombre d’animaux proches ni la commande de déplacement Follow.
Lit le compteur de status du joueur actuel : maximum d’emplacements de contrôle.
UO.PetsMax() -> Integer
Aucun paramètre.
Integer — maximum d’emplacements de contrôle, 0..255 dans le modèle. 0 peut être réel, inconnu ou dû à Player absent/détruit. Quantité, pas Boolean, ID ou type : 1 signifie une unité, pas un succès. Aucun parcours d’objets ni tableau retourné.
- Avec 3 emplacements occupés sur 5, il en reste 2. 4 peut représenter quatre créatures à un emplacement ou une seule à quatre. Pour un coût de 2, il faut maximum - current >= 2. Le serveur fixe les coûts et la limite; ne supposez pas toujours 5.
- Zéro ne prouve pas la perte ou la mort d’un animal: le statut peut manquer ou être ancien. Une hausse n’identifie pas l’animal apprivoisé. Vérifiez la créature et les messages du serveur. Les places d’écurie sont distinctes.
- Aucun argument. Respecter les signatures affichées.
- Lit Player.FollowersMax sur le fil du jeu si Player existe sans être détruit ; sinon 0. Aucun parcours de l’équipement, calcul de bonus, requête status ou attente. Un fantôme présent n’est pas un Player détruit.
- PetsMax/FollowersMax lit le total autorisé par le serveur dès le status type 3, pas les emplacements libres. L’occupation peut dépasser la limite. Pour afficher la place libre, calculer maximum - current puis ramener les négatifs à 0. Aucune libération, invocation ou domestication.
- CharacterStatus valide son corps fixe avant modification. Weight vient du status propre étendu, les emplacements du type 3, Luck du type 4 et WeightMax serveur du type 5. Un paquet compact/ancien sans compteur optionnel conserve le cache. Un nouveau Player commence à zéro ; la query ne prouve pas un status récent.
- RegisterCharacterGetterAliases ajoute les fonctions sans argument et intrinsèques manquants ; les branches existantes lisent le même champ. Noms insensibles à la casse ; intrinsèque sans parenthèses relu sauf si une variable le masque.
- Chaque appel relit les données locales. Une variable conserve un instantané ; plusieurs lectures peuvent voir différentes mises à jour. Un résultat non nul ne prouve pas la connexion ; zéro peut être une valeur ou une absence de données.
Étapes natives de lecture du cache. CanCarry, LuckAtLeast ou CanAddFollower est une fonction BASIC utilisateur complète dans l’exemple, pas une action native cachée. Aucun inventaire ou familier modifié.
RegisterCharacterGetterAliases ajoute les fonctions sans argument et intrinsèques manquants ; les branches existantes lisent le même champ. Noms insensibles à la casse ; intrinsèque sans parenthèses relu sauf si une variable le masque.
PetsMax FollowersMax GetPetsMax GetFollowersMax.
Source du projet: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; fonction RegisterCharacterGetterAliases.
Lit Player.FollowersMax sur le fil du jeu si Player existe sans être détruit ; sinon 0. Aucun parcours de l’équipement, calcul de bonus, requête status ou attente. Un fantôme présent n’est pas un Player détruit.
Invoke lit sur le fil du jeu ; l’attente respecte l’annulation du script. Aucun paquet, demande de status, ciblage, modification ni délai intégré.
Source du projet: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; fonction Invoke.
CharacterStatus valide son corps fixe avant modification. Weight vient du status propre étendu, les emplacements du type 3, Luck du type 4 et WeightMax serveur du type 5. Un paquet compact/ancien sans compteur optionnel conserve le cache. Un nouveau Player commence à zéro ; la query ne prouve pas un status récent.
PetsMax/FollowersMax lit le total autorisé par le serveur dès le status type 3, pas les emplacements libres. L’occupation peut dépasser la limite. Pour afficher la place libre, calculer maximum - current puis ramener les négatifs à 0. Aucune libération, invocation ou domestication.
Source du projet: src/ClassicUO.Client/Network/PacketHandlers.cs; fonction CharacterStatus.
World.Clear retire Player. Les lectures donnent ensuite 0 jusqu’au retour du personnage et de ses données. Une valeur sauvegardée ne prouve pas qu’un seuil est atteint après reconnexion.
Integer — maximum d’emplacements de contrôle, 0..255 dans le modèle. 0 peut être réel, inconnu ou dû à Player absent/détruit. Quantité, pas Boolean, ID ou type : 1 signifie une unité, pas un succès. Aucun parcours d’objets ni tableau retourné.
Source du projet: src/ClassicUO.Client/Game/World.cs; fonction Clear.
Chaque appel relit les données locales. Une variable conserve un instantané ; plusieurs lectures peuvent voir différentes mises à jour. Un résultat non nul ne prouve pas la connexion ; zéro peut être une valeur ou une absence de données.
# Calculer la capacité disponible
#
# Permet de vérifier la capacité pour une autre créature apprivoisée ou invoquée. Followers
# donne les emplacements de contrôle occupés, FollowersMax la limite totale. Ce n’est ni le
# nombre d’animaux proches ni la commande de déplacement Follow.
#
# Lit le compteur de status du joueur actuel : maximum d’emplacements de contrôle.
#
# Integer — maximum d’emplacements de contrôle, 0..255 dans le modèle. 0 peut être réel, inconnu
# ou dû à Player absent/détruit. Quantité, pas Boolean, ID ou type : 1 signifie une unité, pas
# un succès. Aucun parcours d’objets ni tableau retourné.
SUB Main()
# current est l’occupation, maximum la limite, freeSlots la différence. Une limite absente ou
# des données incohérentes arrêtent l’exemple. Lecture du cache, sans demande de mise à jour.
VAR current = UO.Followers()
VAR maximum = UO.PetsMax()
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 SUBExplication des paramètres et du déroulement:
- current est l’occupation, maximum la limite, freeSlots la différence. Une limite absente ou des données incohérentes arrêtent l’exemple. Lecture du cache, sans demande de mise à jour.
# Vérifier avant Animal Taming
#
# Permet de vérifier la capacité pour une autre créature apprivoisée ou invoquée. Followers
# donne les emplacements de contrôle occupés, FollowersMax la limite totale. Ce n’est ni le
# nombre d’animaux proches ni la commande de déplacement Follow.
#
# Lit le compteur de status du joueur actuel : maximum d’emplacements de contrôle.
#
# Integer — maximum d’emplacements de contrôle, 0..255 dans le modèle. 0 peut être réel, inconnu
# ou dû à Player absent/détruit. Quantité, pas Boolean, ID ou type : 1 signifie une unité, pas
# un succès. Aucun parcours d’objets ni tableau retourné.
SUB Main()
# Sélectionnez d’abord l’animal pour lasttarget. Remplacez requiredSlots=2 par son coût sur le
# serveur. Sans place, aucune cible ni compétence n’est lancée. La cible est préparée avant
# UseSkill("Animal Taming"), à un seul argument. Compétence, distance et serveur déterminent la
# réussite.
VAR requiredSlots = 2
VAR current = UO.Followers()
VAR maximum = UO.PetsMax()
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 SUBExplication des paramètres et du déroulement:
- Sélectionnez d’abord l’animal pour lasttarget. Remplacez requiredSlots=2 par son coût sur le serveur. Sans place, aucune cible ni compétence n’est lancée. La cible est préparée avant UseSkill("Animal Taming"), à un seul argument. Compétence, distance et serveur déterminent la réussite.
# Réutiliser le contrôle pour différents coûts
#
# Permet de vérifier la capacité pour une autre créature apprivoisée ou invoquée. Followers
# donne les emplacements de contrôle occupés, FollowersMax la limite totale. Ce n’est ni le
# nombre d’animaux proches ni la commande de déplacement Follow.
#
# Lit le compteur de status du joueur actuel : maximum d’emplacements de contrôle.
#
# Integer — maximum d’emplacements de contrôle, 0..255 dans le modèle. 0 peut être réel, inconnu
# ou dû à Player absent/détruit. Quantité, pas Boolean, ID ou type : 1 signifie une unité, pas
# un succès. Aucun parcours d’objets ni tableau retourné.
SUB Main()
# CanAddFollower est la fonction BASIC définie dans l’exemple. extraSlots est le coût
# supplémentaire, pas un type/ID. Elle retourne 1/True ou 0/False selon le cache et ne capture
# ni n’invoque rien. Revérifiez juste avant l’action.
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 SUBExplication des paramètres et du déroulement:
- CanAddFollower est la fonction BASIC définie dans l’exemple. extraSlots est le coût supplémentaire, pas un type/ID. Elle retourne 1/True ou 0/False selon le cache et ne capture ni n’invoque rien. Revérifiez juste avant l’action.
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь