Skip to content

Runtime Helpers 7

Codex edited this page Oct 12, 2026 · 1 revision

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

Допоміжні функції 7

Внутрішній код реалізації, не самостійний скрипт.

ClassicUO.CSharp.CSharpCallbacks.TryInvoke

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:412.

Результат: true.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:426.

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

Результат: when.

Виклики: Convert.ToString.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Перевіряє умови нижче й повертає показаний результат.

Параметри: value

Джерело: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:335.

private static string HandlerName(object? value)

Результат: string.

Результат: name[5..].Trim(); name[6..].Trim(); name.

Виклики: (Convert.ToString(value) ?? "").Trim, Convert.ToString, name.StartsWith, name[5..].Trim, name[6..].Trim.

Умови: name.StartsWith("exec ", StringComparison.OrdinalIgnoreCase); name.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase).

Внутрішній код реалізації, не самостійний скрипт.

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

Виконує показані виклики та оновлення стану.

Параметри: page, text

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1774.

public void BookSetPageText(int page, string text)

Результат: void.

Виклики: Invoke.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Виконує показані виклики та оновлення стану.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1410.

public void Bow()

Результат: void.

Виклики: Invoke.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseMenu

Виконує показані виклики та оновлення стану.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:695.

public void CloseMenu()

Результат: void.

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { foreach (SessionMenu menu in _world.ServerMenus.Snapshot()) menu.CancelForYoko(); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { foreach (SessionMenu menu in _world.ServerMenus.Snapshot()) menu.CancelForYoko(); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.

Внутрішній код реалізації, не самостійний скрипт.

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

        {

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

                menu.CancelForYoko();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ColdResistance

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:162.

public int ColdResistance

Результат: int.

Результат: Invoke(() => CurrentPlayer?.ColdResistance ?? 0).

Виклики: Invoke.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error

Виконує показані виклики та оновлення стану.

Параметри: message

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3659.

public void Error(string message)

Результат: void.

Виклики: ReportStatus.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindCount

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2255.

public int FindCount()

Результат: int.

Результат: _findCount.

Внутрішній код реалізації, не самостійний скрипт.

public int FindCount() => _findCount;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindItem

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:133.

public int FindItem

Результат: int.

Результат: _findItem.

Внутрішній код реалізації, не самостійний скрипт.

public int FindItem => _findItem;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindNotoriety

Повертає значення виразу нижче.

Параметри: type, notoriety

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2649.

public int FindNotoriety(int type, int notoriety)

Результат: int.

Виклики: Invoke.

Виклики:

  • 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; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • 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; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResetFindResults: ResetFindResults().
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound: RegisterFound(mobile). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound: RegisterFound(mobile). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.

Внутрішній код реалізації, не самостійний скрипт.

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

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:178.

public int GameServerPort

Результат: int.

Результат: Settings.GlobalSettings.Port.

Внутрішній код реалізації, не самостійний скрипт.

public int GameServerPort => Settings.GlobalSettings.Port;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetHP

Повертає значення виразу нижче.

Параметри: id

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:228.

public int GetHP(int id)

Результат: int.

Результат: WithEntity(id, e => e.Hits).

Виклики: WithEntity.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLocked

Повертає значення виразу нижче.

Параметри: id

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:621.

public int GetLocked(int id)

Результат: int.

Результат: Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsParalyzed == true ? 1 : 0).

Виклики: Invoke.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetPing

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:338.

public int GetPing()

Результат: int.

Результат: NetClient.Socket.Statistics.ServerPing.

Внутрішній код реалізації, не самостійний скрипт.

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

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

Виконує показані виклики та оновлення стану.

Параметри: buffer, offset, value

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3351.

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

Результат: void.

Внутрішній код реалізації, не самостійний скрипт.

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

Повертає значення виразу нижче.

Параметри: tradeNumber

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:261.

public string GetTradeOpponentName(int tradeNumber)

Результат: string.

Виклики: Invoke.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

        {

            ISessionTrade gump = FindNumberedTrade(tradeNumber);

            return gump?.OpponentName ?? string.Empty;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.InJournalBetweenTimes

Повертає значення виразу нижче.

Параметри: pattern, startTime, endTime, limit

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1903.

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

Результат: int.

Результат: FindJournal(pattern, start, end, limit, false, true).

Виклики: now.AddMilliseconds, Math.Max, Math.Min, FindJournal.

Внутрішній код реалізації, не самостійний скрипт.

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

Повертає значення виразу нижче.

Параметри: pattern, startTime, endTime, limit

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1917.

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

Результат: int.

Результат: FindJournal(pattern, start, end, limit, true, true).

Виклики: now.AddMilliseconds, Math.Max, Math.Min, FindJournal.

Внутрішній код реалізації, не самостійний скрипт.

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

Повертає значення виразу нижче.

Параметри: x, y

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:670.

public int IsWaterTile(int x, int y)

Результат: int.

Виклики: Invoke.

Виклики:

  • 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). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • 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). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • 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).

