Skip to content

IT Runtime Helpers F

Codex edited this page Oct 12, 2026 · 1 revision

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

Funzioni ausiliarie F

Codice interno di implementazione; non è uno script autonomo.

ClassicUO.CSharp.CSharpCallbacks.BindWorker

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

private IDisposable BindWorker()

Risultato: IDisposable.

Risultato: new Release(() => Current.Value = previous).

Codice interno di implementazione; non è uno script autonomo.

private IDisposable BindWorker()
    {
        var previous = Current.Value;
        Current.Value = new Ambient(this, previous);
        return new Release(() => Current.Value = previous);
    }

ClassicUO.CSharp.CSharpCallbacks.Subscribe

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: eventName, handler

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

public IDisposable Subscribe(string eventName, Func<object?[], Task> handler)

Risultato: IDisposable.

Risultato: new Release(() => Remove(listener)).

Chiamate: ArgumentNullException.ThrowIfNull, Verify, events.Subscribe, listeners.Add, source.Dispose.

Condizioni: events is null.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public IDisposable Subscribe(string eventName, Func<object?[], Task> handler)
    {
        ArgumentNullException.ThrowIfNull(handler);
        Verify();
        if (events is null) throw new InvalidOperationException("Client events require a connected C# event source.");
        var source = events.Subscribe(eventName);
        var listener = new Listener(eventName, source, handler);
        try { lock (sync) { Verify(); listeners.Add(listener); } }
        catch { source.Dispose(); throw; }
        return new Release(() => Remove(listener));
    }

ClassicUO.CSharp.CSharpCallbacks.Trigger

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: state

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

private void Trigger(StateEvent state)

Risultato: void.

Chiamate: stateEvents.GetValueOrDefault, RemoveState, Exists, Start, host.HasCSharpScript, host.ExecuteCSharpScript.

Condizioni: stateEvents.GetValueOrDefault(state.Name) != state; !state.Repeat; state.Handler.Length == 0; Exists(state.Handler).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private void Trigger(StateEvent state)
    {
        lock (sync) if (stateEvents.GetValueOrDefault(state.Name) != state) return;
        if (!state.Repeat) RemoveState(state.Name);
        if (state.Handler.Length == 0) return;
        if (Exists(state.Handler)) Start(state.Handler);
        else if (events is ICSharpScriptHost host && host.HasCSharpScript(state.Handler))
            host.ExecuteCSharpScript("exec \"" + state.Handler + "\"");
        else throw new ArgumentException($"Register the C# routine or load the C# event script '{state.Handler}' before enabling this handler.");
    }

ClassicUO.Game.GameActions.ChangeSkillLockStatus

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: skillindex, lockstate

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

public static void ChangeSkillLockStatus(ushort skillindex, byte lockstate)

Risultato: void.

Chiamate: Socket.Send_SkillStatusChangeRequest.

Codice interno di implementazione; non è uno script autonomo.

public static void ChangeSkillLockStatus(ushort skillindex, byte lockstate)
        {
            Socket.Send_SkillStatusChangeRequest(skillindex, lockstate);
        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CircleTrans

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

public int CircleTrans()

Risultato: int.

Risultato: Invoke(() => ProfileManager.CurrentProfile?.UseCircleOfTransparency == true ? 1 : 0).

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int CircleTrans() => Invoke(() => ProfileManager.CurrentProfile?.UseCircleOfTransparency == true ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseClientGump

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: id

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

public void CloseClientGump(int id)

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

        {

            foreach (Gump gump in ServerGumpsUnsafe().Where(gump => gump.ServerSerial == (uint)id).ToArray())

                gump.Dispose();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ControlButtonId

Restituisce il valore dell’espressione seguente.

Parametri: control

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

private static int ControlButtonId(Control control)

Risultato: int.

Risultato: control is Button b ? b.ButtonID : ((SessionGumpControl)control).ButtonId.

Codice interno di implementazione; non è uno script autonomo.

private static int ControlButtonId(Control control) => control is Button b ? b.ButtonID : ((SessionGumpControl)control).ButtonId;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DeleteJournal

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void DeleteJournal()

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void DeleteJournal() => Invoke(() =>

        {

            JournalManager.Entries.Clear();

            _journalLine = 0;

            _journalMatchCount = 0;

            _lastJournalMatch = null;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Dexterity

Legge il valore corrente del personaggio dal modello locale del client.

Parametri: Nessun parametro.

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

public int Dexterity

Risultato: int.

Risultato: Invoke(() => _world.Player is { IsDestroyed: false } player ? player.Dexterity : 0).

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int Dexterity => Invoke(() => _world.Player is { IsDestroyed: false } player ? player.Dexterity : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpId

Restituisce il valore dell’espressione seguente.

Parametri: index

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

public int GetGumpId(int index)

Risultato: int.

Risultato: Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.ServerSerial ?? 0)).

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int GetGumpId(int index) => Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.ServerSerial ?? 0));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetIgnoreList

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

public int[] GetIgnoreList()

Risultato: int[].

Risultato: State.IgnoredSerials.OrderBy(serial => serial).ToArray().

Chiamate: State.IgnoredSerials.OrderBy(serial => serial).ToArray, State.IgnoredSerials.OrderBy.

Codice interno di implementazione; non è uno script autonomo.

public int[] GetIgnoreList() => State.IgnoredSerials.OrderBy(serial => serial).ToArray();

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMaxStamina

Restituisce il valore dell’espressione seguente.

Parametri: id

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

public int GetMaxStamina(int id)

Risultato: int.

Risultato: Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.StaminaMax ?? 0).

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int GetMaxStamina(int id) => Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.StaminaMax ?? 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetPing

Restituisce il valore dell’espressione seguente.

Parametri: timeoutMs

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

public int GetPing(int timeoutMs)

Risultato: int.

Risultato: TryProbeServerPing(timeoutMs, out int pingMs) ? pingMs : -1.

Chiamate: TryProbeServerPing.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int GetPing(int timeoutMs)

            => TryProbeServerPing(timeoutMs, out int pingMs) ? pingMs : -1;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetSkillValue

Restituisce il valore dell’espressione seguente.

Parametri: name, current, cap

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

public double GetSkillValue(string name, bool current, bool cap)

Risultato: double.

Chiamate: Invoke.

Chiamate:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { Skill skill = FindSkillUnsafe(name); if (skill == null) return 0d; // Convert the protocol's tenths directly to the runtime's Double. // Widening Skill.Value/Base/Cap first preserves their Single rounding error. return (cap ? skill.CapFixed : current ? skill.ValueFixed : skill.BaseFixed) / 10d; }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { Skill skill = FindSkillUnsafe(name); if (skill == null) return 0d; // Convert the protocol's tenths directly to the runtime's Double. // Widening Skill.Value/Base/Cap first preserves their Single rounding error. return (cap ? skill.CapFixed : current ? skill.ValueFixed : skill.BaseFixed) / 10d; }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindSkillUnsafe: FindSkillUnsafe(name).

Codice interno di implementazione; non è uno script autonomo.

public double GetSkillValue(string name, bool current, bool cap) => Invoke(() =>

        {

            Skill skill = FindSkillUnsafe(name);

            if (skill == null) return 0d;

            // Convert the protocol's tenths directly to the runtime's Double.

            // Widening Skill.Value/Base/Cap first preserves their Single rounding error.

            return (cap ? skill.CapFixed : current ? skill.ValueFixed : skill.BaseFixed) / 10d;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetStatLockState

Restituisce il valore dell’espressione seguente.

Parametri: stat

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

public int GetStatLockState(int stat)

Risultato: int.

Chiamate: Invoke.

Chiamate:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => stat switch { 0 => (int)(_world.Player?.StrLock ?? Lock.Up), 1 => (int)(_world.Player?.DexLock ?? Lock.Up), 2 => (int)(_world.Player?.IntLock ?? Lock.Up), _ => -1 }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => stat switch { 0 => (int)(_world.Player?.StrLock ?? Lock.Up), 1 => (int)(_world.Player?.DexLock ?? Lock.Up), 2 => (int)(_world.Player?.IntLock ?? Lock.Up), _ => -1 }). Candidati di overload: l’origine non conferma il candidato selezionato.

Codice interno di implementazione; non è uno script autonomo.

public int GetStatLockState(int stat) => Invoke(() => stat switch

        {

            0 => (int)(_world.Player?.StrLock ?? Lock.Up),

            1 => (int)(_world.Player?.DexLock ?? Lock.Up),

            2 => (int)(_world.Player?.IntLock ?? Lock.Up),

            _ => -1

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTooltip::ReadTooltip

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

string ReadTooltip()

Risultato: string.

Chiamate: Invoke.

Chiamate:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (!_world.OPL.TryGetNameAndData(serial, out string name, out string data)) return null; if (string.IsNullOrWhiteSpace(name)) return data ?? string.Empty; if (string.IsNullOrWhiteSpace(data)) return name; return name + Environment.NewLine + data; }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (!_world.OPL.TryGetNameAndData(serial, out string name, out string data)) return null; if (string.IsNullOrWhiteSpace(name)) return data ?? string.Empty; if (string.IsNullOrWhiteSpace(data)) return name; return name + Environment.NewLine + data; }). Candidati di overload: l’origine non conferma il candidato selezionato.

Codice interno di implementazione; non è uno script autonomo.

string ReadTooltip() => Invoke(() =>

            {

                if (!_world.OPL.TryGetNameAndData(serial, out string name, out string data))

                    return null;

                if (string.IsNullOrWhiteSpace(name)) return data ?? string.Empty;

                if (string.IsNullOrWhiteSpace(data)) return name;

                return name + Environment.NewLine + data;

            });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTooltipRecords

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: objectId

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

public (int ClilocID, string[] Parameters)[] GetTooltipRecords(int objectId)

Risultato: (int ClilocID, string[] Parameters)[].

Risultato: Array.Empty<(int, string[])>(); records.

Chiamate: Array.Empty<(int, string[])>, ReadRecords, Invoke, _cancellationToken.ThrowIfCancellationRequested, _cancellationToken.WaitHandle.WaitOne.

Condizioni: serial == 0; records.Length != 0; Invoke(() => _world.OPL.Contains(serial)).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public (int ClilocID, string[] Parameters)[] GetTooltipRecords(int objectId)

        {

            uint serial = unchecked((uint)objectId);

            if (serial == 0)

                return Array.Empty<(int, string[])>();



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

            var records = ReadRecords();

            if (records.Length != 0)

                return records;



            if (Invoke(() => _world.OPL.Contains(serial)))

                return records;

            for (int waited = 0; waited < 120; waited += 10)

            {

                _cancellationToken.ThrowIfCancellationRequested();

                _cancellationToken.WaitHandle.WaitOne(10);

                records = ReadRecords();

                if (records.Length != 0)

                    return records;

            }



            _cancellationToken.ThrowIfCancellationRequested();

            return Array.Empty<(int, string[])>();

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetWeaponAbilities

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

public int[] GetWeaponAbilities()

Risultato: int[].

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int[] GetWeaponAbilities() => Invoke(() => _world.Player?.Abilities

            .Select(value => (int)((byte)value & 0x7F))

            .Where(value => value > 0)

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetY

Restituisce il valore dell’espressione seguente.

Parametri: id

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

public int GetY(int id)

Risultato: int.

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

Chiamate: WithEntity.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int GetY(int id) => WithEntity(id, e => e.Y);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GlobalChatSend

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: message

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

public void GlobalChatSend(string message)

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void GlobalChatSend(string message) => Invoke(() => NetClient.Socket.Send_ChatMessageCommand(message ?? string.Empty));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.HasDoorAt

Restituisce il valore dell’espressione seguente.

Parametri: x, y, z, map

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

public int HasDoorAt(int x, int y, int z, int map)

Risultato: int.

Chiamate: Invoke.

Chiamate:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map == null || map != _world.MapIndex) return 0; for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (Math.Abs(tile.Z - z) > 20) continue; bool isDoor = false; if (tile is Static staticTile) isDoor = staticTile.ItemData.IsDoor; else if (tile is Multi multiTile) isDoor = multiTile.ItemData.IsDoor; else if (tile is Item itemTile) isDoor = itemTile.ItemData.IsDoor; if (isDoor) return 1; } return 0; }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map == null || map != _world.MapIndex) return 0; for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (Math.Abs(tile.Z - z) > 20) continue; bool isDoor = false; if (tile is Static staticTile) isDoor = staticTile.ItemData.IsDoor; else if (tile is Multi multiTile) isDoor = multiTile.ItemData.IsDoor; else if (tile is Item itemTile) isDoor = itemTile.ItemData.IsDoor; if (isDoor) return 1; } return 0; }). Candidati di overload: l’origine non conferma il candidato selezionato.

