Skip to content

ES Runtime Helpers 7

Codex edited this page Oct 12, 2026 · 1 revision

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

Funciones auxiliares 7

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

Resultado: true.

Llamadas:

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

case "FunRunning":
                string runningName = Convert.ToString(arguments[0]) ?? "";
                result = IsRunning(runningName) || events is ICSharpScriptHost runningHost && runningHost.IsCSharpScriptRunning(runningName) ? 1 : 0;
                return true;

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

when Length== 1: string routine = Convert.ToString(arguments[0]) ?? ""

Resultado: when.

Llamadas: Convert.ToString.

Llamadas:

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

case "Terminate" when arguments.Length == 1:
                string routine = Convert.ToString(arguments[0]) ?? "";
                if (Exists(routine)) { Cancel(routine); return true; }
                if (Cancel(routine)) return true;
                return false;

ClassicUO.CSharp.CSharpCallbacks.HandlerName

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: value

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

private static string HandlerName(object? value)

Resultado: string.

Resultado: name[5..].Trim(); name[6..].Trim(); name.

Llamadas: (Convert.ToString(value) ?? "").Trim, Convert.ToString, name.StartsWith, name[5..].Trim, name[6..].Trim.

Condiciones: name.StartsWith("exec ", StringComparison.OrdinalIgnoreCase); name.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase).

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

private static string HandlerName(object? value)
    {
        string name = (Convert.ToString(value) ?? "").Trim();
        if (name.StartsWith("exec ", StringComparison.OrdinalIgnoreCase)) return name[5..].Trim();
        if (name.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase)) return name[6..].Trim();
        return name;
    }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.BookSetPageText

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: page, text

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

public void BookSetPageText(int page, string text)

Resultado: void.

Llamadas: Invoke.

Llamadas:

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

public void BookSetPageText(int page, string text) => Invoke(() =>

        {

            ISessionBook book = GetOpenBook();

            if (book == null) { Error("UO.BookSetPageText: no open book."); return; }

            if (!book.YokoTrySetPageText(page, text))

                Error("UO.BookSetPageText: invalid page, read-only book, too many lines, or a line is too long.");

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Bow

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: Sin parámetros.

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

public void Bow()

Resultado: void.

Llamadas: Invoke.

Llamadas:

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

public void Bow() => Invoke(() => GameActions.EmoteAction("bow"));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseMenu

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: Sin parámetros.

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

public void CloseMenu()

Resultado: void.

Llamadas: Invoke.

Llamadas:

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

public void CloseMenu() => Invoke(() =>

        {

            foreach (SessionMenu menu in _world.ServerMenus.Snapshot())

                menu.CancelForYoko();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ColdResistance

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int ColdResistance

Resultado: int.

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

Llamadas: Invoke.

Llamadas:

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

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: message

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

public void Error(string message)

Resultado: void.

Llamadas: ReportStatus.

Llamadas:

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

public void Error(string message) => ReportStatus(message);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindCount

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int FindCount()

Resultado: int.

Resultado: _findCount.

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

public int FindCount() => _findCount;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindItem

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int FindItem

Resultado: int.

Resultado: _findItem.

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

public int FindItem => _findItem;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindNotoriety

Devuelve el valor de la expresión siguiente.

Parámetros: type, notoriety

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

public int FindNotoriety(int type, int notoriety)

Resultado: int.

Llamadas: Invoke.

Llamadas:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { ResetFindResults(); IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList); foreach (Mobile mobile in _world.Mobiles.Values) { if (mobile.IsDestroyed || State.IgnoredSerials.Contains((int)mobile.Serial) || ignoredTypes.Matches(mobile.Graphic, mobile.Hue) || mobile == _world.Player || type >= 0 && type != 0xFFFF && mobile.Graphic != (ushort)type || notoriety >= 0 && (int)mobile.NotorietyFlag != notoriety || mobile.Distance > State.FindDistance || _world.Player != null && Math.Abs(mobile.Z - _world.Player.Z) > State.FindVertical) { continue; } RegisterFound(mobile); } return _findItem; }). Candidatos de sobrecarga: el origen no confirma cuál se selecciona.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { ResetFindResults(); IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList); foreach (Mobile mobile in _world.Mobiles.Values) { if (mobile.IsDestroyed || State.IgnoredSerials.Contains((int)mobile.Serial) || ignoredTypes.Matches(mobile.Graphic, mobile.Hue) || mobile == _world.Player || type >= 0 && type != 0xFFFF && mobile.Graphic != (ushort)type || notoriety >= 0 && (int)mobile.NotorietyFlag != notoriety || mobile.Distance > State.FindDistance || _world.Player != null && Math.Abs(mobile.Z - _world.Player.Z) > State.FindVertical) { continue; } RegisterFound(mobile); } return _findItem; }). Candidatos de sobrecarga: el origen no confirma cuál se selecciona.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResetFindResults: ResetFindResults().
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound: RegisterFound(mobile). Candidatos de sobrecarga: el origen no confirma cuál se selecciona.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound: RegisterFound(mobile). Candidatos de sobrecarga: el origen no confirma cuál se selecciona.

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

public int FindNotoriety(int type, int notoriety)

        {

            return Invoke(() =>

            {

                ResetFindResults();

                IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList);

                foreach (Mobile mobile in _world.Mobiles.Values)

                {

                    if (mobile.IsDestroyed || State.IgnoredSerials.Contains((int)mobile.Serial) || ignoredTypes.Matches(mobile.Graphic, mobile.Hue) || mobile == _world.Player

                        || type >= 0 && type != 0xFFFF && mobile.Graphic != (ushort)type

                        || notoriety >= 0 && (int)mobile.NotorietyFlag != notoriety

                        || mobile.Distance > State.FindDistance

                        || _world.Player != null && Math.Abs(mobile.Z - _world.Player.Z) > State.FindVertical)

                    {

                        continue;

                    }

                    RegisterFound(mobile);

                }

                return _findItem;

            });

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GameServerPort

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int GameServerPort

Resultado: int.

Resultado: Settings.GlobalSettings.Port.

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

public int GameServerPort => Settings.GlobalSettings.Port;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetHP

Devuelve el valor de la expresión siguiente.

Parámetros: id

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

public int GetHP(int id)

Resultado: int.

Resultado: WithEntity(id, e => e.Hits).

Llamadas: WithEntity.

Llamadas:

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

public int GetHP(int id) => WithEntity(id, e => e.Hits);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLocked

Devuelve el valor de la expresión siguiente.

Parámetros: id

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

public int GetLocked(int id)

Resultado: int.

Resultado: Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsParalyzed == true ? 1 : 0).

Llamadas: Invoke.

Llamadas:

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

public int GetLocked(int id) => Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsParalyzed == true ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetPing

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int GetPing()

Resultado: int.

Resultado: NetClient.Socket.Statistics.ServerPing.

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

public int GetPing() => NetClient.Socket.Statistics.ServerPing;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetStaticArt::Write32

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: buffer, offset, value

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

static void Write32(byte[] buffer, int offset, int value)

Resultado: void.

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

static void Write32(byte[] buffer, int offset, int value)

            {

                buffer[offset] = (byte)value;

                buffer[offset + 1] = (byte)(value >> 8);

                buffer[offset + 2] = (byte)(value >> 16);

                buffer[offset + 3] = (byte)(value >> 24);

            }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTradeOpponentName

Devuelve el valor de la expresión siguiente.

Parámetros: tradeNumber

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

public string GetTradeOpponentName(int tradeNumber)

Resultado: string.

Llamadas: Invoke.

