Repository navigation
Runtime Helpers F
uk · ru · en · de · fr · it · es · zh-tw · ja · ko
Внутрішній код реалізації, не самостійний скрипт.
Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:109.
private IDisposable BindWorker()
Результат: IDisposable.
Результат: new Release(() => Current.Value = previous).
Внутрішній код реалізації, не самостійний скрипт.
private IDisposable BindWorker()
{
var previous = Current.Value;
Current.Value = new Ambient(this, previous);
return new Release(() => Current.Value = previous);
}Перевіряє умови нижче й повертає показаний результат.
Параметри: eventName, handler
Джерело: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:227.
public IDisposable Subscribe(string eventName, Func<object?[], Task> handler)
Результат: IDisposable.
Результат: new Release(() => Remove(listener)).
Виклики: ArgumentNullException.ThrowIfNull, Verify, events.Subscribe, listeners.Add, source.Dispose.
Умови: events is null.
Виклики:
-
ClassicUO.CSharp.CSharpCallbacks.Verify:Verify(). -
ClassicUO.CSharp.CSharpCallbacks.Remove:Remove(listener).
Внутрішній код реалізації, не самостійний скрипт.
public IDisposable Subscribe(string eventName, Func<object?[], Task> handler)
{
ArgumentNullException.ThrowIfNull(handler);
Verify();
if (events is null) throw new InvalidOperationException("Client events require a connected C# event source.");
var source = events.Subscribe(eventName);
var listener = new Listener(eventName, source, handler);
try { lock (sync) { Verify(); listeners.Add(listener); } }
catch { source.Dispose(); throw; }
return new Release(() => Remove(listener));
}Виконує показані виклики та оновлення стану.
Параметри: state
Джерело: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:392.
private void Trigger(StateEvent state)
Результат: void.
Виклики: stateEvents.GetValueOrDefault, RemoveState, Exists, Start, host.HasCSharpScript, host.ExecuteCSharpScript.
Умови: stateEvents.GetValueOrDefault(state.Name) != state; !state.Repeat; state.Handler.Length == 0; Exists(state.Handler).
Виклики:
-
ClassicUO.CSharp.CSharpCallbacks.RemoveState:RemoveState(state.Name). -
ClassicUO.CSharp.CSharpCallbacks.Exists:Exists(state.Handler).
Внутрішній код реалізації, не самостійний скрипт.
private void Trigger(StateEvent state)
{
lock (sync) if (stateEvents.GetValueOrDefault(state.Name) != state) return;
if (!state.Repeat) RemoveState(state.Name);
if (state.Handler.Length == 0) return;
if (Exists(state.Handler)) Start(state.Handler);
else if (events is ICSharpScriptHost host && host.HasCSharpScript(state.Handler))
host.ExecuteCSharpScript("exec \"" + state.Handler + "\"");
else throw new ArgumentException($"Register the C# routine or load the C# event script '{state.Handler}' before enabling this handler.");
}Виконує показані виклики та оновлення стану.
Параметри: skillindex, lockstate
Джерело: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:729.
public static void ChangeSkillLockStatus(ushort skillindex, byte lockstate)
Результат: void.
Виклики: Socket.Send_SkillStatusChangeRequest.
Внутрішній код реалізації, не самостійний скрипт.
public static void ChangeSkillLockStatus(ushort skillindex, byte lockstate)
{
Socket.Send_SkillStatusChangeRequest(skillindex, lockstate);
}Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:623.
public int CircleTrans()
Результат: int.
Результат: Invoke(() => ProfileManager.CurrentProfile?.UseCircleOfTransparency == true ? 1 : 0).
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => ProfileManager.CurrentProfile?.UseCircleOfTransparency == true ? 1 : 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => ProfileManager.CurrentProfile?.UseCircleOfTransparency == true ? 1 : 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public int CircleTrans() => Invoke(() => ProfileManager.CurrentProfile?.UseCircleOfTransparency == true ? 1 : 0);Виконує показані виклики та оновлення стану.
Параметри: id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2840.
public void CloseClientGump(int id)
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { foreach (Gump gump in ServerGumpsUnsafe().Where(gump => gump.ServerSerial == (uint)id).ToArray()) gump.Dispose(); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { foreach (Gump gump in ServerGumpsUnsafe().Where(gump => gump.ServerSerial == (uint)id).ToArray()) gump.Dispose(); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerGumpsUnsafe:ServerGumpsUnsafe().
Внутрішній код реалізації, не самостійний скрипт.
public void CloseClientGump(int id) => Invoke(() =>
{
foreach (Gump gump in ServerGumpsUnsafe().Where(gump => gump.ServerSerial == (uint)id).ToArray())
gump.Dispose();
});Повертає значення виразу нижче.
Параметри: control
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3951.
private static int ControlButtonId(Control control)
Результат: int.
Результат: control is Button b ? b.ButtonID : ((SessionGumpControl)control).ButtonId.
Внутрішній код реалізації, не самостійний скрипт.
private static int ControlButtonId(Control control) => control is Button b ? b.ButtonID : ((SessionGumpControl)control).ButtonId;Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1924.
public void DeleteJournal()
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { JournalManager.Entries.Clear(); _journalLine = 0; _journalMatchCount = 0; _lastJournalMatch = null; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { JournalManager.Entries.Clear(); _journalLine = 0; _journalMatchCount = 0; _lastJournalMatch = null; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public void DeleteJournal() => Invoke(() =>
{
JournalManager.Entries.Clear();
_journalLine = 0;
_journalMatchCount = 0;
_lastJournalMatch = null;
});Читає актуальне значення персонажа з локальної моделі клієнта.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:152.
public int Dexterity
Результат: int.
Результат: Invoke(() => _world.Player is { IsDestroyed: false } player ? player.Dexterity : 0).
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Player is { IsDestroyed: false } player ? player.Dexterity : 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Player is { IsDestroyed: false } player ? player.Dexterity : 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public int Dexterity => Invoke(() => _world.Player is { IsDestroyed: false } player ? player.Dexterity : 0);Повертає значення виразу нижче.
Параметри: index
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2815.
public int GetGumpId(int index)
Результат: int.
Результат: Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.ServerSerial ?? 0)).
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.ServerSerial ?? 0)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.ServerSerial ?? 0)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerGumpsUnsafe:ServerGumpsUnsafe().
Внутрішній код реалізації, не самостійний скрипт.
public int GetGumpId(int index) => Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.ServerSerial ?? 0));Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2707.
public int[] GetIgnoreList()
Результат: int[].
Результат: State.IgnoredSerials.OrderBy(serial => serial).ToArray().
Виклики: State.IgnoredSerials.OrderBy(serial => serial).ToArray, State.IgnoredSerials.OrderBy.
Внутрішній код реалізації, не самостійний скрипт.
public int[] GetIgnoreList() => State.IgnoredSerials.OrderBy(serial => serial).ToArray();Повертає значення виразу нижче.
Параметри: id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:236.
public int GetMaxStamina(int id)
Результат: int.
Результат: Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.StaminaMax ?? 0).
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.StaminaMax ?? 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.StaminaMax ?? 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.World.Get:_world.Get(unchecked((uint)id)).
Внутрішній код реалізації, не самостійний скрипт.
public int GetMaxStamina(int id) => Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.StaminaMax ?? 0);Повертає значення виразу нижче.
Параметри: timeoutMs
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:339.
public int GetPing(int timeoutMs)
Результат: int.
Результат: TryProbeServerPing(timeoutMs, out int pingMs) ? pingMs : -1.
Виклики: TryProbeServerPing.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TryProbeServerPing:TryProbeServerPing(timeoutMs, out int pingMs).
Внутрішній код реалізації, не самостійний скрипт.
public int GetPing(int timeoutMs)
=> TryProbeServerPing(timeoutMs, out int pingMs) ? pingMs : -1;Повертає значення виразу нижче.
Параметри: name, current, cap
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2093.
public double GetSkillValue(string name, bool current, bool cap)
Результат: double.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { Skill skill = FindSkillUnsafe(name); if (skill == null) return 0d; // Convert the protocol's tenths directly to the runtime's Double. // Widening Skill.Value/Base/Cap first preserves their Single rounding error. return (cap ? skill.CapFixed : current ? skill.ValueFixed : skill.BaseFixed) / 10d; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { Skill skill = FindSkillUnsafe(name); if (skill == null) return 0d; // Convert the protocol's tenths directly to the runtime's Double. // Widening Skill.Value/Base/Cap first preserves their Single rounding error. return (cap ? skill.CapFixed : current ? skill.ValueFixed : skill.BaseFixed) / 10d; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindSkillUnsafe:FindSkillUnsafe(name).
Внутрішній код реалізації, не самостійний скрипт.
public double GetSkillValue(string name, bool current, bool cap) => Invoke(() =>
{
Skill skill = FindSkillUnsafe(name);
if (skill == null) return 0d;
// Convert the protocol's tenths directly to the runtime's Double.
// Widening Skill.Value/Base/Cap first preserves their Single rounding error.
return (cap ? skill.CapFixed : current ? skill.ValueFixed : skill.BaseFixed) / 10d;
});Повертає значення виразу нижче.
Параметри: stat
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2109.
public int GetStatLockState(int stat)
Результат: int.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => stat switch { 0 => (int)(_world.Player?.StrLock ?? Lock.Up), 1 => (int)(_world.Player?.DexLock ?? Lock.Up), 2 => (int)(_world.Player?.IntLock ?? Lock.Up), _ => -1 }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => stat switch { 0 => (int)(_world.Player?.StrLock ?? Lock.Up), 1 => (int)(_world.Player?.DexLock ?? Lock.Up), 2 => (int)(_world.Player?.IntLock ?? Lock.Up), _ => -1 }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public int GetStatLockState(int stat) => Invoke(() => stat switch
{
0 => (int)(_world.Player?.StrLock ?? Lock.Up),
1 => (int)(_world.Player?.DexLock ?? Lock.Up),
2 => (int)(_world.Player?.IntLock ?? Lock.Up),
_ => -1
});Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2387.
string ReadTooltip()
Результат: string.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (!_world.OPL.TryGetNameAndData(serial, out string name, out string data)) return null; if (string.IsNullOrWhiteSpace(name)) return data ?? string.Empty; if (string.IsNullOrWhiteSpace(data)) return name; return name + Environment.NewLine + data; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (!_world.OPL.TryGetNameAndData(serial, out string name, out string data)) return null; if (string.IsNullOrWhiteSpace(name)) return data ?? string.Empty; if (string.IsNullOrWhiteSpace(data)) return name; return name + Environment.NewLine + data; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
string ReadTooltip() => Invoke(() =>
{
if (!_world.OPL.TryGetNameAndData(serial, out string name, out string data))
return null;
if (string.IsNullOrWhiteSpace(name)) return data ?? string.Empty;
if (string.IsNullOrWhiteSpace(data)) return name;
return name + Environment.NewLine + data;
});Перевіряє умови нижче й повертає показаний результат.
Параметри: objectId
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2437.
public (int ClilocID, string[] Parameters)[] GetTooltipRecords(int objectId)
Результат: (int ClilocID, string[] Parameters)[].
Результат: Array.Empty<(int, string[])>(); records.
Виклики: Array.Empty<(int, string[])>, ReadRecords, Invoke, _cancellationToken.ThrowIfCancellationRequested, _cancellationToken.WaitHandle.WaitOne.
Умови: serial == 0; records.Length != 0; Invoke(() => _world.OPL.Contains(serial)).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.OPL.GetRecords(serial)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.OPL.GetRecords(serial)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTooltipRecords::ReadRecords:ReadRecords(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.OPL.Contains(serial)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.OPL.Contains(serial)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public (int ClilocID, string[] Parameters)[] GetTooltipRecords(int objectId)
{
uint serial = unchecked((uint)objectId);
if (serial == 0)
return Array.Empty<(int, string[])>();
(int ClilocID, string[] Parameters)[] ReadRecords() => Invoke(() => _world.OPL.GetRecords(serial));
var records = ReadRecords();
if (records.Length != 0)
return records;
if (Invoke(() => _world.OPL.Contains(serial)))
return records;
for (int waited = 0; waited < 120; waited += 10)
{
_cancellationToken.ThrowIfCancellationRequested();
_cancellationToken.WaitHandle.WaitOne(10);
records = ReadRecords();
if (records.Length != 0)
return records;
}
_cancellationToken.ThrowIfCancellationRequested();
return Array.Empty<(int, string[])>();
}Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2222.
public int[] GetWeaponAbilities()
Результат: int[].
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Player?.Abilities .Select(value => (int)((byte)value & 0x7F)) .Where(value => value > 0) .ToArray() ?? Array.Empty<int>()). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Player?.Abilities .Select(value => (int)((byte)value & 0x7F)) .Where(value => value > 0) .ToArray() ?? Array.Empty<int>()). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public int[] GetWeaponAbilities() => Invoke(() => _world.Player?.Abilities
.Select(value => (int)((byte)value & 0x7F))
.Where(value => value > 0)
.ToArray() ?? Array.Empty<int>());Повертає значення виразу нижче.
Параметри: id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:225.
public int GetY(int id)
Результат: int.
Результат: WithEntity(id, e => e.Y).
Виклики: WithEntity.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WithEntity:WithEntity(id, e => e.Y).
Внутрішній код реалізації, не самостійний скрипт.
public int GetY(int id) => WithEntity(id, e => e.Y);Виконує показані виклики та оновлення стану.
Параметри: message
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1564.
public void GlobalChatSend(string message)
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => NetClient.Socket.Send_ChatMessageCommand(message ?? string.Empty)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => NetClient.Socket.Send_ChatMessageCommand(message ?? string.Empty)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public void GlobalChatSend(string message) => Invoke(() => NetClient.Socket.Send_ChatMessageCommand(message ?? string.Empty));Повертає значення виразу нижче.
Параметри: x, y, z, map
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1419.
public int HasDoorAt(int x, int y, int z, int map)
Результат: int.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Map == null || map != _world.MapIndex) return 0; for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (Math.Abs(tile.Z - z) > 20) continue; bool isDoor = false; if (tile is Static staticTile) isDoor = staticTile.ItemData.IsDoor; else if (tile is Multi multiTile) isDoor = multiTile.ItemData.IsDoor; else if (tile is Item itemTile) isDoor = itemTile.ItemData.IsDoor; if (isDoor) return 1; } return 0; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Map == null || map != _world.MapIndex) return 0; for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (Math.Abs(tile.Z - z) > 20) continue; bool isDoor = false; if (tile is Static staticTile) isDoor = staticTile.ItemData.IsDoor; else if (tile is Multi multiTile) isDoor = multiTile.ItemData.IsDoor; else if (tile is Item itemTile) isDoor = itemTile.ItemData.IsDoor; if (isDoor) return 1; } return 0; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public int HasDoorAt(int x, int y, int z, int map) => Invoke(() =>
{
if (_world.Map == null || map != _world.MapIndex)
return 0;
for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext)
{
if (Math.Abs(tile.Z - z) > 20)
continue;
bool isDoor = false;
if (tile is Static staticTile)
isDoor = staticTile.ItemData.IsDoor;
else if (tile is Multi multiTile)
isDoor = multiTile.ItemData.IsDoor;
else if (tile is Item itemTile)
isDoor = itemTile.ItemData.IsDoor;
if (isDoor)
return 1;
}
return 0;
});Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1441.
public void HelpRequest()
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(GameActions.RequestHelp). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(GameActions.RequestHelp). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public void HelpRequest() => Invoke(GameActions.RequestHelp);Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1531.
public int InParty()
Результат: int.
Результат: Invoke(() => _world.Party.Leader != 0 ? 1 : 0).
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Party.Leader != 0 ? 1 : 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Party.Leader != 0 ? 1 : 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public int InParty() => Invoke(() => _world.Party.Leader != 0 ? 1 : 0);Передає роботу в ігровий потік і враховує скасування.
Параметри: callback
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4013.
private T Invoke<T>(Func<T> callback)
Результат: T.
Результат: _manager.InvokeOnGameThread(callback, _cancellationToken).
Виклики: _manager.InvokeOnGameThread.
Виклики:
-
ClassicUO.Game.Managers.YokoInjectionManager.InvokeOnGameThread:_manager.InvokeOnGameThread(callback, _cancellationToken). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.YokoInjectionManager.InvokeOnGameThread:_manager.InvokeOnGameThread(callback, _cancellationToken). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
private T Invoke<T>(Func<T> callback) => _manager.InvokeOnGameThread(callback, _cancellationToken);Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:584.
public int IsMoving()
Результат: int.
Результат: Invoke(() => _world.Player != null && (_world.Player.Pathfinder.AutoWalking || _world.Player.Steps.Count > 0) ? 1 : 0).
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Player != null && (_world.Player.Pathfinder.AutoWalking || _world.Player.Steps.Count > 0) ? 1 : 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Player != null && (_world.Player.Pathfinder.AutoWalking || _world.Player.Steps.Count > 0) ? 1 : 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public int IsMoving() => Invoke(() => _world.Player != null && (_world.Player.Pathfinder.AutoWalking || _world.Player.Steps.Count > 0) ? 1 : 0);Повертає значення виразу нижче.
Параметри: mobile
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3815.
private bool IsSelfMobile(Mobile mobile)
Результат: bool.
Результат: player != null && (ReferenceEquals(mobile, player) || mobile?.Serial == player.Serial).
Виклики: ReferenceEquals.
Внутрішній код реалізації, не самостійний скрипт.
private bool IsSelfMobile(Mobile mobile)
{
PlayerMobile player = _world.Player;
return player != null && (ReferenceEquals(mobile, player) || mobile?.Serial == player.Serial);
}Виконує показані виклики та оновлення стану.
Параметри: key
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1390.
public void KeyPress(int key)
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { RequireGameInput(); keybd_event((byte)key, 0, 0, UIntPtr.Zero); keybd_event((byte)key, 0, 2, UIntPtr.Zero); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { RequireGameInput(); keybd_event((byte)key, 0, 0, UIntPtr.Zero); keybd_event((byte)key, 0, 2, UIntPtr.Zero); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequireGameInput:RequireGameInput().
Внутрішній код реалізації, не самостійний скрипт.
public void KeyPress(int key) => Invoke(() =>
{
RequireGameInput();
keybd_event((byte)key, 0, 0, UIntPtr.Zero);
keybd_event((byte)key, 0, 2, UIntPtr.Zero);
});Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3660.
public void LoadHotkeys()
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(_world.Macros.Load). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(_world.Macros.Load). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public void LoadHotkeys() => Invoke(_world.Macros.Load);Перевіряє умови нижче й повертає показаний результат.
Параметри: item, containerId, range, recursive, checkVertical
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3850.
private bool MatchesFindContainer(Item item, int containerId, int range, bool recursive, bool checkVertical = true)
Результат: bool.
Результат: item.RootContainer == _world.Player?.Serial; recursive ? IsInsideContainer(item, (uint)containerId) : item.Container == (uint)containerId; true.
Виклики: Math.Abs, IsInsideContainer.
Умови: containerId == -1 || containerId == 0; containerId == 1; containerId > 1.
Внутрішній код реалізації, не самостійний скрипт.
private bool MatchesFindContainer(Item item, int containerId, int range, bool recursive, bool checkVertical = true)
{
if (containerId == -1 || containerId == 0)
return item.RootContainer == _world.Player?.Serial;
if (containerId == 1)
return item.OnGround && item.Distance <= range
&& (!checkVertical || _world.Player == null || Math.Abs(item.Z - _world.Player.Z) <= State.FindVertical);
if (containerId > 1)
return recursive ? IsInsideContainer(item, (uint)containerId) : item.Container == (uint)containerId;
return true;
}Повертає значення виразу нижче.
Параметри: x, y, unknown, minTile, maxTile
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3282.
public string PrivateGetTile(int x, int y, int unknown, int minTile, int maxTile)
Результат: string.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Map is null) return "0x0000"; GameObject tile = _world.Map.GetTile(x, y); while (tile != null) { if (tile.Graphic >= minTile && tile.Graphic <= maxTile) { return $"0x{tile.Graphic:X4}"; } tile = tile.TNext; } return "0x0000"; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Map is null) return "0x0000"; GameObject tile = _world.Map.GetTile(x, y); while (tile != null) { if (tile.Graphic >= minTile && tile.Graphic <= maxTile) { return $"0x{tile.Graphic:X4}"; } tile = tile.TNext; } return "0x0000"; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public string PrivateGetTile(int x, int y, int unknown, int minTile, int maxTile) => Invoke(() =>
{
if (_world.Map is null) return "0x0000";
GameObject tile = _world.Map.GetTile(x, y);
while (tile != null)
{
if (tile.Graphic >= minTile && tile.Graphic <= maxTile)
{
return $"0x{tile.Graphic:X4}";
}
tile = tile.TNext;
}
return "0x0000";
});Виконує показані виклики та оновлення стану.
Параметри: text
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1409.
public void ReplyServerPrompt(string text)
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.MessageManager.SendServerPromptResponse(text ?? string.Empty)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.MessageManager.SendServerPromptResponse(text ?? string.Empty)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public void ReplyServerPrompt(string text) => Invoke(() => _world.MessageManager.SendServerPromptResponse(text ?? string.Empty));Перевіряє умови нижче й повертає показаний результат.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:944.
public int RequestInteractiveTileInfoTarget()
Результат: int.
Результат: 0.
Виклики: Invoke.
Умови: !_interactiveCommands.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { _world.TargetManager.SetTargeting(selected => { bool valid = selected != null && selected is not Entity; string result = valid ? FormatTileInfo(selected, _world.MapIndex) : "UO.InfoTile: select a land or static map tile, not an item or mobile."; if (valid) OpenInteractiveInfoGump("C# Tile Information", result); PrintInteractiveResult(result); }, 0, TargetType.Neutral); PrintInteractiveResult("UO.InfoTile: target a land or static map tile."); return 1; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { _world.TargetManager.SetTargeting(selected => { bool valid = selected != null && selected is not Entity; string result = valid ? FormatTileInfo(selected, _world.MapIndex) : "UO.InfoTile: select a land or static map tile, not an item or mobile."; if (valid) OpenInteractiveInfoGump("C# Tile Information", result); PrintInteractiveResult(result); }, 0, TargetType.Neutral); PrintInteractiveResult("UO.InfoTile: target a land or static map tile."); return 1; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FormatTileInfo:FormatTileInfo(selected, _world.MapIndex). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.OpenInteractiveInfoGump:OpenInteractiveInfoGump("C# Tile Information", result). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PrintInteractiveResult:PrintInteractiveResult(result). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PrintInteractiveResult:PrintInteractiveResult("UO.InfoTile: target a land or static map tile.").
Внутрішній код реалізації, не самостійний скрипт.
public int RequestInteractiveTileInfoTarget()
{
if (!_interactiveCommands)
return 0;
return Invoke(() =>
{
_world.TargetManager.SetTargeting(selected =>
{
bool valid = selected != null && selected is not Entity;
string result = valid
? FormatTileInfo(selected, _world.MapIndex)
: "UO.InfoTile: select a land or static map tile, not an item or mobile.";
if (valid)
OpenInteractiveInfoGump("C# Tile Information", result);
PrintInteractiveResult(result);
}, 0, TargetType.Neutral);
PrintInteractiveResult("UO.InfoTile: target a land or static map tile.");
return 1;
});
}Виконує показані виклики та оновлення стану.
Параметри: message, color
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1397.
public void Say(string message, int color)
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { GameActions.Say(message ?? string.Empty, unchecked((ushort)color), allowYokoCommand: SCRIPT_SAY_ALLOW_YOKO_COMMAND); ReportStatus($"UO.UOSayColor delivered through ClassicUO server speech (hue=0x{unchecked((ushort)color):X4})"); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { GameActions.Say(message ?? string.Empty, unchecked((ushort)color), allowYokoCommand: SCRIPT_SAY_ALLOW_YOKO_COMMAND); ReportStatus($"UO.UOSayColor delivered through ClassicUO server speech (hue=0x{unchecked((ushort)color):X4})"); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ReportStatus:ReportStatus($"UO.UOSayColor delivered through ClassicUO server speech (hue=0x{unchecked((ushort)color):X4})").
Внутрішній код реалізації, не самостійний скрипт.
public void Say(string message, int color) => Invoke(() =>
{
GameActions.Say(message ?? string.Empty, unchecked((ushort)color),
allowYokoCommand: SCRIPT_SAY_ALLOW_YOKO_COMMAND);
ReportStatus($"UO.UOSayColor delivered through ClassicUO server speech (hue=0x{unchecked((ushort)color):X4})");
});Читає актуальне значення персонажа з локальної моделі клієнта.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:134.
public int Self
Результат: int.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Player is { IsDestroyed: false } player ? unchecked((int)player.Serial) : 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Player is { IsDestroyed: false } player ? unchecked((int)player.Serial) : 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public int Self => Invoke(() => _world.Player is { IsDestroyed: false } player
? unchecked((int)player.Serial) : 0);Виконує показані виклики та оновлення стану.
Параметри: reply
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3569.
public void SendShopReply(string reply)
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Shops.Last is { } shop) { shop.Reply(reply); return; } ShopGump gump = UIManager.Gumps.OfType<ShopGump>().LastOrDefault(item => item.World == _world && !item.IsDisposed && item.ShopState == null); if (gump == null) Error("UO.SendShopReply: no active vendor offer"); else gump.SendYokoShopReply(reply); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Shops.Last is { } shop) { shop.Reply(reply); return; } ShopGump gump = UIManager.Gumps.OfType<ShopGump>().LastOrDefault(item => item.World == _world && !item.IsDisposed && item.ShopState == null); if (gump == null) Error("UO.SendShopReply: no active vendor offer"); else gump.SendYokoShopReply(reply); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error:Error("UO.SendShopReply: no active vendor offer").
Внутрішній код реалізації, не самостійний скрипт.
public void SendShopReply(string reply) => Invoke(() =>
{
if (_world.Shops.Last is { } shop) { shop.Reply(reply); return; }
ShopGump gump = UIManager.Gumps.OfType<ShopGump>().LastOrDefault(item => item.World == _world && !item.IsDisposed && item.ShopState == null);
if (gump == null)
Error("UO.SendShopReply: no active vendor offer");
else
gump.SendYokoShopReply(reply);
});Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1526.
public void StopMoving()
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { _manager.StopFollowing(); _world.Player?.Pathfinder.StopAutoWalk(); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { _manager.StopFollowing(); _world.Player?.Pathfinder.StopAutoWalk(); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.YokoInjectionManager.StopFollowing:_manager.StopFollowing().
Внутрішній код реалізації, не самостійний скрипт.
public void StopMoving() => Invoke(() =>
{
_manager.StopFollowing();
_world.Player?.Pathfinder.StopAutoWalk();
});Повертає значення виразу нижче.
Параметри: windowIndex, checkbox, state, setState
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:651.
public int TradeCheck(int windowIndex, int checkbox, int state, bool setState)
Результат: int.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionTrade gump = FindTrade(windowIndex); if (gump == null || checkbox < 0 || checkbox > 1) return 0; if (setState && checkbox == 0 && gump.ImAccepting != (state != 0)) { gump.ImAccepting = state != 0; GameActions.AcceptTrade(gump.ID1, gump.ImAccepting); } return (checkbox == 0 ? gump.ImAccepting : gump.HeIsAccepting) ? 1 : 0; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionTrade gump = FindTrade(windowIndex); if (gump == null || checkbox < 0 || checkbox > 1) return 0; if (setState && checkbox == 0 && gump.ImAccepting != (state != 0)) { gump.ImAccepting = state != 0; GameActions.AcceptTrade(gump.ID1, gump.ImAccepting); } return (checkbox == 0 ? gump.ImAccepting : gump.HeIsAccepting) ? 1 : 0; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindTrade:FindTrade(windowIndex). -
ClassicUO.Game.GameActions.AcceptTrade:GameActions.AcceptTrade(gump.ID1, gump.ImAccepting).
Внутрішній код реалізації, не самостійний скрипт.
public int TradeCheck(int windowIndex, int checkbox, int state, bool setState) => Invoke(() =>
{
ISessionTrade gump = FindTrade(windowIndex);
if (gump == null || checkbox < 0 || checkbox > 1)
return 0;
if (setState && checkbox == 0 && gump.ImAccepting != (state != 0))
{
gump.ImAccepting = state != 0;
GameActions.AcceptTrade(gump.ID1, gump.ImAccepting);
}
return (checkbox == 0 ? gump.ImAccepting : gump.HeIsAccepting) ? 1 : 0;
});Повертає значення виразу нижче.
Параметри: windowIndex
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:641.
public int TradeOpponent(int windowIndex)
Результат: int.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionTrade gump = FindTrade(windowIndex); return (int)(gump?.ID2 ?? 0); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionTrade gump = FindTrade(windowIndex); return (int)(gump?.ID2 ?? 0); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindTrade:FindTrade(windowIndex).
Внутрішній код реалізації, не самостійний скрипт.
public int TradeOpponent(int windowIndex) => Invoke(() =>
{
ISessionTrade gump = FindTrade(windowIndex);
return (int)(gump?.ID2 ?? 0);
});Повертає значення виразу нижче.
Параметри: layer
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2022.
public int Unequip(int layer)
Результат: int.
Результат: UnequipExpected(layer, null).
Виклики: UnequipExpected.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UnequipExpected:UnequipExpected(layer, null).
Внутрішній код реалізації, не самостійний скрипт.
public int Unequip(int layer) => UnequipExpected(layer, null);Перевіряє умови нижче й повертає показаний результат.
Параметри: nameOrId
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:297.
public int UseVirtue(string nameOrId)
Результат: int.
Результат: 0; 1.
Виклики: .Trim().ToLowerInvariant, .Trim, int.TryParse, Invoke.
Умови: id < 1 || id > 8.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => NetClient.Socket.Send_InvokeVirtueRequest((byte)id)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => NetClient.Socket.Send_InvokeVirtueRequest((byte)id)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public int UseVirtue(string nameOrId)
{
int id = nameOrId?.Trim().ToLowerInvariant() switch
{
"honor" => 1, "sacrifice" => 2, "valor" => 3,
"compassion" => 4, "honesty" => 5, "humility" => 6,
"justice" => 7, "spirituality" => 8,
_ => int.TryParse(nameOrId, out int value) ? value : 0
};
if (id < 1 || id > 8) return 0;
Invoke(() => NetClient.Socket.Send_InvokeVirtueRequest((byte)id));
return 1;
}Виконує показані виклики та оновлення стану.
Параметри: id1, id2
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:826.
public void WaitTargetObject(int id1, int id2)
Результат: void.
Виклики: _manager.QueueTarget.
Виклики:
-
ClassicUO.Game.Managers.YokoInjectionManager.QueueTarget:_manager.QueueTarget((uint)id1, _cancellationToken). -
ClassicUO.Game.Managers.YokoInjectionManager.QueueTarget:_manager.QueueTarget((uint)id2, _cancellationToken).
Внутрішній код реалізації, не самостійний скрипт.
public void WaitTargetObject(int id1, int id2)
{
_manager.QueueTarget((uint)id1, _cancellationToken);
_manager.QueueTarget((uint)id2, _cancellationToken);
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClientFontManager.cs:182.
internal static void Invalidate()
Результат: void.
Внутрішній код реалізації, не самостійний скрипт.
internal static void Invalidate()
{
unchecked
{
_revision++;
}
}Виконує показані виклики та оновлення стану.
Параметри: text
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/JournalManager.cs:34.
internal static void AddYokoIgnoredText(string text)
Результат: void.
Виклики: string.IsNullOrWhiteSpace, _yokoIgnoredText.Add, text.Trim.
Умови: !string.IsNullOrWhiteSpace(text).
Внутрішній код реалізації, не самостійний скрипт.
internal static void AddYokoIgnoredText(string text)
{
if (!string.IsNullOrWhiteSpace(text))
_yokoIgnoredText.Add(text.Trim());
}Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2810.
internal int GetScriptsCount()
Результат: int.
Результат: _running.Count(entry => !entry.Value.Cancellation.IsCancellationRequested).
Виклики: _running.Count.
Внутрішній код реалізації, не самостійний скрипт.
internal int GetScriptsCount() => _running.Count(entry => !entry.Value.Cancellation.IsCancellationRequested);Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3322.
private bool HasServerTargetCursor()
Результат: bool.
Результат: _world.TargetManager.IsServerTarget.
Внутрішній код реалізації, не самостійний скрипт.
private bool HasServerTargetCursor() => _world.TargetManager.IsServerTarget;Повертає значення виразу нижче.
Параметри: procedures, filePath
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2903.
internal static YokoProcedureInfo SelectFileEntryPoint(IEnumerable<YokoProcedureInfo> procedures, string filePath)
Результат: YokoProcedureInfo.
Виклики: (procedures ?? Enumerable.Empty<YokoProcedureInfo>()) .Where(item => item.CanRun && item.Kind.Equals("C#", StringComparison.Ordinal) && item.Name.Equals("Main", StringComparison.OrdinalIgnoreCase)) .OrderBy(item => item.LineNumber) .FirstOrDefault, (procedures ?? Enumerable.Empty<YokoProcedureInfo>()) .Where(item => item.CanRun && item.Kind.Equals("C#", StringComparison.Ordinal) && item.Name.Equals("Main", StringComparison.OrdinalIgnoreCase)) .OrderBy, (procedures ?? Enumerable.Empty<YokoProcedureInfo>()) .Where, Enumerable.Empty<YokoProcedureInfo>.
Внутрішній код реалізації, не самостійний скрипт.
internal static YokoProcedureInfo SelectFileEntryPoint(IEnumerable<YokoProcedureInfo> procedures, string filePath)
{
// Discovery publishes one C# file/project entry. Helper methods
// stay inside that program and are never separate file launches.
return (procedures ?? Enumerable.Empty<YokoProcedureInfo>())
.Where(item => item.CanRun
&& item.Kind.Equals("C#", StringComparison.Ordinal)
&& item.Name.Equals("Main", StringComparison.OrdinalIgnoreCase))
.OrderBy(item => item.LineNumber)
.FirstOrDefault();
}Повертає значення виразу нижче.
Параметри: value, delimiter
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:47.
private static int GetWordCount(string value,string delimiter)
Результат: int.
Результат: SplitWords(value,delimiter).Length.
Виклики: SplitWords.
Виклики:
-
InjectionScript.Runtime.InjectionApi.SplitWords:SplitWords(value,delimiter).
Внутрішній код реалізації, не самостійний скрипт.
private static int GetWordCount(string value,string delimiter) => SplitWords(value,delimiter).Length;Виконує показані виклики та оновлення стану.
Параметри: arguments
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3945.
private void AddType(InjectionValue[] arguments)
Результат: void.
Виклики: NamedTypes.ValidateName, state.Types.Set, ResolveType, SystemMessage, selection.SelectType.
Умови: arguments[0].Kind != InjectionValueKind.String; arguments.Length == 2; arguments[1].Kind != InjectionValueKind.Integer && arguments[1].Kind != InjectionValueKind.String; !(bridge is IApiTypeSelectionBridge selection).
Виклики:
-
InjectionScript.Runtime.State.NamedTypes.ValidateName:NamedTypes.ValidateName(arguments[0].String). -
InjectionScript.Runtime.State.NamedTypes.Set:state.Types.Set(name, ResolveType(arguments[1])). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[1]). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage($"UO.AddType: select an item or mobile for '{name}'."). -
InjectionScript.Runtime.State.NamedTypes.Set:state.Types.Set(name, selected.Value). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage($"UO.AddType: '{name}' = 0x{selected.Value:X4}."). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage("UO.AddType: selection cancelled or not an item/mobile; previous type preserved.").
Внутрішній код реалізації, не самостійний скрипт.
private void AddType(InjectionValue[] arguments)
{
if (arguments[0].Kind != InjectionValueKind.String)
throw new NativeSubrutineException("UO.AddType name must be a string.");
string name = NamedTypes.ValidateName(arguments[0].String);
if (arguments.Length == 2)
{
if (arguments[1].Kind != InjectionValueKind.Integer && arguments[1].Kind != InjectionValueKind.String)
throw new NativeSubrutineException("UO.AddType type must be an integer graphic or a registered type name.");
state.Types.Set(name, ResolveType(arguments[1]));
return;
}
if (!(bridge is IApiTypeSelectionBridge selection))
throw new NativeSubrutineException("UO.AddType interactive selection is unavailable in this host.");
SystemMessage($"UO.AddType: select an item or mobile for '{name}'.");
int? selected = selection.SelectType();
if (selected.HasValue)
{
state.Types.Set(name, selected.Value);
SystemMessage($"UO.AddType: '{name}' = 0x{selected.Value:X4}.");
}
else
SystemMessage("UO.AddType: selection cancelled or not an item/mobile; previous type preserved.");
}Виконує показані виклики та оновлення стану.
Параметри: name
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5594.
public void Arm(string name)
Результат: void.
Виклики: Equip.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.Equip:Equip(name, armSets, weaponLayers, "Weapon set requests processed.", "No weapons set with setarm.").
Внутрішній код реалізації, не самостійний скрипт.
public void Arm(string name)
=> Equip(name, armSets, weaponLayers, "Weapon set requests processed.", "No weapons set with setarm.");Перевіряє умови нижче й повертає показаний результат.
Параметри: spellName
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5833.
public int Cast(string spellName)
Результат: int.
Результат: 0; CastCore(spellName) ? 1 : 0.
Виклики: NumberConversions.TryStr2Int, (spellName ?? string.Empty).Trim, SystemMessage, CastCore.
Умови: NumberConversions.TryStr2Int((spellName ?? string.Empty).Trim(), out _).
Виклики:
-
InjectionScript.Runtime.NumberConversions.TryStr2Int:NumberConversions.TryStr2Int((spellName ?? string.Empty).Trim(), out _). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage("UO.Cast: use one spell name, for example UO.Cast(\"Heal\")."). -
InjectionScript.Runtime.InjectionApiUO.CastCore:CastCore(spellName).
Внутрішній код реалізації, не самостійний скрипт.
public int Cast(string spellName)
{
if (NumberConversions.TryStr2Int((spellName ?? string.Empty).Trim(), out _))
{
SystemMessage("UO.Cast: use one spell name, for example UO.Cast(\"Heal\").");
return 0;
}
return CastCore(spellName) ? 1 : 0;
}Перевіряє умови нижче й повертає показаний результат.
Параметри: values
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4825.
private int CompactFindNotoriety(InjectionValue[] values)
Результат: int.
Результат: bridge.FindNotoriety(type, NumberConversions.ToInt(notoriety)); 0; FindFilteredMobileSerial(type, notoriety, distance, nearest, maxZ, color, false).
Виклики: ResolveType, bridge.FindNotoriety, NumberConversions.ToInt, ResolveCompactDistance, bridge.GetFindDistance, ToBoolean, ResolveCompactMaxZ, bridge.GetFindVertical.
Умови: `values.Length == 2 && notoriety.Kind != InjectionValueKind.String
&& notoriety.Kind != InjectionValueKind.Array`; `values.Length > 6`; `container != -1 && container != 1`.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindNotoriety:bridge.FindNotoriety(type, NumberConversions.ToInt(notoriety)). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(notoriety). -
InjectionScript.Runtime.InjectionApiUO.ResolveCompactDistance:ResolveCompactDistance(values[2]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindDistance:bridge.GetFindDistance(). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[3]). -
InjectionScript.Runtime.InjectionApiUO.ResolveCompactMaxZ:ResolveCompactMaxZ(values[4]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical(). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[5]). -
InjectionScript.Runtime.InjectionApiUO.ConvertContainer:ConvertContainer(values[6]). -
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(type, notoriety, distance, nearest, maxZ, color, false).
Внутрішній код реалізації, не самостійний скрипт.
private int CompactFindNotoriety(InjectionValue[] values)
{
int type = ResolveType(values[0]);
InjectionValue notoriety = values[1];
// Keep the exact two-argument Stealth/native contract on the bridge.
// Extended overloads add the v50 distance/Z/color filters below.
if (values.Length == 2 && notoriety.Kind != InjectionValueKind.String
&& notoriety.Kind != InjectionValueKind.Array)
return bridge.FindNotoriety(type, NumberConversions.ToInt(notoriety));
int distance = values.Length > 2 ? ResolveCompactDistance(values[2]) : bridge.GetFindDistance();
bool nearest = values.Length > 3 && ToBoolean(values[3]);
int maxZ = values.Length > 4 ? ResolveCompactMaxZ(values[4]) : bridge.GetFindVertical();
int color = values.Length > 5 ? NumberConversions.ToInt(values[5]) : -1;
if (values.Length > 6)
{
int container = ConvertContainer(values[6]);
// Mobiles only exist in the world/ground search scope. An explicit
// item/container serial cannot contain a Mobile, so the filtered
// result must be empty instead of silently ignoring the argument.
if (container != -1 && container != 1)
return 0;
}
return FindFilteredMobileSerial(type, notoriety, distance, nearest, maxZ, color, false);
}Перевіряє умови нижче й повертає показаний результат.
Параметри: values
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2256.
private InjectionValue CompactGetPathArray3D(InjectionValue[] values)
Результат: InjectionValue.
Виклики: BuildPortablePath, NumberConversions.ToInt, ToBoolean, Math.Max.
Умови: values == null || values.Length < 10 || values.Length > 16.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.BuildPortablePath:BuildPortablePath( NumberConversions.ToInt(values[0]), NumberConversions.ToInt(values[1]), NumberConversions.ToInt(values[2]), NumberConversions.ToInt(values[3]), NumberConversions.ToInt(values[4]), NumberConversions.ToInt(values[5]), NumberConversions.ToInt(values[6]), NumberConversions.ToInt(values[7]), NumberConversions.ToInt(values[8]), true, ToBoolean(values[9]), values.Length > 10 ? Math.Max(0, NumberConversions.ToInt(values[10])) : 0, values.Length > 11 ? Math.Max(0, NumberConversions.ToInt(values[11])) : 0, values.Length > 12 && ToBoolean(values[12]), values.Length > 13 && ToBoolean(values[13]), values.Length > 14 && ToBoolean(values[14]), values.Length <= 15 || ToBoolean(values[15])). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[1]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[2]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[3]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[4]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[5]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[6]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[7]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[8]). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[9]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[10]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[11]). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[12]). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[13]). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[14]). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[15]).
Внутрішній код реалізації, не самостійний скрипт.
private InjectionValue CompactGetPathArray3D(InjectionValue[] values)
{
if (values == null || values.Length < 10 || values.Length > 16)
throw new NativeSubrutineException("UO.GetPathArray3D expects 10..16 arguments.");
return BuildPortablePath(
NumberConversions.ToInt(values[0]), NumberConversions.ToInt(values[1]), NumberConversions.ToInt(values[2]),
NumberConversions.ToInt(values[3]), NumberConversions.ToInt(values[4]), NumberConversions.ToInt(values[5]),
NumberConversions.ToInt(values[6]), NumberConversions.ToInt(values[7]), NumberConversions.ToInt(values[8]),
true, ToBoolean(values[9]),
values.Length > 10 ? Math.Max(0, NumberConversions.ToInt(values[10])) : 0,
values.Length > 11 ? Math.Max(0, NumberConversions.ToInt(values[11])) : 0,
values.Length > 12 && ToBoolean(values[12]),
values.Length > 13 && ToBoolean(values[13]),
values.Length > 14 && ToBoolean(values[14]),
values.Length <= 15 || ToBoolean(values[15]));
}Перевіряє умови нижче й повертає показаний результат.
Параметри: values
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3981.
private int CompactUseType(InjectionValue[] values)
Результат: int.
Результат: 0; selected.
Виклики: ResolveType, NumberConversions.ToInt, ConvertContainer, ResolveCompactDistance, bridge.GetFindDistance, ToBoolean, ResolveCompactMaxZ, bridge.GetFindVertical.
Умови: values == null || values.Length == 0; values.Length > 6; nearest; selected == 0.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(values[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[1]). -
InjectionScript.Runtime.InjectionApiUO.ConvertContainer:ConvertContainer(values[2]). -
InjectionScript.Runtime.InjectionApiUO.ResolveCompactDistance:ResolveCompactDistance(values[3]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindDistance:bridge.GetFindDistance(). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[4]). -
InjectionScript.Runtime.InjectionApiUO.ResolveCompactMaxZ:ResolveCompactMaxZ(values[5]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetIgnoreList:bridge.GetIgnoreList(). -
InjectionScript.Runtime.State.NamedIgnoreLists.FilterFor:state.IgnoreTypeLists.FilterFor(state.SelectedIgnoreList). -
InjectionScript.Runtime.InjectionApiUO.EnumerateUseTypeItems:EnumerateUseTypeItems(container). -
InjectionScript.Runtime.InjectionApiUO.MatchesIgnoredType:MatchesIgnoredType(id, ignoredTypes). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGraphics:bridge.GetGraphics(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetColor:bridge.GetColor(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDistance:bridge.GetDistance(id). -
InjectionScript.Runtime.InjectionApiUO.ResolveUseTypeWorldHeight:ResolveUseTypeWorldHeight(id, worldHeights, heightChain). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage("No matching item found for UO.UseType."). -
InjectionScript.Runtime.InjectionApiUO.UseObject:UseObject(selected). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
private int CompactUseType(InjectionValue[] values)
{
if (values == null || values.Length == 0)
throw new NativeSubrutineException("UO.UseType requires at least type.");
if (values.Length > 6)
throw new NativeSubrutineException("UO.UseType accepts at most type, color, container, distance, nearest, maxZ.");
int type = ResolveType(values[0]);
int color = values.Length > 1 ? NumberConversions.ToInt(values[1]) : -1;
int container = values.Length > 2 ? ConvertContainer(values[2]) : -1;
int distance = values.Length > 3 ? ResolveCompactDistance(values[3]) : bridge.GetFindDistance();
bool nearest = values.Length <= 4 || ToBoolean(values[4]);
int maxZ = values.Length > 5 ? ResolveCompactMaxZ(values[5]) : bridge.GetFindVertical();
int selfZ = bridge.GetZ(bridge.Self);
HashSet<int> ignored = new HashSet<int>(bridge.GetIgnoreList());
IgnoreTypeFilter ignoredTypes = state.IgnoreTypeLists.FilterFor(state.SelectedIgnoreList);
// A contained item's stored Z belongs to its container, not to the world.
// Cache ancestors for this selection so stacks in the same bag do not
// repeatedly cross the client bridge to resolve the same owner.
var worldHeights = new Dictionary<int, int?>();
var heightChain = new List<int>();
IEnumerable<int> candidates = EnumerateUseTypeItems(container)
.Where(id => id > 0 && (!ignored.Contains(id) && !MatchesIgnoredType(id, ignoredTypes)))
.Where(id => type < 0 || type == 0xFFFF || bridge.GetGraphics(id) == type)
.Where(id => color < 0 || color == 0xFFFF || bridge.GetColor(id) == color)
.Where(id => distance < 0 || bridge.GetDistance(id) <= distance)
.Where(id => maxZ < 0 || ResolveUseTypeWorldHeight(id, worldHeights, heightChain) is int z
&& Math.Abs((long)z - selfZ) <= maxZ);
if (nearest)
candidates = candidates.OrderBy(id => bridge.GetDistance(id)).ThenBy(id => id);
int selected = candidates.FirstOrDefault();
if (selected == 0)
{
SystemMessage("No matching item found for UO.UseType.");
return 0;
}
UseObject(selected);
return selected;
}Перевіряє умови нижче й повертає показаний результат.
Параметри: values
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4092.
private int CompactWaitTarget(InjectionValue[] values)
Результат: int.
Результат: directTarget; 0; selected.
Виклики: TryGetObject, WaitTargetObject, NumberConversions.ToInt, SystemMessage, bridge.CancelNextTarget, ResolveCompactDistance, bridge.GetFindDistance, ToBoolean.
Умови: values == null || values.Length == 0; TryGetObject(targetValue, out int directTarget) && directTarget > 0; targetSentinel != 0 && targetSentinel != -1; selected <= 0.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.TryGetObject:TryGetObject(targetValue, out int directTarget). -
InjectionScript.Runtime.InjectionApiUO.WaitTargetObject:WaitTargetObject(directTarget). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(targetValue). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage("UO.WaitTarget: invalid direct target."). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CancelNextTarget:bridge.CancelNextTarget(). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[2]). -
InjectionScript.Runtime.InjectionApiUO.ResolveCompactDistance:ResolveCompactDistance(values[3]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindDistance:bridge.GetFindDistance(). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[5]). -
InjectionScript.Runtime.InjectionApiUO.ResolveCompactMaxZ:ResolveCompactMaxZ(values[6]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical(). -
InjectionScript.Runtime.InjectionApiUO.FindFilteredTargetSerial:FindFilteredTargetSerial(type, color, distance, notoriety, nearest, maxZ). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage("UO.WaitTarget: no object matches the requested filters; next target request canceled."). -
InjectionScript.Runtime.InjectionApiUO.WaitTargetObject:WaitTargetObject(selected).
Внутрішній код реалізації, не самостійний скрипт.
private int CompactWaitTarget(InjectionValue[] values)
{
if (values == null || values.Length == 0)
throw new NativeSubrutineException("UO.WaitTarget requires at least target.");
InjectionValue targetValue = values[0];
if (TryGetObject(targetValue, out int directTarget) && directTarget > 0)
{
WaitTargetObject(directTarget);
return directTarget;
}
int targetSentinel = NumberConversions.ToInt(targetValue);
if (targetSentinel != 0 && targetSentinel != -1)
{
SystemMessage("UO.WaitTarget: invalid direct target.");
bridge.CancelNextTarget();
return 0;
}
InjectionValue type = values.Length > 1 ? values[1] : InjectionValue.MinusOne;
int color = values.Length > 2 ? NumberConversions.ToInt(values[2]) : -1;
int distance = values.Length > 3 ? ResolveCompactDistance(values[3]) : bridge.GetFindDistance();
InjectionValue notoriety = values.Length > 4 ? values[4] : InjectionValue.MinusOne;
bool nearest = values.Length <= 5 || ToBoolean(values[5]);
int maxZ = values.Length > 6 ? ResolveCompactMaxZ(values[6]) : bridge.GetFindVertical();
int selected = FindFilteredTargetSerial(type, color, distance, notoriety, nearest, maxZ);
if (selected <= 0)
{
SystemMessage("UO.WaitTarget: no object matches the requested filters; next target request canceled.");
bridge.CancelNextTarget();
return 0;
}
WaitTargetObject(selected);
return selected;
}Повертає значення виразу нижче.
Параметри: layer
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6412.
private string ConvertLayer(int layer)
Результат: string.
Виклики: layerNumberToName.TryGetValue.
Внутрішній код реалізації, не самостійний скрипт.
private string ConvertLayer(int layer) => layerNumberToName.TryGetValue(layer, out string name)
? name
: $"0x{layer:X2}";Перевіряє умови нижче й повертає показаний результат.
Параметри: id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3759.
public int Dead(InjectionValue id)
Результат: int.
Результат: Dead(); serial > 0 ? bridge.IsDead(serial) : 0.
Виклики: GetObject, Dead, bridge.IsDead.
Умови: serial == bridge.Self.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id). -
InjectionScript.Runtime.InjectionApiUO.Dead:Dead(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsDead:bridge.IsDead(serial). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
public int Dead(InjectionValue id)
{
int serial = GetObject(id);
if (serial == bridge.Self)
return Dead();
return serial > 0 ? bridge.IsDead(serial) : 0;
}Повертає значення виразу нижче.
Параметри: value
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2800.
private static string DecodeRecordingText(string value)
Результат: string.
Результат: Encoding.UTF8.GetString(Convert.FromBase64String(value ?? string.Empty)).
Виклики: Encoding.UTF8.GetString, Convert.FromBase64String.
Внутрішній код реалізації, не самостійний скрипт.
private static string DecodeRecordingText(string value)
=> Encoding.UTF8.GetString(Convert.FromBase64String(value ?? string.Empty));Перевіряє умови нижче й повертає показаний результат.
Параметри: id, amount, timeout
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5245.
public int Drag(InjectionValue id, InjectionValue amount, InjectionValue timeout)
Результат: int.
Результат: 0; result; 1.
Виклики: GetObject, NumberConversions.ToInt, Math.Max, bridge.DragItem, DateTime.UtcNow.AddMilliseconds, bridge.Picking, bridge.Wait, SystemMessage.
Умови: serial == 0; result == 0 || timeoutMs <= 0; bridge.Picking() != 0; DateTime.UtcNow >= deadline.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(amount). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(timeout). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DragItem:bridge.DragItem(serial, requestedAmount). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Picking:bridge.Picking(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Wait:bridge.Wait(10). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage($"UO.Drag: item pickup was not observable within {timeoutMs} ms.").
Внутрішній код реалізації, не самостійний скрипт.
public int Drag(InjectionValue id, InjectionValue amount, InjectionValue timeout)
{
int serial = GetObject(id);
if (serial == 0)
return 0;
int requestedAmount = NumberConversions.ToInt(amount);
int timeoutMs = Math.Max(0, NumberConversions.ToInt(timeout));
int result = bridge.DragItem(serial, requestedAmount);
if (result == 0 || timeoutMs <= 0)
return result;
DateTime deadline = DateTime.UtcNow.AddMilliseconds(timeoutMs);
do
{
if (bridge.Picking() != 0)
return 1;
if (DateTime.UtcNow >= deadline)
break;
bridge.Wait(10);
}
while (true);
SystemMessage($"UO.Drag: item pickup was not observable within {timeoutMs} ms.");
return 0;
}Повертає значення виразу нижче.
Параметри: layer, id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5740.
public int Equip(string layer, string id)
Результат: int.
Результат: Equip(layer, GetObject(id)).
Виклики: Equip, GetObject.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.Equip:Equip(layer, GetObject(id)). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id).
Внутрішній код реалізації, не самостійний скрипт.
public int Equip(string layer, string id) => Equip(layer, GetObject(id));Перевіряє умови нижче й повертає показаний результат.
Параметри: index
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1152.
string[] StringArrayArg(int index)
Результат: string[].
Результат: Array.Empty<string>().
Виклики: Array.Empty<string>, arguments[index].Array.Select(value => value.ToString()).ToArray, arguments[index].Array.Select, Text.
Умови: index >= arguments.Length.
Виклики:
-
InjectionScript.Runtime.InjectionValue.ToString:value.ToString(). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(index).
Внутрішній код реалізації, не самостійний скрипт.
string[] StringArrayArg(int index)
{
if (index >= arguments.Length) return Array.Empty<string>();
return arguments[index].Kind == InjectionValueKind.Array
? arguments[index].Array.Select(value => value.ToString()).ToArray()
: new[] { Text(index) };
}Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1742.
Результат: new InjectionValue(legacyId).
Умови: arguments[0].Kind != InjectionValueKind.Array; arguments[0].Kind == InjectionValueKind.String && !NumberConversions.TryStr2Int(arguments[0].String, out graphic); arguments[0].Array.Length < 4.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1, bridge.WorldNumber). -
InjectionScript.Runtime.NumberConversions.TryStr2Int:NumberConversions.TryStr2Int(arguments[0].String, out graphic). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[0]). -
InjectionScript.Runtime.InjectionApiUO.AddUserStatic:AddUserStatic(graphic, bridge.GetX(bridge.Self), bridge.GetY(bridge.Self), bridge.GetZ(bridge.Self), 0, map). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetX:bridge.GetX(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetY:bridge.GetY(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(bridge.Self). -
InjectionScript.Runtime.InjectionApiUO.AddUserStatic:AddUserStatic( NumberConversions.ToInt(item[0]), NumberConversions.ToInt(item[1]), NumberConversions.ToInt(item[2]), NumberConversions.ToInt(item[3]), item.Length > 4 ? NumberConversions.ToInt(item[4]) : 0, map). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(item[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(item[1]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(item[2]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(item[3]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(item[4]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WorldNumber:bridge.WorldNumber. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
case "adduserstatic":
{
int map = Arg(1, bridge.WorldNumber);
if (arguments[0].Kind != InjectionValueKind.Array)
{
int graphic = 0;
if (arguments[0].Kind == InjectionValueKind.String &&
!NumberConversions.TryStr2Int(arguments[0].String, out graphic))
{
int legacyId = state.NextUserStaticId++;
state.UserStatics[legacyId] = Text(0) + "|" + Text(1);
return new InjectionValue(legacyId);
}
graphic = arguments[0].Kind == InjectionValueKind.String
? graphic
: NumberConversions.ToInt(arguments[0]);
return new InjectionValue(AddUserStatic(graphic, bridge.GetX(bridge.Self), bridge.GetY(bridge.Self),
bridge.GetZ(bridge.Self), 0, map));
}
if (arguments[0].Array.Length < 4)
throw new NativeSubrutineException("AddUserStatic expects [graphic,x,y,z,color] and world number, or graphic,x,y,z,color,world.");
InjectionValue[] item = arguments[0].Array;
return new InjectionValue(AddUserStatic(
NumberConversions.ToInt(item[0]), NumberConversions.ToInt(item[1]), NumberConversions.ToInt(item[2]),
NumberConversions.ToInt(item[3]), item.Length > 4 ? NumberConversions.ToInt(item[4]) : 0, map));
}Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1288.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoSellRule:bridge.SetAutoSellRule(Arg(0), Arg(1), Arg(2)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2).
Внутрішній код реалізації, не самостійний скрипт.
case "autosell":
bridge.SetAutoSellRule(Arg(0), Arg(1), Arg(2)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1596.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClearContextMenu:bridge.ClearContextMenu().
Внутрішній код реалізації, не самостійний скрипт.
case "clearcontextmenu": bridge.ClearContextMenu(); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2007.
new []
Результат: [].
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RuntimeProductName:bridge.RuntimeProductName. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RuntimeProductVersion:bridge.RuntimeProductVersion. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientPath:bridge.ClientPath.
Внутрішній код реалізації, не самостійний скрипт.
case "clientinfo":
return new InjectionValue(new[]
{
new InjectionValue(bridge.RuntimeProductName),
new InjectionValue(bridge.RuntimeProductVersion),
new InjectionValue(bridge.ClientPath)
});Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1231.
Результат: InjectionValue.Unit.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Внутрішній код реалізації, не самостійний скрипт.
case "addtojournal":
case "addtosystemjournal":
case "clientprint":
SystemMessage(Text(0)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1485.
Результат: new InjectionValue(bridge.FindFullQuantity()).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindType:bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, false). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[0]). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::StealthContainer:StealthContainer(2). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindFullQuantity:bridge.FindFullQuantity().
Внутрішній код реалізації, не самостійний скрипт.
case "countex":
bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, false);
return new InjectionValue(bridge.FindFullQuantity());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1303.
Результат: new InjectionValue(state.DisconnectedTime.ToOADate()).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.UpdateConnectionState:UpdateConnectionState().
Внутрішній код реалізації, не самостійний скрипт.
case "disconnectedtime":
UpdateConnectionState();
return new InjectionValue(state.DisconnectedTime.ToOADate());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1497.
Результат: new InjectionValue(bridge.FireResistance).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FireResistance:bridge.FireResistance.
Внутрішній код реалізації, не самостійний скрипт.
case "fireresist": return new InjectionValue(bridge.FireResistance);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1591.
Результат: StringArray(bridge.GetMenuItems(Text(0), true)).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.StringArray:StringArray(bridge.GetMenuItems(Text(0), true)). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMenuItems:bridge.GetMenuItems(Text(0), true). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Внутрішній код реалізації, не самостійний скрипт.
case "getmenuitemsex": return StringArray(bridge.GetMenuItems(Text(0), true));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1372.
Результат: new InjectionValue(arguments.Length > 0 ? bridge.GetStamina(Arg(0)) : bridge.Stamina).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetStamina:bridge.GetStamina(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina:bridge.Stamina.
Внутрішній код реалізації, не самостійний скрипт.
case "getstam": return new InjectionValue(arguments.Length > 0 ? bridge.GetStamina(Arg(0)) : bridge.Stamina);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1425.
Результат: new InjectionValue(bridge.GetTooltip(Arg(0))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTooltip:bridge.GetTooltip(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "getcliloc":
case "gettooltip":
return new InjectionValue(bridge.GetTooltip(Arg(0)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1516.
Результат: new InjectionValue(bridge.GetTradeOpponent(Arg(0))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTradeOpponent:bridge.GetTradeOpponent(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "gettradeopponent": return new InjectionValue(bridge.GetTradeOpponent(Arg(0)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1915.
Результат: new InjectionValue(bridge.GlobalChatActiveChannel()).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GlobalChatActiveChannel:bridge.GlobalChatActiveChannel().
Внутрішній код реалізації, не самостійний скрипт.
case "globalchatactivechannel": return new InjectionValue(bridge.GlobalChatActiveChannel());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1918.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GlobalChatLeave:bridge.GlobalChatLeave().
Внутрішній код реалізації, не самостійний скрипт.
case "globalchatleavechannel": bridge.GlobalChatLeave(); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1910.
Результат: InjectionValue.Unit.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.QueueGumpControl:QueueGumpControl("radio", Arg(0), Text(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(1).
Внутрішній код реалізації, не самостійний скрипт.
case "gumpautoradiobutton": QueueGumpControl("radio", Arg(0), Text(1)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1511.
Результат: new InjectionValue(bridge.IsContainer(Arg(0))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsContainer:bridge.IsContainer(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "iscontainer": return new InjectionValue(bridge.IsContainer(Arg(0)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1364.
Результат: new InjectionValue(bridge.GetLocked(Arg(0, bridge.Self))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLocked:bridge.GetLocked(Arg(0, bridge.Self)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0, bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
case "isparalyzed": return new InjectionValue(bridge.GetLocked(Arg(0, bridge.Self)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1837.
Результат: new InjectionValue(state.LastStepUsedDoor).
Умови: arguments.Length > 0.
Виклики:
Внутрішній код реалізації, не самостійний скрипт.
case "laststepquseddoor":
if (arguments.Length > 0) state.LastStepUsedDoor = Arg(0);
return new InjectionValue(state.LastStepUsedDoor);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1907.
Результат: SetIndexedGumpValue(Arg(0), "radio", Arg(1), Text(2)).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.SetIndexedGumpValue:SetIndexedGumpValue(Arg(0), "radio", Arg(1), Text(2)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(2).
Внутрішній код реалізації, не самостійний скрипт.
case "numgumpradiobutton": return SetIndexedGumpValue(Arg(0), "radio", Arg(1), Text(2));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1701.
Результат: new InjectionValue(bridge.PartyMembersList().Select(serial => new InjectionValue(serial)).ToArray()).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyMembersList:bridge.PartyMembersList().
Внутрішній код реалізації, не самостійний скрипт.
case "partymemberslist":
return new InjectionValue(bridge.PartyMembersList().Select(serial => new InjectionValue(serial)).ToArray());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1503.
Результат: new InjectionValue(bridge.FollowersMax).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FollowersMax:bridge.FollowersMax.
Внутрішній код реалізації, не самостійний скрипт.
case "petsmax": return new InjectionValue(bridge.FollowersMax);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1558.
Результат: new InjectionValue(bridge.ProfileName).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ProfileName:bridge.ProfileName.
Внутрішній код реалізації, не самостійний скрипт.
case "profilename": return new InjectionValue(bridge.ProfileName);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1679.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.QuestRequest:bridge.QuestRequest().
Внутрішній код реалізації, не самостійний скрипт.
case "questrequest": bridge.QuestRequest(); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1965.
Результат: InjectionValue.Unit.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(1). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetName:bridge.GetName(bridge.Self). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetReconnectSelection:bridge.SetReconnectSelection(state.AutoReconnectShard, state.AutoReconnectCharacter, useAtEveryConnect). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ShardName:bridge.ShardName. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
case "setarextparams":
{
string requestedShard = arguments.Length > 0 ? Text(0) : string.Empty;
string requestedCharacter = arguments.Length > 1 ? Text(1) : string.Empty;
state.AutoReconnectShard = string.IsNullOrWhiteSpace(requestedShard)
? bridge.ShardName
: requestedShard;
state.AutoReconnectCharacter = string.IsNullOrWhiteSpace(requestedCharacter)
? bridge.GetName(bridge.Self) ?? string.Empty
: requestedCharacter;
int useAtEveryConnect = arguments.Length > 2 ? Arg(2) : 0;
bridge.SetReconnectSelection(state.AutoReconnectShard, state.AutoReconnectCharacter, useAtEveryConnect);
return InjectionValue.Unit;
}Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1319.
Результат: InjectionValue.Unit.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoBuyDelay:bridge.SetAutoBuyDelay(state.AutoBuyDelay).
Внутрішній код реалізації, не самостійний скрипт.
case "setautobuydelay":
state.AutoBuyDelay = Math.Max(0, Arg(0));
bridge.SetAutoBuyDelay(state.AutoBuyDelay);
return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2018.
Результат: InjectionValue.Unit.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(2).
Внутрішній код реалізації, не самостійний скрипт.
case "setglobal":
state.GlobalVariables[Text(0) + "\u001F" + Text(1)] = Text(2);
return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1343.
Результат: InjectionValue.Unit.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ClampMoveTimer:ClampMoveTimer(Arg(0), 200). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetMovementTimers:bridge.SetMovementTimers(state.RunMountTimer, state.RunUnmountTimer, state.WalkMountTimer, state.WalkUnmountTimer).
Внутрішній код реалізації, не самостійний скрипт.
case "setrununmounttimer":
state.RunUnmountTimer = ClampMoveTimer(Arg(0), 200);
bridge.SetMovementTimers(state.RunMountTimer, state.RunUnmountTimer, state.WalkMountTimer, state.WalkUnmountTimer);
return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1526.
Результат: new InjectionValue(bridge.StartScript(Text(0))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StartScript:bridge.StartScript(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Внутрішній код реалізації, не самостійний скрипт.
case "startscript": return new InjectionValue(bridge.StartScript(Text(0)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1335.
Результат: new InjectionValue(state.MoveThroughNpc).
Умови: arguments.Length > 0.
Виклики:
Внутрішній код реалізації, не самостійний скрипт.
case "movethroughnpc": if (arguments.Length > 0) state.MoveThroughNpc = Math.Max(0, Arg(0)); return new InjectionValue(state.MoveThroughNpc);Перевіряє умови нижче й повертає показаний результат.
Параметри: index, fallback
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2826.
int Arg(int index, int fallback = 0)
Результат: int.
Результат: fallback; serial; NumberConversions.ToInt(arguments[index]).
Виклики: TryGetObject, NumberConversions.ToInt.
Умови: index >= arguments.Length; arguments[index].Kind == InjectionValueKind.String && TryGetObject(arguments[index], out int serial).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.TryGetObject:TryGetObject(arguments[index], out int serial). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[index]).
Внутрішній код реалізації, не самостійний скрипт.
int Arg(int index, int fallback = 0)
{
if (index >= arguments.Length) return fallback;
if (arguments[index].Kind == InjectionValueKind.String && TryGetObject(arguments[index], out int serial)) return serial;
return NumberConversions.ToInt(arguments[index]);
}Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2887.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0, 100). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetJournalLength:bridge.SetJournalLength(state.JournalLength).
Внутрішній код реалізації, не самостійний скрипт.
case "changejournallength": state.JournalLength = Math.Max(1, Arg(0, 100)); bridge.SetJournalLength(state.JournalLength); break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2963.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage("C# Scripts IDE: use UO.* in scripts or the configured chat prefix. Open Options > C# Scripts IDE > Manual.").
Внутрішній код реалізації, не самостійний скрипт.
case "help": SystemMessage("C# Scripts IDE: use UO.* in scripts or the configured chat prefix. Open Options > C# Scripts IDE > Manual."); break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2975.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetLight:bridge.SetLight(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "light": bridge.SetLight(Arg(0)); break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2971.
Умови: arguments.Length > 0.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.UseSkillAtTarget:UseSkillAtTarget(new InjectionValue("Poisoning"), arguments[0]). -
InjectionScript.Runtime.InjectionApiUO.UseSkill:UseSkill("Poisoning").
Внутрішній код реалізації, не самостійний скрипт.
case "poison":
if (arguments.Length > 0) UseSkillAtTarget(new InjectionValue("Poisoning"), arguments[0]);
else UseSkill("Poisoning");
break;Перевіряє умови нижче й повертає показаний результат.
Параметри: journalText, patternsText, equals, ignoreCase
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5533.
private static int FindJournalPatternId(string journalText, string patternsText, bool equals, bool ignoreCase)
Результат: int.
Результат: -1; i.
Виклики: `(patternsText ?? string.Empty)
.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries)
.Select(pattern => pattern.Trim())
.Where(pattern => pattern.Length > 0)
.ToArray`, `(patternsText ?? string.Empty)
.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries)
.Select(pattern => pattern.Trim())
.Where`, `(patternsText ?? string.Empty)
.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries)
.Select`, `(patternsText ?? string.Empty)
.Split`, `candidate.Equals`, `candidate.IndexOf`.
Умови: patterns.Length == 0; found.
Внутрішній код реалізації, не самостійний скрипт.
private static int FindJournalPatternId(string journalText, string patternsText, bool equals, bool ignoreCase)
{
string[] patterns = (patternsText ?? string.Empty)
.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries)
.Select(pattern => pattern.Trim())
.Where(pattern => pattern.Length > 0)
.ToArray();
if (patterns.Length == 0)
return -1;
string candidate = journalText ?? string.Empty;
StringComparison comparison = ignoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal;
for (int i = 0; i < patterns.Length; i++)
{
bool found = equals
? candidate.Equals(patterns[i], comparison)
: candidate.IndexOf(patterns[i], comparison) >= 0;
if (found)
return i;
}
return -1;
}Перевіряє умови нижче й повертає показаний результат.
Параметри: minX, minY, maxX, maxY, map, tileTypes, statics
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2394.
private InjectionValue FindPortableTiles(int minX, int minY, int maxX, int maxY, int map, int[] tileTypes, bool statics)
Результат: InjectionValue.
Результат: new InjectionValue(Array.Empty<InjectionValue>()); new InjectionValue(result.ToArray()).
Виклики: Array.Empty<int>, Math.Min, Math.Max, Array.Empty<InjectionValue>, bridge.Wait, scheduler.ExecutePathQuerySlice, ScanSlice, result.ToArray.
Умови: `(uint)minX > ushort.MaxValue || (uint)minY > ushort.MaxValue
|| (uint)maxX > ushort.MaxValue || (uint)maxY > ushort.MaxValue
|| (uint)map > byte.MaxValue`; `((long)lastX - firstX + 1) * ((long)lastY - firstY + 1) > 1_000_000L`; `map != bridge.WorldNumber`; `bridge is IApiPathQueryScheduler scheduler`.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLandscapeTile:bridge.GetLandscapeTile(x, y, map). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetStaticTiles:bridge.GetStaticTiles(x, y, map). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Wait:bridge.Wait(0). -
InjectionScript.Runtime.InjectionApiUO.FindPortableTiles::ScanSlice:ScanSlice(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WorldNumber:bridge.WorldNumber.
Внутрішній код реалізації, не самостійний скрипт.
private InjectionValue FindPortableTiles(int minX, int minY, int maxX, int maxY, int map, int[] tileTypes, bool statics)
{
if ((uint)minX > ushort.MaxValue || (uint)minY > ushort.MaxValue
|| (uint)maxX > ushort.MaxValue || (uint)maxY > ushort.MaxValue
|| (uint)map > byte.MaxValue)
throw new NativeSubrutineException("Tile coordinates must be 0..65535 and map 0..255.");
var result = new List<InjectionValue>();
var wanted = new HashSet<int>(tileTypes ?? Array.Empty<int>());
int firstX = Math.Min(minX, maxX);
// …
if (((long)lastX - firstX + 1) * ((long)lastY - firstY + 1) > 1_000_000L)
throw new NativeSubrutineException("Tile search area is limited to 1,000,000 cells per call.");
if (map != bridge.WorldNumber)
return new InjectionValue(Array.Empty<InjectionValue>());
// …
if (map != bridge.WorldNumber) { mapChanged = true; return; }
// …
if (cells > 0 && Stopwatch.GetTimestamp() - started >= Stopwatch.Frequency / 1000) break;
if (!statics)
// …
if (tile.Length >= 2 && (wanted.Count == 0 || wanted.Contains(tile[0])))
// …
if (wanted.Count == 0 || wanted.Contains(records[i]))
// …
if (++y > lastY) { y = firstY; x++; }
// …
if (bridge is IApiPathQueryScheduler scheduler) scheduler.ExecutePathQuerySlice(ScanSlice);
// …
if (mapChanged) return new InjectionValue(Array.Empty<InjectionValue>());
// …
return new InjectionValue(result.ToArray());
// …Повний код зберігається у файлі джерела; нижче наведено точні фрагменти.
Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3637.
public int GetDir()
Результат: int.
Результат: GetDir("self").
Виклики: GetDir.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetDir:GetDir("self").
Внутрішній код реалізації, не самостійний скрипт.
public int GetDir() => GetDir("self");Повертає значення виразу нижче.
Параметри: id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3638.
public int GetDir(string id)
Результат: int.
Результат: GetDir(GetObject(id)).
Виклики: GetDir, GetObject.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetDir:GetDir(GetObject(id)). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id).
Внутрішній код реалізації, не самостійний скрипт.
public int GetDir(string id) => GetDir(GetObject(id));Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3614.
public string GetGraphics()
Результат: string.
Результат: GetGraphics(bridge.Self).
Виклики: GetGraphics.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetGraphics:GetGraphics(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
public string GetGraphics() => GetGraphics(bridge.Self);Перевіряє умови нижче й повертає показаний результат.
Параметри: arg
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3602.
private string GetInfo(string arg)
Результат: string.
Результат: GetName("self"); "UNKNOWN".
Виклики: arg.Equals, GetName.
Умови: arg.Equals("character", StringComparison.Ordinal).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetName:GetName("self").
Внутрішній код реалізації, не самостійний скрипт.
private string GetInfo(string arg)
{
if (arg.Equals("character", StringComparison.Ordinal))
return GetName("self");
return "UNKNOWN";
}Перевіряє умови нижче й повертає показаний результат.
Параметри: direction
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3483.
private int GetKey(int direction)
Результат: int.
Результат: 33; 39; 34; 40; 35; 37.
Умови: direction == 0; direction == 1; direction == 2; direction == 3.
Внутрішній код реалізації, не самостійний скрипт.
private int GetKey(int direction)
{
if (direction == 0)
return 33;
else if (direction == 1)
return 39;
else if (direction == 2)
return 34;
else if (direction == 3)
return 40;
else if (direction == 4)
return 35;
else if (direction == 5)
return 37;
else if (direction == 6)
return 36;
else if (direction == 7)
return 38;
throw new NativeSubrutineException($"Invalid movement direction {direction}. Expected a value from 0 through 7.");
}Повертає значення виразу нижче.
Параметри: id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3742.
public string GetSerial(string id)
Результат: string.
Результат: NumberConversions.ToHex(GetObject(id)).
Виклики: NumberConversions.ToHex, GetObject.
Виклики:
-
InjectionScript.Runtime.NumberConversions.ToHex:NumberConversions.ToHex(GetObject(id)). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id).
Внутрішній код реалізації, не самостійний скрипт.
public string GetSerial(string id) => NumberConversions.ToHex(GetObject(id));Виконує показані виклики та оновлення стану.
Параметри: id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3927.
public void GetStatus(int id)
Результат: void.
Виклики: bridge.GetStatus.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetStatus:bridge.GetStatus(id).
Внутрішній код реалізації, не самостійний скрипт.
public void GetStatus(int id) => bridge.GetStatus(id);Повертає значення виразу нижче.
Параметри: id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3568.
public int GetZ(string id)
Результат: int.
Результат: GetZ(GetObject(id)).
Виклики: GetZ, GetObject.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetZ:GetZ(GetObject(id)). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id).
Внутрішній код реалізації, не самостійний скрипт.
public int GetZ(string id) => GetZ(GetObject(id));Повертає значення виразу нижче.
Параметри: id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3768.
public int Hidden(int id)
Результат: int.
Результат: bridge.Hidden(id).
Виклики: bridge.Hidden.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Hidden:bridge.Hidden(id).
Внутрішній код реалізації, не самостійний скрипт.
public int Hidden(int id) => bridge.Hidden(id);Виконує показані виклики та оновлення стану.
Параметри: id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5221.
public void Ignore(string id)
Результат: void.
Виклики: Ignore, GetObject.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.Ignore:Ignore(GetObject(id)). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id).
Внутрішній код реалізації, не самостійний скрипт.
public void Ignore(string id) => Ignore(GetObject(id));Повертає значення виразу нижче.
Параметри: name
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6053.
private static bool IsSupportedLegacyEventName(string name)
Результат: bool.
Виклики: string.Equals.
Внутрішній код реалізації, не самостійний скрипт.
private static bool IsSupportedLegacyEventName(string name)
=> string.Equals(name, "SeeNewPlayer", StringComparison.OrdinalIgnoreCase)
|| string.Equals(name, "Death", StringComparison.OrdinalIgnoreCase)
|| string.Equals(name, "ChangeHitPoints", StringComparison.OrdinalIgnoreCase)
|| string.Equals(name, "ChangeMana", StringComparison.OrdinalIgnoreCase)
|| string.Equals(name, "ChangeStamina", StringComparison.OrdinalIgnoreCase);Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3774.
public string LastMessage()
Результат: string.
Результат: bridge.LastMessage().
Виклики: bridge.LastMessage.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastMessage:bridge.LastMessage().
Внутрішній код реалізації, не самостійний скрипт.
public string LastMessage() => bridge.LastMessage();Перевіряє умови нижче й повертає показаний результат.
Параметри: id, filters, selfX, selfY, selfZ
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3683.
private bool MatchesMobileFilters(int id, IEnumerable<string> filters, int selfX, int selfY, int selfZ)
Результат: bool.
Результат: false; true.
Виклики: bridge.GetDistance, bridge.GetZ, bridge.GetX, bridge.GetY, bridge.GetGraphics, IsHumanBody, ExpandMobileFilters, (raw ?? "all").Trim().ToLowerInvariant.
Умови: bridge.IsDead(id) == 0; bridge.IsDead(id) != 0; distance > 4; distance < 5 || distance > 9.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDistance:bridge.GetDistance(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetX:bridge.GetX(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetY:bridge.GetY(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGraphics:bridge.GetGraphics(id). -
InjectionScript.Runtime.InjectionApiUO.IsHumanBody:IsHumanBody(graphic). -
InjectionScript.Runtime.InjectionApiUO.ExpandMobileFilters:ExpandMobileFilters(filters). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsDead:bridge.IsDead(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsNpc:bridge.IsNpc(id).
Внутрішній код реалізації, не самостійний скрипт.
private bool MatchesMobileFilters(int id, IEnumerable<string> filters, int selfX, int selfY, int selfZ)
{
int distance = bridge.GetDistance(id);
int z = bridge.GetZ(id);
int x = bridge.GetX(id);
int y = bridge.GetY(id);
int graphic = bridge.GetGraphics(id);
bool human = IsHumanBody(graphic);
foreach (string raw in ExpandMobileFilters(filters))
{
switch ((raw ?? "all").Trim().ToLowerInvariant())
{
case "": case "all": break;
case "dead": if (bridge.IsDead(id) == 0) return false; break;
case "alive": if (bridge.IsDead(id) != 0) return false; break;
case "near": if (distance > 4) return false; break;
case "medium": if (distance < 5 || distance > 9) return false; break;
case "far": if (distance < 10) return false; break;
case "below": if (z >= selfZ) return false; break;
case "above": if (z <= selfZ) return false; break;
case "north": if (y >= selfY) return false; break;
case "south": if (y <= selfY) return false; break;
case "east": if (x <= selfX) return false; break;
case "west": if (x >= selfX) return false; break;
case "human": if (!human) return false; break;
case "npc": if (bridge.IsNpc(id) == 0 || !human) return false; break;
case "mob": if (bridge.IsNpc(id) == 0 || human) return false; break;
default: throw new NativeSubrutineException($"Unknown FindMobile filter '{raw}'.");
}
}
return true;
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2136.
void StopOwnRequest()
Результат: void.
Виклики: bridge.StopMoving, ownership.StopMovementRequest.
Умови: ownership == null.
Внутрішній код реалізації, не самостійний скрипт.
void StopOwnRequest()
{
if (ownership == null) bridge.StopMoving();
else ownership.StopMovementRequest(requestId);
}Розбирає або знаходить значення аргументу за правилами, показаними в коді.
Параметри: value
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5058.
private HashSet<int> ParseTypeMask(InjectionValue value)
Результат: HashSet<int>.
Виклики: ParseIntMask, value.Array.Select(ResolveEntry).ToArray, value.Array.Select, ResolveEntry.
Виклики:
-
InjectionScript.Runtime.State.NamedTypes.TryGet:state.Types.TryGet(parts[i], out int graphic). -
InjectionScript.Runtime.InjectionApiUO.ParseIntMask:ParseIntMask(value.Kind == InjectionValueKind.Array ? new InjectionValue(value.Array.Select(ResolveEntry).ToArray()) : ResolveEntry(value)). -
InjectionScript.Runtime.InjectionApiUO.ParseTypeMask::ResolveEntry:ResolveEntry(value).
Внутрішній код реалізації, не самостійний скрипт.
private HashSet<int> ParseTypeMask(InjectionValue value)
{
InjectionValue ResolveEntry(InjectionValue entry)
{
if (entry.Kind != InjectionValueKind.String) return entry;
string[] parts = (entry.String ?? string.Empty).Split('|');
for (int i = 0; i < parts.Length; i++)
if (state.Types.TryGet(parts[i], out int graphic))
parts[i] = graphic.ToString(CultureInfo.InvariantCulture);
return new InjectionValue(string.Join("|", parts));
}
return ParseIntMask(value.Kind == InjectionValueKind.Array
? new InjectionValue(value.Array.Select(ResolveEntry).ToArray()) : ResolveEntry(value));
}Перевіряє умови нижче й повертає показаний результат.
Параметри: value
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.ClassMasks.cs:42.
private static string ReadClassName(InjectionValue value)
Результат: string.
Результат: name.
Виклики: (value.String ?? string.Empty).Trim, name.IndexOfAny, name.Equals.
Умови: name.Length == 0 || name == "-1" || name.IndexOfAny(new[] { '|', ',', ';' }) >= 0 || name.Equals("any", StringComparison.OrdinalIgnoreCase) || name.Equals("all", StringComparison.OrdinalIgnoreCase).
Внутрішній код реалізації, не самостійний скрипт.
private static string ReadClassName(InjectionValue value)
{
string name = value.Kind == InjectionValueKind.String ? (value.String ?? string.Empty).Trim() : string.Empty;
if (name.Length == 0 || name == "-1" || name.IndexOfAny(new[] { '|', ',', ';' }) >= 0
|| name.Equals("any", StringComparison.OrdinalIgnoreCase) || name.Equals("all", StringComparison.OrdinalIgnoreCase))
throw new StatementFailedException("ClassMask: use a nonempty class name without | , ; or reserved any/all/-1.");
return name;
}Перевіряє умови нижче й повертає показаний результат.
Параметри: index
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5460.
private JournalEntrySnapshot ReadJournalSnapshot(int index)
Результат: JournalEntrySnapshot.
Результат: reader.ReadJournalEntry(index); null.
Виклики: reader.ReadJournalEntry, bridge.JournalEntryCount, bridge.GetJournalText, bridge.JournalSerialInt, bridge.JournalName, NumberConversions.ToInt, bridge.JournalColor, bridge.JournalFont.
Умови: bridge is IApiJournalReader reader; index < 0 || index >= bridge.JournalEntryCount().
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalEntryCount:bridge.JournalEntryCount(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetJournalText:bridge.GetJournalText(index). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalSerialInt:bridge.JournalSerialInt(index). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalName:bridge.JournalName(index). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(bridge.JournalColor(index)). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalColor:bridge.JournalColor(index). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalFont:bridge.JournalFont(index). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalMessageType:bridge.JournalMessageType(index). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalTextType:bridge.JournalTextType(index). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalTimestamp:bridge.JournalTimestamp(index).
Внутрішній код реалізації, не самостійний скрипт.
private JournalEntrySnapshot ReadJournalSnapshot(int index)
{
if (bridge is IApiJournalReader reader)
return reader.ReadJournalEntry(index);
if (index < 0 || index >= bridge.JournalEntryCount())
return null;
return new JournalEntrySnapshot(0, index, bridge.GetJournalText(index), bridge.JournalSerialInt(index),
bridge.JournalName(index), NumberConversions.ToInt(bridge.JournalColor(index)), bridge.JournalFont(index),
bridge.JournalMessageType(index), bridge.JournalTextType(index), bridge.JournalTimestamp(index));
}Розбирає або знаходить значення аргументу за правилами, показаними в коді.
Параметри: id, cache, chain
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4026.
private int? ResolveUseTypeWorldHeight(int id, Dictionary<int, int?> cache, List<int> chain)
Результат: int?.
Результат: height.
Виклики: chain.Clear, cache.TryGetValue, chain.Add, bridge.ContainerOf, bridge.GetZ.
Умови: cache.TryGetValue(id, out height); parent <= 0.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ContainerOf:bridge.ContainerOf(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(id).
Внутрішній код реалізації, не самостійний скрипт.
private int? ResolveUseTypeWorldHeight(int id, Dictionary<int, int?> cache, List<int> chain)
{
chain.Clear();
int? height = null;
for (int depth = 0; depth < 128; depth++)
{
if (cache.TryGetValue(id, out height))
break;
// A repeated unresolved ancestor is malformed cyclic container data.
cache[id] = null;
chain.Add(id);
int parent = bridge.ContainerOf(id);
if (parent <= 0)
{
height = bridge.GetZ(id);
break;
}
id = parent;
}
foreach (int visited in chain)
cache[visited] = height;
return height;
}Виконує показані виклики та оновлення стану.
Параметри: entry
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5471.
private void SelectJournalEntry(JournalEntrySnapshot entry)
Результат: void.
Внутрішній код реалізації, не самостійний скрипт.
private void SelectJournalEntry(JournalEntrySnapshot entry)
{
selectedJournalEntry = entry;
foundedTextIndex = entry?.Index ?? -1;
foundedTextId = -1;
}Виконує показані виклики та оновлення стану.
Параметри: name, stateValue
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6001.
public void SetEvent(InjectionValue name, InjectionValue stateValue)
Результат: void.
Виклики: SetEvent.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.SetEvent:SetEvent(name, stateValue, InjectionValue.True, new InjectionValue(string.Empty)).
Внутрішній код реалізації, не самостійний скрипт.
public void SetEvent(InjectionValue name, InjectionValue stateValue)
=> SetEvent(name, stateValue, InjectionValue.True, new InjectionValue(string.Empty));Виконує показані виклики та оновлення стану.
Параметри: identifier, key, stateValue
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3238.
public void SetGump(InjectionValue identifier, InjectionValue key, InjectionValue stateValue)
Результат: void.
Виклики: bridge.SetGumpValue, identifier.ToString, NumberConversions.ToInt, stateValue.ToString.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetGumpValue:bridge.SetGumpValue(-1, identifier.ToString(), NumberConversions.ToInt(key), stateValue.ToString()). -
InjectionScript.Runtime.InjectionValue.ToString:identifier.ToString(). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(key). -
InjectionScript.Runtime.InjectionValue.ToString:stateValue.ToString().
Внутрішній код реалізації, не самостійний скрипт.
public void SetGump(InjectionValue identifier, InjectionValue key, InjectionValue stateValue)
=> bridge.SetGumpValue(-1, identifier.ToString(), NumberConversions.ToInt(key), stateValue.ToString());Перевіряє умови нижче й повертає показаний результат.
Параметри: skillName, variant
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5803.
public int SkillVal(string skillName, int variant)
Результат: int.
Результат: 0; bridge.SkillVal(id); baseValue; baseValue - skillValBaselines[id]; bridge.SkillLockVal(id).
Виклики: ConvertSkillName, SystemMessage, bridge.SkillBaseVal, skillValBaselines.ContainsKey, bridge.SkillVal, bridge.SkillLockVal.
Умови: !skillId.HasValue; !skillValBaselines.ContainsKey(id).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ConvertSkillName:ConvertSkillName(skillName). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage("UO.SkillVal: unknown skill name."). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SkillBaseVal:bridge.SkillBaseVal(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SkillVal:bridge.SkillVal(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SkillLockVal:bridge.SkillLockVal(id). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage("UO.SkillVal: variant must be 0, 1, 2 or 3.").
Внутрішній код реалізації, не самостійний скрипт.
public int SkillVal(string skillName, int variant)
{
int? skillId = ConvertSkillName(skillName);
if (!skillId.HasValue)
{
SystemMessage("UO.SkillVal: unknown skill name.");
return 0;
}
int id = skillId.Value;
int baseValue = bridge.SkillBaseVal(id);
if (!skillValBaselines.ContainsKey(id))
skillValBaselines[id] = baseValue;
switch (variant)
{
case 0:
return bridge.SkillVal(id);
case 1:
return baseValue;
case 2:
return baseValue - skillValBaselines[id];
case 3:
return bridge.SkillLockVal(id);
default:
SystemMessage("UO.SkillVal: variant must be 0, 1, 2 or 3.");
return 0;
}
}Перевіряє умови нижче й повертає показаний результат.
Параметри: name, id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3834.
public bool TryGetObject(InjectionValue name, out int id)
Результат: bool.
Результат: true; TryGetObject(name.String, out id); false.
Виклики: TryGetObject.
Умови: name.Kind == InjectionValueKind.Integer; name.Kind == InjectionValueKind.Decimal; name.Kind == InjectionValueKind.String.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.TryGetObject:TryGetObject(name.String, out id).
Внутрішній код реалізації, не самостійний скрипт.
public bool TryGetObject(InjectionValue name, out int id)
{
if (name.Kind == InjectionValueKind.Integer)
{
id = name.Integer;
return true;
}
if (name.Kind == InjectionValueKind.Decimal)
{
id = unchecked((int)name.Decimal);
return true;
}
if (name.Kind == InjectionValueKind.String)
return TryGetObject(name.String, out id);
id = -1;
return false;
}Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5608.
public int Undress()
Результат: int.
Результат: Unequip(dressLayers, "Clothing removed.").
Виклики: Unequip.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.Unequip:Unequip(dressLayers, "Clothing removed.").
Внутрішній код реалізації, не самостійний скрипт.
public int Undress()
=> Unequip(dressLayers, "Clothing removed.");Перевіряє умови нижче й повертає показаний результат.
Параметри: skillName
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5758.
private bool UseSkillCore(string skillName)
Результат: bool.
Результат: false; true.
Виклики: ConvertSkillName, SystemMessage, bridge.UseSkill, Timer.
Умови: !skillId.HasValue; bridge.UseSkill(skillId.Value) == 0.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ConvertSkillName:ConvertSkillName(skillName). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage("Unknown action skill name"). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseSkill:bridge.UseSkill(skillId.Value). -
InjectionScript.Runtime.InjectionApiUO.Timer:Timer().
Внутрішній код реалізації, не самостійний скрипт.
private bool UseSkillCore(string skillName)
{
var skillId = ConvertSkillName(skillName);
if (!skillId.HasValue)
{
SystemMessage("Unknown action skill name");
return false;
}
if (bridge.UseSkill(skillId.Value) == 0)
return false;
ticksSkill = Timer();
return true;
}Повертає значення виразу нижче.
Параметри: type, color
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3972.
public int UseType(int type, string color)
Результат: int.
Результат: UseType(type, NumberConversions.ToInt(color)).
Виклики: UseType, NumberConversions.ToInt.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.UseType:UseType(type, NumberConversions.ToInt(color)). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(color).
Внутрішній код реалізації, не самостійний скрипт.
public int UseType(int type, string color) => UseType(type, NumberConversions.ToInt(color));Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:866.
values
Результат: values.
Результат: ``.
Виклики:
-
InjectionScript.Runtime.FollowStopCondition.Parse:FollowStopCondition.Parse(values[3]). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(values[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[1]). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[2]).
Внутрішній код реалізації, не самостійний скрипт.
values =>
{
FollowStopCondition[] conditions = FollowStopCondition.Parse(values[3]);
return new InjectionValue(bridge is IApiConditionalFollowBridge follow
? follow.Follow(GetObject(values[0]), NumberConversions.ToInt(values[1]), ToBoolean(values[2]), conditions) : 0);
}Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1048.
Результат: bridge.Followers.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Followers:bridge.Followers.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.FollowersВиклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1059.
serial
Результат: serial.
Результат: serial > 0 && bridge.Exists(serial) != 0 && IsDeadState(serial) == 0 ? 1 : 0.
Виклики: bridge.Exists, IsDeadState.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Exists:bridge.Exists(serial). -
InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases::IsDeadState:IsDeadState(serial).
Внутрішній код реалізації, не самостійний скрипт.
serial => serial > 0 && bridge.Exists(serial) != 0 && IsDeadState(serial) == 0 ? 1 : 0Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1061.
serial
Результат: serial.
Результат: bridge.Hidden(serial).
Виклики: bridge.Hidden.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Hidden:bridge.Hidden(serial).
Внутрішній код реалізації, не самостійний скрипт.
serial => bridge.Hidden(serial)Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1029.
Результат: bridge.MaxStamina.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MaxStamina:bridge.MaxStamina.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.MaxStaminaВиклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1068.
Результат: bridge.IsMoving().
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsMoving:bridge.IsMoving().
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.IsMoving()Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:487.
values
Результат: values.
Результат: ``.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.CompactWaitTarget:CompactWaitTarget(values).
Внутрішній код реалізації, не самостійний скрипт.
values =>
{
CompactWaitTarget(values);
return InjectionValue.Unit;
}Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.
value
Результат: value.
Результат: getter(GetObject(value)).
Виклики: getter, GetObject.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value).
Внутрішній код реалізації, не самостійний скрипт.
value => getter(GetObject(value))Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.
Результат: getter(bridge.Self).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
() => getter(bridge.Self)Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.
value
Результат: value.
Результат: getter(GetObject(value)).
Виклики: getter, GetObject.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value).
Внутрішній код реалізації, не самостійний скрипт.
value => getter(GetObject(value))Розбирає або знаходить значення аргументу за правилами, показаними в коді.
Параметри: str, value
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NumberConversions.cs:59.
public static bool TryStr2Int(string str, out int value)
Результат: bool.
Результат: false; true; int.TryParse(str, NumberStyles.Integer, CultureInfo.InvariantCulture, out value).
Виклики: string.IsNullOrWhiteSpace, str.Trim, str.Substring(offset, 2).Equals, str.Substring, uint.TryParse, int.TryParse.
Умови: string.IsNullOrWhiteSpace(str); str.Length > offset + 2 && str.Substring(offset, 2).Equals("0x", StringComparison.OrdinalIgnoreCase); !uint.TryParse(str.Substring(offset + 2), NumberStyles.AllowHexSpecifier, CultureInfo.InvariantCulture, out uint hex) || (negative && hex > 0x80000000u).
Внутрішній код реалізації, не самостійний скрипт.
public static bool TryStr2Int(string str, out int value)
{
value = 0;
if (string.IsNullOrWhiteSpace(str))
return false;
str = str.Trim();
int offset = str[0] == '+' || str[0] == '-' ? 1 : 0;
bool negative = str[0] == '-';
if (str.Length > offset + 2 && str.Substring(offset, 2).Equals("0x", StringComparison.OrdinalIgnoreCase))
{
if (!uint.TryParse(str.Substring(offset + 2), NumberStyles.AllowHexSpecifier,
CultureInfo.InvariantCulture, out uint hex) || (negative && hex > 0x80000000u))
return false;
value = negative ? unchecked(-(int)hex) : unchecked((int)hex);
return true;
}
return int.TryParse(str, NumberStyles.Integer, CultureInfo.InvariantCulture, out value);
}Повертає значення виразу нижче.
Параметри: x, y
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/PortablePathSearch.cs:35.
int Estimate(int x, int y)
Результат: int.
Результат: diagonal ? Math.Max(dx, dy) : dx + dy.
Виклики: Math.Max, Math.Abs.
Внутрішній код реалізації, не самостійний скрипт.
int Estimate(int x, int y)
{
int dx = Math.Max(0, Math.Abs(finishX - x) - accuracy);
int dy = Math.Max(0, Math.Abs(finishY - y) - accuracy);
return diagonal ? Math.Max(dx, dy) : dx + dy;
}Перевіряє умови нижче й повертає показаний результат.
Параметри: state, bridge
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/ScriptPathObstacles.cs:11.
public static Func<int, int, bool> Create(InjectionRuntimeState state, IApiBridge bridge)
Результат: Func<int, int, bool>.
Результат: null.
Виклики: value.Split, int.TryParse, locations.Add, rules.Add, bridge.GetWorldItems, bridge.GetGraphics, bridge.GetColor, Math.Max.
Умови: state == null || state.BadLocations.Count == 0 && state.BadObjects.Count == 0; parts.Length == 2 && int.TryParse(parts[0], out int x) && int.TryParse(parts[1], out int y) && x >= 0 && x <= ushort.MaxValue && y >= 0 && y <= ushort.MaxValue; parts.Length == 3 && int.TryParse(parts[0], out int type) && int.TryParse(parts[1], out int hue) && int.TryParse(parts[2], out int radius) && type >= -1 && type <= ushort.MaxValue && hue >= -1 && hue <= ushort.MaxValue && radius >= 0 && radius <= byte.MaxValue; rules.Count != 0.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetWorldItems:bridge.GetWorldItems(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGraphics:bridge.GetGraphics(item). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetColor:bridge.GetColor(item). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetX:bridge.GetX(item). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetY:bridge.GetY(item).
Внутрішній код реалізації, не самостійний скрипт.
public static Func<int, int, bool> Create(InjectionRuntimeState state, IApiBridge bridge)
{
if (state == null || state.BadLocations.Count == 0 && state.BadObjects.Count == 0) return null;
var locations = new HashSet<(int, int)>();
var rules = new List<(int Type, int Hue, int Radius)>();
var regions = new List<(int X, int Y, int Radius)>();
foreach (string value in state.BadLocations)
{
string[] parts = value.Split(',');
if (parts.Length == 2 && int.TryParse(parts[0], out int x) && int.TryParse(parts[1], out int y)
&& x >= 0 && x <= ushort.MaxValue && y >= 0 && y <= ushort.MaxValue) locations.Add((x, y));
}
foreach (string value in state.BadObjects)
{
string[] parts = value.Split(',');
if (parts.Length == 3 && int.TryParse(parts[0], out int type) && int.TryParse(parts[1], out int hue)
&& int.TryParse(parts[2], out int radius) && type >= -1 && type <= ushort.MaxValue
&& hue >= -1 && hue <= ushort.MaxValue && radius >= 0 && radius <= byte.MaxValue)
rules.Add((type & 0xFFFF, hue & 0xFFFF, radius));
}
if (rules.Count != 0)
{
foreach (int item in bridge.GetWorldItems())
{
int type = bridge.GetGraphics(item), hue = bridge.GetColor(item), radius = -1;
foreach (var rule in rules)
if ((rule.Type == 0xFFFF || rule.Type == type) && (rule.Hue == 0xFFFF || rule.Hue == hue))
radius = Math.Max(radius, rule.Radius);
if (radius >= 0) regions.Add((bridge.GetX(item), bridge.GetY(item), radius));
}
}
if (locations.Count == 0 && regions.Count == 0) return null;
return (x, y) =>
{
if (locations.Contains((x, y))) return true;
foreach (var region in regions)
if (Math.Abs((long)x - region.X) <= region.Radius && Math.Abs((long)y - region.Y) <= region.Radius) return true;
return false;
};
}Повертає значення виразу нижче.
Параметри: layer
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/EquipSet.cs:32.
public int GetAtLayer(int layer)
Результат: int.
Результат: equips.FirstOrDefault(x => x.Layer == layer)?.Id ?? 0.
Виклики: equips.FirstOrDefault.
Внутрішній код реалізації, не самостійний скрипт.
public int GetAtLayer(int layer) => equips.FirstOrDefault(x => x.Layer == layer)?.Id ?? 0;Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedIgnoreLists.cs:58.
public void Clear()
Результат: void.
Виклики: lists.Clear.
Внутрішній код реалізації, не самостійний скрипт.
public void Clear() { lock (sync) lists.Clear(); }ClassicUO — Bad Newbie & C# Scripts IDE