Codice interno di implementazione; non è uno script autonomo.

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

        {

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

                return 0;

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

            {

                if (Math.Abs(tile.Z - z) > 20)

                    continue;



                bool isDoor = false;

                if (tile is Static staticTile)

                    isDoor = staticTile.ItemData.IsDoor;

                else if (tile is Multi multiTile)

                    isDoor = multiTile.ItemData.IsDoor;

                else if (tile is Item itemTile)

                    isDoor = itemTile.ItemData.IsDoor;



                if (isDoor)

                    return 1;

            }

            return 0;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.HelpRequest

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void HelpRequest()

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void HelpRequest() => Invoke(GameActions.RequestHelp);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.InParty

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

public int InParty()

Risultato: int.

Risultato: Invoke(() => _world.Party.Leader != 0 ? 1 : 0).

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int InParty() => Invoke(() => _world.Party.Leader != 0 ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke

Passa il lavoro al thread di gioco e rispetta l’annullamento.

Parametri: callback

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

private T Invoke<T>(Func<T> callback)

Risultato: T.

Risultato: _manager.InvokeOnGameThread(callback, _cancellationToken).

Chiamate: _manager.InvokeOnGameThread.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private T Invoke<T>(Func<T> callback) => _manager.InvokeOnGameThread(callback, _cancellationToken);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsMoving

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

public int IsMoving()

Risultato: int.

Risultato: Invoke(() => _world.Player != null && (_world.Player.Pathfinder.AutoWalking || _world.Player.Steps.Count > 0) ? 1 : 0).

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int IsMoving() => Invoke(() => _world.Player != null && (_world.Player.Pathfinder.AutoWalking || _world.Player.Steps.Count > 0) ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsSelfMobile

Restituisce il valore dell’espressione seguente.

Parametri: mobile

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

private bool IsSelfMobile(Mobile mobile)

Risultato: bool.

Risultato: player != null && (ReferenceEquals(mobile, player) || mobile?.Serial == player.Serial).

Chiamate: ReferenceEquals.

Codice interno di implementazione; non è uno script autonomo.

private bool IsSelfMobile(Mobile mobile)

        {

            PlayerMobile player = _world.Player;

            return player != null && (ReferenceEquals(mobile, player) || mobile?.Serial == player.Serial);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.KeyPress

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: key

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

public void KeyPress(int key)

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void KeyPress(int key) => Invoke(() =>

        {

            RequireGameInput();

            keybd_event((byte)key, 0, 0, UIntPtr.Zero);

            keybd_event((byte)key, 0, 2, UIntPtr.Zero);

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LoadHotkeys

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void LoadHotkeys()

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void LoadHotkeys() => Invoke(_world.Macros.Load);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MatchesFindContainer

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: item, containerId, range, recursive, checkVertical

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

private bool MatchesFindContainer(Item item, int containerId, int range, bool recursive, bool checkVertical = true)

Risultato: bool.

Risultato: item.RootContainer == _world.Player?.Serial; recursive ? IsInsideContainer(item, (uint)containerId) : item.Container == (uint)containerId; true.

Chiamate: Math.Abs, IsInsideContainer.

Condizioni: containerId == -1 || containerId == 0; containerId == 1; containerId > 1.

Codice interno di implementazione; non è uno script autonomo.

private bool MatchesFindContainer(Item item, int containerId, int range, bool recursive, bool checkVertical = true)

        {

            if (containerId == -1 || containerId == 0)

                return item.RootContainer == _world.Player?.Serial;

            if (containerId == 1)

                return item.OnGround && item.Distance <= range

                    && (!checkVertical || _world.Player == null || Math.Abs(item.Z - _world.Player.Z) <= State.FindVertical);

            if (containerId > 1)

                return recursive ? IsInsideContainer(item, (uint)containerId) : item.Container == (uint)containerId;

            return true;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PrivateGetTile

Restituisce il valore dell’espressione seguente.

Parametri: x, y, unknown, minTile, maxTile

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

public string PrivateGetTile(int x, int y, int unknown, int minTile, int maxTile)

Risultato: string.

Chiamate: Invoke.

Chiamate:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map is null) return "0x0000"; GameObject tile = _world.Map.GetTile(x, y); while (tile != null) { if (tile.Graphic >= minTile && tile.Graphic <= maxTile) { return $"0x{tile.Graphic:X4}"; } tile = tile.TNext; } return "0x0000"; }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map is null) return "0x0000"; GameObject tile = _world.Map.GetTile(x, y); while (tile != null) { if (tile.Graphic >= minTile && tile.Graphic <= maxTile) { return $"0x{tile.Graphic:X4}"; } tile = tile.TNext; } return "0x0000"; }). Candidati di overload: l’origine non conferma il candidato selezionato.

Codice interno di implementazione; non è uno script autonomo.

public string PrivateGetTile(int x, int y, int unknown, int minTile, int maxTile) => Invoke(() =>

        {

            if (_world.Map is null) return "0x0000";

            GameObject tile = _world.Map.GetTile(x, y);

            while (tile != null)

            {

                if (tile.Graphic >= minTile && tile.Graphic <= maxTile)

                {

                    return $"0x{tile.Graphic:X4}";

                }

                tile = tile.TNext;

            }

            return "0x0000";

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ReplyServerPrompt

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: text

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

public void ReplyServerPrompt(string text)

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void ReplyServerPrompt(string text) => Invoke(() => _world.MessageManager.SendServerPromptResponse(text ?? string.Empty));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestInteractiveTileInfoTarget

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: Nessun parametro.

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

public int RequestInteractiveTileInfoTarget()

Risultato: int.

Risultato: 0.

Chiamate: Invoke.

Condizioni: !_interactiveCommands.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int RequestInteractiveTileInfoTarget()

        {

            if (!_interactiveCommands)

                return 0;



            return Invoke(() =>

            {

                _world.TargetManager.SetTargeting(selected =>

                {

                    bool valid = selected != null && selected is not Entity;

                    string result = valid

                        ? FormatTileInfo(selected, _world.MapIndex)

                        : "UO.InfoTile: select a land or static map tile, not an item or mobile.";

                    if (valid)

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

                    PrintInteractiveResult(result);

                }, 0, TargetType.Neutral);

                PrintInteractiveResult("UO.InfoTile: target a land or static map tile.");

                return 1;

            });

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Say

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: message, color

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

public void Say(string message, int color)

Risultato: void.

Chiamate: Invoke.

Chiamate:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { GameActions.Say(message ?? string.Empty, unchecked((ushort)color), allowYokoCommand: SCRIPT_SAY_ALLOW_YOKO_COMMAND); ReportStatus($"UO.UOSayColor delivered through ClassicUO server speech (hue=0x{unchecked((ushort)color):X4})"); }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { GameActions.Say(message ?? string.Empty, unchecked((ushort)color), allowYokoCommand: SCRIPT_SAY_ALLOW_YOKO_COMMAND); ReportStatus($"UO.UOSayColor delivered through ClassicUO server speech (hue=0x{unchecked((ushort)color):X4})"); }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ReportStatus: ReportStatus($"UO.UOSayColor delivered through ClassicUO server speech (hue=0x{unchecked((ushort)color):X4})").

Codice interno di implementazione; non è uno script autonomo.

public void Say(string message, int color) => Invoke(() =>

        {

            GameActions.Say(message ?? string.Empty, unchecked((ushort)color),

                allowYokoCommand: SCRIPT_SAY_ALLOW_YOKO_COMMAND);

            ReportStatus($"UO.UOSayColor delivered through ClassicUO server speech (hue=0x{unchecked((ushort)color):X4})");

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self

Legge il valore corrente del personaggio dal modello locale del client.

Parametri: Nessun parametro.

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

public int Self

Risultato: int.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int Self => Invoke(() => _world.Player is { IsDestroyed: false } player

            ? unchecked((int)player.Serial) : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SendShopReply

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: reply

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

public void SendShopReply(string reply)

Risultato: void.

Chiamate: Invoke.

Chiamate:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Shops.Last is { } shop) { shop.Reply(reply); return; } ShopGump gump = UIManager.Gumps.OfType<ShopGump>().LastOrDefault(item => item.World == _world && !item.IsDisposed && item.ShopState == null); if (gump == null) Error("UO.SendShopReply: no active vendor offer"); else gump.SendYokoShopReply(reply); }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Shops.Last is { } shop) { shop.Reply(reply); return; } ShopGump gump = UIManager.Gumps.OfType<ShopGump>().LastOrDefault(item => item.World == _world && !item.IsDisposed && item.ShopState == null); if (gump == null) Error("UO.SendShopReply: no active vendor offer"); else gump.SendYokoShopReply(reply); }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error: Error("UO.SendShopReply: no active vendor offer").

Codice interno di implementazione; non è uno script autonomo.

public void SendShopReply(string reply) => Invoke(() =>

        {

            if (_world.Shops.Last is { } shop) { shop.Reply(reply); return; }

            ShopGump gump = UIManager.Gumps.OfType<ShopGump>().LastOrDefault(item => item.World == _world && !item.IsDisposed && item.ShopState == null);

            if (gump == null)

                Error("UO.SendShopReply: no active vendor offer");

            else

                gump.SendYokoShopReply(reply);

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StopMoving

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void StopMoving()

Risultato: void.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void StopMoving() => Invoke(() =>

        {

            _manager.StopFollowing();

            _world.Player?.Pathfinder.StopAutoWalk();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TradeCheck

Restituisce il valore dell’espressione seguente.

Parametri: windowIndex, checkbox, state, setState

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

public int TradeCheck(int windowIndex, int checkbox, int state, bool setState)

Risultato: int.

Chiamate: Invoke.

Chiamate:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { ISessionTrade gump = FindTrade(windowIndex); if (gump == null || checkbox < 0 || checkbox > 1) return 0; if (setState && checkbox == 0 && gump.ImAccepting != (state != 0)) { gump.ImAccepting = state != 0; GameActions.AcceptTrade(gump.ID1, gump.ImAccepting); } return (checkbox == 0 ? gump.ImAccepting : gump.HeIsAccepting) ? 1 : 0; }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { ISessionTrade gump = FindTrade(windowIndex); if (gump == null || checkbox < 0 || checkbox > 1) return 0; if (setState && checkbox == 0 && gump.ImAccepting != (state != 0)) { gump.ImAccepting = state != 0; GameActions.AcceptTrade(gump.ID1, gump.ImAccepting); } return (checkbox == 0 ? gump.ImAccepting : gump.HeIsAccepting) ? 1 : 0; }). Candidati di overload: l’origine non conferma il candidato selezionato.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindTrade: FindTrade(windowIndex).
  • ClassicUO.Game.GameActions.AcceptTrade: GameActions.AcceptTrade(gump.ID1, gump.ImAccepting).

Codice interno di implementazione; non è uno script autonomo.

public int TradeCheck(int windowIndex, int checkbox, int state, bool setState) => Invoke(() =>

        {

            ISessionTrade gump = FindTrade(windowIndex);

            if (gump == null || checkbox < 0 || checkbox > 1)

                return 0;

            if (setState && checkbox == 0 && gump.ImAccepting != (state != 0))

            {

                gump.ImAccepting = state != 0;

                GameActions.AcceptTrade(gump.ID1, gump.ImAccepting);

            }

            return (checkbox == 0 ? gump.ImAccepting : gump.HeIsAccepting) ? 1 : 0;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TradeOpponent

Restituisce il valore dell’espressione seguente.

Parametri: windowIndex

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

public int TradeOpponent(int windowIndex)

Risultato: int.

Chiamate: Invoke.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

        {

            ISessionTrade gump = FindTrade(windowIndex);

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

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Unequip

Restituisce il valore dell’espressione seguente.

Parametri: layer

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

public int Unequip(int layer)

Risultato: int.

Risultato: UnequipExpected(layer, null).

Chiamate: UnequipExpected.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int Unequip(int layer) => UnequipExpected(layer, null);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseVirtue

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: nameOrId

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

public int UseVirtue(string nameOrId)

Risultato: int.

Risultato: 0; 1.

Chiamate: .Trim().ToLowerInvariant, .Trim, int.TryParse, Invoke.

Condizioni: id < 1 || id > 8.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int UseVirtue(string nameOrId)

        {

            int id = nameOrId?.Trim().ToLowerInvariant() switch

            {

                "honor" => 1, "sacrifice" => 2, "valor" => 3,

                "compassion" => 4, "honesty" => 5, "humility" => 6,

                "justice" => 7, "spirituality" => 8,

                _ => int.TryParse(nameOrId, out int value) ? value : 0

            };

            if (id < 1 || id > 8) return 0;

            Invoke(() => NetClient.Socket.Send_InvokeVirtueRequest((byte)id));

            return 1;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitTargetObject

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: id1, id2

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

public void WaitTargetObject(int id1, int id2)

Risultato: void.

Chiamate: _manager.QueueTarget.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void WaitTargetObject(int id1, int id2)

        {

            _manager.QueueTarget((uint)id1, _cancellationToken);

            _manager.QueueTarget((uint)id2, _cancellationToken);

        }

ClassicUO.Game.Managers.ClientFontManager.Invalidate

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/ClientFontManager.cs:182.

internal static void Invalidate()

Risultato: void.

Codice interno di implementazione; non è uno script autonomo.

internal static void Invalidate()

        {

            unchecked

            {

                _revision++;

            }

        }

ClassicUO.Game.Managers.JournalManager.AddYokoIgnoredText

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: text

Origine: Project_Full/src/ClassicUO.Client/Game/Managers/JournalManager.cs:34.

internal static void AddYokoIgnoredText(string text)

Risultato: void.

Chiamate: string.IsNullOrWhiteSpace, _yokoIgnoredText.Add, text.Trim.

Condizioni: !string.IsNullOrWhiteSpace(text).

Codice interno di implementazione; non è uno script autonomo.

internal static void AddYokoIgnoredText(string text)
        {
            if (!string.IsNullOrWhiteSpace(text))
                _yokoIgnoredText.Add(text.Trim());
        }

ClassicUO.Game.Managers.YokoInjectionManager.GetScriptsCount

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

internal int GetScriptsCount()

Risultato: int.

Risultato: _running.Count(entry => !entry.Value.Cancellation.IsCancellationRequested).

Chiamate: _running.Count.

Codice interno di implementazione; non è uno script autonomo.

internal int GetScriptsCount() => _running.Count(entry => !entry.Value.Cancellation.IsCancellationRequested);

ClassicUO.Game.Managers.YokoInjectionManager.HasServerTargetCursor

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

private bool HasServerTargetCursor()

Risultato: bool.

Risultato: _world.TargetManager.IsServerTarget.

Codice interno di implementazione; non è uno script autonomo.

private bool HasServerTargetCursor() => _world.TargetManager.IsServerTarget;

ClassicUO.Game.Managers.YokoInjectionManager.SelectFileEntryPoint

Restituisce il valore dell’espressione seguente.

Parametri: procedures, filePath

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

internal static YokoProcedureInfo SelectFileEntryPoint(IEnumerable<YokoProcedureInfo> procedures, string filePath)

Risultato: YokoProcedureInfo.

Chiamate: (procedures ?? Enumerable.Empty<YokoProcedureInfo>()) .Where(item => item.CanRun && item.Kind.Equals("C#", StringComparison.Ordinal) && item.Name.Equals("Main", StringComparison.OrdinalIgnoreCase)) .OrderBy(item => item.LineNumber) .FirstOrDefault, (procedures ?? Enumerable.Empty<YokoProcedureInfo>()) .Where(item => item.CanRun && item.Kind.Equals("C#", StringComparison.Ordinal) && item.Name.Equals("Main", StringComparison.OrdinalIgnoreCase)) .OrderBy, (procedures ?? Enumerable.Empty<YokoProcedureInfo>()) .Where, Enumerable.Empty<YokoProcedureInfo>.

Codice interno di implementazione; non è uno script autonomo.

internal static YokoProcedureInfo SelectFileEntryPoint(IEnumerable<YokoProcedureInfo> procedures, string filePath)
        {
            // Discovery publishes one C# file/project entry. Helper methods
            // stay inside that program and are never separate file launches.
            return (procedures ?? Enumerable.Empty<YokoProcedureInfo>())
                .Where(item => item.CanRun
                    && item.Kind.Equals("C#", StringComparison.Ordinal)
                    && item.Name.Equals("Main", StringComparison.OrdinalIgnoreCase))
                .OrderBy(item => item.LineNumber)
                .FirstOrDefault();
        }

InjectionScript.Runtime.InjectionApi.GetWordCount

Restituisce il valore dell’espressione seguente.

Parametri: value, delimiter

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

private static int GetWordCount(string value,string delimiter)

Risultato: int.

Risultato: SplitWords(value,delimiter).Length.

Chiamate: SplitWords.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private static int GetWordCount(string value,string delimiter) => SplitWords(value,delimiter).Length;

InjectionScript.Runtime.InjectionApiUO.AddType

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: arguments

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

private void AddType(InjectionValue[] arguments)

Risultato: void.

Chiamate: NamedTypes.ValidateName, state.Types.Set, ResolveType, SystemMessage, selection.SelectType.

Condizioni: arguments[0].Kind != InjectionValueKind.String; arguments.Length == 2; arguments[1].Kind != InjectionValueKind.Integer && arguments[1].Kind != InjectionValueKind.String; !(bridge is IApiTypeSelectionBridge selection).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private void AddType(InjectionValue[] arguments)

        {

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

                throw new NativeSubrutineException("UO.AddType name must be a string.");

            string name = NamedTypes.ValidateName(arguments[0].String);

            if (arguments.Length == 2)

            {

                if (arguments[1].Kind != InjectionValueKind.Integer && arguments[1].Kind != InjectionValueKind.String)

                    throw new NativeSubrutineException("UO.AddType type must be an integer graphic or a registered type name.");

                state.Types.Set(name, ResolveType(arguments[1]));

                return;

            }

            if (!(bridge is IApiTypeSelectionBridge selection))

                throw new NativeSubrutineException("UO.AddType interactive selection is unavailable in this host.");

            SystemMessage($"UO.AddType: select an item or mobile for '{name}'.");

            int? selected = selection.SelectType();

            if (selected.HasValue)

            {

                state.Types.Set(name, selected.Value);

                SystemMessage($"UO.AddType: '{name}' = 0x{selected.Value:X4}.");

            }

            else

                SystemMessage("UO.AddType: selection cancelled or not an item/mobile; previous type preserved.");

        }

InjectionScript.Runtime.InjectionApiUO.Arm

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: name

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

public void Arm(string name)

Risultato: void.

Chiamate: Equip.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void Arm(string name)

            => Equip(name, armSets, weaponLayers, "Weapon set requests processed.", "No weapons set with setarm.");

InjectionScript.Runtime.InjectionApiUO.Cast

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: spellName

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

public int Cast(string spellName)

Risultato: int.

Risultato: 0; CastCore(spellName) ? 1 : 0.

Chiamate: NumberConversions.TryStr2Int, (spellName ?? string.Empty).Trim, SystemMessage, CastCore.

Condizioni: NumberConversions.TryStr2Int((spellName ?? string.Empty).Trim(), out _).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int Cast(string spellName)

        {

            if (NumberConversions.TryStr2Int((spellName ?? string.Empty).Trim(), out _))

            {

                SystemMessage("UO.Cast: use one spell name, for example UO.Cast(\"Heal\").");

                return 0;

            }

            return CastCore(spellName) ? 1 : 0;

        }

InjectionScript.Runtime.InjectionApiUO.CompactFindNotoriety

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: values

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

private int CompactFindNotoriety(InjectionValue[] values)

Risultato: int.

Risultato: bridge.FindNotoriety(type, NumberConversions.ToInt(notoriety)); 0; FindFilteredMobileSerial(type, notoriety, distance, nearest, maxZ, color, false).

Chiamate: ResolveType, bridge.FindNotoriety, NumberConversions.ToInt, ResolveCompactDistance, bridge.GetFindDistance, ToBoolean, ResolveCompactMaxZ, bridge.GetFindVertical.

Condizioni: `values.Length == 2 && notoriety.Kind != InjectionValueKind.String

            && notoriety.Kind != InjectionValueKind.Array`; `values.Length > 6`; `container != -1 && container != 1`.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private int CompactFindNotoriety(InjectionValue[] values)

        {

            int type = ResolveType(values[0]);

            InjectionValue notoriety = values[1];



            // Keep the exact two-argument Stealth/native contract on the bridge.

            // Extended overloads add the v50 distance/Z/color filters below.

            if (values.Length == 2 && notoriety.Kind != InjectionValueKind.String

                && notoriety.Kind != InjectionValueKind.Array)

                return bridge.FindNotoriety(type, NumberConversions.ToInt(notoriety));

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

            bool nearest = values.Length > 3 && ToBoolean(values[3]);

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

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

            if (values.Length > 6)

            {

                int container = ConvertContainer(values[6]);

                // Mobiles only exist in the world/ground search scope. An explicit

                // item/container serial cannot contain a Mobile, so the filtered

                // result must be empty instead of silently ignoring the argument.

                if (container != -1 && container != 1)

                    return 0;

            }

            return FindFilteredMobileSerial(type, notoriety, distance, nearest, maxZ, color, false);

        }

InjectionScript.Runtime.InjectionApiUO.CompactGetPathArray3D

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: values

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

private InjectionValue CompactGetPathArray3D(InjectionValue[] values)

Risultato: InjectionValue.

Chiamate: BuildPortablePath, NumberConversions.ToInt, ToBoolean, Math.Max.

Condizioni: values == null || values.Length < 10 || values.Length > 16.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private InjectionValue CompactGetPathArray3D(InjectionValue[] values)

        {

            if (values == null || values.Length < 10 || values.Length > 16)

                throw new NativeSubrutineException("UO.GetPathArray3D expects 10..16 arguments.");

            return BuildPortablePath(

                NumberConversions.ToInt(values[0]), NumberConversions.ToInt(values[1]), NumberConversions.ToInt(values[2]),

                NumberConversions.ToInt(values[3]), NumberConversions.ToInt(values[4]), NumberConversions.ToInt(values[5]),

                NumberConversions.ToInt(values[6]), NumberConversions.ToInt(values[7]), NumberConversions.ToInt(values[8]),

                true, ToBoolean(values[9]),

                values.Length > 10 ? Math.Max(0, NumberConversions.ToInt(values[10])) : 0,

                values.Length > 11 ? Math.Max(0, NumberConversions.ToInt(values[11])) : 0,

                values.Length > 12 && ToBoolean(values[12]),

                values.Length > 13 && ToBoolean(values[13]),

                values.Length > 14 && ToBoolean(values[14]),

                values.Length <= 15 || ToBoolean(values[15]));

        }

InjectionScript.Runtime.InjectionApiUO.CompactUseType

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: values

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

private int CompactUseType(InjectionValue[] values)

Risultato: int.

Risultato: 0; selected.

Chiamate: ResolveType, NumberConversions.ToInt, ConvertContainer, ResolveCompactDistance, bridge.GetFindDistance, ToBoolean, ResolveCompactMaxZ, bridge.GetFindVertical.

Condizioni: values == null || values.Length == 0; values.Length > 6; nearest; selected == 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private int CompactUseType(InjectionValue[] values)

        {

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

                throw new NativeSubrutineException("UO.UseType requires at least type.");

            if (values.Length > 6)

                throw new NativeSubrutineException("UO.UseType accepts at most type, color, container, distance, nearest, maxZ.");



            int type = ResolveType(values[0]);

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

            int container = values.Length > 2 ? ConvertContainer(values[2]) : -1;

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

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

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

            int selfZ = bridge.GetZ(bridge.Self);

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

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



            // A contained item's stored Z belongs to its container, not to the world.

            // Cache ancestors for this selection so stacks in the same bag do not

            // repeatedly cross the client bridge to resolve the same owner.

            var worldHeights = new Dictionary<int, int?>();

            var heightChain = new List<int>();



            IEnumerable<int> candidates = EnumerateUseTypeItems(container)

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

                .Where(id => type < 0 || type == 0xFFFF || bridge.GetGraphics(id) == type)

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

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

                .Where(id => maxZ < 0 || ResolveUseTypeWorldHeight(id, worldHeights, heightChain) is int z

                    && Math.Abs((long)z - selfZ) <= maxZ);



            if (nearest)

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



            int selected = candidates.FirstOrDefault();

            if (selected == 0)

            {

                SystemMessage("No matching item found for UO.UseType.");

                return 0;

            }



            UseObject(selected);

            return selected;

        }

InjectionScript.Runtime.InjectionApiUO.CompactWaitTarget

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: values

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

private int CompactWaitTarget(InjectionValue[] values)

Risultato: int.

Risultato: directTarget; 0; selected.

Chiamate: TryGetObject, WaitTargetObject, NumberConversions.ToInt, SystemMessage, bridge.CancelNextTarget, ResolveCompactDistance, bridge.GetFindDistance, ToBoolean.

Condizioni: values == null || values.Length == 0; TryGetObject(targetValue, out int directTarget) && directTarget > 0; targetSentinel != 0 && targetSentinel != -1; selected <= 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private int CompactWaitTarget(InjectionValue[] values)

        {

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

                throw new NativeSubrutineException("UO.WaitTarget requires at least target.");



            InjectionValue targetValue = values[0];

            if (TryGetObject(targetValue, out int directTarget) && directTarget > 0)

            {

                WaitTargetObject(directTarget);

                return directTarget;

            }



            int targetSentinel = NumberConversions.ToInt(targetValue);

            if (targetSentinel != 0 && targetSentinel != -1)

            {

                SystemMessage("UO.WaitTarget: invalid direct target.");

                bridge.CancelNextTarget();

                return 0;

            }



            InjectionValue type = values.Length > 1 ? values[1] : InjectionValue.MinusOne;

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

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

            InjectionValue notoriety = values.Length > 4 ? values[4] : InjectionValue.MinusOne;

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

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



            int selected = FindFilteredTargetSerial(type, color, distance, notoriety, nearest, maxZ);

            if (selected <= 0)

            {

                SystemMessage("UO.WaitTarget: no object matches the requested filters; next target request canceled.");

                bridge.CancelNextTarget();

                return 0;

            }



            WaitTargetObject(selected);

            return selected;

        }

InjectionScript.Runtime.InjectionApiUO.ConvertLayer

Restituisce il valore dell’espressione seguente.

Parametri: layer

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

private string ConvertLayer(int layer)

Risultato: string.

Chiamate: layerNumberToName.TryGetValue.

Codice interno di implementazione; non è uno script autonomo.

private string ConvertLayer(int layer) => layerNumberToName.TryGetValue(layer, out string name)

            ? name

            : $"0x{layer:X2}";

InjectionScript.Runtime.InjectionApiUO.Dead

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: id

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

public int Dead(InjectionValue id)

Risultato: int.

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

Chiamate: GetObject, Dead, bridge.IsDead.

Condizioni: serial == bridge.Self.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int Dead(InjectionValue id)

        {

            int serial = GetObject(id);

            if (serial == bridge.Self)

                return Dead();

            return serial > 0 ? bridge.IsDead(serial) : 0;

        }

InjectionScript.Runtime.InjectionApiUO.DecodeRecordingText

Restituisce il valore dell’espressione seguente.

Parametri: value

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

private static string DecodeRecordingText(string value)

Risultato: string.

Risultato: Encoding.UTF8.GetString(Convert.FromBase64String(value ?? string.Empty)).

Chiamate: Encoding.UTF8.GetString, Convert.FromBase64String.

Codice interno di implementazione; non è uno script autonomo.

private static string DecodeRecordingText(string value)

            => Encoding.UTF8.GetString(Convert.FromBase64String(value ?? string.Empty));

InjectionScript.Runtime.InjectionApiUO.Drag

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: id, amount, timeout

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

public int Drag(InjectionValue id, InjectionValue amount, InjectionValue timeout)

Risultato: int.

Risultato: 0; result; 1.

Chiamate: GetObject, NumberConversions.ToInt, Math.Max, bridge.DragItem, DateTime.UtcNow.AddMilliseconds, bridge.Picking, bridge.Wait, SystemMessage.

Condizioni: serial == 0; result == 0 || timeoutMs <= 0; bridge.Picking() != 0; DateTime.UtcNow >= deadline.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int Drag(InjectionValue id, InjectionValue amount, InjectionValue timeout)

        {

            int serial = GetObject(id);

            if (serial == 0)

                return 0;

            int requestedAmount = NumberConversions.ToInt(amount);

            int timeoutMs = Math.Max(0, NumberConversions.ToInt(timeout));

            int result = bridge.DragItem(serial, requestedAmount);

            if (result == 0 || timeoutMs <= 0)

                return result;



            DateTime deadline = DateTime.UtcNow.AddMilliseconds(timeoutMs);

            do

            {

                if (bridge.Picking() != 0)

                    return 1;

                if (DateTime.UtcNow >= deadline)

                    break;

                bridge.Wait(10);

            }

            while (true);



            SystemMessage($"UO.Drag: item pickup was not observable within {timeoutMs} ms.");

            return 0;

        }

InjectionScript.Runtime.InjectionApiUO.Equip

Restituisce il valore dell’espressione seguente.

Parametri: layer, id

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

public int Equip(string layer, string id)

Risultato: int.

Risultato: Equip(layer, GetObject(id)).

Chiamate: Equip, GetObject.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int Equip(string layer, string id) => Equip(layer, GetObject(id));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::StringArrayArg

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: index

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

string[] StringArrayArg(int index)

Risultato: string[].

Risultato: Array.Empty<string>().

Chiamate: Array.Empty<string>, arguments[index].Array.Select(value => value.ToString()).ToArray, arguments[index].Array.Select, Text.

Condizioni: index >= arguments.Length.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

string[] StringArrayArg(int index)

            {

                if (index >= arguments.Length) return Array.Empty<string>();

                return arguments[index].Kind == InjectionValueKind.Array

                    ? arguments[index].Array.Select(value => value.ToString()).ToArray()

                    : new[] { Text(index) };

            }

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

Risultato: new InjectionValue(legacyId).

Condizioni: arguments[0].Kind != InjectionValueKind.Array; arguments[0].Kind == InjectionValueKind.String && !NumberConversions.TryStr2Int(arguments[0].String, out graphic); arguments[0].Array.Length < 4.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "adduserstatic":

                {

                    int map = Arg(1, bridge.WorldNumber);

                    if (arguments[0].Kind != InjectionValueKind.Array)

                    {

                        int graphic = 0;

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

                            !NumberConversions.TryStr2Int(arguments[0].String, out graphic))

                        {

                            int legacyId = state.NextUserStaticId++;

                            state.UserStatics[legacyId] = Text(0) + "|" + Text(1);

                            return new InjectionValue(legacyId);

                        }

                        graphic = arguments[0].Kind == InjectionValueKind.String

                            ? graphic

                            : NumberConversions.ToInt(arguments[0]);

                        return new InjectionValue(AddUserStatic(graphic, bridge.GetX(bridge.Self), bridge.GetY(bridge.Self),

                            bridge.GetZ(bridge.Self), 0, map));

                    }

                    if (arguments[0].Array.Length < 4)

                        throw new NativeSubrutineException("AddUserStatic expects [graphic,x,y,z,color] and world number, or graphic,x,y,z,color,world.");

                    InjectionValue[] item = arguments[0].Array;

                    return new InjectionValue(AddUserStatic(

                        NumberConversions.ToInt(item[0]), NumberConversions.ToInt(item[1]), NumberConversions.ToInt(item[2]),

                        NumberConversions.ToInt(item[3]), item.Length > 4 ? NumberConversions.ToInt(item[4]) : 0, map));

                }

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "autosell":

                    bridge.SetAutoSellRule(Arg(0), Arg(1), Arg(2)); 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:1596.

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "clearcontextmenu": bridge.ClearContextMenu(); 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:2007.

new []

Risultato: [].

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "clientinfo":

                    return new InjectionValue(new[]

                    {

                        new InjectionValue(bridge.RuntimeProductName),

                        new InjectionValue(bridge.RuntimeProductVersion),

                        new InjectionValue(bridge.ClientPath)

                    });

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "addtojournal":

                case "addtosystemjournal":

                case "clientprint":

                    SystemMessage(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:1485.

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "countex":

                    bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, false);

                    return new InjectionValue(bridge.FindFullQuantity());

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

Risultato: new InjectionValue(state.DisconnectedTime.ToOADate()).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "disconnectedtime":

                    UpdateConnectionState();

                    return new InjectionValue(state.DisconnectedTime.ToOADate());

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

Risultato: new InjectionValue(bridge.FireResistance).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "fireresist": return new InjectionValue(bridge.FireResistance);

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

Risultato: StringArray(bridge.GetMenuItems(Text(0), true)).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "getmenuitemsex": return StringArray(bridge.GetMenuItems(Text(0), true));

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

Risultato: new InjectionValue(arguments.Length > 0 ? bridge.GetStamina(Arg(0)) : bridge.Stamina).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "getstam": return new InjectionValue(arguments.Length > 0 ? bridge.GetStamina(Arg(0)) : bridge.Stamina);

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

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "getcliloc":

                case "gettooltip":

                    return new InjectionValue(bridge.GetTooltip(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:1516.

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "gettradeopponent": return new InjectionValue(bridge.GetTradeOpponent(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:1915.

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "globalchatactivechannel": return new InjectionValue(bridge.GlobalChatActiveChannel());

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "globalchatleavechannel": bridge.GlobalChatLeave(); 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:1910.

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "gumpautoradiobutton": QueueGumpControl("radio", 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:1511.

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "iscontainer": return new InjectionValue(bridge.IsContainer(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:1364.

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "isparalyzed": return new InjectionValue(bridge.GetLocked(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:1837.

Risultato: new InjectionValue(state.LastStepUsedDoor).

Condizioni: arguments.Length > 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "laststepquseddoor":

                    if (arguments.Length > 0) state.LastStepUsedDoor = Arg(0);

                    return new InjectionValue(state.LastStepUsedDoor);

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

Risultato: SetIndexedGumpValue(Arg(0), "radio", Arg(1), Text(2)).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "numgumpradiobutton": return SetIndexedGumpValue(Arg(0), "radio", Arg(1), Text(2));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "partymemberslist":

                    return new InjectionValue(bridge.PartyMembersList().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:1503.

Risultato: new InjectionValue(bridge.FollowersMax).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "petsmax": return new InjectionValue(bridge.FollowersMax);

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

Risultato: new InjectionValue(bridge.ProfileName).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "profilename": return new InjectionValue(bridge.ProfileName);

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "questrequest": bridge.QuestRequest(); 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:1965.

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "setarextparams":

                {

                    string requestedShard = arguments.Length > 0 ? Text(0) : string.Empty;

                    string requestedCharacter = arguments.Length > 1 ? Text(1) : string.Empty;

                    state.AutoReconnectShard = string.IsNullOrWhiteSpace(requestedShard)

                        ? bridge.ShardName

                        : requestedShard;

                    state.AutoReconnectCharacter = string.IsNullOrWhiteSpace(requestedCharacter)

                        ? bridge.GetName(bridge.Self) ?? string.Empty

                        : requestedCharacter;

                    int useAtEveryConnect = arguments.Length > 2 ? Arg(2) : 0;

                    bridge.SetReconnectSelection(state.AutoReconnectShard, state.AutoReconnectCharacter, useAtEveryConnect);

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "setautobuydelay":

                    state.AutoBuyDelay = Math.Max(0, Arg(0));

                    bridge.SetAutoBuyDelay(state.AutoBuyDelay);

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "setglobal":

                    state.GlobalVariables[Text(0) + "\u001F" + Text(1)] = Text(2);

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "setrununmounttimer":

                    state.RunUnmountTimer = ClampMoveTimer(Arg(0), 200);

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

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

Risultato: new InjectionValue(bridge.StartScript(Text(0))).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "startscript": return new InjectionValue(bridge.StartScript(Text(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:1335.

Risultato: new InjectionValue(state.MoveThroughNpc).

Condizioni: arguments.Length > 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: index, fallback

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

int Arg(int index, int fallback = 0)

Risultato: int.

Risultato: fallback; serial; NumberConversions.ToInt(arguments[index]).

Chiamate: TryGetObject, NumberConversions.ToInt.

Condizioni: index >= arguments.Length; arguments[index].Kind == InjectionValueKind.String && TryGetObject(arguments[index], out int serial).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

int Arg(int index, int fallback = 0)

            {

                if (index >= arguments.Length) return fallback;

                if (arguments[index].Kind == InjectionValueKind.String && TryGetObject(arguments[index], out int serial)) return serial;

                return NumberConversions.ToInt(arguments[index]);

            }

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "changejournallength": state.JournalLength = Math.Max(1, Arg(0, 100)); bridge.SetJournalLength(state.JournalLength); 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:2963.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "help": SystemMessage("C# Scripts IDE: use UO.* in scripts or the configured chat prefix. Open Options > C# Scripts IDE > Manual."); 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:2975.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "light": bridge.SetLight(Arg(0)); 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:2971.

Condizioni: arguments.Length > 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "poison":

                    if (arguments.Length > 0) UseSkillAtTarget(new InjectionValue("Poisoning"), arguments[0]);

                    else UseSkill("Poisoning");

                    break;

InjectionScript.Runtime.InjectionApiUO.FindJournalPatternId

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: journalText, patternsText, equals, ignoreCase

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

private static int FindJournalPatternId(string journalText, string patternsText, bool equals, bool ignoreCase)

Risultato: int.

Risultato: -1; i.

Chiamate: `(patternsText ?? string.Empty)

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

            .Select(pattern => pattern.Trim())

            .Where(pattern => pattern.Length > 0)

            .ToArray`, `(patternsText ?? string.Empty)

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

            .Select(pattern => pattern.Trim())

            .Where`, `(patternsText ?? string.Empty)

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

            .Select`, `(patternsText ?? string.Empty)

            .Split`, `candidate.Equals`, `candidate.IndexOf`.

Condizioni: patterns.Length == 0; found.

Codice interno di implementazione; non è uno script autonomo.

private static int FindJournalPatternId(string journalText, string patternsText, bool equals, bool ignoreCase)

        {

            string[] patterns = (patternsText ?? string.Empty)

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

                .Select(pattern => pattern.Trim())

                .Where(pattern => pattern.Length > 0)

                .ToArray();

            if (patterns.Length == 0)

                return -1;



            string candidate = journalText ?? string.Empty;

            StringComparison comparison = ignoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal;

            for (int i = 0; i < patterns.Length; i++)

            {

                bool found = equals

                    ? candidate.Equals(patterns[i], comparison)

                    : candidate.IndexOf(patterns[i], comparison) >= 0;

                if (found)

                    return i;

            }

            return -1;

        }

InjectionScript.Runtime.InjectionApiUO.FindPortableTiles

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: minX, minY, maxX, maxY, map, tileTypes, statics

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

private InjectionValue FindPortableTiles(int minX, int minY, int maxX, int maxY, int map, int[] tileTypes, bool statics)

Risultato: InjectionValue.

Risultato: new InjectionValue(Array.Empty<InjectionValue>()); new InjectionValue(result.ToArray()).

Chiamate: Array.Empty<int>, Math.Min, Math.Max, Array.Empty<InjectionValue>, bridge.Wait, scheduler.ExecutePathQuerySlice, ScanSlice, result.ToArray.

Condizioni: `(uint)minX > ushort.MaxValue || (uint)minY > ushort.MaxValue

            || (uint)maxX > ushort.MaxValue || (uint)maxY > ushort.MaxValue

            || (uint)map > byte.MaxValue`; `((long)lastX - firstX + 1) * ((long)lastY - firstY + 1) > 1_000_000L`; `map != bridge.WorldNumber`; `bridge is IApiPathQueryScheduler scheduler`.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private InjectionValue FindPortableTiles(int minX, int minY, int maxX, int maxY, int map, int[] tileTypes, bool statics)
        {
            if ((uint)minX > ushort.MaxValue || (uint)minY > ushort.MaxValue
                || (uint)maxX > ushort.MaxValue || (uint)maxY > ushort.MaxValue
                || (uint)map > byte.MaxValue)
                throw new NativeSubrutineException("Tile coordinates must be 0..65535 and map 0..255.");

            var result = new List<InjectionValue>();
            var wanted = new HashSet<int>(tileTypes ?? Array.Empty<int>());
            int firstX = Math.Min(minX, maxX);
// …
            if (((long)lastX - firstX + 1) * ((long)lastY - firstY + 1) > 1_000_000L)
                throw new NativeSubrutineException("Tile search area is limited to 1,000,000 cells per call.");
            if (map != bridge.WorldNumber)
                return new InjectionValue(Array.Empty<InjectionValue>());
// …
                if (map != bridge.WorldNumber) { mapChanged = true; return; }
// …
                    if (cells > 0 && Stopwatch.GetTimestamp() - started >= Stopwatch.Frequency / 1000) break;
                    if (!statics)
// …
                        if (tile.Length >= 2 && (wanted.Count == 0 || wanted.Contains(tile[0])))
// …
                            if (wanted.Count == 0 || wanted.Contains(records[i]))
// …
                    if (++y > lastY) { y = firstY; x++; }
// …
                if (bridge is IApiPathQueryScheduler scheduler) scheduler.ExecutePathQuerySlice(ScanSlice);
// …
                if (mapChanged) return new InjectionValue(Array.Empty<InjectionValue>());
// …
            return new InjectionValue(result.ToArray());
// …

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

InjectionScript.Runtime.InjectionApiUO.GetDir

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

public int GetDir()

Risultato: int.

Risultato: GetDir("self").

Chiamate: GetDir.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.GetDir

Restituisce il valore dell’espressione seguente.

Parametri: id

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

public int GetDir(string id)

Risultato: int.

Risultato: GetDir(GetObject(id)).

Chiamate: GetDir, GetObject.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.GetGraphics

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

public string GetGraphics()

Risultato: string.

Risultato: GetGraphics(bridge.Self).

Chiamate: GetGraphics.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public string GetGraphics() => GetGraphics(bridge.Self);

InjectionScript.Runtime.InjectionApiUO.GetInfo

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: arg

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

private string GetInfo(string arg)

Risultato: string.

Risultato: GetName("self"); "UNKNOWN".

Chiamate: arg.Equals, GetName.

Condizioni: arg.Equals("character", StringComparison.Ordinal).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private string GetInfo(string arg)

        {

            if (arg.Equals("character", StringComparison.Ordinal))

                return GetName("self");



            return "UNKNOWN";

        }

InjectionScript.Runtime.InjectionApiUO.GetKey

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: direction

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

private int GetKey(int direction)

Risultato: int.

Risultato: 33; 39; 34; 40; 35; 37.

Condizioni: direction == 0; direction == 1; direction == 2; direction == 3.

Codice interno di implementazione; non è uno script autonomo.

private int GetKey(int direction)

        {

            if (direction == 0)

                return 33;

            else if (direction == 1)

                return 39;

            else if (direction == 2)

                return 34;

            else if (direction == 3)

                return 40;

            else if (direction == 4)

                return 35;

            else if (direction == 5)

                return 37;

            else if (direction == 6)

                return 36;

            else if (direction == 7)

                return 38;



            throw new NativeSubrutineException($"Invalid movement direction {direction}. Expected a value from 0 through 7.");

        }

InjectionScript.Runtime.InjectionApiUO.GetSerial

Restituisce il valore dell’espressione seguente.

Parametri: id

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

public string GetSerial(string id)

Risultato: string.

Risultato: NumberConversions.ToHex(GetObject(id)).

Chiamate: NumberConversions.ToHex, GetObject.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public string GetSerial(string id) => NumberConversions.ToHex(GetObject(id));

InjectionScript.Runtime.InjectionApiUO.GetStatus

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: id

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

public void GetStatus(int id)

Risultato: void.

Chiamate: bridge.GetStatus.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.GetZ

Restituisce il valore dell’espressione seguente.

Parametri: id

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

public int GetZ(string id)

Risultato: int.

Risultato: GetZ(GetObject(id)).

Chiamate: GetZ, GetObject.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.Hidden

Restituisce il valore dell’espressione seguente.

Parametri: id

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

public int Hidden(int id)

Risultato: int.

Risultato: bridge.Hidden(id).

Chiamate: bridge.Hidden.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.Ignore

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: id

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

public void Ignore(string id)

Risultato: void.

Chiamate: Ignore, GetObject.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.IsSupportedLegacyEventName

Restituisce il valore dell’espressione seguente.

Parametri: name

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

private static bool IsSupportedLegacyEventName(string name)

Risultato: bool.

Chiamate: string.Equals.

Codice interno di implementazione; non è uno script autonomo.

private static bool IsSupportedLegacyEventName(string name)

            => string.Equals(name, "SeeNewPlayer", StringComparison.OrdinalIgnoreCase)

                || string.Equals(name, "Death", StringComparison.OrdinalIgnoreCase)

                || string.Equals(name, "ChangeHitPoints", StringComparison.OrdinalIgnoreCase)

                || string.Equals(name, "ChangeMana", StringComparison.OrdinalIgnoreCase)

                || string.Equals(name, "ChangeStamina", StringComparison.OrdinalIgnoreCase);

InjectionScript.Runtime.InjectionApiUO.LastMessage

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

public string LastMessage()

Risultato: string.

Risultato: bridge.LastMessage().

Chiamate: bridge.LastMessage.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public string LastMessage() => bridge.LastMessage();

InjectionScript.Runtime.InjectionApiUO.MatchesMobileFilters

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: id, filters, selfX, selfY, selfZ

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

private bool MatchesMobileFilters(int id, IEnumerable<string> filters, int selfX, int selfY, int selfZ)

Risultato: bool.

Risultato: false; true.

Chiamate: bridge.GetDistance, bridge.GetZ, bridge.GetX, bridge.GetY, bridge.GetGraphics, IsHumanBody, ExpandMobileFilters, (raw ?? "all").Trim().ToLowerInvariant.

Condizioni: bridge.IsDead(id) == 0; bridge.IsDead(id) != 0; distance > 4; distance < 5 || distance > 9.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private bool MatchesMobileFilters(int id, IEnumerable<string> filters, int selfX, int selfY, int selfZ)

        {

            int distance = bridge.GetDistance(id);

            int z = bridge.GetZ(id);

            int x = bridge.GetX(id);

            int y = bridge.GetY(id);

            int graphic = bridge.GetGraphics(id);

            bool human = IsHumanBody(graphic);

            foreach (string raw in ExpandMobileFilters(filters))

            {

                switch ((raw ?? "all").Trim().ToLowerInvariant())

                {

                    case "": case "all": break;

                    case "dead": if (bridge.IsDead(id) == 0) return false; break;

                    case "alive": if (bridge.IsDead(id) != 0) return false; break;

                    case "near": if (distance > 4) return false; break;

                    case "medium": if (distance < 5 || distance > 9) return false; break;

                    case "far": if (distance < 10) return false; break;

                    case "below": if (z >= selfZ) return false; break;

                    case "above": if (z <= selfZ) return false; break;

                    case "north": if (y >= selfY) return false; break;

                    case "south": if (y <= selfY) return false; break;

                    case "east": if (x <= selfX) return false; break;

                    case "west": if (x >= selfX) return false; break;

                    case "human": if (!human) return false; break;

                    case "npc": if (bridge.IsNpc(id) == 0 || !human) return false; break;

                    case "mob": if (bridge.IsNpc(id) == 0 || human) return false; break;

                    default: throw new NativeSubrutineException($"Unknown FindMobile filter '{raw}'.");

                }

            }

            return true;

        }

InjectionScript.Runtime.InjectionApiUO.MoveToCanonical::StopOwnRequest

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

void StopOwnRequest()

Risultato: void.

Chiamate: bridge.StopMoving, ownership.StopMovementRequest.

Condizioni: ownership == null.

Codice interno di implementazione; non è uno script autonomo.

void StopOwnRequest()

            {

                if (ownership == null) bridge.StopMoving();

                else ownership.StopMovementRequest(requestId);

            }

InjectionScript.Runtime.InjectionApiUO.ParseTypeMask

Analizza o risolve l’argomento secondo le regole mostrate nel codice.

Parametri: value

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

private HashSet<int> ParseTypeMask(InjectionValue value)

Risultato: HashSet<int>.

Chiamate: ParseIntMask, value.Array.Select(ResolveEntry).ToArray, value.Array.Select, ResolveEntry.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private HashSet<int> ParseTypeMask(InjectionValue value)

        {

            InjectionValue ResolveEntry(InjectionValue entry)

            {

                if (entry.Kind != InjectionValueKind.String) return entry;

                string[] parts = (entry.String ?? string.Empty).Split('|');

                for (int i = 0; i < parts.Length; i++)

                    if (state.Types.TryGet(parts[i], out int graphic))

                        parts[i] = graphic.ToString(CultureInfo.InvariantCulture);

                return new InjectionValue(string.Join("|", parts));

            }

            return ParseIntMask(value.Kind == InjectionValueKind.Array

                ? new InjectionValue(value.Array.Select(ResolveEntry).ToArray()) : ResolveEntry(value));

        }

InjectionScript.Runtime.InjectionApiUO.ReadClassName

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: value

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

private static string ReadClassName(InjectionValue value)

Risultato: string.

Risultato: name.

Chiamate: (value.String ?? string.Empty).Trim, name.IndexOfAny, name.Equals.

Condizioni: name.Length == 0 || name == "-1" || name.IndexOfAny(new[] { '|', ',', ';' }) >= 0 || name.Equals("any", StringComparison.OrdinalIgnoreCase) || name.Equals("all", StringComparison.OrdinalIgnoreCase).

Codice interno di implementazione; non è uno script autonomo.

private static string ReadClassName(InjectionValue value)
        {
            string name = value.Kind == InjectionValueKind.String ? (value.String ?? string.Empty).Trim() : string.Empty;
            if (name.Length == 0 || name == "-1" || name.IndexOfAny(new[] { '|', ',', ';' }) >= 0
                || name.Equals("any", StringComparison.OrdinalIgnoreCase) || name.Equals("all", StringComparison.OrdinalIgnoreCase))
                throw new StatementFailedException("ClassMask: use a nonempty class name without | , ; or reserved any/all/-1.");
            return name;
        }

InjectionScript.Runtime.InjectionApiUO.ReadJournalSnapshot

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: index

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

private JournalEntrySnapshot ReadJournalSnapshot(int index)

Risultato: JournalEntrySnapshot.

Risultato: reader.ReadJournalEntry(index); null.

Chiamate: reader.ReadJournalEntry, bridge.JournalEntryCount, bridge.GetJournalText, bridge.JournalSerialInt, bridge.JournalName, NumberConversions.ToInt, bridge.JournalColor, bridge.JournalFont.

Condizioni: bridge is IApiJournalReader reader; index < 0 || index >= bridge.JournalEntryCount().

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private JournalEntrySnapshot ReadJournalSnapshot(int index)

        {

            if (bridge is IApiJournalReader reader)

                return reader.ReadJournalEntry(index);

            if (index < 0 || index >= bridge.JournalEntryCount())

                return null;

            return new JournalEntrySnapshot(0, index, bridge.GetJournalText(index), bridge.JournalSerialInt(index),

                bridge.JournalName(index), NumberConversions.ToInt(bridge.JournalColor(index)), bridge.JournalFont(index),

                bridge.JournalMessageType(index), bridge.JournalTextType(index), bridge.JournalTimestamp(index));

        }

InjectionScript.Runtime.InjectionApiUO.ResolveUseTypeWorldHeight

Analizza o risolve l’argomento secondo le regole mostrate nel codice.

Parametri: id, cache, chain

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

private int? ResolveUseTypeWorldHeight(int id, Dictionary<int, int?> cache, List<int> chain)

Risultato: int?.

Risultato: height.

Chiamate: chain.Clear, cache.TryGetValue, chain.Add, bridge.ContainerOf, bridge.GetZ.

Condizioni: cache.TryGetValue(id, out height); parent <= 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private int? ResolveUseTypeWorldHeight(int id, Dictionary<int, int?> cache, List<int> chain)

        {

            chain.Clear();

            int? height = null;

            for (int depth = 0; depth < 128; depth++)

            {

                if (cache.TryGetValue(id, out height))

                    break;

                // A repeated unresolved ancestor is malformed cyclic container data.

                cache[id] = null;

                chain.Add(id);

                int parent = bridge.ContainerOf(id);

                if (parent <= 0)

                {

                    height = bridge.GetZ(id);

                    break;

                }

                id = parent;

            }

            foreach (int visited in chain)

                cache[visited] = height;

            return height;

        }

InjectionScript.Runtime.InjectionApiUO.SelectJournalEntry

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: entry

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

private void SelectJournalEntry(JournalEntrySnapshot entry)

Risultato: void.

Codice interno di implementazione; non è uno script autonomo.

private void SelectJournalEntry(JournalEntrySnapshot entry)

        {

            selectedJournalEntry = entry;

            foundedTextIndex = entry?.Index ?? -1;

            foundedTextId = -1;

        }

InjectionScript.Runtime.InjectionApiUO.SetEvent

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: name, stateValue

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

public void SetEvent(InjectionValue name, InjectionValue stateValue)

Risultato: void.

Chiamate: SetEvent.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void SetEvent(InjectionValue name, InjectionValue stateValue)

            => SetEvent(name, stateValue, InjectionValue.True, new InjectionValue(string.Empty));

InjectionScript.Runtime.InjectionApiUO.SetGump

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: identifier, key, stateValue

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

public void SetGump(InjectionValue identifier, InjectionValue key, InjectionValue stateValue)

Risultato: void.

Chiamate: bridge.SetGumpValue, identifier.ToString, NumberConversions.ToInt, stateValue.ToString.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public void SetGump(InjectionValue identifier, InjectionValue key, InjectionValue stateValue)

            => bridge.SetGumpValue(-1, identifier.ToString(), NumberConversions.ToInt(key), stateValue.ToString());

InjectionScript.Runtime.InjectionApiUO.SkillVal

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: skillName, variant

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

public int SkillVal(string skillName, int variant)

Risultato: int.

Risultato: 0; bridge.SkillVal(id); baseValue; baseValue - skillValBaselines[id]; bridge.SkillLockVal(id).

Chiamate: ConvertSkillName, SystemMessage, bridge.SkillBaseVal, skillValBaselines.ContainsKey, bridge.SkillVal, bridge.SkillLockVal.

Condizioni: !skillId.HasValue; !skillValBaselines.ContainsKey(id).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int SkillVal(string skillName, int variant)

        {

            int? skillId = ConvertSkillName(skillName);

            if (!skillId.HasValue)

            {

                SystemMessage("UO.SkillVal: unknown skill name.");

                return 0;

            }



            int id = skillId.Value;

            int baseValue = bridge.SkillBaseVal(id);

            if (!skillValBaselines.ContainsKey(id))

                skillValBaselines[id] = baseValue;



            switch (variant)

            {

                case 0:

                    return bridge.SkillVal(id);

                case 1:

                    return baseValue;

                case 2:

                    return baseValue - skillValBaselines[id];

                case 3:

                    return bridge.SkillLockVal(id);

                default:

                    SystemMessage("UO.SkillVal: variant must be 0, 1, 2 or 3.");

                    return 0;

            }

        }

InjectionScript.Runtime.InjectionApiUO.TryGetObject

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: name, id

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

public bool TryGetObject(InjectionValue name, out int id)

Risultato: bool.

Risultato: true; TryGetObject(name.String, out id); false.

Chiamate: TryGetObject.

Condizioni: name.Kind == InjectionValueKind.Integer; name.Kind == InjectionValueKind.Decimal; name.Kind == InjectionValueKind.String.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public bool TryGetObject(InjectionValue name, out int id)

        {

            if (name.Kind == InjectionValueKind.Integer)

            {

                id = name.Integer;

                return true;

            }

            if (name.Kind == InjectionValueKind.Decimal)

            {

                id = unchecked((int)name.Decimal);

                return true;

            }

            if (name.Kind == InjectionValueKind.String)

                return TryGetObject(name.String, out id);



            id = -1;

            return false;

        }

InjectionScript.Runtime.InjectionApiUO.Undress

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

public int Undress()

Risultato: int.

Risultato: Unequip(dressLayers, "Clothing removed.").

Chiamate: Unequip.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int Undress()

            => Unequip(dressLayers, "Clothing removed.");

InjectionScript.Runtime.InjectionApiUO.UseSkillCore

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: skillName

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

private bool UseSkillCore(string skillName)

Risultato: bool.

Risultato: false; true.

Chiamate: ConvertSkillName, SystemMessage, bridge.UseSkill, Timer.

Condizioni: !skillId.HasValue; bridge.UseSkill(skillId.Value) == 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

private bool UseSkillCore(string skillName)

        {

            var skillId = ConvertSkillName(skillName);

            if (!skillId.HasValue)

            {

                SystemMessage("Unknown action skill name");

                return false;

            }



            if (bridge.UseSkill(skillId.Value) == 0)

                return false;

            ticksSkill = Timer();

            return true;

        }

InjectionScript.Runtime.InjectionApiUO.UseType

Restituisce il valore dell’espressione seguente.

Parametri: type, color

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

public int UseType(int type, string color)

Risultato: int.

Risultato: UseType(type, NumberConversions.ToInt(color)).

Chiamate: UseType, NumberConversions.ToInt.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public int UseType(int type, string color) => UseType(type, NumberConversions.ToInt(color));

InjectionScript.Runtime.InjectionApiUO.Register [Follow]

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

values

Risultato: values.

Risultato: ``.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

values =>

                {

                    FollowStopCondition[] conditions = FollowStopCondition.Parse(values[3]);

                    return new InjectionValue(bridge is IApiConditionalFollowBridge follow

                        ? follow.Follow(GetObject(values[0]), NumberConversions.ToInt(values[1]), ToBoolean(values[2]), conditions) : 0);

                }

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Followers]

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

Parametri: Nessun parametro.

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

Risultato: bridge.Followers.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.Followers

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetAlive]

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

serial

Risultato: serial.

Risultato: serial > 0 && bridge.Exists(serial) != 0 && IsDeadState(serial) == 0 ? 1 : 0.

Chiamate: bridge.Exists, IsDeadState.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

serial => serial > 0 && bridge.Exists(serial) != 0 && IsDeadState(serial) == 0 ? 1 : 0

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetHidden]

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

serial

Risultato: serial.

Risultato: bridge.Hidden(serial).

Chiamate: bridge.Hidden.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

serial => bridge.Hidden(serial)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetMaxStamina]

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

Risultato: bridge.MaxStamina.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.MaxStamina

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Moving]

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

Risultato: bridge.IsMoving().

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.IsMoving()

InjectionScript.Runtime.InjectionApiUO.Register [WaitTarget]

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

values

Risultato: values.

Risultato: ``.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

values =>

                    {

                        CompactWaitTarget(values);

                        return InjectionValue.Unit;

                    }

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

value

Risultato: value.

Risultato: getter(GetObject(value)).

Chiamate: getter, GetObject.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

Risultato: getter(bridge.Self).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => getter(bridge.Self)

InjectionScript.Runtime.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.NumberConversions.TryStr2Int

Analizza o risolve l’argomento secondo le regole mostrate nel codice.

Parametri: str, value

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NumberConversions.cs:59.

public static bool TryStr2Int(string str, out int value)

Risultato: bool.

Risultato: false; true; int.TryParse(str, NumberStyles.Integer, CultureInfo.InvariantCulture, out value).

Chiamate: string.IsNullOrWhiteSpace, str.Trim, str.Substring(offset, 2).Equals, str.Substring, uint.TryParse, int.TryParse.

Condizioni: string.IsNullOrWhiteSpace(str); str.Length > offset + 2 && str.Substring(offset, 2).Equals("0x", StringComparison.OrdinalIgnoreCase); !uint.TryParse(str.Substring(offset + 2), NumberStyles.AllowHexSpecifier, CultureInfo.InvariantCulture, out uint hex) || (negative && hex > 0x80000000u).

Codice interno di implementazione; non è uno script autonomo.

public static bool TryStr2Int(string str, out int value)
        {
            value = 0;
            if (string.IsNullOrWhiteSpace(str))
                return false;
            str = str.Trim();
            int offset = str[0] == '+' || str[0] == '-' ? 1 : 0;
            bool negative = str[0] == '-';
            if (str.Length > offset + 2 && str.Substring(offset, 2).Equals("0x", StringComparison.OrdinalIgnoreCase))
            {
                if (!uint.TryParse(str.Substring(offset + 2), NumberStyles.AllowHexSpecifier,
                        CultureInfo.InvariantCulture, out uint hex) || (negative && hex > 0x80000000u))
                    return false;
                value = negative ? unchecked(-(int)hex) : unchecked((int)hex);
                return true;
            }

            return int.TryParse(str, NumberStyles.Integer, CultureInfo.InvariantCulture, out value);
        }

InjectionScript.Runtime.PortablePathSearch.Find::Estimate

Restituisce il valore dell’espressione seguente.

Parametri: x, y

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/PortablePathSearch.cs:35.

int Estimate(int x, int y)

Risultato: int.

Risultato: diagonal ? Math.Max(dx, dy) : dx + dy.

Chiamate: Math.Max, Math.Abs.

Codice interno di implementazione; non è uno script autonomo.

int Estimate(int x, int y)

            {

                int dx = Math.Max(0, Math.Abs(finishX - x) - accuracy);

                int dy = Math.Max(0, Math.Abs(finishY - y) - accuracy);

                return diagonal ? Math.Max(dx, dy) : dx + dy;

            }

InjectionScript.Runtime.ScriptPathObstacles.Create

Verifica le condizioni seguenti e restituisce il risultato mostrato.

Parametri: state, bridge

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/ScriptPathObstacles.cs:11.

public static Func<int, int, bool> Create(InjectionRuntimeState state, IApiBridge bridge)

Risultato: Func<int, int, bool>.

Risultato: null.

Chiamate: value.Split, int.TryParse, locations.Add, rules.Add, bridge.GetWorldItems, bridge.GetGraphics, bridge.GetColor, Math.Max.

Condizioni: state == null || state.BadLocations.Count == 0 && state.BadObjects.Count == 0; parts.Length == 2 && int.TryParse(parts[0], out int x) && int.TryParse(parts[1], out int y) && x >= 0 && x <= ushort.MaxValue && y >= 0 && y <= ushort.MaxValue; parts.Length == 3 && int.TryParse(parts[0], out int type) && int.TryParse(parts[1], out int hue) && int.TryParse(parts[2], out int radius) && type >= -1 && type <= ushort.MaxValue && hue >= -1 && hue <= ushort.MaxValue && radius >= 0 && radius <= byte.MaxValue; rules.Count != 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

public static Func<int, int, bool> Create(InjectionRuntimeState state, IApiBridge bridge)
        {
            if (state == null || state.BadLocations.Count == 0 && state.BadObjects.Count == 0) return null;
            var locations = new HashSet<(int, int)>();
            var rules = new List<(int Type, int Hue, int Radius)>();
            var regions = new List<(int X, int Y, int Radius)>();
            foreach (string value in state.BadLocations)
            {
                string[] parts = value.Split(',');
                if (parts.Length == 2 && int.TryParse(parts[0], out int x) && int.TryParse(parts[1], out int y)
                    && x >= 0 && x <= ushort.MaxValue && y >= 0 && y <= ushort.MaxValue) locations.Add((x, y));
            }
            foreach (string value in state.BadObjects)
            {
                string[] parts = value.Split(',');
                if (parts.Length == 3 && int.TryParse(parts[0], out int type) && int.TryParse(parts[1], out int hue)
                    && int.TryParse(parts[2], out int radius) && type >= -1 && type <= ushort.MaxValue
                    && hue >= -1 && hue <= ushort.MaxValue && radius >= 0 && radius <= byte.MaxValue)
                    rules.Add((type & 0xFFFF, hue & 0xFFFF, radius));
            }
            if (rules.Count != 0)
            {
                foreach (int item in bridge.GetWorldItems())
                {
                    int type = bridge.GetGraphics(item), hue = bridge.GetColor(item), radius = -1;
                    foreach (var rule in rules)
                        if ((rule.Type == 0xFFFF || rule.Type == type) && (rule.Hue == 0xFFFF || rule.Hue == hue))
                            radius = Math.Max(radius, rule.Radius);
                    if (radius >= 0) regions.Add((bridge.GetX(item), bridge.GetY(item), radius));
                }
            }
            if (locations.Count == 0 && regions.Count == 0) return null;
            return (x, y) =>
            {
                if (locations.Contains((x, y))) return true;
                foreach (var region in regions)
                    if (Math.Abs((long)x - region.X) <= region.Radius && Math.Abs((long)y - region.Y) <= region.Radius) return true;
                return false;
            };
        }

InjectionScript.Runtime.State.EquipSet.GetAtLayer

Restituisce il valore dell’espressione seguente.

Parametri: layer

Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/EquipSet.cs:32.

public int GetAtLayer(int layer)

Risultato: int.

Risultato: equips.FirstOrDefault(x => x.Layer == layer)?.Id ?? 0.

Chiamate: equips.FirstOrDefault.

Codice interno di implementazione; non è uno script autonomo.

public int GetAtLayer(int layer) => equips.FirstOrDefault(x => x.Layer == layer)?.Id ?? 0;

InjectionScript.Runtime.State.NamedIgnoreLists.Clear

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void Clear()

Risultato: void.

Chiamate: lists.Clear.

Codice interno di implementazione; non è uno script autonomo.

public void Clear() { lock (sync) lists.Clear(); }

Clone this wiki locally