Skip to content

ES Runtime Helpers A

Codex edited this page Oct 12, 2026 · 1 revision

uk · ru · en · de · fr · it · es · zh-tw · ja · ko

Funciones auxiliares A

Código interno de implementación; no es un script independiente.

ClassicUO.CSharp.CSharpCallbacks.TryInvoke

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:408.

Resultado: true.

Llamadas:

Código interno de implementación; no es un script independiente.

case "SubExists":
                string requested = Convert.ToString(arguments[0]) ?? "";
                result = Exists(requested) || events is ICSharpScriptHost known && known.HasCSharpScript(requested) ? 1 : 0;
                return true;

ClassicUO.CSharp.CSharpScriptGlobals.CSharpScriptGlobals

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.CSharp/CSharpScriptGlobals.cs:62.

Condiciones: name == "HTTP_Get" && arguments.Length == 2 && arguments[1] is Stream stream; !stream.CanWrite; stream.CanSeek.

Código interno de implementación; no es un script independiente.

if (name == "HTTP_Get" && arguments.Length == 2 && arguments[1] is Stream stream)
            {
                if (!stream.CanWrite) throw new ArgumentException("HTTP_Get requires a writable .NET stream.");
                // Adapt the existing binary response path without fetching the
                // response twice or converting its bytes through text encoding.
                var type = typeof(InjectionValue).Assembly.GetType("InjectionScript.Runtime.ObjectTypes.MemoryStreamObject", throwOnError: true)!;
                using var native = (IDisposable)Activator.CreateInstance(type, nonPublic: true)!;
                value = Invoke(name, [arguments[0], native]);
                var bytes = (InjectionValue)type.GetMethod("ToArray")!.Invoke(native, null)!;
                byte[] payload = bytes.Array.Select(item => checked((byte)item.Integer)).ToArray();
                if (stream.CanSeek) { stream.SetLength(0); stream.Position = 0; }
                stream.Write(payload);
                if (stream.CanSeek) stream.Position = 0;
            }
            else value = Invoke(name, arguments);

ClassicUO.CSharp.CSharpScriptGlobals.ToNative

Analiza o resuelve el argumento según las reglas mostradas en el código.

Parámetros: value

Origen: Project_Full/src/ClassicUO.CSharp/CSharpScriptGlobals.cs:214.

internal static InjectionValue ToNative(object? value)

Resultado: InjectionValue.

Llamadas: letter.ToString, ToNative, Convert.ChangeType, Enum.GetUnderlyingType, enumeration.GetType, date.ToOADate, nativeObject.Unwrap, values.Cast<object?>().Select.

Código interno de implementación; no es un script independiente.

internal static InjectionValue ToNative(object? value) => value switch
    {
        InjectionValue native => native,
        null => InjectionValue.Unit,
        bool flag => new InjectionValue(flag ? 1 : 0),
        byte number => new InjectionValue((int)number),
        sbyte number => new InjectionValue((int)number),
        short number => new InjectionValue((int)number),
        ushort number => new InjectionValue((int)number),
        int number => new InjectionValue(number),
        uint serial => new InjectionValue(unchecked((int)serial)),
        long number => new InjectionValue(checked((int)number)),
        ulong number => new InjectionValue(checked((int)number)),
        nint number => new InjectionValue(checked((int)number)),
        nuint number => new InjectionValue(checked((int)number)),
        double number => new InjectionValue(number),
        float number => new InjectionValue((double)number),
        decimal number => new InjectionValue((double)number),
        char letter => new InjectionValue(letter.ToString()),
        Enum enumeration => ToNative(Convert.ChangeType(enumeration, Enum.GetUnderlyingType(enumeration.GetType()))),
        DateTime date => new InjectionValue(date.ToOADate()),
        string text => new InjectionValue(text),
        CSharpNativeObject nativeObject => new InjectionValue(nativeObject.Unwrap()),
        InjectionObject nativeObject => new InjectionValue(nativeObject),
        System.Collections.IEnumerable values => new InjectionValue(values.Cast<object?>().Select(ToNative), typeof(InjectionValue[])),
        _ => new InjectionValue(value, value.GetType())
    };

ClassicUO.Configuration.ProfileShardIdentity.Resolve

Analiza o resuelve el argumento según las reglas mostradas en el código.

Parámetros: runtimeServerName, runtimeHost, runtimePort, selectedShardHost, defaultSettingsPath, authoritativeEndpoint

Origen: Project_Full/src/ClassicUO.Client/Configuration/ProfileShardIdentity.cs:18.

internal static string Resolve( string runtimeServerName, string runtimeHost, ushort runtimePort, string selectedShardHost, string defaultSettingsPath, bool authoritativeEndpoint = false )

Resultado: string.

Llamadas: ReadDefaultSettings, ResolveFromValues.

Código interno de implementación; no es un script independiente.

internal static string Resolve(
            string runtimeServerName,
            string runtimeHost,
            ushort runtimePort,
            string selectedShardHost,
            string defaultSettingsPath,
            bool authoritativeEndpoint = false
        )
        {
            DefaultSettingsEndpoint defaults = ReadDefaultSettings(defaultSettingsPath);
            return ResolveFromValues(
                runtimeServerName,
                runtimeHost,
                runtimePort,
                selectedShardHost,
                defaults.Host,
                defaults.Port,
                defaults.ServerName,
                authoritativeEndpoint
            );
        }

ClassicUO.Game.GameActions.GrabItem

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: world, serial, amount, bag

Origen: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:994.

public static void GrabItem(World world, uint serial, ushort amount, uint bag = 0)

Resultado: void.

Llamadas: world.Player.FindItemByLayer, world.Items.Contains, Print, PickUp, DropItem.

Condiciones: backpack == null; bag == 0; !world.Items.Contains(bag).

Código interno de implementación; no es un script independiente.

public static void GrabItem(World world, uint serial, ushort amount, uint bag = 0)
        {
            //Socket.Send(new PPickUpRequest(serial, amount));

            Item backpack = world.Player.FindItemByLayer(Layer.Backpack);

            if (backpack == null)
            {
                return;
            }

            if (bag == 0)
            {
                bag = ProfileManager.CurrentProfile.GrabBagSerial == 0 ? backpack.Serial : ProfileManager.CurrentProfile.GrabBagSerial;
            }

            if (!world.Items.Contains(bag))
            {
                Print(world, ResGeneral.GrabBagNotFound);
                ProfileManager.CurrentProfile.GrabBagSerial = 0;
                bag = backpack.Serial;
            }

            PickUp(world, serial, 0, 0, amount);

            DropItem
            (
                serial,
                0xFFFF,
                0xFFFF,
                0,
                bag
            );
        }

ClassicUO.Game.GameActions.OpenJournal

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: world

Origen: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:111.

public static void OpenJournal(World world)

Resultado: void.

Llamadas: UIManager.Add, UIManager.GetGump<JournalGump>, journalGump.SetInScreen, journalGump.BringOnTop.

Condiciones: ProfileManager.CurrentProfile.UseAlternateJournal; journalGump == null; journalGump.IsMinimized.

Código interno de implementación; no es un script independiente.

public static void OpenJournal(World world)
        {
            if (ProfileManager.CurrentProfile.UseAlternateJournal)
            {
                UIManager.Add(new ResizableJournal(world));
                return;
            }

            JournalGump journalGump = UIManager.GetGump<JournalGump>();

            if (journalGump == null)
            {
                UIManager.Add(new JournalGump(world) { X = 64, Y = 64 });
            }
            else
            {
                journalGump.SetInScreen();
                journalGump.BringOnTop();

                if (journalGump.IsMinimized)
                {
                    journalGump.IsMinimized = false;
                }
            }
        }

ClassicUO.Game.GameActions.SingleClick

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: world, serial

Origen: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:333.

public static void SingleClick(World world, uint serial)

Resultado: void.

Llamadas: world.BackNewbieHoverNames.NotifyRequest, Socket.Send_ClickRequest, world.Get.

Condiciones: entity != null.

Llamadas:

Código interno de implementación; no es un script independiente.

public static void SingleClick(World world, uint serial)
        {
            // add  request context menu
            world.BackNewbieHoverNames.NotifyRequest(serial);
            Socket.Send_ClickRequest(serial);

            Entity entity = world.Get(serial);

            if (entity != null)
            {
                entity.IsClicked = true;
            }
        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AlwaysRun

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:585.

public int AlwaysRun()

Resultado: int.

Resultado: Invoke(() => ProfileManager.CurrentProfile?.AlwaysRun == true ? 1 : 0).

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public int AlwaysRun() => Invoke(() => ProfileManager.CurrentProfile?.AlwaysRun == true ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CharacterTitle

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:172.

public string CharacterTitle

Resultado: string.

Resultado: Invoke(() => CurrentPlayer?.Title ?? string.Empty).

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public string CharacterTitle => Invoke(() => CurrentPlayer?.Title ?? string.Empty);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ControlTypeName

Devuelve el valor de la expresión siguiente.

Parámetros: control

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3952.

private static string ControlTypeName(Control control)

Resultado: string.

Resultado: control is SessionGumpControl logical ? logical.TypeName : control.GetType().Name.

Llamadas: control.GetType.

Código interno de implementación; no es un script independiente.

private static string ControlTypeName(Control control) => control is SessionGumpControl logical ? logical.TypeName : control.GetType().Name;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DeleteSystemJournal

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1945.

public void DeleteSystemJournal()

Resultado: void.

Llamadas: Invoke.

Llamadas:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { for (int i = JournalManager.Entries.Count - 1; i >= 0; --i) { if (string.Equals(JournalManager.Entries[i].Name, "System", StringComparison.OrdinalIgnoreCase)) { JournalManager.Entries.RemoveAt(i); } } _journalLine = Math.Min(_journalLine, JournalManager.Entries.Count); _journalMatchCount = 0; _lastJournalMatch = null; }). Candidatos de sobrecarga: el origen no confirma cuál se selecciona.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { for (int i = JournalManager.Entries.Count - 1; i >= 0; --i) { if (string.Equals(JournalManager.Entries[i].Name, "System", StringComparison.OrdinalIgnoreCase)) { JournalManager.Entries.RemoveAt(i); } } _journalLine = Math.Min(_journalLine, JournalManager.Entries.Count); _journalMatchCount = 0; _lastJournalMatch = null; }). Candidatos de sobrecarga: el origen no confirma cuál se selecciona.

