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

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

Fonctions auxiliaires 3

Code interne de l’implémentation ; ce n’est pas un script autonome.

ClassicUO.Configuration.ProfileManager.ValidateFields

Exécute les appels et les modifications d’état indiqués.

Paramètres: Profile profile

Source: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:403.

internal static void ValidateFields(Profile profile)

Résultat: void.

Conditions:

  • profile == null
  • string.IsNullOrEmpty(profile.ServerName)
  • string.IsNullOrEmpty(profile.Username)
  • string.IsNullOrEmpty(profile.CharacterName)

Appels:

  • Math.Clamp
  • string.IsNullOrEmpty
  • BackNewbieAutomationManager.ClampAutoLootDelay
  • BackNewbieRuleLists.CreateDefault
  • BackNewbieRuleLists.Normalize
  • BackNewbieItemLabelManager.NormalizeProfile
  • profile.BackNewbieSpellCastTimeOverrides.Remove

Le fichier source contient le code complet ; les extraits exacts suivent.

Code interne de l’implémentation ; ce n’est pas un script autonome.

internal static void ValidateFields(Profile profile)
        {
            if (profile == null)
            {
                return;
            }

            profile.BackNewbieObstacleScanDistance = Math.Clamp(profile.BackNewbieObstacleScanDistance, 0, 5);
// …
            if (string.IsNullOrEmpty(profile.ServerName))
// …
                throw new InvalidDataException();
// …
            if (string.IsNullOrEmpty(profile.Username))
// …
                throw new InvalidDataException();
// …
            if (string.IsNullOrEmpty(profile.CharacterName))
// …
                throw new InvalidDataException();
// …
            if (profile.WindowClientBounds.X < 600)
// …
            if (profile.WindowClientBounds.Y < 480)
// …
                if (spellId <= 0)
// …
            profile.YokoIdeCommandSidebarWidth = Math.Clamp(profile.YokoIdeCommandSidebarWidth, 360, 560);
            profile.YokoIdeInspectorApiHeight = Math.Clamp(profile.YokoIdeInspectorApiHeight, 54, 260);
            profile.YokoIdeInspectorCommandHeight = Math.Clamp(profile.YokoIdeInspectorCommandHeight, 60, 520);
            profile.YokoIdeBottomPrimaryPercent = Math.Clamp(profile.YokoIdeBottomPrimaryPercent, 35, 70);
            profile.YokoIdeBottomWatchPercent = Math.Clamp(profile.YokoIdeBottomWatchPercent, 15, 35);
            profile.YokoAutoloadWidth = Math.Clamp(profile.YokoAutoloadWidth, 980, 1800);
            profile.YokoAutoloadHeight = Math.Clamp(profile.YokoAutoloadHeight, 620, 1200);
        }

ClassicUO.Game.GameActions.RequestPartyInviteByTarget

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:564.

public static void RequestPartyInviteByTarget()

Résultat: void.

Appels:

  • Socket.Send_PartyInviteRequest

Code interne de l’implémentation ; ce n’est pas un script autonome.

