FR Runtime Helpers 6 - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Code interne de l’implémentation ; ce n’est pas un script autonome.
Exécute les appels et les modifications d’état indiqués.
Paramètres: Listener listener
Source: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:239.
private void Remove(Listener listener)
Résultat: void.
Conditions:
listener.Closed
Appels:
listeners.Removelistener.Source.Dispose
Code interne de l’implémentation ; ce n’est pas un script autonome.
private void Remove(Listener listener)
{
lock (sync) { if (listener.Closed) return; listener.Closed = true; listeners.Remove(listener); }
listener.Source.Dispose();
}Exécute les appels et les modifications d’état indiqués.
Paramètres: string name
Source: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:386.
private void RemoveState(string name)
Résultat: void.
Appels:
stateEvents.Remove.Dispose
Code interne de l’implémentation ; ce n’est pas un script autonome.
private void RemoveState(string name)
{
StateEvent? state;
lock (sync) { stateEvents.Remove(name, out state); }
state?.Subscription?.Dispose();
}Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/src/ClassicUO.CSharp/CSharpScriptEngine.cs:576.
internal static void VerifyActive()
Résultat: void.
Conditions:
CurrentFinalization.Value?.IsActive == true
Appels:
.Verify
Code interne de l’implémentation ; ce n’est pas un script autonome.
internal static void VerifyActive()
{
Current.Value?.Verify();
if (CurrentFinalization.Value?.IsActive == true)
throw new InvalidOperationException("Game API calls are unavailable from a CLR finalizer.");
}Exécute les appels et les modifications d’état indiqués.
Paramètres: string value
Source: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:321.
private static string EncodePathSegment(string value)
Résultat: string.
Conditions:
-
string.IsNullOrWhiteSpace(value) -
windowsInvalid || windowsTrimmedAtEnd -
`baseName.Equals("CON", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("PRN", StringComparison.OrdinalIgnoreCase) || baseName.Equals("AUX", StringComparison.OrdinalIgnoreCase) || baseName.Equals("NUL", StringComparison.OrdinalIgnoreCase) || baseName.Length == 4 && (baseName.StartsWith("COM", StringComparison.OrdinalIgnoreCase) || baseName.StartsWith("LPT", StringComparison.OrdinalIgnoreCase)) && baseName[3] is >= '1' and <= '9'`
Appels:
string.IsNullOrWhiteSpaceIsWindowsTrimmedSuffixbuilder.Append('~').Appendbuilder.Append((int)character).ToStringbuilder.ToStringresult.SplitbaseName.EqualsbaseName.StartsWith
Code interne de l’implémentation ; ce n’est pas un script autonome.
private static string EncodePathSegment(string value)
{
if (string.IsNullOrWhiteSpace(value))
return "UnknownServer";
var builder = new StringBuilder(value.Length);
for (int index = 0; index < value.Length; index++)
{
char character = value[index];
bool windowsInvalid = character < 32
|| character is '<' or '>' or ':' or '"' or '/' or '\\' or '|' or '?' or '*' or '~';
bool windowsTrimmedAtEnd = (character == '.' || character == ' ')
&& IsWindowsTrimmedSuffix(value, index);
if (windowsInvalid || windowsTrimmedAtEnd)
builder.Append('~').Append(((int)character).ToString("X4"));
else
builder.Append(character);
}
string result = builder.Length == 0 ? "UnknownServer" : builder.ToString();
string baseName = result.Split('.')[0];
if (baseName.Equals("CON", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("PRN", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("AUX", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("NUL", StringComparison.OrdinalIgnoreCase)
|| baseName.Length == 4
&& (baseName.StartsWith("COM", StringComparison.OrdinalIgnoreCase)
|| baseName.StartsWith("LPT", StringComparison.OrdinalIgnoreCase))
&& baseName[3] is >= '1' and <= '9')
{
result = "~005F" + result;
}
return result;
}Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1559.
public void ActivateHandle()
Résultat: void.
Appels:
InvokeSDL3.SDL.SDL_RaiseWindowRequireGameView
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void ActivateHandle() => Invoke(() => SDL3.SDL.SDL_RaiseWindow(RequireGameView("ActivateHandle").Window.Handle));Exécute les appels et les modifications d’état indiqués.
Paramètres: string name
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2187.
public void AddChatUserIgnore(string name)
Résultat: void.
Appels:
InvokeJournalManager.AddYokoIgnoredUser
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void AddChatUserIgnore(string name) => Invoke(() => JournalManager.AddYokoIgnoredUser(name));Exécute les appels et les modifications d’état indiqués.
Paramètres: string caption, string item, bool persistent
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:699.
public void AddMenuHook(string caption, string item, bool persistent)
Résultat: void.
Appels:
Invoke_manager.AddMenuHook
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void AddMenuHook(string caption, string item, bool persistent) => Invoke(() => _manager.AddMenuHook(caption, item, persistent));Exécute les appels et les modifications d’état indiqués.
Paramètres: int uiWindowType, int id
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3099.
public void CloseClientWindow(int uiWindowType, int id)
Résultat: void.
Conditions:
uiWindowType == 2uiWindowType == 0uiWindowType == 3
Appels:
-
Invoke -
_world.CharacterPanels.Profile -
.Close -
_world.NativePopups.Close -
_world.Containers.Close -
`UIManager.Gumps.Where(gump => !gump.IsDisposed
&& gump.LocalSerial == unchecked((uint)id) && MatchesType(gump)).ToArray` -
UIManager.Gumps.Where -
MatchesType -
gump.Dispose
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void CloseClientWindow(int uiWindowType, int id) => Invoke(() =>
{
if (uiWindowType == 2) _world.CharacterPanels.Profile(unchecked((uint)id))?.Close(true);
if (uiWindowType == 0) _world.NativePopups.Close(SessionPopupKind.Paperdoll, unchecked((uint)id));
if (uiWindowType == 3) _world.Containers.Close(unchecked((uint)id));
bool MatchesType(Gump gump) => uiWindowType switch
{
0 => gump is PaperDollGump,
1 => gump is StatusGumpBase,
2 => gump is ProfileGump,
3 => gump is ContainerGump,
_ => false
};
foreach (Gump gump in UIManager.Gumps.Where(gump => !gump.IsDisposed
&& gump.LocalSerial == unchecked((uint)id) && MatchesType(gump)).ToArray())
gump.Dispose();
});Exécute les appels et les modifications d’état indiqués.
Paramètres: int tradeNumber
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:286.
public int ConfirmTrade(int tradeNumber)
Résultat: int.
Conditions:
gump == null!gump.ImAccepting
Appels:
InvokeFindNumberedTradeGameActions.AcceptTrade
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int ConfirmTrade(int tradeNumber) => Invoke(() =>
{
ISessionTrade gump = FindNumberedTrade(tradeNumber);
if (gump == null) return 0;
if (!gump.ImAccepting)
{
gump.ImAccepting = true;
GameActions.AcceptTrade(gump.ID1, true);
}
return 1;
});Exécute les appels et les modifications d’état indiqués.
Paramètres: int id
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2969.
public int ContainerOf(int id)
Résultat: int.
Appels:
Invoke_world.Items.Get
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int ContainerOf(int id) => Invoke(() => _world.Items.Get((uint)id) is Item item ? (int)item.Container : 0);Exécute les appels et les modifications d’état indiqués.
Paramètres: Control control
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4289.
private static string DescribeControl(Control control)
Résultat: string.
Conditions:
control is SessionGumpControl logicalcontrol is Button buttoncontrol is Checkbox checkbox
Appels:
logical.Describecontrol.GetTypeGetControlTextstring.IsNullOrWhiteSpace
Code interne de l’implémentation ; ce n’est pas un script autonome.
private static string DescribeControl(Control control)
{
if (control is SessionGumpControl logical) return logical.Describe();
string common = $"{control.GetType().Name} page={control.Page} id=0x{control.LocalSerial:X8} "
+ $"x={control.X} y={control.Y} width={control.Width} height={control.Height}";
if (control is Button button)
{
return common + $" ButtonID={button.ButtonID} action={button.ButtonAction} toPage={button.ToPage} "
+ $"normal=0x{button.ButtonGraphicNormal:X4} pressed=0x{button.ButtonGraphicPressed:X4} over=0x{button.ButtonGraphicOver:X4}";
}
if (control is Checkbox checkbox)
{
string kind = checkbox is RadioButton ? "RadioButton" : "Checkbox";
return $"{kind} page={control.Page} ID={control.LocalSerial} x={control.X} y={control.Y} "
+ $"checked={checkbox.IsChecked} inactive=0x{checkbox.InactiveGraphic:X4} active=0x{checkbox.ActiveGraphic:X4}";
}
string text = GetControlText(control);
return string.IsNullOrWhiteSpace(text) ? common : common + $" text={text}";
}Exécute les appels et les modifications d’état indiqués.
Paramètres: string subrutineName
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2954.
public void Exec(string subrutineName)
Résultat: void.
Appels:
_manager.RunNamedProcedureFromScript
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void Exec(string subrutineName)
{
_manager.RunNamedProcedureFromScript(subrutineName, _csharpGlobals?.Cancellation ?? _cancellationToken);
}Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:209.
public int GetDropDelay()
Résultat: int.
Appels:
—
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int GetDropDelay() => State.GrabDelay;Exécute les appels et les modifications d’état indiqués.
Paramètres: int id
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:625.
public int GetFlags(int id)
Résultat: int.
Appels:
Invoke_world.Get
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int GetFlags(int id) => Invoke(() => _world.Get((uint)id) is Entity entity ? (int)entity.Flags : 0);Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3043.
public int GetGumpCount()
Résultat: int.
Appels:
InvokeServerGumpsUnsafe
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int GetGumpCount() => Invoke(() => ServerGumpsUnsafe().Count);Exécute les appels et les modifications d’état indiqués.
Paramètres: int index
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3053.
public int GetGumpSerial(int index)
Résultat: int.
Appels:
InvokeServerGumpsUnsafe().ElementAtOrDefaultServerGumpsUnsafe
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int GetGumpSerial(int index) => Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.LocalSerial ?? 0));Exécute les appels et les modifications d’état indiqués.
Paramètres: int index
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:321.
public string GetScriptPath(int index)
Résultat: string.
Appels:
_manager.GetScriptPath
Code interne de l’implémentation ; ce n’est pas un script autonome.
public string GetScriptPath(int index) => _manager.GetScriptPath(index);Exécute les appels et les modifications d’état indiqués.
Paramètres: buffer, offset, value
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3346.
static void Write16(byte[] buffer, int offset, int value)
Résultat: void.
Code interne de l’implémentation ; ce n’est pas un script autonome.
static void Write16(byte[] buffer, int offset, int value)
{
buffer[offset] = (byte)value;
buffer[offset + 1] = (byte)(value >> 8);
}Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1297.
public int[] GetWaitTargetQueue()
Résultat: int[].
Appels:
_manager.GetPendingTargetSerials
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int[] GetWaitTargetQueue() => _manager.GetPendingTargetSerials();Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2189.
public int JournalEntryCount()
Résultat: int.
Appels:
Invoke
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int JournalEntryCount() => Invoke(() => JournalManager.Entries.Count);Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2190.
public int JournalMatchCount()
Résultat: int.
Appels:
—
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int JournalMatchCount() => _journalMatchCount;Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:152.
public int LastTarget
Résultat: int.
Appels:
Invoke
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int LastTarget => Invoke(() => (int)_world.TargetManager.LastTargetInfo.Serial);Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1298.
public int[] LastTile()
Résultat: int[].
Appels:
Invoke
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int[] LastTile() => Invoke(() =>
{
LastTargetInfo info = _world.TargetManager.LastTargetInfo;
return new[] { (int)info.Graphic, (int)info.X, (int)info.Y, (int)info.Z };
});Renvoie la valeur de l’expression ci-dessous.
Paramètres: x, y, z, accuracy, running, staminaThreshold, openDoor, throughCorner, throughNpcs, heuristicMultiplier, turnCost, exitOnDisconnect, accuracyZ, optimized, betweenTwoCorners
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1463.
`public int MoveTo(int x, int y, int z, int accuracy, bool running, int staminaThreshold,
bool openDoor, bool throughCorner, bool throughNpcs, int heuristicMultiplier,
int turnCost, bool exitOnDisconnect, int accuracyZ = 255, bool optimized = true,
bool betweenTwoCorners = false)`
Résultat: int.
Appels: Invoke.
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int MoveTo(int x, int y, int z, int accuracy, bool running, int staminaThreshold,
bool openDoor, bool throughCorner, bool throughNpcs, int heuristicMultiplier,
int turnCost, bool exitOnDisconnect, int accuracyZ = 255, bool optimized = true,
bool betweenTwoCorners = false) => Invoke(() =>
{
if (_world.Player == null) return 0;
_manager.StopFollowing();
Pathfinder pathfinder = _world.Player.Pathfinder;
bool started = pathfinder.WalkTo(
x,
y,
z,
Math.Clamp(accuracy, 0, 20),
running,
Math.Max(0, staminaThreshold),
openDoor,
throughCorner,
throughNpcs,
Math.Max(1, heuristicMultiplier),
Math.Max(0, turnCost),
exitOnDisconnect,
Math.Clamp(accuracyZ, 0, 255),
optimized,
betweenTwoCorners,
ScriptPathObstacles.Create(_csharpState, this), incremental: true);
if (started)
{
_lastMovementPathfinder = pathfinder;
_lastMovementPlayer = _world.Player;
_lastMovementMap = _world.Map;
_lastMovementMapIndex = _world.MapIndex;
Interlocked.Exchange(ref _lastMovementRequestId, pathfinder.AutoWalkRequestGeneration);
_pathCancellation.Unregister();
long generation = pathfinder.AutoWalkGeneration;
if (pathfinder.AutoWalking)
_pathCancellation = _cancellationToken.Register(() => _manager.ReleaseScriptMovement(pathfinder, generation));
}
return started ? 1 : 0;
});Exécute les appels et les modifications d’état indiqués.
Paramètres: int id, int delay
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1488.
public void ReceiveObjectName(int id, int delay)
Résultat: void.
Appels:
ClickStopwatch.StartNewMath.Maxstring.IsNullOrEmptyGetNameWaitMath.Min
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void ReceiveObjectName(int id, int delay)
{
Click(id);
var elapsed = Stopwatch.StartNew();
while (elapsed.ElapsedMilliseconds < Math.Max(0, delay) && string.IsNullOrEmpty(GetName(id)))
Wait((int)Math.Min(25, Math.Max(1L, delay - elapsed.ElapsedMilliseconds)));
}Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:298.
public void RequestVirtuesGump()
Résultat: void.
Conditions:
_world.Player != null
Appels:
InvokeGameActions.ReplyGumpArray.Empty<Tuple<ushort, string>>
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void RequestVirtuesGump() => Invoke(() =>
{
if (_world.Player != null)
GameActions.ReplyGump(_world.Player, 0x000001CD, 0x00000001, new[] { _world.Player.Serial }, Array.Empty<Tuple<ushort, string>>());
});Exécute les appels et les modifications d’état indiqués.
Paramètres: int gumpId
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4242.
private Gump ResolveGumpUnsafe(int gumpId)
Résultat: Gump.
Conditions:
gumpId == -1
Appels:
ServerGumpsUnsafegumps.LastOrDefaultgumps.FirstOrDefault
Code interne de l’implémentation ; ce n’est pas un script autonome.
private Gump ResolveGumpUnsafe(int gumpId)
{
List<Gump> gumps = ServerGumpsUnsafe();
if (gumpId == -1)
{
return _selectedServerGump != null && !_selectedServerGump.IsDisposed ? _selectedServerGump : gumps.LastOrDefault();
}
return gumps.FirstOrDefault(g => g.LocalSerial == (uint)gumpId || g.ServerSerial == (uint)gumpId)
?? (gumpId >= 0 && gumpId < gumps.Count ? gumps[gumpId] : null);
}Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:744.
public int SelectContainer()
Résultat: int.
Appels:
SelectObject
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int SelectContainer() => SelectObject() is Item item ? (int)item.Serial : 0;Exécute les appels et les modifications d’état indiqués.
Paramètres: string command, string message
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1575.
private void SendServerSpeech(string command, string message)
Résultat: void.
Appels:
InvokeGameActions.SayReportStatus
Code interne de l’implémentation ; ce n’est pas un script autonome.
private void SendServerSpeech(string command, string message) => Invoke(() =>
{
GameActions.Say(message ?? string.Empty, allowYokoCommand: SCRIPT_SAY_ALLOW_YOKO_COMMAND);
ReportStatus($"{command} delivered through ClassicUO server speech");
});Exécute les appels et les modifications d’état indiqués.
Paramètres: string path
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:324.
public int StartScript(string path)
Résultat: int.
Appels:
_manager.StartScript
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int StartScript(string path) => _manager.StartScript(path);Exécute les appels et les modifications d’état indiqués.
Paramètres: int spellId
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2420.
internal static int ToClassicUOCastIndex(int spellId)
Résultat: int.
Appels:
—
Code interne de l’implémentation ; ce n’est pas un script autonome.
internal static int ToClassicUOCastIndex(int spellId) => spellId;Exécute les appels et les modifications d’état indiqués.
Paramètres: int id, int amount, int destination, int x, int y, int z
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1342.
private bool TryMoveItemRequest(int id, int amount, int destination, int x, int y, int z)
Résultat: bool.
Appels:
TryMoveItemRequest
Code interne de l’implémentation ; ce n’est pas un script autonome.
private bool TryMoveItemRequest(int id, int amount, int destination, int x, int y, int z)
=> TryMoveItemRequest(_world, id, amount, destination, x, y, z);Exécute les appels et les modifications d’état indiqués.
Paramètres: int abilityId
Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2453.
public int UseAbility(int abilityId)
Résultat: int.
Conditions:
_world.Player == null || abilityId < 1 || abilityId > AbilityData.Abilities.LengthabilityId == primaryabilityId == secondary
Appels:
InvokeGameActions.UsePrimaryAbilityGameActions.UseSecondaryAbility
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int UseAbility(int abilityId) => Invoke(() =>
{
if (_world.Player == null || abilityId < 1 || abilityId > AbilityData.Abilities.Length)
return 0;
int primary = (byte)_world.Player.Abilities[0] & 0x7F;
int secondary = (byte)_world.Player.Abilities[1] & 0x7F;
if (abilityId == primary)
{
GameActions.UsePrimaryAbility(_world);
return 1;
}
if (abilityId == secondary)
{
GameActions.UseSecondaryAbility(_world);
return 1;
}
return 0;
});Exécute les appels et les modifications d’état indiqués.
Paramètres: string scriptKey, string text
Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoIdeToolBuffers.cs:124.
internal void AppendOutput(string scriptKey, string text)
Résultat: void.
Appels:
_output.Add_clockNormalizeKeyNormalizeTextTrimOldest
Code interne de l’implémentation ; ce n’est pas un script autonome.
internal void AppendOutput(string scriptKey, string text)
{
lock (_sync)
{
_output.Add(new YokoOutputEntry
{
Sequence = ++_sequence,
Timestamp = _clock(),
ScriptKey = NormalizeKey(scriptKey),
Text = NormalizeText(text)
});
TrimOldest(_output);
_revision++;
}
}Exécute les appels et les modifications d’état indiqués.
Paramètres: Action callback, CancellationToken cancellationToken
Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3490.
internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)
Résultat: void.
Appels:
InvokeOnGameThreadcallback
Code interne de l’implémentation ; ce n’est pas un script autonome.
internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)
{
InvokeOnGameThread(() =>
{
callback();
return true;
}, cancellationToken);
}Exécute les appels et les modifications d’état indiqués.
Paramètres: int index
Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2841.
internal void PauseResumeScript(int index)
Résultat: void.
Conditions:
script == null
Appels:
ElementAtRunningScriptsscript.ToggleManualPauseMarkRuntimeStateChanged
Code interne de l’implémentation ; ce n’est pas un script autonome.
internal void PauseResumeScript(int index)
{
YokoRunningScript script = ElementAt(RunningScripts(), index);
if (script == null)
return;
script.ToggleManualPause();
MarkRuntimeStateChanged();
}Exécute les appels et les modifications d’état indiqués.
Paramètres: string text, string scriptKey = null
Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3751.
internal void SetStatus(string text, string scriptKey = null)
Résultat: void.
Conditions:
!IsScriptPublicationCurrent(scriptKey)
Appels:
IsScriptPublicationCurrentVolatile.WritePublishStatus
Code interne de l’implémentation ; ce n’est pas un script autonome.
internal void SetStatus(string text, string scriptKey = null)
{
if (!IsScriptPublicationCurrent(scriptKey))
return;
Volatile.Write(ref _statusPriority, 1);
PublishStatus(text, scriptKey);
}Exécute les appels et les modifications d’état indiqués.
Paramètres: uint serial
Source: Project_Full/src/ClassicUO.Client/Game/SerialHelper.cs:16.
public static bool IsMobile(uint serial)
Résultat: bool.
Appels:
—
Code interne de l’implémentation ; ce n’est pas un script autonome.
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsMobile(uint serial)
{
return serial > 0 && serial < 0x40000000;
}Exécute les appels et les modifications d’état indiqués.
Paramètres: Season season, int music
Source: Project_Full/src/ClassicUO.Client/Game/World.cs:321.
public void ChangeSeason(Season season, int music)
Résultat: void.
Conditions:
audio != null && (currentMusic == null || currentMusic.Index == audio.LoginMusicIndex)
Appels:
Map.GetUsedChunks.GetHeadObjectobj.UpdateGraphicBySeason.GetCurrentMusicaudio.PlayMusic
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void ChangeSeason(Season season, int music)
{
Season = season;
foreach (Chunk chunk in Map.GetUsedChunks())
{
for (int x = 0; x < 8; x++)
{
for (int y = 0; y < 8; y++)
{
for (GameObject obj = chunk?.GetHeadObject(x, y); obj != null; obj = obj.TNext)
{
obj.UpdateGraphicBySeason();
}
}
}
}
//TODO(deccer): refactor this out into _audioPlayer.PlayMusic(...)
var audio = Client.Game?.Audio;
UOMusic currentMusic = audio?.GetCurrentMusic();
if (audio != null && (currentMusic == null || currentMusic.Index == audio.LoginMusicIndex))
{
audio.PlayMusic(music, false);
}
}Exécute les appels et les modifications d’état indiqués.
Paramètres: string value,int wordIndex
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:41.
private static string GetWord(string value,int wordIndex)
Résultat: string.
Appels:
GetWord
Code interne de l’implémentation ; ce n’est pas un script autonome.
private static string GetWord(string value,int wordIndex) => GetWord(value,wordIndex," ");Exécute les appels et les modifications d’état indiqués.
Paramètres: string value,string delimiter
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:36.
private static string[] SplitWords(string value,string delimiter)
Résultat: string[].
Appels:
string.IsNullOrEmptyvalue.Split
Code interne de l’implémentation ; ce n’est pas un script autonome.
private static string[] SplitWords(string value,string delimiter)
{
value=value??string.Empty;
return string.IsNullOrEmpty(delimiter)||delimiter==" "?value.Split((char[])null,StringSplitOptions.RemoveEmptyEntries):value.Split(new[]{delimiter},StringSplitOptions.RemoveEmptyEntries);
}Exécute les appels et les modifications d’état indiqués.
Paramètres: int fromX, int fromY, int toX, int toY
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2857.
private static int CalculateDirection(int fromX, int fromY, int toX, int toY)
Résultat: int.
Conditions:
dx == 0 && dy == 0dx == 0dy == 0dx > 0
Appels:
Math.Sign
Code interne de l’implémentation ; ce n’est pas un script autonome.
private static int CalculateDirection(int fromX, int fromY, int toX, int toY)
{
int dx = Math.Sign(toX - fromX);
int dy = Math.Sign(toY - fromY);
if (dx == 0 && dy == 0) return 100;
if (dx == 0) return dy < 0 ? 0 : 4;
if (dy == 0) return dx > 0 ? 2 : 6;
if (dx > 0) return dy < 0 ? 1 : 3;
return dy > 0 ? 5 : 7;
}Exécute les appels et les modifications d’état indiqués.
Paramètres: InjectionValue[] values
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5068.
private int CompactAttackNearest(InjectionValue[] values)
Résultat: int.
Conditions:
!TryResolveClassRules(classMask, out EquipmentClassRule[] rules)serial != 0
Appels:
ResolveCompactDistancebridge.GetFindDistanceResolveCompactMaxZbridge.GetFindVerticalToBooleanNumberConversions.ToIntTryResolveClassRulesFilterMobilesSelectClassCandidatebridge.Attack
Code interne de l’implémentation ; ce n’est pas un script autonome.
private int CompactAttackNearest(InjectionValue[] values)
{
InjectionValue notoriety = values[0];
int distance = values.Length > 1 ? ResolveCompactDistance(values[1]) : bridge.GetFindDistance();
InjectionValue body = values.Length > 2 ? values[2] : InjectionValue.MinusOne;
int maxZ = values.Length > 3 ? ResolveCompactMaxZ(values[3]) : bridge.GetFindVertical();
bool nearest = values.Length <= 4 || ToBoolean(values[4]);
int color = values.Length > 5 ? NumberConversions.ToInt(values[5]) : -1;
InjectionValue classMask = values.Length > 6 ? values[6] : default(InjectionValue);
bool aliveOnly = values.Length > 7 && ToBoolean(values[7]);
bool visibleOnly = values.Length > 8 && ToBoolean(values[8]);
// Resolve once, before any attack. A misspelled/undefined class must
// never degrade into an unrestricted search or a name substring match.
if (!TryResolveClassRules(classMask, out EquipmentClassRule[] rules))
return 0;
IEnumerable<int> mobiles = FilterMobiles(distance, notoriety, body, maxZ, color, false,
false, aliveOnly, visibleOnly);
int serial = SelectClassCandidate(mobiles, rules, nearest);
if (serial != 0)
bridge.Attack(serial);
return serial;
}Exécute les appels et les modifications d’état indiqués.
Paramètres: InjectionValue[] values
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3197.
private int CompactWaitGump(InjectionValue[] values)
Résultat: int.
Conditions:
values == null || values.Length == 0bridge is IApiGumpAutomation automationvalue.Kind == InjectionValueKind.ArrayCompactWaitGump(value.Array) == 0
Appels:
-
CollectGumpButtons -
automation.QueueGumpButtons -
buttons.ToArray -
CompactWaitGump -
(value.String ?? string.Empty).Contains -
`(value.String ?? string.Empty)
.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries) .Select(part => new InjectionValue(part.Trim())).ToArray` -
`(value.String ?? string.Empty)
.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries) .Select` -
`(value.String ?? string.Empty)
.Split` -
part.Trim -
NumberConversions.ToInt -
bridge.WaitGumpSelect
Code interne de l’implémentation ; ce n’est pas un script autonome.
private int CompactWaitGump(InjectionValue[] values)
{
if (values == null || values.Length == 0)
throw new NativeSubrutineException("UO.WaitGump requires at least one trigger/button id.");
if (bridge is IApiGumpAutomation automation)
{
var buttons = new List<int>();
CollectGumpButtons(values, buttons);
automation.QueueGumpButtons(buttons.ToArray());
return 1;
}
foreach (InjectionValue value in values)
{
if (value.Kind == InjectionValueKind.Array)
{
if (CompactWaitGump(value.Array) == 0)
return 0;
continue;
}
if (value.Kind == InjectionValueKind.String
&& ((value.String ?? string.Empty).Contains('|') || (value.String ?? string.Empty).Contains(',')))
{
InjectionValue[] nested = (value.String ?? string.Empty)
.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(part => new InjectionValue(part.Trim())).ToArray();
if (CompactWaitGump(nested) == 0)
return 0;
continue;
}
int triggerId = NumberConversions.ToInt(value);
if (bridge.WaitGumpSelect(triggerId, 30_000) == 0)
return 0;
}
return 1;
}Exécute les appels et les modifications d’état indiqués.
Paramètres: string layer
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6523.
private int ConvertLayer(string layer)
Résultat: int.
Conditions:
layerNameToNumber.TryGetValue((layer ?? string.Empty).Trim(), out int value)
Appels:
layerNameToNumber.TryGetValue(layer ?? string.Empty).Trim
Code interne de l’implémentation ; ce n’est pas un script autonome.
private int ConvertLayer(string layer)
{
if (layerNameToNumber.TryGetValue((layer ?? string.Empty).Trim(), out int value))
return value;
throw new NativeSubrutineException($"Unknown equipment layer '{layer}'. Use a documented layer such as Rhand, Lhand, Helmet, Necklace, Backpack, Robe, Legs, or Mount.");
}Exécute les appels et les modifications d’état indiqués.
Paramètres: InjectionValue containerId
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6479.
private int ConvertMoveDestination(InjectionValue containerId)
Résultat: int.
Conditions:
containerId.Kind != InjectionValueKind.String && containerId.Kind != InjectionValueKind.Integer
Appels:
NumberConversions.TryStr2Int.TrimResolveTransferDestination
Code interne de l’implémentation ; ce n’est pas un script autonome.
private int ConvertMoveDestination(InjectionValue containerId)
{
if (containerId.Kind != InjectionValueKind.String && containerId.Kind != InjectionValueKind.Integer)
throw new NativeSubrutineException("A move destination must be an object name or serial ID.");
// Preserve the legacy -1 backpack selector. Resolve names before
// lifting: a misspelled or unset container must never become ground.
bool backpack = containerId.Kind == InjectionValueKind.Integer
? containerId.Integer == -1
: NumberConversions.TryStr2Int(containerId.String?.Trim() ?? string.Empty, out int literal) && literal == -1;
return ResolveTransferDestination(backpack ? new InjectionValue("backpack") : containerId, allowGround: true);
}Exécute les appels et les modifications d’état indiqués.
Paramètres: InjectionValue type
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5326.
public int Count(InjectionValue type)
Résultat: int.
Appels:
CountResolveType
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int Count(InjectionValue type)
=> Count(ResolveType(type), -1, -1);Exécute les appels et les modifications d’état indiqués.
Paramètres: string text
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5519.
public void DeleteJournal(string text)
Résultat: void.
Appels:
bridge.DeleteJournalSelectJournalEntry
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void DeleteJournal(string text)
{
bridge.DeleteJournal(text);
SelectJournalEntry(null);
}Exécute les appels et les modifications d’état indiqués.
Paramètres: string name
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3927.
public void DeleteObject(string name)
Résultat: void.
Conditions:
objects.TryGet(name, out int value)
Appels:
objects.TryGetobjects.RemoveSystemMessage
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void DeleteObject(string name)
{
if (objects.TryGet(name, out int value))
{
objects.Remove(name);
SystemMessage($"Object {name} has been deleted");
}
else
SystemMessage($"Object {name} not found");
}Renvoie la valeur de l’expression ci-dessous.
Paramètres: index
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1144.
string Text(int index)
Résultat: string.
Résultat: index < arguments.Length ? arguments[index].ToString() : string.Empty.
Appels: arguments[index].ToString.
Appels:
-
InjectionScript.Runtime.InjectionValue.ToString:arguments[index].ToString().
Code interne de l’implémentation ; ce n’est pas un script autonome.
string Text(int index) => index < arguments.Length ? arguments[index].ToString() : string.Empty;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1231.
Résultat: InjectionValue.Unit.
Appels:
-
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "addtojournal":
case "addtosystemjournal":
case "clientprint":
SystemMessage(Text(0)); return InjectionValue.Unit;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1286.
Résultat: InjectionValue.Unit.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoBuyRule:bridge.SetAutoBuyRule(Arg(0), Arg(1), Arg(2), Arg(3), Text(4)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(4).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "autobuyex":
bridge.SetAutoBuyRule(Arg(0), Arg(1), Arg(2), Arg(3), Text(4)); return InjectionValue.Unit;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1550.
Résultat: new InjectionValue(bridge.CancelTrade(Arg(0))).
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CancelTrade:bridge.CancelTrade(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "canceltrade": return new InjectionValue(bridge.CancelTrade(Arg(0)));Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1306.
Résultat: InjectionValue.Unit.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ConnectClient:bridge.ConnectClient().
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "connect": bridge.ConnectClient(); return InjectionValue.Unit;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1565.
Appels:
-
InjectionScript.Runtime.InjectionApiUO.GetDistance:GetDistance(Arg(0), Arg(1), Arg(2), Arg(3)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDistance:bridge.GetDistance(Arg(0)).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "dist": return new InjectionValue(arguments.Length >= 4
? GetDistance(Arg(0), Arg(1), Arg(2), Arg(3))
: bridge.GetDistance(Arg(0)));Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1627.
Résultat: new InjectionValue(ChangeEquipmentItems(ArrayArg(0), true)).
Appels:
-
InjectionScript.Runtime.InjectionApiUO.ChangeEquipmentItems:ChangeEquipmentItems(ArrayArg(0), true). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::ArrayArg:ArrayArg(0).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "equipitems":
return new InjectionValue(ChangeEquipmentItems(ArrayArg(0), true));Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2005.
new []
Résultat: [].
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientPath:bridge.ClientPath. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CurrentProfilePath:bridge.CurrentProfilePath. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GameServerAddress:bridge.GameServerAddress. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GameServerPort:bridge.GameServerPort.
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "extendedinfo":
return new InjectionValue(new[] { new InjectionValue(bridge.ClientPath), new InjectionValue(bridge.CurrentProfilePath), new InjectionValue(bridge.GameServerAddress), new InjectionValue(bridge.GameServerPort) });Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1476.
Résultat: new InjectionValue(bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0)).
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindType:bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[0]). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::StealthContainer:StealthContainer(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "findtypeex": return new InjectionValue(bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0));Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1587.
Résultat: new InjectionValue(bridge.GetActiveAbility()).
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetActiveAbility:bridge.GetActiveAbility().
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "getactiveability": return new InjectionValue(bridge.GetActiveAbility());Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1590.
Résultat: StringArray(bridge.GetMenuItems(Text(0), false)).
Appels:
-
InjectionScript.Runtime.InjectionApiUO.StringArray:StringArray(bridge.GetMenuItems(Text(0), false)). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMenuItems:bridge.GetMenuItems(Text(0), false). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "getmenuitems": return StringArray(bridge.GetMenuItems(Text(0), false));Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1919.
Résultat: InjectionValue.Unit.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GlobalChatSend:bridge.GlobalChatSend(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "globalchatsendmsg": bridge.GlobalChatSend(Text(0)); return InjectionValue.Unit;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1273.
Résultat: new InjectionValue(InJournal(Text(0))).
Appels:
-
InjectionScript.Runtime.InjectionApiUO.InJournal:InJournal(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "injournal": return new InjectionValue(InJournal(Text(0)));Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2043.
Résultat: new InjectionValue(selectedJournalEntry?.Color ?? 0).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "linetextcolor":
return new InjectionValue(selectedJournalEntry?.Color ?? 0);Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1534.
Résultat: new InjectionValue(ReadPredictedCoordinate(1)).
Appels:
-
InjectionScript.Runtime.InjectionApiUO.ReadPredictedCoordinate:ReadPredictedCoordinate(1).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "predictedy": return new InjectionValue(ReadPredictedCoordinate(1));Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1594.
Résultat: InjectionValue.Unit.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestContextMenu:bridge.RequestContextMenu(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "requestcontextmenu": bridge.RequestContextMenu(Arg(0)); return InjectionValue.Unit;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1357.
Résultat: InjectionValue.Unit.
Appels:
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "setsilentmode": state.SilentMode = Arg(0) != 0 ? 1 : 0; return InjectionValue.Unit;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1655.
Résultat: InjectionValue.Unit.
Appels:
-
InjectionScript.Runtime.InjectionApiUO.WarMode:WarMode(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "setwarmode": WarMode(Arg(0)); return InjectionValue.Unit;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1295.
Résultat: new InjectionValue(bridge.GetTargetCursorId()).
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTargetCursorId:bridge.GetTargetCursorId().
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "targetid": return new InjectionValue(bridge.GetTargetCursorId());Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1250.
Résultat: InjectionValue.Unit.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseObject:bridge.UseObject(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "useobject": bridge.UseObject(Arg(0)); return InjectionValue.Unit;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1681.
Résultat: InjectionValue.Unit.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseSecondaryAbility:bridge.UseSecondaryAbility().
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "usesecondaryability": bridge.UseSecondaryAbility(); return InjectionValue.Unit;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1642.
Résultat: new InjectionValue(bridge.WaitUntilTargeting(Arg(0))).
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitUntilTargeting:bridge.WaitUntilTargeting(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "waitfortarget": return new InjectionValue(bridge.WaitUntilTargeting(Arg(0)));Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1369.
Résultat: new InjectionValue(bridge.Weight).
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Weight:bridge.Weight.
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "weight": return new InjectionValue(bridge.Weight);Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2844.
Appels:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList(name). -
InjectionScript.Runtime.InjectionValue.ToString:value.ToString().
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "adddir":
case "addfindlist":
case "addgate":
case "addrecall":
case "addstep":
LegacyList(name).Add(string.Join("|", arguments.Select(value => value.ToString())));
break;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2876.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClearMenuHooks:bridge.ClearMenuHooks().
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "cancelmenu": bridge.ClearMenuHooks(); break;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2858.
Conditions: arguments.Length == 0.
Appels:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList("AddFindList"). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "clearfindlist":
if (arguments.Length == 0) LegacyList("AddFindList").Clear();
else LegacyList("AddFindList").RemoveAll(value => value.Split('|')[0]
.Equals(Text(0), StringComparison.OrdinalIgnoreCase));
break;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2888.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseHandle:bridge.CloseHandle().
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "closeuo": bridge.CloseHandle(); break;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2991.
Conditions: arguments.Length == 0.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassMove:bridge.MassMove(-1, 0, 0, -1, -1, -1, 0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassMove: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). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[1]). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[2]). -
InjectionScript.Runtime.InjectionApiUO.ResolveTransferDestination:ResolveTransferDestination(arguments[3], true). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[4]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[5]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[6]).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "massmove":
if (arguments.Length == 0) bridge.MassMove(-1, 0, 0, -1, -1, -1, 0);
else bridge.MassMove(NumberConversions.ToInt(arguments[0]),
arguments.Length > 1 ? NumberConversions.ToInt(arguments[1]) : 0,
arguments.Length > 2 ? ResolveType(arguments[2]) : 0,
arguments.Length > 3 ? ResolveTransferDestination(arguments[3], true) : -1,
arguments.Length > 4 ? NumberConversions.ToInt(arguments[4]) : -1,
arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1,
arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : 0);
break;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3001.
Conditions: arguments.Length == 0.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassPriceMove:bridge.MassPriceMove(-1, 0, 0, 0, -1, -1, -1, 0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassPriceMove: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). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[1]). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[2]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[3]). -
InjectionScript.Runtime.InjectionApiUO.ResolveTransferDestination:ResolveTransferDestination(arguments[4], true). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[5]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[6]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[7]).
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "masspricemove":
if (arguments.Length == 0) bridge.MassPriceMove(-1, 0, 0, 0, -1, -1, -1, 0);
else bridge.MassPriceMove(NumberConversions.ToInt(arguments[0]),
NumberConversions.ToInt(arguments[1]), ResolveType(arguments[2]),
NumberConversions.ToInt(arguments[3]),
arguments.Length > 4 ? ResolveTransferDestination(arguments[4], true) : -1,
arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1,
arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : -1,
arguments.Length > 7 ? NumberConversions.ToInt(arguments[7]) : 0);
break;Cette branche traite uniquement le nom de commande indiqué.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3020.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Resync:bridge.Resync().
Code interne de l’implémentation ; ce n’est pas un script autonome.
case "resend": bridge.Resync(); break;Exécute les appels et les modifications d’état indiqués.
Paramètres: int id
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3858.
public int Exists(int id)
Résultat: int.
Appels:
bridge.Exists
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int Exists(int id) => bridge.Exists(id);Exécute les appels et les modifications d’état indiqués.
Paramètres: InjectionValue x, InjectionValue y
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6306.
public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y)
Résultat: InjectionValue.
Appels:
GetLandTileAt
Code interne de l’implémentation ; ce n’est pas un script autonome.
public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y)
=> GetLandTileAt(x, y, new InjectionValue(bridge.WorldNumber));Exécute les appels et les modifications d’état indiqués.
Paramètres: string name
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4006.
public int GetObject(string name)
Résultat: int.
Conditions:
!TryGetObject(name, out int id)
Appels:
TryGetObject
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int GetObject(string name)
{
if (!TryGetObject(name, out int id))
return 0;
return id;
}Exécute les appels et les modifications d’état indiqués.
Paramètres: InjectionValue group, InjectionValue tileId
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6375.
public string GetTileName(InjectionValue group, InjectionValue tileId)
Résultat: string.
Appels:
bridge.GetTileDataNameNumberConversions.ToInt
Code interne de l’implémentation ; ce n’est pas un script autonome.
public string GetTileName(InjectionValue group, InjectionValue tileId)
=> bridge.GetTileDataName(NumberConversions.ToInt(group), NumberConversions.ToInt(tileId));Exécute les appels et les modifications d’état indiqués.
Paramètres: InjectionValue id
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6392.
public string GetUserStatic(InjectionValue id)
Résultat: string.
Appels:
state.UserStatics.TryGetValueNumberConversions.ToInt
Code interne de l’implémentation ; ce n’est pas un script autonome.
public string GetUserStatic(InjectionValue id)
=> state.UserStatics.TryGetValue(NumberConversions.ToInt(id), out string value) ? value : string.Empty;Exécute les appels et les modifications d’état indiqués.
Paramètres: string id
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3682.
public int GetY(string id)
Résultat: int.
Appels:
GetYGetObject
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int GetY(string id) => GetY(GetObject(id));InjectionScript.Runtime.InjectionApiUO.Hidden
Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3884.
public int Hidden()
Résultat: int.
Appels:
Hidden
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int Hidden() => Hidden("self");Exécute les appels et les modifications d’état indiqués.
Paramètres: int id
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5340.
public void Ignore(int id)
Résultat: void.
Appels:
bridge.Ignore
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void Ignore(int id) => bridge.Ignore(id);Exécute les appels et les modifications d’état indiqués.
Paramètres: string pattern, int maxLinesOrIgnoreCase
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5463.
public int InJournal(string pattern, int maxLinesOrIgnoreCase)
Résultat: int.
Appels:
InJournalCoreMath.Max
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int InJournal(string pattern, int maxLinesOrIgnoreCase)
=> InJournalCore(pattern,
maxLinesOrIgnoreCase == -1 ? -1 : Math.Max(0, maxLinesOrIgnoreCase),
ignoreCase: maxLinesOrIgnoreCase == -1);Exécute les appels et les modifications d’état indiqués.
Paramètres: int graphic
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3849.
private static bool IsHumanBody(int graphic)
Résultat: bool.
Appels:
—
Code interne de l’implémentation ; ce n’est pas un script autonome.
private static bool IsHumanBody(int graphic) => graphic == 0x0190 || graphic == 0x0191
|| graphic == 0x0192 || graphic == 0x0193 || graphic == 0x025D || graphic == 0x025E
|| graphic == 0x025F || graphic == 0x0260 || graphic == 0x029A || graphic == 0x029B
|| graphic == 0x02B6 || graphic == 0x02B7;Exécute les appels et les modifications d’état indiqués.
Paramètres: InjectionValue x, InjectionValue y
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3436.
public int IsTreeTile(InjectionValue x, InjectionValue y)
Résultat: int.
Appels:
bridge.IsTreeTileNumberConversions.ToInt
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int IsTreeTile(InjectionValue x, InjectionValue y) => bridge.IsTreeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y));Exécute les appels et les modifications d’état indiqués.
Paramètres: int index
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5630.
private int JournalEntryTime(int index)
Résultat: int.
Appels:
JournalEntryTimebridge.JournalTimestamp
Code interne de l’implémentation ; ce n’est pas un script autonome.
private int JournalEntryTime(int index)
=> JournalEntryTime(bridge.JournalTimestamp(index));Exécute les appels et les modifications d’état indiqués.
Paramètres: int type
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6017.
public void Morph(int type)
Résultat: void.
Appels:
bridge.MorphTimer
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void Morph(int type)
{
bridge.Morph(type);
ticksAnim = Timer();
}Exécute les appels et les modifications d’état indiqués.
Paramètres: int id, int amount, int targetContainer, int x, int y, int z
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4684.
private bool MoveItemChecked(int id, int amount, int targetContainer, int x, int y, int z)
Résultat: bool.
Conditions:
id == 0targetContainer == 0 && state.DropCheckCoord != 0Math.Max(Math.Abs(x - playerX), Math.Abs(y - playerY)) > 2
Appels:
bridge.GetXbridge.GetYMath.MaxMath.AbsSystemMessagebridge.MoveItem
Code interne de l’implémentation ; ce n’est pas un script autonome.
private bool MoveItemChecked(int id, int amount, int targetContainer, int x, int y, int z)
{
if (id == 0)
return false;
if (targetContainer == 0 && state.DropCheckCoord != 0)
{
int playerX = bridge.GetX(bridge.Self);
int playerY = bridge.GetY(bridge.Self);
if (Math.Max(Math.Abs(x - playerX), Math.Abs(y - playerY)) > 2)
{
SystemMessage("Drop cancelled: destination is more than 2 tiles away (DropCheckCoord is enabled).");
return false;
}
}
return bridge.MoveItem(id, amount, targetContainer, x, y, z) != 0;
}Exécute les appels et les modifications d’état indiqués.
Paramètres: string name
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5321.
private static string NormalizeApiName(string name)
Résultat: string.
Appels:
(name ?? string.Empty).Trim
Code interne de l’implémentation ; ce n’est pas un script autonome.
private static string NormalizeApiName(string name)
{
return (name ?? string.Empty).Trim();
}Exécute les appels et les modifications d’état indiqués.
Paramètres: int x, int y
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5360.
public void RDblClick(int x, int y)
Résultat: void.
Appels:
bridge.RDblClick
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void RDblClick(int x, int y) => bridge.RDblClick(x, y);Ces fonctions enregistrent l’API. Elles ne sont pas exécutées à nouveau pour chaque appel de commande.
Paramètres: getter, names
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:993.
void AddText(Func<string> getter, params string[] names)
Résultat: void.
Appels: metadata.NativeSubrutineExists, metadata.Add, metadata.IntrinsicVariableExists, metadata.AddIntrinsicVariable.
Conditions: !metadata.NativeSubrutineExists(name, 0); !metadata.IntrinsicVariableExists(name).
Appels:
-
InjectionScript.Runtime.Metadata.NativeSubrutineExists:metadata.NativeSubrutineExists(name, 0). -
InjectionScript.Runtime.Metadata.Add:metadata.Add(new NativeSubrutineDefinition(name, getter)). -
InjectionScript.Runtime.Metadata.IntrinsicVariableExists:metadata.IntrinsicVariableExists(name). -
InjectionScript.Runtime.Metadata.AddIntrinsicVariable:metadata.AddIntrinsicVariable(new NativeSubrutineDefinition(name, getter)).
Code interne de l’implémentation ; ce n’est pas un script autonome.
void AddText(Func<string> getter, params string[] names)
{
foreach (string shortName in names)
{
string name = "UO." + shortName;
if (!metadata.NativeSubrutineExists(name, 0))
metadata.Add(new NativeSubrutineDefinition(name, getter));
if (!metadata.IntrinsicVariableExists(name))
metadata.AddIntrinsicVariable(new NativeSubrutineDefinition(name, getter));
}
}Exécute les appels et les modifications d’état indiqués.
Paramètres: InjectionValue value
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5211.
private int ResolveCompactDistance(InjectionValue value)
Résultat: int.
Appels:
NumberConversions.ToIntbridge.GetFindDistanceMath.Max
Code interne de l’implémentation ; ce n’est pas un script autonome.
private int ResolveCompactDistance(InjectionValue value)
{
int parsed = NumberConversions.ToInt(value);
return parsed < 0 ? bridge.GetFindDistance() : Math.Max(0, parsed);
}Exécute les appels et les modifications d’état indiqués.
Paramètres: string name
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5705.
public void SetArm(string name)
Résultat: void.
Appels:
SetEquip
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void SetArm(string name)
=> SetEquip(name, armSets, weaponLayers, "Arm set.");Exécute les appels et les modifications d’état indiqués.
Paramètres: InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6122.
public void SetEvent(InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler)
Résultat: void.
Conditions:
!string.IsNullOrWhiteSpace(raw) && !NumberConversions.TryStr2Int(raw, out _)
Appels:
repeatOrHandler.ToStringstring.IsNullOrWhiteSpaceNumberConversions.TryStr2IntSetEvent
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void SetEvent(InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler)
{
string raw = repeatOrHandler.ToString() ?? string.Empty;
if (!string.IsNullOrWhiteSpace(raw) && !NumberConversions.TryStr2Int(raw, out _))
SetEvent(name, stateValue, InjectionValue.True, repeatOrHandler);
else
SetEvent(name, stateValue, repeatOrHandler, new InjectionValue(string.Empty));
}Exécute les appels et les modifications d’état indiqués.
Paramètres: int index
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5532.
public void SetJournalLine(int index)
Résultat: void.
Appels:
bridge.SetJournalLine
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void SetJournalLine(int index) => bridge.SetJournalLine(index);Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6030.
public void Terminate()
Résultat: void.
Appels:
bridge.Terminate
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void Terminate() => bridge.Terminate(string.Empty);Exécute les appels et les modifications d’état indiqués.
Paramètres: string subrutineName
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6029.
public void Terminate(string subrutineName)
Résultat: void.
Appels:
bridge.Terminate
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void Terminate(string subrutineName) => bridge.Terminate(subrutineName);Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5433.
public void TextOpen()
Résultat: void.
Appels:
bridge.TextOpen
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void TextOpen() => bridge.TextOpen();Exécute les appels et les modifications d’état indiqués.
Paramètres: InjectionValue flag
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6107.
public void Track(InjectionValue flag)
Résultat: void.
Appels:
TrackNumberConversions.ToIntGetXGetY
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void Track(InjectionValue flag) => Track(NumberConversions.ToInt(flag), GetX(), GetY());Exécute les appels et les modifications d’état indiqués.
Paramètres: InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3424.
public int TradeCheck(InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue)
Résultat: int.
Appels:
bridge.TradeCheckNumberConversions.ToInt
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int TradeCheck(InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue)
=> bridge.TradeCheck(NumberConversions.ToInt(windowIndex), NumberConversions.ToInt(checkbox), NumberConversions.ToInt(stateValue), true);Exécute les appels et les modifications d’état indiqués.
Paramètres: int[] supportedLayers, string successMessage
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5817.
private int Unequip(int[] supportedLayers, string successMessage)
Résultat: int.
Conditions:
bridge.ObjAtLayer(layer) != 0state.DressSpeed > 0
Appels:
bridge.ObjAtLayerbridge.UnequipinjectionApi.WaitSystemMessage
Code interne de l’implémentation ; ce n’est pas un script autonome.
private int Unequip(int[] supportedLayers, string successMessage)
{
bool success = true;
foreach (var layer in supportedLayers)
{
if (bridge.ObjAtLayer(layer) != 0)
{
success &= bridge.Unequip(layer) != 0;
if (state.DressSpeed > 0)
injectionApi.Wait(state.DressSpeed);
}
}
SystemMessage(success ? successMessage : "Some equipment could not be removed.");
return success ? 1 : 0;
}Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4486.
public void UnsetReceivingContainer()
Résultat: void.
Appels:
bridge.UnsetReceivingContainer
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void UnsetReceivingContainer() => bridge.UnsetReceivingContainer();Exécute les appels et les modifications d’état indiqués.
Paramètres: string id
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4036.
public void UseObject(string id)
Résultat: void.
Appels:
UseObjectGetObject
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void UseObject(string id) => UseObject(GetObject(id));Exécute les appels et les modifications d’état indiqués.
Paramètres: int type, int color
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4093.
public int UseType(int type, int color)
Résultat: int.
Appels:
CompactUseType
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int UseType(int type, int color) => CompactUseType(new[]
{
new InjectionValue(type),
new InjectionValue(color)
});Exécute les appels et les modifications d’état indiqués.
Paramètres: int startTime, int maxDelay, string text
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5535.
public void WaitingForJournalText(int startTime, int maxDelay, string text)
Résultat: void.
Appels:
WaitingForJournalText
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void WaitingForJournalText(int startTime, int maxDelay, string text)
=> WaitingForJournalText(startTime, maxDelay, text, 0, 0, InjectionValue.Zero);Exécute les appels et les modifications d’état indiqués.
Paramètres: InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3443.
public int WaitingForMenu(InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial)
Résultat: int.
Conditions:
identity.Length == 0!identity.Equals(previousIdentity, StringComparison.Ordinal)observedMenuCount >= requiredMenuCount && nameMatchesblockMenu
Appels:
Math.MaxNumberConversions.ToIntmenuNameValue.ToStringtimeSource.Now.AddMillisecondsTriggerWaitActionbridge.GetLastMenuIdentityidentity.Equalsbridge.GetLastMenuCaptioncaption.Equalsbridge.CloseMenubridge.WaitMath.Min
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int WaitingForMenu(InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial)
{
int delay = Math.Max(0, NumberConversions.ToInt(delayValue));
int requiredMenuCount = Math.Max(1, NumberConversions.ToInt(menuCountValue));
bool blockMenu = NumberConversions.ToInt(blockMenuValue) != 0;
string expectedName = menuNameValue.ToString() ?? string.Empty;
DateTime deadline = timeSource.Now.AddMilliseconds(delay);
string previousIdentity = string.Empty;
int observedMenuCount = 0;
TriggerWaitAction(skillOrSerial);
do
{
string identity = bridge.GetLastMenuIdentity() ?? string.Empty;
if (identity.Length == 0)
{
// Reset between server menus so an identical menu opened again
// still counts as a new appearance.
previousIdentity = string.Empty;
}
else if (!identity.Equals(previousIdentity, StringComparison.Ordinal))
{
previousIdentity = identity;
observedMenuCount++;
string caption = bridge.GetLastMenuCaption() ?? string.Empty;
bool nameMatches = expectedName.Length == 0
|| caption.Equals(expectedName, StringComparison.Ordinal);
if (observedMenuCount >= requiredMenuCount && nameMatches)
{
if (blockMenu)
bridge.CloseMenu();
return 1;
}
}
if (timeSource.Now >= deadline)
break;
bridge.Wait(Math.Min(25, Math.Max(1, delay)));
}
while (true);
return 0;
}Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3438.
public int WaitingMenu()
Résultat: int.
Appels:
bridge.WaitingMenu
Code interne de l’implémentation ; ce n’est pas un script autonome.
public int WaitingMenu() => bridge.WaitingMenu();L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4667.
values
Résultat: values.
Résultat: new InjectionValue(CompactFindMan(values)).
Appels: CompactFindMan.
Appels:
-
InjectionScript.Runtime.InjectionApiUO.CompactFindMan:CompactFindMan(values).
Code interne de l’implémentation ; ce n’est pas un script autonome.
values => new InjectionValue(CompactFindMan(values))L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1049.
Résultat: bridge.FollowersMax.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FollowersMax:bridge.FollowersMax.
Code interne de l’implémentation ; ce n’est pas un script autonome.
() => bridge.FollowersMaxL’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1031.
Résultat: bridge.Intelligence.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Intelligence:bridge.Intelligence.
Code interne de l’implémentation ; ce n’est pas un script autonome.
() => bridge.IntelligenceL’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1028.
Résultat: bridge.Stamina.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina:bridge.Stamina.
Code interne de l’implémentation ; ce n’est pas un script autonome.
() => bridge.StaminaL’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:693.
values
Résultat: values.
Résultat: new InjectionValue(SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1]))).
Appels: SkillVal, values[0].ToString, NumberConversions.ToInt.
Appels:
-
InjectionScript.Runtime.InjectionApiUO.SkillVal:SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1])). -
InjectionScript.Runtime.InjectionValue.ToString:values[0].ToString(). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[1]).
Code interne de l’implémentation ; ce n’est pas un script autonome.
values => new InjectionValue(SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1])))L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1028.
Résultat: bridge.Stamina.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina:bridge.Stamina.
Code interne de l’implémentation ; ce n’est pas un script autonome.
() => bridge.StaminaL’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1030.
Résultat: bridge.Strength.
Appels:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Strength:bridge.Strength.
Code interne de l’implémentation ; ce n’est pas un script autonome.
() => bridge.StrengthRenvoie la valeur de l’expression ci-dessous.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.
value
Résultat: value.
Résultat: getter(GetObject(value)).
Appels: getter, GetObject.
Appels:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value).
Code interne de l’implémentation ; ce n’est pas un script autonome.
value => getter(GetObject(value))Renvoie la valeur de l’expression ci-dessous.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.
value
Résultat: value.
Résultat: getter(GetObject(value)).
Appels: getter, GetObject.
Appels:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value).
Code interne de l’implémentation ; ce n’est pas un script autonome.
value => getter(GetObject(value))Exécute les appels et les modifications d’état indiqués.
Paramètres: string name, params InjectionValue[] args
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeConsoleDispatch.cs:358.
private void CallNativeSubrutine(string name, params InjectionValue[] args)
Résultat: void.
Conditions:
!Metadata.TryGetNativeSubrutine("UO." + name, args, out var nativeSubrutine)result.Kind != InjectionValueKind.Unit && name.IndexOf("Info", StringComparison.OrdinalIgnoreCase) < 0
Appels:
CheckpointMetadata.TryGetNativeSubrutinenativeSubrutine.Callname.IndexOfbridge.Printresult.ToString
Code interne de l’implémentation ; ce n’est pas un script autonome.
private void CallNativeSubrutine(string name, params InjectionValue[] args)
{
Checkpoint();
if (!Metadata.TryGetNativeSubrutine("UO." + name, args, out var nativeSubrutine))
throw new NativeSubrutineException($"Native UO command '{name}' with {args.Length} argument(s) was not found.");
InjectionValue result = nativeSubrutine.Call(args);
if (result.Kind != InjectionValueKind.Unit && name.IndexOf("Info", StringComparison.OrdinalIgnoreCase) < 0)
bridge.Print(result.ToString());
Checkpoint();
}Exécute les appels et les modifications d’état indiqués.
Paramètres: string parameters
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeConsoleDispatch.cs:10.
public void Exec(string parameters)
Résultat: void.
Conditions:
parts.Length == 0command.StartsWith("UO.", StringComparison.OrdinalIgnoreCase)command.Equals("exec", StringComparison.OrdinalIgnoreCase)parts.Length != 2 || string.IsNullOrWhiteSpace(parts[1].Text)
Appels:
-
Tokenize(parameters).ToArray -
Tokenize -
command.StartsWith -
command.Substring -
command.Equals -
string.IsNullOrWhiteSpace -
bridge.Exec -
parts.Skip(1).ToArray -
parts.Skip -
NormalizeCompoundConsoleAlias -
arguments.Select(token => token.Text).ToArray -
arguments.Select -
TryHandleLegacyConsoleCommand -
NormalizeConsoleAlias -
IsRemainderTextCommand -
string.Join -
rawArguments.Skip -
`arguments.Select(token => token.Quoted
? new InjectionValue(token.Text) : ToConsoleValue(token.Text)).ToArray` -
ToConsoleValue -
CallNativeSubrutine
Code interne de l’implémentation ; ce n’est pas un script autonome.
public void Exec(string parameters)
{
ConsoleToken[] parts = Tokenize(parameters).ToArray();
if (parts.Length == 0)
return;
string command = parts[0].Text;
if (command.StartsWith("UO.", StringComparison.OrdinalIgnoreCase)) command = command.Substring(3);
if (command.Equals("exec", StringComparison.OrdinalIgnoreCase))
{
if (parts.Length != 2 || string.IsNullOrWhiteSpace(parts[1].Text))
throw new NativeSubrutineException("Usage: exec script_function");
bridge.Exec(parts[1].Text);
return;
}
ConsoleToken[] arguments = parts.Skip(1).ToArray();
(command, arguments) = NormalizeCompoundConsoleAlias(command, arguments);
string[] rawArguments = arguments.Select(token => token.Text).ToArray();
if (TryHandleLegacyConsoleCommand(command, rawArguments))
return;
command = NormalizeConsoleAlias(command);
if (IsRemainderTextCommand(command) && rawArguments.Length > 0)
arguments = new[] { new ConsoleToken(string.Join(" ", rawArguments), true) };
else if (command.Equals("ColorPrint", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 1)
arguments = new[] { arguments[0], new ConsoleToken(string.Join(" ", rawArguments.Skip(1)), true) };
else if (command.Equals("CharPrint", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 2)
arguments = new[] { arguments[0], arguments[1], new ConsoleToken(string.Join(" ", rawArguments.Skip(2)), true) };
else if (command.Equals("SetGlobal", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 2)
// Chat parameters are space-separated. Preserve a human-readable
// global value after its key without forcing the player to quote it.
arguments = new[] { arguments[0], new ConsoleToken(string.Join(" ", rawArguments.Skip(1)), true) };
InjectionValue[] args = arguments.Select(token => token.Quoted
? new InjectionValue(token.Text) : ToConsoleValue(token.Text)).ToArray();
CallNativeSubrutine(command, args);
}Exécute les appels et les modifications d’état indiqués.
Paramètres: Aucun paramètre.
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionValue.cs:405.
public override string ToString()
Résultat: string.
Appels:
Integer.ToStringDecimal.ToStringFormatArray
Code interne de l’implémentation ; ce n’est pas un script autonome.
public override string ToString()
{
switch (Kind)
{
case InjectionValueKind.Unit:
return "<unit>";
case InjectionValueKind.Integer:
return Integer.ToString(System.Globalization.CultureInfo.InvariantCulture);
case InjectionValueKind.String:
return String;
case InjectionValueKind.Decimal:
return Decimal.ToString(System.Globalization.CultureInfo.InvariantCulture);
case InjectionValueKind.Array:
return FormatArray(Array, new HashSet<InjectionValue[]>(), 0);
case InjectionValueKind.Object:
return Object?.Name ?? string.Empty;
default:
throw new InvalidOperationException($"Unknown InjectionValue kind {Kind}.");
}
}Exécute les appels et les modifications d’état indiqués.
Paramètres: short id
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NumberConversions.cs:80.
public static string ToHex(short id)
Résultat: string.
Appels:
—
Code interne de l’implémentation ; ce n’est pas un script autonome.
public static string ToHex(short id) => $"0x{id:X4}";Exécute les appels et les modifications d’état indiqués.
Paramètres: byte[] bytes
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/ObjectTypes/MemoryStreamObject.cs:26.
internal void ReplaceBytes(byte[] bytes)
Résultat: void.
Conditions:
bytes == null
Appels:
stream.SetLengthArray.Empty<byte>stream.Write
Code interne de l’implémentation ; ce n’est pas un script autonome.
internal void ReplaceBytes(byte[] bytes)
{
stream.SetLength(0);
stream.Position = 0;
if (bytes == null)
bytes = Array.Empty<byte>();
stream.Write(bytes, 0, bytes.Length);
stream.Position = 0;
}Exécute les appels et les modifications d’état indiqués.
Paramètres: string name
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/Globals.cs:45.
public string GetGlobal(string name)
Résultat: string.
Appels:
GetGlobalShared
Code interne de l’implémentation ; ce n’est pas un script autonome.
public string GetGlobal(string name) => GetGlobalShared(name);Exécute les appels et les modifications d’état indiqués.
Paramètres: string name
Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedIgnoreLists.cs:115.
private static string RequireName(string name)
Résultat: string.
Conditions:
string.IsNullOrWhiteSpace(name)
Appels:
string.IsNullOrWhiteSpacenameofname.Trim
Code interne de l’implémentation ; ce n’est pas un script autonome.
private static string RequireName(string name)
{
if (string.IsNullOrWhiteSpace(name)) throw new ArgumentException("Ignore list name must not be empty.", nameof(name));
return name.Trim();
}Exécute les appels et les modifications d’état indiqués.
Paramètres: World world, uint target, bool mount, Action<uint> sendUse, long now
Source: Project_Full/src/ClassicUO.Client/Game/Managers/NativeMountController.cs:25.
internal bool Request(World world, uint target, bool mount, Action<uint> sendUse, long now)
Résultat: bool.
Conditions:
player == null || player.IsDestroyed || player.IsDead || !world.InGame_pendingPlayer != null!ReferenceEquals(_pendingPlayer, player) || layerSerial != _pendingLayer || now >= _pendingUntilmount
Appels:
Clearplayer.FindItemByLayerReferenceEqualsworld.GetMath.MaxMath.AbsIsCarriedBysendUse
Le fichier source contient le code complet ; les extraits exacts suivent.
Code interne de l’implémentation ; ce n’est pas un script autonome.
internal bool Request(World world, uint target, bool mount, Action<uint> sendUse, long now)
{
PlayerMobile player = world?.Player;
if (player == null || player.IsDestroyed || player.IsDead || !world.InGame)
{
Clear();
return false;
}
// …
if (_pendingPlayer != null)
// …
if (!ReferenceEquals(_pendingPlayer, player) || layerSerial != _pendingLayer
// …
return false;
// …
if (mount)
// …
if (layerSerial != 0 || target == 0 || target == player.Serial)
return false;
// …
if (entity == null || entity.IsDestroyed)
return false;
if (entity is Mobile mobile)
// …
if (mobile.IsDead || Math.Max(Math.Abs((int)mobile.X - player.X),
// …
return false;
// …
else if (entity is Item item)
// …
if (!IsCarriedBy(world, item, player.Serial))
return false;
// …
return false;
// …
if (layerSerial == 0 || layer.Graphic == 0x3E96)
return false;
// …
}
sendUse(target);
_pendingPlayer = player;
_pendingLayer = layerSerial;
_pendingUntil = now + ConfirmationTimeoutMilliseconds;
return true;
}