Código interno de implementación; no es un script independiente.

public void DeleteSystemJournal() => Invoke(() =>

        {

            for (int i = JournalManager.Entries.Count - 1; i >= 0; --i)

            {

                if (string.Equals(JournalManager.Entries[i].Name, "System", StringComparison.OrdinalIgnoreCase))

                {

                    JournalManager.Entries.RemoveAt(i);

                }

            }

            _journalLine = Math.Min(_journalLine, JournalManager.Entries.Count);

            _journalMatchCount = 0;

            _lastJournalMatch = null;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Drag

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: fromX, fromY, toX, toY

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1381.

public void Drag(int fromX, int fromY, int toX, int toY)

Resultado: void.

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public void Drag(int fromX, int fromY, int toX, int toY) => Invoke(() =>

        {

            WarpMouse(fromX, fromY);

            mouse_event(0x0002, 0, 0, 0, UIntPtr.Zero);

            try { WarpMouse(toX, toY); }

            finally { mouse_event(0x0004, 0, 0, 0, UIntPtr.Zero); }

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DragItem

Devuelve el valor de la expresión siguiente.

Parámetros: id, amount

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1203.

public int DragItem(int id, int amount)

Resultado: int.

Resultado: picked ? 1 : 0.

Llamadas: Invoke.

Llamadas:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { Item item = _world.Items.Get((uint)id); if (item == null) return false; ushort moveAmount = amount <= 0 ? item.Amount : (ushort)Math.Min(item.Amount, amount); return GameActions.PickUp(_world, item.Serial, 0, 0, moveAmount); }). Candidatos de sobrecarga: el origen no confirma cuál se selecciona.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { Item item = _world.Items.Get((uint)id); if (item == null) return false; ushort moveAmount = amount <= 0 ? item.Amount : (ushort)Math.Min(item.Amount, amount); return GameActions.PickUp(_world, item.Serial, 0, 0, moveAmount); }). Candidatos de sobrecarga: el origen no confirma cuál se selecciona.

Código interno de implementación; no es un script independiente.

public int DragItem(int id, int amount)

        {

            bool picked = Invoke(() =>

            {

                Item item = _world.Items.Get((uint)id);

                if (item == null) return false;

                ushort moveAmount = amount <= 0 ? item.Amount : (ushort)Math.Min(item.Amount, amount);

                return GameActions.PickUp(_world, item.Serial, 0, 0, moveAmount);

            });

            _draggedItem = picked ? id : 0;

            return picked ? 1 : 0;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindJournal

Devuelve el valor de la expresión siguiente.

Parámetros: pattern, start, end, limit, systemOnly, ignoreCase, serial, color, newestOnly

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3672.

private int FindJournal(string pattern, DateTime? start, DateTime? end, int limit, bool systemOnly, bool ignoreCase, int serial = -1, int color = -1, bool newestOnly = false)

Resultado: int.

Llamadas: SplitPatterns, Invoke.

Código interno de implementación; no es un script independiente.

private int FindJournal(string pattern, DateTime? start, DateTime? end, int limit, bool systemOnly, bool ignoreCase, int serial = -1, int color = -1, bool newestOnly = false)
        {
            string[] patterns = SplitPatterns(pattern);
            return Invoke(() =>
            {
                int first = Math.Clamp(_journalLine, 0, JournalManager.Entries.Count);
                int examined = 0;
                int firstMatch = 0;
                _journalMatchCount = 0;
                _lastJournalMatch = null;
// …
                    if (start.HasValue && entry.Time < start.Value || end.HasValue && entry.Time > end.Value)
// …
                    if (limit >= 0 && examined++ >= limit)
// …
                    if (systemOnly && !string.Equals(entry.Name, "System", StringComparison.OrdinalIgnoreCase))
// …
                    if (serial != -1 && entry.Serial != unchecked((uint)serial))
// …
                    if (color >= 0 && color != 0xFFFF && entry.Hue != (ushort)color)
// …
                    if (Matches(entry.Text, patterns, ignoreCase))
// …
                        if (firstMatch == 0)
// …
                        if (newestOnly)
// …
                return firstMatch;
// …

El archivo de origen contiene el código completo; siguen extractos exactos.

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindSkillUnsafe

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: name

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3975.

private Skill FindSkillUnsafe(string name)

Resultado: Skill.

Resultado: null; index >= 0 && index < _world.Player.Skills.Length ? _world.Player.Skills[index] : null; _world.Player.Skills.FirstOrDefault(skill => skill != null && skill.Name.Equals(normalized, StringComparison.OrdinalIgnoreCase)).

Llamadas: int.TryParse, (name ?? string.Empty).Replace("_", " ").Trim, (name ?? string.Empty).Replace, _world.Player.Skills.FirstOrDefault.

Condiciones: _world.Player?.Skills == null; int.TryParse(name, NumberStyles.Integer, CultureInfo.InvariantCulture, out int index).

Código interno de implementación; no es un script independiente.

private Skill FindSkillUnsafe(string name)

        {

            if (_world.Player?.Skills == null) return null;

            if (int.TryParse(name, NumberStyles.Integer, CultureInfo.InvariantCulture, out int index))

            {

                return index >= 0 && index < _world.Player.Skills.Length ? _world.Player.Skills[index] : null;

            }

            string normalized = (name ?? string.Empty).Replace("_", " ").Trim();

            return _world.Player.Skills.FirstOrDefault(skill => skill != null && skill.Name.Equals(normalized, StringComparison.OrdinalIgnoreCase));

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLayer

Devuelve el valor de la expresión siguiente.

Parámetros: id

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2729.

public int GetLayer(int id)

Resultado: int.

Resultado: Invoke(() => _world.Items.Get((uint)id) is Item item ? (int)item.Layer : 0).

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public int GetLayer(int id) => Invoke(() => _world.Items.Get((uint)id) is Item item ? (int)item.Layer : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetRun

Devuelve el valor de la expresión siguiente.

Parámetros: id

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:598.

public int GetRun(int id)

Resultado: int.

Resultado: Invoke(() => _world.Get(unchecked((uint)id)) is Mobile m && (m.Direction & Direction.Running) != 0 ? 1 : 0).

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public int GetRun(int id) => Invoke(() => _world.Get(unchecked((uint)id)) is Mobile m && (m.Direction & Direction.Running) != 0 ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetScriptState

Devuelve el valor de la expresión siguiente.

Parámetros: index

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:316.

public int GetScriptState(int index)

Resultado: int.

Resultado: _manager.GetScriptState(index).

Llamadas: _manager.GetScriptState.

Llamadas:

Código interno de implementación; no es un script independiente.

public int GetScriptState(int index) => _manager.GetScriptState(index);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTileInfoText

Devuelve el valor de la expresión siguiente.

Parámetros: x, y, map

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1010.

public string GetTileInfoText(int x, int y, int map)

Resultado: string.

Llamadas: Invoke.

Llamadas:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map == null || map != _world.MapIndex) return $"UO.InfoTile: map {map} is not the currently loaded map {_world.MapIndex}."; for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (tile is Land) { string result = FormatTileInfo(tile, map); OpenInteractiveInfoGump("C# Tile Information", result); return result; } } return $"UO.InfoTile: no land tile is available at X={x}, Y={y}, map={map}."; }). Candidatos de sobrecarga: el origen no confirma cuál se selecciona.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map == null || map != _world.MapIndex) return $"UO.InfoTile: map {map} is not the currently loaded map {_world.MapIndex}."; for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (tile is Land) { string result = FormatTileInfo(tile, map); OpenInteractiveInfoGump("C# Tile Information", result); return result; } } return $"UO.InfoTile: no land tile is available at X={x}, Y={y}, map={map}."; }). Candidatos de sobrecarga: el origen no confirma cuál se selecciona.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FormatTileInfo: FormatTileInfo(tile, map).
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.OpenInteractiveInfoGump: OpenInteractiveInfoGump("C# Tile Information", result).

Código interno de implementación; no es un script independiente.

public string GetTileInfoText(int x, int y, int map) => Invoke(() =>

        {

            if (_world.Map == null || map != _world.MapIndex)

                return $"UO.InfoTile: map {map} is not the currently loaded map {_world.MapIndex}.";



            for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext)

            {

                if (tile is Land)

                {

                    string result = FormatTileInfo(tile, map);

                    OpenInteractiveInfoGump("C# Tile Information", result);

                    return result;

                }

            }

            return $"UO.InfoTile: no land tile is available at X={x}, Y={y}, map={map}.";

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTooltip

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: objectId

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2381.

public string GetTooltip(int objectId)

Resultado: string.

Resultado: string.Empty; tooltip.

Llamadas: ReadTooltip, Invoke, _cancellationToken.WaitHandle.WaitOne.

Condiciones: serial == 0; tooltip != null.

Llamadas:

Código interno de implementación; no es un script independiente.

public string GetTooltip(int objectId)

        {

            uint serial = unchecked((uint)objectId);

            if (serial == 0)

                return string.Empty;



            string ReadTooltip() => Invoke(() =>

            {

                if (!_world.OPL.TryGetNameAndData(serial, out string name, out string data))

                    return null;

                if (string.IsNullOrWhiteSpace(name)) return data ?? string.Empty;

                if (string.IsNullOrWhiteSpace(data)) return name;

                return name + Environment.NewLine + data;

            });



            string tooltip = ReadTooltip();

            if (tooltip != null)

                return tooltip;



            Invoke(() => _world.OPL.Contains(serial));

            const int timeoutMs = 200;

            const int pollMs = 10;

            for (int waited = 0; waited < timeoutMs && !_cancellationToken.IsCancellationRequested; waited += pollMs)

            {

                _cancellationToken.WaitHandle.WaitOne(pollMs);

                tooltip = ReadTooltip();

                if (tooltip != null)

                    return tooltip;

            }



            return string.Empty;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GlobalChatLeave

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1563.

public void GlobalChatLeave()

Resultado: void.

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public void GlobalChatLeave() => Invoke(() => NetClient.Socket.Send_ChatLeaveChannelCommand());

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsMovable

Devuelve el valor de la expresión siguiente.

Parámetros: id

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:241.

public int IsMovable(int id)

Resultado: int.

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public int IsMovable(int id) => Invoke(() =>

            _world.Items.Get(unchecked((uint)id)) is Item item

            && !item.IsDestroyed && !item.IsMulti

            && (!item.OnGround || !item.IsLocked) ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsTargeting

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:869.

public int IsTargeting()

Resultado: int.

Resultado: Invoke(() => _world.TargetManager.IsTargeting ? 1 : 0).

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public int IsTargeting() => Invoke(() => _world.TargetManager.IsTargeting ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Launch

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: fileName, arguments, workingDirectory, hidden

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1709.

public int Launch(string fileName, string arguments, string workingDirectory, bool hidden)

Resultado: int.

Resultado: process != null ? 1 : 0; 0.

Llamadas: string.IsNullOrWhiteSpace, Path.IsPathRooted, Path.Combine, File.Exists, Process.Start, Error.

Condiciones: hidden && !Path.IsPathRooted(executable); File.Exists(candidate).

Llamadas:

Código interno de implementación; no es un script independiente.

public int Launch(string fileName, string arguments, string workingDirectory, bool hidden)

        {

            try

            {

                string executable = fileName ?? string.Empty;

                string cwd = string.IsNullOrWhiteSpace(workingDirectory)

                    ? Environment.CurrentDirectory

                    : workingDirectory;

                if (hidden && !Path.IsPathRooted(executable))

                {

                    string candidate = Path.Combine(cwd, executable);

                    if (File.Exists(candidate))

                        executable = candidate;

                }



                var info = new ProcessStartInfo

                {

                    FileName = executable,

                    Arguments = arguments ?? string.Empty,

                    WorkingDirectory = cwd,

                    UseShellExecute = !hidden,

                    CreateNoWindow = hidden,

                    WindowStyle = hidden ? ProcessWindowStyle.Hidden : ProcessWindowStyle.Normal

                };

                using Process process = Process.Start(info);

                return process != null ? 1 : 0;

            }

            catch (Exception exception)

            {

                Error($"UO.Launch: {exception.Message}");

                return 0;

            }

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MaxStamina

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:159.

public int MaxStamina

Resultado: int.

Resultado: Invoke(() => CurrentPlayer?.StaminaMax ?? 0).

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public int MaxStamina => Invoke(() => CurrentPlayer?.StaminaMax ?? 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Picking

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:634.

public int Picking()

Resultado: int.

Resultado: Invoke(() => Client.UO.World.ItemHold.Enabled ? 1 : 0).

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public int Picking() => Invoke(() => Client.UO.World.ItemHold.Enabled ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PlaySound

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: sound

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1675.

public void PlaySound(int sound)

Resultado: void.

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public void PlaySound(int sound) => Invoke(() => RequireGameView("PlaySound").Audio.PlaySound(sound));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ProfileName

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:174.

public string ProfileName

Resultado: string.

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public string ProfileName => Invoke(() => ProfileManager.CurrentCharacterSerial == 0

            ? string.Empty

            : $"0x{ProfileManager.CurrentCharacterSerial:X8}");

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResolveFindRange

Analiza o resuelve el argumento según las reglas mostradas en el código.

Parámetros: range

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3761.

private int ResolveFindRange(int range)

Resultado: int.

Resultado: range < 0 ? State.FindDistance : Math.Max(0, range).

Llamadas: Math.Max.

Código interno de implementación; no es un script independiente.

private int ResolveFindRange(int range) => range < 0 ? State.FindDistance : Math.Max(0, range);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RuntimeProductName

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:180.

public string RuntimeProductName

Resultado: string.

Resultado: "ClassicUO / BadNewbie / C# Scripts IDE".

Código interno de implementación; no es un script independiente.

public string RuntimeProductName => "ClassicUO / BadNewbie / C# Scripts IDE";

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SaveHotkeys

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3664.

public void SaveHotkeys()

Resultado: void.

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public void SaveHotkeys() => Invoke(_world.Macros.Save);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerGumpsUnsafe

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3925.

private List<Gump> ServerGumpsUnsafe()

Resultado: List<Gump>.

Resultado: _world.ServerGumps.Snapshot().

Llamadas: _world.ServerGumps.Snapshot.

Código interno de implementación; no es un script independiente.

private List<Gump> ServerGumpsUnsafe() => _world.ServerGumps.Snapshot();

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerPrint

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: message

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1823.

public void ServerPrint(string message)

Resultado: void.

Llamadas: PrintClientMessage.

Llamadas:

Código interno de implementación; no es un script independiente.

public void ServerPrint(string message) => PrintClientMessage(DEFAULT_SCRIPT_PRINT_HUE, message);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetDropDelay

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: value

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:204.

public void SetDropDelay(int value)

Resultado: void.

Llamadas: Math.Clamp.

Código interno de implementación; no es un script independiente.

public void SetDropDelay(int value) => State.GrabDelay = Math.Clamp(value, 50, 10_000);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StepControlled

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: direction, running, timeoutMs, queue, waitForAck

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3202.

public int StepControlled(int direction, bool running, int timeoutMs, bool queue, bool waitForAck)

Resultado: int.

Resultado: STEP_QUEUE_GENERAL_ERROR; result; 5; 7; 4.

Llamadas: Math.Max, QueueStep, Wait, Invoke, walker.GetDenyGeneration, walker.GetConfirmGeneration.

Condiciones: result != STEP_QUEUE_OVERFLOW || timeout <= 0 || Environment.TickCount64 >= deadline; result == STEP_QUEUE_OVERFLOW; !waitForAck || result < 0 || result == STEP_QUEUE_TURN_ONLY; walker == null.

Llamadas:

Código interno de implementación; no es un script independiente.

public int StepControlled(int direction, bool running, int timeoutMs, bool queue, bool waitForAck)

        {

            int timeout = Math.Max(0, timeoutMs);

            long deadline = Environment.TickCount64 + timeout;

            int result;

            (int Result, int ConfirmGeneration, int DenyGeneration, WalkerManager Walker) queued;

            do

            {

                queued = QueueStep(direction, running, !queue);

                result = queued.Result;

                if (result != STEP_QUEUE_OVERFLOW || timeout <= 0 || Environment.TickCount64 >= deadline)

                    break;

                Wait(5);

            }

            while (true);



            if (result == STEP_QUEUE_OVERFLOW)

                return STEP_QUEUE_GENERAL_ERROR;

            if (!waitForAck || result < 0 || result == STEP_QUEUE_TURN_ONLY)

                return result;



            int sequence = result & 0xFF;

            WalkerManager walker = queued.Walker;

            if (walker == null)

                return STEP_QUEUE_GENERAL_ERROR;

            long ackDeadline = timeout > 0 ? Environment.TickCount64 + timeout : Environment.TickCount64 + STEP_ACK_TIMEOUT_MS;

            while (Environment.TickCount64 < ackDeadline)

            {

                if (!NetClient.Socket.IsConnected)

                    return STEP_QUEUE_GENERAL_ERROR;

                if (!Invoke(() => ReferenceEquals(_world.Player?.Walker, walker)))

                    return STEP_QUEUE_GENERAL_ERROR;

                if (walker.GetDenyGeneration((byte)sequence) != queued.DenyGeneration)

                    return 5;

                if (walker.GetConfirmGeneration((byte)sequence) != queued.ConfirmGeneration)

                    return 7;

                Wait(5);

            }

            return 4;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Target

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: targetKey, serial, targetType, type, x, y, z

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:839.

public void Target(int targetKey, int serial, int targetType, int type, int x, int y, int z)

Resultado: void.

Llamadas: Invoke.

Llamadas:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { Entity entity = serial > 0 ? _world.Get((uint)serial) : null; ushort graphic = (ushort)type; ushort targetX = (ushort)x; ushort targetY = (ushort)y; sbyte targetZ = (sbyte)z; if (entity != null) { graphic = entity.Graphic; targetX = entity.X; targetY = entity.Y; targetZ = entity.Z; } NetClient.Socket.Send_TargetObject ( (uint)Math.Max(0, serial), graphic, targetX, targetY, targetZ, (uint)targetKey, (byte)targetType ); }). Candidatos de sobrecarga: el origen no confirma cuál se selecciona.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { Entity entity = serial > 0 ? _world.Get((uint)serial) : null; ushort graphic = (ushort)type; ushort targetX = (ushort)x; ushort targetY = (ushort)y; sbyte targetZ = (sbyte)z; if (entity != null) { graphic = entity.Graphic; targetX = entity.X; targetY = entity.Y; targetZ = entity.Z; } NetClient.Socket.Send_TargetObject ( (uint)Math.Max(0, serial), graphic, targetX, targetY, targetZ, (uint)targetKey, (byte)targetType ); }). Candidatos de sobrecarga: el origen no confirma cuál se selecciona.
  • ClassicUO.Game.World.Get: _world.Get((uint)serial).

Código interno de implementación; no es un script independiente.

public void Target(int targetKey, int serial, int targetType, int type, int x, int y, int z)

        {

            Invoke(() =>

            {

                Entity entity = serial > 0 ? _world.Get((uint)serial) : null;

                ushort graphic = (ushort)type;

                ushort targetX = (ushort)x;

                ushort targetY = (ushort)y;

                sbyte targetZ = (sbyte)z;



                if (entity != null)

                {

                    graphic = entity.Graphic;

                    targetX = entity.X;

                    targetY = entity.Y;

                    targetZ = entity.Z;

                }



                NetClient.Socket.Send_TargetObject

                (

                    (uint)Math.Max(0, serial),

                    graphic,

                    targetX,

                    targetY,

                    targetZ,

                    (uint)targetKey,

                    (byte)targetType

                );

            });

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TargetToObject

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: id

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:832.

public void TargetToObject(int id)

Resultado: void.

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public void TargetToObject(int id) => Invoke(() => _world.TargetManager.TargetServerObject(unchecked((uint)id)));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TrySetGumpValue

Devuelve el valor de la expresión siguiente.

Parámetros: gumpId, identifier, key, state

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2950.

public int TrySetGumpValue(int gumpId, string identifier, int key, string state)

Resultado: int.

Resultado: Invoke(() => TrySetGumpValueUnsafe(ResolveGumpUnsafe(gumpId), identifier, key, state, true)).

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public int TrySetGumpValue(int gumpId, string identifier, int key, string state)

            => Invoke(() => TrySetGumpValueUnsafe(ResolveGumpUnsafe(gumpId), identifier, key, state, true));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Unignore

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: id

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2705.

public void Unignore(int id)

Resultado: void.

Llamadas: State.IgnoredSerials.Remove.

Código interno de implementación; no es un script independiente.

public void Unignore(int id) => State.IgnoredSerials.Remove(id);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitForClientTargetResponse

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: maxWaitMs

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:911.

public int WaitForClientTargetResponse(int maxWaitMs)

Resultado: int.

Resultado: 1; 0.

Llamadas: DateTime.UtcNow.AddMilliseconds, Math.Max, Wait, Math.Min.

Condiciones: _clientTargetResponsePresent; DateTime.UtcNow >= deadline.

Llamadas:

Código interno de implementación; no es un script independiente.

public int WaitForClientTargetResponse(int maxWaitMs)

        {

            DateTime deadline = DateTime.UtcNow.AddMilliseconds(Math.Max(0, maxWaitMs));

            do

            {

                if (_clientTargetResponsePresent) return 1;

                if (DateTime.UtcNow >= deadline) return 0;

                Wait(Math.Min(25, Math.Max(1, maxWaitMs)));

            } while (true);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitUntilTargeting

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: maxWaitMs

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:870.

public int WaitUntilTargeting(int maxWaitMs)

Resultado: int.

Resultado: 1; 0.

Llamadas: DateTime.UtcNow.AddMilliseconds, Math.Max, IsTargeting, Wait, Math.Min.

Condiciones: IsTargeting() != 0; DateTime.UtcNow >= deadline.

Llamadas:

Código interno de implementación; no es un script independiente.

public int WaitUntilTargeting(int maxWaitMs)

        {

            DateTime deadline = DateTime.UtcNow.AddMilliseconds(Math.Max(0, maxWaitMs));

            do

            {

                if (IsTargeting() != 0) return 1;

                if (DateTime.UtcNow >= deadline) return 0;

                Wait(Math.Min(25, Math.Max(1, maxWaitMs)));

            } while (true);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitingMenu

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:674.

public int WaitingMenu()

Resultado: int.

Resultado: Invoke(() => _world.ServerMenus.Snapshot().Length != 0 ? 1 : 0).

Llamadas: Invoke.

Llamadas:

Código interno de implementación; no es un script independiente.

public int WaitingMenu() => Invoke(() => _world.ServerMenus.Snapshot().Length != 0 ? 1 : 0);

ClassicUO.Game.Managers.JournalManager.AddYokoIgnoredUser

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: name

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/JournalManager.cs:26.

internal static void AddYokoIgnoredUser(string name)

Resultado: void.

Llamadas: string.IsNullOrWhiteSpace, _yokoIgnoredUsers.Add, name.Trim.

Condiciones: !string.IsNullOrWhiteSpace(name).

Código interno de implementación; no es un script independiente.

internal static void AddYokoIgnoredUser(string name)
        {
            if (!string.IsNullOrWhiteSpace(name))
                _yokoIgnoredUsers.Add(name.Trim());
        }

ClassicUO.Game.Managers.YokoInjectionManager.CancelVendorPrices

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3433.

internal void CancelVendorPrices()

Resultado: void.

Llamadas: .CancelPending.

Código interno de implementación; no es un script independiente.

internal void CancelVendorPrices() => _vendorPricer?.CancelPending();

ClassicUO.Game.Managers.YokoInjectionManager.ElementAt

Devuelve el valor de la expresión siguiente.

Parámetros: values, index

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2915.

private static T ElementAt<T>(T[] values, int index)

Resultado: T.

Resultado: index >= 0 && index < values.Length ? values[index] : null.

Código interno de implementación; no es un script independiente.

private static T ElementAt<T>(T[] values, int index) where T : class =>
            index >= 0 && index < values.Length ? values[index] : null;

ClassicUO.Game.Managers.YokoInjectionManager.GetScriptPath

Devuelve el valor de la expresión siguiente.

Parámetros: index

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2812.

internal string GetScriptPath(int index)

Resultado: string.

Resultado: ElementAt(RunningScripts(), index)?.FilePath ?? string.Empty.

Llamadas: ElementAt, RunningScripts.

Llamadas:

Código interno de implementación; no es un script independiente.

internal string GetScriptPath(int index) => ElementAt(RunningScripts(), index)?.FilePath ?? string.Empty;

ClassicUO.Game.Managers.YokoInjectionManager.ReadScriptContent

Devuelve el valor de la expresión siguiente.

Parámetros: filePath

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/YokoCompiledScripts.cs:15.

private static string ReadScriptContent(string filePath)

Resultado: string.

Llamadas: IsCompiledScriptFilePath, File.ReadAllText.

Código interno de implementación; no es un script independiente.

private static string ReadScriptContent(string filePath) => IsCompiledScriptFilePath(filePath)
        ? "// Compiled C# artifact. Source remains unavailable until explicit Decrypt or Decompile."
        : File.ReadAllText(filePath);

InjectionScript.Runtime.InjectionApiUO.AlwaysRun

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3772.

public int AlwaysRun()

Resultado: int.

Resultado: bridge.AlwaysRun().

Llamadas: bridge.AlwaysRun.

Llamadas:

Código interno de implementación; no es un script independiente.

public int AlwaysRun() => bridge.AlwaysRun();

InjectionScript.Runtime.InjectionApiUO.BuildTileData

Devuelve el valor de la expresión siguiente.

Parámetros: group, tileId

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2377.

private InjectionValue BuildTileData(int group, int tileId)

Resultado: InjectionValue.

Resultado: new InjectionValue(values.ToArray()).

Llamadas: bridge.GetTileFlags, bridge.GetTileDataName, values.AddRange, bridge.GetTileDataProperties(group, tileId).Select, bridge.GetTileDataProperties, values.ToArray.

Llamadas:

Código interno de implementación; no es un script independiente.

private InjectionValue BuildTileData(int group, int tileId)

        {

            // Preserve the old [graphic, flags] indexes and append richer data.

            // Land: [graphic, flags, name, texId, wet, impassable, noDiagonal].

            // Static: [graphic, flags, name, weight, layer, count, animId, hue,

            //          lightIndex, height, wet, impassable, surface, foliage,

            //          door, wall, container].

            var values = new List<InjectionValue>

            {

                new InjectionValue(tileId),

                new InjectionValue(unchecked((int)bridge.GetTileFlags(group, tileId))),

                new InjectionValue(bridge.GetTileDataName(group, tileId))

            };

            values.AddRange(bridge.GetTileDataProperties(group, tileId).Select(value => new InjectionValue(value)));

            return new InjectionValue(values.ToArray());

        }

InjectionScript.Runtime.InjectionApiUO.CompactGetMobiles

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: values

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4916.

private InjectionValue CompactGetMobiles(InjectionValue[] values)

Resultado: InjectionValue.

Resultado: new InjectionValue(mobiles.Select(id => new InjectionValue(id)).ToArray()).

Llamadas: ResolveCompactDistance, ResolveCompactMaxZ, ToBoolean, FilterMobiles, mobiles.OrderBy(id => bridge.GetDistance(id)).ThenBy, mobiles.OrderBy, mobiles.Select(id => new InjectionValue(id)).ToArray, mobiles.Select.

Condiciones: nearest.

Llamadas:

Código interno de implementación; no es un script independiente.

private InjectionValue CompactGetMobiles(InjectionValue[] values)

        {

            int distance = values.Length > 0 ? ResolveCompactDistance(values[0]) : -1;

            InjectionValue notoriety = values.Length > 1 ? values[1] : InjectionValue.MinusOne;

            InjectionValue body = values.Length > 2 ? values[2] : InjectionValue.MinusOne;

            int maxZ = values.Length > 3 ? ResolveCompactMaxZ(values[3]) : -1;

            bool nearest = values.Length > 4 && ToBoolean(values[4]);

            bool includeSelf = values.Length > 5 && ToBoolean(values[5]);

            bool aliveOnly = values.Length > 6 && ToBoolean(values[6]);

            bool visibleOnly = values.Length > 7 && ToBoolean(values[7]);



            IEnumerable<int> mobiles = FilterMobiles(distance, notoriety, body, maxZ, -1, includeSelf,

                false, aliveOnly, visibleOnly);

            if (nearest)

                mobiles = mobiles.OrderBy(id => bridge.GetDistance(id)).ThenBy(id => id);

            return new InjectionValue(mobiles.Select(id => new InjectionValue(id)).ToArray());

        }

InjectionScript.Runtime.InjectionApiUO.CompactNewMoveXY

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: values

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2219.

private int CompactNewMoveXY(InjectionValue[] values)

Resultado: int.

Llamadas: NumberConversions.ToInt, Math.Max, ToBoolean, MoveToCanonical, bridge.GetZ.

Condiciones: values == null || values.Length < 5 || values.Length > 13; values.Length > 5; values[5].Kind == InjectionValueKind.String; NumberConversions.ToInt(values[5]) != 0.

Llamadas:

Código interno de implementación; no es un script independiente.

private int CompactNewMoveXY(InjectionValue[] values)

        {

            if (values == null || values.Length < 5 || values.Length > 13)

                throw new NativeSubrutineException("UO.NewMoveXY expects x,y,optimized,accuracy,running[,callback[,timeout[,maxSteps[,maxDistance[,accuracyZ[,avoidMobiles[,openDoors[,stopOnStuck]]]]]]]].");

            string callback = null;

            if (values.Length > 5)

            {

                if (values[5].Kind == InjectionValueKind.String)

                    callback = values[5].String;

                else if (NumberConversions.ToInt(values[5]) != 0)

                    throw new NativeSubrutineException("UO.NewMoveXY callback must be 0/nil or a procedure/function name string.");

            }

            int timeout = values.Length > 6 ? Math.Max(0, NumberConversions.ToInt(values[6])) : 0;

            int maxSteps = values.Length > 7 ? Math.Max(0, NumberConversions.ToInt(values[7])) : 0;

            int maxDistance = values.Length > 8 ? Math.Max(0, NumberConversions.ToInt(values[8])) : 0;

            int accuracyZ = values.Length > 9 ? NumberConversions.ToInt(values[9]) : 255;

            bool? avoidMobiles = values.Length > 10 ? ToBoolean(values[10]) : (bool?)null;

            bool? openDoors = values.Length > 11 ? ToBoolean(values[11]) : (bool?)null;

            bool stopOnStuck = values.Length > 12 && ToBoolean(values[12]);

            return MoveToCanonical(NumberConversions.ToInt(values[0]), NumberConversions.ToInt(values[1]),

                bridge.GetZ(bridge.Self), NumberConversions.ToInt(values[3]), ToBoolean(values[4]), accuracyZ,

                ToBoolean(values[2]), callback, timeout, maxSteps, maxDistance, avoidMobiles, openDoors, stopOnStuck);

        }

InjectionScript.Runtime.InjectionApiUO.ConvertSkillName

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: skillName

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6586.

private int? ConvertSkillName(string skillName)

Resultado: int?.

Resultado: skillId; null.

Llamadas: skillNameToSkillId.TryGetValue.

Condiciones: skillNameToSkillId.TryGetValue(skillName, out var skillId).

Código interno de implementación; no es un script independiente.

private int? ConvertSkillName(string skillName)

        {

            if (skillNameToSkillId.TryGetValue(skillName, out var skillId))

                return skillId;



            return null;

        }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: index, fallback

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1137.

int Arg(int index, int fallback = 0)

Resultado: int.

Resultado: fallback; serial; NumberConversions.ToInt(arguments[index]).

Llamadas: TryGetObject, NumberConversions.ToInt.

Condiciones: index >= arguments.Length; arguments[index].Kind == InjectionValueKind.String && TryGetObject(arguments[index], out int serial).

Llamadas:

Código interno de implementación; no es un script independiente.

int Arg(int index, int fallback = 0)

            {

                if (index >= arguments.Length) return fallback;

                if (arguments[index].Kind == InjectionValueKind.String && TryGetObject(arguments[index], out int serial))

                    return serial;

                return NumberConversions.ToInt(arguments[index]);

            }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1292.

Resultado: new InjectionValue(bridge.Backpack).

Llamadas:

Código interno de implementación; no es un script independiente.

case "backpack": return new InjectionValue(bridge.Backpack);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1508.

Resultado: new InjectionValue(bridge.CharacterTitle).

Llamadas:

Código interno de implementación; no es un script independiente.

case "chartitle": return new InjectionValue(bridge.CharacterTitle);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1312.

Resultado: new InjectionValue(bridge.CurrentProfilePath).

Llamadas:

Código interno de implementación; no es un script independiente.

case "shardpath":

                case "clientprofilepath": return new InjectionValue(bridge.CurrentProfilePath);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1307.

Resultado: InjectionValue.Unit.

Llamadas:

Código interno de implementación; no es un script independiente.

case "disconnect": bridge.DisconnectClient(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1618.

Resultado: new InjectionValue(MoveItemChecked(Arg(0), Arg(1), 0, Arg(2), Arg(3), Arg(4)) ? 1 : 0).

Llamadas:

Código interno de implementación; no es un script independiente.

case "drop": return new InjectionValue(MoveItemChecked(Arg(0), Arg(1), 0, Arg(2), Arg(3), Arg(4)) ? 1 : 0);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1815.

Resultado: InjectionValue.Unit.

Llamadas:

Código interno de implementación; no es un script independiente.

case "fillnewwindow": bridge.TextClear(); bridge.TextPrint(Text(0)); bridge.TextOpen(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1395.

Resultado: new InjectionValue(Array.Empty<InjectionValue>()); new InjectionValue(items.Select(serial => new InjectionValue(serial)).ToArray()).

Condiciones: selection.Kind == InjectionValueKind.String; selection.Kind != InjectionValueKind.Integer && selection.Kind != InjectionValueKind.Decimal; container < 0 || container == 0 && !ground && !explicitZero.

Llamadas:

Código interno de implementación; no es un script independiente.

case "getcontent":

                case "getequipment":

                {

                    InjectionValue selection = arguments[0];

                    bool ground = false, explicitZero;

                    int container;

                    if (selection.Kind == InjectionValueKind.String)

                    {

                        string text = Text(0).Trim();

                        ground = text.Equals("ground", StringComparison.OrdinalIgnoreCase);

                        explicitZero = NumberConversions.TryStr2Int(text, out int literal) && literal == 0;

                        container = ground ? 0 : text.Equals("my", StringComparison.OrdinalIgnoreCase)

                            ? bridge.Backpack : GetObject(text);

                    }

                    else

                    {

                        if (selection.Kind != InjectionValueKind.Integer && selection.Kind != InjectionValueKind.Decimal)

                            return new InjectionValue(Array.Empty<InjectionValue>());

                        container = Arg(0);

                        explicitZero = selection.Kind == InjectionValueKind.Integer ? selection.Integer == 0 : selection.Decimal == 0d;

                    }

                    // Only an explicit ground/zero selector may query world items.

                    if (container < 0 || container == 0 && !ground && !explicitZero)

                        return new InjectionValue(Array.Empty<InjectionValue>());

                    bool equipment = name.Equals("GetEquipment", StringComparison.OrdinalIgnoreCase);

                    int[] items = equipment

                        ? container == 0 ? Array.Empty<int>() : bridge.GetEquipment(container)

                        : bridge.GetContent(container);

                    return new InjectionValue(items.Select(serial => new InjectionValue(serial)).ToArray());

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2021.

Llamadas:

Código interno de implementación; no es un script independiente.

case "getglobal":

                    return new InjectionValue(state.GlobalVariables.TryGetValue(Text(0) + "\u001F" + Text(1), out string globalValue)

                        ? globalValue : string.Empty);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1864.

new []

Resultado: [].

Llamadas:

Código interno de implementación; no es un script independiente.

case "getmobile":

                {

                    int id = Arg(0);

                    return new InjectionValue(new[]

                    {

                        new InjectionValue(id), new InjectionValue(bridge.GetName(id)), new InjectionValue(bridge.GetX(id)),

                        new InjectionValue(bridge.GetY(id)), new InjectionValue(bridge.GetZ(id)), new InjectionValue(bridge.GetHP(id)),

                        new InjectionValue(bridge.GetMaxHP(id)), new InjectionValue(bridge.GetNotoriety(id)), new InjectionValue(bridge.GetDir(id))

                    });

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1877.

Resultado: new InjectionValue((part ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray())).ToArray()).

Llamadas:

Código interno de implementación; no es un script independiente.

case "getmultiallparts":

                    return new InjectionValue((bridge.GetMultiAllParts(Arg(0)) ?? Array.Empty<int[]>())

                        .Select(part => new InjectionValue((part ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray())).ToArray());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1880.

Resultado: new InjectionValue((part ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray())).ToArray()).

Llamadas:

Código interno de implementación; no es un script independiente.

case "getmultipartsatposition":

                    return new InjectionValue((bridge.GetMultiPartsAtPosition(Arg(0), Arg(1)) ?? Array.Empty<int[]>())

                        .Select(part => new InjectionValue((part ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray())).ToArray());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1518.

Resultado: new InjectionValue(bridge.GetPauseScriptOnDisconnectStatus()).

Llamadas:

Código interno de implementación; no es un script independiente.

case "getpausescriptondisconnectstatus": return new InjectionValue(bridge.GetPauseScriptOnDisconnectStatus());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1850.

Resultado: BuildTileData(1, Arg(0)).

Llamadas:

Código interno de implementación; no es un script independiente.

case "getstatictiledata":

                    return BuildTileData(1, Arg(0));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1858.

Resultado: FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), ArrayArg(5), true).

Llamadas:

Código interno de implementación; no es un script independiente.

case "getstatictilesarrayex":

                    return FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), ArrayArg(5), true);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1515.

Resultado: new InjectionValue(bridge.GetTradeContainer(Arg(0), Arg(1))).

Llamadas:

Código interno de implementación; no es un script independiente.

case "gettradecontainer": return new InjectionValue(bridge.GetTradeContainer(Arg(0), Arg(1)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1517.

Resultado: new InjectionValue(bridge.GetTradeOpponentName(Arg(0))).

Llamadas:

Código interno de implementación; no es un script independiente.

case "gettradeopponentname": return new InjectionValue(bridge.GetTradeOpponentName(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1562.

Resultado: new InjectionValue(bridge.GetX(Arg(0, bridge.Self))).

Llamadas:

Código interno de implementación; no es un script independiente.

case "getx": return new InjectionValue(bridge.GetX(Arg(0, bridge.Self)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1916.

Resultado: StringArray(bridge.GlobalChatChannels()).

Llamadas:

Código interno de implementación; no es un script independiente.

case "globalchatchannelslist": return StringArray(bridge.GlobalChatChannels());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1948.

Resultado: new InjectionValue(httpBody).

Llamadas:

Código interno de implementación; no es un script independiente.

case "http_post":

                {

                    string[] response = bridge.HttpRequest("POST", Text(0), Text(1));

                    httpBody = response.Length > 0 ? response[0] : string.Empty;

                    httpHeader = response.Length > 1 ? response[1] : string.Empty;

                    return new InjectionValue(httpBody);

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1439.

Resultado: new InjectionValue(spellId.HasValue ? bridge.IsActiveSpell(spellId.Value) : 0).

Llamadas:

Código interno de implementación; no es un script independiente.

case "isactivespellability":

                {

                    int? spellId = arguments[0].Kind == InjectionValueKind.String

                        ? ConvertSpellName(Text(0).Replace('_', ' '))

                        : (int?)Arg(0);

                    return new InjectionValue(spellId.HasValue ? bridge.IsActiveSpell(spellId.Value) : 0);

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1361.

Resultado: new InjectionValue(arguments.Length > 0 ? bridge.IsDead(Arg(0)) : bridge.Dead()).

Llamadas:

Código interno de implementación; no es un script independiente.

case "isdead": return new InjectionValue(arguments.Length > 0 ? bridge.IsDead(Arg(0)) : bridge.Dead());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1468.

new []

Resultado: [].

Llamadas:

Código interno de implementación; no es un script independiente.

case "isworldcellpassable":

                {

                    int destinationZFallback = Arg(5);

                    int[] step = bridge.CheckWorldStep(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), Arg(6));

                    int passable = step.Length > 0 ? step[0] : 0;

                    int destinationZ = step.Length > 1 ? step[1] : destinationZFallback;

                    return new InjectionValue(new[] { new InjectionValue(passable), new InjectionValue(destinationZ) });

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1489.

Resultado: new InjectionValue(bridge.GetHP(bridge.Self)).

Llamadas:

Código interno de implementación; no es un script independiente.

case "life": return new InjectionValue(bridge.GetHP(bridge.Self));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2042.

Resultado: new InjectionValue(selectedJournalEntry?.MessageType ?? 0).

Código interno de implementación; no es un script independiente.

case "linemsgtype": return new InjectionValue(selectedJournalEntry?.MessageType ?? 0);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2037.

Resultado: new InjectionValue(bridge.JournalEntryCount() == 0 ? -1 : 0).

Llamadas:

Código interno de implementación; no es un script independiente.

case "lowjournal": return new InjectionValue(bridge.JournalEntryCount() == 0 ? -1 : 0);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1499.

Resultado: new InjectionValue(bridge.PoisonResistance).

Llamadas:

Código interno de implementación; no es un script independiente.

case "poisonresist": return new InjectionValue(bridge.PoisonResistance);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1556.

Resultado: new InjectionValue(bridge.ShardName).

Llamadas:

Código interno de implementación; no es un script independiente.

case "shardname":

                case "profileshardname": return new InjectionValue(bridge.ShardName);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1554.

Resultado: InjectionValue.Unit.

Llamadas:

Código interno de implementación; no es un script independiente.

case "reqvirtuesgump": bridge.RequestVirtuesGump(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1293.

Resultado: new InjectionValue(bridge.Self).

Llamadas:

Código interno de implementación; no es un script independiente.

case "self": return new InjectionValue(bridge.Self);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1584.

Resultado: InjectionValue.Unit.

Llamadas:

Código interno de implementación; no es un script independiente.

case "setstatlockstate":

                case "setstatstate": bridge.SetStatLockState(Arg(0), Arg(1)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1348.

Resultado: InjectionValue.Unit.

Llamadas:

Código interno de implementación; no es un script independiente.

case "setwalkmounttimer":

                    state.WalkMountTimer = ClampMoveTimer(Arg(0), 200);

                    bridge.SetMovementTimers(state.RunMountTimer, state.RunUnmountTimer, state.WalkMountTimer, state.WalkUnmountTimer);

                    return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1506.

Resultado: new InjectionValue(bridge.Sex).

Llamadas:

Código interno de implementación; no es un script independiente.

case "sex": return new InjectionValue(bridge.Sex);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1581.

Resultado: InjectionValue.Unit.

Llamadas:

Código interno de implementación; no es un script independiente.

case "setskilllockstate":

                case "skilllockstate": bridge.SetSkillLockState(Text(0), Arg(1)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1649.

Resultado: InjectionValue.Unit.

Llamadas:

Código interno de implementación; no es un script independiente.

case "targettoobject": bridge.TargetToObject(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1626.

Resultado: new InjectionValue(bridge.Equip(Arg(0), Arg(1))).

Llamadas:

Código interno de implementación; no es un script independiente.

case "wearitem": return new InjectionValue(bridge.Equip(Arg(0), Arg(1)));

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3011.

Llamadas:

Código interno de implementación; no es un script independiente.

case "allprice":

                    bridge.AllPrice(arguments.Length > 0 ? NumberConversions.ToInt(arguments[0]) : -1,

                        arguments.Length > 1 ? ResolveType(arguments[1]) : 0);

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2894.

Resultado: new InjectionValue(MoveItem(arguments[0], arguments.Length > 1 ? arguments[1] : InjectionValue.Zero, arguments.Length > 2 ? arguments[2] : new InjectionValue("ground"))); InjectionValue.False.

Condiciones: arguments.Length > 0.

Llamadas:

Código interno de implementación; no es un script independiente.

case "drop":

                    if (arguments.Length > 0)

                        return new InjectionValue(MoveItem(arguments[0], arguments.Length > 1 ? arguments[1] : InjectionValue.Zero, arguments.Length > 2 ? arguments[2] : new InjectionValue("ground")));

                    return InjectionValue.False;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2901.

Llamadas:

Código interno de implementación; no es un script independiente.

case "sell":

                    bridge.SetAutoSellRule(Arg(0), arguments.Length > 1 ? Arg(1) : -1, arguments.Length > 2 ? Arg(2) : 1);

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Esta rama solo maneja el nombre de comando indicado.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3036.

Condiciones: !TryDeserializeRecordedLegacyAction(state.RecordedAction, out string recordedName, out InjectionValue[] recordedArguments); bridge != null.

Llamadas:

Código interno de implementación; no es un script independiente.

case "userec":

                    if (!TryDeserializeRecordedLegacyAction(state.RecordedAction, out string recordedName, out InjectionValue[] recordedArguments))

                    {

                        if (bridge != null) SystemMessage("UseRec: no recorded UO action is available. Call UO.SetRec() before the action to record.");

                        break;

                    }

                    replayingLegacyAction = true;

                    try

                    {

                        ExecuteLegacyManualAlias(recordedName, recordedArguments);

                    }

                    finally

                    {

                        replayingLegacyAction = false;

                    }

                    break;

InjectionScript.Runtime.InjectionApiUO.FindMobile

Devuelve el valor de la expresión siguiente.

Parámetros: stateFilter, rangeFilter, verticalFilter

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3661.

public int FindMobile(InjectionValue stateFilter, InjectionValue rangeFilter, InjectionValue verticalFilter)

Resultado: int.

Resultado: FindMobile(stateFilter, rangeFilter, verticalFilter, new InjectionValue("all")).

Llamadas: FindMobile.

Llamadas:

Código interno de implementación; no es un script independiente.

public int FindMobile(InjectionValue stateFilter, InjectionValue rangeFilter, InjectionValue verticalFilter) =>

            FindMobile(stateFilter, rangeFilter, verticalFilter, new InjectionValue("all"));

InjectionScript.Runtime.InjectionApiUO.GListPosValue

Devuelve el valor de la expresión siguiente.

Parámetros: index

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3285.

public InjectionValue GListPosValue(int index)

Resultado: InjectionValue.

Resultado: index >= 0 && index < globalList.Count ? globalList[index].Value : InjectionValue.Zero.

Código interno de implementación; no es un script independiente.

public InjectionValue GListPosValue(int index) => index >= 0 && index < globalList.Count ? globalList[index].Value : InjectionValue.Zero;

InjectionScript.Runtime.InjectionApiUO.GetColor

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3618.

public string GetColor()

Resultado: string.

Resultado: GetColor(new InjectionValue(bridge.Self)).

Llamadas: GetColor.

Llamadas:

Código interno de implementación; no es un script independiente.

public string GetColor() => GetColor(new InjectionValue(bridge.Self));

InjectionScript.Runtime.InjectionApiUO.GetDistance

Devuelve el valor de la expresión siguiente.

Parámetros: id

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3571.

public int GetDistance(string id)

Resultado: int.

Resultado: GetDistance(GetObject(id)).

Llamadas: GetDistance, GetObject.

Llamadas:

Código interno de implementación; no es un script independiente.

public int GetDistance(string id) => GetDistance(GetObject(id));

InjectionScript.Runtime.InjectionApiUO.GetGumpCount

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3226.

public int GetGumpCount()

Resultado: int.

Resultado: bridge.GetGumpCount().

Llamadas: bridge.GetGumpCount.

Llamadas:

Código interno de implementación; no es un script independiente.

public int GetGumpCount() => bridge.GetGumpCount();

InjectionScript.Runtime.InjectionApiUO.GetLandTileAt

Devuelve el valor de la expresión siguiente.

Parámetros: x, y, map

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6191.

public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y, InjectionValue map)

Resultado: InjectionValue.

Llamadas: NumberConversions.ToInt, bridge.GetLandscapeTile, Array.Empty<int>, BuildWorldTileRecord, Array.Empty<InjectionValue>.

Llamadas:

Código interno de implementación; no es un script independiente.

public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y, InjectionValue map)

        {

            int cellX = NumberConversions.ToInt(x);

            int cellY = NumberConversions.ToInt(y);

            int world = NumberConversions.ToInt(map);

            int[] land = bridge.GetLandscapeTile(cellX, cellY, world) ?? Array.Empty<int>();

            return land.Length >= 2

                ? BuildWorldTileRecord("land", 0, land[0], cellX, cellY, land[1], 0, 0)

                : new InjectionValue(Array.Empty<InjectionValue>());

        }

InjectionScript.Runtime.InjectionApiUO.GetUserStatics

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6277.

public InjectionValue GetUserStatics()

Resultado: InjectionValue.

Llamadas: `state.UserStatics.OrderBy(pair => pair.Key)

            .Select(pair => new InjectionValue(new[] { new InjectionValue(pair.Key), new InjectionValue(pair.Value) }))

            .ToArray`, `state.UserStatics.OrderBy(pair => pair.Key)

            .Select`, `state.UserStatics.OrderBy`.

Código interno de implementación; no es un script independiente.

public InjectionValue GetUserStatics()

            => new InjectionValue(state.UserStatics.OrderBy(pair => pair.Key)

                .Select(pair => new InjectionValue(new[] { new InjectionValue(pair.Key), new InjectionValue(pair.Value) }))

                .ToArray());

InjectionScript.Runtime.InjectionApiUO.GetWeaponAbilities

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5895.

public InjectionValue GetWeaponAbilities()

Resultado: InjectionValue.

Llamadas: (bridge.GetWeaponAbilities() ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray, (bridge.GetWeaponAbilities() ?? Array.Empty<int>()).Select, bridge.GetWeaponAbilities, Array.Empty<int>.

Llamadas:

Código interno de implementación; no es un script independiente.

public InjectionValue GetWeaponAbilities() => new InjectionValue(

            (bridge.GetWeaponAbilities() ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray());

InjectionScript.Runtime.InjectionApiUO.GetYellowBar

Devuelve el valor de la expresión siguiente.

Parámetros: id

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3781.

public int GetYellowBar(InjectionValue id)

Resultado: int.

Resultado: bridge.GetYellowBar(GetObject(id)).

Llamadas: bridge.GetYellowBar, GetObject.

Llamadas:

Código interno de implementación; no es un script independiente.

public int GetYellowBar(InjectionValue id) => bridge.GetYellowBar(GetObject(id));

InjectionScript.Runtime.InjectionApiUO.Hex2Int

Devuelve el valor de la expresión siguiente.

Parámetros: value

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3786.

public int Hex2Int(InjectionValue value)

Resultado: int.

Resultado: NumberConversions.ToInt(value).

Llamadas: NumberConversions.ToInt.

Llamadas:

Código interno de implementación; no es un script independiente.

public int Hex2Int(InjectionValue value) => NumberConversions.ToInt(value);

InjectionScript.Runtime.InjectionApiUO.InfoGump

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: gump

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3203.

public void InfoGump(InjectionValue gump)

Resultado: void.

Llamadas: bridge.ShowGumpInspector, NumberConversions.ToInt.

Llamadas:

Código interno de implementación; no es un script independiente.

public void InfoGump(InjectionValue gump)

        {

            bridge.ShowGumpInspector(NumberConversions.ToInt(gump));

        }

InjectionScript.Runtime.InjectionApiUO.LastTargetX

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3795.

public int LastTargetX()

Resultado: int.

Resultado: bridge is ITargetSnapshotBridge snapshot ? snapshot.LastTargetX : bridge.GetX(bridge.LastTarget).

Llamadas: bridge.GetX.

Llamadas:

Código interno de implementación; no es un script independiente.

public int LastTargetX() => bridge is ITargetSnapshotBridge snapshot ? snapshot.LastTargetX : bridge.GetX(bridge.LastTarget);

InjectionScript.Runtime.InjectionApiUO.LastTile

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: index

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4328.

public int LastTile(InjectionValue index)

Resultado: int.

Resultado: 0; NormalizeLastTile(bridge?.LastTile())[i].

Llamadas: NumberConversions.ToInt, NormalizeLastTile, .LastTile.

Condiciones: i < 0 || i > 3.

Llamadas:

Código interno de implementación; no es un script independiente.

public int LastTile(InjectionValue index)

        {

            var i = NumberConversions.ToInt(index);

            if (i < 0 || i > 3)

                return 0;



            return NormalizeLastTile(bridge?.LastTile())[i];



        }

InjectionScript.Runtime.InjectionApiUO.Poisoned

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3769.

public int Poisoned()

Resultado: int.

Resultado: bridge.Poisoned(bridge.Self).

Llamadas: bridge.Poisoned.

Llamadas:

Código interno de implementación; no es un script independiente.

public int Poisoned() => bridge.Poisoned(bridge.Self);

InjectionScript.Runtime.InjectionApiUO.Press

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: key, count, delay

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5275.

public void Press(int key, int count, int delay)

Resultado: void.

Llamadas: KeyPress.

Llamadas:

Código interno de implementación; no es un script independiente.

public void Press(int key, int count, int delay) => KeyPress(key, count, delay);

InjectionScript.Runtime.InjectionApiUO.Random

Devuelve el valor de la expresión siguiente.

Parámetros: max

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5940.

public int Random(int max)

Resultado: int.

Resultado: random.Next(max).

Llamadas: random.Next.

Código interno de implementación; no es un script independiente.

public int Random(int max)

        {

            lock (randomSync) return random.Next(max);

        }

InjectionScript.Runtime.InjectionApiUO.ReadGoldValue

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3904.

private InjectionValue ReadGoldValue()

Resultado: InjectionValue.

Llamadas:

Código interno de implementación; no es un script independiente.

private InjectionValue ReadGoldValue()

        {

            // The existing bridge carries all 32 unsigned status-counter bits in

            // an Int32. Keep small results Integer; Double exactly represents

            // every UInt32 and avoids returning a negative large gold amount.

            uint amount = unchecked((uint)bridge.Gold);

            return amount <= int.MaxValue ? new InjectionValue((int)amount)

                : new InjectionValue((double)amount);

        }

InjectionScript.Runtime.InjectionApiUO.SendShopReply

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: reply

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6340.

public void SendShopReply(InjectionValue reply)

Resultado: void.

Llamadas: bridge.SendShopReply, reply.ToString.

Llamadas:

Código interno de implementación; no es un script independiente.

public void SendShopReply(InjectionValue reply) => bridge.SendShopReply(reply.ToString());

InjectionScript.Runtime.InjectionApiUO.Set

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: name, valueStr

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3553.

public void Set(string name, string valueStr)

Resultado: void.

Llamadas: NumberConversions.TryStr2Int, Set.

Llamadas:

Código interno de implementación; no es un script independiente.

public void Set(string name, string valueStr)

        {

            int valueInt = NumberConversions.TryStr2Int(valueStr, out var value) ? value : 0;

            Set(name, valueInt);

        }

InjectionScript.Runtime.InjectionApiUO.SetEasyUO

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: number, value

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3791.

public void SetEasyUO(InjectionValue number, InjectionValue value)

Resultado: void.

Llamadas: bridge.SetEasyUO, NumberConversions.ToInt, value.ToString.

Llamadas:

Código interno de implementación; no es un script independiente.

public void SetEasyUO(InjectionValue number, InjectionValue value)

            => bridge.SetEasyUO(NumberConversions.ToInt(number), value.ToString());

InjectionScript.Runtime.InjectionApiUO.SetGump

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: gumpId, identifier, key, stateValue

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3240.

public void SetGump(InjectionValue gumpId, InjectionValue identifier, InjectionValue key, InjectionValue stateValue)

Resultado: void.

Llamadas: bridge.SetGumpValue, NumberConversions.ToInt, identifier.ToString, stateValue.ToString.

Llamadas:

Código interno de implementación; no es un script independiente.

public void SetGump(InjectionValue gumpId, InjectionValue identifier, InjectionValue key, InjectionValue stateValue)

            => bridge.SetGumpValue(NumberConversions.ToInt(gumpId), identifier.ToString(), NumberConversions.ToInt(key), stateValue.ToString());

InjectionScript.Runtime.InjectionApiUO.Time

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5933.

public int Time()

Resultado: int.

Resultado: now.Hour * 10000 + now.Minute * 100 + now.Second.

Código interno de implementación; no es un script independiente.

public int Time()

        {

            var now = timeSource.Now;

            return now.Hour * 10000 + now.Minute * 100 + now.Second;

        }

InjectionScript.Runtime.InjectionApiUO.TradeName

Devuelve el valor de la expresión siguiente.

Parámetros: windowIndex

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3291.

public string TradeName(InjectionValue windowIndex)

Resultado: string.

Resultado: bridge.TradeName(NumberConversions.ToInt(windowIndex)).

Llamadas: bridge.TradeName, NumberConversions.ToInt.

Llamadas:

Código interno de implementación; no es un script independiente.

public string TradeName(InjectionValue windowIndex) => bridge.TradeName(NumberConversions.ToInt(windowIndex));

InjectionScript.Runtime.InjectionApiUO.TryDeserializeRecordedValue

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: field, value

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2758.

private static bool TryDeserializeRecordedValue(string field, out InjectionValue value)

Resultado: bool.

Resultado: false; true.

Llamadas: field.Substring, int.TryParse, double.TryParse, DecodeRecordingText, Array.Empty<InjectionValue>, decoded.Split, TryDeserializeRecordedValue.

Condiciones: field == null || field.Length < 2 || field[1] != ':'; !int.TryParse(payload, NumberStyles.Integer, CultureInfo.InvariantCulture, out int integer); !double.TryParse(payload, NumberStyles.Float, CultureInfo.InvariantCulture, out double number); decoded.Length == 0.

Llamadas:

Código interno de implementación; no es un script independiente.

private static bool TryDeserializeRecordedValue(string field, out InjectionValue value)

        {

            value = InjectionValue.Unit;

            if (field == null || field.Length < 2 || field[1] != ':') return false;

            string payload = field.Substring(2);

            switch (field[0])

            {

                case 'I':

                    if (!int.TryParse(payload, NumberStyles.Integer, CultureInfo.InvariantCulture, out int integer)) return false;

                    value = new InjectionValue(integer);

                    return true;

                case 'D':

                    if (!double.TryParse(payload, NumberStyles.Float, CultureInfo.InvariantCulture, out double number)) return false;

                    value = new InjectionValue(number);

                    return true;

                case 'S':

                    value = new InjectionValue(DecodeRecordingText(payload));

                    return true;

                case 'A':

                    string decoded = DecodeRecordingText(payload);

                    if (decoded.Length == 0)

                    {

                        value = new InjectionValue(Array.Empty<InjectionValue>());

                        return true;

                    }

                    string[] nestedFields = decoded.Split(new[] { '\n' }, StringSplitOptions.None);

                    var nested = new InjectionValue[nestedFields.Length];

                    for (int index = 0; index < nestedFields.Length; index++)

                        if (!TryDeserializeRecordedValue(nestedFields[index], out nested[index])) return false;

                    value = new InjectionValue(nested);

                    return true;

                case 'U':

                    value = InjectionValue.Unit;

                    return true;

                default:

                    return false;

            }

        }

InjectionScript.Runtime.InjectionApiUO.Unequip

Devuelve el valor de la expresión siguiente.

Parámetros: layer

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5716.

public int Unequip(string layer)

Resultado: int.

Resultado: bridge.Unequip(ConvertLayer(layer)).

Llamadas: bridge.Unequip, ConvertLayer.

Llamadas:

Código interno de implementación; no es un script independiente.

public int Unequip(string layer) => bridge.Unequip(ConvertLayer(layer));

InjectionScript.Runtime.InjectionApiUO.WaitForMoveConfirmation

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: id, originalQuantity, expectedMoved, targetContainer, hasCoordinates, x, y, z, timeoutMs

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4531.

`private bool WaitForMoveConfirmation(int id, int originalQuantity, int expectedMoved,

        int targetContainer, bool hasCoordinates, int x, int y, int z, int timeoutMs)`

Resultado: bool.

Resultado: true; false.

Llamadas: DateTime.UtcNow.AddMilliseconds, Math.Max, bridge.GetQuantity, bridge.Exists, bridge.ContainerOf, bridge.GetX, bridge.GetY, bridge.GetZ.

Condiciones: known && !fullStack && currentQuantity <= Math.Max(0, originalQuantity - expectedMoved); known && fullStack; containerMatches; !hasCoordinates || targetContainer != 0.

Llamadas:

Código interno de implementación; no es un script independiente.

private bool WaitForMoveConfirmation(int id, int originalQuantity, int expectedMoved,

            int targetContainer, bool hasCoordinates, int x, int y, int z, int timeoutMs)

        {

            DateTime deadline = DateTime.UtcNow.AddMilliseconds(Math.Max(0, timeoutMs));

            do

            {

                int currentQuantity = bridge.GetQuantity(id);

                bool known = bridge.Exists(id) != 0;

                bool fullStack = originalQuantity <= 0 || expectedMoved <= 0 || expectedMoved >= originalQuantity;

                if (known && !fullStack && currentQuantity <= Math.Max(0, originalQuantity - expectedMoved))

                    return true;



                if (known && fullStack)

                {

                    int currentContainer = bridge.ContainerOf(id);

                    bool containerMatches = targetContainer == 0

                        ? currentContainer == 0 || currentContainer == -1

                        : currentContainer == targetContainer;

                    if (containerMatches)

                    {

                        if (!hasCoordinates || targetContainer != 0)

                            return true;

                        if (bridge.GetX(id) == x && bridge.GetY(id) == y && bridge.GetZ(id) == z)

                            return true;

                    }

                }



                if (DateTime.UtcNow >= deadline)

                    break;

                bridge.Wait(10);

            }

            while (true);

            return false;

        }

InjectionScript.Runtime.InjectionApiUO.WaitJournalLine

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: arguments, systemOnly

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2485.

private InjectionValue WaitJournalLine(InjectionValue[] arguments, bool systemOnly)

Resultado: InjectionValue.

Resultado: InjectionValue.True; InjectionValue.False.

Llamadas: arguments[1].ToString, Math.Max, NumberConversions.ToInt, GetJournalStartAge, timeSource.Now.AddMilliseconds, Math.Min, bridge.InJournalSystemBetweenTimes, bridge.InJournalBetweenTimes.

Condiciones: result > 0; timeout > 0 && timeSource.Now >= deadline.

Llamadas:

Código interno de implementación; no es un script independiente.

private InjectionValue WaitJournalLine(InjectionValue[] arguments, bool systemOnly)

        {

            string pattern = arguments.Length > 1 ? arguments[1].ToString() : string.Empty;

            int timeout = arguments.Length > 2 ? Math.Max(0, NumberConversions.ToInt(arguments[2])) : 0;

            int startAge = GetJournalStartAge(arguments.Length > 0 ? arguments[0] : InjectionValue.Zero);

            DateTime startedAt = timeSource.Now;

            DateTime deadline = timeSource.Now.AddMilliseconds(timeout);



            do

            {

                int currentStartAge = (int)Math.Min(int.MaxValue,

                    startAge + Math.Max(0d, (timeSource.Now - startedAt).TotalMilliseconds));

                int result = systemOnly

                    ? bridge.InJournalSystemBetweenTimes(pattern, currentStartAge, 0, -1)

                    : bridge.InJournalBetweenTimes(pattern, currentStartAge, 0, -1);

                SelectJournalSearchResult(result, pattern, ignoreCase: true);

                if (result > 0)

                {

                    return InjectionValue.True;

                }

                if (timeout > 0 && timeSource.Now >= deadline)

                {

                    return InjectionValue.False;

                }

                bridge.Wait(25);

            }

            while (true);

        }

InjectionScript.Runtime.InjectionApiUO.WaitTargetTile

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: type, x, y, z

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4205.

public void WaitTargetTile(InjectionValue type, InjectionValue x, InjectionValue y, InjectionValue z)

Resultado: void.

Llamadas: bridge.WaitTargetTile, ResolveType, NumberConversions.ToInt, Timer.

Llamadas:

Código interno de implementación; no es un script independiente.

public void WaitTargetTile(InjectionValue type, InjectionValue x, InjectionValue y, InjectionValue z)

        {

            bridge.WaitTargetTile(ResolveType(type), NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(z));

            ticksTarget = Timer();

        }

InjectionScript.Runtime.InjectionApiUO.WaitingForJournalText

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: startTime, maxDelay, text, equals, ignoreCase, skillNameOrObjectId

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5423.

public void WaitingForJournalText(int startTime, int maxDelay, string text, int equals, int ignoreCase, InjectionValue skillNameOrObjectId)

Resultado: void.

Llamadas: Math.Max, timeSource.Now.AddMilliseconds, SelectJournalEntry, TriggerWaitAction, bridge.JournalEntryCount, ReadJournalSnapshot, JournalEntryTime, FindJournalPatternId.

Condiciones: lineTime < 0 || lineTime < startTime; matchId >= 0; timeSource.Now >= deadline.

Llamadas:

Código interno de implementación; no es un script independiente.

public void WaitingForJournalText(int startTime, int maxDelay, string text, int equals, int ignoreCase, InjectionValue skillNameOrObjectId)

        {

            int timeout = Math.Max(0, maxDelay);

            bool exactMatch = equals != 0;

            bool caseInsensitive = ignoreCase != 0;

            string pattern = text ?? string.Empty;

            DateTime deadline = timeSource.Now.AddMilliseconds(timeout);

            SelectJournalEntry(null);



            TriggerWaitAction(skillNameOrObjectId);



            do

            {

                int journalCount = Math.Max(0, bridge.JournalEntryCount());

                for (int index = 0; index < journalCount; index++)

                {

                    JournalEntrySnapshot entry = ReadJournalSnapshot(index);

                    int lineTime = entry == null ? -1 : JournalEntryTime(entry.Timestamp);

                    if (lineTime < 0 || lineTime < startTime)

                        continue;



                    string journalText = entry.Text;

                    int matchId = FindJournalPatternId(journalText, pattern, exactMatch, caseInsensitive);

                    if (matchId >= 0)

                    {

                        SelectJournalEntry(entry);

                        foundedTextId = matchId;

                        return;

                    }

                }

                if (timeSource.Now >= deadline)

                    break;

                bridge.Wait(Math.Min(25, Math.Max(1, timeout)));

            }

            while (true);

        }

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Alive]

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:1059.

serial

Resultado: serial.

Resultado: serial > 0 && bridge.Exists(serial) != 0 && IsDeadState(serial) == 0 ? 1 : 0.

Llamadas: bridge.Exists, IsDeadState.

Llamadas:

Código interno de implementación; no es un script independiente.

serial => serial > 0 && bridge.Exists(serial) != 0 && IsDeadState(serial) == 0 ? 1 : 0

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetDex]

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:1032.

Resultado: bridge.Dexterity.

Llamadas:

Código interno de implementación; no es un script independiente.

() => bridge.Dexterity

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetLuck]

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:1047.

Resultado: bridge.Luck.

Llamadas:

Código interno de implementación; no es un script independiente.

() => bridge.Luck

InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [GetWorldItems]

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:4658.

values

Resultado: values.

Resultado: CompactGetWorldItems(values).

Llamadas: CompactGetWorldItems.

Llamadas:

Código interno de implementación; no es un script independiente.

values => CompactGetWorldItems(values)

InjectionScript.Runtime.InjectionApiUO.Register [Grab]

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:535.

values

Resultado: values.

Resultado: new InjectionValue(CompactGrab(values)).

Llamadas: CompactGrab.

Llamadas:

Código interno de implementación; no es un script independiente.

values => new InjectionValue(CompactGrab(values))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [IsParalysed]

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:1063.

serial

Resultado: serial.

Resultado: bridge.GetLocked(serial).

Llamadas: bridge.GetLocked.

Llamadas:

Código interno de implementación; no es un script independiente.

serial => bridge.GetLocked(serial)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Paralyzed]

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:1063.

serial

Resultado: serial.

Resultado: bridge.GetLocked(serial).

Llamadas: bridge.GetLocked.

Llamadas:

Código interno de implementación; no es un script independiente.

serial => bridge.GetLocked(serial)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

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:

Código interno de implementación; no es un script independiente.

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

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:

Código interno de implementación; no es un script independiente.

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.

Resultado: getter(bridge.Self).

Llamadas:

Código interno de implementación; no es un script independiente.

() => getter(bridge.Self)

Clone this wiki locally