Skip to content

IT Runtime Helpers D

Codex edited this page Oct 12, 2026 · 1 revision

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

Funzioni ausiliarie D

Codice interno di implementazione; non è uno script autonomo.

ClassicUO.CSharp.CSharpCallbacks.Start

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: name, arguments

Origine: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:175.

public bool Start(string name, params string[] arguments)

Risultato: bool.

Risultato: false; true.

Chiamate: Verify, (name ?? "").Trim, routines.TryGetValue, nameof, active.Any, active.Add, arguments.Clone, Task.Run.

Condizioni: !routines.TryGetValue(name, out routine!); active.Any(call => call.Name.Equals(name, StringComparison.OrdinalIgnoreCase)).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public bool Start(string name, params string[] arguments)
    {
        Verify();
        name = (name ?? "").Trim();
        Routine routine;
        Invocation invocation;
        lock (sync)
        {
            Verify();
            if (!routines.TryGetValue(name, out routine!))
                throw new ArgumentException($"Register the C# routine '{name}' in this execution before calling it.", nameof(name));
            // Cancellation requests do not complete arbitrary user awaits or
            // finally blocks. Keep the name reserved until the worker's finally
            // removes its invocation, even though IsRunning already reports 0.
            if (active.Any(call => call.Name.Equals(name, StringComparison.OrdinalIgnoreCase))) return false;
            invocation = new Invocation(name, token);
            active.Add(invocation);
        }
        var values = (string[])arguments.Clone();
        _ = Task.Run(async () =>
        {
            using var context = BindWorker();
            currentInvocation.Value = invocation;
            try
            {
                Verify(); checkpoint(); Verify();
                await routine.Handler(values).ConfigureAwait(false);
                Verify();
            }
            catch (OperationCanceledException) when (token.IsCancellationRequested || invocation.Cancellation.IsCancellationRequested || IsDisposed) { }
            catch (Exception error) { if (!IsDisposed) failures.Enqueue(new(name, error)); }
            finally
            {
                currentInvocation.Value = null;
                lock (sync) active.Remove(invocation);
                invocation.Cancellation.Cancel();
                invocation.Cancellation.Dispose();
            }
        });
        return true;
    }

ClassicUO.Configuration.ProfileManager.UnLoadProfile

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:554.

public static void UnLoadProfile()

Risultato: void.

Chiamate: ClientFontManager.Invalidate.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public static void UnLoadProfile()

        {

            GlobalProfile = null;

            CurrentProfile = null;

            ProfilePath = null;

            CurrentCharacterSerial = 0;

            CurrentServerIdentity = null;

            ClientFontManager.Invalidate();

        }

ClassicUO.Game.Data.StaticFilters.IsRock

Restituisce il valore dell’espressione seguente.

Parametri: g

Origine: Project_Full/src/ClassicUO.Client/Game/Data/StaticFilters.cs:276.

public static bool IsRock(ushort g)

Risultato: bool.

Risultato: true; g >= 6001 && g <= 6012.

Codice interno di implementazione; non è uno script autonomo.

[MethodImpl(MethodImplOptions.AggressiveInlining)]
        public static bool IsRock(ushort g)
        {
            switch (g)
            {
                case 4945:
                case 4948:
                case 4950:
                case 4953:
                case 4955:
                case 4958:
                case 4959:
                case 4960:
                case 4962: return true;

                default: return g >= 6001 && g <= 6012;
            }
        }

ClassicUO.Game.GameActions.NormalizeLocalDisplayFont

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: text, font, unicode

Origine: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:462.

private static void NormalizeLocalDisplayFont(string text, ref byte font, ref bool unicode)

Risultato: void.

Chiamate: ResolveLocalDisplayFont.

Condizioni: fonts == null.

Codice interno di implementazione; non è uno script autonomo.

private static void NormalizeLocalDisplayFont(string text, ref byte font, ref bool unicode)
        {
            var fonts = Client.UO?.FileManager?.Fonts;

            if (fonts == null)
                return;

            byte preferredFont = ProfileManager.CurrentProfile?.ChatFont ?? 0;
            (font, unicode) = ResolveLocalDisplayFont(
                text,
                font,
                unicode,
                preferredFont,
                fonts.UnicodeFontExists,
                fonts.FontCount
            );
        }

ClassicUO.Game.GameActions.RequestProfile

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: serial

Origine: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:724.

public static void RequestProfile(uint serial)

Risultato: void.

Chiamate: Socket.Send_ProfileRequest.

Codice interno di implementazione; non è uno script autonomo.

public static void RequestProfile(uint serial)
        {
            Socket.Send_ProfileRequest(serial);
        }

ClassicUO.Game.GameActions.SendAbility

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: world, idx, primary

Origine: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:918.

private static void SendAbility(World world, byte idx, bool primary)

Risultato: void.

Chiamate: Socket.Send_StunRequest, Socket.Send_DisarmRequest, Socket.Send_UseCombatAbility.

Condizioni: (world.ClientLockedFeatures.Flags & LockedFeatureFlags.AOS) == 0; primary.

Codice interno di implementazione; non è uno script autonomo.

private static void SendAbility(World world, byte idx, bool primary)
        {
            if ((world.ClientLockedFeatures.Flags & LockedFeatureFlags.AOS) == 0)
            {
                if (primary)
                    Socket.Send_StunRequest();
                else
                    Socket.Send_DisarmRequest();
            }
            else
            {
                Socket.Send_UseCombatAbility(world, idx);
            }
        }

ClassicUO.Game.GameObjects.Item.Create

Restituisce il valore dell’espressione seguente.

Parametri: world, serial

Origine: Project_Full/src/ClassicUO.Client/Game/GameObjects/Item.cs:178.

public static Item Create(World world, uint serial)

Risultato: Item.

Risultato: i.

Codice interno di implementazione; non è uno script autonomo.

public static Item Create(World world, uint serial)
        {
            Item i = new Item(world); // _pool.GetOne();
            i.Serial = serial;

            return i;
        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CancelWaitTarget

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1125.

public void CancelWaitTarget()

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void CancelWaitTarget() => Invoke(_manager.ClearPendingTargets);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClearChatUserIgnore

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1961.

public void ClearChatUserIgnore()

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void ClearChatUserIgnore() => Invoke(JournalManager.ClearYokoIgnoredUsers);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClearMapFigures

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2327.

public void ClearMapFigures()

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void ClearMapFigures() => Invoke(WorldMapGump.ClearYokoMapFigures);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientTargetResponse

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:910.

public int[] ClientTargetResponse()

Risultato: int[].

Risultato: _clientTargetResponse.ToArray().

Chiamate: _clientTargetResponse.ToArray.

Codice interno di implementazione; non è uno script autonomo.

public int[] ClientTargetResponse() => _clientTargetResponse.ToArray();

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindQuantity

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2256.

public int FindQuantity()

Risultato: int.

Chiamate: Invoke.

Chiamate:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { Item item = _world.Items.Get(unchecked((uint)_findItem)); if (item != null && !item.IsDestroyed) { return item.Amount; } Mobile mobile = _world.Mobiles.Get(unchecked((uint)_findItem)); return mobile != null && !mobile.IsDestroyed ? 1 : 0; }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { Item item = _world.Items.Get(unchecked((uint)_findItem)); if (item != null && !item.IsDestroyed) { return item.Amount; } Mobile mobile = _world.Mobiles.Get(unchecked((uint)_findItem)); return mobile != null && !mobile.IsDestroyed ? 1 : 0; }). Candidati di overload: l’origine non conferma il candidato selezionato.

