Skip to content

JA Runtime Helpers 9

Codex edited this page Oct 17, 2026 · 3 revisions

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

補助関数 9

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

ClassicUO.CSharp.CSharpCallbacks.TryInvoke

この分岐は指定されたコマンド名だけを処理します。

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

ソース: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:422.

結果: true.

呼び出し:

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

case "SetEvent": SetStateEvent(arguments); return true;

ClassicUO.CSharp.CSharpScriptGlobals.WaitAsync

示された呼び出しと状態更新を実行します。

引数: int milliseconds

ソース: Project_Full/src/ClassicUO.CSharp/CSharpScriptGlobals.cs:200.

public async Task WaitAsync(int milliseconds)

結果: Task.

呼び出し:

  • ArgumentOutOfRangeException.ThrowIfNegative
  • Checkpoint
  • Math.Min
  • Task.Delay(slice, Cancellation).ConfigureAwait
  • Task.Delay

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

public async Task WaitAsync(int milliseconds)
    {
        ArgumentOutOfRangeException.ThrowIfNegative(milliseconds);
        Checkpoint();
        // Short slices allow Pause to suspend further script progress promptly.
        int remaining = milliseconds;
        while (remaining > 0)
        {
            int slice = Math.Min(remaining, 25);
            await Task.Delay(slice, Cancellation).ConfigureAwait(false);
            Checkpoint(); remaining -= slice;
        }
    }

ClassicUO.Configuration.ProfileManager.NewFromDefault

示された呼び出しと状態更新を実行します。

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

ソース: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:380.

public static Profile NewFromDefault()

結果: Profile.

呼び出し:

—

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

public static Profile NewFromDefault() => new Profile();

ClassicUO.Configuration.ProfileManager.SaveCurrentProfile

示された呼び出しと状態更新を実行します。

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

ソース: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:371.

internal static void SaveCurrentProfile()

結果: void.

条件:

  • CurrentProfile != null && !string.IsNullOrEmpty(ProfilePath)

呼び出し:

  • string.IsNullOrEmpty
  • Save

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

internal static void SaveCurrentProfile()

        {

            if (CurrentProfile != null && !string.IsNullOrEmpty(ProfilePath))

            {

                Save(CurrentProfile, ProfilePath);

            }

        }

ClassicUO.Configuration.ProfileManager.TryResolveProfileCharacter

以下の条件を確認し、示された結果を返します。

引数: displayServerName, profileName, characterName

ソース: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:527.

`internal static bool TryResolveProfileCharacter(

        string displayServerName, string profileName, out string characterName)`

結果: bool.

結果: false; true.

呼び出し: string.IsNullOrWhiteSpace, EncodePathSegment, displayServerName.Trim, string.IsNullOrEmpty, string.Equals, Path.GetFileName, Path.GetDirectoryName, Path.Combine.

条件: string.IsNullOrWhiteSpace(displayServerName) || string.IsNullOrWhiteSpace(profileName); `CurrentProfile != null && !string.IsNullOrEmpty(ProfilePath)

            && string.Equals(CurrentProfile.ServerName, displayServerName.Trim(), StringComparison.OrdinalIgnoreCase)`; `!Directory.Exists(directory) || !File.Exists(Path.Combine(directory, "profile.json"))`; `File.Exists(metadataPath)`.

呼び出し:

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

internal static bool TryResolveProfileCharacter(

            string displayServerName, string profileName, out string characterName)

        {

            characterName = string.Empty;

            if (string.IsNullOrWhiteSpace(displayServerName) || string.IsNullOrWhiteSpace(profileName))

                return false;



            string serverDirectory = EncodePathSegment(displayServerName.Trim());

            if (CurrentProfile != null && !string.IsNullOrEmpty(ProfilePath)

                && string.Equals(CurrentProfile.ServerName, displayServerName.Trim(), StringComparison.OrdinalIgnoreCase))

                serverDirectory = Path.GetFileName(Path.GetDirectoryName(ProfilePath));

            string directory = Path.Combine(RootPath, serverDirectory, EncodePathSegment(profileName.Trim()));

            if (!Directory.Exists(directory) || !File.Exists(Path.Combine(directory, "profile.json")))

                return false;



            try

            {

                string metadataPath = Path.Combine(directory, ProfileCharacterNameFileName);

                if (File.Exists(metadataPath))

                    characterName = File.ReadAllText(metadataPath, Encoding.UTF8).Trim();

            }

            catch (IOException) { }

            catch (UnauthorizedAccessException) { }



            return true;

        }

ClassicUO.Game.GameActions.ChangeStatLock

示された呼び出しと状態更新を実行します。

引数: byte stat, Lock state

ソース: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:812.

public static void ChangeStatLock(byte stat, Lock state)

結果: void.

呼び出し:

  • Socket.Send_StatLockStateRequest

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

public static void ChangeStatLock(byte stat, Lock state)
        {
            Socket.Send_StatLockStateRequest(stat, state);
        }

ClassicUO.Game.GameActions.RequestQuestMenu

示された呼び出しと状態更新を実行します。

引数: World world

ソース: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:719.

public static void RequestQuestMenu(World world)

結果: void.

呼び出し:

  • Socket.Send_QuestMenuRequest

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

