Repository navigation
Runtime Helpers 7
uk · ru · en · de · fr · it · es · zh-tw · ja · ko
Внутрішній код реалізації, не самостійний скрипт.
Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:412.
Результат: true.
Виклики:
-
ClassicUO.CSharp.CSharpCallbacks.IsRunning:IsRunning(runningName).
Внутрішній код реалізації, не самостійний скрипт.
case "FunRunning":
string runningName = Convert.ToString(arguments[0]) ?? "";
result = IsRunning(runningName) || events is ICSharpScriptHost runningHost && runningHost.IsCSharpScriptRunning(runningName) ? 1 : 0;
return true;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:426.
when Length== 1: string routine = Convert.ToString(arguments[0]) ?? ""
Результат: when.
Виклики: Convert.ToString.
Виклики:
-
ClassicUO.CSharp.CSharpCallbacks.Exists:Exists(routine). -
ClassicUO.CSharp.CSharpCallbacks.Cancel:Cancel(routine).
Внутрішній код реалізації, не самостійний скрипт.
case "Terminate" when arguments.Length == 1:
string routine = Convert.ToString(arguments[0]) ?? "";
if (Exists(routine)) { Cancel(routine); return true; }
if (Cancel(routine)) return true;
return false;Перевіряє умови нижче й повертає показаний результат.
Параметри: value
Джерело: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:335.
private static string HandlerName(object? value)
Результат: string.
Результат: name[5..].Trim(); name[6..].Trim(); name.
Виклики: (Convert.ToString(value) ?? "").Trim, Convert.ToString, name.StartsWith, name[5..].Trim, name[6..].Trim.
Умови: name.StartsWith("exec ", StringComparison.OrdinalIgnoreCase); name.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase).
Внутрішній код реалізації, не самостійний скрипт.
private static string HandlerName(object? value)
{
string name = (Convert.ToString(value) ?? "").Trim();
if (name.StartsWith("exec ", StringComparison.OrdinalIgnoreCase)) return name[5..].Trim();
if (name.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase)) return name[6..].Trim();
return name;
}Виконує показані виклики та оновлення стану.
Параметри: page, text
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1774.
public void BookSetPageText(int page, string text)
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionBook book = GetOpenBook(); if (book == null) { Error("UO.BookSetPageText: no open book."); return; } if (!book.YokoTrySetPageText(page, text)) Error("UO.BookSetPageText: invalid page, read-only book, too many lines, or a line is too long."); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionBook book = GetOpenBook(); if (book == null) { Error("UO.BookSetPageText: no open book."); return; } if (!book.YokoTrySetPageText(page, text)) Error("UO.BookSetPageText: invalid page, read-only book, too many lines, or a line is too long."); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetOpenBook:GetOpenBook(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error:Error("UO.BookSetPageText: no open book."). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error:Error("UO.BookSetPageText: invalid page, read-only book, too many lines, or a line is too long.").
Внутрішній код реалізації, не самостійний скрипт.
public void BookSetPageText(int page, string text) => Invoke(() =>
{
ISessionBook book = GetOpenBook();
if (book == null) { Error("UO.BookSetPageText: no open book."); return; }
if (!book.YokoTrySetPageText(page, text))
Error("UO.BookSetPageText: invalid page, read-only book, too many lines, or a line is too long.");
});Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1410.
public void Bow()
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => GameActions.EmoteAction("bow")). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => GameActions.EmoteAction("bow")). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.GameActions.EmoteAction:GameActions.EmoteAction("bow").
Внутрішній код реалізації, не самостійний скрипт.
public void Bow() => Invoke(() => GameActions.EmoteAction("bow"));Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:695.
public void CloseMenu()
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { foreach (SessionMenu menu in _world.ServerMenus.Snapshot()) menu.CancelForYoko(); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { foreach (SessionMenu menu in _world.ServerMenus.Snapshot()) menu.CancelForYoko(); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public void CloseMenu() => Invoke(() =>
{
foreach (SessionMenu menu in _world.ServerMenus.Snapshot())
menu.CancelForYoko();
});Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:162.
public int ColdResistance
Результат: int.
Результат: Invoke(() => CurrentPlayer?.ColdResistance ?? 0).
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => CurrentPlayer?.ColdResistance ?? 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => CurrentPlayer?.ColdResistance ?? 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public int ColdResistance => Invoke(() => CurrentPlayer?.ColdResistance ?? 0);Виконує показані виклики та оновлення стану.
Параметри: message
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3659.
public void Error(string message)
Результат: void.
Виклики: ReportStatus.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ReportStatus:ReportStatus(message).
Внутрішній код реалізації, не самостійний скрипт.
public void Error(string message) => ReportStatus(message);Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2255.
public int FindCount()
Результат: int.
Результат: _findCount.
Внутрішній код реалізації, не самостійний скрипт.
public int FindCount() => _findCount;Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:133.
public int FindItem
Результат: int.
Результат: _findItem.
Внутрішній код реалізації, не самостійний скрипт.
public int FindItem => _findItem;Повертає значення виразу нижче.
Параметри: type, notoriety
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2649.
public int FindNotoriety(int type, int notoriety)
Результат: int.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ResetFindResults(); IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList); foreach (Mobile mobile in _world.Mobiles.Values) { if (mobile.IsDestroyed || State.IgnoredSerials.Contains((int)mobile.Serial) || ignoredTypes.Matches(mobile.Graphic, mobile.Hue) || mobile == _world.Player || type >= 0 && type != 0xFFFF && mobile.Graphic != (ushort)type || notoriety >= 0 && (int)mobile.NotorietyFlag != notoriety || mobile.Distance > State.FindDistance || _world.Player != null && Math.Abs(mobile.Z - _world.Player.Z) > State.FindVertical) { continue; } RegisterFound(mobile); } return _findItem; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ResetFindResults(); IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList); foreach (Mobile mobile in _world.Mobiles.Values) { if (mobile.IsDestroyed || State.IgnoredSerials.Contains((int)mobile.Serial) || ignoredTypes.Matches(mobile.Graphic, mobile.Hue) || mobile == _world.Player || type >= 0 && type != 0xFFFF && mobile.Graphic != (ushort)type || notoriety >= 0 && (int)mobile.NotorietyFlag != notoriety || mobile.Distance > State.FindDistance || _world.Player != null && Math.Abs(mobile.Z - _world.Player.Z) > State.FindVertical) { continue; } RegisterFound(mobile); } return _findItem; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResetFindResults:ResetFindResults(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound:RegisterFound(mobile). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound:RegisterFound(mobile). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public int FindNotoriety(int type, int notoriety)
{
return Invoke(() =>
{
ResetFindResults();
IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList);
foreach (Mobile mobile in _world.Mobiles.Values)
{
if (mobile.IsDestroyed || State.IgnoredSerials.Contains((int)mobile.Serial) || ignoredTypes.Matches(mobile.Graphic, mobile.Hue) || mobile == _world.Player
|| type >= 0 && type != 0xFFFF && mobile.Graphic != (ushort)type
|| notoriety >= 0 && (int)mobile.NotorietyFlag != notoriety
|| mobile.Distance > State.FindDistance
|| _world.Player != null && Math.Abs(mobile.Z - _world.Player.Z) > State.FindVertical)
{
continue;
}
RegisterFound(mobile);
}
return _findItem;
});
}Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:178.
public int GameServerPort
Результат: int.
Результат: Settings.GlobalSettings.Port.
Внутрішній код реалізації, не самостійний скрипт.
public int GameServerPort => Settings.GlobalSettings.Port;Повертає значення виразу нижче.
Параметри: id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:228.
public int GetHP(int id)
Результат: int.
Результат: WithEntity(id, e => e.Hits).
Виклики: WithEntity.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WithEntity:WithEntity(id, e => e.Hits).
Внутрішній код реалізації, не самостійний скрипт.
public int GetHP(int id) => WithEntity(id, e => e.Hits);Повертає значення виразу нижче.
Параметри: id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:621.
public int GetLocked(int id)
Результат: int.
Результат: Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsParalyzed == true ? 1 : 0).
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsParalyzed == true ? 1 : 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsParalyzed == true ? 1 : 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.World.Get:_world.Get(unchecked((uint)id)).
Внутрішній код реалізації, не самостійний скрипт.
public int GetLocked(int id) => Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsParalyzed == true ? 1 : 0);Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:338.
public int GetPing()
Результат: int.
Результат: NetClient.Socket.Statistics.ServerPing.
Внутрішній код реалізації, не самостійний скрипт.
public int GetPing() => NetClient.Socket.Statistics.ServerPing;Виконує показані виклики та оновлення стану.
Параметри: buffer, offset, value
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3351.
static void Write32(byte[] buffer, int offset, int value)
Результат: void.
Внутрішній код реалізації, не самостійний скрипт.
static void Write32(byte[] buffer, int offset, int value)
{
buffer[offset] = (byte)value;
buffer[offset + 1] = (byte)(value >> 8);
buffer[offset + 2] = (byte)(value >> 16);
buffer[offset + 3] = (byte)(value >> 24);
}Повертає значення виразу нижче.
Параметри: tradeNumber
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:261.
public string GetTradeOpponentName(int tradeNumber)
Результат: string.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionTrade gump = FindNumberedTrade(tradeNumber); return gump?.OpponentName ?? string.Empty; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionTrade gump = FindNumberedTrade(tradeNumber); return gump?.OpponentName ?? string.Empty; }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindNumberedTrade:FindNumberedTrade(tradeNumber).
Внутрішній код реалізації, не самостійний скрипт.
public string GetTradeOpponentName(int tradeNumber) => Invoke(() =>
{
ISessionTrade gump = FindNumberedTrade(tradeNumber);
return gump?.OpponentName ?? string.Empty;
});Повертає значення виразу нижче.
Параметри: pattern, startTime, endTime, limit
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1903.
public int InJournalBetweenTimes(string pattern, int startTime, int endTime, int limit)
Результат: int.
Результат: FindJournal(pattern, start, end, limit, false, true).
Виклики: now.AddMilliseconds, Math.Max, Math.Min, FindJournal.
Внутрішній код реалізації, не самостійний скрипт.
public int InJournalBetweenTimes(string pattern, int startTime, int endTime, int limit)
{
DateTime now = DateTime.Now;
DateTime start = now.AddMilliseconds(-Math.Max(startTime, endTime));
DateTime end = now.AddMilliseconds(-Math.Min(startTime, endTime));
return FindJournal(pattern, start, end, limit, false, true);
}Повертає значення виразу нижче.
Параметри: pattern, startTime, endTime, limit
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1917.
public int InJournalSystemBetweenTimes(string pattern, int startTime, int endTime, int limit)
Результат: int.
Результат: FindJournal(pattern, start, end, limit, true, true).
Виклики: now.AddMilliseconds, Math.Max, Math.Min, FindJournal.
Внутрішній код реалізації, не самостійний скрипт.
public int InJournalSystemBetweenTimes(string pattern, int startTime, int endTime, int limit)
{
DateTime now = DateTime.Now;
DateTime start = now.AddMilliseconds(-Math.Max(startTime, endTime));
DateTime end = now.AddMilliseconds(-Math.Min(startTime, endTime));
return FindJournal(pattern, start, end, limit, true, true);
}Повертає значення виразу нижче.
Параметри: x, y
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:670.
public int IsWaterTile(int x, int y)
Результат: int.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => AnyTileAt(x, y, tile => tile is Land land ? land.TileData.IsWet : tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length && Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet) ? 1 : 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => AnyTileAt(x, y, tile => tile is Land land ? land.TileData.IsWet : tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length && Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet) ? 1 : 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AnyTileAt:AnyTileAt(x, y, tile => tile is Land land ? land.TileData.IsWet : tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length && Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet).
Внутрішній код реалізації, не самостійний скрипт.
public int IsWaterTile(int x, int y) => Invoke(() => AnyTileAt(x, y, tile =>
tile is Land land ? land.TileData.IsWet
: tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length
&& Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet) ? 1 : 0);Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:136.
public int LastCorpse
Результат: int.
Результат: Invoke(() => (int)(_world.Items.Values.Where(i => i.IsCorpse && !i.IsDestroyed).OrderBy(i => i.Distance).FirstOrDefault()?.Serial ?? 0)).
Виклики: Invoke.
Внутрішній код реалізації, не самостійний скрипт.
public int LastCorpse => Invoke(() => (int)(_world.Items.Values.Where(i => i.IsCorpse && !i.IsDestroyed).OrderBy(i => i.Distance).FirstOrDefault()?.Serial ?? 0));Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:160.
public int MaxMana
Результат: int.
Результат: Invoke(() => CurrentPlayer?.ManaMax ?? 0).
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => CurrentPlayer?.ManaMax ?? 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => CurrentPlayer?.ManaMax ?? 0). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public int MaxMana => Invoke(() => CurrentPlayer?.ManaMax ?? 0);Повертає значення виразу нижче.
Параметри: sourceContainerId, type, color, targetContainerId, x, y, z, delayMs
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1284.
public int MoveItems(int sourceContainerId, int type, int color, int targetContainerId, int x, int y, int z, int delayMs)
Результат: int.
Результат: MoveContainerItems(sourceContainerId, type, color, targetContainerId, x, y, z, delayMs).Sent > 0 ? 1 : 0.
Виклики: MoveContainerItems.
Внутрішній код реалізації, не самостійний скрипт.
public int MoveItems(int sourceContainerId, int type, int color, int targetContainerId, int x, int y, int z, int delayMs)
=> MoveContainerItems(sourceContainerId, type, color, targetContainerId, x, y, z, delayMs).Sent > 0 ? 1 : 0;Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:168.
public int Race
Результат: int.
Результат: Invoke(() => (int)(CurrentPlayer?.Race ?? 0)).
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (int)(CurrentPlayer?.Race ?? 0)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (int)(CurrentPlayer?.Race ?? 0)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public int Race => Invoke(() => (int)(CurrentPlayer?.Race ?? 0));Виконує показані виклики та оновлення стану.
Параметри: id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2893.
public void SelectGump(int id)
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { List<Gump> gumps = ServerGumpsUnsafe(); _selectedServerGump = gumps.FirstOrDefault(g => g.LocalSerial == (uint)id || g.ServerSerial == (uint)id); if (_selectedServerGump == null && id >= 0 && id < gumps.Count) { _selectedServerGump = gumps[id]; } if (_selectedServerGump == null) { Error($"UO.SelectGump: gump {id} was not found"); } }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { List<Gump> gumps = ServerGumpsUnsafe(); _selectedServerGump = gumps.FirstOrDefault(g => g.LocalSerial == (uint)id || g.ServerSerial == (uint)id); if (_selectedServerGump == null && id >= 0 && id < gumps.Count) { _selectedServerGump = gumps[id]; } if (_selectedServerGump == null) { Error($"UO.SelectGump: gump {id} was not found"); } }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerGumpsUnsafe:ServerGumpsUnsafe(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error:Error($"UO.SelectGump: gump {id} was not found").
Внутрішній код реалізації, не самостійний скрипт.
public void SelectGump(int id) => Invoke(() =>
{
List<Gump> gumps = ServerGumpsUnsafe();
_selectedServerGump = gumps.FirstOrDefault(g => g.LocalSerial == (uint)id || g.ServerSerial == (uint)id);
if (_selectedServerGump == null && id >= 0 && id < gumps.Count)
{
_selectedServerGump = gumps[id];
}
if (_selectedServerGump == null)
{
Error($"UO.SelectGump: gump {id} was not found");
}
});Повертає значення виразу нижче.
Параметри: gumpIndex, triggerId
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2761.
public int SendGumpSelect(int gumpIndex, int triggerId)
Результат: int.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { Gump gump = ServerGumpsUnsafe().ElementAtOrDefault(gumpIndex); return SendGumpButtonUnsafe(gump, triggerId, $"gump index {gumpIndex} was not found"); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { Gump gump = ServerGumpsUnsafe().ElementAtOrDefault(gumpIndex); return SendGumpButtonUnsafe(gump, triggerId, $"gump index {gumpIndex} was not found"); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerGumpsUnsafe:ServerGumpsUnsafe(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SendGumpButtonUnsafe:SendGumpButtonUnsafe(gump, triggerId, $"gump index {gumpIndex} was not found").
Внутрішній код реалізації, не самостійний скрипт.
public int SendGumpSelect(int gumpIndex, int triggerId) => Invoke(() =>
{
Gump gump = ServerGumpsUnsafe().ElementAtOrDefault(gumpIndex);
return SendGumpButtonUnsafe(gump, triggerId, $"gump index {gumpIndex} was not found");
});Виконує показані виклики та оновлення стану.
Параметри: type, color, quantity, maxPrice, name
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3578.
public void SetAutoBuyRule(int type, int color, int quantity, int maxPrice, string name)
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => SetAutoShopRule(ProfileManager.CurrentProfile?.BackNewbieAutoBuyRules, true, type, color, quantity, maxPrice, name)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => SetAutoShopRule(ProfileManager.CurrentProfile?.BackNewbieAutoBuyRules, true, type, color, quantity, maxPrice, name)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoShopRule:SetAutoShopRule(ProfileManager.CurrentProfile?.BackNewbieAutoBuyRules, true, type, color, quantity, maxPrice, name).
Внутрішній код реалізації, не самостійний скрипт.
public void SetAutoBuyRule(int type, int color, int quantity, int maxPrice, string name) =>
Invoke(() => SetAutoShopRule(ProfileManager.CurrentProfile?.BackNewbieAutoBuyRules, true, type, color, quantity, maxPrice, name));Повертає значення виразу нижче.
Параметри: figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2324.
public int SetMapFigure(int figureId, int kind, int coord, int x1, int y1, int x2, int y2, int brushColor, int brushStyle, int color, int worldNum, string text)
Результат: int.
Результат: Invoke(() => WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text)).
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.UI.Gumps.WorldMapGump.SetYokoMapFigure:WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text).
Внутрішній код реалізації, не самостійний скрипт.
public int SetMapFigure(int figureId, int kind, int coord, int x1, int y1, int x2, int y2, int brushColor, int brushStyle, int color, int worldNum, string text)
=> Invoke(() => WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text));Виконує показані виклики та оновлення стану.
Параметри: enabled
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:311.
public void SetPauseScriptOnDisconnectStatus(int enabled)
Результат: void.
Внутрішній код реалізації, не самостійний скрипт.
public void SetPauseScriptOnDisconnectStatus(int enabled) => _manager.PauseScriptsOnDisconnect = enabled != 0;Повертає значення виразу нижче.
Параметри: pattern
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3746.
private static string[] SplitPatterns(string pattern)
Результат: string[].
Результат: (pattern ?? string.Empty).Split('|', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries).
Виклики: (pattern ?? string.Empty).Split.
Внутрішній код реалізації, не самостійний скрипт.
private static string[] SplitPatterns(string pattern) => (pattern ?? string.Empty).Split('|', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);Виконує показані виклики та оновлення стану.
Параметри: type, x, y, z
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:833.
public void TargetToTile(int type, int x, int y, int z)
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.TargetManager.IsServerTarget) _world.TargetManager.Target((ushort)type, (ushort)x, (ushort)y, (short)z); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.TargetManager.IsServerTarget) _world.TargetManager.Target((ushort)type, (ushort)x, (ushort)y, (short)z); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
public void TargetToTile(int type, int x, int y, int z) => Invoke(() =>
{
if (_world.TargetManager.IsServerTarget)
_world.TargetManager.Target((ushort)type, (ushort)x, (ushort)y, (short)z);
});Виконує показані виклики та оновлення стану.
Параметри: text
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1752.
public void TextPrint(string text)
Результат: void.
Виклики: _textWindow.RemoveRange, _textWindow.Add, Invoke.
Умови: _textWindow.Count >= MaxTextWindowLines.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { YokoTextWindowGump.Show(_world, _textWindow); ReportStatus($"UO.TextPrint: {_textWindow.Count} line(s) visible"); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { YokoTextWindowGump.Show(_world, _textWindow); ReportStatus($"UO.TextPrint: {_textWindow.Count} line(s) visible"); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.UI.Gumps.YokoTextWindowGump.Show:YokoTextWindowGump.Show(_world, _textWindow). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ReportStatus:ReportStatus($"UO.TextPrint: {_textWindow.Count} line(s) visible").
Внутрішній код реалізації, не самостійний скрипт.
public void TextPrint(string text)
{
if (_textWindow.Count >= MaxTextWindowLines)
_textWindow.RemoveRange(0,
_textWindow.Count - MaxTextWindowLines + 1);
_textWindow.Add(text ?? string.Empty);
_textWindowOpen = true;
Invoke(() =>
{
YokoTextWindowGump.Show(_world, _textWindow);
ReportStatus($"UO.TextPrint: {_textWindow.Count} line(s) visible");
});
}Перевіряє умови нижче й повертає показаний результат.
Параметри: timeoutMs, pingMs
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:342.
private bool TryProbeServerPing(int timeoutMs, out int pingMs)
Результат: bool.
Результат: false; pingMs >= 0.
Виклики: Math.Max, Invoke, NetClient.Socket.Statistics.GetPingEchoGeneration, Wait, Math.Min.
Умови: request.Token < 0; NetClient.Socket.Statistics.GetPingEchoGeneration((byte)request.Token) != request.Generation; timeout == 0; remaining <= 0.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (!_world.InGame || !NetClient.Socket.IsConnected) return (-1, -1); return NetClient.Socket.Statistics.SendPingProbe(); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (!_world.InGame || !NetClient.Socket.IsConnected) return (-1, -1); return NetClient.Socket.Statistics.SendPingProbe(); }). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Wait:Wait((int)Math.Min(10, remaining)).
Внутрішній код реалізації, не самостійний скрипт.
private bool TryProbeServerPing(int timeoutMs, out int pingMs)
{
int timeout = Math.Max(0, timeoutMs);
(int Token, int Generation) request = Invoke(() =>
{
if (!_world.InGame || !NetClient.Socket.IsConnected)
return (-1, -1);
return NetClient.Socket.Statistics.SendPingProbe();
});
if (request.Token < 0)
{
pingMs = -1;
return false;
}
long deadline = Environment.TickCount64 + timeout;
do
{
if (NetClient.Socket.Statistics.GetPingEchoGeneration((byte)request.Token) != request.Generation)
{
pingMs = NetClient.Socket.Statistics.ServerPing;
return pingMs >= 0;
}
if (timeout == 0)
break;
long remaining = deadline - Environment.TickCount64;
if (remaining <= 0)
break;
Wait((int)Math.Min(10, remaining));
}
while (true);
pingMs = -1;
return false;
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1134.
public void UnsetReceivingContainer()
Результат: void.
Внутрішній код реалізації, не самостійний скрипт.
public void UnsetReceivingContainer() => State.ReceivingContainer = 0;Виконує показані виклики та оновлення стану.
Параметри: id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:772.
public void UseObject(int id)
Результат: void.
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => GameActions.DoubleClick(_world, (uint)id)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => GameActions.DoubleClick(_world, (uint)id)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.GameActions.DoubleClick:GameActions.DoubleClick(_world, (uint)id).
Внутрішній код реалізації, не самостійний скрипт.
public void UseObject(int id) => Invoke(() => GameActions.DoubleClick(_world, (uint)id));Виконує показані виклики та оновлення стану.
Параметри: name, oneShot
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/LastCharacterManager.cs:107.
public static void OverrideLastCharacter(string name, bool oneShot = false)
Результат: void.
Виклики: string.IsNullOrEmpty.
Внутрішній код реалізації, не самостійний скрипт.
public static void OverrideLastCharacter(string name, bool oneShot = false)
{
LastCharacterNameOverride = name ?? string.Empty;
LastCharacterNameOverrideOneShot = oneShot && !string.IsNullOrEmpty(LastCharacterNameOverride);
}Перевіряє умови нижче й повертає показаний результат.
Параметри: serial
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/UIManager.cs:277.
public static T GetGump<T>(uint? serial = null)
Результат: T.
Результат: t; null.
Умови: serial.HasValue; !c.IsDisposed && c.LocalSerial == serial.Value && c is T t; !c.IsDisposed && c is T t.
Внутрішній код реалізації, не самостійний скрипт.
public static T GetGump<T>(uint? serial = null) where T : Control
{
if (serial.HasValue)
{
for (LinkedListNode<Gump> last = Gumps.Last; last != null; last = last.Previous)
{
Control c = last.Value;
if (!c.IsDisposed && c.LocalSerial == serial.Value && c is T t)
{
return t;
}
}
}
else
{
for (LinkedListNode<Gump> first = Gumps.First; first != null; first = first.Next)
{
Control c = first.Value;
if (!c.IsDisposed && c is T t)
{
return t;
}
}
}
return null;
}Виконує показані виклики та оновлення стану.
Параметри: scriptKey, text
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:679.
internal void AppendIdeOutput(string scriptKey, string text)
Результат: void.
Виклики: _ideToolBuffers.AppendOutput.
Виклики:
-
ClassicUO.Game.Managers.YokoIdeToolBuffers.AppendOutput:_ideToolBuffers.AppendOutput(scriptKey, text).
Внутрішній код реалізації, не самостійний скрипт.
internal void AppendIdeOutput(string scriptKey, string text) =>
_ideToolBuffers.AppendOutput(scriptKey, text);Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3347.
internal int[] GetPendingTargetSerials()
Результат: int[].
Результат: _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select(t => (int)t.Serial).ToArray().
Виклики: _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select(t => (int)t.Serial).ToArray, _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select, _pendingTargets.ToArray().Where, _pendingTargets.ToArray.
Внутрішній код реалізації, не самостійний скрипт.
internal int[] GetPendingTargetSerials() =>
// Zero denotes a queued tile/cancellation. Waiting() and timed casts
// need to count these entries as well as object serials.
_pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select(t => (int)t.Serial).ToArray();Передає роботу в ігровий потік і враховує скасування.
Параметри: callback, cancellationToken
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3457.
internal T InvokeOnGameThread<T>(Func<T> callback, CancellationToken cancellationToken)
Результат: T.
Результат: callback(); result.Task.GetAwaiter().GetResult().
Виклики: nameof, cancellationToken.ThrowIfCancellationRequested, Volatile.Read, callback, EnqueueMainThreadAction, result.Task.Wait, result.Task.GetAwaiter().GetResult, result.Task.GetAwaiter.
Умови: callback == null; Volatile.Read(ref _gameThreadId) == Environment.CurrentManagedThreadId.
Внутрішній код реалізації, не самостійний скрипт.
internal T InvokeOnGameThread<T>(Func<T> callback, CancellationToken cancellationToken)
{
if (callback == null)
throw new ArgumentNullException(nameof(callback));
cancellationToken.ThrowIfCancellationRequested();
if (Volatile.Read(ref _gameThreadId) == Environment.CurrentManagedThreadId)
return callback();
var result = new TaskCompletionSource<T>(TaskCreationOptions.RunContinuationsAsynchronously);
EnqueueMainThreadAction(() =>
{
if (cancellationToken.IsCancellationRequested)
{
result.TrySetCanceled(cancellationToken);
return;
}
try
{
result.TrySetResult(callback());
}
catch (Exception ex)
{
result.TrySetException(ex);
}
}, () => result.TrySetCanceled());
result.Task.Wait(cancellationToken);
return result.Task.GetAwaiter().GetResult();
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3804.
private void MarkRuntimeStateChanged()
Результат: void.
Виклики: Interlocked.Increment.
Внутрішній код реалізації, не самостійний скрипт.
private void MarkRuntimeStateChanged() =>
Interlocked.Increment(ref _runtimeStateRevision);Виконує показані виклики та оновлення стану.
Параметри: serial, owner
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3287.
internal void QueueTarget(uint serial, CancellationToken owner = default)
Результат: void.
Виклики: owner.ThrowIfCancellationRequested, _pendingTargets.Enqueue.
Внутрішній код реалізації, не самостійний скрипт.
internal void QueueTarget(uint serial, CancellationToken owner = default)
{
lock (_pendingTargetLock)
{
owner.ThrowIfCancellationRequested();
_pendingTargets.Enqueue(new PendingTarget(serial, owner));
}
}Виконує показані виклики та оновлення стану.
Параметри: buttonID
Джерело: Project_Full/src/ClassicUO.Client/Game/UI/Gumps/Gump.cs:142.
public override void OnButtonClick(int buttonID)
Результат: void.
Виклики: state.OnButtonClick, switches.Add, entries.Add, GameActions.ReplyGump, switches.ToArray, entries.ToArray, UIManager.SavePosition, UIManager.RemovePosition.
Умови: SessionState is { } state; !IsDisposed && (LocalSerial != 0 || ServerSerial != 0); CanMove.
Внутрішній код реалізації, не самостійний скрипт.
public override void OnButtonClick(int buttonID)
{
if (SessionState is { } state)
{
state.OnButtonClick(buttonID);
return;
}
if (!IsDisposed && (LocalSerial != 0 || ServerSerial != 0))
{
List<uint> switches = new List<uint>();
// …
if (CanMove)
// …Повний код зберігається у файлі джерела; нижче наведено точні фрагменти.
Розбирає або знаходить значення аргументу за правилами, показаними в коді.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/World.cs:258.
internal string ResolveProfileServerName()
Результат: string.
Результат: _profileServerIdentity.
Виклики: string.IsNullOrWhiteSpace, Path.Combine, ProfileShardIdentity.Resolve.
Умови: string.IsNullOrWhiteSpace(_profileServerIdentity).
Виклики:
-
ClassicUO.Configuration.ProfileShardIdentity.Resolve:ProfileShardIdentity.Resolve( runtimeName, Settings.GlobalSettings.IP, Settings.GlobalSettings.Port, _selectedProfileShardHost, defaultSettingsPath, authoritativeEndpoint: _sessionAccount != null ).
Внутрішній код реалізації, не самостійний скрипт.
internal string ResolveProfileServerName()
{
if (string.IsNullOrWhiteSpace(_profileServerIdentity))
{
string runtimeName = string.IsNullOrWhiteSpace(ServerName) || ServerName == "_"
? Settings.GlobalSettings.LastServerName
: ServerName;
string defaultSettingsPath = Path.Combine(
CUOEnviroment.ExecutablePath,
Settings.SETTINGS_FILENAME
);
_profileServerIdentity = ProfileShardIdentity.Resolve(
runtimeName,
Settings.GlobalSettings.IP,
Settings.GlobalSettings.Port,
_selectedProfileShardHost,
defaultSettingsPath,
authoritativeEndpoint: _sessionAccount != null
);
}
return _profileServerIdentity;
}Перевіряє умови нижче й повертає показаний результат.
Параметри: timeout, retries
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3747.
public int CheckLag(InjectionValue timeout, InjectionValue retries)
Результат: int.
Результат: 1; 0.
Виклики: Math.Max, NumberConversions.ToInt, bridge.CheckLag.
Умови: bridge.CheckLag(timeoutMs) != 0.
Виклики:
-
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(timeout). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(retries). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CheckLag:bridge.CheckLag(timeoutMs).
Внутрішній код реалізації, не самостійний скрипт.
public int CheckLag(InjectionValue timeout, InjectionValue retries)
{
int timeoutMs = Math.Max(0, NumberConversions.ToInt(timeout));
int attempts = Math.Max(1, NumberConversions.ToInt(retries));
for (int attempt = 0; attempt < attempts; attempt++)
{
if (bridge.CheckLag(timeoutMs) != 0)
return 1;
}
return 0;
}Перевіряє умови нижче й повертає показаний результат.
Параметри: values
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4851.
private InjectionValue CompactGetWorldItems(InjectionValue[] values)
Результат: InjectionValue.
Результат: new InjectionValue(Array.Empty<InjectionValue>()); new InjectionValue(filtered.Select(id => new InjectionValue(id)).ToArray()).
Виклики: ResolveType, NumberConversions.ToInt, ResolveCompactDistance, bridge.GetFindDistance, TryResolveWorldItemQueryContainer, Array.Empty<InjectionValue>, ToBoolean, ResolveCompactMaxZ.
Умови: values.Length > 3 && !TryResolveWorldItemQueryContainer(values[3], out container); nearest.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(values[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[1]). -
InjectionScript.Runtime.InjectionApiUO.ResolveCompactDistance:ResolveCompactDistance(values[2]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindDistance:bridge.GetFindDistance(). -
InjectionScript.Runtime.InjectionApiUO.TryResolveWorldItemQueryContainer:TryResolveWorldItemQueryContainer(values[3], out container). -
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.GetContent:bridge.GetContent(container). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetWorldItems:bridge.GetWorldItems(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetIgnoreList:bridge.GetIgnoreList(). -
InjectionScript.Runtime.State.NamedIgnoreLists.FilterFor:state.IgnoreTypeLists.FilterFor(state.SelectedIgnoreList). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(bridge.Self). -
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(distanceObject). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(zObject). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDistance:bridge.GetDistance(container > 0 ? container : id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
private InjectionValue CompactGetWorldItems(InjectionValue[] values)
{
int type = values.Length > 0 ? ResolveType(values[0]) : -1;
int color = values.Length > 1 ? NumberConversions.ToInt(values[1]) : -1;
int distance = values.Length > 2 ? ResolveCompactDistance(values[2]) : bridge.GetFindDistance();
int container = 0;
if (values.Length > 3 && !TryResolveWorldItemQueryContainer(values[3], out container))
return new InjectionValue(Array.Empty<InjectionValue>());
bool nearest = values.Length > 4 && ToBoolean(values[4]);
int maxZ = values.Length > 5 ? ResolveCompactMaxZ(values[5]) : bridge.GetFindVertical();
IEnumerable<int> source = container > 0 ? bridge.GetContent(container) : bridge.GetWorldItems();
HashSet<int> ignored = new HashSet<int>(bridge.GetIgnoreList());
IgnoreTypeFilter ignoredTypes = state.IgnoreTypeLists.FilterFor(state.SelectedIgnoreList);
int selfZ = bridge.GetZ(bridge.Self);
IEnumerable<int> filtered = source
.Where(id => (!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 =>
{
int distanceObject = container > 0 ? container : id;
return distance < 0 || bridge.GetDistance(distanceObject) <= distance;
})
.Where(id =>
{
int zObject = container > 0 ? container : id;
return maxZ < 0 || Math.Abs(bridge.GetZ(zObject) - selfZ) <= maxZ;
});
if (nearest)
filtered = filtered.OrderBy(id => bridge.GetDistance(container > 0 ? container : id)).ThenBy(id => id);
return new InjectionValue(filtered.Select(id => new InjectionValue(id)).ToArray());
}Перевіряє умови нижче й повертає показаний результат.
Параметри: spellName
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6514.
private int? ConvertSpellName(string spellName)
Результат: int?.
Результат: classicUoSpellId; spellId; null.
Виклики: (spellName ?? string.Empty).Trim().Replace, (spellName ?? string.Empty).Trim, bridge.ResolveSpell, spellNameToSpellId.TryGetValue, NumberConversions.TryStr2Int.
Умови: classicUoSpellId > 0; spellNameToSpellId.TryGetValue(requested, out var spellId); NumberConversions.TryStr2Int(requested, out spellId) && spellId > 0.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResolveSpell:bridge.ResolveSpell(requested). -
InjectionScript.Runtime.NumberConversions.TryStr2Int:NumberConversions.TryStr2Int(requested, out spellId).
Внутрішній код реалізації, не самостійний скрипт.
private int? ConvertSpellName(string spellName)
{
string requested = (spellName ?? string.Empty).Trim().Replace('_', ' ');
int classicUoSpellId = bridge.ResolveSpell(requested);
if (classicUoSpellId > 0)
return classicUoSpellId;
if (spellNameToSpellId.TryGetValue(requested, out var spellId))
return spellId;
if (NumberConversions.TryStr2Int(requested, out spellId) && spellId > 0)
return spellId;
return null;
}Повертає значення виразу нижче.
Параметри: type, color, container
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5214.
public int Count(int type, int color, int container)
Результат: int.
Результат: bridge.Count(type, color, container).
Виклики: bridge.Count.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Count:bridge.Count(type, color, container).
Внутрішній код реалізації, не самостійний скрипт.
public int Count(int type, int color, int container)
=> bridge.Count(type, color, container);Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5927.
public int Date()
Результат: int.
Результат: (now.Year % 100) * 10000 + now.Month * 100 + now.Day.
Внутрішній код реалізації, не самостійний скрипт.
public int Date()
{
var now = timeSource.Now;
return (now.Year % 100) * 10000 + now.Month * 100 + now.Day;
}Перевіряє умови нижче й повертає показаний результат.
Параметри: easyValue
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2473.
private static int DecodeEasyUoId(string easyValue)
Результат: int.
Результат: unchecked((int)value).
Виклики: (easyValue ?? string.Empty).ToUpperInvariant.
Умови: character < 'A' || character > 'Z'.
Внутрішній код реалізації, не самостійний скрипт.
private static int DecodeEasyUoId(string easyValue)
{
uint value = 0;
foreach (char character in (easyValue ?? string.Empty).ToUpperInvariant())
{
if (character < 'A' || character > 'Z')
continue;
value = unchecked(value * 26 + (uint)(character - 'A'));
}
return unchecked((int)value);
}Виконує показані виклики та оновлення стану.
Параметри: text
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5400.
public void DeleteJournal(InjectionValue text)
Результат: void.
Виклики: DeleteJournal.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.DeleteJournal:DeleteJournal((string)text).
Внутрішній код реалізації, не самостійний скрипт.
public void DeleteJournal(InjectionValue text) => DeleteJournal((string)text);Перевіряє умови нижче й повертає показаний результат.
Параметри: easyValue
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3383.
public string EUO2Inj(InjectionValue easyValue)
Результат: string.
Результат: NumberConversions.ToHex(unchecked((int)value)).
Виклики: easyValue.ToString().ToUpperInvariant, easyValue.ToString, NumberConversions.ToHex.
Умови: c < 'A' || c > 'Z'.
Виклики:
-
InjectionScript.Runtime.InjectionValue.ToString:easyValue.ToString(). -
InjectionScript.Runtime.NumberConversions.ToHex:NumberConversions.ToHex(unchecked((int)value)).
Внутрішній код реалізації, не самостійний скрипт.
public string EUO2Inj(InjectionValue easyValue)
{
uint value = 0;
foreach (char c in easyValue.ToString().ToUpperInvariant())
{
if (c < 'A' || c > 'Z')
continue;
value = unchecked(value * 26 + (uint)(c - 'A'));
}
return NumberConversions.ToHex(unchecked((int)value));
}Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1777.
Результат: InjectionValue.Unit.
Виклики:
Внутрішній код реалізації, не самостійний скрипт.
case "addgumpignorebyserial": state.IgnoredGumpSerials.Add(Arg(0)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1814.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TextClear:bridge.TextClear().
Внутрішній код реалізації, не самостійний скрипт.
case "clearinfowindow": bridge.TextClear(); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1816.
Результат: InjectionValue.True.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientHide:bridge.ClientHide(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "clienthide": bridge.ClientHide(Arg(0)); return InjectionValue.True;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1241.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CharPrintEx:bridge.CharPrintEx(Arg(0), Arg(1), Arg(2), Text(3)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(3).
Внутрішній код реалізації, не самостійний скрипт.
case "clientprintex":
bridge.CharPrintEx(Arg(0), Arg(1), Arg(2), Text(3)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1315.
Результат: new InjectionValue(bridge.GetAutoReconnect()).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetAutoReconnect:bridge.GetAutoReconnect().
Внутрішній код реалізації, не самостійний скрипт.
case "getarstatus": return new InjectionValue(bridge.GetAutoReconnect());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1370.
Результат: new InjectionValue(arguments.Length > 0 ? bridge.GetIntelligence(Arg(0)) : bridge.Intelligence).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetIntelligence:bridge.GetIntelligence(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Intelligence:bridge.Intelligence.
Внутрішній код реалізації, не самостійний скрипт.
case "getint": return new InjectionValue(arguments.Length > 0 ? bridge.GetIntelligence(Arg(0)) : bridge.Intelligence);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1564.
Результат: new InjectionValue(bridge.GetZ(Arg(0, bridge.Self))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(Arg(0, bridge.Self)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0, bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
case "getz": return new InjectionValue(bridge.GetZ(Arg(0, bridge.Self)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1539.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Unignore:bridge.Unignore(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "ignoreoff": bridge.Unignore(Arg(0)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1248.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Ignore:bridge.Ignore(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "ignore": bridge.Ignore(Arg(0)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1367.
Результат: new InjectionValue(bridge.Exists(Arg(0))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Exists:bridge.Exists(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "isobjectexists": return new InjectionValue(bridge.Exists(Arg(0)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1640.
Результат: new InjectionValue(Waiting()).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.Waiting:Waiting().
Внутрішній код реалізації, не самостійний скрипт.
case "iswaittargetactive": return new InjectionValue(Waiting());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2035.
Результат: new InjectionValue(bridge.JournalMatchCount()).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalMatchCount:bridge.JournalMatchCount().
Внутрішній код реалізації, не самостійний скрипт.
case "linecount": return new InjectionValue(bridge.JournalMatchCount());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1957.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MoveBoat:bridge.MoveBoat(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
Внутрішній код реалізації, не самостійний скрипт.
case "moveboat": bridge.MoveBoat(Arg(0), Arg(1)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1906.
Результат: SetIndexedGumpValue(Arg(0), "checkbox", Arg(1), Text(2)).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.SetIndexedGumpValue:SetIndexedGumpValue(Arg(0), "checkbox", 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 "numgumpcheckbox": return SetIndexedGumpValue(Arg(0), "checkbox", Arg(1), Text(2));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1537.
Результат: new InjectionValue(bridge.ObjAtLayerEx(Arg(0), Arg(1))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ObjAtLayerEx:bridge.ObjAtLayerEx(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
Внутрішній код реалізації, не самостійний скрипт.
case "objatlayerex": return new InjectionValue(bridge.ObjAtLayerEx(Arg(0), Arg(1)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1708.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyAcceptInvite:bridge.PartyAcceptInvite().
Внутрішній код реалізації, не самостійний скрипт.
case "partyacceptinvite": bridge.PartyAcceptInvite(); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1709.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyDeclineInvite:bridge.PartyDeclineInvite().
Внутрішній код реалізації, не самостійний скрипт.
case "partydeclineinvite": bridge.PartyDeclineInvite(); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1707.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyLeave:bridge.PartyLeave().
Внутрішній код реалізації, не самостійний скрипт.
case "partyleave": bridge.PartyLeave(); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1536.
Результат: new InjectionValue(ReadPredictedCoordinate(3)).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ReadPredictedCoordinate:ReadPredictedCoordinate(3).
Внутрішній код реалізації, не самостійний скрипт.
case "predicteddirection": return new InjectionValue(ReadPredictedCoordinate(3));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1597.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetContextMenuHook:bridge.SetContextMenuHook(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
Внутрішній код реалізації, не самостійний скрипт.
case "setcontextmenuhook": bridge.SetContextMenuHook(Arg(0), Arg(1)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2863.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList("AddFindList"). -
InjectionScript.Runtime.InjectionApiUO.LegacyListEntryMatches:LegacyListEntryMatches(value, arguments).
Внутрішній код реалізації, не самостійний скрипт.
case "deletefindlist":
LegacyList("AddFindList").RemoveAll(value => LegacyListEntryMatches(value,
arguments));
break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2962.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SelectGump:bridge.SelectGump(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "gumpobject": bridge.SelectGump(Arg(0)); break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3025.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.Unequip:Unequip("Ring").
Внутрішній код реалізації, не самостійний скрипт.
case "removering": Unequip("Ring"); break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2871.
Виклики:
Внутрішній код реалізації, не самостійний скрипт.
case "selectignorelist": state.SelectedIgnoreList = Text(0).Trim(); break;Перевіряє умови нижче й повертає показаний результат.
Параметри: type, color
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4588.
public string FindType(InjectionValue type, InjectionValue color)
Результат: string.
Результат: FindType(ResolveType(type), -1, ConvertContainer(color), -1, color.String.Equals("my", StringComparison.OrdinalIgnoreCase)); FindType(ResolveType(type), NumberConversions.ToInt(color), -1, -1, false).
Виклики: color.String.Equals, FindType, ResolveType, ConvertContainer, NumberConversions.ToInt.
Умови: `color.Kind == InjectionValueKind.String
&& (color.String.Equals("ground", StringComparison.OrdinalIgnoreCase)
|| color.String.Equals("backpack", StringComparison.OrdinalIgnoreCase)
|| color.String.Equals("my", StringComparison.OrdinalIgnoreCase))`.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.FindType:FindType(ResolveType(type), -1, ConvertContainer(color), -1, color.String.Equals("my", StringComparison.OrdinalIgnoreCase)). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(type). -
InjectionScript.Runtime.InjectionApiUO.ConvertContainer:ConvertContainer(color). -
InjectionScript.Runtime.InjectionApiUO.FindType:FindType(ResolveType(type), NumberConversions.ToInt(color), -1, -1, false). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(color).
Внутрішній код реалізації, не самостійний скрипт.
public string FindType(InjectionValue type, InjectionValue color)
{
if (color.Kind == InjectionValueKind.String
&& (color.String.Equals("ground", StringComparison.OrdinalIgnoreCase)
|| color.String.Equals("backpack", StringComparison.OrdinalIgnoreCase)
|| color.String.Equals("my", StringComparison.OrdinalIgnoreCase)))
{
return FindType(ResolveType(type), -1, ConvertContainer(color), -1, color.String.Equals("my", StringComparison.OrdinalIgnoreCase));
}
return FindType(ResolveType(type), NumberConversions.ToInt(color), -1, -1, false);
}Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5487.
public int GetFoundedTextID()
Результат: int.
Результат: foundedTextId >= 0 ? foundedTextId : 0.
Внутрішній код реалізації, не самостійний скрипт.
public int GetFoundedTextID() => foundedTextId >= 0 ? foundedTextId : 0;Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5488.
public int GetFoundedTextIndex()
Результат: int.
Виклики: reader.FindJournalEntryIndex.
Внутрішній код реалізації, не самостійний скрипт.
public int GetFoundedTextIndex() => selectedJournalEntry != null && bridge is IApiJournalReader reader
? reader.FindJournalEntryIndex(selectedJournalEntry.Identity) : foundedTextIndex;Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5490.
public string GetFoundedTextSerial()
Результат: string.
Внутрішній код реалізації, не самостійний скрипт.
public string GetFoundedTextSerial() => selectedJournalEntry != null
? $"0x{unchecked((uint)selectedJournalEntry.Serial):X8}" : "0x00000000";Повертає значення виразу нижче.
Параметри: id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3615.
public string GetGraphics(string id)
Результат: string.
Результат: GetGraphics(GetObject(id)).
Виклики: GetGraphics, GetObject.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetGraphics:GetGraphics(GetObject(id)). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id).
Внутрішній код реалізації, не самостійний скрипт.
public string GetGraphics(string id) => GetGraphics(GetObject(id));Повертає значення виразу нижче.
Параметри: identifier, key
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3234.
public InjectionValue GetGump(string identifier, int key)
Результат: InjectionValue.
Результат: LastGump(identifier, key).
Виклики: LastGump.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.LastGump:LastGump(identifier, key).
Внутрішній код реалізації, не самостійний скрипт.
public InjectionValue GetGump(string identifier, int key) => LastGump(identifier, key);Повертає значення виразу нижче.
Параметри: id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3621.
public string GetLayer(InjectionValue id)
Результат: string.
Результат: ConvertLayer(bridge.GetLayer(GetObject(id))).
Виклики: ConvertLayer, bridge.GetLayer, GetObject.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ConvertLayer:ConvertLayer(bridge.GetLayer(GetObject(id))). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLayer:bridge.GetLayer(GetObject(id)). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id).
Внутрішній код реалізації, не самостійний скрипт.
public string GetLayer(InjectionValue id) => ConvertLayer(bridge.GetLayer(GetObject(id)));Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3775.
public int GetRun()
Результат: int.
Результат: bridge.GetRun(bridge.Self).
Виклики: bridge.GetRun.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetRun:bridge.GetRun(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
public int GetRun() => bridge.GetRun(bridge.Self);Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3567.
public int GetZ()
Результат: int.
Результат: GetZ("self").
Виклики: GetZ.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetZ:GetZ("self").
Внутрішній код реалізації, не самостійний скрипт.
public int GetZ() => GetZ("self");Повертає значення виразу нижче.
Параметри: id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3569.
public int GetZ(int id)
Результат: int.
Результат: bridge.GetZ(id).
Виклики: bridge.GetZ.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(id).
Внутрішній код реалізації, не самостійний скрипт.
public int GetZ(int id) => bridge.GetZ(id);Повертає значення виразу нижче.
Параметри: id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4370.
public int Grab(InjectionValue id)
Результат: int.
Результат: CompactGrab(new[] { id }).
Виклики: CompactGrab.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.CompactGrab:CompactGrab(new[] { id }).
Внутрішній код реалізації, не самостійний скрипт.
public int Grab(InjectionValue id) => CompactGrab(new[] { id });Повертає значення виразу нижче.
Параметри: amount, id, container
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4374.
public int Grab(InjectionValue amount, InjectionValue id, InjectionValue container)
Результат: int.
Результат: CompactGrab(new[] { amount, id, container }).
Виклики: CompactGrab.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.CompactGrab:CompactGrab(new[] { amount, id, container }).
Внутрішній код реалізації, не самостійний скрипт.
public int Grab(InjectionValue amount, InjectionValue id, InjectionValue container)
=> CompactGrab(new[] { amount, id, container });Повертає значення виразу нижче.
Параметри: firstId, secondId
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3229.
public int GumpExists(InjectionValue firstId, InjectionValue secondId)
Результат: int.
Результат: bridge.GumpExists(NumberConversions.ToInt(firstId), NumberConversions.ToInt(secondId)).
Виклики: bridge.GumpExists, NumberConversions.ToInt.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GumpExists:bridge.GumpExists(NumberConversions.ToInt(firstId), NumberConversions.ToInt(secondId)). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(firstId). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(secondId).
Внутрішній код реалізації, не самостійний скрипт.
public int GumpExists(InjectionValue firstId, InjectionValue secondId)
=> bridge.GumpExists(NumberConversions.ToInt(firstId), NumberConversions.ToInt(secondId));Перевіряє умови нижче й повертає показаний результат.
Параметри: serialValue
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3369.
public string Inj2EUO(InjectionValue serialValue)
Результат: string.
Результат: "A"; result.ToString().
Виклики: NumberConversions.ToInt, result.Insert, result.ToString.
Умови: value == 0.
Виклики:
-
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(serialValue).
Внутрішній код реалізації, не самостійний скрипт.
public string Inj2EUO(InjectionValue serialValue)
{
uint value = unchecked((uint)NumberConversions.ToInt(serialValue));
if (value == 0)
return "A";
var result = new StringBuilder();
while (value > 0)
{
result.Insert(0, (char)('A' + value % 26));
value /= 26;
}
return result.ToString();
}Повертає значення виразу нижче.
Параметри: identifier, key
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3232.
public InjectionValue LastGump(string identifier, int key)
Результат: InjectionValue.
Результат: ConvertGumpValue(identifier, bridge.GetGumpValue(-1, identifier, key)).
Виклики: ConvertGumpValue, bridge.GetGumpValue.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ConvertGumpValue:ConvertGumpValue(identifier, bridge.GetGumpValue(-1, identifier, key)). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpValue:bridge.GetGumpValue(-1, identifier, key).
Внутрішній код реалізації, не самостійний скрипт.
public InjectionValue LastGump(string identifier, int key) => ConvertGumpValue(identifier, bridge.GetGumpValue(-1, identifier, key));Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3902.
public int MaxWeight()
Результат: int.
Результат: bridge.MaxWeight.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MaxWeight:bridge.MaxWeight.
Внутрішній код реалізації, не самостійний скрипт.
public int MaxWeight() => bridge.MaxWeight;Перевіряє умови нижче й повертає показаний результат.
Параметри: x, y, z, accuracy, running, accuracyZ, optimized, stepCallback, timeoutMs, maxSteps, maxDistance, avoidMobiles, openDoorsOverride, stopOnStuck
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2099.
`private int MoveToCanonical(int x, int y, int z, int accuracy, bool running, int accuracyZ = 255,
bool optimized = true, string stepCallback = null, int timeoutMs = 0, int maxSteps = 0,
int maxDistance = 0, bool? avoidMobiles = null, bool? openDoorsOverride = null, bool stopOnStuck = false)`
Результат: int.
Результат: 0; 1.
Виклики: PortablePathSearch.ValidPoint, bridge.IsOnline, Math.Max, Math.Min, bridge.GetX, bridge.GetY, bridge.GetZ, Math.Abs.
Умови: !PortablePathSearch.ValidPoint(x, y, z); state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0; state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina; !PortablePathSearch.ValidPoint(currentX, currentY, currentZ).
Виклики:
-
InjectionScript.Runtime.PortablePathSearch.ValidPoint:PortablePathSearch.ValidPoint(x, y, z). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsOnline:bridge.IsOnline(). -
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.PortablePathSearch.ValidPoint:PortablePathSearch.ValidPoint(currentX, currentY, currentZ). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MoveTo:bridge.MoveTo( x, y, z, safeAccuracy, running, state.MoveCheckStamina, openDoors, state.MoveThroughCorner != 0, throughNpcs, Math.Max(1, state.MoveHeuristicMultiplier), Math.Max(0, state.MoveTurnCost), state.MoveExitOnDisconnect != 0, safeAccuracyZ, optimized, state.MoveBetweenTwoCorners != 0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StopMoving:bridge.StopMoving(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Move:bridge.Move(). -
InjectionScript.Runtime.InjectionApiUO.MoveToCanonical::IsCurrentRequest:IsCurrentRequest(). -
InjectionScript.Runtime.InjectionApiUO.MoveToCanonical::StopOwnRequest:StopOwnRequest(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.InvokeStepCallback:bridge.InvokeStepCallback(stepCallback, currentX, currentY, currentZ). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Wait:bridge.Wait(5). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina:bridge.Stamina. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
private int MoveToCanonical(int x, int y, int z, int accuracy, bool running, int accuracyZ = 255,
bool optimized = true, string stepCallback = null, int timeoutMs = 0, int maxSteps = 0,
int maxDistance = 0, bool? avoidMobiles = null, bool? openDoorsOverride = null, bool stopOnStuck = false)
{
if (!PortablePathSearch.ValidPoint(x, y, z)) return 0;
if (state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0)
return 0;
if (state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina)
return 0;
// …
if (!PortablePathSearch.ValidPoint(currentX, currentY, currentZ)) return 0;
// …
if (maxDistance > 0 && requestedDistance > maxDistance)
return 0;
if (requestedDistance <= safeAccuracy && Math.Abs(z - currentZ) <= safeAccuracyZ)
return 1;
// …
if (started == 0)
return 0;
// …
if (ownership == null) bridge.StopMoving();
// …
if (!IsCurrentRequest()) return 0;
if (state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0)
// …
return 0;
// …
if (state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina)
// …
return 0;
// …
if (timeoutMs > 0 && (timeSource.Now - startedAt).TotalMilliseconds >= timeoutMs)
// …
return 0;
// …
if (moved)
// …
if (!string.IsNullOrWhiteSpace(stepCallback)
// …
return 0;
// …
if (maxSteps > 0 && observedSteps >= maxSteps
// …
return 0;
// …
else if (stopOnStuck && bridge is IApiPathPlanningState planning && planning.IsPathPlanning())
// …
else if (stopOnStuck && (timeSource.Now - lastProgressAt).TotalMilliseconds >= 1000d)
// …
return 0;
// …
if (!IsCurrentRequest()) return 0;
// …
if ((currentX != lastX || currentY != lastY || currentZ != lastZ)
// …Повний код зберігається у файлі джерела; нижче наведено точні фрагменти.
Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3287.
public int Picking()
Результат: int.
Результат: bridge.Picking().
Виклики: bridge.Picking.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Picking:bridge.Picking().
Внутрішній код реалізації, не самостійний скрипт.
public int Picking() => bridge.Picking();Перевіряє умови нижче й повертає показаний результат.
Параметри: min, max
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5945.
public int Random(int min, int max)
Результат: int.
Результат: min; (int)(min + (long)random.Next((int)count)); (int)(min + (long)(sample % (ulong)count)).
Виклики: random.Next, random.NextBytes, BitConverter.ToUInt32.
Умови: min > max; min == max; count <= int.MaxValue.
Внутрішній код реалізації, не самостійний скрипт.
public int Random(int min, int max)
{
if (min > max)
throw new NativeSubrutineException("UO.Random(min, max): min must not exceed max.");
if (min == max) return min;
long count = (long)max - min + 1;
lock (randomSync)
{
if (count <= int.MaxValue)
return (int)(min + (long)random.Next((int)count));
// Inclusive Int32.MaxValue and the full signed range must not
// overflow. Rejection avoids modulo bias; reuse the four bytes.
const ulong domain = 1UL << 32;
ulong limit = domain - domain % (ulong)count;
uint sample;
do
{
random.NextBytes(randomRangeBytes);
sample = BitConverter.ToUInt32(randomRangeBytes, 0);
} while (sample >= limit);
return (int)(min + (long)(sample % (ulong)count));
}
}Розбирає або знаходить значення аргументу за правилами, показаними в коді.
Параметри: value
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5099.
private int ResolveCompactMaxZ(InjectionValue value)
Результат: int.
Результат: parsed < 0 ? bridge.GetFindVertical() : Math.Max(0, parsed).
Виклики: NumberConversions.ToInt, bridge.GetFindVertical, Math.Max.
Виклики:
-
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(value). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
Внутрішній код реалізації, не самостійний скрипт.
private int ResolveCompactMaxZ(InjectionValue value)
{
int parsed = NumberConversions.ToInt(value);
return parsed < 0 ? bridge.GetFindVertical() : Math.Max(0, parsed);
}Виконує показані виклики та оновлення стану.
Параметри: message
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5288.
public void Say(string message)
Результат: void.
Виклики: bridge.Say.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Say:bridge.Say(message).
Внутрішній код реалізації, не самостійний скрипт.
public void Say(string message) => bridge.Say(message);Повертає значення виразу нижче.
Параметри: name, quality
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5922.
public int Snap(string name, int quality)
Результат: int.
Результат: bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), true).
Виклики: bridge.Snap, Math.Max, Math.Min.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Snap:bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), true).
Внутрішній код реалізації, не самостійний скрипт.
public int Snap(string name, int quality) => bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), true);Повертає значення виразу нижче.
Параметри: name, quality, includeUi
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5923.
public int Snap(string name, int quality, bool includeUi)
Результат: int.
Результат: bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), includeUi).
Виклики: bridge.Snap, Math.Max, Math.Min.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Snap:bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), includeUi).
Внутрішній код реалізації, не самостійний скрипт.
public int Snap(string name, int quality, bool includeUi)
=> bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), includeUi);Перевіряє умови нижче й повертає показаний результат.
Параметри: recording, name, arguments
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2713.
private static bool TryDeserializeRecordedLegacyAction(string recording, out string name, out InjectionValue[] arguments)
Результат: bool.
Результат: false; !string.IsNullOrWhiteSpace(name).
Виклики: Array.Empty<InjectionValue>, string.IsNullOrWhiteSpace, recording.Split, fields[0].Equals, DecodeRecordingText, Math.Max, TryDeserializeRecordedValue.
Умови: string.IsNullOrWhiteSpace(recording); fields.Length < 2 || !fields[0].Equals(RecordedLegacyActionPrefix, StringComparison.Ordinal); !TryDeserializeRecordedValue(fields[index], out values[index - 2]).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.DecodeRecordingText:DecodeRecordingText(fields[1]). -
InjectionScript.Runtime.InjectionApiUO.TryDeserializeRecordedValue:TryDeserializeRecordedValue(fields[index], out values[index - 2]).
Внутрішній код реалізації, не самостійний скрипт.
private static bool TryDeserializeRecordedLegacyAction(string recording, out string name, out InjectionValue[] arguments)
{
name = string.Empty;
arguments = Array.Empty<InjectionValue>();
if (string.IsNullOrWhiteSpace(recording)) return false;
string[] fields = recording.Split(new[] { '\t' }, StringSplitOptions.None);
if (fields.Length < 2 || !fields[0].Equals(RecordedLegacyActionPrefix, StringComparison.Ordinal)) return false;
try
{
name = DecodeRecordingText(fields[1]);
var values = new InjectionValue[Math.Max(0, fields.Length - 2)];
for (int index = 2; index < fields.Length; index++)
if (!TryDeserializeRecordedValue(fields[index], out values[index - 2])) return false;
arguments = values;
return !string.IsNullOrWhiteSpace(name);
}
catch (FormatException)
{
name = string.Empty;
arguments = Array.Empty<InjectionValue>();
return false;
}
}Повертає значення виразу нижче.
Параметри: type
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4081.
public int UseFromGround(InjectionValue type)
Результат: int.
Результат: UseFromGround(type, new InjectionValue(-1)).
Виклики: UseFromGround.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.UseFromGround:UseFromGround(type, new InjectionValue(-1)).
Внутрішній код реалізації, не самостійний скрипт.
public int UseFromGround(InjectionValue type) => UseFromGround(type, new InjectionValue(-1));Виконує показані виклики та оновлення стану.
Параметри: id1, id2
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4176.
public void WaitTargetObject(int id1, int id2)
Результат: void.
Виклики: bridge.WaitTargetObject, Timer.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitTargetObject:bridge.WaitTargetObject(id1, id2). -
InjectionScript.Runtime.InjectionApiUO.Timer:Timer().
Внутрішній код реалізації, не самостійний скрипт.
public void WaitTargetObject(int id1, int id2)
{
bridge.WaitTargetObject(id1, id2);
ticksTarget = Timer();
}Виконує показані виклики та оновлення стану.
Параметри: startTime, maxDelay, text, equals
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5419.
public void WaitingForJournalText(int startTime, int maxDelay, string text, int equals)
Результат: void.
Виклики: WaitingForJournalText.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.WaitingForJournalText:WaitingForJournalText(startTime, maxDelay, text, equals, 0, InjectionValue.Zero).
Внутрішній код реалізації, не самостійний скрипт.
public void WaitingForJournalText(int startTime, int maxDelay, string text, int equals)
=> WaitingForJournalText(startTime, maxDelay, text, equals, 0, InjectionValue.Zero);Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:404.
values
Результат: values.
Результат: CompactFindType(values[0], values[1], values[2], values[3], values[4], values[5]).
Виклики: CompactFindType.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.CompactFindType:CompactFindType(values[0], values[1], values[2], values[3], values[4], values[5]).
Внутрішній код реалізації, не самостійний скрипт.
values =>
CompactFindType(values[0], values[1], values[2], values[3], values[4], values[5])Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:856.
values
Результат: values.
Виклики: follow.Follow, GetObject, NumberConversions.ToInt.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(values[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[1]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[2]).
Внутрішній код реалізації, не самостійний скрипт.
values => new InjectionValue(bridge is IApiFollowBridge follow
? follow.Follow(count == 0 ? 0 : GetObject(values[0]),
count < 2 ? 1 : NumberConversions.ToInt(values[1]),
count < 3 || NumberConversions.ToInt(values[2]) != 0) : 0)Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1067.
serial
Результат: serial.
Результат: bridge.Flying(serial).
Виклики: bridge.Flying.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Flying:bridge.Flying(serial).
Внутрішній код реалізації, не самостійний скрипт.
serial => bridge.Flying(serial)Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1034.
Результат: bridge.MaxWeight.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MaxWeight:bridge.MaxWeight.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.MaxWeightВиклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1030.
Результат: bridge.Strength.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Strength:bridge.Strength.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.StrengthПовертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: 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:1007.
Результат: getter(bridge.Self).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
() => getter(bridge.Self)Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.
Результат: getter(bridge.Self).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
() => getter(bridge.Self)Перевіряє умови нижче й повертає показаний результат.
Параметри: name, argumentValues, subrutineDefinition
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeSubrutineMetadata.cs:34.
public bool TryGet(string name, IEnumerable<InjectionValue> argumentValues, out NativeSubrutineDefinition subrutineDefinition)
Результат: bool.
Результат: false; true; subrutineDefinition != null.
Виклики: byName.TryGetValue, argumentValues.ToArray, arities.TryGetValue, StringComparer.OrdinalIgnoreCase.Compare, candidate.GetSignature, wildcard.GetSignature.
Умови: !byName.TryGetValue(name, out var arities); !arities.TryGetValue(arguments.Count, out var overloads); kind == InjectionValueKind.Any; kind == arguments[i].Kind.
Внутрішній код реалізації, не самостійний скрипт.
public bool TryGet(string name, IEnumerable<InjectionValue> argumentValues, out NativeSubrutineDefinition subrutineDefinition)
{
subrutineDefinition = null;
// A script procedure is not a native. Avoid scanning the entire API
// (over 1600 registrations) twice for every ordinary helper call.
if (!byName.TryGetValue(name, out var arities)) return false;
var arguments = argumentValues as IReadOnlyList<InjectionValue> ?? argumentValues.ToArray();
if (!arities.TryGetValue(arguments.Count, out var overloads)) return false;
NativeSubrutineDefinition allAny = null, wildcard = null;
int bestWildcardCount = int.MaxValue;
foreach (var candidate in overloads)
{
bool compatible = true, exact = true;
int anyCount = 0;
for (int i = 0; i < arguments.Count; i++)
{
var kind = candidate.ParameterKinds[i];
if (kind == InjectionValueKind.Any) anyCount++;
if (kind == arguments[i].Kind) continue;
exact = false;
if (kind != InjectionValueKind.Any) { compatible = false; break; }
}
if (exact && compatible) { subrutineDefinition = candidate; return true; }
if (!compatible) continue;
if (anyCount == arguments.Count) { allAny = candidate; continue; }
if (anyCount < bestWildcardCount || (anyCount == bestWildcardCount
&& StringComparer.OrdinalIgnoreCase.Compare(candidate.GetSignature(), wildcard.GetSignature()) < 0))
{ wildcard = candidate; bestWildcardCount = anyCount; }
}
// Preserve existing dispatch precedence: exact, all-Any adapter,
// then the most specific mixed signature with its stable tie-break.
subrutineDefinition = allAny ?? wildcard;
return subrutineDefinition != null;
}Перевіряє умови нижче й повертає показаний результат.
Параметри: startX, startY, startZ, finishX, finishY, finishZ, accuracy, accuracyZ, maxSteps, diagonal, checkStep, checkCancellation, scheduleSlice
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/PortablePathSearch.cs:26.
`internal static (int X, int Y, int Z)[] Find(
int startX, int startY, int startZ, int finishX, int finishY, int finishZ,
int accuracy, int accuracyZ, int maxSteps, bool diagonal,
Func<int, int, int, int, int, int?> checkStep, Action checkCancellation, Action<Action> scheduleSlice)`
Результат: (int X, int Y, int Z)[].
Результат: empty; result.
Виклики: Array.Empty<(int, int, int)>, ValidPoint, Comparer<Node>.Create, Math.Min, Estimate, open.Add, checkCancellation, scheduleSlice.
Умови: !ValidPoint(startX, startY, startZ) || !ValidPoint(finishX, finishY, finishZ); start.Estimate > limit.
Виклики:
-
InjectionScript.Runtime.PortablePathSearch.ValidPoint:ValidPoint(startX, startY, startZ). -
InjectionScript.Runtime.PortablePathSearch.ValidPoint:ValidPoint(finishX, finishY, finishZ). -
InjectionScript.Runtime.PortablePathSearch.Find::Estimate:Estimate(startX, startY). -
InjectionScript.Runtime.PortablePathSearch.Find::Estimate:Estimate(x, y). -
InjectionScript.Runtime.PortablePathSearch.ValidPoint:ValidPoint(x, y, z.Value).
Внутрішній код реалізації, не самостійний скрипт.
internal static (int X, int Y, int Z)[] Find(
int startX, int startY, int startZ, int finishX, int finishY, int finishZ,
int accuracy, int accuracyZ, int maxSteps, bool diagonal,
Func<int, int, int, int, int, int?> checkStep, Action checkCancellation, Action<Action> scheduleSlice)
{
var empty = Array.Empty<(int, int, int)>();
if (!ValidPoint(startX, startY, startZ) || !ValidPoint(finishX, finishY, finishZ))
return empty;
int Estimate(int x, int y)
// …
return diagonal ? Math.Max(dx, dy) : dx + dy;
// …
if (order == 0) order = a.Estimate.CompareTo(b.Estimate);
return order == 0 ? a.Order.CompareTo(b.Order) : order;
// …
if (start.Estimate > limit) return empty;
// …
if (sliceNodes > 1 && Stopwatch.GetTimestamp() - sliceStarted >= Stopwatch.Frequency / 1000)
return;
// …
if (best[current.Point] != current) continue;
// …
if (current.Estimate == 0 && Math.Abs(finishZ - p.Z) <= accuracyZ)
// …
return;
// …
if (expanded++ >= ExpansionLimit) { completed = true; return; }
if (current.Steps >= limit) continue;
// …
if (x < 0 || x > ushort.MaxValue || y < 0 || y > ushort.MaxValue) continue;
// …
if (steps + estimate > limit) continue;
// …
if (!z.HasValue || !ValidPoint(x, y, z.Value)) continue;
// …
if (best.TryGetValue(key, out Node previous) && previous.Steps <= steps) continue;
// …
if (previous != null) open.Remove(previous);
// …
return result;
// …Повний код зберігається у файлі джерела; нижче наведено точні фрагменти.
Повертає значення виразу нижче.
Параметри: name, graphic
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedTypes.cs:30.
public bool TryGet(string name, out int graphic)
Результат: bool.
Результат: values.TryGetValue((name ?? string.Empty).Trim(), out graphic).
Виклики: values.TryGetValue, (name ?? string.Empty).Trim.
Внутрішній код реалізації, не самостійний скрипт.
public bool TryGet(string name, out int graphic)
{
lock (gate) return values.TryGetValue((name ?? string.Empty).Trim(), out graphic);
}Виконує показані виклики та оновлення стану.
Параметри: name, value
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/RuntimeDictionary.cs:16.
public void Set(string name, T value)
Результат: void.
Виклики: items.ContainsKey, items.Add, .Invoke.
Умови: !items.ContainsKey(name); notify.
Внутрішній код реалізації, не самостійний скрипт.
public void Set(string name, T value)
{
bool notify = true;
lock (itemsLock)
{
if (!items.ContainsKey(name))
{
items.Add(name, value);
notify = true;
}
else
items[name] = value;
}
if (notify)
KeyAdded?.Invoke(name);
}ClassicUO — Bad Newbie & C# Scripts IDE