Skip to content

API UO Exec fr

Codex edited this page Oct 3, 2026 · 1 revision

UO.Exec

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

UO.Exec · UO.Launch · UO.CallSub · UO.FunRunning · UO.SubExists

ClassicUO • Runtime API

Exécute une commande sous forme de texte de console, utile pour composer son nom ou ses arguments. Un appel direct UO.UseSkill("Hiding") est généralement plus lisible. Exec n’évalue pas du code Basic arbitraire.

Syntaxe exacte

UO.Exec(parameters:String) -> Unit

Paramètres

  • parameters — String obligatoire : nom puis arguments séparés par des espaces, par exemple useskill Hiding. Dans le texte, omettre UO., parenthèses et virgules d’appel. L’appel Basic reste UO.Exec(...). Une chaîne vide ne fait rien.

Retour

Unit : aucune valeur. Le résultat de la commande ou Function locale est ignoré ; utiliser un appel direct pour le récupérer. Le retour ne confirme pas une action du serveur.

Comportement

  • Les guillemets simples ou doubles regroupent un argument contenant des espaces. '' conserve un argument vide ; '00123' reste String. Sans guillemets, les nombres sont convertis et les autres mots restent des chaînes. 2+3 n’est pas calculé.
  • Les antislashs Windows/UNC sont conservés. Doubler un antislash final juste avant le guillemet fermant, ou employer /. Un guillemet interne peut être doublé ou échappé avec un antislash. Un guillemet non fermé produit une erreur. Print/Msg/Say/ConsolePrint/TextPrint réunissent le reste en texte ; ColorPrint/CharPrint gardent leurs premiers arguments séparés.
  • La recherche privilégie un gestionnaire UO correspondant, puis une Sub/Function locale du runtime avec le bon nombre d’arguments. L’appel local est synchrone. La forme spéciale exec NomProcedure demande au gestionnaire une tâche séparée sans arguments ; un nom inconnu dans cette forme ne lance rien. Le nom n’est pas un chemin de fichier.
  • Une commande ordinaire inconnue, une arité incorrecte ou des guillemets invalides déclenchent une erreur interceptable par Try/Catch. exec exige un seul nom non vide. Un lancement actif n’est ni dupliqué ni repris après pause. Fichier : startscript ; catalogue : SubExists/FunRunning. Alias : sayu→Say, closeuo→CloseHandle, CountOnGround→CountGround, clearignorelist→IgnoreReset, canceltarget→CancelTarget, cancelmove→MoveOff.

Fonctions internes : de l’appel au résultat

Étapes de l’implémentation du client, et non commandes Basic supplémentaires. Les procédures auxiliaires sont définies intégralement.

1. Tokenize

Les guillemets simples ou doubles regroupent un argument contenant des espaces. '' conserve un argument vide ; '00123' reste String. Sans guillemets, les nombres sont convertis et les autres mots restent des chaînes. 2+3 n’est pas calculé.

Les antislashs Windows/UNC sont conservés. Doubler un antislash final juste avant le guillemet fermant, ou employer /. Un guillemet interne peut être doublé ou échappé avec un antislash. Un guillemet non fermé produit une erreur. Print/Msg/Say/ConsolePrint/TextPrint réunissent le reste en texte ; ColorPrint/CharPrint gardent leurs premiers arguments séparés.

Source du projet: external/InjectionScript/src/InjectionScript/Runtime/InjectionRuntime.cs; fonction Tokenize.

2. Exec / CallNativeSubrutine

La recherche privilégie un gestionnaire UO correspondant, puis une Sub/Function locale du runtime avec le bon nombre d’arguments. L’appel local est synchrone. La forme spéciale exec NomProcedure demande au gestionnaire une tâche séparée sans arguments ; un nom inconnu dans cette forme ne lance rien. Le nom n’est pas un chemin de fichier.

Unit : aucune valeur. Le résultat de la commande ou Function locale est ignoré ; utiliser un appel direct pour le récupérer. Le retour ne confirme pas une action du serveur.

Source du projet: external/InjectionScript/src/InjectionScript/Runtime/InjectionRuntime.cs; fonction Exec / CallNativeSubrutine.

Étapes de l’implémentation du client, et non commandes Basic supplémentaires. Les procédures auxiliaires sont définies intégralement.

Exemples

Utiliser une compétence

