RU 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** ⚠️