ES Runtime Helpers 6 - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Código interno de implementación; no es un script independiente.
Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Listener listener
Origen: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:239.
private void Remove(Listener listener)
Resultado: void.
Condiciones:
listener.Closed
Llamadas:
listeners.Removelistener.Source.Dispose
Código interno de implementación; no es un script independiente.
private void Remove(Listener listener)
{
lock (sync) { if (listener.Closed) return; listener.Closed = true; listeners.Remove(listener); }
listener.Source.Dispose();
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string name
Origen: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:386.
private void RemoveState(string name)
Resultado: void.
Llamadas:
stateEvents.Remove.Dispose
Código interno de implementación; no es un script independiente.
private void RemoveState(string name)
{
StateEvent? state;
lock (sync) { stateEvents.Remove(name, out state); }
state?.Subscription?.Dispose();
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/src/ClassicUO.CSharp/CSharpScriptEngine.cs:576.
internal static void VerifyActive()
Resultado: void.
Condiciones:
CurrentFinalization.Value?.IsActive == true
Llamadas:
.Verify
Código interno de implementación; no es un script independiente.
internal static void VerifyActive()
{
Current.Value?.Verify();
if (CurrentFinalization.Value?.IsActive == true)
throw new InvalidOperationException("Game API calls are unavailable from a CLR finalizer.");
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string value
Origen: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:321.
private static string EncodePathSegment(string value)
Resultado: string.
Condiciones:
-
string.IsNullOrWhiteSpace(value) -
windowsInvalid || windowsTrimmedAtEnd -
`baseName.Equals("CON", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("PRN", StringComparison.OrdinalIgnoreCase) || baseName.Equals("AUX", StringComparison.OrdinalIgnoreCase) || baseName.Equals("NUL", StringComparison.OrdinalIgnoreCase) || baseName.Length == 4 && (baseName.StartsWith("COM", StringComparison.OrdinalIgnoreCase) || baseName.StartsWith("LPT", StringComparison.OrdinalIgnoreCase)) && baseName[3] is >= '1' and <= '9'`
Llamadas:
string.IsNullOrWhiteSpaceIsWindowsTrimmedSuffixbuilder.Append('~').Appendbuilder.Append((int)character).ToStringbuilder.ToStringresult.SplitbaseName.EqualsbaseName.StartsWith
Código interno de implementación; no es un script independiente.
private static string EncodePathSegment(string value)
{
if (string.IsNullOrWhiteSpace(value))
return "UnknownServer";
var builder = new StringBuilder(value.Length);
for (int index = 0; index < value.Length; index++)
{
char character = value[index];
bool windowsInvalid = character < 32
|| character is '<' or '>' or ':' or '"' or '/' or '\\' or '|' or '?' or '*' or '~';
bool windowsTrimmedAtEnd = (character == '.' || character == ' ')
&& IsWindowsTrimmedSuffix(value, index);
if (windowsInvalid || windowsTrimmedAtEnd)
builder.Append('~').Append(((int)character).ToString("X4"));
else
builder.Append(character);
}
string result = builder.Length == 0 ? "UnknownServer" : builder.ToString();
string baseName = result.Split('.')[0];
if (baseName.Equals("CON", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("PRN", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("AUX", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("NUL", StringComparison.OrdinalIgnoreCase)
|| baseName.Length == 4
&& (baseName.StartsWith("COM", StringComparison.OrdinalIgnoreCase)
|| baseName.StartsWith("LPT", StringComparison.OrdinalIgnoreCase))
&& baseName[3] is >= '1' and <= '9')
{
result = "~005F" + result;
}
return result;
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1559.
public void ActivateHandle()
Resultado: void.
Llamadas:
InvokeSDL3.SDL.SDL_RaiseWindowRequireGameView
Código interno de implementación; no es un script independiente.
public void ActivateHandle() => Invoke(() => SDL3.SDL.SDL_RaiseWindow(RequireGameView("ActivateHandle").Window.Handle));Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string name
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2187.
public void AddChatUserIgnore(string name)
Resultado: void.
Llamadas:
InvokeJournalManager.AddYokoIgnoredUser
Código interno de implementación; no es un script independiente.
public void AddChatUserIgnore(string name) => Invoke(() => JournalManager.AddYokoIgnoredUser(name));Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string caption, string item, bool persistent
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:699.
public void AddMenuHook(string caption, string item, bool persistent)
Resultado: void.
Llamadas:
Invoke_manager.AddMenuHook
Código interno de implementación; no es un script independiente.
public void AddMenuHook(string caption, string item, bool persistent) => Invoke(() => _manager.AddMenuHook(caption, item, persistent));Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int uiWindowType, int id
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3099.
public void CloseClientWindow(int uiWindowType, int id)
Resultado: void.
Condiciones:
uiWindowType == 2uiWindowType == 0uiWindowType == 3
Llamadas:
-
Invoke -
_world.CharacterPanels.Profile -
.Close -
_world.NativePopups.Close -
_world.Containers.Close -
`UIManager.Gumps.Where(gump => !gump.IsDisposed
&& gump.LocalSerial == unchecked((uint)id) && MatchesType(gump)).ToArray` -
UIManager.Gumps.Where -
MatchesType -
gump.Dispose
Código interno de implementación; no es un script independiente.
public void CloseClientWindow(int uiWindowType, int id) => Invoke(() =>
{
if (uiWindowType == 2) _world.CharacterPanels.Profile(unchecked((uint)id))?.Close(true);
if (uiWindowType == 0) _world.NativePopups.Close(SessionPopupKind.Paperdoll, unchecked((uint)id));
if (uiWindowType == 3) _world.Containers.Close(unchecked((uint)id));
bool MatchesType(Gump gump) => uiWindowType switch
{
0 => gump is PaperDollGump,
1 => gump is StatusGumpBase,
2 => gump is ProfileGump,
3 => gump is ContainerGump,
_ => false
};
foreach (Gump gump in UIManager.Gumps.Where(gump => !gump.IsDisposed
&& gump.LocalSerial == unchecked((uint)id) && MatchesType(gump)).ToArray())
gump.Dispose();
});Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int tradeNumber
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:286.
public int ConfirmTrade(int tradeNumber)
Resultado: int.
Condiciones:
gump == null!gump.ImAccepting
Llamadas:
InvokeFindNumberedTradeGameActions.AcceptTrade
Código interno de implementación; no es un script independiente.
public int ConfirmTrade(int tradeNumber) => Invoke(() =>
{
ISessionTrade gump = FindNumberedTrade(tradeNumber);
if (gump == null) return 0;
if (!gump.ImAccepting)
{
gump.ImAccepting = true;
GameActions.AcceptTrade(gump.ID1, true);
}
return 1;
});Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int id
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2969.
public int ContainerOf(int id)
Resultado: int.
Llamadas:
Invoke_world.Items.Get
Código interno de implementación; no es un script independiente.
public int ContainerOf(int id) => Invoke(() => _world.Items.Get((uint)id) is Item item ? (int)item.Container : 0);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Control control
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4289.
private static string DescribeControl(Control control)
Resultado: string.
Condiciones:
control is SessionGumpControl logicalcontrol is Button buttoncontrol is Checkbox checkbox
Llamadas:
logical.Describecontrol.GetTypeGetControlTextstring.IsNullOrWhiteSpace
Código interno de implementación; no es un script independiente.
private static string DescribeControl(Control control)
{
if (control is SessionGumpControl logical) return logical.Describe();
string common = $"{control.GetType().Name} page={control.Page} id=0x{control.LocalSerial:X8} "
+ $"x={control.X} y={control.Y} width={control.Width} height={control.Height}";
if (control is Button button)
{
return common + $" ButtonID={button.ButtonID} action={button.ButtonAction} toPage={button.ToPage} "
+ $"normal=0x{button.ButtonGraphicNormal:X4} pressed=0x{button.ButtonGraphicPressed:X4} over=0x{button.ButtonGraphicOver:X4}";
}
if (control is Checkbox checkbox)
{
string kind = checkbox is RadioButton ? "RadioButton" : "Checkbox";
return $"{kind} page={control.Page} ID={control.LocalSerial} x={control.X} y={control.Y} "
+ $"checked={checkbox.IsChecked} inactive=0x{checkbox.InactiveGraphic:X4} active=0x{checkbox.ActiveGraphic:X4}";
}
string text = GetControlText(control);
return string.IsNullOrWhiteSpace(text) ? common : common + $" text={text}";
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string subrutineName
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2954.
public void Exec(string subrutineName)
Resultado: void.
Llamadas:
_manager.RunNamedProcedureFromScript
Código interno de implementación; no es un script independiente.
public void Exec(string subrutineName)
{
_manager.RunNamedProcedureFromScript(subrutineName, _csharpGlobals?.Cancellation ?? _cancellationToken);
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:209.
public int GetDropDelay()
Resultado: int.
Llamadas:
—
Código interno de implementación; no es un script independiente.
public int GetDropDelay() => State.GrabDelay;Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int id
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:625.
public int GetFlags(int id)
Resultado: int.
Llamadas:
Invoke_world.Get
Código interno de implementación; no es un script independiente.
public int GetFlags(int id) => Invoke(() => _world.Get((uint)id) is Entity entity ? (int)entity.Flags : 0);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3043.
public int GetGumpCount()
Resultado: int.
Llamadas:
InvokeServerGumpsUnsafe
Código interno de implementación; no es un script independiente.
public int GetGumpCount() => Invoke(() => ServerGumpsUnsafe().Count);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int index
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3053.
public int GetGumpSerial(int index)
Resultado: int.
Llamadas:
InvokeServerGumpsUnsafe().ElementAtOrDefaultServerGumpsUnsafe
Código interno de implementación; no es un script independiente.
public int GetGumpSerial(int index) => Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.LocalSerial ?? 0));Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int index
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:321.
public string GetScriptPath(int index)
Resultado: string.
Llamadas:
_manager.GetScriptPath
Código interno de implementación; no es un script independiente.
public string GetScriptPath(int index) => _manager.GetScriptPath(index);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: buffer, offset, value
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3346.
static void Write16(byte[] buffer, int offset, int value)
Resultado: void.
Código interno de implementación; no es un script independiente.
static void Write16(byte[] buffer, int offset, int value)
{
buffer[offset] = (byte)value;
buffer[offset + 1] = (byte)(value >> 8);
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1297.
public int[] GetWaitTargetQueue()
Resultado: int[].
Llamadas:
_manager.GetPendingTargetSerials
Código interno de implementación; no es un script independiente.
public int[] GetWaitTargetQueue() => _manager.GetPendingTargetSerials();Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2189.
public int JournalEntryCount()
Resultado: int.
Llamadas:
Invoke
Código interno de implementación; no es un script independiente.
public int JournalEntryCount() => Invoke(() => JournalManager.Entries.Count);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2190.
public int JournalMatchCount()
Resultado: int.
Llamadas:
—
Código interno de implementación; no es un script independiente.
public int JournalMatchCount() => _journalMatchCount;Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:152.
public int LastTarget
Resultado: int.
Llamadas:
Invoke
Código interno de implementación; no es un script independiente.
public int LastTarget => Invoke(() => (int)_world.TargetManager.LastTargetInfo.Serial);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1298.
public int[] LastTile()
Resultado: int[].
Llamadas:
Invoke
Código interno de implementación; no es un script independiente.
public int[] LastTile() => Invoke(() =>
{
LastTargetInfo info = _world.TargetManager.LastTargetInfo;
return new[] { (int)info.Graphic, (int)info.X, (int)info.Y, (int)info.Z };
});Devuelve el valor de la expresión siguiente.
Parámetros: x, y, z, accuracy, running, staminaThreshold, openDoor, throughCorner, throughNpcs, heuristicMultiplier, turnCost, exitOnDisconnect, accuracyZ, optimized, betweenTwoCorners
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1463.
`public int MoveTo(int x, int y, int z, int accuracy, bool running, int staminaThreshold,
bool openDoor, bool throughCorner, bool throughNpcs, int heuristicMultiplier,
int turnCost, bool exitOnDisconnect, int accuracyZ = 255, bool optimized = true,
bool betweenTwoCorners = false)`
Resultado: int.
Llamadas: Invoke.
Código interno de implementación; no es un script independiente.
public int MoveTo(int x, int y, int z, int accuracy, bool running, int staminaThreshold,
bool openDoor, bool throughCorner, bool throughNpcs, int heuristicMultiplier,
int turnCost, bool exitOnDisconnect, int accuracyZ = 255, bool optimized = true,
bool betweenTwoCorners = false) => Invoke(() =>
{
if (_world.Player == null) return 0;
_manager.StopFollowing();
Pathfinder pathfinder = _world.Player.Pathfinder;
bool started = pathfinder.WalkTo(
x,
y,
z,
Math.Clamp(accuracy, 0, 20),
running,
Math.Max(0, staminaThreshold),
openDoor,
throughCorner,
throughNpcs,
Math.Max(1, heuristicMultiplier),
Math.Max(0, turnCost),
exitOnDisconnect,
Math.Clamp(accuracyZ, 0, 255),
optimized,
betweenTwoCorners,
ScriptPathObstacles.Create(_csharpState, this), incremental: true);
if (started)
{
_lastMovementPathfinder = pathfinder;
_lastMovementPlayer = _world.Player;
_lastMovementMap = _world.Map;
_lastMovementMapIndex = _world.MapIndex;
Interlocked.Exchange(ref _lastMovementRequestId, pathfinder.AutoWalkRequestGeneration);
_pathCancellation.Unregister();
long generation = pathfinder.AutoWalkGeneration;
if (pathfinder.AutoWalking)
_pathCancellation = _cancellationToken.Register(() => _manager.ReleaseScriptMovement(pathfinder, generation));
}
return started ? 1 : 0;
});Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int id, int delay
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1488.
public void ReceiveObjectName(int id, int delay)
Resultado: void.
Llamadas:
ClickStopwatch.StartNewMath.Maxstring.IsNullOrEmptyGetNameWaitMath.Min
Código interno de implementación; no es un script independiente.
public void ReceiveObjectName(int id, int delay)
{
Click(id);
var elapsed = Stopwatch.StartNew();
while (elapsed.ElapsedMilliseconds < Math.Max(0, delay) && string.IsNullOrEmpty(GetName(id)))
Wait((int)Math.Min(25, Math.Max(1L, delay - elapsed.ElapsedMilliseconds)));
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:298.
public void RequestVirtuesGump()
Resultado: void.
Condiciones:
_world.Player != null
Llamadas:
InvokeGameActions.ReplyGumpArray.Empty<Tuple<ushort, string>>
Código interno de implementación; no es un script independiente.
public void RequestVirtuesGump() => Invoke(() =>
{
if (_world.Player != null)
GameActions.ReplyGump(_world.Player, 0x000001CD, 0x00000001, new[] { _world.Player.Serial }, Array.Empty<Tuple<ushort, string>>());
});Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int gumpId
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4242.
private Gump ResolveGumpUnsafe(int gumpId)
Resultado: Gump.
Condiciones:
gumpId == -1
Llamadas:
ServerGumpsUnsafegumps.LastOrDefaultgumps.FirstOrDefault
Código interno de implementación; no es un script independiente.
private Gump ResolveGumpUnsafe(int gumpId)
{
List<Gump> gumps = ServerGumpsUnsafe();
if (gumpId == -1)
{
return _selectedServerGump != null && !_selectedServerGump.IsDisposed ? _selectedServerGump : gumps.LastOrDefault();
}
return gumps.FirstOrDefault(g => g.LocalSerial == (uint)gumpId || g.ServerSerial == (uint)gumpId)
?? (gumpId >= 0 && gumpId < gumps.Count ? gumps[gumpId] : null);
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:744.
public int SelectContainer()
Resultado: int.
Llamadas:
SelectObject
Código interno de implementación; no es un script independiente.
public int SelectContainer() => SelectObject() is Item item ? (int)item.Serial : 0;Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string command, string message
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1575.
private void SendServerSpeech(string command, string message)
Resultado: void.
Llamadas:
InvokeGameActions.SayReportStatus
Código interno de implementación; no es un script independiente.
private void SendServerSpeech(string command, string message) => Invoke(() =>
{
GameActions.Say(message ?? string.Empty, allowYokoCommand: SCRIPT_SAY_ALLOW_YOKO_COMMAND);
ReportStatus($"{command} delivered through ClassicUO server speech");
});Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string path
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:324.
public int StartScript(string path)
Resultado: int.
Llamadas:
_manager.StartScript
Código interno de implementación; no es un script independiente.
public int StartScript(string path) => _manager.StartScript(path);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int spellId
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2420.
internal static int ToClassicUOCastIndex(int spellId)
Resultado: int.
Llamadas:
—
Código interno de implementación; no es un script independiente.
internal static int ToClassicUOCastIndex(int spellId) => spellId;Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int id, int amount, int destination, int x, int y, int z
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1342.
private bool TryMoveItemRequest(int id, int amount, int destination, int x, int y, int z)
Resultado: bool.
Llamadas:
TryMoveItemRequest
Código interno de implementación; no es un script independiente.
private bool TryMoveItemRequest(int id, int amount, int destination, int x, int y, int z)
=> TryMoveItemRequest(_world, id, amount, destination, x, y, z);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int abilityId
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2453.
public int UseAbility(int abilityId)
Resultado: int.
Condiciones:
_world.Player == null || abilityId < 1 || abilityId > AbilityData.Abilities.LengthabilityId == primaryabilityId == secondary
Llamadas:
InvokeGameActions.UsePrimaryAbilityGameActions.UseSecondaryAbility
Código interno de implementación; no es un script independiente.
public int UseAbility(int abilityId) => Invoke(() =>
{
if (_world.Player == null || abilityId < 1 || abilityId > AbilityData.Abilities.Length)
return 0;
int primary = (byte)_world.Player.Abilities[0] & 0x7F;
int secondary = (byte)_world.Player.Abilities[1] & 0x7F;
if (abilityId == primary)
{
GameActions.UsePrimaryAbility(_world);
return 1;
}
if (abilityId == secondary)
{
GameActions.UseSecondaryAbility(_world);
return 1;
}
return 0;
});Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string scriptKey, string text
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/YokoIdeToolBuffers.cs:124.
internal void AppendOutput(string scriptKey, string text)
Resultado: void.
Llamadas:
_output.Add_clockNormalizeKeyNormalizeTextTrimOldest
Código interno de implementación; no es un script independiente.
internal void AppendOutput(string scriptKey, string text)
{
lock (_sync)
{
_output.Add(new YokoOutputEntry
{
Sequence = ++_sequence,
Timestamp = _clock(),
ScriptKey = NormalizeKey(scriptKey),
Text = NormalizeText(text)
});
TrimOldest(_output);
_revision++;
}
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Action callback, CancellationToken cancellationToken
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3490.
internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)
Resultado: void.
Llamadas:
InvokeOnGameThreadcallback
Código interno de implementación; no es un script independiente.
internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)
{
InvokeOnGameThread(() =>
{
callback();
return true;
}, cancellationToken);
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int index
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2841.
internal void PauseResumeScript(int index)
Resultado: void.
Condiciones:
script == null
Llamadas:
ElementAtRunningScriptsscript.ToggleManualPauseMarkRuntimeStateChanged
Código interno de implementación; no es un script independiente.
internal void PauseResumeScript(int index)
{
YokoRunningScript script = ElementAt(RunningScripts(), index);
if (script == null)
return;
script.ToggleManualPause();
MarkRuntimeStateChanged();
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string text, string scriptKey = null
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3751.
internal void SetStatus(string text, string scriptKey = null)
Resultado: void.
Condiciones:
!IsScriptPublicationCurrent(scriptKey)
Llamadas:
IsScriptPublicationCurrentVolatile.WritePublishStatus
Código interno de implementación; no es un script independiente.
internal void SetStatus(string text, string scriptKey = null)
{
if (!IsScriptPublicationCurrent(scriptKey))
return;
Volatile.Write(ref _statusPriority, 1);
PublishStatus(text, scriptKey);
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: uint serial
Origen: Project_Full/src/ClassicUO.Client/Game/SerialHelper.cs:16.
public static bool IsMobile(uint serial)
Resultado: bool.
Llamadas:
—
Código interno de implementación; no es un script independiente.
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsMobile(uint serial)
{
return serial > 0 && serial < 0x40000000;
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Season season, int music
Origen: Project_Full/src/ClassicUO.Client/Game/World.cs:321.
public void ChangeSeason(Season season, int music)
Resultado: void.
Condiciones:
audio != null && (currentMusic == null || currentMusic.Index == audio.LoginMusicIndex)
Llamadas:
Map.GetUsedChunks.GetHeadObjectobj.UpdateGraphicBySeason.GetCurrentMusicaudio.PlayMusic
Código interno de implementación; no es un script independiente.
public void ChangeSeason(Season season, int music)
{
Season = season;
foreach (Chunk chunk in Map.GetUsedChunks())
{
for (int x = 0; x < 8; x++)
{
for (int y = 0; y < 8; y++)
{
for (GameObject obj = chunk?.GetHeadObject(x, y); obj != null; obj = obj.TNext)
{
obj.UpdateGraphicBySeason();
}
}
}
}
//TODO(deccer): refactor this out into _audioPlayer.PlayMusic(...)
var audio = Client.Game?.Audio;
UOMusic currentMusic = audio?.GetCurrentMusic();
if (audio != null && (currentMusic == null || currentMusic.Index == audio.LoginMusicIndex))
{
audio.PlayMusic(music, false);
}
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string value,int wordIndex
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:41.
private static string GetWord(string value,int wordIndex)
Resultado: string.
Llamadas:
GetWord
Código interno de implementación; no es un script independiente.
private static string GetWord(string value,int wordIndex) => GetWord(value,wordIndex," ");Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string value,string delimiter
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:36.
private static string[] SplitWords(string value,string delimiter)
Resultado: string[].
Llamadas:
string.IsNullOrEmptyvalue.Split
Código interno de implementación; no es un script independiente.
private static string[] SplitWords(string value,string delimiter)
{
value=value??string.Empty;
return string.IsNullOrEmpty(delimiter)||delimiter==" "?value.Split((char[])null,StringSplitOptions.RemoveEmptyEntries):value.Split(new[]{delimiter},StringSplitOptions.RemoveEmptyEntries);
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int fromX, int fromY, int toX, int toY
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2857.
private static int CalculateDirection(int fromX, int fromY, int toX, int toY)
Resultado: int.
Condiciones:
dx == 0 && dy == 0dx == 0dy == 0dx > 0
Llamadas:
Math.Sign
Código interno de implementación; no es un script independiente.
private static int CalculateDirection(int fromX, int fromY, int toX, int toY)
{
int dx = Math.Sign(toX - fromX);
int dy = Math.Sign(toY - fromY);
if (dx == 0 && dy == 0) return 100;
if (dx == 0) return dy < 0 ? 0 : 4;
if (dy == 0) return dx > 0 ? 2 : 6;
if (dx > 0) return dy < 0 ? 1 : 3;
return dy > 0 ? 5 : 7;
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: InjectionValue[] values
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5068.
private int CompactAttackNearest(InjectionValue[] values)
Resultado: int.
Condiciones:
!TryResolveClassRules(classMask, out EquipmentClassRule[] rules)serial != 0
Llamadas:
ResolveCompactDistancebridge.GetFindDistanceResolveCompactMaxZbridge.GetFindVerticalToBooleanNumberConversions.ToIntTryResolveClassRulesFilterMobilesSelectClassCandidatebridge.Attack
Código interno de implementación; no es un script independiente.
private int CompactAttackNearest(InjectionValue[] values)
{
InjectionValue notoriety = values[0];
int distance = values.Length > 1 ? ResolveCompactDistance(values[1]) : bridge.GetFindDistance();
InjectionValue body = values.Length > 2 ? values[2] : InjectionValue.MinusOne;
int maxZ = values.Length > 3 ? ResolveCompactMaxZ(values[3]) : bridge.GetFindVertical();
bool nearest = values.Length <= 4 || ToBoolean(values[4]);
int color = values.Length > 5 ? NumberConversions.ToInt(values[5]) : -1;
InjectionValue classMask = values.Length > 6 ? values[6] : default(InjectionValue);
bool aliveOnly = values.Length > 7 && ToBoolean(values[7]);
bool visibleOnly = values.Length > 8 && ToBoolean(values[8]);
// Resolve once, before any attack. A misspelled/undefined class must
// never degrade into an unrestricted search or a name substring match.
if (!TryResolveClassRules(classMask, out EquipmentClassRule[] rules))
return 0;
IEnumerable<int> mobiles = FilterMobiles(distance, notoriety, body, maxZ, color, false,
false, aliveOnly, visibleOnly);
int serial = SelectClassCandidate(mobiles, rules, nearest);
if (serial != 0)
bridge.Attack(serial);
return serial;
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: InjectionValue[] values
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3197.
private int CompactWaitGump(InjectionValue[] values)
Resultado: int.
Condiciones:
values == null || values.Length == 0bridge is IApiGumpAutomation automationvalue.Kind == InjectionValueKind.ArrayCompactWaitGump(value.Array) == 0
Llamadas:
-
CollectGumpButtons -
automation.QueueGumpButtons -
buttons.ToArray -
CompactWaitGump -
(value.String ?? string.Empty).Contains -
`(value.String ?? string.Empty)
.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries) .Select(part => new InjectionValue(part.Trim())).ToArray` -
`(value.String ?? string.Empty)
.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries) .Select` -
`(value.String ?? string.Empty)
.Split` -
part.Trim -
NumberConversions.ToInt -
bridge.WaitGumpSelect
Código interno de implementación; no es un script independiente.
private int CompactWaitGump(InjectionValue[] values)
{
if (values == null || values.Length == 0)
throw new NativeSubrutineException("UO.WaitGump requires at least one trigger/button id.");
if (bridge is IApiGumpAutomation automation)
{
var buttons = new List<int>();
CollectGumpButtons(values, buttons);
automation.QueueGumpButtons(buttons.ToArray());
return 1;
}
foreach (InjectionValue value in values)
{
if (value.Kind == InjectionValueKind.Array)
{
if (CompactWaitGump(value.Array) == 0)
return 0;
continue;
}
if (value.Kind == InjectionValueKind.String
&& ((value.String ?? string.Empty).Contains('|') || (value.String ?? string.Empty).Contains(',')))
{
InjectionValue[] nested = (value.String ?? string.Empty)
.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(part => new InjectionValue(part.Trim())).ToArray();
if (CompactWaitGump(nested) == 0)
return 0;
continue;
}
int triggerId = NumberConversions.ToInt(value);
if (bridge.WaitGumpSelect(triggerId, 30_000) == 0)
return 0;
}
return 1;
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string layer
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6523.
private int ConvertLayer(string layer)
Resultado: int.
Condiciones:
layerNameToNumber.TryGetValue((layer ?? string.Empty).Trim(), out int value)
Llamadas:
layerNameToNumber.TryGetValue(layer ?? string.Empty).Trim
Código interno de implementación; no es un script independiente.
private int ConvertLayer(string layer)
{
if (layerNameToNumber.TryGetValue((layer ?? string.Empty).Trim(), out int value))
return value;
throw new NativeSubrutineException($"Unknown equipment layer '{layer}'. Use a documented layer such as Rhand, Lhand, Helmet, Necklace, Backpack, Robe, Legs, or Mount.");
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: InjectionValue containerId
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6479.
private int ConvertMoveDestination(InjectionValue containerId)
Resultado: int.
Condiciones:
containerId.Kind != InjectionValueKind.String && containerId.Kind != InjectionValueKind.Integer
Llamadas:
NumberConversions.TryStr2Int.TrimResolveTransferDestination
Código interno de implementación; no es un script independiente.
private int ConvertMoveDestination(InjectionValue containerId)
{
if (containerId.Kind != InjectionValueKind.String && containerId.Kind != InjectionValueKind.Integer)
throw new NativeSubrutineException("A move destination must be an object name or serial ID.");
// Preserve the legacy -1 backpack selector. Resolve names before
// lifting: a misspelled or unset container must never become ground.
bool backpack = containerId.Kind == InjectionValueKind.Integer
? containerId.Integer == -1
: NumberConversions.TryStr2Int(containerId.String?.Trim() ?? string.Empty, out int literal) && literal == -1;
return ResolveTransferDestination(backpack ? new InjectionValue("backpack") : containerId, allowGround: true);
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: InjectionValue type
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5326.
public int Count(InjectionValue type)
Resultado: int.
Llamadas:
CountResolveType
Código interno de implementación; no es un script independiente.
public int Count(InjectionValue type)
=> Count(ResolveType(type), -1, -1);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string text
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5519.
public void DeleteJournal(string text)
Resultado: void.
Llamadas:
bridge.DeleteJournalSelectJournalEntry
Código interno de implementación; no es un script independiente.
public void DeleteJournal(string text)
{
bridge.DeleteJournal(text);
SelectJournalEntry(null);
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string name
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3927.
public void DeleteObject(string name)
Resultado: void.
Condiciones:
objects.TryGet(name, out int value)
Llamadas:
objects.TryGetobjects.RemoveSystemMessage
Código interno de implementación; no es un script independiente.
public void DeleteObject(string name)
{
if (objects.TryGet(name, out int value))
{
objects.Remove(name);
SystemMessage($"Object {name} has been deleted");
}
else
SystemMessage($"Object {name} not found");
}Devuelve el valor de la expresión siguiente.
Parámetros: index
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1144.
string Text(int index)
Resultado: string.
Resultado: index < arguments.Length ? arguments[index].ToString() : string.Empty.
Llamadas: arguments[index].ToString.
Llamadas:
-
InjectionScript.Runtime.InjectionValue.ToString:arguments[index].ToString().
Código interno de implementación; no es un script independiente.
string Text(int index) => index < arguments.Length ? arguments[index].ToString() : string.Empty;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1231.
Resultado: InjectionValue.Unit.
Llamadas:
-
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Código interno de implementación; no es un script independiente.
case "addtojournal":
case "addtosystemjournal":
case "clientprint":
SystemMessage(Text(0)); return InjectionValue.Unit;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1286.
Resultado: InjectionValue.Unit.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoBuyRule:bridge.SetAutoBuyRule(Arg(0), Arg(1), Arg(2), Arg(3), Text(4)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(4).
Código interno de implementación; no es un script independiente.
case "autobuyex":
bridge.SetAutoBuyRule(Arg(0), Arg(1), Arg(2), Arg(3), Text(4)); return InjectionValue.Unit;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1550.
Resultado: new InjectionValue(bridge.CancelTrade(Arg(0))).
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CancelTrade:bridge.CancelTrade(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Código interno de implementación; no es un script independiente.
case "canceltrade": return new InjectionValue(bridge.CancelTrade(Arg(0)));Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1306.
Resultado: InjectionValue.Unit.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ConnectClient:bridge.ConnectClient().
Código interno de implementación; no es un script independiente.
case "connect": bridge.ConnectClient(); return InjectionValue.Unit;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1565.
Llamadas:
-
InjectionScript.Runtime.InjectionApiUO.GetDistance:GetDistance(Arg(0), Arg(1), Arg(2), Arg(3)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDistance:bridge.GetDistance(Arg(0)).
Código interno de implementación; no es un script independiente.
case "dist": return new InjectionValue(arguments.Length >= 4
? GetDistance(Arg(0), Arg(1), Arg(2), Arg(3))
: bridge.GetDistance(Arg(0)));Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1627.
Resultado: new InjectionValue(ChangeEquipmentItems(ArrayArg(0), true)).
Llamadas:
-
InjectionScript.Runtime.InjectionApiUO.ChangeEquipmentItems:ChangeEquipmentItems(ArrayArg(0), true). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::ArrayArg:ArrayArg(0).
Código interno de implementación; no es un script independiente.
case "equipitems":
return new InjectionValue(ChangeEquipmentItems(ArrayArg(0), true));Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2005.
new []
Resultado: [].
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientPath:bridge.ClientPath. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CurrentProfilePath:bridge.CurrentProfilePath. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GameServerAddress:bridge.GameServerAddress. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GameServerPort:bridge.GameServerPort.
Código interno de implementación; no es un script independiente.
case "extendedinfo":
return new InjectionValue(new[] { new InjectionValue(bridge.ClientPath), new InjectionValue(bridge.CurrentProfilePath), new InjectionValue(bridge.GameServerAddress), new InjectionValue(bridge.GameServerPort) });Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1476.
Resultado: new InjectionValue(bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0)).
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindType:bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[0]). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::StealthContainer:StealthContainer(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3).
Código interno de implementación; no es un script independiente.
case "findtypeex": return new InjectionValue(bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0));Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1587.
Resultado: new InjectionValue(bridge.GetActiveAbility()).
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetActiveAbility:bridge.GetActiveAbility().
Código interno de implementación; no es un script independiente.
case "getactiveability": return new InjectionValue(bridge.GetActiveAbility());Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1590.
Resultado: StringArray(bridge.GetMenuItems(Text(0), false)).
Llamadas:
-
InjectionScript.Runtime.InjectionApiUO.StringArray:StringArray(bridge.GetMenuItems(Text(0), false)). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMenuItems:bridge.GetMenuItems(Text(0), false). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Código interno de implementación; no es un script independiente.
case "getmenuitems": return StringArray(bridge.GetMenuItems(Text(0), false));Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1919.
Resultado: InjectionValue.Unit.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GlobalChatSend:bridge.GlobalChatSend(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Código interno de implementación; no es un script independiente.
case "globalchatsendmsg": bridge.GlobalChatSend(Text(0)); return InjectionValue.Unit;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1273.
Resultado: new InjectionValue(InJournal(Text(0))).
Llamadas:
-
InjectionScript.Runtime.InjectionApiUO.InJournal:InJournal(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Código interno de implementación; no es un script independiente.
case "injournal": return new InjectionValue(InJournal(Text(0)));Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2043.
Resultado: new InjectionValue(selectedJournalEntry?.Color ?? 0).
Código interno de implementación; no es un script independiente.
case "linetextcolor":
return new InjectionValue(selectedJournalEntry?.Color ?? 0);Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1534.
Resultado: new InjectionValue(ReadPredictedCoordinate(1)).
Llamadas:
-
InjectionScript.Runtime.InjectionApiUO.ReadPredictedCoordinate:ReadPredictedCoordinate(1).
Código interno de implementación; no es un script independiente.
case "predictedy": return new InjectionValue(ReadPredictedCoordinate(1));Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1594.
Resultado: InjectionValue.Unit.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestContextMenu:bridge.RequestContextMenu(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Código interno de implementación; no es un script independiente.
case "requestcontextmenu": bridge.RequestContextMenu(Arg(0)); return InjectionValue.Unit;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1357.
Resultado: InjectionValue.Unit.
Llamadas:
Código interno de implementación; no es un script independiente.
case "setsilentmode": state.SilentMode = Arg(0) != 0 ? 1 : 0; return InjectionValue.Unit;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1655.
Resultado: InjectionValue.Unit.
Llamadas:
-
InjectionScript.Runtime.InjectionApiUO.WarMode:WarMode(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Código interno de implementación; no es un script independiente.
case "setwarmode": WarMode(Arg(0)); return InjectionValue.Unit;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1295.
Resultado: new InjectionValue(bridge.GetTargetCursorId()).
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTargetCursorId:bridge.GetTargetCursorId().
Código interno de implementación; no es un script independiente.
case "targetid": return new InjectionValue(bridge.GetTargetCursorId());Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1250.
Resultado: InjectionValue.Unit.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseObject:bridge.UseObject(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Código interno de implementación; no es un script independiente.
case "useobject": bridge.UseObject(Arg(0)); return InjectionValue.Unit;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1681.
Resultado: InjectionValue.Unit.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseSecondaryAbility:bridge.UseSecondaryAbility().
Código interno de implementación; no es un script independiente.
case "usesecondaryability": bridge.UseSecondaryAbility(); return InjectionValue.Unit;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1642.
Resultado: new InjectionValue(bridge.WaitUntilTargeting(Arg(0))).
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitUntilTargeting:bridge.WaitUntilTargeting(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Código interno de implementación; no es un script independiente.
case "waitfortarget": return new InjectionValue(bridge.WaitUntilTargeting(Arg(0)));Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1369.
Resultado: new InjectionValue(bridge.Weight).
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Weight:bridge.Weight.
Código interno de implementación; no es un script independiente.
case "weight": return new InjectionValue(bridge.Weight);Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2844.
Llamadas:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList(name). -
InjectionScript.Runtime.InjectionValue.ToString:value.ToString().
Código interno de implementación; no es un script independiente.
case "adddir":
case "addfindlist":
case "addgate":
case "addrecall":
case "addstep":
LegacyList(name).Add(string.Join("|", arguments.Select(value => value.ToString())));
break;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2876.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClearMenuHooks:bridge.ClearMenuHooks().
Código interno de implementación; no es un script independiente.
case "cancelmenu": bridge.ClearMenuHooks(); break;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2858.
Condiciones: arguments.Length == 0.
Llamadas:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList("AddFindList"). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0).
Código interno de implementación; no es un script independiente.
case "clearfindlist":
if (arguments.Length == 0) LegacyList("AddFindList").Clear();
else LegacyList("AddFindList").RemoveAll(value => value.Split('|')[0]
.Equals(Text(0), StringComparison.OrdinalIgnoreCase));
break;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2888.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseHandle:bridge.CloseHandle().
Código interno de implementación; no es un script independiente.
case "closeuo": bridge.CloseHandle(); break;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2991.
Condiciones: arguments.Length == 0.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassMove:bridge.MassMove(-1, 0, 0, -1, -1, -1, 0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassMove:bridge.MassMove(NumberConversions.ToInt(arguments[0]), arguments.Length > 1 ? NumberConversions.ToInt(arguments[1]) : 0, arguments.Length > 2 ? ResolveType(arguments[2]) : 0, arguments.Length > 3 ? ResolveTransferDestination(arguments[3], true) : -1, arguments.Length > 4 ? NumberConversions.ToInt(arguments[4]) : -1, arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1, arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : 0). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[1]). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[2]). -
InjectionScript.Runtime.InjectionApiUO.ResolveTransferDestination:ResolveTransferDestination(arguments[3], true). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[4]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[5]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[6]).
Código interno de implementación; no es un script independiente.
case "massmove":
if (arguments.Length == 0) bridge.MassMove(-1, 0, 0, -1, -1, -1, 0);
else bridge.MassMove(NumberConversions.ToInt(arguments[0]),
arguments.Length > 1 ? NumberConversions.ToInt(arguments[1]) : 0,
arguments.Length > 2 ? ResolveType(arguments[2]) : 0,
arguments.Length > 3 ? ResolveTransferDestination(arguments[3], true) : -1,
arguments.Length > 4 ? NumberConversions.ToInt(arguments[4]) : -1,
arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1,
arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : 0);
break;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3001.
Condiciones: arguments.Length == 0.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassPriceMove:bridge.MassPriceMove(-1, 0, 0, 0, -1, -1, -1, 0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassPriceMove:bridge.MassPriceMove(NumberConversions.ToInt(arguments[0]), NumberConversions.ToInt(arguments[1]), ResolveType(arguments[2]), NumberConversions.ToInt(arguments[3]), arguments.Length > 4 ? ResolveTransferDestination(arguments[4], true) : -1, arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1, arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : -1, arguments.Length > 7 ? NumberConversions.ToInt(arguments[7]) : 0). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[1]). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[2]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[3]). -
InjectionScript.Runtime.InjectionApiUO.ResolveTransferDestination:ResolveTransferDestination(arguments[4], true). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[5]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[6]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[7]).
Código interno de implementación; no es un script independiente.
case "masspricemove":
if (arguments.Length == 0) bridge.MassPriceMove(-1, 0, 0, 0, -1, -1, -1, 0);
else bridge.MassPriceMove(NumberConversions.ToInt(arguments[0]),
NumberConversions.ToInt(arguments[1]), ResolveType(arguments[2]),
NumberConversions.ToInt(arguments[3]),
arguments.Length > 4 ? ResolveTransferDestination(arguments[4], true) : -1,
arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1,
arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : -1,
arguments.Length > 7 ? NumberConversions.ToInt(arguments[7]) : 0);
break;Esta rama solo maneja el nombre de comando indicado.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3020.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Resync:bridge.Resync().
Código interno de implementación; no es un script independiente.
case "resend": bridge.Resync(); break;Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int id
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3858.
public int Exists(int id)
Resultado: int.
Llamadas:
bridge.Exists
Código interno de implementación; no es un script independiente.
public int Exists(int id) => bridge.Exists(id);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: InjectionValue x, InjectionValue y
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6306.
public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y)
Resultado: InjectionValue.
Llamadas:
GetLandTileAt
Código interno de implementación; no es un script independiente.
public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y)
=> GetLandTileAt(x, y, new InjectionValue(bridge.WorldNumber));Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string name
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4006.
public int GetObject(string name)
Resultado: int.
Condiciones:
!TryGetObject(name, out int id)
Llamadas:
TryGetObject
Código interno de implementación; no es un script independiente.
public int GetObject(string name)
{
if (!TryGetObject(name, out int id))
return 0;
return id;
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: InjectionValue group, InjectionValue tileId
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6375.
public string GetTileName(InjectionValue group, InjectionValue tileId)
Resultado: string.
Llamadas:
bridge.GetTileDataNameNumberConversions.ToInt
Código interno de implementación; no es un script independiente.
public string GetTileName(InjectionValue group, InjectionValue tileId)
=> bridge.GetTileDataName(NumberConversions.ToInt(group), NumberConversions.ToInt(tileId));Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: InjectionValue id
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6392.
public string GetUserStatic(InjectionValue id)
Resultado: string.
Llamadas:
state.UserStatics.TryGetValueNumberConversions.ToInt
Código interno de implementación; no es un script independiente.
public string GetUserStatic(InjectionValue id)
=> state.UserStatics.TryGetValue(NumberConversions.ToInt(id), out string value) ? value : string.Empty;Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string id
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3682.
public int GetY(string id)
Resultado: int.
Llamadas:
GetYGetObject
Código interno de implementación; no es un script independiente.
public int GetY(string id) => GetY(GetObject(id));InjectionScript.Runtime.InjectionApiUO.Hidden
Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3884.
public int Hidden()
Resultado: int.
Llamadas:
Hidden
Código interno de implementación; no es un script independiente.
public int Hidden() => Hidden("self");Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int id
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5340.
public void Ignore(int id)
Resultado: void.
Llamadas:
bridge.Ignore
Código interno de implementación; no es un script independiente.
public void Ignore(int id) => bridge.Ignore(id);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string pattern, int maxLinesOrIgnoreCase
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5463.
public int InJournal(string pattern, int maxLinesOrIgnoreCase)
Resultado: int.
Llamadas:
InJournalCoreMath.Max
Código interno de implementación; no es un script independiente.
public int InJournal(string pattern, int maxLinesOrIgnoreCase)
=> InJournalCore(pattern,
maxLinesOrIgnoreCase == -1 ? -1 : Math.Max(0, maxLinesOrIgnoreCase),
ignoreCase: maxLinesOrIgnoreCase == -1);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int graphic
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3849.
private static bool IsHumanBody(int graphic)
Resultado: bool.
Llamadas:
—
Código interno de implementación; no es un script independiente.
private static bool IsHumanBody(int graphic) => graphic == 0x0190 || graphic == 0x0191
|| graphic == 0x0192 || graphic == 0x0193 || graphic == 0x025D || graphic == 0x025E
|| graphic == 0x025F || graphic == 0x0260 || graphic == 0x029A || graphic == 0x029B
|| graphic == 0x02B6 || graphic == 0x02B7;Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: InjectionValue x, InjectionValue y
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3436.
public int IsTreeTile(InjectionValue x, InjectionValue y)
Resultado: int.
Llamadas:
bridge.IsTreeTileNumberConversions.ToInt
Código interno de implementación; no es un script independiente.
public int IsTreeTile(InjectionValue x, InjectionValue y) => bridge.IsTreeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y));Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int index
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5630.
private int JournalEntryTime(int index)
Resultado: int.
Llamadas:
JournalEntryTimebridge.JournalTimestamp
Código interno de implementación; no es un script independiente.
private int JournalEntryTime(int index)
=> JournalEntryTime(bridge.JournalTimestamp(index));Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int type
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6017.
public void Morph(int type)
Resultado: void.
Llamadas:
bridge.MorphTimer
Código interno de implementación; no es un script independiente.
public void Morph(int type)
{
bridge.Morph(type);
ticksAnim = Timer();
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int id, int amount, int targetContainer, int x, int y, int z
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4684.
private bool MoveItemChecked(int id, int amount, int targetContainer, int x, int y, int z)
Resultado: bool.
Condiciones:
id == 0targetContainer == 0 && state.DropCheckCoord != 0Math.Max(Math.Abs(x - playerX), Math.Abs(y - playerY)) > 2
Llamadas:
bridge.GetXbridge.GetYMath.MaxMath.AbsSystemMessagebridge.MoveItem
Código interno de implementación; no es un script independiente.
private bool MoveItemChecked(int id, int amount, int targetContainer, int x, int y, int z)
{
if (id == 0)
return false;
if (targetContainer == 0 && state.DropCheckCoord != 0)
{
int playerX = bridge.GetX(bridge.Self);
int playerY = bridge.GetY(bridge.Self);
if (Math.Max(Math.Abs(x - playerX), Math.Abs(y - playerY)) > 2)
{
SystemMessage("Drop cancelled: destination is more than 2 tiles away (DropCheckCoord is enabled).");
return false;
}
}
return bridge.MoveItem(id, amount, targetContainer, x, y, z) != 0;
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string name
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5321.
private static string NormalizeApiName(string name)
Resultado: string.
Llamadas:
(name ?? string.Empty).Trim
Código interno de implementación; no es un script independiente.
private static string NormalizeApiName(string name)
{
return (name ?? string.Empty).Trim();
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int x, int y
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5360.
public void RDblClick(int x, int y)
Resultado: void.
Llamadas:
bridge.RDblClick
Código interno de implementación; no es un script independiente.
public void RDblClick(int x, int y) => bridge.RDblClick(x, y);Estas funciones registran la API. No se ejecutan de nuevo en cada llamada al comando.
Parámetros: getter, names
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:993.
void AddText(Func<string> getter, params string[] names)
Resultado: void.
Llamadas: metadata.NativeSubrutineExists, metadata.Add, metadata.IntrinsicVariableExists, metadata.AddIntrinsicVariable.
Condiciones: !metadata.NativeSubrutineExists(name, 0); !metadata.IntrinsicVariableExists(name).
Llamadas:
-
InjectionScript.Runtime.Metadata.NativeSubrutineExists:metadata.NativeSubrutineExists(name, 0). -
InjectionScript.Runtime.Metadata.Add:metadata.Add(new NativeSubrutineDefinition(name, getter)). -
InjectionScript.Runtime.Metadata.IntrinsicVariableExists:metadata.IntrinsicVariableExists(name). -
InjectionScript.Runtime.Metadata.AddIntrinsicVariable:metadata.AddIntrinsicVariable(new NativeSubrutineDefinition(name, getter)).
Código interno de implementación; no es un script independiente.
void AddText(Func<string> getter, params string[] names)
{
foreach (string shortName in names)
{
string name = "UO." + shortName;
if (!metadata.NativeSubrutineExists(name, 0))
metadata.Add(new NativeSubrutineDefinition(name, getter));
if (!metadata.IntrinsicVariableExists(name))
metadata.AddIntrinsicVariable(new NativeSubrutineDefinition(name, getter));
}
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: InjectionValue value
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5211.
private int ResolveCompactDistance(InjectionValue value)
Resultado: int.
Llamadas:
NumberConversions.ToIntbridge.GetFindDistanceMath.Max
Código interno de implementación; no es un script independiente.
private int ResolveCompactDistance(InjectionValue value)
{
int parsed = NumberConversions.ToInt(value);
return parsed < 0 ? bridge.GetFindDistance() : Math.Max(0, parsed);
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string name
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5705.
public void SetArm(string name)
Resultado: void.
Llamadas:
SetEquip
Código interno de implementación; no es un script independiente.
public void SetArm(string name)
=> SetEquip(name, armSets, weaponLayers, "Arm set.");Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6122.
public void SetEvent(InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler)
Resultado: void.
Condiciones:
!string.IsNullOrWhiteSpace(raw) && !NumberConversions.TryStr2Int(raw, out _)
Llamadas:
repeatOrHandler.ToStringstring.IsNullOrWhiteSpaceNumberConversions.TryStr2IntSetEvent
Código interno de implementación; no es un script independiente.
public void SetEvent(InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler)
{
string raw = repeatOrHandler.ToString() ?? string.Empty;
if (!string.IsNullOrWhiteSpace(raw) && !NumberConversions.TryStr2Int(raw, out _))
SetEvent(name, stateValue, InjectionValue.True, repeatOrHandler);
else
SetEvent(name, stateValue, repeatOrHandler, new InjectionValue(string.Empty));
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int index
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5532.
public void SetJournalLine(int index)
Resultado: void.
Llamadas:
bridge.SetJournalLine
Código interno de implementación; no es un script independiente.
public void SetJournalLine(int index) => bridge.SetJournalLine(index);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6030.
public void Terminate()
Resultado: void.
Llamadas:
bridge.Terminate
Código interno de implementación; no es un script independiente.
public void Terminate() => bridge.Terminate(string.Empty);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string subrutineName
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6029.
public void Terminate(string subrutineName)
Resultado: void.
Llamadas:
bridge.Terminate
Código interno de implementación; no es un script independiente.
public void Terminate(string subrutineName) => bridge.Terminate(subrutineName);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5433.
public void TextOpen()
Resultado: void.
Llamadas:
bridge.TextOpen
Código interno de implementación; no es un script independiente.
public void TextOpen() => bridge.TextOpen();Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: InjectionValue flag
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6107.
public void Track(InjectionValue flag)
Resultado: void.
Llamadas:
TrackNumberConversions.ToIntGetXGetY
Código interno de implementación; no es un script independiente.
public void Track(InjectionValue flag) => Track(NumberConversions.ToInt(flag), GetX(), GetY());Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3424.
public int TradeCheck(InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue)
Resultado: int.
Llamadas:
bridge.TradeCheckNumberConversions.ToInt
Código interno de implementación; no es un script independiente.
public int TradeCheck(InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue)
=> bridge.TradeCheck(NumberConversions.ToInt(windowIndex), NumberConversions.ToInt(checkbox), NumberConversions.ToInt(stateValue), true);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int[] supportedLayers, string successMessage
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5817.
private int Unequip(int[] supportedLayers, string successMessage)
Resultado: int.
Condiciones:
bridge.ObjAtLayer(layer) != 0state.DressSpeed > 0
Llamadas:
bridge.ObjAtLayerbridge.UnequipinjectionApi.WaitSystemMessage
Código interno de implementación; no es un script independiente.
private int Unequip(int[] supportedLayers, string successMessage)
{
bool success = true;
foreach (var layer in supportedLayers)
{
if (bridge.ObjAtLayer(layer) != 0)
{
success &= bridge.Unequip(layer) != 0;
if (state.DressSpeed > 0)
injectionApi.Wait(state.DressSpeed);
}
}
SystemMessage(success ? successMessage : "Some equipment could not be removed.");
return success ? 1 : 0;
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4486.
public void UnsetReceivingContainer()
Resultado: void.
Llamadas:
bridge.UnsetReceivingContainer
Código interno de implementación; no es un script independiente.
public void UnsetReceivingContainer() => bridge.UnsetReceivingContainer();Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string id
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4036.
public void UseObject(string id)
Resultado: void.
Llamadas:
UseObjectGetObject
Código interno de implementación; no es un script independiente.
public void UseObject(string id) => UseObject(GetObject(id));Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int type, int color
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4093.
public int UseType(int type, int color)
Resultado: int.
Llamadas:
CompactUseType
Código interno de implementación; no es un script independiente.
public int UseType(int type, int color) => CompactUseType(new[]
{
new InjectionValue(type),
new InjectionValue(color)
});Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: int startTime, int maxDelay, string text
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5535.
public void WaitingForJournalText(int startTime, int maxDelay, string text)
Resultado: void.
Llamadas:
WaitingForJournalText
Código interno de implementación; no es un script independiente.
public void WaitingForJournalText(int startTime, int maxDelay, string text)
=> WaitingForJournalText(startTime, maxDelay, text, 0, 0, InjectionValue.Zero);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3443.
public int WaitingForMenu(InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial)
Resultado: int.
Condiciones:
identity.Length == 0!identity.Equals(previousIdentity, StringComparison.Ordinal)observedMenuCount >= requiredMenuCount && nameMatchesblockMenu
Llamadas:
Math.MaxNumberConversions.ToIntmenuNameValue.ToStringtimeSource.Now.AddMillisecondsTriggerWaitActionbridge.GetLastMenuIdentityidentity.Equalsbridge.GetLastMenuCaptioncaption.Equalsbridge.CloseMenubridge.WaitMath.Min
Código interno de implementación; no es un script independiente.
public int WaitingForMenu(InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial)
{
int delay = Math.Max(0, NumberConversions.ToInt(delayValue));
int requiredMenuCount = Math.Max(1, NumberConversions.ToInt(menuCountValue));
bool blockMenu = NumberConversions.ToInt(blockMenuValue) != 0;
string expectedName = menuNameValue.ToString() ?? string.Empty;
DateTime deadline = timeSource.Now.AddMilliseconds(delay);
string previousIdentity = string.Empty;
int observedMenuCount = 0;
TriggerWaitAction(skillOrSerial);
do
{
string identity = bridge.GetLastMenuIdentity() ?? string.Empty;
if (identity.Length == 0)
{
// Reset between server menus so an identical menu opened again
// still counts as a new appearance.
previousIdentity = string.Empty;
}
else if (!identity.Equals(previousIdentity, StringComparison.Ordinal))
{
previousIdentity = identity;
observedMenuCount++;
string caption = bridge.GetLastMenuCaption() ?? string.Empty;
bool nameMatches = expectedName.Length == 0
|| caption.Equals(expectedName, StringComparison.Ordinal);
if (observedMenuCount >= requiredMenuCount && nameMatches)
{
if (blockMenu)
bridge.CloseMenu();
return 1;
}
}
if (timeSource.Now >= deadline)
break;
bridge.Wait(Math.Min(25, Math.Max(1, delay)));
}
while (true);
return 0;
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3438.
public int WaitingMenu()
Resultado: int.
Llamadas:
bridge.WaitingMenu
Código interno de implementación; no es un script independiente.
public int WaitingMenu() => bridge.WaitingMenu();La llamada ejecuta el delegate del controlador guardado. El método de registro crea ese delegate al construir la API.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4667.
values
Resultado: values.
Resultado: new InjectionValue(CompactFindMan(values)).
Llamadas: CompactFindMan.
Llamadas:
-
InjectionScript.Runtime.InjectionApiUO.CompactFindMan:CompactFindMan(values).
Código interno de implementación; no es un script independiente.
values => new InjectionValue(CompactFindMan(values))La llamada ejecuta el delegate del controlador guardado. El método de registro crea ese delegate al construir la API.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1049.
Resultado: bridge.FollowersMax.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FollowersMax:bridge.FollowersMax.
Código interno de implementación; no es un script independiente.
() => bridge.FollowersMaxLa llamada ejecuta el delegate del controlador guardado. El método de registro crea ese delegate al construir la API.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1031.
Resultado: bridge.Intelligence.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Intelligence:bridge.Intelligence.
Código interno de implementación; no es un script independiente.
() => bridge.IntelligenceLa llamada ejecuta el delegate del controlador guardado. El método de registro crea ese delegate al construir la API.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1028.
Resultado: bridge.Stamina.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina:bridge.Stamina.
Código interno de implementación; no es un script independiente.
() => bridge.StaminaLa llamada ejecuta el delegate del controlador guardado. El método de registro crea ese delegate al construir la API.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:693.
values
Resultado: values.
Resultado: new InjectionValue(SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1]))).
Llamadas: SkillVal, values[0].ToString, NumberConversions.ToInt.
Llamadas:
-
InjectionScript.Runtime.InjectionApiUO.SkillVal:SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1])). -
InjectionScript.Runtime.InjectionValue.ToString:values[0].ToString(). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[1]).
Código interno de implementación; no es un script independiente.
values => new InjectionValue(SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1])))La llamada ejecuta el delegate del controlador guardado. El método de registro crea ese delegate al construir la API.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1028.
Resultado: bridge.Stamina.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina:bridge.Stamina.
Código interno de implementación; no es un script independiente.
() => bridge.StaminaLa llamada ejecuta el delegate del controlador guardado. El método de registro crea ese delegate al construir la API.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1030.
Resultado: bridge.Strength.
Llamadas:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Strength:bridge.Strength.
Código interno de implementación; no es un script independiente.
() => bridge.StrengthDevuelve el valor de la expresión siguiente.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.
value
Resultado: value.
Resultado: getter(GetObject(value)).
Llamadas: getter, GetObject.
Llamadas:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value).
Código interno de implementación; no es un script independiente.
value => getter(GetObject(value))Devuelve el valor de la expresión siguiente.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.
value
Resultado: value.
Resultado: getter(GetObject(value)).
Llamadas: getter, GetObject.
Llamadas:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value).
Código interno de implementación; no es un script independiente.
value => getter(GetObject(value))Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string name, params InjectionValue[] args
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeConsoleDispatch.cs:358.
private void CallNativeSubrutine(string name, params InjectionValue[] args)
Resultado: void.
Condiciones:
!Metadata.TryGetNativeSubrutine("UO." + name, args, out var nativeSubrutine)result.Kind != InjectionValueKind.Unit && name.IndexOf("Info", StringComparison.OrdinalIgnoreCase) < 0
Llamadas:
CheckpointMetadata.TryGetNativeSubrutinenativeSubrutine.Callname.IndexOfbridge.Printresult.ToString
Código interno de implementación; no es un script independiente.
private void CallNativeSubrutine(string name, params InjectionValue[] args)
{
Checkpoint();
if (!Metadata.TryGetNativeSubrutine("UO." + name, args, out var nativeSubrutine))
throw new NativeSubrutineException($"Native UO command '{name}' with {args.Length} argument(s) was not found.");
InjectionValue result = nativeSubrutine.Call(args);
if (result.Kind != InjectionValueKind.Unit && name.IndexOf("Info", StringComparison.OrdinalIgnoreCase) < 0)
bridge.Print(result.ToString());
Checkpoint();
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string parameters
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeConsoleDispatch.cs:10.
public void Exec(string parameters)
Resultado: void.
Condiciones:
parts.Length == 0command.StartsWith("UO.", StringComparison.OrdinalIgnoreCase)command.Equals("exec", StringComparison.OrdinalIgnoreCase)parts.Length != 2 || string.IsNullOrWhiteSpace(parts[1].Text)
Llamadas:
-
Tokenize(parameters).ToArray -
Tokenize -
command.StartsWith -
command.Substring -
command.Equals -
string.IsNullOrWhiteSpace -
bridge.Exec -
parts.Skip(1).ToArray -
parts.Skip -
NormalizeCompoundConsoleAlias -
arguments.Select(token => token.Text).ToArray -
arguments.Select -
TryHandleLegacyConsoleCommand -
NormalizeConsoleAlias -
IsRemainderTextCommand -
string.Join -
rawArguments.Skip -
`arguments.Select(token => token.Quoted
? new InjectionValue(token.Text) : ToConsoleValue(token.Text)).ToArray` -
ToConsoleValue -
CallNativeSubrutine
Código interno de implementación; no es un script independiente.
public void Exec(string parameters)
{
ConsoleToken[] parts = Tokenize(parameters).ToArray();
if (parts.Length == 0)
return;
string command = parts[0].Text;
if (command.StartsWith("UO.", StringComparison.OrdinalIgnoreCase)) command = command.Substring(3);
if (command.Equals("exec", StringComparison.OrdinalIgnoreCase))
{
if (parts.Length != 2 || string.IsNullOrWhiteSpace(parts[1].Text))
throw new NativeSubrutineException("Usage: exec script_function");
bridge.Exec(parts[1].Text);
return;
}
ConsoleToken[] arguments = parts.Skip(1).ToArray();
(command, arguments) = NormalizeCompoundConsoleAlias(command, arguments);
string[] rawArguments = arguments.Select(token => token.Text).ToArray();
if (TryHandleLegacyConsoleCommand(command, rawArguments))
return;
command = NormalizeConsoleAlias(command);
if (IsRemainderTextCommand(command) && rawArguments.Length > 0)
arguments = new[] { new ConsoleToken(string.Join(" ", rawArguments), true) };
else if (command.Equals("ColorPrint", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 1)
arguments = new[] { arguments[0], new ConsoleToken(string.Join(" ", rawArguments.Skip(1)), true) };
else if (command.Equals("CharPrint", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 2)
arguments = new[] { arguments[0], arguments[1], new ConsoleToken(string.Join(" ", rawArguments.Skip(2)), true) };
else if (command.Equals("SetGlobal", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 2)
// Chat parameters are space-separated. Preserve a human-readable
// global value after its key without forcing the player to quote it.
arguments = new[] { arguments[0], new ConsoleToken(string.Join(" ", rawArguments.Skip(1)), true) };
InjectionValue[] args = arguments.Select(token => token.Quoted
? new InjectionValue(token.Text) : ToConsoleValue(token.Text)).ToArray();
CallNativeSubrutine(command, args);
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: Sin parámetros.
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionValue.cs:405.
public override string ToString()
Resultado: string.
Llamadas:
Integer.ToStringDecimal.ToStringFormatArray
Código interno de implementación; no es un script independiente.
public override string ToString()
{
switch (Kind)
{
case InjectionValueKind.Unit:
return "<unit>";
case InjectionValueKind.Integer:
return Integer.ToString(System.Globalization.CultureInfo.InvariantCulture);
case InjectionValueKind.String:
return String;
case InjectionValueKind.Decimal:
return Decimal.ToString(System.Globalization.CultureInfo.InvariantCulture);
case InjectionValueKind.Array:
return FormatArray(Array, new HashSet<InjectionValue[]>(), 0);
case InjectionValueKind.Object:
return Object?.Name ?? string.Empty;
default:
throw new InvalidOperationException($"Unknown InjectionValue kind {Kind}.");
}
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: short id
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NumberConversions.cs:80.
public static string ToHex(short id)
Resultado: string.
Llamadas:
—
Código interno de implementación; no es un script independiente.
public static string ToHex(short id) => $"0x{id:X4}";Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: byte[] bytes
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/ObjectTypes/MemoryStreamObject.cs:26.
internal void ReplaceBytes(byte[] bytes)
Resultado: void.
Condiciones:
bytes == null
Llamadas:
stream.SetLengthArray.Empty<byte>stream.Write
Código interno de implementación; no es un script independiente.
internal void ReplaceBytes(byte[] bytes)
{
stream.SetLength(0);
stream.Position = 0;
if (bytes == null)
bytes = Array.Empty<byte>();
stream.Write(bytes, 0, bytes.Length);
stream.Position = 0;
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string name
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/Globals.cs:45.
public string GetGlobal(string name)
Resultado: string.
Llamadas:
GetGlobalShared
Código interno de implementación; no es un script independiente.
public string GetGlobal(string name) => GetGlobalShared(name);Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: string name
Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedIgnoreLists.cs:115.
private static string RequireName(string name)
Resultado: string.
Condiciones:
string.IsNullOrWhiteSpace(name)
Llamadas:
string.IsNullOrWhiteSpacenameofname.Trim
Código interno de implementación; no es un script independiente.
private static string RequireName(string name)
{
if (string.IsNullOrWhiteSpace(name)) throw new ArgumentException("Ignore list name must not be empty.", nameof(name));
return name.Trim();
}Ejecuta las llamadas y actualizaciones de estado indicadas.
Parámetros: World world, uint target, bool mount, Action<uint> sendUse, long now
Origen: Project_Full/src/ClassicUO.Client/Game/Managers/NativeMountController.cs:25.
internal bool Request(World world, uint target, bool mount, Action<uint> sendUse, long now)
Resultado: bool.
Condiciones:
player == null || player.IsDestroyed || player.IsDead || !world.InGame_pendingPlayer != null!ReferenceEquals(_pendingPlayer, player) || layerSerial != _pendingLayer || now >= _pendingUntilmount
Llamadas:
Clearplayer.FindItemByLayerReferenceEqualsworld.GetMath.MaxMath.AbsIsCarriedBysendUse
El archivo de origen contiene el código completo; siguen extractos exactos.
Código interno de implementación; no es un script independiente.
internal bool Request(World world, uint target, bool mount, Action<uint> sendUse, long now)
{
PlayerMobile player = world?.Player;
if (player == null || player.IsDestroyed || player.IsDead || !world.InGame)
{
Clear();
return false;
}
// …
if (_pendingPlayer != null)
// …
if (!ReferenceEquals(_pendingPlayer, player) || layerSerial != _pendingLayer
// …
return false;
// …
if (mount)
// …
if (layerSerial != 0 || target == 0 || target == player.Serial)
return false;
// …
if (entity == null || entity.IsDestroyed)
return false;
if (entity is Mobile mobile)
// …
if (mobile.IsDead || Math.Max(Math.Abs((int)mobile.X - player.X),
// …
return false;
// …
else if (entity is Item item)
// …
if (!IsCarriedBy(world, item, player.Serial))
return false;
// …
return false;
// …
if (layerSerial == 0 || layer.Graphic == 0x3E96)
return false;
// …
}
sendUse(target);
_pendingPlayer = player;
_pendingLayer = layerSerial;
_pendingUntil = now + ConfirmationTimeoutMilliseconds;
return true;
}