Codice interno di implementazione; non è uno script autonomo.

public int FindQuantity() => Invoke(() =>

        {

            Item item = _world.Items.Get(unchecked((uint)_findItem));

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

            {

                return item.Amount;

            }



            Mobile mobile = _world.Mobiles.Get(unchecked((uint)_findItem));

            return mobile != null && !mobile.IsDestroyed ? 1 : 0;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetClilocById

Restituisce il valore dell’espressione seguente.

Parametri: clilocId, parameters

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2463.

public string GetClilocById(int clilocId, string[] parameters)

Risultato: string.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public string GetClilocById(int clilocId, string[] parameters) => Invoke(() =>

            Client.UO.FileManager?.Clilocs?.Translate(clilocId, string.Join("\t", parameters ?? Array.Empty<string>()))

            ?? string.Empty);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetIntelligence

Restituisce il valore dell’espressione seguente.

Parametri: id

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:231.

public int GetIntelligence(int id)

Risultato: int.

Risultato: Invoke(() => _world.Player is { IsDestroyed: false } player && player.Serial == unchecked((uint)id) ? player.Intelligence : 0).

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int GetIntelligence(int id) => Invoke(() => _world.Player is { IsDestroyed: false } player && player.Serial == unchecked((uint)id) ? player.Intelligence : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLastMenuCaption

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:675.

public string GetLastMenuCaption()

Risultato: string.

Risultato: Invoke(() => _world.ServerMenus.Snapshot().LastOrDefault()?.YokoCaption ?? string.Empty).

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public string GetLastMenuCaption() => Invoke(() => _world.ServerMenus.Snapshot().LastOrDefault()?.YokoCaption ?? string.Empty);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMaxHP

Restituisce il valore dell’espressione seguente.

Parametri: id

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:229.

public int GetMaxHP(int id)

Risultato: int.

Risultato: WithEntity(id, e => e.HitsMax).

Chiamate: WithEntity.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int GetMaxHP(int id) => WithEntity(id, e => e.HitsMax);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMobiles

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2272.

public int[] GetMobiles()

Risultato: int[].

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int[] GetMobiles() => Invoke(() => _world.Mobiles.Values

            .Where(mobile => !mobile.IsDestroyed)

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMultiPartsAtPosition

Restituisce il valore dell’espressione seguente.

Parametri: x, y

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2350.

public int[][] GetMultiPartsAtPosition(int x, int y)

Risultato: int[][].

Chiamate: Invoke.

Chiamate:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => _world.HouseManager.Houses .SelectMany(house => house.GetMultiAt(x, y) .Where(component => component != null && !component.IsDestroyed) .Select(component => new[] { (int)component.Graphic, (int)component.Hue, (int)component.X, (int)component.Y, (int)component.Z, component.MultiOffsetX, component.MultiOffsetY, component.MultiOffsetZ, unchecked((int)house.Serial) })) .ToArray()). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => _world.HouseManager.Houses .SelectMany(house => house.GetMultiAt(x, y) .Where(component => component != null && !component.IsDestroyed) .Select(component => new[] { (int)component.Graphic, (int)component.Hue, (int)component.X, (int)component.Y, (int)component.Z, component.MultiOffsetX, component.MultiOffsetY, component.MultiOffsetZ, unchecked((int)house.Serial) })) .ToArray()). Candidati di overload: l’origine non conferma il candidato selezionato.

Codice interno di implementazione; non è uno script autonomo.

public int[][] GetMultiPartsAtPosition(int x, int y) => Invoke(() =>

            _world.HouseManager.Houses

                .SelectMany(house => house.GetMultiAt(x, y)

                    .Where(component => component != null && !component.IsDestroyed)

                    .Select(component => new[]

                    {

                        (int)component.Graphic,

                        (int)component.Hue,

                        (int)component.X,

                        (int)component.Y,

                        (int)component.Z,

                        component.MultiOffsetX,

                        component.MultiOffsetY,

                        component.MultiOffsetZ,

                        unchecked((int)house.Serial)

                    }))

                .ToArray());

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetScriptsCount

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:312.

public int GetScriptsCount()

Risultato: int.

Risultato: _manager.GetScriptsCount().

Chiamate: _manager.GetScriptsCount.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int GetScriptsCount() => _manager.GetScriptsCount();

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetStaticTiles

Restituisce il valore dell’espressione seguente.

Parametri: x, y, map

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3310.

public int[] GetStaticTiles(int x, int y, int map)

Risultato: int[].

Chiamate: Invoke.

Chiamate:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map == null || map != _world.MapIndex) { Error($"UO.GetStaticTiles: 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 is Static or Multi or Item) { result.Add(tile.Graphic); result.Add(tile.Z); result.Add(tile.Hue); } } return result.ToArray(); }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map == null || map != _world.MapIndex) { Error($"UO.GetStaticTiles: 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 is Static or Multi or Item) { result.Add(tile.Graphic); result.Add(tile.Z); result.Add(tile.Hue); } } return result.ToArray(); }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error: Error($"UO.GetStaticTiles: map {map} is not the currently loaded map {_world.MapIndex}").

Codice interno di implementazione; non è uno script autonomo.