public static void RequestPartyInviteByTarget()
        {
            Socket.Send_PartyInviteRequest();
        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AttackLast

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:825.

public int AttackLast()

Résultat: int.

Conditions:

  • !last.IsEntity

Appels:

  • Invoke
  • GameActions.Attack

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int AttackLast() => Invoke(() =>

        {

            LastTargetInfo last = _world.TargetManager.LastTargetInfo;

            if (!last.IsEntity)

                return 0;



            GameActions.Attack(_world, last.Serial);

            return 1;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Cast

Exécute les appels et les modifications d’état indiqués.

Paramètres: int spellId

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2474.

public int Cast(int spellId)

Résultat: int.

Conditions:

  • spellId <= 0 || IsOnline() == 0 || Dead() != 0

Appels:

  • IsOnline
  • Dead
  • Invoke
  • GameActions.CastSpell
  • ToClassicUOCastIndex

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int Cast(int spellId)

        {

            if (spellId <= 0 || IsOnline() == 0 || Dead() != 0)

                return 0;

            Invoke(() => GameActions.CastSpell(ToClassicUOCastIndex(spellId)));

            return 1;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CheckWorldStep

Exécute les appels et les modifications d’état indiqués.

Paramètres: int currentX, int currentY, int currentZ, int destinationX, int destinationY, int map

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3741.

public int[] CheckWorldStep(int currentX, int currentY, int currentZ, int destinationX, int destinationY, int map)

Résultat: int[].

Conditions:

  • _world.Map == null || _world.Player?.Pathfinder == null || _world.Player.IsDestroyed || map != _world.MapIndex

  • `(uint)currentX > ushort.MaxValue || (uint)currentY > ushort.MaxValue

              || (uint)destinationX > ushort.MaxValue || (uint)destinationY > ushort.MaxValue
    
              || currentZ < sbyte.MinValue || currentZ > sbyte.MaxValue
    
              || blocks == null || (uint)map >= blocks.GetLength(0) || blocks.GetLength(1) < 2
    
              || blocks[map, 0] <= 0 || blocks[map, 1] <= 0
    
              || (currentX >> 3) >= blocks[map, 0] || (currentY >> 3) >= blocks[map, 1]
    
              || (destinationX >> 3) >= blocks[map, 0] || (destinationY >> 3) >= blocks[map, 1]`
    
  • Math.Abs(deltaX) > 1 || Math.Abs(deltaY) > 1

  • direction < 0

Appels:

  • Invoke
  • blocks.GetLength
  • Math.Abs
  • Math.Sign
  • _world.Player.Pathfinder.CanWalkForQuery

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int[] CheckWorldStep(int currentX, int currentY, int currentZ, int destinationX, int destinationY, int map) => Invoke(() =>

        {

            if (_world.Map == null || _world.Player?.Pathfinder == null || _world.Player.IsDestroyed || map != _world.MapIndex)

            {

                return new[] { 0, currentZ };

            }



            // Validate before the identity shortcut and before coordinate arithmetic.

            // Otherwise an absent map cell can report success without touching terrain.

            int[,] blocks = Client.UO?.FileManager?.Maps?.MapBlocksSize;

            if ((uint)currentX > ushort.MaxValue || (uint)currentY > ushort.MaxValue

                || (uint)destinationX > ushort.MaxValue || (uint)destinationY > ushort.MaxValue

                || currentZ < sbyte.MinValue || currentZ > sbyte.MaxValue

                || blocks == null || (uint)map >= blocks.GetLength(0) || blocks.GetLength(1) < 2

                || blocks[map, 0] <= 0 || blocks[map, 1] <= 0

                || (currentX >> 3) >= blocks[map, 0] || (currentY >> 3) >= blocks[map, 1]

                || (destinationX >> 3) >= blocks[map, 0] || (destinationY >> 3) >= blocks[map, 1])

                return new[] { 0, currentZ };



            int deltaX = destinationX - currentX;

            int deltaY = destinationY - currentY;

            if (Math.Abs(deltaX) > 1 || Math.Abs(deltaY) > 1)

                return new[] { 0, currentZ };



            int dx = Math.Sign(deltaX);

            int dy = Math.Sign(deltaY);

            int direction = dx == 0

                ? (dy < 0 ? 0 : dy > 0 ? 4 : -1)

                : dy == 0

                    ? (dx > 0 ? 2 : 6)

                    : dx > 0

                        ? (dy < 0 ? 1 : 3)

                        : (dy > 0 ? 5 : 7);

            if (direction < 0) return new[] { 1, currentZ };



            Direction actualDirection = (Direction)direction;

            int x = currentX;

            int y = currentY;

            sbyte z = (sbyte)currentZ;

            bool passable = _world.Player.Pathfinder.CanWalkForQuery(ref actualDirection, ref x, ref y, ref z)

                && x == destinationX && y == destinationY;

            return new[] { passable ? 1 : 0, (int)z };

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientMarkChar

Exécute les appels et les modifications d’état indiqués.

Paramètres: int actionIndex, int id

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1503.

public void ClientMarkChar(int actionIndex, int id)

Résultat: void.

Conditions:

  • actionIndex is 1 or 3
  • actionIndex is 2 or 3
  • actionIndex < 1 || actionIndex > 3

Appels:

  • Invoke
  • _world.TargetManager.LastTargetInfo.SetEntity
  • Error

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void ClientMarkChar(int actionIndex, int id) => Invoke(() =>

        {

            if (actionIndex is 1 or 3)

            {

                _world.TargetManager.LastTargetInfo.SetEntity((uint)id);

            }

            if (actionIndex is 2 or 3)

            {

                _world.TargetManager.LastAttack = (uint)id;

            }

            if (actionIndex < 1 || actionIndex > 3)

            {

                Error("UO.ClientMarkChar: ActionIndex must be 1 (LastTarget), 2 (LastAttack), or 3 (both)");

            }

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientPath

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:185.

public string ClientPath

Résultat: string.

Appels:

—

Code interne de l’implémentation ; ce n’est pas un script autonome.

public string ClientPath => CUOEnviroment.ExecutablePath;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindTypes

Exécute les appels et les modifications d’état indiqués.

Paramètres: int[] types, int[] colors, int[] containers, bool recursive

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2735.

public int FindTypes(int[] types, int[] colors, int[] containers, bool recursive)

Résultat: int.

Conditions:

  • `!MatchesFindIdentity(item, wantedTypes, wantedColors, ignoredTypes)

                      || !wantedContainers.Any(container => MatchesFindContainer(item, container, effectiveRange, recursive))`
    
  • wantedContainers.Any(IsGroundFindContainer)

  • !MatchesFindMobile(mobile, wantedTypes, wantedColors, effectiveRange, ignoredTypes)

Appels:

  • Invoke
  • ResetFindResults
  • State.IgnoreTypeLists.FilterFor
  • BuildFindIdentityMask
  • ResolveFindRange
  • MatchesFindIdentity
  • wantedContainers.Any
  • MatchesFindContainer
  • RegisterFound
  • MatchesFindMobile

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int FindTypes(int[] types, int[] colors, int[] containers, bool recursive)

        {

            return Invoke(() =>

            {

                ResetFindResults();

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

                HashSet<ushort> wantedTypes = BuildFindIdentityMask(types);

                HashSet<ushort> wantedColors = BuildFindIdentityMask(colors);

                int[] wantedContainers = containers == null || containers.Length == 0 ? new[] { -1 } : containers;

                int effectiveRange = ResolveFindRange(State.FindDistance);



                foreach (Item item in _world.Items.Values)

                {

                    if (!MatchesFindIdentity(item, wantedTypes, wantedColors, ignoredTypes)

                        || !wantedContainers.Any(container => MatchesFindContainer(item, container, effectiveRange, recursive)))

                    {

                        continue;

                    }



                    RegisterFound(item);

                }



                if (wantedContainers.Any(IsGroundFindContainer))

                {

                    foreach (Mobile mobile in _world.Mobiles.Values)

                    {

                        if (!MatchesFindMobile(mobile, wantedTypes, wantedColors, effectiveRange, ignoredTypes))

                        {

                            continue;

                        }



                        RegisterFound(mobile);

                    }

                }



                return _findItem;

            });

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetAutoSellDelay

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3965.

public int GetAutoSellDelay()

Résultat: int.

Appels:

  • Invoke

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int GetAutoSellDelay() => Invoke(() => ProfileManager.CurrentProfile?.BackNewbieAutoSellDelay ?? 3);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetBuffBarInfo

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3972.

public string[] GetBuffBarInfo()

Résultat: string[].

Appels:

  • Invoke

  • `.BuffIcons.Values

          .Select(buff => string.Join("|",
    
              (int)buff.Type,
    
              buff.Graphic,
    
              buff.Timer == uint.MaxValue ? -1 : Math.Max(0L, buff.Timer - Time.Ticks),
    
              buff.Text ?? string.Empty))
    
          .ToArray`
    
  • `.BuffIcons.Values

          .Select`
    
  • string.Join

  • Math.Max

  • Array.Empty<string>

Code interne de l’implémentation ; ce n’est pas un script autonome.

public string[] GetBuffBarInfo() => Invoke(() => _world.Player?.BuffIcons.Values

            .Select(buff => string.Join("|",

                (int)buff.Type,

                buff.Graphic,

                buff.Timer == uint.MaxValue ? -1 : Math.Max(0L, buff.Timer - Time.Ticks),

                buff.Text ?? string.Empty))

            .ToArray() ?? Array.Empty<string>());

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpButtonsDescription

Exécute les appels et les modifications d’état indiqués.

Paramètres: int index

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3073.

public string[] GetGumpButtonsDescription(int index)

Résultat: string[].

Appels:

  • Invoke

  • ServerGumpsUnsafe().ElementAtOrDefault

  • ServerGumpsUnsafe

  • Array.Empty<string>

  • `Descendants(gump)

              .Where(IsButtonControl).Select(DescribeControl).ToArray`
    
  • `Descendants(gump)

              .Where(IsButtonControl).Select`
    
  • `Descendants(gump)

              .Where`
    
  • Descendants

Code interne de l’implémentation ; ce n’est pas un script autonome.

public string[] GetGumpButtonsDescription(int index) => Invoke(() =>

        {

            Gump gump = ServerGumpsUnsafe().ElementAtOrDefault(index);

            return gump == null ? Array.Empty<string>() : Descendants(gump)

                .Where(IsButtonControl).Select(DescribeControl).ToArray();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetJournalText

Exécute les appels et les modifications d’état indiqués.

Paramètres: int index

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2191.

public string GetJournalText(int index)

Résultat: string.

Appels:

  • GetJournalEntry

Code interne de l’implémentation ; ce n’est pas un script autonome.

public string GetJournalText(int index) => GetJournalEntry(index)?.Text ?? string.Empty;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetSurfaceZ

Exécute les appels et les modifications d’état indiqués.

Paramètres: int x, int y, int map

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3727.

public int GetSurfaceZ(int x, int y, int map)

Résultat: int.

Conditions:

  • _world.Map == null || map != _world.MapIndex
  • tile is Land land

Appels:

  • Invoke
  • Error
  • _world.Map.GetTile

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int GetSurfaceZ(int x, int y, int map) => Invoke(() =>

        {

            if (_world.Map == null || map != _world.MapIndex)

            {

                Error($"UO.GetSurfaceZ: map {map} is not the currently loaded map {_world.MapIndex}");

                return 0;

            }



            for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext)

            {

                if (tile is Land land) return land.AverageZ;

            }

            return 0;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTileDataName

Exécute les appels et les modifications d’état indiqués.

Paramètres: int group, int tileId

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3844.

public string GetTileDataName(int group, int tileId)

Résultat: string.

Conditions:

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

Appels:

  • Invoke

Code interne de l’implémentation ; ce n’est pas un script autonome.

public string GetTileDataName(int group, int tileId) => Invoke(() =>

        {

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

                return Client.UO.FileManager.TileData.LandData[tileId].Name ?? string.Empty;

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

                return Client.UO.FileManager.TileData.StaticData[tileId].Name ?? string.Empty;

            return string.Empty;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTileXYM

Exécute les appels et les modifications d’état indiqués.

Paramètres: int x, int y, int map, int tileStart, int tileEnd, string uoPath

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3871.

public int[] GetTileXYM(int x, int y, int map, int tileStart, int tileEnd, string uoPath)

Résultat: int[].

Conditions:

  • _world.Map == null || map != _world.MapIndex
  • tile.Graphic < tileStart || tile.Graphic > tileEnd

Appels:

  • Invoke
  • Error
  • Array.Empty<int>
  • _world.Map.GetTile
  • result.Add
  • result.ToArray

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int[] GetTileXYM(int x, int y, int map, int tileStart, int tileEnd, string uoPath) => Invoke(() =>

        {

            if (_world.Map == null || map != _world.MapIndex)

            {

                Error($"UO.GetTileXYM: map {map} is not the currently loaded map {_world.MapIndex}");

                return Array.Empty<int>();

            }

            var result = new List<int>();

            for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext)

            {

                if (tile.Graphic < tileStart || tile.Graphic > tileEnd)

                    continue;

                result.Add(tile.Graphic);

                result.Add(tile.X);

                result.Add(tile.Y);

                result.Add(tile.Z);

            }

            return result.ToArray();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastStatus

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:143.

public int LastStatus

Résultat: int.

Appels:

  • Invoke

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int LastStatus => Invoke(() => unchecked((int)_world.LastStatus));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Mana

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:160.

public int Mana

Résultat: int.

Appels:

  • Invoke

Code interne de l’implémentation ; ce n’est pas un script autonome.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassPriceMove

Exécute les appels et les modifications d’état indiqués.

Paramètres: int delayMs, int quantity, int type, int price, int destination, int x, int y, int z

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1449.

public void MassPriceMove(int delayMs, int quantity, int type, int price, int destination, int x, int y, int z)

Résultat: void.

Appels:

  • Invoke
  • _manager.CancelVendorPrices
  • _manager.MassMover.Configure

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void MassPriceMove(int delayMs, int quantity, int type, int price, int destination, int x, int y, int z)

            => Invoke(() =>

            {

                _manager.CancelVendorPrices();

                _manager.MassMover.Configure(delayMs, quantity, type, destination, x, y, z, price);

            });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MaxWeight

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:162.

public int MaxWeight

Résultat: int.

Appels:

  • Invoke

Code interne de l’implémentation ; ce n’est pas un script autonome.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MoveBoat

Exécute les appels et les modifications d’état indiqués.

Paramètres: int direction, int speed

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1785.

public void MoveBoat(int direction, int speed)

Résultat: void.

Appels:

  • Invoke
  • _world.BoatMovingManager.MoveRequest
  • Math.Max
  • Math.Min

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void MoveBoat(int direction, int speed) => Invoke(() =>

            _world.BoatMovingManager.MoveRequest((Direction)(direction & 7), (byte)Math.Max(0, Math.Min(byte.MaxValue, speed))));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.OpenIDE

Exécute les appels et les modifications d’état indiqués.

Paramètres: string filePath

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2040.

public void OpenIDE(string filePath)

Résultat: void.

Appels:

  • string.IsNullOrWhiteSpace
  • Path.IsPathRooted
  • Path.Combine
  • Invoke
  • YokoScriptEditorGump.Open

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void OpenIDE(string filePath)

        {

            string requested = string.IsNullOrWhiteSpace(filePath)

                ? null

                : Path.IsPathRooted(filePath) ? filePath : Path.Combine(_manager.AutoloadPath, filePath);

            Invoke(() => YokoScriptEditorGump.Open(_world, requested));

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RClick

Exécute les appels et les modifications d’état indiqués.

Paramètres: int x, int y

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1535.

public void RClick(int x, int y)

Résultat: void.

Appels:

  • Invoke
  • WarpMouse
  • MouseButton

Code interne de l’implémentation ; ce n’est pas un script autonome.

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

        {

            WarpMouse(x, y);

            MouseButton(0x0008, 0x0010);

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RemoveUserStatic

Exécute les appels et les modifications d’état indiqués.

Paramètres: int id

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3892.

public void RemoveUserStatic(int id)

Résultat: void.

Appels:

  • Invoke
  • _manager.RemoveUserStatic

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void RemoveUserStatic(int id) => Invoke(() => _manager.RemoveUserStatic(id));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequireGameView

Exécute les appels et les modifications d’état indiqués.

Paramètres: string command

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4328.

private static GameController RequireGameView(string command)

Résultat: GameController.

Appels:

—

Code interne de l’implémentation ; ce n’est pas un script autonome.

private static GameController RequireGameView(string command) => Client.Game

            ?? throw new InvalidOperationException(command + " requires an open graphical ClassicUO window. Open it in Manager.");

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResolveAbility

Exécute les appels et les modifications d’état indiqués.

Paramètres: string abilityNameOrId

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2445.

public int ResolveAbility(string abilityNameOrId)

Résultat: int.

Appels:

  • ResolveClassicUOAbilityId

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int ResolveAbility(string abilityNameOrId) => ResolveClassicUOAbilityId(abilityNameOrId);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResolveClassicUOSpellId

Exécute les appels et les modifications d’état indiqués.

Paramètres: string spellNameOrId

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2397.

internal static int ResolveClassicUOSpellId(string spellNameOrId)

Résultat: int.

Conditions:

  • int.TryParse(requested, NumberStyles.Integer, CultureInfo.InvariantCulture, out int numericId)

  • normalized.Length == 0

  • `NormalizeSpellName(spell.Name) == normalized

                  || NormalizeSpellName(spell.PowerWords) == normalized`
    

Appels:

  • (spellNameOrId ?? string.Empty).Trim
  • int.TryParse
  • SpellDefinition.FullIndexGetSpell
  • NormalizeSpellName
  • EnumerateClassicUOSpells

Code interne de l’implémentation ; ce n’est pas un script autonome.

internal static int ResolveClassicUOSpellId(string spellNameOrId)

        {

            string requested = (spellNameOrId ?? string.Empty).Trim();

            if (int.TryParse(requested, NumberStyles.Integer, CultureInfo.InvariantCulture, out int numericId))

            {

                SpellDefinition numericSpell = SpellDefinition.FullIndexGetSpell(numericId);

                return numericSpell != null && numericSpell.ID == numericId ? numericId : 0;

            }



            string normalized = NormalizeSpellName(requested);

            if (normalized.Length == 0)

                return 0;



            foreach (SpellDefinition spell in EnumerateClassicUOSpells())

            {

                if (NormalizeSpellName(spell.Name) == normalized

                    || NormalizeSpellName(spell.PowerWords) == normalized)

                    return spell.ID;

            }



            return 0;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoSellDelay

Exécute les appels et les modifications d’état indiqués.

Paramètres: int value

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3966.

public void SetAutoSellDelay(int value)

Résultat: void.

Conditions:

  • ProfileManager.CurrentProfile == null

Appels:

  • Invoke
  • Math.Clamp
  • ProfileManager.SaveCurrentProfile

Code interne de l’implémentation ; ce n’est pas un script autonome.

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

        {

            if (ProfileManager.CurrentProfile == null) return;

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

            ProfileManager.SaveCurrentProfile();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetJournalLength

Exécute les appels et les modifications d’état indiqués.

Paramètres: int length

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3981.

public void SetJournalLength(int length)

Résultat: void.

Appels:

  • Invoke
  • _manager.SetJournalLength

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void SetJournalLength(int length) => Invoke(() => _manager.SetJournalLength(length));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StealthCnt

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:606.

public int StealthCnt()

Résultat: int.

Conditions:

  • player == null || !player.IsHidden
  • _lastStealthX >= 0 && _lastStealthY >= 0

Appels:

  • Invoke
  • Math.Max
  • Math.Abs

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int StealthCnt() => Invoke(() =>

        {

            PlayerMobile player = _world.Player;

            if (player == null || !player.IsHidden)

            {

                _stealthCount = 0;

                _lastStealthX = player?.X ?? -1;

                _lastStealthY = player?.Y ?? -1;

                return 0;

            }



            if (_lastStealthX >= 0 && _lastStealthY >= 0)

            {

                _stealthCount += Math.Max(Math.Abs(player.X - _lastStealthX), Math.Abs(player.Y - _lastStealthY));

            }

            _lastStealthX = player.X;

            _lastStealthY = player.Y;

            return _stealthCount;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StopBoat

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1787.

public void StopBoat()

Résultat: void.

Appels:

  • Invoke
  • _world.BoatMovingManager.MoveRequest

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void StopBoat() => Invoke(() =>

            _world.BoatMovingManager.MoveRequest(_world.Player?.Direction ?? Direction.North, 0));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Track

Exécute les appels et les modifications d’état indiqués.

Paramètres: int x, int y

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3984.

public void Track(int x, int y)

Résultat: void.

Appels:

  • Invoke
  • _world.CharacterPanels.SetArrow

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void Track(int x, int y) => Invoke(() => _world.CharacterPanels.SetArrow(SessionCharacterPanels.TrackSerial, true, x, y));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TradeName

Exécute les appels et les modifications d’état indiqués.

Paramètres: int windowIndex

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:652.

public string TradeName(int windowIndex)

Résultat: string.

Appels:

  • Invoke
  • FindTrade

Code interne de l’implémentation ; ce n’est pas un script autonome.

public string TradeName(int windowIndex) => Invoke(() =>

        {

            ISessionTrade gump = FindTrade(windowIndex);

            return gump?.OpponentName ?? string.Empty;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UsePrimaryAbility

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1614.

public void UsePrimaryAbility()

Résultat: void.

Appels:

  • Invoke
  • GameActions.UsePrimaryAbility

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void UsePrimaryAbility() => Invoke(() => GameActions.UsePrimaryAbility(_world));

ClassicUO.Game.Scenes.LoginScene.ResolveReconnectPassword

Exécute les appels et les modifications d’état indiqués.

Paramètres: string account

Source: Project_Full/src/ClassicUO.Client/Game/Scenes/LoginScene.cs:339.

internal static string ResolveReconnectPassword(string account)

Résultat: string.

Conditions:

  • `_hasCachedCredentials

              && string.Equals(account, _cachedAccount, StringComparison.Ordinal)`
    
  • string.Equals(account, Settings.GlobalSettings.Username, StringComparison.Ordinal)

Appels:

  • string.Equals
  • Crypter.Decrypt

Code interne de l’implémentation ; ce n’est pas un script autonome.

internal static string ResolveReconnectPassword(string account)

        {

            if (_hasCachedCredentials

                && string.Equals(account, _cachedAccount, StringComparison.Ordinal))

            {

                return Crypter.Decrypt(_cachedPassword);

            }



            if (string.Equals(account, Settings.GlobalSettings.Username, StringComparison.Ordinal))

                return Crypter.Decrypt(Settings.GlobalSettings.Password);



            return string.Empty;

        }

ClassicUO.Game.UI.Gumps.WorldMapGump.RemoveYokoMapFigure

Exécute les appels et les modifications d’état indiqués.

Paramètres: int figureId

Source: Project_Full/src/ClassicUO.Client/Game/UI/Gumps/WorldMapGump.cs:95.

internal static int RemoveYokoMapFigure(int figureId)

Résultat: int.

Appels:

  • _yokoMapFigures.Remove

Code interne de l’implémentation ; ce n’est pas un script autonome.

internal static int RemoveYokoMapFigure(int figureId) => _yokoMapFigures.Remove(figureId) ? 1 : 0;

ClassicUO.Game.UI.Gumps.YokoTextWindowGump.Show

Exécute les appels et les modifications d’état indiqués.

Paramètres: World world, IReadOnlyList<string> lines

Source: Project_Full/src/ClassicUO.Client/Game/UI/Gumps/YokoTextWindowGump.cs:46.

internal static YokoTextWindowGump Show(World world, IReadOnlyList<string> lines)

Résultat: YokoTextWindowGump.

Conditions:

  • gump == null || gump.IsDisposed

Appels:

  • UIManager.GetGump<YokoTextWindowGump>
  • UIManager.Add
  • gump.SetLines
  • gump.SetInScreen
  • gump.BringOnTop

Code interne de l’implémentation ; ce n’est pas un script autonome.

internal static YokoTextWindowGump Show(World world, IReadOnlyList<string> lines)
        {
            YokoTextWindowGump gump = UIManager.GetGump<YokoTextWindowGump>();
            if (gump == null || gump.IsDisposed)
            {
                gump = new YokoTextWindowGump(world);
                UIManager.Add(gump);
            }
            gump.SetLines(lines);
            gump.SetInScreen();
            gump.BringOnTop();
            return gump;
        }

ClassicUO.Game.World.RemoveItemFromContainer

Exécute les appels et les modifications d’état indiqués.

Paramètres: Item obj

Source: Project_Full/src/ClassicUO.Client/Game/World.cs:604.

public void RemoveItemFromContainer(Item obj)

Résultat: void.

Conditions:

  • containerSerial != 0xFFFF_FFFF
  • SerialHelper.IsMobile(containerSerial)
  • SerialHelper.IsItem(containerSerial)
  • container != null

Appels:

  • SerialHelper.IsMobile
  • UIManager.GetGump<PaperDollGump>
  • .RequestUpdateContents
  • SerialHelper.IsItem
  • UIManager.GetGump<ContainerGump>
  • Get
  • container.Remove
  • obj.RemoveFromTile

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void RemoveItemFromContainer(Item obj)

        {

            uint containerSerial = obj.Container;



            // if entity is running the "dying" animation we have to reset container too.

            // SerialHelper.IsValid(containerSerial) is not ideal in this case

            if (containerSerial != 0xFFFF_FFFF)

            {

                if (SerialHelper.IsMobile(containerSerial))

                {

                    UIManager.GetGump<PaperDollGump>(containerSerial)?.RequestUpdateContents();

                }

                else if (SerialHelper.IsItem(containerSerial))

                {

                    UIManager.GetGump<ContainerGump>(containerSerial)?.RequestUpdateContents();

                }



                Entity container = Get(containerSerial);



                if (container != null)

                {

                    container.Remove(obj);

                }



                obj.Container = 0xFFFF_FFFF;

            }



            obj.Next = null;

            obj.Previous = null;

            obj.RemoveFromTile();

        }

InjectionScript.Runtime.InjectionApiUO.ApiSignatureExists

Exécute les appels et les modifications d’état indiqués.

Paramètres: string name, int argumentCount

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5306.

public int ApiSignatureExists(string name, int argumentCount)

Résultat: int.

Appels:

  • metadata.NativeSubrutineExists
  • NormalizeApiName

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int ApiSignatureExists(string name, int argumentCount)

            => metadata.NativeSubrutineExists(NormalizeApiName(name), argumentCount) ? 1 : 0;

InjectionScript.Runtime.InjectionApiUO.BuildWorldTileRecord

Exécute les appels et les modifications d’état indiqués.

Paramètres: string kind, int serial, int graphic, int x, int y, int z, int hue, int group

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6439.

private InjectionValue BuildWorldTileRecord(string kind, int serial, int graphic, int x, int y, int z, int hue, int group)

Résultat: InjectionValue.

Appels:

  • bridge.GetTileDataProperties
  • Array.Empty<int>
  • bridge.GetTileFlags
  • bridge.GetTileDataName

Code interne de l’implémentation ; ce n’est pas un script autonome.

private InjectionValue BuildWorldTileRecord(string kind, int serial, int graphic, int x, int y, int z, int hue, int group)

        {

            int[] properties = bridge.GetTileDataProperties(group, graphic) ?? Array.Empty<int>();

            int layer = group == 0 || properties.Length < 2 ? 0 : properties[1];

            int height = group == 0 || properties.Length < 7 ? 0 : properties[6];

            return new InjectionValue(new[]

            {

                new InjectionValue(kind), new InjectionValue(serial), new InjectionValue(graphic),

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

                new InjectionValue(unchecked((int)bridge.GetTileFlags(group, graphic))),

                new InjectionValue(bridge.GetTileDataName(group, graphic)),

                new InjectionValue(layer), new InjectionValue(height)

            });

        }

InjectionScript.Runtime.InjectionApiUO.CastAtTarget

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue spellName, InjectionValue target

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5976.

private int CastAtTarget(InjectionValue spellName, InjectionValue target)

Résultat: int.

Conditions:

  • !spellId.HasValue
  • targetSerial <= 0
  • accepted != 0

Appels:

  • ConvertSpellName
  • SystemMessage
  • GetObject
  • WaitTargetObject
  • bridge.Cast
  • Timer
  • bridge.CancelTarget

Code interne de l’implémentation ; ce n’est pas un script autonome.

private int CastAtTarget(InjectionValue spellName, InjectionValue target)

        {

            var spellId = ConvertSpellName((string)spellName);

            if (!spellId.HasValue)

            {

                SystemMessage("Unknown spell name");

                return 0;

            }



            int targetSerial = GetObject(target);

            if (targetSerial <= 0)

            {

                SystemMessage("UO.Cast: invalid target.");

                return 0;

            }



            // The target cursor must be prepared before ClassicUO sends the cast.

            // Fast shards can return the cursor immediately, so queuing it after

            // Cast would intermittently miss the target.

            WaitTargetObject(targetSerial);

            int accepted = bridge.Cast(spellId.Value);

            if (accepted != 0)

                ticksSpell = Timer();

            else

                bridge.CancelTarget();

            return accepted;

        }

InjectionScript.Runtime.InjectionApiUO.CheckPortableLineOfSight

Exécute les appels et les modifications d’état indiqués.

Paramètres: int fromX, int fromY, int fromZ, int toX, int toY, int toZ, int map

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2101.

private bool CheckPortableLineOfSight(int fromX, int fromY, int fromZ, int toX, int toY, int toZ, int map)

Résultat: bool.

Conditions:

  • `fromX < 0 || fromX > ushort.MaxValue || fromY < 0 || fromY > ushort.MaxValue

              || toX < 0 || toX > ushort.MaxValue || toY < 0 || toY > ushort.MaxValue
    
              || map < 0 || map > byte.MaxValue`
    
  • twice > -dy

  • twice < dx

  • state.BadLocations.Contains(x + "," + y)

Appels:

  • Math.Abs
  • state.BadLocations.Contains
  • bridge.CheckWorldStep
  • bridge.CheckLosCell

Code interne de l’implémentation ; ce n’est pas un script autonome.

private bool CheckPortableLineOfSight(int fromX, int fromY, int fromZ, int toX, int toY, int toZ, int map)

        {

            if (fromX < 0 || fromX > ushort.MaxValue || fromY < 0 || fromY > ushort.MaxValue

                || toX < 0 || toX > ushort.MaxValue || toY < 0 || toY > ushort.MaxValue

                || map < 0 || map > byte.MaxValue)

                return false;

            int x = fromX;

            int y = fromY;

            int z = fromZ;

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

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

            int sx = fromX < toX ? 1 : -1;

            int sy = fromY < toY ? 1 : -1;

            int error = dx - dy;

            for (int guard = 0; guard < 4096 && (x != toX || y != toY); guard++)

            {

                int oldX = x;

                int oldY = y;

                int twice = error * 2;

                if (twice > -dy) { error -= dy; x += sx; }

                if (twice < dx) { error += dx; y += sy; }

                if (state.BadLocations.Contains(x + "," + y)) return false;

                int[] step = bridge.CheckWorldStep(oldX, oldY, z, x, y, map);

                if (step.Length == 0 || step[0] == 0) return false;

                if (step.Length > 1) z = step[1];



                int losOptions = state.LosOptions;

                if (losOptions != 0)

                {

                    if (bridge.CheckLosCell(x, y, z, map, losOptions) == 0)

                        return false;



                    // Sphere corner-check compatibility: for diagonal ray steps,

                    // optionally require both adjacent cardinal cells to remain clear.

                    if ((losOptions & 0x100) != 0 && x != oldX && y != oldY)

                    {

                        if (bridge.CheckLosCell(x, oldY, z, map, losOptions) == 0

                            || bridge.CheckLosCell(oldX, y, z, map, losOptions) == 0)

                            return false;

                    }

                }

            }

            return x == toX && y == toY && Math.Abs((long)z - toZ) <= 20;

        }

InjectionScript.Runtime.InjectionApiUO.CompactStepQ

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue[] values

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2324.

private int CompactStepQ(InjectionValue[] values)

Résultat: int.

Conditions:

  • values == null || values.Length < 2 || values.Length > 5
  • state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0
  • state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina
  • state.MoveOpenDoor != 0

Appels:

  • bridge.IsOnline
  • NumberConversions.ToInt
  • ToBoolean
  • Math.Max
  • bridge.TryOpenDoorForStep
  • bridge.OpenDoor
  • bridge.StepQueued
  • bridge.StepControlled

Code interne de l’implémentation ; ce n’est pas un script autonome.

private int CompactStepQ(InjectionValue[] values)

        {

            if (values == null || values.Length < 2 || values.Length > 5)

                throw new NativeSubrutineException("UO.StepQ expects direction,run[,timeout[,queue[,waitForAck]]].");

            if (state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0)

                return -1;

            if (state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina)

                return -1;



            int direction = NumberConversions.ToInt(values[0]) & 7;

            bool running = ToBoolean(values[1]);

            int timeout = values.Length > 2 ? Math.Max(0, NumberConversions.ToInt(values[2])) : 0;

            bool queue = values.Length <= 3 || ToBoolean(values[3]);

            bool waitForAck = values.Length > 4 && ToBoolean(values[4]);



            state.LastStepUsedDoor = 0;

            if (state.MoveOpenDoor != 0)

            {

                state.LastStepUsedDoor = bridge.TryOpenDoorForStep(direction);

                if (state.LastStepUsedDoor == 0)

                    bridge.OpenDoor();

            }

            if (values.Length <= 2)

                return bridge.StepQueued(direction, running);

            return bridge.StepControlled(direction, running, timeout, queue, waitForAck);

        }

InjectionScript.Runtime.InjectionApiUO.Count

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue type, InjectionValue color, InjectionValue container

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5330.

public int Count(InjectionValue type, InjectionValue color, InjectionValue container)

Résultat: int.

Appels:

  • Count
  • ResolveType
  • NumberConversions.ToInt
  • ConvertContainer

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int Count(InjectionValue type, InjectionValue color, InjectionValue container)

            => Count(ResolveType(type), NumberConversions.ToInt(color), ConvertContainer(container));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::TryMapFigureArg

Vérifie les conditions ci-dessous et renvoie le résultat indiqué.

Paramètres: index, fields, figureText

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1159.

bool TryMapFigureArg(int index, out int[] fields, out string figureText)

Résultat: bool.

Résultat: false; true.

Appels: Array.Empty<int>, Array.Empty<InjectionValue>, (value.String ?? string.Empty).Split, raw.Select(part => new InjectionValue(part)).ToArray, raw.Select, NumberConversions.TryStr2Int, NumberConversions.ToInt, parts[10].ToString.

Conditions: index >= arguments.Length; value.Kind == InjectionValueKind.Array; value.Kind == InjectionValueKind.String; parts.Length < 9.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

bool TryMapFigureArg(int index, out int[] fields, out string figureText)
            {
                fields = Array.Empty<int>();
                figureText = string.Empty;
                if (index >= arguments.Length)
                    return false;

                InjectionValue value = arguments[index];
                InjectionValue[] parts;
                if (value.Kind == InjectionValueKind.Array)
// …
                else if (value.Kind == InjectionValueKind.String)
// …
                    return false;
// …
                if (parts.Length < 9)
                    return false;
// …
                    if (parts[i].Kind == InjectionValueKind.String)
// …
                        if (!NumberConversions.TryStr2Int(parts[i].String, out fields[i]))
                            return false;
// …
                if (parts.Length > 9)
// …
                    if (parts[9].Kind == InjectionValueKind.String)
// …
                        if (!NumberConversions.TryStr2Int(parts[9].String, out fields[9]))
                            return false;
// …
                if (parts.Length > 10)
// …
                return true;
// …

Le fichier source contient le code complet ; les extraits exacts suivent.

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1538.

Résultat: new InjectionValue(CalculateDirection(Arg(0), Arg(1), Arg(2), Arg(3))).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "calcdir": return new InjectionValue(CalculateDirection(Arg(0), Arg(1), Arg(2), Arg(3)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1818.

Résultat: new InjectionValue(CheckPortableLineOfSight(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), Arg(5), Arg(6)) ? 1 : 0).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "checklos": return new InjectionValue(CheckPortableLineOfSight(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), Arg(5), Arg(6)) ? 1 : 0);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1646.

Résultat: new InjectionValue(bridge.ClientTargetResponse().Select(value => new InjectionValue(value)).ToArray()).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "clienttargetresponse":

                    return new InjectionValue(bridge.ClientTargetResponse().Select(value => new InjectionValue(value)).ToArray());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1609.

Résultat: InjectionValue.Unit.

Conditions: bridge is IApiGumpAccess gumpAccess.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "closesimplegump":

                    if (bridge is IApiGumpAccess gumpAccess) gumpAccess.CloseGumpAtIndex(Arg(0));

                    else bridge.CloseSimpleGump(Arg(0));

                    return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1492.

Résultat: new InjectionValue(bridge.Dexterity).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "dex": return new InjectionValue(bridge.Dexterity);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1616.

Résultat: new InjectionValue(bridge.DragItem(Arg(0), Arg(1))).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "dragitem": return new InjectionValue(bridge.DragItem(Arg(0), Arg(1)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1617.

Résultat: new InjectionValue(bridge.DropDraggedItem(Arg(0), Arg(1), Arg(2), Arg(3))).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "dropitem": return new InjectionValue(bridge.DropDraggedItem(Arg(0), Arg(1), Arg(2), Arg(3)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1389.

Résultat: new InjectionValue(bridge.GetFoundItems().Select(serial => new InjectionValue(serial)).ToArray()).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "getfindedlist":

                    return new InjectionValue(bridge.GetFoundItems().Select(serial => new InjectionValue(serial)).ToArray());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1598.

Résultat: new InjectionValue(bridge.GetGumpCount()).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "getgumpscount": return new InjectionValue(bridge.GetGumpCount());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1449.

Résultat: new InjectionValue(value)).ToArray()).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "getmapcell":

                    return new InjectionValue(bridge.GetLandscapeTile(Arg(0), Arg(1), Arg(2))

                        .Select(value => new InjectionValue(value)).ToArray());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1337.

Résultat: new InjectionValue(state.RunMountTimer).

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "getrunmounttimer": return new InjectionValue(state.RunMountTimer);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1509.

Résultat: new InjectionValue(bridge.GetTitle(Arg(0, bridge.Self))).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "gettitle": return new InjectionValue(bridge.GetTitle(Arg(0, bridge.Self)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1391.

Résultat: new InjectionValue(bridge.GetWorldItems().Select(serial => new InjectionValue(serial)).ToArray()).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "getworlditems":

                    return new InjectionValue(bridge.GetWorldItems().Select(serial => new InjectionValue(serial)).ToArray());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1274.

Résultat: new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1), Arg(2), Arg(3))); new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1), Arg(2))); new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1))).

Conditions: arguments.Length > 3; arguments.Length > 2.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "injournalbetweentimes":

                    if (arguments.Length > 3)

                        return new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1), Arg(2), Arg(3)));

                    if (arguments.Length > 2)

                        return new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1), Arg(2)));

                    return new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1700.

Résultat: new InjectionValue(bridge.InParty()).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "inparty": return new InjectionValue(bridge.InParty());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1513.

Résultat: new InjectionValue(bridge.IsHouse(Arg(0))).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "ishouse": return new InjectionValue(bridge.IsHouse(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2033.

Résultat: new InjectionValue(GetJournalText(Arg(0))).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "journal": return new InjectionValue(GetJournalText(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1493.

Résultat: new InjectionValue(bridge.MaxMana).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "maxmana": return new InjectionValue(bridge.MaxMana);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1904.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "numgumpbutton": return (bridge is IApiGumpAccess buttons

                    ? buttons.ActivateGumpButtonAtIndex(Arg(0), Arg(1)) : bridge.ActivateGumpButton(Arg(0), Arg(1))) != 0 ? InjectionValue.True : InjectionValue.False;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1731.

Résultat: new InjectionValue(removed).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "removefigure":

                {

                    int id = Arg(0);

                    int removed = bridge.RemoveMapFigure(id);

                    state.MapFigures.Remove(id);

                    return new InjectionValue(removed);

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1629.

Résultat: new InjectionValue(ChangeEquipmentItems(ArrayArg(0), false)).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "unequipitems":

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

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2934.

Conditions: arguments.Length == 0 && bridge.RequestInteractiveTileInfoTarget() != 0.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "infotile":

                    if (arguments.Length == 0 && bridge.RequestInteractiveTileInfoTarget() != 0)

                        break;

                    SystemMessage(bridge.GetTileInfoText(

                        arguments.Length > 0 ? Arg(0) : bridge.GetX(bridge.Self),

                        arguments.Length > 1 ? Arg(1) : bridge.GetY(bridge.Self),

                        bridge.WorldNumber));

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3022.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "removeearrings": Unequip("Ear"); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2977.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "savehotkeys": bridge.SaveHotkeys(); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3032.

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "setrec":

                    state.RecordedAction = string.Empty;

                    recordNextLegacyAction = true;

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3055.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "sound": bridge.PlaySound(Arg(0)); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2905.

Conditions: arguments.Length >= 2.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "vendormenu":

                    if (arguments.Length >= 2) bridge.AddMenuHook(Text(0), Text(1), true);

                    else bridge.UseObject(Arg(0, bridge.LastTarget));

                    break;

InjectionScript.Runtime.InjectionApiUO.FindMobile

Renvoie la valeur de l’expression ci-dessous.

Paramètres: stateFilter, rangeFilter, verticalFilter, directionOrKind

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3663.

`public int FindMobile(InjectionValue stateFilter, InjectionValue rangeFilter, InjectionValue verticalFilter,

        InjectionValue directionOrKind)`

Résultat: int.

Résultat: FindMobile(stateFilter, rangeFilter, verticalFilter, directionOrKind, new InjectionValue("all")).

Appels: FindMobile.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int FindMobile(InjectionValue stateFilter, InjectionValue rangeFilter, InjectionValue verticalFilter,

            InjectionValue directionOrKind)

            => FindMobile(stateFilter, rangeFilter, verticalFilter, directionOrKind, new InjectionValue("all"));

InjectionScript.Runtime.InjectionApiUO.FindType

Exécute les appels et les modifications d’état indiqués.

Paramètres: int type, int color, int containerId

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4721.

public string FindType(int type, int color, int containerId)

Résultat: string.

Appels:

  • FindType

Code interne de l’implémentation ; ce n’est pas un script autonome.

public string FindType(int type, int color, int containerId)

            => FindType(type, color, containerId, -1, false);

InjectionScript.Runtime.InjectionApiUO.GetFlags

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue id

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3898.

public int GetFlags(InjectionValue id)

Résultat: int.

Appels:

  • bridge.GetFlags
  • GetObject

Code interne de l’implémentation ; ce n’est pas un script autonome.

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

InjectionScript.Runtime.InjectionApiUO.GetGraphics

Exécute les appels et les modifications d’état indiqués.

Paramètres: int id

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3734.

public string GetGraphics(int id)

Résultat: string.

Appels:

  • bridge.GetGraphics

Code interne de l’implémentation ; ce n’est pas un script autonome.

public string GetGraphics(int id) => $"0x{bridge.GetGraphics(id):X4}";

InjectionScript.Runtime.InjectionApiUO.GetLandscapeTile

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue x, InjectionValue y, InjectionValue map

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6291.

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

Résultat: InjectionValue.

Appels:

  • ToArray
  • bridge.GetLandscapeTile
  • NumberConversions.ToInt

Code interne de l’implémentation ; ce n’est pas un script autonome.

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

            => ToArray(bridge.GetLandscapeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(map)));

InjectionScript.Runtime.InjectionApiUO.GetNotoriety

Exécute les appels et les modifications d’état indiqués.

Paramètres: string id

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3717.

public int GetNotoriety(string id)

Résultat: int.

Appels:

  • GetNotoriety
  • GetObject

Code interne de l’implémentation ; ce n’est pas un script autonome.

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

InjectionScript.Runtime.InjectionApiUO.GetPing

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3862.

public int GetPing()

Résultat: int.

Appels:

  • bridge.GetPing

Code interne de l’implémentation ; ce n’est pas un script autonome.

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

InjectionScript.Runtime.InjectionApiUO.GetShopList

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6456.

public InjectionValue GetShopList()

Résultat: InjectionValue.

Appels:

  • (bridge.GetShopList() ?? Array.Empty<string>()).Select(item => new InjectionValue(item)).ToArray
  • (bridge.GetShopList() ?? Array.Empty<string>()).Select
  • bridge.GetShopList
  • Array.Empty<string>

Code interne de l’implémentation ; ce n’est pas un script autonome.

public InjectionValue GetShopList()

            => new InjectionValue((bridge.GetShopList() ?? Array.Empty<string>()).Select(item => new InjectionValue(item)).ToArray());

InjectionScript.Runtime.InjectionApiUO.GetX

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3677.

public int GetX()

Résultat: int.

Appels:

  • GetX

Code interne de l’implémentation ; ce n’est pas un script autonome.

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

InjectionScript.Runtime.InjectionApiUO.IsMineTile

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue x, InjectionValue y

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3435.

public int IsMineTile(InjectionValue x, InjectionValue y)

Résultat: int.

Appels:

  • bridge.IsMineTile
  • NumberConversions.ToInt

Code interne de l’implémentation ; ce n’est pas un script autonome.

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

InjectionScript.Runtime.InjectionApiUO.IsMoving

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3889.

public int IsMoving()

Résultat: int.

Appels:

  • bridge.IsMoving

Code interne de l’implémentation ; ce n’est pas un script autonome.

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

InjectionScript.Runtime.InjectionApiUO.MoveOn

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3645.

public void MoveOn()

Résultat: void.

Appels:

  • bridge.EnableMove

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void MoveOn() => bridge.EnableMove(true);

InjectionScript.Runtime.InjectionApiUO.NormalizeLegacyEventHandler

Exécute les appels et les modifications d’état indiqués.

Paramètres: string handler

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6178.

private static string NormalizeLegacyEventHandler(string handler)

Résultat: string.

Conditions:

  • value.StartsWith("exec ", StringComparison.OrdinalIgnoreCase)
  • value.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase)

Appels:

  • (handler ?? string.Empty).Trim
  • value.StartsWith
  • value.Substring(5).Trim
  • value.Substring
  • value.Substring(6).Trim

Code interne de l’implémentation ; ce n’est pas un script autonome.

private static string NormalizeLegacyEventHandler(string handler)

        {

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

            if (value.StartsWith("exec ", StringComparison.OrdinalIgnoreCase))

                value = value.Substring(5).Trim();

            else if (value.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase))

                value = value.Substring(6).Trim();

            return value;

        }

InjectionScript.Runtime.InjectionApiUO.ResolveType

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue type

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4056.

private int ResolveType(InjectionValue type)

Résultat: int.

Conditions:

  • type.Kind == InjectionValueKind.String && state.Types.TryGet(type.String, out int graphic)

Appels:

  • state.Types.TryGet
  • NumberConversions.ToInt

Code interne de l’implémentation ; ce n’est pas un script autonome.

private int ResolveType(InjectionValue type)

        {

            if (type.Kind == InjectionValueKind.String && state.Types.TryGet(type.String, out int graphic))

                return graphic;

            return NumberConversions.ToInt(type);

        }

InjectionScript.Runtime.InjectionApiUO.SelectJournalSearchResult

Exécute les appels et les modifications d’état indiqués.

Paramètres: int result, string pattern, bool ignoreCase

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5596.

private void SelectJournalSearchResult(int result, string pattern, bool ignoreCase)

Résultat: void.

Conditions:

  • selectedJournalEntry != null

Appels:

  • SelectJournalEntry
  • reader.ReadJournalSearchResult
  • ReadJournalSnapshot
  • FindJournalPatternId

Code interne de l’implémentation ; ce n’est pas un script autonome.

private void SelectJournalSearchResult(int result, string pattern, bool ignoreCase)

        {

            SelectJournalEntry(result <= 0 ? null : bridge is IApiJournalReader reader

                ? reader.ReadJournalSearchResult() : ReadJournalSnapshot(result - 1));

            if (selectedJournalEntry != null)

                foundedTextId = FindJournalPatternId(selectedJournalEntry.Text, pattern, false, ignoreCase);

        }

InjectionScript.Runtime.InjectionApiUO.SendGumpSelect

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue serial, InjectionValue gumpId, InjectionValue triggerId, InjectionValue timeout

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3353.

public int SendGumpSelect(InjectionValue serial, InjectionValue gumpId, InjectionValue triggerId, InjectionValue timeout)

Résultat: int.

Appels:

  • bridge.SendGumpSelect
  • NumberConversions.ToInt
  • Math.Max

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int SendGumpSelect(InjectionValue serial, InjectionValue gumpId, InjectionValue triggerId, InjectionValue timeout)

            => bridge.SendGumpSelect(NumberConversions.ToInt(serial), NumberConversions.ToInt(gumpId),

                NumberConversions.ToInt(triggerId), Math.Max(0, NumberConversions.ToInt(timeout)));

InjectionScript.Runtime.InjectionApiUO.SetClassMask

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue[] args

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.ClassMasks.cs:71.

private int SetClassMask(InjectionValue[] args)

Résultat: int.

Conditions:

  • groups.Any(group => group.All(forbidden.Contains))

Appels:

  • ReadClassName
  • required.Array.Any
  • required.Array.Select(v => ReadEquipmentGroup(v, false)).ToArray
  • required.Array.Select
  • ReadEquipmentGroup
  • groups.Any
  • group.All

Code interne de l’implémentation ; ce n’est pas un script autonome.

private int SetClassMask(InjectionValue[] args)
        {
            string name = ReadClassName(args[0]);
            InjectionValue required = args[1];
            HashSet<int>[] groups = required.Kind == InjectionValueKind.Array && required.Array.Any(v => v.Kind == InjectionValueKind.Array)
                ? required.Array.Select(v => ReadEquipmentGroup(v, false)).ToArray()
                : new[] { ReadEquipmentGroup(required, false) };
            HashSet<int> forbidden = args.Length == 3 ? ReadEquipmentGroup(args[2], true) : new HashSet<int>();
            if (groups.Any(group => group.All(forbidden.Contains)))
                throw new StatementFailedException("ClassMask: a required equipment group is entirely forbidden.");
            // Construct fully before replacing; invalid edits preserve the previous rule.
            var rule = new EquipmentClassRule(groups, forbidden);
            lock (classRulesSync) classRules[name] = rule;
            return 1;
        }

InjectionScript.Runtime.InjectionApiUO.SetEquip

Exécute les appels et les modifications d’état indiqués.

Paramètres: name, equipSet, supportedLayers, successMessage

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5633.

`private void SetEquip(string name, RuntimeDictionary equipSet, int[] supportedLayers,

        string successMessage)`

Résultat: void.

Appels: equipSet.Set, GetEquips, SystemMessage.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

private void SetEquip(string name, RuntimeDictionary<EquipSet> equipSet, int[] supportedLayers,

            string successMessage)

        {

            equipSet.Set(name, new EquipSet(GetEquips(supportedLayers)));



            SystemMessage(successMessage);

        }

InjectionScript.Runtime.InjectionApiUO.SetReceivingContainer

Exécute les appels et les modifications d’état indiqués.

Paramètres: int id

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4479.

public void SetReceivingContainer(int id)

Résultat: void.

Conditions:

  • id <= 0

Appels:

  • bridge.UnsetReceivingContainer
  • bridge.SetReceivingContainer

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void SetReceivingContainer(int id)

        {

            if (id <= 0)

                bridge.UnsetReceivingContainer();

            else

                bridge.SetReceivingContainer(id);

        }

InjectionScript.Runtime.InjectionApiUO.TradeCheck

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue windowIndex

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3422.

public int TradeCheck(InjectionValue windowIndex)

Résultat: int.

Appels:

  • bridge.TradeCheck
  • NumberConversions.ToInt

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int TradeCheck(InjectionValue windowIndex)

            => bridge.TradeCheck(NumberConversions.ToInt(windowIndex), 0, 0, false);

InjectionScript.Runtime.InjectionApiUO.TradeContainer

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue windowIndex

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3419.

public string TradeContainer(InjectionValue windowIndex)

Résultat: string.

Appels:

  • NumberConversions.ToHex
  • bridge.TradeContainer
  • NumberConversions.ToInt

Code interne de l’implémentation ; ce n’est pas un script autonome.

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

InjectionScript.Runtime.InjectionApiUO.UseSkill

Exécute les appels et les modifications d’état indiqués.

Paramètres: string skillName

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5871.

public int UseSkill(string skillName)

Résultat: int.

Appels:

  • UseSkillCore

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int UseSkill(string skillName)

        {

            return UseSkillCore(skillName) ? 1 : 0;

        }

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Dir]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1056.

Résultat: bridge.GetDir(bridge.Self).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

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

InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindByNotoriety]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4697.

values

Résultat: values.

Appels: FindFilteredMobileSerial, CombineMask, NumberConversions.ToInt, bridge.GetFindVertical.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),

                        NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))

InjectionScript.Runtime.InjectionApiUO.Register [FindMobile]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:374.

values

Résultat: values.

Appels: FindMobile.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

values => new InjectionValue(

                    FindMobile(values[0], values[1], values[2], values[3], values[4]))

InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindNotoriety]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4640.

values

Résultat: values.

Résultat: new InjectionValue(CompactFindNotoriety(values)).

Appels: CompactFindNotoriety.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

values => new InjectionValue(CompactFindNotoriety(values))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetColdResist]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1044.

Résultat: bridge.ColdResistance.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

() => bridge.ColdResistance

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetInt]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1031.

Résultat: bridge.Intelligence.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

() => bridge.Intelligence

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetParalysed]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1063.

serial

Résultat: serial.

Résultat: bridge.GetLocked(serial).

Appels: bridge.GetLocked.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

serial => bridge.GetLocked(serial)

InjectionScript.Runtime.InjectionApiUO.Register [GetPathArray3D]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:907.

values

Résultat: values.

Résultat: CompactGetPathArray3D(values).

Appels: CompactGetPathArray3D.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

values => CompactGetPathArray3D(values)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetWorldNum]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1052.

Résultat: bridge.WorldNumber.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

() => bridge.WorldNumber

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Name]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1070.

Résultat: bridge.GetName(bridge.Self).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

() => bridge.GetName(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Notoriety]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1057.

Résultat: bridge.GetNotoriety(bridge.Self).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

() => bridge.GetNotoriety(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterClassMaskApi [SetClassMask]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.ClassMasks.cs:29.

args

Résultat: args.

Résultat: new InjectionValue(SetClassMask(args)).

Appels: SetClassMask.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

args => new InjectionValue(SetClassMask(args))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.

value

Résultat: value.

Résultat: getter(GetObject(value)).

Appels: getter, GetObject.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.

Résultat: getter(bridge.Self).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.

value

Résultat: value.

Résultat: getter(GetObject(value)).

Appels: getter, GetObject.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

value => getter(GetObject(value))

InjectionScript.Runtime.NumberConversions.ToInt

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue value

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NumberConversions.cs:19.

public static int ToInt(InjectionValue value)

Résultat: int.

Appels:

  • ToInt

Code interne de l’implémentation ; ce n’est pas un script autonome.

public static int ToInt(InjectionValue value)
        {
            switch (value.Kind)
            {
                case InjectionValueKind.Integer:
                    return value.Integer;
                case InjectionValueKind.String:
                    return ToInt(value.String);
                case InjectionValueKind.Array:
                    return 0;
                case InjectionValueKind.Decimal:
                    // Keep truncation toward zero, but reject NaN, infinities
                    // and overflow before a typed assignment or API call can
                    // store/use a runtime-dependent, silently corrupted value.
                    return checked((int)value.Decimal);
                case InjectionValueKind.Unit:
                    return 0;
                default:
                    throw new InvalidCastException($"Cannot convert {value.Kind} to Integer.");
            }
        }

InjectionScript.Runtime.State.NamedTypes.ValidateName

Exécute les appels et les modifications d’état indiqués.

Paramètres: string name

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedTypes.cs:13.

public static string ValidateName(string name)

Résultat: string.

Conditions:

  • key.Length == 0 || key.Any(char.IsControl) || key.Contains("|") || NumberConversions.TryStr2Int(key, out _) || key.Equals("any", StringComparison.OrdinalIgnoreCase)

Appels:

  • (name ?? string.Empty).Trim
  • key.Any
  • key.Contains
  • NumberConversions.TryStr2Int
  • key.Equals

Code interne de l’implémentation ; ce n’est pas un script autonome.

public static string ValidateName(string name)
        {
            string key = (name ?? string.Empty).Trim();
            if (key.Length == 0 || key.Any(char.IsControl) || key.Contains("|")
                || NumberConversions.TryStr2Int(key, out _) || key.Equals("any", StringComparison.OrdinalIgnoreCase))
                throw new NativeSubrutineException("UO.AddType requires a nonempty name, not a number, 'any', or a | mask.");
            return key;
        }

InjectionScript.Runtime.State.SharedGlobalStore.Get

Exécute les appels et les modifications d’état indiqués.

Paramètres: string name

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/Globals.cs:108.

public string Get(string name)

Résultat: string.

Appels:

  • ArgumentException.ThrowIfNullOrWhiteSpace
  • Snapshot
  • values.TryGetValue

Code interne de l’implémentation ; ce n’est pas un script autonome.

public string Get(string name)

        {

            ArgumentException.ThrowIfNullOrWhiteSpace(name);

            var values = Snapshot();

            return values.TryGetValue(name, out var value) ? value : "N/A";

        }
⚠️ **GitHub.com Fallback** ⚠️