Skip to content

RU Runtime Helpers 6

Codex edited this page Oct 12, 2026 · 1 revision

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

Вспомогательные функции 6

Внутренний код реализации, не самостоятельный скрипт.

ClassicUO.CSharp.CSharpCallbacks.Remove

Выполняет показанные вызовы и обновления состояния.

Параметры: listener

Источник: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:239.

private void Remove(Listener listener)

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

Вызовы: listeners.Remove, listener.Source.Dispose.

Условия: listener.Closed.

Внутренний код реализации, не самостоятельный скрипт.

private void Remove(Listener listener)
    {
        lock (sync) { if (listener.Closed) return; listener.Closed = true; listeners.Remove(listener); }
        listener.Source.Dispose();
    }

ClassicUO.CSharp.CSharpCallbacks.RemoveState

Выполняет показанные вызовы и обновления состояния.

Параметры: name

Источник: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:386.

private void RemoveState(string name)

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

Вызовы: stateEvents.Remove, .Dispose.

Внутренний код реализации, не самостоятельный скрипт.

private void RemoveState(string name)
    {
        StateEvent? state;
        lock (sync) { stateEvents.Remove(name, out state); }
        state?.Subscription?.Dispose();
    }

ClassicUO.CSharp.CSharpExecutionScope.VerifyActive

Выполняет показанные вызовы и обновления состояния.

Параметры: Параметров нет.

Источник: Project_Full/src/ClassicUO.CSharp/CSharpScriptEngine.cs:576.

internal static void VerifyActive()

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

Вызовы: .Verify.

Условия: CurrentFinalization.Value?.IsActive == true.

Внутренний код реализации, не самостоятельный скрипт.

internal static void VerifyActive()
    {
        Current.Value?.Verify();
        if (CurrentFinalization.Value?.IsActive == true)
            throw new InvalidOperationException("Game API calls are unavailable from a CLR finalizer.");
    }

ClassicUO.Configuration.ProfileManager.EncodePathSegment

Проверяет условия ниже и возвращает показанный результат.

Параметры: value

Источник: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:311.

private static string EncodePathSegment(string value)

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

Результат: "UnknownServer"; result.

Вызовы: string.IsNullOrWhiteSpace, IsWindowsTrimmedSuffix, builder.Append('~').Append, builder.Append, ((int)character).ToString, builder.ToString, result.Split, baseName.Equals.

Условия: string.IsNullOrWhiteSpace(value); windowsInvalid || windowsTrimmedAtEnd; `baseName.Equals("CON", StringComparison.OrdinalIgnoreCase)

            || baseName.Equals("PRN", StringComparison.OrdinalIgnoreCase)

            || baseName.Equals("AUX", StringComparison.OrdinalIgnoreCase)

            || baseName.Equals("NUL", StringComparison.OrdinalIgnoreCase)

            || baseName.Length == 4

            && (baseName.StartsWith("COM", StringComparison.OrdinalIgnoreCase)

                || baseName.StartsWith("LPT", StringComparison.OrdinalIgnoreCase))

            && baseName[3] is >= '1' and <= '9'`.

Внутренний код реализации, не самостоятельный скрипт.

private static string EncodePathSegment(string value)

        {

            if (string.IsNullOrWhiteSpace(value))

                return "UnknownServer";



            var builder = new StringBuilder(value.Length);



            for (int index = 0; index < value.Length; index++)

            {

                char character = value[index];

                bool windowsInvalid = character < 32

                                      || character is '<' or '>' or ':' or '"' or '/' or '\\' or '|' or '?' or '*' or '~';

                bool windowsTrimmedAtEnd = (character == '.' || character == ' ')

                                           && IsWindowsTrimmedSuffix(value, index);



                if (windowsInvalid || windowsTrimmedAtEnd)

                    builder.Append('~').Append(((int)character).ToString("X4"));

                else

                    builder.Append(character);

            }



            string result = builder.Length == 0 ? "UnknownServer" : builder.ToString();

            string baseName = result.Split('.')[0];



            if (baseName.Equals("CON", StringComparison.OrdinalIgnoreCase)

                || baseName.Equals("PRN", StringComparison.OrdinalIgnoreCase)

                || baseName.Equals("AUX", StringComparison.OrdinalIgnoreCase)

                || baseName.Equals("NUL", StringComparison.OrdinalIgnoreCase)

                || baseName.Length == 4

                && (baseName.StartsWith("COM", StringComparison.OrdinalIgnoreCase)

                    || baseName.StartsWith("LPT", StringComparison.OrdinalIgnoreCase))

                && baseName[3] is >= '1' and <= '9')

            {

                result = "~005F" + result;

            }



            return result;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ActivateHandle

Выполняет показанные вызовы и обновления состояния.

Параметры: Параметров нет.

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1388.

public void ActivateHandle()

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

Вызовы: Invoke.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void ActivateHandle() => Invoke(() => SDL3.SDL.SDL_RaiseWindow(RequireGameView("ActivateHandle").Window.Handle));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AddChatUserIgnore

Выполняет показанные вызовы и обновления состояния.

Параметры: name

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1960.

public void AddChatUserIgnore(string name)

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

Вызовы: Invoke.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void AddChatUserIgnore(string name) => Invoke(() => JournalManager.AddYokoIgnoredUser(name));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AddMenuHook

Выполняет показанные вызовы и обновления состояния.

Параметры: caption, item, persistent

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:693.

public void AddMenuHook(string caption, string item, bool persistent)

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

Вызовы: Invoke.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void AddMenuHook(string caption, string item, bool persistent) => Invoke(() => _manager.AddMenuHook(caption, item, persistent));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseClientWindow

Выполняет показанные вызовы и обновления состояния.

Параметры: uiWindowType, id

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2860.

public void CloseClientWindow(int uiWindowType, int id)

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

Вызовы: Invoke.

Вызовы:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (uiWindowType == 2) _world.CharacterPanels.Profile(unchecked((uint)id))?.Close(true); if (uiWindowType == 0) _world.NativePopups.Close(SessionPopupKind.Paperdoll, unchecked((uint)id)); if (uiWindowType == 3) _world.Containers.Close(unchecked((uint)id)); bool MatchesType(Gump gump) => uiWindowType switch { 0 => gump is PaperDollGump, 1 => gump is StatusGumpBase, 2 => gump is ProfileGump, 3 => gump is ContainerGump, _ => false }; foreach (Gump gump in UIManager.Gumps.Where(gump => !gump.IsDisposed && gump.LocalSerial == unchecked((uint)id) && MatchesType(gump)).ToArray()) gump.Dispose(); }). Кандидаты перегрузки: источник не подтверждает выбор конкретного варианта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (uiWindowType == 2) _world.CharacterPanels.Profile(unchecked((uint)id))?.Close(true); if (uiWindowType == 0) _world.NativePopups.Close(SessionPopupKind.Paperdoll, unchecked((uint)id)); if (uiWindowType == 3) _world.Containers.Close(unchecked((uint)id)); bool MatchesType(Gump gump) => uiWindowType switch { 0 => gump is PaperDollGump, 1 => gump is StatusGumpBase, 2 => gump is ProfileGump, 3 => gump is ContainerGump, _ => false }; foreach (Gump gump in UIManager.Gumps.Where(gump => !gump.IsDisposed && gump.LocalSerial == unchecked((uint)id) && MatchesType(gump)).ToArray()) gump.Dispose(); }). Кандидаты перегрузки: источник не подтверждает выбор конкретного варианта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseClientWindow::MatchesType: MatchesType(gump).

Внутренний код реализации, не самостоятельный скрипт.

