-
Notifications
You must be signed in to change notification settings - Fork 0
API UO FunRunning it
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.CallSub · UO.FunRunning · UO.SubExists
ClassicUO • Runtime API
Verifica se la procedura ha un’esecuzione attiva, anche in pausa. Evita di riavviare un monitor esistente.
UO.FunRunning(subrutineName:String) -> Integer
-
subrutineName— String subrutineName obbligatorio: nome Sub/Function del catalogo, per esempio WeightWatch. Non percorso, file, indice, codice o etichetta modificata con SetScriptName. Ignora maiuscole/minuscole ma non elimina spazi. Non può passare argomenti alla procedura.
Integer: 1 (True) se l’esecuzione esiste e non è annullata, anche in pausa manuale o per disconnessione; 0 (False) se assente, non avviata, terminata o in annullamento. Validi If UO.FunRunning(name), = 1 e = True. GetScriptState distingue attività (1) e pausa (2).
- Ricerca solo nel catalogo della sessione. Nomi duplicati selezionano la prima corrispondenza: usare nomi univoci. Questi comandi non caricano file sconosciuti e non cercano sul disco.
- CallSub fornisce zero argomenti. Private, errori di sintassi, parametri obbligatori, Basic disattivato o regola della singola procedura possono impedire l’avvio; controllare stato/errori IDE. Una nuova chiamata non duplica né riprende un’esecuzione attiva. Dopo annullamento può attendere la pulizia. Il controllore non attende la fine dell’attività.
- FunRunning usa nome originale e chiave della procedura, non un’etichetta rinominata. La pausa conserva l’esecuzione e restituisce 1. L’annullamento restituisce 0 anche durante la pulizia. Controllo e chiamata successiva non sono atomici: l’attività può finire nel frattempo.
- SubExists può dare 1 anche per definizioni Private o errate. Fermare l’attività o chiudere la scheda non elimina necessariamente la voce del catalogo. Ricaricare un file modificato rimuove le definizioni obsolete. Una funzione caricata solo in un runtime separato può non essere registrata nel gestore.
Sono passaggi reali dell’implementazione; i nomi C# non sono comandi UO aggiuntivi. Tutte le funzioni ausiliarie Basic eseguibili sono definite negli esempi.
String subrutineName obbligatorio: nome Sub/Function del catalogo, per esempio WeightWatch. Non percorso, file, indice, codice o etichetta modificata con SetScriptName. Ignora maiuscole/minuscole ma non elimina spazi. Non può passare argomenti alla procedura.
Integer: 1 (True) se l’esecuzione esiste e non è annullata, anche in pausa manuale o per disconnessione; 0 (False) se assente, non avviata, terminata o in annullamento. Validi If UO.FunRunning(name), = 1 e = True. GetScriptState distingue attività (1) e pausa (2).
Sorgente del progetto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; funzione FunRunning.
Ricerca solo nel catalogo della sessione. Nomi duplicati selezionano la prima corrispondenza: usare nomi univoci. Questi comandi non caricano file sconosciuti e non cercano sul disco.
SubExists può dare 1 anche per definizioni Private o errate. Fermare l’attività o chiudere la scheda non elimina necessariamente la voce del catalogo. Ricaricare un file modificato rimuove le definizioni obsolete. Una funzione caricata solo in un runtime separato può non essere registrata nel gestore.
Sorgente del progetto: src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs; funzione FindProcedureByName.
Verifica se la procedura ha un’esecuzione attiva, anche in pausa. Evita di riavviare un monitor esistente.
FunRunning usa nome originale e chiave della procedura, non un’etichetta rinominata. La pausa conserva l’esecuzione e restituisce 1. L’annullamento restituisce 0 anche durante la pulizia. Controllo e chiamata successiva non sono atomici: l’attività può finire nel frattempo.
Sorgente del progetto: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; funzione FunRunning.
Sono passaggi reali dell’implementazione; i nomi C# non sono comandi UO aggiuntivi. Tutte le funzioni ausiliarie Basic eseguibili sono definite negli esempi.
# Avviare solo senza esecuzione attiva
#
# Verifica se la procedura ha un’esecuzione attiva, anche in pausa. Evita di riavviare un
# monitor esistente.
#
# Integer: 1 (True) se l’esecuzione esiste e non è annullata, anche in pausa manuale o per
# disconnessione; 0 (False) se assente, non avviata, terminata o in annullamento. Validi If
# UO.FunRunning(name), = 1 e = True. GetScriptState distingue attività (1) e pausa (2).
SUB Main()
# FunRunning = 0 permette la richiesta. La pausa restituisce 1 e non viene rimossa.
# Salvare ogni esempio separatamente, caricarlo in IDE/gestore e avviare Main per registrare le
# procedure. WeightWatch/ManaWatch sono definite completamente: tre misure di peso/mana,
# Wait(1000) = 1000 ms, output solo nel mondo. Monitor finiti; le pause allungano il tempo.
# Consentire procedure simultanee per le due attività.
If Not UO.FunRunning("WeightWatch") Then
UO.CallSub("WeightWatch")
End If
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 SubSpiegazione dei parametri e dell’esecuzione:
- FunRunning = 0 permette la richiesta. La pausa restituisce 1 e non viene rimossa.
- Salvare ogni esempio separatamente, caricarlo in IDE/gestore e avviare Main per registrare le procedure. WeightWatch/ManaWatch sono definite completamente: tre misure di peso/mana, Wait(1000) = 1000 ms, output solo nel mondo. Monitor finiti; le pause allungano il tempo. Consentire procedure simultanee per le due attività.
# Distinguere attività e pausa
#
# Verifica se la procedura ha un’esecuzione attiva, anche in pausa. Evita di riavviare un
# monitor esistente.
#
# Integer: 1 (True) se l’esecuzione esiste e non è annullata, anche in pausa manuale o per
# disconnessione; 0 (False) se assente, non avviata, terminata o in annullamento. Validi If
# UO.FunRunning(name), = 1 e = True. GetScriptState distingue attività (1) e pausa (2).
SUB Main()
# NamedRunState cerca l’etichetta WeightWatch e restituisce GetScriptState: 1, 2 o 0. Richiede
# etichetta unica invariata e lista stabile. Dopo SetScriptName cercare nuova etichetta o
# percorso; FunRunning usa sempre il nome sorgente.
# Salvare ogni esempio separatamente, caricarlo in IDE/gestore e avviare Main per registrare le
# procedure. WeightWatch/ManaWatch sono definite completamente: tre misure di peso/mana,
# Wait(1000) = 1000 ms, output solo nel mondo. Monitor finiti; le pause allungano il tempo.
# Consentire procedure simultanee per le due attività.
If UO.FunRunning("WeightWatch") Then
Return NamedRunState("WeightWatch")
End If
Return 0
END SUB
Function NamedRunState(name) As Integer
Dim indices = UO.GetScriptsList()
For Each index In indices
If UO.GetScriptName(index) = name Then
Return UO.GetScriptState(index)
End If
Next
Return 0
End Function
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 SubSpiegazione dei parametri e dell’esecuzione:
- NamedRunState cerca l’etichetta WeightWatch e restituisce GetScriptState: 1, 2 o 0. Richiede etichetta unica invariata e lista stabile. Dopo SetScriptName cercare nuova etichetta o percorso; FunRunning usa sempre il nome sorgente.
- Salvare ogni esempio separatamente, caricarlo in IDE/gestore e avviare Main per registrare le procedure. WeightWatch/ManaWatch sono definite completamente: tre misure di peso/mana, Wait(1000) = 1000 ms, output solo nel mondo. Monitor finiti; le pause allungano il tempo. Consentire procedure simultanee per le due attività.
# Fermare un solo monitor
#
# Verifica se la procedura ha un’esecuzione attiva, anche in pausa. Evita di riavviare un
# monitor esistente.
#
# Integer: 1 (True) se l’esecuzione esiste e non è annullata, anche in pausa manuale o per
# disconnessione; 0 (False) se assente, non avviata, terminata o in annullamento. Validi If
# UO.FunRunning(name), = 1 e = True. GetScriptState distingue attività (1) e pausa (2).
SUB Main()
# Terminate riceve il nome originale WeightWatch e annulla solo quell’attività, anche in pausa.
# Main deve essere un controllore separato.
# Salvare ogni esempio separatamente, caricarlo in IDE/gestore e avviare Main per registrare le
# procedure. WeightWatch/ManaWatch sono definite completamente: tre misure di peso/mana,
# Wait(1000) = 1000 ms, output solo nel mondo. Monitor finiti; le pause allungano il tempo.
# Consentire procedure simultanee per le due attività.
If UO.FunRunning("WeightWatch") Then
UO.Terminate("WeightWatch")
End If
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 SubSpiegazione dei parametri e dell’esecuzione:
- Terminate riceve il nome originale WeightWatch e annulla solo quell’attività, anche in pausa. Main deve essere un controllore separato.
- Salvare ogni esempio separatamente, caricarlo in IDE/gestore e avviare Main per registrare le procedure. WeightWatch/ManaWatch sono definite completamente: tre misure di peso/mana, Wait(1000) = 1000 ms, output solo nel mondo. Monitor finiti; le pause allungano il tempo. Consentire procedure simultanee per le due attività.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь