Skip to content

DE Runtime Helpers A

Codex edited this page Oct 12, 2026 · 1 revision

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

Hilfsfunktionen A

Interner Implementierungscode; kein eigenständiges Skript.

ClassicUO.CSharp.CSharpCallbacks.TryInvoke

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:408.

Ergebnis: true.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "SubExists":
                string requested = Convert.ToString(arguments[0]) ?? "";
                result = Exists(requested) || events is ICSharpScriptHost known && known.HasCSharpScript(requested) ? 1 : 0;
                return true;

ClassicUO.CSharp.CSharpScriptGlobals.CSharpScriptGlobals

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.CSharp/CSharpScriptGlobals.cs:62.

Bedingungen: name == "HTTP_Get" && arguments.Length == 2 && arguments[1] is Stream stream; !stream.CanWrite; stream.CanSeek.

Interner Implementierungscode; kein eigenständiges Skript.

if (name == "HTTP_Get" && arguments.Length == 2 && arguments[1] is Stream stream)
            {
                if (!stream.CanWrite) throw new ArgumentException("HTTP_Get requires a writable .NET stream.");
                // Adapt the existing binary response path without fetching the
                // response twice or converting its bytes through text encoding.
                var type = typeof(InjectionValue).Assembly.GetType("InjectionScript.Runtime.ObjectTypes.MemoryStreamObject", throwOnError: true)!;
                using var native = (IDisposable)Activator.CreateInstance(type, nonPublic: true)!;
                value = Invoke(name, [arguments[0], native]);
                var bytes = (InjectionValue)type.GetMethod("ToArray")!.Invoke(native, null)!;
                byte[] payload = bytes.Array.Select(item => checked((byte)item.Integer)).ToArray();
                if (stream.CanSeek) { stream.SetLength(0); stream.Position = 0; }
                stream.Write(payload);
                if (stream.CanSeek) stream.Position = 0;
            }
            else value = Invoke(name, arguments);

ClassicUO.CSharp.CSharpScriptGlobals.ToNative

Analysiert oder ermittelt den Argumentwert nach den im Code gezeigten Regeln.

Parameter: value

Quelle: Project_Full/src/ClassicUO.CSharp/CSharpScriptGlobals.cs:214.

internal static InjectionValue ToNative(object? value)

Ergebnis: InjectionValue.

Aufrufe: letter.ToString, ToNative, Convert.ChangeType, Enum.GetUnderlyingType, enumeration.GetType, date.ToOADate, nativeObject.Unwrap, values.Cast<object?>().Select.

Interner Implementierungscode; kein eigenständiges Skript.

internal static InjectionValue ToNative(object? value) => value switch
    {
        InjectionValue native => native,
        null => InjectionValue.Unit,
        bool flag => new InjectionValue(flag ? 1 : 0),
        byte number => new InjectionValue((int)number),
        sbyte number => new InjectionValue((int)number),
        short number => new InjectionValue((int)number),
        ushort number => new InjectionValue((int)number),
        int number => new InjectionValue(number),
        uint serial => new InjectionValue(unchecked((int)serial)),
        long number => new InjectionValue(checked((int)number)),
        ulong number => new InjectionValue(checked((int)number)),
        nint number => new InjectionValue(checked((int)number)),
        nuint number => new InjectionValue(checked((int)number)),
        double number => new InjectionValue(number),
        float number => new InjectionValue((double)number),
        decimal number => new InjectionValue((double)number),
        char letter => new InjectionValue(letter.ToString()),
        Enum enumeration => ToNative(Convert.ChangeType(enumeration, Enum.GetUnderlyingType(enumeration.GetType()))),
        DateTime date => new InjectionValue(date.ToOADate()),
        string text => new InjectionValue(text),
        CSharpNativeObject nativeObject => new InjectionValue(nativeObject.Unwrap()),
        InjectionObject nativeObject => new InjectionValue(nativeObject),
        System.Collections.IEnumerable values => new InjectionValue(values.Cast<object?>().Select(ToNative), typeof(InjectionValue[])),
        _ => new InjectionValue(value, value.GetType())
    };

ClassicUO.Configuration.ProfileShardIdentity.Resolve

Analysiert oder ermittelt den Argumentwert nach den im Code gezeigten Regeln.

Parameter: runtimeServerName, runtimeHost, runtimePort, selectedShardHost, defaultSettingsPath, authoritativeEndpoint

Quelle: Project_Full/src/ClassicUO.Client/Configuration/ProfileShardIdentity.cs:18.

internal static string Resolve( string runtimeServerName, string runtimeHost, ushort runtimePort, string selectedShardHost, string defaultSettingsPath, bool authoritativeEndpoint = false )

Ergebnis: string.

Aufrufe: ReadDefaultSettings, ResolveFromValues.

Interner Implementierungscode; kein eigenständiges Skript.

internal static string Resolve(
            string runtimeServerName,
            string runtimeHost,
            ushort runtimePort,
            string selectedShardHost,
            string defaultSettingsPath,
            bool authoritativeEndpoint = false
        )
        {
            DefaultSettingsEndpoint defaults = ReadDefaultSettings(defaultSettingsPath);
            return ResolveFromValues(
                runtimeServerName,
                runtimeHost,
                runtimePort,
                selectedShardHost,
                defaults.Host,
                defaults.Port,
                defaults.ServerName,
                authoritativeEndpoint
            );
        }

ClassicUO.Game.GameActions.GrabItem

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: world, serial, amount, bag

Quelle: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:994.

public static void GrabItem(World world, uint serial, ushort amount, uint bag = 0)

Ergebnis: void.

Aufrufe: world.Player.FindItemByLayer, world.Items.Contains, Print, PickUp, DropItem.

Bedingungen: backpack == null; bag == 0; !world.Items.Contains(bag).

Interner Implementierungscode; kein eigenständiges Skript.

public static void GrabItem(World world, uint serial, ushort amount, uint bag = 0)
        {
            //Socket.Send(new PPickUpRequest(serial, amount));

            Item backpack = world.Player.FindItemByLayer(Layer.Backpack);

            if (backpack == null)
            {
                return;
            }

            if (bag == 0)
            {
                bag = ProfileManager.CurrentProfile.GrabBagSerial == 0 ? backpack.Serial : ProfileManager.CurrentProfile.GrabBagSerial;
            }

            if (!world.Items.Contains(bag))
            {
                Print(world, ResGeneral.GrabBagNotFound);
                ProfileManager.CurrentProfile.GrabBagSerial = 0;
                bag = backpack.Serial;
            }

            PickUp(world, serial, 0, 0, amount);

            DropItem
            (
                serial,
                0xFFFF,
                0xFFFF,
                0,
                bag
            );
        }

ClassicUO.Game.GameActions.OpenJournal

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: world

Quelle: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:111.

public static void OpenJournal(World world)

Ergebnis: void.

Aufrufe: UIManager.Add, UIManager.GetGump<JournalGump>, journalGump.SetInScreen, journalGump.BringOnTop.

Bedingungen: ProfileManager.CurrentProfile.UseAlternateJournal; journalGump == null; journalGump.IsMinimized.

Interner Implementierungscode; kein eigenständiges Skript.

public static void OpenJournal(World world)
        {
            if (ProfileManager.CurrentProfile.UseAlternateJournal)
            {
                UIManager.Add(new ResizableJournal(world));
                return;
            }

            JournalGump journalGump = UIManager.GetGump<JournalGump>();

            if (journalGump == null)
            {
                UIManager.Add(new JournalGump(world) { X = 64, Y = 64 });
            }
            else
            {
                journalGump.SetInScreen();
                journalGump.BringOnTop();

                if (journalGump.IsMinimized)
                {
                    journalGump.IsMinimized = false;
                }
            }
        }

ClassicUO.Game.GameActions.SingleClick

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: world, serial

Quelle: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:333.

public static void SingleClick(World world, uint serial)

Ergebnis: void.

Aufrufe: world.BackNewbieHoverNames.NotifyRequest, Socket.Send_ClickRequest, world.Get.

Bedingungen: entity != null.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public static void SingleClick(World world, uint serial)
        {
            // add  request context menu
            world.BackNewbieHoverNames.NotifyRequest(serial);
            Socket.Send_ClickRequest(serial);

            Entity entity = world.Get(serial);

            if (entity != null)
            {
                entity.IsClicked = true;
            }
        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AlwaysRun

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:585.

public int AlwaysRun()

Ergebnis: int.

Ergebnis: Invoke(() => ProfileManager.CurrentProfile?.AlwaysRun == true ? 1 : 0).

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CharacterTitle

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:172.

public string CharacterTitle

Ergebnis: string.

Ergebnis: Invoke(() => CurrentPlayer?.Title ?? string.Empty).

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public string CharacterTitle => Invoke(() => CurrentPlayer?.Title ?? string.Empty);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ControlTypeName

Liefert den Wert des folgenden Ausdrucks.

Parameter: control

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3952.

private static string ControlTypeName(Control control)

Ergebnis: string.

Ergebnis: control is SessionGumpControl logical ? logical.TypeName : control.GetType().Name.

Aufrufe: control.GetType.

Interner Implementierungscode; kein eigenständiges Skript.

private static string ControlTypeName(Control control) => control is SessionGumpControl logical ? logical.TypeName : control.GetType().Name;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DeleteSystemJournal

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1945.

public void DeleteSystemJournal()

Ergebnis: void.

Aufrufe: Invoke.

Aufrufe:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { for (int i = JournalManager.Entries.Count - 1; i >= 0; --i) { if (string.Equals(JournalManager.Entries[i].Name, "System", StringComparison.OrdinalIgnoreCase)) { JournalManager.Entries.RemoveAt(i); } } _journalLine = Math.Min(_journalLine, JournalManager.Entries.Count); _journalMatchCount = 0; _lastJournalMatch = null; }). Überladungskandidaten: die Quelle bestätigt keine Auswahl eines bestimmten Kandidaten.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { for (int i = JournalManager.Entries.Count - 1; i >= 0; --i) { if (string.Equals(JournalManager.Entries[i].Name, "System", StringComparison.OrdinalIgnoreCase)) { JournalManager.Entries.RemoveAt(i); } } _journalLine = Math.Min(_journalLine, JournalManager.Entries.Count); _journalMatchCount = 0; _lastJournalMatch = null; }). Überladungskandidaten: die Quelle bestätigt keine Auswahl eines bestimmten Kandidaten.