public void CloseClientWindow(int uiWindowType, int id) => Invoke(() =>

        {

            if (uiWindowType == 2) _world.CharacterPanels.Profile(unchecked((uint)id))?.Close(true);

            if (uiWindowType == 0) _world.NativePopups.Close(SessionPopupKind.Paperdoll, unchecked((uint)id));

            if (uiWindowType == 3) _world.Containers.Close(unchecked((uint)id));

            bool MatchesType(Gump gump) => uiWindowType switch

            {

                0 => gump is PaperDollGump,

                1 => gump is StatusGumpBase,

                2 => gump is ProfileGump,

                3 => gump is ContainerGump,

                _ => false

            };



            foreach (Gump gump in UIManager.Gumps.Where(gump => !gump.IsDisposed

                         && gump.LocalSerial == unchecked((uint)id) && MatchesType(gump)).ToArray())

                gump.Dispose();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ConfirmTrade

Возвращает значение выражения ниже.

Параметры: tradeNumber

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:280.

public int ConfirmTrade(int tradeNumber)

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

Вызовы: Invoke.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int ConfirmTrade(int tradeNumber) => Invoke(() =>

        {

            ISessionTrade gump = FindNumberedTrade(tradeNumber);

            if (gump == null) return 0;

            if (!gump.ImAccepting)

            {

                gump.ImAccepting = true;

                GameActions.AcceptTrade(gump.ID1, true);

            }

            return 1;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ContainerOf

Возвращает значение выражения ниже.

Параметры: id

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2730.

public int ContainerOf(int id)

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

Результат: Invoke(() => _world.Items.Get((uint)id) is Item item ? (int)item.Container : 0).

Вызовы: Invoke.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int ContainerOf(int id) => Invoke(() => _world.Items.Get((uint)id) is Item item ? (int)item.Container : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DescribeControl

Проверяет условия ниже и возвращает показанный результат.

Параметры: control

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3953.

private static string DescribeControl(Control control)

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

Результат: logical.Describe(); string.IsNullOrWhiteSpace(text) ? common : common + $" text={text}".

Вызовы: logical.Describe, control.GetType, GetControlText, string.IsNullOrWhiteSpace.

Условия: control is SessionGumpControl logical; control is Button button; control is Checkbox checkbox.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

private static string DescribeControl(Control control)

        {

            if (control is SessionGumpControl logical) return logical.Describe();

            string common = $"{control.GetType().Name} page={control.Page} id=0x{control.LocalSerial:X8} "

                + $"x={control.X} y={control.Y} width={control.Width} height={control.Height}";



            if (control is Button button)

            {

                return common + $" ButtonID={button.ButtonID} action={button.ButtonAction} toPage={button.ToPage} "

                    + $"normal=0x{button.ButtonGraphicNormal:X4} pressed=0x{button.ButtonGraphicPressed:X4} over=0x{button.ButtonGraphicOver:X4}";

            }



            if (control is Checkbox checkbox)

            {

                string kind = checkbox is RadioButton ? "RadioButton" : "Checkbox";

                return $"{kind} page={control.Page} ID={control.LocalSerial} x={control.X} y={control.Y} "

                    + $"checked={checkbox.IsChecked} inactive=0x{checkbox.InactiveGraphic:X4} active=0x{checkbox.ActiveGraphic:X4}";

            }



            string text = GetControlText(control);

            return string.IsNullOrWhiteSpace(text) ? common : common + $" text={text}";

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Exec

Выполняет показанные вызовы и обновления состояния.

Параметры: subrutineName

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2715.

public void Exec(string subrutineName)

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

Вызовы: _manager.RunNamedProcedureFromScript.

Внутренний код реализации, не самостоятельный скрипт.

public void Exec(string subrutineName)

        {

            _manager.RunNamedProcedureFromScript(subrutineName, _csharpGlobals?.Cancellation ?? _cancellationToken);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDropDelay

Возвращает значение выражения ниже.

Параметры: Параметров нет.

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:203.

public int GetDropDelay()

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

Результат: State.GrabDelay.

Внутренний код реализации, не самостоятельный скрипт.

public int GetDropDelay() => State.GrabDelay;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFlags

Возвращает значение выражения ниже.

Параметры: id

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:619.

public int GetFlags(int id)

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

Результат: Invoke(() => _world.Get((uint)id) is Entity entity ? (int)entity.Flags : 0).

Вызовы: Invoke.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int GetFlags(int id) => Invoke(() => _world.Get((uint)id) is Entity entity ? (int)entity.Flags : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpCount

Возвращает значение выражения ниже.

Параметры: Параметров нет.

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2804.

public int GetGumpCount()

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

Результат: Invoke(() => ServerGumpsUnsafe().Count).

Вызовы: Invoke.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int GetGumpCount() => Invoke(() => ServerGumpsUnsafe().Count);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpSerial

Возвращает значение выражения ниже.

Параметры: index

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2814.

public int GetGumpSerial(int index)

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

Результат: Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.LocalSerial ?? 0)).

Вызовы: Invoke.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int GetGumpSerial(int index) => Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.LocalSerial ?? 0));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetScriptPath

Возвращает значение выражения ниже.

Параметры: index

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:315.

public string GetScriptPath(int index)

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

Результат: _manager.GetScriptPath(index).

Вызовы: _manager.GetScriptPath.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetStaticArt::Write16

Выполняет показанные вызовы и обновления состояния.

Параметры: buffer, offset, value

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3346.

static void Write16(byte[] buffer, int offset, int value)

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

Внутренний код реализации, не самостоятельный скрипт.

static void Write16(byte[] buffer, int offset, int value)

            {

                buffer[offset] = (byte)value;

                buffer[offset + 1] = (byte)(value >> 8);

            }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetWaitTargetQueue

Возвращает значение выражения ниже.

Параметры: Параметров нет.

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1126.

public int[] GetWaitTargetQueue()

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

Результат: _manager.GetPendingTargetSerials().

Вызовы: _manager.GetPendingTargetSerials.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int[] GetWaitTargetQueue() => _manager.GetPendingTargetSerials();

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalEntryCount

Возвращает значение выражения ниже.

Параметры: Параметров нет.

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1962.

public int JournalEntryCount()

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

Результат: Invoke(() => JournalManager.Entries.Count).

Вызовы: Invoke.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int JournalEntryCount() => Invoke(() => JournalManager.Entries.Count);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalMatchCount

Возвращает значение выражения ниже.

Параметры: Параметров нет.

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1963.

public int JournalMatchCount()

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

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

Внутренний код реализации, не самостоятельный скрипт.

public int JournalMatchCount() => _journalMatchCount;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastTarget

Возвращает значение выражения ниже.

Параметры: Параметров нет.

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:146.

public int LastTarget

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

Результат: Invoke(() => (int)_world.TargetManager.LastTargetInfo.Serial).

Вызовы: Invoke.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int LastTarget => Invoke(() => (int)_world.TargetManager.LastTargetInfo.Serial);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastTile

Возвращает значение выражения ниже.

Параметры: Параметров нет.

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1127.

public int[] LastTile()

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

Вызовы: Invoke.

Вызовы:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { LastTargetInfo info = _world.TargetManager.LastTargetInfo; return new[] { (int)info.Graphic, (int)info.X, (int)info.Y, (int)info.Z }; }). Кандидаты перегрузки: источник не подтверждает выбор конкретного варианта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { LastTargetInfo info = _world.TargetManager.LastTargetInfo; return new[] { (int)info.Graphic, (int)info.X, (int)info.Y, (int)info.Z }; }). Кандидаты перегрузки: источник не подтверждает выбор конкретного варианта.

Внутренний код реализации, не самостоятельный скрипт.

public int[] LastTile() => Invoke(() =>

        {

            LastTargetInfo info = _world.TargetManager.LastTargetInfo;

            return new[] { (int)info.Graphic, (int)info.X, (int)info.Y, (int)info.Z };

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MoveTo

Возвращает значение выражения ниже.

Параметры: x, y, z, accuracy, running, staminaThreshold, openDoor, throughCorner, throughNpcs, heuristicMultiplier, turnCost, exitOnDisconnect, accuracyZ, optimized, betweenTwoCorners

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1463.

`public int MoveTo(int x, int y, int z, int accuracy, bool running, int staminaThreshold,

        bool openDoor, bool throughCorner, bool throughNpcs, int heuristicMultiplier,

        int turnCost, bool exitOnDisconnect, int accuracyZ = 255, bool optimized = true,

        bool betweenTwoCorners = false)`

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

Вызовы: Invoke.

Внутренний код реализации, не самостоятельный скрипт.

public int MoveTo(int x, int y, int z, int accuracy, bool running, int staminaThreshold,

            bool openDoor, bool throughCorner, bool throughNpcs, int heuristicMultiplier,

            int turnCost, bool exitOnDisconnect, int accuracyZ = 255, bool optimized = true,

            bool betweenTwoCorners = false) => Invoke(() =>

        {

            if (_world.Player == null) return 0;

            _manager.StopFollowing();

            Pathfinder pathfinder = _world.Player.Pathfinder;

            bool started = pathfinder.WalkTo(

                x,

                y,

                z,

                Math.Clamp(accuracy, 0, 20),

                running,

                Math.Max(0, staminaThreshold),

                openDoor,

                throughCorner,

                throughNpcs,

                Math.Max(1, heuristicMultiplier),

                Math.Max(0, turnCost),

                exitOnDisconnect,

                Math.Clamp(accuracyZ, 0, 255),

                optimized,

                betweenTwoCorners,

                ScriptPathObstacles.Create(_csharpState, this), incremental: true);

            if (started)

            {

                _lastMovementPathfinder = pathfinder;

                _lastMovementPlayer = _world.Player;

                _lastMovementMap = _world.Map;

                _lastMovementMapIndex = _world.MapIndex;

                Interlocked.Exchange(ref _lastMovementRequestId, pathfinder.AutoWalkRequestGeneration);

                _pathCancellation.Unregister();

                long generation = pathfinder.AutoWalkGeneration;

                if (pathfinder.AutoWalking)

                    _pathCancellation = _cancellationToken.Register(() => _manager.ReleaseScriptMovement(pathfinder, generation));

            }

            return started ? 1 : 0;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ReceiveObjectName

Выполняет показанные вызовы и обновления состояния.

Параметры: id, delay

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1317.

public void ReceiveObjectName(int id, int delay)

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

Вызовы: Click, Stopwatch.StartNew, Math.Max, string.IsNullOrEmpty, GetName, Wait, Math.Min.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void ReceiveObjectName(int id, int delay)

        {

            Click(id);

            var elapsed = Stopwatch.StartNew();

            while (elapsed.ElapsedMilliseconds < Math.Max(0, delay) && string.IsNullOrEmpty(GetName(id)))

                Wait((int)Math.Min(25, Math.Max(1L, delay - elapsed.ElapsedMilliseconds)));

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestVirtuesGump

Выполняет показанные вызовы и обновления состояния.

Параметры: Параметров нет.

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:292.

public void RequestVirtuesGump()

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

Вызовы: Invoke.

Вызовы:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Player != null) GameActions.ReplyGump(_world.Player, 0x000001CD, 0x00000001, new[] { _world.Player.Serial }, Array.Empty<Tuple<ushort, string>>()); }). Кандидаты перегрузки: источник не подтверждает выбор конкретного варианта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Player != null) GameActions.ReplyGump(_world.Player, 0x000001CD, 0x00000001, new[] { _world.Player.Serial }, Array.Empty<Tuple<ushort, string>>()); }). Кандидаты перегрузки: источник не подтверждает выбор конкретного варианта.
  • ClassicUO.Game.GameActions.ReplyGump: GameActions.ReplyGump(_world.Player, 0x000001CD, 0x00000001, new[] { _world.Player.Serial }, Array.Empty<Tuple<ushort, string>>()).

Внутренний код реализации, не самостоятельный скрипт.

public void RequestVirtuesGump() => Invoke(() =>

        {

            if (_world.Player != null)

                GameActions.ReplyGump(_world.Player, 0x000001CD, 0x00000001, new[] { _world.Player.Serial }, Array.Empty<Tuple<ushort, string>>());

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResolveGumpUnsafe

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

Параметры: gumpId

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3915.

private Gump ResolveGumpUnsafe(int gumpId)

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

Результат: _selectedServerGump != null && !_selectedServerGump.IsDisposed ? _selectedServerGump : gumps.LastOrDefault().

Вызовы: ServerGumpsUnsafe, gumps.LastOrDefault, gumps.FirstOrDefault.

Условия: gumpId == -1.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

private Gump ResolveGumpUnsafe(int gumpId)

        {

            List<Gump> gumps = ServerGumpsUnsafe();

            if (gumpId == -1)

            {

                return _selectedServerGump != null && !_selectedServerGump.IsDisposed ? _selectedServerGump : gumps.LastOrDefault();

            }

            return gumps.FirstOrDefault(g => g.LocalSerial == (uint)gumpId || g.ServerSerial == (uint)gumpId)

                ?? (gumpId >= 0 && gumpId < gumps.Count ? gumps[gumpId] : null);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SelectContainer

Возвращает значение выражения ниже.

Параметры: Параметров нет.

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:738.

public int SelectContainer()

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

Результат: SelectObject() is Item item ? (int)item.Serial : 0.

Вызовы: SelectObject.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int SelectContainer() => SelectObject() is Item item ? (int)item.Serial : 0;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SendServerSpeech

Выполняет показанные вызовы и обновления состояния.

Параметры: command, message

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1404.

private void SendServerSpeech(string command, string message)

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

Вызовы: Invoke.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

private void SendServerSpeech(string command, string message) => Invoke(() =>

        {

            GameActions.Say(message ?? string.Empty, allowYokoCommand: SCRIPT_SAY_ALLOW_YOKO_COMMAND);

            ReportStatus($"{command} delivered through ClassicUO server speech");

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StartScript

Возвращает значение выражения ниже.

Параметры: path

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:318.

public int StartScript(string path)

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

Результат: _manager.StartScript(path).

Вызовы: _manager.StartScript.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int StartScript(string path) => _manager.StartScript(path);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ToClassicUOCastIndex

Возвращает значение выражения ниже.

Параметры: spellId

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2193.

internal static int ToClassicUOCastIndex(int spellId)

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

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

Внутренний код реализации, не самостоятельный скрипт.

internal static int ToClassicUOCastIndex(int spellId) => spellId;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TryMoveItemRequest

Возвращает значение выражения ниже.

Параметры: id, amount, destination, x, y, z

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1171.

private bool TryMoveItemRequest(int id, int amount, int destination, int x, int y, int z)

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

Результат: TryMoveItemRequest(_world, id, amount, destination, x, y, z).

Вызовы: TryMoveItemRequest.

Внутренний код реализации, не самостоятельный скрипт.

private bool TryMoveItemRequest(int id, int amount, int destination, int x, int y, int z)

            => TryMoveItemRequest(_world, id, amount, destination, x, y, z);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseAbility

Возвращает значение выражения ниже.

Параметры: abilityId

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2226.

public int UseAbility(int abilityId)

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

Вызовы: Invoke.

Вызовы:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Player == null || abilityId < 1 || abilityId > AbilityData.Abilities.Length) return 0; int primary = (byte)_world.Player.Abilities[0] & 0x7F; int secondary = (byte)_world.Player.Abilities[1] & 0x7F; if (abilityId == primary) { GameActions.UsePrimaryAbility(_world); return 1; } if (abilityId == secondary) { GameActions.UseSecondaryAbility(_world); return 1; } return 0; }). Кандидаты перегрузки: источник не подтверждает выбор конкретного варианта.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Player == null || abilityId < 1 || abilityId > AbilityData.Abilities.Length) return 0; int primary = (byte)_world.Player.Abilities[0] & 0x7F; int secondary = (byte)_world.Player.Abilities[1] & 0x7F; if (abilityId == primary) { GameActions.UsePrimaryAbility(_world); return 1; } if (abilityId == secondary) { GameActions.UseSecondaryAbility(_world); return 1; } return 0; }). Кандидаты перегрузки: источник не подтверждает выбор конкретного варианта.
  • ClassicUO.Game.GameActions.UsePrimaryAbility: GameActions.UsePrimaryAbility(_world).
  • ClassicUO.Game.GameActions.UseSecondaryAbility: GameActions.UseSecondaryAbility(_world).

