Skip to content

JA Runtime Helpers E

Codex edited this page Oct 17, 2026 · 3 revisions

Українська · Русский · 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 を実行します。登録メソッドは API の構築時にこの delegate を作成します。

引数: 引数はありません。

ソース: 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 を実行します。登録メソッドは API の構築時にこの delegate を作成します。

引数: 引数はありません。

ソース: 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 を実行します。登録メソッドは API の構築時にこの delegate を作成します。

引数: 引数はありません。

ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1056.

結果: bridge.GetDir(bridge.Self).

呼び出し:

内部実装のコードです。単独のスクリプトとして実行できません。

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

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetResistFire]

呼び出し時には保存済みのハンドラー delegate を実行します。登録メソッドは API の構築時にこの delegate を作成します。

引数: 引数はありません。

ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1043.

結果: bridge.FireResistance.

呼び出し:

内部実装のコードです。単独のスクリプトとして実行できません。

() => bridge.FireResistance

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetResistPoison]

呼び出し時には保存済みのハンドラー delegate を実行します。登録メソッドは API の構築時にこの delegate を作成します。

引数: 引数はありません。

ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1045.

結果: bridge.PoisonResistance.

呼び出し:

内部実装のコードです。単独のスクリプトとして実行できません。

() => bridge.PoisonResistance

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [IsFlying]

呼び出し時には保存済みのハンドラー delegate を実行します。登録メソッドは API の構築時にこの delegate を作成します。

引数: 引数はありません。

ソース: 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 を実行します。登録メソッドは API の構築時にこの delegate を作成します。

引数: 引数はありません。

ソース: 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 を実行します。登録メソッドは API の構築時にこの delegate を作成します。

引数: 引数はありません。

ソース: 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;

        }

Clone this wiki locally