FR Runtime Helpers 6 - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki

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

Fonctions auxiliaires 6

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

ClassicUO.CSharp.CSharpCallbacks.Remove

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

Paramètres: Listener listener

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

private void Remove(Listener listener)

Résultat: void.

Conditions:

  • listener.Closed

Appels:

  • listeners.Remove
  • listener.Source.Dispose

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

private void Remove(Listener listener)
    {
        lock (sync) { if (listener.Closed) return; listener.Closed = true; listeners.Remove(listener); }
        listener.Source.Dispose();
    }

ClassicUO.CSharp.CSharpCallbacks.RemoveState

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

Paramètres: string name

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

private void RemoveState(string name)

Résultat: void.

Appels:

  • stateEvents.Remove
  • .Dispose

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

private void RemoveState(string name)
    {
        StateEvent? state;
        lock (sync) { stateEvents.Remove(name, out state); }
        state?.Subscription?.Dispose();
    }

ClassicUO.CSharp.CSharpExecutionScope.VerifyActive

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

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.CSharp/CSharpScriptEngine.cs:576.

internal static void VerifyActive()

Résultat: void.

Conditions:

  • CurrentFinalization.Value?.IsActive == true

Appels:

  • .Verify

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

internal static void VerifyActive()
    {
        Current.Value?.Verify();
        if (CurrentFinalization.Value?.IsActive == true)
            throw new InvalidOperationException("Game API calls are unavailable from a CLR finalizer.");
    }

ClassicUO.Configuration.ProfileManager.EncodePathSegment

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

Paramètres: string value

Source: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:321.

private static string EncodePathSegment(string value)

Résultat: string.

Conditions:

  • string.IsNullOrWhiteSpace(value)

  • windowsInvalid || windowsTrimmedAtEnd

  • `baseName.Equals("CON", StringComparison.OrdinalIgnoreCase)

              || baseName.Equals("PRN", StringComparison.OrdinalIgnoreCase)
    
              || baseName.Equals("AUX", StringComparison.OrdinalIgnoreCase)
    
              || baseName.Equals("NUL", StringComparison.OrdinalIgnoreCase)
    
              || baseName.Length == 4
    
              && (baseName.StartsWith("COM", StringComparison.OrdinalIgnoreCase)
    
                  || baseName.StartsWith("LPT", StringComparison.OrdinalIgnoreCase))
    
              && baseName[3] is >= '1' and <= '9'`
    

Appels:

  • string.IsNullOrWhiteSpace
  • IsWindowsTrimmedSuffix
  • builder.Append('~').Append
  • builder.Append
  • ((int)character).ToString
  • builder.ToString
  • result.Split
  • baseName.Equals
  • baseName.StartsWith

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

