Skip to content

API UO Exec it

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

Esegue un comando in forma testuale da console, utile per costruire nome o argomenti. Le chiamate dirette come UO.UseSkill("Hiding") sono più chiare nei normali script. Non valuta codice Basic arbitrario.

Sintassi esatta

UO.Exec(parameters:String) -> Unit

Parametri

  • parameters — String obbligatoria: nome e argomenti separati da spazi, ad esempio useskill Hiding. Nel testo omettere UO., parentesi e virgole di chiamata. In Basic si scrive UO.Exec(...). La stringa vuota non fa nulla.

Restituisce

Unit: nessun valore. Scarta il risultato del comando o della Function locale; per ottenerlo usare una chiamata diretta. Il ritorno non conferma un’azione del server.

Comportamento

  • Apici singoli o doppi raggruppano argomenti con spazi. '' mantiene un argomento vuoto; '00123' rimane String con gli zeri. Senza apici i numeri vengono riconosciuti, gli altri elementi restano stringhe. 2+3 non viene calcolato.
  • Le barre inverse Windows/UNC si conservano. Raddoppiare quella finale subito prima dell’apice di chiusura, oppure usare /. L’apice interno si può raddoppiare o precedere con barra inversa. Un apice aperto genera errore. Print/Msg/Say/ConsolePrint/TextPrint uniscono il resto in testo; ColorPrint/CharPrint mantengono separati gli argomenti iniziali.
  • Prima cerca un gestore UO compatibile, poi una Sub/Function locale del runtime con la giusta arità. Le chiamate locali sono sincrone. La forma speciale exec NomeProcedura chiede al manager un’attività separata senza argomenti; un nome sconosciuto in questa forma non avvia nulla. Non è un percorso di file.
  • Comando ordinario sconosciuto, arità errata o apici malformati causano errori gestibili con Try/Catch. exec richiede esattamente un nome non vuoto. Ripetere un’attività attiva non la duplica né la riprende dalla pausa. File: startscript; catalogo: SubExists/FunRunning. Alias: sayu→Say, closeuo→CloseHandle, CountOnGround→CountGround, clearignorelist→IgnoreReset, canceltarget→CancelTarget, cancelmove→MoveOff.

Funzioni interne: dalla chiamata al risultato

Sono fasi dell’implementazione del client, non comandi Basic aggiuntivi. Le procedure ausiliarie sono definite per intero.

1. Tokenize

Apici singoli o doppi raggruppano argomenti con spazi. '' mantiene un argomento vuoto; '00123' rimane String con gli zeri. Senza apici i numeri vengono riconosciuti, gli altri elementi restano stringhe. 2+3 non viene calcolato.

Le barre inverse Windows/UNC si conservano. Raddoppiare quella finale subito prima dell’apice di chiusura, oppure usare /. L’apice interno si può raddoppiare o precedere con barra inversa. Un apice aperto genera errore. Print/Msg/Say/ConsolePrint/TextPrint uniscono il resto in testo; ColorPrint/CharPrint mantengono separati gli argomenti iniziali.

Sorgente del progetto: external/InjectionScript/src/InjectionScript/Runtime/InjectionRuntime.cs; funzione Tokenize.

2. Exec / CallNativeSubrutine

Prima cerca un gestore UO compatibile, poi una Sub/Function locale del runtime con la giusta arità. Le chiamate locali sono sincrone. La forma speciale exec NomeProcedura chiede al manager un’attività separata senza argomenti; un nome sconosciuto in questa forma non avvia nulla. Non è un percorso di file.

Unit: nessun valore. Scarta il risultato del comando o della Function locale; per ottenerlo usare una chiamata diretta. Il ritorno non conferma un’azione del server.

Sorgente del progetto: external/InjectionScript/src/InjectionScript/Runtime/InjectionRuntime.cs; funzione Exec / CallNativeSubrutine.

Sono fasi dell’implementazione del client, non comandi Basic aggiuntivi. Le procedure ausiliarie sono definite per intero.

