IT Runtime Helpers 6 - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Codice interno di implementazione; non è uno script autonomo.
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.Removelistener.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();
}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();
}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.");
}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.IsNullOrWhiteSpaceIsWindowsTrimmedSuffixbuilder.Append('~').Appendbuilder.Append((int)character).ToStringbuilder.ToStringresult.SplitbaseName.EqualsbaseName.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;
}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:
InvokeSDL3.SDL.SDL_RaiseWindowRequireGameView
Codice interno di implementazione; non è uno script autonomo.
public void ActivateHandle() => Invoke(() => SDL3.SDL.SDL_RaiseWindow(RequireGameView("ActivateHandle").Window.Handle));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:
InvokeJournalManager.AddYokoIgnoredUser
Codice interno di implementazione; non è uno script autonomo.
public void AddChatUserIgnore(string name) => Invoke(() => JournalManager.AddYokoIgnoredUser(name));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));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 == 2uiWindowType == 0uiWindowType == 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();
});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:
InvokeFindNumberedTradeGameActions.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;
});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);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 logicalcontrol is Button buttoncontrol is Checkbox checkbox
Chiamate:
logical.Describecontrol.GetTypeGetControlTextstring.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}";
}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);
}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;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);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:
InvokeServerGumpsUnsafe
Codice interno di implementazione; non è uno script autonomo.
public int GetGumpCount() => Invoke(() => ServerGumpsUnsafe().Count);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:
InvokeServerGumpsUnsafe().ElementAtOrDefaultServerGumpsUnsafe
Codice interno di implementazione; non è uno script autonomo.
public int GetGumpSerial(int index) => Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.LocalSerial ?? 0));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);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);
}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();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);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;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);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 };
});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;
});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:
ClickStopwatch.StartNewMath.Maxstring.IsNullOrEmptyGetNameWaitMath.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)));
}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:
InvokeGameActions.ReplyGumpArray.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>>());
});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:
ServerGumpsUnsafegumps.LastOrDefaultgumps.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);
}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;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:
InvokeGameActions.SayReportStatus
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");
});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);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;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);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.LengthabilityId == primaryabilityId == secondary
Chiamate:
InvokeGameActions.UsePrimaryAbilityGameActions.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;
});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_clockNormalizeKeyNormalizeTextTrimOldest
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++;
}
}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:
InvokeOnGameThreadcallback
Codice interno di implementazione; non è uno script autonomo.
internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)
{
InvokeOnGameThread(() =>
{
callback();
return true;
}, cancellationToken);
}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:
ElementAtRunningScriptsscript.ToggleManualPauseMarkRuntimeStateChanged
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();
}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:
IsScriptPublicationCurrentVolatile.WritePublishStatus
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);
}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;
}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.GetHeadObjectobj.UpdateGraphicBySeason.GetCurrentMusicaudio.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);
}
}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," ");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.IsNullOrEmptyvalue.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);
}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 == 0dx == 0dy == 0dx > 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;
}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:
ResolveCompactDistancebridge.GetFindDistanceResolveCompactMaxZbridge.GetFindVerticalToBooleanNumberConversions.ToIntTryResolveClassRulesFilterMobilesSelectClassCandidatebridge.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;
}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 == 0bridge is IApiGumpAutomation automationvalue.Kind == InjectionValueKind.ArrayCompactWaitGump(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;
}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.");
}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.TrimResolveTransferDestination
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);
}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:
CountResolveType
Codice interno di implementazione; non è uno script autonomo.
public int Count(InjectionValue type)
=> Count(ResolveType(type), -1, -1);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.DeleteJournalSelectJournalEntry
Codice interno di implementazione; non è uno script autonomo.
public void DeleteJournal(string text)
{
bridge.DeleteJournal(text);
SelectJournalEntry(null);
}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.TryGetobjects.RemoveSystemMessage
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");
}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:
-
InjectionScript.Runtime.InjectionValue.ToString:arguments[index].ToString().
Codice interno di implementazione; non è uno script autonomo.
string Text(int index) => index < arguments.Length ? arguments[index].ToString() : string.Empty;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:
-
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Codice interno di implementazione; non è uno script autonomo.
case "addtojournal":
case "addtosystemjournal":
case "clientprint":
SystemMessage(Text(0)); return InjectionValue.Unit;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:
-
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).
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;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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CancelTrade:bridge.CancelTrade(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Codice interno di implementazione; non è uno script autonomo.
case "canceltrade": return new InjectionValue(bridge.CancelTrade(Arg(0)));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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ConnectClient:bridge.ConnectClient().
Codice interno di implementazione; non è uno script autonomo.
case "connect": bridge.ConnectClient(); return InjectionValue.Unit;Questo ramo gestisce soltanto il nome del comando indicato.
Parametri: Nessun parametro.
Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1565.
Chiamate:
-
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)).
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)));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:
-
InjectionScript.Runtime.InjectionApiUO.ChangeEquipmentItems:ChangeEquipmentItems(ArrayArg(0), true). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::ArrayArg:ArrayArg(0).
Codice interno di implementazione; non è uno script autonomo.
case "equipitems":
return new InjectionValue(ChangeEquipmentItems(ArrayArg(0), true));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:
-
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.
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) });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:
-
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).
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));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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetActiveAbility:bridge.GetActiveAbility().
Codice interno di implementazione; non è uno script autonomo.
case "getactiveability": return new InjectionValue(bridge.GetActiveAbility());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:
-
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).
Codice interno di implementazione; non è uno script autonomo.
case "getmenuitems": return StringArray(bridge.GetMenuItems(Text(0), false));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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GlobalChatSend:bridge.GlobalChatSend(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Codice interno di implementazione; non è uno script autonomo.
case "globalchatsendmsg": bridge.GlobalChatSend(Text(0)); return InjectionValue.Unit;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:
-
InjectionScript.Runtime.InjectionApiUO.InJournal:InJournal(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Codice interno di implementazione; non è uno script autonomo.
case "injournal": return new InjectionValue(InJournal(Text(0)));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);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:
-
InjectionScript.Runtime.InjectionApiUO.ReadPredictedCoordinate:ReadPredictedCoordinate(1).
Codice interno di implementazione; non è uno script autonomo.
case "predictedy": return new InjectionValue(ReadPredictedCoordinate(1));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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestContextMenu:bridge.RequestContextMenu(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Codice interno di implementazione; non è uno script autonomo.
case "requestcontextmenu": bridge.RequestContextMenu(Arg(0)); return InjectionValue.Unit;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;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:
-
InjectionScript.Runtime.InjectionApiUO.WarMode:WarMode(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Codice interno di implementazione; non è uno script autonomo.
case "setwarmode": WarMode(Arg(0)); return InjectionValue.Unit;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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTargetCursorId:bridge.GetTargetCursorId().
Codice interno di implementazione; non è uno script autonomo.
case "targetid": return new InjectionValue(bridge.GetTargetCursorId());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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseObject:bridge.UseObject(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Codice interno di implementazione; non è uno script autonomo.
case "useobject": bridge.UseObject(Arg(0)); return InjectionValue.Unit;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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseSecondaryAbility:bridge.UseSecondaryAbility().
Codice interno di implementazione; non è uno script autonomo.
case "usesecondaryability": bridge.UseSecondaryAbility(); return InjectionValue.Unit;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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitUntilTargeting:bridge.WaitUntilTargeting(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Codice interno di implementazione; non è uno script autonomo.
case "waitfortarget": return new InjectionValue(bridge.WaitUntilTargeting(Arg(0)));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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Weight:bridge.Weight.
Codice interno di implementazione; non è uno script autonomo.
case "weight": return new InjectionValue(bridge.Weight);Questo ramo gestisce soltanto il nome del comando indicato.
Parametri: Nessun parametro.
Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2844.
Chiamate:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList(name). -
InjectionScript.Runtime.InjectionValue.ToString:value.ToString().
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;Questo ramo gestisce soltanto il nome del comando indicato.
Parametri: Nessun parametro.
Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2876.
Chiamate:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClearMenuHooks:bridge.ClearMenuHooks().
Codice interno di implementazione; non è uno script autonomo.
case "cancelmenu": bridge.ClearMenuHooks(); break;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:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList("AddFindList"). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0).
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;Questo ramo gestisce soltanto il nome del comando indicato.
Parametri: Nessun parametro.
Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2888.
Chiamate:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseHandle:bridge.CloseHandle().
Codice interno di implementazione; non è uno script autonomo.
case "closeuo": bridge.CloseHandle(); break;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:
-
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]).
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;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:
-
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]).
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;Questo ramo gestisce soltanto il nome del comando indicato.
Parametri: Nessun parametro.
Origine: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3020.
Chiamate:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Resync:bridge.Resync().
Codice interno di implementazione; non è uno script autonomo.
case "resend": bridge.Resync(); break;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);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));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;
}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.GetTileDataNameNumberConversions.ToInt
Codice interno di implementazione; non è uno script autonomo.
public string GetTileName(InjectionValue group, InjectionValue tileId)
=> bridge.GetTileDataName(NumberConversions.ToInt(group), NumberConversions.ToInt(tileId));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.TryGetValueNumberConversions.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;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:
GetYGetObject
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");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);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:
InJournalCoreMath.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);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;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.IsTreeTileNumberConversions.ToInt
Codice interno di implementazione; non è uno script autonomo.
public int IsTreeTile(InjectionValue x, InjectionValue y) => bridge.IsTreeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y));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:
JournalEntryTimebridge.JournalTimestamp
Codice interno di implementazione; non è uno script autonomo.
private int JournalEntryTime(int index)
=> JournalEntryTime(bridge.JournalTimestamp(index));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.MorphTimer
Codice interno di implementazione; non è uno script autonomo.
public void Morph(int type)
{
bridge.Morph(type);
ticksAnim = Timer();
}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 == 0targetContainer == 0 && state.DropCheckCoord != 0Math.Max(Math.Abs(x - playerX), Math.Abs(y - playerY)) > 2
Chiamate:
bridge.GetXbridge.GetYMath.MaxMath.AbsSystemMessagebridge.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;
}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();
}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);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:
-
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)).
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));
}
}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.ToIntbridge.GetFindDistanceMath.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);
}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.");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.ToStringstring.IsNullOrWhiteSpaceNumberConversions.TryStr2IntSetEvent
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));
}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);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);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);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();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:
TrackNumberConversions.ToIntGetXGetY
Codice interno di implementazione; non è uno script autonomo.
public void Track(InjectionValue flag) => Track(NumberConversions.ToInt(flag), GetX(), GetY());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.TradeCheckNumberConversions.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);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) != 0state.DressSpeed > 0
Chiamate:
bridge.ObjAtLayerbridge.UnequipinjectionApi.WaitSystemMessage
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;
}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();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:
UseObjectGetObject
Codice interno di implementazione; non è uno script autonomo.
public void UseObject(string id) => UseObject(GetObject(id));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)
});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);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 && nameMatchesblockMenu
Chiamate:
Math.MaxNumberConversions.ToIntmenuNameValue.ToStringtimeSource.Now.AddMillisecondsTriggerWaitActionbridge.GetLastMenuIdentityidentity.Equalsbridge.GetLastMenuCaptioncaption.Equalsbridge.CloseMenubridge.WaitMath.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;
}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();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:
-
InjectionScript.Runtime.InjectionApiUO.CompactFindMan:CompactFindMan(values).
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(CompactFindMan(values))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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FollowersMax:bridge.FollowersMax.
Codice interno di implementazione; non è uno script autonomo.
() => bridge.FollowersMaxLa 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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Intelligence:bridge.Intelligence.
Codice interno di implementazione; non è uno script autonomo.
() => bridge.IntelligenceLa 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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina:bridge.Stamina.
Codice interno di implementazione; non è uno script autonomo.
() => bridge.StaminaLa 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:
-
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]).
Codice interno di implementazione; non è uno script autonomo.
values => new InjectionValue(SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1])))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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina:bridge.Stamina.
Codice interno di implementazione; non è uno script autonomo.
() => bridge.StaminaLa 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:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Strength:bridge.Strength.
Codice interno di implementazione; non è uno script autonomo.
() => bridge.StrengthRestituisce 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:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value).
Codice interno di implementazione; non è uno script autonomo.
value => getter(GetObject(value))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:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value).
Codice interno di implementazione; non è uno script autonomo.
value => getter(GetObject(value))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:
CheckpointMetadata.TryGetNativeSubrutinenativeSubrutine.Callname.IndexOfbridge.Printresult.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();
}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 == 0command.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);
}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.ToStringDecimal.ToStringFormatArray
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}.");
}
}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}";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.SetLengthArray.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;
}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);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.IsNullOrWhiteSpacenameofname.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();
}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 >= _pendingUntilmount
Chiamate:
Clearplayer.FindItemByLayerReferenceEqualsworld.GetMath.MaxMath.AbsIsCarriedBysendUse
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;
}