Внутренний код реализации, не самостоятельный скрипт.

public int UseAbility(int abilityId) => Invoke(() =>

        {

            if (_world.Player == null || abilityId < 1 || abilityId > AbilityData.Abilities.Length)

                return 0;



            int primary = (byte)_world.Player.Abilities[0] & 0x7F;

            int secondary = (byte)_world.Player.Abilities[1] & 0x7F;

            if (abilityId == primary)

            {

                GameActions.UsePrimaryAbility(_world);

                return 1;

            }

            if (abilityId == secondary)

            {

                GameActions.UseSecondaryAbility(_world);

                return 1;

            }

            return 0;

        });

ClassicUO.Game.Managers.YokoIdeToolBuffers.AppendOutput

Выполняет показанные вызовы и обновления состояния.

Параметры: scriptKey, text

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/YokoIdeToolBuffers.cs:124.

internal void AppendOutput(string scriptKey, string text)

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

Вызовы: _output.Add, _clock, NormalizeKey, NormalizeText, TrimOldest.

Внутренний код реализации, не самостоятельный скрипт.

internal void AppendOutput(string scriptKey, string text)
        {
            lock (_sync)
            {
                _output.Add(new YokoOutputEntry
                {
                    Sequence = ++_sequence,
                    Timestamp = _clock(),
                    ScriptKey = NormalizeKey(scriptKey),
                    Text = NormalizeText(text)
                });
                TrimOldest(_output);
                _revision++;
            }
        }