Esempi

Usare un’abilità

# Usare un’abilità
#
# Esegue un comando in forma testuale da console, utile per costruire nome o argomenti. Le
# chiamate dirette come UO.UseSkill("Hiding") sono più chiare nei normali script. Non valuta
# codice Basic arbitrario.
#
# Unit: nessun valore. Scarta il risultato del comando o della Function locale; per ottenerlo
# usare una chiamata diretta. Il ritorno non conferma un’azione del server.

SUB Main()
    # Hiding è l’unico argomento di UseSkill. Nel mondo viene inviata una richiesta; il server
    # decide il successo. Equivalente: UO.UseSkill("Hiding").

    UO.Exec("useskill Hiding")
END SUB

Spiegazione dei parametri e dell’esecuzione:

  • Hiding è l’unico argomento di UseSkill. Nel mondo viene inviata una richiesta; il server decide il successo. Equivalente: UO.UseSkill("Hiding").

Passare un nome a una procedura locale

# Passare un nome a una procedura locale
#
# Esegue un comando in forma testuale da console, utile per costruire nome o argomenti. Le
# chiamate dirette come UO.UseSkill("Hiding") sono più chiare nei normali script. Non valuta
# codice Basic arbitrario.
#
# Unit: nessun valore. Scarta il risultato del comando o della Function locale; per ottenerlo
# usare una chiamata diretta. Il ritorno non conferma un’azione del server.

SUB Main()
    # SelectSavedRoute è definita sotto e memorizza il nome del percorso. Gli apici conservano
    # 00123. Main restituisce la stringa dopo la chiamata sincrona; non muove il personaggio.

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

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

Spiegazione dei parametri e dell’esecuzione:

  • SelectSavedRoute è definita sotto e memorizza il nome del percorso. Gli apici conservano 00123. Main restituisce la stringa dopo la chiamata sincrona; non muove il personaggio.

Avviare un monitor indipendente

# Avviare un monitor indipendente
#
# Esegue un comando in forma testuale da console, utile per costruire nome o argomenti. Le
# chiamate dirette come UO.UseSkill("Hiding") sono più chiare nei normali script. Non valuta
# codice Basic arbitrario.
#
# Unit: nessun valore. Scarta il risultato del comando o della Function locale; per ottenerlo
# usare una chiamata diretta. Il ritorno non conferma un’azione del server.

SUB Main()
    # Caricare l’intero file nel manager/IDE, poi eseguire Main: WeightWatch deve essere nel
    # catalogo. Tre misurazioni del peso distanziate di 1000 ms procedono indipendentemente. Servono
    # procedure simultanee abilitate; la ripetizione non elimina la pausa.

    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

Spiegazione dei parametri e dell’esecuzione:

  • Caricare l’intero file nel manager/IDE, poi eseguire Main: WeightWatch deve essere nel catalogo. Tre misurazioni del peso distanziate di 1000 ms procedono indipendentemente. Servono procedure simultanee abilitate; la ripetizione non elimina la pausa.

Caricare un percorso con spazi

# Caricare un percorso con spazi
#
# Esegue un comando in forma testuale da console, utile per costruire nome o argomenti. Le
# chiamate dirette come UO.UseSkill("Hiding") sono più chiare nei normali script. Non valuta
# codice Basic arbitrario.
#
# Unit: nessun valore. Scarta il risultato del comando o della Function locale; per ottenerlo
# usare una chiamata diretta. Il ritorno non conferma un’azione del server.

SUB Main()
    # Sostituire con un file Basic esistente che definisce Main. startscript carica il file e
    # richiede Main. Gli apici interni fanno parte del comando console. Verificare gli errori
    # nell’IDE: Exec non conferma l’avvio.

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

Spiegazione dei parametri e dell’esecuzione:

  • Sostituire con un file Basic esistente che definisce Main. startscript carica il file e richiede Main. Gli apici interni fanno parte del comando console. Verificare gli errori nell’IDE: Exec non conferma l’avvio.

Clone this wiki locally