Skip to content

FR Runtime Helpers 7

Bad Newbie edited this page Oct 16, 2026 · 2 revisions

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

Fonctions auxiliaires 7

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

ClassicUO.CSharp.CSharpCallbacks.TryInvoke

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:412.

Résultat: true.

Appels:

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

case "FunRunning":
                string runningName = Convert.ToString(arguments[0]) ?? "";
                result = IsRunning(runningName) || events is ICSharpScriptHost runningHost && runningHost.IsCSharpScriptRunning(runningName) ? 1 : 0;
                return true;

ClassicUO.CSharp.CSharpCallbacks.TryInvoke

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:426.

when Length== 1: string routine = Convert.ToString(arguments[0]) ?? ""

Résultat: when.

Appels: Convert.ToString.

Appels:

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

case "Terminate" when arguments.Length == 1:
                string routine = Convert.ToString(arguments[0]) ?? "";
                if (Exists(routine)) { Cancel(routine); return true; }
                if (Cancel(routine)) return true;
                return false;

ClassicUO.CSharp.CSharpCallbacks.HandlerName

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

Paramètres: value

Source: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:335.

private static string HandlerName(object? value)

Résultat: string.

Résultat: name[5..].Trim(); name[6..].Trim(); name.

Appels: (Convert.ToString(value) ?? "").Trim, Convert.ToString, name.StartsWith, name[5..].Trim, name[6..].Trim.

Conditions: name.StartsWith("exec ", StringComparison.OrdinalIgnoreCase); name.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase).

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

private static string HandlerName(object? value)
    {
        string name = (Convert.ToString(value) ?? "").Trim();
        if (name.StartsWith("exec ", StringComparison.OrdinalIgnoreCase)) return name[5..].Trim();
        if (name.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase)) return name[6..].Trim();
        return name;
    }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.BookSetPageText

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

Paramètres: page, text

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

public void BookSetPageText(int page, string text)

Résultat: void.

Appels: Invoke.

Appels:

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

public void BookSetPageText(int page, string text) => Invoke(() =>

        {

            ISessionBook book = GetOpenBook();

            if (book == null) { Error("UO.BookSetPageText: no open book."); return; }

            if (!book.YokoTrySetPageText(page, text))

                Error("UO.BookSetPageText: invalid page, read-only book, too many lines, or a line is too long.");

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Bow

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

Paramètres: Aucun paramètre.

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

public void Bow()

Résultat: void.

Appels: Invoke.

Appels:

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

public void Bow() => Invoke(() => GameActions.EmoteAction("bow"));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseMenu

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

Paramètres: Aucun paramètre.

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

public void CloseMenu()

Résultat: void.

Appels: Invoke.

Appels:

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

public void CloseMenu() => Invoke(() =>

        {

            foreach (SessionMenu menu in _world.ServerMenus.Snapshot())

                menu.CancelForYoko();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ColdResistance

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int ColdResistance

Résultat: int.

Résultat: Invoke(() => CurrentPlayer?.ColdResistance ?? 0).

Appels: Invoke.

Appels:

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

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error

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

Paramètres: message

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

public void Error(string message)

Résultat: void.

Appels: ReportStatus.

Appels:

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

public void Error(string message) => ReportStatus(message);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindCount

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int FindCount()

Résultat: int.

Résultat: _findCount.

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

public int FindCount() => _findCount;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindItem

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int FindItem

Résultat: int.

Résultat: _findItem.

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

public int FindItem => _findItem;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindNotoriety

Renvoie la valeur de l’expression ci-dessous.

Paramètres: type, notoriety

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

public int FindNotoriety(int type, int notoriety)

Résultat: int.

Appels: Invoke.

Appels:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { ResetFindResults(); IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList); foreach (Mobile mobile in _world.Mobiles.Values) { if (mobile.IsDestroyed || State.IgnoredSerials.Contains((int)mobile.Serial) || ignoredTypes.Matches(mobile.Graphic, mobile.Hue) || mobile == _world.Player || type >= 0 && type != 0xFFFF && mobile.Graphic != (ushort)type || notoriety >= 0 && (int)mobile.NotorietyFlag != notoriety || mobile.Distance > State.FindDistance || _world.Player != null && Math.Abs(mobile.Z - _world.Player.Z) > State.FindVertical) { continue; } RegisterFound(mobile); } return _findItem; }). Candidats de surcharge : la source ne confirme pas le candidat sélectionné.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { ResetFindResults(); IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList); foreach (Mobile mobile in _world.Mobiles.Values) { if (mobile.IsDestroyed || State.IgnoredSerials.Contains((int)mobile.Serial) || ignoredTypes.Matches(mobile.Graphic, mobile.Hue) || mobile == _world.Player || type >= 0 && type != 0xFFFF && mobile.Graphic != (ushort)type || notoriety >= 0 && (int)mobile.NotorietyFlag != notoriety || mobile.Distance > State.FindDistance || _world.Player != null && Math.Abs(mobile.Z - _world.Player.Z) > State.FindVertical) { continue; } RegisterFound(mobile); } return _findItem; }). Candidats de surcharge : la source ne confirme pas le candidat sélectionné.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResetFindResults: ResetFindResults().
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound: RegisterFound(mobile). Candidats de surcharge : la source ne confirme pas le candidat sélectionné.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound: RegisterFound(mobile). Candidats de surcharge : la source ne confirme pas le candidat sélectionné.

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

public int FindNotoriety(int type, int notoriety)

        {

            return Invoke(() =>

            {

                ResetFindResults();

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

                foreach (Mobile mobile in _world.Mobiles.Values)

                {

                    if (mobile.IsDestroyed || State.IgnoredSerials.Contains((int)mobile.Serial) || ignoredTypes.Matches(mobile.Graphic, mobile.Hue) || mobile == _world.Player

                        || type >= 0 && type != 0xFFFF && mobile.Graphic != (ushort)type

                        || notoriety >= 0 && (int)mobile.NotorietyFlag != notoriety

                        || mobile.Distance > State.FindDistance

                        || _world.Player != null && Math.Abs(mobile.Z - _world.Player.Z) > State.FindVertical)

                    {

                        continue;

                    }

                    RegisterFound(mobile);

                }

                return _findItem;

            });

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GameServerPort

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int GameServerPort

Résultat: int.

Résultat: Settings.GlobalSettings.Port.

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

public int GameServerPort => Settings.GlobalSettings.Port;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetHP

Renvoie la valeur de l’expression ci-dessous.

Paramètres: id

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

public int GetHP(int id)

Résultat: int.

Résultat: WithEntity(id, e => e.Hits).

Appels: WithEntity.

Appels:

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

public int GetHP(int id) => WithEntity(id, e => e.Hits);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLocked

Renvoie la valeur de l’expression ci-dessous.

Paramètres: id

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

public int GetLocked(int id)

Résultat: int.

Résultat: Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsParalyzed == true ? 1 : 0).

Appels: Invoke.

Appels:

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

public int GetLocked(int id) => Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsParalyzed == true ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetPing

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int GetPing()

Résultat: int.

Résultat: NetClient.Socket.Statistics.ServerPing.

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

public int GetPing() => NetClient.Socket.Statistics.ServerPing;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetStaticArt::Write32

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

Paramètres: buffer, offset, value

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

static void Write32(byte[] buffer, int offset, int value)

Résultat: void.

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

