Runtime Helpers E - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

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

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

ClassicUO.CSharp.CSharpCallbacks.ReadState

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

Параметри: string name

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

private int ReadState(string name)

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

Виклики:

  • Convert.ToInt32
  • native
  • name.ToLowerInvariant

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

private int ReadState(string name) => Convert.ToInt32(native(name.ToLowerInvariant() switch
    {
        "death" => "Dead", "changehitpoints" => "GetHP", "changemana" => "Mana", "changestamina" => "Stamina",
        _ => throw new ArgumentException("Unsupported state event: " + name)
    }, []));

ClassicUO.CSharp.CSharpScriptGlobals.Verify

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

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

Джерело: Project_Full/src/ClassicUO.CSharp/CSharpScriptGlobals.cs:97.

private void Verify()

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

Умови:

  • disposed

Виклики:

  • nameof
  • CSharpExecutionScope.VerifyActive
  • cancellation.ThrowIfCancellationRequested
  • Callbacks.Verify
  • checkpoint

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

private void Verify()
    {
        if (disposed) throw new ObjectDisposedException(nameof(CSharpScriptGlobals));
        CSharpExecutionScope.VerifyActive(); cancellation.ThrowIfCancellationRequested();
        Callbacks.Verify(); checkpoint(); Callbacks.Verify();
        cancellation.ThrowIfCancellationRequested(); CSharpExecutionScope.VerifyActive();
    }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseHandle

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

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

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

public void CloseHandle()

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

Виклики:

  • Invoke
  • .Exit

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

public void CloseHandle() => Invoke(() => Client.Game?.Exit());

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CreateFakeItem

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

Параметри: int graphic, int serial, int amount, int hue, int x, int y

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

public int CreateFakeItem(int graphic, int serial, int amount, int hue, int x, int y)

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

Умови:

  • _world.Player == null || graphic <= 0 || graphic > ushort.MaxValue
  • serial != 0
  • !SerialHelper.IsItem(requestedSerial)
  • _nextYokoFakeItemSerial < 0x7F000000

Виклики:

  • Invoke
  • SerialHelper.IsItem
  • _world.Get
  • _world.GetOrCreateItem
  • SerialHelper.IsValid
  • _world.RemoveItemFromContainer
  • item.CheckGraphicChange
  • Math.Clamp
  • item.FixHue

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

