Repository navigation
IT UO Topic search
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Home · C# · IDE · UO API · A–Z · Esempi · Lingue
Selezione di un'area di ricerca e filtri, elaborazione del risultato, elenco degli elementi trovati ed eccezioni. Verificare il valore “non trovato” sulla scheda comando: serial, quantità e lista - risultati diversi.
UO.FindType · UO.FindTypeEx · UO.FindTypesArrayEx · UO.FindAnyType · UO.FindAtCoord · UO.FindItem · UO.FindCount · UO.FindQuantity · UO.FindFullQuantity · UO.Count · UO.CountEx · UO.CountGround · UO.GetWorldItems · UO.GetFoundItems · UO.GetFindedList
UO.FindMobile · UO.FindMan · UO.FindByNotoriety · UO.FindNotoriety
UO.FindDistance · UO.FindVertical
UO.AddFindList · UO.ClearFindList · UO.DeleteFindList · UO.FindList · UO.InfoFindList · UO.MFGI
UO.Ignore · UO.IgnoreOff · UO.IgnoreReset · UO.AddIgnoreList · UO.ClearIgnoreList · UO.DeleteIgnoreList · UO.SelectIgnoreList · UO.GetIgnoreList
UO.SetBadObject · UO.ClearBadObjectList
UO.SetBadLocation · UO.ClearBadLocationList
Ogni carta comando ha diversi scenari indipendenti: codice diretto, funzioni e classi. Di seguito sono selezionati brevi scenari; restrizioni e un'analisi completa sono nelle carte.
Parametri, risultato e tutti gli scenari
var gold = UO.FindType(0x0EED, -1, "backpack");
if (Truth(gold == ""))
{
UO.Print("Gold was not found in the loaded backpack");
}
else
{
UO.Print("Gold serial: " + gold);
UO.Info(gold);
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri, risultato e tutti gli scenari
var found = UO.FindType(0x0EED, -1, "backpack");
var value = UO.FindFullQuantity();
UO.Print(Convert.ToString(value));
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.AddFindList(object? list, object? @type);
void UO.AddFindList(object? list, object? @type, object? color);
Aggiunge la regola type/hue all'insieme denominato per UO.FindList. Il set consente di cercare ripetutamente diversi tipi di oggetti o cellulari e di impostare la priorità dei tipi in base all'ordine di aggiunta.
-
list— Il nome del set di regole, ad esempio "bottino". Passa la stringa senza |: questo carattere viene utilizzato come separatore all'interno del record. Il nome non fa distinzione tra maiuscole e minuscole. Questo non è un contenitore serial o un array di elementi trovati. -
type- Immagine/type di un oggetto o body mobile, non il suo serial. Tipicamente int 0..65535, incluso 0x0EED; -1 o 0xFFFF significa qualsiasi type durante la ricerca. Fornire un valore per voce. Diversi tipi vengono aggiunti da chiamate separate. -
color— Tonalità di un oggetto/corpo, non RGB. int 0..65535; 0 - normale hue 0, -1 o 0xFFFF - qualsiasi. In AddFindList, saltare il colore significa qualsiasi hue durante la ricerca.
void: nessun valore restituito. Non assegnare la chiamata a una variabile e non testarla su true/1. Lo stato delle definizioni può essere dedotto UO.InfoFindList(); la ricerca stessa viene avviata separatamente tramite UO.FindList().
- Le definizioni sono nello stato del runtime dello script specificato. Un altro runtime indipendente ha il proprio set; chiudendo la finestra IDE non si cancellano queste regole. Questo non è un file di impostazioni o un elenco di oggetti di gioco globali.
- AddFindList aggiunge la voce alla fine; le ripetizioni non vengono cancellate. Per riapprovvigionare il tuo kit, chiama prima ClearFindList("nome"). La modifica delle definizioni non cancella FindItem/FindCount/GetFoundItems che sono già state ricevute.
- Il record memorizza i campi di testo. Il letterale numerico 0x0EED è memorizzato come "3821", la stringa "0x0EED" è memorizzata come "0x0EED". La ricerca converte entrambe le opzioni in un numero e DeleteFindList confronta il testo memorizzato. Utilizza lo stesso modulo per aggiungere ed eliminare.
- Il nome sconosciuto in FindList non è un set registrato vuoto: il motore tenta di analizzarlo come un elenco di tipi numerici. Un nome non numerico provoca un errore di conversione. Dopo aver eliminato l'ultima voce, crea un nuovo set prima di cercare quel nome.
- Gli argomenti vengono memorizzati immediatamente; il controllo numerico type/hue viene eseguito a FindList. AddFindList non cerca, trasporta oggetti o aggiunge serial a Ignore.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il comando è un’istruzione separata. Il messaggio precedente indica l’inizio della chiamata e non conferma un’azione del server.
UO.Print("Calling UO.AddFindList");
UO.AddFindList("simple_loot", 0x0EED);
Parametri e flusso di esecuzione:
- 0x0EED è oro, 0x0F7A è il secondo graphic del set. Per gli altri dati del server, sostituire la grafica. La procedura completa BuildLoot è riportata sopra.
- FindCount(item) legge il numero di unità di un particolare stack; GetFoundItems contiene serial distinti. Questo esempio non esegue alcun trasferimento.
BuildLoot();
var first = UO.FindList("loot", "ground", 2, -1, false, 5, false);
if (Truth(first == ""))
{
UO.Print("No matching loot nearby");
return null;
}
var items = UO.GetFoundItems();
foreach (var item in items)
{
UO.Print(UO.GetName(item) + " | stack: " + Convert.ToString(UO.FindCount(item)));
}
void BuildLoot()
{
UO.ClearFindList("loot");
UO.AddFindList("loot", 0x0EED, -1);
UO.AddFindList("loot", 0x0F7A, -1);
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- filtri 0x0044 hue; questo non è serial. backpack ricerca il contenuto diretto dello zaino. AddObject salva l'oggetto selezionato con un nome in questo runtime.
return RunScenario();
object? RunScenario()
{
UO.ClearFindList("colored");
UO.AddFindList("colored", 0x0EED, 0x0044);
var first = UO.FindList("colored", "backpack");
if (Truth(first != ""))
{
UO.AddObject("colored_item", first);
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- In ogni voce, il colore mancante significa qualsiasi hue. La riga "5|6" consente due codici di notorietà; questo filtro esclude gli articoli normali. La ricerca non attacca né lancia Follow.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
UO.ClearFindList("watch");
UO.AddFindList("watch", 0x0190);
UO.AddFindList("watch", 0x0191);
var nearby = UO.FindList("watch", "ground", 12, "5|6", true, 10);
if (Truth(nearby != ""))
{
UO.AddObject("watched_mobile", nearby);
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: list (Any), type (Any)
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList(name). -
InjectionScript.Runtime.InjectionValue.ToString:value.ToString().
Codice interno di implementazione; non è uno script autonomo.
case "adddir":
case "addfindlist":
case "addgate":
case "addrecall":
case "addstep":
LegacyList(name).Add(string.Join("|", arguments.Select(value => value.ToString())));
break;
Parametri: list (Any), type (Any), color (Any)
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList(name). -
InjectionScript.Runtime.InjectionValue.ToString:value.ToString().
Codice interno di implementazione; non è uno script autonomo.
case "adddir":
case "addfindlist":
case "addgate":
case "addrecall":
case "addstep":
LegacyList(name).Add(string.Join("|", arguments.Select(value => value.ToString())));
break;
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.AddIgnoreList(object? list, object? @type);
void UO.AddIgnoreList(object? list, object? @type, object? color);
Prepara un insieme di cose con nome che dovrebbero essere saltate durante la ricerca: ad esempio, non selezionare l'oro o non selezionare cose di un certo colore. La regola è specificata da type e hue, quindi si applica a tutti gli oggetti idonei, compresi quelli apparsi successivamente. Dopo l'impostazione, abilitare la composizione tramite SelectIgnoreList.
-
list— Nome arbitrario non vuoto, ad esempio "loot_skip". Il nome non fa distinzione tra maiuscole e minuscole. Questo non è il nome dell'elemento, non il contenitore serial e non il nome di FindList. -
type- Grafico/type di un articolo o body mobile. Ad esempio, 0x0EED è oro, 0x0191 è un corpo umano femminile. Numero o stringa numerica ("0x0EED", "3821"); -1/altro negativo/0xFFFF - qualsiasi type. Non sono ammessi valori superiori a 65535. Per più type aggiungi più regole. -
color- Tonalità: 0 - solo non colorato, 0x0044 - esempio di colore esatto; negativo o 0xFFFF - qualsiasi. Non sono ammessi valori superiori a 65535. In Aggiungi il valore predefinito è 1. Type e hue all'interno di una regola sono collegati da una condizione AND; regole diverse - OPPURE.
void - nessun valore. Utilizzare su una riga separata senza risultato var = e senza selezionare =true. Il comando modifica il filtro locale; non restituisce il numero di elementi e non invia nulla al server.
- Aggiunge all'elenco specificato dal PRIMO argomento, indipendentemente dall'elenco attualmente selezionato. Le coppie numericamente identiche ripetute non vengono duplicate.
- L'elenco denominato contiene le regole graphic/type + hue, e il normale Ignore contiene lo specifico serial. Si tratta di filtri diversi: vengono combinati quando la ricerca li supporta. Gli oggetti rimangono visibili e accessibili per dirigere UseObject/MoveItem; questo non è Hide o divieto di azioni.
- Il nome dell'elenco non fa distinzione tra maiuscole e minuscole; gli spazi sul bordo vengono rimossi. È attivo un elenco denominato, inizialmente predefinito. AddIgnoreList non lo seleziona automaticamente. SelectIgnoreList("") disabilita solo il filtro indicato.
- Le regole si applicano alle nuove ricerche, inclusi gli elementi caricati DOPO essere stati aggiunti. L'array già ricevuto e il risultato precedente FindCount non vengono ricalcolati fino ad una nuova ricerca. Non selezionare un elenco con la regola -1,-1 a meno che tu non voglia escludere tutto.
- Il filtro prende in considerazione FindType/FindTypeEx/FindTypesArrayEx, FindList, FindAtCoord, FindNotoriety, Count/CountEx e le selezioni estese GetMobiles, GetWorldItems, UseType, WaitTarget, Attack/AttackNearest/FindMan. includeIgnored=true, dove previsto, bypassa sia serial che type/hue. L'enumerazione completa GetContent/GetEquipment, GetWorldItems() senza argomenti e quella verbale FindMobile(umano,vicino,...) non utilizzano queste regole.
- GetIgnoreList restituisce solo serial aggiunto esplicitamente; le righe dell'elenco denominato non sono incluse in questo array. IgnoreReset cancella l'intero filtro serial, IgnoreOff(serial) rimuove un'eccezione serial; le regole nominate vengono preservate. ClearIgnoreList() senza argomenti cancella entrambe le visualizzazioni.
- Lo stato appartiene allo stato generale degli script del profilo cliente; la modifica influisce su altri script con questo stato. Le impostazioni sono incluse nell'istantanea salvata. Dopo aver modificato le regole, un altro script può già eseguire una ricerca con l'istantanea scattata in precedenza: la ricerca successiva vedrà l'aggiornamento.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il comando è un’istruzione separata. Il messaggio precedente indica l’inizio della chiamata e non conferma un’azione del server.
UO.Print("Calling UO.AddIgnoreList");
UO.AddIgnoreList("simple_skip", 0x0EED);
Parametri e flusso di esecuzione:
- loot_skip: imposta il nome. Il colore mancante significa qualsiasi hue. FindType restituisce la stringa esadecimale ID oppure la stringa vuota; qui il risultato viene archiviato in next_loot e l'oggetto non viene spostato. La ricerca di terreni può anche trovare mobile.
UO.AddIgnoreList("loot_skip", 0x0EED);
UO.SelectIgnoreList("loot_skip");
var item = UO.FindType(-1, -1, "ground");
if (Truth(item == ""))
{
UO.Print("No unignored ground object found");
return null;
}
UO.AddObject("next_loot", item);
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- 0x1F03 - graphic vesti; 0x0044 è un esempio di colore protetto. Robu di un'altra ricerca hue consente. Questa è protezione dalla selezione mediante ricerca filtrante, non dal MoveItem diretto tramite il noto ID.
return RunScenario();
object? RunScenario()
{
UO.AddIgnoreList("keep_colored", 0x1F03, 0x0044);
UO.SelectIgnoreList("keep_colored");
var robe = UO.FindType(0x1F03, -1, "backpack");
if (Truth(robe != ""))
{
UO.AddObject("candidate_robe", robe);
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- Le regole vengono memorizzate in entrambi gli elenchi. Per escludere sia l'oro che le vesti allo stesso tempo, aggiungi entrambi type alla stessa lista.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
UO.AddIgnoreList("skip_gold", 0x0EED);
UO.AddIgnoreList("skip_robes", 0x1F03);
UO.SelectIgnoreList("skip_gold");
UO.SelectIgnoreList("skip_robes");
return null;
}
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: list (Any), type (Any)
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.State.NamedIgnoreLists.Add:state.IgnoreTypeLists.Add(Text(0), ResolveType(arguments[1]), arguments.Length > 2 ? NumberConversions.ToInt(arguments[2]) : -1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[1]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[2]).
Codice interno di implementazione; non è uno script autonomo.
case "addignorelist":
state.IgnoreTypeLists.Add(Text(0), ResolveType(arguments[1]),
arguments.Length > 2 ? NumberConversions.ToInt(arguments[2]) : -1);
break;
Parametri: list (Any), type (Any), color (Any)
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.State.NamedIgnoreLists.Add:state.IgnoreTypeLists.Add(Text(0), ResolveType(arguments[1]), arguments.Length > 2 ? NumberConversions.ToInt(arguments[2]) : -1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[1]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[2]).
Codice interno di implementazione; non è uno script autonomo.
case "addignorelist":
state.IgnoreTypeLists.Add(Text(0), ResolveType(arguments[1]),
arguments.Length > 2 ? NumberConversions.ToInt(arguments[2]) : -1);
break;
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.ClearBadLocationList();
Cancella tutte le coppie salvate da SetBadLocation.
Non ci sono parametri.
void - nessun valore restituito. Chiama su una linea separata; non è true/false o il numero di passi.
- Non cambia la mappa, i personaggi o gli ostacoli sul server. Viene cancellato solo l'elenco di runtime dell'applicazione.
- L'array del percorso già ricevuto e l'istantanea dei divieti del percorso di corsa non vengono modificati. Per un nuovo risultato, ripetere la richiesta di percorso o ricominciare il movimento. L'elenco SetBadObject viene cancellato separatamente.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il comando è un’istruzione separata. Il messaggio precedente indica l’inizio della chiamata e non conferma un’azione del server.
UO.Print("Calling UO.ClearBadLocationList");
UO.ClearBadLocationList();
Parametri e flusso di esecuzione:
- Non ci sono parametri.
- Non esiste alcun valore di ritorno.
UO.ClearBadLocationList();
Parametri e flusso di esecuzione:
- Innanzitutto vengono eliminate le coppie precedenti, quindi ne viene aggiunta una nuova.
- Non si tratta di un ostacolo fisico o di una modifica della carta cliente.
return RunScenario();
object? RunScenario()
{
UO.ClearBadLocationList();
UO.SetBadLocation(1445, 1690);
return null;
}
Parametri e flusso di esecuzione:
- L'obiettivo è quattro celle a est, Ottimizzato=true, Precisione=0.
- Un array vuoto dopo la cancellazione potrebbe essere dovuto a un'ostruzione comune o a un limite di ricerca.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
UO.ClearBadLocationList();
var path = UO.GetPathArray(UO.GetX() + 4, UO.GetY(), true, 0);
if (Truth(ArrayLength(path) == 0))
{
UO.Print("No complete path under current constraints");
}
return null;
}
int ArrayLength(object? value) => value is System.Array array ? array.Length : 0;
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: Nessun parametro.
Risultato: void / Unit.
Durante la chiamata:
Codice interno di implementazione; non è uno script autonomo.
case "clearbadlocationlist": state.BadLocations.Clear(); return InjectionValue.Unit;
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.ClearBadObjectList();
Rimuove tutte le regole type/hue/radius aggiunte da SetBadObject nel runtime corrente.
Non ci sono parametri.
void - nessun valore restituito. Chiama su una linea separata; non è true/false o il numero di passi.
- Non ci sono parametri. Chiamare di nuovo quando la lista è vuota è sicuro.
- Non pulisce SetBadLocation né rimuove le ostruzioni naturali. Una nuova richiesta di movimento o percorso utilizza l'elenco deselezionato; il percorso precedentemente avviato salva la propria istantanea.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il comando è un’istruzione separata. Il messaggio precedente indica l’inizio della chiamata e non conferma un’azione del server.
UO.Print("Calling UO.ClearBadObjectList");
UO.ClearBadObjectList();
Parametri e flusso di esecuzione:
- Non ci sono argomenti; la chiamata viene registrata su una linea separata.
- Non c'è nessun risultato true/false e non c'è nessun numero di regole cancellate.
UO.ClearBadObjectList();
Parametri e flusso di esecuzione:
- Dopo la cancellazione, viene aggiunto solo type=0x398C di qualsiasi colore.
- Raggio=2 esclude un quadrato 5×5 attorno agli elementi adatti nel percorso successivo.
return RunScenario();
object? RunScenario()
{
UO.ClearBadObjectList();
UO.SetBadObject(0x398C, -1, 2);
return null;
}
Parametri e flusso di esecuzione:
- Le due liste sono indipendenti: entrambi i comandi vengono chiamati per resettarle entrambe.
- I tre quadrati a est sono un esempio di bersaglio. La transitabilità della mappa, l'altitudine e il limite di ricerca vengono preservati; un array vuoto è ancora un risultato valido.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
UO.ClearBadObjectList();
UO.ClearBadLocationList();
var path = UO.GetPathArray(UO.GetX() + 3, UO.GetY(), true, 0);
UO.Print(Convert.ToString(ArrayLength(path)));
return null;
}
int ArrayLength(object? value) => value is System.Array array ? array.Length : 0;
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: Nessun parametro.
Risultato: void / Unit.
Durante la chiamata:
Codice interno di implementazione; non è uno script autonomo.
case "clearbadobjectlist": state.BadObjects.Clear(); return InjectionValue.Unit;
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.ClearFindList();
void UO.ClearFindList(object? list);
Rimuove le definizioni di un set di ricerca denominato o di tutti i set AddFindList del runtime corrente. Utilizzato prima di riconfigurare i filtri per evitare che le regole si accumulino.
-
list— Il nome del set di regole, ad esempio "bottino". Passa la stringa senza |: questo carattere viene utilizzato come separatore all'interno del record. Il nome non fa distinzione tra maiuscole e minuscole. Questo non è un contenitore serial o un array di elementi trovati. Se manca l'argomento, TUTTE le definizioni di AddFindList in questo runtime verranno rimosse.
void: nessun valore restituito. Non assegnare la chiamata a una variabile e non testarla su true/1. Lo stato delle definizioni può essere dedotto UO.InfoFindList(); la ricerca stessa viene avviata separatamente tramite UO.FindList().
- Le definizioni sono nello stato del runtime dello script specificato. Un altro runtime indipendente ha il proprio set; chiudendo la finestra IDE non si cancellano queste regole. Questo non è un file di impostazioni o un elenco di oggetti di gioco globali.
- AddFindList aggiunge la voce alla fine; le ripetizioni non vengono cancellate. Per riapprovvigionare il tuo kit, chiama prima ClearFindList("nome"). La modifica delle definizioni non cancella FindItem/FindCount/GetFoundItems che sono già state ricevute.
- Il record memorizza i campi di testo. Il letterale numerico 0x0EED è memorizzato come "3821", la stringa "0x0EED" è memorizzata come "0x0EED". La ricerca converte entrambe le opzioni in un numero e DeleteFindList confronta il testo memorizzato. Utilizza lo stesso modulo per aggiungere ed eliminare.
- Il nome sconosciuto in FindList non è un set registrato vuoto: il motore tenta di analizzarlo come un elenco di tipi numerici. Un nome non numerico provoca un errore di conversione. Dopo aver eliminato l'ultima voce, crea un nuovo set prima di cercare quel nome.
- Un nome inesistente è salvo: non si cancella nulla. Il comando non rimuove gli oggetti di gioco, cancella Ignore o annulla il movimento.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il comando è un’istruzione separata. Il messaggio precedente indica l’inizio della chiamata e non conferma un’azione del server.
UO.Print("Calling UO.ClearFindList");
UO.ClearFindList();
Parametri e flusso di esecuzione:
- All'interno di BuildLoot viene eliminato solo il bottino. Altri insiemi denominati di questo script vengono conservati.
BuildLoot();
BuildLoot();
UO.InfoFindList();
void BuildLoot()
{
UO.ClearFindList("loot");
UO.AddFindList("loot", 0x0EED, -1);
UO.AddFindList("loot", 0x0F7A, -1);
}
Parametri e flusso di esecuzione:
- Il registro SEASON non è importante. rimane la riserva; in stagione ora c'è solo il nuovo type/hue. Dopo la pulizia, il record viene prima aggiunto, quindi è consentita la ricerca per nome.
return RunScenario();
object? RunScenario()
{
UO.AddFindList("reserve", 0x0EED);
UO.AddFindList("season", 0x0F7A);
UO.ClearFindList("SEASON");
UO.AddFindList("season", 0x0EED, 0x0044);
UO.InfoFindList();
return null;
}
Parametri e flusso di esecuzione:
- ClearFindList() influenza tutte le definizioni del runtime corrente, quindi un modulo con nome proprio è solitamente migliore per una procedura di libreria.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
UO.AddFindList("old_loot", 0x0EED);
UO.AddFindList("old_watch", 0x0190);
UO.AddFindList("old_watch", 0x0191);
UO.ClearFindList();
UO.AddFindList("current", 0x0F7A, -1);
var found = UO.FindList("current", "backpack");
if (Truth(found != ""))
{
UO.AddObject("current_supply", found);
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: Nessun parametro.
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList("AddFindList"). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0).
Codice interno di implementazione; non è uno script autonomo.
case "clearfindlist":
if (arguments.Length == 0) LegacyList("AddFindList").Clear();
else LegacyList("AddFindList").RemoveAll(value => value.Split('|')[0]
.Equals(Text(0), StringComparison.OrdinalIgnoreCase));
break;
Parametri: list (Any)
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList("AddFindList"). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0).
Codice interno di implementazione; non è uno script autonomo.
case "clearfindlist":
if (arguments.Length == 0) LegacyList("AddFindList").Clear();
else LegacyList("AddFindList").RemoveAll(value => value.Split('|')[0]
.Equals(Text(0), StringComparison.OrdinalIgnoreCase));
break;
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.ClearIgnoreList();
void UO.ClearIgnoreList(object? list);
Reimposta le eccezioni di ricerca. Con un nome - solo un set type/hue. Nessun argomento: tutti gli insiemi con nome e tutti serial aggiunti tramite Ignore. È utile iniziare un nuovo ordinamento con regole pulite.
-
list— Nome arbitrario non vuoto, ad esempio "loot_skip". Il nome non fa distinzione tra maiuscole e minuscole. Questo non è il nome dell'elemento, non il contenitore serial e non il nome di FindList. Opzionale. La sua assenza comporta un ripristino generale, non solo dell'elenco attivo.
void - nessun valore. Utilizzare su una riga separata senza risultato var = e senza selezionare =true. Il comando modifica il filtro locale; non restituisce il numero di elementi e non invia nulla al server.
- ClearIgnoreList("nome") è equivalente nel risultato a DeleteIgnoreList("nome"). Qui non è consentita una stringa vuota; per disabilitare senza cancellare usare SelectIgnoreList("").
- L'elenco denominato contiene le regole graphic/type + hue, e il normale Ignore contiene lo specifico serial. Si tratta di filtri diversi: vengono combinati quando la ricerca li supporta. Gli oggetti rimangono visibili e accessibili per dirigere UseObject/MoveItem; questo non è Hide o divieto di azioni.
- Il nome dell'elenco non fa distinzione tra maiuscole e minuscole; gli spazi sul bordo vengono rimossi. È attivo un elenco denominato, inizialmente predefinito. AddIgnoreList non lo seleziona automaticamente. SelectIgnoreList("") disabilita solo il filtro indicato.
- Le regole si applicano alle nuove ricerche, inclusi gli elementi caricati DOPO essere stati aggiunti. L'array già ricevuto e il risultato precedente FindCount non vengono ricalcolati fino ad una nuova ricerca. Non selezionare un elenco con la regola -1,-1 a meno che tu non voglia escludere tutto.
- Il filtro prende in considerazione FindType/FindTypeEx/FindTypesArrayEx, FindList, FindAtCoord, FindNotoriety, Count/CountEx e le selezioni estese GetMobiles, GetWorldItems, UseType, WaitTarget, Attack/AttackNearest/FindMan. includeIgnored=true, dove previsto, bypassa sia serial che type/hue. L'enumerazione completa GetContent/GetEquipment, GetWorldItems() senza argomenti e quella verbale FindMobile(umano,vicino,...) non utilizzano queste regole.
- GetIgnoreList restituisce solo serial aggiunto esplicitamente; le righe dell'elenco denominato non sono incluse in questo array. IgnoreReset cancella l'intero filtro serial, IgnoreOff(serial) rimuove un'eccezione serial; le regole nominate vengono preservate. ClearIgnoreList() senza argomenti cancella entrambe le visualizzazioni.
- Lo stato appartiene allo stato generale degli script del profilo cliente; la modifica influisce su altri script con questo stato. Le impostazioni sono incluse nell'istantanea salvata. Dopo aver modificato le regole, un altro script può già eseguire una ricerca con l'istantanea scattata in precedenza: la ricerca successiva vedrà l'aggiornamento.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il comando è un’istruzione separata. Il messaggio precedente indica l’inizio della chiamata e non conferma un’azione del server.
UO.Print("Calling UO.ClearIgnoreList");
UO.ClearIgnoreList();
Parametri e flusso di esecuzione:
- Rimosse temporaneamente, si continua a escludere le vesti. L'elenco normale serial non viene cancellato.
UO.AddIgnoreList("temporary", 0x0EED);
UO.AddIgnoreList("keep", 0x1F03);
UO.ClearIgnoreList("temporary");
UO.SelectIgnoreList("keep");
Parametri e flusso di esecuzione:
- Senza argomenti, vengono generati entrambi i tipi di eccezioni. Le vecchie variabili/array non vengono cancellate. Il nuovo FindType rigenera il risultato.
return RunScenario();
object? RunScenario()
{
UO.ClearIgnoreList();
var item = UO.FindType(0x0EED, -1, "ground");
if (Truth(item != ""))
{
UO.AddObject("fresh_gold", item);
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- Le vecchie regole di smistamento sono state rimosse prima di aggiungerne di nuove: tutto oro e solo il colore 0x0044 sulla veste. Tra comandi separati, un altro script potrebbe vedere uno stato intermedio.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
UO.ClearIgnoreList("sorting");
UO.AddIgnoreList("sorting", 0x0EED);
UO.AddIgnoreList("sorting", 0x1F03, 0x0044);
UO.SelectIgnoreList("sorting");
return null;
}
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: Nessun parametro.
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.InjectionApiUO.IgnoreReset:IgnoreReset(). -
InjectionScript.Runtime.State.NamedIgnoreLists.Clear:state.IgnoreTypeLists.Clear(). -
InjectionScript.Runtime.State.NamedIgnoreLists.Remove:state.IgnoreTypeLists.Remove(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0).
Codice interno di implementazione; non è uno script autonomo.
case "clearignorelist":
if (arguments.Length == 0)
{
IgnoreReset();
state.IgnoreTypeLists.Clear();
}
else
state.IgnoreTypeLists.Remove(Text(0));
break;
Parametri: list (Any)
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.InjectionApiUO.IgnoreReset:IgnoreReset(). -
InjectionScript.Runtime.State.NamedIgnoreLists.Clear:state.IgnoreTypeLists.Clear(). -
InjectionScript.Runtime.State.NamedIgnoreLists.Remove:state.IgnoreTypeLists.Remove(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0).
Codice interno di implementazione; non è uno script autonomo.
case "clearignorelist":
if (arguments.Length == 0)
{
IgnoreReset();
state.IgnoreTypeLists.Clear();
}
else
state.IgnoreTypeLists.Remove(Text(0));
break;
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
int UO.Count(object? @type);
int UO.Count(object? @type, object? color);
int UO.Count(object? @type, object? color, object? container);
Esegue una ricerca e riassume le unità degli elementi trovati.
-
type- Grafico/type di un articolo (es. 0x0EED), non serial. -1 o 0xFFFF - qualsiasi type. -
color— Tonalità dell'oggetto; -1 o 0xFFFF - qualsiasi colore. In Count(type) e CountGround(type) il valore predefinito è 1. -
container- In Count(type,colore,contenitore): my o numerico -1 - tutti gli articoli il cui proprietario principale è self (inclusi equipaggiamento e borse nidificate); backpack/serial — the contents of the specified container are recursive; UO.Ground(), explicit 0/"0", ground or 1 - items and Mobile on the ground. In CountEx the numeric -1 and 0xFFFFFFFF also mean ground, but the concrete serial only means direct content. CountEx prende backpack e nomina AddObject; il nome sconosciuto causa un errore di script. Check the resulting serial before calling: an explicit null selects the ground rather than the missing container.
int — somma massima(1, Importo) degli elementi trovati; Ogni cellulare aggiunge 1. 0 nessuna corrispondenza. Questo è il numero di unità, non il numero di pile. FindItem, FindCount, FindFullQuantity e GetFoundItems vengono aggiornati contemporaneamente.
- Count, con uno o due argomenti, cerca gli oggetti di proprietà di self, inclusi equipaggiamento e borse annidate. CountGround cerca sempre i terreni, inclusi i cellulari corrispondenti, ma escludendo self.
- Count(type,color,serial) ignora i bag nidificati, CountEx(type,color,serial) - dirige solo i contenuti. I vincoli FindDistance/FindVertical si applicano ai terreni; Ignore si applica agli oggetti trovati.
- Il risultato dipende dal contenuto dei contenitori già ricevuti. Non è prevista l'apertura automatica o la richiesta del server per l'inventario completo.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il risultato di una sola chiamata viene mostrato nel diario. Un numero non viene convertito in bool; per un array viene mostrato il numero di elementi.
var result = UO.Count(0x0EED, -1, "backpack");
UO.Print("Count: " + Convert.ToString(result));
Parametri e flusso di esecuzione:
- type=0x0EED, colore=-1. Area - zaino; considerare la differenza di ricorsività Count/CountEx.
- Un piede da 1000 unità dast=1000, non 1.
var units = UO.Count(0x0EED, -1, "backpack");
UO.Print("Units: " + Convert.ToString(units));
Parametri e flusso di esecuzione:
- FindCount viene letto immediatamente dopo Count, prima di un'altra ricerca.
- Due pile di 50 producono 2 oggetti e 100 unità.
return RunScenario();
object? RunScenario()
{
var units = UO.Count(0x0EED, -1, "backpack");
var items = UO.FindCount();
UO.Print(Convert.ToString(items) + " items, " + Convert.ToString(units) + " units");
return null;
}
Parametri e flusso di esecuzione:
- 100 è la soglia delle unità in questo esempio.
- Si tratta di un controllo istantaneo, non di una prenotazione di articoli. Le quantità possono variare tra la revisione e il trasferimento.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
var units = UO.Count(0x0EED, -1, "backpack");
if (Truth(units >= 100))
{
UO.Print("Enough units known to the client");
}
else
{
UO.Print("Not enough known units");
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: type (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.Count. -
InjectionScript.Runtime.InjectionApiUO.Count:Count(ResolveType(type), -1, -1). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(type).
Codice interno di implementazione; non è uno script autonomo.
public int Count(InjectionValue type)
=> Count(ResolveType(type), -1, -1);
Parametri: type (Any), color (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.Count. -
InjectionScript.Runtime.InjectionApiUO.Count:Count(ResolveType(type), NumberConversions.ToInt(color), 0). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(type). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(color).
Codice interno di implementazione; non è uno script autonomo.
public int Count(InjectionValue type, InjectionValue color)
=> Count(ResolveType(type), NumberConversions.ToInt(color), 0);
Parametri: type (Any), color (Any), container (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.Count. -
InjectionScript.Runtime.InjectionApiUO.Count:Count(ResolveType(type), NumberConversions.ToInt(color), ConvertContainer(container)). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(type). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(color). -
InjectionScript.Runtime.InjectionApiUO.ConvertContainer:ConvertContainer(container).
Codice interno di implementazione; non è uno script autonomo.
public int Count(InjectionValue type, InjectionValue color, InjectionValue container)
=> Count(ResolveType(type), NumberConversions.ToInt(color), ConvertContainer(container));
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
int UO.CountEx(object? objType, object? color, object? container);
Conta le unità direttamente nel contenitore, senza cercare nelle borse annidate. Sul terreno conta anche i personaggi/NPC corrispondenti, uno ciascuno. FindDistance, FindVertical e Ignore restano validi. Non modifica FindItem, FindCount, FindFullQuantity o GetFoundItems.
objType indica la grafica/type, non il seriale; color indica la tinta. -1 o 0xFFFF accetta qualsiasi tipo/tinta. container è l’ID del contenitore: UO.Backpack() per lo zaino, UO.Ground() per il terreno. Restituisce int: somma di max(1, Amount), 0 senza corrispondenze. Considera solo contenuti già ricevuti; non apre automaticamente le borse.
int goldUnits = UO.CountEx(0x0EED, -1, UO.Backpack());
UO.Print(goldUnits.ToString());
UO.FindTypeEx(0x0EED, -1, UO.Backpack(), false);
int previousFoundItem = UO.FindItem();
int bandages = UO.CountEx(0x0E21, -1, UO.Backpack());
bool searchPreserved = UO.FindItem() == previousFoundItem;
UO.Print($"{bandages}; {searchPreserved}");
int units = CountBackpackUnits(0x0EED);
UO.Print(units.ToString());
int CountBackpackUnits(int graphic)
{
return UO.CountEx(graphic, -1, UO.Backpack());
}
var counter = new InventoryCounter(UO);
UO.Print(counter.CountGold().ToString());
class InventoryCounter(ClassicUO.CSharp.CSharpGameApi api)
{
public int CountGold() => api.CountEx(0x0EED, -1, api.Backpack());
}
ClassicUOInjectionApiBridge.CountDirectItems → MatchesFindIdentity / MatchesFindContainer / MatchesFindMobile.
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
int UO.CountGround(object? @type);
int UO.CountGround(object? @type, object? color);
Esegue una ricerca e riassume le unità degli elementi trovati.
-
type- Grafico/type di un articolo (es. 0x0EED), non serial. -1 o 0xFFFF - qualsiasi type. -
color— Tonalità dell'oggetto; -1 o 0xFFFF - qualsiasi colore. In Count(type) e CountGround(type) il valore predefinito è 1.
int — somma massima(1, Importo) degli elementi trovati; Ogni cellulare aggiunge 1. 0 nessuna corrispondenza. Questo è il numero di unità, non il numero di pile. FindItem, FindCount, FindFullQuantity e GetFoundItems vengono aggiornati contemporaneamente.
- Count, con uno o due argomenti, cerca gli oggetti di proprietà di self, inclusi equipaggiamento e borse annidate. CountGround cerca sempre i terreni, inclusi i cellulari corrispondenti, ma escludendo self.
- Count(type,color,serial) ignora i bag nidificati, CountEx(type,color,serial) - dirige solo i contenuti. I vincoli FindDistance/FindVertical si applicano ai terreni; Ignore si applica agli oggetti trovati.
- Il risultato dipende dal contenuto dei contenitori già ricevuti. Non è prevista l'apertura automatica o la richiesta del server per l'inventario completo.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il risultato di una sola chiamata viene mostrato nel diario. Un numero non viene convertito in bool; per un array viene mostrato il numero di elementi.
var result = UO.CountGround(0x0EED, -1);
UO.Print("CountGround: " + Convert.ToString(result));
Parametri e flusso di esecuzione:
- type=0x0EED, colore=-1. L'area è la terra accanto al personaggio.
- Un piede da 1000 unità dast=1000, non 1.
var units = UO.CountGround(0x0EED, -1);
UO.Print("Units: " + Convert.ToString(units));
Parametri e flusso di esecuzione:
- FindCount viene letto immediatamente dopo Count, prima di un'altra ricerca.
- Due pile di 50 producono 2 oggetti e 100 unità.
return RunScenario();
object? RunScenario()
{
var units = UO.CountGround(0x0EED, -1);
var items = UO.FindCount();
UO.Print(Convert.ToString(items) + " items, " + Convert.ToString(units) + " units");
return null;
}
Parametri e flusso di esecuzione:
- 100 è la soglia delle unità in questo esempio.
- Si tratta di un controllo istantaneo, non di una prenotazione di articoli. Le quantità possono variare tra la revisione e il trasferimento.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
var units = UO.CountGround(0x0EED, -1);
if (Truth(units >= 100))
{
UO.Print("Enough units known to the client");
}
else
{
UO.Print("Not enough known units");
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: type (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.CountGround. -
InjectionScript.Runtime.InjectionApiUO.CountGround:CountGround(type, new InjectionValue(-1)).
Codice interno di implementazione; non è uno script autonomo.
public int CountGround(InjectionValue type)
=> CountGround(type, new InjectionValue(-1));
Parametri: type (Any), color (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.CountGround. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Count:bridge.Count(ResolveType(type), NumberConversions.ToInt(color), 1). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(type). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(color).
Codice interno di implementazione; non è uno script autonomo.
public int CountGround(InjectionValue type, InjectionValue color)
=> bridge.Count(ResolveType(type), NumberConversions.ToInt(color), 1);
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.DeleteFindList(object? list);
void UO.DeleteFindList(object? list, object? @type);
void UO.DeleteFindList(object? list, object? @type, object? color);
Rimuove tutte le definizioni che corrispondono al prefisso list, list/type o list/type/color specificato. Ti permette di rimuovere un tipo di oggetto o uno specifico hue, mantenendo il resto delle regole impostate.
-
list— Il nome del set di regole, ad esempio "bottino". Passa la stringa senza |: questo carattere viene utilizzato come separatore all'interno del record. Il nome non fa distinzione tra maiuscole e minuscole. Questo non è un contenitore serial o un array di elementi trovati. -
type- Immagine/type di un oggetto o body mobile, non il suo serial. Tipicamente int 0..65535, incluso 0x0EED; -1 o 0xFFFF significa qualsiasi type durante la ricerca. Fornire un valore per voce. Diversi tipi vengono aggiunti da chiamate separate. Per eliminare, viene confrontato il testo del campo; saltando si cancellano tutte le voci dei nomi. -
color— Tonalità di un oggetto/corpo, non RGB. int 0..65535; 0 - normale hue 0, -1 o 0xFFFF - qualsiasi. In AddFindList, saltare il colore significa qualsiasi hue durante la ricerca. Per l'eliminazione, questo è un campo letterale, non un carattere jolly: -1 elimina solo le voci con -1 memorizzate esplicitamente. L'omissione del colore rimuove tutte le voci dell'elenco/type indipendentemente da hue.
void: nessun valore restituito. Non assegnare la chiamata a una variabile e non testarla su true/1. Lo stato delle definizioni può essere dedotto UO.InfoFindList(); la ricerca stessa viene avviata separatamente tramite UO.FindList().
- Le definizioni sono nello stato del runtime dello script specificato. Un altro runtime indipendente ha il proprio set; chiudendo la finestra IDE non si cancellano queste regole. Questo non è un file di impostazioni o un elenco di oggetti di gioco globali.
- AddFindList aggiunge la voce alla fine; le ripetizioni non vengono cancellate. Per riapprovvigionare il tuo kit, chiama prima ClearFindList("nome"). La modifica delle definizioni non cancella FindItem/FindCount/GetFoundItems che sono già state ricevute.
- Il record memorizza i campi di testo. Il letterale numerico 0x0EED è memorizzato come "3821", la stringa "0x0EED" è memorizzata come "0x0EED". La ricerca converte entrambe le opzioni in un numero e DeleteFindList confronta il testo memorizzato. Utilizza lo stesso modulo per aggiungere ed eliminare.
- Il nome sconosciuto in FindList non è un set registrato vuoto: il motore tenta di analizzarlo come un elenco di tipi numerici. Un nome non numerico provoca un errore di conversione. Dopo aver eliminato l'ultima voce, crea un nuovo set prima di cercare quel nome.
- DeleteFindList(list,type,-1) non cancella il record a due parametri AddFindList(list,type): non ha un terzo campo. I duplicati corrispondenti vengono tutti eliminati; una corrispondenza inesistente non cambia nulla.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il comando è un’istruzione separata. Il messaggio precedente indica l’inizio della chiamata e non conferma un’azione del server.
UO.AddFindList("simple_loot", 0x0EED);
UO.Print("Calling UO.DeleteFindList");
UO.DeleteFindList("simple_loot");
Parametri e flusso di esecuzione:
- Due argomenti rimuovono entrambe le voci gold: sia qualsiasi hue che hue 0x0044.
UO.ClearFindList("loot");
UO.AddFindList("loot", 0x0EED, -1);
UO.AddFindList("loot", 0x0EED, 0x0044);
UO.AddFindList("loot", 0x0F7A);
UO.DeleteFindList("loot", 0x0EED);
var found = UO.FindList("loot", "backpack");
if (Truth(found != ""))
{
UO.AddObject("remaining_supply", found);
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- Tre argomenti: colori, graphic oro, specifico hue. Tutto ciò che rimane è hue 0. In altri set questo graphic non viene rimosso.
return RunScenario();
object? RunScenario()
{
UO.ClearFindList("colors");
UO.AddFindList("colors", 0x0EED, 0);
UO.AddFindList("colors", 0x0EED, 0x0044);
UO.DeleteFindList("colors", 0x0EED, 0x0044);
UO.InfoFindList();
return null;
}
Parametri e flusso di esecuzione:
- Un argomento rimuove tutte le vecchie voci. Se le regole erano specificate dalla riga "0x0190", cancellale con la stessa riga o cancella il set per nome.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
UO.AddFindList("old", 0x0190);
UO.AddFindList("old", 0x0191);
UO.DeleteFindList("OLD");
UO.AddFindList("new_watch", 0x0190, -1);
UO.AddFindList("new_watch", 0x0191, -1);
UO.InfoFindList();
return null;
}
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: list (Any)
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList("AddFindList"). -
InjectionScript.Runtime.InjectionApiUO.LegacyListEntryMatches:LegacyListEntryMatches(value, arguments).
Codice interno di implementazione; non è uno script autonomo.
case "deletefindlist":
LegacyList("AddFindList").RemoveAll(value => LegacyListEntryMatches(value,
arguments));
break;
Parametri: list (Any), type (Any)
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList("AddFindList"). -
InjectionScript.Runtime.InjectionApiUO.LegacyListEntryMatches:LegacyListEntryMatches(value, arguments).
Codice interno di implementazione; non è uno script autonomo.
case "deletefindlist":
LegacyList("AddFindList").RemoveAll(value => LegacyListEntryMatches(value,
arguments));
break;
Parametri: list (Any), type (Any), color (Any)
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList("AddFindList"). -
InjectionScript.Runtime.InjectionApiUO.LegacyListEntryMatches:LegacyListEntryMatches(value, arguments).
Codice interno di implementazione; non è uno script autonomo.
case "deletefindlist":
LegacyList("AddFindList").RemoveAll(value => LegacyListEntryMatches(value,
arguments));
break;
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.DeleteIgnoreList(object? list);
void UO.DeleteIgnoreList(object? list, object? @type);
void UO.DeleteIgnoreList(object? list, object? @type, object? color);
Rimuove l'intero filtro denominato o le regole selezionate al suo interno. Da utilizzare quando è necessario consentire di nuovo nella ricerca un particolare type o hue, mantenendo le altre eccezioni.
-
list— Nome arbitrario non vuoto, ad esempio "loot_skip". Il nome non fa distinzione tra maiuscole e minuscole. Questo non è il nome dell'elemento, non il contenitore serial e non il nome di FindList. -
type- Grafico/type di un articolo o body mobile. Ad esempio, 0x0EED è oro, 0x0191 è un corpo umano femminile. Numero o stringa numerica ("0x0EED", "3821"); -1/altro negativo/0xFFFF - qualsiasi type. Non sono ammessi valori superiori a 65535. Per più type aggiungi più regole. Se non trasferito, eliminare l'intero elenco; se passato senza colore, tutte le regole sono esattamente queste type. -
color- Tonalità: 0 - solo non colorato, 0x0044 - esempio di colore esatto; negativo o 0xFFFF - qualsiasi. Non sono ammessi valori superiori a 65535. In Aggiungi il valore predefinito è 1. Type e hue all'interno di una regola sono collegati da una condizione AND; regole diverse - OPPURE. Durante l'eliminazione, imposta l'esatta maschera della regola; -1 rimuove la regola "qualsiasi colore" anziché tutti i singoli colori.
void - nessun valore. Utilizzare su una riga separata senza risultato var = e senza selezionare =true. Il comando modifica il filtro locale; non restituisce il numero di elementi e non invia nulla al server.
- Il numero 3821 e la stringa "0x0EED" rappresentano uno type. Cancellare una regola inesistente non cambia nulla. Il nome della lista selezionata viene mantenuto anche se la lista stessa viene cancellata; diventa vuoto.
- L'elenco denominato contiene le regole graphic/type + hue, e il normale Ignore contiene lo specifico serial. Si tratta di filtri diversi: vengono combinati quando la ricerca li supporta. Gli oggetti rimangono visibili e accessibili per dirigere UseObject/MoveItem; questo non è Hide o divieto di azioni.
- Il nome dell'elenco non fa distinzione tra maiuscole e minuscole; gli spazi sul bordo vengono rimossi. È attivo un elenco denominato, inizialmente predefinito. AddIgnoreList non lo seleziona automaticamente. SelectIgnoreList("") disabilita solo il filtro indicato.
- Le regole si applicano alle nuove ricerche, inclusi gli elementi caricati DOPO essere stati aggiunti. L'array già ricevuto e il risultato precedente FindCount non vengono ricalcolati fino ad una nuova ricerca. Non selezionare un elenco con la regola -1,-1 a meno che tu non voglia escludere tutto.
- Il filtro prende in considerazione FindType/FindTypeEx/FindTypesArrayEx, FindList, FindAtCoord, FindNotoriety, Count/CountEx e le selezioni estese GetMobiles, GetWorldItems, UseType, WaitTarget, Attack/AttackNearest/FindMan. includeIgnored=true, dove previsto, bypassa sia serial che type/hue. L'enumerazione completa GetContent/GetEquipment, GetWorldItems() senza argomenti e quella verbale FindMobile(umano,vicino,...) non utilizzano queste regole.
- GetIgnoreList restituisce solo serial aggiunto esplicitamente; le righe dell'elenco denominato non sono incluse in questo array. IgnoreReset cancella l'intero filtro serial, IgnoreOff(serial) rimuove un'eccezione serial; le regole nominate vengono preservate. ClearIgnoreList() senza argomenti cancella entrambe le visualizzazioni.
- Lo stato appartiene allo stato generale degli script del profilo cliente; la modifica influisce su altri script con questo stato. Le impostazioni sono incluse nell'istantanea salvata. Dopo aver modificato le regole, un altro script può già eseguire una ricerca con l'istantanea scattata in precedenza: la ricerca successiva vedrà l'aggiornamento.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il comando è un’istruzione separata. Il messaggio precedente indica l’inizio della chiamata e non conferma un’azione del server.
UO.AddIgnoreList("simple_skip", 0x0EED);
UO.Print("Calling UO.DeleteIgnoreList");
UO.DeleteIgnoreList("simple_skip");
Parametri e flusso di esecuzione:
- Viene eliminato solo quello temporaneo. Altri elenchi e Ignore(serial) vengono mantenuti.
UO.AddIgnoreList("temporary", 0x0EED);
UO.SelectIgnoreList("temporary");
UO.DeleteIgnoreList("temporary");
var gold = UO.FindType(0x0EED, -1, "ground");
Parametri e flusso di esecuzione:
- Entrambe le regole della veste sono state rimosse, ma rimane la regola d'oro. La regola generale -1,type-qualsiasi altro tipo, se aggiunto, non viene rimosso da solo.
return RunScenario();
object? RunScenario()
{
UO.AddIgnoreList("sort", 0x1F03, 0);
UO.AddIgnoreList("sort", 0x1F03, 0x0044);
UO.AddIgnoreList("sort", 0x0EED);
UO.DeleteIgnoreList("sort", 0x1F03);
UO.SelectIgnoreList("sort");
return null;
}
Parametri e flusso di esecuzione:
- 68 = 0x0044: le forme numeriche sono le stesse. Restano escluse le vesti non tinte. Se esiste una regola anche per questo type con hue=-1, continuerà ad escludere il colore 68.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
UO.AddIgnoreList("robes", 0x1F03, 0);
UO.AddIgnoreList("robes", 0x1F03, 0x0044);
UO.DeleteIgnoreList("robes", "0x1F03", 68);
UO.SelectIgnoreList("robes");
var robe = UO.FindType(0x1F03, 0x0044, "backpack");
return null;
}
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: list (Any)
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.State.NamedIgnoreLists.Remove:state.IgnoreTypeLists.Remove(Text(0), arguments.Length > 1 ? ResolveType(arguments[1]) : (int?)null, arguments.Length > 2 ? NumberConversions.ToInt(arguments[2]) : (int?)null). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[1]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[2]).
Codice interno di implementazione; non è uno script autonomo.
case "deleteignorelist":
state.IgnoreTypeLists.Remove(Text(0), arguments.Length > 1 ? ResolveType(arguments[1]) : (int?)null,
arguments.Length > 2 ? NumberConversions.ToInt(arguments[2]) : (int?)null);
break;
Parametri: list (Any), type (Any)
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.State.NamedIgnoreLists.Remove:state.IgnoreTypeLists.Remove(Text(0), arguments.Length > 1 ? ResolveType(arguments[1]) : (int?)null, arguments.Length > 2 ? NumberConversions.ToInt(arguments[2]) : (int?)null). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[1]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[2]).
Codice interno di implementazione; non è uno script autonomo.
case "deleteignorelist":
state.IgnoreTypeLists.Remove(Text(0), arguments.Length > 1 ? ResolveType(arguments[1]) : (int?)null,
arguments.Length > 2 ? NumberConversions.ToInt(arguments[2]) : (int?)null);
break;
Parametri: list (Any), type (Any), color (Any)
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.State.NamedIgnoreLists.Remove:state.IgnoreTypeLists.Remove(Text(0), arguments.Length > 1 ? ResolveType(arguments[1]) : (int?)null, arguments.Length > 2 ? NumberConversions.ToInt(arguments[2]) : (int?)null). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[1]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[2]).
Codice interno di implementazione; non è uno script autonomo.
case "deleteignorelist":
state.IgnoreTypeLists.Remove(Text(0), arguments.Length > 1 ? ResolveType(arguments[1]) : (int?)null,
arguments.Length > 2 ? NumberConversions.ToInt(arguments[2]) : (int?)null);
break;
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
int UO.FindAnyType(object? distance, object? @type);
int UO.FindAnyType(object? distance, object? @type, object? type2);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17, object? type18);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17, object? type18, object? type19);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17, object? type18, object? type19, object? type20);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17, object? type18, object? type19, object? type20, object? type21);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17, object? type18, object? type19, object? type20, object? type21, object? type22);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17, object? type18, object? type19, object? type20, object? type21, object? type22, object? type23);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17, object? type18, object? type19, object? type20, object? type21, object? type22, object? type23, object? type24);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17, object? type18, object? type19, object? type20, object? type21, object? type22, object? type23, object? type24, object? type25);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17, object? type18, object? type19, object? type20, object? type21, object? type22, object? type23, object? type24, object? type25, object? type26);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17, object? type18, object? type19, object? type20, object? type21, object? type22, object? type23, object? type24, object? type25, object? type26, object? type27);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17, object? type18, object? type19, object? type20, object? type21, object? type22, object? type23, object? type24, object? type25, object? type26, object? type27, object? type28);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17, object? type18, object? type19, object? type20, object? type21, object? type22, object? type23, object? type24, object? type25, object? type26, object? type27, object? type28, object? type29);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17, object? type18, object? type19, object? type20, object? type21, object? type22, object? type23, object? type24, object? type25, object? type26, object? type27, object? type28, object? type29, object? type30);
int UO.FindAnyType(object? distance, object? @type, object? type2, object? type3, object? type4, object? type5, object? type6, object? type7, object? type8, object? type9, object? type10, object? type11, object? type12, object? type13, object? type14, object? type15, object? type16, object? type17, object? type18, object? type19, object? type20, object? type21, object? type22, object? type23, object? type24, object? type25, object? type26, object? type27, object? type28, object? type29, object? type30, object? type31);
Trova il mobile caricato più vicino con uno dei corpi graphic indicati. Utilizzato per cercare un tipo specifico di creatura. Questa squadra non cerca oggetti nel baule o per terra: richiedono FindType/FindList.
-
distance— Raggio orizzontale nelle celle compreso: 5 consente la distanza 0..5. La distanza è max(abs(dx),abs(dy)), quindi anche la diagonale adiacente è 1. Per impostazione predefinita o se il numero è negativo, viene utilizzato UO.FindDistance() anziché la ricerca illimitata. 0 lascia la stessa cella X/Y. Non la lunghezza del percorso; gli ostacoli e i pavimenti non vengono controllati da questo parametro. -
type— Grafica del corpo mobile, non dell'oggetto serial e non dell'oggetto graphic. Numero 0..65534 o stringa esadecimale, ad esempio 0x003B. Più valori vengono combinati come OR: il numero 5, la stringa "5|6" o un array semplice di numeri/stringhe numeriche. È possibile combinare array flat e argomenti individuali. L'ordine dei valori non stabilisce la priorità. Sono esclusi i token non numerici; una maschera completamente errata non trova nulla. Gli array nidificati non sono numeri e vengono ignorati come elementi non validi; le maschere multidimensionali non sono supportate. -
type2— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type3— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type4— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type5— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type6— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type7— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type8— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type9— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type10— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type11— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type12— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type13— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type14— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type15— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type16— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type17— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type18— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type19— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type20— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type21— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type22— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type23— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type24— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type25— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type26— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type27— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type28— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type29— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type30— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
type31— Maschera aggiuntiva opzionale type; stesse forme di type. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità.
int - serial del mobile selezionato o 0 se non ce n'è uno adatto. Questo è ID, non graphic/type, il numero di oggetti trovati o true/false: usa if (found != 0) { ... }, not find == true. Un ID trovato può essere passato a UO.AddObject, UO.Attack o UO.Follow, ma ogni azione di gioco viene chiamata separatamente.
- La ricerca legge solo i cellulari già scaricati dal client; sono esclusi i record distrutti e Ignore. La chiamata stessa non apre la destinazione, non attacca, non raggiunge la destinazione e non richiede oggetti remoti dal server.
- La distanza è geometrica max(abs(dx),abs(dy)), non la lunghezza del percorso. La vicinanza non garantisce l'assenza di un muro o l'accessibilità ad un altro piano. Le condizioni possono cambiare al momento della restituzione.
- La vita, la furtività e la linea di vista non vengono controllate automaticamente. Se sono importanti, usa GetMobiles con aliveOnly/visibleOnly o i tuoi controlli. Avere un server con lo stato Nemico non rende idoneo alcun NPC.
- Non cambia FindItem, FindCount o GetFoundItems. Questi campi possono contenere i risultati di un altro comando precedente: utilizzare direttamente il ID restituito.
- Da 2 a 32 argomenti: distanza e a 31 maschera type. Un array piatto consente di passare più valori. Ogni valore successivo dopo type è ancora body/type, non hue o notorietà.
- Non esiste alcun filtro Z, notorietà, razza del giocatore o classe di abbigliamento per questo comando. Self NON è escluso: se il tuo graphic è incluso nella maschera e self non è in Ignore, puoi ottenere il tuo serial ad una distanza di 0.
- Seleziona quello più vicino; la stessa distanza è consentita dal più piccolo serial. -1/any/0xFFFF/empty maschera senza tipi concreti restituisce 0: il comando richiede almeno un type esplicito. I caratteri jolly quasi specifici type vengono ignorati.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il risultato di una sola chiamata viene mostrato nel diario. Un numero non viene convertito in bool; per un array viene mostrato il numero di elementi.
var result = UO.FindAnyType(10, 0x003B);
UO.Print("FindAnyType: " + Convert.ToString(result));
Parametri e flusso di esecuzione:
- 0x003B - body, non ID. Creatura restituita - ID dello specifico trovato mobile. La squadra non controlla Z, salute o aggressività.
var creature = UO.FindAnyType(10, 0x003B);
if (Truth(creature != 0))
{
UO.AddObject("creature", creature);
UO.Print("Distance: " + Convert.ToString(UO.GetDistance(creature)));
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- corpi e 0x000C separati sono combinati. Se viene trovato self, questo esempio salterà semplicemente l'azione; non sta cercando il prossimo candidato. Per escludere self nella query stessa, utilizzare il filtro corrispondente GetMobiles.
return RunScenario();
object? RunScenario()
{
dynamic[] bodies = new dynamic[checked((int)(0) + 1)];
bodies[0] = 0x003B;
var creature = UO.FindAnyType(18, bodies, 0x000C);
if (Truth(creature != 0) && Truth(creature != Asc(UO.GetSerial("self"), 0)))
{
UO.AddObject("observed_creature", creature);
}
return null;
}
int Asc(object? value, int fallback = 0)
{
string text = Convert.ToString(value) ?? "";
if (text.StartsWith("0x", StringComparison.OrdinalIgnoreCase))
return int.TryParse(text[2..], System.Globalization.NumberStyles.HexNumber, System.Globalization.CultureInfo.InvariantCulture, out int hex) ? hex : fallback;
return int.TryParse(text, out int number) ? number : fallback;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- body - graphic, raggio - limite di ricerca X/Y. L'aiutante restituisce la distanza o il proprio codice -1; UO.FindAnyType stesso restituisce serial o 0.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
var distance = DistanceToBody(0x003B, 8);
if (Truth(distance >= 0) && Truth(distance <= 3))
{
UO.Print("Creature is within three cells");
}
return null;
}
dynamic DistanceToBody(dynamic body, dynamic radius)
{
var found = UO.FindAnyType(radius, body);
if (Truth(found == 0))
{
return -1;
}
return UO.GetDistance(found);
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: distance (Any), type (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
Parametri: distance (Any), type (Any), type2 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5) — UO.FindAnyType(Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17, type18) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any), type18 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17, type18, type19) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any), type18 (Any), type19 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17, type18, type19, type20) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any), type18 (Any), type19 (Any), type20 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17, type18, type19, type20, type21) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any), type18 (Any), type19 (Any), type20 (Any), type21 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17, type18, type19, type20, type21, type22) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any), type18 (Any), type19 (Any), type20 (Any), type21 (Any), type22 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17, type18, type19, type20, type21, type22, type23) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any), type18 (Any), type19 (Any), type20 (Any), type21 (Any), type22 (Any), type23 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17, type18, type19, type20, type21, type22, type23, type24) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any), type18 (Any), type19 (Any), type20 (Any), type21 (Any), type22 (Any), type23 (Any), type24 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17, type18, type19, type20, type21, type22, type23, type24, type25) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any), type18 (Any), type19 (Any), type20 (Any), type21 (Any), type22 (Any), type23 (Any), type24 (Any), type25 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17, type18, type19, type20, type21, type22, type23, type24, type25, type26) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any), type18 (Any), type19 (Any), type20 (Any), type21 (Any), type22 (Any), type23 (Any), type24 (Any), type25 (Any), type26 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17, type18, type19, type20, type21, type22, type23, type24, type25, type26, type27) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any), type18 (Any), type19 (Any), type20 (Any), type21 (Any), type22 (Any), type23 (Any), type24 (Any), type25 (Any), type26 (Any), type27 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17, type18, type19, type20, type21, type22, type23, type24, type25, type26, type27, type28) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any), type18 (Any), type19 (Any), type20 (Any), type21 (Any), type22 (Any), type23 (Any), type24 (Any), type25 (Any), type26 (Any), type27 (Any), type28 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17, type18, type19, type20, type21, type22, type23, type24, type25, type26, type27, type28, type29) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any), type18 (Any), type19 (Any), type20 (Any), type21 (Any), type22 (Any), type23 (Any), type24 (Any), type25 (Any), type26 (Any), type27 (Any), type28 (Any), type29 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17, type18, type19, type20, type21, type22, type23, type24, type25, type26, type27, type28, type29, type30) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any), type18 (Any), type19 (Any), type20 (Any), type21 (Any), type22 (Any), type23 (Any), type24 (Any), type25 (Any), type26 (Any), type27 (Any), type28 (Any), type29 (Any), type30 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
UO.FindAnyType(distance, type, type2, type3, type4, type5, type6, type7, type8, type9, type10, type11, type12, type13, type14, type15, type16, type17, type18, type19, type20, type21, type22, type23, type24, type25, type26, type27, type28, type29, type30, type31) — UO.FindAnyType(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), type (Any), type2 (Any), type3 (Any), type4 (Any), type5 (Any), type6 (Any), type7 (Any), type8 (Any), type9 (Any), type10 (Any), type11 (Any), type12 (Any), type13 (Any), type14 (Any), type15 (Any), type16 (Any), type17 (Any), type18 (Any), type19 (Any), type20 (Any), type21 (Any), type22 (Any), type23 (Any), type24 (Any), type25 (Any), type26 (Any), type27 (Any), type28 (Any), type29 (Any), type30 (Any), type31 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindAnyType]. -
InjectionScript.Runtime.InjectionApiUO.FindAnyType:FindAnyType(values[0], CombineMask(values, 1)). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindAnyType(values[0], CombineMask(values, 1)))
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
int UO.FindAtCoord(object? x, object? y);
Cerca gli oggetti del mondo caricati su un esatto riquadro X/Y della mappa corrente.
-
x— coordinata mondiale orizzontale, int 0..65535. Obbligatorio; questi non sono pixel della finestra contenitore. -
yè la coordinata verticale del mondo, int 0..65535. Necessario. Non ci sono opzioni aggiuntive per Z, mappa, type o raggio.
int - serial il primo elemento corrispondente nell'elenco dei risultati di quel cliente. 0: nessuna corrispondenza, carattere mancante/eliminato o coordinate esterne a 0..65535. Questo è il ID dell'oggetto, non il type, la quantità o bool. Tutti i bit 32 vengono salvati; controlla != 0, non == true e non > 0. Lo stesso ID viene scritto in FindItem().
- Controlla gli oggetti non eliminati a terra e sul cellulare, incluso il personaggio stesso in questa cella. Sono esclusi i contenuti di contenitori e oggetti indossati: i loro X/Y non possono essere considerati coordinate mondiali. I seriali sono esclusi dalla lista Ignore.
- Tutte le altezze Z ai dati X/Y sono adatte. FindDistance e FindVertical non limitano questa ricerca alla cella esatta. Sono visibili solo gli oggetti caricati del mondo attuale; le mappe orizzontali, statiche e di altro tipo non vengono caricate. I pacchetti non vengono inviati, la destinazione non viene aperta, gli elementi non vengono spostati.
- Ogni chiamata cancella prima la ricerca precedente. FindCount() conta gli oggetti, FindFullQuantity() somma le unità negli stack (Mobile ne aggiunge uno), GetFoundItems() restituisce quelli trovati serial. Viene cercato prima l'elemento, poi Mobile; all'interno delle raccolte si applica l'ordine di enumerazione corrente. Salva l'elenco per la ricerca successiva che sostituisce i risultati.
- L'ordine di selezione e i filtri sopra descrivono l'implementazione di questo client.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il risultato di una sola chiamata viene mostrato nel diario. Un numero non viene convertito in bool; per un array viene mostrato il numero di elementi.
var result = UO.FindAtCoord(1445, 1690);
UO.Print("FindAtCoord: " + Convert.ToString(result));
Parametri e flusso di esecuzione:
- 1445 e 1690 sono esempi di X/Y del mondo: sostituiscili con il tuo cellulare. id ne salva uno serial; HEX lo restituisce in esadecimale. != 0 controlla la presenza del risultato, non della quantità.
var id = UO.FindAtCoord(1445, 1690);
if (Truth(id != 0))
{
UO.Print(Hex(id));
}
else
{
UO.Print("No loaded object");
}
string Hex(object? value) => Convert.ToInt64(value).ToString("X");
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- x/y vengono letti dal carattere; ids salva l'elenco delle ricerche correnti. Ogni ID rappresenta un oggetto, incluso l'intero stack. GetType(id) legge graphic/body. Gli articoli non sono selezionati o utilizzati.
return RunScenario();
object? RunScenario()
{
var x = UO.GetX("self");
var y = UO.GetY("self");
UO.FindAtCoord(x, y);
var ids = UO.GetFoundItems();
foreach (var id in ids)
{
UO.Print(Hex(id) + " type=" + Hex(UO.GetType(id)));
}
return null;
}
string Hex(object? value) => Convert.ToInt64(value).ToString("X");
Parametri e flusso di esecuzione:
- CountGraphicAt(x, y, graphic) cerca una cella una volta, scorre la ID salvata e conta gli oggetti con la grafica desiderata. graphic=0x0EED – oro. Viene restituito il numero di oggetti/pile, non la somma di quelli e non true/false; una pila ne fa una. La funzione è completamente definita dopo Main.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
var count = CountGraphicAt(1445, 1690, 0x0EED);
UO.Print("Objects/stacks: " + Convert.ToString(count));
return null;
}
dynamic CountGraphicAt(dynamic x, dynamic y, dynamic graphic)
{
UO.FindAtCoord(x, y);
var ids = UO.GetFoundItems();
var count = 0;
foreach (var id in ids)
{
if (Truth(UO.GetType(id) == graphic))
{
count += 1;
}
}
return count;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: x (Any), y (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindAtCoord:bridge.FindAtCoord(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Codice interno di implementazione; non è uno script autonomo.
case "findatcoord": return new InjectionValue(bridge.FindAtCoord(Arg(0), Arg(1)));
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
int UO.FindByNotoriety(object? distance, object? notoriety);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17, object? notoriety18);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17, object? notoriety18, object? notoriety19);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17, object? notoriety18, object? notoriety19, object? notoriety20);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17, object? notoriety18, object? notoriety19, object? notoriety20, object? notoriety21);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17, object? notoriety18, object? notoriety19, object? notoriety20, object? notoriety21, object? notoriety22);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17, object? notoriety18, object? notoriety19, object? notoriety20, object? notoriety21, object? notoriety22, object? notoriety23);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17, object? notoriety18, object? notoriety19, object? notoriety20, object? notoriety21, object? notoriety22, object? notoriety23, object? notoriety24);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17, object? notoriety18, object? notoriety19, object? notoriety20, object? notoriety21, object? notoriety22, object? notoriety23, object? notoriety24, object? notoriety25);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17, object? notoriety18, object? notoriety19, object? notoriety20, object? notoriety21, object? notoriety22, object? notoriety23, object? notoriety24, object? notoriety25, object? notoriety26);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17, object? notoriety18, object? notoriety19, object? notoriety20, object? notoriety21, object? notoriety22, object? notoriety23, object? notoriety24, object? notoriety25, object? notoriety26, object? notoriety27);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17, object? notoriety18, object? notoriety19, object? notoriety20, object? notoriety21, object? notoriety22, object? notoriety23, object? notoriety24, object? notoriety25, object? notoriety26, object? notoriety27, object? notoriety28);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17, object? notoriety18, object? notoriety19, object? notoriety20, object? notoriety21, object? notoriety22, object? notoriety23, object? notoriety24, object? notoriety25, object? notoriety26, object? notoriety27, object? notoriety28, object? notoriety29);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17, object? notoriety18, object? notoriety19, object? notoriety20, object? notoriety21, object? notoriety22, object? notoriety23, object? notoriety24, object? notoriety25, object? notoriety26, object? notoriety27, object? notoriety28, object? notoriety29, object? notoriety30);
int UO.FindByNotoriety(object? distance, object? notoriety, object? notoriety2, object? notoriety3, object? notoriety4, object? notoriety5, object? notoriety6, object? notoriety7, object? notoriety8, object? notoriety9, object? notoriety10, object? notoriety11, object? notoriety12, object? notoriety13, object? notoriety14, object? notoriety15, object? notoriety16, object? notoriety17, object? notoriety18, object? notoriety19, object? notoriety20, object? notoriety21, object? notoriety22, object? notoriety23, object? notoriety24, object? notoriety25, object? notoriety26, object? notoriety27, object? notoriety28, object? notoriety29, object? notoriety30, object? notoriety31);
Trova l'altro personaggio/NPC più vicino con uno degli stati di notorietà specificati. Utile quando è necessario selezionare prima un nemico, un alleato o un bersaglio osservato, e solo dopo decidere separatamente se attaccarlo o inseguirlo.
-
distance— Raggio orizzontale nelle celle compreso: 5 consente la distanza 0..5. La distanza è max(abs(dx),abs(dy)), quindi anche la diagonale adiacente è 1. Per impostazione predefinita o se il numero è negativo, viene utilizzato UO.FindDistance() anziché la ricerca illimitata. 0 lascia la stessa cella X/Y. Non la lunghezza del percorso; gli ostacoli e i pavimenti non vengono controllati da questo parametro. -
notoriety— Stato della relazione con il personaggio ricevuto dal server: 0 — sconosciuto, 1 — Innocente, 2 — Alleato, 3 — Grigio, 4 — Criminale, 5 — Nemico, 6 — Assassino, 7 - Invulnerabile. Il numero indica uno stato; "5|6" o un array di numeri - uno qualsiasi dei precedenti. Non è il colore dei vestiti o la classe. Un numero negativo (di solito -1), 0xFFFF, "qualsiasi", una stringa vuota o un array vuoto disabilitano separatamente questo filtro. Una stringa non valida senza numeri validi non trova nessuno. L'ordine degli stati non stabilisce la priorità. Il filtro 5 seleziona il nemico invece di selezionare automaticamente qualsiasi NPC/mostro; i valori effettivi dipendono dal server. Più valori vengono combinati come OR: il numero 5, la stringa "5|6" o un array semplice di numeri/stringhe numeriche. È possibile combinare array flat e argomenti individuali. L’ordine dei valori non dà priorità. Sono esclusi i token non numerici; una maschera completamente errata non trova nulla. Gli array nidificati non sono numeri e vengono ignorati come elementi non validi; le maschere multidimensionali non sono supportate. -
notoriety2- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety3- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety4- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety5- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety6- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety7- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety8- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety9- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety10- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety11- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety12- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety13- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety14- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety15- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety16- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety17- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety18- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety19- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety20- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety21- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety22- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety23- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety24- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety25- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety26- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety27- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety28- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety29- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety30- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità. -
notoriety31- Maschera di notorietà aggiuntiva opzionale; le stesse forme della notorietà. Si combina con quelli precedenti tramite OR, non imposta un raggio separato, hue, Z o priorità.
int - serial del mobile selezionato o 0 se non ce n'è uno adatto. Questo è ID, non graphic/type, il numero di oggetti trovati o true/false: usa if (found != 0) { ... }, not find == true. Un ID trovato può essere passato a UO.AddObject, UO.Attack o UO.Follow, ma ogni azione di gioco viene chiamata separatamente.
- La ricerca legge solo i cellulari già scaricati dal client; sono esclusi i record distrutti e Ignore. La chiamata stessa non apre la destinazione, non attacca, non raggiunge la destinazione e non richiede oggetti remoti dal server.
- La distanza è geometrica max(abs(dx),abs(dy)), non la lunghezza del percorso. La vicinanza non garantisce l'assenza di un muro o l'accessibilità ad un altro piano. Le condizioni possono cambiare al momento della restituzione.
- La vita, la furtività e la linea di vista non vengono controllate automaticamente. Se sono importanti, usa GetMobiles con aliveOnly/visibleOnly o i tuoi controlli. Avere un server con lo stato Nemico non rende idoneo alcun NPC.
- Non cambia FindItem, FindCount o GetFoundItems. Questi campi possono contenere i risultati di un altro comando precedente: utilizzare direttamente il ID restituito.
- Almeno due argomenti: distanza, notorietà. Massimo 32: raggio e fino a 31 maschera. Per più valori, passare l'array flat come argomento. Rimozione del filtro: -1/qualsiasi/0xFFFF/stringa vuota o array vuoto separatamente. Se i codici specifici sono elencati uno accanto all'altro, mantengono la restrizione.
- Esclude self. Rispetta UO.FindVertical() come limite della differenza Z; non c'è alcun parametro maxZ in questo comando. Sceglie sempre quello più vicino, in caso di uguaglianza - quello più piccolo serial. L'argomento dopo la notorietà è ancora notorietà, non più vicino e non body.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il risultato di una sola chiamata viene mostrato nel diario. Un numero non viene convertito in bool; per un array viene mostrato il numero di elementi.
var result = UO.FindByNotoriety(12, "5|6");
UO.Print("FindByNotoriety: " + Convert.ToString(result));
Parametri e flusso di esecuzione:
- L'avversario salvato può essere utilizzato in seguito; questo esempio non attacca. L'attuale FindVertical si applica anche se il target è vicino in X/Y.
var found = UO.FindByNotoriety(12, "5|6");
if (Truth(found != 0))
{
UO.AddObject("opponent", found);
UO.Print("Selected: " + UO.GetName(found));
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- consentito contiene Nemico, un 6 separato aggiunge Assassino. Gli stati vengono combinati anziché ordinati per priorità. L'esempio richiede un attacco contro qualcuno trovato vivo mobile; le regole del server determinano cosa è accettabile.
return RunScenario();
object? RunScenario()
{
dynamic[] allowed = new dynamic[checked((int)(0) + 1)];
allowed[0] = 5;
var found = UO.FindByNotoriety(8, allowed, 6);
if (Truth(found != 0) && !(Truth(UO.IsDead(found))))
{
UO.Attack(found);
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- raggio: raggio X/Y nelle celle. FindVertical(0) richiede la stessa Z; Questa non è un'ispezione del pavimento o delle pareti. La funzione restituisce ID/0 e infine salva le impostazioni per altre parti dello script.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
var found = FindOpponentAtSameLevel(10);
if (Truth(found != 0))
{
UO.AddObject("same_level", found);
}
return null;
}
dynamic FindOpponentAtSameLevel(dynamic radius)
{
var previous = UO.FindVertical();
try
{
UO.FindVertical(0);
return UO.FindByNotoriety(radius, "5|6");
}
finally
{
UO.FindVertical(previous);
}
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: distance (Any), notoriety (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
Parametri: distance (Any), notoriety (Any), notoriety2 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3) — UO.FindByNotoriety(Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4) — UO.FindByNotoriety(Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17, notoriety18) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any), notoriety18 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17, notoriety18, notoriety19) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any), notoriety18 (Any), notoriety19 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17, notoriety18, notoriety19, notoriety20) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any), notoriety18 (Any), notoriety19 (Any), notoriety20 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17, notoriety18, notoriety19, notoriety20, notoriety21) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any), notoriety18 (Any), notoriety19 (Any), notoriety20 (Any), notoriety21 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17, notoriety18, notoriety19, notoriety20, notoriety21, notoriety22) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any), notoriety18 (Any), notoriety19 (Any), notoriety20 (Any), notoriety21 (Any), notoriety22 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17, notoriety18, notoriety19, notoriety20, notoriety21, notoriety22, notoriety23) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any), notoriety18 (Any), notoriety19 (Any), notoriety20 (Any), notoriety21 (Any), notoriety22 (Any), notoriety23 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17, notoriety18, notoriety19, notoriety20, notoriety21, notoriety22, notoriety23, notoriety24) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any), notoriety18 (Any), notoriety19 (Any), notoriety20 (Any), notoriety21 (Any), notoriety22 (Any), notoriety23 (Any), notoriety24 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17, notoriety18, notoriety19, notoriety20, notoriety21, notoriety22, notoriety23, notoriety24, notoriety25) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any), notoriety18 (Any), notoriety19 (Any), notoriety20 (Any), notoriety21 (Any), notoriety22 (Any), notoriety23 (Any), notoriety24 (Any), notoriety25 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17, notoriety18, notoriety19, notoriety20, notoriety21, notoriety22, notoriety23, notoriety24, notoriety25, notoriety26) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any), notoriety18 (Any), notoriety19 (Any), notoriety20 (Any), notoriety21 (Any), notoriety22 (Any), notoriety23 (Any), notoriety24 (Any), notoriety25 (Any), notoriety26 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17, notoriety18, notoriety19, notoriety20, notoriety21, notoriety22, notoriety23, notoriety24, notoriety25, notoriety26, notoriety27) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any), notoriety18 (Any), notoriety19 (Any), notoriety20 (Any), notoriety21 (Any), notoriety22 (Any), notoriety23 (Any), notoriety24 (Any), notoriety25 (Any), notoriety26 (Any), notoriety27 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17, notoriety18, notoriety19, notoriety20, notoriety21, notoriety22, notoriety23, notoriety24, notoriety25, notoriety26, notoriety27, notoriety28) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any), notoriety18 (Any), notoriety19 (Any), notoriety20 (Any), notoriety21 (Any), notoriety22 (Any), notoriety23 (Any), notoriety24 (Any), notoriety25 (Any), notoriety26 (Any), notoriety27 (Any), notoriety28 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17, notoriety18, notoriety19, notoriety20, notoriety21, notoriety22, notoriety23, notoriety24, notoriety25, notoriety26, notoriety27, notoriety28, notoriety29) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any), notoriety18 (Any), notoriety19 (Any), notoriety20 (Any), notoriety21 (Any), notoriety22 (Any), notoriety23 (Any), notoriety24 (Any), notoriety25 (Any), notoriety26 (Any), notoriety27 (Any), notoriety28 (Any), notoriety29 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17, notoriety18, notoriety19, notoriety20, notoriety21, notoriety22, notoriety23, notoriety24, notoriety25, notoriety26, notoriety27, notoriety28, notoriety29, notoriety30) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any), notoriety18 (Any), notoriety19 (Any), notoriety20 (Any), notoriety21 (Any), notoriety22 (Any), notoriety23 (Any), notoriety24 (Any), notoriety25 (Any), notoriety26 (Any), notoriety27 (Any), notoriety28 (Any), notoriety29 (Any), notoriety30 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
UO.FindByNotoriety(distance, notoriety, notoriety2, notoriety3, notoriety4, notoriety5, notoriety6, notoriety7, notoriety8, notoriety9, notoriety10, notoriety11, notoriety12, notoriety13, notoriety14, notoriety15, notoriety16, notoriety17, notoriety18, notoriety19, notoriety20, notoriety21, notoriety22, notoriety23, notoriety24, notoriety25, notoriety26, notoriety27, notoriety28, notoriety29, notoriety30, notoriety31) — UO.FindByNotoriety(Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any,Any)
Parametri: distance (Any), notoriety (Any), notoriety2 (Any), notoriety3 (Any), notoriety4 (Any), notoriety5 (Any), notoriety6 (Any), notoriety7 (Any), notoriety8 (Any), notoriety9 (Any), notoriety10 (Any), notoriety11 (Any), notoriety12 (Any), notoriety13 (Any), notoriety14 (Any), notoriety15 (Any), notoriety16 (Any), notoriety17 (Any), notoriety18 (Any), notoriety19 (Any), notoriety20 (Any), notoriety21 (Any), notoriety22 (Any), notoriety23 (Any), notoriety24 (Any), notoriety25 (Any), notoriety26 (Any), notoriety27 (Any), notoriety28 (Any), notoriety29 (Any), notoriety30 (Any), notoriety31 (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]. -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
int UO.FindCount();
int UO.FindCount(object? id);
Legge il numero di uno nello stack specificato se viene passato ID. La forma senza argomenti mantiene un significato separato: il numero di oggetti dell'ultima ricerca.
-
id— Seriale/ID di un oggetto specifico: int, stringa decimale/esadecimale o set alias self, backpack, lasttarget, lastobject o nome AddObject. Questo non è graphic/type. Argomento facoltativo. Quando viene passato ID, viene letto l'importo corrente di questo particolare articolo. L'alias finditem seleziona esplicitamente il primo risultato della ricerca. Senza argomenti, viene restituito il numero di oggetti trovati.
int: FindCount(id) — numero di unità nello stack specificato (Amount); un singolo elemento normale dà 1, un oggetto sconosciuto/rimosso, un alias errato o Mobile dà 0. FindCount() senza ID è il numero di oggetti nell'ultima ricerca: uno stack è considerato un oggetto indipendentemente dalla quantità. Ad esempio, tre pile di 20, 50 e 100: FindCount()=3, FindCount(ID della seconda pila)=50, FindFullQuantity()=170.
- FindCount(id) equivale a leggere GetQuantity(id), non attiva una ricerca e non modifica FindItem/FindCount()/FindFullQuantity/GetFoundItems.
- ID significa serial di un particolare articolo, non type. La variazione della quantità si rifletterà la prossima volta che viene chiamato FindCount(id). La quantità nell'articolo rimosso è 0; non cerca automaticamente un altro stack.
- La compatibilità originale senza argomenti viene preservata: FindCount() conta gli oggetti. FindQuantity() legge uno stack trovato, FindFullQuantity() somma le unità dell'ultima ricerca.
- I dati appartengono all'ultima ricerca normale di questo script. FindType con argomenti 1–5, FindTypeEx, Count/CountEx/CountGround sostituiscono i risultati. Non sono necessari comandi avanzati di caratteri filtrati per modificare questa istantanea.
- Una nuova ricerca senza corrispondenze cancella FindItem, FindCount e FindFullQuantity e cancella GetFoundItems. La sola lettura di un risultato non attiva una nuova ricerca.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il risultato di una sola chiamata viene mostrato nel diario. Un numero non viene convertito in bool; per un array viene mostrato il numero di elementi.
UO.FindType(0x0EED, -1, "backpack");
var result = UO.FindCount();
UO.Print("FindCount: " + Convert.ToString(result));
Parametri e flusso di esecuzione:
- id=0x40001234 è un esempio di uno stack serial. Sostituisci il ID dell'articolo con il tuo.
- Uno stack di unità 50 restituirà 50; elemento singolo - 1; sconosciuto ID - 0.
var amount = UO.FindCount("0x40001234");
UO.Print("Units: " + Convert.ToString(amount));
Parametri e flusso di esecuzione:
- FindType riceve type oro 0x0EED, qualsiasi hue=-1, area backpack e restituisce serial.
- L'elemento restituito serial viene passato a FindCount. type 0x0EED stesso non può essere trasferito qui.
return RunScenario();
object? RunScenario()
{
var item = UO.FindType(0x0EED, -1, "backpack");
if (Truth(item != ""))
{
var units = UO.FindCount(item);
UO.Print(Convert.ToString(units));
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- lasttarget deve indicare un oggetto. AddObject memorizza questo serial sotto il nome selezionato_stack.
- FindCount risolve il nome in ID e legge l'importo. Se viene selezionato un carattere di destinazione, viene restituito 0.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
var item = UO.GetSerial("lasttarget");
if (Truth(UO.Exists(item)))
{
UO.AddObject("selected_stack", item);
UO.Print(Convert.ToString(UO.FindCount("selected_stack")));
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}
Parametri e flusso di esecuzione:
- type=0x0EED – oro; colore=-1 — qualsiasi hue; backpack - solo il contenuto diretto dello zaino in questo formato FindType.
- int — numero di elementi/caratteri trovati, 0 senza corrispondenze. Una pila di unità 1000 conta come un oggetto. Questa non è una somma di unità; richiede FindFullQuantity.
var found = UO.FindType(0x0EED, -1, "backpack");
var value = UO.FindCount();
UO.Print(Convert.ToString(value));
Parametri e flusso di esecuzione:
- Tutte e quattro le letture appartengono a una ricerca finché non viene richiamata un'altra ricerca nel mezzo.
- Ad esempio, due pile di 50: Oggetti=2, Prima pila=50, Tutte le unità=100; Il primo ID contiene l'unico ID di uno stack.
return RunScenario();
object? RunScenario()
{
var found = UO.FindType(0x0EED, -1, "backpack");
UO.Print("Items: " + Convert.ToString(UO.FindCount()));
UO.Print("First stack: " + Convert.ToString(UO.FindQuantity()));
UO.Print("All units: " + Convert.ToString(UO.FindFullQuantity()));
UO.Print("First ID: 0x" + Hex(UO.FindItem()));
return null;
}
string Hex(object? value) => Convert.ToInt64(value).ToString("X");
Parametri e flusso di esecuzione:
- Il primo type è oro, il secondo 0x0F7A è un tipo separato di reagente. La nuova squadra cambia l'inquadratura complessiva.
- salvato rimane il numero della prima ricerca. La seconda lettura si applica al reagente anche se non c'è corrispondenza.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
var found = UO.FindType(0x0EED, -1, "backpack");
var saved = UO.FindCount();
found = UO.FindType(0x0F7A, -1, "backpack");
UO.Print("Saved: " + Convert.ToString(saved));
UO.Print("Current: " + Convert.ToString(UO.FindCount()));
return null;
}
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: Nessun parametro.
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.FindCount. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindCount:bridge.FindCount().
Codice interno di implementazione; non è uno script autonomo.
public int FindCount() => bridge.FindCount();
Parametri: id (Any)
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.FindCount. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetQuantity:bridge.GetQuantity(GetObject(id)). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id).
Codice interno di implementazione; non è uno script autonomo.
public int FindCount(InjectionValue id) => bridge.GetQuantity(GetObject(id));
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
int UO.FindDistance();
void UO.FindDistance(object? value);
Legge o modifica il raggio di ricerca orizzontale predefinito.
-
value— Opzionale int. Senza discussione: lettura; valore: impostazione. Il valore è limitato all'intervallo 0..255; il negativo diventa 0 anziché illimitato. Nel nuovo runtime: 18; lo stato ripristinato potrebbe contenere un valore diverso. Il numero frazionario viene troncato a zero; sono accettabili anche stringhe numeriche double/0x. Utilizzare int per evitare la conversione implicita.
Senza argomenti: int è il limite corrente (distanza nelle celle), non trovato ID, numero di oggetti o bool. 0 significa limite zero, non fallimento. Con valore: void - nessun valore; questa non è true/false o la vecchia impostazione. Una volta installato, leggi FindDistance() per scoprire il valore memorizzato.
- Distanza: max(abs(dx), abs(dy)) dal punto di riferimento corrente dell'intervallo client; un quadrato diagonale conta come uno. Il confine è attivato. Per 0 sono adatti solo oggetti sullo stesso X/Y. Per lo spostamento Mobile la distanza tiene conto della posizione finale della coda di gradini.
- L'impostazione viene memorizzata nel runtime dello script corrente; le sue procedure utilizzano un singolo valore. I runtime indipendenti hanno impostazioni separate. La lettura e la scrittura non attivano una ricerca, cancellano FindItem/FindCount/GetFoundItems, inviano un pacchetto, spostano un personaggio o caricano oggetti distanti.
- FindTypeEx e FindTypesArrayEx utilizzano questi limiti durante la ricerca a terra, ma non all'interno del contenitore. I restanti filtri sono type, hue, Ignore e la presenza di un oggetto caricato. FindAtCoord ignores both limits. Nei comandi estesi, la distanza esplicita/maxZ può sovrascrivere le impostazioni; -1 in tali parametri significa prendere l'impostazione, invece di impostare l'impostazione stessa su -1. FindList filtra anche Z durante la ricerca dei contenitori; l'eccezione del contenitore specificato non si applica ad esso.
- Prima di effettuare una ricerca temporanea, salvare il valore e ripristinarlo in Finalmente. L'installazione non viene annullata automaticamente. Finalmente funziona con il completamento normale e con un errore di script rilevato; L'arresto di emergenza non può essere utilizzato come meccanismo di pulizia.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il risultato di una sola chiamata viene mostrato nel diario. Un numero non viene convertito in bool; per un array viene mostrato il numero di elementi.
var result = UO.FindDistance();
UO.Print("FindDistance: " + Convert.ToString(result));
Parametri e flusso di esecuzione:
- precedente salva l'impostazione attuale. valore:=5 imposta il limite normale; 1000 mostra il limite a 255. Print legge il risultato come una chiamata separata senza argomenti. Finalmente ripristina il precedente.
var previous = UO.FindDistance();
try
{
UO.FindDistance(5);
UO.Print(Convert.ToString(UO.FindDistance()));
UO.FindDistance(1000);
UO.Print(Convert.ToString(UO.FindDistance()));
}
finally
{
UO.FindDistance(previous);
}
Parametri e flusso di esecuzione:
- precedente salva l'impostazione del codice chiamante. 5 cambia solo FindDistance; il secondo limite rimane lo stesso. 0x0EED - grafica dorata, -1 - qualsiasi hue, Contenitore=-1 - mondo, false - senza ricorsione del contenitore. id - uno serial; != 0 verifica la disponibilità. FindCount conta interi oggetti/pile. Infine ripristina l'impostazione, non l'elenco dei risultati.
return RunScenario();
object? RunScenario()
{
var previous = UO.FindDistance();
try
{
UO.FindDistance(5);
var id = UO.FindTypeEx(0x0EED, -1, -1, false);
if (Truth(id != 0))
{
UO.Print(Hex(id) + ":" + Convert.ToString(UO.FindCount()));
}
else
{
UO.Print("0");
}
}
finally
{
UO.FindDistance(previous);
}
return null;
}
string Hex(object? value) => Convert.ToInt64(value).ToString("X");
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- CountGroundInRange(graphic, raggio, altezza) memorizza entrambi i limiti, imposta raggio=5 e altezza=10, cerca graphic=0x0EED e restituisce FindCount(). Una pila è considerata un oggetto. La funzione completa viene fornita dopo Main. Ripristina infine entrambi i limiti anche in uscita tramite ritorno; il risultato della ricerca rimane disponibile.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
var count = CountGroundInRange(0x0EED, 5, 10);
UO.Print(Convert.ToString(count));
return null;
}
dynamic CountGroundInRange(dynamic graphic, dynamic radius, dynamic height)
{
var oldDistance = UO.FindDistance();
var oldVertical = UO.FindVertical();
try
{
UO.FindDistance(radius);
UO.FindVertical(height);
UO.FindTypeEx(graphic, -1, -1, false);
return UO.FindCount();
}
finally
{
UO.FindDistance(oldDistance);
UO.FindVertical(oldVertical);
}
}
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: Nessun parametro.
Risultato: int / Integer.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetFindDistance:bridge.SetFindDistance(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindDistance:bridge.GetFindDistance().
Codice interno di implementazione; non è uno script autonomo.
case "finddistance":
if (arguments.Length > 0) { bridge.SetFindDistance(Arg(0)); return InjectionValue.Unit; }
return new InjectionValue(bridge.GetFindDistance());
Parametri: value (Any)
Risultato: void / Unit.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetFindDistance:bridge.SetFindDistance(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindDistance:bridge.GetFindDistance().
Codice interno di implementazione; non è uno script autonomo.
case "finddistance":
if (arguments.Length > 0) { bridge.SetFindDistance(Arg(0)); return InjectionValue.Unit; }
return new InjectionValue(bridge.GetFindDistance());
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
dynamic UO.FindFullQuantity();
Legge il numero totale di unità nell'ultima istantanea di ricerca.
Non ci sono parametri.
int — somma massima(1, Importo) degli elementi trovati; Ogni personaggio trovato aggiunge 1. 0 nessuna corrispondenza. Due stack di 50 producono 100 e FindCount producono 2. Questa è un'istantanea al momento della ricerca, non un importo costantemente aggiornato.
- I dati appartengono all'ultima ricerca normale di questo script. FindType con argomenti 1–5, FindTypeEx, Count/CountEx/CountGround sostituiscono i risultati. Non sono necessari comandi avanzati di caratteri filtrati per modificare questa istantanea.
- Una nuova ricerca senza corrispondenze cancella FindItem, FindCount e FindFullQuantity e cancella GetFoundItems. La sola lettura di un risultato non attiva una nuova ricerca.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il risultato di una sola chiamata viene mostrato nel diario. Un numero non viene convertito in bool; per un array viene mostrato il numero di elementi.
UO.FindType(0x0EED, -1, "backpack");
object? result = UO.FindFullQuantity();
UO.Print(result is Array values ? "Count: " + values.Length : Convert.ToString(result));
Parametri e flusso di esecuzione:
- type=0x0EED – oro; colore=-1 — qualsiasi hue; backpack - solo il contenuto diretto dello zaino in questo formato FindType.
- int — somma massima(1, Importo) degli elementi trovati; Ogni personaggio trovato aggiunge 1. 0 nessuna corrispondenza. Due stack di 50 producono 100 e FindCount producono 2. Questa è un'istantanea al momento della ricerca, non un importo costantemente aggiornato.
var found = UO.FindType(0x0EED, -1, "backpack");
var value = UO.FindFullQuantity();
UO.Print(Convert.ToString(value));
Parametri e flusso di esecuzione:
- Tutte e quattro le letture appartengono a una ricerca finché non viene richiamata un'altra ricerca nel mezzo.
- Ad esempio, due pile di 50: Oggetti=2, Prima pila=50, Tutte le unità=100; Il primo ID contiene l'unico ID di uno stack.
return RunScenario();
object? RunScenario()
{
var found = UO.FindType(0x0EED, -1, "backpack");
UO.Print("Items: " + Convert.ToString(UO.FindCount()));
UO.Print("First stack: " + Convert.ToString(UO.FindQuantity()));
UO.Print("All units: " + Convert.ToString(UO.FindFullQuantity()));
UO.Print("First ID: 0x" + Hex(UO.FindItem()));
return null;
}
string Hex(object? value) => Convert.ToInt64(value).ToString("X");
Parametri e flusso di esecuzione:
- Il primo type è oro, il secondo 0x0F7A è un tipo separato di reagente. La nuova squadra cambia l'inquadratura complessiva.
- salvato rimane il numero della prima ricerca. La seconda lettura si applica al reagente anche se non c'è corrispondenza.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
var found = UO.FindType(0x0EED, -1, "backpack");
var saved = UO.FindFullQuantity();
found = UO.FindType(0x0F7A, -1, "backpack");
UO.Print("Saved: " + Convert.ToString(saved));
UO.Print("Current: " + Convert.ToString(UO.FindFullQuantity()));
return null;
}
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: Nessun parametro.
Risultato: dynamic / Any.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindFullQuantity:bridge.FindFullQuantity().
Codice interno di implementazione; non è uno script autonomo.
case "findfullquantity": return new InjectionValue(bridge.FindFullQuantity());
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
dynamic UO.FindItem();
Legge serial del primo risultato dell'ultima ricerca regolare.
Non ci sono parametri.
int - serial/ID del primo oggetto trovato, 0 se non c'è risultato. Questo è numerico serial, mentre FindType restituisce una stringa esadecimale o una stringa vuota. Non restituisce type.
- I dati appartengono all'ultima ricerca normale di questo script. FindType con argomenti 1–5, FindTypeEx, Count/CountEx/CountGround sostituiscono i risultati. Non sono necessari comandi avanzati di caratteri filtrati per modificare questa istantanea.
- Una nuova ricerca senza corrispondenze cancella FindItem, FindCount e FindFullQuantity e cancella GetFoundItems. La sola lettura di un risultato non attiva una nuova ricerca.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il risultato di una sola chiamata viene mostrato nel diario. Un numero non viene convertito in bool; per un array viene mostrato il numero di elementi.
UO.FindType(0x0EED, -1, "backpack");
object? result = UO.FindItem();
UO.Print(result is Array values ? "Count: " + values.Length : Convert.ToString(result));
Parametri e flusso di esecuzione:
- type=0x0EED – oro; colore=-1 — qualsiasi hue; backpack - solo il contenuto diretto dello zaino in questo formato FindType.
- int - serial/ID del primo oggetto trovato, 0 se non c'è risultato. Questo è numerico serial, mentre FindType restituisce una stringa esadecimale o una stringa vuota. Non restituisce type.
var found = UO.FindType(0x0EED, -1, "backpack");
var value = UO.FindItem();
UO.Print(Convert.ToString(value));
Parametri e flusso di esecuzione:
- Tutte e quattro le letture appartengono a una ricerca finché non viene richiamata un'altra ricerca nel mezzo.
- Ad esempio, due pile di 50: Oggetti=2, Prima pila=50, Tutte le unità=100; Il primo ID contiene l'unico ID di uno stack.
return RunScenario();
object? RunScenario()
{
var found = UO.FindType(0x0EED, -1, "backpack");
UO.Print("Items: " + Convert.ToString(UO.FindCount()));
UO.Print("First stack: " + Convert.ToString(UO.FindQuantity()));
UO.Print("All units: " + Convert.ToString(UO.FindFullQuantity()));
UO.Print("First ID: 0x" + Hex(UO.FindItem()));
return null;
}
string Hex(object? value) => Convert.ToInt64(value).ToString("X");
Parametri e flusso di esecuzione:
- Il primo type è oro, il secondo 0x0F7A è un tipo separato di reagente. La nuova squadra cambia l'inquadratura complessiva.
- salvato rimane il numero della prima ricerca. La seconda lettura si applica al reagente anche se non c'è corrispondenza.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
var found = UO.FindType(0x0EED, -1, "backpack");
var saved = UO.FindItem();
found = UO.FindType(0x0F7A, -1, "backpack");
UO.Print("Saved: " + Convert.ToString(saved));
UO.Print("Current: " + Convert.ToString(UO.FindItem()));
return null;
}
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: Nessun parametro.
Risultato: dynamic / Any.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindItem:bridge.FindItem.
Codice interno di implementazione; non è uno script autonomo.
case "finditem": return new InjectionValue(bridge.FindItem);
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
string UO.FindList(object? list);
string UO.FindList(object? list, object? container);
string UO.FindList(object? list, object? container, object? distance);
string UO.FindList(object? list, object? container, object? distance, object? notoriety);
string UO.FindList(object? list, object? container, object? distance, object? notoriety, object? nearest);
string UO.FindList(object? list, object? container, object? distance, object? notoriety, object? nearest, object? maxZ);
string UO.FindList(object? list, object? container, object? distance, object? notoriety, object? nearest, object? maxZ, object? includeIgnored);
Cerca elementi scaricati o cellulari su più type/hue. Restituisce il primo serial come stringa e memorizza l'intero risultato ordinato per FindItem, FindCount e GetFoundItems.
-
list— Nome dell'insieme non vuoto AddFindList; o un array piatto di numerici type; o una stringa di tipi delimitati da |, virgola, punto e virgola o spazio, ad esempio "0x0EED|0x0F7A". I tipi di array/stringhe utilizzano qualsiasi hue. Le coppie [type,hue] all'interno di un array non sono supportate; per hue, crea un set con nome. L'ordine delle voci determina la priorità. Graphic/type of the item either body mobile rather than its serial. Tipicamente int 0..65535, incluso 0x0EED; -1 or 0xFFFF means any type when searching. Fornire un valore per voce. Diversi tipi vengono aggiunti da chiamate separate. -
container— Predefinito -1: oggetti il cui contenitore principale è un personaggio (inclusi borse e attrezzature nidificate). "my" = -1. ground, "ground", UO.Ground(), numerico 0 o 1 seleziona il mondo: oggetti a terra e mobili, tranne self. "backpack" o serial del contenitore >1 cerca solo il contenuto diretto, senza ricorsione. The object alias resolves to serial; un alias errato può dare 0, quindi verificalo preventivamente con GetSerial. -
distance— Raggio non negativo delle celle di max(abs(dx),abs(dy)); diagonale: una cella. Valido per la ricerca ground; il contenuto diretto del contenitore non è limitato dalla distanza. Per impostazione predefinita e con un argomento negativo, viene preso UO.FindDistance(). 0 - lo stesso X/Y. -
notoriety— Predefinito - 1, qualsiasi codice. Un singolo numero, la stringa "5|6" o un array semplice di numeri specifica i codici cellulari consentiti; Con questo filtro gli articoli vengono esclusi. Codici: 0 sconosciuto, 1 innocente, 2 alleato, 3 grigio, 4 criminale, 5 nemico, 6 assassino, 7 invulnerabile; il significato della relazione è determinato dal server. Una maschera vuota /any/-1 senza codici specifici non limita. Quando si mescolano caratteri jolly e codici, i codici specifici rimangono una limitazione. I token non numerici vengono ignorati accanto a quelli validi; una maschera di soli token errati non trova nulla. -
nearest— Predefinito false. false/0: prima la priorità della voce dell'elenco, poi la priorità inferiore serial. true/1: Prima la distanza, poi la priorità di registrazione, quindi serial. Questo è un ordine, non un filtro aggiuntivo. -
maxZ— Differenza assoluta accettabile tra Z e il carattere, compreso. L'argomento predefinito o negativo è UO.FindVertical(); 0 consente solo lo stesso Z. Per un contenitore serial esplicito >1, prendi Z del contenitore caricato (se non ce n'è, Z cose); per le altre modalità - candidato Z. Le coordinate di una cosa in Gump non sono l'altezza del mondo. -
includeIgnored— Per impostazione predefinita false: serial da Ignore di questo runtime sono esclusi. true/1 li include solo in questa ricerca e non cancella Ignore.
string: hex-serial del primo risultato (ad esempio "0x40000011") o la stringa vuota "" se non ci sono corrispondenze. Questo è ID, non type, quantità e non bool: controlla il risultato != "", non il risultato == true. Con una normale query non vuota, FindItem memorizza lo stesso numero ID, FindCount() - il numero di oggetti distinti, GetFoundItems() - un array del loro numero serial.
- argomenti posizionali da 1 a 7; Puoi saltare solo la coda. Per specificare maxZ, passare esplicitamente gli argomenti precedenti. La ricerca è sincrona in base allo stato caricato localmente: non apre il contenitore, non carica il contenuto, non controlla la linea di vista/disponibilità e non attacca.
- Ogni oggetto viene incluso una volta, anche se soddisfa diverse regole. La sua priorità è la prima voce corrispondente. Il nome sconosciuto tenta di essere analizzato come una stringa di tipo; type/hue illeggibile causa un errore di conversione.
- Una query non vuota cancella i precedenti FindItem/FindCount/GetFoundItems prima della selezione; nessuna corrispondenza lascia risultati vuoti. Eccezione: un array vuoto o un elenco di stringhe vuoto restituisce "" PRIMA della ricerca e mantiene i risultati precedenti. Non contare FindCount come nuovo risultato dopo tale chiamata.
- La modifica delle definizioni di AddFindList/ClearFindList/DeleteFindList non modifica il set già trovato. L'altra ricerca in questo runtime sostituisce FindItem e l'array complessivo, quindi salva GetFoundItems prima della ricerca nidificata.
- Le definizioni sono nello stato del runtime dello script specificato. Un altro runtime indipendente ha il proprio set; chiudendo la finestra IDE non si cancellano queste regole. Questo non è un file di impostazioni o un elenco di oggetti di gioco globali.
- AddFindList aggiunge la voce alla fine; le ripetizioni non vengono cancellate. Per riapprovvigionare il tuo kit, chiama prima ClearFindList("nome"). La modifica delle definizioni non cancella FindItem/FindCount/GetFoundItems che sono già state ricevute.
- Il record memorizza i campi di testo. Il letterale numerico 0x0EED è memorizzato come "3821", la stringa "0x0EED" è memorizzata come "0x0EED". La ricerca converte entrambe le opzioni in un numero e DeleteFindList confronta il testo memorizzato. Utilizza lo stesso modulo per aggiungere ed eliminare.
- Il nome sconosciuto in FindList non è un set registrato vuoto: il motore tenta di analizzarlo come un elenco di tipi numerici. Un nome non numerico provoca un errore di conversione. Dopo aver eliminato l'ultima voce, crea un nuovo set prima di cercare quel nome.
Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.
Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.
Il risultato di una sola chiamata viene mostrato nel diario. Un numero non viene convertito in bool; per un array viene mostrato il numero di elementi.
var result = UO.FindList(new[] { 0x0EED }, "backpack");
UO.Print("FindList: " + Convert.ToString(result));
Parametri e flusso di esecuzione:
- Al false l'oro ha la priorità sul secondo type anche a distanze maggiori. Il raggio 2 e maxZ=5 limitano i candidati; non garantiscono il diritto di ritiro della cosa.
- Questa è una vera e propria azione di gioco: viene trasferito solo il primo oggetto trovato. Il risultato MoveItem non significa che il server ha confermato l'intera mossa.
BuildLoot();
var item = UO.FindList("loot", "ground", 2, -1, false, 5);
if (Truth(item == ""))
{
return null;
}
var accepted = UO.MoveItem(item, 0, "backpack");
if (Truth(accepted == 0))
{
UO.Print("Move was not accepted");
}
void BuildLoot()
{
UO.ClearFindList("loot");
UO.AddFindList("loot", 0x0EED, -1);
UO.AddFindList("loot", 0x0F7A, -1);
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- Sette parametri: due body, mondo, raggio 12, codici 5 o 6, il più vicino per primo, differenza Z non superiore a 10, ignorato escluso. C'è solo selezione e salvataggio; lo script attaccante deve verificare separatamente le condizioni adeguate.
return RunScenario();
object? RunScenario()
{
var target = UO.FindList("0x0190|0x0191", "ground", 12, "5|6", true, 10, false);
if (Truth(target != ""))
{
UO.AddObject("candidate", target);
UO.Print("Candidate: " + UO.GetName(target));
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
Parametri e flusso di esecuzione:
- dichiarando i tipi di variabile[1] si creano gli indici 0 e 1 in questo motore. Vengono sommate le unità dei due tipi, non il numero di pile. backpack limitato ai contenuti diretti; Le borse inserite non sono incluse qui.
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
dynamic[] types = new dynamic[checked((int)(1) + 1)];
types[0] = 0x0EED;
types[1] = 0x0F7A;
var first = UO.FindList(types, "backpack");
var total = 0;
if (Truth(first != ""))
{
var items = UO.GetFoundItems();
foreach (var item in items)
{
total += UO.FindCount(item);
}
}
if (Truth(total < 100))
{
UO.Print("Stock below limit: " + Convert.ToString(total));
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}
C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.
Parametri: list (Any)
Risultato: string / String.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.Register [FindList]. -
InjectionScript.Runtime.InjectionApiUO.CompactFindList:CompactFindList(values).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(CompactFindList(values))
Parametri: list (Any), container (Any)
Risultato: string / String.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.Register [FindList]. -
InjectionScript.Runtime.InjectionApiUO.CompactFindList:CompactFindList(values).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(CompactFindList(values))
Parametri: list (Any), container (Any), distance (Any)
Risultato: string / String.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.Register [FindList]. -
InjectionScript.Runtime.InjectionApiUO.CompactFindList:CompactFindList(values).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(CompactFindList(values))
Parametri: list (Any), container (Any), distance (Any), notoriety (Any)
Risultato: string / String.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.Register [FindList]. -
InjectionScript.Runtime.InjectionApiUO.CompactFindList:CompactFindList(values).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(CompactFindList(values))
Parametri: list (Any), container (Any), distance (Any), notoriety (Any), nearest (Any)
Risultato: string / String.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.Register [FindList]. -
InjectionScript.Runtime.InjectionApiUO.CompactFindList:CompactFindList(values).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(CompactFindList(values))
UO.FindList(list, container, distance, notoriety, nearest, maxZ) — UO.FindList(Any,Any,Any,Any,Any,Any)
Parametri: list (Any), container (Any), distance (Any), notoriety (Any), nearest (Any), maxZ (Any)
Risultato: string / String.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.Register [FindList]. -
InjectionScript.Runtime.InjectionApiUO.CompactFindList:CompactFindList(values).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(CompactFindList(values))
UO.FindList(list, container, distance, notoriety, nearest, maxZ, includeIgnored) — UO.FindList(Any,Any,Any,Any,Any,Any,Any)
Parametri: list (Any), container (Any), distance (Any), notoriety (Any), nearest (Any), maxZ (Any), includeIgnored (Any)
Risultato: string / String.
Durante la chiamata:
-
InjectionScript.Runtime.InjectionApiUO.Register [FindList]. -
InjectionScript.Runtime.InjectionApiUO.CompactFindList:CompactFindList(values).
La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(CompactFindList(values))
ClassicUO — Bad Newbie & C# Scripts IDE