Interner Implementierungscode; kein eigenständiges Skript.

public void DeleteSystemJournal() => Invoke(() =>

        {

            for (int i = JournalManager.Entries.Count - 1; i >= 0; --i)

            {

                if (string.Equals(JournalManager.Entries[i].Name, "System", StringComparison.OrdinalIgnoreCase))

                {

                    JournalManager.Entries.RemoveAt(i);

                }

            }

            _journalLine = Math.Min(_journalLine, JournalManager.Entries.Count);

            _journalMatchCount = 0;

            _lastJournalMatch = null;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Drag

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: fromX, fromY, toX, toY

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1381.

public void Drag(int fromX, int fromY, int toX, int toY)

Ergebnis: void.

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public void Drag(int fromX, int fromY, int toX, int toY) => Invoke(() =>

        {

            WarpMouse(fromX, fromY);

            mouse_event(0x0002, 0, 0, 0, UIntPtr.Zero);

            try { WarpMouse(toX, toY); }

            finally { mouse_event(0x0004, 0, 0, 0, UIntPtr.Zero); }

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DragItem

Liefert den Wert des folgenden Ausdrucks.

Parameter: id, amount

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1203.

public int DragItem(int id, int amount)

Ergebnis: int.

Ergebnis: picked ? 1 : 0.

Aufrufe: Invoke.

Aufrufe:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { Item item = _world.Items.Get((uint)id); if (item == null) return false; ushort moveAmount = amount <= 0 ? item.Amount : (ushort)Math.Min(item.Amount, amount); return GameActions.PickUp(_world, item.Serial, 0, 0, moveAmount); }). Überladungskandidaten: die Quelle bestätigt keine Auswahl eines bestimmten Kandidaten.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { Item item = _world.Items.Get((uint)id); if (item == null) return false; ushort moveAmount = amount <= 0 ? item.Amount : (ushort)Math.Min(item.Amount, amount); return GameActions.PickUp(_world, item.Serial, 0, 0, moveAmount); }). Überladungskandidaten: die Quelle bestätigt keine Auswahl eines bestimmten Kandidaten.

Interner Implementierungscode; kein eigenständiges Skript.

public int DragItem(int id, int amount)

        {

            bool picked = Invoke(() =>

            {

                Item item = _world.Items.Get((uint)id);

                if (item == null) return false;

                ushort moveAmount = amount <= 0 ? item.Amount : (ushort)Math.Min(item.Amount, amount);

                return GameActions.PickUp(_world, item.Serial, 0, 0, moveAmount);

            });

            _draggedItem = picked ? id : 0;

            return picked ? 1 : 0;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindJournal

Liefert den Wert des folgenden Ausdrucks.

Parameter: pattern, start, end, limit, systemOnly, ignoreCase, serial, color, newestOnly

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3672.

private int FindJournal(string pattern, DateTime? start, DateTime? end, int limit, bool systemOnly, bool ignoreCase, int serial = -1, int color = -1, bool newestOnly = false)

Ergebnis: int.

Aufrufe: SplitPatterns, Invoke.

Interner Implementierungscode; kein eigenständiges Skript.

private int FindJournal(string pattern, DateTime? start, DateTime? end, int limit, bool systemOnly, bool ignoreCase, int serial = -1, int color = -1, bool newestOnly = false)
        {
            string[] patterns = SplitPatterns(pattern);
            return Invoke(() =>
            {
                int first = Math.Clamp(_journalLine, 0, JournalManager.Entries.Count);
                int examined = 0;
                int firstMatch = 0;
                _journalMatchCount = 0;
                _lastJournalMatch = null;
// …
                    if (start.HasValue && entry.Time < start.Value || end.HasValue && entry.Time > end.Value)
// …
                    if (limit >= 0 && examined++ >= limit)
// …
                    if (systemOnly && !string.Equals(entry.Name, "System", StringComparison.OrdinalIgnoreCase))
// …
                    if (serial != -1 && entry.Serial != unchecked((uint)serial))
// …
                    if (color >= 0 && color != 0xFFFF && entry.Hue != (ushort)color)
// …
                    if (Matches(entry.Text, patterns, ignoreCase))
// …
                        if (firstMatch == 0)
// …
                        if (newestOnly)
// …
                return firstMatch;
// …

Der vollständige Code steht in der Quelldatei; es folgen genaue Auszüge.

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindSkillUnsafe

Prüft die folgenden Bedingungen und liefert das gezeigte Ergebnis.

Parameter: name

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3975.

private Skill FindSkillUnsafe(string name)

Ergebnis: Skill.

Ergebnis: null; index >= 0 && index < _world.Player.Skills.Length ? _world.Player.Skills[index] : null; _world.Player.Skills.FirstOrDefault(skill => skill != null && skill.Name.Equals(normalized, StringComparison.OrdinalIgnoreCase)).

Aufrufe: int.TryParse, (name ?? string.Empty).Replace("_", " ").Trim, (name ?? string.Empty).Replace, _world.Player.Skills.FirstOrDefault.

Bedingungen: _world.Player?.Skills == null; int.TryParse(name, NumberStyles.Integer, CultureInfo.InvariantCulture, out int index).

Interner Implementierungscode; kein eigenständiges Skript.

private Skill FindSkillUnsafe(string name)

        {

            if (_world.Player?.Skills == null) return null;

            if (int.TryParse(name, NumberStyles.Integer, CultureInfo.InvariantCulture, out int index))

            {

                return index >= 0 && index < _world.Player.Skills.Length ? _world.Player.Skills[index] : null;

            }

            string normalized = (name ?? string.Empty).Replace("_", " ").Trim();

            return _world.Player.Skills.FirstOrDefault(skill => skill != null && skill.Name.Equals(normalized, StringComparison.OrdinalIgnoreCase));

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLayer

Liefert den Wert des folgenden Ausdrucks.

Parameter: id

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2729.

public int GetLayer(int id)

Ergebnis: int.

Ergebnis: Invoke(() => _world.Items.Get((uint)id) is Item item ? (int)item.Layer : 0).

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetRun

Liefert den Wert des folgenden Ausdrucks.

Parameter: id

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:598.

public int GetRun(int id)

Ergebnis: int.

Ergebnis: Invoke(() => _world.Get(unchecked((uint)id)) is Mobile m && (m.Direction & Direction.Running) != 0 ? 1 : 0).

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int GetRun(int id) => Invoke(() => _world.Get(unchecked((uint)id)) is Mobile m && (m.Direction & Direction.Running) != 0 ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetScriptState

Liefert den Wert des folgenden Ausdrucks.

Parameter: index

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:316.

public int GetScriptState(int index)

Ergebnis: int.

Ergebnis: _manager.GetScriptState(index).

Aufrufe: _manager.GetScriptState.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int GetScriptState(int index) => _manager.GetScriptState(index);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTileInfoText

Liefert den Wert des folgenden Ausdrucks.

Parameter: x, y, map

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1010.

public string GetTileInfoText(int x, int y, int map)

Ergebnis: string.

Aufrufe: Invoke.

Aufrufe:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map == null || map != _world.MapIndex) return $"UO.InfoTile: map {map} is not the currently loaded map {_world.MapIndex}."; for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (tile is Land) { string result = FormatTileInfo(tile, map); OpenInteractiveInfoGump("C# Tile Information", result); return result; } } return $"UO.InfoTile: no land tile is available at X={x}, Y={y}, map={map}."; }). Überladungskandidaten: die Quelle bestätigt keine Auswahl eines bestimmten Kandidaten.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Map == null || map != _world.MapIndex) return $"UO.InfoTile: map {map} is not the currently loaded map {_world.MapIndex}."; for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (tile is Land) { string result = FormatTileInfo(tile, map); OpenInteractiveInfoGump("C# Tile Information", result); return result; } } return $"UO.InfoTile: no land tile is available at X={x}, Y={y}, map={map}."; }). Überladungskandidaten: die Quelle bestätigt keine Auswahl eines bestimmten Kandidaten.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FormatTileInfo: FormatTileInfo(tile, map).
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.OpenInteractiveInfoGump: OpenInteractiveInfoGump("C# Tile Information", result).

Interner Implementierungscode; kein eigenständiges Skript.