public int CreateFakeItem(int graphic, int serial, int amount, int hue, int x, int y) => Invoke(() =>

        {

            if (_world.Player == null || graphic <= 0 || graphic > ushort.MaxValue)

                return 0;



            uint requestedSerial = unchecked((uint)serial);

            uint fakeSerial;

            if (serial != 0)

            {

                if (!SerialHelper.IsItem(requestedSerial))

                    return 0;

                fakeSerial = requestedSerial;

            }

            else

            {

                do

                {

                    if (_nextYokoFakeItemSerial < 0x7F000000)

                        _nextYokoFakeItemSerial = 0x7FFEFFFF;

                    fakeSerial = _nextYokoFakeItemSerial--;

                }

                while (_world.Get(fakeSerial) != null);

            }



            Item item = _world.GetOrCreateItem(fakeSerial);

            if (item == null)

                return 0;



            if (SerialHelper.IsValid(item.Container))

                _world.RemoveItemFromContainer(item);



            item.Container = 0xFFFF_FFFF;

            item.Graphic = (ushort)graphic;

            item.CheckGraphicChange();

            item.Amount = (ushort)Math.Clamp(amount <= 0 ? 1 : amount, 1, ushort.MaxValue);

            item.FixHue((ushort)Math.Clamp(hue, 0, ushort.MaxValue));

            item.X = (ushort)Math.Clamp(x < 0 ? _world.Player.X : x, 0, ushort.MaxValue);

            item.Y = (ushort)Math.Clamp(y < 0 ? _world.Player.Y : y, 0, ushort.MaxValue);

            item.Z = _world.Player.Z;

            item.Layer = Layer.Invalid;

            item.AllowedToDraw = true;

            item.IsDamageable = false;

            item.IsMulti = false;



            return unchecked((int)fakeSerial);

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.EnergyResistance

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

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

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

public int EnergyResistance

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

Виклики:

  • Invoke

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

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindFullQuantity

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

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

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

public int FindFullQuantity()

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

Виклики:

—

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

public int FindFullQuantity() => _findFullQuantity;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Flying

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

Параметри: int id

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

public int Flying(int id)

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

Виклики:

  • Invoke
  • _world.Get

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

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Followers

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

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

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

public int Followers

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

Виклики:

  • Invoke

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

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLastMenuItems

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

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

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

public string[] GetLastMenuItems()

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

Виклики:

  • Invoke
  • _world.ServerMenus.Snapshot().LastOrDefault
  • _world.ServerMenus.Snapshot
  • .GetYokoItems
  • Array.Empty<string>

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

public string[] GetLastMenuItems() => Invoke(() => _world.ServerMenus.Snapshot().LastOrDefault()?.GetYokoItems() ?? Array.Empty<string>());

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetPrice

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

Параметри: int objectId

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

public int GetPrice(int objectId)

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

Виклики:

  • Invoke
  • _world.Items.Get

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

public int GetPrice(int objectId) => Invoke(() => unchecked((int)(_world.Items.Get(unchecked((uint)objectId))?.Price ?? 0u)));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTileFlags

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

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

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

public long GetTileFlags(int group, int tileId)

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

Умови:

  • group == 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.LandData.Length
  • group != 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.StaticData.Length

Виклики:

  • Invoke

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

public long GetTileFlags(int group, int tileId) => Invoke(() =>

        {

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

                return unchecked((long)(ulong)Client.UO.FileManager.TileData.LandData[tileId].Flags);

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

                return unchecked((long)(ulong)Client.UO.FileManager.TileData.StaticData[tileId].Flags);

            return 0L;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GumpExists

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

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

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

public int GumpExists(int firstId, int secondId)

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

Умови:

  • secondId != -1

Виклики:

  • Invoke
  • ServerGumpsUnsafe
  • gumps.Any

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

public int GumpExists(int firstId, int secondId) => Invoke(() =>

        {

            List<Gump> gumps = ServerGumpsUnsafe();

            if (secondId != -1)

            {

                return gumps.Any(g => g.LocalSerial == (uint)firstId && g.ServerSerial == (uint)secondId) ? 1 : 0;

            }

            return gumps.Any(g => g.LocalSerial == (uint)firstId || g.ServerSerial == (uint)firstId)

                || firstId >= 0 && firstId < gumps.Count ? 1 : 0;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.InvokeStepCallback

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

Параметри: string callbackName, int x, int y, int z

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

public int InvokeStepCallback(string callbackName, int x, int y, int z)

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

Умови:

  • string.IsNullOrWhiteSpace(callbackName)

Виклики:

  • string.IsNullOrWhiteSpace

  • `(_csharpGlobals ?? throw new InvalidOperationException("Register movement callbacks in the current C# script context."))

              .InvokeStepCallback`
    

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

public int InvokeStepCallback(string callbackName, int x, int y, int z)

        {

            if (string.IsNullOrWhiteSpace(callbackName))

                return 1;

            return (_csharpGlobals ?? throw new InvalidOperationException("Register movement callbacks in the current C# script context."))

                .InvokeStepCallback(callbackName, x, y, z);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsFemale

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

Параметри: int id

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

public int IsFemale(int id)

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

Виклики:

  • Invoke
  • _world.Get

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

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsTrade

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

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

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

public int IsTrade()

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

Виклики:

  • Invoke
  • FindTrade

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

public int IsTrade() => Invoke(() => FindTrade(0) != null ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalFont

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

Параметри: int index

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

public int JournalFont(int index)

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

Виклики:

  • GetJournalEntry

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

public int JournalFont(int index) => GetJournalEntry(index)?.Font ?? 0;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LClick

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

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

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

public void LClick(int x, int y)

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

Виклики:

  • Invoke
  • WarpMouse
  • MouseButton

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

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

        {

            WarpMouse(x, y);

            MouseButton(0x0002, 0x0004);

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Luck

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

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

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

public int Luck

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

Виклики:

  • Invoke

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

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MatchesFindIdentity

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

Параметри: Entity gameObject, int type, int color, IgnoreTypeFilter ignoredTypes

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

private bool MatchesFindIdentity(Entity gameObject, int type, int color, IgnoreTypeFilter ignoredTypes)

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

Виклики:

  • State.IgnoredSerials.Contains
  • ignoredTypes.Matches

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

private bool MatchesFindIdentity(Entity gameObject, int type, int color, IgnoreTypeFilter ignoredTypes)

        {

            return gameObject != null

                && !gameObject.IsDestroyed

                && !State.IgnoredSerials.Contains(unchecked((int)gameObject.Serial))

                && !ignoredTypes.Matches(gameObject.Graphic, gameObject.Hue)

                && (type < 0 || type == 0xFFFF || gameObject.Graphic == (ushort)type)

                && (color < 0 || color == 0xFFFF || gameObject.Hue == (ushort)color);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyInvite

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

Параметри: int serial

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

public void PartyInvite(int serial)

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

Виклики:

  • Invoke
  • _manager.QueueTarget
  • GameActions.RequestPartyInviteByTarget

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

public void PartyInvite(int serial) => Invoke(() =>

        {

            _manager.QueueTarget((uint)serial);

            GameActions.RequestPartyInviteByTarget();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyLeave

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

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

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

public void PartyLeave()

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

Умови:

  • _world.Player != null

Виклики:

  • Invoke
  • GameActions.RequestPartyQuit

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

public void PartyLeave() => Invoke(() => { if (_world.Player != null) GameActions.RequestPartyQuit(_world.Player); });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyMembersList

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

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

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

public int[] PartyMembersList()

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

Виклики:

  • Invoke

  • `_world.Party.Members

          .Where(member => member != null && member.Serial != 0).Select(member => (int)member.Serial).ToArray`
    
  • `_world.Party.Members

          .Where(member => member != null && member.Serial != 0).Select`
    
  • `_world.Party.Members

          .Where`
    

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

public int[] PartyMembersList() => Invoke(() => _world.Party.Members

            .Where(member => member != null && member.Serial != 0).Select(member => (int)member.Serial).ToArray());

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PauseResumeScript

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

Параметри: int index

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

public void PauseResumeScript(int index)

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

Виклики:

  • _manager.PauseResumeScript

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

public void PauseResumeScript(int index) => _manager.PauseResumeScript(index);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.QueueStep

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

Параметри: int direction, bool running, bool forcePacket

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

private (int Result, int ConfirmGeneration, int DenyGeneration, WalkerManager Walker) QueueStep(int direction, bool running, bool forcePacket)

Результат: (int Result, int ConfirmGeneration, int DenyGeneration, WalkerManager Walker).

Умови:

  • player == null || !_world.InGame || !NetClient.Socket.IsConnected || direction < 0 || direction > 7

  • walker.StepsCount >= Constants.MAX_STEP_COUNT

  • `walker.WalkingFailed || walker.LastStepRequestTime > Time.Ticks

              || Client.UO.Version >= ClientVersion.CV_60142 && player.IsParalyzed`
    
  • !player.Walk((Direction)direction, running, forcePacket)

Виклики:

  • Invoke
  • _manager.StopFollowing
  • walker.GetConfirmGeneration
  • walker.GetDenyGeneration
  • player.Walk

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

private (int Result, int ConfirmGeneration, int DenyGeneration, WalkerManager Walker) QueueStep(int direction, bool running, bool forcePacket) => Invoke(() =>

        {

            PlayerMobile player = _world.Player;

            if (player == null || !_world.InGame || !NetClient.Socket.IsConnected || direction < 0 || direction > 7)

                return (STEP_QUEUE_GENERAL_ERROR, 0, 0, (WalkerManager)null);



            _manager.StopFollowing();



            WalkerManager walker = player.Walker;

            if (walker.StepsCount >= Constants.MAX_STEP_COUNT)

                return (STEP_QUEUE_OVERFLOW, 0, 0, walker);

            if (walker.WalkingFailed || walker.LastStepRequestTime > Time.Ticks

                || Client.UO.Version >= ClientVersion.CV_60142 && player.IsParalyzed)

                return (STEP_QUEUE_GENERAL_ERROR, 0, 0, walker);



            int beforeSteps = walker.StepsCount;

            byte requestSequence = walker.WalkSequence;

            int confirmGeneration = walker.GetConfirmGeneration(requestSequence);

            int denyGeneration = walker.GetDenyGeneration(requestSequence);



            if (!player.Walk((Direction)direction, running, forcePacket))

                return (STEP_QUEUE_CLIENT_BLOCKED, confirmGeneration, denyGeneration, walker);



            if (walker.StepsCount <= beforeSteps)

                return (STEP_QUEUE_TURN_ONLY, confirmGeneration, denyGeneration, walker);



            return ((int)walker.StepInfos[beforeSteps].Sequence, confirmGeneration, denyGeneration, walker);

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RDblClick

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

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

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

public void RDblClick(int x, int y)

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

Виклики:

  • Invoke
  • WarpMouse
  • MouseButton

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

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

        {

            WarpMouse(x, y);

            MouseButton(0x0008, 0x0010);

            MouseButton(0x0008, 0x0010);

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetGumpValue

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

Параметри: int gumpId, string identifier, int key, string state

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

public void SetGumpValue(int gumpId, string identifier, int key, string state)

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

Умови:

  • TrySetGumpValue(gumpId, identifier, key, state) == 0

Виклики:

  • TrySetGumpValue
  • Error

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

public void SetGumpValue(int gumpId, string identifier, int key, string state)

        {

            if (TrySetGumpValue(gumpId, identifier, key, state) == 0)

                Error($"UO.SetGump: no matching {identifier} control in gump {gumpId}");

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetSkillLockState

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

Параметри: string name, int state

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

public void SetSkillLockState(string name, int state)

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

Умови:

  • skill == null || state < 0 || state > 2

Виклики:

  • Invoke
  • FindSkillUnsafe
  • GameActions.ChangeSkillLockStatus

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

public void SetSkillLockState(string name, int state) => Invoke(() =>

        {

            Skill skill = FindSkillUnsafe(name);

            if (skill == null || state < 0 || state > 2) return;

            GameActions.ChangeSkillLockStatus((ushort)skill.Index, (byte)state);

            skill.Lock = (Lock)state;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina

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

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

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

public int Stamina

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

Виклики:

  • Invoke

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

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TargetLast

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

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

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

public int TargetLast()

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

Умови:

  • !target.IsTargeting
  • last.IsEntity
  • last.IsStatic || last.IsLand

Виклики:

  • Invoke
  • target.Target

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

public int TargetLast() => Invoke(() =>

        {

            TargetManager target = _world.TargetManager;

            LastTargetInfo last = target.LastTargetInfo;

            if (!target.IsTargeting)

                return 0;



            if (last.IsEntity)

            {

                target.Target(last.Serial);

                return 1;

            }



            if (last.IsStatic || last.IsLand)

            {

                target.Target(last.Graphic, last.X, last.Y, last.Z);

                return 1;

            }



            return 0;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UnequipExpected

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

Параметри: int layer, int? expectedSerial

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

private int UnequipExpected(int layer, int? expectedSerial)

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

Умови:

  • !_world.InGame || !NetClient.Socket.IsConnected || !ReferenceEquals(Client.UO?.World, _world)
  • expectedSerial.HasValue
  • expected == null || expected.IsDestroyed || expected.Container != _world.Player.Serial
  • layer <= (int)Layer.Invalid || layer > (int)Layer.Bank

Виклики:

  • Invoke
  • ReferenceEquals
  • _world.Items.Get
  • _world.Player.FindItemByLayer
  • TryMoveItemRequest
  • Wait

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

private int UnequipExpected(int layer, int? expectedSerial)

        {

            bool moved = Invoke(() =>

            {

                if (!_world.InGame || !NetClient.Socket.IsConnected || !ReferenceEquals(Client.UO?.World, _world)) return false;

                if (expectedSerial.HasValue)

                {

                    Item expected = _world.Items.Get((uint)expectedSerial.Value);

                    if (expected == null || expected.IsDestroyed || expected.Container != _world.Player.Serial) return false;

                    layer = (int)expected.Layer;

                }

                if (layer <= (int)Layer.Invalid || layer > (int)Layer.Bank) return false;

                Item item = _world.Player.FindItemByLayer((Layer)layer);

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

                if (item == null || item.IsDestroyed || backpack == null || backpack.IsDestroyed

                    || expectedSerial.HasValue && item.Serial != (uint)expectedSerial.Value) return false;

                if (!TryMoveItemRequest((int)item.Serial, 0, (int)backpack.Serial, -1, -1, 0)) return false;

                if (layer == (int)Layer.OneHanded) _lastRightHand = (int)item.Serial;

                if (layer == (int)Layer.TwoHanded) _lastLeftHand = (int)item.Serial;

                return true;

            });

            if (moved && State.GrabDelay > 0) Wait(State.GrabDelay);

            return moved ? 1 : 0;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WarMode

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

Параметри: int mode

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

public void WarMode(int mode)

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

Умови:

  • _world.Player != null && _world.Player.InWarMode != (mode != 0)

Виклики:

  • Invoke
  • GameActions.ToggleWarMode

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

public void WarMode(int mode) => Invoke(() =>

        {

            if (_world.Player != null && _world.Player.InWarMode != (mode != 0))

            {

                GameActions.ToggleWarMode(_world.Player);

            }

        });

ClassicUO.Game.Managers.YokoInjectionManager.StopScript

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

Параметри: int index

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

internal void StopScript(int index)

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

Умови:

  • script != null

Виклики:

  • ElementAt
  • RunningScripts
  • script.TryStop

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

internal void StopScript(int index)

        {

            YokoRunningScript script = ElementAt(RunningScripts(), index);

            if (script != null)

            {

                script.TryStop();

            }

        }

ClassicUO.Game.SerialHelper.IsItem

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

Параметри: uint serial

Джерело: Project_Full/src/ClassicUO.Client/Game/SerialHelper.cs:22.

public static bool IsItem(uint serial)

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

Виклики:

—

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

[MethodImpl(MethodImplOptions.AggressiveInlining)]
        public static bool IsItem(uint serial)
        {
            return serial >= 0x40000000 && serial < 0x80000000;
        }

ClassicUO.Game.UI.Gumps.WorldMapGump.SetYokoMapFigure

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

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

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

internal static int SetYokoMapFigure(int figureId, int kind, int coord, int x1, int y1, int x2, int y2, int brushColor, int brushStyle, int color, int worldNum, string text)

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

Умови:

  • figureId <= 0 || kind < 0 || kind > 4 || coord < 0 || coord > 1

Виклики:

—

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

internal static int SetYokoMapFigure(int figureId, int kind, int coord, int x1, int y1, int x2, int y2, int brushColor, int brushStyle, int color, int worldNum, string text)

        {

            if (figureId <= 0 || kind < 0 || kind > 4 || coord < 0 || coord > 1)

                return 0;



            _yokoMapFigures[figureId] = new YokoMapFigure

            {

                Id = figureId,

                Kind = kind,

                Coord = coord,

                X1 = x1,

                Y1 = y1,

                X2 = x2,

                Y2 = y2,

                BrushColor = brushColor,

                BrushStyle = brushStyle,

                Color = color,

                WorldNum = worldNum,

                Text = text ?? string.Empty

            };

            return 1;

        }

ClassicUO.Game.World.RemoveItemFromContainer

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

Параметри: uint serial

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

public void RemoveItemFromContainer(uint serial)

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

Умови:

  • it != null

Виклики:

  • Items.Get
  • RemoveItemFromContainer

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

public void RemoveItemFromContainer(uint serial)

        {

            Item it = Items.Get(serial);



            if (it != null)

            {

                RemoveItemFromContainer(it);

            }

        }

InjectionScript.Runtime.InjectionApiUO.CanChangeName

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

Параметри: InjectionValue id

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

public int CanChangeName(InjectionValue id)

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

Виклики:

  • bridge.CanChangeName
  • GetObject

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

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

InjectionScript.Runtime.InjectionApiUO.CharPrint

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

Параметри: string color, string msg

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

public void CharPrint(string color, string msg)

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

Виклики:

  • CharPrint
  • NumberConversions.ToInt

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

public void CharPrint(string color, string msg) => CharPrint(bridge.Self, NumberConversions.ToInt(color), msg);

InjectionScript.Runtime.InjectionApiUO.CircleTrans

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

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

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

public int CircleTrans()

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

Виклики:

  • bridge.CircleTrans

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

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

InjectionScript.Runtime.InjectionApiUO.ConvertContainer

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

Параметри: InjectionValue containerId

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

private int ConvertContainer(InjectionValue containerId)

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

Виклики:

  • ConvertContainer

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

private int ConvertContainer(InjectionValue containerId)

        {

            switch (containerId.Kind)

            {

                case InjectionValueKind.String:

                    return ConvertContainer(containerId.String);

                case InjectionValueKind.Integer:

                    // The public Ground() token is zero; bridge searches use 1.

                    // Keep the compact API's -1 inventory/default selector.

                    return containerId.Integer == 0 ? 1 : containerId.Integer;

                default:

                    throw new NativeSubrutineException(

                        $"A container must be an object name or serial ID, not {containerId.Kind}.");

            }

        }

InjectionScript.Runtime.InjectionApiUO.CountGround

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

Параметри: InjectionValue type

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

public int CountGround(InjectionValue type)

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

Виклики:

  • CountGround

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

public int CountGround(InjectionValue type)

            => CountGround(type, new InjectionValue(-1));

InjectionScript.Runtime.InjectionApiUO.CountGround

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

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

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

public int CountGround(InjectionValue type, InjectionValue color)

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

Виклики:

  • bridge.Count
  • ResolveType
  • NumberConversions.ToInt

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

public int CountGround(InjectionValue type, InjectionValue color)

            => bridge.Count(ResolveType(type), NumberConversions.ToInt(color), 1);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::ArrayArg

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

Параметри: index

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

int[] ArrayArg(int index)

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

Результат: Array.Empty<int>().

Виклики: Array.Empty<int>, arguments[index].Array.Select(NumberConversions.ToInt).ToArray, arguments[index].Array.Select, Arg.

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

Виклики:

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

int[] ArrayArg(int index)

            {

                if (index >= arguments.Length) return Array.Empty<int>();

                return arguments[index].Kind == InjectionValueKind.Array

                    ? arguments[index].Array.Select(NumberConversions.ToInt).ToArray()

                    : new[] { Arg(index) };

            }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "addtojournal":

                case "addtosystemjournal":

                case "clientprint":

                    SystemMessage(Text(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "alarm":

                    SystemMessage(arguments.Length > 0 ? Text(0) : "Alarm"); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "bookcleartext":

                    state.BookPages.Clear();

                    bridge.BookClearText();

                    return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "clearsystemjournal": bridge.DeleteSystemJournal(); SelectJournalEntry(null); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "clickonobject": Click(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "connected": return new InjectionValue(bridge.IsOnline());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "energyresist": return new InjectionValue(bridge.EnergyResistance);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "findatcoord": return new InjectionValue(bridge.FindAtCoord(Arg(0), Arg(1)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

Результат: new InjectionValue(foundedTextId >= 0 ? foundedTextId : 0).

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

case "foundedparamid":

                    return new InjectionValue(foundedTextId >= 0 ? foundedTextId : 0);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "getautobuydelay":

                    return new InjectionValue(bridge.GetAutoBuyDelay());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

Результат: GumpLinesResult(bridge.GetGumpButtonsDescription(Arg(0))).

Виклики:

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

case "getgumpbuttonsdescription": return GumpLinesResult(bridge.GetGumpButtonsDescription(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

Результат: GumpLinesResult(bridge.GetGumpShortLines(Arg(0))).

Виклики:

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

case "getgumpshortlines": return GumpLinesResult(bridge.GetGumpShortLines(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

Результат: StringArray(bridge.GetGumpTextLines(Arg(0))).

Виклики:

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

case "getgumptextlines": return StringArray(bridge.GetGumpTextLines(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

Результат: FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), ArrayArg(5), false).

Виклики:

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

case "getlandtilesarrayex":

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "getnotoriety": return new InjectionValue(bridge.GetNotoriety(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "getprice":

                    return new InjectionValue(bridge.GetPrice(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "getskilllockstate": return new InjectionValue(bridge.GetSkillLockState(Text(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

new []

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

Виклики:

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

case "getstatictilesarray":

                    return FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), new[] { Arg(5) }, true);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "int": return new InjectionValue(bridge.Intelligence);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "ishidden": return new InjectionValue(bridge.Hidden(Arg(0, bridge.Self)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Умови: arguments.Length > 0.

Виклики:

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

case "losoptions": if (arguments.Length > 0) state.LosOptions = Arg(0); return new InjectionValue(state.LosOptions);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "lastobject": return new InjectionValue(bridge.GetLastObject());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "lineindex": return new InjectionValue(GetFoundedTextIndex());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "pauseresumescript": bridge.PauseResumeScript(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "petscurrent": return new InjectionValue(bridge.Followers);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "setautoselldelay":

                    state.AutoSellDelay = Math.Max(0, Arg(0));

                    bridge.SetAutoSellDelay(state.AutoSellDelay);

                    return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Умови: arguments.Length > 1.

Виклики:

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

case "setjournalline":

                    if (arguments.Length > 1) bridge.SetJournalLine(Arg(0), Text(1));

                    else bridge.SetJournalLine(Arg(0));

                    return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "stopboat": bridge.StopBoat(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

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

Виклики:

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

case "useotherpaperdollscroll": bridge.UseObject(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

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

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

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

Результат: WaitJournalLine(arguments, true).

Виклики:

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

case "waitjournallinesystem": return WaitJournalLine(arguments, true);

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

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

Параметри: string name, params InjectionValue[] arguments

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

private InjectionValue ExecuteLegacyManualAlias(string name, params InjectionValue[] arguments)

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

Умови:

  • `recordNextLegacyAction && !replayingLegacyAction

              && !normalizedName.Equals("SetRec", StringComparison.OrdinalIgnoreCase)
    
              && !normalizedName.Equals("UseRec", StringComparison.OrdinalIgnoreCase)`
    
  • index >= arguments.Length

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

  • !state.LegacyLists.TryGetValue(key, out List<string> list)

Виклики:

  • (name ?? string.Empty).Trim

  • normalizedName.Equals

  • SerializeRecordedLegacyAction

  • arguments[index].ToString

  • TryGetObject

  • NumberConversions.ToInt

  • state.LegacyLists.TryGetValue

  • name.ToLowerInvariant

  • LegacyList(name).Add

  • LegacyList

  • string.Join

  • arguments.Select

  • value.ToString

  • AddType

  • state.IgnoreTypeLists.Add

  • Text

  • ResolveType

  • LegacyList("AddFindList").Clear

  • LegacyList("AddFindList").RemoveAll

  • `value.Split('|')[0]

                      .Equals`
    
  • value.Split

  • LegacyListEntryMatches

  • state.IgnoreTypeLists.Remove

  • Text(0).Trim

  • MoveOff

  • bridge.AddMenuHook

  • arguments[0].ToString

  • arguments[1].ToString

  • bridge.ClearMenuHooks

  • bridge.CloseSimpleGump

  • Arg

  • IgnoreReset

  • state.IgnoreTypeLists.Clear

  • Math.Max

  • bridge.SetJournalLength

  • bridge.CloseHandle

  • bridge.Dismount

  • MoveItem

  • GetX

  • GetY

  • GetZ

  • bridge.SetAutoBuyRule

  • bridge.SetAutoSellRule

  • SystemMessage

  • bridge.GetShopList

  • bridge.UseObject

  • bridge.GetName

  • bridge.GetGraphics

  • bridge.GetColor

  • bridge.GetX

  • bridge.GetY

  • bridge.GetZ

  • bridge.RequestInteractiveObjectInfoTarget

  • bridge.GetObjectInfoText

  • bridge.ShowGumpInspector

  • bridge.ShowGumpListInspector

  • bridge.RequestInteractiveTileInfoTarget

  • bridge.GetTileInfoText

  • bridge.WaitTargetObject

  • bridge.GetLastObject

  • state.Objects.Set

  • state.Objects.Remove

  • bridge.EmoteAction

  • ExecuteEmptyContainer

  • bridge.SetSpeechFilter

  • bridge.SetWeatherFilter

  • bridge.GetMobiles().FirstOrDefault

  • bridge.GetMobiles

  • bridge.SelectGump

  • bridge.RequestInteractiveHideTarget

  • bridge.ClientHide

  • bridge.Mount

  • UseSkillAtTarget

  • UseSkill

  • bridge.SetLight

  • bridge.LoadHotkeys

  • bridge.SaveHotkeys

  • bridge.CreateFakeItem

  • bridge.MassMove

  • ResolveTransferDestination

  • bridge.MassPriceMove

  • bridge.AllPrice

  • bridge.GetFoundItems().Select

  • bridge.GetFoundItems

  • bridge.OpenDoor

  • bridge.RenameMobile

  • bridge.Resync

  • bridge.ResetProfile

  • Unequip

  • GetProfile

  • TryDeserializeRecordedLegacyAction

  • ExecuteLegacyManualAlias

  • bridge.SetSeason

  • bridge.ShowJournal

  • bridge.PlaySound

  • bridge.Step

  • bridge.Print

  • bridge.SetGumpValue

  • Say

  • SetReceivingContainer

  • WaitTargetObject

  • CancelTarget

  • UnsetReceivingContainer

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

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

private InjectionValue ExecuteLegacyManualAlias(string name, params InjectionValue[] arguments)
        {
            string normalizedName = (name ?? string.Empty).Trim();
            if (recordNextLegacyAction && !replayingLegacyAction
                && !normalizedName.Equals("SetRec", StringComparison.OrdinalIgnoreCase)
                && !normalizedName.Equals("UseRec", StringComparison.OrdinalIgnoreCase))
            {
                state.RecordedAction = SerializeRecordedLegacyAction(normalizedName, arguments);
// …
                if (index >= arguments.Length) return fallback;
                if (arguments[index].Kind == InjectionValueKind.String && TryGetObject(arguments[index], out int serial)) return serial;
                return NumberConversions.ToInt(arguments[index]);
// …
                if (!state.LegacyLists.TryGetValue(key, out List<string> list))
// …
                return list;
// …
                    if (arguments.Length == 0) LegacyList("AddFindList").Clear();
// …
                    if (arguments.Length >= 2) bridge.AddMenuHook(arguments[0].ToString(), arguments[1].ToString(), true);
// …
                    if (arguments.Length == 0)
// …
                    if (arguments.Length > 0)
                        return new InjectionValue(MoveItem(arguments[0], arguments.Length > 1 ? arguments[1] : InjectionValue.Zero, new InjectionValue("ground"), new InjectionValue(GetX()), new InjectionValue(GetY()), new InjectionValue(GetZ())));
                    return InjectionValue.False;
// …
                    if (arguments.Length > 0)
                        return new InjectionValue(MoveItem(arguments[0], arguments.Length > 1 ? arguments[1] : InjectionValue.Zero, arguments.Length > 2 ? arguments[2] : new InjectionValue("ground")));
                    return InjectionValue.False;
// …
                    if (arguments.Length >= 2) bridge.AddMenuHook(Text(0), Text(1), true);
// …
                    if (arguments.Length == 0 && bridge.RequestInteractiveObjectInfoTarget() != 0)
// …
                    if (arguments.Length > 0)
// …
                    if (arguments.Length == 0 && bridge.RequestInteractiveTileInfoTarget() != 0)
// …
                    if (arguments.Length > 1) bridge.WaitTargetObject(Arg(1));
// …
                    if (arguments.Length > 1) state.Objects.Set(Text(0), Arg(1));
                    else if (arguments.Length > 0) state.Objects.Set(Text(0), bridge.GetLastObject());
// …
                case "forget": if (arguments.Length > 0) state.Objects.Remove(Text(0)); break;
// …
                case "emptycontainer": return ExecuteEmptyContainer(arguments);
// …
                    if (mobile != 0) state.Objects.Set(arguments.Length > 0 ? Text(0) : "findman", mobile);
// …
                    break;
                case "shutdownwindows":
                    throw new NativeSubrutineException("shutdownwindows is intentionally blocked: scripts may not shut down Windows.");
                default:
                    throw new NativeSubrutineException($"{name}: unknown or unregistered legacy API route.");
            }
            return InjectionValue.Unit;
        }

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

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

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

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

Виклики:

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

case "dismount": bridge.Dismount(); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

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

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

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

Результат: ExecuteEmptyContainer(arguments).

Виклики:

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

case "emptycontainer": return ExecuteEmptyContainer(arguments);

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

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

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

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

Виклики:

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

case "filterspeech": state.SpeechFilter = arguments.Length == 0 || Arg(0) != 0 ? 1 : 0; bridge.SetSpeechFilter(state.SpeechFilter); break;

InjectionScript.Runtime.InjectionApiUO.ExpandMobileFilters

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

Параметри: IEnumerable<string> filters

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

private static IEnumerable<string> ExpandMobileFilters(IEnumerable<string> filters)

Результат: IEnumerable<string>.

Умови:

  • values.Length == 0

Виклики:

  • Array.Empty<string>
  • (filter ?? string.Empty).Split

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

private static IEnumerable<string> ExpandMobileFilters(IEnumerable<string> filters)

        {

            foreach (string filter in filters ?? Array.Empty<string>())

            {

                string[] values = (filter ?? string.Empty).Split(

                    new[] { ' ', '\t', ',', ';', '|', '+' },

                    StringSplitOptions.RemoveEmptyEntries);

                if (values.Length == 0)

                    yield return "all";

                else

                    foreach (string value in values)

                        yield return value;

            }

        }

InjectionScript.Runtime.InjectionApiUO.Flying

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

Параметри: InjectionValue id

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

public int Flying(InjectionValue id)

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

Виклики:

  • bridge.Flying
  • GetObject

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

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

InjectionScript.Runtime.InjectionApiUO.FunRunning

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

Параметри: string subrutineName

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

public int FunRunning(string subrutineName)

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

Виклики:

  • bridge.FunRunning

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

public int FunRunning(string subrutineName) => bridge.FunRunning(subrutineName) ? 1 : 0;

InjectionScript.Runtime.InjectionApiUO.GetMaxHP

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

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

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

public int GetMaxHP()

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

Виклики:

  • GetMaxHP

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

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

InjectionScript.Runtime.InjectionApiUO.GetTileLayer

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

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

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

public int GetTileLayer(InjectionValue group, InjectionValue tileId)

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

Виклики:

  • NumberConversions.ToInt
  • bridge.GetTileDataProperties
  • Array.Empty<int>

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

public int GetTileLayer(InjectionValue group, InjectionValue tileId)

        {

            int tileGroup = NumberConversions.ToInt(group);

            int[] properties = bridge.GetTileDataProperties(tileGroup, NumberConversions.ToInt(tileId)) ?? Array.Empty<int>();

            return tileGroup == 0 || properties.Length < 2 ? 0 : properties[1];

        }

InjectionScript.Runtime.InjectionApiUO.GetTileXYM

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

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

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

public InjectionValue GetTileXYM(InjectionValue x, InjectionValue y, InjectionValue map, InjectionValue tileStart, InjectionValue tileEnd, InjectionValue uoPath)

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

Виклики:

  • ToArray
  • bridge.GetTileXYM
  • NumberConversions.ToInt
  • uoPath.ToString

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

public InjectionValue GetTileXYM(InjectionValue x, InjectionValue y, InjectionValue map, InjectionValue tileStart, InjectionValue tileEnd, InjectionValue uoPath)

            => ToArray(bridge.GetTileXYM(NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(map), NumberConversions.ToInt(tileStart), NumberConversions.ToInt(tileEnd), uoPath.ToString()));

InjectionScript.Runtime.InjectionApiUO.GetY

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

Параметри: int id

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

public int GetY(int id)

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

Виклики:

  • bridge.GetY

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

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

InjectionScript.Runtime.InjectionApiUO.InfoGumps

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

Параметри: InjectionValue gump

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

public string InfoGumps(InjectionValue gump)

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

Виклики:

  • InfoGump

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

public string InfoGumps(InjectionValue gump)

        {

            return InfoGump(gump);

        }

InjectionScript.Runtime.InjectionApiUO.IsOnline

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

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

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

public int IsOnline()

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

Виклики:

  • bridge.IsOnline

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

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

InjectionScript.Runtime.InjectionApiUO.JournalTimestampToAge

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

Параметри: int timestamp, int now

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

private static int JournalTimestampToAge(int timestamp, int now)

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

Умови:

  • timestamp <= 0
  • timestamp >= now

Виклики:

—

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

private static int JournalTimestampToAge(int timestamp, int now)

        {

            if (timestamp <= 0)

                return now;

            if (timestamp >= now)

                return 0;

            return now - timestamp;

        }

InjectionScript.Runtime.InjectionApiUO.KeyPress

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

Параметри: int key, int count

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

public void KeyPress(int key, int count)

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

Виклики:

  • KeyPress

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

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

InjectionScript.Runtime.InjectionApiUO.LastTile

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

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

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

public string LastTile()

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

Виклики:

  • NormalizeLastTile
  • bridge.LastTile

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

public string LastTile()

        {

            int[] tileInfo = NormalizeLastTile(bridge.LastTile());



            return $"{tileInfo[0]} {tileInfo[1]} {tileInfo[2]} {tileInfo[3]}";

        }

InjectionScript.Runtime.InjectionApiUO.MoveOff

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

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

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

public void MoveOff()

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

Виклики:

  • bridge.EnableMove

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

public void MoveOff() => bridge.EnableMove(false);

InjectionScript.Runtime.InjectionApiUO.ObjAtLayer

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

Параметри: string layer

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

public InjectionValue ObjAtLayer(string layer)

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

Умови:

  • id == 0

Виклики:

  • bridge.ObjAtLayer
  • ConvertLayer
  • id.ToString

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

public InjectionValue ObjAtLayer(string layer)

        {

            var id = bridge.ObjAtLayer(ConvertLayer(layer));

            if (id == 0)

                return InjectionValue.Zero;



            return new InjectionValue("0x" + id.ToString("X8"));

        }

InjectionScript.Runtime.InjectionApiUO.ObjectChecked

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

Параметри: InjectionValue name, Action<int> actionOnObject

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

private void ObjectChecked(InjectionValue name, Action<int> actionOnObject)

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

Умови:

  • TryGetObject(name, out int id)

Виклики:

  • TryGetObject
  • actionOnObject
  • SystemMessage

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

private void ObjectChecked(InjectionValue name, Action<int> actionOnObject)

        {

            if (TryGetObject(name, out int id))

                actionOnObject(id);

            else

                SystemMessage($"invalid object: {name}");

        }

InjectionScript.Runtime.InjectionApiUO.RClick

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

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

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

public void RClick(int x, int y)

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

Виклики:

  • bridge.RClick

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

public void RClick(int x, int y) => bridge.RClick(x, y);

InjectionScript.Runtime.InjectionApiUO.ReadEquipmentGroup

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

Параметри: InjectionValue value, bool allowEmpty

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

private static HashSet<int> ReadEquipmentGroup(InjectionValue value, bool allowEmpty)

Результат: HashSet<int>.

Умови:

  • !allowEmpty && result.Count == 0

Виклики:

  • values.Select

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

private static HashSet<int> ReadEquipmentGroup(InjectionValue value, bool allowEmpty)
        {
            InjectionValue[] values = value.Kind == InjectionValueKind.Array ? value.Array : new[] { value };
            var result = new HashSet<int>(values.Select(ReadEquipmentType));
            if (!allowEmpty && result.Count == 0)
                throw new StatementFailedException("ClassMask: a required equipment group cannot be empty.");
            return result;
        }

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases::AddState

Ці функції створюють реєстрацію API; вони не виконуються заново під час кожного виклику команди.

Параметри: getter, names

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

void AddState(Func<int, int> getter, params string[] names)

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

Виклики: AddInteger, metadata.NativeSubrutineExists, metadata.Add.

Умови: !metadata.NativeSubrutineExists(name, 1).

Виклики:

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

void AddState(Func<int, int> getter, params string[] names)

            {

                AddInteger(() => getter(bridge.Self), names);

                foreach (string shortName in names)

                {

                    string name = "UO." + shortName;

                    if (!metadata.NativeSubrutineExists(name, 1))

                        metadata.Add(new NativeSubrutineDefinition(name,

                            (Func<InjectionValue, int>)(value => getter(GetObject(value)))));

                }

            }

InjectionScript.Runtime.InjectionApiUO.ResolveTransferObject

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

Параметри: InjectionValue value, bool allowGround = false

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

private int ResolveTransferObject(InjectionValue value, bool allowGround = false)

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

Умови:

  • `allowGround && value.Kind == InjectionValueKind.String

              && value.String.Equals("ground", StringComparison.OrdinalIgnoreCase)`
    
  • `value.Kind == InjectionValueKind.String

              && value.String.Equals("my", StringComparison.OrdinalIgnoreCase)`
    
  • TryGetObject(value, out int serial) && serial >= 0

Виклики:

  • value.String.Equals
  • TryGetObject

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

private int ResolveTransferObject(InjectionValue value, bool allowGround = false)

        {

            if (allowGround && value.Kind == InjectionValueKind.String

                && value.String.Equals("ground", StringComparison.OrdinalIgnoreCase)) return 0;

            if (value.Kind == InjectionValueKind.String

                && value.String.Equals("my", StringComparison.OrdinalIgnoreCase)) return bridge.Backpack;

            if (TryGetObject(value, out int serial) && serial >= 0) return serial;

            throw new NativeSubrutineException("Unknown transfer object: " + value);

        }

InjectionScript.Runtime.InjectionApiUO.SelectClassCandidate

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

Параметри: IEnumerable<int> mobiles, EquipmentClassRule[] rules, bool nearest

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

private int SelectClassCandidate(IEnumerable<int> mobiles, EquipmentClassRule[] rules, bool nearest)

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

Умови:

  • rules != null
  • priority == rules.Length
  • priority < bestPriority || priority == bestPriority && nearest && (distance < bestDistance || distance == bestDistance && mobile < selected)
  • !nearest && bestPriority == 0

Виклики:

  • ReadWornTypes
  • rules[priority].Matches
  • bridge.GetDistance

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

private int SelectClassCandidate(IEnumerable<int> mobiles, EquipmentClassRule[] rules, bool nearest)
        {
            int selected = 0, bestPriority = int.MaxValue, bestDistance = int.MaxValue;
            foreach (int mobile in mobiles)
            {
                int priority = 0;
                if (rules != null)
                {
                    HashSet<int> worn = ReadWornTypes(mobile);
                    while (priority < rules.Length && !rules[priority].Matches(worn)) priority++;
                    if (priority == rules.Length) continue;
                }
                int distance = nearest ? bridge.GetDistance(mobile) : 0;
                if (priority < bestPriority || priority == bestPriority && nearest
                    && (distance < bestDistance || distance == bestDistance && mobile < selected))
                { selected = mobile; bestPriority = priority; bestDistance = distance; }
                // With stable enumeration order, the first highest-priority match wins.
                if (!nearest && bestPriority == 0) break;
            }
            return selected;
        }

InjectionScript.Runtime.InjectionApiUO.SendGumpSelect

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

Параметри: string triggerId

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

public int SendGumpSelect(string triggerId)

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

Виклики:

  • SendGumpSelect
  • NumberConversions.ToInt

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

public int SendGumpSelect(string triggerId) => SendGumpSelect(NumberConversions.ToInt(triggerId));

InjectionScript.Runtime.InjectionApiUO.SetJournalLine

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

Параметри: int index, string text

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

public void SetJournalLine(int index, string text)

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

Виклики:

  • bridge.SetJournalLine

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

public void SetJournalLine(int index, string text) => bridge.SetJournalLine(index, text);

InjectionScript.Runtime.InjectionApiUO.TradeOpponent

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

Параметри: InjectionValue windowIndex

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

public string TradeOpponent(InjectionValue windowIndex)

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

Виклики:

  • NumberConversions.ToHex
  • bridge.TradeOpponent
  • NumberConversions.ToInt

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

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

InjectionScript.Runtime.InjectionApiUO.UnsetArm

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

Параметри: string name

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

public void UnsetArm(string name)

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

Виклики:

  • armSets.Remove
  • SystemMessage

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

public void UnsetArm(string name)

        {

            armSets.Remove(name);

            SystemMessage("Arm set removed.");

        }

InjectionScript.Runtime.InjectionApiUO.UseFromGround

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

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

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

public int UseFromGround(InjectionValue type, InjectionValue color)

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

Умови:

  • id != 0

Виклики:

  • bridge.FindType
  • ResolveType
  • NumberConversions.ToInt
  • UseObject
  • SystemMessage

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

public int UseFromGround(InjectionValue type, InjectionValue color)

        {

            int id = bridge.FindType(ResolveType(type), NumberConversions.ToInt(color), 1, -1, false);

            if (id != 0)

                UseObject(id);

            else

                SystemMessage("No matching item found on ground.");

            return id;

        }

InjectionScript.Runtime.InjectionApiUO.UserStaticExists

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

Параметри: InjectionValue id

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

public int UserStaticExists(InjectionValue id)

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

Виклики:

  • state.UserStatics.ContainsKey
  • NumberConversions.ToInt

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

public int UserStaticExists(InjectionValue id)

            => state.UserStatics.ContainsKey(NumberConversions.ToInt(id)) ? 1 : 0;

InjectionScript.Runtime.InjectionApiUO.Waiting

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

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

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

public int Waiting()

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

Виклики:

  • bridge.GetWaitTargetQueue

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

public int Waiting() => bridge.GetWaitTargetQueue().Length > 0 ? 1 : 0;

InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [AttackNearest]

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

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

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

values

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

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

Виклики: CompactAttackNearest.

Виклики:

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

values => new InjectionValue(CompactAttackNearest(values))

InjectionScript.Runtime.InjectionApiUO.Register [Follow]

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

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

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

values

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

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

Виклики:

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

values =>

                    {

                        FollowStopCondition[] conditions = count == 6

                            ? FollowStopCondition.Parse(values[5], coordinateGoal: true) : Array.Empty<FollowStopCondition>();

                        return new InjectionValue(bridge is IApiCoordinateFollowBridge follow

                            ? follow.FollowPoint(NumberConversions.ToInt(values[0]), NumberConversions.ToInt(values[1]),

                                NumberConversions.ToInt(values[2]), NumberConversions.ToInt(values[3]), ToBoolean(values[4]), conditions) : 0);

                    }

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetDirection]

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

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

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

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

Виклики:

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

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

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetResistFire]

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

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

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

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

Виклики:

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

() => bridge.FireResistance

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetResistPoison]

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

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

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

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

Виклики:

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

() => bridge.PoisonResistance

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [IsFlying]

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

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

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

serial

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

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

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

Виклики:

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

serial => bridge.Flying(serial)

InjectionScript.Runtime.InjectionApiUO.Register [Launch]

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

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

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

values

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

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

Виклики: CompactLaunch.

Виклики:

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

values => new InjectionValue(CompactLaunch(values))

InjectionScript.Runtime.InjectionApiUO.Register [UseType]

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

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

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

values

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

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

Виклики: CompactUseType.

Виклики:

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

values => new InjectionValue(CompactUseType(values))

InjectionScript.Runtime.InjectionRuntime.CreateMessenger

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

Параметри: string provider

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionRuntime.cs:47.

private InjectionObject CreateMessenger(string provider)

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

Виклики:

  • owner.Checkpoint
  • MessengerFactory
  • Path.GetFullPath
  • Path.Combine
  • owner.Track

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

private InjectionObject CreateMessenger(string provider)

        {

            var owner=NativeScriptResourceScope.Current??throw new StatementFailedException("Create messenger objects inside an active C# script execution.");owner.Checkpoint();

            var client=MessengerFactory!=null?MessengerFactory(provider,()=>owner.Cancellation,owner.Checkpoint):new Messaging.MessengerClient(provider,()=>owner.Cancellation,owner.Checkpoint);

            var resource=new MessengerObject(client,owner.Forget,file=>Path.GetFullPath(Path.Combine(paths.ScriptPath??string.Empty,file)));owner.Track(resource);return resource;

        }

InjectionScript.Runtime.InternalSubrutines.GetArrayLength

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

Параметри: InjectionValue arg

Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeArrays.cs:6.

public static InjectionValue GetArrayLength(InjectionValue arg)

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

Виклики:

—

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

public static InjectionValue GetArrayLength(InjectionValue arg) => arg.Kind==InjectionValueKind.Array?new InjectionValue(arg.Array.Length):InjectionValue.Zero;

InjectionScript.Runtime.State.Globals.SetGlobal

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

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

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

public void SetGlobal(string name, string value)

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

Виклики:

  • SetGlobalShared

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

public void SetGlobal(string name, string value)

        {

            SetGlobalShared(name, value);

            lock (globalsLock) globals[name] = value ?? string.Empty;

        }
⚠️ **GitHub.com Fallback** ⚠️