ClassicUO.Game.Managers.YokoInjectionManager.InvokeOnGameThread

Передаёт работу в игровой поток и учитывает отмену.

Параметры: callback, cancellationToken

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3488.

internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)

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

Вызовы: InvokeOnGameThread.

Внутренний код реализации, не самостоятельный скрипт.

internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)
        {
            InvokeOnGameThread(() =>
            {
                callback();
                return true;
            }, cancellationToken);
        }

ClassicUO.Game.Managers.YokoInjectionManager.PauseResumeScript

Выполняет показанные вызовы и обновления состояния.

Параметры: index

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2841.

internal void PauseResumeScript(int index)

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

Вызовы: ElementAt, RunningScripts, script.ToggleManualPause, MarkRuntimeStateChanged.

Условия: script == null.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

internal void PauseResumeScript(int index)
        {
            YokoRunningScript script = ElementAt(RunningScripts(), index);
            if (script == null)
                return;

            script.ToggleManualPause();
            MarkRuntimeStateChanged();
        }

ClassicUO.Game.Managers.YokoInjectionManager.SetStatus

Выполняет показанные вызовы и обновления состояния.

Параметры: text, scriptKey

Источник: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3749.

internal void SetStatus(string text, string scriptKey = null)

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

Вызовы: IsScriptPublicationCurrent, Volatile.Write, PublishStatus.

Условия: !IsScriptPublicationCurrent(scriptKey).

Внутренний код реализации, не самостоятельный скрипт.

internal void SetStatus(string text, string scriptKey = null)
        {
            if (!IsScriptPublicationCurrent(scriptKey))
                return;
            Volatile.Write(ref _statusPriority, 1);
            PublishStatus(text, scriptKey);
        }

ClassicUO.Game.SerialHelper.IsMobile

Возвращает значение выражения ниже.

Параметры: serial

Источник: Project_Full/src/ClassicUO.Client/Game/SerialHelper.cs:16.

public static bool IsMobile(uint serial)

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

Результат: serial > 0 && serial < 0x40000000.

Внутренний код реализации, не самостоятельный скрипт.

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

ClassicUO.Game.World.ChangeSeason

Выполняет показанные вызовы и обновления состояния.

Параметры: season, music

Источник: Project_Full/src/ClassicUO.Client/Game/World.cs:321.

public void ChangeSeason(Season season, int music)

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

Вызовы: Map.GetUsedChunks, .GetHeadObject, obj.UpdateGraphicBySeason, .GetCurrentMusic, audio.PlayMusic.

Условия: audio != null && (currentMusic == null || currentMusic.Index == audio.LoginMusicIndex).

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void ChangeSeason(Season season, int music)

        {

            Season = season;



            foreach (Chunk chunk in Map.GetUsedChunks())

            {

                for (int x = 0; x < 8; x++)

                {

                    for (int y = 0; y < 8; y++)

                    {

                        for (GameObject obj = chunk?.GetHeadObject(x, y); obj != null; obj = obj.TNext)

                        {

                            obj.UpdateGraphicBySeason();

                        }

                    }

                }

            }



            //TODO(deccer): refactor this out into _audioPlayer.PlayMusic(...)

            var audio = Client.Game?.Audio;

            UOMusic currentMusic = audio?.GetCurrentMusic();

            if (audio != null && (currentMusic == null || currentMusic.Index == audio.LoginMusicIndex))

            {

                audio.PlayMusic(music, false);

            }

        }

InjectionScript.Runtime.InjectionApi.GetWord

Возвращает значение выражения ниже.

Параметры: value, wordIndex

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:41.

private static string GetWord(string value,int wordIndex)

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

Результат: GetWord(value,wordIndex," ").

Вызовы: GetWord.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

private static string GetWord(string value,int wordIndex) => GetWord(value,wordIndex," ");

InjectionScript.Runtime.InjectionApi.SplitWords

Возвращает значение выражения ниже.

Параметры: value, delimiter

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:36.

private static string[] SplitWords(string value,string delimiter)

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

Результат: string.IsNullOrEmpty(delimiter)||delimiter==" "?value.Split((char[])null,StringSplitOptions.RemoveEmptyEntries):value.Split(new[]{delimiter},StringSplitOptions.RemoveEmptyEntries).

Вызовы: string.IsNullOrEmpty, value.Split.

Внутренний код реализации, не самостоятельный скрипт.

private static string[] SplitWords(string value,string delimiter)
        {
            value=value??string.Empty;
            return string.IsNullOrEmpty(delimiter)||delimiter==" "?value.Split((char[])null,StringSplitOptions.RemoveEmptyEntries):value.Split(new[]{delimiter},StringSplitOptions.RemoveEmptyEntries);
        }

InjectionScript.Runtime.InjectionApiUO.CalculateDirection

Проверяет условия ниже и возвращает показанный результат.

Параметры: fromX, fromY, toX, toY

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2803.

private static int CalculateDirection(int fromX, int fromY, int toX, int toY)

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

Результат: 100; dy < 0 ? 0 : 4; dx > 0 ? 2 : 6; dy < 0 ? 1 : 3; dy > 0 ? 5 : 7.

Вызовы: Math.Sign.

Условия: dx == 0 && dy == 0; dx == 0; dy == 0; dx > 0.

Внутренний код реализации, не самостоятельный скрипт.

private static int CalculateDirection(int fromX, int fromY, int toX, int toY)

        {

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

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

            if (dx == 0 && dy == 0) return 100;

            if (dx == 0) return dy < 0 ? 0 : 4;

            if (dy == 0) return dx > 0 ? 2 : 6;

            if (dx > 0) return dy < 0 ? 1 : 3;

            return dy > 0 ? 5 : 7;

        }

InjectionScript.Runtime.InjectionApiUO.CompactAttackNearest

Проверяет условия ниже и возвращает показанный результат.

Параметры: values

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4950.

private int CompactAttackNearest(InjectionValue[] values)

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

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

Вызовы: ResolveCompactDistance, bridge.GetFindDistance, ResolveCompactMaxZ, bridge.GetFindVertical, ToBoolean, NumberConversions.ToInt, TryResolveClassRules, FilterMobiles.

Условия: !TryResolveClassRules(classMask, out EquipmentClassRule[] rules); serial != 0.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

private int CompactAttackNearest(InjectionValue[] values)

        {

            InjectionValue notoriety = values[0];

            int distance = values.Length > 1 ? ResolveCompactDistance(values[1]) : bridge.GetFindDistance();

            InjectionValue body = values.Length > 2 ? values[2] : InjectionValue.MinusOne;

            int maxZ = values.Length > 3 ? ResolveCompactMaxZ(values[3]) : bridge.GetFindVertical();

            bool nearest = values.Length <= 4 || ToBoolean(values[4]);

            int color = values.Length > 5 ? NumberConversions.ToInt(values[5]) : -1;

            InjectionValue classMask = values.Length > 6 ? values[6] : default(InjectionValue);

            bool aliveOnly = values.Length > 7 && ToBoolean(values[7]);

            bool visibleOnly = values.Length > 8 && ToBoolean(values[8]);



            // Resolve once, before any attack. A misspelled/undefined class must

            // never degrade into an unrestricted search or a name substring match.

            if (!TryResolveClassRules(classMask, out EquipmentClassRule[] rules))

                return 0;

            IEnumerable<int> mobiles = FilterMobiles(distance, notoriety, body, maxZ, color, false,

                false, aliveOnly, visibleOnly);

            int serial = SelectClassCandidate(mobiles, rules, nearest);

            if (serial != 0)

                bridge.Attack(serial);

            return serial;

        }

InjectionScript.Runtime.InjectionApiUO.CompactWaitGump

Проверяет условия ниже и возвращает показанный результат.

Параметры: values

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3143.

private int CompactWaitGump(InjectionValue[] values)

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

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

Вызовы: CollectGumpButtons, automation.QueueGumpButtons, buttons.ToArray, CompactWaitGump, (value.String ?? string.Empty).Contains, `(value.String ?? string.Empty)

                    .Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)

                    .Select(part => new InjectionValue(part.Trim())).ToArray`, `(value.String ?? string.Empty)

                    .Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)

                    .Select`, `(value.String ?? string.Empty)

                    .Split`.

