IT Runtime Helpers 2 - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki

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

Funzioni ausiliarie 2

Codice interno di implementazione; non è uno script autonomo.

ClassicUO.CSharp.CSharpCallbacks.TryInvoke

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: false; true.

Condizioni: words.Length == 0; words.Length > offset && Exists(words[offset]); words.Length > offset && events is ICSharpScriptHost scriptHost && (offset == 1 || scriptHost.HasCSharpScript(words[offset])); words[0].Equals("_exec", StringComparison.OrdinalIgnoreCase).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "Exec":
                var words = CommandWords(Convert.ToString(arguments[0]) ?? "");
                if (words.Length == 0) return false;
                int offset = words[0].Equals("exec", StringComparison.OrdinalIgnoreCase) || words[0].Equals("_exec", StringComparison.OrdinalIgnoreCase) ? 1 : 0;
                if (words.Length > offset && Exists(words[offset]))
                { Start(words[offset], words.Skip(offset + 1).ToArray()); return true; }
                if (words.Length > offset && events is ICSharpScriptHost scriptHost
                    && (offset == 1 || scriptHost.HasCSharpScript(words[offset])))
                {
                    string command = Convert.ToString(arguments[0]) ?? "";
                    if (words[0].Equals("_exec", StringComparison.OrdinalIgnoreCase)) command = "exec" + command.TrimStart()[5..];
                    scriptHost.ExecuteCSharpScript(command); return true;
                }
                return false;

ClassicUO.CSharp.CSharpCallbacks.TryInvoke

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: true.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "SetEventProc":
                SetStateEvent([arguments[0], !string.IsNullOrWhiteSpace(Convert.ToString(arguments[1])), true, arguments[1]]);
                return true;

ClassicUO.CSharp.CSharpCallbacks.Cancel

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string name

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

public bool Cancel(string name)

Risultato: bool.

Chiamate:

  • Verify
  • active.Where(call => call.Name.Equals((name ?? "").Trim(), StringComparison.OrdinalIgnoreCase)).ToArray
  • active.Where
  • call.Name.Equals
  • (name ?? "").Trim
  • call.Cancellation.Cancel

Codice interno di implementazione; non è uno script autonomo.

public bool Cancel(string name)
    {
        Verify();
        Invocation[] calls;
        lock (sync) calls = active.Where(call => call.Name.Equals((name ?? "").Trim(), StringComparison.OrdinalIgnoreCase)).ToArray();
        foreach (var call in calls)
            try { call.Cancellation.Cancel(); } catch (ObjectDisposedException) { }
        return calls.Length != 0;
    }

ClassicUO.CSharp.CSharpCallbacks.SetStateEvent

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: object?[] arguments

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

private void SetStateEvent(object?[] arguments)

Risultato: void.

Condizioni:

  • name.Length == 0
  • !Flag(arguments[1])
  • sourceName == ""
  • arguments.Length == 3

Chiamate:

  • EventName
  • RemoveState
  • Flag
  • name.ToLowerInvariant
  • native
  • Convert.ToString
  • NumberConversions.TryStr2Int
  • HandlerName
  • name.Equals
  • ReadMobiles
  • ReadState
  • Verify
  • Subscribe
  • Trigger

Codice interno di implementazione; non è uno script autonomo.

private void SetStateEvent(object?[] arguments)
    {
        string name = EventName(arguments[0]);
        if (name.Length == 0) return;
        RemoveState(name);
        if (!Flag(arguments[1])) return;
        string? sourceName = name.ToLowerInvariant() switch
        {
            "changehitpoints" => "UO.HitPointsChanged", "changemana" => "UO.ManaChanged", "changestamina" => "UO.StaminaChanged",
            "death" or "seenewplayer" => null,
            _ => ""
        };
        if (sourceName == "")
        {
            native("Print", [$"SetEvent: unsupported event '{name}'. Supported: SeeNewPlayer, Death, ChangeHitPoints, ChangeMana, ChangeStamina."]);
            return;
        }
        bool repeat = true;
        string handler = "";
        if (arguments.Length == 3)
        {
            string text = Convert.ToString(arguments[2]) ?? "";
            if (text.Length != 0 && !NumberConversions.TryStr2Int(text, out _) && arguments[2] is not bool)
                handler = HandlerName(arguments[2]);
            else repeat = Flag(arguments[2]);
        }
        if (arguments.Length == 4) { repeat = Flag(arguments[2]); handler = HandlerName(arguments[3]); }
        var state = new StateEvent(name, repeat, handler);
        if (events is null || sourceName is null)
        {
            if (name.Equals("SeeNewPlayer", StringComparison.OrdinalIgnoreCase)) state.Mobiles = ReadMobiles();
            else state.Last = ReadState(name);
        }
        lock (sync)
        {
            Verify();
            if (events is not null && sourceName is not null)
                state.Subscription = Subscribe(sourceName, _ => { Trigger(state); return Task.CompletedTask; });
            stateEvents[name] = state;
        }
    }

ClassicUO.Configuration.BackNewbieRuleLists.BelongsTo

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: BackNewbieItemRule rule, string listId

Origine: Project_Full/src/ClassicUO.Client/Configuration/BackNewbieRuleList.cs:23.

internal static bool BelongsTo(BackNewbieItemRule rule, string listId)

Risultato: bool.

Chiamate:

  • string.Equals
  • string.IsNullOrEmpty

Codice interno di implementazione; non è uno script autonomo.

internal static bool BelongsTo(BackNewbieItemRule rule, string listId) => rule != null
            && string.Equals(string.IsNullOrEmpty(rule.ListId) ? DefaultId : rule.ListId,
                listId, StringComparison.Ordinal);

ClassicUO.Game.GameActions.RequestMobileStatus

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: World world, uint serial, bool force = false

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

public static void RequestMobileStatus(World world, uint serial, bool force = false)

Risultato: void.

Condizioni:

  • world.InGame
  • ent != null
  • force
  • ent.HitsRequest >= HitsRequestStatus.Pending

Chiamate:

  • world.Get
  • SendCloseStatus
  • SerialHelper.IsValid
  • Socket.Send_StatusRequest

Codice interno di implementazione; non è uno script autonomo.

public static void RequestMobileStatus(World world, uint serial, bool force = false)
        {
            if (world.InGame)
            {
                Entity ent = world.Get(serial);

                if (ent != null)
                {
                    if (force)
                    {
                        if (ent.HitsRequest >= HitsRequestStatus.Pending)
                        {
                            SendCloseStatus(world, serial);
                        }
                    }

                    if (ent.HitsRequest < HitsRequestStatus.Received)
                    {
                        ent.HitsRequest = HitsRequestStatus.Pending;
                        force = true;
                    }
                }

                if (force && SerialHelper.IsValid(serial))
                {
                    //ent = ent ?? World.Player;
                    //ent.AddMessage(MessageType.Regular, $"PACKET SENT: 0x{serial:X8}", 3, 0x34, true, TextType.OBJECT);
                    Socket.Send_StatusRequest(serial);
                }
            }
        }

ClassicUO.Game.GameActions.UsePrimaryAbility

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: World world

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

public static void UsePrimaryAbility(World world)

Risultato: void.

Condizioni:

  • world?.Player == null
  • ((byte) ability & 0x80) == 0

Chiamate:

  • SendAbility

Codice interno di implementazione; non è uno script autonomo.