public static void RequestQuestMenu(World world)
        {
            Socket.Send_QuestMenuRequest(world);
        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.BuildFindIdentityMask

示された呼び出しと状態更新を実行します。

引数: int[] values

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4101.

private static HashSet<ushort> BuildFindIdentityMask(int[] values)

結果: HashSet<ushort>.

条件:

  • value < 0 || value == 0xFFFF

呼び出し:

  • Array.Empty<int>
  • mask.Clear
  • mask.Add

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

private static HashSet<ushort> BuildFindIdentityMask(int[] values)

        {

            var mask = new HashSet<ushort>();

            foreach (int value in values ?? Array.Empty<int>())

            {

                if (value < 0 || value == 0xFFFF)

                {

                    // A wildcard is one alternative, so it makes the entire

                    // dimension unrestricted even when concrete values coexist.

                    mask.Clear();

                    break;

                }

                mask.Add((ushort)value);

            }

            return mask;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CancelTarget

示された呼び出しと状態更新を実行します。

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

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1291.

public void CancelTarget()

結果: void.

呼び出し:

  • Invoke
  • _manager.ClearPendingTargets
  • _world.TargetManager.CancelTarget

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

public void CancelTarget() => Invoke(() =>

        {

            _manager.ClearPendingTargets();

            _world.TargetManager.CancelTarget();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetAutoReconnect

示された呼び出しと状態更新を実行します。

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

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:461.

public int GetAutoReconnect()

結果: int.

呼び出し:

  • Invoke

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

public int GetAutoReconnect() => Invoke(() =>

            (_world.SessionControl?.AutoReconnect ?? Settings.GlobalSettings.Reconnect) ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetEquipment

示された呼び出しと状態更新を実行します。

引数: int mobileId

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2594.

public int[] GetEquipment(int mobileId)

結果: int[].

呼び出し:

  • Invoke

  • `_world.Items.Values

          .Where(item => !item.IsDestroyed && item.Container == (uint)mobileId && item.Layer != Layer.Invalid)
    
          .Select(item => (int)item.Serial).ToArray`
    
  • `_world.Items.Values

          .Where(item => !item.IsDestroyed && item.Container == (uint)mobileId && item.Layer != Layer.Invalid)
    
          .Select`
    
  • `_world.Items.Values

          .Where`
    

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

public int[] GetEquipment(int mobileId) => Invoke(() => _world.Items.Values

            .Where(item => !item.IsDestroyed && item.Container == (uint)mobileId && item.Layer != Layer.Invalid)

            .Select(item => (int)item.Serial).ToArray());

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLastObject

示された呼び出しと状態更新を実行します。

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

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:272.

public int GetLastObject()

結果: int.

呼び出し:

  • Invoke

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

public int GetLastObject() => Invoke(() => (int)_world.LastObject);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetPauseScriptOnDisconnectStatus

示された呼び出しと状態更新を実行します。

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

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:316.

public int GetPauseScriptOnDisconnectStatus()

結果: int.

呼び出し:

—

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

public int GetPauseScriptOnDisconnectStatus() => _manager.PauseScriptsOnDisconnect ? 1 : 0;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetScriptName

示された呼び出しと状態更新を実行します。

引数: int index

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:320.

public string GetScriptName(int index)

結果: string.

呼び出し:

  • _manager.GetScriptName

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

public string GetScriptName(int index) => _manager.GetScriptName(index);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetStaticArt

示された呼び出しと状態更新を実行します。

引数: int objType, int hue

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3656.

public int[] GetStaticArt(int objType, int hue)

結果: int[].

条件:

  • objType < 0 || objType > ushort.MaxValue || Client.UO.FileManager?.Arts?.File == null
  • artInfo.Pixels.IsEmpty || artInfo.Width <= 0 || artInfo.Height <= 0
  • pixel != 0 && appliedHue != 0

呼び出し:

  • Invoke
  • Array.Empty<int>
  • Client.UO.FileManager.Arts.GetArt
  • Write32
  • Write16
  • Math.Clamp
  • HuesHelper.Color32To16
  • Client.UO.FileManager.Hues.GetPartialHueColor
  • Client.UO.FileManager.Hues.GetColor
  • HuesHelper.GetBGRA
  • bmp.Select(value => (int)value).ToArray
  • bmp.Select

完全なコードはソースファイルにあります。以下は正確な抜粋です。

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

public int[] GetStaticArt(int objType, int hue) => Invoke(() =>
        {
            if (objType < 0 || objType > ushort.MaxValue || Client.UO.FileManager?.Arts?.File == null)
                return Array.Empty<int>();

            uint artIndex = unchecked((uint)objType) + ArtLoader.MAX_LAND_DATA_INDEX_COUNT;
            ArtInfo artInfo = Client.UO.FileManager.Arts.GetArt(artIndex);
            if (artInfo.Pixels.IsEmpty || artInfo.Width <= 0 || artInfo.Height <= 0)
                return Array.Empty<int>();
// …
                    if (pixel != 0 && appliedHue != 0)
// …
                    bmp[output++] = g;
                    bmp[output++] = r;
                }
                output = rowStart + rowStride;
            }

            return bmp.Select(value => (int)value).ToArray();
        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTooltipRecords::ReadRecords

以下の式の値を返します。

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

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2443.

(int ClilocID, string[] Parameters)[] ReadRecords()

結果: (int ClilocID, string[] Parameters)[].

結果: Invoke(() => _world.OPL.GetRecords(serial)).

呼び出し: Invoke.

呼び出し:

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

(int ClilocID, string[] Parameters)[] ReadRecords() => Invoke(() => _world.OPL.GetRecords(serial));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Matches

示された呼び出しと状態更新を実行します。

引数: string text, string[] patterns

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4074.

private static bool Matches(string text, string[] patterns)

結果: bool.

呼び出し:

  • Matches

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

private static bool Matches(string text, string[] patterns) => Matches(text, patterns, true);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PrintClientMessage

示された呼び出しと状態更新を実行します。

引数: ushort hue, string message

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2056.

private void PrintClientMessage(ushort hue, string message)

結果: void.

呼び出し:

  • Invoke
  • FormatScriptPrintText
  • GameActions.Print
  • _manager.AppendIdeOutput
  • ReportStatus

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

private void PrintClientMessage(ushort hue, string message) => Invoke(() =>

        {

            using var journalContext = new JournalMessageContext("script");

            string text = FormatScriptPrintText(message);



            // Use ClassicUO's native message pipeline. A Regular message with no

            // parent is the same route used by the original working Injection

            // client message: SystemChatControl receives the lower-left viewport

            // line and GameScene records the same event in the journal.

            GameActions.Print(_world, text, hue, SCRIPT_PRINT_MESSAGE_TYPE, 3, true);

            _manager.AppendIdeOutput(_scriptKey, "UO.Print: " + text);



            // UO.CharPrint remains the separate command for overhead text.

            ReportStatus("UO.Print dispatched through the native ClassicUO lower-left/journal message route");

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PrintInteractiveResult

示された呼び出しと状態更新を実行します。

引数: string text

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1283.

private void PrintInteractiveResult(string text)

結果: void.

呼び出し:

  • GameActions.Print
  • _manager.AppendIdeOutput
  • ReportStatus

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

private void PrintInteractiveResult(string text)

        {

            GameActions.Print(_world, text ?? string.Empty, DEFAULT_SCRIPT_PRINT_HUE,

                SCRIPT_PRINT_MESSAGE_TYPE, 3, true);

            _manager.AppendIdeOutput(_scriptKey, text ?? string.Empty);

            ReportStatus(text ?? string.Empty);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RemoveMapFigure

示された呼び出しと状態更新を実行します。

引数: int figureId

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2553.

public int RemoveMapFigure(int figureId)

結果: int.

呼び出し:

  • Invoke
  • WorldMapGump.RemoveYokoMapFigure

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

public int RemoveMapFigure(int figureId) => Invoke(() => WorldMapGump.RemoveYokoMapFigure(figureId));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestInteractiveGrabTarget

示された呼び出しと状態更新を実行します。

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

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:988.

public int RequestInteractiveGrabTarget()

結果: int.

条件:

  • !_interactiveCommands
  • selected is not Item item || item.IsDestroyed
  • _world.Player == null

呼び出し:

  • Invoke
  • _world.TargetManager.SetTargeting
  • PrintInteractiveResult
  • .FindItemByLayer
  • GameActions.GrabItem

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

public int RequestInteractiveGrabTarget()

        {

            if (!_interactiveCommands)

                return 0;



            int receivingContainer = _csharpState == null ? 0 : State.ReceivingContainer;

            return Invoke(() =>

            {

                _world.TargetManager.SetTargeting(selected =>

                {

                    if (selected is not Item item || item.IsDestroyed)

                    {

                        PrintInteractiveResult("UO.Grab: select an available item.");

                        return;

                    }



                    if (_world.Player == null)

                    {

                        PrintInteractiveResult("UO.Grab: the character is not available.");

                        return;

                    }



                    uint destination = receivingContainer > 0

                        ? unchecked((uint)receivingContainer)

                        : _world.Player?.FindItemByLayer(Layer.Backpack)?.Serial ?? 0;

                    GameActions.GrabItem(_world, item.Serial, item.Amount, destination);

                    PrintInteractiveResult($"UO.Grab: grabbed 0x{item.Serial:X8}, amount={item.Amount}.");

                }, 0, TargetType.Neutral);

                PrintInteractiveResult("UO.Grab: target an item to grab.");

                return 1;

            });

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SendGumpSelect

示された呼び出しと状態更新を実行します。

引数: int serial, int gumpId, int triggerId, int timeoutMs

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3009.

public int SendGumpSelect(int serial, int gumpId, int triggerId, int timeoutMs)

結果: int.

条件:

  • sent != 0
  • DateTime.UtcNow >= deadline

呼び出し:

  • DateTime.UtcNow.AddMilliseconds
  • Math.Max
  • Invoke
  • SendGumpButtonUnsafe
  • ServerGumpsUnsafe().LastOrDefault
  • ServerGumpsUnsafe
  • Wait
  • Error

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

public int SendGumpSelect(int serial, int gumpId, int triggerId, int timeoutMs)

        {

            DateTime deadline = DateTime.UtcNow.AddMilliseconds(Math.Max(0, timeoutMs));

            do

            {

                int sent = Invoke(() => SendGumpButtonUnsafe(ServerGumpsUnsafe().LastOrDefault(item =>

                    (serial is 0 or -1 || item.LocalSerial == unchecked((uint)serial))

                    && (gumpId is 0 or -1 || item.ServerSerial == unchecked((uint)gumpId))), triggerId, string.Empty));

                if (sent != 0)

                    return sent;

                if (DateTime.UtcNow >= deadline)

                    break;

                Wait(20);

            }

            while (true);



            Error($"UO.SendGumpSelect: gump serial=0x{serial:X8}, id=0x{gumpId:X8} was not found");

            return 0;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoBuyDelay

示された呼び出しと状態更新を実行します。

引数: int value

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3959.

public void SetAutoBuyDelay(int value)

結果: void.

条件:

  • ProfileManager.CurrentProfile == null

呼び出し:

  • Invoke
  • Math.Clamp
  • ProfileManager.SaveCurrentProfile

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

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

        {

            if (ProfileManager.CurrentProfile == null) return;

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

            ProfileManager.SaveCurrentProfile();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetFindDistance

示された呼び出しと状態更新を実行します。

引数: int distance

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:204.

public void SetFindDistance(int distance)

結果: void.

呼び出し:

  • Math.Clamp

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

public void SetFindDistance(int distance) => State.FindDistance = Math.Clamp(distance, 0, 255);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetGrabDelay

示された呼び出しと状態更新を実行します。

引数: int valueInt

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:208.

public void SetGrabDelay(int valueInt)

結果: void.

呼び出し:

  • Math.Clamp

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

public void SetGrabDelay(int valueInt) => State.GrabDelay = Math.Clamp(valueInt, 0, 60_000);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Terminate

示された呼び出しと状態更新を実行します。

引数: string subrutineName

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2948.

public void Terminate(string subrutineName)

結果: void.

呼び出し:

  • _manager.TerminateProcedures
  • _cancellationToken.ThrowIfCancellationRequested

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

public void Terminate(string subrutineName)

        {

            // Control operations must not wait on the game thread or a paused worker.

            _manager.TerminateProcedures(subrutineName);

            _cancellationToken.ThrowIfCancellationRequested();

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UpdateObject

示された呼び出しと状態更新を実行します。

引数: int id

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1518.

public void UpdateObject(int id)

結果: void.

条件:

  • _world.Mobiles.Get((uint)id) != null
  • _world.Items.Get((uint)id) != null

呼び出し:

  • Invoke
  • _world.Mobiles.Get
  • GameActions.RequestMobileStatus
  • _world.Items.Get
  • GameActions.SingleClick

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

public void UpdateObject(int id) => Invoke(() =>

        {

            if (_world.Mobiles.Get((uint)id) != null)

            {

                GameActions.RequestMobileStatus(_world, (uint)id, true);

            }

            else if (_world.Items.Get((uint)id) != null)

            {

                GameActions.SingleClick(_world, (uint)id);

            }

        });

ClassicUO.Game.Managers.YokoInjectionManager.IsSelectedAutoloadExplicitlyUnloaded

示された呼び出しと状態更新を実行します。

引数: string path

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/YokoSelectedAutoloadActions.cs:59.

internal bool IsSelectedAutoloadExplicitlyUnloaded(string path)

結果: bool.

呼び出し:

  • _selectedAutoloadUnloaded.Contains

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

internal bool IsSelectedAutoloadExplicitlyUnloaded(string path)

    { lock (_selectedAutoloadActionLock) return _selectedAutoloadUnloaded.Contains(path); }

ClassicUO.Game.Managers.YokoInjectionManager.ReleaseObjectSelection

示された呼び出しと状態更新を実行します。

引数: Action<GameObjects.GameObject> callback

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3405.

internal void ReleaseObjectSelection(Action<GameObjects.GameObject> callback)

結果: void.

呼び出し:

  • EnqueueMainThreadAction
  • _world.TargetManager.ReleaseCallbackTarget

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

internal void ReleaseObjectSelection(Action<GameObjects.GameObject> callback)

            => EnqueueMainThreadAction(() => _world.TargetManager.ReleaseCallbackTarget(callback));

ClassicUO.Game.UI.Gumps.Gump.ChangePage

示された呼び出しと状態更新を実行します。

引数: int pageIndex

ソース: Project_Full/src/ClassicUO.Client/Game/UI/Gumps/Gump.cs:208.

public override void ChangePage(int pageIndex)

結果: void.

呼び出し:

—

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

public override void ChangePage(int pageIndex)
        {
            // For a gump, Page is the page that is drawing.
            ActivePage = pageIndex;
        }

ClassicUO.Game.World.GetOrCreateItem

示された呼び出しと状態更新を実行します。

引数: uint serial

ソース: Project_Full/src/ClassicUO.Client/Game/World.cs:556.

public Item GetOrCreateItem(uint serial)

結果: Item.

条件:

  • item != null && item.IsDestroyed
  • item == null

呼び出し:

  • Items.Get
  • Items.Remove
  • Item.Create
  • Items.Add

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

public Item GetOrCreateItem(uint serial)

        {

            Item item = Items.Get(serial);



            if (item != null && item.IsDestroyed)

            {

                Items.Remove(serial);

                item = null;

            }



            if (item == null /*|| item.IsDestroyed*/)

            {

                item = Item.Create(this, serial);

                Items.Add(item);

            }



            return item;

        }

InjectionScript.Runtime.InjectionApiUO.AddMaskValue

示された呼び出しと状態更新を実行します。

引数: HashSet<int> result, InjectionValue value, ref bool invalid, ref bool unrestricted

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

private static void AddMaskValue(HashSet<int> result, InjectionValue value, ref bool invalid, ref bool unrestricted)

結果: void.

条件:

  • value.Kind == InjectionValueKind.Array
  • value.Kind == InjectionValueKind.String
  • string.IsNullOrWhiteSpace(text)
  • token.Equals("any", StringComparison.OrdinalIgnoreCase) || token == "-1"

呼び出し:

  • string.IsNullOrWhiteSpace
  • text.Split
  • rawToken.Trim
  • token.Equals
  • NumberConversions.TryStr2Int
  • result.Add
  • NumberConversions.ToInt

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

private static void AddMaskValue(HashSet<int> result, InjectionValue value, ref bool invalid, ref bool unrestricted)

        {

            // Mask entries are scalar. A nested array is not the literal 0;

            // reject it without recursively walking a potentially cyclic array.

            if (value.Kind == InjectionValueKind.Array)

            {

                invalid = true;

                return;

            }

            if (value.Kind == InjectionValueKind.String)

            {

                string text = value.String ?? string.Empty;

                if (string.IsNullOrWhiteSpace(text)) unrestricted = true;

                foreach (string rawToken in text.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries))

                {

                    string token = rawToken.Trim();

                    if (token.Equals("any", StringComparison.OrdinalIgnoreCase) || token == "-1")

                    {

                        unrestricted = true;

                        continue;

                    }

                    if (NumberConversions.TryStr2Int(token, out int parsed))

                    {

                        if (parsed >= 0 && parsed != 0xFFFF)

                            result.Add(parsed);

                        else

                            unrestricted = true;

                    }

                    else

                    {

                        // Invalid mask tokens are ignored; a fully invalid mask matches nothing.

                        invalid = true;

                    }

                }

                return;

            }



            int number = NumberConversions.ToInt(value);

            if (number >= 0 && number != 0xFFFF)

                result.Add(number);

            else

                unrestricted = true;

        }

InjectionScript.Runtime.InjectionApiUO.AddObject

示された呼び出しと状態更新を実行します。

引数: string name, int id

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

public void AddObject(string name, int id)

結果: void.

呼び出し:

  • objects.Set

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

public void AddObject(string name, int id)

            => objects.Set(name, id);

InjectionScript.Runtime.InjectionApiUO.Attack

示された呼び出しと状態更新を実行します。

引数: int id

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

public void Attack(int id)

結果: void.

呼び出し:

  • bridge.Attack

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

public void Attack(int id) => bridge.Attack(id);

InjectionScript.Runtime.InjectionApiUO.BuildWorldCell

示された呼び出しと状態更新を実行します。

引数: int x, int y, int map, bool includeObjects

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

private InjectionValue BuildWorldCell(int x, int y, int map, bool includeObjects)

結果: InjectionValue.

条件:

  • map != bridge.WorldNumber
  • land.Length >= 2
  • includeObjects
  • bridge.GetX(serial) == x && bridge.GetY(serial) == y

呼び出し:

  • Array.Empty<InjectionValue>
  • bridge.GetLandscapeTile
  • Array.Empty<int>
  • result.Add
  • BuildWorldTileRecord
  • bridge.GetStaticTiles
  • bridge.GetWorldItems
  • bridge.GetX
  • bridge.GetY
  • bridge.GetGraphics
  • bridge.GetZ
  • bridge.GetColor
  • result.ToArray

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

private InjectionValue BuildWorldCell(int x, int y, int map, bool includeObjects)

        {

            if (map != bridge.WorldNumber)

                return new InjectionValue(Array.Empty<InjectionValue>());

            var result = new List<InjectionValue>();

            int[] land = bridge.GetLandscapeTile(x, y, map) ?? Array.Empty<int>();

            if (land.Length >= 2)

                result.Add(BuildWorldTileRecord("land", 0, land[0], x, y, land[1], 0, 0));



            int[] statics = bridge.GetStaticTiles(x, y, map) ?? Array.Empty<int>();

            for (int offset = 0; offset + 2 < statics.Length; offset += 3)

                result.Add(BuildWorldTileRecord("static", 0, statics[offset], x, y, statics[offset + 1], statics[offset + 2], 1));



            if (includeObjects)

            {

                foreach (int serial in bridge.GetWorldItems() ?? Array.Empty<int>())

                    if (bridge.GetX(serial) == x && bridge.GetY(serial) == y)

                        result.Add(BuildWorldTileRecord("object", serial, bridge.GetGraphics(serial), x, y,

                            bridge.GetZ(serial), bridge.GetColor(serial), 1));

            }

            return new InjectionValue(result.ToArray());

        }

InjectionScript.Runtime.InjectionApiUO.CompactGrab

示された呼び出しと状態更新を実行します。

引数: InjectionValue[] values

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

private int CompactGrab(InjectionValue[] values)

結果: int.

条件:

  • values == null || values.Length == 0
  • values.Length > 4
  • id == 0
  • values.Length >= 3

呼び出し:

  • Grab
  • NumberConversions.ToInt
  • GetObject
  • CompactMoveItem
  • ConvertMoveDestination
  • bridge.GetX
  • bridge.GetY
  • bridge.GetZ

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

private int CompactGrab(InjectionValue[] values)

        {

            if (values == null || values.Length == 0)

                return Grab();

            if (values.Length > 4)

                throw new NativeSubrutineException("UO.Grab accepts item; amount,item; or amount,item,container[,timeout].");



            // Preserve the historical one-argument form: Grab(item) means one item.

            int amount = values.Length == 1 ? 1 : NumberConversions.ToInt(values[0]);

            InjectionValue item = values.Length == 1 ? values[0] : values[1];

            int id = GetObject(item);

            if (id == 0)

                return 0;



            InjectionValue destination;

            if (values.Length >= 3)

                destination = values[2];

            else

            {

                int receiving = state.ReceivingContainer > 0 ? state.ReceivingContainer : bridge.Backpack;

                destination = new InjectionValue(receiving);

            }



            if (values.Length < 4)

                return CompactMoveItem(new[] { new InjectionValue(id), new InjectionValue(amount), destination });



            int targetContainer = ConvertMoveDestination(destination);

            bool ground = targetContainer == 0;

            int x = ground ? bridge.GetX(bridge.Self) : 0xFFFF;

            int y = ground ? bridge.GetY(bridge.Self) : 0xFFFF;

            int z = ground ? bridge.GetZ(bridge.Self) : 0;

            return CompactMoveItem(new[]

            {

                new InjectionValue(id), new InjectionValue(amount), destination,

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

                values[3], InjectionValue.True

            });

        }

InjectionScript.Runtime.InjectionApiUO.DeleteJournal

示された呼び出しと状態更新を実行します。

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

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

public void DeleteJournal()

結果: void.

呼び出し:

  • bridge.DeleteJournal
  • SelectJournalEntry

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

public void DeleteJournal()

        {

            bridge.DeleteJournal();

            SelectJournalEntry(null);

        }

InjectionScript.Runtime.InjectionApiUO.Equip

示された呼び出しと状態更新を実行します。

引数: string layer, int id

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

public int Equip(string layer, int id)

結果: int.

呼び出し:

  • bridge.Equip
  • ConvertLayer

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

public int Equip(string layer, int id) => bridge.Equip(ConvertLayer(layer), id);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: InjectionValue.Zero; new InjectionValue(id).

条件: !TryMapFigureArg(0, out int[] figure, out string figureText); bridge.SetMapFigure(id, figure[0], figure[1], figure[2], figure[3], figure[4], figure[5], figure[6], figure[7], figure[8], figure[9], figureText) == 0.

呼び出し:

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

case "addfigure":

                {

                    if (!TryMapFigureArg(0, out int[] figure, out string figureText))

                        return InjectionValue.Zero;

                    int id = state.NextMapFigureId++;

                    if (bridge.SetMapFigure(id, figure[0], figure[1], figure[2], figure[3], figure[4], figure[5], figure[6], figure[7], figure[8], figure[9], figureText) == 0)

                        return InjectionValue.Zero;

                    state.MapFigures[id] = SerializeMapFigure(figure, figureText);

                    return new InjectionValue(id);

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: InjectionValue.Unit.

呼び出し:

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

case "autobuy":

                    bridge.SetAutoBuyRule(Arg(0), Arg(1), Arg(2), 0, string.Empty); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: InjectionValue.Unit.

呼び出し:

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

case "closeclientuiwindow": bridge.CloseClientWindow(Arg(0), Arg(1)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(state.DropCheckCoord).

条件: arguments.Length > 0.

呼び出し:

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

case "dropcheckcoord":

                    if (arguments.Length > 0) state.DropCheckCoord = Arg(0) != 0 ? 1 : 0;

                    return new InjectionValue(state.DropCheckCoord);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(bridge.GetClilocById(Arg(0), StringArrayArg(1))).

呼び出し:

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

case "getclilocbyid":

                    return new InjectionValue(bridge.GetClilocById(Arg(0), StringArrayArg(1)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: GumpLinesResult(bridge.GetGumpFullLines(Arg(0))).

呼び出し:

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

case "getgumpfulllines": return GumpLinesResult(bridge.GetGumpFullLines(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(bridge.GetGumpId(Arg(0))).

呼び出し:

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

case "getgumpid": return new InjectionValue(bridge.GetGumpId(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(bridge.GetName(Arg(0, bridge.Self))).

呼び出し:

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

case "getname":

                case "charname": return new InjectionValue(bridge.GetName(Arg(0, bridge.Self)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(bridge.GetScriptState(Arg(0))).

呼び出し:

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

case "getscriptstate": return new InjectionValue(bridge.GetScriptState(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(bridge.GetScriptsCount()).

呼び出し:

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

case "getscriptscount": return new InjectionValue(bridge.GetScriptsCount());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(state.WalkMountTimer).

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

case "getwalkmounttimer": return new InjectionValue(state.WalkMountTimer);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(arguments.Length > 0 ? bridge.IsWarMode(Arg(0)) : WarMode()).

呼び出し:

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

case "iswarmode": return new InjectionValue(arguments.Length > 0 ? bridge.IsWarMode(Arg(0)) : WarMode());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(bridge.GetYellowBar(Arg(0, bridge.Self))).

呼び出し:

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

case "isyellowhits": return new InjectionValue(bridge.GetYellowBar(Arg(0, bridge.Self)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(GetJournalText(0)).

呼び出し:

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

case "lastjournalmessage": return new InjectionValue(GetJournalText(0));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(bridge.LastTarget).

呼び出し:

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

case "lasttarget": return new InjectionValue(bridge.LastTarget);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(selectedJournalEntry?.TextType ?? 0).

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

case "linetype": return new InjectionValue(selectedJournalEntry?.TextType ?? 0);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue((bridge as IProxyMetadataBridge)?.ProxyPort ?? 0).

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

case "proxyport": return new InjectionValue((bridge as IProxyMetadataBridge)?.ProxyPort ?? 0);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: InjectionValue.Unit.

呼び出し:

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

case "setrunmounttimer":

                    state.RunMountTimer = ClampMoveTimer(Arg(0), 100);

                    bridge.SetMovementTimers(state.RunMountTimer, state.RunUnmountTimer, state.WalkMountTimer, state.WalkUnmountTimer);

                    return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: InjectionValue.Unit.

呼び出し:

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

case "setscriptname": bridge.SetScriptName(Arg(0), Text(1)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: InjectionValue.Unit.

呼び出し:

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

case "setskilllockstate":

                case "skilllockstate": bridge.SetSkillLockState(Text(0), Arg(1)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(bridge.ShardName).

呼び出し:

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

case "shardname":

                case "profileshardname": return new InjectionValue(bridge.ShardName);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(bridge.Strength).

呼び出し:

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

case "str": return new InjectionValue(bridge.Strength);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: WaitJournalLine(arguments, false).

呼び出し:

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

case "waitjournalline": return WaitJournalLine(arguments, false);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(bridge.WorldNumber).

呼び出し:

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

case "worldnum": return new InjectionValue(bridge.WorldNumber);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(state.MoveBetweenTwoCorners).

条件: arguments.Length > 0.

呼び出し:

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

case "movebetweentwocorners":

                    if (arguments.Length > 0) state.MoveBetweenTwoCorners = Arg(0) != 0 ? 1 : 0;

                    return new InjectionValue(state.MoveBetweenTwoCorners);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(state.MoveCheckStamina).

条件: arguments.Length > 0.

呼び出し:

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

case "movecheckstamina": if (arguments.Length > 0) state.MoveCheckStamina = Math.Max(0, Arg(0)); return new InjectionValue(state.MoveCheckStamina);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(state.MoveHeuristicMultiplier).

条件: arguments.Length > 0.

呼び出し:

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

case "moveheuristicmult": if (arguments.Length > 0) state.MoveHeuristicMultiplier = Math.Max(0, Arg(0)); return new InjectionValue(state.MoveHeuristicMultiplier);

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

この分岐は指定されたコマンド名だけを処理します。

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

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

呼び出し:

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

case "cancelgump": bridge.CloseSimpleGump(arguments.Length > 0 ? Arg(0) : -1); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

この分岐は指定されたコマンド名だけを処理します。

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

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

呼び出し:

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

case "deleteignorelist":

                    state.IgnoreTypeLists.Remove(Text(0), arguments.Length > 1 ? ResolveType(arguments[1]) : (int?)null,

                        arguments.Length > 2 ? NumberConversions.ToInt(arguments[2]) : (int?)null);

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

この分岐は指定されたコマンド名だけを処理します。

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

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

結果: new InjectionValue(MoveItem(arguments[0], arguments.Length > 1 ? arguments[1] : InjectionValue.Zero, new InjectionValue("ground"), new InjectionValue(GetX()), new InjectionValue(GetY()), new InjectionValue(GetZ()))); InjectionValue.False.

条件: arguments.Length > 0.

呼び出し:

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

case "drophere":

                    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;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

この分岐は指定されたコマンド名だけを処理します。

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

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

条件: mobile != 0.

呼び出し:

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

case "findman":

                {

                    int mobile = bridge.GetMobiles().FirstOrDefault();

                    if (mobile != 0) state.Objects.Set(arguments.Length > 0 ? Text(0) : "findman", mobile);

                    break;

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

この分岐は指定されたコマンド名だけを処理します。

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

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

呼び出し:

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

case "mount": bridge.Mount(Arg(0, bridge.LastTarget)); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

この分岐は指定されたコマンド名だけを処理します。

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

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

呼び出し:

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

case "uoamessage": bridge.Print(state.FontColor, Text(0)); break;

InjectionScript.Runtime.InjectionApiUO.Exists

示された呼び出しと状態更新を実行します。

引数: string id

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

public int Exists(string id)

結果: int.

呼び出し:

  • Exists
  • GetObject

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

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

InjectionScript.Runtime.InjectionApiUO.FindFilteredTargetSerial

以下の条件を確認し、示された結果を返します。

引数: typeValue, color, distance, notorietyValue, nearest, maxZ

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

`private int FindFilteredTargetSerial(InjectionValue typeValue, int color, int distance,

        InjectionValue notorietyValue, bool nearest, int maxZ)`

結果: int.

結果: candidates.FirstOrDefault().

呼び出し: bridge.GetIgnoreList, state.IgnoreTypeLists.FilterFor, ParseTypeMask, ParseIntMask, bridge.GetZ, bridge.GetFindDistance, Math.Max, bridge.GetFindVertical.

条件: notorieties.Count > 0; nearest.

呼び出し:

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

private int FindFilteredTargetSerial(InjectionValue typeValue, int color, int distance,

            InjectionValue notorietyValue, bool nearest, int maxZ)

        {

            HashSet<int> ignored = new HashSet<int>(bridge.GetIgnoreList());

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

            HashSet<int> types = ParseTypeMask(typeValue);

            HashSet<int> notorieties = ParseIntMask(notorietyValue);

            int self = bridge.Self;

            int selfZ = bridge.GetZ(self);

            int effectiveDistance = distance < 0 ? bridge.GetFindDistance() : Math.Max(0, distance);

            int effectiveMaxZ = maxZ < 0 ? bridge.GetFindVertical() : Math.Max(0, maxZ);



            IEnumerable<int> candidates;

            if (notorieties.Count > 0)

            {

                // Notoriety is a Mobile property. Supplying it makes the search mobile-only.

                candidates = bridge.GetMobiles();

            }

            else

            {

                candidates = bridge.GetMobiles().Concat(bridge.GetWorldItems());

            }



            candidates = candidates

                .Where(id => id != 0 && id != self && (!ignored.Contains(id) && !MatchesIgnoredType(id, ignoredTypes)))

                .Distinct()

                .Where(id => types.Count == 0 || types.Contains(bridge.GetGraphics(id)))

                .Where(id => color < 0 || color == 0xFFFF || bridge.GetColor(id) == color)

                .Where(id => effectiveDistance < 0 || bridge.GetDistance(id) <= effectiveDistance)

                .Where(id => effectiveMaxZ < 0 || Math.Abs(bridge.GetZ(id) - selfZ) <= effectiveMaxZ)

                .Where(id => notorieties.Count == 0 || notorieties.Contains(bridge.GetNotoriety(id)));



            if (nearest)

                candidates = candidates.OrderBy(id => bridge.GetDistance(id)).ThenBy(id => id);



            return candidates.FirstOrDefault();

        }

InjectionScript.Runtime.InjectionApiUO.GetAbilityName

示された呼び出しと状態更新を実行します。

引数: int abilityId

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

public string GetAbilityName(int abilityId)

結果: string.

呼び出し:

  • bridge.GetAbilityName

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

public string GetAbilityName(int abilityId) => bridge.GetAbilityName(abilityId);

InjectionScript.Runtime.InjectionApiUO.GetEquips

示された呼び出しと状態更新を実行します。

引数: int[] supportedLayers

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

private IEnumerable<Equip> GetEquips(int[] supportedLayers)

結果: IEnumerable<Equip>.

条件:

  • id != 0

呼び出し:

  • bridge.ObjAtLayer

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

private IEnumerable<Equip> GetEquips(int[] supportedLayers)

        {

            foreach (var layer in supportedLayers)

            {

                var id = bridge.ObjAtLayer(layer);

                if (id != 0)

                    yield return new Equip(layer, id);

            }

        }

InjectionScript.Runtime.InjectionApiUO.GetGump

示された呼び出しと状態更新を実行します。

引数: int gumpId, string identifier, int key

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

public InjectionValue GetGump(int gumpId, string identifier, int key)

結果: InjectionValue.

呼び出し:

  • ConvertGumpValue
  • bridge.GetGumpValue

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

public InjectionValue GetGump(int gumpId, string identifier, int key)

            => ConvertGumpValue(identifier, bridge.GetGumpValue(gumpId, identifier, key));

InjectionScript.Runtime.InjectionApiUO.GetHP

示された呼び出しと状態更新を実行します。

引数: int id

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

public int GetHP(int id)

結果: int.

呼び出し:

  • bridge.GetHP

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

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

InjectionScript.Runtime.InjectionApiUO.GetJournalStartAge

示された呼び出しと状態更新を実行します。

引数: InjectionValue value

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

private int GetJournalStartAge(InjectionValue value)

結果: int.

条件:

  • value.Kind == InjectionValueKind.Decimal && raw > 20_000d && raw < 100_000d

呼び出し:

  • NumberConversions.ToInt
  • DateTime.FromOADate
  • JournalTimestampToAge
  • CurrentJournalTime

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

private int GetJournalStartAge(InjectionValue value)

        {

            double raw = value.Kind == InjectionValueKind.Decimal ? value.Decimal : NumberConversions.ToInt(value);

            // LineTime is a Decimal OLE date; Now is an Integer millisecond

            // timestamp. A running script's 20000..100000 ms is not a date.

            if (value.Kind == InjectionValueKind.Decimal && raw > 20_000d && raw < 100_000d)

            {

                try

                {

                    double elapsed = (timeSource.Now - DateTime.FromOADate(raw)).TotalMilliseconds;

                    return elapsed <= 0d ? 0 : elapsed >= int.MaxValue ? int.MaxValue : (int)elapsed;

                }

                catch (ArgumentException)

                {

                }

            }

            return JournalTimestampToAge(raw <= 0d ? 0 : raw >= int.MaxValue ? int.MaxValue : (int)raw,

                CurrentJournalTime());

        }

InjectionScript.Runtime.InjectionApiUO.GetMaxHP

示された呼び出しと状態更新を実行します。

引数: int id

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

public int GetMaxHP(int id)

結果: int.

呼び出し:

  • bridge.GetMaxHP

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

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

InjectionScript.Runtime.InjectionApiUO.GetName

示された呼び出しと状態更新を実行します。

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

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

public string GetName()

結果: string.

呼び出し:

  • GetName

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

public string GetName() => GetName("self");

InjectionScript.Runtime.InjectionApiUO.GetObject

示された呼び出しと状態更新を実行します。

引数: InjectionValue name

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

private int GetObject(InjectionValue name)

結果: int.

条件:

  • TryGetObject(name, out int id)

呼び出し:

  • TryGetObject

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

private int GetObject(InjectionValue name)

        {

            if (TryGetObject(name, out int id))

                return id;

            return -1;

        }

InjectionScript.Runtime.InjectionApiUO.GetTileHeight

示された呼び出しと状態更新を実行します。

引数: InjectionValue group, InjectionValue tileId

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

public int GetTileHeight(InjectionValue group, InjectionValue tileId)

結果: int.

呼び出し:

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

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

public int GetTileHeight(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 < 7 ? 0 : properties[6];

        }

InjectionScript.Runtime.InjectionApiUO.GetWorldCell

示された呼び出しと状態更新を実行します。

引数: InjectionValue x, InjectionValue y, InjectionValue map

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

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

結果: InjectionValue.

呼び出し:

  • BuildWorldCell
  • NumberConversions.ToInt

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

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

            => BuildWorldCell(NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(map), true);

InjectionScript.Runtime.InjectionApiUO.Grab

示された呼び出しと状態更新を実行します。

引数: int amount, int id

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

public int Grab(int amount, int id)

結果: int.

呼び出し:

  • CompactGrab

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

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

InjectionScript.Runtime.InjectionApiUO.InfoGumps

示された呼び出しと状態更新を実行します。

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

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

public string InfoGumps()

結果: string.

呼び出し:

  • bridge.GetGumpListInspectorText
  • bridge.ShowGumpListInspector

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

public string InfoGumps()

        {

            string document = bridge.GetGumpListInspectorText();

            bridge.ShowGumpListInspector();

            return document;

        }

InjectionScript.Runtime.InjectionApiUO.IsNpc

示された呼び出しと状態更新を実行します。

引数: string id

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

public int IsNpc(string id)

結果: int.

呼び出し:

  • IsNpc
  • GetObject

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

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

InjectionScript.Runtime.InjectionApiUO.IsTargeting

示された呼び出しと状態更新を実行します。

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

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

public int IsTargeting()

結果: int.

呼び出し:

  • bridge.IsTargeting

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

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

InjectionScript.Runtime.InjectionApiUO.NormalizeLastTile

示された呼び出しと状態更新を実行します。

引数: int[] values

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

private static int[] NormalizeLastTile(int[] values)

結果: int[].

条件:

  • values != null && values.Length >= 4
  • values != null

呼び出し:

  • Array.Copy
  • Math.Min

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

private static int[] NormalizeLastTile(int[] values)

        {

            if (values != null && values.Length >= 4)

                return values;



            var result = new int[4];

            if (values != null)

                Array.Copy(values, result, Math.Min(values.Length, result.Length));

            return result;

        }

InjectionScript.Runtime.InjectionApiUO.NormalizeLegacyEventName

示された呼び出しと状態更新を実行します。

引数: string name

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

private static string NormalizeLegacyEventName(string name)

結果: string.

条件:

  • value.StartsWith("ev", StringComparison.OrdinalIgnoreCase) && value.Length > 2

呼び出し:

  • (name ?? string.Empty).Trim
  • value.StartsWith
  • value.Substring

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

private static string NormalizeLegacyEventName(string name)

        {

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

            if (value.StartsWith("ev", StringComparison.OrdinalIgnoreCase) && value.Length > 2)

                value = value.Substring(2);

            return value;

        }

InjectionScript.Runtime.InjectionApiUO.ParseIntMask

示された呼び出しと状態更新を実行します。

引数: InjectionValue value

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

private static HashSet<int> ParseIntMask(InjectionValue value)

結果: HashSet<int>.

条件:

  • value.Kind == InjectionValueKind.Array
  • result.Count == 0 && invalid && !unrestricted

呼び出し:

  • AddMaskValue
  • result.Add

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

private static HashSet<int> ParseIntMask(InjectionValue value)

        {

            var result = new HashSet<int>();

            bool invalid = false, unrestricted = false;

            if (value.Kind == InjectionValueKind.Array)

            {

                foreach (InjectionValue entry in value.Array)

                    AddMaskValue(result, entry, ref invalid, ref unrestricted);

            }

            else

                AddMaskValue(result, value, ref invalid, ref unrestricted);

            // Empty is the established wildcard representation. An invalid-only

            // mask must instead match nothing; graphics and notoriety are nonnegative.

            if (result.Count == 0 && invalid && !unrestricted)

                result.Add(int.MinValue);

            return result;

        }

InjectionScript.Runtime.InjectionApiUO.ReadWornTypes

示された呼び出しと状態更新を実行します。

引数: int mobile

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

private HashSet<int> ReadWornTypes(int mobile)

結果: HashSet<int>.

条件:

  • bridge is IApiEquipmentSnapshotBridge snapshot
  • layer >= 1 && layer <= 24 && layer != 21

呼び出し:

  • snapshot.GetWornTypes
  • Array.Empty<int>
  • bridge.GetEquipment
  • bridge.GetLayer
  • worn.Add
  • bridge.GetGraphics

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

private HashSet<int> ReadWornTypes(int mobile)
        {
            if (bridge is IApiEquipmentSnapshotBridge snapshot)
                return new HashSet<int>(snapshot.GetWornTypes(mobile) ?? Array.Empty<int>());
            var worn = new HashSet<int>();
            foreach (int item in bridge.GetEquipment(mobile) ?? Array.Empty<int>())
            {
                int layer = bridge.GetLayer(item);
                if (layer >= 1 && layer <= 24 && layer != 21) worn.Add(bridge.GetGraphics(item));
            }
            return worn;
        }

InjectionScript.Runtime.InjectionApiUO.ScanInt

示された呼び出しと状態更新を実行します。

引数: InjectionValue textValue, InjectionValue startValue

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

public int ScanInt(InjectionValue textValue, InjectionValue startValue)

結果: int.

呼び出し:

  • textValue.ToString
  • Math.Max
  • Math.Min
  • NumberConversions.ToInt
  • Regex.Match
  • text.Substring
  • NumberConversions.TryStr2Int

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

public int ScanInt(InjectionValue textValue, InjectionValue startValue)

        {

            string text = textValue.ToString() ?? string.Empty;

            int start = Math.Max(0, Math.Min(text.Length, NumberConversions.ToInt(startValue)));

            Match match = Regex.Match(text.Substring(start), @"[-+]?(?:0[xX][0-9A-Fa-f]+|\d+)", RegexOptions.CultureInvariant);

            return match.Success && NumberConversions.TryStr2Int(match.Value, out int value) ? value : 0;

        }

InjectionScript.Runtime.InjectionApiUO.SendGumpSelect

示された呼び出しと状態更新を実行します。

引数: int triggerId

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

public int SendGumpSelect(int triggerId)

結果: int.

呼び出し:

  • bridge.SendGumpSelect

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

public int SendGumpSelect(int triggerId) => bridge.SendGumpSelect(triggerId);

InjectionScript.Runtime.InjectionApiUO.SerializeRecordedLegacyAction

示された呼び出しと状態更新を実行します。

引数: string name, InjectionValue[] arguments

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

private static string SerializeRecordedLegacyAction(string name, InjectionValue[] arguments)

結果: string.

呼び出し:

  • `new[] { RecordedLegacyActionPrefix, EncodeRecordingText(name) }

              .Concat`
    
  • EncodeRecordingText

  • (arguments ?? Array.Empty<InjectionValue>()).Select

  • Array.Empty<InjectionValue>

  • string.Join

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

private static string SerializeRecordedLegacyAction(string name, InjectionValue[] arguments)

        {

            IEnumerable<string> fields = new[] { RecordedLegacyActionPrefix, EncodeRecordingText(name) }

                .Concat((arguments ?? Array.Empty<InjectionValue>()).Select(SerializeRecordedValue));

            return string.Join("\t", fields);

        }

InjectionScript.Runtime.InjectionApiUO.SetReceivingContainer

示された呼び出しと状態更新を実行します。

引数: string id

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

public void SetReceivingContainer(string id)

結果: void.

条件:

  • `name.Equals("my", StringComparison.OrdinalIgnoreCase)

              || name.Equals("backpack", StringComparison.OrdinalIgnoreCase)`
    

呼び出し:

  • (id ?? string.Empty).Trim
  • name.Equals
  • SetReceivingContainer
  • GetObject

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

public void SetReceivingContainer(string id)

        {

            string name = (id ?? string.Empty).Trim();

            if (name.Equals("my", StringComparison.OrdinalIgnoreCase)

                || name.Equals("backpack", StringComparison.OrdinalIgnoreCase))

            {

                SetReceivingContainer(bridge.Backpack);

                return;

            }

            SetReceivingContainer(GetObject(id));

        }

InjectionScript.Runtime.InjectionApiUO.SubExists

示された呼び出しと状態更新を実行します。

引数: string subrutineName

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

public int SubExists(string subrutineName)

結果: int.

呼び出し:

  • bridge.SubExists

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

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

InjectionScript.Runtime.InjectionApiUO.TextClose

示された呼び出しと状態更新を実行します。

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

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

public void TextClose()

結果: void.

呼び出し:

  • bridge.TextClose

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

public void TextClose() => bridge.TextClose();

InjectionScript.Runtime.InjectionApiUO.TicksAnim

示された呼び出しと状態更新を実行します。

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

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

public int TicksAnim()

結果: int.

呼び出し:

—

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

public int TicksAnim() => ticksAnim;

InjectionScript.Runtime.InjectionApiUO.UseObject

示された呼び出しと状態更新を実行します。

引数: int id

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

public void UseObject(int id)

結果: void.

呼び出し:

  • bridge.UseObject
  • Timer

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

public void UseObject(int id)

        {

            bridge.UseObject(id);

            ticksUse = Timer();

        }

InjectionScript.Runtime.InjectionApiUO.WaitTargetLast

示された呼び出しと状態更新を実行します。

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

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

public void WaitTargetLast()

結果: void.

呼び出し:

  • WaitTargetObject

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

public void WaitTargetLast() => WaitTargetObject("lasttarget");

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetFrozen]

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

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

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

serial

結果: serial.

結果: bridge.GetLocked(serial).

呼び出し: bridge.GetLocked.

呼び出し:

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

serial => bridge.GetLocked(serial)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetMana]

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

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

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

結果: bridge.Mana.

呼び出し:

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

() => bridge.Mana

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetSex]

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

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

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

結果: bridge.Sex.

呼び出し:

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

() => bridge.Sex

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [IsDead]

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

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

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

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

IsDeadState

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [PhysicalResist]

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

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

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

結果: bridge.Armor.

呼び出し:

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

() => bridge.Armor

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [ResistFire]

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

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

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

結果: bridge.FireResistance.

呼び出し:

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

() => bridge.FireResistance

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [ResistPoison]

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

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

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

結果: bridge.PoisonResistance.

呼び出し:

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

() => bridge.PoisonResistance

InjectionScript.Runtime.Metadata.Add

示された呼び出しと状態更新を実行します。

引数: NativeSubrutineDefinition definition

ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/Metadata.cs:16.

public void Add(NativeSubrutineDefinition definition)

結果: void.

呼び出し:

  • nativeSubrutines.Add

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

public void Add(NativeSubrutineDefinition definition) => nativeSubrutines.Add(definition);

InjectionScript.Runtime.Metadata.AddIntrinsicVariable

示された呼び出しと状態更新を実行します。

引数: NativeSubrutineDefinition definition

ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/Metadata.cs:19.

public void AddIntrinsicVariable(NativeSubrutineDefinition definition)

結果: void.

呼び出し:

  • intrinsicVariables.Add

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

public void AddIntrinsicVariable(NativeSubrutineDefinition definition) => intrinsicVariables.Add(definition.Name,definition);

InjectionScript.Runtime.NumberConversions.ToInt

示された呼び出しと状態更新を実行します。

引数: string str

ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NumberConversions.cs:12.

public static int ToInt(string str)

結果: int.

条件:

  • TryStr2Int(str, out int value)

呼び出し:

  • TryStr2Int

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

public static int ToInt(string str)
        {
            if (TryStr2Int(str, out int value))
                return value;
            throw new FormatException("Expected a 32-bit decimal integer or a hexadecimal integer prefixed with 0x.");
        }

InjectionScript.Runtime.State.Globals.SetGlobal

示された呼び出しと状態更新を実行します。

引数: string name, double value

ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/Globals.cs:44.

public void SetGlobal(string name, double value)

結果: void.

呼び出し:

  • SetGlobal
  • value.ToString

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

public void SetGlobal(string name, double value) => SetGlobal(name, value.ToString(CultureInfo.InvariantCulture));

ClassicUO.Game.Managers.NativeMountController.IsCarriedBy

示された呼び出しと状態更新を実行します。

引数: World world, Item item, uint player

ソース: Project_Full/src/ClassicUO.Client/Game/Managers/NativeMountController.cs:85.

private static bool IsCarriedBy(World world, Item item, uint player)

結果: bool.

条件:

  • item.Container == player

呼び出し:

  • world.Items.Get

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

private static bool IsCarriedBy(World world, Item item, uint player)
        {
            // Bound malformed/cyclic containment instead of hanging a script.
            for (int depth = 0; depth < 64 && item != null && !item.IsDestroyed; depth++)
            {
                if (item.Container == player) return true;
                item = world.Items.Get(item.Container);
            }
            return false;
        }

Clone this wiki locally