private static string EncodePathSegment(string value)

        {

            if (string.IsNullOrWhiteSpace(value))

                return "UnknownServer";



            var builder = new StringBuilder(value.Length);



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

            {

                char character = value[index];

                bool windowsInvalid = character < 32

                                      || character is '<' or '>' or ':' or '"' or '/' or '\\' or '|' or '?' or '*' or '~';

                bool windowsTrimmedAtEnd = (character == '.' || character == ' ')

                                           && IsWindowsTrimmedSuffix(value, index);



                if (windowsInvalid || windowsTrimmedAtEnd)

                    builder.Append('~').Append(((int)character).ToString("X4"));

                else

                    builder.Append(character);

            }



            string result = builder.Length == 0 ? "UnknownServer" : builder.ToString();

            string baseName = result.Split('.')[0];



            if (baseName.Equals("CON", StringComparison.OrdinalIgnoreCase)

                || baseName.Equals("PRN", StringComparison.OrdinalIgnoreCase)

                || baseName.Equals("AUX", StringComparison.OrdinalIgnoreCase)

                || baseName.Equals("NUL", StringComparison.OrdinalIgnoreCase)

                || baseName.Length == 4

                && (baseName.StartsWith("COM", StringComparison.OrdinalIgnoreCase)

                    || baseName.StartsWith("LPT", StringComparison.OrdinalIgnoreCase))

                && baseName[3] is >= '1' and <= '9')

            {

                result = "~005F" + result;

            }



            return result;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ActivateHandle

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

public void ActivateHandle()

Résultat: void.

Appels:

  • Invoke
  • SDL3.SDL.SDL_RaiseWindow
  • RequireGameView

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

public void ActivateHandle() => Invoke(() => SDL3.SDL.SDL_RaiseWindow(RequireGameView("ActivateHandle").Window.Handle));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AddChatUserIgnore

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

Paramètres: string name

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

public void AddChatUserIgnore(string name)

Résultat: void.

Appels:

  • Invoke
  • JournalManager.AddYokoIgnoredUser

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

public void AddChatUserIgnore(string name) => Invoke(() => JournalManager.AddYokoIgnoredUser(name));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AddMenuHook

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

Paramètres: string caption, string item, bool persistent

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

public void AddMenuHook(string caption, string item, bool persistent)

Résultat: void.

Appels:

  • Invoke
  • _manager.AddMenuHook

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

public void AddMenuHook(string caption, string item, bool persistent) => Invoke(() => _manager.AddMenuHook(caption, item, persistent));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseClientWindow

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

Paramètres: int uiWindowType, int id

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

public void CloseClientWindow(int uiWindowType, int id)

Résultat: void.

Conditions:

  • uiWindowType == 2
  • uiWindowType == 0
  • uiWindowType == 3

Appels:

  • Invoke

  • _world.CharacterPanels.Profile

  • .Close

  • _world.NativePopups.Close

  • _world.Containers.Close

  • `UIManager.Gumps.Where(gump => !gump.IsDisposed

                       && gump.LocalSerial == unchecked((uint)id) && MatchesType(gump)).ToArray`
    
  • UIManager.Gumps.Where

  • MatchesType

  • gump.Dispose

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

public void CloseClientWindow(int uiWindowType, int id) => Invoke(() =>

        {

            if (uiWindowType == 2) _world.CharacterPanels.Profile(unchecked((uint)id))?.Close(true);

            if (uiWindowType == 0) _world.NativePopups.Close(SessionPopupKind.Paperdoll, unchecked((uint)id));

            if (uiWindowType == 3) _world.Containers.Close(unchecked((uint)id));

            bool MatchesType(Gump gump) => uiWindowType switch

            {

                0 => gump is PaperDollGump,

                1 => gump is StatusGumpBase,

                2 => gump is ProfileGump,

                3 => gump is ContainerGump,

                _ => false

            };



            foreach (Gump gump in UIManager.Gumps.Where(gump => !gump.IsDisposed

                         && gump.LocalSerial == unchecked((uint)id) && MatchesType(gump)).ToArray())

                gump.Dispose();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ConfirmTrade

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

Paramètres: int tradeNumber

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

public int ConfirmTrade(int tradeNumber)

Résultat: int.

Conditions:

  • gump == null
  • !gump.ImAccepting

Appels:

  • Invoke
  • FindNumberedTrade
  • GameActions.AcceptTrade

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

public int ConfirmTrade(int tradeNumber) => Invoke(() =>

        {

            ISessionTrade gump = FindNumberedTrade(tradeNumber);

            if (gump == null) return 0;

            if (!gump.ImAccepting)

            {

                gump.ImAccepting = true;

                GameActions.AcceptTrade(gump.ID1, true);

            }

            return 1;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ContainerOf

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

Paramètres: int id

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

public int ContainerOf(int id)

Résultat: int.

Appels:

  • Invoke
  • _world.Items.Get

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

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DescribeControl

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

Paramètres: Control control

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

private static string DescribeControl(Control control)

Résultat: string.

Conditions:

  • control is SessionGumpControl logical
  • control is Button button
  • control is Checkbox checkbox

Appels:

  • logical.Describe
  • control.GetType
  • GetControlText
  • string.IsNullOrWhiteSpace

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

private static string DescribeControl(Control control)

        {

            if (control is SessionGumpControl logical) return logical.Describe();

            string common = $"{control.GetType().Name} page={control.Page} id=0x{control.LocalSerial:X8} "

                + $"x={control.X} y={control.Y} width={control.Width} height={control.Height}";



            if (control is Button button)

            {

                return common + $" ButtonID={button.ButtonID} action={button.ButtonAction} toPage={button.ToPage} "

                    + $"normal=0x{button.ButtonGraphicNormal:X4} pressed=0x{button.ButtonGraphicPressed:X4} over=0x{button.ButtonGraphicOver:X4}";

            }



            if (control is Checkbox checkbox)

            {

                string kind = checkbox is RadioButton ? "RadioButton" : "Checkbox";

                return $"{kind} page={control.Page} ID={control.LocalSerial} x={control.X} y={control.Y} "

                    + $"checked={checkbox.IsChecked} inactive=0x{checkbox.InactiveGraphic:X4} active=0x{checkbox.ActiveGraphic:X4}";

            }



            string text = GetControlText(control);

            return string.IsNullOrWhiteSpace(text) ? common : common + $" text={text}";

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Exec

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

Paramètres: string subrutineName

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

public void Exec(string subrutineName)

Résultat: void.

Appels:

  • _manager.RunNamedProcedureFromScript

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

public void Exec(string subrutineName)

        {

            _manager.RunNamedProcedureFromScript(subrutineName, _csharpGlobals?.Cancellation ?? _cancellationToken);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDropDelay

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

public int GetDropDelay()

Résultat: int.

Appels:

—

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

public int GetDropDelay() => State.GrabDelay;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFlags

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

Paramètres: int id

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

public int GetFlags(int id)

Résultat: int.

Appels:

  • Invoke
  • _world.Get

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

public int GetFlags(int id) => Invoke(() => _world.Get((uint)id) is Entity entity ? (int)entity.Flags : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpCount

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

public int GetGumpCount()

Résultat: int.

Appels:

  • Invoke
  • ServerGumpsUnsafe

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

public int GetGumpCount() => Invoke(() => ServerGumpsUnsafe().Count);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpSerial

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

Paramètres: int index

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

public int GetGumpSerial(int index)

Résultat: int.

Appels:

  • Invoke
  • ServerGumpsUnsafe().ElementAtOrDefault
  • ServerGumpsUnsafe

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

public int GetGumpSerial(int index) => Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.LocalSerial ?? 0));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetScriptPath

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

Paramètres: int index

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

public string GetScriptPath(int index)

Résultat: string.

Appels:

  • _manager.GetScriptPath

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

public string GetScriptPath(int index) => _manager.GetScriptPath(index);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetStaticArt::Write16

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

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

Résultat: void.

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

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

            {

                buffer[offset] = (byte)value;

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

            }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetWaitTargetQueue

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

public int[] GetWaitTargetQueue()

Résultat: int[].

Appels:

  • _manager.GetPendingTargetSerials

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

public int[] GetWaitTargetQueue() => _manager.GetPendingTargetSerials();

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalEntryCount

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

public int JournalEntryCount()

Résultat: int.

Appels:

  • Invoke

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

public int JournalEntryCount() => Invoke(() => JournalManager.Entries.Count);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalMatchCount

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

public int JournalMatchCount()

Résultat: int.

Appels:

—

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

public int JournalMatchCount() => _journalMatchCount;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastTarget

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

public int LastTarget

Résultat: int.

Appels:

  • Invoke

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

public int LastTarget => Invoke(() => (int)_world.TargetManager.LastTargetInfo.Serial);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastTile

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

public int[] LastTile()

Résultat: int[].

Appels:

  • Invoke

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

public int[] LastTile() => Invoke(() =>

        {

            LastTargetInfo info = _world.TargetManager.LastTargetInfo;

            return new[] { (int)info.Graphic, (int)info.X, (int)info.Y, (int)info.Z };

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MoveTo

Renvoie la valeur de l’expression ci-dessous.

Paramètres: x, y, z, accuracy, running, staminaThreshold, openDoor, throughCorner, throughNpcs, heuristicMultiplier, turnCost, exitOnDisconnect, accuracyZ, optimized, betweenTwoCorners

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

`public int MoveTo(int x, int y, int z, int accuracy, bool running, int staminaThreshold,

        bool openDoor, bool throughCorner, bool throughNpcs, int heuristicMultiplier,

        int turnCost, bool exitOnDisconnect, int accuracyZ = 255, bool optimized = true,

        bool betweenTwoCorners = false)`

Résultat: int.

Appels: Invoke.

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

public int MoveTo(int x, int y, int z, int accuracy, bool running, int staminaThreshold,

            bool openDoor, bool throughCorner, bool throughNpcs, int heuristicMultiplier,

            int turnCost, bool exitOnDisconnect, int accuracyZ = 255, bool optimized = true,

            bool betweenTwoCorners = false) => Invoke(() =>

        {

            if (_world.Player == null) return 0;

            _manager.StopFollowing();

            Pathfinder pathfinder = _world.Player.Pathfinder;

            bool started = pathfinder.WalkTo(

                x,

                y,

                z,

                Math.Clamp(accuracy, 0, 20),

                running,

                Math.Max(0, staminaThreshold),

                openDoor,

                throughCorner,

                throughNpcs,

                Math.Max(1, heuristicMultiplier),

                Math.Max(0, turnCost),

                exitOnDisconnect,

                Math.Clamp(accuracyZ, 0, 255),

                optimized,

                betweenTwoCorners,

                ScriptPathObstacles.Create(_csharpState, this), incremental: true);

            if (started)

            {

                _lastMovementPathfinder = pathfinder;

                _lastMovementPlayer = _world.Player;

                _lastMovementMap = _world.Map;

                _lastMovementMapIndex = _world.MapIndex;

                Interlocked.Exchange(ref _lastMovementRequestId, pathfinder.AutoWalkRequestGeneration);

                _pathCancellation.Unregister();

                long generation = pathfinder.AutoWalkGeneration;

                if (pathfinder.AutoWalking)

                    _pathCancellation = _cancellationToken.Register(() => _manager.ReleaseScriptMovement(pathfinder, generation));

            }

            return started ? 1 : 0;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ReceiveObjectName

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

Paramètres: int id, int delay

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

public void ReceiveObjectName(int id, int delay)

Résultat: void.

Appels:

  • Click
  • Stopwatch.StartNew
  • Math.Max
  • string.IsNullOrEmpty
  • GetName
  • Wait
  • Math.Min

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

public void ReceiveObjectName(int id, int delay)

        {

            Click(id);

            var elapsed = Stopwatch.StartNew();

            while (elapsed.ElapsedMilliseconds < Math.Max(0, delay) && string.IsNullOrEmpty(GetName(id)))

                Wait((int)Math.Min(25, Math.Max(1L, delay - elapsed.ElapsedMilliseconds)));

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestVirtuesGump

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

public void RequestVirtuesGump()

Résultat: void.

Conditions:

  • _world.Player != null

Appels:

  • Invoke
  • GameActions.ReplyGump
  • Array.Empty<Tuple<ushort, string>>

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

public void RequestVirtuesGump() => Invoke(() =>

        {

            if (_world.Player != null)

                GameActions.ReplyGump(_world.Player, 0x000001CD, 0x00000001, new[] { _world.Player.Serial }, Array.Empty<Tuple<ushort, string>>());

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResolveGumpUnsafe

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

Paramètres: int gumpId

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

private Gump ResolveGumpUnsafe(int gumpId)

Résultat: Gump.

Conditions:

  • gumpId == -1

Appels:

  • ServerGumpsUnsafe
  • gumps.LastOrDefault
  • gumps.FirstOrDefault

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

private Gump ResolveGumpUnsafe(int gumpId)

        {

            List<Gump> gumps = ServerGumpsUnsafe();

            if (gumpId == -1)

            {

                return _selectedServerGump != null && !_selectedServerGump.IsDisposed ? _selectedServerGump : gumps.LastOrDefault();

            }

            return gumps.FirstOrDefault(g => g.LocalSerial == (uint)gumpId || g.ServerSerial == (uint)gumpId)

                ?? (gumpId >= 0 && gumpId < gumps.Count ? gumps[gumpId] : null);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SelectContainer

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

public int SelectContainer()

Résultat: int.

Appels:

  • SelectObject

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

public int SelectContainer() => SelectObject() is Item item ? (int)item.Serial : 0;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SendServerSpeech

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

Paramètres: string command, string message

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

private void SendServerSpeech(string command, string message)

Résultat: void.

Appels:

  • Invoke
  • GameActions.Say
  • ReportStatus

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

private void SendServerSpeech(string command, string message) => Invoke(() =>

        {

            GameActions.Say(message ?? string.Empty, allowYokoCommand: SCRIPT_SAY_ALLOW_YOKO_COMMAND);

            ReportStatus($"{command} delivered through ClassicUO server speech");

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StartScript

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

Paramètres: string path

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

public int StartScript(string path)

Résultat: int.

Appels:

  • _manager.StartScript

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

public int StartScript(string path) => _manager.StartScript(path);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ToClassicUOCastIndex

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

Paramètres: int spellId

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

internal static int ToClassicUOCastIndex(int spellId)

Résultat: int.

Appels:

—

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

internal static int ToClassicUOCastIndex(int spellId) => spellId;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TryMoveItemRequest

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

Paramètres: int id, int amount, int destination, int x, int y, int z

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

private bool TryMoveItemRequest(int id, int amount, int destination, int x, int y, int z)

Résultat: bool.

Appels:

  • TryMoveItemRequest

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

private bool TryMoveItemRequest(int id, int amount, int destination, int x, int y, int z)

            => TryMoveItemRequest(_world, id, amount, destination, x, y, z);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseAbility

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

Paramètres: int abilityId

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

public int UseAbility(int abilityId)

Résultat: int.

Conditions:

  • _world.Player == null || abilityId < 1 || abilityId > AbilityData.Abilities.Length
  • abilityId == primary
  • abilityId == secondary

Appels:

  • Invoke
  • GameActions.UsePrimaryAbility
  • GameActions.UseSecondaryAbility

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

public int UseAbility(int abilityId) => Invoke(() =>

        {

            if (_world.Player == null || abilityId < 1 || abilityId > AbilityData.Abilities.Length)

                return 0;



            int primary = (byte)_world.Player.Abilities[0] & 0x7F;

            int secondary = (byte)_world.Player.Abilities[1] & 0x7F;

            if (abilityId == primary)

            {

                GameActions.UsePrimaryAbility(_world);

                return 1;

            }

            if (abilityId == secondary)

            {

                GameActions.UseSecondaryAbility(_world);

                return 1;

            }

            return 0;

        });

ClassicUO.Game.Managers.YokoIdeToolBuffers.AppendOutput

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

Paramètres: string scriptKey, string text

Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoIdeToolBuffers.cs:124.

internal void AppendOutput(string scriptKey, string text)

Résultat: void.

Appels:

  • _output.Add
  • _clock
  • NormalizeKey
  • NormalizeText
  • TrimOldest

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

internal void AppendOutput(string scriptKey, string text)
        {
            lock (_sync)
            {
                _output.Add(new YokoOutputEntry
                {
                    Sequence = ++_sequence,
                    Timestamp = _clock(),
                    ScriptKey = NormalizeKey(scriptKey),
                    Text = NormalizeText(text)
                });
                TrimOldest(_output);
                _revision++;
            }
        }

ClassicUO.Game.Managers.YokoInjectionManager.InvokeOnGameThread

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

Paramètres: Action callback, CancellationToken cancellationToken

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

internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)

Résultat: void.

Appels:

  • InvokeOnGameThread
  • callback

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

internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)

        {

            InvokeOnGameThread(() =>

            {

                callback();

                return true;

            }, cancellationToken);

        }

ClassicUO.Game.Managers.YokoInjectionManager.PauseResumeScript

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

Paramètres: int index

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

internal void PauseResumeScript(int index)

Résultat: void.

Conditions:

  • script == null

Appels:

  • ElementAt
  • RunningScripts
  • script.ToggleManualPause
  • MarkRuntimeStateChanged

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

internal void PauseResumeScript(int index)

        {

            YokoRunningScript script = ElementAt(RunningScripts(), index);

            if (script == null)

                return;



            script.ToggleManualPause();

            MarkRuntimeStateChanged();

        }

ClassicUO.Game.Managers.YokoInjectionManager.SetStatus

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

Paramètres: string text, string scriptKey = null

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

internal void SetStatus(string text, string scriptKey = null)

Résultat: void.

Conditions:

  • !IsScriptPublicationCurrent(scriptKey)

Appels:

  • IsScriptPublicationCurrent
  • Volatile.Write
  • PublishStatus

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

internal void SetStatus(string text, string scriptKey = null)

        {

            if (!IsScriptPublicationCurrent(scriptKey))

                return;

            Volatile.Write(ref _statusPriority, 1);

            PublishStatus(text, scriptKey);

        }

ClassicUO.Game.SerialHelper.IsMobile

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

Paramètres: uint serial

Source: Project_Full/src/ClassicUO.Client/Game/SerialHelper.cs:16.

public static bool IsMobile(uint serial)

Résultat: bool.

Appels:

—

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

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

ClassicUO.Game.World.ChangeSeason

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

Paramètres: Season season, int music

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

public void ChangeSeason(Season season, int music)

Résultat: void.

Conditions:

  • audio != null && (currentMusic == null || currentMusic.Index == audio.LoginMusicIndex)

Appels:

  • Map.GetUsedChunks
  • .GetHeadObject
  • obj.UpdateGraphicBySeason
  • .GetCurrentMusic
  • audio.PlayMusic

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

public void ChangeSeason(Season season, int music)

        {

            Season = season;



            foreach (Chunk chunk in Map.GetUsedChunks())

            {

                for (int x = 0; x < 8; x++)

                {

                    for (int y = 0; y < 8; y++)

                    {

                        for (GameObject obj = chunk?.GetHeadObject(x, y); obj != null; obj = obj.TNext)

                        {

                            obj.UpdateGraphicBySeason();

                        }

                    }

                }

            }



            //TODO(deccer): refactor this out into _audioPlayer.PlayMusic(...)

            var audio = Client.Game?.Audio;

            UOMusic currentMusic = audio?.GetCurrentMusic();

            if (audio != null && (currentMusic == null || currentMusic.Index == audio.LoginMusicIndex))

            {

                audio.PlayMusic(music, false);

            }

        }

InjectionScript.Runtime.InjectionApi.GetWord

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

Paramètres: string value,int wordIndex

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:41.

private static string GetWord(string value,int wordIndex)

Résultat: string.

Appels:

  • GetWord

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

private static string GetWord(string value,int wordIndex) => GetWord(value,wordIndex," ");

InjectionScript.Runtime.InjectionApi.SplitWords

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

Paramètres: string value,string delimiter

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:36.

private static string[] SplitWords(string value,string delimiter)

Résultat: string[].

Appels:

  • string.IsNullOrEmpty
  • value.Split

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

private static string[] SplitWords(string value,string delimiter)
        {
            value=value??string.Empty;
            return string.IsNullOrEmpty(delimiter)||delimiter==" "?value.Split((char[])null,StringSplitOptions.RemoveEmptyEntries):value.Split(new[]{delimiter},StringSplitOptions.RemoveEmptyEntries);
        }

InjectionScript.Runtime.InjectionApiUO.CalculateDirection

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

Paramètres: int fromX, int fromY, int toX, int toY

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

private static int CalculateDirection(int fromX, int fromY, int toX, int toY)

Résultat: int.

Conditions:

  • dx == 0 && dy == 0
  • dx == 0
  • dy == 0
  • dx > 0

Appels:

  • Math.Sign

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

private static int CalculateDirection(int fromX, int fromY, int toX, int toY)

        {

            int dx = Math.Sign(toX - fromX);

            int dy = Math.Sign(toY - fromY);

            if (dx == 0 && dy == 0) return 100;

            if (dx == 0) return dy < 0 ? 0 : 4;

            if (dy == 0) return dx > 0 ? 2 : 6;

            if (dx > 0) return dy < 0 ? 1 : 3;

            return dy > 0 ? 5 : 7;

        }

InjectionScript.Runtime.InjectionApiUO.CompactAttackNearest

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

Paramètres: InjectionValue[] values

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

private int CompactAttackNearest(InjectionValue[] values)

Résultat: int.

Conditions:

  • !TryResolveClassRules(classMask, out EquipmentClassRule[] rules)
  • serial != 0

Appels:

  • ResolveCompactDistance
  • bridge.GetFindDistance
  • ResolveCompactMaxZ
  • bridge.GetFindVertical
  • ToBoolean
  • NumberConversions.ToInt
  • TryResolveClassRules
  • FilterMobiles
  • SelectClassCandidate
  • bridge.Attack

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

private int CompactAttackNearest(InjectionValue[] values)

        {

            InjectionValue notoriety = values[0];

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

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

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

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

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

            InjectionValue classMask = values.Length > 6 ? values[6] : default(InjectionValue);

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

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



            // Resolve once, before any attack. A misspelled/undefined class must

            // never degrade into an unrestricted search or a name substring match.

            if (!TryResolveClassRules(classMask, out EquipmentClassRule[] rules))

                return 0;

            IEnumerable<int> mobiles = FilterMobiles(distance, notoriety, body, maxZ, color, false,

                false, aliveOnly, visibleOnly);

            int serial = SelectClassCandidate(mobiles, rules, nearest);

            if (serial != 0)

                bridge.Attack(serial);

            return serial;

        }

InjectionScript.Runtime.InjectionApiUO.CompactWaitGump

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

Paramètres: InjectionValue[] values

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

private int CompactWaitGump(InjectionValue[] values)

Résultat: int.

Conditions:

  • values == null || values.Length == 0
  • bridge is IApiGumpAutomation automation
  • value.Kind == InjectionValueKind.Array
  • CompactWaitGump(value.Array) == 0

Appels:

  • CollectGumpButtons

  • automation.QueueGumpButtons

  • buttons.ToArray

  • CompactWaitGump

  • (value.String ?? string.Empty).Contains

  • `(value.String ?? string.Empty)

                      .Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)
    
                      .Select(part => new InjectionValue(part.Trim())).ToArray`
    
  • `(value.String ?? string.Empty)

                      .Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)
    
                      .Select`
    
  • `(value.String ?? string.Empty)

                      .Split`
    
  • part.Trim

  • NumberConversions.ToInt

  • bridge.WaitGumpSelect

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

private int CompactWaitGump(InjectionValue[] values)

        {

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

                throw new NativeSubrutineException("UO.WaitGump requires at least one trigger/button id.");



            if (bridge is IApiGumpAutomation automation)

            {

                var buttons = new List<int>();

                CollectGumpButtons(values, buttons);

                automation.QueueGumpButtons(buttons.ToArray());

                return 1;

            }



            foreach (InjectionValue value in values)

            {

                if (value.Kind == InjectionValueKind.Array)

                {

                    if (CompactWaitGump(value.Array) == 0)

                        return 0;

                    continue;

                }



                if (value.Kind == InjectionValueKind.String

                    && ((value.String ?? string.Empty).Contains('|') || (value.String ?? string.Empty).Contains(',')))

                {

                    InjectionValue[] nested = (value.String ?? string.Empty)

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

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

                    if (CompactWaitGump(nested) == 0)

                        return 0;

                    continue;

                }



                int triggerId = NumberConversions.ToInt(value);

                if (bridge.WaitGumpSelect(triggerId, 30_000) == 0)

                    return 0;

            }

            return 1;

        }

InjectionScript.Runtime.InjectionApiUO.ConvertLayer

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

Paramètres: string layer

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

private int ConvertLayer(string layer)

Résultat: int.

Conditions:

  • layerNameToNumber.TryGetValue((layer ?? string.Empty).Trim(), out int value)

Appels:

  • layerNameToNumber.TryGetValue
  • (layer ?? string.Empty).Trim

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

private int ConvertLayer(string layer)

        {

            if (layerNameToNumber.TryGetValue((layer ?? string.Empty).Trim(), out int value))

                return value;

            throw new NativeSubrutineException($"Unknown equipment layer '{layer}'. Use a documented layer such as Rhand, Lhand, Helmet, Necklace, Backpack, Robe, Legs, or Mount.");

        }

InjectionScript.Runtime.InjectionApiUO.ConvertMoveDestination

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

Paramètres: InjectionValue containerId

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

private int ConvertMoveDestination(InjectionValue containerId)

Résultat: int.

Conditions:

  • containerId.Kind != InjectionValueKind.String && containerId.Kind != InjectionValueKind.Integer

Appels:

  • NumberConversions.TryStr2Int
  • .Trim
  • ResolveTransferDestination

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

private int ConvertMoveDestination(InjectionValue containerId)

        {

            if (containerId.Kind != InjectionValueKind.String && containerId.Kind != InjectionValueKind.Integer)

                throw new NativeSubrutineException("A move destination must be an object name or serial ID.");

            // Preserve the legacy -1 backpack selector. Resolve names before

            // lifting: a misspelled or unset container must never become ground.

            bool backpack = containerId.Kind == InjectionValueKind.Integer

                ? containerId.Integer == -1

                : NumberConversions.TryStr2Int(containerId.String?.Trim() ?? string.Empty, out int literal) && literal == -1;

            return ResolveTransferDestination(backpack ? new InjectionValue("backpack") : containerId, allowGround: true);

        }

InjectionScript.Runtime.InjectionApiUO.Count

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

Paramètres: InjectionValue type

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

public int Count(InjectionValue type)

Résultat: int.

Appels:

  • Count
  • ResolveType

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

public int Count(InjectionValue type) 

            => Count(ResolveType(type), -1, -1);

InjectionScript.Runtime.InjectionApiUO.DeleteJournal

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

Paramètres: string text

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

public void DeleteJournal(string text)

Résultat: void.

Appels:

  • bridge.DeleteJournal
  • SelectJournalEntry

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

public void DeleteJournal(string text)

        {

            bridge.DeleteJournal(text);

            SelectJournalEntry(null);

        }

InjectionScript.Runtime.InjectionApiUO.DeleteObject

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

Paramètres: string name

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

public void DeleteObject(string name)

Résultat: void.

Conditions:

  • objects.TryGet(name, out int value)

Appels:

  • objects.TryGet
  • objects.Remove
  • SystemMessage

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

public void DeleteObject(string name)

        {

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

            {

                objects.Remove(name);

                SystemMessage($"Object {name} has been deleted");

            }

            else

                SystemMessage($"Object {name} not found");

        }

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text

Renvoie la valeur de l’expression ci-dessous.

Paramètres: index

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

string Text(int index)

Résultat: string.

Résultat: index < arguments.Length ? arguments[index].ToString() : string.Empty.

Appels: arguments[index].ToString.

Appels:

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

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

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

Résultat: InjectionValue.Unit.

Appels:

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

case "addtojournal":

                case "addtosystemjournal":

                case "clientprint":

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

Résultat: InjectionValue.Unit.

Appels:

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

case "autobuyex":

                    bridge.SetAutoBuyRule(Arg(0), Arg(1), Arg(2), Arg(3), Text(4)); 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:1550.

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

Appels:

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

case "canceltrade": return new InjectionValue(bridge.CancelTrade(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:1306.

Résultat: InjectionValue.Unit.

Appels:

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

case "connect": bridge.ConnectClient(); 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:1565.

Appels:

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

case "dist": return new InjectionValue(arguments.Length >= 4

                    ? GetDistance(Arg(0), Arg(1), Arg(2), Arg(3))

                    : bridge.GetDistance(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:1627.

Résultat: new InjectionValue(ChangeEquipmentItems(ArrayArg(0), true)).

Appels:

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

case "equipitems":

                    return new InjectionValue(ChangeEquipmentItems(ArrayArg(0), 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:2005.

new []

Résultat: [].

Appels:

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

case "extendedinfo":

                    return new InjectionValue(new[] { new InjectionValue(bridge.ClientPath), new InjectionValue(bridge.CurrentProfilePath), new InjectionValue(bridge.GameServerAddress), new InjectionValue(bridge.GameServerPort) });

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

Résultat: new InjectionValue(bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0)).

Appels:

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

case "findtypeex": return new InjectionValue(bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 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:1587.

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

Appels:

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

case "getactiveability": return new InjectionValue(bridge.GetActiveAbility());

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

Résultat: StringArray(bridge.GetMenuItems(Text(0), false)).

Appels:

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

case "getmenuitems": return StringArray(bridge.GetMenuItems(Text(0), false));

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

Résultat: InjectionValue.Unit.

Appels:

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

case "globalchatsendmsg": bridge.GlobalChatSend(Text(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:1273.

Résultat: new InjectionValue(InJournal(Text(0))).

Appels:

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

case "injournal": return new InjectionValue(InJournal(Text(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:2043.

Résultat: new InjectionValue(selectedJournalEntry?.Color ?? 0).

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

case "linetextcolor":

                    return new InjectionValue(selectedJournalEntry?.Color ?? 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:1534.

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

Appels:

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

case "predictedy": return new InjectionValue(ReadPredictedCoordinate(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:1594.

Résultat: InjectionValue.Unit.

Appels:

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

case "requestcontextmenu": bridge.RequestContextMenu(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:1357.

Résultat: InjectionValue.Unit.

Appels:

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

case "setsilentmode": state.SilentMode = Arg(0) != 0 ? 1 : 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:1655.

Résultat: InjectionValue.Unit.

Appels:

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

case "setwarmode": WarMode(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:1295.

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

Appels:

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

case "targetid": return new InjectionValue(bridge.GetTargetCursorId());

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

Résultat: InjectionValue.Unit.

Appels:

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

case "useobject": bridge.UseObject(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:1681.

Résultat: InjectionValue.Unit.

Appels:

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

case "usesecondaryability": bridge.UseSecondaryAbility(); 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:1642.

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

Appels:

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

case "waitfortarget": return new InjectionValue(bridge.WaitUntilTargeting(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:1369.

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

Appels:

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

case "weight": return new InjectionValue(bridge.Weight);

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

Appels:

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

case "adddir":

                case "addfindlist":

                case "addgate":

                case "addrecall":

                case "addstep":

                    LegacyList(name).Add(string.Join("|", arguments.Select(value => value.ToString())));

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

Appels:

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

case "cancelmenu": bridge.ClearMenuHooks(); 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:2858.

Conditions: arguments.Length == 0.

Appels:

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

case "clearfindlist":

                    if (arguments.Length == 0) LegacyList("AddFindList").Clear();

                    else LegacyList("AddFindList").RemoveAll(value => value.Split('|')[0]

                        .Equals(Text(0), StringComparison.OrdinalIgnoreCase));

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

Appels:

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

case "closeuo": bridge.CloseHandle(); 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:2991.

Conditions: arguments.Length == 0.

Appels:

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

case "massmove":

                    if (arguments.Length == 0) bridge.MassMove(-1, 0, 0, -1, -1, -1, 0);

                    else bridge.MassMove(NumberConversions.ToInt(arguments[0]),

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

                        arguments.Length > 2 ? ResolveType(arguments[2]) : 0,

                        arguments.Length > 3 ? ResolveTransferDestination(arguments[3], true) : -1,

                        arguments.Length > 4 ? NumberConversions.ToInt(arguments[4]) : -1,

                        arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1,

                        arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : 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:3001.

Conditions: arguments.Length == 0.

Appels:

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

case "masspricemove":

                    if (arguments.Length == 0) bridge.MassPriceMove(-1, 0, 0, 0, -1, -1, -1, 0);

                    else bridge.MassPriceMove(NumberConversions.ToInt(arguments[0]),

                        NumberConversions.ToInt(arguments[1]), ResolveType(arguments[2]),

                        NumberConversions.ToInt(arguments[3]),

                        arguments.Length > 4 ? ResolveTransferDestination(arguments[4], true) : -1,

                        arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1,

                        arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : -1,

                        arguments.Length > 7 ? NumberConversions.ToInt(arguments[7]) : 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:3020.

Appels:

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

case "resend": bridge.Resync(); break;

InjectionScript.Runtime.InjectionApiUO.Exists

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

Paramètres: int id

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

public int Exists(int id)

Résultat: int.

Appels:

  • bridge.Exists

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

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

InjectionScript.Runtime.InjectionApiUO.GetLandTileAt

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

Paramètres: InjectionValue x, InjectionValue y

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

public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y)

Résultat: InjectionValue.

Appels:

  • GetLandTileAt

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

public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y)

            => GetLandTileAt(x, y, new InjectionValue(bridge.WorldNumber));

InjectionScript.Runtime.InjectionApiUO.GetObject

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

Paramètres: string name

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

public int GetObject(string name)

Résultat: int.

Conditions:

  • !TryGetObject(name, out int id)

Appels:

  • TryGetObject

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

public int GetObject(string name)

        {

            if (!TryGetObject(name, out int id))

                return 0;



            return id;

        }

InjectionScript.Runtime.InjectionApiUO.GetTileName

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

Paramètres: InjectionValue group, InjectionValue tileId

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

public string GetTileName(InjectionValue group, InjectionValue tileId)

Résultat: string.

Appels:

  • bridge.GetTileDataName
  • NumberConversions.ToInt

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

public string GetTileName(InjectionValue group, InjectionValue tileId)

            => bridge.GetTileDataName(NumberConversions.ToInt(group), NumberConversions.ToInt(tileId));

InjectionScript.Runtime.InjectionApiUO.GetUserStatic

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

Paramètres: InjectionValue id

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

public string GetUserStatic(InjectionValue id)

Résultat: string.

Appels:

  • state.UserStatics.TryGetValue
  • NumberConversions.ToInt

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

public string GetUserStatic(InjectionValue id)

            => state.UserStatics.TryGetValue(NumberConversions.ToInt(id), out string value) ? value : string.Empty;

InjectionScript.Runtime.InjectionApiUO.GetY

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

Paramètres: string id

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

public int GetY(string id)

Résultat: int.

Appels:

  • GetY
  • GetObject

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

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

InjectionScript.Runtime.InjectionApiUO.Hidden

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

Paramètres: Aucun paramètre.

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

public int Hidden()

Résultat: int.

Appels:

  • Hidden

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

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

InjectionScript.Runtime.InjectionApiUO.Ignore

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

Paramètres: int id

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

public void Ignore(int id)

Résultat: void.

Appels:

  • bridge.Ignore

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

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

InjectionScript.Runtime.InjectionApiUO.InJournal

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

Paramètres: string pattern, int maxLinesOrIgnoreCase

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

public int InJournal(string pattern, int maxLinesOrIgnoreCase)

Résultat: int.

Appels:

  • InJournalCore
  • Math.Max

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

public int InJournal(string pattern, int maxLinesOrIgnoreCase)

            => InJournalCore(pattern,

                maxLinesOrIgnoreCase == -1 ? -1 : Math.Max(0, maxLinesOrIgnoreCase),

                ignoreCase: maxLinesOrIgnoreCase == -1);

InjectionScript.Runtime.InjectionApiUO.IsHumanBody

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

Paramètres: int graphic

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

private static bool IsHumanBody(int graphic)

Résultat: bool.

Appels:

—

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

private static bool IsHumanBody(int graphic) => graphic == 0x0190 || graphic == 0x0191

            || graphic == 0x0192 || graphic == 0x0193 || graphic == 0x025D || graphic == 0x025E

            || graphic == 0x025F || graphic == 0x0260 || graphic == 0x029A || graphic == 0x029B

            || graphic == 0x02B6 || graphic == 0x02B7;

InjectionScript.Runtime.InjectionApiUO.IsTreeTile

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

Paramètres: InjectionValue x, InjectionValue y

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

public int IsTreeTile(InjectionValue x, InjectionValue y)

Résultat: int.

Appels:

  • bridge.IsTreeTile
  • NumberConversions.ToInt

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

public int IsTreeTile(InjectionValue x, InjectionValue y) => bridge.IsTreeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y));

InjectionScript.Runtime.InjectionApiUO.JournalEntryTime

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

Paramètres: int index

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

private int JournalEntryTime(int index)

Résultat: int.

Appels:

  • JournalEntryTime
  • bridge.JournalTimestamp

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

private int JournalEntryTime(int index)

            => JournalEntryTime(bridge.JournalTimestamp(index));

InjectionScript.Runtime.InjectionApiUO.Morph

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

Paramètres: int type

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

public void Morph(int type)

Résultat: void.

Appels:

  • bridge.Morph
  • Timer

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

public void Morph(int type)

        {

            bridge.Morph(type);

            ticksAnim = Timer();

        }

InjectionScript.Runtime.InjectionApiUO.MoveItemChecked

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

Paramètres: int id, int amount, int targetContainer, int x, int y, int z

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

private bool MoveItemChecked(int id, int amount, int targetContainer, int x, int y, int z)

Résultat: bool.

Conditions:

  • id == 0
  • targetContainer == 0 && state.DropCheckCoord != 0
  • Math.Max(Math.Abs(x - playerX), Math.Abs(y - playerY)) > 2

Appels:

  • bridge.GetX
  • bridge.GetY
  • Math.Max
  • Math.Abs
  • SystemMessage
  • bridge.MoveItem

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

private bool MoveItemChecked(int id, int amount, int targetContainer, int x, int y, int z)

        {

            if (id == 0)

                return false;

            if (targetContainer == 0 && state.DropCheckCoord != 0)

            {

                int playerX = bridge.GetX(bridge.Self);

                int playerY = bridge.GetY(bridge.Self);

                if (Math.Max(Math.Abs(x - playerX), Math.Abs(y - playerY)) > 2)

                {

                    SystemMessage("Drop cancelled: destination is more than 2 tiles away (DropCheckCoord is enabled).");

                    return false;

                }

            }



            return bridge.MoveItem(id, amount, targetContainer, x, y, z) != 0;

        }

InjectionScript.Runtime.InjectionApiUO.NormalizeApiName

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

Paramètres: string name

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

private static string NormalizeApiName(string name)

Résultat: string.

Appels:

  • (name ?? string.Empty).Trim

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

private static string NormalizeApiName(string name)

        {

            return (name ?? string.Empty).Trim();

        }

InjectionScript.Runtime.InjectionApiUO.RDblClick

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

Paramètres: int x, int y

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

public void RDblClick(int x, int y)

Résultat: void.

Appels:

  • bridge.RDblClick

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

public void RDblClick(int x, int y) => bridge.RDblClick(x, y);

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases::AddText

Ces fonctions enregistrent l’API. Elles ne sont pas exécutées à nouveau pour chaque appel de commande.

Paramètres: getter, names

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

void AddText(Func<string> getter, params string[] names)

Résultat: void.

Appels: metadata.NativeSubrutineExists, metadata.Add, metadata.IntrinsicVariableExists, metadata.AddIntrinsicVariable.

Conditions: !metadata.NativeSubrutineExists(name, 0); !metadata.IntrinsicVariableExists(name).

Appels:

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

void AddText(Func<string> getter, params string[] names)

            {

                foreach (string shortName in names)

                {

                    string name = "UO." + shortName;

                    if (!metadata.NativeSubrutineExists(name, 0))

                        metadata.Add(new NativeSubrutineDefinition(name, getter));

                    if (!metadata.IntrinsicVariableExists(name))

                        metadata.AddIntrinsicVariable(new NativeSubrutineDefinition(name, getter));

                }

            }

InjectionScript.Runtime.InjectionApiUO.ResolveCompactDistance

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

Paramètres: InjectionValue value

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

private int ResolveCompactDistance(InjectionValue value)

Résultat: int.

Appels:

  • NumberConversions.ToInt
  • bridge.GetFindDistance
  • Math.Max

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

private int ResolveCompactDistance(InjectionValue value)

        {

            int parsed = NumberConversions.ToInt(value);

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

        }

InjectionScript.Runtime.InjectionApiUO.SetArm

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

Paramètres: string name

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

public void SetArm(string name)

Résultat: void.

Appels:

  • SetEquip

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

public void SetArm(string name)

            => SetEquip(name, armSets, weaponLayers, "Arm set.");

InjectionScript.Runtime.InjectionApiUO.SetEvent

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

Paramètres: InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler

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

public void SetEvent(InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler)

Résultat: void.

Conditions:

  • !string.IsNullOrWhiteSpace(raw) && !NumberConversions.TryStr2Int(raw, out _)

Appels:

  • repeatOrHandler.ToString
  • string.IsNullOrWhiteSpace
  • NumberConversions.TryStr2Int
  • SetEvent

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

public void SetEvent(InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler)

        {

            string raw = repeatOrHandler.ToString() ?? string.Empty;

            if (!string.IsNullOrWhiteSpace(raw) && !NumberConversions.TryStr2Int(raw, out _))

                SetEvent(name, stateValue, InjectionValue.True, repeatOrHandler);

            else

                SetEvent(name, stateValue, repeatOrHandler, new InjectionValue(string.Empty));

        }

InjectionScript.Runtime.InjectionApiUO.SetJournalLine

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

Paramètres: int index

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

public void SetJournalLine(int index)

Résultat: void.

Appels:

  • bridge.SetJournalLine

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

public void SetJournalLine(int index) => bridge.SetJournalLine(index);

InjectionScript.Runtime.InjectionApiUO.Terminate

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

Paramètres: Aucun paramètre.

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

public void Terminate()

Résultat: void.

Appels:

  • bridge.Terminate

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

public void Terminate() => bridge.Terminate(string.Empty);

InjectionScript.Runtime.InjectionApiUO.Terminate

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

Paramètres: string subrutineName

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

public void Terminate(string subrutineName)

Résultat: void.

Appels:

  • bridge.Terminate

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

public void Terminate(string subrutineName) => bridge.Terminate(subrutineName);

InjectionScript.Runtime.InjectionApiUO.TextOpen

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

Paramètres: Aucun paramètre.

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

public void TextOpen()

Résultat: void.

Appels:

  • bridge.TextOpen

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

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

InjectionScript.Runtime.InjectionApiUO.Track

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

Paramètres: InjectionValue flag

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

public void Track(InjectionValue flag)

Résultat: void.

Appels:

  • Track
  • NumberConversions.ToInt
  • GetX
  • GetY

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

public void Track(InjectionValue flag) => Track(NumberConversions.ToInt(flag), GetX(), GetY());

InjectionScript.Runtime.InjectionApiUO.TradeCheck

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

Paramètres: InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue

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

public int TradeCheck(InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue)

Résultat: int.

Appels:

  • bridge.TradeCheck
  • NumberConversions.ToInt

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

public int TradeCheck(InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue)

            => bridge.TradeCheck(NumberConversions.ToInt(windowIndex), NumberConversions.ToInt(checkbox), NumberConversions.ToInt(stateValue), true);

InjectionScript.Runtime.InjectionApiUO.Unequip

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

Paramètres: int[] supportedLayers, string successMessage

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

private int Unequip(int[] supportedLayers, string successMessage)

Résultat: int.

Conditions:

  • bridge.ObjAtLayer(layer) != 0
  • state.DressSpeed > 0

Appels:

  • bridge.ObjAtLayer
  • bridge.Unequip
  • injectionApi.Wait
  • SystemMessage

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

private int Unequip(int[] supportedLayers, string successMessage)

        {

            bool success = true;

            foreach (var layer in supportedLayers)

            {

                if (bridge.ObjAtLayer(layer) != 0)

                {

                    success &= bridge.Unequip(layer) != 0;

                    if (state.DressSpeed > 0)

                        injectionApi.Wait(state.DressSpeed);

                }

            }



            SystemMessage(success ? successMessage : "Some equipment could not be removed.");

            return success ? 1 : 0;

        }

InjectionScript.Runtime.InjectionApiUO.UnsetReceivingContainer

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

Paramètres: Aucun paramètre.

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

public void UnsetReceivingContainer()

Résultat: void.

Appels:

  • bridge.UnsetReceivingContainer

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

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

InjectionScript.Runtime.InjectionApiUO.UseObject

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

Paramètres: string id

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

public void UseObject(string id)

Résultat: void.

Appels:

  • UseObject
  • GetObject

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

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

InjectionScript.Runtime.InjectionApiUO.UseType

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

Paramètres: int type, int color

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

public int UseType(int type, int color)

Résultat: int.

Appels:

  • CompactUseType

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

public int UseType(int type, int color) => CompactUseType(new[]

        {

            new InjectionValue(type),

            new InjectionValue(color)

        });

InjectionScript.Runtime.InjectionApiUO.WaitingForJournalText

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

Paramètres: int startTime, int maxDelay, string text

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

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

Résultat: void.

Appels:

  • WaitingForJournalText

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

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

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

InjectionScript.Runtime.InjectionApiUO.WaitingForMenu

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

Paramètres: InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial

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

public int WaitingForMenu(InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial)

Résultat: int.

Conditions:

  • identity.Length == 0
  • !identity.Equals(previousIdentity, StringComparison.Ordinal)
  • observedMenuCount >= requiredMenuCount && nameMatches
  • blockMenu

Appels:

  • Math.Max
  • NumberConversions.ToInt
  • menuNameValue.ToString
  • timeSource.Now.AddMilliseconds
  • TriggerWaitAction
  • bridge.GetLastMenuIdentity
  • identity.Equals
  • bridge.GetLastMenuCaption
  • caption.Equals
  • bridge.CloseMenu
  • bridge.Wait
  • Math.Min

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

public int WaitingForMenu(InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial)

        {

            int delay = Math.Max(0, NumberConversions.ToInt(delayValue));

            int requiredMenuCount = Math.Max(1, NumberConversions.ToInt(menuCountValue));

            bool blockMenu = NumberConversions.ToInt(blockMenuValue) != 0;

            string expectedName = menuNameValue.ToString() ?? string.Empty;

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

            string previousIdentity = string.Empty;

            int observedMenuCount = 0;



            TriggerWaitAction(skillOrSerial);



            do

            {

                string identity = bridge.GetLastMenuIdentity() ?? string.Empty;

                if (identity.Length == 0)

                {

                    // Reset between server menus so an identical menu opened again

                    // still counts as a new appearance.

                    previousIdentity = string.Empty;

                }

                else if (!identity.Equals(previousIdentity, StringComparison.Ordinal))

                {

                    previousIdentity = identity;

                    observedMenuCount++;

                    string caption = bridge.GetLastMenuCaption() ?? string.Empty;

                    bool nameMatches = expectedName.Length == 0

                        || caption.Equals(expectedName, StringComparison.Ordinal);

                    if (observedMenuCount >= requiredMenuCount && nameMatches)

                    {

                        if (blockMenu)

                            bridge.CloseMenu();

                        return 1;

                    }

                }



                if (timeSource.Now >= deadline)

                    break;

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

            }

            while (true);



            return 0;

        }

InjectionScript.Runtime.InjectionApiUO.WaitingMenu

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

Paramètres: Aucun paramètre.

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

public int WaitingMenu()

Résultat: int.

Appels:

  • bridge.WaitingMenu

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

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

InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindMan]

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

values

Résultat: values.

Résultat: new InjectionValue(CompactFindMan(values)).

Appels: CompactFindMan.

Appels:

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

values => new InjectionValue(CompactFindMan(values))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetFollowersMax]

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

Résultat: bridge.FollowersMax.

Appels:

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

() => bridge.FollowersMax

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetIntelligence]

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

Résultat: bridge.Intelligence.

Appels:

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

() => bridge.Intelligence

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetStamina]

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

Résultat: bridge.Stamina.

Appels:

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

() => bridge.Stamina

InjectionScript.Runtime.InjectionApiUO.Register [SkillVal]

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

values

Résultat: values.

Résultat: new InjectionValue(SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1]))).

Appels: SkillVal, values[0].ToString, NumberConversions.ToInt.

Appels:

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

values => new InjectionValue(SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1])))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Stamina]

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

Résultat: bridge.Stamina.

Appels:

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

() => bridge.Stamina

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Strength]

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

value

Résultat: value.

Résultat: getter(GetObject(value)).

Appels: getter, GetObject.

Appels:

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

value => getter(GetObject(value))

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

value

Résultat: value.

Résultat: getter(GetObject(value)).

Appels: getter, GetObject.

Appels:

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

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionRuntime.CallNativeSubrutine

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

Paramètres: string name, params InjectionValue[] args

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeConsoleDispatch.cs:358.

private void CallNativeSubrutine(string name, params InjectionValue[] args)

Résultat: void.

Conditions:

  • !Metadata.TryGetNativeSubrutine("UO." + name, args, out var nativeSubrutine)
  • result.Kind != InjectionValueKind.Unit && name.IndexOf("Info", StringComparison.OrdinalIgnoreCase) < 0

Appels:

  • Checkpoint
  • Metadata.TryGetNativeSubrutine
  • nativeSubrutine.Call
  • name.IndexOf
  • bridge.Print
  • result.ToString

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

private void CallNativeSubrutine(string name, params InjectionValue[] args)

        {

            Checkpoint();

            if (!Metadata.TryGetNativeSubrutine("UO." + name, args, out var nativeSubrutine))

                throw new NativeSubrutineException($"Native UO command '{name}' with {args.Length} argument(s) was not found.");

            InjectionValue result = nativeSubrutine.Call(args);

            if (result.Kind != InjectionValueKind.Unit && name.IndexOf("Info", StringComparison.OrdinalIgnoreCase) < 0)

                bridge.Print(result.ToString());

            Checkpoint();

        }

InjectionScript.Runtime.InjectionRuntime.Exec

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

Paramètres: string parameters

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeConsoleDispatch.cs:10.

public void Exec(string parameters)

Résultat: void.

Conditions:

  • parts.Length == 0
  • command.StartsWith("UO.", StringComparison.OrdinalIgnoreCase)
  • command.Equals("exec", StringComparison.OrdinalIgnoreCase)
  • parts.Length != 2 || string.IsNullOrWhiteSpace(parts[1].Text)

Appels:

  • Tokenize(parameters).ToArray

  • Tokenize

  • command.StartsWith

  • command.Substring

  • command.Equals

  • string.IsNullOrWhiteSpace

  • bridge.Exec

  • parts.Skip(1).ToArray

  • parts.Skip

  • NormalizeCompoundConsoleAlias

  • arguments.Select(token => token.Text).ToArray

  • arguments.Select

  • TryHandleLegacyConsoleCommand

  • NormalizeConsoleAlias

  • IsRemainderTextCommand

  • string.Join

  • rawArguments.Skip

  • `arguments.Select(token => token.Quoted

              ? new InjectionValue(token.Text) : ToConsoleValue(token.Text)).ToArray`
    
  • ToConsoleValue

  • CallNativeSubrutine

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

public void Exec(string parameters)

        {

            ConsoleToken[] parts = Tokenize(parameters).ToArray();

            if (parts.Length == 0)

                return;



            string command = parts[0].Text;

            if (command.StartsWith("UO.", StringComparison.OrdinalIgnoreCase)) command = command.Substring(3);

            if (command.Equals("exec", StringComparison.OrdinalIgnoreCase))

            {

                if (parts.Length != 2 || string.IsNullOrWhiteSpace(parts[1].Text))

                    throw new NativeSubrutineException("Usage: exec script_function");

                bridge.Exec(parts[1].Text);

                return;

            }



            ConsoleToken[] arguments = parts.Skip(1).ToArray();

            (command, arguments) = NormalizeCompoundConsoleAlias(command, arguments);

            string[] rawArguments = arguments.Select(token => token.Text).ToArray();

            if (TryHandleLegacyConsoleCommand(command, rawArguments))

                return;



            command = NormalizeConsoleAlias(command);

            if (IsRemainderTextCommand(command) && rawArguments.Length > 0)

                arguments = new[] { new ConsoleToken(string.Join(" ", rawArguments), true) };

            else if (command.Equals("ColorPrint", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 1)

                arguments = new[] { arguments[0], new ConsoleToken(string.Join(" ", rawArguments.Skip(1)), true) };

            else if (command.Equals("CharPrint", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 2)

                arguments = new[] { arguments[0], arguments[1], new ConsoleToken(string.Join(" ", rawArguments.Skip(2)), true) };

            else if (command.Equals("SetGlobal", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 2)

                // Chat parameters are space-separated.  Preserve a human-readable

                // global value after its key without forcing the player to quote it.

                arguments = new[] { arguments[0], new ConsoleToken(string.Join(" ", rawArguments.Skip(1)), true) };



            InjectionValue[] args = arguments.Select(token => token.Quoted

                ? new InjectionValue(token.Text) : ToConsoleValue(token.Text)).ToArray();

            CallNativeSubrutine(command, args);

        }

InjectionScript.Runtime.InjectionValue.ToString

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

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionValue.cs:405.

public override string ToString()

Résultat: string.

Appels:

  • Integer.ToString
  • Decimal.ToString
  • FormatArray

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

public override string ToString()

        {

            switch (Kind)

            {

                case InjectionValueKind.Unit:

                    return "<unit>";

                case InjectionValueKind.Integer:

                    return Integer.ToString(System.Globalization.CultureInfo.InvariantCulture);

                case InjectionValueKind.String:

                    return String;

                case InjectionValueKind.Decimal:

                    return Decimal.ToString(System.Globalization.CultureInfo.InvariantCulture);

                case InjectionValueKind.Array:

                    return FormatArray(Array, new HashSet<InjectionValue[]>(), 0);

                case InjectionValueKind.Object:

                    return Object?.Name ?? string.Empty;

                default:

                    throw new InvalidOperationException($"Unknown InjectionValue kind {Kind}.");

            }

        }

InjectionScript.Runtime.NumberConversions.ToHex

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

Paramètres: short id

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NumberConversions.cs:80.

public static string ToHex(short id)

Résultat: string.

Appels:

—

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

public static string ToHex(short id) => $"0x{id:X4}";

InjectionScript.Runtime.ObjectTypes.MemoryStreamObject.ReplaceBytes

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

Paramètres: byte[] bytes

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/ObjectTypes/MemoryStreamObject.cs:26.

internal void ReplaceBytes(byte[] bytes)

Résultat: void.

Conditions:

  • bytes == null

Appels:

  • stream.SetLength
  • Array.Empty<byte>
  • stream.Write

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

internal void ReplaceBytes(byte[] bytes)
        {
            stream.SetLength(0);
            stream.Position = 0;
            if (bytes == null)
                bytes = Array.Empty<byte>();
            stream.Write(bytes, 0, bytes.Length);
            stream.Position = 0;
        }

InjectionScript.Runtime.State.Globals.GetGlobal

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

Paramètres: string name

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/Globals.cs:45.

public string GetGlobal(string name)

Résultat: string.

Appels:

  • GetGlobalShared

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

public string GetGlobal(string name) => GetGlobalShared(name);

InjectionScript.Runtime.State.NamedIgnoreLists.RequireName

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

Paramètres: string name

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedIgnoreLists.cs:115.

private static string RequireName(string name)

Résultat: string.

Conditions:

  • string.IsNullOrWhiteSpace(name)

Appels:

  • string.IsNullOrWhiteSpace
  • nameof
  • name.Trim

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

private static string RequireName(string name)
        {
            if (string.IsNullOrWhiteSpace(name)) throw new ArgumentException("Ignore list name must not be empty.", nameof(name));
            return name.Trim();
        }

ClassicUO.Game.Managers.NativeMountController.Request

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

Paramètres: World world, uint target, bool mount, Action<uint> sendUse, long now

Source: Project_Full/src/ClassicUO.Client/Game/Managers/NativeMountController.cs:25.

internal bool Request(World world, uint target, bool mount, Action<uint> sendUse, long now)

Résultat: bool.

Conditions:

  • player == null || player.IsDestroyed || player.IsDead || !world.InGame
  • _pendingPlayer != null
  • !ReferenceEquals(_pendingPlayer, player) || layerSerial != _pendingLayer || now >= _pendingUntil
  • mount

Appels:

  • Clear
  • player.FindItemByLayer
  • ReferenceEquals
  • world.Get
  • Math.Max
  • Math.Abs
  • IsCarriedBy
  • sendUse

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

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

internal bool Request(World world, uint target, bool mount, Action<uint> sendUse, long now)
        {
            PlayerMobile player = world?.Player;
            if (player == null || player.IsDestroyed || player.IsDead || !world.InGame)
            {
                Clear();
                return false;
            }
// …
            if (_pendingPlayer != null)
// …
                if (!ReferenceEquals(_pendingPlayer, player) || layerSerial != _pendingLayer
// …
                    return false;
// …
            if (mount)
// …
                if (layerSerial != 0 || target == 0 || target == player.Serial)
                    return false;
// …
                if (entity == null || entity.IsDestroyed)
                    return false;
                if (entity is Mobile mobile)
// …
                    if (mobile.IsDead || Math.Max(Math.Abs((int)mobile.X - player.X),
// …
                        return false;
// …
                else if (entity is Item item)
// …
                    if (!IsCarriedBy(world, item, player.Serial))
                        return false;
// …
                    return false;
// …
                if (layerSerial == 0 || layer.Graphic == 0x3E96)
                    return false;
// …
            }

            sendUse(target);
            _pendingPlayer = player;
            _pendingLayer = layerSerial;
            _pendingUntil = now + ConfirmationTimeoutMilliseconds;
            return true;
        }
⚠️ **GitHub.com Fallback** ⚠️