public static void UsePrimaryAbility(World world)
        {
            if (world?.Player == null)
                return;

            ref var ability = ref world.Player.Abilities[0];

            if (((byte) ability & 0x80) == 0)
            {
                for (int i = 0; i < 2; i++)
                {
                    world.Player.Abilities[i] &= (Ability) 0x7F;
                }

                SendAbility(world, (byte)ability, true);
            }
            else
            {
                SendAbility(world, 0, true);
            }

            ability ^= (Ability) 0x80;
        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CheckLosCell

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int x, int y, int z, int map, int options

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

public int CheckLosCell(int x, int y, int z, int map, int options)

Risultato: int.

Condizioni:

  • _world.Map == null || map != _world.MapIndex
  • algorithm < 1 || algorithm > 4
  • !overlapsRay
  • data.IsWindow && allowWindow

Chiamate:

  • Invoke
  • Math.Max
  • _world.Map.GetTile
  • Math.Abs
  • Blocks

Codice interno di implementazione; non è uno script autonomo.

public int CheckLosCell(int x, int y, int z, int map, int options) => Invoke(() =>

        {

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

                return 0;



            int algorithm = options & 0xFF;

            if (algorithm < 1 || algorithm > 4)

                algorithm = 3;

            bool useNoShoot = algorithm == 3 || (algorithm == 4 && (options & 0x200) != 0);

            bool allowWindow = algorithm == 4 && (options & 0x400) != 0;



            bool Blocks(StaticTiles data, int tileZ)

            {

                int height = Math.Max(1, (int)data.Height);

                bool overlapsRay = z >= tileZ - 2 && z <= tileZ + height + 2;

                if (!overlapsRay)

                    return false;

                if (data.IsWindow && allowWindow)

                    return false;

                return data.IsWall || data.IsImpassable || useNoShoot && data.IsNoShoot;

            }



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

            {

                if (tile is Land land)

                {

                    if (land.TileData.IsImpassable && Math.Abs(z - land.Z) <= 20)

                        return 0;

                    continue;

                }



                if (tile is Static staticTile && Blocks(staticTile.ItemData, staticTile.Z))

                    return 0;

                if (tile is Multi multi && Blocks(multi.ItemData, multi.Z))

                    return 0;

                if (tile is Item item && Blocks(item.ItemData, item.Z))

                    return 0;

            }



            return 1;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CheckLosCell::Blocks

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: data, tileZ

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

bool Blocks(StaticTiles data, int tileZ)

Risultato: bool.

Risultato: false; data.IsWall || data.IsImpassable || useNoShoot && data.IsNoShoot.

Chiamate: Math.Max.

Condizioni: !overlapsRay; data.IsWindow && allowWindow.

Codice interno di implementazione; non è uno script autonomo.

bool Blocks(StaticTiles data, int tileZ)

            {

                int height = Math.Max(1, (int)data.Height);

                bool overlapsRay = z >= tileZ - 2 && z <= tileZ + height + 2;

                if (!overlapsRay)

                    return false;

                if (data.IsWindow && allowWindow)

                    return false;

                return data.IsWall || data.IsImpassable || useNoShoot && data.IsNoShoot;

            }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClearUserStatics

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void ClearUserStatics()

Risultato: void.

Chiamate:

  • Invoke

Codice interno di implementazione; non è uno script autonomo.

public void ClearUserStatics() => Invoke(_manager.ClearUserStatics);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientHide

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int serial

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

public void ClientHide(int serial)

Risultato: void.

Condizioni:

  • entity == null || entity.IsDestroyed
  • entity.Serial == _world.Player?.Serial

Chiamate:

  • Invoke
  • _world.Get
  • Error
  • HideLocally

Codice interno di implementazione; non è uno script autonomo.

public void ClientHide(int serial) => Invoke(() =>

        {

            Entity entity = _world.Get(unchecked((uint)serial)) as Entity;

            if (entity == null || entity.IsDestroyed)

            {

                Error($"UO.ClientHide: object 0x{unchecked((uint)serial):X8} is not loaded.");

                return;

            }

            if (entity.Serial == _world.Player?.Serial)

            {

                Error("UO.ClientHide: refusing to hide the player locally.");

                return;

            }

            HideLocally(entity);

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DisconnectClient

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void DisconnectClient()

Risultato: void.

Condizioni:

  • !(_world.SessionControl?.AutoReconnect ?? Settings.GlobalSettings.Reconnect)
  • _world.SessionControl is { } session
  • Settings.GlobalSettings.Reconnect
  • loginScene != null

Chiamate:

  • Invoke
  • _manager.BeginScriptControlledDisconnect
  • session.RequestDisconnect
  • _manager.PrepareForReconnect
  • Client.Game.GetScene<LoginScene>
  • NetClient.Socket.Disconnect
  • .GetScene<GameScene>
  • .RequestReconnectPreservingYoko

Codice interno di implementazione; non è uno script autonomo.

public void DisconnectClient() => Invoke(() =>

        {

            // With AR enabled, let the automatic disconnect pause resume on

            // login. With AR disabled, this worker must reach its own Connect.

            if (!(_world.SessionControl?.AutoReconnect ?? Settings.GlobalSettings.Reconnect))

                _manager.BeginScriptControlledDisconnect(_scriptKey);

            if (_world.SessionControl is { } session)

            {

                session.RequestDisconnect();

                _manager.PrepareForReconnect();

                return;

            }

            LoginScene loginScene = Client.Game.GetScene<LoginScene>();



            // Disconnect also cancels any active or in-flight transport.

            NetClient.Socket.Disconnect();

            _manager.PrepareForReconnect();



            // Socket.Disconnect detaches its callback, so it does not trigger

            // GameScene's normal connection-loss handler. Schedule the same

            // preserving transition explicitly when automatic reconnect is on.

            // With AR off, keep the worker alive for a later UO.Connect call.

            if (Settings.GlobalSettings.Reconnect)

                Client.Game?.GetScene<GameScene>()?.RequestReconnectPreservingYoko();

            if (loginScene != null)

            {

                loginScene.Reconnect = Settings.GlobalSettings.Reconnect;

                loginScene.PopupMessage = null;

                loginScene.CurrentLoginStep = LoginSteps.Main;

            }

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Dismount

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int Dismount()

Risultato: int.

Chiamate:

  • Invoke
  • _manager.MountRequests.Request
  • NetClient.Socket.Send_UseObjectRequest
  • MountedLayerSerialUnsafe

Codice interno di implementazione; non è uno script autonomo.

public int Dismount() => Invoke(() =>

        {

            _manager.MountRequests.Request(

                _world, 0, mount: false,

                serial => NetClient.Socket.Send_UseObjectRequest(serial), Environment.TickCount64);

            return MountedLayerSerialUnsafe();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.EmptyContainer

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int sourceContainerId, int targetContainerId, int delayMs

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

public int EmptyContainer(int sourceContainerId, int targetContainerId, int delayMs)

Risultato: int.

Condizioni:

  • sourceContainerId == 0 || targetContainerId == 0 || sourceContainerId == targetContainerId

  • !ready

  • `source == null || source.IsDestroyed || _world.Get((uint)targetContainerId) == null

                      || (!source.IsCorpse && !source.ItemData.IsContainer)`
    
  • !requested

Chiamate:

  • Invoke
  • _world.Items.Get
  • _world.Get
  • GameActions.DoubleClick
  • Stopwatch.StartNew
  • Wait
  • Error
  • MoveContainerItems

Codice interno di implementazione; non è uno script autonomo.

public int EmptyContainer(int sourceContainerId, int targetContainerId, int delayMs)

        {

            if (sourceContainerId == 0 || targetContainerId == 0 || sourceContainerId == targetContainerId)

                return 0;

            bool ready = Invoke(() => _world.Items.Get((uint)sourceContainerId) is Item source

                && source.ContainerContentsReceived);

            if (!ready)

            {

                bool requested = Invoke(() =>

                {

                    Item source = _world.Items.Get((uint)sourceContainerId);

                    if (source == null || source.IsDestroyed || _world.Get((uint)targetContainerId) == null

                        || (!source.IsCorpse && !source.ItemData.IsContainer)) return false;

                    GameActions.DoubleClick(_world, source.Serial);

                    return true;

                });

                if (!requested) return 0;

                var elapsed = Stopwatch.StartNew();

                while (elapsed.ElapsedMilliseconds < 3000)

                {

                    Wait(25);

                    if (Invoke(() => _world.Items.Get((uint)sourceContainerId) is Item source

                        && source.ContainerContentsReceived))

                    { ready = true; break; }

                }

                if (!ready)

                {

                    Error("UO.EmptyContainer: no complete container contents arrived within 3000 ms.");

                    return 0;

                }

            }

            var result = MoveContainerItems(sourceContainerId, -1, -1, targetContainerId, -1, -1, 0, delayMs, false);

            return result.Selected > 0 && result.Sent == result.Selected ? 1 : 0;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.EquipLastWeapon

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void EquipLastWeapon()

Risultato: void.

Condizioni:

  • _lastRightHand != 0
  • _lastLeftHand != 0

Chiamate:

  • Equip

Codice interno di implementazione; non è uno script autonomo.

public void EquipLastWeapon()

        {

            if (_lastRightHand != 0) Equip((int)Layer.OneHanded, _lastRightHand);

            if (_lastLeftHand != 0) Equip((int)Layer.TwoHanded, _lastLeftHand);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindList::MatchesZ

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: entity

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

bool MatchesZ(Entity entity)

Risultato: bool.

Risultato: true; Math.Abs(zEntity.Z - player.Z) <= effectiveMaxZ.

Chiamate: _world.Get, Math.Abs.

Condizioni: player == null || effectiveMaxZ < 0; entity is Item && containerId > 1.

Codice interno di implementazione; non è uno script autonomo.

bool MatchesZ(Entity entity)

                {

                    if (player == null || effectiveMaxZ < 0)

                        return true;

                    Entity zEntity = entity;

                    if (entity is Item && containerId > 1)

                        zEntity = _world.Get(unchecked((uint)containerId)) ?? entity;

                    return Math.Abs(zEntity.Z - player.Z) <= effectiveMaxZ;

                }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FormatTileInfo

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: GameObject tile, int map

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

private static string FormatTileInfo(GameObject tile, int map)

Risultato: string.

Condizioni:

  • tile is Land loadedLand
  • tile is Static loadedStatic

Chiamate:

  • tile.GetType
  • FormatAvailableScalars

Codice interno di implementazione; non è uno script autonomo.

private static string FormatTileInfo(GameObject tile, int map)

        {

            string details = $"ObjectType={tile.GetType().Name}\n"

                + $"Graphic/Tile=0x{tile.Graphic:X4} ({tile.Graphic})\n"

                + $"Hue/Colour=0x{tile.Hue:X4} ({tile.Hue})\n"

                + $"X={tile.X} Y={tile.Y} Z={tile.Z} Map={map}\n"

                + $"PriorityZ={tile.PriorityZ}\n"

                + $"Distance={tile.Distance}\n"

                + $"AllowedToDraw={tile.AllowedToDraw}\n"

                + $"AlphaHue={tile.AlphaHue}";

            string report = tile switch

            {

                Land land => details

                    + $"\nName={land.TileData.Name ?? string.Empty}"

                    + $"\nFlags={land.TileData.Flags}"

                    + $"\nIsFlat={!land.IsStretched}"

                    + $"\nNormalLeft={land.NormalLeft}"

                    + $"\nNormalRight={land.NormalRight}"

                    + $"\nNormalTop={land.NormalTop}"

                    + $"\nNormalBottom={land.NormalBottom}"

                    + $"\nMinZ={land.MinZ}"

                    + $"\nAverageZ={land.AverageZ}"

                    + $"\nYOffsets={land.YOffsets}",

                Static staticTile => details

                    + $"\nName={staticTile.ItemData.Name ?? string.Empty}"

                    + $"\nFlags={staticTile.ItemData.Flags}"

                    + $"\nHeight={staticTile.ItemData.Height}"

                    + $"\nIsVegetation={staticTile.IsVegetation}",

                Multi multi => details

                    + $"\nState={multi.State}"

                    + $"\nIsMovable={multi.IsMovable}",

                _ => details

            };

            report += "\n" + FormatAvailableScalars("Tile", tile);

            if (tile is Land loadedLand) report += FormatAvailableScalars("TileData", loadedLand.TileData);

            else if (tile is Static loadedStatic) report += FormatAvailableScalars("TileData", loadedStatic.ItemData);

            return report;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetAltName

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int id

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

public string GetAltName(int id)

Risultato: string.

Chiamate:

  • GetTitle

Codice interno di implementazione; non è uno script autonomo.

public string GetAltName(int id) => GetTitle(id);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetAutoBuyDelay

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int GetAutoBuyDelay()

Risultato: int.

Chiamate:

  • Invoke

Codice interno di implementazione; non è uno script autonomo.

public int GetAutoBuyDelay() => Invoke(() => ProfileManager.CurrentProfile?.BackNewbieAutoBuyDelay ?? 3);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetContent

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int containerId

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

public int[] GetContent(int containerId)

Risultato: int[].

Chiamate:

  • Invoke

  • `_world.Items.Values

          .Where(item => !item.IsDestroyed && (containerId == 0 ? item.OnGround : item.Container == (uint)containerId))
    
          .Select(item => (int)item.Serial).ToArray`
    
  • `_world.Items.Values

          .Where(item => !item.IsDestroyed && (containerId == 0 ? item.OnGround : item.Container == (uint)containerId))
    
          .Select`
    
  • `_world.Items.Values

          .Where`
    

Codice interno di implementazione; non è uno script autonomo.

public int[] GetContent(int containerId) => Invoke(() => _world.Items.Values

            .Where(item => !item.IsDestroyed && (containerId == 0 ? item.OnGround : item.Container == (uint)containerId))

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetControlText

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Control control

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

private static string GetControlText(Control control)

Risultato: string.

Chiamate:

—

Codice interno di implementazione; non è uno script autonomo.

private static string GetControlText(Control control)

        {

            return control switch

            {

                SessionGumpControl logical => logical.Text,

                Label label => label.Text,

                HtmlControl html => html.Text,

                StbTextBox textBox => textBox.Text,

                Checkbox checkbox => checkbox.Text,

                _ => null

            };

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGraphics

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int id

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

public int GetGraphics(int id)

Risultato: int.

Chiamate:

  • WithEntity

Codice interno di implementazione; non è uno script autonomo.

public int GetGraphics(int id) => WithEntity(id, e => e.Graphic);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetNotoriety

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int id

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

public int GetNotoriety(int id)

Risultato: int.

Chiamate:

  • Invoke
  • _world.Get

Codice interno di implementazione; non è uno script autonomo.

public int GetNotoriety(int id) => Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile) is Mobile m ? (int)m.NotorietyFlag : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetQuestArrow

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int[] GetQuestArrow()

Risultato: int[].

Chiamate:

  • Invoke
  • _world.CharacterPanels.QuestArrow

Codice interno di implementazione; non è uno script autonomo.

public int[] GetQuestArrow() => Invoke(() => _world.CharacterPanels.QuestArrow());

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetWorldItems

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int[] GetWorldItems()

Risultato: int[].

Chiamate:

  • Invoke

  • `_world.Items.Values

          .Where(item => !item.IsDestroyed && item.OnGround)
    
          .Select(item => (int)item.Serial).ToArray`
    
  • `_world.Items.Values

          .Where(item => !item.IsDestroyed && item.OnGround)
    
          .Select`
    
  • `_world.Items.Values

          .Where`
    

Codice interno di implementazione; non è uno script autonomo.

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

            .Where(item => !item.IsDestroyed && item.OnGround)

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int id

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

public int GetZ(int id)

Risultato: int.

Chiamate:

  • WithEntity

Codice interno di implementazione; non è uno script autonomo.

public int GetZ(int id) => WithEntity(id, e => e.Z);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.NormalizeAbilityName

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string value

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

private static string NormalizeAbilityName(string value)

Risultato: string.

Chiamate:

  • `string.Concat(

          (value ?? string.Empty).Where(char.IsLetterOrDigit)).ToUpperInvariant`
    
  • string.Concat

  • (value ?? string.Empty).Where

Codice interno di implementazione; non è uno script autonomo.

private static string NormalizeAbilityName(string value) => string.Concat(

            (value ?? string.Empty).Where(char.IsLetterOrDigit)).ToUpperInvariant();

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.OpenInteractiveInfoGump

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string title, string text

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

private void OpenInteractiveInfoGump(string title, string text)

Risultato: void.

Condizioni:

  • _interactiveCommands

Chiamate:

  • _infoGumpOpener

Codice interno di implementazione; non è uno script autonomo.

private void OpenInteractiveInfoGump(string title, string text)

        {

            // The invocation origin determines presentation. Renderer presence

            // alone must never make ordinary script queries open windows.

            if (_interactiveCommands)

                _infoGumpOpener(_world, title, text);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyAcceptInvite

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void PartyAcceptInvite()

Risultato: void.

Condizioni:

  • _world.Party.Inviter == 0

Chiamate:

  • Invoke
  • GameActions.RequestPartyAccept

Codice interno di implementazione; non è uno script autonomo.

public void PartyAcceptInvite() => Invoke(() =>

        {

            if (_world.Party.Inviter == 0) return;

            GameActions.RequestPartyAccept(_world.Party.Inviter);

            _world.Party.Leader = _world.Party.Inviter;

            _world.Party.Inviter = 0;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Mobile mobile

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

private void RegisterFound(Mobile mobile)

Risultato: void.

Chiamate:

  • RegisterFoundSerial

Codice interno di implementazione; non è uno script autonomo.

private void RegisterFound(Mobile mobile)

        {

            _findCount++;

            _findFullQuantity++;

            RegisterFoundSerial(unchecked((int)mobile.Serial));

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestClientTarget

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: bool tileTarget

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

public void RequestClientTarget(bool tileTarget)

Risultato: void.

Condizioni:

  • request != Volatile.Read(ref _clientTargetRequest)
  • target == null || (!tileTarget && !(target is Entity))

Chiamate:

  • Interlocked.Increment
  • Array.Empty<int>
  • Invoke
  • _clientTargetCancellation.Unregister
  • Volatile.Read
  • _world.TargetManager.SetTargeting
  • _cancellationToken.Register
  • _manager.ReleaseObjectSelection

Codice interno di implementazione; non è uno script autonomo.

public void RequestClientTarget(bool tileTarget)

        {

            int request = Interlocked.Increment(ref _clientTargetRequest);

            _clientTargetResponsePresent = false;

            _clientTargetResponse = Array.Empty<int>();

            Invoke(() =>

            {

                _clientTargetCancellation.Unregister();

                Action<GameObject> callback = target =>

                {

                    if (request != Volatile.Read(ref _clientTargetRequest))

                        return;

                    _clientTargetCancellation.Unregister();

                    if (target == null || (!tileTarget && !(target is Entity)))

                        _clientTargetResponse = Array.Empty<int>();

                    else

                    {

                        int serial = target is Entity entity ? (int)entity.Serial : 0;

                        _clientTargetResponse = new[] { serial, (int)target.Graphic, target.X, target.Y, target.Z };

                    }

                    _clientTargetResponsePresent = true;

                };

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

                // Cancellation may run on a worker thread. Queue ownership-checked

                // cleanup without waiting for the game thread or clearing a newer cursor.

                _clientTargetCancellation = _cancellationToken.Register(

                    () => _manager.ReleaseObjectSelection(callback));

            });

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResolveSpell

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string spellNameOrId

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

public int ResolveSpell(string spellNameOrId)

Risultato: int.

Chiamate:

  • ResolveClassicUOSpellId

Codice interno di implementazione; non è uno script autonomo.

public int ResolveSpell(string spellNameOrId) => ResolveClassicUOSpellId(spellNameOrId);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetContextMenuHook

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int id, int entry

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

public void SetContextMenuHook(int id, int entry)

Risultato: void.

Chiamate:

  • Invoke
  • _manager.SetContextMenuHook

Codice interno di implementazione; non è uno script autonomo.

public void SetContextMenuHook(int id, int entry) => Invoke(() => _manager.SetContextMenuHook((uint)id, entry));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Snap

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string name, int quality, bool includeUi

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

public int Snap(string name, int quality, bool includeUi)

Risultato: int.

Chiamate:

  • Invoke
  • RequireGameView("Snap").TakeScreenshot
  • RequireGameView

Codice interno di implementazione; non è uno script autonomo.

public int Snap(string name, int quality, bool includeUi)

            => Invoke(() => RequireGameView("Snap").TakeScreenshot(name, quality, includeUi));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StopAllScripts

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void StopAllScripts()

Risultato: void.

Chiamate:

  • _manager.StopAll

Codice interno di implementazione; non è uno script autonomo.

public void StopAllScripts() => _manager.StopAll();

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SubExists

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string subrutineName

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

public bool SubExists(string subrutineName)

Risultato: bool.

Chiamate:

  • _manager.FindProcedureByName

Codice interno di implementazione; non è uno script autonomo.

public bool SubExists(string subrutineName) => _manager.FindProcedureByName(subrutineName) != null;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TrackOff

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void TrackOff()

Risultato: void.

Chiamate:

  • Invoke
  • _world.CharacterPanels.SetArrow

Codice interno di implementazione; non è uno script autonomo.

public void TrackOff() => Invoke(() => _world.CharacterPanels.SetArrow(SessionCharacterPanels.TrackSerial, false, 0, 0));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TradeContainer

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int windowIndex

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

public int TradeContainer(int windowIndex)

Risultato: int.

Chiamate:

  • Invoke
  • FindTrade

Codice interno di implementazione; non è uno script autonomo.

public int TradeContainer(int windowIndex) => Invoke(() =>

        {

            ISessionTrade gump = FindTrade(windowIndex);

            return (int)(gump?.ID1 ?? 0);

        });

ClassicUO.Game.Managers.YokoInjectionManager.DiscoverProcedures

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string content, string filePath, string relativeFileName

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

internal static IReadOnlyList<YokoProcedureInfo> DiscoverProcedures(string content, string filePath, string relativeFileName)

Risultato: IReadOnlyList<YokoProcedureInfo>.

Condizioni:

  • IsCompiledScriptFilePath(filePath)
  • IsSupportedScriptFilePath(filePath)

Chiamate:

  • IsCompiledScriptFilePath
  • DiscoverCompiledProcedures
  • IsSupportedScriptFilePath
  • DiscoverCSharpAutoloadProcedures
  • Array.Empty<YokoProcedureInfo>

Codice interno di implementazione; non è uno script autonomo.

internal static IReadOnlyList<YokoProcedureInfo> DiscoverProcedures(string content, string filePath, string relativeFileName)

        {

            string originalScript = content ?? string.Empty;

            if (IsCompiledScriptFilePath(filePath)) return DiscoverCompiledProcedures(filePath, relativeFileName);

            if (IsSupportedScriptFilePath(filePath))

            {

                return DiscoverCSharpAutoloadProcedures(originalScript, filePath, relativeFileName);

            }

            return Array.Empty<YokoProcedureInfo>();

        }

ClassicUO.Game.Managers.YokoInjectionManager.QueueTargetTile

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: ushort graphic, ushort x, ushort y, short z, CancellationToken owner = default

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

internal void QueueTargetTile(ushort graphic, ushort x, ushort y, short z, CancellationToken owner = default)

Risultato: void.

Chiamate:

  • owner.ThrowIfCancellationRequested
  • _pendingTargets.Enqueue

Codice interno di implementazione; non è uno script autonomo.

internal void QueueTargetTile(ushort graphic, ushort x, ushort y, short z, CancellationToken owner = default)

        {

            lock (_pendingTargetLock)

            {

                owner.ThrowIfCancellationRequested();

                _pendingTargets.Enqueue(new PendingTarget(graphic, x, y, z, owner));

            }

        }

ClassicUO.Game.Managers.YokoInjectionManager.TerminateProcedures

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string selector

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

internal int TerminateProcedures(string selector)

Risultato: int.

Condizioni:

  • all

  • selector.Length == 0

  • `all || (selector.Length != 0

                      && MatchesProcedureSelector(selector, request.Selector))
    
                      || selected.Any(run => MatchesProcedureSelector(run.Key, request.Selector))`
    
  • run.TryStop()

Chiamate:

  • .Trim

  • selector.Equals

  • .Stop

  • .RequestStop

  • `_running.Values.Where(run => run.IsProcedure

                          && !run.Cancellation.IsCancellationRequested)
    
                      .OrderByDescending(run => run.Sequence).Take(1).ToArray`
    
  • `_running.Values.Where(run => run.IsProcedure

                          && !run.Cancellation.IsCancellationRequested)
    
                      .OrderByDescending(run => run.Sequence).Take`
    
  • `_running.Values.Where(run => run.IsProcedure

                          && !run.Cancellation.IsCancellationRequested)
    
                      .OrderByDescending`
    
  • _running.Values.Where

  • `_running.Values.Where(run => all

                      || MatchesProcedureSelector(selector, run.Key, run.Name)).ToArray`
    
  • MatchesProcedureSelector

  • _pendingLaunches.ToArray

  • selected.Any

  • _pendingLaunches.Remove

  • _queuedRuns.TryRemove

  • run.TryStop

  • _queuedRuns.Clear

  • ClearPendingTargets

  • ClearGumpAutomation

  • SetStatus

  • ClientLanguageManager.TranslateUi

  • string.Format

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

Codice interno di implementazione; non è uno script autonomo.

internal int TerminateProcedures(string selector)
        {
            selector = selector?.Trim() ?? string.Empty;
            bool all = selector.Equals("all", StringComparison.OrdinalIgnoreCase);
            if (all) _massMover?.Stop();
            if (all) _vendorPricer?.Stop();
            if (all) _follow?.RequestStop();
            YokoRunningScript[] selected;
// …
                if (all) _launchGeneration++;
                if (selector.Length == 0)
// …
                    if (all || (selector.Length != 0
// …
                if (run.TryStop())
// …
            if (all)
// …
            else if (selector.Length != 0) ClearGumpAutomation(selector);
            else foreach (var run in selected) ClearGumpAutomation(run.Key);
            SetStatus(stopped + cancelledPending == 0
                ? ClientLanguageManager.TranslateUi("No matching C# routines are running.")
                : string.Format(ClientLanguageManager.TranslateUi(
                    "Termination requested: {0} running, {1} pending."), stopped, cancelledPending));
            return stopped + cancelledPending;
        }

ClassicUO.Game.SerialHelper.IsValid

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: uint serial

Origine: Project_Full/src/ClassicUO.Client/Game/SerialHelper.cs:10.

public static bool IsValid(uint serial)

Risultato: bool.

Chiamate:

—

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.World.Get

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: uint serial

Origine: Project_Full/src/ClassicUO.Client/Game/World.cs:525.

public Entity Get(uint serial)

Risultato: Entity.

Condizioni:

  • SerialHelper.IsMobile(serial)
  • ent == null
  • ent != null && ent.IsDestroyed

Chiamate:

  • SerialHelper.IsMobile
  • Mobiles.Get
  • Items.Get

Codice interno di implementazione; non è uno script autonomo.

public Entity Get(uint serial)

        {

            Entity ent;



            if (SerialHelper.IsMobile(serial))

            {

                ent = Mobiles.Get(serial);



                if (ent == null)

                {

                    ent = Items.Get(serial);

                }

            }

            else

            {

                ent = Items.Get(serial);



                if (ent == null)

                {

                    ent = Mobiles.Get(serial);

                }

            }



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

            {

                ent = null;

            }



            return ent;

        }

InjectionScript.Runtime.InjectionApiUO.ActivateHandle

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void ActivateHandle()

Risultato: void.

Chiamate:

  • bridge.ActivateHandle

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.AddUserStatic

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int graphic, int x, int y, int z, int hue, int map

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

private int AddUserStatic(int graphic, int x, int y, int z, int hue, int map)

Risultato: int.

Condizioni:

  • graphic < 0 || graphic > ushort.MaxValue || x < 0 || y < 0 || map < 0

Chiamate:

  • string.Join
  • bridge.AddUserStatic

Codice interno di implementazione; non è uno script autonomo.

private int AddUserStatic(int graphic, int x, int y, int z, int hue, int map)

        {

            if (graphic < 0 || graphic > ushort.MaxValue || x < 0 || y < 0 || map < 0)

                return -1;

            int id = state.NextUserStaticId++;

            state.UserStatics[id] = string.Join("|", graphic, x, y, z, hue, map);

            bridge.AddUserStatic(id, graphic, x, y, z, hue, map);

            return id;

        }

InjectionScript.Runtime.InjectionApiUO.BandageSelf

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void BandageSelf()

Risultato: void.

Condizioni:

  • foundBandages != string.Empty

Chiamate:

  • FindType
  • WaitTargetSelf
  • UseObject
  • SystemMessage

Codice interno di implementazione; non è uno script autonomo.

public void BandageSelf()

        {

            var foundBandages = FindType(new InjectionValue(0x0e21), new InjectionValue(0), new InjectionValue("my"));

            if (foundBandages != string.Empty)

            {

                WaitTargetSelf();

                UseObject(foundBandages);

            }

            else

                SystemMessage("No bandages found.");

        }

InjectionScript.Runtime.InjectionApiUO.CharPrint

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue id, InjectionValue color, InjectionValue msg

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

public void CharPrint(InjectionValue id, InjectionValue color, InjectionValue msg)

Risultato: void.

Chiamate:

  • CharPrint
  • GetObject
  • NumberConversions.ToInt

Codice interno di implementazione; non è uno script autonomo.

public void CharPrint(InjectionValue id, InjectionValue color, InjectionValue msg) 

            => CharPrint(GetObject(id), NumberConversions.ToInt(color), (string)msg);

InjectionScript.Runtime.InjectionApiUO.ConsolePrint

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue msg

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

public void ConsolePrint(InjectionValue msg)

Risultato: void.

Chiamate:

  • bridge.Print
  • msg.ToString

Codice interno di implementazione; non è uno script autonomo.

public void ConsolePrint(InjectionValue msg) => bridge.Print(msg.ToString());

InjectionScript.Runtime.InjectionApiUO.Equip

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string name, RuntimeDictionary<EquipSet> equipSets, int[] supportedLayers, string successMessage, string missingMessage

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

private int Equip(string name, RuntimeDictionary<EquipSet> equipSets, int[] supportedLayers, string successMessage, string missingMessage)

Risultato: int.

Condizioni:

  • equipSets.TryGet(name, out var equipSet)
  • bridge.IsOnline() == 0
  • id == current
  • id != 0

Chiamate:

  • equipSets.TryGet
  • bridge.IsOnline
  • SystemMessage
  • equipSet.GetAtLayer
  • bridge.ObjAtLayer
  • actions.EquipSavedItem
  • bridge.Equip
  • bridge.UseObject
  • actions.UnequipItem
  • bridge.Unequip
  • injectionApi.Wait

Codice interno di implementazione; non è uno script autonomo.

private int Equip(string name, RuntimeDictionary<EquipSet> equipSets, int[] supportedLayers, string successMessage, string missingMessage)

        {

            if (equipSets.TryGet(name, out var equipSet))

            {

                if (bridge.IsOnline() == 0)

                {

                    SystemMessage("Equipment set requires an active connection.");

                    return 0;

                }

                bool success = true;

                foreach (var layer in supportedLayers)

                {

                    var id = equipSet.GetAtLayer(layer);

                    int current = bridge.ObjAtLayer(layer);

                    if (id == current) continue;

                    int accepted;

                    if (id != 0)

                    {

                        if (bridge is IApiEquipmentSetActions actions)

                            accepted = actions.EquipSavedItem(layer, id, state.UseEquipForDress != 0);

                        else if (state.UseEquipForDress != 0)

                            accepted = bridge.Equip(layer, id);

                        else

                        {

                            // Older bridge implementations expose only a void

                            // use call; successful dispatch is all they report.

                            bridge.UseObject(id);

                            accepted = 1;

                        }

                    }

                    else

                    {

                        accepted = bridge is IApiEquipmentActions actions

                            ? actions.UnequipItem(current) : bridge.Unequip(layer);

                    }

                    success &= accepted != 0;

                    if (accepted != 0 && state.DressSpeed > 0)

                        injectionApi.Wait(state.DressSpeed);

                }



                SystemMessage(success ? successMessage : "Some equipment set requests were rejected.");

                return success ? 1 : 0;

            }



            SystemMessage(missingMessage);

            return 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:1776.

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "addgumpignorebyid": state.IgnoredGumpIds.Add(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:1245.

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "attack": bridge.Attack(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:1593.

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "closemenu": bridge.CloseMenu(); 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:1987.

Risultato: new InjectionValue(Equip("__stealth_saved_set__", dressSets, dressLayers, "Clothing set requests processed.", "No clothing set with setdress.")).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "dresssavedset":

                case "equipdressset": return new InjectionValue(Equip("__stealth_saved_set__", dressSets, dressLayers, "Clothing set requests processed.", "No clothing set with setdress."));

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

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

Condizioni: arguments.Length > 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "finddistance":

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

                    return new InjectionValue(bridge.GetFindDistance());

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

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "getautoselldelay":

                    return new InjectionValue(bridge.GetAutoSellDelay());

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

Risultato: new InjectionValue(bridge.GetFoundItems().Select(serial => new InjectionValue(serial)).ToArray()).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "getfounditems":

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

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

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "getgumpserial": return new InjectionValue(bridge.GetGumpSerial(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:1568.

Risultato: new InjectionValue(bridge.GetHP(Arg(0, bridge.Self))).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "gethp": return new InjectionValue(bridge.GetHP(Arg(0, bridge.Self)));

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

Risultato: new InjectionValue(bridge.GetMaxHP(Arg(0, bridge.Self))).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "getmaxhp": return new InjectionValue(bridge.GetMaxHP(Arg(0, bridge.Self)));

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

Risultato: new InjectionValue(bridge.GetMaxStamina(Arg(0, bridge.Self))).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "getmaxstam": return new InjectionValue(bridge.GetMaxStamina(Arg(0, bridge.Self)));

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

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "getscriptpath": return new InjectionValue(bridge.GetScriptPath(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:1521.

Risultato: new InjectionValue(bridge.GetScriptsList().Select(value => new InjectionValue(value)).ToArray()).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "getscriptslist": return new InjectionValue(bridge.GetScriptsList().Select(value => new InjectionValue(value)).ToArray());

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "globalchatjoinchannel": bridge.GlobalChatJoin(Text(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:1909.

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "gumpautocheckbox": QueueGumpControl("checkbox", Arg(0), Text(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:1955.

Risultato: new InjectionValue(httpBody).

Codice interno di implementazione; non è uno script autonomo.

case "http_body": return new InjectionValue(httpBody);

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

Risultato: new InjectionValue(bridge.Poisoned(Arg(0, bridge.Self))).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "ispoisoned": return new InjectionValue(bridge.Poisoned(Arg(0, bridge.Self)));

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

Risultato: new InjectionValue(bridge.MaxStamina).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "maxstam": return new InjectionValue(bridge.MaxStamina);

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "objatlayer":

                    return new InjectionValue(arguments[0].Kind == InjectionValueKind.String

                        ? GetObject(ObjAtLayer(Text(0))) : bridge.ObjAtLayer(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:1650.

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "targettotile":

                    bridge.TargetToTile(Arg(0), Arg(1), Arg(2), Arg(3)); 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:1682.

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "togglefly": bridge.ToggleFly(); 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:1676.

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "useselfpaperdollscroll": bridge.UseObject(bridge.Self); 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:1648.

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "waitforclienttargetresponse": return new InjectionValue(bridge.WaitForClientTargetResponse(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:1296.

Risultato: new InjectionValue(bridge.LastAttack).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "lastattack":

                case "wartargetid": return new InjectionValue(bridge.LastAttack);

InjectionScript.Runtime.InjectionApiUO.ExecuteEmptyContainer

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue[] values

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

private InjectionValue ExecuteEmptyContainer(InjectionValue[] values)

Risultato: InjectionValue.

Condizioni:

  • source == 0

Chiamate:

  • Math.Max
  • NumberConversions.ToInt
  • ResolveTransferObject
  • bridge.SelectContainer
  • ResolveTransferDestination
  • bridge.EmptyContainer

Codice interno di implementazione; non è uno script autonomo.

private InjectionValue ExecuteEmptyContainer(InjectionValue[] values)

        {

            int delay = Math.Max(0, NumberConversions.ToInt(values[0]));

            int source = values.Length > 1 ? ResolveTransferObject(values[1]) : 0;

            if (source == 0) source = bridge.SelectContainer();

            if (source == 0) return InjectionValue.Zero;

            int destination = values.Length > 2 ? ResolveTransferDestination(values[2]) : bridge.Backpack;

            return new InjectionValue(bridge.EmptyContainer(source, destination, delay));

        }

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

Condizioni: arguments.Length > 1.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "dye":

                    if (arguments.Length > 1) bridge.WaitTargetObject(Arg(1));

                    bridge.UseObject(Arg(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:2976.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "loadhotkeys": bridge.LoadHotkeys(); break;

InjectionScript.Runtime.InjectionApiUO.FindCount

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue id

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

public int FindCount(InjectionValue id)

Risultato: int.

Chiamate:

  • bridge.GetQuantity
  • GetObject

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.FindType

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue type, InjectionValue color, InjectionValue container, InjectionValue range

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

public string FindType(InjectionValue type, InjectionValue color, InjectionValue container, InjectionValue range)

Risultato: string.

Condizioni:

  • container.Kind == InjectionValueKind.String && container.String.Equals("my", StringComparison.OrdinalIgnoreCase)

Chiamate:

  • container.String.Equals
  • FindType
  • ResolveType
  • NumberConversions.ToInt
  • ConvertContainer

Codice interno di implementazione; non è uno script autonomo.

public string FindType(InjectionValue type, InjectionValue color, InjectionValue container, InjectionValue range)

        {

            if (container.Kind == InjectionValueKind.String && container.String.Equals("my", StringComparison.OrdinalIgnoreCase))

                return FindType(ResolveType(type), NumberConversions.ToInt(color), ConvertContainer(container), NumberConversions.ToInt(range), true);

            else

                return FindType(ResolveType(type), NumberConversions.ToInt(color), ConvertContainer(container), NumberConversions.ToInt(range), false);

        }

InjectionScript.Runtime.InjectionApiUO.GetDistance

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int id

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

public int GetDistance(int id)

Risultato: int.

Chiamate:

  • bridge.GetDistance

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.GetEasyUO

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue number

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

public string GetEasyUO(InjectionValue number)

Risultato: string.

Chiamate:

  • bridge.GetEasyUO
  • NumberConversions.ToInt

Codice interno di implementazione; non è uno script autonomo.

public string GetEasyUO(InjectionValue number) => bridge.GetEasyUO(NumberConversions.ToInt(number));

InjectionScript.Runtime.InjectionApiUO.GetFoundedTextColor

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public string GetFoundedTextColor()

Risultato: string.

Chiamate:

—

Codice interno di implementazione; non è uno script autonomo.

public string GetFoundedTextColor() => selectedJournalEntry != null ? $"0x{selectedJournalEntry.Color:X4}" : "0x0000";

InjectionScript.Runtime.InjectionApiUO.GetNotoriety

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int id

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

public int GetNotoriety(int id)

Risultato: int.

Chiamate:

  • bridge.GetNotoriety

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.GetX

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string id

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

public int GetX(string id)

Risultato: int.

Chiamate:

  • GetX
  • GetObject

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.GetY

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int GetY()

Risultato: int.

Chiamate:

  • GetY

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.Grab

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int amount, string id

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

public int Grab(int amount, string id)

Risultato: int.

Chiamate:

  • CompactGrab

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.MatchesTextMask

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string source, InjectionValue mask

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

private static bool MatchesTextMask(string source, InjectionValue mask)

Risultato: bool.

Condizioni:

  • mask.Kind == InjectionValueKind.Unit || mask.Kind == InjectionValueKind.Any
  • mask.Kind != InjectionValueKind.String
  • raw.Length == 0 || raw == "-1" || raw.Equals("any", StringComparison.OrdinalIgnoreCase)
  • wanted.Length > 0 && haystack.IndexOf(wanted, StringComparison.OrdinalIgnoreCase) >= 0

Chiamate:

  • NumberConversions.ToInt
  • (mask.String ?? string.Empty).Trim
  • raw.Equals
  • raw.Split
  • token.Trim
  • haystack.IndexOf

Codice interno di implementazione; non è uno script autonomo.

private static bool MatchesTextMask(string source, InjectionValue mask)

        {

            if (mask.Kind == InjectionValueKind.Unit || mask.Kind == InjectionValueKind.Any)

                return true;

            if (mask.Kind != InjectionValueKind.String)

                return NumberConversions.ToInt(mask) <= 0;



            string raw = (mask.String ?? string.Empty).Trim();

            if (raw.Length == 0 || raw == "-1" || raw.Equals("any", StringComparison.OrdinalIgnoreCase))

                return true;

            string haystack = source ?? string.Empty;

            foreach (string token in raw.Split(new[] { '|', ',', ';' }, StringSplitOptions.RemoveEmptyEntries))

            {

                string wanted = token.Trim();

                if (wanted.Length > 0 && haystack.IndexOf(wanted, StringComparison.OrdinalIgnoreCase) >= 0)

                    return true;

            }

            return false;

        }

InjectionScript.Runtime.InjectionApiUO.MoveToCanonical::IsCurrentRequest

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

bool IsCurrentRequest()

Risultato: bool.

Risultato: ownership == null || ownership.IsMovementRequestCurrent(requestId).

Chiamate: ownership.IsMovementRequestCurrent.

Codice interno di implementazione; non è uno script autonomo.

bool IsCurrentRequest() => ownership == null || ownership.IsMovementRequestCurrent(requestId);

InjectionScript.Runtime.InjectionApiUO.ResolveTransferDestination

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue value, bool allowGround = false

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

private int ResolveTransferDestination(InjectionValue value, bool allowGround = false)

Risultato: int.

Condizioni:

  • value.Kind == InjectionValueKind.String

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

                  || name.Equals("my", StringComparison.OrdinalIgnoreCase)
    
                  || name.Equals("backpack", StringComparison.OrdinalIgnoreCase)`
    
  • bridge.Backpack > 0

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

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

Chiamate:

  • .Trim
  • name.Equals
  • NumberConversions.TryStr2Int
  • TryGetObject
  • ResolveTransferObject

Codice interno di implementazione; non è uno script autonomo.

private int ResolveTransferDestination(InjectionValue value, bool allowGround = false)

        {

            // "self" as a transfer destination means the player's inventory.

            // Keep normal object lookup unchanged: GetX('self') still means the player.

            if (value.Kind == InjectionValueKind.String)

            {

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

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

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

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

                {

                    if (bridge.Backpack > 0) return bridge.Backpack;

                    throw new NativeSubrutineException("No player backpack is available.");

                }

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

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

                {

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

                    if (receiving > 0) return receiving;

                    throw new NativeSubrutineException("No receiving container or player backpack is available.");

                }

                if (allowGround && name.Equals("ground", StringComparison.OrdinalIgnoreCase)) return 0;

                // A missing named target must never become a ground drop merely

                // because coordinates were supplied. Only explicit ground/0 does.

                if (!NumberConversions.TryStr2Int(name, out int literal))

                {

                    if (TryGetObject(name, out int serial) && serial > 0) return serial;

                    throw new NativeSubrutineException("Unknown transfer destination: " + name);

                }

                value = new InjectionValue(literal);

            }

            return ResolveTransferObject(value, allowGround);

        }

InjectionScript.Runtime.InjectionApiUO.StealthCnt

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int StealthCnt()

Risultato: int.

Chiamate:

  • bridge.StealthCnt

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.TryResolveWorldItemQueryContainer

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue value, out int container

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

private bool TryResolveWorldItemQueryContainer(InjectionValue value, out int container)

Risultato: bool.

Condizioni:

  • value.Kind == InjectionValueKind.String
  • text.Equals("ground", StringComparison.OrdinalIgnoreCase)
  • text.Equals("my", StringComparison.OrdinalIgnoreCase) || text.Equals("backpack", StringComparison.OrdinalIgnoreCase)
  • !NumberConversions.TryStr2Int(text, out literal)

Chiamate:

  • value.String.Trim
  • text.Equals
  • NumberConversions.TryStr2Int
  • TryGetObject

Codice interno di implementazione; non è uno script autonomo.

private bool TryResolveWorldItemQueryContainer(InjectionValue value, out int container)

        {

            container = 0;

            int literal;

            if (value.Kind == InjectionValueKind.String)

            {

                string text = value.String.Trim();

                if (text.Equals("ground", StringComparison.OrdinalIgnoreCase))

                    return true;

                if (text.Equals("my", StringComparison.OrdinalIgnoreCase) || text.Equals("backpack", StringComparison.OrdinalIgnoreCase))

                {

                    container = bridge.Backpack;

                    return container > 0;

                }

                if (!NumberConversions.TryStr2Int(text, out literal))

                    return TryGetObject(new InjectionValue(text), out container) && container > 0;

            }

            else if (value.Kind == InjectionValueKind.Integer)

                literal = value.Integer;

            else

                return false;

            // Preserve explicit numeric ground selectors; -1 is the legacy bag selector.

            if (literal == 0 || literal == 1)

                return true;

            container = literal == -1 ? bridge.Backpack : literal;

            return container > 0;

        }

InjectionScript.Runtime.InjectionApiUO.WaitGump

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int triggerId

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

public void WaitGump(int triggerId)

Risultato: void.

Condizioni:

  • bridge is IApiGumpAutomation automation

Chiamate:

  • automation.QueueGumpButtons
  • bridge.WaitGumpSelect

Codice interno di implementazione; non è uno script autonomo.

public void WaitGump(int triggerId)

        {

            if (bridge is IApiGumpAutomation automation) automation.QueueGumpButtons(new[] { triggerId });

            else bridge.WaitGumpSelect(triggerId, 30_000);

        }

InjectionScript.Runtime.InjectionApiUO.WaitMenu

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string prompt1, string choice1, string prompt2, string choice2

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

public void WaitMenu(string prompt1, string choice1, string prompt2, string choice2)

Risultato: void.

Chiamate:

  • bridge.WaitMenu

Codice interno di implementazione; non è uno script autonomo.

public void WaitMenu(string prompt1, string choice1, string prompt2, string choice2)

            => bridge.WaitMenu(prompt1, choice1, prompt2, choice2);

InjectionScript.Runtime.InjectionApiUO.WaitTargetGround

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue type

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

public void WaitTargetGround(InjectionValue type)

Risultato: void.

Chiamate:

  • WaitTargetGround

Codice interno di implementazione; non è uno script autonomo.

public void WaitTargetGround(InjectionValue type) => WaitTargetGround(type, new InjectionValue(-1));

InjectionScript.Runtime.InjectionApiUO.WaitTargetObject

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string id

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

public void WaitTargetObject(string id)

Risultato: void.

Chiamate:

  • WaitTargetObject
  • GetObject

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.WarMode

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int WarMode()

Risultato: int.

Chiamate:

  • bridge.WarMode

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [CharacterTitle]

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

Risultato: bridge.CharacterTitle.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.CharacterTitle

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Direction]

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

Risultato: bridge.GetDir(bridge.Self).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetMaxLife]

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

Risultato: bridge.GetMaxHP(bridge.Self).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.GetMaxHP(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [GetMobiles]

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

values

Risultato: values.

Risultato: CompactGetMobiles(values).

Chiamate: CompactGetMobiles.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

values => CompactGetMobiles(values)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetPetsMax]

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

Risultato: bridge.FollowersMax.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.FollowersMax

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetResistPhysical]

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

Risultato: bridge.Armor.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.Armor

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [ResistCold]

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

Risultato: bridge.ColdResistance.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.ColdResistance

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [ResistEnergy]

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

Risultato: bridge.EnergyResistance.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.EnergyResistance

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [X]

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

Risultato: bridge.GetX(bridge.Self).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.GetX(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Y]

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

Risultato: bridge.GetY(bridge.Self).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.GetY(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: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.State.IgnoreTypeFilter.Matches

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int type, int hue

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

public bool Matches(int type, int hue)

Risultato: bool.

Chiamate:

  • rules.Contains

Codice interno di implementazione; non è uno script autonomo.

public bool Matches(int type, int hue) => rules.Contains((type, hue)) || rules.Contains((type, -1))
            || rules.Contains((-1, hue)) || rules.Contains((-1, -1));

InjectionScript.Runtime.State.NamedTypes.Set

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string name, int graphic

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedTypes.cs:22.

public void Set(string name, int graphic)

Risultato: void.

Condizioni:

  • graphic < 0 || graphic > ushort.MaxValue

Chiamate:

  • ValidateName

Codice interno di implementazione; non è uno script autonomo.

public void Set(string name, int graphic)
        {
            string key = ValidateName(name);
            if (graphic < 0 || graphic > ushort.MaxValue)
                throw new NativeSubrutineException("UO.AddType requires a graphic in 0..65535, not an object serial.");
            lock (gate) values[key] = graphic;
        }

InjectionScript.Runtime.State.SharedGlobalStore.Set

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string name, string value

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/Globals.cs:85.

public void Set(string name, string value)

Risultato: void.

Condizioni:

  • filePath == null
  • File.Exists(temporary)

Chiamate:

  • ArgumentException.ThrowIfNullOrWhiteSpace
  • WithLock
  • Read
  • Directory.CreateDirectory
  • Path.GetDirectoryName
  • Guid.NewGuid().ToString
  • Guid.NewGuid
  • JsonSerializer.Serialize
  • stream.Flush
  • File.Move
  • File.Exists
  • File.Delete

Codice interno di implementazione; non è uno script autonomo.

public void Set(string name, string value)

        {

            ArgumentException.ThrowIfNullOrWhiteSpace(name);

            value ??= string.Empty;

            if (filePath == null) { lock (memoryLock) memory[name] = value; return; }

            WithLock(() =>

            {

                var values = Read(); values[name] = value;

                Directory.CreateDirectory(Path.GetDirectoryName(filePath));

                string temporary = filePath + "." + Guid.NewGuid().ToString("N") + ".tmp";

                try

                {

                    using (var stream = new FileStream(temporary, FileMode.CreateNew, FileAccess.Write, FileShare.None))

                    {

                        JsonSerializer.Serialize(stream, values);

                        stream.Flush(flushToDisk: true);

                    }

                    File.Move(temporary, filePath, overwrite: true);

                }

                finally { if (File.Exists(temporary)) File.Delete(temporary); }

                return 0;

            });

        }

InjectionScript.Runtime.State.SharedGlobalStore.Read

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/Globals.cs:119.

private Dictionary<string, string> Read()

Risultato: Dictionary<string, string>.

Condizioni:

  • !File.Exists(filePath)
  • values == null

Chiamate:

  • File.Exists
  • File.OpenRead
  • JsonSerializer.Deserialize<Dictionary<string, string>>

Codice interno di implementazione; non è uno script autonomo.

private Dictionary<string, string> Read()

        {

            if (!File.Exists(filePath)) return new Dictionary<string, string>(StringComparer.Ordinal);

            try

            {

                using var stream = File.OpenRead(filePath);

                var values = JsonSerializer.Deserialize<Dictionary<string, string>>(stream);

                if (values == null) throw new InvalidDataException("The shared C# global store contains no object.");

                return new Dictionary<string, string>(values, StringComparer.Ordinal);

            }

            catch (JsonException error)

            { throw new InvalidDataException("The shared C# global store is invalid; existing data was preserved.", error); }

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