static void Write32(byte[] buffer, int offset, int value)

            {

                buffer[offset] = (byte)value;

                buffer[offset + 1] = (byte)(value >> 8);

                buffer[offset + 2] = (byte)(value >> 16);

                buffer[offset + 3] = (byte)(value >> 24);

            }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTradeOpponentName

Renvoie la valeur de l’expression ci-dessous.

Paramètres: tradeNumber

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

public string GetTradeOpponentName(int tradeNumber)

Résultat: string.

Appels: Invoke.

Appels:

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

public string GetTradeOpponentName(int tradeNumber) => Invoke(() =>

        {

            ISessionTrade gump = FindNumberedTrade(tradeNumber);

            return gump?.OpponentName ?? string.Empty;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.InJournalBetweenTimes

Renvoie la valeur de l’expression ci-dessous.

Paramètres: pattern, startTime, endTime, limit

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

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

Résultat: int.

Résultat: FindJournal(pattern, start, end, limit, false, true).

Appels: now.AddMilliseconds, Math.Max, Math.Min, FindJournal.

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

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

        {

            DateTime now = DateTime.Now;

            DateTime start = now.AddMilliseconds(-Math.Max(startTime, endTime));

            DateTime end = now.AddMilliseconds(-Math.Min(startTime, endTime));

            return FindJournal(pattern, start, end, limit, false, true);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.InJournalSystemBetweenTimes

Renvoie la valeur de l’expression ci-dessous.

Paramètres: pattern, startTime, endTime, limit

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

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

Résultat: int.

Résultat: FindJournal(pattern, start, end, limit, true, true).

Appels: now.AddMilliseconds, Math.Max, Math.Min, FindJournal.

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

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

        {

            DateTime now = DateTime.Now;

            DateTime start = now.AddMilliseconds(-Math.Max(startTime, endTime));

            DateTime end = now.AddMilliseconds(-Math.Min(startTime, endTime));

            return FindJournal(pattern, start, end, limit, true, true);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsWaterTile

Renvoie la valeur de l’expression ci-dessous.

Paramètres: x, y

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

public int IsWaterTile(int x, int y)

Résultat: int.

Appels: Invoke.

Appels:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => AnyTileAt(x, y, tile => tile is Land land ? land.TileData.IsWet : tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length && Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet) ? 1 : 0). Candidats de surcharge : la source ne confirme pas le candidat sélectionné.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => AnyTileAt(x, y, tile => tile is Land land ? land.TileData.IsWet : tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length && Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet) ? 1 : 0). Candidats de surcharge : la source ne confirme pas le candidat sélectionné.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AnyTileAt: AnyTileAt(x, y, tile => tile is Land land ? land.TileData.IsWet : tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length && Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet).

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

public int IsWaterTile(int x, int y) => Invoke(() => AnyTileAt(x, y, tile =>

            tile is Land land ? land.TileData.IsWet

                : tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length

                    && Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet) ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastCorpse

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int LastCorpse

Résultat: int.

Résultat: Invoke(() => (int)(_world.Items.Values.Where(i => i.IsCorpse && !i.IsDestroyed).OrderBy(i => i.Distance).FirstOrDefault()?.Serial ?? 0)).

Appels: Invoke.

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

public int LastCorpse => Invoke(() => (int)(_world.Items.Values.Where(i => i.IsCorpse && !i.IsDestroyed).OrderBy(i => i.Distance).FirstOrDefault()?.Serial ?? 0));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MaxMana

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int MaxMana

Résultat: int.

Résultat: Invoke(() => CurrentPlayer?.ManaMax ?? 0).

Appels: Invoke.

Appels:

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

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MoveItems

Renvoie la valeur de l’expression ci-dessous.

Paramètres: sourceContainerId, type, color, targetContainerId, x, y, z, delayMs

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

public int MoveItems(int sourceContainerId, int type, int color, int targetContainerId, int x, int y, int z, int delayMs)

Résultat: int.

Résultat: MoveContainerItems(sourceContainerId, type, color, targetContainerId, x, y, z, delayMs).Sent > 0 ? 1 : 0.

Appels: MoveContainerItems.

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

public int MoveItems(int sourceContainerId, int type, int color, int targetContainerId, int x, int y, int z, int delayMs)

            => MoveContainerItems(sourceContainerId, type, color, targetContainerId, x, y, z, delayMs).Sent > 0 ? 1 : 0;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Race

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int Race

Résultat: int.

Résultat: Invoke(() => (int)(CurrentPlayer?.Race ?? 0)).

Appels: Invoke.

Appels:

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

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SelectGump

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

Paramètres: id

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

public void SelectGump(int id)

Résultat: void.

Appels: Invoke.

Appels:

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

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

        {

            List<Gump> gumps = ServerGumpsUnsafe();

            _selectedServerGump = gumps.FirstOrDefault(g => g.LocalSerial == (uint)id || g.ServerSerial == (uint)id);

            if (_selectedServerGump == null && id >= 0 && id < gumps.Count)

            {

                _selectedServerGump = gumps[id];

            }

            if (_selectedServerGump == null)

            {

                Error($"UO.SelectGump: gump {id} was not found");

            }

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SendGumpSelect

Renvoie la valeur de l’expression ci-dessous.

Paramètres: gumpIndex, triggerId

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

public int SendGumpSelect(int gumpIndex, int triggerId)

Résultat: int.

Appels: Invoke.

Appels:

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

public int SendGumpSelect(int gumpIndex, int triggerId) => Invoke(() =>

        {

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

            return SendGumpButtonUnsafe(gump, triggerId, $"gump index {gumpIndex} was not found");

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoBuyRule

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

Paramètres: type, color, quantity, maxPrice, name

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

public void SetAutoBuyRule(int type, int color, int quantity, int maxPrice, string name)

Résultat: void.

Appels: Invoke.

Appels:

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

public void SetAutoBuyRule(int type, int color, int quantity, int maxPrice, string name) =>

            Invoke(() => SetAutoShopRule(ProfileManager.CurrentProfile?.BackNewbieAutoBuyRules, true, type, color, quantity, maxPrice, name));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetMapFigure

Renvoie la valeur de l’expression ci-dessous.

Paramètres: figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text

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

public int SetMapFigure(int figureId, int kind, int coord, int x1, int y1, int x2, int y2, int brushColor, int brushStyle, int color, int worldNum, string text)

Résultat: int.

Résultat: Invoke(() => WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text)).

Appels: Invoke.

Appels:

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

public int SetMapFigure(int figureId, int kind, int coord, int x1, int y1, int x2, int y2, int brushColor, int brushStyle, int color, int worldNum, string text)

            => Invoke(() => WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetPauseScriptOnDisconnectStatus

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

Paramètres: enabled

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

public void SetPauseScriptOnDisconnectStatus(int enabled)

Résultat: void.

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

public void SetPauseScriptOnDisconnectStatus(int enabled) => _manager.PauseScriptsOnDisconnect = enabled != 0;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SplitPatterns

Renvoie la valeur de l’expression ci-dessous.

Paramètres: pattern

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

private static string[] SplitPatterns(string pattern)

Résultat: string[].

Résultat: (pattern ?? string.Empty).Split('|', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries).

Appels: (pattern ?? string.Empty).Split.

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

private static string[] SplitPatterns(string pattern) => (pattern ?? string.Empty).Split('|', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TargetToTile

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

Paramètres: type, x, y, z

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

public void TargetToTile(int type, int x, int y, int z)

Résultat: void.

Appels: Invoke.

Appels:

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

public void TargetToTile(int type, int x, int y, int z) => Invoke(() =>

        {

            if (_world.TargetManager.IsServerTarget)

                _world.TargetManager.Target((ushort)type, (ushort)x, (ushort)y, (short)z);

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TextPrint

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

Paramètres: text

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

public void TextPrint(string text)

Résultat: void.

Appels: _textWindow.RemoveRange, _textWindow.Add, Invoke.

Conditions: _textWindow.Count >= MaxTextWindowLines.

Appels:

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

public void TextPrint(string text)

        {

            if (_textWindow.Count >= MaxTextWindowLines)

                _textWindow.RemoveRange(0,

                    _textWindow.Count - MaxTextWindowLines + 1);

            _textWindow.Add(text ?? string.Empty);

            _textWindowOpen = true;

            Invoke(() =>

            {

                YokoTextWindowGump.Show(_world, _textWindow);

                ReportStatus($"UO.TextPrint: {_textWindow.Count} line(s) visible");

            });

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TryProbeServerPing

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

Paramètres: timeoutMs, pingMs

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

private bool TryProbeServerPing(int timeoutMs, out int pingMs)

Résultat: bool.

Résultat: false; pingMs >= 0.

Appels: Math.Max, Invoke, NetClient.Socket.Statistics.GetPingEchoGeneration, Wait, Math.Min.

Conditions: request.Token < 0; NetClient.Socket.Statistics.GetPingEchoGeneration((byte)request.Token) != request.Generation; timeout == 0; remaining <= 0.

Appels:

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

private bool TryProbeServerPing(int timeoutMs, out int pingMs)

        {

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

            (int Token, int Generation) request = Invoke(() =>

            {

                if (!_world.InGame || !NetClient.Socket.IsConnected)

                    return (-1, -1);



                return NetClient.Socket.Statistics.SendPingProbe();

            });



            if (request.Token < 0)

            {

                pingMs = -1;

                return false;

            }



            long deadline = Environment.TickCount64 + timeout;

            do

            {

                if (NetClient.Socket.Statistics.GetPingEchoGeneration((byte)request.Token) != request.Generation)

                {

                    pingMs = NetClient.Socket.Statistics.ServerPing;

                    return pingMs >= 0;

                }



                if (timeout == 0)

                    break;



                long remaining = deadline - Environment.TickCount64;

                if (remaining <= 0)

                    break;



                Wait((int)Math.Min(10, remaining));

            }

            while (true);



            pingMs = -1;

            return false;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UnsetReceivingContainer

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

Paramètres: Aucun paramètre.

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

public void UnsetReceivingContainer()

Résultat: void.

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

public void UnsetReceivingContainer() => State.ReceivingContainer = 0;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseObject

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

Paramètres: id

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

public void UseObject(int id)

Résultat: void.

Appels: Invoke.

Appels:

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

public void UseObject(int id) => Invoke(() => GameActions.DoubleClick(_world, (uint)id));

ClassicUO.Game.Managers.LastCharacterManager.OverrideLastCharacter

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

Paramètres: name, oneShot

Source: Project_Full/src/ClassicUO.Client/Game/Managers/LastCharacterManager.cs:107.

public static void OverrideLastCharacter(string name, bool oneShot = false)

Résultat: void.

Appels: string.IsNullOrEmpty.

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

public static void OverrideLastCharacter(string name, bool oneShot = false)
        {
            LastCharacterNameOverride = name ?? string.Empty;
            LastCharacterNameOverrideOneShot = oneShot && !string.IsNullOrEmpty(LastCharacterNameOverride);
        }

ClassicUO.Game.Managers.UIManager.GetGump

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

Paramètres: serial

Source: Project_Full/src/ClassicUO.Client/Game/Managers/UIManager.cs:277.

public static T GetGump<T>(uint? serial = null)

Résultat: T.

Résultat: t; null.

Conditions: serial.HasValue; !c.IsDisposed && c.LocalSerial == serial.Value && c is T t; !c.IsDisposed && c is T t.

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

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

                    if (!c.IsDisposed && c.LocalSerial == serial.Value && c is T t)
                    {
                        return t;
                    }
                }
            }
            else
            {
                for (LinkedListNode<Gump> first = Gumps.First; first != null; first = first.Next)
                {
                    Control c = first.Value;

                    if (!c.IsDisposed && c is T t)
                    {
                        return t;
                    }
                }
            }

            return null;
        }

ClassicUO.Game.Managers.YokoInjectionManager.AppendIdeOutput

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

Paramètres: scriptKey, text

Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:679.

internal void AppendIdeOutput(string scriptKey, string text)

Résultat: void.

Appels: _ideToolBuffers.AppendOutput.

Appels:

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

internal void AppendIdeOutput(string scriptKey, string text) =>
            _ideToolBuffers.AppendOutput(scriptKey, text);

ClassicUO.Game.Managers.YokoInjectionManager.GetPendingTargetSerials

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3347.

internal int[] GetPendingTargetSerials()

Résultat: int[].

Résultat: _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select(t => (int)t.Serial).ToArray().

Appels: _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select(t => (int)t.Serial).ToArray, _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select, _pendingTargets.ToArray().Where, _pendingTargets.ToArray.

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

internal int[] GetPendingTargetSerials() =>
            // Zero denotes a queued tile/cancellation. Waiting() and timed casts
            // need to count these entries as well as object serials.
            _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select(t => (int)t.Serial).ToArray();

ClassicUO.Game.Managers.YokoInjectionManager.InvokeOnGameThread

Transmet le travail au thread du jeu et tient compte de l’annulation.

Paramètres: callback, cancellationToken

Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3457.

internal T InvokeOnGameThread<T>(Func<T> callback, CancellationToken cancellationToken)

Résultat: T.

Résultat: callback(); result.Task.GetAwaiter().GetResult().

Appels: nameof, cancellationToken.ThrowIfCancellationRequested, Volatile.Read, callback, EnqueueMainThreadAction, result.Task.Wait, result.Task.GetAwaiter().GetResult, result.Task.GetAwaiter.

Conditions: callback == null; Volatile.Read(ref _gameThreadId) == Environment.CurrentManagedThreadId.

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

internal T InvokeOnGameThread<T>(Func<T> callback, CancellationToken cancellationToken)
        {
            if (callback == null)
                throw new ArgumentNullException(nameof(callback));
            cancellationToken.ThrowIfCancellationRequested();
            if (Volatile.Read(ref _gameThreadId) == Environment.CurrentManagedThreadId)
                return callback();

            var result = new TaskCompletionSource<T>(TaskCreationOptions.RunContinuationsAsynchronously);
            EnqueueMainThreadAction(() =>
            {
                if (cancellationToken.IsCancellationRequested)
                {
                    result.TrySetCanceled(cancellationToken);
                    return;
                }

                try
                {
                    result.TrySetResult(callback());
                }
                catch (Exception ex)
                {
                    result.TrySetException(ex);
                }
            }, () => result.TrySetCanceled());

            result.Task.Wait(cancellationToken);
            return result.Task.GetAwaiter().GetResult();
        }

ClassicUO.Game.Managers.YokoInjectionManager.MarkRuntimeStateChanged

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

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3804.

private void MarkRuntimeStateChanged()

Résultat: void.

Appels: Interlocked.Increment.

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

private void MarkRuntimeStateChanged() =>
            Interlocked.Increment(ref _runtimeStateRevision);

ClassicUO.Game.Managers.YokoInjectionManager.QueueTarget

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

Paramètres: serial, owner

Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3287.

internal void QueueTarget(uint serial, CancellationToken owner = default)

Résultat: void.

Appels: owner.ThrowIfCancellationRequested, _pendingTargets.Enqueue.

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

internal void QueueTarget(uint serial, CancellationToken owner = default)
        {
            lock (_pendingTargetLock)
            {
                owner.ThrowIfCancellationRequested();
                _pendingTargets.Enqueue(new PendingTarget(serial, owner));
            }
        }

ClassicUO.Game.UI.Gumps.Gump.OnButtonClick

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

Paramètres: int buttonID

Source: Project_Full/src/ClassicUO.Client/Game/UI/Gumps/Gump.cs:142.

public override void OnButtonClick(int buttonID)

Résultat: void.

Conditions:

  • SessionState is { } state
  • !IsDisposed && (LocalSerial != 0 || ServerSerial != 0)
  • CanMove

Appels:

  • state.OnButtonClick
  • switches.Add
  • entries.Add
  • GameActions.ReplyGump
  • switches.ToArray
  • entries.ToArray
  • UIManager.SavePosition
  • UIManager.RemovePosition
  • Dispose

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

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

public override void OnButtonClick(int buttonID)
        {
            if (SessionState is { } state)
            {
                state.OnButtonClick(buttonID);
                return;
            }
            if (!IsDisposed && (LocalSerial != 0 || ServerSerial != 0))
// …
                if (CanMove)
// …
                else
                {
                    UIManager.RemovePosition(ServerSerial);
                }

                Dispose();
            }
        }

ClassicUO.Game.World.ResolveProfileServerName

Analyse ou résout l’argument selon les règles indiquées dans le code.

Paramètres: Aucun paramètre.

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

internal string ResolveProfileServerName()

Résultat: string.

Résultat: _profileServerIdentity.

Appels: string.IsNullOrWhiteSpace, Path.Combine, ProfileShardIdentity.Resolve.

Conditions: string.IsNullOrWhiteSpace(_profileServerIdentity).

Appels:

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

internal string ResolveProfileServerName()

        {

            if (string.IsNullOrWhiteSpace(_profileServerIdentity))

            {

                string runtimeName = string.IsNullOrWhiteSpace(ServerName) || ServerName == "_"

                    ? Settings.GlobalSettings.LastServerName

                    : ServerName;

                string defaultSettingsPath = Path.Combine(

                    CUOEnviroment.ExecutablePath,

                    Settings.SETTINGS_FILENAME

                );



                _profileServerIdentity = ProfileShardIdentity.Resolve(

                    runtimeName,

                    Settings.GlobalSettings.IP,

                    Settings.GlobalSettings.Port,

                    _selectedProfileShardHost,

                    defaultSettingsPath,

                    authoritativeEndpoint: _sessionAccount != null

                );

            }



            return _profileServerIdentity;

        }

InjectionScript.Runtime.InjectionApiUO.CheckLag

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

Paramètres: timeout, retries

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

public int CheckLag(InjectionValue timeout, InjectionValue retries)

Résultat: int.

Résultat: 1; 0.

Appels: Math.Max, NumberConversions.ToInt, bridge.CheckLag.

Conditions: bridge.CheckLag(timeoutMs) != 0.

Appels:

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

public int CheckLag(InjectionValue timeout, InjectionValue retries)

        {

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

            int attempts = Math.Max(1, NumberConversions.ToInt(retries));

            for (int attempt = 0; attempt < attempts; attempt++)

            {

                if (bridge.CheckLag(timeoutMs) != 0)

                    return 1;

            }

            return 0;

        }

InjectionScript.Runtime.InjectionApiUO.CompactGetWorldItems

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

Paramètres: values

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

private InjectionValue CompactGetWorldItems(InjectionValue[] values)

Résultat: InjectionValue.

Résultat: new InjectionValue(Array.Empty<InjectionValue>()); new InjectionValue(filtered.Select(id => new InjectionValue(id)).ToArray()).

Appels: ResolveType, NumberConversions.ToInt, ResolveCompactDistance, bridge.GetFindDistance, TryResolveWorldItemQueryContainer, Array.Empty<InjectionValue>, ToBoolean, ResolveCompactMaxZ.

Conditions: values.Length > 3 && !TryResolveWorldItemQueryContainer(values[3], out container); nearest.

Appels:

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

private InjectionValue CompactGetWorldItems(InjectionValue[] values)

        {

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

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

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

            int container = 0;

            if (values.Length > 3 && !TryResolveWorldItemQueryContainer(values[3], out container))

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

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

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



            IEnumerable<int> source = container > 0 ? bridge.GetContent(container) : bridge.GetWorldItems();

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

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

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



            IEnumerable<int> filtered = source

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

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

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

                .Where(id =>

                {

                    int distanceObject = container > 0 ? container : id;

                    return distance < 0 || bridge.GetDistance(distanceObject) <= distance;

                })

                .Where(id =>

                {

                    int zObject = container > 0 ? container : id;

                    return maxZ < 0 || Math.Abs(bridge.GetZ(zObject) - selfZ) <= maxZ;

                });



            if (nearest)

                filtered = filtered.OrderBy(id => bridge.GetDistance(container > 0 ? container : id)).ThenBy(id => id);



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

        }

InjectionScript.Runtime.InjectionApiUO.ConvertSpellName

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

Paramètres: spellName

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

private int? ConvertSpellName(string spellName)

Résultat: int?.

Résultat: classicUoSpellId; spellId; null.

Appels: (spellName ?? string.Empty).Trim().Replace, (spellName ?? string.Empty).Trim, bridge.ResolveSpell, spellNameToSpellId.TryGetValue, NumberConversions.TryStr2Int.

Conditions: classicUoSpellId > 0; spellNameToSpellId.TryGetValue(requested, out var spellId); NumberConversions.TryStr2Int(requested, out spellId) && spellId > 0.

Appels:

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

private int? ConvertSpellName(string spellName)

        {

            string requested = (spellName ?? string.Empty).Trim().Replace('_', ' ');

            int classicUoSpellId = bridge.ResolveSpell(requested);

            if (classicUoSpellId > 0)

                return classicUoSpellId;



            if (spellNameToSpellId.TryGetValue(requested, out var spellId))

                return spellId;



            if (NumberConversions.TryStr2Int(requested, out spellId) && spellId > 0)

                return spellId;



            return null;

        }

InjectionScript.Runtime.InjectionApiUO.Count

Renvoie la valeur de l’expression ci-dessous.

Paramètres: type, color, container

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

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

Résultat: int.

Résultat: bridge.Count(type, color, container).

Appels: bridge.Count.

Appels:

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

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

            => bridge.Count(type, color, container);

InjectionScript.Runtime.InjectionApiUO.Date

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int Date()

Résultat: int.

Résultat: (now.Year % 100) * 10000 + now.Month * 100 + now.Day.

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

public int Date()

        {

            var now = timeSource.Now;

            return (now.Year % 100) * 10000 + now.Month * 100 + now.Day;

        }

InjectionScript.Runtime.InjectionApiUO.DecodeEasyUoId

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

Paramètres: easyValue

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

private static int DecodeEasyUoId(string easyValue)

Résultat: int.

Résultat: unchecked((int)value).

Appels: (easyValue ?? string.Empty).ToUpperInvariant.

Conditions: character < 'A' || character > 'Z'.

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

private static int DecodeEasyUoId(string easyValue)

        {

            uint value = 0;

            foreach (char character in (easyValue ?? string.Empty).ToUpperInvariant())

            {

                if (character < 'A' || character > 'Z')

                    continue;

                value = unchecked(value * 26 + (uint)(character - 'A'));

            }

            return unchecked((int)value);

        }

InjectionScript.Runtime.InjectionApiUO.DeleteJournal

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

Paramètres: text

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

public void DeleteJournal(InjectionValue text)

Résultat: void.

Appels: DeleteJournal.

Appels:

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

public void DeleteJournal(InjectionValue text) => DeleteJournal((string)text);

InjectionScript.Runtime.InjectionApiUO.EUO2Inj

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

Paramètres: easyValue

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

public string EUO2Inj(InjectionValue easyValue)

Résultat: string.

Résultat: NumberConversions.ToHex(unchecked((int)value)).

Appels: easyValue.ToString().ToUpperInvariant, easyValue.ToString, NumberConversions.ToHex.

Conditions: c < 'A' || c > 'Z'.

Appels:

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

public string EUO2Inj(InjectionValue easyValue)

        {

            uint value = 0;

            foreach (char c in easyValue.ToString().ToUpperInvariant())

            {

                if (c < 'A' || c > 'Z')

                    continue;

                value = unchecked(value * 26 + (uint)(c - 'A'));

            }

            return NumberConversions.ToHex(unchecked((int)value));

        }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: InjectionValue.Unit.

Appels:

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

case "addgumpignorebyserial": state.IgnoredGumpSerials.Add(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: InjectionValue.Unit.

Appels:

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

case "clearinfowindow": bridge.TextClear(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: InjectionValue.True.

Appels:

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

case "clienthide": bridge.ClientHide(Arg(0)); return InjectionValue.True;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: InjectionValue.Unit.

Appels:

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

case "clientprintex":

                    bridge.CharPrintEx(Arg(0), Arg(1), Arg(2), Text(3)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

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

Appels:

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

case "getarstatus": return new InjectionValue(bridge.GetAutoReconnect());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: new InjectionValue(arguments.Length > 0 ? bridge.GetIntelligence(Arg(0)) : bridge.Intelligence).

Appels:

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

case "getint": return new InjectionValue(arguments.Length > 0 ? bridge.GetIntelligence(Arg(0)) : bridge.Intelligence);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

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

Appels:

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

case "getz": return new InjectionValue(bridge.GetZ(Arg(0, bridge.Self)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: InjectionValue.Unit.

Appels:

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

case "ignoreoff": bridge.Unignore(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: InjectionValue.Unit.

Appels:

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

case "ignore": bridge.Ignore(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

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

Appels:

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

case "isobjectexists": return new InjectionValue(bridge.Exists(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: new InjectionValue(Waiting()).

Appels:

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

case "iswaittargetactive": return new InjectionValue(Waiting());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

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

Appels:

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

case "linecount": return new InjectionValue(bridge.JournalMatchCount());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: InjectionValue.Unit.

Appels:

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

case "moveboat": bridge.MoveBoat(Arg(0), Arg(1)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: SetIndexedGumpValue(Arg(0), "checkbox", Arg(1), Text(2)).

Appels:

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

case "numgumpcheckbox": return SetIndexedGumpValue(Arg(0), "checkbox", Arg(1), Text(2));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

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

Appels:

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

case "objatlayerex": return new InjectionValue(bridge.ObjAtLayerEx(Arg(0), Arg(1)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: InjectionValue.Unit.

Appels:

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

case "partyacceptinvite": bridge.PartyAcceptInvite(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: InjectionValue.Unit.

Appels:

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

case "partydeclineinvite": bridge.PartyDeclineInvite(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: InjectionValue.Unit.

Appels:

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

case "partyleave": bridge.PartyLeave(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: new InjectionValue(ReadPredictedCoordinate(3)).

Appels:

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

case "predicteddirection": return new InjectionValue(ReadPredictedCoordinate(3));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Résultat: InjectionValue.Unit.

Appels:

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

case "setcontextmenuhook": bridge.SetContextMenuHook(Arg(0), Arg(1)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Appels:

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

case "deletefindlist":

                    LegacyList("AddFindList").RemoveAll(value => LegacyListEntryMatches(value,

                        arguments));

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Appels:

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

case "gumpobject": bridge.SelectGump(Arg(0)); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Appels:

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

case "removering": Unequip("Ring"); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

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

Appels:

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

case "selectignorelist": state.SelectedIgnoreList = Text(0).Trim(); break;

InjectionScript.Runtime.InjectionApiUO.FindType

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

Paramètres: type, color

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

public string FindType(InjectionValue type, InjectionValue color)

Résultat: string.

Résultat: FindType(ResolveType(type), -1, ConvertContainer(color), -1, color.String.Equals("my", StringComparison.OrdinalIgnoreCase)); FindType(ResolveType(type), NumberConversions.ToInt(color), -1, -1, false).

Appels: color.String.Equals, FindType, ResolveType, ConvertContainer, NumberConversions.ToInt.

Conditions: `color.Kind == InjectionValueKind.String

            && (color.String.Equals("ground", StringComparison.OrdinalIgnoreCase)

                || color.String.Equals("backpack", StringComparison.OrdinalIgnoreCase)

                || color.String.Equals("my", StringComparison.OrdinalIgnoreCase))`.

Appels:

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

public string FindType(InjectionValue type, InjectionValue color)

        {

            if (color.Kind == InjectionValueKind.String

                && (color.String.Equals("ground", StringComparison.OrdinalIgnoreCase)

                    || color.String.Equals("backpack", StringComparison.OrdinalIgnoreCase)

                    || color.String.Equals("my", StringComparison.OrdinalIgnoreCase)))

            {

                return FindType(ResolveType(type), -1, ConvertContainer(color), -1, color.String.Equals("my", StringComparison.OrdinalIgnoreCase));

            }



            return FindType(ResolveType(type), NumberConversions.ToInt(color), -1, -1, false);

        }

InjectionScript.Runtime.InjectionApiUO.GetFoundedTextID

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int GetFoundedTextID()

Résultat: int.

Résultat: foundedTextId >= 0 ? foundedTextId : 0.

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

public int GetFoundedTextID() => foundedTextId >= 0 ? foundedTextId : 0;

InjectionScript.Runtime.InjectionApiUO.GetFoundedTextIndex

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int GetFoundedTextIndex()

Résultat: int.

Appels: reader.FindJournalEntryIndex.

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

public int GetFoundedTextIndex() => selectedJournalEntry != null && bridge is IApiJournalReader reader

            ? reader.FindJournalEntryIndex(selectedJournalEntry.Identity) : foundedTextIndex;

InjectionScript.Runtime.InjectionApiUO.GetFoundedTextSerial

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public string GetFoundedTextSerial()

Résultat: string.

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

public string GetFoundedTextSerial() => selectedJournalEntry != null

            ? $"0x{unchecked((uint)selectedJournalEntry.Serial):X8}" : "0x00000000";

InjectionScript.Runtime.InjectionApiUO.GetGraphics

Renvoie la valeur de l’expression ci-dessous.

Paramètres: id

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

public string GetGraphics(string id)

Résultat: string.

Résultat: GetGraphics(GetObject(id)).

Appels: GetGraphics, GetObject.

Appels:

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

public string GetGraphics(string id) => GetGraphics(GetObject(id));

InjectionScript.Runtime.InjectionApiUO.GetGump

Renvoie la valeur de l’expression ci-dessous.

Paramètres: identifier, key

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

public InjectionValue GetGump(string identifier, int key)

Résultat: InjectionValue.

Résultat: LastGump(identifier, key).

Appels: LastGump.

Appels:

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

public InjectionValue GetGump(string identifier, int key) => LastGump(identifier, key);

InjectionScript.Runtime.InjectionApiUO.GetLayer

Renvoie la valeur de l’expression ci-dessous.

Paramètres: id

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

public string GetLayer(InjectionValue id)

Résultat: string.

Résultat: ConvertLayer(bridge.GetLayer(GetObject(id))).

Appels: ConvertLayer, bridge.GetLayer, GetObject.

Appels:

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

public string GetLayer(InjectionValue id) => ConvertLayer(bridge.GetLayer(GetObject(id)));

InjectionScript.Runtime.InjectionApiUO.GetRun

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int GetRun()

Résultat: int.

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

Appels: bridge.GetRun.

Appels:

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

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

InjectionScript.Runtime.InjectionApiUO.GetZ

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int GetZ()

Résultat: int.

Résultat: GetZ("self").

Appels: GetZ.

Appels:

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

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

InjectionScript.Runtime.InjectionApiUO.GetZ

Renvoie la valeur de l’expression ci-dessous.

Paramètres: id

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

public int GetZ(int id)

Résultat: int.

Résultat: bridge.GetZ(id).

Appels: bridge.GetZ.

Appels:

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

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

InjectionScript.Runtime.InjectionApiUO.Grab

Renvoie la valeur de l’expression ci-dessous.

Paramètres: id

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

public int Grab(InjectionValue id)

Résultat: int.

Résultat: CompactGrab(new[] { id }).

Appels: CompactGrab.

Appels:

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

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

InjectionScript.Runtime.InjectionApiUO.Grab

Renvoie la valeur de l’expression ci-dessous.

Paramètres: amount, id, container

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

public int Grab(InjectionValue amount, InjectionValue id, InjectionValue container)

Résultat: int.

Résultat: CompactGrab(new[] { amount, id, container }).

Appels: CompactGrab.

Appels:

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

public int Grab(InjectionValue amount, InjectionValue id, InjectionValue container)

            => CompactGrab(new[] { amount, id, container });

InjectionScript.Runtime.InjectionApiUO.GumpExists

Renvoie la valeur de l’expression ci-dessous.

Paramètres: firstId, secondId

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

public int GumpExists(InjectionValue firstId, InjectionValue secondId)

Résultat: int.

Résultat: bridge.GumpExists(NumberConversions.ToInt(firstId), NumberConversions.ToInt(secondId)).

Appels: bridge.GumpExists, NumberConversions.ToInt.

Appels:

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

public int GumpExists(InjectionValue firstId, InjectionValue secondId)

            => bridge.GumpExists(NumberConversions.ToInt(firstId), NumberConversions.ToInt(secondId));

InjectionScript.Runtime.InjectionApiUO.Inj2EUO

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

Paramètres: serialValue

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

public string Inj2EUO(InjectionValue serialValue)

Résultat: string.

Résultat: "A"; result.ToString().

Appels: NumberConversions.ToInt, result.Insert, result.ToString.

Conditions: value == 0.

Appels:

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

public string Inj2EUO(InjectionValue serialValue)

        {

            uint value = unchecked((uint)NumberConversions.ToInt(serialValue));

            if (value == 0)

                return "A";

            var result = new StringBuilder();

            while (value > 0)

            {

                result.Insert(0, (char)('A' + value % 26));

                value /= 26;

            }

            return result.ToString();

        }

InjectionScript.Runtime.InjectionApiUO.LastGump

Renvoie la valeur de l’expression ci-dessous.

Paramètres: identifier, key

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

public InjectionValue LastGump(string identifier, int key)

Résultat: InjectionValue.

Résultat: ConvertGumpValue(identifier, bridge.GetGumpValue(-1, identifier, key)).

Appels: ConvertGumpValue, bridge.GetGumpValue.

Appels:

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

public InjectionValue LastGump(string identifier, int key) => ConvertGumpValue(identifier, bridge.GetGumpValue(-1, identifier, key));

InjectionScript.Runtime.InjectionApiUO.MaxWeight

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int MaxWeight()

Résultat: int.

Résultat: bridge.MaxWeight.

Appels:

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

public int MaxWeight() => bridge.MaxWeight;

InjectionScript.Runtime.InjectionApiUO.MoveToCanonical

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

Paramètres: x, y, z, accuracy, running, accuracyZ, optimized, stepCallback, timeoutMs, maxSteps, maxDistance, avoidMobiles, openDoorsOverride, stopOnStuck

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

`private int MoveToCanonical(int x, int y, int z, int accuracy, bool running, int accuracyZ = 255,

        bool optimized = true, string stepCallback = null, int timeoutMs = 0, int maxSteps = 0,

        int maxDistance = 0, bool? avoidMobiles = null, bool? openDoorsOverride = null, bool stopOnStuck = false)`

Résultat: int.

Résultat: 0; 1.

Appels: PortablePathSearch.ValidPoint, bridge.IsOnline, Math.Max, Math.Min, bridge.GetX, bridge.GetY, bridge.GetZ, Math.Abs.

Conditions: !PortablePathSearch.ValidPoint(x, y, z); state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0; state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina; !PortablePathSearch.ValidPoint(currentX, currentY, currentZ).

Appels:

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

private int MoveToCanonical(int x, int y, int z, int accuracy, bool running, int accuracyZ = 255,
            bool optimized = true, string stepCallback = null, int timeoutMs = 0, int maxSteps = 0,
            int maxDistance = 0, bool? avoidMobiles = null, bool? openDoorsOverride = null, bool stopOnStuck = false)
        {
            if (!PortablePathSearch.ValidPoint(x, y, z)) return 0;
            if (state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0)
                return 0;
            if (state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina)
                return 0;

// …
            if (!PortablePathSearch.ValidPoint(currentX, currentY, currentZ)) return 0;
// …
            if (maxDistance > 0 && requestedDistance > maxDistance)
                return 0;
            if (requestedDistance <= safeAccuracy && Math.Abs(z - currentZ) <= safeAccuracyZ)
                return 1;
// …
            if (started == 0)
                return 0;
// …
                if (ownership == null) bridge.StopMoving();
// …
                if (!IsCurrentRequest()) return 0;
                if (state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0)
// …
                    return 0;
// …
                if (state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina)
// …
                    return 0;
// …
                if (timeoutMs > 0 && (timeSource.Now - startedAt).TotalMilliseconds >= timeoutMs)
// …
                    return 0;
// …
                if (moved)
// …
                    if (!string.IsNullOrWhiteSpace(stepCallback)
// …
                        return 0;
// …
                    if (maxSteps > 0 && observedSteps >= maxSteps
// …
                        return 0;
// …
                else if (stopOnStuck && bridge is IApiPathPlanningState planning && planning.IsPathPlanning())
// …
                else if (stopOnStuck && (timeSource.Now - lastProgressAt).TotalMilliseconds >= 1000d)
// …
                    return 0;
// …
            if (!IsCurrentRequest()) return 0;
// …
            if ((currentX != lastX || currentY != lastY || currentZ != lastZ)
// …

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

InjectionScript.Runtime.InjectionApiUO.Picking

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

public int Picking()

Résultat: int.

Résultat: bridge.Picking().

Appels: bridge.Picking.

Appels:

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

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

InjectionScript.Runtime.InjectionApiUO.Random

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

Paramètres: min, max

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

public int Random(int min, int max)

Résultat: int.

Résultat: min; (int)(min + (long)random.Next((int)count)); (int)(min + (long)(sample % (ulong)count)).

Appels: random.Next, random.NextBytes, BitConverter.ToUInt32.

Conditions: min > max; min == max; count <= int.MaxValue.

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

public int Random(int min, int max)

        {

            if (min > max)

                throw new NativeSubrutineException("UO.Random(min, max): min must not exceed max.");

            if (min == max) return min;

            long count = (long)max - min + 1;

            lock (randomSync)

            {

                if (count <= int.MaxValue)

                    return (int)(min + (long)random.Next((int)count));



                // Inclusive Int32.MaxValue and the full signed range must not

                // overflow. Rejection avoids modulo bias; reuse the four bytes.

                const ulong domain = 1UL << 32;

                ulong limit = domain - domain % (ulong)count;

                uint sample;

                do

                {

                    random.NextBytes(randomRangeBytes);

                    sample = BitConverter.ToUInt32(randomRangeBytes, 0);

                } while (sample >= limit);

                return (int)(min + (long)(sample % (ulong)count));

            }

        }

InjectionScript.Runtime.InjectionApiUO.ResolveCompactMaxZ

Analyse ou résout l’argument selon les règles indiquées dans le code.

Paramètres: value

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

private int ResolveCompactMaxZ(InjectionValue value)

Résultat: int.

Résultat: parsed < 0 ? bridge.GetFindVertical() : Math.Max(0, parsed).

Appels: NumberConversions.ToInt, bridge.GetFindVertical, Math.Max.

Appels:

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

private int ResolveCompactMaxZ(InjectionValue value)

        {

            int parsed = NumberConversions.ToInt(value);

            return parsed < 0 ? bridge.GetFindVertical() : Math.Max(0, parsed);

        }

InjectionScript.Runtime.InjectionApiUO.Say

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

Paramètres: message

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

public void Say(string message)

Résultat: void.

Appels: bridge.Say.

Appels:

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

public void Say(string message) => bridge.Say(message);

InjectionScript.Runtime.InjectionApiUO.Snap

Renvoie la valeur de l’expression ci-dessous.

Paramètres: name, quality

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

public int Snap(string name, int quality)

Résultat: int.

Résultat: bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), true).

Appels: bridge.Snap, Math.Max, Math.Min.

Appels:

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

public int Snap(string name, int quality) => bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), true);

InjectionScript.Runtime.InjectionApiUO.Snap

Renvoie la valeur de l’expression ci-dessous.

Paramètres: name, quality, includeUi

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

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

Résultat: int.

Résultat: bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), includeUi).

Appels: bridge.Snap, Math.Max, Math.Min.

Appels:

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

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

            => bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), includeUi);

InjectionScript.Runtime.InjectionApiUO.TryDeserializeRecordedLegacyAction

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

Paramètres: recording, name, arguments

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

private static bool TryDeserializeRecordedLegacyAction(string recording, out string name, out InjectionValue[] arguments)

Résultat: bool.

Résultat: false; !string.IsNullOrWhiteSpace(name).

Appels: Array.Empty<InjectionValue>, string.IsNullOrWhiteSpace, recording.Split, fields[0].Equals, DecodeRecordingText, Math.Max, TryDeserializeRecordedValue.

Conditions: string.IsNullOrWhiteSpace(recording); fields.Length < 2 || !fields[0].Equals(RecordedLegacyActionPrefix, StringComparison.Ordinal); !TryDeserializeRecordedValue(fields[index], out values[index - 2]).

Appels:

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

private static bool TryDeserializeRecordedLegacyAction(string recording, out string name, out InjectionValue[] arguments)

        {

            name = string.Empty;

            arguments = Array.Empty<InjectionValue>();

            if (string.IsNullOrWhiteSpace(recording)) return false;



            string[] fields = recording.Split(new[] { '\t' }, StringSplitOptions.None);

            if (fields.Length < 2 || !fields[0].Equals(RecordedLegacyActionPrefix, StringComparison.Ordinal)) return false;

            try

            {

                name = DecodeRecordingText(fields[1]);

                var values = new InjectionValue[Math.Max(0, fields.Length - 2)];

                for (int index = 2; index < fields.Length; index++)

                    if (!TryDeserializeRecordedValue(fields[index], out values[index - 2])) return false;

                arguments = values;

                return !string.IsNullOrWhiteSpace(name);

            }

            catch (FormatException)

            {

                name = string.Empty;

                arguments = Array.Empty<InjectionValue>();

                return false;

            }

        }

InjectionScript.Runtime.InjectionApiUO.UseFromGround

Renvoie la valeur de l’expression ci-dessous.

Paramètres: type

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

public int UseFromGround(InjectionValue type)

Résultat: int.

Résultat: UseFromGround(type, new InjectionValue(-1)).

Appels: UseFromGround.

Appels:

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

public int UseFromGround(InjectionValue type) => UseFromGround(type, new InjectionValue(-1));

InjectionScript.Runtime.InjectionApiUO.WaitTargetObject

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

Paramètres: id1, id2

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

public void WaitTargetObject(int id1, int id2)

Résultat: void.

Appels: bridge.WaitTargetObject, Timer.

Appels:

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

public void WaitTargetObject(int id1, int id2)

        {

            bridge.WaitTargetObject(id1, id2);

            ticksTarget = Timer();

        }

InjectionScript.Runtime.InjectionApiUO.WaitingForJournalText

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

Paramètres: startTime, maxDelay, text, equals

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

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

Résultat: void.

Appels: WaitingForJournalText.

Appels:

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

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

            => WaitingForJournalText(startTime, maxDelay, text, equals, 0, InjectionValue.Zero);

InjectionScript.Runtime.InjectionApiUO.Register [FindType]

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

Paramètres: Aucun paramètre.

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

values

Résultat: values.

Résultat: CompactFindType(values[0], values[1], values[2], values[3], values[4], values[5]).

Appels: CompactFindType.

Appels:

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

values =>

                CompactFindType(values[0], values[1], values[2], values[3], values[4], values[5])

InjectionScript.Runtime.InjectionApiUO.Register [Follow]

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

Paramètres: Aucun paramètre.

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

values

Résultat: values.

Appels: follow.Follow, GetObject, NumberConversions.ToInt.

Appels:

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

values => new InjectionValue(bridge is IApiFollowBridge follow

                        ? follow.Follow(count == 0 ? 0 : GetObject(values[0]),

                            count < 2 ? 1 : NumberConversions.ToInt(values[1]),

                            count < 3 || NumberConversions.ToInt(values[2]) != 0) : 0)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetFlying]

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

Paramètres: Aucun paramètre.

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

serial

Résultat: serial.

Résultat: bridge.Flying(serial).

Appels: bridge.Flying.

Appels:

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

serial => bridge.Flying(serial)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetMaxWeight]

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

Paramètres: Aucun paramètre.

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

Résultat: bridge.MaxWeight.

Appels:

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

() => bridge.MaxWeight

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetStr]

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

Paramètres: Aucun paramètre.

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

Résultat: bridge.Strength.

Appels:

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

() => bridge.Strength

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

Résultat: getter(bridge.Self).

Appels:

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

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

Résultat: getter(bridge.Self).

Appels:

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

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

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

Résultat: getter(bridge.Self).

Appels:

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

() => getter(bridge.Self)

InjectionScript.Runtime.NativeSubrutineMetadata.TryGet

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

Paramètres: name, argumentValues, subrutineDefinition

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeSubrutineMetadata.cs:34.

public bool TryGet(string name, IEnumerable<InjectionValue> argumentValues, out NativeSubrutineDefinition subrutineDefinition)

Résultat: bool.

Résultat: false; true; subrutineDefinition != null.

Appels: byName.TryGetValue, argumentValues.ToArray, arities.TryGetValue, StringComparer.OrdinalIgnoreCase.Compare, candidate.GetSignature, wildcard.GetSignature.

Conditions: !byName.TryGetValue(name, out var arities); !arities.TryGetValue(arguments.Count, out var overloads); kind == InjectionValueKind.Any; kind == arguments[i].Kind.

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

public bool TryGet(string name, IEnumerable<InjectionValue> argumentValues, out NativeSubrutineDefinition subrutineDefinition)
        {
            subrutineDefinition = null;
            // A script procedure is not a native. Avoid scanning the entire API
            // (over 1600 registrations) twice for every ordinary helper call.
            if (!byName.TryGetValue(name, out var arities)) return false;
            var arguments = argumentValues as IReadOnlyList<InjectionValue> ?? argumentValues.ToArray();
            if (!arities.TryGetValue(arguments.Count, out var overloads)) return false;
            NativeSubrutineDefinition allAny = null, wildcard = null;
            int bestWildcardCount = int.MaxValue;
            foreach (var candidate in overloads)
            {
                bool compatible = true, exact = true;
                int anyCount = 0;
                for (int i = 0; i < arguments.Count; i++)
                {
                    var kind = candidate.ParameterKinds[i];
                    if (kind == InjectionValueKind.Any) anyCount++;
                    if (kind == arguments[i].Kind) continue;
                    exact = false;
                    if (kind != InjectionValueKind.Any) { compatible = false; break; }
                }
                if (exact && compatible) { subrutineDefinition = candidate; return true; }
                if (!compatible) continue;
                if (anyCount == arguments.Count) { allAny = candidate; continue; }
                if (anyCount < bestWildcardCount || (anyCount == bestWildcardCount
                    && StringComparer.OrdinalIgnoreCase.Compare(candidate.GetSignature(), wildcard.GetSignature()) < 0))
                { wildcard = candidate; bestWildcardCount = anyCount; }
            }
            // Preserve existing dispatch precedence: exact, all-Any adapter,
            // then the most specific mixed signature with its stable tie-break.
            subrutineDefinition = allAny ?? wildcard;
            return subrutineDefinition != null;
        }

InjectionScript.Runtime.PortablePathSearch.Find

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

Paramètres: startX, startY, startZ, finishX, finishY, finishZ, accuracy, accuracyZ, maxSteps, diagonal, checkStep, checkCancellation, scheduleSlice

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/PortablePathSearch.cs:26.

`internal static (int X, int Y, int Z)[] Find(

        int startX, int startY, int startZ, int finishX, int finishY, int finishZ,

        int accuracy, int accuracyZ, int maxSteps, bool diagonal,

        Func<int, int, int, int, int, int?> checkStep, Action checkCancellation, Action<Action> scheduleSlice)`

Résultat: (int X, int Y, int Z)[].

Résultat: empty; result.

Appels: Array.Empty<(int, int, int)>, ValidPoint, Comparer<Node>.Create, Math.Min, Estimate, open.Add, checkCancellation, scheduleSlice.

Conditions: !ValidPoint(startX, startY, startZ) || !ValidPoint(finishX, finishY, finishZ); start.Estimate > limit.

Appels:

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

internal static (int X, int Y, int Z)[] Find(
            int startX, int startY, int startZ, int finishX, int finishY, int finishZ,
            int accuracy, int accuracyZ, int maxSteps, bool diagonal,
            Func<int, int, int, int, int, int?> checkStep, Action checkCancellation, Action<Action> scheduleSlice)
        {
            var empty = Array.Empty<(int, int, int)>();
            if (!ValidPoint(startX, startY, startZ) || !ValidPoint(finishX, finishY, finishZ))
                return empty;

            int Estimate(int x, int y)
// …
                return diagonal ? Math.Max(dx, dy) : dx + dy;
// …
                if (order == 0) order = a.Estimate.CompareTo(b.Estimate);
                return order == 0 ? a.Order.CompareTo(b.Order) : order;
// …
            if (start.Estimate > limit) return empty;
// …
                    if (sliceNodes > 1 && Stopwatch.GetTimestamp() - sliceStarted >= Stopwatch.Frequency / 1000)
                        return;
// …
                    if (best[current.Point] != current) continue;
// …
                    if (current.Estimate == 0 && Math.Abs(finishZ - p.Z) <= accuracyZ)
// …
                        return;
// …
                    if (expanded++ >= ExpansionLimit) { completed = true; return; }
                    if (current.Steps >= limit) continue;
// …
                        if (x < 0 || x > ushort.MaxValue || y < 0 || y > ushort.MaxValue) continue;
// …
                        if (steps + estimate > limit) continue;
// …
                        if (!z.HasValue || !ValidPoint(x, y, z.Value)) continue;
// …
                        if (best.TryGetValue(key, out Node previous) && previous.Steps <= steps) continue;
// …
                        if (previous != null) open.Remove(previous);
// …
            return result;
// …

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

InjectionScript.Runtime.State.NamedTypes.TryGet

Renvoie la valeur de l’expression ci-dessous.

Paramètres: name, graphic

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

public bool TryGet(string name, out int graphic)

Résultat: bool.

Résultat: values.TryGetValue((name ?? string.Empty).Trim(), out graphic).

Appels: values.TryGetValue, (name ?? string.Empty).Trim.

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

public bool TryGet(string name, out int graphic)
        {
            lock (gate) return values.TryGetValue((name ?? string.Empty).Trim(), out graphic);
        }

InjectionScript.Runtime.State.RuntimeDictionary.Set

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

Paramètres: name, value

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/RuntimeDictionary.cs:16.

public void Set(string name, T value)

Résultat: void.

Appels: items.ContainsKey, items.Add, .Invoke.

Conditions: !items.ContainsKey(name); notify.

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

public void Set(string name, T value)

        {

            bool notify = true;



            lock (itemsLock)

            {

                if (!items.ContainsKey(name))

                {

                    items.Add(name, value);

                    notify = true;

                }

                else

                    items[name] = value;

            }



            if (notify)

                KeyAdded?.Invoke(name);

        }

Clone this wiki locally