Условия: values == null || values.Length == 0; bridge is IApiGumpAutomation automation; value.Kind == InjectionValueKind.Array; CompactWaitGump(value.Array) == 0.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

private int CompactWaitGump(InjectionValue[] values)

        {

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

                throw new NativeSubrutineException("UO.WaitGump requires at least one trigger/button id.");



            if (bridge is IApiGumpAutomation automation)

            {

                var buttons = new List<int>();

                CollectGumpButtons(values, buttons);

                automation.QueueGumpButtons(buttons.ToArray());

                return 1;

            }



            foreach (InjectionValue value in values)

            {

                if (value.Kind == InjectionValueKind.Array)

                {

                    if (CompactWaitGump(value.Array) == 0)

                        return 0;

                    continue;

                }



                if (value.Kind == InjectionValueKind.String

                    && ((value.String ?? string.Empty).Contains('|') || (value.String ?? string.Empty).Contains(',')))

                {

                    InjectionValue[] nested = (value.String ?? string.Empty)

                        .Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)

                        .Select(part => new InjectionValue(part.Trim())).ToArray();

                    if (CompactWaitGump(nested) == 0)

                        return 0;

                    continue;

                }



                int triggerId = NumberConversions.ToInt(value);

                if (bridge.WaitGumpSelect(triggerId, 30_000) == 0)

                    return 0;

            }

            return 1;

        }

InjectionScript.Runtime.InjectionApiUO.ConvertLayer

Проверяет условия ниже и возвращает показанный результат.

Параметры: layer

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6405.

private int ConvertLayer(string layer)

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

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

Вызовы: layerNameToNumber.TryGetValue, (layer ?? string.Empty).Trim.

Условия: layerNameToNumber.TryGetValue((layer ?? string.Empty).Trim(), out int value).

Внутренний код реализации, не самостоятельный скрипт.

private int ConvertLayer(string layer)

        {

            if (layerNameToNumber.TryGetValue((layer ?? string.Empty).Trim(), out int value))

                return value;

            throw new NativeSubrutineException($"Unknown equipment layer '{layer}'. Use a documented layer such as Rhand, Lhand, Helmet, Necklace, Backpack, Robe, Legs, or Mount.");

        }

InjectionScript.Runtime.InjectionApiUO.ConvertMoveDestination

Проверяет условия ниже и возвращает показанный результат.

Параметры: containerId

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6361.

private int ConvertMoveDestination(InjectionValue containerId)

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

Результат: ResolveTransferDestination(backpack ? new InjectionValue("backpack") : containerId, allowGround: true).

Вызовы: NumberConversions.TryStr2Int, .Trim, ResolveTransferDestination.

Условия: containerId.Kind != InjectionValueKind.String && containerId.Kind != InjectionValueKind.Integer.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

private int ConvertMoveDestination(InjectionValue containerId)

        {

            if (containerId.Kind != InjectionValueKind.String && containerId.Kind != InjectionValueKind.Integer)

                throw new NativeSubrutineException("A move destination must be an object name or serial ID.");

            // Preserve the legacy -1 backpack selector. Resolve names before

            // lifting: a misspelled or unset container must never become ground.

            bool backpack = containerId.Kind == InjectionValueKind.Integer

                ? containerId.Integer == -1

                : NumberConversions.TryStr2Int(containerId.String?.Trim() ?? string.Empty, out int literal) && literal == -1;

            return ResolveTransferDestination(backpack ? new InjectionValue("backpack") : containerId, allowGround: true);

        }

InjectionScript.Runtime.InjectionApiUO.Count

Возвращает значение выражения ниже.

Параметры: type

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5208.

public int Count(InjectionValue type)

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

Результат: Count(ResolveType(type), -1, -1).

Вызовы: Count, ResolveType.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int Count(InjectionValue type) 

            => Count(ResolveType(type), -1, -1);

InjectionScript.Runtime.InjectionApiUO.DeleteJournal

Выполняет показанные вызовы и обновления состояния.

Параметры: text

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5401.

public void DeleteJournal(string text)

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

Вызовы: bridge.DeleteJournal, SelectJournalEntry.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void DeleteJournal(string text)

        {

            bridge.DeleteJournal(text);

            SelectJournalEntry(null);

        }

InjectionScript.Runtime.InjectionApiUO.DeleteObject

Выполняет показанные вызовы и обновления состояния.

Параметры: name

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3809.

public void DeleteObject(string name)

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

Вызовы: objects.TryGet, objects.Remove, SystemMessage.

Условия: objects.TryGet(name, out int value).

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void DeleteObject(string name)

        {

            if (objects.TryGet(name, out int value))

            {

                objects.Remove(name);

                SystemMessage($"Object {name} has been deleted");

            }

            else

                SystemMessage($"Object {name} not found");

        }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text

Возвращает значение выражения ниже.

Параметры: index

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1144.

string Text(int index)

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

Результат: index < arguments.Length ? arguments[index].ToString() : string.Empty.

Вызовы: arguments[index].ToString.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