public int[] GetStaticTiles(int x, int y, int map) => Invoke(() =>

        {

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

            {

                Error($"UO.GetStaticTiles: 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 is Static or Multi or Item)

                {

                    result.Add(tile.Graphic);

                    result.Add(tile.Z);

                    result.Add(tile.Hue);

                }

            }

            return result.ToArray();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetStatus

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: id

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:812.

public void GetStatus(int id)

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void GetStatus(int id)

        {

            Invoke(() => GameActions.RequestMobileStatus(_world, (uint)id, true));

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTileDataProperties

Restituisce il valore dell’espressione seguente.

Parametri: group, tileId

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3525.

public int[] GetTileDataProperties(int group, int tileId)

Risultato: int[].

Chiamate: Invoke.

Chiamate:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (group == 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.LandData.Length) { ref LandTiles data = ref Client.UO.FileManager.TileData.LandData[tileId]; return new[] { (int)data.TexID, data.IsWet ? 1 : 0, data.IsImpassable ? 1 : 0, data.IsNoDiagonal ? 1 : 0 }; } if (group != 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.StaticData.Length) { ref StaticTiles data = ref Client.UO.FileManager.TileData.StaticData[tileId]; return new[] { (int)data.Weight, (int)data.Layer, data.Count, (int)data.AnimID, (int)data.Hue, (int)data.LightIndex, (int)data.Height, data.IsWet ? 1 : 0, data.IsImpassable ? 1 : 0, data.IsSurface ? 1 : 0, data.IsFoliage ? 1 : 0, data.IsDoor ? 1 : 0, data.IsWall ? 1 : 0, data.IsContainer ? 1 : 0 }; } return Array.Empty<int>(); }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (group == 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.LandData.Length) { ref LandTiles data = ref Client.UO.FileManager.TileData.LandData[tileId]; return new[] { (int)data.TexID, data.IsWet ? 1 : 0, data.IsImpassable ? 1 : 0, data.IsNoDiagonal ? 1 : 0 }; } if (group != 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.StaticData.Length) { ref StaticTiles data = ref Client.UO.FileManager.TileData.StaticData[tileId]; return new[] { (int)data.Weight, (int)data.Layer, data.Count, (int)data.AnimID, (int)data.Hue, (int)data.LightIndex, (int)data.Height, data.IsWet ? 1 : 0, data.IsImpassable ? 1 : 0, data.IsSurface ? 1 : 0, data.IsFoliage ? 1 : 0, data.IsDoor ? 1 : 0, data.IsWall ? 1 : 0, data.IsContainer ? 1 : 0 }; } return Array.Empty<int>(); }). Candidati di overload: l’origine non conferma il candidato selezionato.

Codice interno di implementazione; non è uno script autonomo.

public int[] GetTileDataProperties(int group, int tileId) => Invoke(() =>

        {

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

            {

                ref LandTiles data = ref Client.UO.FileManager.TileData.LandData[tileId];

                return new[] { (int)data.TexID, data.IsWet ? 1 : 0, data.IsImpassable ? 1 : 0, data.IsNoDiagonal ? 1 : 0 };

            }

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

            {

                ref StaticTiles data = ref Client.UO.FileManager.TileData.StaticData[tileId];

                return new[]

                {

                    (int)data.Weight, (int)data.Layer, data.Count, (int)data.AnimID, (int)data.Hue, (int)data.LightIndex,

                    (int)data.Height, data.IsWet ? 1 : 0, data.IsImpassable ? 1 : 0, data.IsSurface ? 1 : 0,

                    data.IsFoliage ? 1 : 0, data.IsDoor ? 1 : 0, data.IsWall ? 1 : 0, data.IsContainer ? 1 : 0

                };

            }

            return Array.Empty<int>();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTitle

Restituisce il valore dell’espressione seguente.

Parametri: id

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:238.

public string GetTitle(int id)

Risultato: string.

Risultato: Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.Title ?? string.Empty).

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public string GetTitle(int id) => Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.Title ?? string.Empty);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.HideLocally

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: entity

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1658.

private static void HideLocally(Entity entity)

Risultato: void.

Chiamate: ReferenceEquals, UIManager.GetGump<PaperDollGump>, .RequestUpdateContents.

Condizioni: ReferenceEquals(SelectedObject.Object, entity); entity is Item item.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private static void HideLocally(Entity entity)

        {

            entity.IsLocallyHiddenByScript = true;

            entity.AllowedToDraw = false;

            if (ReferenceEquals(SelectedObject.Object, entity)) SelectedObject.Object = null;

            // Rebuild coverage as well: a hidden robe must expose the shirt below.

            if (entity is Item item)

                UIManager.GetGump<PaperDollGump>(item.Container)?.RequestUpdateContents();

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalColor

Restituisce il valore dell’espressione seguente.

Parametri: index

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1968.

public string JournalColor(int index)

Risultato: string.

Risultato: GetJournalEntry(index) is JournalEntry entry ? $"0x{entry.Hue:X4}" : "0x0000".

Chiamate: GetJournalEntry.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public string JournalColor(int index) => GetJournalEntry(index) is JournalEntry entry ? $"0x{entry.Hue:X4}" : "0x0000";

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalSerial

Restituisce il valore dell’espressione seguente.

Parametri: index

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1965.

public string JournalSerial(int index)

Risultato: string.

Risultato: GetJournalEntry(index) is JournalEntry entry ? $"0x{entry.Serial:X8}" : "0x00000000".

Chiamate: GetJournalEntry.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public string JournalSerial(int index) => GetJournalEntry(index) is JournalEntry entry ? $"0x{entry.Serial:X8}" : "0x00000000";

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ObjAtLayer

Restituisce il valore dell’espressione seguente.

Parametri: layer

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2052.

public int ObjAtLayer(int layer)

Risultato: int.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int ObjAtLayer(int layer) => Invoke(() =>

            layer > (int)Layer.Invalid && layer <= (int)Layer.Bank

                ? (int)(_world.Player?.FindItemByLayer((Layer)layer)?.Serial ?? 0)

                : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.OpenDoor

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1412.

public void OpenDoor()

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void OpenDoor() => Invoke(GameActions.OpenDoor);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.QuestRequest

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1442.

public void QuestRequest()

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void QuestRequest() => Invoke(() => GameActions.RequestQuestMenu(_world));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestContextMenu

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: id

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:700.

public void RequestContextMenu(int id)

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void RequestContextMenu(int id) => Invoke(() => GameActions.OpenPopupMenu((uint)id));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestInteractiveObjectInfoTarget

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:922.

public int RequestInteractiveObjectInfoTarget()

Risultato: int.

Risultato: 0.

Chiamate: Invoke.

Condizioni: !_interactiveCommands.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int RequestInteractiveObjectInfoTarget()

        {

            if (!_interactiveCommands)

                return 0;



            return Invoke(() =>

            {

                _world.TargetManager.SetTargeting(selected =>

                {

                    bool valid = selected is Entity;

                    string result = valid

                        ? FormatObjectInfo((Entity)selected)

                        : "UO.Info: select an item or mobile; the selected target is not an object.";

                    if (valid)

                        OpenInteractiveInfoGump("C# Object Information", result);

                    PrintInteractiveResult(result);

                }, 0, TargetType.Neutral);

                PrintInteractiveResult("UO.Info: target an item or mobile.");

                return 1;

            });

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResetFindResults

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3753.

private void ResetFindResults()

Risultato: void.

Chiamate: _foundItems.Clear.

Codice interno di implementazione; non è uno script autonomo.

private void ResetFindResults()

        {

            _findItem = 0;

            _findCount = 0;

            _findFullQuantity = 0;

            _foundItems.Clear();

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Resync

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1667.

public void Resync()

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void Resync() => Invoke(() => NetClient.Socket.Send_Resync());

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SelectObject

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:747.

private GameObject SelectObject()

Risultato: GameObject.

Risultato: selected.Task.GetAwaiter().GetResult().

Chiamate: Invoke, selected.Task.Wait, selected.TrySetResult, _cancellationToken.ThrowIfCancellationRequested, selected.Task.GetAwaiter().GetResult, selected.Task.GetAwaiter, _manager.ReleaseObjectSelection.

Condizioni: !Invoke(() => _world.TargetManager.IsCallbackTarget(callback)).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private GameObject SelectObject()

        {

            var selected = new TaskCompletionSource<GameObject>(TaskCreationOptions.RunContinuationsAsynchronously);

            Action<GameObject> callback = obj => selected.TrySetResult(obj);

            try

            {

                Invoke(() => _world.TargetManager.SetTargeting(callback, 0, TargetType.Neutral));

                while (!selected.Task.Wait(50, _cancellationToken))

                {

                    // Another script or a server target may replace this cursor.

                    if (!Invoke(() => _world.TargetManager.IsCallbackTarget(callback)))

                        selected.TrySetResult(null);

                }

                _cancellationToken.ThrowIfCancellationRequested();

                return selected.Task.GetAwaiter().GetResult();

            }

            finally

            {

                // Do not wait for the game thread during emergency cancellation.

                // Ownership prevents this cleanup from clearing a newer cursor.

                _manager.ReleaseObjectSelection(callback);

            }



        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoSellRule

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: type, color, quantity

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3580.

public void SetAutoSellRule(int type, int color, int quantity)

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void SetAutoSellRule(int type, int color, int quantity) =>

            Invoke(() => SetAutoShopRule(ProfileManager.CurrentProfile?.BackNewbieAutoSellRules, false, type, color, quantity, 0, string.Empty));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetReceivingContainer

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: id

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1133.

public void SetReceivingContainer(int id)

Risultato: void.

Codice interno di implementazione; non è uno script autonomo.

public void SetReceivingContainer(int id) => State.ReceivingContainer = id;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseSkill

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: skillId

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2065.

public int UseSkill(int skillId)

Risultato: int.

Risultato: 0; 1.

Chiamate: IsOnline, Invoke.

Condizioni: skillId <= 0 || IsOnline() == 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int UseSkill(int skillId)

        {

            if (skillId <= 0 || IsOnline() == 0)

                return 0;

            Invoke(() => GameActions.UseSkill(skillId - 1));

            return 1;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitGumpSelect

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: triggerId, timeoutMs

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2737.

public int WaitGumpSelect(int triggerId, int timeoutMs)

Risultato: int.

Risultato: 1; 0.

Chiamate: Invoke, DateTime.UtcNow.AddMilliseconds, Math.Max, Wait, Error.

Condizioni: sent != 0; DateTime.UtcNow >= timeout.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int WaitGumpSelect(int triggerId, int timeoutMs)

        {

            HashSet<Gump> existing = Invoke(() => ServerGumpsUnsafe().ToHashSet());

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

            do

            {

                int sent = Invoke(() => SendGumpButtonUnsafe(ServerGumpsUnsafe().FirstOrDefault(g => !existing.Contains(g)), triggerId, string.Empty));

                if (sent != 0)

                    return 1;

                if (DateTime.UtcNow >= timeout)

                    break;

                Wait(50);

            }

            while (true);

            Error($"UO.WaitGump: timeout waiting to select button {triggerId}");

            return 0;

        }

ClassicUO.Game.Managers.UIManager.GetGump

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: serial

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/UIManager.cs:307.

public static Gump GetGump(uint serial)

Risultato: Gump.

Risultato: c as Gump; null.

Condizioni: !c.IsDisposed && c.LocalSerial == serial.

Codice interno di implementazione; non è uno script autonomo.

public static Gump GetGump(uint serial)
        {
            for (LinkedListNode<Gump> last = Gumps.Last; last != null; last = last.Previous)
            {
                Control c = last.Value;

                if (!c.IsDisposed && c.LocalSerial == serial)
                {
                    return c as Gump;
                }
            }

            return null;
        }

ClassicUO.Game.Managers.YokoInjectionManager.ApplyDisconnectPauseState

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: paused

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:891.

private void ApplyDisconnectPauseState(bool paused)

Risultato: void.

Chiamate: Interlocked.Exchange, script.SetDisconnectPause, MarkRuntimeStateChanged.

Condizioni: Interlocked.Exchange(ref _appliedDisconnectPause, desired) == desired; changedRunningState.

Codice interno di implementazione; non è uno script autonomo.

private void ApplyDisconnectPauseState(bool paused)
        {
            int desired = paused ? 1 : 0;
            if (Interlocked.Exchange(ref _appliedDisconnectPause, desired) == desired)
                return;

            bool changedRunningState = false;
            foreach (YokoRunningScript script in _running.Values)
            {
                script.SetDisconnectPause(paused);
                changedRunningState = true;
            }

            if (changedRunningState)
                MarkRuntimeStateChanged();
        }

ClassicUO.Game.Managers.YokoInjectionManager.CancelNextServerTarget

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: owner

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3311.

internal void CancelNextServerTarget(CancellationToken owner)

Risultato: void.

Chiamate: owner.ThrowIfCancellationRequested, _pendingTargets.TryDequeue, HasServerTargetCursor, _world.TargetManager.CancelTarget, _pendingTargets.Enqueue.

Condizioni: HasServerTargetCursor().

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

internal void CancelNextServerTarget(CancellationToken owner)
        {
            lock (_pendingTargetLock)
            {
                owner.ThrowIfCancellationRequested();
                while (_pendingTargets.TryDequeue(out _)) { }
                if (HasServerTargetCursor()) _world.TargetManager.CancelTarget();
                else _pendingTargets.Enqueue(new PendingTarget(0, owner, cancel: true));
            }
        }

ClassicUO.Game.Managers.YokoInjectionManager.FindProcedure

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: key

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3871.

internal YokoProcedureInfo FindProcedure(string key)

Risultato: YokoProcedureInfo.

Risultato: null; indexed; exact; byName.Length == 1 ? byName[0] : null.

Chiamate: string.IsNullOrWhiteSpace, key.Trim, lookup.StartsWith, lookup.Substring(5).Trim, lookup.Substring, lookup.EndsWith, lookup.Substring(0, lookup.Length - 2).Trim, lookup.IndexOf.

Condizioni: string.IsNullOrWhiteSpace(key); lookup.StartsWith("exec ", StringComparison.OrdinalIgnoreCase); lookup.EndsWith("()", StringComparison.Ordinal); subIndex >= 0.

Codice interno di implementazione; non è uno script autonomo.

internal YokoProcedureInfo FindProcedure(string key)
        {
            if (string.IsNullOrWhiteSpace(key))
            {
                return null;
            }

            string lookup = key.Trim();
            if (lookup.StartsWith("exec ", StringComparison.OrdinalIgnoreCase))
            {
// …
            if (lookup.EndsWith("()", StringComparison.Ordinal))
// …
            if (subIndex >= 0)
// …
                if (nameEnd > nameStart)
// …
                if (_proceduresByKey.TryGetValue(lookup, out YokoProcedureInfo indexed))
                    return indexed;
// …
                if (exact != null)
// …
                    return exact;
// …
                if (byName.Length != 0) return byName.Length == 1 ? byName[0] : null;
// …
            if (TryGetSelectedAutoloadActionProcedures(RequestedAutoloadPath(), out var selected))
// …
                if (exact != null) return exact;
// …
                return byName.Length == 1 ? byName[0] : null;
// …
            return null;
// …

Il file di origine contiene il codice completo; seguono estratti esatti.

ClassicUO.Game.Managers.YokoInjectionManager.MatchesProcedureSelector

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: selector, key, name

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/YokoExecutionControl.cs:93.

private static bool MatchesProcedureSelector(string selector, string key, string name = null)

Risultato: bool.

Risultato: true; false; string.Equals(selector, declaredName, StringComparison.OrdinalIgnoreCase).

Chiamate: string.Equals, string.IsNullOrEmpty, selector.Contains, key.LastIndexOf, key.Substring, declaredName.LastIndexOf, declaredName.Substring.

Condizioni: string.Equals(selector, key, StringComparison.OrdinalIgnoreCase) || string.Equals(selector, name, StringComparison.OrdinalIgnoreCase); string.IsNullOrEmpty(key) || selector.Contains("::", StringComparison.Ordinal); split < 0; occurrence > 0.

Codice interno di implementazione; non è uno script autonomo.

private static bool MatchesProcedureSelector(string selector, string key, string name = null)
        {
            if (string.Equals(selector, key, StringComparison.OrdinalIgnoreCase)
                || string.Equals(selector, name, StringComparison.OrdinalIgnoreCase))
                return true;
            if (string.IsNullOrEmpty(key) || selector.Contains("::", StringComparison.Ordinal))
                return false;
            int split = key.LastIndexOf("::", StringComparison.Ordinal);
            if (split < 0)
                return false;
            string declaredName = key.Substring(split + 2);
            int occurrence = declaredName.LastIndexOf('#');
            if (occurrence > 0)
                declaredName = declaredName.Substring(0, occurrence);
            return string.Equals(selector, declaredName, StringComparison.OrdinalIgnoreCase);
        }

ClassicUO.Game.Managers.YokoInjectionManager.PrepareForReconnect

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:767.

internal void PrepareForReconnect()

Risultato: void.

Chiamate: ApplyDisconnectPauseState.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

internal void PrepareForReconnect()
        {
            bool pause = PauseScriptsOnDisconnect;
            _pauseScriptsOnDisconnect = pause;
            // Disconnect is deferred until World.Update returns. Keep the gate
            // closed during that frame, while World.InGame is still true.
            _disconnectTransitionPending = true;
            ApplyDisconnectPauseState(pause);
        }

InjectionScript.Runtime.InjectionApi.Wait

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: milliseconds

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:55.

public void Wait(int milliseconds)

Risultato: void.

Chiamate: nameof, .Invoke, timerWait, bridge.Wait, Thread.Sleep.

Condizioni: milliseconds<0; timerWait!=null; bridge!=null.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void Wait(int milliseconds)
        {
            if(milliseconds<0)throw new ArgumentOutOfRangeException(nameof(milliseconds));
            checkpoint?.Invoke();
            if(timerWait!=null)timerWait(milliseconds);else if(bridge!=null)bridge.Wait(milliseconds);else Thread.Sleep(milliseconds);
            checkpoint?.Invoke();
        }

InjectionScript.Runtime.InjectionApiUO.Attack

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: id

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3924.

public void Attack(string id)

Risultato: void.

Chiamate: Attack, GetObject.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void Attack(string id) => Attack(GetObject(id));

InjectionScript.Runtime.InjectionApiUO.CaptureLegacyEventSnapshot

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: subscription

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6070.

private void CaptureLegacyEventSnapshot(LegacyEventSubscription subscription)

Risultato: void.

Chiamate: bridge.GetHP, bridge.Dead, subscription.KnownMobiles.Clear, bridge.GetMobiles, Array.Empty<int>, subscription.KnownMobiles.Add.

Condizioni: serial != 0 && serial != bridge.Self.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private void CaptureLegacyEventSnapshot(LegacyEventSubscription subscription)

        {

            subscription.LastHp = bridge.GetHP(bridge.Self);

            subscription.LastMana = bridge.Mana;

            subscription.LastStamina = bridge.Stamina;

            subscription.LastDead = bridge.Dead();

            subscription.KnownMobiles.Clear();

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

                if (serial != 0 && serial != bridge.Self)

                    subscription.KnownMobiles.Add(serial);

        }

InjectionScript.Runtime.InjectionApiUO.CircleTrans

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: enabled

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3785.

public void CircleTrans(int enabled)

Risultato: void.

Chiamate: bridge.CircleTrans.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void CircleTrans(int enabled) => bridge.CircleTrans(enabled);

InjectionScript.Runtime.InjectionApiUO.CompactFindList::AddEntry

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: typeValue, colorValue

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3411.

void AddEntry(InjectionValue typeValue, InjectionValue colorValue)

Risultato: void.

Chiamate: types.Add, ResolveType, colors.Add, NumberConversions.ToInt.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

void AddEntry(InjectionValue typeValue, InjectionValue colorValue)

            {

                types.Add(ResolveType(typeValue));

                colors.Add(NumberConversions.ToInt(colorValue));

            }

InjectionScript.Runtime.InjectionApiUO.CompactFindType

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: typeValue, colorValue, containerValue, distanceValue, notorietyValue, nearestValue

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4739.

`private InjectionValue CompactFindType(InjectionValue typeValue, InjectionValue colorValue,

        InjectionValue containerValue, InjectionValue distanceValue, InjectionValue notorietyValue,

        InjectionValue nearestValue)`

Risultato: InjectionValue.

Risultato: serial == 0 ? new InjectionValue(string.Empty) : new InjectionValue(NumberConversions.ToHex(serial)); fallback == 0 ? new InjectionValue(string.Empty) : new InjectionValue(NumberConversions.ToHex(fallback)).

Chiamate: ResolveType, NumberConversions.ToInt, ConvertContainer, ResolveCompactDistance, ToBoolean, ParseIntMask, FindFilteredMobileSerial, bridge.GetFindVertical.

Condizioni: container <= 1 || hasNotorietyFilter; serial != 0 || hasNotorietyFilter.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private InjectionValue CompactFindType(InjectionValue typeValue, InjectionValue colorValue,

            InjectionValue containerValue, InjectionValue distanceValue, InjectionValue notorietyValue,

            InjectionValue nearestValue)

        {

            int type = ResolveType(typeValue);

            int color = NumberConversions.ToInt(colorValue);

            int container = ConvertContainer(containerValue);

            int distance = ResolveCompactDistance(distanceValue);

            bool nearest = ToBoolean(nearestValue);



            // Notoriety only exists on Mobile.  Extended FindType therefore scans

            // World.Mobiles when a notoriety filter is supplied (or when the type

            // itself resolves to a mobile body on the ground/default world scope).

            HashSet<int> notorieties = ParseIntMask(notorietyValue);

            bool hasNotorietyFilter = notorieties.Count > 0;

            if (container <= 1 || hasNotorietyFilter)

            {

                int serial = FindFilteredMobileSerial(type, notorietyValue, distance, nearest,

                    bridge.GetFindVertical(), color, false);

                if (serial != 0 || hasNotorietyFilter)

                    return serial == 0 ? new InjectionValue(string.Empty) : new InjectionValue(NumberConversions.ToHex(serial));

            }



            // Preserve legacy item/container behavior when no mobile matched.

            int fallback = bridge.FindType(type, color, container, distance, false);

            return fallback == 0 ? new InjectionValue(string.Empty) : new InjectionValue(NumberConversions.ToHex(fallback));

        }

InjectionScript.Runtime.InjectionApiUO.EquipmentClassRule.Matches

Restituisce il valore dell’espressione seguente.

Parametri: worn

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.ClassMasks.cs:20.

internal bool Matches(HashSet<int> worn)

Risultato: bool.

Risultato: worn.Count > 0 && !Forbidden.Overlaps(worn) && Required.All(group => group.Overlaps(worn)).

Chiamate: Forbidden.Overlaps, Required.All.

Codice interno di implementazione; non è uno script autonomo.

internal bool Matches(HashSet<int> worn)
                => worn.Count > 0 && !Forbidden.Overlaps(worn) && Required.All(group => group.Overlaps(worn));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1662.

Risultato: CastAtTarget(arguments[0], arguments[1]) != 0 ? InjectionValue.True : InjectionValue.False; InjectionValue.True; InjectionValue.False.

Condizioni: arguments[0].Kind == InjectionValueKind.String; castAccepted != 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "casttoobject":

                    if (arguments[0].Kind == InjectionValueKind.String)

                        return CastAtTarget(arguments[0], arguments[1]) != 0 ? InjectionValue.True : InjectionValue.False;



                    WaitTargetObject(Arg(1));

                    int castAccepted = bridge.Cast(Arg(0));

                    if (castAccepted != 0)

                    {

                        ticksSpell = Timer();

                        return InjectionValue.True;

                    }



                    bridge.CancelTarget();

                    return InjectionValue.False;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1644.

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "clientrequesttiletarget": bridge.RequestClientTarget(true); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1547.

Risultato: InjectionValue.Unit; new InjectionValue(bridge.GetDropDelay()).

Condizioni: arguments.Length > 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "dropdelay":

                    if (arguments.Length > 0) { bridge.SetDropDelay(Arg(0)); return InjectionValue.Unit; }

                    return new InjectionValue(bridge.GetDropDelay());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1637.

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "equiplastweapon": bridge.EquipLastWeapon(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1261.

Risultato: new InjectionValue(arguments[0].Kind == InjectionValueKind.String ? Equip(Text(0), Arg(1)) : bridge.Equip(Arg(0), Arg(1))).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "equip":

                    return new InjectionValue(arguments[0].Kind == InjectionValueKind.String ? Equip(Text(0), Arg(1)) : bridge.Equip(Arg(0), Arg(1)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1575.

Risultato: new InjectionValue(bridge.GetDir(Arg(0))).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "getdirection": return new InjectionValue(bridge.GetDir(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1592.

Risultato: StringArray(bridge.GetLastMenuItems()).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "getlastmenuitems": return StringArray(bridge.GetLastMenuItems());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1342.

Risultato: new InjectionValue(state.RunUnmountTimer).

Codice interno di implementazione; non è uno script autonomo.

case "getrununmounttimer": return new InjectionValue(state.RunUnmountTimer);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1459.

Risultato: new InjectionValue(bridge.GetSurfaceZ(Arg(0), Arg(1), Arg(2))).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "getsurfacez":

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2036.

Risultato: new InjectionValue(bridge.JournalEntryCount() == 0 ? -1 : bridge.JournalEntryCount() - 1).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "highjournal": return new InjectionValue(bridge.JournalEntryCount() == 0 ? -1 : bridge.JournalEntryCount() - 1);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1375.

Risultato: new InjectionValue(bridge.Mana).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "mana": return new InjectionValue(bridge.Mana);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1588.

Risultato: new InjectionValue(bridge.MenuPresent()).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "menupresent": return new InjectionValue(bridge.MenuPresent());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1584.

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "setstatlockstate":

                case "setstatstate": bridge.SetStatLockState(Arg(0), Arg(1)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1527.

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "stopscript": bridge.StopScript(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1311.

Risultato: new InjectionValue((bridge as IProxyMetadataBridge)?.UsesProxy == true ? 1 : 0).

Codice interno di implementazione; non è uno script autonomo.

case "useproxy": return new InjectionValue((bridge as IProxyMetadataBridge)?.UsesProxy == true ? 1 : 0);

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text

Restituisce il valore dell’espressione seguente.

Parametri: index

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2825.

string Text(int index)

Risultato: string.

Risultato: index < arguments.Length ? arguments[index].ToString() : string.Empty.

Chiamate: arguments[index].ToString.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2946.

Condizioni: arguments.Length > 1; arguments.Length > 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "easyobject":

                    if (arguments.Length > 1) state.Objects.Set(Text(0), Arg(1));

                    else if (arguments.Length > 0) state.Objects.Set(Text(0), bridge.GetLastObject());

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2954.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "filterweather": state.WeatherFilter = arguments.Length == 0 || Arg(0) != 0 ? 1 : 0; bridge.SetWeatherFilter(state.WeatherFilter); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2950.

Condizioni: arguments.Length > 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "forget": if (arguments.Length > 0) state.Objects.Remove(Text(0)); break;

InjectionScript.Runtime.InjectionApiUO.FindMobile

Restituisce il valore dell’espressione seguente.

Parametri: stateFilter

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3657.

public int FindMobile(InjectionValue stateFilter)

Risultato: int.

Chiamate: FindMobile.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int FindMobile(InjectionValue stateFilter) => FindMobile(stateFilter, new InjectionValue("all"),

            new InjectionValue("all"), new InjectionValue("all"));

InjectionScript.Runtime.InjectionApiUO.GListSize

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3283.

public int GListSize()

Risultato: int.

Risultato: globalList.Count.

Codice interno di implementazione; non è uno script autonomo.

public int GListSize() => globalList.Count;

InjectionScript.Runtime.InjectionApiUO.GetPing

Restituisce il valore dell’espressione seguente.

Parametri: timeout

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3745.

public int GetPing(InjectionValue timeout)

Risultato: int.

Risultato: bridge.GetPing(Math.Max(0, NumberConversions.ToInt(timeout))).

Chiamate: bridge.GetPing, Math.Max, NumberConversions.ToInt.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int GetPing(InjectionValue timeout) => bridge.GetPing(Math.Max(0, NumberConversions.ToInt(timeout)));

InjectionScript.Runtime.InjectionApiUO.GetQuantity

Restituisce il valore dell’espressione seguente.

Parametri: id

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3737.

public int GetQuantity(int id)

Risultato: int.

Risultato: bridge.GetQuantity(id).

Chiamate: bridge.GetQuantity.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.GetX

Restituisce il valore dell’espressione seguente.

Parametri: id

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3561.

public int GetX(int id)

Risultato: int.

Risultato: bridge.GetX(id).

Chiamate: bridge.GetX.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.GumpExists

Restituisce il valore dell’espressione seguente.

Parametri: id

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3228.

public int GumpExists(InjectionValue id)

Risultato: int.

Risultato: bridge.GumpExists(NumberConversions.ToInt(id), -1).

Chiamate: bridge.GumpExists, NumberConversions.ToInt.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int GumpExists(InjectionValue id) => bridge.GumpExists(NumberConversions.ToInt(id), -1);

InjectionScript.Runtime.InjectionApiUO.InJournalBetweenTimes

Restituisce il valore dell’espressione seguente.

Parametri: pattern, startTime, endTime, limit

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5382.

public int InJournalBetweenTimes(string pattern, int startTime, int endTime, int limit)

Risultato: int.

Chiamate: InJournalBetweenTimesCore, Math.Max.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int InJournalBetweenTimes(string pattern, int startTime, int endTime, int limit)

            => InJournalBetweenTimesCore(pattern, startTime, endTime,

                limit == -1 ? -1 : Math.Max(0, limit), ignoreCase: limit == -1);

InjectionScript.Runtime.InjectionApiUO.JournalEntryTime

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: timestamp

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5515.

private int JournalEntryTime(double timestamp)

Risultato: int.

Risultato: -1; 0; milliseconds >= int.MaxValue ? int.MaxValue : (int)milliseconds.

Chiamate: DateTime.FromOADate.

Condizioni: timestamp <= 0d; milliseconds <= 0d.

Codice interno di implementazione; non è uno script autonomo.

private int JournalEntryTime(double timestamp)

        {

            if (timestamp <= 0d)

                return -1;



            try

            {

                double milliseconds = (DateTime.FromOADate(timestamp) - runtimeStartTime).TotalMilliseconds;

                if (milliseconds <= 0d)

                    return 0;

                return milliseconds >= int.MaxValue ? int.MaxValue : (int)milliseconds;

            }

            catch (ArgumentException)

            {

                return -1;

            }

        }

InjectionScript.Runtime.InjectionApiUO.QueueGumpControl

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: kind, id, value

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3123.

private void QueueGumpControl(string kind, int id, string value)

Risultato: void.

Chiamate: automation.QueueGumpControl, bridge.SetGumpValue.

Condizioni: bridge is IApiGumpAutomation automation.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private void QueueGumpControl(string kind, int id, string value)

        {

            if (bridge is IApiGumpAutomation automation) automation.QueueGumpControl(kind, id, value);

            else bridge.SetGumpValue(-1, kind, id, value);

        }

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases::IsDeadState

Queste funzioni registrano l’API. Non vengono eseguite di nuovo a ogni chiamata del comando.

Parametri: serial

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1017.

int IsDeadState(int serial)

Risultato: int.

Risultato: 0; serial == bridge.Self ? bridge.Dead() : bridge.IsDead(serial).

Chiamate: bridge.Dead, bridge.IsDead.

Condizioni: serial <= 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

int IsDeadState(int serial)

            {

                if (serial <= 0)

                    return 0;

                return serial == bridge.Self ? bridge.Dead() : bridge.IsDead(serial);

            }

InjectionScript.Runtime.InjectionApiUO.SaveConfig

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5970.

public void SaveConfig()

Risultato: void.

Chiamate: bridge.SaveConfig.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.Snap

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5920.

public int Snap()

Risultato: int.

Risultato: bridge.Snap(null, 100, true).

Chiamate: bridge.Snap.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int Snap() => bridge.Snap(null, 100, true);

InjectionScript.Runtime.InjectionApiUO.Snap

Restituisce il valore dell’espressione seguente.

Parametri: name

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5921.

public int Snap(string name)

Risultato: int.

Risultato: bridge.Snap(name, 100, true).

Chiamate: bridge.Snap.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int Snap(string name) => bridge.Snap(name, 100, true);

InjectionScript.Runtime.InjectionApiUO.StringArray

Restituisce il valore dell’espressione seguente.

Parametri: values

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2514.

private static InjectionValue StringArray(IEnumerable<string> values)

Risultato: InjectionValue.

Risultato: new InjectionValue((values ?? Array.Empty<string>()).Select(value => new InjectionValue(value)).ToArray()).

Chiamate: (values ?? Array.Empty<string>()).Select(value => new InjectionValue(value)).ToArray, (values ?? Array.Empty<string>()).Select, Array.Empty<string>.

Codice interno di implementazione; non è uno script autonomo.

private static InjectionValue StringArray(IEnumerable<string> values)

            => new InjectionValue((values ?? Array.Empty<string>()).Select(value => new InjectionValue(value)).ToArray());

InjectionScript.Runtime.InjectionApiUO.Timer

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5926.

public int Timer()

Risultato: int.

Risultato: (int)Math.Max(0d, Math.Min(int.MaxValue, timeSource.SinceStart.TotalMilliseconds / 100d)).

Chiamate: Math.Max, Math.Min.

Codice interno di implementazione; non è uno script autonomo.

public int Timer() => (int)Math.Max(0d, Math.Min(int.MaxValue, timeSource.SinceStart.TotalMilliseconds / 100d));

InjectionScript.Runtime.InjectionApiUO.ToBoolean

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: value

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5105.

private static bool ToBoolean(InjectionValue value)

Risultato: bool.

Risultato: flag; NumberConversions.ToInt(value) != 0.

Chiamate: (value.String ?? string.Empty).Trim, bool.TryParse, NumberConversions.ToInt.

Condizioni: value.Kind == InjectionValueKind.String; bool.TryParse(text, out bool flag).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private static bool ToBoolean(InjectionValue value)

        {

            if (value.Kind == InjectionValueKind.String)

            {

                string text = (value.String ?? string.Empty).Trim();

                if (bool.TryParse(text, out bool flag))

                    return flag;

            }

            return NumberConversions.ToInt(value) != 0;

        }

InjectionScript.Runtime.InjectionApiUO.TryGetObject

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: name, id

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3853.

public bool TryGetObject(string name, out int id)

Risultato: bool.

Risultato: true; false.

Chiamate: name.Equals, bridge.GetLastObject, bridge.GetLastContainer, objects.TryGet, NumberConversions.TryStr2Int.

Condizioni: name.Equals("finditem", StringComparison.OrdinalIgnoreCase) && bridge.FindItem != 0; name.Equals("self", StringComparison.OrdinalIgnoreCase); name.Equals("lastcorpse", StringComparison.OrdinalIgnoreCase); name.Equals("lasttarget", StringComparison.OrdinalIgnoreCase).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public bool TryGetObject(string name, out int id)

        {

            id = -1;

            if (name.Equals("finditem", StringComparison.OrdinalIgnoreCase) && bridge.FindItem != 0)

                id = bridge.FindItem;

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

                id = bridge.Self;

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

                id = bridge.LastCorpse;

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

                id = bridge.LastTarget;

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

                id = bridge.LastAttack;

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

                id = bridge.GetLastObject();

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

                id = bridge.GetLastContainer();

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

                id = bridge.LastStatus;

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

                id = bridge.Backpack;



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

                id = value;



            if (NumberConversions.TryStr2Int(name, out value))

                id = value;



            if (id > -1)

                return true;



            id = 0;

            return false;

        }

InjectionScript.Runtime.InjectionApiUO.TryResolveClassRules

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: mask, rules

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.ClassMasks.cs:98.

private bool TryResolveClassRules(InjectionValue mask, out EquipmentClassRule[] rules)

Risultato: bool.

Risultato: true; false.

Chiamate: (mask.String ?? string.Empty).Trim, raw.Equals, raw.Split(new[] { '|', ',', ';' }, StringSplitOptions.None) .Select(s => new InjectionValue(s.Trim())).ToArray, raw.Split(new[] { '|', ',', ';' }, StringSplitOptions.None) .Select, raw.Split, classRules.TryGetValue, (value.String ?? string.Empty).Trim, resolved.Contains.

Condizioni: mask.Kind == InjectionValueKind.Unit || mask.Kind == InjectionValueKind.Any || mask.Kind == InjectionValueKind.Integer && mask.Integer == -1; mask.Kind == InjectionValueKind.String; raw.Length == 0 || raw == "-1" || raw.Equals("any", StringComparison.OrdinalIgnoreCase) || raw.Equals("all", StringComparison.OrdinalIgnoreCase); mask.Kind != InjectionValueKind.Array || mask.Array.Length == 0.

Codice interno di implementazione; non è uno script autonomo.

private bool TryResolveClassRules(InjectionValue mask, out EquipmentClassRule[] rules)
        {
            rules = null;
            if (mask.Kind == InjectionValueKind.Unit || mask.Kind == InjectionValueKind.Any
                || mask.Kind == InjectionValueKind.Integer && mask.Integer == -1) return true;
            if (mask.Kind == InjectionValueKind.String)
            {
                string raw = (mask.String ?? string.Empty).Trim();
                if (raw.Length == 0 || raw == "-1" || raw.Equals("any", StringComparison.OrdinalIgnoreCase)
                    || raw.Equals("all", StringComparison.OrdinalIgnoreCase)) return true;
                mask = new InjectionValue(raw.Split(new[] { '|', ',', ';' }, StringSplitOptions.None)
                    .Select(s => new InjectionValue(s.Trim())).ToArray());
            }
            if (mask.Kind != InjectionValueKind.Array || mask.Array.Length == 0) return false;
            var resolved = new List<EquipmentClassRule>();
            lock (classRulesSync)
            {
                foreach (InjectionValue value in mask.Array)
                {
                    if (value.Kind != InjectionValueKind.String
                        || !classRules.TryGetValue((value.String ?? string.Empty).Trim(), out EquipmentClassRule rule)) return false;
                    if (!resolved.Contains(rule)) resolved.Add(rule);
                }
            }
            rules = resolved.ToArray();
            return true;
        }

InjectionScript.Runtime.InjectionApiUO.UseType

Restituisce il valore dell’espressione seguente.

Parametri: type

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3974.

public int UseType(int type)

Risultato: int.

Risultato: UseType(type, -1).

Chiamate: UseType.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int UseType(int type) => UseType(type, -1);

InjectionScript.Runtime.InjectionApiUO.WaitGump

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: triggerId

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3105.

public void WaitGump(string triggerId)

Risultato: void.

Chiamate: (triggerId ?? string.Empty).Trim, text.Contains, `text.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)

                .Select(value => new InjectionValue(value.Trim())).ToArray`, `text.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)

                .Select`, `text.Split`, `CompactWaitGump`, `WaitGump`, `NumberConversions.ToInt`.

Condizioni: text.Contains('|') || text.Contains(',').

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void WaitGump(string triggerId)

        {

            string text = (triggerId ?? string.Empty).Trim();

            if (text.Contains('|') || text.Contains(','))

            {

                InjectionValue[] chain = text.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)

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

                CompactWaitGump(chain);

                return;

            }

            WaitGump(NumberConversions.ToInt(triggerId));

        }

InjectionScript.Runtime.InjectionApiUO.WaitTargetSelf

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4181.

public void WaitTargetSelf()

Risultato: void.

Chiamate: WaitTargetObject.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void WaitTargetSelf() => WaitTargetObject("self");

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetPetsCurrent]

La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1048.

Risultato: bridge.Followers.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.Followers

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetPoisoned]

La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1062.

serial

Risultato: serial.

Risultato: bridge.Poisoned(serial).

Chiamate: bridge.Poisoned.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

serial => bridge.Poisoned(serial)

InjectionScript.Runtime.InjectionApiUO.Register [NewMoveXY]

La chiamata esegue il delegate del gestore memorizzato. Il metodo di registrazione lo crea durante la costruzione dell’API.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:841.

values

Risultato: values.

Risultato: new InjectionValue(CompactNewMoveXY(values)).

Chiamate: CompactNewMoveXY.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

values => new InjectionValue(CompactNewMoveXY(values))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

Risultato: getter(bridge.Self).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

Risultato: getter(bridge.Self).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

Risultato: getter(bridge.Self).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

Risultato: getter(bridge.Self).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

Risultato: getter(bridge.Self).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

value

Risultato: value.

Risultato: getter(GetObject(value)).

Chiamate: getter, GetObject.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

Risultato: getter(bridge.Self).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionRuntime.Checkpoint

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionRuntime.cs:34.

private void Checkpoint()

Risultato: void.

Chiamate: .Invoke, .ThrowIfCancellationRequested.

Codice interno di implementazione; non è uno script autonomo.

private void Checkpoint(){cancellation?.Invoke()?.ThrowIfCancellationRequested();checkpoint?.Invoke();cancellation?.Invoke()?.ThrowIfCancellationRequested();}

InjectionScript.Runtime.InjectionValue.ConvertTo

Restituisce il valore dell’espressione seguente.

Parametri: targetKind

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionValue.cs:93.

internal object ConvertTo(InjectionValueKind targetKind)

Risultato: object.

Risultato: this; (int)this; (double)this; (string)this; (InjectionValue[])this; (InjectionObject)this.

Codice interno di implementazione; non è uno script autonomo.

internal object ConvertTo(InjectionValueKind targetKind)

        {

            switch (targetKind)

            {

                case InjectionValueKind.Any:

                    return this;

                case InjectionValueKind.Integer:

                    return (int)this;

                case InjectionValueKind.Decimal:

                    return (double)this;

                case InjectionValueKind.String:

                    return (string)this;

                case InjectionValueKind.Array:

                    return (InjectionValue[])this;

                case InjectionValueKind.Object:

                    return (InjectionObject)this;

                case InjectionValueKind.Unit:

                    return null;

                default:

                    throw new InvalidCastException($"Cannot convert {this.Kind} to {targetKind}.");

            }

        }

InjectionScript.Runtime.Metadata.NativeSubrutineExists

Restituisce il valore dell’espressione seguente.

Parametri: name, argumentCount

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/Metadata.cs:21.

public bool NativeSubrutineExists(string name,int argumentCount)

Risultato: bool.

Risultato: nativeSubrutines.Exists(name,argumentCount).

Chiamate: nativeSubrutines.Exists.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public bool NativeSubrutineExists(string name,int argumentCount) => nativeSubrutines.Exists(name,argumentCount);

InjectionScript.Runtime.NativeSubrutineMetadata.Exists

Restituisce il valore dell’espressione seguente.

Parametri: name, argumentCount

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeSubrutineMetadata.cs:69.

internal bool Exists(string name, int argumentCount)

Risultato: bool.

Risultato: byName.TryGetValue(name, out var arities) && arities.ContainsKey(argumentCount).

Chiamate: byName.TryGetValue, arities.ContainsKey.

Codice interno di implementazione; non è uno script autonomo.

internal bool Exists(string name, int argumentCount)
            => byName.TryGetValue(name, out var arities) && arities.ContainsKey(argumentCount);

InjectionScript.Runtime.State.NamedIgnoreLists.FilterFor

Restituisce il valore dell’espressione seguente.

Parametri: name

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedIgnoreLists.cs:26.

public IgnoreTypeFilter FilterFor(string name)

Risultato: IgnoreTypeFilter.

Risultato: !string.IsNullOrWhiteSpace(name) && lists.TryGetValue(name.Trim(), out var filter) ? filter : IgnoreTypeFilter.Empty.

Chiamate: string.IsNullOrWhiteSpace, lists.TryGetValue, name.Trim.

Codice interno di implementazione; non è uno script autonomo.

public IgnoreTypeFilter FilterFor(string name)
        {
            lock (sync)
                return !string.IsNullOrWhiteSpace(name) && lists.TryGetValue(name.Trim(), out var filter) ? filter : IgnoreTypeFilter.Empty;
        }

Clone this wiki locally