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

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

Funzioni ausiliarie 6

Codice interno di implementazione; non è uno script autonomo.

ClassicUO.CSharp.CSharpCallbacks.Remove

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Listener listener

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

private void Remove(Listener listener)

Risultato: void.

Condizioni:

  • listener.Closed

Chiamate:

  • listeners.Remove
  • listener.Source.Dispose

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.CSharp.CSharpCallbacks.RemoveState

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string name

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

private void RemoveState(string name)

Risultato: void.

Chiamate:

  • stateEvents.Remove
  • .Dispose

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.CSharp.CSharpExecutionScope.VerifyActive

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

internal static void VerifyActive()

Risultato: void.

Condizioni:

  • CurrentFinalization.Value?.IsActive == true

Chiamate:

  • .Verify

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string value

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

private static string EncodePathSegment(string value)

Risultato: string.

Condizioni:

  • 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'`
    

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void ActivateHandle()

Risultato: void.

Chiamate:

  • Invoke
  • SDL3.SDL.SDL_RaiseWindow
  • RequireGameView

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AddChatUserIgnore

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string name

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

public void AddChatUserIgnore(string name)

Risultato: void.

Chiamate:

  • Invoke
  • JournalManager.AddYokoIgnoredUser

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AddMenuHook

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string caption, string item, bool persistent

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

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

Risultato: void.

Chiamate:

  • Invoke
  • _manager.AddMenuHook

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseClientWindow

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int uiWindowType, int id

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

public void CloseClientWindow(int uiWindowType, int id)

Risultato: void.

Condizioni:

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

Chiamate:

  • 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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int tradeNumber

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

public int ConfirmTrade(int tradeNumber)

Risultato: int.

Condizioni:

  • gump == null
  • !gump.ImAccepting

Chiamate:

  • Invoke
  • FindNumberedTrade
  • GameActions.AcceptTrade

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int id

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

public int ContainerOf(int id)

Risultato: int.

Chiamate:

  • Invoke
  • _world.Items.Get

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DescribeControl

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Control control

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

private static string DescribeControl(Control control)

Risultato: string.

Condizioni:

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

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string subrutineName

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

public void Exec(string subrutineName)

Risultato: void.

Chiamate:

  • _manager.RunNamedProcedureFromScript

Codice interno di implementazione; non è uno script autonomo.