Внутрішній код реалізації, не самостійний скрипт.

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

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:136.

public int LastCorpse

Результат: int.

Результат: Invoke(() => (int)(_world.Items.Values.Where(i => i.IsCorpse && !i.IsDestroyed).OrderBy(i => i.Distance).FirstOrDefault()?.Serial ?? 0)).

Виклики: Invoke.

Внутрішній код реалізації, не самостійний скрипт.

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

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:160.

public int MaxMana

Результат: int.

Результат: Invoke(() => CurrentPlayer?.ManaMax ?? 0).

Виклики: Invoke.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MoveItems

Повертає значення виразу нижче.

Параметри: sourceContainerId, type, color, targetContainerId, x, y, z, delayMs

Джерело: 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)

Результат: int.

Результат: MoveContainerItems(sourceContainerId, type, color, targetContainerId, x, y, z, delayMs).Sent > 0 ? 1 : 0.

Виклики: MoveContainerItems.

Внутрішній код реалізації, не самостійний скрипт.

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

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:168.

public int Race

Результат: int.

Результат: Invoke(() => (int)(CurrentPlayer?.Race ?? 0)).

Виклики: Invoke.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SelectGump

Виконує показані виклики та оновлення стану.

Параметри: id

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2893.

public void SelectGump(int id)

Результат: void.

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: 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.Invoke: 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.ServerGumpsUnsafe: ServerGumpsUnsafe().
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error: Error($"UO.SelectGump: gump {id} was not found").

Внутрішній код реалізації, не самостійний скрипт.

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

Повертає значення виразу нижче.

Параметри: gumpIndex, triggerId

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2761.

public int SendGumpSelect(int gumpIndex, int triggerId)

Результат: int.

Виклики: Invoke.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Виконує показані виклики та оновлення стану.

Параметри: type, color, quantity, maxPrice, name

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3578.

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

Результат: void.

Виклики: Invoke.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Повертає значення виразу нижче.

Параметри: figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text

Джерело: 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)

Результат: int.

Результат: Invoke(() => WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text)).

Виклики: Invoke.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Виконує показані виклики та оновлення стану.

Параметри: enabled

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:311.

public void SetPauseScriptOnDisconnectStatus(int enabled)

Результат: void.

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SplitPatterns

Повертає значення виразу нижче.

Параметри: pattern

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3746.

private static string[] SplitPatterns(string pattern)

Результат: string[].

Результат: (pattern ?? string.Empty).Split('|', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries).

Виклики: (pattern ?? string.Empty).Split.

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TargetToTile

Виконує показані виклики та оновлення стану.

Параметри: type, x, y, z

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:833.

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

Результат: void.

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.TargetManager.IsServerTarget) _world.TargetManager.Target((ushort)type, (ushort)x, (ushort)y, (short)z); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.TargetManager.IsServerTarget) _world.TargetManager.Target((ushort)type, (ushort)x, (ushort)y, (short)z); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.

Внутрішній код реалізації, не самостійний скрипт.

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

Виконує показані виклики та оновлення стану.

Параметри: text

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1752.

public void TextPrint(string text)

Результат: void.

Виклики: _textWindow.RemoveRange, _textWindow.Add, Invoke.

Умови: _textWindow.Count >= MaxTextWindowLines.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Перевіряє умови нижче й повертає показаний результат.

Параметри: timeoutMs, pingMs

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:342.

private bool TryProbeServerPing(int timeoutMs, out int pingMs)

Результат: bool.

Результат: false; pingMs >= 0.