# Utiliser une compétence
#
# Exécute une commande sous forme de texte de console, utile pour composer son nom ou ses
# arguments. Un appel direct UO.UseSkill("Hiding") est généralement plus lisible. Exec n’évalue
# pas du code Basic arbitraire.
#
# Unit : aucune valeur. Le résultat de la commande ou Function locale est ignoré ; utiliser un
# appel direct pour le récupérer. Le retour ne confirme pas une action du serveur.

SUB Main()
    # Hiding est le seul argument de UseSkill. Dans le monde, une demande est envoyée ; le serveur
    # décide de la réussite. Équivalent direct : UO.UseSkill("Hiding").

    UO.Exec("useskill Hiding")
END SUB

Explication des paramètres et du déroulement:

  • Hiding est le seul argument de UseSkill. Dans le monde, une demande est envoyée ; le serveur décide de la réussite. Équivalent direct : UO.UseSkill("Hiding").

Transmettre un libellé à une procédure locale

# Transmettre un libellé à une procédure locale
#
# Exécute une commande sous forme de texte de console, utile pour composer son nom ou ses
# arguments. Un appel direct UO.UseSkill("Hiding") est généralement plus lisible. Exec n’évalue
# pas du code Basic arbitraire.
#
# Unit : aucune valeur. Le résultat de la commande ou Function locale est ignoré ; utiliser un
# appel direct pour le récupérer. Le retour ne confirme pas une action du serveur.

SUB Main()
    # SelectSavedRoute, définie ci-dessous, mémorise le nom du trajet. Les guillemets conservent
    # 00123. Main renvoie cette chaîne après l’appel synchrone ; aucun déplacement n’est effectué.

    UO.Exec("SelectSavedRoute '00123'")
    Return UO.GetGlobal("manual", "savedRoute")
END SUB

Sub SelectSavedRoute(name)
    UO.SetGlobal("manual", "savedRoute", name)
End Sub

Explication des paramètres et du déroulement:

  • SelectSavedRoute, définie ci-dessous, mémorise le nom du trajet. Les guillemets conservent 00123. Main renvoie cette chaîne après l’appel synchrone ; aucun déplacement n’est effectué.

Démarrer une surveillance indépendante

# Démarrer une surveillance indépendante
#
# Exécute une commande sous forme de texte de console, utile pour composer son nom ou ses
# arguments. Un appel direct UO.UseSkill("Hiding") est généralement plus lisible. Exec n’évalue
# pas du code Basic arbitraire.
#
# Unit : aucune valeur. Le résultat de la commande ou Function locale est ignoré ; utiliser un
# appel direct pour le récupérer. Le retour ne confirme pas une action du serveur.

SUB Main()
    # Charger tout le fichier dans le gestionnaire/IDE puis lancer Main : WeightWatch doit figurer
    # au catalogue. Trois mesures de poids espacées de 1000 ms s’exécutent indépendamment. Autoriser
    # les procédures simultanées ; répéter l’appel ne retire pas la pause.

    UO.Exec("exec WeightWatch")
END SUB

Sub WeightWatch()
    Dim sample
    For sample = 1 To 3
        If UO.Connected() Then
            UO.Print("Weight: " & CStr(UO.Weight()))
        End If
        UO.Wait(1000)
    Next
End Sub

Explication des paramètres et du déroulement:

  • Charger tout le fichier dans le gestionnaire/IDE puis lancer Main : WeightWatch doit figurer au catalogue. Trois mesures de poids espacées de 1000 ms s’exécutent indépendamment. Autoriser les procédures simultanées ; répéter l’appel ne retire pas la pause.

Charger un chemin avec des espaces

# Charger un chemin avec des espaces
#
# Exécute une commande sous forme de texte de console, utile pour composer son nom ou ses
# arguments. Un appel direct UO.UseSkill("Hiding") est généralement plus lisible. Exec n’évalue
# pas du code Basic arbitraire.
#
# Unit : aucune valeur. Le résultat de la commande ou Function locale est ignoré ; utiliser un
# appel direct pour le récupérer. Le retour ne confirme pas une action du serveur.

SUB Main()
    # Remplacer par un fichier Basic existant contenant Main. startscript charge le fichier et
    # demande Main. Les guillemets internes appartiennent à la commande console. Vérifier les
    # erreurs dans l’IDE : Exec ne confirme pas le démarrage.

    UO.Exec("startscript 'C:\UO Scripts\Gather.bas'")
END SUB

Explication des paramètres et du déroulement:

  • Remplacer par un fichier Basic existant contenant Main. startscript charge le fichier et demande Main. Les guillemets internes appartiennent à la commande console. Vérifier les erreurs dans l’IDE : Exec ne confirme pas le démarrage.

Clone this wiki locally