public void Exec(string subrutineName)

        {

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

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDropDelay

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int GetDropDelay()

Risultato: int.

Chiamate:

—

Codice interno di implementazione; non è uno script autonomo.

public int GetDropDelay() => State.GrabDelay;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFlags

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int id

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

public int GetFlags(int id)

Risultato: int.

Chiamate:

  • Invoke
  • _world.Get

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpCount

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int GetGumpCount()

Risultato: int.

Chiamate:

  • Invoke
  • ServerGumpsUnsafe

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpSerial

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int index

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

public int GetGumpSerial(int index)

Risultato: int.

Chiamate:

  • Invoke
  • ServerGumpsUnsafe().ElementAtOrDefault
  • ServerGumpsUnsafe

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetScriptPath

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int index

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

public string GetScriptPath(int index)

Risultato: string.

Chiamate:

  • _manager.GetScriptPath

Codice interno di implementazione; non è uno script autonomo.

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

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: buffer, offset, value

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

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

Risultato: void.

Codice interno di implementazione; non è uno script autonomo.

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

            {

                buffer[offset] = (byte)value;

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

            }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetWaitTargetQueue

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int[] GetWaitTargetQueue()

Risultato: int[].

Chiamate:

  • _manager.GetPendingTargetSerials

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalEntryCount

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int JournalEntryCount()

Risultato: int.

Chiamate:

  • Invoke

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalMatchCount

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int JournalMatchCount()

Risultato: int.

Chiamate:

—

Codice interno di implementazione; non è uno script autonomo.

public int JournalMatchCount() => _journalMatchCount;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastTarget

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int LastTarget

Risultato: int.

Chiamate:

  • Invoke

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastTile

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int[] LastTile()

Risultato: int[].

Chiamate:

  • Invoke

Codice interno di implementazione; non è uno script autonomo.

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

Restituisce il valore dell’espressione seguente.

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

Origine: 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)`

Risultato: int.

Chiamate: Invoke.

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int id, int delay

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

public void ReceiveObjectName(int id, int delay)

Risultato: void.

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void RequestVirtuesGump()

Risultato: void.

Condizioni:

  • _world.Player != null

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int gumpId

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

private Gump ResolveGumpUnsafe(int gumpId)

Risultato: Gump.

Condizioni:

  • gumpId == -1

Chiamate:

  • ServerGumpsUnsafe
  • gumps.LastOrDefault
  • gumps.FirstOrDefault

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int SelectContainer()

Risultato: int.

Chiamate:

  • SelectObject

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SendServerSpeech

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string command, string message

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

private void SendServerSpeech(string command, string message)

Risultato: void.

Chiamate:

  • Invoke
  • GameActions.Say
  • ReportStatus

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string path

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

public int StartScript(string path)

Risultato: int.

Chiamate:

  • _manager.StartScript

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ToClassicUOCastIndex

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int spellId

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

internal static int ToClassicUOCastIndex(int spellId)

Risultato: int.

Chiamate:

—

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TryMoveItemRequest

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int id, int amount, int destination, int x, int y, int z

Origine: 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)

Risultato: bool.

Chiamate:

  • TryMoveItemRequest

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int abilityId

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

public int UseAbility(int abilityId)

Risultato: int.

Condizioni:

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

Chiamate:

  • Invoke
  • GameActions.UsePrimaryAbility
  • GameActions.UseSecondaryAbility

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string scriptKey, string text

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

internal void AppendOutput(string scriptKey, string text)

Risultato: void.

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Action callback, CancellationToken cancellationToken

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

internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)

Risultato: void.

Chiamate:

  • InvokeOnGameThread
  • callback

Codice interno di implementazione; non è uno script autonomo.

internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)

        {

            InvokeOnGameThread(() =>

            {

                callback();

                return true;

            }, cancellationToken);

        }

ClassicUO.Game.Managers.YokoInjectionManager.PauseResumeScript

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int index

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

internal void PauseResumeScript(int index)

Risultato: void.

Condizioni:

  • script == null

Chiamate:

  • ElementAt
  • RunningScripts
  • script.ToggleManualPause
  • MarkRuntimeStateChanged

Codice interno di implementazione; non è uno script autonomo.

internal void PauseResumeScript(int index)

        {

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

            if (script == null)

                return;



            script.ToggleManualPause();

            MarkRuntimeStateChanged();

        }

ClassicUO.Game.Managers.YokoInjectionManager.SetStatus

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string text, string scriptKey = null

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

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

Risultato: void.

Condizioni:

  • !IsScriptPublicationCurrent(scriptKey)

Chiamate:

  • IsScriptPublicationCurrent
  • Volatile.Write
  • PublishStatus

Codice interno di implementazione; non è uno script autonomo.

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

        {

            if (!IsScriptPublicationCurrent(scriptKey))

                return;

            Volatile.Write(ref _statusPriority, 1);

            PublishStatus(text, scriptKey);

        }

ClassicUO.Game.SerialHelper.IsMobile

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: uint serial

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

public static bool IsMobile(uint serial)

Risultato: bool.

Chiamate:

—

Codice interno di implementazione; non è uno script autonomo.

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

ClassicUO.Game.World.ChangeSeason

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Season season, int music

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

public void ChangeSeason(Season season, int music)

Risultato: void.

Condizioni:

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

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string value,int wordIndex

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

private static string GetWord(string value,int wordIndex)

Risultato: string.

Chiamate:

  • GetWord

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApi.SplitWords

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string value,string delimiter

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

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

Risultato: string[].

Chiamate:

  • string.IsNullOrEmpty
  • value.Split

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int fromX, int fromY, int toX, int toY

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

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

Risultato: int.

Condizioni:

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

Chiamate:

  • Math.Sign

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue[] values

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

private int CompactAttackNearest(InjectionValue[] values)

Risultato: int.

Condizioni:

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

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue[] values

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

private int CompactWaitGump(InjectionValue[] values)

Risultato: int.

Condizioni:

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

Chiamate:

  • 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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string layer

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

private int ConvertLayer(string layer)

Risultato: int.

Condizioni:

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

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue containerId

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

private int ConvertMoveDestination(InjectionValue containerId)

Risultato: int.

Condizioni:

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

Chiamate:

  • NumberConversions.TryStr2Int
  • .Trim
  • ResolveTransferDestination

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue type

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

public int Count(InjectionValue type)

Risultato: int.

Chiamate:

  • Count
  • ResolveType

Codice interno di implementazione; non è uno script autonomo.

public int Count(InjectionValue type) 

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

InjectionScript.Runtime.InjectionApiUO.DeleteJournal

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string text

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

public void DeleteJournal(string text)

Risultato: void.

Chiamate:

  • bridge.DeleteJournal
  • SelectJournalEntry

Codice interno di implementazione; non è uno script autonomo.

public void DeleteJournal(string text)

        {

            bridge.DeleteJournal(text);

            SelectJournalEntry(null);

        }

InjectionScript.Runtime.InjectionApiUO.DeleteObject

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string name

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

public void DeleteObject(string name)

Risultato: void.

Condizioni:

  • objects.TryGet(name, out int value)

Chiamate:

  • objects.TryGet
  • objects.Remove
  • SystemMessage

Codice interno di implementazione; non è uno script autonomo.

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

Restituisce il valore dell’espressione seguente.

Parametri: index

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

string Text(int index)

Risultato: string.

Risultato: index < arguments.Length ? arguments[index].ToString() : string.Empty.

Chiamate: arguments[index].ToString.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "addtojournal":

                case "addtosystemjournal":

                case "clientprint":

                    SystemMessage(Text(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "autobuyex":

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "canceltrade": return new InjectionValue(bridge.CancelTrade(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "connect": bridge.ConnectClient(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: new InjectionValue(ChangeEquipmentItems(ArrayArg(0), true)).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "equipitems":

                    return new InjectionValue(ChangeEquipmentItems(ArrayArg(0), true));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

new []

Risultato: [].

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "findtypeex": return new InjectionValue(bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "globalchatsendmsg": bridge.GlobalChatSend(Text(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: new InjectionValue(InJournal(Text(0))).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "injournal": return new InjectionValue(InJournal(Text(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: new InjectionValue(selectedJournalEntry?.Color ?? 0).

Codice interno di implementazione; non è uno script autonomo.

case "linetextcolor":

                    return new InjectionValue(selectedJournalEntry?.Color ?? 0);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: new InjectionValue(ReadPredictedCoordinate(1)).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "predictedy": return new InjectionValue(ReadPredictedCoordinate(1));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "requestcontextmenu": bridge.RequestContextMenu(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "setsilentmode": state.SilentMode = Arg(0) != 0 ? 1 : 0; return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "setwarmode": WarMode(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "useobject": bridge.UseObject(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: InjectionValue.Unit.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "usesecondaryability": bridge.UseSecondaryAbility(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "waitfortarget": return new InjectionValue(bridge.WaitUntilTargeting(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Risultato: new InjectionValue(bridge.Weight).

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "cancelmenu": bridge.ClearMenuHooks(); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Condizioni: arguments.Length == 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

case "closeuo": bridge.CloseHandle(); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Condizioni: arguments.Length == 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Condizioni: arguments.Length == 0.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

Questo ramo gestisce soltanto il nome del comando indicato.

Parametri: Nessun parametro.

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.Exists

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int id

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

public int Exists(int id)

Risultato: int.

Chiamate:

  • bridge.Exists

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.GetLandTileAt

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue x, InjectionValue y

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

public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y)

Risultato: InjectionValue.

Chiamate:

  • GetLandTileAt

Codice interno di implementazione; non è uno script autonomo.

public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y)

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

InjectionScript.Runtime.InjectionApiUO.GetObject

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string name

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

public int GetObject(string name)

Risultato: int.

Condizioni:

  • !TryGetObject(name, out int id)

Chiamate:

  • TryGetObject

Codice interno di implementazione; non è uno script autonomo.

public int GetObject(string name)

        {

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

                return 0;



            return id;

        }

InjectionScript.Runtime.InjectionApiUO.GetTileName

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue group, InjectionValue tileId

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

public string GetTileName(InjectionValue group, InjectionValue tileId)

Risultato: string.

Chiamate:

  • bridge.GetTileDataName
  • NumberConversions.ToInt

Codice interno di implementazione; non è uno script autonomo.

public string GetTileName(InjectionValue group, InjectionValue tileId)

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

InjectionScript.Runtime.InjectionApiUO.GetUserStatic

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue id

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

public string GetUserStatic(InjectionValue id)

Risultato: string.

Chiamate:

  • state.UserStatics.TryGetValue
  • NumberConversions.ToInt

Codice interno di implementazione; non è uno script autonomo.

public string GetUserStatic(InjectionValue id)

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

InjectionScript.Runtime.InjectionApiUO.GetY

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string id

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

public int GetY(string id)

Risultato: int.

Chiamate:

  • GetY
  • GetObject

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.Hidden

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int Hidden()

Risultato: int.

Chiamate:

  • Hidden

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.Ignore

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int id

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

public void Ignore(int id)

Risultato: void.

Chiamate:

  • bridge.Ignore

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.InJournal

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string pattern, int maxLinesOrIgnoreCase

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

public int InJournal(string pattern, int maxLinesOrIgnoreCase)

Risultato: int.

Chiamate:

  • InJournalCore
  • Math.Max

Codice interno di implementazione; non è uno script autonomo.

public int InJournal(string pattern, int maxLinesOrIgnoreCase)

            => InJournalCore(pattern,

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

                ignoreCase: maxLinesOrIgnoreCase == -1);

InjectionScript.Runtime.InjectionApiUO.IsHumanBody

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int graphic

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

private static bool IsHumanBody(int graphic)

Risultato: bool.

Chiamate:

—

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue x, InjectionValue y

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

public int IsTreeTile(InjectionValue x, InjectionValue y)

Risultato: int.

Chiamate:

  • bridge.IsTreeTile
  • NumberConversions.ToInt

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.JournalEntryTime

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int index

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

private int JournalEntryTime(int index)

Risultato: int.

Chiamate:

  • JournalEntryTime
  • bridge.JournalTimestamp

Codice interno di implementazione; non è uno script autonomo.

private int JournalEntryTime(int index)

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

InjectionScript.Runtime.InjectionApiUO.Morph

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int type

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

public void Morph(int type)

Risultato: void.

Chiamate:

  • bridge.Morph
  • Timer

Codice interno di implementazione; non è uno script autonomo.

public void Morph(int type)

        {

            bridge.Morph(type);

            ticksAnim = Timer();

        }

InjectionScript.Runtime.InjectionApiUO.MoveItemChecked

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int id, int amount, int targetContainer, int x, int y, int z

Origine: 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)

Risultato: bool.

Condizioni:

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

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string name

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

private static string NormalizeApiName(string name)

Risultato: string.

Chiamate:

  • (name ?? string.Empty).Trim

Codice interno di implementazione; non è uno script autonomo.

private static string NormalizeApiName(string name)

        {

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

        }

InjectionScript.Runtime.InjectionApiUO.RDblClick

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int x, int y

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

public void RDblClick(int x, int y)

Risultato: void.

Chiamate:

  • bridge.RDblClick

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases::AddText

Queste funzioni registrano l’API. Non vengono eseguite di nuovo a ogni chiamata del comando.

Parametri: getter, names

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

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

Risultato: void.

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

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue value

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

private int ResolveCompactDistance(InjectionValue value)

Risultato: int.

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

private int ResolveCompactDistance(InjectionValue value)

        {

            int parsed = NumberConversions.ToInt(value);

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

        }

InjectionScript.Runtime.InjectionApiUO.SetArm

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string name

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

public void SetArm(string name)

Risultato: void.

Chiamate:

  • SetEquip

Codice interno di implementazione; non è uno script autonomo.

public void SetArm(string name)

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

InjectionScript.Runtime.InjectionApiUO.SetEvent

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler

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

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

Risultato: void.

Condizioni:

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

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int index

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

public void SetJournalLine(int index)

Risultato: void.

Chiamate:

  • bridge.SetJournalLine

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.Terminate

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void Terminate()

Risultato: void.

Chiamate:

  • bridge.Terminate

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.Terminate

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string subrutineName

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

public void Terminate(string subrutineName)

Risultato: void.

Chiamate:

  • bridge.Terminate

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.TextOpen

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void TextOpen()

Risultato: void.

Chiamate:

  • bridge.TextOpen

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.Track

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue flag

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

public void Track(InjectionValue flag)

Risultato: void.

Chiamate:

  • Track
  • NumberConversions.ToInt
  • GetX
  • GetY

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.TradeCheck

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue

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

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

Risultato: int.

Chiamate:

  • bridge.TradeCheck
  • NumberConversions.ToInt

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int[] supportedLayers, string successMessage

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

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

Risultato: int.

Condizioni:

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

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public void UnsetReceivingContainer()

Risultato: void.

Chiamate:

  • bridge.UnsetReceivingContainer

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.UseObject

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string id

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

public void UseObject(string id)

Risultato: void.

Chiamate:

  • UseObject
  • GetObject

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.UseType

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int type, int color

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

public int UseType(int type, int color)

Risultato: int.

Chiamate:

  • CompactUseType

Codice interno di implementazione; non è uno script autonomo.

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

        {

            new InjectionValue(type),

            new InjectionValue(color)

        });

InjectionScript.Runtime.InjectionApiUO.WaitingForJournalText

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: int startTime, int maxDelay, string text

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

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

Risultato: void.

Chiamate:

  • WaitingForJournalText

Codice interno di implementazione; non è uno script autonomo.

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

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

InjectionScript.Runtime.InjectionApiUO.WaitingForMenu

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial

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

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

Risultato: int.

Condizioni:

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

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public int WaitingMenu()

Risultato: int.

Chiamate:

  • bridge.WaitingMenu

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.RegisterCompactSearchApi [FindMan]

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

Parametri: Nessun parametro.

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

values

Risultato: values.

Risultato: new InjectionValue(CompactFindMan(values)).

Chiamate: CompactFindMan.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

values => new InjectionValue(CompactFindMan(values))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetFollowersMax]

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

Parametri: Nessun parametro.

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

Risultato: bridge.FollowersMax.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.FollowersMax

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetIntelligence]

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

Parametri: Nessun parametro.

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

Risultato: bridge.Intelligence.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.Intelligence

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetStamina]

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

Parametri: Nessun parametro.

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

Risultato: bridge.Stamina.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.Stamina

InjectionScript.Runtime.InjectionApiUO.Register [SkillVal]

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

Parametri: Nessun parametro.

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

values

Risultato: values.

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

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

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Stamina]

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

Parametri: Nessun parametro.

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

Risultato: bridge.Stamina.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.Stamina

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Strength]

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

Parametri: Nessun parametro.

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

Risultato: bridge.Strength.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

() => bridge.Strength

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

value

Risultato: value.

Risultato: getter(GetObject(value)).

Chiamate: getter, GetObject.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Restituisce il valore dell’espressione seguente.

Parametri: Nessun parametro.

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

value

Risultato: value.

Risultato: getter(GetObject(value)).

Chiamate: getter, GetObject.

Chiamate:

Codice interno di implementazione; non è uno script autonomo.

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionRuntime.CallNativeSubrutine

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string name, params InjectionValue[] args

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

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

Risultato: void.

Condizioni:

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

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string parameters

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

public void Exec(string parameters)

Risultato: void.

Condizioni:

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

Chiamate:

  • 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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: Nessun parametro.

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

public override string ToString()

Risultato: string.

Chiamate:

  • Integer.ToString
  • Decimal.ToString
  • FormatArray

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: short id

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

public static string ToHex(short id)

Risultato: string.

Chiamate:

—

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.ObjectTypes.MemoryStreamObject.ReplaceBytes

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: byte[] bytes

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

internal void ReplaceBytes(byte[] bytes)

Risultato: void.

Condizioni:

  • bytes == null

Chiamate:

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

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string name

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

public string GetGlobal(string name)

Risultato: string.

Chiamate:

  • GetGlobalShared

Codice interno di implementazione; non è uno script autonomo.

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

InjectionScript.Runtime.State.NamedIgnoreLists.RequireName

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: string name

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

private static string RequireName(string name)

Risultato: string.

Condizioni:

  • string.IsNullOrWhiteSpace(name)

Chiamate:

  • string.IsNullOrWhiteSpace
  • nameof
  • name.Trim

Codice interno di implementazione; non è uno script autonomo.

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

Esegue le chiamate e le modifiche di stato mostrate.

Parametri: World world, uint target, bool mount, Action<uint> sendUse, long now

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

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

Risultato: bool.

Condizioni:

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

Chiamate:

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

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

Codice interno di implementazione; non è uno script autonomo.

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** ⚠️