public string GetTileInfoText(int x, int y, int map) => Invoke(() =>

        {

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

                return $"UO.InfoTile: map {map} is not the currently loaded map {_world.MapIndex}.";



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

            {

                if (tile is Land)

                {

                    string result = FormatTileInfo(tile, map);

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

                    return result;

                }

            }

            return $"UO.InfoTile: no land tile is available at X={x}, Y={y}, map={map}.";

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTooltip

Prüft die folgenden Bedingungen und liefert das gezeigte Ergebnis.

Parameter: objectId

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2381.

public string GetTooltip(int objectId)

Ergebnis: string.

Ergebnis: string.Empty; tooltip.

Aufrufe: ReadTooltip, Invoke, _cancellationToken.WaitHandle.WaitOne.

Bedingungen: serial == 0; tooltip != null.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public string GetTooltip(int objectId)

        {

            uint serial = unchecked((uint)objectId);

            if (serial == 0)

                return string.Empty;



            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;

            });



            string tooltip = ReadTooltip();

            if (tooltip != null)

                return tooltip;



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

            const int timeoutMs = 200;

            const int pollMs = 10;

            for (int waited = 0; waited < timeoutMs && !_cancellationToken.IsCancellationRequested; waited += pollMs)

            {

                _cancellationToken.WaitHandle.WaitOne(pollMs);

                tooltip = ReadTooltip();

                if (tooltip != null)

                    return tooltip;

            }



            return string.Empty;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GlobalChatLeave

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1563.

public void GlobalChatLeave()

Ergebnis: void.

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public void GlobalChatLeave() => Invoke(() => NetClient.Socket.Send_ChatLeaveChannelCommand());

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsMovable

Liefert den Wert des folgenden Ausdrucks.

Parameter: id

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:241.

public int IsMovable(int id)

Ergebnis: int.

Aufrufe: Invoke.

Aufrufe:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => _world.Items.Get(unchecked((uint)id)) is Item item && !item.IsDestroyed && !item.IsMulti && (!item.OnGround || !item.IsLocked) ? 1 : 0). Überladungskandidaten: die Quelle bestätigt keine Auswahl eines bestimmten Kandidaten.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => _world.Items.Get(unchecked((uint)id)) is Item item && !item.IsDestroyed && !item.IsMulti && (!item.OnGround || !item.IsLocked) ? 1 : 0). Überladungskandidaten: die Quelle bestätigt keine Auswahl eines bestimmten Kandidaten.

Interner Implementierungscode; kein eigenständiges Skript.

