Skip to content

API UO GetSkillLockState fr

Codex edited this page Sep 22, 2026 · 1 revision

UO.GetSkillLockState

ClassicUO / Basic IDE

Home · API A–Z · Каталоги

Lit le mode local de progression de la compétence.

Syntaxe exacte

UO.GetSkillLockState(SkillName:Any) -> Integer

Paramètres

  • SkillName — Compétence obligatoire : nom des données client, comme "Mining" ou "Animal Lore", ou indice décimal 0..Skills.Length−1 sous forme de nombre ou chaîne. Ignore la casse, retire les espaces extérieurs et remplace _ par un espace. Ce n’est ni un ID d’objet ni un indice commençant à 1. Une chaîne numérique désigne toujours un indice.

Retour

Integer : 0 — augmentation, 1 — diminution, 2 — verrouillage. Code de mode, pas true/false. Une compétence inconnue ou un personnage absent renvoie −1.

Comportement

  • Invoke lit les données existantes sur le fil du jeu, sans paquet réseau. La compétence n’est ni utilisée ni entraînée. Deux lectures sont des instantanés distincts.
  • Compétence obligatoire : nom des données client, comme "Mining" ou "Animal Lore", ou indice décimal 0..Skills.Length−1 sous forme de nombre ou chaîne. Ignore la casse, retire les espaces extérieurs et remplace _ par un espace. Ce n’est ni un ID d’objet ni un indice commençant à 1. Une chaîne numérique désigne toujours un indice.
  • ExecuteClientApiCompatibility choisit la branche. Text lit le sélecteur de compétence ; Arg lit les numéros et modes. Un argument non convertible peut provoquer une erreur de conversion.

Fonctions internes : de l’appel au résultat

Voici les véritables étapes internes C#. ReadMode est une fonction auxiliaire entièrement définie dans l’exemple, pas une commande intégrée cachée.

1. ExecuteClientApiCompatibility

ExecuteClientApiCompatibility choisit la branche. Text lit le sélecteur de compétence ; Arg lit les numéros et modes. Un argument non convertible peut provoquer une erreur de conversion.

Integer : 0 — augmentation, 1 — diminution, 2 — verrouillage. Code de mode, pas true/false. Une compétence inconnue ou un personnage absent renvoie −1.

Source du projet: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; fonction ExecuteClientApiCompatibility.

2. Invoke

Invoke lit dans le thread du jeu ; un thread de travail attend le traitement par le gestionnaire. L’annulation du script interrompt cette attente. Aucun délai ni appel réseau supplémentaire.

Invoke lit les données existantes sur le fil du jeu, sans paquet réseau. La compétence n’est ni utilisée ni entraînée. Deux lectures sont des instantanés distincts.

Source du projet: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; fonction Invoke.

3. FindSkillUnsafe

FindSkillUnsafe vérifie d’abord l’indice décimal et ses bornes ; sinon normalise le nom et compare exactement Skill.Name sans tenir compte de la casse. Un nom inconnu produit null ; aucune cible ne s’ouvre.

Une compétence inconnue ou un personnage absent renvoie −1.

Source du projet: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; fonction FindSkillUnsafe.

4. GetSkillLockState

Lit le mode local de progression de la compétence.

Integer : 0 — augmentation, 1 — diminution, 2 — verrouillage. Code de mode, pas true/false. Une compétence inconnue ou un personnage absent renvoie −1.

Source du projet: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; fonction GetSkillLockState.

Invoke lit les données existantes sur le fil du jeu, sans paquet réseau. La compétence n’est ni utilisée ni entraînée. Deux lectures sont des instantanés distincts.

Exemples

Lire et afficher

# Lire et afficher
#
# Lit le mode local de progression de la compétence.
#
# Integer : 0augmentation, 1diminution, 2verrouillage. Code de mode, pas true/false.
# Une compétence inconnue ou un personnage absent renvoie1.

SUB Main()
    # L’exemple fixe selector et, pour une écriture, mode. La première ligne choisit la compétence
    # par nom ou la caractéristique par numéro. Print affiche seulement le résultat.

    VAR selector = 'Mining'
    VAR mode = UO.GetSkillLockState(selector)
    UO.Print(CStr(mode))
END SUB

Explication des paramètres et du déroulement:

  • L’exemple fixe selector et, pour une écriture, mode. La première ligne choisit la compétence par nom ou la caractéristique par numéro. Print affiche seulement le résultat.

Utiliser dans une condition ou comparaison

# Utiliser dans une condition ou comparaison
#
# Lit le mode local de progression de la compétence.
#
# Integer : 0augmentation, 1diminution, 2verrouillage. Code de mode, pas true/false.
# Une compétence inconnue ou un personnage absent renvoie1.

SUB Main()
    # Le seuil 95.1 et les modes 0/1/2 sont des réglages d’exemple. Vérifiez −1 avant de changer le
    # mode. Lire après l’écriture montre la copie locale sans attendre le serveur.

    VAR mode = UO.GetSkillLockState('Mining')
    IF mode = 2 THEN
        UO.Print("Locked")
    ELSE
        IF mode = -1 THEN
            UO.Print("Unknown selector")
        ELSE
            UO.Print("Mode: " + CStr(mode))
        END IF
    END IF
END SUB

Explication des paramètres et du déroulement:

  • Le seuil 95.1 et les modes 0/1/2 sont des réglages d’exemple. Vérifiez −1 avant de changer le mode. Lire après l’écriture montre la copie locale sans attendre le serveur.

Fonction auxiliaire complète

# Fonction auxiliaire complète
#
# Lit le mode local de progression de la compétence.
#
# Integer : 0augmentation, 1diminution, 2verrouillage. Code de mode, pas true/false.
# Une compétence inconnue ou un personnage absent renvoie1.

SUB Main()
    # La fonction complète suit Main. selector choisit la compétence/caractéristique ; mode indique
    # le mode d’écriture. ReadValue/ReadMode renvoient le nombre initial ; ApplyMode vérifie les
    # arguments, agit et ne renvoie rien. WAIT(1000) sépare deux instantanés de lecture.

    VAR before = ReadMode('Mining')
    WAIT(1000)
    VAR after = ReadMode('Mining')
    UO.Print(CStr(before) + " -> " + CStr(after))
END SUB

SUB ReadMode(selector)
    RETURN UO.GetSkillLockState(selector)
END SUB

Explication des paramètres et du déroulement:

  • La fonction complète suit Main. selector choisit la compétence/caractéristique ; mode indique le mode d’écriture. ReadValue/ReadMode renvoient le nombre initial ; ApplyMode vérifie les arguments, agit et ne renvoie rien. WAIT(1000) sépare deux instantanés de lecture.

Skills / Навыки

Skills / Навыки

Clone this wiki locally