Llamadas:

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

public string GetTradeOpponentName(int tradeNumber) => Invoke(() =>

        {

            ISessionTrade gump = FindNumberedTrade(tradeNumber);

            return gump?.OpponentName ?? string.Empty;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.InJournalBetweenTimes

Devuelve el valor de la expresión siguiente.

Parámetros: pattern, startTime, endTime, limit

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

public int InJournalBetweenTimes(string pattern, int startTime, int endTime, int limit)

Resultado: int.

Resultado: FindJournal(pattern, start, end, limit, false, true).

Llamadas: now.AddMilliseconds, Math.Max, Math.Min, FindJournal.

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

public int InJournalBetweenTimes(string pattern, int startTime, int endTime, int limit)

        {

            DateTime now = DateTime.Now;

            DateTime start = now.AddMilliseconds(-Math.Max(startTime, endTime));

            DateTime end = now.AddMilliseconds(-Math.Min(startTime, endTime));

            return FindJournal(pattern, start, end, limit, false, true);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.InJournalSystemBetweenTimes

Devuelve el valor de la expresión siguiente.

Parámetros: pattern, startTime, endTime, limit

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

public int InJournalSystemBetweenTimes(string pattern, int startTime, int endTime, int limit)

Resultado: int.

Resultado: FindJournal(pattern, start, end, limit, true, true).

Llamadas: now.AddMilliseconds, Math.Max, Math.Min, FindJournal.

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

public int InJournalSystemBetweenTimes(string pattern, int startTime, int endTime, int limit)

        {

            DateTime now = DateTime.Now;

            DateTime start = now.AddMilliseconds(-Math.Max(startTime, endTime));

            DateTime end = now.AddMilliseconds(-Math.Min(startTime, endTime));

            return FindJournal(pattern, start, end, limit, true, true);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsWaterTile

Devuelve el valor de la expresión siguiente.

Parámetros: x, y

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

public int IsWaterTile(int x, int y)

Resultado: int.

Llamadas: Invoke.

Llamadas:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => AnyTileAt(x, y, tile => tile is Land land ? land.TileData.IsWet : tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length && Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet) ? 1 : 0). Candidatos de sobrecarga: el origen no confirma cuál se selecciona.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => AnyTileAt(x, y, tile => tile is Land land ? land.TileData.IsWet : tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length && Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet) ? 1 : 0). Candidatos de sobrecarga: el origen no confirma cuál se selecciona.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AnyTileAt: AnyTileAt(x, y, tile => tile is Land land ? land.TileData.IsWet : tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length && Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet).

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

public int IsWaterTile(int x, int y) => Invoke(() => AnyTileAt(x, y, tile =>

            tile is Land land ? land.TileData.IsWet

                : tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length

                    && Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet) ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastCorpse

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int LastCorpse

Resultado: int.

Resultado: Invoke(() => (int)(_world.Items.Values.Where(i => i.IsCorpse && !i.IsDestroyed).OrderBy(i => i.Distance).FirstOrDefault()?.Serial ?? 0)).

Llamadas: Invoke.

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

public int LastCorpse => Invoke(() => (int)(_world.Items.Values.Where(i => i.IsCorpse && !i.IsDestroyed).OrderBy(i => i.Distance).FirstOrDefault()?.Serial ?? 0));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MaxMana

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int MaxMana

Resultado: int.

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

Llamadas: Invoke.

Llamadas:

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

public int MaxMana => Invoke(() => CurrentPlayer?.ManaMax ?? 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MoveItems

Devuelve el valor de la expresión siguiente.

Parámetros: sourceContainerId, type, color, targetContainerId, x, y, z, delayMs

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

public int MoveItems(int sourceContainerId, int type, int color, int targetContainerId, int x, int y, int z, int delayMs)

Resultado: int.

Resultado: MoveContainerItems(sourceContainerId, type, color, targetContainerId, x, y, z, delayMs).Sent > 0 ? 1 : 0.

Llamadas: MoveContainerItems.

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

public int MoveItems(int sourceContainerId, int type, int color, int targetContainerId, int x, int y, int z, int delayMs)

            => MoveContainerItems(sourceContainerId, type, color, targetContainerId, x, y, z, delayMs).Sent > 0 ? 1 : 0;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Race

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int Race

Resultado: int.

Resultado: Invoke(() => (int)(CurrentPlayer?.Race ?? 0)).

Llamadas: Invoke.

Llamadas:

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

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SelectGump

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: id

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

public void SelectGump(int id)

Resultado: void.

Llamadas: Invoke.

Llamadas:

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

public void SelectGump(int id) => Invoke(() =>

        {

            List<Gump> gumps = ServerGumpsUnsafe();

            _selectedServerGump = gumps.FirstOrDefault(g => g.LocalSerial == (uint)id || g.ServerSerial == (uint)id);

            if (_selectedServerGump == null && id >= 0 && id < gumps.Count)

            {

                _selectedServerGump = gumps[id];

            }

            if (_selectedServerGump == null)

            {

                Error($"UO.SelectGump: gump {id} was not found");

            }

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SendGumpSelect

Devuelve el valor de la expresión siguiente.

Parámetros: gumpIndex, triggerId

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

public int SendGumpSelect(int gumpIndex, int triggerId)

Resultado: int.

Llamadas: Invoke.

Llamadas:

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

public int SendGumpSelect(int gumpIndex, int triggerId) => Invoke(() =>

        {

            Gump gump = ServerGumpsUnsafe().ElementAtOrDefault(gumpIndex);

            return SendGumpButtonUnsafe(gump, triggerId, $"gump index {gumpIndex} was not found");

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoBuyRule

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: type, color, quantity, maxPrice, name

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

public void SetAutoBuyRule(int type, int color, int quantity, int maxPrice, string name)

Resultado: void.

Llamadas: Invoke.

Llamadas:

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

public void SetAutoBuyRule(int type, int color, int quantity, int maxPrice, string name) =>

            Invoke(() => SetAutoShopRule(ProfileManager.CurrentProfile?.BackNewbieAutoBuyRules, true, type, color, quantity, maxPrice, name));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetMapFigure

Devuelve el valor de la expresión siguiente.

Parámetros: figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text

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

public int SetMapFigure(int figureId, int kind, int coord, int x1, int y1, int x2, int y2, int brushColor, int brushStyle, int color, int worldNum, string text)

Resultado: int.

Resultado: Invoke(() => WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text)).

Llamadas: Invoke.

Llamadas:

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

public int SetMapFigure(int figureId, int kind, int coord, int x1, int y1, int x2, int y2, int brushColor, int brushStyle, int color, int worldNum, string text)

            => Invoke(() => WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetPauseScriptOnDisconnectStatus

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: enabled

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

public void SetPauseScriptOnDisconnectStatus(int enabled)

Resultado: void.

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

public void SetPauseScriptOnDisconnectStatus(int enabled) => _manager.PauseScriptsOnDisconnect = enabled != 0;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SplitPatterns

Devuelve el valor de la expresión siguiente.

Parámetros: pattern

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

private static string[] SplitPatterns(string pattern)

Resultado: string[].

Resultado: (pattern ?? string.Empty).Split('|', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries).

Llamadas: (pattern ?? string.Empty).Split.

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

private static string[] SplitPatterns(string pattern) => (pattern ?? string.Empty).Split('|', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TargetToTile

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: type, x, y, z

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

public void TargetToTile(int type, int x, int y, int z)

Resultado: void.

Llamadas: Invoke.

Llamadas:

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

public void TargetToTile(int type, int x, int y, int z) => Invoke(() =>

        {

            if (_world.TargetManager.IsServerTarget)

                _world.TargetManager.Target((ushort)type, (ushort)x, (ushort)y, (short)z);

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TextPrint

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: text

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

public void TextPrint(string text)

Resultado: void.

Llamadas: _textWindow.RemoveRange, _textWindow.Add, Invoke.

Condiciones: _textWindow.Count >= MaxTextWindowLines.

Llamadas:

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

public void TextPrint(string text)

        {

            if (_textWindow.Count >= MaxTextWindowLines)

                _textWindow.RemoveRange(0,

                    _textWindow.Count - MaxTextWindowLines + 1);

            _textWindow.Add(text ?? string.Empty);

            _textWindowOpen = true;

            Invoke(() =>

            {

                YokoTextWindowGump.Show(_world, _textWindow);

                ReportStatus($"UO.TextPrint: {_textWindow.Count} line(s) visible");

            });

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TryProbeServerPing

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: timeoutMs, pingMs

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

private bool TryProbeServerPing(int timeoutMs, out int pingMs)

Resultado: bool.

Resultado: false; pingMs >= 0.

Llamadas: Math.Max, Invoke, NetClient.Socket.Statistics.GetPingEchoGeneration, Wait, Math.Min.

Condiciones: request.Token < 0; NetClient.Socket.Statistics.GetPingEchoGeneration((byte)request.Token) != request.Generation; timeout == 0; remaining <= 0.

Llamadas:

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

private bool TryProbeServerPing(int timeoutMs, out int pingMs)

        {

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

            (int Token, int Generation) request = Invoke(() =>

            {

                if (!_world.InGame || !NetClient.Socket.IsConnected)

                    return (-1, -1);



                return NetClient.Socket.Statistics.SendPingProbe();

            });



            if (request.Token < 0)

            {

                pingMs = -1;

                return false;

            }



            long deadline = Environment.TickCount64 + timeout;

            do

            {

                if (NetClient.Socket.Statistics.GetPingEchoGeneration((byte)request.Token) != request.Generation)

                {

                    pingMs = NetClient.Socket.Statistics.ServerPing;

                    return pingMs >= 0;

                }



                if (timeout == 0)

                    break;



                long remaining = deadline - Environment.TickCount64;

                if (remaining <= 0)

                    break;



                Wait((int)Math.Min(10, remaining));

            }

            while (true);



            pingMs = -1;

            return false;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UnsetReceivingContainer

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: Sin parámetros.

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

public void UnsetReceivingContainer()

Resultado: void.

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

public void UnsetReceivingContainer() => State.ReceivingContainer = 0;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseObject

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: id

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

public void UseObject(int id)

Resultado: void.

Llamadas: Invoke.

Llamadas:

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

public void UseObject(int id) => Invoke(() => GameActions.DoubleClick(_world, (uint)id));

ClassicUO.Game.Managers.LastCharacterManager.OverrideLastCharacter

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: name, oneShot

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/LastCharacterManager.cs:107.

public static void OverrideLastCharacter(string name, bool oneShot = false)

Resultado: void.

Llamadas: string.IsNullOrEmpty.

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

public static void OverrideLastCharacter(string name, bool oneShot = false)
        {
            LastCharacterNameOverride = name ?? string.Empty;
            LastCharacterNameOverrideOneShot = oneShot && !string.IsNullOrEmpty(LastCharacterNameOverride);
        }

ClassicUO.Game.Managers.UIManager.GetGump

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: serial

Origen: Project_Full/src/ClassicUO.Client/Game/Managers/UIManager.cs:277.

public static T GetGump<T>(uint? serial = null)

Resultado: T.

Resultado: t; null.

Condiciones: serial.HasValue; !c.IsDisposed && c.LocalSerial == serial.Value && c is T t; !c.IsDisposed && c is T t.

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

public static T GetGump<T>(uint? serial = null) where T : Control
        {
            if (serial.HasValue)
            {
                for (LinkedListNode<Gump> last = Gumps.Last; last != null; last = last.Previous)
                {
                    Control c = last.Value;

                    if (!c.IsDisposed && c.LocalSerial == serial.Value && c is T t)
                    {
                        return t;
                    }
                }
            }
            else
            {
                for (LinkedListNode<Gump> first = Gumps.First; first != null; first = first.Next)
                {
                    Control c = first.Value;

                    if (!c.IsDisposed && c is T t)
                    {
                        return t;
                    }
                }
            }

            return null;
        }

ClassicUO.Game.Managers.YokoInjectionManager.AppendIdeOutput

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: scriptKey, text

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

internal void AppendIdeOutput(string scriptKey, string text)

Resultado: void.

Llamadas: _ideToolBuffers.AppendOutput.

Llamadas:

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

internal void AppendIdeOutput(string scriptKey, string text) =>
            _ideToolBuffers.AppendOutput(scriptKey, text);

ClassicUO.Game.Managers.YokoInjectionManager.GetPendingTargetSerials

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

internal int[] GetPendingTargetSerials()

Resultado: int[].

Resultado: _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select(t => (int)t.Serial).ToArray().

Llamadas: _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select(t => (int)t.Serial).ToArray, _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select, _pendingTargets.ToArray().Where, _pendingTargets.ToArray.

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

internal int[] GetPendingTargetSerials() =>
            // Zero denotes a queued tile/cancellation. Waiting() and timed casts
            // need to count these entries as well as object serials.
            _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select(t => (int)t.Serial).ToArray();

ClassicUO.Game.Managers.YokoInjectionManager.InvokeOnGameThread

Envía el trabajo al hilo del juego y respeta la cancelación.

Parámetros: callback, cancellationToken

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

internal T InvokeOnGameThread<T>(Func<T> callback, CancellationToken cancellationToken)

Resultado: T.

Resultado: callback(); result.Task.GetAwaiter().GetResult().

Llamadas: nameof, cancellationToken.ThrowIfCancellationRequested, Volatile.Read, callback, EnqueueMainThreadAction, result.Task.Wait, result.Task.GetAwaiter().GetResult, result.Task.GetAwaiter.

Condiciones: callback == null; Volatile.Read(ref _gameThreadId) == Environment.CurrentManagedThreadId.

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

internal T InvokeOnGameThread<T>(Func<T> callback, CancellationToken cancellationToken)
        {
            if (callback == null)
                throw new ArgumentNullException(nameof(callback));
            cancellationToken.ThrowIfCancellationRequested();
            if (Volatile.Read(ref _gameThreadId) == Environment.CurrentManagedThreadId)
                return callback();

            var result = new TaskCompletionSource<T>(TaskCreationOptions.RunContinuationsAsynchronously);
            EnqueueMainThreadAction(() =>
            {
                if (cancellationToken.IsCancellationRequested)
                {
                    result.TrySetCanceled(cancellationToken);
                    return;
                }

                try
                {
                    result.TrySetResult(callback());
                }
                catch (Exception ex)
                {
                    result.TrySetException(ex);
                }
            }, () => result.TrySetCanceled());

            result.Task.Wait(cancellationToken);
            return result.Task.GetAwaiter().GetResult();
        }

ClassicUO.Game.Managers.YokoInjectionManager.MarkRuntimeStateChanged

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: Sin parámetros.

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

private void MarkRuntimeStateChanged()

Resultado: void.

Llamadas: Interlocked.Increment.

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

private void MarkRuntimeStateChanged() =>
            Interlocked.Increment(ref _runtimeStateRevision);

ClassicUO.Game.Managers.YokoInjectionManager.QueueTarget

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: serial, owner

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

internal void QueueTarget(uint serial, CancellationToken owner = default)

Resultado: void.

Llamadas: owner.ThrowIfCancellationRequested, _pendingTargets.Enqueue.

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

internal void QueueTarget(uint serial, CancellationToken owner = default)
        {
            lock (_pendingTargetLock)
            {
                owner.ThrowIfCancellationRequested();
                _pendingTargets.Enqueue(new PendingTarget(serial, owner));
            }
        }

ClassicUO.Game.UI.Gumps.Gump.OnButtonClick

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: buttonID

Origen: Project_Full/src/ClassicUO.Client/Game/UI/Gumps/Gump.cs:142.

public override void OnButtonClick(int buttonID)

Resultado: void.

Llamadas: state.OnButtonClick, switches.Add, entries.Add, GameActions.ReplyGump, switches.ToArray, entries.ToArray, UIManager.SavePosition, UIManager.RemovePosition.

Condiciones: SessionState is { } state; !IsDisposed && (LocalSerial != 0 || ServerSerial != 0); CanMove.

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

public override void OnButtonClick(int buttonID)
        {
            if (SessionState is { } state)
            {
                state.OnButtonClick(buttonID);
                return;
            }
            if (!IsDisposed && (LocalSerial != 0 || ServerSerial != 0))
            {
                List<uint> switches = new List<uint>();
// …
                if (CanMove)
// …

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

ClassicUO.Game.World.ResolveProfileServerName

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

Parámetros: Sin parámetros.

Origen: Project_Full/src/ClassicUO.Client/Game/World.cs:258.

internal string ResolveProfileServerName()

Resultado: string.

Resultado: _profileServerIdentity.

Llamadas: string.IsNullOrWhiteSpace, Path.Combine, ProfileShardIdentity.Resolve.

Condiciones: string.IsNullOrWhiteSpace(_profileServerIdentity).

Llamadas:

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

internal string ResolveProfileServerName()

        {

            if (string.IsNullOrWhiteSpace(_profileServerIdentity))

            {

                string runtimeName = string.IsNullOrWhiteSpace(ServerName) || ServerName == "_"

                    ? Settings.GlobalSettings.LastServerName

                    : ServerName;

                string defaultSettingsPath = Path.Combine(

                    CUOEnviroment.ExecutablePath,

                    Settings.SETTINGS_FILENAME

                );



                _profileServerIdentity = ProfileShardIdentity.Resolve(

                    runtimeName,

                    Settings.GlobalSettings.IP,

                    Settings.GlobalSettings.Port,

                    _selectedProfileShardHost,

                    defaultSettingsPath,

                    authoritativeEndpoint: _sessionAccount != null

                );

            }



            return _profileServerIdentity;

        }

InjectionScript.Runtime.InjectionApiUO.CheckLag

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: timeout, retries

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

public int CheckLag(InjectionValue timeout, InjectionValue retries)

Resultado: int.

Resultado: 1; 0.

Llamadas: Math.Max, NumberConversions.ToInt, bridge.CheckLag.

Condiciones: bridge.CheckLag(timeoutMs) != 0.

Llamadas:

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

public int CheckLag(InjectionValue timeout, InjectionValue retries)

        {

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

            int attempts = Math.Max(1, NumberConversions.ToInt(retries));

            for (int attempt = 0; attempt < attempts; attempt++)

            {

                if (bridge.CheckLag(timeoutMs) != 0)

                    return 1;

            }

            return 0;

        }

InjectionScript.Runtime.InjectionApiUO.CompactGetWorldItems

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: values

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

private InjectionValue CompactGetWorldItems(InjectionValue[] values)

Resultado: InjectionValue.

Resultado: new InjectionValue(Array.Empty<InjectionValue>()); new InjectionValue(filtered.Select(id => new InjectionValue(id)).ToArray()).

Llamadas: ResolveType, NumberConversions.ToInt, ResolveCompactDistance, bridge.GetFindDistance, TryResolveWorldItemQueryContainer, Array.Empty<InjectionValue>, ToBoolean, ResolveCompactMaxZ.

Condiciones: values.Length > 3 && !TryResolveWorldItemQueryContainer(values[3], out container); nearest.

Llamadas:

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

private InjectionValue CompactGetWorldItems(InjectionValue[] values)

        {

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

            int color = values.Length > 1 ? NumberConversions.ToInt(values[1]) : -1;

            int distance = values.Length > 2 ? ResolveCompactDistance(values[2]) : bridge.GetFindDistance();

            int container = 0;

            if (values.Length > 3 && !TryResolveWorldItemQueryContainer(values[3], out container))

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

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

            int maxZ = values.Length > 5 ? ResolveCompactMaxZ(values[5]) : bridge.GetFindVertical();



            IEnumerable<int> source = container > 0 ? bridge.GetContent(container) : bridge.GetWorldItems();

            HashSet<int> ignored = new HashSet<int>(bridge.GetIgnoreList());

            IgnoreTypeFilter ignoredTypes = state.IgnoreTypeLists.FilterFor(state.SelectedIgnoreList);

            int selfZ = bridge.GetZ(bridge.Self);



            IEnumerable<int> filtered = source

                .Where(id => (!ignored.Contains(id) && !MatchesIgnoredType(id, ignoredTypes)))

                .Where(id => type < 0 || type == 0xFFFF || bridge.GetGraphics(id) == type)

                .Where(id => color < 0 || color == 0xFFFF || bridge.GetColor(id) == color)

                .Where(id =>

                {

                    int distanceObject = container > 0 ? container : id;

                    return distance < 0 || bridge.GetDistance(distanceObject) <= distance;

                })

                .Where(id =>

                {

                    int zObject = container > 0 ? container : id;

                    return maxZ < 0 || Math.Abs(bridge.GetZ(zObject) - selfZ) <= maxZ;

                });



            if (nearest)

                filtered = filtered.OrderBy(id => bridge.GetDistance(container > 0 ? container : id)).ThenBy(id => id);



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

        }

InjectionScript.Runtime.InjectionApiUO.ConvertSpellName

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: spellName

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

private int? ConvertSpellName(string spellName)

Resultado: int?.

Resultado: classicUoSpellId; spellId; null.

Llamadas: (spellName ?? string.Empty).Trim().Replace, (spellName ?? string.Empty).Trim, bridge.ResolveSpell, spellNameToSpellId.TryGetValue, NumberConversions.TryStr2Int.

Condiciones: classicUoSpellId > 0; spellNameToSpellId.TryGetValue(requested, out var spellId); NumberConversions.TryStr2Int(requested, out spellId) && spellId > 0.

Llamadas:

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

private int? ConvertSpellName(string spellName)

        {

            string requested = (spellName ?? string.Empty).Trim().Replace('_', ' ');

            int classicUoSpellId = bridge.ResolveSpell(requested);

            if (classicUoSpellId > 0)

                return classicUoSpellId;



            if (spellNameToSpellId.TryGetValue(requested, out var spellId))

                return spellId;



            if (NumberConversions.TryStr2Int(requested, out spellId) && spellId > 0)

                return spellId;



            return null;

        }

InjectionScript.Runtime.InjectionApiUO.Count

Devuelve el valor de la expresión siguiente.

Parámetros: type, color, container

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

public int Count(int type, int color, int container)

Resultado: int.

Resultado: bridge.Count(type, color, container).

Llamadas: bridge.Count.

Llamadas:

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

public int Count(int type, int color, int container)

            => bridge.Count(type, color, container);

InjectionScript.Runtime.InjectionApiUO.Date

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int Date()

Resultado: int.

Resultado: (now.Year % 100) * 10000 + now.Month * 100 + now.Day.

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

public int Date()

        {

            var now = timeSource.Now;

            return (now.Year % 100) * 10000 + now.Month * 100 + now.Day;

        }

InjectionScript.Runtime.InjectionApiUO.DecodeEasyUoId

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: easyValue

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

private static int DecodeEasyUoId(string easyValue)

Resultado: int.

Resultado: unchecked((int)value).

Llamadas: (easyValue ?? string.Empty).ToUpperInvariant.

Condiciones: character < 'A' || character > 'Z'.

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

private static int DecodeEasyUoId(string easyValue)

        {

            uint value = 0;

            foreach (char character in (easyValue ?? string.Empty).ToUpperInvariant())

            {

                if (character < 'A' || character > 'Z')

                    continue;

                value = unchecked(value * 26 + (uint)(character - 'A'));

            }

            return unchecked((int)value);

        }

InjectionScript.Runtime.InjectionApiUO.DeleteJournal

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: text

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

public void DeleteJournal(InjectionValue text)

Resultado: void.

Llamadas: DeleteJournal.

Llamadas:

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

public void DeleteJournal(InjectionValue text) => DeleteJournal((string)text);

InjectionScript.Runtime.InjectionApiUO.EUO2Inj

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: easyValue

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

public string EUO2Inj(InjectionValue easyValue)

Resultado: string.

Resultado: NumberConversions.ToHex(unchecked((int)value)).

Llamadas: easyValue.ToString().ToUpperInvariant, easyValue.ToString, NumberConversions.ToHex.

Condiciones: c < 'A' || c > 'Z'.

Llamadas:

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

public string EUO2Inj(InjectionValue easyValue)

        {

            uint value = 0;

            foreach (char c in easyValue.ToString().ToUpperInvariant())

            {

                if (c < 'A' || c > 'Z')

                    continue;

                value = unchecked(value * 26 + (uint)(c - 'A'));

            }

            return NumberConversions.ToHex(unchecked((int)value));

        }

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

Resultado: InjectionValue.Unit.

Llamadas:

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

case "addgumpignorebyserial": state.IgnoredGumpSerials.Add(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:1814.

Resultado: InjectionValue.Unit.

Llamadas:

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

case "clearinfowindow": bridge.TextClear(); 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:1816.

Resultado: InjectionValue.True.

Llamadas:

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

case "clienthide": bridge.ClientHide(Arg(0)); return InjectionValue.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:1241.

Resultado: InjectionValue.Unit.

Llamadas:

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

case "clientprintex":

                    bridge.CharPrintEx(Arg(0), Arg(1), Arg(2), Text(3)); 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:1315.

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

Llamadas:

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

case "getarstatus": return new InjectionValue(bridge.GetAutoReconnect());

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

Resultado: new InjectionValue(arguments.Length > 0 ? bridge.GetIntelligence(Arg(0)) : bridge.Intelligence).

Llamadas:

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

case "getint": return new InjectionValue(arguments.Length > 0 ? bridge.GetIntelligence(Arg(0)) : bridge.Intelligence);

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

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

Llamadas:

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

case "getz": return new InjectionValue(bridge.GetZ(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:1539.

Resultado: InjectionValue.Unit.

Llamadas:

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

case "ignoreoff": bridge.Unignore(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:1248.

Resultado: InjectionValue.Unit.

Llamadas:

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

case "ignore": bridge.Ignore(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:1367.

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

Llamadas:

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

case "isobjectexists": return new InjectionValue(bridge.Exists(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:1640.

Resultado: new InjectionValue(Waiting()).

Llamadas:

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

case "iswaittargetactive": return new InjectionValue(Waiting());

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

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

Llamadas:

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

case "linecount": return new InjectionValue(bridge.JournalMatchCount());

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

Resultado: InjectionValue.Unit.

Llamadas:

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

case "moveboat": bridge.MoveBoat(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:1906.

Resultado: SetIndexedGumpValue(Arg(0), "checkbox", Arg(1), Text(2)).

Llamadas:

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

case "numgumpcheckbox": return SetIndexedGumpValue(Arg(0), "checkbox", Arg(1), Text(2));

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

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

Llamadas:

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

case "objatlayerex": return new InjectionValue(bridge.ObjAtLayerEx(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:1708.

Resultado: InjectionValue.Unit.

Llamadas:

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

case "partyacceptinvite": bridge.PartyAcceptInvite(); 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:1709.

Resultado: InjectionValue.Unit.

Llamadas:

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

case "partydeclineinvite": bridge.PartyDeclineInvite(); 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:1707.

Resultado: InjectionValue.Unit.

Llamadas:

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

case "partyleave": bridge.PartyLeave(); 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:1536.

Resultado: new InjectionValue(ReadPredictedCoordinate(3)).

Llamadas:

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

case "predicteddirection": return new InjectionValue(ReadPredictedCoordinate(3));

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

Resultado: InjectionValue.Unit.

Llamadas:

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

case "setcontextmenuhook": bridge.SetContextMenuHook(Arg(0), Arg(1)); return InjectionValue.Unit;

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

Llamadas:

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

case "deletefindlist":

                    LegacyList("AddFindList").RemoveAll(value => LegacyListEntryMatches(value,

                        arguments));

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

Llamadas:

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

case "gumpobject": bridge.SelectGump(Arg(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:3025.

Llamadas:

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

case "removering": Unequip("Ring"); 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:2871.

Llamadas:

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

case "selectignorelist": state.SelectedIgnoreList = Text(0).Trim(); break;

InjectionScript.Runtime.InjectionApiUO.FindType

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: type, color

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

public string FindType(InjectionValue type, InjectionValue color)

Resultado: string.

Resultado: FindType(ResolveType(type), -1, ConvertContainer(color), -1, color.String.Equals("my", StringComparison.OrdinalIgnoreCase)); FindType(ResolveType(type), NumberConversions.ToInt(color), -1, -1, false).

Llamadas: color.String.Equals, FindType, ResolveType, ConvertContainer, NumberConversions.ToInt.

Condiciones: `color.Kind == InjectionValueKind.String

            && (color.String.Equals("ground", StringComparison.OrdinalIgnoreCase)

                || color.String.Equals("backpack", StringComparison.OrdinalIgnoreCase)

                || color.String.Equals("my", StringComparison.OrdinalIgnoreCase))`.

Llamadas:

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

public string FindType(InjectionValue type, InjectionValue color)

        {

            if (color.Kind == InjectionValueKind.String

                && (color.String.Equals("ground", StringComparison.OrdinalIgnoreCase)

                    || color.String.Equals("backpack", StringComparison.OrdinalIgnoreCase)

                    || color.String.Equals("my", StringComparison.OrdinalIgnoreCase)))

            {

                return FindType(ResolveType(type), -1, ConvertContainer(color), -1, color.String.Equals("my", StringComparison.OrdinalIgnoreCase));

            }



            return FindType(ResolveType(type), NumberConversions.ToInt(color), -1, -1, false);

        }

InjectionScript.Runtime.InjectionApiUO.GetFoundedTextID

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int GetFoundedTextID()

Resultado: int.

Resultado: foundedTextId >= 0 ? foundedTextId : 0.

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

public int GetFoundedTextID() => foundedTextId >= 0 ? foundedTextId : 0;

InjectionScript.Runtime.InjectionApiUO.GetFoundedTextIndex

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int GetFoundedTextIndex()

Resultado: int.

Llamadas: reader.FindJournalEntryIndex.

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

public int GetFoundedTextIndex() => selectedJournalEntry != null && bridge is IApiJournalReader reader

            ? reader.FindJournalEntryIndex(selectedJournalEntry.Identity) : foundedTextIndex;

InjectionScript.Runtime.InjectionApiUO.GetFoundedTextSerial

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public string GetFoundedTextSerial()

Resultado: string.

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

public string GetFoundedTextSerial() => selectedJournalEntry != null

            ? $"0x{unchecked((uint)selectedJournalEntry.Serial):X8}" : "0x00000000";

InjectionScript.Runtime.InjectionApiUO.GetGraphics

Devuelve el valor de la expresión siguiente.

Parámetros: id

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

public string GetGraphics(string id)

Resultado: string.

Resultado: GetGraphics(GetObject(id)).

Llamadas: GetGraphics, GetObject.

Llamadas:

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

public string GetGraphics(string id) => GetGraphics(GetObject(id));

InjectionScript.Runtime.InjectionApiUO.GetGump

Devuelve el valor de la expresión siguiente.

Parámetros: identifier, key

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

public InjectionValue GetGump(string identifier, int key)

Resultado: InjectionValue.

Resultado: LastGump(identifier, key).

Llamadas: LastGump.

Llamadas:

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

public InjectionValue GetGump(string identifier, int key) => LastGump(identifier, key);

InjectionScript.Runtime.InjectionApiUO.GetLayer

Devuelve el valor de la expresión siguiente.

Parámetros: id

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

public string GetLayer(InjectionValue id)

Resultado: string.

Resultado: ConvertLayer(bridge.GetLayer(GetObject(id))).

Llamadas: ConvertLayer, bridge.GetLayer, GetObject.

Llamadas:

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

public string GetLayer(InjectionValue id) => ConvertLayer(bridge.GetLayer(GetObject(id)));

InjectionScript.Runtime.InjectionApiUO.GetRun

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int GetRun()

Resultado: int.

Resultado: bridge.GetRun(bridge.Self).

Llamadas: bridge.GetRun.

Llamadas:

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

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

InjectionScript.Runtime.InjectionApiUO.GetZ

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int GetZ()

Resultado: int.

Resultado: GetZ("self").

Llamadas: GetZ.

Llamadas:

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

public int GetZ() => GetZ("self");

InjectionScript.Runtime.InjectionApiUO.GetZ

Devuelve el valor de la expresión siguiente.

Parámetros: id

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

public int GetZ(int id)

Resultado: int.

Resultado: bridge.GetZ(id).

Llamadas: bridge.GetZ.

Llamadas:

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

public int GetZ(int id) => bridge.GetZ(id);

InjectionScript.Runtime.InjectionApiUO.Grab

Devuelve el valor de la expresión siguiente.

Parámetros: id

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

public int Grab(InjectionValue id)

Resultado: int.

Resultado: CompactGrab(new[] { id }).

Llamadas: CompactGrab.

Llamadas:

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

public int Grab(InjectionValue id) => CompactGrab(new[] { id });

InjectionScript.Runtime.InjectionApiUO.Grab

Devuelve el valor de la expresión siguiente.

Parámetros: amount, id, container

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

public int Grab(InjectionValue amount, InjectionValue id, InjectionValue container)

Resultado: int.

Resultado: CompactGrab(new[] { amount, id, container }).

Llamadas: CompactGrab.

Llamadas:

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

public int Grab(InjectionValue amount, InjectionValue id, InjectionValue container)

            => CompactGrab(new[] { amount, id, container });

InjectionScript.Runtime.InjectionApiUO.GumpExists

Devuelve el valor de la expresión siguiente.

Parámetros: firstId, secondId

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

public int GumpExists(InjectionValue firstId, InjectionValue secondId)

Resultado: int.

Resultado: bridge.GumpExists(NumberConversions.ToInt(firstId), NumberConversions.ToInt(secondId)).

Llamadas: bridge.GumpExists, NumberConversions.ToInt.

Llamadas:

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

public int GumpExists(InjectionValue firstId, InjectionValue secondId)

            => bridge.GumpExists(NumberConversions.ToInt(firstId), NumberConversions.ToInt(secondId));

InjectionScript.Runtime.InjectionApiUO.Inj2EUO

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: serialValue

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

public string Inj2EUO(InjectionValue serialValue)

Resultado: string.

Resultado: "A"; result.ToString().

Llamadas: NumberConversions.ToInt, result.Insert, result.ToString.

Condiciones: value == 0.

Llamadas:

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

public string Inj2EUO(InjectionValue serialValue)

        {

            uint value = unchecked((uint)NumberConversions.ToInt(serialValue));

            if (value == 0)

                return "A";

            var result = new StringBuilder();

            while (value > 0)

            {

                result.Insert(0, (char)('A' + value % 26));

                value /= 26;

            }

            return result.ToString();

        }

InjectionScript.Runtime.InjectionApiUO.LastGump

Devuelve el valor de la expresión siguiente.

Parámetros: identifier, key

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

public InjectionValue LastGump(string identifier, int key)

Resultado: InjectionValue.

Resultado: ConvertGumpValue(identifier, bridge.GetGumpValue(-1, identifier, key)).

Llamadas: ConvertGumpValue, bridge.GetGumpValue.

Llamadas:

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

public InjectionValue LastGump(string identifier, int key) => ConvertGumpValue(identifier, bridge.GetGumpValue(-1, identifier, key));

InjectionScript.Runtime.InjectionApiUO.MaxWeight

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int MaxWeight()

Resultado: int.

Resultado: bridge.MaxWeight.

Llamadas:

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

public int MaxWeight() => bridge.MaxWeight;

InjectionScript.Runtime.InjectionApiUO.MoveToCanonical

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: x, y, z, accuracy, running, accuracyZ, optimized, stepCallback, timeoutMs, maxSteps, maxDistance, avoidMobiles, openDoorsOverride, stopOnStuck

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

`private int MoveToCanonical(int x, int y, int z, int accuracy, bool running, int accuracyZ = 255,

        bool optimized = true, string stepCallback = null, int timeoutMs = 0, int maxSteps = 0,

        int maxDistance = 0, bool? avoidMobiles = null, bool? openDoorsOverride = null, bool stopOnStuck = false)`

Resultado: int.

Resultado: 0; 1.

Llamadas: PortablePathSearch.ValidPoint, bridge.IsOnline, Math.Max, Math.Min, bridge.GetX, bridge.GetY, bridge.GetZ, Math.Abs.

Condiciones: !PortablePathSearch.ValidPoint(x, y, z); state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0; state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina; !PortablePathSearch.ValidPoint(currentX, currentY, currentZ).

Llamadas:

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

private int MoveToCanonical(int x, int y, int z, int accuracy, bool running, int accuracyZ = 255,
            bool optimized = true, string stepCallback = null, int timeoutMs = 0, int maxSteps = 0,
            int maxDistance = 0, bool? avoidMobiles = null, bool? openDoorsOverride = null, bool stopOnStuck = false)
        {
            if (!PortablePathSearch.ValidPoint(x, y, z)) return 0;
            if (state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0)
                return 0;
            if (state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina)
                return 0;

// …
            if (!PortablePathSearch.ValidPoint(currentX, currentY, currentZ)) return 0;
// …
            if (maxDistance > 0 && requestedDistance > maxDistance)
                return 0;
            if (requestedDistance <= safeAccuracy && Math.Abs(z - currentZ) <= safeAccuracyZ)
                return 1;
// …
            if (started == 0)
                return 0;
// …
                if (ownership == null) bridge.StopMoving();
// …
                if (!IsCurrentRequest()) return 0;
                if (state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0)
// …
                    return 0;
// …
                if (state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina)
// …
                    return 0;
// …
                if (timeoutMs > 0 && (timeSource.Now - startedAt).TotalMilliseconds >= timeoutMs)
// …
                    return 0;
// …
                if (moved)
// …
                    if (!string.IsNullOrWhiteSpace(stepCallback)
// …
                        return 0;
// …
                    if (maxSteps > 0 && observedSteps >= maxSteps
// …
                        return 0;
// …
                else if (stopOnStuck && bridge is IApiPathPlanningState planning && planning.IsPathPlanning())
// …
                else if (stopOnStuck && (timeSource.Now - lastProgressAt).TotalMilliseconds >= 1000d)
// …
                    return 0;
// …
            if (!IsCurrentRequest()) return 0;
// …
            if ((currentX != lastX || currentY != lastY || currentZ != lastZ)
// …

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

InjectionScript.Runtime.InjectionApiUO.Picking

Devuelve el valor de la expresión siguiente.

Parámetros: Sin parámetros.

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

public int Picking()

Resultado: int.

Resultado: bridge.Picking().

Llamadas: bridge.Picking.

Llamadas:

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

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

InjectionScript.Runtime.InjectionApiUO.Random

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: min, max

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

public int Random(int min, int max)

Resultado: int.

Resultado: min; (int)(min + (long)random.Next((int)count)); (int)(min + (long)(sample % (ulong)count)).

Llamadas: random.Next, random.NextBytes, BitConverter.ToUInt32.

Condiciones: min > max; min == max; count <= int.MaxValue.

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

public int Random(int min, int max)

        {

            if (min > max)

                throw new NativeSubrutineException("UO.Random(min, max): min must not exceed max.");

            if (min == max) return min;

            long count = (long)max - min + 1;

            lock (randomSync)

            {

                if (count <= int.MaxValue)

                    return (int)(min + (long)random.Next((int)count));



                // Inclusive Int32.MaxValue and the full signed range must not

                // overflow. Rejection avoids modulo bias; reuse the four bytes.

                const ulong domain = 1UL << 32;

                ulong limit = domain - domain % (ulong)count;

                uint sample;

                do

                {

                    random.NextBytes(randomRangeBytes);

                    sample = BitConverter.ToUInt32(randomRangeBytes, 0);

                } while (sample >= limit);

                return (int)(min + (long)(sample % (ulong)count));

            }

        }

InjectionScript.Runtime.InjectionApiUO.ResolveCompactMaxZ

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

Parámetros: value

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

private int ResolveCompactMaxZ(InjectionValue value)

Resultado: int.

Resultado: parsed < 0 ? bridge.GetFindVertical() : Math.Max(0, parsed).

Llamadas: NumberConversions.ToInt, bridge.GetFindVertical, Math.Max.

Llamadas:

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

private int ResolveCompactMaxZ(InjectionValue value)

        {

            int parsed = NumberConversions.ToInt(value);

            return parsed < 0 ? bridge.GetFindVertical() : Math.Max(0, parsed);

        }

InjectionScript.Runtime.InjectionApiUO.Say

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: message

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

public void Say(string message)

Resultado: void.

Llamadas: bridge.Say.

Llamadas:

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

public void Say(string message) => bridge.Say(message);

InjectionScript.Runtime.InjectionApiUO.Snap

Devuelve el valor de la expresión siguiente.

Parámetros: name, quality

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

public int Snap(string name, int quality)

Resultado: int.

Resultado: bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), true).

Llamadas: bridge.Snap, Math.Max, Math.Min.

Llamadas:

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

public int Snap(string name, int quality) => bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), true);

InjectionScript.Runtime.InjectionApiUO.Snap

Devuelve el valor de la expresión siguiente.

Parámetros: name, quality, includeUi

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

public int Snap(string name, int quality, bool includeUi)

Resultado: int.

Resultado: bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), includeUi).

Llamadas: bridge.Snap, Math.Max, Math.Min.

Llamadas:

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

public int Snap(string name, int quality, bool includeUi)

            => bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), includeUi);

InjectionScript.Runtime.InjectionApiUO.TryDeserializeRecordedLegacyAction

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: recording, name, arguments

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

private static bool TryDeserializeRecordedLegacyAction(string recording, out string name, out InjectionValue[] arguments)

Resultado: bool.

Resultado: false; !string.IsNullOrWhiteSpace(name).

Llamadas: Array.Empty<InjectionValue>, string.IsNullOrWhiteSpace, recording.Split, fields[0].Equals, DecodeRecordingText, Math.Max, TryDeserializeRecordedValue.

Condiciones: string.IsNullOrWhiteSpace(recording); fields.Length < 2 || !fields[0].Equals(RecordedLegacyActionPrefix, StringComparison.Ordinal); !TryDeserializeRecordedValue(fields[index], out values[index - 2]).

Llamadas:

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

private static bool TryDeserializeRecordedLegacyAction(string recording, out string name, out InjectionValue[] arguments)

        {

            name = string.Empty;

            arguments = Array.Empty<InjectionValue>();

            if (string.IsNullOrWhiteSpace(recording)) return false;



            string[] fields = recording.Split(new[] { '\t' }, StringSplitOptions.None);

            if (fields.Length < 2 || !fields[0].Equals(RecordedLegacyActionPrefix, StringComparison.Ordinal)) return false;

            try

            {

                name = DecodeRecordingText(fields[1]);

                var values = new InjectionValue[Math.Max(0, fields.Length - 2)];

                for (int index = 2; index < fields.Length; index++)

                    if (!TryDeserializeRecordedValue(fields[index], out values[index - 2])) return false;

                arguments = values;

                return !string.IsNullOrWhiteSpace(name);

            }

            catch (FormatException)

            {

                name = string.Empty;

                arguments = Array.Empty<InjectionValue>();

                return false;

            }

        }

InjectionScript.Runtime.InjectionApiUO.UseFromGround

Devuelve el valor de la expresión siguiente.

Parámetros: type

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

public int UseFromGround(InjectionValue type)

Resultado: int.

Resultado: UseFromGround(type, new InjectionValue(-1)).

Llamadas: UseFromGround.

Llamadas:

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

public int UseFromGround(InjectionValue type) => UseFromGround(type, new InjectionValue(-1));

InjectionScript.Runtime.InjectionApiUO.WaitTargetObject

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: id1, id2

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

public void WaitTargetObject(int id1, int id2)

Resultado: void.

Llamadas: bridge.WaitTargetObject, Timer.

Llamadas:

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

public void WaitTargetObject(int id1, int id2)

        {

            bridge.WaitTargetObject(id1, id2);

            ticksTarget = Timer();

        }

InjectionScript.Runtime.InjectionApiUO.WaitingForJournalText

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: startTime, maxDelay, text, equals

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

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

Resultado: void.

Llamadas: WaitingForJournalText.

Llamadas:

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

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

            => WaitingForJournalText(startTime, maxDelay, text, equals, 0, InjectionValue.Zero);

InjectionScript.Runtime.InjectionApiUO.Register [FindType]

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

values

Resultado: values.

Resultado: CompactFindType(values[0], values[1], values[2], values[3], values[4], values[5]).

Llamadas: CompactFindType.

Llamadas:

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

values =>

                CompactFindType(values[0], values[1], values[2], values[3], values[4], values[5])

InjectionScript.Runtime.InjectionApiUO.Register [Follow]

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

values

Resultado: values.

Llamadas: follow.Follow, GetObject, NumberConversions.ToInt.

Llamadas:

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

values => new InjectionValue(bridge is IApiFollowBridge follow

                        ? follow.Follow(count == 0 ? 0 : GetObject(values[0]),

                            count < 2 ? 1 : NumberConversions.ToInt(values[1]),

                            count < 3 || NumberConversions.ToInt(values[2]) != 0) : 0)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetFlying]

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

serial

Resultado: serial.

Resultado: bridge.Flying(serial).

Llamadas: bridge.Flying.

Llamadas:

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

serial => bridge.Flying(serial)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetMaxWeight]

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

Resultado: bridge.MaxWeight.

Llamadas:

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

() => bridge.MaxWeight

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetStr]

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

Resultado: bridge.Strength.

Llamadas:

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

() => bridge.Strength

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)

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)

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)

InjectionScript.Runtime.NativeSubrutineMetadata.TryGet

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: name, argumentValues, subrutineDefinition

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeSubrutineMetadata.cs:34.

public bool TryGet(string name, IEnumerable<InjectionValue> argumentValues, out NativeSubrutineDefinition subrutineDefinition)

Resultado: bool.

Resultado: false; true; subrutineDefinition != null.

Llamadas: byName.TryGetValue, argumentValues.ToArray, arities.TryGetValue, StringComparer.OrdinalIgnoreCase.Compare, candidate.GetSignature, wildcard.GetSignature.

Condiciones: !byName.TryGetValue(name, out var arities); !arities.TryGetValue(arguments.Count, out var overloads); kind == InjectionValueKind.Any; kind == arguments[i].Kind.

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

public bool TryGet(string name, IEnumerable<InjectionValue> argumentValues, out NativeSubrutineDefinition subrutineDefinition)
        {
            subrutineDefinition = null;
            // A script procedure is not a native. Avoid scanning the entire API
            // (over 1600 registrations) twice for every ordinary helper call.
            if (!byName.TryGetValue(name, out var arities)) return false;
            var arguments = argumentValues as IReadOnlyList<InjectionValue> ?? argumentValues.ToArray();
            if (!arities.TryGetValue(arguments.Count, out var overloads)) return false;
            NativeSubrutineDefinition allAny = null, wildcard = null;
            int bestWildcardCount = int.MaxValue;
            foreach (var candidate in overloads)
            {
                bool compatible = true, exact = true;
                int anyCount = 0;
                for (int i = 0; i < arguments.Count; i++)
                {
                    var kind = candidate.ParameterKinds[i];
                    if (kind == InjectionValueKind.Any) anyCount++;
                    if (kind == arguments[i].Kind) continue;
                    exact = false;
                    if (kind != InjectionValueKind.Any) { compatible = false; break; }
                }
                if (exact && compatible) { subrutineDefinition = candidate; return true; }
                if (!compatible) continue;
                if (anyCount == arguments.Count) { allAny = candidate; continue; }
                if (anyCount < bestWildcardCount || (anyCount == bestWildcardCount
                    && StringComparer.OrdinalIgnoreCase.Compare(candidate.GetSignature(), wildcard.GetSignature()) < 0))
                { wildcard = candidate; bestWildcardCount = anyCount; }
            }
            // Preserve existing dispatch precedence: exact, all-Any adapter,
            // then the most specific mixed signature with its stable tie-break.
            subrutineDefinition = allAny ?? wildcard;
            return subrutineDefinition != null;
        }

InjectionScript.Runtime.PortablePathSearch.Find

Comprueba las condiciones siguientes y devuelve el resultado indicado.

Parámetros: startX, startY, startZ, finishX, finishY, finishZ, accuracy, accuracyZ, maxSteps, diagonal, checkStep, checkCancellation, scheduleSlice

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/PortablePathSearch.cs:26.

`internal static (int X, int Y, int Z)[] Find(

        int startX, int startY, int startZ, int finishX, int finishY, int finishZ,

        int accuracy, int accuracyZ, int maxSteps, bool diagonal,

        Func<int, int, int, int, int, int?> checkStep, Action checkCancellation, Action<Action> scheduleSlice)`

Resultado: (int X, int Y, int Z)[].

Resultado: empty; result.

Llamadas: Array.Empty<(int, int, int)>, ValidPoint, Comparer<Node>.Create, Math.Min, Estimate, open.Add, checkCancellation, scheduleSlice.

Condiciones: !ValidPoint(startX, startY, startZ) || !ValidPoint(finishX, finishY, finishZ); start.Estimate > limit.

Llamadas:

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

internal static (int X, int Y, int Z)[] Find(
            int startX, int startY, int startZ, int finishX, int finishY, int finishZ,
            int accuracy, int accuracyZ, int maxSteps, bool diagonal,
            Func<int, int, int, int, int, int?> checkStep, Action checkCancellation, Action<Action> scheduleSlice)
        {
            var empty = Array.Empty<(int, int, int)>();
            if (!ValidPoint(startX, startY, startZ) || !ValidPoint(finishX, finishY, finishZ))
                return empty;

            int Estimate(int x, int y)
// …
                return diagonal ? Math.Max(dx, dy) : dx + dy;
// …
                if (order == 0) order = a.Estimate.CompareTo(b.Estimate);
                return order == 0 ? a.Order.CompareTo(b.Order) : order;
// …
            if (start.Estimate > limit) return empty;
// …
                    if (sliceNodes > 1 && Stopwatch.GetTimestamp() - sliceStarted >= Stopwatch.Frequency / 1000)
                        return;
// …
                    if (best[current.Point] != current) continue;
// …
                    if (current.Estimate == 0 && Math.Abs(finishZ - p.Z) <= accuracyZ)
// …
                        return;
// …
                    if (expanded++ >= ExpansionLimit) { completed = true; return; }
                    if (current.Steps >= limit) continue;
// …
                        if (x < 0 || x > ushort.MaxValue || y < 0 || y > ushort.MaxValue) continue;
// …
                        if (steps + estimate > limit) continue;
// …
                        if (!z.HasValue || !ValidPoint(x, y, z.Value)) continue;
// …
                        if (best.TryGetValue(key, out Node previous) && previous.Steps <= steps) continue;
// …
                        if (previous != null) open.Remove(previous);
// …
            return result;
// …

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

InjectionScript.Runtime.State.NamedTypes.TryGet

Devuelve el valor de la expresión siguiente.

Parámetros: name, graphic

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedTypes.cs:30.

public bool TryGet(string name, out int graphic)

Resultado: bool.

Resultado: values.TryGetValue((name ?? string.Empty).Trim(), out graphic).

Llamadas: values.TryGetValue, (name ?? string.Empty).Trim.

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

public bool TryGet(string name, out int graphic)
        {
            lock (gate) return values.TryGetValue((name ?? string.Empty).Trim(), out graphic);
        }

InjectionScript.Runtime.State.RuntimeDictionary.Set

Ejecuta las llamadas y actualizaciones de estado indicadas.

Parámetros: name, value

Origen: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/RuntimeDictionary.cs:16.

public void Set(string name, T value)

Resultado: void.

Llamadas: items.ContainsKey, items.Add, .Invoke.

Condiciones: !items.ContainsKey(name); notify.

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

public void Set(string name, T value)

        {

            bool notify = true;



            lock (itemsLock)

            {

                if (!items.ContainsKey(name))

                {

                    items.Add(name, value);

                    notify = true;

                }

                else

                    items[name] = value;

            }



            if (notify)

                KeyAdded?.Invoke(name);

        }

Clone this wiki locally