public int IsMovable(int id) => Invoke(() =>

            _world.Items.Get(unchecked((uint)id)) is Item item

            && !item.IsDestroyed && !item.IsMulti

            && (!item.OnGround || !item.IsLocked) ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsTargeting

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:869.

public int IsTargeting()

Ergebnis: int.

Ergebnis: Invoke(() => _world.TargetManager.IsTargeting ? 1 : 0).

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int IsTargeting() => Invoke(() => _world.TargetManager.IsTargeting ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Launch

Prüft die folgenden Bedingungen und liefert das gezeigte Ergebnis.

Parameter: fileName, arguments, workingDirectory, hidden

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1709.

public int Launch(string fileName, string arguments, string workingDirectory, bool hidden)

Ergebnis: int.

Ergebnis: process != null ? 1 : 0; 0.

Aufrufe: string.IsNullOrWhiteSpace, Path.IsPathRooted, Path.Combine, File.Exists, Process.Start, Error.

Bedingungen: hidden && !Path.IsPathRooted(executable); File.Exists(candidate).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int Launch(string fileName, string arguments, string workingDirectory, bool hidden)

        {

            try

            {

                string executable = fileName ?? string.Empty;

                string cwd = string.IsNullOrWhiteSpace(workingDirectory)

                    ? Environment.CurrentDirectory

                    : workingDirectory;

                if (hidden && !Path.IsPathRooted(executable))

                {

                    string candidate = Path.Combine(cwd, executable);

                    if (File.Exists(candidate))

                        executable = candidate;

                }



                var info = new ProcessStartInfo

                {

                    FileName = executable,

                    Arguments = arguments ?? string.Empty,

                    WorkingDirectory = cwd,

                    UseShellExecute = !hidden,

                    CreateNoWindow = hidden,

                    WindowStyle = hidden ? ProcessWindowStyle.Hidden : ProcessWindowStyle.Normal

                };

                using Process process = Process.Start(info);

                return process != null ? 1 : 0;

            }

            catch (Exception exception)

            {

                Error($"UO.Launch: {exception.Message}");

                return 0;

            }

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MaxStamina

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:159.

public int MaxStamina

Ergebnis: int.

Ergebnis: Invoke(() => CurrentPlayer?.StaminaMax ?? 0).

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Picking

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:634.

public int Picking()

Ergebnis: int.

Ergebnis: Invoke(() => Client.UO.World.ItemHold.Enabled ? 1 : 0).

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int Picking() => Invoke(() => Client.UO.World.ItemHold.Enabled ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PlaySound

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: sound

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1675.

public void PlaySound(int sound)

Ergebnis: void.

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public void PlaySound(int sound) => Invoke(() => RequireGameView("PlaySound").Audio.PlaySound(sound));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ProfileName

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:174.

public string ProfileName

Ergebnis: string.

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public string ProfileName => Invoke(() => ProfileManager.CurrentCharacterSerial == 0

            ? string.Empty

            : $"0x{ProfileManager.CurrentCharacterSerial:X8}");

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResolveFindRange

Analysiert oder ermittelt den Argumentwert nach den im Code gezeigten Regeln.

Parameter: range

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3761.

private int ResolveFindRange(int range)

Ergebnis: int.

Ergebnis: range < 0 ? State.FindDistance : Math.Max(0, range).

Aufrufe: Math.Max.

Interner Implementierungscode; kein eigenständiges Skript.

private int ResolveFindRange(int range) => range < 0 ? State.FindDistance : Math.Max(0, range);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RuntimeProductName

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:180.

public string RuntimeProductName

Ergebnis: string.

Ergebnis: "ClassicUO / BadNewbie / C# Scripts IDE".

Interner Implementierungscode; kein eigenständiges Skript.

public string RuntimeProductName => "ClassicUO / BadNewbie / C# Scripts IDE";

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SaveHotkeys

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3664.

public void SaveHotkeys()

Ergebnis: void.

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public void SaveHotkeys() => Invoke(_world.Macros.Save);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerGumpsUnsafe

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3925.

private List<Gump> ServerGumpsUnsafe()

Ergebnis: List<Gump>.

Ergebnis: _world.ServerGumps.Snapshot().

Aufrufe: _world.ServerGumps.Snapshot.

Interner Implementierungscode; kein eigenständiges Skript.

private List<Gump> ServerGumpsUnsafe() => _world.ServerGumps.Snapshot();

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerPrint

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: message

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1823.

public void ServerPrint(string message)

Ergebnis: void.

Aufrufe: PrintClientMessage.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public void ServerPrint(string message) => PrintClientMessage(DEFAULT_SCRIPT_PRINT_HUE, message);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetDropDelay

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: value

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:204.

public void SetDropDelay(int value)

Ergebnis: void.

Aufrufe: Math.Clamp.

Interner Implementierungscode; kein eigenständiges Skript.

public void SetDropDelay(int value) => State.GrabDelay = Math.Clamp(value, 50, 10_000);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StepControlled

Prüft die folgenden Bedingungen und liefert das gezeigte Ergebnis.

Parameter: direction, running, timeoutMs, queue, waitForAck

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3202.

public int StepControlled(int direction, bool running, int timeoutMs, bool queue, bool waitForAck)

Ergebnis: int.

Ergebnis: STEP_QUEUE_GENERAL_ERROR; result; 5; 7; 4.

Aufrufe: Math.Max, QueueStep, Wait, Invoke, walker.GetDenyGeneration, walker.GetConfirmGeneration.

Bedingungen: result != STEP_QUEUE_OVERFLOW || timeout <= 0 || Environment.TickCount64 >= deadline; result == STEP_QUEUE_OVERFLOW; !waitForAck || result < 0 || result == STEP_QUEUE_TURN_ONLY; walker == null.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int StepControlled(int direction, bool running, int timeoutMs, bool queue, bool waitForAck)

        {

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

            long deadline = Environment.TickCount64 + timeout;

            int result;

            (int Result, int ConfirmGeneration, int DenyGeneration, WalkerManager Walker) queued;

            do

            {

                queued = QueueStep(direction, running, !queue);

                result = queued.Result;

                if (result != STEP_QUEUE_OVERFLOW || timeout <= 0 || Environment.TickCount64 >= deadline)

                    break;

                Wait(5);

            }

            while (true);



            if (result == STEP_QUEUE_OVERFLOW)

                return STEP_QUEUE_GENERAL_ERROR;

            if (!waitForAck || result < 0 || result == STEP_QUEUE_TURN_ONLY)

                return result;



            int sequence = result & 0xFF;

            WalkerManager walker = queued.Walker;

            if (walker == null)

                return STEP_QUEUE_GENERAL_ERROR;

            long ackDeadline = timeout > 0 ? Environment.TickCount64 + timeout : Environment.TickCount64 + STEP_ACK_TIMEOUT_MS;

            while (Environment.TickCount64 < ackDeadline)

            {

                if (!NetClient.Socket.IsConnected)

                    return STEP_QUEUE_GENERAL_ERROR;

                if (!Invoke(() => ReferenceEquals(_world.Player?.Walker, walker)))

                    return STEP_QUEUE_GENERAL_ERROR;

                if (walker.GetDenyGeneration((byte)sequence) != queued.DenyGeneration)

                    return 5;

                if (walker.GetConfirmGeneration((byte)sequence) != queued.ConfirmGeneration)

                    return 7;

                Wait(5);

            }

            return 4;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Target

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: targetKey, serial, targetType, type, x, y, z

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:839.

public void Target(int targetKey, int serial, int targetType, int type, int x, int y, int z)

Ergebnis: void.

Aufrufe: Invoke.

Aufrufe:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { Entity entity = serial > 0 ? _world.Get((uint)serial) : null; ushort graphic = (ushort)type; ushort targetX = (ushort)x; ushort targetY = (ushort)y; sbyte targetZ = (sbyte)z; if (entity != null) { graphic = entity.Graphic; targetX = entity.X; targetY = entity.Y; targetZ = entity.Z; } NetClient.Socket.Send_TargetObject ( (uint)Math.Max(0, serial), graphic, targetX, targetY, targetZ, (uint)targetKey, (byte)targetType ); }). Überladungskandidaten: die Quelle bestätigt keine Auswahl eines bestimmten Kandidaten.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { Entity entity = serial > 0 ? _world.Get((uint)serial) : null; ushort graphic = (ushort)type; ushort targetX = (ushort)x; ushort targetY = (ushort)y; sbyte targetZ = (sbyte)z; if (entity != null) { graphic = entity.Graphic; targetX = entity.X; targetY = entity.Y; targetZ = entity.Z; } NetClient.Socket.Send_TargetObject ( (uint)Math.Max(0, serial), graphic, targetX, targetY, targetZ, (uint)targetKey, (byte)targetType ); }). Überladungskandidaten: die Quelle bestätigt keine Auswahl eines bestimmten Kandidaten.
  • ClassicUO.Game.World.Get: _world.Get((uint)serial).

Interner Implementierungscode; kein eigenständiges Skript.

public void Target(int targetKey, int serial, int targetType, int type, int x, int y, int z)

        {

            Invoke(() =>

            {

                Entity entity = serial > 0 ? _world.Get((uint)serial) : null;

                ushort graphic = (ushort)type;

                ushort targetX = (ushort)x;

                ushort targetY = (ushort)y;

                sbyte targetZ = (sbyte)z;



                if (entity != null)

                {

                    graphic = entity.Graphic;

                    targetX = entity.X;

                    targetY = entity.Y;

                    targetZ = entity.Z;

                }



                NetClient.Socket.Send_TargetObject

                (

                    (uint)Math.Max(0, serial),

                    graphic,

                    targetX,

                    targetY,

                    targetZ,

                    (uint)targetKey,

                    (byte)targetType

                );

            });

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TargetToObject

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: id

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:832.

public void TargetToObject(int id)

Ergebnis: void.

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public void TargetToObject(int id) => Invoke(() => _world.TargetManager.TargetServerObject(unchecked((uint)id)));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TrySetGumpValue

Liefert den Wert des folgenden Ausdrucks.

Parameter: gumpId, identifier, key, state

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2950.

public int TrySetGumpValue(int gumpId, string identifier, int key, string state)

Ergebnis: int.

Ergebnis: Invoke(() => TrySetGumpValueUnsafe(ResolveGumpUnsafe(gumpId), identifier, key, state, true)).

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int TrySetGumpValue(int gumpId, string identifier, int key, string state)

            => Invoke(() => TrySetGumpValueUnsafe(ResolveGumpUnsafe(gumpId), identifier, key, state, true));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Unignore

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: id

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2705.

public void Unignore(int id)

Ergebnis: void.

Aufrufe: State.IgnoredSerials.Remove.

Interner Implementierungscode; kein eigenständiges Skript.

public void Unignore(int id) => State.IgnoredSerials.Remove(id);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitForClientTargetResponse

Prüft die folgenden Bedingungen und liefert das gezeigte Ergebnis.

Parameter: maxWaitMs

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:911.

public int WaitForClientTargetResponse(int maxWaitMs)

Ergebnis: int.

Ergebnis: 1; 0.

Aufrufe: DateTime.UtcNow.AddMilliseconds, Math.Max, Wait, Math.Min.

Bedingungen: _clientTargetResponsePresent; DateTime.UtcNow >= deadline.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int WaitForClientTargetResponse(int maxWaitMs)

        {

            DateTime deadline = DateTime.UtcNow.AddMilliseconds(Math.Max(0, maxWaitMs));

            do

            {

                if (_clientTargetResponsePresent) return 1;

                if (DateTime.UtcNow >= deadline) return 0;

                Wait(Math.Min(25, Math.Max(1, maxWaitMs)));

            } while (true);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitUntilTargeting

Prüft die folgenden Bedingungen und liefert das gezeigte Ergebnis.

Parameter: maxWaitMs

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:870.

public int WaitUntilTargeting(int maxWaitMs)

Ergebnis: int.

Ergebnis: 1; 0.

Aufrufe: DateTime.UtcNow.AddMilliseconds, Math.Max, IsTargeting, Wait, Math.Min.

Bedingungen: IsTargeting() != 0; DateTime.UtcNow >= deadline.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int WaitUntilTargeting(int maxWaitMs)

        {

            DateTime deadline = DateTime.UtcNow.AddMilliseconds(Math.Max(0, maxWaitMs));

            do

            {

                if (IsTargeting() != 0) return 1;

                if (DateTime.UtcNow >= deadline) return 0;

                Wait(Math.Min(25, Math.Max(1, maxWaitMs)));

            } while (true);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitingMenu

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:674.

public int WaitingMenu()

Ergebnis: int.

Ergebnis: Invoke(() => _world.ServerMenus.Snapshot().Length != 0 ? 1 : 0).

Aufrufe: Invoke.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int WaitingMenu() => Invoke(() => _world.ServerMenus.Snapshot().Length != 0 ? 1 : 0);

ClassicUO.Game.Managers.JournalManager.AddYokoIgnoredUser

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: name

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/JournalManager.cs:26.

internal static void AddYokoIgnoredUser(string name)

Ergebnis: void.

Aufrufe: string.IsNullOrWhiteSpace, _yokoIgnoredUsers.Add, name.Trim.

Bedingungen: !string.IsNullOrWhiteSpace(name).

Interner Implementierungscode; kein eigenständiges Skript.

internal static void AddYokoIgnoredUser(string name)
        {
            if (!string.IsNullOrWhiteSpace(name))
                _yokoIgnoredUsers.Add(name.Trim());
        }

ClassicUO.Game.Managers.YokoInjectionManager.CancelVendorPrices

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: Keine Parameter.

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3433.

internal void CancelVendorPrices()

Ergebnis: void.

Aufrufe: .CancelPending.

Interner Implementierungscode; kein eigenständiges Skript.

internal void CancelVendorPrices() => _vendorPricer?.CancelPending();

ClassicUO.Game.Managers.YokoInjectionManager.ElementAt

Liefert den Wert des folgenden Ausdrucks.

Parameter: values, index

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2915.

private static T ElementAt<T>(T[] values, int index)

Ergebnis: T.

Ergebnis: index >= 0 && index < values.Length ? values[index] : null.

Interner Implementierungscode; kein eigenständiges Skript.

private static T ElementAt<T>(T[] values, int index) where T : class =>
            index >= 0 && index < values.Length ? values[index] : null;

ClassicUO.Game.Managers.YokoInjectionManager.GetScriptPath

Liefert den Wert des folgenden Ausdrucks.

Parameter: index

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2812.

internal string GetScriptPath(int index)

Ergebnis: string.

Ergebnis: ElementAt(RunningScripts(), index)?.FilePath ?? string.Empty.

Aufrufe: ElementAt, RunningScripts.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

internal string GetScriptPath(int index) => ElementAt(RunningScripts(), index)?.FilePath ?? string.Empty;

ClassicUO.Game.Managers.YokoInjectionManager.ReadScriptContent

Liefert den Wert des folgenden Ausdrucks.

Parameter: filePath

Quelle: Project_Full/src/ClassicUO.Client/Game/Managers/YokoCompiledScripts.cs:15.

private static string ReadScriptContent(string filePath)

Ergebnis: string.

Aufrufe: IsCompiledScriptFilePath, File.ReadAllText.

Interner Implementierungscode; kein eigenständiges Skript.

private static string ReadScriptContent(string filePath) => IsCompiledScriptFilePath(filePath)
        ? "// Compiled C# artifact. Source remains unavailable until explicit Decrypt or Decompile."
        : File.ReadAllText(filePath);

InjectionScript.Runtime.InjectionApiUO.AlwaysRun

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3772.

public int AlwaysRun()

Ergebnis: int.

Ergebnis: bridge.AlwaysRun().

Aufrufe: bridge.AlwaysRun.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

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

InjectionScript.Runtime.InjectionApiUO.BuildTileData

Liefert den Wert des folgenden Ausdrucks.

Parameter: group, tileId

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2377.

private InjectionValue BuildTileData(int group, int tileId)

Ergebnis: InjectionValue.

Ergebnis: new InjectionValue(values.ToArray()).

Aufrufe: bridge.GetTileFlags, bridge.GetTileDataName, values.AddRange, bridge.GetTileDataProperties(group, tileId).Select, bridge.GetTileDataProperties, values.ToArray.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

private InjectionValue BuildTileData(int group, int tileId)

        {

            // Preserve the old [graphic, flags] indexes and append richer data.

            // Land: [graphic, flags, name, texId, wet, impassable, noDiagonal].

            // Static: [graphic, flags, name, weight, layer, count, animId, hue,

            //          lightIndex, height, wet, impassable, surface, foliage,

            //          door, wall, container].

            var values = new List<InjectionValue>

            {

                new InjectionValue(tileId),

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

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

            };

            values.AddRange(bridge.GetTileDataProperties(group, tileId).Select(value => new InjectionValue(value)));

            return new InjectionValue(values.ToArray());

        }

InjectionScript.Runtime.InjectionApiUO.CompactGetMobiles

Prüft die folgenden Bedingungen und liefert das gezeigte Ergebnis.

Parameter: values

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4916.

private InjectionValue CompactGetMobiles(InjectionValue[] values)

Ergebnis: InjectionValue.

Ergebnis: new InjectionValue(mobiles.Select(id => new InjectionValue(id)).ToArray()).

Aufrufe: ResolveCompactDistance, ResolveCompactMaxZ, ToBoolean, FilterMobiles, mobiles.OrderBy(id => bridge.GetDistance(id)).ThenBy, mobiles.OrderBy, mobiles.Select(id => new InjectionValue(id)).ToArray, mobiles.Select.

Bedingungen: nearest.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

private InjectionValue CompactGetMobiles(InjectionValue[] values)

        {

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

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

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

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

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

            bool includeSelf = values.Length > 5 && ToBoolean(values[5]);

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

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



            IEnumerable<int> mobiles = FilterMobiles(distance, notoriety, body, maxZ, -1, includeSelf,

                false, aliveOnly, visibleOnly);

            if (nearest)

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

            return new InjectionValue(mobiles.Select(id => new InjectionValue(id)).ToArray());

        }

InjectionScript.Runtime.InjectionApiUO.CompactNewMoveXY

Prüft die folgenden Bedingungen und liefert das gezeigte Ergebnis.

Parameter: values

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2219.

private int CompactNewMoveXY(InjectionValue[] values)

Ergebnis: int.

Aufrufe: NumberConversions.ToInt, Math.Max, ToBoolean, MoveToCanonical, bridge.GetZ.

Bedingungen: values == null || values.Length < 5 || values.Length > 13; values.Length > 5; values[5].Kind == InjectionValueKind.String; NumberConversions.ToInt(values[5]) != 0.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

private int CompactNewMoveXY(InjectionValue[] values)

        {

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

                throw new NativeSubrutineException("UO.NewMoveXY expects x,y,optimized,accuracy,running[,callback[,timeout[,maxSteps[,maxDistance[,accuracyZ[,avoidMobiles[,openDoors[,stopOnStuck]]]]]]]].");

            string callback = null;

            if (values.Length > 5)

            {

                if (values[5].Kind == InjectionValueKind.String)

                    callback = values[5].String;

                else if (NumberConversions.ToInt(values[5]) != 0)

                    throw new NativeSubrutineException("UO.NewMoveXY callback must be 0/nil or a procedure/function name string.");

            }

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

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

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

            int accuracyZ = values.Length > 9 ? NumberConversions.ToInt(values[9]) : 255;

            bool? avoidMobiles = values.Length > 10 ? ToBoolean(values[10]) : (bool?)null;

            bool? openDoors = values.Length > 11 ? ToBoolean(values[11]) : (bool?)null;

            bool stopOnStuck = values.Length > 12 && ToBoolean(values[12]);

            return MoveToCanonical(NumberConversions.ToInt(values[0]), NumberConversions.ToInt(values[1]),

                bridge.GetZ(bridge.Self), NumberConversions.ToInt(values[3]), ToBoolean(values[4]), accuracyZ,

                ToBoolean(values[2]), callback, timeout, maxSteps, maxDistance, avoidMobiles, openDoors, stopOnStuck);

        }

InjectionScript.Runtime.InjectionApiUO.ConvertSkillName

Prüft die folgenden Bedingungen und liefert das gezeigte Ergebnis.

Parameter: skillName

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6586.

private int? ConvertSkillName(string skillName)

Ergebnis: int?.

Ergebnis: skillId; null.

Aufrufe: skillNameToSkillId.TryGetValue.

Bedingungen: skillNameToSkillId.TryGetValue(skillName, out var skillId).

Interner Implementierungscode; kein eigenständiges Skript.

private int? ConvertSkillName(string skillName)

        {

            if (skillNameToSkillId.TryGetValue(skillName, out var skillId))

                return skillId;



            return null;

        }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg

Prüft die folgenden Bedingungen und liefert das gezeigte Ergebnis.

Parameter: index, fallback

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1137.

int Arg(int index, int fallback = 0)

Ergebnis: int.

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

Aufrufe: TryGetObject, NumberConversions.ToInt.

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

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

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.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1292.

Ergebnis: new InjectionValue(bridge.Backpack).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "backpack": return new InjectionValue(bridge.Backpack);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1508.

Ergebnis: new InjectionValue(bridge.CharacterTitle).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "chartitle": return new InjectionValue(bridge.CharacterTitle);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1312.

Ergebnis: new InjectionValue(bridge.CurrentProfilePath).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "shardpath":

                case "clientprofilepath": return new InjectionValue(bridge.CurrentProfilePath);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1307.

Ergebnis: InjectionValue.Unit.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "disconnect": bridge.DisconnectClient(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1618.

Ergebnis: new InjectionValue(MoveItemChecked(Arg(0), Arg(1), 0, Arg(2), Arg(3), Arg(4)) ? 1 : 0).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "drop": return new InjectionValue(MoveItemChecked(Arg(0), Arg(1), 0, Arg(2), Arg(3), Arg(4)) ? 1 : 0);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1815.

Ergebnis: InjectionValue.Unit.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "fillnewwindow": bridge.TextClear(); bridge.TextPrint(Text(0)); bridge.TextOpen(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1395.

Ergebnis: new InjectionValue(Array.Empty<InjectionValue>()); new InjectionValue(items.Select(serial => new InjectionValue(serial)).ToArray()).

Bedingungen: selection.Kind == InjectionValueKind.String; selection.Kind != InjectionValueKind.Integer && selection.Kind != InjectionValueKind.Decimal; container < 0 || container == 0 && !ground && !explicitZero.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "getcontent":

                case "getequipment":

                {

                    InjectionValue selection = arguments[0];

                    bool ground = false, explicitZero;

                    int container;

                    if (selection.Kind == InjectionValueKind.String)

                    {

                        string text = Text(0).Trim();

                        ground = text.Equals("ground", StringComparison.OrdinalIgnoreCase);

                        explicitZero = NumberConversions.TryStr2Int(text, out int literal) && literal == 0;

                        container = ground ? 0 : text.Equals("my", StringComparison.OrdinalIgnoreCase)

                            ? bridge.Backpack : GetObject(text);

                    }

                    else

                    {

                        if (selection.Kind != InjectionValueKind.Integer && selection.Kind != InjectionValueKind.Decimal)

                            return new InjectionValue(Array.Empty<InjectionValue>());

                        container = Arg(0);

                        explicitZero = selection.Kind == InjectionValueKind.Integer ? selection.Integer == 0 : selection.Decimal == 0d;

                    }

                    // Only an explicit ground/zero selector may query world items.

                    if (container < 0 || container == 0 && !ground && !explicitZero)

                        return new InjectionValue(Array.Empty<InjectionValue>());

                    bool equipment = name.Equals("GetEquipment", StringComparison.OrdinalIgnoreCase);

                    int[] items = equipment

                        ? container == 0 ? Array.Empty<int>() : bridge.GetEquipment(container)

                        : bridge.GetContent(container);

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

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2021.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "getglobal":

                    return new InjectionValue(state.GlobalVariables.TryGetValue(Text(0) + "\u001F" + Text(1), out string globalValue)

                        ? globalValue : string.Empty);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1864.

new []

Ergebnis: [].

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "getmobile":

                {

                    int id = Arg(0);

                    return new InjectionValue(new[]

                    {

                        new InjectionValue(id), new InjectionValue(bridge.GetName(id)), new InjectionValue(bridge.GetX(id)),

                        new InjectionValue(bridge.GetY(id)), new InjectionValue(bridge.GetZ(id)), new InjectionValue(bridge.GetHP(id)),

                        new InjectionValue(bridge.GetMaxHP(id)), new InjectionValue(bridge.GetNotoriety(id)), new InjectionValue(bridge.GetDir(id))

                    });

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1877.

Ergebnis: new InjectionValue((part ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray())).ToArray()).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "getmultiallparts":

                    return new InjectionValue((bridge.GetMultiAllParts(Arg(0)) ?? Array.Empty<int[]>())

                        .Select(part => new InjectionValue((part ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray())).ToArray());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1880.

Ergebnis: new InjectionValue((part ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray())).ToArray()).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "getmultipartsatposition":

                    return new InjectionValue((bridge.GetMultiPartsAtPosition(Arg(0), Arg(1)) ?? Array.Empty<int[]>())

                        .Select(part => new InjectionValue((part ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray())).ToArray());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1518.

Ergebnis: new InjectionValue(bridge.GetPauseScriptOnDisconnectStatus()).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "getpausescriptondisconnectstatus": return new InjectionValue(bridge.GetPauseScriptOnDisconnectStatus());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1850.

Ergebnis: BuildTileData(1, Arg(0)).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "getstatictiledata":

                    return BuildTileData(1, Arg(0));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1858.

Ergebnis: FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), ArrayArg(5), true).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "getstatictilesarrayex":

                    return FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), ArrayArg(5), true);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1515.

Ergebnis: new InjectionValue(bridge.GetTradeContainer(Arg(0), Arg(1))).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "gettradecontainer": return new InjectionValue(bridge.GetTradeContainer(Arg(0), Arg(1)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1517.

Ergebnis: new InjectionValue(bridge.GetTradeOpponentName(Arg(0))).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "gettradeopponentname": return new InjectionValue(bridge.GetTradeOpponentName(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1562.

Ergebnis: new InjectionValue(bridge.GetX(Arg(0, bridge.Self))).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "getx": return new InjectionValue(bridge.GetX(Arg(0, bridge.Self)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1916.

Ergebnis: StringArray(bridge.GlobalChatChannels()).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "globalchatchannelslist": return StringArray(bridge.GlobalChatChannels());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1948.

Ergebnis: new InjectionValue(httpBody).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "http_post":

                {

                    string[] response = bridge.HttpRequest("POST", Text(0), Text(1));

                    httpBody = response.Length > 0 ? response[0] : string.Empty;

                    httpHeader = response.Length > 1 ? response[1] : string.Empty;

                    return new InjectionValue(httpBody);

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1439.

Ergebnis: new InjectionValue(spellId.HasValue ? bridge.IsActiveSpell(spellId.Value) : 0).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "isactivespellability":

                {

                    int? spellId = arguments[0].Kind == InjectionValueKind.String

                        ? ConvertSpellName(Text(0).Replace('_', ' '))

                        : (int?)Arg(0);

                    return new InjectionValue(spellId.HasValue ? bridge.IsActiveSpell(spellId.Value) : 0);

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1361.

Ergebnis: new InjectionValue(arguments.Length > 0 ? bridge.IsDead(Arg(0)) : bridge.Dead()).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "isdead": return new InjectionValue(arguments.Length > 0 ? bridge.IsDead(Arg(0)) : bridge.Dead());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1468.

new []

Ergebnis: [].

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "isworldcellpassable":

                {

                    int destinationZFallback = Arg(5);

                    int[] step = bridge.CheckWorldStep(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), Arg(6));

                    int passable = step.Length > 0 ? step[0] : 0;

                    int destinationZ = step.Length > 1 ? step[1] : destinationZFallback;

                    return new InjectionValue(new[] { new InjectionValue(passable), new InjectionValue(destinationZ) });

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1489.

Ergebnis: new InjectionValue(bridge.GetHP(bridge.Self)).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "life": return new InjectionValue(bridge.GetHP(bridge.Self));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2042.

Ergebnis: new InjectionValue(selectedJournalEntry?.MessageType ?? 0).

Interner Implementierungscode; kein eigenständiges Skript.

case "linemsgtype": return new InjectionValue(selectedJournalEntry?.MessageType ?? 0);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2037.

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

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1499.

Ergebnis: new InjectionValue(bridge.PoisonResistance).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "poisonresist": return new InjectionValue(bridge.PoisonResistance);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1556.

Ergebnis: new InjectionValue(bridge.ShardName).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "shardname":

                case "profileshardname": return new InjectionValue(bridge.ShardName);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1554.

Ergebnis: InjectionValue.Unit.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "reqvirtuesgump": bridge.RequestVirtuesGump(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1293.

Ergebnis: new InjectionValue(bridge.Self).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "self": return new InjectionValue(bridge.Self);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

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

Ergebnis: InjectionValue.Unit.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "setstatlockstate":

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1348.

Ergebnis: InjectionValue.Unit.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "setwalkmounttimer":

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

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

                    return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1506.

Ergebnis: new InjectionValue(bridge.Sex).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "sex": return new InjectionValue(bridge.Sex);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1581.

Ergebnis: InjectionValue.Unit.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "setskilllockstate":

                case "skilllockstate": bridge.SetSkillLockState(Text(0), Arg(1)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1649.

Ergebnis: InjectionValue.Unit.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "targettoobject": bridge.TargetToObject(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1626.

Ergebnis: new InjectionValue(bridge.Equip(Arg(0), Arg(1))).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "wearitem": return new InjectionValue(bridge.Equip(Arg(0), Arg(1)));

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3011.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "allprice":

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

                        arguments.Length > 1 ? ResolveType(arguments[1]) : 0);

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2894.

Ergebnis: new InjectionValue(MoveItem(arguments[0], arguments.Length > 1 ? arguments[1] : InjectionValue.Zero, arguments.Length > 2 ? arguments[2] : new InjectionValue("ground"))); InjectionValue.False.

Bedingungen: arguments.Length > 0.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "drop":

                    if (arguments.Length > 0)

                        return new InjectionValue(MoveItem(arguments[0], arguments.Length > 1 ? arguments[1] : InjectionValue.Zero, arguments.Length > 2 ? arguments[2] : new InjectionValue("ground")));

                    return InjectionValue.False;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2901.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "sell":

                    bridge.SetAutoSellRule(Arg(0), arguments.Length > 1 ? Arg(1) : -1, arguments.Length > 2 ? Arg(2) : 1);

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Dieser Zweig behandelt nur den angegebenen Befehlsnamen.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3036.

Bedingungen: !TryDeserializeRecordedLegacyAction(state.RecordedAction, out string recordedName, out InjectionValue[] recordedArguments); bridge != null.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

case "userec":

                    if (!TryDeserializeRecordedLegacyAction(state.RecordedAction, out string recordedName, out InjectionValue[] recordedArguments))

                    {

                        if (bridge != null) SystemMessage("UseRec: no recorded UO action is available. Call UO.SetRec() before the action to record.");

                        break;

                    }

                    replayingLegacyAction = true;

                    try

                    {

                        ExecuteLegacyManualAlias(recordedName, recordedArguments);

                    }

                    finally

                    {

                        replayingLegacyAction = false;

                    }

                    break;

InjectionScript.Runtime.InjectionApiUO.FindMobile

Liefert den Wert des folgenden Ausdrucks.

Parameter: stateFilter, rangeFilter, verticalFilter

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3661.

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

Ergebnis: int.

Ergebnis: FindMobile(stateFilter, rangeFilter, verticalFilter, new InjectionValue("all")).

Aufrufe: FindMobile.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int FindMobile(InjectionValue stateFilter, InjectionValue rangeFilter, InjectionValue verticalFilter) =>

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

InjectionScript.Runtime.InjectionApiUO.GListPosValue

Liefert den Wert des folgenden Ausdrucks.

Parameter: index

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3285.

public InjectionValue GListPosValue(int index)

Ergebnis: InjectionValue.

Ergebnis: index >= 0 && index < globalList.Count ? globalList[index].Value : InjectionValue.Zero.

Interner Implementierungscode; kein eigenständiges Skript.

public InjectionValue GListPosValue(int index) => index >= 0 && index < globalList.Count ? globalList[index].Value : InjectionValue.Zero;

InjectionScript.Runtime.InjectionApiUO.GetColor

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3618.

public string GetColor()

Ergebnis: string.

Ergebnis: GetColor(new InjectionValue(bridge.Self)).

Aufrufe: GetColor.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public string GetColor() => GetColor(new InjectionValue(bridge.Self));

InjectionScript.Runtime.InjectionApiUO.GetDistance

Liefert den Wert des folgenden Ausdrucks.

Parameter: id

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3571.

public int GetDistance(string id)

Ergebnis: int.

Ergebnis: GetDistance(GetObject(id)).

Aufrufe: GetDistance, GetObject.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

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

InjectionScript.Runtime.InjectionApiUO.GetGumpCount

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3226.

public int GetGumpCount()

Ergebnis: int.

Ergebnis: bridge.GetGumpCount().

Aufrufe: bridge.GetGumpCount.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

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

InjectionScript.Runtime.InjectionApiUO.GetLandTileAt

Liefert den Wert des folgenden Ausdrucks.

Parameter: x, y, map

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6191.

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

Ergebnis: InjectionValue.

Aufrufe: NumberConversions.ToInt, bridge.GetLandscapeTile, Array.Empty<int>, BuildWorldTileRecord, Array.Empty<InjectionValue>.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

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

        {

            int cellX = NumberConversions.ToInt(x);

            int cellY = NumberConversions.ToInt(y);

            int world = NumberConversions.ToInt(map);

            int[] land = bridge.GetLandscapeTile(cellX, cellY, world) ?? Array.Empty<int>();

            return land.Length >= 2

                ? BuildWorldTileRecord("land", 0, land[0], cellX, cellY, land[1], 0, 0)

                : new InjectionValue(Array.Empty<InjectionValue>());

        }

InjectionScript.Runtime.InjectionApiUO.GetUserStatics

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6277.

public InjectionValue GetUserStatics()

Ergebnis: InjectionValue.

Aufrufe: `state.UserStatics.OrderBy(pair => pair.Key)

            .Select(pair => new InjectionValue(new[] { new InjectionValue(pair.Key), new InjectionValue(pair.Value) }))

            .ToArray`, `state.UserStatics.OrderBy(pair => pair.Key)

            .Select`, `state.UserStatics.OrderBy`.

Interner Implementierungscode; kein eigenständiges Skript.

public InjectionValue GetUserStatics()

            => new InjectionValue(state.UserStatics.OrderBy(pair => pair.Key)

                .Select(pair => new InjectionValue(new[] { new InjectionValue(pair.Key), new InjectionValue(pair.Value) }))

                .ToArray());

InjectionScript.Runtime.InjectionApiUO.GetWeaponAbilities

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5895.

public InjectionValue GetWeaponAbilities()

Ergebnis: InjectionValue.

Aufrufe: (bridge.GetWeaponAbilities() ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray, (bridge.GetWeaponAbilities() ?? Array.Empty<int>()).Select, bridge.GetWeaponAbilities, Array.Empty<int>.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public InjectionValue GetWeaponAbilities() => new InjectionValue(

            (bridge.GetWeaponAbilities() ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray());

InjectionScript.Runtime.InjectionApiUO.GetYellowBar

Liefert den Wert des folgenden Ausdrucks.

Parameter: id

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3781.

public int GetYellowBar(InjectionValue id)

Ergebnis: int.

Ergebnis: bridge.GetYellowBar(GetObject(id)).

Aufrufe: bridge.GetYellowBar, GetObject.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

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

InjectionScript.Runtime.InjectionApiUO.Hex2Int

Liefert den Wert des folgenden Ausdrucks.

Parameter: value

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3786.

public int Hex2Int(InjectionValue value)

Ergebnis: int.

Ergebnis: NumberConversions.ToInt(value).

Aufrufe: NumberConversions.ToInt.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int Hex2Int(InjectionValue value) => NumberConversions.ToInt(value);

InjectionScript.Runtime.InjectionApiUO.InfoGump

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: gump

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3203.

public void InfoGump(InjectionValue gump)

Ergebnis: void.

Aufrufe: bridge.ShowGumpInspector, NumberConversions.ToInt.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public void InfoGump(InjectionValue gump)

        {

            bridge.ShowGumpInspector(NumberConversions.ToInt(gump));

        }

InjectionScript.Runtime.InjectionApiUO.LastTargetX

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3795.

public int LastTargetX()

Ergebnis: int.

Ergebnis: bridge is ITargetSnapshotBridge snapshot ? snapshot.LastTargetX : bridge.GetX(bridge.LastTarget).

Aufrufe: bridge.GetX.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int LastTargetX() => bridge is ITargetSnapshotBridge snapshot ? snapshot.LastTargetX : bridge.GetX(bridge.LastTarget);

InjectionScript.Runtime.InjectionApiUO.LastTile

Prüft die folgenden Bedingungen und liefert das gezeigte Ergebnis.

Parameter: index

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4328.

public int LastTile(InjectionValue index)

Ergebnis: int.

Ergebnis: 0; NormalizeLastTile(bridge?.LastTile())[i].

Aufrufe: NumberConversions.ToInt, NormalizeLastTile, .LastTile.

Bedingungen: i < 0 || i > 3.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int LastTile(InjectionValue index)

        {

            var i = NumberConversions.ToInt(index);

            if (i < 0 || i > 3)

                return 0;



            return NormalizeLastTile(bridge?.LastTile())[i];



        }

InjectionScript.Runtime.InjectionApiUO.Poisoned

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3769.

public int Poisoned()

Ergebnis: int.

Ergebnis: bridge.Poisoned(bridge.Self).

Aufrufe: bridge.Poisoned.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int Poisoned() => bridge.Poisoned(bridge.Self);

InjectionScript.Runtime.InjectionApiUO.Press

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: key, count, delay

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5275.

public void Press(int key, int count, int delay)

Ergebnis: void.

Aufrufe: KeyPress.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public void Press(int key, int count, int delay) => KeyPress(key, count, delay);

InjectionScript.Runtime.InjectionApiUO.Random

Liefert den Wert des folgenden Ausdrucks.

Parameter: max

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5940.

public int Random(int max)

Ergebnis: int.

Ergebnis: random.Next(max).

Aufrufe: random.Next.

Interner Implementierungscode; kein eigenständiges Skript.

public int Random(int max)

        {

            lock (randomSync) return random.Next(max);

        }

InjectionScript.Runtime.InjectionApiUO.ReadGoldValue

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3904.

private InjectionValue ReadGoldValue()

Ergebnis: InjectionValue.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

private InjectionValue ReadGoldValue()

        {

            // The existing bridge carries all 32 unsigned status-counter bits in

            // an Int32. Keep small results Integer; Double exactly represents

            // every UInt32 and avoids returning a negative large gold amount.

            uint amount = unchecked((uint)bridge.Gold);

            return amount <= int.MaxValue ? new InjectionValue((int)amount)

                : new InjectionValue((double)amount);

        }

InjectionScript.Runtime.InjectionApiUO.SendShopReply

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: reply

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6340.

public void SendShopReply(InjectionValue reply)

Ergebnis: void.

Aufrufe: bridge.SendShopReply, reply.ToString.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public void SendShopReply(InjectionValue reply) => bridge.SendShopReply(reply.ToString());

InjectionScript.Runtime.InjectionApiUO.Set

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: name, valueStr

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3553.

public void Set(string name, string valueStr)

Ergebnis: void.

Aufrufe: NumberConversions.TryStr2Int, Set.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public void Set(string name, string valueStr)

        {

            int valueInt = NumberConversions.TryStr2Int(valueStr, out var value) ? value : 0;

            Set(name, valueInt);

        }

InjectionScript.Runtime.InjectionApiUO.SetEasyUO

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: number, value

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3791.

public void SetEasyUO(InjectionValue number, InjectionValue value)

Ergebnis: void.

Aufrufe: bridge.SetEasyUO, NumberConversions.ToInt, value.ToString.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public void SetEasyUO(InjectionValue number, InjectionValue value)

            => bridge.SetEasyUO(NumberConversions.ToInt(number), value.ToString());

InjectionScript.Runtime.InjectionApiUO.SetGump

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: gumpId, identifier, key, stateValue

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3240.

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

Ergebnis: void.

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

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

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

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

InjectionScript.Runtime.InjectionApiUO.Time

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5933.

public int Time()

Ergebnis: int.

Ergebnis: now.Hour * 10000 + now.Minute * 100 + now.Second.

Interner Implementierungscode; kein eigenständiges Skript.

public int Time()

        {

            var now = timeSource.Now;

            return now.Hour * 10000 + now.Minute * 100 + now.Second;

        }

InjectionScript.Runtime.InjectionApiUO.TradeName

Liefert den Wert des folgenden Ausdrucks.

Parameter: windowIndex

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3291.

public string TradeName(InjectionValue windowIndex)

Ergebnis: string.

Ergebnis: bridge.TradeName(NumberConversions.ToInt(windowIndex)).

Aufrufe: bridge.TradeName, NumberConversions.ToInt.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

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

InjectionScript.Runtime.InjectionApiUO.TryDeserializeRecordedValue

Prüft die folgenden Bedingungen und liefert das gezeigte Ergebnis.

Parameter: field, value

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2758.

private static bool TryDeserializeRecordedValue(string field, out InjectionValue value)

Ergebnis: bool.

Ergebnis: false; true.

Aufrufe: field.Substring, int.TryParse, double.TryParse, DecodeRecordingText, Array.Empty<InjectionValue>, decoded.Split, TryDeserializeRecordedValue.

Bedingungen: field == null || field.Length < 2 || field[1] != ':'; !int.TryParse(payload, NumberStyles.Integer, CultureInfo.InvariantCulture, out int integer); !double.TryParse(payload, NumberStyles.Float, CultureInfo.InvariantCulture, out double number); decoded.Length == 0.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

private static bool TryDeserializeRecordedValue(string field, out InjectionValue value)

        {

            value = InjectionValue.Unit;

            if (field == null || field.Length < 2 || field[1] != ':') return false;

            string payload = field.Substring(2);

            switch (field[0])

            {

                case 'I':

                    if (!int.TryParse(payload, NumberStyles.Integer, CultureInfo.InvariantCulture, out int integer)) return false;

                    value = new InjectionValue(integer);

                    return true;

                case 'D':

                    if (!double.TryParse(payload, NumberStyles.Float, CultureInfo.InvariantCulture, out double number)) return false;

                    value = new InjectionValue(number);

                    return true;

                case 'S':

                    value = new InjectionValue(DecodeRecordingText(payload));

                    return true;

                case 'A':

                    string decoded = DecodeRecordingText(payload);

                    if (decoded.Length == 0)

                    {

                        value = new InjectionValue(Array.Empty<InjectionValue>());

                        return true;

                    }

                    string[] nestedFields = decoded.Split(new[] { '\n' }, StringSplitOptions.None);

                    var nested = new InjectionValue[nestedFields.Length];

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

                        if (!TryDeserializeRecordedValue(nestedFields[index], out nested[index])) return false;

                    value = new InjectionValue(nested);

                    return true;

                case 'U':

                    value = InjectionValue.Unit;

                    return true;

                default:

                    return false;

            }

        }

InjectionScript.Runtime.InjectionApiUO.Unequip

Liefert den Wert des folgenden Ausdrucks.

Parameter: layer

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5716.

public int Unequip(string layer)

Ergebnis: int.

Ergebnis: bridge.Unequip(ConvertLayer(layer)).

Aufrufe: bridge.Unequip, ConvertLayer.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public int Unequip(string layer) => bridge.Unequip(ConvertLayer(layer));

InjectionScript.Runtime.InjectionApiUO.WaitForMoveConfirmation

Prüft die folgenden Bedingungen und liefert das gezeigte Ergebnis.

Parameter: id, originalQuantity, expectedMoved, targetContainer, hasCoordinates, x, y, z, timeoutMs

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4531.

`private bool WaitForMoveConfirmation(int id, int originalQuantity, int expectedMoved,

        int targetContainer, bool hasCoordinates, int x, int y, int z, int timeoutMs)`

Ergebnis: bool.

Ergebnis: true; false.

Aufrufe: DateTime.UtcNow.AddMilliseconds, Math.Max, bridge.GetQuantity, bridge.Exists, bridge.ContainerOf, bridge.GetX, bridge.GetY, bridge.GetZ.

Bedingungen: known && !fullStack && currentQuantity <= Math.Max(0, originalQuantity - expectedMoved); known && fullStack; containerMatches; !hasCoordinates || targetContainer != 0.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

private bool WaitForMoveConfirmation(int id, int originalQuantity, int expectedMoved,

            int targetContainer, bool hasCoordinates, int x, int y, int z, int timeoutMs)

        {

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

            do

            {

                int currentQuantity = bridge.GetQuantity(id);

                bool known = bridge.Exists(id) != 0;

                bool fullStack = originalQuantity <= 0 || expectedMoved <= 0 || expectedMoved >= originalQuantity;

                if (known && !fullStack && currentQuantity <= Math.Max(0, originalQuantity - expectedMoved))

                    return true;



                if (known && fullStack)

                {

                    int currentContainer = bridge.ContainerOf(id);

                    bool containerMatches = targetContainer == 0

                        ? currentContainer == 0 || currentContainer == -1

                        : currentContainer == targetContainer;

                    if (containerMatches)

                    {

                        if (!hasCoordinates || targetContainer != 0)

                            return true;

                        if (bridge.GetX(id) == x && bridge.GetY(id) == y && bridge.GetZ(id) == z)

                            return true;

                    }

                }



                if (DateTime.UtcNow >= deadline)

                    break;

                bridge.Wait(10);

            }

            while (true);

            return false;

        }

InjectionScript.Runtime.InjectionApiUO.WaitJournalLine

Prüft die folgenden Bedingungen und liefert das gezeigte Ergebnis.

Parameter: arguments, systemOnly

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2485.

private InjectionValue WaitJournalLine(InjectionValue[] arguments, bool systemOnly)

Ergebnis: InjectionValue.

Ergebnis: InjectionValue.True; InjectionValue.False.

Aufrufe: arguments[1].ToString, Math.Max, NumberConversions.ToInt, GetJournalStartAge, timeSource.Now.AddMilliseconds, Math.Min, bridge.InJournalSystemBetweenTimes, bridge.InJournalBetweenTimes.

Bedingungen: result > 0; timeout > 0 && timeSource.Now >= deadline.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

private InjectionValue WaitJournalLine(InjectionValue[] arguments, bool systemOnly)

        {

            string pattern = arguments.Length > 1 ? arguments[1].ToString() : string.Empty;

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

            int startAge = GetJournalStartAge(arguments.Length > 0 ? arguments[0] : InjectionValue.Zero);

            DateTime startedAt = timeSource.Now;

            DateTime deadline = timeSource.Now.AddMilliseconds(timeout);



            do

            {

                int currentStartAge = (int)Math.Min(int.MaxValue,

                    startAge + Math.Max(0d, (timeSource.Now - startedAt).TotalMilliseconds));

                int result = systemOnly

                    ? bridge.InJournalSystemBetweenTimes(pattern, currentStartAge, 0, -1)

                    : bridge.InJournalBetweenTimes(pattern, currentStartAge, 0, -1);

                SelectJournalSearchResult(result, pattern, ignoreCase: true);

                if (result > 0)

                {

                    return InjectionValue.True;

                }

                if (timeout > 0 && timeSource.Now >= deadline)

                {

                    return InjectionValue.False;

                }

                bridge.Wait(25);

            }

            while (true);

        }

InjectionScript.Runtime.InjectionApiUO.WaitTargetTile

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: type, x, y, z

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4205.

public void WaitTargetTile(InjectionValue type, InjectionValue x, InjectionValue y, InjectionValue z)

Ergebnis: void.

Aufrufe: bridge.WaitTargetTile, ResolveType, NumberConversions.ToInt, Timer.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public void WaitTargetTile(InjectionValue type, InjectionValue x, InjectionValue y, InjectionValue z)

        {

            bridge.WaitTargetTile(ResolveType(type), NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(z));

            ticksTarget = Timer();

        }

InjectionScript.Runtime.InjectionApiUO.WaitingForJournalText

Führt die gezeigten Aufrufe und Zustandsänderungen aus.

Parameter: startTime, maxDelay, text, equals, ignoreCase, skillNameOrObjectId

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5423.

public void WaitingForJournalText(int startTime, int maxDelay, string text, int equals, int ignoreCase, InjectionValue skillNameOrObjectId)

Ergebnis: void.

Aufrufe: Math.Max, timeSource.Now.AddMilliseconds, SelectJournalEntry, TriggerWaitAction, bridge.JournalEntryCount, ReadJournalSnapshot, JournalEntryTime, FindJournalPatternId.

Bedingungen: lineTime < 0 || lineTime < startTime; matchId >= 0; timeSource.Now >= deadline.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

public void WaitingForJournalText(int startTime, int maxDelay, string text, int equals, int ignoreCase, InjectionValue skillNameOrObjectId)

        {

            int timeout = Math.Max(0, maxDelay);

            bool exactMatch = equals != 0;

            bool caseInsensitive = ignoreCase != 0;

            string pattern = text ?? string.Empty;

            DateTime deadline = timeSource.Now.AddMilliseconds(timeout);

            SelectJournalEntry(null);



            TriggerWaitAction(skillNameOrObjectId);



            do

            {

                int journalCount = Math.Max(0, bridge.JournalEntryCount());

                for (int index = 0; index < journalCount; index++)

                {

                    JournalEntrySnapshot entry = ReadJournalSnapshot(index);

                    int lineTime = entry == null ? -1 : JournalEntryTime(entry.Timestamp);

                    if (lineTime < 0 || lineTime < startTime)

                        continue;



                    string journalText = entry.Text;

                    int matchId = FindJournalPatternId(journalText, pattern, exactMatch, caseInsensitive);

                    if (matchId >= 0)

                    {

                        SelectJournalEntry(entry);

                        foundedTextId = matchId;

                        return;

                    }

                }

                if (timeSource.Now >= deadline)

                    break;

                bridge.Wait(Math.Min(25, Math.Max(1, timeout)));

            }

            while (true);

        }

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Alive]

Der Aufruf führt den gespeicherten Handler-Delegate aus. Die Registrierungsmethode erzeugt ihn beim Aufbau der API.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1059.

serial

Ergebnis: serial.

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

Aufrufe: bridge.Exists, IsDeadState.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

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

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetDex]

Der Aufruf führt den gespeicherten Handler-Delegate aus. Die Registrierungsmethode erzeugt ihn beim Aufbau der API.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1032.

Ergebnis: bridge.Dexterity.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

() => bridge.Dexterity

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetLuck]

Der Aufruf führt den gespeicherten Handler-Delegate aus. Die Registrierungsmethode erzeugt ihn beim Aufbau der API.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1047.

Ergebnis: bridge.Luck.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

() => bridge.Luck

InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [GetWorldItems]

Der Aufruf führt den gespeicherten Handler-Delegate aus. Die Registrierungsmethode erzeugt ihn beim Aufbau der API.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4658.

values

Ergebnis: values.

Ergebnis: CompactGetWorldItems(values).

Aufrufe: CompactGetWorldItems.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

values => CompactGetWorldItems(values)

InjectionScript.Runtime.InjectionApiUO.Register [Grab]

Der Aufruf führt den gespeicherten Handler-Delegate aus. Die Registrierungsmethode erzeugt ihn beim Aufbau der API.

Parameter: Keine Parameter.

Quelle: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:535.

values

Ergebnis: values.

Ergebnis: new InjectionValue(CompactGrab(values)).

Aufrufe: CompactGrab.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

values => new InjectionValue(CompactGrab(values))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [IsParalysed]

Der Aufruf führt den gespeicherten Handler-Delegate aus. Die Registrierungsmethode erzeugt ihn beim Aufbau der API.

Parameter: Keine Parameter.

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

serial

Ergebnis: serial.

Ergebnis: bridge.GetLocked(serial).

Aufrufe: bridge.GetLocked.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

serial => bridge.GetLocked(serial)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Paralyzed]

Der Aufruf führt den gespeicherten Handler-Delegate aus. Die Registrierungsmethode erzeugt ihn beim Aufbau der API.

Parameter: Keine Parameter.

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

serial

Ergebnis: serial.

Ergebnis: bridge.GetLocked(serial).

Aufrufe: bridge.GetLocked.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

serial => bridge.GetLocked(serial)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

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

value

Ergebnis: value.

Ergebnis: getter(GetObject(value)).

Aufrufe: getter, GetObject.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

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

value

Ergebnis: value.

Ergebnis: getter(GetObject(value)).

Aufrufe: getter, GetObject.

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Liefert den Wert des folgenden Ausdrucks.

Parameter: Keine Parameter.

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

Ergebnis: getter(bridge.Self).

Aufrufe:

Interner Implementierungscode; kein eigenständiges Skript.

() => getter(bridge.Self)

Clone this wiki locally