string Text(int index) => index < arguments.Length ? arguments[index].ToString() : string.Empty;

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:1286.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "autobuyex":

                    bridge.SetAutoBuyRule(Arg(0), Arg(1), Arg(2), Arg(3), Text(4)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1550.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "canceltrade": return new InjectionValue(bridge.CancelTrade(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1306.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "connect": bridge.ConnectClient(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1565.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "dist": return new InjectionValue(arguments.Length >= 4

                    ? GetDistance(Arg(0), Arg(1), Arg(2), Arg(3))

                    : bridge.GetDistance(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1627.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "equipitems":

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2005.

new []

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "extendedinfo":

                    return new InjectionValue(new[] { new InjectionValue(bridge.ClientPath), new InjectionValue(bridge.CurrentProfilePath), new InjectionValue(bridge.GameServerAddress), new InjectionValue(bridge.GameServerPort) });

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1476.

Результат: new InjectionValue(bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0)).

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "findtypeex": return new InjectionValue(bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1587.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "getactiveability": return new InjectionValue(bridge.GetActiveAbility());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1590.

Результат: StringArray(bridge.GetMenuItems(Text(0), false)).

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "getmenuitems": return StringArray(bridge.GetMenuItems(Text(0), false));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1919.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "globalchatsendmsg": bridge.GlobalChatSend(Text(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1273.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "injournal": return new InjectionValue(InJournal(Text(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2043.

Результат: new InjectionValue(selectedJournalEntry?.Color ?? 0).

Внутренний код реализации, не самостоятельный скрипт.

case "linetextcolor":

                    return new InjectionValue(selectedJournalEntry?.Color ?? 0);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1534.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "predictedy": return new InjectionValue(ReadPredictedCoordinate(1));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1594.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "requestcontextmenu": bridge.RequestContextMenu(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1357.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "setsilentmode": state.SilentMode = Arg(0) != 0 ? 1 : 0; return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1655.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "setwarmode": WarMode(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1295.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "targetid": return new InjectionValue(bridge.GetTargetCursorId());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1250.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1681.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "usesecondaryability": bridge.UseSecondaryAbility(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1642.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "waitfortarget": return new InjectionValue(bridge.WaitUntilTargeting(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1369.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "weight": return new InjectionValue(bridge.Weight);

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2844.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "adddir":

                case "addfindlist":

                case "addgate":

                case "addrecall":

                case "addstep":

                    LegacyList(name).Add(string.Join("|", arguments.Select(value => value.ToString())));

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2876.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "cancelmenu": bridge.ClearMenuHooks(); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2858.

Условия: arguments.Length == 0.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "clearfindlist":

                    if (arguments.Length == 0) LegacyList("AddFindList").Clear();

                    else LegacyList("AddFindList").RemoveAll(value => value.Split('|')[0]

                        .Equals(Text(0), StringComparison.OrdinalIgnoreCase));

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2888.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "closeuo": bridge.CloseHandle(); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2991.

Условия: arguments.Length == 0.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "massmove":

                    if (arguments.Length == 0) bridge.MassMove(-1, 0, 0, -1, -1, -1, 0);

                    else bridge.MassMove(NumberConversions.ToInt(arguments[0]),

                        arguments.Length > 1 ? NumberConversions.ToInt(arguments[1]) : 0,

                        arguments.Length > 2 ? ResolveType(arguments[2]) : 0,

                        arguments.Length > 3 ? ResolveTransferDestination(arguments[3], true) : -1,

                        arguments.Length > 4 ? NumberConversions.ToInt(arguments[4]) : -1,

                        arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1,

                        arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : 0);

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3001.

Условия: arguments.Length == 0.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "masspricemove":

                    if (arguments.Length == 0) bridge.MassPriceMove(-1, 0, 0, 0, -1, -1, -1, 0);

                    else bridge.MassPriceMove(NumberConversions.ToInt(arguments[0]),

                        NumberConversions.ToInt(arguments[1]), ResolveType(arguments[2]),

                        NumberConversions.ToInt(arguments[3]),

                        arguments.Length > 4 ? ResolveTransferDestination(arguments[4], true) : -1,

                        arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1,

                        arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : -1,

                        arguments.Length > 7 ? NumberConversions.ToInt(arguments[7]) : 0);

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Ветка обрабатывает только указанное имя команды.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3020.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

case "resend": bridge.Resync(); break;

InjectionScript.Runtime.InjectionApiUO.Exists

Возвращает значение выражения ниже.

Параметры: id

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3740.

public int Exists(int id)

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

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

Вызовы: bridge.Exists.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

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

InjectionScript.Runtime.InjectionApiUO.GetLandTileAt

Возвращает значение выражения ниже.

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

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6188.

public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y)

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

Результат: GetLandTileAt(x, y, new InjectionValue(bridge.WorldNumber)).

Вызовы: GetLandTileAt.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y)

            => GetLandTileAt(x, y, new InjectionValue(bridge.WorldNumber));

InjectionScript.Runtime.InjectionApiUO.GetObject

Проверяет условия ниже и возвращает показанный результат.

Параметры: name

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3888.

public int GetObject(string name)

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

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

Вызовы: TryGetObject.

Условия: !TryGetObject(name, out int id).

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int GetObject(string name)

        {

            if (!TryGetObject(name, out int id))

                return 0;



            return id;

        }

InjectionScript.Runtime.InjectionApiUO.GetTileName

Возвращает значение выражения ниже.

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

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6257.

public string GetTileName(InjectionValue group, InjectionValue tileId)

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

Результат: bridge.GetTileDataName(NumberConversions.ToInt(group), NumberConversions.ToInt(tileId)).

Вызовы: bridge.GetTileDataName, NumberConversions.ToInt.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public string GetTileName(InjectionValue group, InjectionValue tileId)

            => bridge.GetTileDataName(NumberConversions.ToInt(group), NumberConversions.ToInt(tileId));

InjectionScript.Runtime.InjectionApiUO.GetUserStatic

Возвращает значение выражения ниже.

Параметры: id

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6274.

public string GetUserStatic(InjectionValue id)

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

Результат: state.UserStatics.TryGetValue(NumberConversions.ToInt(id), out string value) ? value : string.Empty.

Вызовы: state.UserStatics.TryGetValue, NumberConversions.ToInt.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public string GetUserStatic(InjectionValue id)

            => state.UserStatics.TryGetValue(NumberConversions.ToInt(id), out string value) ? value : string.Empty;

InjectionScript.Runtime.InjectionApiUO.GetY

Возвращает значение выражения ниже.

Параметры: id

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3564.

public int GetY(string id)

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

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

Вызовы: GetY, GetObject.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

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

InjectionScript.Runtime.InjectionApiUO.Hidden

Возвращает значение выражения ниже.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3766.

public int Hidden()

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

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

Вызовы: Hidden.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

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

InjectionScript.Runtime.InjectionApiUO.Ignore

Выполняет показанные вызовы и обновления состояния.

Параметры: id

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5222.

public void Ignore(int id)

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

Вызовы: bridge.Ignore.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

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

InjectionScript.Runtime.InjectionApiUO.InJournal

Возвращает значение выражения ниже.

Параметры: pattern, maxLinesOrIgnoreCase

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5345.

public int InJournal(string pattern, int maxLinesOrIgnoreCase)

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

Вызовы: InJournalCore, Math.Max.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int InJournal(string pattern, int maxLinesOrIgnoreCase)

            => InJournalCore(pattern,

                maxLinesOrIgnoreCase == -1 ? -1 : Math.Max(0, maxLinesOrIgnoreCase),

                ignoreCase: maxLinesOrIgnoreCase == -1);

InjectionScript.Runtime.InjectionApiUO.IsHumanBody

Возвращает значение выражения ниже.

Параметры: graphic

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3731.

private static bool IsHumanBody(int graphic)

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

Внутренний код реализации, не самостоятельный скрипт.

private static bool IsHumanBody(int graphic) => graphic == 0x0190 || graphic == 0x0191

            || graphic == 0x0192 || graphic == 0x0193 || graphic == 0x025D || graphic == 0x025E

            || graphic == 0x025F || graphic == 0x0260 || graphic == 0x029A || graphic == 0x029B

            || graphic == 0x02B6 || graphic == 0x02B7;

InjectionScript.Runtime.InjectionApiUO.IsTreeTile

Возвращает значение выражения ниже.

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

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3306.

public int IsTreeTile(InjectionValue x, InjectionValue y)

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

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

Вызовы: bridge.IsTreeTile, NumberConversions.ToInt.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

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

InjectionScript.Runtime.InjectionApiUO.JournalEntryTime

Возвращает значение выражения ниже.

Параметры: index

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5512.

private int JournalEntryTime(int index)

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

Результат: JournalEntryTime(bridge.JournalTimestamp(index)).

Вызовы: JournalEntryTime, bridge.JournalTimestamp.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

private int JournalEntryTime(int index)

            => JournalEntryTime(bridge.JournalTimestamp(index));

InjectionScript.Runtime.InjectionApiUO.Morph

Выполняет показанные вызовы и обновления состояния.

Параметры: type

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5899.

public void Morph(int type)

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

Вызовы: bridge.Morph, Timer.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void Morph(int type)

        {

            bridge.Morph(type);

            ticksAnim = Timer();

        }

InjectionScript.Runtime.InjectionApiUO.MoveItemChecked

Проверяет условия ниже и возвращает показанный результат.

Параметры: id, amount, targetContainer, x, y, z

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4566.

private bool MoveItemChecked(int id, int amount, int targetContainer, int x, int y, int z)

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

Результат: false; bridge.MoveItem(id, amount, targetContainer, x, y, z) != 0.

Вызовы: bridge.GetX, bridge.GetY, Math.Max, Math.Abs, SystemMessage, bridge.MoveItem.

Условия: id == 0; targetContainer == 0 && state.DropCheckCoord != 0; Math.Max(Math.Abs(x - playerX), Math.Abs(y - playerY)) > 2.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

private bool MoveItemChecked(int id, int amount, int targetContainer, int x, int y, int z)

        {

            if (id == 0)

                return false;

            if (targetContainer == 0 && state.DropCheckCoord != 0)

            {

                int playerX = bridge.GetX(bridge.Self);

                int playerY = bridge.GetY(bridge.Self);

                if (Math.Max(Math.Abs(x - playerX), Math.Abs(y - playerY)) > 2)

                {

                    SystemMessage("Drop cancelled: destination is more than 2 tiles away (DropCheckCoord is enabled).");

                    return false;

                }

            }



            return bridge.MoveItem(id, amount, targetContainer, x, y, z) != 0;

        }

InjectionScript.Runtime.InjectionApiUO.NormalizeApiName

Возвращает значение выражения ниже.

Параметры: name

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5203.

private static string NormalizeApiName(string name)

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

Результат: (name ?? string.Empty).Trim().

Вызовы: (name ?? string.Empty).Trim.

Внутренний код реализации, не самостоятельный скрипт.

private static string NormalizeApiName(string name)

        {

            return (name ?? string.Empty).Trim();

        }

InjectionScript.Runtime.InjectionApiUO.RDblClick

Выполняет показанные вызовы и обновления состояния.

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

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5242.

public void RDblClick(int x, int y)

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

Вызовы: bridge.RDblClick.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

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

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases::AddText

Эти функции создают регистрацию API; они не выполняются заново при каждом вызове команды.

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

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:993.

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

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

Вызовы: metadata.NativeSubrutineExists, metadata.Add, metadata.IntrinsicVariableExists, metadata.AddIntrinsicVariable.

Условия: !metadata.NativeSubrutineExists(name, 0); !metadata.IntrinsicVariableExists(name).

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

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

            {

                foreach (string shortName in names)

                {

                    string name = "UO." + shortName;

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

                        metadata.Add(new NativeSubrutineDefinition(name, getter));

                    if (!metadata.IntrinsicVariableExists(name))

                        metadata.AddIntrinsicVariable(new NativeSubrutineDefinition(name, getter));

                }

            }

InjectionScript.Runtime.InjectionApiUO.ResolveCompactDistance

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

Параметры: value

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5093.

private int ResolveCompactDistance(InjectionValue value)

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

Результат: parsed < 0 ? bridge.GetFindDistance() : Math.Max(0, parsed).

Вызовы: NumberConversions.ToInt, bridge.GetFindDistance, Math.Max.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

private int ResolveCompactDistance(InjectionValue value)

        {

            int parsed = NumberConversions.ToInt(value);

            return parsed < 0 ? bridge.GetFindDistance() : Math.Max(0, parsed);

        }

InjectionScript.Runtime.InjectionApiUO.SetArm

Выполняет показанные вызовы и обновления состояния.

Параметры: name

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5587.

public void SetArm(string name)

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

Вызовы: SetEquip.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void SetArm(string name)

            => SetEquip(name, armSets, weaponLayers, "Arm set.");

InjectionScript.Runtime.InjectionApiUO.SetEvent

Выполняет показанные вызовы и обновления состояния.

Параметры: name, stateValue, repeatOrHandler

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6004.

public void SetEvent(InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler)

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

Вызовы: repeatOrHandler.ToString, string.IsNullOrWhiteSpace, NumberConversions.TryStr2Int, SetEvent.

Условия: !string.IsNullOrWhiteSpace(raw) && !NumberConversions.TryStr2Int(raw, out _).

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void SetEvent(InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler)

        {

            string raw = repeatOrHandler.ToString() ?? string.Empty;

            if (!string.IsNullOrWhiteSpace(raw) && !NumberConversions.TryStr2Int(raw, out _))

                SetEvent(name, stateValue, InjectionValue.True, repeatOrHandler);

            else

                SetEvent(name, stateValue, repeatOrHandler, new InjectionValue(string.Empty));

        }

InjectionScript.Runtime.InjectionApiUO.SetJournalLine

Выполняет показанные вызовы и обновления состояния.

Параметры: index

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5414.

public void SetJournalLine(int index)

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

Вызовы: bridge.SetJournalLine.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

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

InjectionScript.Runtime.InjectionApiUO.Terminate

Выполняет показанные вызовы и обновления состояния.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5912.

public void Terminate()

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

Вызовы: bridge.Terminate.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void Terminate() => bridge.Terminate(string.Empty);

InjectionScript.Runtime.InjectionApiUO.Terminate

Выполняет показанные вызовы и обновления состояния.

Параметры: subrutineName

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5911.

public void Terminate(string subrutineName)

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

Вызовы: bridge.Terminate.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void Terminate(string subrutineName) => bridge.Terminate(subrutineName);

InjectionScript.Runtime.InjectionApiUO.TextOpen

Выполняет показанные вызовы и обновления состояния.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5315.

public void TextOpen()

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

Вызовы: bridge.TextOpen.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

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

InjectionScript.Runtime.InjectionApiUO.Track

Выполняет показанные вызовы и обновления состояния.

Параметры: flag

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5989.

public void Track(InjectionValue flag)

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

Вызовы: Track, NumberConversions.ToInt, GetX, GetY.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void Track(InjectionValue flag) => Track(NumberConversions.ToInt(flag), GetX(), GetY());

InjectionScript.Runtime.InjectionApiUO.TradeCheck

Возвращает значение выражения ниже.

Параметры: windowIndex, checkbox, stateValue

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3294.

public int TradeCheck(InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue)

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

Результат: bridge.TradeCheck(NumberConversions.ToInt(windowIndex), NumberConversions.ToInt(checkbox), NumberConversions.ToInt(stateValue), true).

Вызовы: bridge.TradeCheck, NumberConversions.ToInt.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int TradeCheck(InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue)

            => bridge.TradeCheck(NumberConversions.ToInt(windowIndex), NumberConversions.ToInt(checkbox), NumberConversions.ToInt(stateValue), true);

InjectionScript.Runtime.InjectionApiUO.Unequip

Проверяет условия ниже и возвращает показанный результат.

Параметры: supportedLayers, successMessage

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5699.

private int Unequip(int[] supportedLayers, string successMessage)

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

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

Вызовы: bridge.ObjAtLayer, bridge.Unequip, injectionApi.Wait, SystemMessage.

Условия: bridge.ObjAtLayer(layer) != 0; state.DressSpeed > 0.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

private int Unequip(int[] supportedLayers, string successMessage)

        {

            bool success = true;

            foreach (var layer in supportedLayers)

            {

                if (bridge.ObjAtLayer(layer) != 0)

                {

                    success &= bridge.Unequip(layer) != 0;

                    if (state.DressSpeed > 0)

                        injectionApi.Wait(state.DressSpeed);

                }

            }



            SystemMessage(success ? successMessage : "Some equipment could not be removed.");

            return success ? 1 : 0;

        }

InjectionScript.Runtime.InjectionApiUO.UnsetReceivingContainer

Выполняет показанные вызовы и обновления состояния.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4368.

public void UnsetReceivingContainer()

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

Вызовы: bridge.UnsetReceivingContainer.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

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

InjectionScript.Runtime.InjectionApiUO.UseObject

Выполняет показанные вызовы и обновления состояния.

Параметры: id

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3918.

public void UseObject(string id)

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

Вызовы: UseObject, GetObject.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void UseObject(string id) => UseObject(GetObject(id));

InjectionScript.Runtime.InjectionApiUO.UseType

Возвращает значение выражения ниже.

Параметры: type, color

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3975.

public int UseType(int type, int color)

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

Вызовы: CompactUseType.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int UseType(int type, int color) => CompactUseType(new[]

        {

            new InjectionValue(type),

            new InjectionValue(color)

        });

InjectionScript.Runtime.InjectionApiUO.WaitingForJournalText

Выполняет показанные вызовы и обновления состояния.

Параметры: startTime, maxDelay, text

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5417.

public void WaitingForJournalText(int startTime, int maxDelay, string text)

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

Вызовы: WaitingForJournalText.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void WaitingForJournalText(int startTime, int maxDelay, string text)

            => WaitingForJournalText(startTime, maxDelay, text, 0, 0, InjectionValue.Zero);

InjectionScript.Runtime.InjectionApiUO.WaitingForMenu

Проверяет условия ниже и возвращает показанный результат.

Параметры: delayValue, menuCountValue, blockMenuValue, menuNameValue, skillOrSerial

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3313.

public int WaitingForMenu(InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial)

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

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

Вызовы: Math.Max, NumberConversions.ToInt, menuNameValue.ToString, timeSource.Now.AddMilliseconds, TriggerWaitAction, bridge.GetLastMenuIdentity, identity.Equals, bridge.GetLastMenuCaption.

Условия: identity.Length == 0; !identity.Equals(previousIdentity, StringComparison.Ordinal); observedMenuCount >= requiredMenuCount && nameMatches; blockMenu.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public int WaitingForMenu(InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial)

        {

            int delay = Math.Max(0, NumberConversions.ToInt(delayValue));

            int requiredMenuCount = Math.Max(1, NumberConversions.ToInt(menuCountValue));

            bool blockMenu = NumberConversions.ToInt(blockMenuValue) != 0;

            string expectedName = menuNameValue.ToString() ?? string.Empty;

            DateTime deadline = timeSource.Now.AddMilliseconds(delay);

            string previousIdentity = string.Empty;

            int observedMenuCount = 0;



            TriggerWaitAction(skillOrSerial);



            do

            {

                string identity = bridge.GetLastMenuIdentity() ?? string.Empty;

                if (identity.Length == 0)

                {

                    // Reset between server menus so an identical menu opened again

                    // still counts as a new appearance.

                    previousIdentity = string.Empty;

                }

                else if (!identity.Equals(previousIdentity, StringComparison.Ordinal))

                {

                    previousIdentity = identity;

                    observedMenuCount++;

                    string caption = bridge.GetLastMenuCaption() ?? string.Empty;

                    bool nameMatches = expectedName.Length == 0

                        || caption.Equals(expectedName, StringComparison.Ordinal);

                    if (observedMenuCount >= requiredMenuCount && nameMatches)

                    {

                        if (blockMenu)

                            bridge.CloseMenu();

                        return 1;

                    }

                }



                if (timeSource.Now >= deadline)

                    break;

                bridge.Wait(Math.Min(25, Math.Max(1, delay)));

            }

            while (true);



            return 0;

        }

InjectionScript.Runtime.InjectionApiUO.WaitingMenu

Возвращает значение выражения ниже.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3308.

public int WaitingMenu()

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

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

Вызовы: bridge.WaitingMenu.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

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

InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindMan]

Вызов выполняет сохранённый delegate обработчика. Метод регистрации создаёт этот delegate при построении API.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4667.

values

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

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

Вызовы: CompactFindMan.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

values => new InjectionValue(CompactFindMan(values))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetFollowersMax]

Вызов выполняет сохранённый delegate обработчика. Метод регистрации создаёт этот delegate при построении API.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1049.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

() => bridge.FollowersMax

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetIntelligence]

Вызов выполняет сохранённый delegate обработчика. Метод регистрации создаёт этот delegate при построении API.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1031.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

() => bridge.Intelligence

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetStamina]

Вызов выполняет сохранённый delegate обработчика. Метод регистрации создаёт этот delegate при построении API.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1028.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

() => bridge.Stamina

InjectionScript.Runtime.InjectionApiUO.Register [SkillVal]

Вызов выполняет сохранённый delegate обработчика. Метод регистрации создаёт этот delegate при построении API.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:693.

values

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

Результат: new InjectionValue(SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1]))).

Вызовы: SkillVal, values[0].ToString, NumberConversions.ToInt.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

values => new InjectionValue(SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1])))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Stamina]

Вызов выполняет сохранённый delegate обработчика. Метод регистрации создаёт этот delegate при построении API.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1028.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

() => bridge.Stamina

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Strength]

Вызов выполняет сохранённый delegate обработчика. Метод регистрации создаёт этот delegate при построении API.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1030.

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

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

() => bridge.Strength

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Возвращает значение выражения ниже.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.

value

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

Результат: getter(GetObject(value)).

Вызовы: getter, GetObject.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Возвращает значение выражения ниже.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.

value

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

Результат: getter(GetObject(value)).

Вызовы: getter, GetObject.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionRuntime.CallNativeSubrutine

Выполняет показанные вызовы и обновления состояния.

Параметры: name, args

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeConsoleDispatch.cs:280.

private void CallNativeSubrutine(string name, params InjectionValue[] args)

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

Вызовы: Checkpoint, Metadata.TryGetNativeSubrutine, nativeSubrutine.Call.

Условия: !Metadata.TryGetNativeSubrutine("UO." + name, args, out var nativeSubrutine).

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

private void CallNativeSubrutine(string name, params InjectionValue[] args)
        {
            Checkpoint();
            if (!Metadata.TryGetNativeSubrutine("UO." + name, args, out var nativeSubrutine))
                throw new NativeSubrutineException($"Native UO command '{name}' with {args.Length} argument(s) was not found.");
            nativeSubrutine.Call(args);
            Checkpoint();
        }

InjectionScript.Runtime.InjectionRuntime.Exec

Выполняет показанные вызовы и обновления состояния.

Параметры: parameters

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeConsoleDispatch.cs:10.

public void Exec(string parameters)

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

Вызовы: Tokenize(parameters).ToArray, Tokenize, command.Equals, string.IsNullOrWhiteSpace, bridge.Exec, parts.Skip(1).ToArray, parts.Skip, arguments.Select(token => token.Text).ToArray.

Условия: parts.Length == 0; command.Equals("exec", StringComparison.OrdinalIgnoreCase); parts.Length != 2 || string.IsNullOrWhiteSpace(parts[1].Text); TryHandleLegacyConsoleCommand(command, rawArguments).

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public void Exec(string parameters)
        {
            ConsoleToken[] parts = Tokenize(parameters).ToArray();
            if (parts.Length == 0)
                return;

            string command = parts[0].Text;
            if (command.Equals("exec", StringComparison.OrdinalIgnoreCase))
            {
                if (parts.Length != 2 || string.IsNullOrWhiteSpace(parts[1].Text))
                    throw new NativeSubrutineException("Usage: exec script_function");
                bridge.Exec(parts[1].Text);
                return;
            }

            ConsoleToken[] arguments = parts.Skip(1).ToArray();
            string[] rawArguments = arguments.Select(token => token.Text).ToArray();
            if (TryHandleLegacyConsoleCommand(command, rawArguments))
                return;

            command = NormalizeConsoleAlias(command);
            if (IsRemainderTextCommand(command) && rawArguments.Length > 0)
                arguments = new[] { new ConsoleToken(string.Join(" ", rawArguments), true) };
            else if (command.Equals("ColorPrint", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 1)
                arguments = new[] { arguments[0], new ConsoleToken(string.Join(" ", rawArguments.Skip(1)), true) };
            else if (command.Equals("CharPrint", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 2)
                arguments = new[] { arguments[0], arguments[1], new ConsoleToken(string.Join(" ", rawArguments.Skip(2)), true) };

            InjectionValue[] args = arguments.Select(token => token.Quoted
                ? new InjectionValue(token.Text) : ToConsoleValue(token.Text)).ToArray();
            CallNativeSubrutine(command, args);
        }

InjectionScript.Runtime.InjectionValue.ToString

Возвращает значение выражения ниже.

Параметры: Параметров нет.

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionValue.cs:405.

public override string ToString()

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

Результат: "<unit>"; Integer.ToString(System.Globalization.CultureInfo.InvariantCulture); String; Decimal.ToString(System.Globalization.CultureInfo.InvariantCulture); FormatArray(Array, new HashSet<InjectionValue[]>(), 0); Object?.Name ?? string.Empty.

Вызовы: Integer.ToString, Decimal.ToString, FormatArray.

Вызовы:

Внутренний код реализации, не самостоятельный скрипт.

public override string ToString()

        {

            switch (Kind)

            {

                case InjectionValueKind.Unit:

                    return "<unit>";

                case InjectionValueKind.Integer:

                    return Integer.ToString(System.Globalization.CultureInfo.InvariantCulture);

                case InjectionValueKind.String:

                    return String;

                case InjectionValueKind.Decimal:

                    return Decimal.ToString(System.Globalization.CultureInfo.InvariantCulture);

                case InjectionValueKind.Array:

                    return FormatArray(Array, new HashSet<InjectionValue[]>(), 0);

                case InjectionValueKind.Object:

                    return Object?.Name ?? string.Empty;

                default:

                    throw new InvalidOperationException($"Unknown InjectionValue kind {Kind}.");

            }

        }

InjectionScript.Runtime.NumberConversions.ToHex

Возвращает значение выражения ниже.

Параметры: id

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NumberConversions.cs:80.

public static string ToHex(short id)

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

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

Внутренний код реализации, не самостоятельный скрипт.

public static string ToHex(short id) => $"0x{id:X4}";

InjectionScript.Runtime.ObjectTypes.MemoryStreamObject.ReplaceBytes

Выполняет показанные вызовы и обновления состояния.

Параметры: bytes

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/ObjectTypes/MemoryStreamObject.cs:26.

internal void ReplaceBytes(byte[] bytes)

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

Вызовы: stream.SetLength, Array.Empty<byte>, stream.Write.

Условия: bytes == null.

Внутренний код реализации, не самостоятельный скрипт.

internal void ReplaceBytes(byte[] bytes)
        {
            stream.SetLength(0);
            stream.Position = 0;
            if (bytes == null)
                bytes = Array.Empty<byte>();
            stream.Write(bytes, 0, bytes.Length);
            stream.Position = 0;
        }

InjectionScript.Runtime.State.Globals.GetGlobal

Возвращает значение выражения ниже.

Параметры: name

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/Globals.cs:22.

public string GetGlobal(string name)

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

Результат: globals.TryGetValue(name, out var value) ? value : "N/A".

Вызовы: globals.TryGetValue.

Внутренний код реализации, не самостоятельный скрипт.

public string GetGlobal(string name)
        {
            lock (globalsLock)
                return globals.TryGetValue(name, out var value) ? value : "N/A";
        }

InjectionScript.Runtime.State.NamedIgnoreLists.RequireName

Проверяет условия ниже и возвращает показанный результат.

Параметры: name

Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedIgnoreLists.cs:115.

private static string RequireName(string name)

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

Результат: name.Trim().

Вызовы: string.IsNullOrWhiteSpace, nameof, name.Trim.

Условия: string.IsNullOrWhiteSpace(name).

Внутренний код реализации, не самостоятельный скрипт.

private static string RequireName(string name)
        {
            if (string.IsNullOrWhiteSpace(name)) throw new ArgumentException("Ignore list name must not be empty.", nameof(name));
            return name.Trim();
        }

Clone this wiki locally