Виклики: Math.Max, Invoke, NetClient.Socket.Statistics.GetPingEchoGeneration, Wait, Math.Min.

Умови: request.Token < 0; NetClient.Socket.Statistics.GetPingEchoGeneration((byte)request.Token) != request.Generation; timeout == 0; remaining <= 0.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Виконує показані виклики та оновлення стану.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1134.

public void UnsetReceivingContainer()

Результат: void.

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseObject

Виконує показані виклики та оновлення стану.

Параметри: id

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:772.

public void UseObject(int id)

Результат: void.

Виклики: Invoke.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.Managers.LastCharacterManager.OverrideLastCharacter

Виконує показані виклики та оновлення стану.

Параметри: name, oneShot

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/LastCharacterManager.cs:107.

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

Результат: void.

Виклики: string.IsNullOrEmpty.

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.Managers.UIManager.GetGump

Перевіряє умови нижче й повертає показаний результат.

Параметри: serial

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/UIManager.cs:277.

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

Результат: T.

Результат: t; null.

Умови: serial.HasValue; !c.IsDisposed && c.LocalSerial == serial.Value && c is T t; !c.IsDisposed && c is T t.

Внутрішній код реалізації, не самостійний скрипт.

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

Виконує показані виклики та оновлення стану.

Параметри: scriptKey, text

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:679.

internal void AppendIdeOutput(string scriptKey, string text)

Результат: void.

Виклики: _ideToolBuffers.AppendOutput.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.Managers.YokoInjectionManager.GetPendingTargetSerials

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3347.

internal int[] GetPendingTargetSerials()

Результат: int[].

Результат: _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select(t => (int)t.Serial).ToArray().

Виклики: _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.

Внутрішній код реалізації, не самостійний скрипт.

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

Передає роботу в ігровий потік і враховує скасування.

Параметри: callback, cancellationToken

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3457.

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

Результат: T.

Результат: callback(); result.Task.GetAwaiter().GetResult().

Виклики: nameof, cancellationToken.ThrowIfCancellationRequested, Volatile.Read, callback, EnqueueMainThreadAction, result.Task.Wait, result.Task.GetAwaiter().GetResult, result.Task.GetAwaiter.

Умови: callback == null; Volatile.Read(ref _gameThreadId) == Environment.CurrentManagedThreadId.

Внутрішній код реалізації, не самостійний скрипт.

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

Виконує показані виклики та оновлення стану.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3804.

private void MarkRuntimeStateChanged()

Результат: void.

Виклики: Interlocked.Increment.

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.Managers.YokoInjectionManager.QueueTarget

Виконує показані виклики та оновлення стану.

Параметри: serial, owner

Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3287.

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

Результат: void.

Виклики: owner.ThrowIfCancellationRequested, _pendingTargets.Enqueue.

Внутрішній код реалізації, не самостійний скрипт.

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

ClassicUO.Game.UI.Gumps.Gump.OnButtonClick

Виконує показані виклики та оновлення стану.

Параметри: buttonID

Джерело: Project_Full/src/ClassicUO.Client/Game/UI/Gumps/Gump.cs:142.

public override void OnButtonClick(int buttonID)

Результат: void.

Виклики: state.OnButtonClick, switches.Add, entries.Add, GameActions.ReplyGump, switches.ToArray, entries.ToArray, UIManager.SavePosition, UIManager.RemovePosition.

Умови: SessionState is { } state; !IsDisposed && (LocalSerial != 0 || ServerSerial != 0); CanMove.

Внутрішній код реалізації, не самостійний скрипт.

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)
// …

Повний код зберігається у файлі джерела; нижче наведено точні фрагменти.

ClassicUO.Game.World.ResolveProfileServerName

Розбирає або знаходить значення аргументу за правилами, показаними в коді.

Параметри: Немає параметрів.

Джерело: Project_Full/src/ClassicUO.Client/Game/World.cs:258.

internal string ResolveProfileServerName()

Результат: string.

Результат: _profileServerIdentity.

Виклики: string.IsNullOrWhiteSpace, Path.Combine, ProfileShardIdentity.Resolve.

Умови: string.IsNullOrWhiteSpace(_profileServerIdentity).

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Перевіряє умови нижче й повертає показаний результат.

Параметри: timeout, retries

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3747.

public int CheckLag(InjectionValue timeout, InjectionValue retries)

Результат: int.

Результат: 1; 0.

Виклики: Math.Max, NumberConversions.ToInt, bridge.CheckLag.

Умови: bridge.CheckLag(timeoutMs) != 0.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Перевіряє умови нижче й повертає показаний результат.

Параметри: values

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4851.

private InjectionValue CompactGetWorldItems(InjectionValue[] values)

Результат: InjectionValue.

Результат: new InjectionValue(Array.Empty<InjectionValue>()); new InjectionValue(filtered.Select(id => new InjectionValue(id)).ToArray()).

Виклики: ResolveType, NumberConversions.ToInt, ResolveCompactDistance, bridge.GetFindDistance, TryResolveWorldItemQueryContainer, Array.Empty<InjectionValue>, ToBoolean, ResolveCompactMaxZ.

Умови: values.Length > 3 && !TryResolveWorldItemQueryContainer(values[3], out container); nearest.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Перевіряє умови нижче й повертає показаний результат.

Параметри: spellName

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6514.

private int? ConvertSpellName(string spellName)

Результат: int?.

Результат: classicUoSpellId; spellId; null.

Виклики: (spellName ?? string.Empty).Trim().Replace, (spellName ?? string.Empty).Trim, bridge.ResolveSpell, spellNameToSpellId.TryGetValue, NumberConversions.TryStr2Int.

Умови: classicUoSpellId > 0; spellNameToSpellId.TryGetValue(requested, out var spellId); NumberConversions.TryStr2Int(requested, out spellId) && spellId > 0.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Повертає значення виразу нижче.

Параметри: type, color, container

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5214.

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

Результат: int.

Результат: bridge.Count(type, color, container).

Виклики: bridge.Count.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

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

InjectionScript.Runtime.InjectionApiUO.Date

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5927.

public int Date()

Результат: int.

Результат: (now.Year % 100) * 10000 + now.Month * 100 + now.Day.

Внутрішній код реалізації, не самостійний скрипт.

public int Date()

        {

            var now = timeSource.Now;

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

        }

InjectionScript.Runtime.InjectionApiUO.DecodeEasyUoId

Перевіряє умови нижче й повертає показаний результат.

Параметри: easyValue

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2473.

private static int DecodeEasyUoId(string easyValue)

Результат: int.

Результат: unchecked((int)value).

Виклики: (easyValue ?? string.Empty).ToUpperInvariant.

Умови: character < 'A' || character > 'Z'.

Внутрішній код реалізації, не самостійний скрипт.

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

Виконує показані виклики та оновлення стану.

Параметри: text

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5400.

public void DeleteJournal(InjectionValue text)

Результат: void.

Виклики: DeleteJournal.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.EUO2Inj

Перевіряє умови нижче й повертає показаний результат.

Параметри: easyValue

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3383.

public string EUO2Inj(InjectionValue easyValue)

Результат: string.

Результат: NumberConversions.ToHex(unchecked((int)value)).

Виклики: easyValue.ToString().ToUpperInvariant, easyValue.ToString, NumberConversions.ToHex.

Умови: c < 'A' || c > 'Z'.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1777.

Результат: InjectionValue.Unit.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "addgumpignorebyserial": state.IgnoredGumpSerials.Add(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1814.

Результат: InjectionValue.Unit.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "clearinfowindow": bridge.TextClear(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1816.

Результат: InjectionValue.True.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "clienthide": bridge.ClientHide(Arg(0)); return InjectionValue.True;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1241.

Результат: InjectionValue.Unit.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "clientprintex":

                    bridge.CharPrintEx(Arg(0), Arg(1), Arg(2), Text(3)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1315.

Результат: new InjectionValue(bridge.GetAutoReconnect()).

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1370.

Результат: new InjectionValue(arguments.Length > 0 ? bridge.GetIntelligence(Arg(0)) : bridge.Intelligence).

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1564.

Результат: new InjectionValue(bridge.GetZ(Arg(0, bridge.Self))).

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "getz": return new InjectionValue(bridge.GetZ(Arg(0, bridge.Self)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1539.

Результат: InjectionValue.Unit.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "ignoreoff": bridge.Unignore(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1248.

Результат: InjectionValue.Unit.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "ignore": bridge.Ignore(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1367.

Результат: new InjectionValue(bridge.Exists(Arg(0))).

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "isobjectexists": return new InjectionValue(bridge.Exists(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1640.

Результат: new InjectionValue(Waiting()).

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2035.

Результат: new InjectionValue(bridge.JournalMatchCount()).

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1957.

Результат: InjectionValue.Unit.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "moveboat": bridge.MoveBoat(Arg(0), Arg(1)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1906.

Результат: SetIndexedGumpValue(Arg(0), "checkbox", Arg(1), Text(2)).

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1537.

Результат: new InjectionValue(bridge.ObjAtLayerEx(Arg(0), Arg(1))).

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "objatlayerex": return new InjectionValue(bridge.ObjAtLayerEx(Arg(0), Arg(1)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1708.

Результат: InjectionValue.Unit.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "partyacceptinvite": bridge.PartyAcceptInvite(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1709.

Результат: InjectionValue.Unit.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "partydeclineinvite": bridge.PartyDeclineInvite(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1707.

Результат: InjectionValue.Unit.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "partyleave": bridge.PartyLeave(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1536.

Результат: new InjectionValue(ReadPredictedCoordinate(3)).

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1597.

Результат: InjectionValue.Unit.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2863.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "deletefindlist":

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

                        arguments));

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2962.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "gumpobject": bridge.SelectGump(Arg(0)); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3025.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

case "removering": Unequip("Ring"); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Гілка обробляє лише вказане ім’я команди.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2871.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.FindType

Перевіряє умови нижче й повертає показаний результат.

Параметри: type, color

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4588.

public string FindType(InjectionValue type, InjectionValue color)

Результат: string.

Результат: FindType(ResolveType(type), -1, ConvertContainer(color), -1, color.String.Equals("my", StringComparison.OrdinalIgnoreCase)); FindType(ResolveType(type), NumberConversions.ToInt(color), -1, -1, false).

Виклики: color.String.Equals, FindType, ResolveType, ConvertContainer, NumberConversions.ToInt.

Умови: `color.Kind == InjectionValueKind.String

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

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

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

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5487.

public int GetFoundedTextID()

Результат: int.

Результат: foundedTextId >= 0 ? foundedTextId : 0.

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.GetFoundedTextIndex

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5488.

public int GetFoundedTextIndex()

Результат: int.

Виклики: reader.FindJournalEntryIndex.

Внутрішній код реалізації, не самостійний скрипт.

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

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

InjectionScript.Runtime.InjectionApiUO.GetFoundedTextSerial

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5490.

public string GetFoundedTextSerial()

Результат: string.

Внутрішній код реалізації, не самостійний скрипт.

public string GetFoundedTextSerial() => selectedJournalEntry != null

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

InjectionScript.Runtime.InjectionApiUO.GetGraphics

Повертає значення виразу нижче.

Параметри: id

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3615.

public string GetGraphics(string id)

Результат: string.

Результат: GetGraphics(GetObject(id)).

Виклики: GetGraphics, GetObject.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.GetGump

Повертає значення виразу нижче.

Параметри: identifier, key

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3234.

public InjectionValue GetGump(string identifier, int key)

Результат: InjectionValue.

Результат: LastGump(identifier, key).

Виклики: LastGump.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.GetLayer

Повертає значення виразу нижче.

Параметри: id

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3621.

public string GetLayer(InjectionValue id)

Результат: string.

Результат: ConvertLayer(bridge.GetLayer(GetObject(id))).

Виклики: ConvertLayer, bridge.GetLayer, GetObject.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.GetRun

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3775.

public int GetRun()

Результат: int.

Результат: bridge.GetRun(bridge.Self).

Виклики: bridge.GetRun.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.GetZ

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3567.

public int GetZ()

Результат: int.

Результат: GetZ("self").

Виклики: GetZ.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.GetZ

Повертає значення виразу нижче.

Параметри: id

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3569.

public int GetZ(int id)

Результат: int.

Результат: bridge.GetZ(id).

Виклики: bridge.GetZ.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.Grab

Повертає значення виразу нижче.

Параметри: id

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4370.

public int Grab(InjectionValue id)

Результат: int.

Результат: CompactGrab(new[] { id }).

Виклики: CompactGrab.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.Grab

Повертає значення виразу нижче.

Параметри: amount, id, container

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4374.

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

Результат: int.

Результат: CompactGrab(new[] { amount, id, container }).

Виклики: CompactGrab.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

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

InjectionScript.Runtime.InjectionApiUO.GumpExists

Повертає значення виразу нижче.

Параметри: firstId, secondId

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3229.

public int GumpExists(InjectionValue firstId, InjectionValue secondId)

Результат: int.

Результат: bridge.GumpExists(NumberConversions.ToInt(firstId), NumberConversions.ToInt(secondId)).

Виклики: bridge.GumpExists, NumberConversions.ToInt.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

public int GumpExists(InjectionValue firstId, InjectionValue secondId)

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

InjectionScript.Runtime.InjectionApiUO.Inj2EUO

Перевіряє умови нижче й повертає показаний результат.

Параметри: serialValue

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3369.

public string Inj2EUO(InjectionValue serialValue)

Результат: string.

Результат: "A"; result.ToString().

Виклики: NumberConversions.ToInt, result.Insert, result.ToString.

Умови: value == 0.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Повертає значення виразу нижче.

Параметри: identifier, key

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3232.

public InjectionValue LastGump(string identifier, int key)

Результат: InjectionValue.

Результат: ConvertGumpValue(identifier, bridge.GetGumpValue(-1, identifier, key)).

Виклики: ConvertGumpValue, bridge.GetGumpValue.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.MaxWeight

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3902.

public int MaxWeight()

Результат: int.

Результат: bridge.MaxWeight.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

public int MaxWeight() => bridge.MaxWeight;

InjectionScript.Runtime.InjectionApiUO.MoveToCanonical

Перевіряє умови нижче й повертає показаний результат.

Параметри: x, y, z, accuracy, running, accuracyZ, optimized, stepCallback, timeoutMs, maxSteps, maxDistance, avoidMobiles, openDoorsOverride, stopOnStuck

Джерело: 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)`

Результат: int.

Результат: 0; 1.

Виклики: PortablePathSearch.ValidPoint, bridge.IsOnline, Math.Max, Math.Min, bridge.GetX, bridge.GetY, bridge.GetZ, Math.Abs.

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

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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)
// …

Повний код зберігається у файлі джерела; нижче наведено точні фрагменти.

InjectionScript.Runtime.InjectionApiUO.Picking

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3287.

public int Picking()

Результат: int.

Результат: bridge.Picking().

Виклики: bridge.Picking.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.Random

Перевіряє умови нижче й повертає показаний результат.

Параметри: min, max

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5945.

public int Random(int min, int max)

Результат: int.

Результат: min; (int)(min + (long)random.Next((int)count)); (int)(min + (long)(sample % (ulong)count)).

Виклики: random.Next, random.NextBytes, BitConverter.ToUInt32.

Умови: min > max; min == max; count <= int.MaxValue.

Внутрішній код реалізації, не самостійний скрипт.

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

Розбирає або знаходить значення аргументу за правилами, показаними в коді.

Параметри: value

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5099.

private int ResolveCompactMaxZ(InjectionValue value)

Результат: int.

Результат: parsed < 0 ? bridge.GetFindVertical() : Math.Max(0, parsed).

Виклики: NumberConversions.ToInt, bridge.GetFindVertical, Math.Max.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

private int ResolveCompactMaxZ(InjectionValue value)

        {

            int parsed = NumberConversions.ToInt(value);

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

        }

InjectionScript.Runtime.InjectionApiUO.Say

Виконує показані виклики та оновлення стану.

Параметри: message

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5288.

public void Say(string message)

Результат: void.

Виклики: bridge.Say.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.Snap

Повертає значення виразу нижче.

Параметри: name, quality

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5922.

public int Snap(string name, int quality)

Результат: int.

Результат: bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), true).

Виклики: bridge.Snap, Math.Max, Math.Min.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.Snap

Повертає значення виразу нижче.

Параметри: name, quality, includeUi

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5923.

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

Результат: int.

Результат: bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), includeUi).

Виклики: bridge.Snap, Math.Max, Math.Min.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

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

InjectionScript.Runtime.InjectionApiUO.TryDeserializeRecordedLegacyAction

Перевіряє умови нижче й повертає показаний результат.

Параметри: recording, name, arguments

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2713.

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

Результат: bool.

Результат: false; !string.IsNullOrWhiteSpace(name).

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

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

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

Повертає значення виразу нижче.

Параметри: type

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4081.

public int UseFromGround(InjectionValue type)

Результат: int.

Результат: UseFromGround(type, new InjectionValue(-1)).

Виклики: UseFromGround.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.InjectionApiUO.WaitTargetObject

Виконує показані виклики та оновлення стану.

Параметри: id1, id2

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4176.

public void WaitTargetObject(int id1, int id2)

Результат: void.

Виклики: bridge.WaitTargetObject, Timer.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

public void WaitTargetObject(int id1, int id2)

        {

            bridge.WaitTargetObject(id1, id2);

            ticksTarget = Timer();

        }

InjectionScript.Runtime.InjectionApiUO.WaitingForJournalText

Виконує показані виклики та оновлення стану.

Параметри: startTime, maxDelay, text, equals

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5419.

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

Результат: void.

Виклики: WaitingForJournalText.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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

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

InjectionScript.Runtime.InjectionApiUO.Register [FindType]

Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:404.

values

Результат: values.

Результат: CompactFindType(values[0], values[1], values[2], values[3], values[4], values[5]).

Виклики: CompactFindType.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

values =>

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

InjectionScript.Runtime.InjectionApiUO.Register [Follow]

Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:856.

values

Результат: values.

Виклики: follow.Follow, GetObject, NumberConversions.ToInt.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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]

Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1067.

serial

Результат: serial.

Результат: bridge.Flying(serial).

Виклики: bridge.Flying.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

serial => bridge.Flying(serial)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetMaxWeight]

Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1034.

Результат: bridge.MaxWeight.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

() => bridge.MaxWeight

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetStr]

Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1030.

Результат: bridge.Strength.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

() => bridge.Strength

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.

Результат: getter(bridge.Self).

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.

Результат: getter(bridge.Self).

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Повертає значення виразу нижче.

Параметри: Немає параметрів.

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.

Результат: getter(bridge.Self).

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

() => getter(bridge.Self)

InjectionScript.Runtime.NativeSubrutineMetadata.TryGet

Перевіряє умови нижче й повертає показаний результат.

Параметри: name, argumentValues, subrutineDefinition

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeSubrutineMetadata.cs:34.

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

Результат: bool.

Результат: false; true; subrutineDefinition != null.

Виклики: byName.TryGetValue, argumentValues.ToArray, arities.TryGetValue, StringComparer.OrdinalIgnoreCase.Compare, candidate.GetSignature, wildcard.GetSignature.

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

Внутрішній код реалізації, не самостійний скрипт.

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

Перевіряє умови нижче й повертає показаний результат.

Параметри: startX, startY, startZ, finishX, finishY, finishZ, accuracy, accuracyZ, maxSteps, diagonal, checkStep, checkCancellation, scheduleSlice

Джерело: 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)`

Результат: (int X, int Y, int Z)[].

Результат: empty; result.

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

Умови: !ValidPoint(startX, startY, startZ) || !ValidPoint(finishX, finishY, finishZ); start.Estimate > limit.

Виклики:

Внутрішній код реалізації, не самостійний скрипт.

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;
// …

Повний код зберігається у файлі джерела; нижче наведено точні фрагменти.

InjectionScript.Runtime.State.NamedTypes.TryGet

Повертає значення виразу нижче.

Параметри: name, graphic

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedTypes.cs:30.

public bool TryGet(string name, out int graphic)

Результат: bool.

Результат: values.TryGetValue((name ?? string.Empty).Trim(), out graphic).

Виклики: values.TryGetValue, (name ?? string.Empty).Trim.

Внутрішній код реалізації, не самостійний скрипт.

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

InjectionScript.Runtime.State.RuntimeDictionary.Set

Виконує показані виклики та оновлення стану.

Параметри: name, value

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/RuntimeDictionary.cs:16.

public void Set(string name, T value)

Результат: void.

Виклики: items.ContainsKey, items.Add, .Invoke.

Умови: !items.ContainsKey(name); notify.

Внутрішній код реалізації, не самостійний скрипт.

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