Skip to content

Runtime Helpers 3

Codex edited this page Oct 12, 2026 · 1 revision

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

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

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

ClassicUO.Configuration.ProfileManager.ValidateFields

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

Параметри: profile

Джерело: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:393.

internal static void ValidateFields(Profile profile)

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

Виклики: Math.Clamp, string.IsNullOrEmpty, BackNewbieAutomationManager.ClampAutoLootDelay, BackNewbieRuleLists.CreateDefault, BackNewbieRuleLists.Normalize, BackNewbieItemLabelManager.NormalizeProfile, profile.BackNewbieSpellCastTimeOverrides.Remove.

Умови: profile == null; string.IsNullOrEmpty(profile.ServerName); string.IsNullOrEmpty(profile.Username); string.IsNullOrEmpty(profile.CharacterName).

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

internal static void ValidateFields(Profile profile)
        {
            if (profile == null)
            {
                return;
            }

            profile.BackNewbieObstacleScanDistance = Math.Clamp(profile.BackNewbieObstacleScanDistance, 0, 5);
            profile.BackNewbieObstacleLookAhead = Math.Clamp(profile.BackNewbieObstacleLookAhead, 0, 5);
            profile.BackNewbieViewRange = Math.Clamp(profile.BackNewbieViewRange, Constants.MIN_VIEW_RANGE, Constants.MAX_VIEW_RANGE);
// …
            if (string.IsNullOrEmpty(profile.ServerName))
// …
                throw new InvalidDataException();
// …
            if (string.IsNullOrEmpty(profile.Username))
// …
                throw new InvalidDataException();
// …
            if (string.IsNullOrEmpty(profile.CharacterName))
// …
                throw new InvalidDataException();
// …
            if (profile.WindowClientBounds.X < 600)
// …
            if (profile.WindowClientBounds.Y < 480)
// …
                if (spellId <= 0)
// …

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

ClassicUO.Game.GameActions.RequestPartyInviteByTarget

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

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

Джерело: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:564.

public static void RequestPartyInviteByTarget()

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

Виклики: Socket.Send_PartyInviteRequest.

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

public static void RequestPartyInviteByTarget()
        {
            Socket.Send_PartyInviteRequest();
        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AttackLast

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

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

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

public int AttackLast()

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

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { LastTargetInfo last = _world.TargetManager.LastTargetInfo; if (!last.IsEntity) return 0; GameActions.Attack(_world, last.Serial); return 1; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { LastTargetInfo last = _world.TargetManager.LastTargetInfo; if (!last.IsEntity) return 0; GameActions.Attack(_world, last.Serial); return 1; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.GameActions.Attack: GameActions.Attack(_world, last.Serial).

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

public int AttackLast() => Invoke(() =>

        {

            LastTargetInfo last = _world.TargetManager.LastTargetInfo;

            if (!last.IsEntity)

                return 0;



            GameActions.Attack(_world, last.Serial);

            return 1;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Cast

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

Параметри: spellId

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

public int Cast(int spellId)

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

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

Виклики: IsOnline, Dead, Invoke.

Умови: spellId <= 0 || IsOnline() == 0 || Dead() != 0.

Виклики:

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

public int Cast(int spellId)

        {

            if (spellId <= 0 || IsOnline() == 0 || Dead() != 0)

                return 0;

            Invoke(() => GameActions.CastSpell(ToClassicUOCastIndex(spellId)));

            return 1;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CheckWorldStep

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

Параметри: currentX, currentY, currentZ, destinationX, destinationY, map

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

public int[] CheckWorldStep(int currentX, int currentY, int currentZ, int destinationX, int destinationY, int map)

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

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map == null || _world.Player?.Pathfinder == null || _world.Player.IsDestroyed || map != _world.MapIndex) { return new[] { 0, currentZ }; } // Validate before the identity shortcut and before coordinate arithmetic. // Otherwise an absent map cell can report success without touching terrain. int[,] blocks = Client.UO?.FileManager?.Maps?.MapBlocksSize; if ((uint)currentX > ushort.MaxValue || (uint)currentY > ushort.MaxValue || (uint)destinationX > ushort.MaxValue || (uint)destinationY > ushort.MaxValue || currentZ < sbyte.MinValue || currentZ > sbyte.MaxValue || blocks == null || (uint)map >= blocks.GetLength(0) || blocks.GetLength(1) < 2 || blocks[map, 0] <= 0 || blocks[map, 1] <= 0 || (currentX >> 3) >= blocks[map, 0] || (currentY >> 3) >= blocks[map, 1] || (destinationX >> 3) >= blocks[map, 0] || (destinationY >> 3) >= blocks[map, 1]) return new[] { 0, currentZ }; int deltaX = destinationX - currentX; int deltaY = destinationY - currentY; if (Math.Abs(deltaX) > 1 || Math.Abs(deltaY) > 1) return new[] { 0, currentZ }; int dx = Math.Sign(deltaX); int dy = Math.Sign(deltaY); int direction = dx == 0 ? (dy < 0 ? 0 : dy > 0 ? 4 : -1) : dy == 0 ? (dx > 0 ? 2 : 6) : dx > 0 ? (dy < 0 ? 1 : 3) : (dy > 0 ? 5 : 7); if (direction < 0) return new[] { 1, currentZ }; Direction actualDirection = (Direction)direction; int x = currentX; int y = currentY; sbyte z = (sbyte)currentZ; bool passable = _world.Player.Pathfinder.CanWalkForQuery(ref actualDirection, ref x, ref y, ref z) && x == destinationX && y == destinationY; return new[] { passable ? 1 : 0, (int)z }; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map == null || _world.Player?.Pathfinder == null || _world.Player.IsDestroyed || map != _world.MapIndex) { return new[] { 0, currentZ }; } // Validate before the identity shortcut and before coordinate arithmetic. // Otherwise an absent map cell can report success without touching terrain. int[,] blocks = Client.UO?.FileManager?.Maps?.MapBlocksSize; if ((uint)currentX > ushort.MaxValue || (uint)currentY > ushort.MaxValue || (uint)destinationX > ushort.MaxValue || (uint)destinationY > ushort.MaxValue || currentZ < sbyte.MinValue || currentZ > sbyte.MaxValue || blocks == null || (uint)map >= blocks.GetLength(0) || blocks.GetLength(1) < 2 || blocks[map, 0] <= 0 || blocks[map, 1] <= 0 || (currentX >> 3) >= blocks[map, 0] || (currentY >> 3) >= blocks[map, 1] || (destinationX >> 3) >= blocks[map, 0] || (destinationY >> 3) >= blocks[map, 1]) return new[] { 0, currentZ }; int deltaX = destinationX - currentX; int deltaY = destinationY - currentY; if (Math.Abs(deltaX) > 1 || Math.Abs(deltaY) > 1) return new[] { 0, currentZ }; int dx = Math.Sign(deltaX); int dy = Math.Sign(deltaY); int direction = dx == 0 ? (dy < 0 ? 0 : dy > 0 ? 4 : -1) : dy == 0 ? (dx > 0 ? 2 : 6) : dx > 0 ? (dy < 0 ? 1 : 3) : (dy > 0 ? 5 : 7); if (direction < 0) return new[] { 1, currentZ }; Direction actualDirection = (Direction)direction; int x = currentX; int y = currentY; sbyte z = (sbyte)currentZ; bool passable = _world.Player.Pathfinder.CanWalkForQuery(ref actualDirection, ref x, ref y, ref z) && x == destinationX && y == destinationY; return new[] { passable ? 1 : 0, (int)z }; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.

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

public int[] CheckWorldStep(int currentX, int currentY, int currentZ, int destinationX, int destinationY, int map) => Invoke(() =>

        {

            if (_world.Map == null || _world.Player?.Pathfinder == null || _world.Player.IsDestroyed || map != _world.MapIndex)

            {

                return new[] { 0, currentZ };

            }



            // Validate before the identity shortcut and before coordinate arithmetic.

            // Otherwise an absent map cell can report success without touching terrain.

            int[,] blocks = Client.UO?.FileManager?.Maps?.MapBlocksSize;

            if ((uint)currentX > ushort.MaxValue || (uint)currentY > ushort.MaxValue

                || (uint)destinationX > ushort.MaxValue || (uint)destinationY > ushort.MaxValue

                || currentZ < sbyte.MinValue || currentZ > sbyte.MaxValue

                || blocks == null || (uint)map >= blocks.GetLength(0) || blocks.GetLength(1) < 2

                || blocks[map, 0] <= 0 || blocks[map, 1] <= 0

                || (currentX >> 3) >= blocks[map, 0] || (currentY >> 3) >= blocks[map, 1]

                || (destinationX >> 3) >= blocks[map, 0] || (destinationY >> 3) >= blocks[map, 1])

                return new[] { 0, currentZ };



            int deltaX = destinationX - currentX;

            int deltaY = destinationY - currentY;

            if (Math.Abs(deltaX) > 1 || Math.Abs(deltaY) > 1)

                return new[] { 0, currentZ };



            int dx = Math.Sign(deltaX);

            int dy = Math.Sign(deltaY);

            int direction = dx == 0

                ? (dy < 0 ? 0 : dy > 0 ? 4 : -1)

                : dy == 0

                    ? (dx > 0 ? 2 : 6)

                    : dx > 0

                        ? (dy < 0 ? 1 : 3)

                        : (dy > 0 ? 5 : 7);

            if (direction < 0) return new[] { 1, currentZ };



            Direction actualDirection = (Direction)direction;

            int x = currentX;

            int y = currentY;

            sbyte z = (sbyte)currentZ;

            bool passable = _world.Player.Pathfinder.CanWalkForQuery(ref actualDirection, ref x, ref y, ref z)

                && x == destinationX && y == destinationY;

            return new[] { passable ? 1 : 0, (int)z };

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientMarkChar

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

Параметри: actionIndex, id

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

public void ClientMarkChar(int actionIndex, int id)

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

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (actionIndex is 1 or 3) { _world.TargetManager.LastTargetInfo.SetEntity((uint)id); } if (actionIndex is 2 or 3) { _world.TargetManager.LastAttack = (uint)id; } if (actionIndex < 1 || actionIndex > 3) { Error("UO.ClientMarkChar: ActionIndex must be 1 (LastTarget), 2 (LastAttack), or 3 (both)"); } }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (actionIndex is 1 or 3) { _world.TargetManager.LastTargetInfo.SetEntity((uint)id); } if (actionIndex is 2 or 3) { _world.TargetManager.LastAttack = (uint)id; } if (actionIndex < 1 || actionIndex > 3) { Error("UO.ClientMarkChar: ActionIndex must be 1 (LastTarget), 2 (LastAttack), or 3 (both)"); } }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error: Error("UO.ClientMarkChar: ActionIndex must be 1 (LastTarget), 2 (LastAttack), or 3 (both)").

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

public void ClientMarkChar(int actionIndex, int id) => Invoke(() =>

        {

            if (actionIndex is 1 or 3)

            {

                _world.TargetManager.LastTargetInfo.SetEntity((uint)id);

            }

            if (actionIndex is 2 or 3)

            {

                _world.TargetManager.LastAttack = (uint)id;

            }

            if (actionIndex < 1 || actionIndex > 3)

            {

                Error("UO.ClientMarkChar: ActionIndex must be 1 (LastTarget), 2 (LastAttack), or 3 (both)");

            }

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientPath

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

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

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

public string ClientPath

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

Результат: CUOEnviroment.ExecutablePath.

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

public string ClientPath => CUOEnviroment.ExecutablePath;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindTypes

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

Параметри: types, colors, containers, recursive

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

public int FindTypes(int[] types, int[] colors, int[] containers, bool recursive)

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

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { ResetFindResults(); IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList); HashSet<ushort> wantedTypes = BuildFindIdentityMask(types); HashSet<ushort> wantedColors = BuildFindIdentityMask(colors); int[] wantedContainers = containers == null || containers.Length == 0 ? new[] { -1 } : containers; int effectiveRange = ResolveFindRange(State.FindDistance); foreach (Item item in _world.Items.Values) { if (!MatchesFindIdentity(item, wantedTypes, wantedColors, ignoredTypes) || !wantedContainers.Any(container => MatchesFindContainer(item, container, effectiveRange, recursive))) { continue; } RegisterFound(item); } if (wantedContainers.Any(IsGroundFindContainer)) { foreach (Mobile mobile in _world.Mobiles.Values) { if (!MatchesFindMobile(mobile, wantedTypes, wantedColors, effectiveRange, ignoredTypes)) { continue; } RegisterFound(mobile); } } return _findItem; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { ResetFindResults(); IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList); HashSet<ushort> wantedTypes = BuildFindIdentityMask(types); HashSet<ushort> wantedColors = BuildFindIdentityMask(colors); int[] wantedContainers = containers == null || containers.Length == 0 ? new[] { -1 } : containers; int effectiveRange = ResolveFindRange(State.FindDistance); foreach (Item item in _world.Items.Values) { if (!MatchesFindIdentity(item, wantedTypes, wantedColors, ignoredTypes) || !wantedContainers.Any(container => MatchesFindContainer(item, container, effectiveRange, recursive))) { continue; } RegisterFound(item); } if (wantedContainers.Any(IsGroundFindContainer)) { foreach (Mobile mobile in _world.Mobiles.Values) { if (!MatchesFindMobile(mobile, wantedTypes, wantedColors, effectiveRange, ignoredTypes)) { continue; } RegisterFound(mobile); } } return _findItem; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResetFindResults: ResetFindResults().
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.BuildFindIdentityMask: BuildFindIdentityMask(types).
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.BuildFindIdentityMask: BuildFindIdentityMask(colors).
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResolveFindRange: ResolveFindRange(State.FindDistance).
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MatchesFindIdentity: MatchesFindIdentity(item, wantedTypes, wantedColors, ignoredTypes). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MatchesFindIdentity: MatchesFindIdentity(item, wantedTypes, wantedColors, ignoredTypes). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound: RegisterFound(item). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound: RegisterFound(item). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MatchesFindMobile: MatchesFindMobile(mobile, wantedTypes, wantedColors, effectiveRange, ignoredTypes). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MatchesFindMobile: MatchesFindMobile(mobile, wantedTypes, wantedColors, effectiveRange, ignoredTypes). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound: RegisterFound(mobile). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound: RegisterFound(mobile). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.

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

public int FindTypes(int[] types, int[] colors, int[] containers, bool recursive)

        {

            return Invoke(() =>

            {

                ResetFindResults();

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

                HashSet<ushort> wantedTypes = BuildFindIdentityMask(types);

                HashSet<ushort> wantedColors = BuildFindIdentityMask(colors);

                int[] wantedContainers = containers == null || containers.Length == 0 ? new[] { -1 } : containers;

                int effectiveRange = ResolveFindRange(State.FindDistance);



                foreach (Item item in _world.Items.Values)

                {

                    if (!MatchesFindIdentity(item, wantedTypes, wantedColors, ignoredTypes)

                        || !wantedContainers.Any(container => MatchesFindContainer(item, container, effectiveRange, recursive)))

                    {

                        continue;

                    }



                    RegisterFound(item);

                }



                if (wantedContainers.Any(IsGroundFindContainer))

                {

                    foreach (Mobile mobile in _world.Mobiles.Values)

                    {

                        if (!MatchesFindMobile(mobile, wantedTypes, wantedColors, effectiveRange, ignoredTypes))

                        {

                            continue;

                        }



                        RegisterFound(mobile);

                    }

                }



                return _findItem;

            });

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetAutoSellDelay

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

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

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

public int GetAutoSellDelay()

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

Результат: Invoke(() => ProfileManager.CurrentProfile?.BackNewbieAutoSellDelay ?? 3).

Виклики: Invoke.

Виклики:

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

public int GetAutoSellDelay() => Invoke(() => ProfileManager.CurrentProfile?.BackNewbieAutoSellDelay ?? 3);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetBuffBarInfo

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

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

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

public string[] GetBuffBarInfo()

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

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => _world.Player?.BuffIcons.Values .Select(buff => string.Join("|", (int)buff.Type, buff.Graphic, buff.Timer == uint.MaxValue ? -1 : Math.Max(0L, buff.Timer - Time.Ticks), buff.Text ?? string.Empty)) .ToArray() ?? Array.Empty<string>()). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => _world.Player?.BuffIcons.Values .Select(buff => string.Join("|", (int)buff.Type, buff.Graphic, buff.Timer == uint.MaxValue ? -1 : Math.Max(0L, buff.Timer - Time.Ticks), buff.Text ?? string.Empty)) .ToArray() ?? Array.Empty<string>()). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.

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

public string[] GetBuffBarInfo() => Invoke(() => _world.Player?.BuffIcons.Values

            .Select(buff => string.Join("|",

                (int)buff.Type,

                buff.Graphic,

                buff.Timer == uint.MaxValue ? -1 : Math.Max(0L, buff.Timer - Time.Ticks),

                buff.Text ?? string.Empty))

            .ToArray() ?? Array.Empty<string>());

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpButtonsDescription

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

Параметри: index

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

public string[] GetGumpButtonsDescription(int index)

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

Виклики: Invoke.

Виклики:

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

public string[] GetGumpButtonsDescription(int index) => Invoke(() =>

        {

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

            return gump == null ? Array.Empty<string>() : Descendants(gump)

                .Where(IsButtonControl).Select(DescribeControl).ToArray();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetJournalText

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

Параметри: index

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

public string GetJournalText(int index)

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

Результат: GetJournalEntry(index)?.Text ?? string.Empty.

Виклики: GetJournalEntry.

Виклики:

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

public string GetJournalText(int index) => GetJournalEntry(index)?.Text ?? string.Empty;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetSurfaceZ

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

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

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

public int GetSurfaceZ(int x, int y, int map)

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

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map == null || map != _world.MapIndex) { Error($"UO.GetSurfaceZ: map {map} is not the currently loaded map {_world.MapIndex}"); return 0; } for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (tile is Land land) return land.AverageZ; } return 0; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map == null || map != _world.MapIndex) { Error($"UO.GetSurfaceZ: map {map} is not the currently loaded map {_world.MapIndex}"); return 0; } for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (tile is Land land) return land.AverageZ; } return 0; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error: Error($"UO.GetSurfaceZ: map {map} is not the currently loaded map {_world.MapIndex}").

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

public int GetSurfaceZ(int x, int y, int map) => Invoke(() =>

        {

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

            {

                Error($"UO.GetSurfaceZ: map {map} is not the currently loaded map {_world.MapIndex}");

                return 0;

            }



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

            {

                if (tile is Land land) return land.AverageZ;

            }

            return 0;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTileDataName

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

Параметри: group, tileId

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

public string GetTileDataName(int group, int tileId)

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

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (group == 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.LandData.Length) return Client.UO.FileManager.TileData.LandData[tileId].Name ?? string.Empty; if (group != 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.StaticData.Length) return Client.UO.FileManager.TileData.StaticData[tileId].Name ?? string.Empty; return string.Empty; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (group == 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.LandData.Length) return Client.UO.FileManager.TileData.LandData[tileId].Name ?? string.Empty; if (group != 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.StaticData.Length) return Client.UO.FileManager.TileData.StaticData[tileId].Name ?? string.Empty; return string.Empty; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.

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

public string GetTileDataName(int group, int tileId) => Invoke(() =>

        {

            if (group == 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.LandData.Length)

                return Client.UO.FileManager.TileData.LandData[tileId].Name ?? string.Empty;

            if (group != 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.StaticData.Length)

                return Client.UO.FileManager.TileData.StaticData[tileId].Name ?? string.Empty;

            return string.Empty;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTileXYM

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

Параметри: x, y, map, tileStart, tileEnd, uoPath

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

public int[] GetTileXYM(int x, int y, int map, int tileStart, int tileEnd, string uoPath)

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

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map == null || map != _world.MapIndex) { Error($"UO.GetTileXYM: map {map} is not the currently loaded map {_world.MapIndex}"); return Array.Empty<int>(); } var result = new List<int>(); for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (tile.Graphic < tileStart || tile.Graphic > tileEnd) continue; result.Add(tile.Graphic); result.Add(tile.X); result.Add(tile.Y); result.Add(tile.Z); } return result.ToArray(); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map == null || map != _world.MapIndex) { Error($"UO.GetTileXYM: map {map} is not the currently loaded map {_world.MapIndex}"); return Array.Empty<int>(); } var result = new List<int>(); for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (tile.Graphic < tileStart || tile.Graphic > tileEnd) continue; result.Add(tile.Graphic); result.Add(tile.X); result.Add(tile.Y); result.Add(tile.Z); } return result.ToArray(); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error: Error($"UO.GetTileXYM: map {map} is not the currently loaded map {_world.MapIndex}").

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

public int[] GetTileXYM(int x, int y, int map, int tileStart, int tileEnd, string uoPath) => Invoke(() =>

        {

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

            {

                Error($"UO.GetTileXYM: map {map} is not the currently loaded map {_world.MapIndex}");

                return Array.Empty<int>();

            }

            var result = new List<int>();

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

            {

                if (tile.Graphic < tileStart || tile.Graphic > tileEnd)

                    continue;

                result.Add(tile.Graphic);

                result.Add(tile.X);

                result.Add(tile.Y);

                result.Add(tile.Z);

            }

            return result.ToArray();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastStatus

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

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

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

public int LastStatus

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

Результат: Invoke(() => unchecked((int)_world.LastStatus)).

Виклики: Invoke.

Виклики:

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

public int LastStatus => Invoke(() => unchecked((int)_world.LastStatus));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Mana

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

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

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

public int Mana

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

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

Виклики: Invoke.

Виклики:

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

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassPriceMove

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

Параметри: delayMs, quantity, type, price, destination, x, y, z

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

public void MassPriceMove(int delayMs, int quantity, int type, int price, int destination, int x, int y, int z)

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

Виклики: Invoke.

Виклики:

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

public void MassPriceMove(int delayMs, int quantity, int type, int price, int destination, int x, int y, int z)

            => Invoke(() =>

            {

                _manager.CancelVendorPrices();

                _manager.MassMover.Configure(delayMs, quantity, type, destination, x, y, z, price);

            });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MaxWeight

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

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

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

public int MaxWeight

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

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

Виклики: Invoke.

Виклики:

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

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MoveBoat

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

Параметри: direction, speed

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

public void MoveBoat(int direction, int speed)

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

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => _world.BoatMovingManager.MoveRequest((Direction)(direction & 7), (byte)Math.Max(0, Math.Min(byte.MaxValue, speed)))). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => _world.BoatMovingManager.MoveRequest((Direction)(direction & 7), (byte)Math.Max(0, Math.Min(byte.MaxValue, speed)))). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.

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

public void MoveBoat(int direction, int speed) => Invoke(() =>

            _world.BoatMovingManager.MoveRequest((Direction)(direction & 7), (byte)Math.Max(0, Math.Min(byte.MaxValue, speed))));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.OpenIDE

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

Параметри: filePath

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

public void OpenIDE(string filePath)

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

Виклики: string.IsNullOrWhiteSpace, Path.IsPathRooted, Path.Combine, Invoke.

Виклики:

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

public void OpenIDE(string filePath)

        {

            string requested = string.IsNullOrWhiteSpace(filePath)

                ? null

                : Path.IsPathRooted(filePath) ? filePath : Path.Combine(_manager.AutoloadPath, filePath);

            Invoke(() => YokoScriptEditorGump.Open(_world, requested));

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RClick

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

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

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

public void RClick(int x, int y)

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

Виклики: Invoke.

Виклики:

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

public void RClick(int x, int y) => Invoke(() =>

        {

            WarpMouse(x, y);

            MouseButton(0x0008, 0x0010);

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RemoveUserStatic

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

Параметри: id

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

public void RemoveUserStatic(int id)

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

Виклики: Invoke.

Виклики:

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

public void RemoveUserStatic(int id) => Invoke(() => _manager.RemoveUserStatic(id));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequireGameView

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

Параметри: command

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

private static GameController RequireGameView(string command)

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

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

private static GameController RequireGameView(string command) => Client.Game

            ?? throw new InvalidOperationException(command + " requires an open graphical ClassicUO window. Open it in Manager.");

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResolveAbility

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

Параметри: abilityNameOrId

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

public int ResolveAbility(string abilityNameOrId)

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

Результат: ResolveClassicUOAbilityId(abilityNameOrId).

Виклики: ResolveClassicUOAbilityId.

Виклики:

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

public int ResolveAbility(string abilityNameOrId) => ResolveClassicUOAbilityId(abilityNameOrId);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResolveClassicUOSpellId

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

Параметри: spellNameOrId

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

internal static int ResolveClassicUOSpellId(string spellNameOrId)

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

Результат: numericSpell != null && numericSpell.ID == numericId ? numericId : 0; 0; spell.ID.

Виклики: (spellNameOrId ?? string.Empty).Trim, int.TryParse, SpellDefinition.FullIndexGetSpell, NormalizeSpellName, EnumerateClassicUOSpells.

Умови: int.TryParse(requested, NumberStyles.Integer, CultureInfo.InvariantCulture, out int numericId); normalized.Length == 0; `NormalizeSpellName(spell.Name) == normalized

                || NormalizeSpellName(spell.PowerWords) == normalized`.

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

internal static int ResolveClassicUOSpellId(string spellNameOrId)

        {

            string requested = (spellNameOrId ?? string.Empty).Trim();

            if (int.TryParse(requested, NumberStyles.Integer, CultureInfo.InvariantCulture, out int numericId))

            {

                SpellDefinition numericSpell = SpellDefinition.FullIndexGetSpell(numericId);

                return numericSpell != null && numericSpell.ID == numericId ? numericId : 0;

            }



            string normalized = NormalizeSpellName(requested);

            if (normalized.Length == 0)

                return 0;



            foreach (SpellDefinition spell in EnumerateClassicUOSpells())

            {

                if (NormalizeSpellName(spell.Name) == normalized

                    || NormalizeSpellName(spell.PowerWords) == normalized)

                    return spell.ID;

            }



            return 0;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoSellDelay

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

Параметри: value

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

public void SetAutoSellDelay(int value)

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

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (ProfileManager.CurrentProfile == null) return; ProfileManager.CurrentProfile.BackNewbieAutoSellDelay = Math.Clamp(value, 0, ushort.MaxValue); ProfileManager.SaveCurrentProfile(); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (ProfileManager.CurrentProfile == null) return; ProfileManager.CurrentProfile.BackNewbieAutoSellDelay = Math.Clamp(value, 0, ushort.MaxValue); ProfileManager.SaveCurrentProfile(); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Configuration.ProfileManager.SaveCurrentProfile: ProfileManager.SaveCurrentProfile().

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

public void SetAutoSellDelay(int value) => Invoke(() =>

        {

            if (ProfileManager.CurrentProfile == null) return;

            ProfileManager.CurrentProfile.BackNewbieAutoSellDelay = Math.Clamp(value, 0, ushort.MaxValue);

            ProfileManager.SaveCurrentProfile();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetJournalLength

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

Параметри: length

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

public void SetJournalLength(int length)

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

Виклики: Invoke.

Виклики:

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

public void SetJournalLength(int length) => Invoke(() => _manager.SetJournalLength(length));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StealthCnt

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

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

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

public int StealthCnt()

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

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { PlayerMobile player = _world.Player; if (player == null || !player.IsHidden) { _stealthCount = 0; _lastStealthX = player?.X ?? -1; _lastStealthY = player?.Y ?? -1; return 0; } if (_lastStealthX >= 0 && _lastStealthY >= 0) { _stealthCount += Math.Max(Math.Abs(player.X - _lastStealthX), Math.Abs(player.Y - _lastStealthY)); } _lastStealthX = player.X; _lastStealthY = player.Y; return _stealthCount; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { PlayerMobile player = _world.Player; if (player == null || !player.IsHidden) { _stealthCount = 0; _lastStealthX = player?.X ?? -1; _lastStealthY = player?.Y ?? -1; return 0; } if (_lastStealthX >= 0 && _lastStealthY >= 0) { _stealthCount += Math.Max(Math.Abs(player.X - _lastStealthX), Math.Abs(player.Y - _lastStealthY)); } _lastStealthX = player.X; _lastStealthY = player.Y; return _stealthCount; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.

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

public int StealthCnt() => Invoke(() =>

        {

            PlayerMobile player = _world.Player;

            if (player == null || !player.IsHidden)

            {

                _stealthCount = 0;

                _lastStealthX = player?.X ?? -1;

                _lastStealthY = player?.Y ?? -1;

                return 0;

            }



            if (_lastStealthX >= 0 && _lastStealthY >= 0)

            {

                _stealthCount += Math.Max(Math.Abs(player.X - _lastStealthX), Math.Abs(player.Y - _lastStealthY));

            }

            _lastStealthX = player.X;

            _lastStealthY = player.Y;

            return _stealthCount;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StopBoat

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

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

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

public void StopBoat()

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

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => _world.BoatMovingManager.MoveRequest(_world.Player?.Direction ?? Direction.North, 0)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => _world.BoatMovingManager.MoveRequest(_world.Player?.Direction ?? Direction.North, 0)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.

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

public void StopBoat() => Invoke(() =>

            _world.BoatMovingManager.MoveRequest(_world.Player?.Direction ?? Direction.North, 0));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Track

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

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

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

public void Track(int x, int y)

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

Виклики: Invoke.

Виклики:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => _world.CharacterPanels.SetArrow(SessionCharacterPanels.TrackSerial, true, x, y)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => _world.CharacterPanels.SetArrow(SessionCharacterPanels.TrackSerial, true, x, y)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.

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

public void Track(int x, int y) => Invoke(() => _world.CharacterPanels.SetArrow(SessionCharacterPanels.TrackSerial, true, x, y));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TradeName

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

Параметри: windowIndex

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

public string TradeName(int windowIndex)

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

Виклики: Invoke.

Виклики:

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

public string TradeName(int windowIndex) => Invoke(() =>

        {

            ISessionTrade gump = FindTrade(windowIndex);

            return gump?.OpponentName ?? string.Empty;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UsePrimaryAbility

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

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

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

public void UsePrimaryAbility()

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

Виклики: Invoke.

Виклики:

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

public void UsePrimaryAbility() => Invoke(() => GameActions.UsePrimaryAbility(_world));

ClassicUO.Game.Scenes.LoginScene.ResolveReconnectPassword

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

Параметри: account

Джерело: Project_Full/src/ClassicUO.Client/Game/Scenes/LoginScene.cs:339.

internal static string ResolveReconnectPassword(string account)

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

Результат: Crypter.Decrypt(_cachedPassword); Crypter.Decrypt(Settings.GlobalSettings.Password); string.Empty.

Виклики: string.Equals, Crypter.Decrypt.

Умови: _hasCachedCredentials && string.Equals(account, _cachedAccount, StringComparison.Ordinal); string.Equals(account, Settings.GlobalSettings.Username, StringComparison.Ordinal).

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

internal static string ResolveReconnectPassword(string account)
        {
            if (_hasCachedCredentials
                && string.Equals(account, _cachedAccount, StringComparison.Ordinal))
            {
                return Crypter.Decrypt(_cachedPassword);
            }

            if (string.Equals(account, Settings.GlobalSettings.Username, StringComparison.Ordinal))
                return Crypter.Decrypt(Settings.GlobalSettings.Password);

            return string.Empty;
        }

ClassicUO.Game.UI.Gumps.WorldMapGump.RemoveYokoMapFigure

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

Параметри: figureId

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

internal static int RemoveYokoMapFigure(int figureId)

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

Результат: _yokoMapFigures.Remove(figureId) ? 1 : 0.

Виклики: _yokoMapFigures.Remove.

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

internal static int RemoveYokoMapFigure(int figureId) => _yokoMapFigures.Remove(figureId) ? 1 : 0;

ClassicUO.Game.UI.Gumps.YokoTextWindowGump.Show

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

Параметри: world, lines

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

internal static YokoTextWindowGump Show(World world, IReadOnlyList<string> lines)

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

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

Виклики: UIManager.GetGump<YokoTextWindowGump>, UIManager.Add, gump.SetLines, gump.SetInScreen, gump.BringOnTop.

Умови: gump == null || gump.IsDisposed.

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

internal static YokoTextWindowGump Show(World world, IReadOnlyList<string> lines)
        {
            YokoTextWindowGump gump = UIManager.GetGump<YokoTextWindowGump>();
            if (gump == null || gump.IsDisposed)
            {
                gump = new YokoTextWindowGump(world);
                UIManager.Add(gump);
            }
            gump.SetLines(lines);
            gump.SetInScreen();
            gump.BringOnTop();
            return gump;
        }

ClassicUO.Game.World.RemoveItemFromContainer

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

Параметри: obj

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

public void RemoveItemFromContainer(Item obj)

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

Виклики: SerialHelper.IsMobile, UIManager.GetGump<PaperDollGump>, .RequestUpdateContents, SerialHelper.IsItem, UIManager.GetGump<ContainerGump>, Get, container.Remove, obj.RemoveFromTile.

Умови: containerSerial != 0xFFFF_FFFF; SerialHelper.IsMobile(containerSerial); SerialHelper.IsItem(containerSerial); container != null.

Виклики:

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

public void RemoveItemFromContainer(Item obj)

        {

            uint containerSerial = obj.Container;



            // if entity is running the "dying" animation we have to reset container too.

            // SerialHelper.IsValid(containerSerial) is not ideal in this case

            if (containerSerial != 0xFFFF_FFFF)

            {

                if (SerialHelper.IsMobile(containerSerial))

                {

                    UIManager.GetGump<PaperDollGump>(containerSerial)?.RequestUpdateContents();

                }

                else if (SerialHelper.IsItem(containerSerial))

                {

                    UIManager.GetGump<ContainerGump>(containerSerial)?.RequestUpdateContents();

                }



                Entity container = Get(containerSerial);



                if (container != null)

                {

                    container.Remove(obj);

                }



                obj.Container = 0xFFFF_FFFF;

            }



            obj.Next = null;

            obj.Previous = null;

            obj.RemoveFromTile();

        }

InjectionScript.Runtime.InjectionApiUO.ApiSignatureExists

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

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

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

public int ApiSignatureExists(string name, int argumentCount)

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

Результат: metadata.NativeSubrutineExists(NormalizeApiName(name), argumentCount) ? 1 : 0.

Виклики: metadata.NativeSubrutineExists, NormalizeApiName.

Виклики:

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

public int ApiSignatureExists(string name, int argumentCount)

            => metadata.NativeSubrutineExists(NormalizeApiName(name), argumentCount) ? 1 : 0;

InjectionScript.Runtime.InjectionApiUO.BuildWorldTileRecord

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

Параметри: kind, serial, graphic, x, y, z, hue, group

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

private InjectionValue BuildWorldTileRecord(string kind, int serial, int graphic, int x, int y, int z, int hue, int group)

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

Виклики: bridge.GetTileDataProperties, Array.Empty<int>, bridge.GetTileFlags, bridge.GetTileDataName.

Виклики:

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

private InjectionValue BuildWorldTileRecord(string kind, int serial, int graphic, int x, int y, int z, int hue, int group)

        {

            int[] properties = bridge.GetTileDataProperties(group, graphic) ?? Array.Empty<int>();

            int layer = group == 0 || properties.Length < 2 ? 0 : properties[1];

            int height = group == 0 || properties.Length < 7 ? 0 : properties[6];

            return new InjectionValue(new[]

            {

                new InjectionValue(kind), new InjectionValue(serial), new InjectionValue(graphic),

                new InjectionValue(x), new InjectionValue(y), new InjectionValue(z), new InjectionValue(hue),

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

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

                new InjectionValue(layer), new InjectionValue(height)

            });

        }

InjectionScript.Runtime.InjectionApiUO.CastAtTarget

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

Параметри: spellName, target

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

private int CastAtTarget(InjectionValue spellName, InjectionValue target)

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

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

Виклики: ConvertSpellName, SystemMessage, GetObject, WaitTargetObject, bridge.Cast, Timer, bridge.CancelTarget.

Умови: !spellId.HasValue; targetSerial <= 0; accepted != 0.

Виклики:

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

private int CastAtTarget(InjectionValue spellName, InjectionValue target)

        {

            var spellId = ConvertSpellName((string)spellName);

            if (!spellId.HasValue)

            {

                SystemMessage("Unknown spell name");

                return 0;

            }



            int targetSerial = GetObject(target);

            if (targetSerial <= 0)

            {

                SystemMessage("UO.Cast: invalid target.");

                return 0;

            }



            // The target cursor must be prepared before ClassicUO sends the cast.

            // Fast shards can return the cursor immediately, so queuing it after

            // Cast would intermittently miss the target.

            WaitTargetObject(targetSerial);

            int accepted = bridge.Cast(spellId.Value);

            if (accepted != 0)

                ticksSpell = Timer();

            else

                bridge.CancelTarget();

            return accepted;

        }

InjectionScript.Runtime.InjectionApiUO.CheckPortableLineOfSight

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

Параметри: fromX, fromY, fromZ, toX, toY, toZ, map

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

private bool CheckPortableLineOfSight(int fromX, int fromY, int fromZ, int toX, int toY, int toZ, int map)

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

Результат: false; x == toX && y == toY && Math.Abs((long)z - toZ) <= 20.

Виклики: Math.Abs, state.BadLocations.Contains, bridge.CheckWorldStep, bridge.CheckLosCell.

Умови: `fromX < 0 || fromX > ushort.MaxValue || fromY < 0 || fromY > ushort.MaxValue

            || toX < 0 || toX > ushort.MaxValue || toY < 0 || toY > ushort.MaxValue

            || map < 0 || map > byte.MaxValue`; `twice > -dy`; `twice < dx`; `state.BadLocations.Contains(x + "," + y)`.

Виклики:

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

private bool CheckPortableLineOfSight(int fromX, int fromY, int fromZ, int toX, int toY, int toZ, int map)

        {

            if (fromX < 0 || fromX > ushort.MaxValue || fromY < 0 || fromY > ushort.MaxValue

                || toX < 0 || toX > ushort.MaxValue || toY < 0 || toY > ushort.MaxValue

                || map < 0 || map > byte.MaxValue)

                return false;

            int x = fromX;

            int y = fromY;

            int z = fromZ;

            int dx = Math.Abs(toX - fromX);

            int dy = Math.Abs(toY - fromY);

            int sx = fromX < toX ? 1 : -1;

            int sy = fromY < toY ? 1 : -1;

            int error = dx - dy;

            for (int guard = 0; guard < 4096 && (x != toX || y != toY); guard++)

            {

                int oldX = x;

                int oldY = y;

                int twice = error * 2;

                if (twice > -dy) { error -= dy; x += sx; }

                if (twice < dx) { error += dx; y += sy; }

                if (state.BadLocations.Contains(x + "," + y)) return false;

                int[] step = bridge.CheckWorldStep(oldX, oldY, z, x, y, map);

                if (step.Length == 0 || step[0] == 0) return false;

                if (step.Length > 1) z = step[1];



                int losOptions = state.LosOptions;

                if (losOptions != 0)

                {

                    if (bridge.CheckLosCell(x, y, z, map, losOptions) == 0)

                        return false;



                    // Sphere corner-check compatibility: for diagonal ray steps,

                    // optionally require both adjacent cardinal cells to remain clear.

                    if ((losOptions & 0x100) != 0 && x != oldX && y != oldY)

                    {

                        if (bridge.CheckLosCell(x, oldY, z, map, losOptions) == 0

                            || bridge.CheckLosCell(oldX, y, z, map, losOptions) == 0)

                            return false;

                    }

                }

            }

            return x == toX && y == toY && Math.Abs((long)z - toZ) <= 20;

        }

InjectionScript.Runtime.InjectionApiUO.CompactStepQ

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

Параметри: values

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

private int CompactStepQ(InjectionValue[] values)

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

Результат: -1; bridge.StepQueued(direction, running); bridge.StepControlled(direction, running, timeout, queue, waitForAck).

Виклики: bridge.IsOnline, NumberConversions.ToInt, ToBoolean, Math.Max, bridge.TryOpenDoorForStep, bridge.OpenDoor, bridge.StepQueued, bridge.StepControlled.

Умови: values == null || values.Length < 2 || values.Length > 5; state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0; state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina; state.MoveOpenDoor != 0.

Виклики:

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

private int CompactStepQ(InjectionValue[] values)

        {

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

                throw new NativeSubrutineException("UO.StepQ expects direction,run[,timeout[,queue[,waitForAck]]].");

            if (state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0)

                return -1;

            if (state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina)

                return -1;



            int direction = NumberConversions.ToInt(values[0]) & 7;

            bool running = ToBoolean(values[1]);

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

            bool queue = values.Length <= 3 || ToBoolean(values[3]);

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



            state.LastStepUsedDoor = 0;

            if (state.MoveOpenDoor != 0)

            {

                state.LastStepUsedDoor = bridge.TryOpenDoorForStep(direction);

                if (state.LastStepUsedDoor == 0)

                    bridge.OpenDoor();

            }

            if (values.Length <= 2)

                return bridge.StepQueued(direction, running);

            return bridge.StepControlled(direction, running, timeout, queue, waitForAck);

        }

InjectionScript.Runtime.InjectionApiUO.Count

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

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

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

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

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

Результат: Count(ResolveType(type), NumberConversions.ToInt(color), ConvertContainer(container)).

Виклики: Count, ResolveType, NumberConversions.ToInt, ConvertContainer.

Виклики:

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

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

            => Count(ResolveType(type), NumberConversions.ToInt(color), ConvertContainer(container));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::TryMapFigureArg

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

Параметри: index, fields, figureText

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

bool TryMapFigureArg(int index, out int[] fields, out string figureText)

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

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

Виклики: Array.Empty<int>, Array.Empty<InjectionValue>, (value.String ?? string.Empty).Split, raw.Select(part => new InjectionValue(part)).ToArray, raw.Select, NumberConversions.TryStr2Int, NumberConversions.ToInt, parts[10].ToString.

Умови: index >= arguments.Length; value.Kind == InjectionValueKind.Array; value.Kind == InjectionValueKind.String; parts.Length < 9.

Виклики:

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

bool TryMapFigureArg(int index, out int[] fields, out string figureText)
            {
                fields = Array.Empty<int>();
                figureText = string.Empty;
                if (index >= arguments.Length)
                    return false;

                InjectionValue value = arguments[index];
                InjectionValue[] parts;
                if (value.Kind == InjectionValueKind.Array)
// …
                else if (value.Kind == InjectionValueKind.String)
// …
                    return false;
// …
                if (parts.Length < 9)
                    return false;
// …
                    if (parts[i].Kind == InjectionValueKind.String)
// …
                        if (!NumberConversions.TryStr2Int(parts[i].String, out fields[i]))
                            return false;
// …
                if (parts.Length > 9)
// …
                    if (parts[9].Kind == InjectionValueKind.String)
// …
                        if (!NumberConversions.TryStr2Int(parts[9].String, out fields[9]))
                            return false;
// …
                if (parts.Length > 10)
// …
                return true;
// …

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

Результат: new InjectionValue(CalculateDirection(Arg(0), Arg(1), Arg(2), Arg(3))).

Виклики:

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

case "calcdir": return new InjectionValue(CalculateDirection(Arg(0), Arg(1), Arg(2), Arg(3)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

Результат: new InjectionValue(CheckPortableLineOfSight(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), Arg(5), Arg(6)) ? 1 : 0).

Виклики:

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

case "checklos": return new InjectionValue(CheckPortableLineOfSight(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), Arg(5), Arg(6)) ? 1 : 0);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

Результат: new InjectionValue(bridge.ClientTargetResponse().Select(value => new InjectionValue(value)).ToArray()).

Виклики:

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

case "clienttargetresponse":

                    return new InjectionValue(bridge.ClientTargetResponse().Select(value => new InjectionValue(value)).ToArray());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Умови: bridge is IApiGumpAccess gumpAccess.

Виклики:

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

case "closesimplegump":

                    if (bridge is IApiGumpAccess gumpAccess) gumpAccess.CloseGumpAtIndex(Arg(0));

                    else bridge.CloseSimpleGump(Arg(0));

                    return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "dex": return new InjectionValue(bridge.Dexterity);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "dragitem": return new InjectionValue(bridge.DragItem(Arg(0), Arg(1)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "dropitem": return new InjectionValue(bridge.DropDraggedItem(Arg(0), Arg(1), Arg(2), Arg(3)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

Результат: new InjectionValue(bridge.GetFoundItems().Select(serial => new InjectionValue(serial)).ToArray()).

Виклики:

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

case "getfindedlist":

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "getgumpscount": return new InjectionValue(bridge.GetGumpCount());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "getmapcell":

                    return new InjectionValue(bridge.GetLandscapeTile(Arg(0), Arg(1), Arg(2))

                        .Select(value => new InjectionValue(value)).ToArray());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

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

case "getrunmounttimer": return new InjectionValue(state.RunMountTimer);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "gettitle": return new InjectionValue(bridge.GetTitle(Arg(0, bridge.Self)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

Результат: new InjectionValue(bridge.GetWorldItems().Select(serial => new InjectionValue(serial)).ToArray()).

Виклики:

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

case "getworlditems":

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

Результат: new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1), Arg(2), Arg(3))); new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1), Arg(2))); new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1))).

Умови: arguments.Length > 3; arguments.Length > 2.

Виклики:

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

case "injournalbetweentimes":

                    if (arguments.Length > 3)

                        return new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1), Arg(2), Arg(3)));

                    if (arguments.Length > 2)

                        return new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1), Arg(2)));

                    return new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "inparty": return new InjectionValue(bridge.InParty());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "ishouse": return new InjectionValue(bridge.IsHouse(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "journal": return new InjectionValue(GetJournalText(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "maxmana": return new InjectionValue(bridge.MaxMana);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

Виклики:

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

case "numgumpbutton": return (bridge is IApiGumpAccess buttons

                    ? buttons.ActivateGumpButtonAtIndex(Arg(0), Arg(1)) : bridge.ActivateGumpButton(Arg(0), Arg(1))) != 0 ? InjectionValue.True : InjectionValue.False;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "removefigure":

                {

                    int id = Arg(0);

                    int removed = bridge.RemoveMapFigure(id);

                    state.MapFigures.Remove(id);

                    return new InjectionValue(removed);

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

Результат: new InjectionValue(ChangeEquipmentItems(ArrayArg(0), false)).

Виклики:

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

case "unequipitems":

                    return new InjectionValue(ChangeEquipmentItems(ArrayArg(0), false));

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

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

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

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

Умови: arguments.Length == 0 && bridge.RequestInteractiveTileInfoTarget() != 0.

Виклики:

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

case "infotile":

                    if (arguments.Length == 0 && bridge.RequestInteractiveTileInfoTarget() != 0)

                        break;

                    SystemMessage(bridge.GetTileInfoText(

                        arguments.Length > 0 ? Arg(0) : bridge.GetX(bridge.Self),

                        arguments.Length > 1 ? Arg(1) : bridge.GetY(bridge.Self),

                        bridge.WorldNumber));

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

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

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

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

Виклики:

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

case "removeearrings": Unequip("Ear"); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

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

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

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

Виклики:

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

case "savehotkeys": bridge.SaveHotkeys(); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

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

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

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

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

case "setrec":

                    state.RecordedAction = string.Empty;

                    recordNextLegacyAction = true;

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

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

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

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

Виклики:

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

case "sound": bridge.PlaySound(Arg(0)); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

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

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

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

Умови: arguments.Length >= 2.

Виклики:

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

case "vendormenu":

                    if (arguments.Length >= 2) bridge.AddMenuHook(Text(0), Text(1), true);

                    else bridge.UseObject(Arg(0, bridge.LastTarget));

                    break;

InjectionScript.Runtime.InjectionApiUO.FindMobile

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

Параметри: stateFilter, rangeFilter, verticalFilter, directionOrKind

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

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

        InjectionValue directionOrKind)`

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

Результат: FindMobile(stateFilter, rangeFilter, verticalFilter, directionOrKind, new InjectionValue("all")).

Виклики: FindMobile.

Виклики:

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

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

            InjectionValue directionOrKind)

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

InjectionScript.Runtime.InjectionApiUO.FindType

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

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

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

public string FindType(int type, int color, int containerId)

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

Результат: FindType(type, color, containerId, -1, false).

Виклики: FindType.

Виклики:

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

public string FindType(int type, int color, int containerId)

            => FindType(type, color, containerId, -1, false);

InjectionScript.Runtime.InjectionApiUO.GetFlags

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

Параметри: id

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

public int GetFlags(InjectionValue id)

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

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

Виклики: bridge.GetFlags, GetObject.

Виклики:

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

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

InjectionScript.Runtime.InjectionApiUO.GetGraphics

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

Параметри: id

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

public string GetGraphics(int id)

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

Результат: $"0x{bridge.GetGraphics(id):X4}".

Виклики: bridge.GetGraphics.

Виклики:

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

public string GetGraphics(int id) => $"0x{bridge.GetGraphics(id):X4}";

InjectionScript.Runtime.InjectionApiUO.GetLandscapeTile

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

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

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

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

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

Результат: ToArray(bridge.GetLandscapeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(map))).

Виклики: ToArray, bridge.GetLandscapeTile, NumberConversions.ToInt.

Виклики:

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

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

            => ToArray(bridge.GetLandscapeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(map)));

InjectionScript.Runtime.InjectionApiUO.GetNotoriety

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

Параметри: id

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

public int GetNotoriety(string id)

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

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

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

Виклики:

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

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

InjectionScript.Runtime.InjectionApiUO.GetPing

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

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

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

public int GetPing()

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

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

Виклики: bridge.GetPing.

Виклики:

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

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

InjectionScript.Runtime.InjectionApiUO.GetShopList

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

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

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

public InjectionValue GetShopList()

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

Результат: new InjectionValue((bridge.GetShopList() ?? Array.Empty<string>()).Select(item => new InjectionValue(item)).ToArray()).

Виклики: (bridge.GetShopList() ?? Array.Empty<string>()).Select(item => new InjectionValue(item)).ToArray, (bridge.GetShopList() ?? Array.Empty<string>()).Select, bridge.GetShopList, Array.Empty<string>.

Виклики:

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

public InjectionValue GetShopList()

            => new InjectionValue((bridge.GetShopList() ?? Array.Empty<string>()).Select(item => new InjectionValue(item)).ToArray());

InjectionScript.Runtime.InjectionApiUO.GetX

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

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

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

public int GetX()

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

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

Виклики: GetX.

Виклики:

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

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

InjectionScript.Runtime.InjectionApiUO.IsMineTile

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

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

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

public int IsMineTile(InjectionValue x, InjectionValue y)

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

Результат: bridge.IsMineTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y)).

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

Виклики:

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

public int IsMineTile(InjectionValue x, InjectionValue y) => bridge.IsMineTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y));

InjectionScript.Runtime.InjectionApiUO.IsMoving

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

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

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

public int IsMoving()

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

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

Виклики: bridge.IsMoving.

Виклики:

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

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

InjectionScript.Runtime.InjectionApiUO.MoveOn

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

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

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

public void MoveOn()

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

Виклики: bridge.EnableMove.

Виклики:

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

public void MoveOn() => bridge.EnableMove(true);

InjectionScript.Runtime.InjectionApiUO.NormalizeLegacyEventHandler

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

Параметри: handler

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

private static string NormalizeLegacyEventHandler(string handler)

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

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

Виклики: (handler ?? string.Empty).Trim, value.StartsWith, value.Substring(5).Trim, value.Substring, value.Substring(6).Trim.

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

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

private static string NormalizeLegacyEventHandler(string handler)

        {

            string value = (handler ?? string.Empty).Trim();

            if (value.StartsWith("exec ", StringComparison.OrdinalIgnoreCase))

                value = value.Substring(5).Trim();

            else if (value.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase))

                value = value.Substring(6).Trim();

            return value;

        }

InjectionScript.Runtime.InjectionApiUO.ResolveType

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

Параметри: type

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

private int ResolveType(InjectionValue type)

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

Результат: graphic; NumberConversions.ToInt(type).

Виклики: state.Types.TryGet, NumberConversions.ToInt.

Умови: type.Kind == InjectionValueKind.String && state.Types.TryGet(type.String, out int graphic).

Виклики:

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

private int ResolveType(InjectionValue type)

        {

            if (type.Kind == InjectionValueKind.String && state.Types.TryGet(type.String, out int graphic))

                return graphic;

            return NumberConversions.ToInt(type);

        }

InjectionScript.Runtime.InjectionApiUO.SelectJournalSearchResult

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

Параметри: result, pattern, ignoreCase

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

private void SelectJournalSearchResult(int result, string pattern, bool ignoreCase)

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

Виклики: SelectJournalEntry, reader.ReadJournalSearchResult, ReadJournalSnapshot, FindJournalPatternId.

Умови: selectedJournalEntry != null.

Виклики:

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

private void SelectJournalSearchResult(int result, string pattern, bool ignoreCase)

        {

            SelectJournalEntry(result <= 0 ? null : bridge is IApiJournalReader reader

                ? reader.ReadJournalSearchResult() : ReadJournalSnapshot(result - 1));

            if (selectedJournalEntry != null)

                foundedTextId = FindJournalPatternId(selectedJournalEntry.Text, pattern, false, ignoreCase);

        }

InjectionScript.Runtime.InjectionApiUO.SendGumpSelect

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

Параметри: serial, gumpId, triggerId, timeout

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

public int SendGumpSelect(InjectionValue serial, InjectionValue gumpId, InjectionValue triggerId, InjectionValue timeout)

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

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

Виклики:

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

public int SendGumpSelect(InjectionValue serial, InjectionValue gumpId, InjectionValue triggerId, InjectionValue timeout)

            => bridge.SendGumpSelect(NumberConversions.ToInt(serial), NumberConversions.ToInt(gumpId),

                NumberConversions.ToInt(triggerId), Math.Max(0, NumberConversions.ToInt(timeout)));

InjectionScript.Runtime.InjectionApiUO.SetClassMask

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

Параметри: args

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

private int SetClassMask(InjectionValue[] args)

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

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

Виклики: ReadClassName, required.Array.Any, required.Array.Select(v => ReadEquipmentGroup(v, false)).ToArray, required.Array.Select, ReadEquipmentGroup, groups.Any.

Умови: groups.Any(group => group.All(forbidden.Contains)).

Виклики:

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

private int SetClassMask(InjectionValue[] args)
        {
            string name = ReadClassName(args[0]);
            InjectionValue required = args[1];
            HashSet<int>[] groups = required.Kind == InjectionValueKind.Array && required.Array.Any(v => v.Kind == InjectionValueKind.Array)
                ? required.Array.Select(v => ReadEquipmentGroup(v, false)).ToArray()
                : new[] { ReadEquipmentGroup(required, false) };
            HashSet<int> forbidden = args.Length == 3 ? ReadEquipmentGroup(args[2], true) : new HashSet<int>();
            if (groups.Any(group => group.All(forbidden.Contains)))
                throw new StatementFailedException("ClassMask: a required equipment group is entirely forbidden.");
            // Construct fully before replacing; invalid edits preserve the previous rule.
            var rule = new EquipmentClassRule(groups, forbidden);
            lock (classRulesSync) classRules[name] = rule;
            return 1;
        }

InjectionScript.Runtime.InjectionApiUO.SetEquip

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

Параметри: name, equipSet, supportedLayers, successMessage

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

`private void SetEquip(string name, RuntimeDictionary equipSet, int[] supportedLayers,

        string successMessage)`

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

Виклики: equipSet.Set, GetEquips, SystemMessage.

Виклики:

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

private void SetEquip(string name, RuntimeDictionary<EquipSet> equipSet, int[] supportedLayers,

            string successMessage)

        {

            equipSet.Set(name, new EquipSet(GetEquips(supportedLayers)));



            SystemMessage(successMessage);

        }

InjectionScript.Runtime.InjectionApiUO.SetReceivingContainer

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

Параметри: id

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

public void SetReceivingContainer(int id)

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

Виклики: bridge.UnsetReceivingContainer, bridge.SetReceivingContainer.

Умови: id <= 0.

Виклики:

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

public void SetReceivingContainer(int id)

        {

            if (id <= 0)

                bridge.UnsetReceivingContainer();

            else

                bridge.SetReceivingContainer(id);

        }

InjectionScript.Runtime.InjectionApiUO.TradeCheck

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

Параметри: windowIndex

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

public int TradeCheck(InjectionValue windowIndex)

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

Результат: bridge.TradeCheck(NumberConversions.ToInt(windowIndex), 0, 0, false).

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

Виклики:

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

public int TradeCheck(InjectionValue windowIndex)

            => bridge.TradeCheck(NumberConversions.ToInt(windowIndex), 0, 0, false);

InjectionScript.Runtime.InjectionApiUO.TradeContainer

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

Параметри: windowIndex

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

public string TradeContainer(InjectionValue windowIndex)

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

Результат: NumberConversions.ToHex(bridge.TradeContainer(NumberConversions.ToInt(windowIndex))).

Виклики: NumberConversions.ToHex, bridge.TradeContainer, NumberConversions.ToInt.

Виклики:

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

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

InjectionScript.Runtime.InjectionApiUO.UseSkill

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

Параметри: skillName

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

public int UseSkill(string skillName)

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

Результат: UseSkillCore(skillName) ? 1 : 0.

Виклики: UseSkillCore.

Виклики:

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

public int UseSkill(string skillName)

        {

            return UseSkillCore(skillName) ? 1 : 0;

        }

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Dir]

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

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

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

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

Виклики:

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

() => bridge.GetDir(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]

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

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

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

values

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

Виклики: FindFilteredMobileSerial, CombineMask, NumberConversions.ToInt, bridge.GetFindVertical.

Виклики:

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

values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),

                        NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))

InjectionScript.Runtime.InjectionApiUO.Register [FindMobile]

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

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

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

values

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

Виклики: FindMobile.

Виклики:

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

values => new InjectionValue(

                    FindMobile(values[0], values[1], values[2], values[3], values[4]))

InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindNotoriety]

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

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

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

values

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

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

Виклики: CompactFindNotoriety.

Виклики:

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

values => new InjectionValue(CompactFindNotoriety(values))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetColdResist]

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

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

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

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

Виклики:

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

() => bridge.ColdResistance

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetInt]

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

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

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

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

Виклики:

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

() => bridge.Intelligence

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetParalysed]

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

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

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

serial

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

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

Виклики: bridge.GetLocked.

Виклики:

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

serial => bridge.GetLocked(serial)

InjectionScript.Runtime.InjectionApiUO.Register [GetPathArray3D]

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

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

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

values

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

Результат: CompactGetPathArray3D(values).

Виклики: CompactGetPathArray3D.

Виклики:

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

values => CompactGetPathArray3D(values)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetWorldNum]

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

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

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

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

Виклики:

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

() => bridge.WorldNumber

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Name]

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

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

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

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

Виклики:

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

() => bridge.GetName(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Notoriety]

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

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

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

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

Виклики:

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

() => bridge.GetNotoriety(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterClassMaskApi [SetClassMask]

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

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

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

args

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

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

Виклики: SetClassMask.

Виклики:

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

args => new InjectionValue(SetClassMask(args))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

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

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

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

value

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

Результат: getter(GetObject(value)).

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

Виклики:

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

value => getter(GetObject(value))

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

value

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

Результат: getter(GetObject(value)).

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

Виклики:

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

value => getter(GetObject(value))

InjectionScript.Runtime.NumberConversions.ToInt

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

Параметри: value

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NumberConversions.cs:19.

public static int ToInt(InjectionValue value)

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

Результат: value.Integer; ToInt(value.String); 0; checked((int)value.Decimal).

Виклики: ToInt.

Виклики:

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

public static int ToInt(InjectionValue value)
        {
            switch (value.Kind)
            {
                case InjectionValueKind.Integer:
                    return value.Integer;
                case InjectionValueKind.String:
                    return ToInt(value.String);
                case InjectionValueKind.Array:
                    return 0;
                case InjectionValueKind.Decimal:
                    // Keep truncation toward zero, but reject NaN, infinities
                    // and overflow before a typed assignment or API call can
                    // store/use a runtime-dependent, silently corrupted value.
                    return checked((int)value.Decimal);
                case InjectionValueKind.Unit:
                    return 0;
                default:
                    throw new InvalidCastException($"Cannot convert {value.Kind} to Integer.");
            }
        }

InjectionScript.Runtime.State.NamedTypes.ValidateName

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

Параметри: name

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

public static string ValidateName(string name)

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

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

Виклики: (name ?? string.Empty).Trim, key.Any, key.Contains, NumberConversions.TryStr2Int, key.Equals.

Умови: key.Length == 0 || key.Any(char.IsControl) || key.Contains("|") || NumberConversions.TryStr2Int(key, out _) || key.Equals("any", StringComparison.OrdinalIgnoreCase).

Виклики:

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

public static string ValidateName(string name)
        {
            string key = (name ?? string.Empty).Trim();
            if (key.Length == 0 || key.Any(char.IsControl) || key.Contains("|")
                || NumberConversions.TryStr2Int(key, out _) || key.Equals("any", StringComparison.OrdinalIgnoreCase))
                throw new NativeSubrutineException("UO.AddType requires a nonempty name, not a number, 'any', or a | mask.");
            return key;
        }

Clone this wiki locally