-
Notifications
You must be signed in to change notification settings - Fork 0
API UO SubExists it
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.CallSub · UO.FunRunning · UO.SubExists
ClassicUO • Runtime API
Cerca una definizione nel catalogo del gestore prima di avviare un modulo facoltativo. La presenza non implica esecuzione né avviabilità senza argomenti.
UO.SubExists(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 la definizione esiste, altrimenti 0 (False). Validi If UO.SubExists(name), = 1 e = True; 0 corrisponde a False. Non controlla file, validità o esecuzione attiva.
- L’Autoload selezionato ha priorità per nomi uguali. Più definizioni nello stesso file sono ambigue; un helper caricato separatamente deve avere un nome univoco. Le copie di riserva non vengono scelte in ordine di file. SubExists e FunRunning usano il catalogo delle dichiarazioni della sessione, compresa la nuova istantanea dopo Load/Reload; non rileggono il disco a ogni chiamata. Una dichiarazione non prova che il file esista ancora o sia avviabile dopo l’eliminazione. FunRunning verifica anche l’esecuzione attiva della procedura trovata.
- 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 la definizione esiste, altrimenti 0 (False). Validi If UO.SubExists(name), = 1 e = True; 0 corrisponde a False. Non controlla file, validità o esecuzione attiva.
Sorgente del progetto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; funzione SubExists.
L’Autoload selezionato ha priorità per nomi uguali. Più definizioni nello stesso file sono ambigue; un helper caricato separatamente deve avere un nome univoco. Le copie di riserva non vengono scelte in ordine di file. SubExists e FunRunning usano il catalogo delle dichiarazioni della sessione, compresa la nuova istantanea dopo Load/Reload; non rileggono il disco a ogni chiamata. Una dichiarazione non prova che il file esista ancora o sia avviabile dopo l’eliminazione. FunRunning verifica anche l’esecuzione attiva della procedura trovata.
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.
Cerca una definizione nel catalogo del gestore prima di avviare un modulo facoltativo. La presenza non implica esecuzione né avviabilità senza argomenti.
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/ClassicUOInjectionApiBridge.cs; funzione SubExists.
Sono passaggi reali dell’implementazione; i nomi C# non sono comandi UO aggiuntivi. Tutte le funzioni ausiliarie Basic eseguibili sono definite negli esempi.
# Avviare una procedura disponibile
#
# Cerca una definizione nel catalogo del gestore prima di avviare un modulo facoltativo. La
# presenza non implica esecuzione né avviabilità senza argomenti.
#
# Integer: 1 (True) se la definizione esiste, altrimenti 0 (False). Validi If
# UO.SubExists(name), = 1 e = True; 0 corrisponde a False. Non controlla file, validità o
# esecuzione attiva.
SUB Main()
# Per questo risultato logico = True equivale a = 1. Registrare WeightWatch sottostante
# caricando il file.
# 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.SubExists("WeightWatch") = True 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:
- Per questo risultato logico = True equivale a = 1. Registrare WeightWatch sottostante caricando il file.
- 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à.
# Scegliere un’alternativa
#
# Cerca una definizione nel catalogo del gestore prima di avviare un modulo facoltativo. La
# presenza non implica esecuzione né avviabilità senza argomenti.
#
# Integer: 1 (True) se la definizione esiste, altrimenti 0 (False). Validi If
# UO.SubExists(name), = 1 e = True; 0 corrisponde a False. Non controlla file, validità o
# esecuzione attiva.
SUB Main()
# WeightWatch può provenire da un altro file. Se assente, viene scelta ManaWatch locale. Un
# avvio rifiutato della principale trovata non attiva l’alternativa.
# 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.SubExists("WeightWatch") = 1 Then
UO.CallSub("WeightWatch")
ElseIf UO.SubExists("ManaWatch") Then
UO.CallSub("ManaWatch")
End If
END SUB
Sub ManaWatch()
Dim sample
For sample = 1 To 3
If UO.Connected() Then
UO.Print("Mana: " & CStr(UO.Mana()))
End If
UO.Wait(1000)
Next
End SubSpiegazione dei parametri e dell’esecuzione:
- WeightWatch può provenire da un altro file. Se assente, viene scelta ManaWatch locale. Un avvio rifiutato della principale trovata non attiva l’alternativa.
- 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à.
# Verificare entrambe le definizioni
#
# Cerca una definizione nel catalogo del gestore prima di avviare un modulo facoltativo. La
# presenza non implica esecuzione né avviabilità senza argomenti.
#
# Integer: 1 (True) se la definizione esiste, altrimenti 0 (False). Validi If
# UO.SubExists(name), = 1 e = True; 0 corrisponde a False. Non controlla file, validità o
# esecuzione attiva.
SUB Main()
# HaveMonitors usa AndAlso; se un nome manca, Main non avvia nessuno. Non garantisce
# l’esecuzione simultanea riuscita.
# 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 HaveMonitors() Then
UO.CallSub("WeightWatch")
UO.CallSub("ManaWatch")
End If
END SUB
Function HaveMonitors() As Boolean
Return UO.SubExists("WeightWatch") AndAlso UO.SubExists("ManaWatch")
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 Sub
Sub ManaWatch()
Dim sample
For sample = 1 To 3
If UO.Connected() Then
UO.Print("Mana: " & CStr(UO.Mana()))
End If
UO.Wait(1000)
Next
End SubSpiegazione dei parametri e dell’esecuzione:
- HaveMonitors usa AndAlso; se un nome manca, Main non avvia nessuno. Non garantisce l’esecuzione simultanea riuscita.
- 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
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь