Repository navigation
RU Runtime Helpers 7
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Внутренний код реализации, не самостоятельный скрипт.
Ветка обрабатывает только указанное имя команды.
Параметры: Параметров нет.
Источник: 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;Выполняет показанные вызовы и обновления состояния.
Параметры: object? value
Источник: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:335.
private static string HandlerName(object? value)
Результат: string.
Условия:
name.StartsWith("exec ", StringComparison.OrdinalIgnoreCase)name.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase)
Вызовы:
(Convert.ToString(value) ?? "").TrimConvert.ToStringname.StartsWithname[5..].Trimname[6..].Trim
Внутренний код реализации, не самостоятельный скрипт.
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;
}Выполняет показанные вызовы и обновления состояния.
Параметры: int page, string text
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2001.
public void BookSetPageText(int page, string text)
Результат: void.
Условия:
book == null!book.YokoTrySetPageText(page, text)
Вызовы:
InvokeGetOpenBookErrorbook.YokoTrySetPageText
Внутренний код реализации, не самостоятельный скрипт.
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:1581.
public void Bow()
Результат: void.
Вызовы:
InvokeGameActions.EmoteAction
Внутренний код реализации, не самостоятельный скрипт.
public void Bow() => Invoke(() => GameActions.EmoteAction("bow"));Выполняет показанные вызовы и обновления состояния.
Параметры: Параметров нет.
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:701.
public void CloseMenu()
Результат: void.
Вызовы:
Invoke_world.ServerMenus.Snapshotmenu.CancelForYoko
Внутренний код реализации, не самостоятельный скрипт.
public void CloseMenu() => Invoke(() =>
{
foreach (SessionMenu menu in _world.ServerMenus.Snapshot())
menu.CancelForYoko();
});Выполняет показанные вызовы и обновления состояния.
Параметры: Параметров нет.
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:168.
public int ColdResistance
Результат: int.
Вызовы:
Invoke
Внутренний код реализации, не самостоятельный скрипт.
public int ColdResistance => Invoke(() => CurrentPlayer?.ColdResistance ?? 0);Выполняет показанные вызовы и обновления состояния.
Параметры: string message
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3986.
public void Error(string message)
Результат: void.
Вызовы:
ReportStatus
Внутренний код реализации, не самостоятельный скрипт.
public void Error(string message) => ReportStatus(message);Выполняет показанные вызовы и обновления состояния.
Параметры: Параметров нет.
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2482.
public int FindCount()
Результат: int.
Вызовы:
—
Внутренний код реализации, не самостоятельный скрипт.
public int FindCount() => _findCount;Выполняет показанные вызовы и обновления состояния.
Параметры: Параметров нет.
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:139.
public int FindItem
Результат: int.
Вызовы:
—
Внутренний код реализации, не самостоятельный скрипт.
public int FindItem => _findItem;Выполняет показанные вызовы и обновления состояния.
Параметры: int type, int notoriety
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2876.
public int FindNotoriety(int type, int notoriety)
Результат: int.
Условия:
-
`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`
Вызовы:
InvokeResetFindResultsState.IgnoreTypeLists.FilterForState.IgnoredSerials.ContainsignoredTypes.MatchesMath.AbsRegisterFound
Внутренний код реализации, не самостоятельный скрипт.
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:184.
public int GameServerPort
Результат: int.
Вызовы:
—
Внутренний код реализации, не самостоятельный скрипт.
public int GameServerPort => Settings.GlobalSettings.Port;Выполняет показанные вызовы и обновления состояния.
Параметры: int id
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:234.
public int GetHP(int id)
Результат: int.
Вызовы:
WithEntity
Внутренний код реализации, не самостоятельный скрипт.
public int GetHP(int id) => WithEntity(id, e => e.Hits);Выполняет показанные вызовы и обновления состояния.
Параметры: int id
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:627.
public int GetLocked(int id)
Результат: int.
Вызовы:
Invoke_world.Get
Внутренний код реализации, не самостоятельный скрипт.
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:344.
public int GetPing()
Результат: int.
Вызовы:
—
Внутренний код реализации, не самостоятельный скрипт.
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);
}Выполняет показанные вызовы и обновления состояния.
Параметры: int tradeNumber
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:267.
public string GetTradeOpponentName(int tradeNumber)
Результат: string.
Вызовы:
InvokeFindNumberedTrade
Внутренний код реализации, не самостоятельный скрипт.
public string GetTradeOpponentName(int tradeNumber) => Invoke(() =>
{
ISessionTrade gump = FindNumberedTrade(tradeNumber);
return gump?.OpponentName ?? string.Empty;
});Выполняет показанные вызовы и обновления состояния.
Параметры: string pattern, int startTime, int endTime, int limit
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2130.
public int InJournalBetweenTimes(string pattern, int startTime, int endTime, int limit)
Результат: int.
Вызовы:
now.AddMillisecondsMath.MaxMath.MinFindJournal
Внутренний код реализации, не самостоятельный скрипт.
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);
}Выполняет показанные вызовы и обновления состояния.
Параметры: string pattern, int startTime, int endTime, int limit
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2144.
public int InJournalSystemBetweenTimes(string pattern, int startTime, int endTime, int limit)
Результат: int.
Вызовы:
now.AddMillisecondsMath.MaxMath.MinFindJournal
Внутренний код реализации, не самостоятельный скрипт.
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);
}Выполняет показанные вызовы и обновления состояния.
Параметры: int x, int y
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:676.
public int IsWaterTile(int x, int y)
Результат: int.
Вызовы:
InvokeAnyTileAt
Внутренний код реализации, не самостоятельный скрипт.
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:142.
public int LastCorpse
Результат: int.
Вызовы:
Invoke_world.Items.Values.Where(i => i.IsCorpse && !i.IsDestroyed).OrderBy(i => i.Distance).FirstOrDefault_world.Items.Values.Where(i => i.IsCorpse && !i.IsDestroyed).OrderBy_world.Items.Values.Where
Внутренний код реализации, не самостоятельный скрипт.
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:166.
public int MaxMana
Результат: int.
Вызовы:
Invoke
Внутренний код реализации, не самостоятельный скрипт.
public int MaxMana => Invoke(() => CurrentPlayer?.ManaMax ?? 0);Выполняет показанные вызовы и обновления состояния.
Параметры: int sourceContainerId, int type, int color, int targetContainerId, int x, int y, int z, int delayMs
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1455.
public int MoveItems(int sourceContainerId, int type, int color, int targetContainerId, int x, int y, int z, int delayMs)
Результат: int.
Вызовы:
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:174.
public int Race
Результат: int.
Вызовы:
Invoke
Внутренний код реализации, не самостоятельный скрипт.
public int Race => Invoke(() => (int)(CurrentPlayer?.Race ?? 0));Выполняет показанные вызовы и обновления состояния.
Параметры: int id
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3132.
public void SelectGump(int id)
Результат: void.
Условия:
_selectedServerGump == null && id >= 0 && id < gumps.Count_selectedServerGump == null
Вызовы:
InvokeServerGumpsUnsafegumps.FirstOrDefaultError
Внутренний код реализации, не самостоятельный скрипт.
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");
}
});Выполняет показанные вызовы и обновления состояния.
Параметры: int gumpIndex, int triggerId
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3000.
public int SendGumpSelect(int gumpIndex, int triggerId)
Результат: int.
Вызовы:
InvokeServerGumpsUnsafe().ElementAtOrDefaultServerGumpsUnsafeSendGumpButtonUnsafe
Внутренний код реализации, не самостоятельный скрипт.
public int SendGumpSelect(int gumpIndex, int triggerId) => Invoke(() =>
{
Gump gump = ServerGumpsUnsafe().ElementAtOrDefault(gumpIndex);
return SendGumpButtonUnsafe(gump, triggerId, $"gump index {gumpIndex} was not found");
});Выполняет показанные вызовы и обновления состояния.
Параметры: int type, int color, int quantity, int maxPrice, string name
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3905.
public void SetAutoBuyRule(int type, int color, int quantity, int maxPrice, string name)
Результат: void.
Вызовы:
InvokeSetAutoShopRule
Внутренний код реализации, не самостоятельный скрипт.
public void SetAutoBuyRule(int type, int color, int quantity, int maxPrice, string name) =>
Invoke(() => SetAutoShopRule(ProfileManager.CurrentProfile?.BackNewbieAutoBuyRules, true, type, color, quantity, maxPrice, name));Выполняет показанные вызовы и обновления состояния.
Параметры: int figureId, int kind, int coord, int x1, int y1, int x2, int y2, int brushColor, int brushStyle, int color, int worldNum, string text
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2551.
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.
Вызовы:
InvokeWorldMapGump.SetYokoMapFigure
Внутренний код реализации, не самостоятельный скрипт.
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));Выполняет показанные вызовы и обновления состояния.
Параметры: int enabled
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:317.
public void SetPauseScriptOnDisconnectStatus(int enabled)
Результат: void.
Вызовы:
—
Внутренний код реализации, не самостоятельный скрипт.
public void SetPauseScriptOnDisconnectStatus(int enabled) => _manager.PauseScriptsOnDisconnect = enabled != 0;Выполняет показанные вызовы и обновления состояния.
Параметры: string pattern
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4073.
private static string[] SplitPatterns(string pattern)
Результат: string[].
Вызовы:
(pattern ?? string.Empty).Split
Внутренний код реализации, не самостоятельный скрипт.
private static string[] SplitPatterns(string pattern) => (pattern ?? string.Empty).Split('|', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);Выполняет показанные вызовы и обновления состояния.
Параметры: int type, int x, int y, int z
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:855.
public void TargetToTile(int type, int x, int y, int z)
Результат: void.
Условия:
_world.TargetManager.IsServerTarget
Вызовы:
Invoke_world.TargetManager.Target
Внутренний код реализации, не самостоятельный скрипт.
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);
});Выполняет показанные вызовы и обновления состояния.
Параметры: string text
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1979.
public void TextPrint(string text)
Результат: void.
Условия:
_textWindow.Count >= MaxTextWindowLines
Вызовы:
_textWindow.RemoveRange_textWindow.AddInvokeYokoTextWindowGump.ShowReportStatus
Внутренний код реализации, не самостоятельный скрипт.
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");
});
}Выполняет показанные вызовы и обновления состояния.
Параметры: int timeoutMs, out int pingMs
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:348.
private bool TryProbeServerPing(int timeoutMs, out int pingMs)
Результат: bool.
Условия:
!_world.InGame || !NetClient.Socket.IsConnectedrequest.Token < 0NetClient.Socket.Statistics.GetPingEchoGeneration((byte)request.Token) != request.Generationtimeout == 0
Вызовы:
Math.MaxInvokeNetClient.Socket.Statistics.SendPingProbeNetClient.Socket.Statistics.GetPingEchoGenerationWaitMath.Min
Внутренний код реализации, не самостоятельный скрипт.
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:1305.
public void UnsetReceivingContainer()
Результат: void.
Вызовы:
—
Внутренний код реализации, не самостоятельный скрипт.
public void UnsetReceivingContainer() => State.ReceivingContainer = 0;Выполняет показанные вызовы и обновления состояния.
Параметры: int id
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:778.
public void UseObject(int id)
Результат: void.
Вызовы:
InvokeGameActions.DoubleClick
Внутренний код реализации, не самостоятельный скрипт.
public void UseObject(int id) => Invoke(() => GameActions.DoubleClick(_world, (uint)id));Выполняет показанные вызовы и обновления состояния.
Параметры: string name, bool oneShot = false
Источник: 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);
}Выполняет показанные вызовы и обновления состояния.
Параметры: uint? serial = null
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/UIManager.cs:277.
public static T GetGump<T>(uint? serial = null)
Результат: T.
Условия:
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;
}Выполняет показанные вызовы и обновления состояния.
Параметры: string scriptKey, string text
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:679.
internal void AppendIdeOutput(string scriptKey, string text)
Результат: void.
Вызовы:
_ideToolBuffers.AppendOutput
Внутренний код реализации, не самостоятельный скрипт.
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_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();Выполняет показанные вызовы и обновления состояния.
Параметры: Func<T> callback, CancellationToken cancellationToken
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3459.
internal T InvokeOnGameThread<T>(Func<T> callback, CancellationToken cancellationToken)
Результат: T.
Условия:
callback == nullVolatile.Read(ref _gameThreadId) == Environment.CurrentManagedThreadIdcancellationToken.IsCancellationRequested
Вызовы:
nameofcancellationToken.ThrowIfCancellationRequestedVolatile.ReadcallbackEnqueueMainThreadActionresult.TrySetCanceledresult.TrySetResultresult.TrySetExceptionresult.Task.Waitresult.Task.GetAwaiter().GetResultresult.Task.GetAwaiter
Внутренний код реализации, не самостоятельный скрипт.
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:3806.
private void MarkRuntimeStateChanged()
Результат: void.
Вызовы:
Interlocked.Increment
Внутренний код реализации, не самостоятельный скрипт.
private void MarkRuntimeStateChanged() =>
Interlocked.Increment(ref _runtimeStateRevision);Выполняет показанные вызовы и обновления состояния.
Параметры: uint serial, CancellationToken owner = default
Источник: 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));
}
}Выполняет показанные вызовы и обновления состояния.
Параметры: int buttonID
Источник: Project_Full/src/ClassicUO.Client/Game/UI/Gumps/Gump.cs:142.
public override void OnButtonClick(int buttonID)
Результат: void.
Условия:
SessionState is { } state!IsDisposed && (LocalSerial != 0 || ServerSerial != 0)CanMove
Вызовы:
state.OnButtonClickswitches.Addentries.AddGameActions.ReplyGumpswitches.ToArrayentries.ToArrayUIManager.SavePositionUIManager.RemovePositionDispose
Полный код сохранён в файле источника; ниже приведены точные фрагменты.
Внутренний код реализации, не самостоятельный скрипт.
public override void OnButtonClick(int buttonID)
{
if (SessionState is { } state)
{
state.OnButtonClick(buttonID);
return;
}
if (!IsDisposed && (LocalSerial != 0 || ServerSerial != 0))
// …
if (CanMove)
// …
else
{
UIManager.RemovePosition(ServerSerial);
}
Dispose();
}
}Выполняет показанные вызовы и обновления состояния.
Параметры: Параметров нет.
Источник: Project_Full/src/ClassicUO.Client/Game/World.cs:258.
internal string ResolveProfileServerName()
Результат: string.
Условия:
string.IsNullOrWhiteSpace(_profileServerIdentity)
Вызовы:
string.IsNullOrWhiteSpacePath.CombineProfileShardIdentity.Resolve
Внутренний код реализации, не самостоятельный скрипт.
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;
}Выполняет показанные вызовы и обновления состояния.
Параметры: InjectionValue timeout, InjectionValue retries
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3865.
public int CheckLag(InjectionValue timeout, InjectionValue retries)
Результат: int.
Условия:
bridge.CheckLag(timeoutMs) != 0
Вызовы:
Math.MaxNumberConversions.ToIntbridge.CheckLag
Внутренний код реализации, не самостоятельный скрипт.
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;
}Выполняет показанные вызовы и обновления состояния.
Параметры: InjectionValue[] values
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4969.
private InjectionValue CompactGetWorldItems(InjectionValue[] values)
Результат: InjectionValue.
Условия:
values.Length > 3 && !TryResolveWorldItemQueryContainer(values[3], out container)nearest
Вызовы:
-
ResolveType -
NumberConversions.ToInt -
ResolveCompactDistance -
bridge.GetFindDistance -
TryResolveWorldItemQueryContainer -
Array.Empty<InjectionValue> -
ToBoolean -
ResolveCompactMaxZ -
bridge.GetFindVertical -
bridge.GetContent -
bridge.GetWorldItems -
bridge.GetIgnoreList -
state.IgnoreTypeLists.FilterFor -
bridge.GetZ -
`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` -
`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` -
`source
.Where(id => (!ignored.Contains(id) && !MatchesIgnoredType(id, ignoredTypes))) .Where(id => type < 0 || type == 0xFFFF || bridge.GetGraphics(id) == type) .Where` -
`source
.Where(id => (!ignored.Contains(id) && !MatchesIgnoredType(id, ignoredTypes))) .Where` -
`source
.Where` -
ignored.Contains -
MatchesIgnoredType -
bridge.GetGraphics -
bridge.GetColor -
bridge.GetDistance -
Math.Abs -
filtered.OrderBy(id => bridge.GetDistance(container > 0 ? container : id)).ThenBy -
filtered.OrderBy -
filtered.Select(id => new InjectionValue(id)).ToArray -
filtered.Select
Внутренний код реализации, не самостоятельный скрипт.
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());
}Выполняет показанные вызовы и обновления состояния.
Параметры: string spellName
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6632.
private int? ConvertSpellName(string spellName)
Результат: int?.
Условия:
classicUoSpellId > 0spellNameToSpellId.TryGetValue(requested, out var spellId)NumberConversions.TryStr2Int(requested, out spellId) && spellId > 0
Вызовы:
(spellName ?? string.Empty).Trim().Replace(spellName ?? string.Empty).Trimbridge.ResolveSpellspellNameToSpellId.TryGetValueNumberConversions.TryStr2Int
Внутренний код реализации, не самостоятельный скрипт.
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;
}Выполняет показанные вызовы и обновления состояния.
Параметры: int type, int color, int container
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5332.
public int Count(int type, int color, int container)
Результат: int.
Вызовы:
bridge.Count
Внутренний код реализации, не самостоятельный скрипт.
public int Count(int type, int color, int container)
=> bridge.Count(type, color, container);Выполняет показанные вызовы и обновления состояния.
Параметры: Параметров нет.
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6045.
public int Date()
Результат: int.
Вызовы:
—
Внутренний код реализации, не самостоятельный скрипт.
public int Date()
{
var now = timeSource.Now;
return (now.Year % 100) * 10000 + now.Month * 100 + now.Day;
}Выполняет показанные вызовы и обновления состояния.
Параметры: string easyValue
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2526.
private static int DecodeEasyUoId(string easyValue)
Результат: int.
Условия:
character < 'A' || character > 'Z'
Вызовы:
(easyValue ?? string.Empty).ToUpperInvariant
Внутренний код реализации, не самостоятельный скрипт.
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);
}Выполняет показанные вызовы и обновления состояния.
Параметры: InjectionValue text
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5518.
public void DeleteJournal(InjectionValue text)
Результат: void.
Вызовы:
DeleteJournal
Внутренний код реализации, не самостоятельный скрипт.
public void DeleteJournal(InjectionValue text) => DeleteJournal((string)text);Выполняет показанные вызовы и обновления состояния.
Параметры: InjectionValue easyValue
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3513.
public string EUO2Inj(InjectionValue easyValue)
Результат: string.
Условия:
c < 'A' || c > 'Z'
Вызовы:
easyValue.ToString().ToUpperInvarianteasyValue.ToStringNumberConversions.ToHex
Внутренний код реализации, не самостоятельный скрипт.
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;Выполняет показанные вызовы и обновления состояния.
Параметры: InjectionValue type, InjectionValue color
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4706.
public string FindType(InjectionValue type, InjectionValue color)
Результат: string.
Условия:
-
`color.Kind == InjectionValueKind.String
&& (color.String.Equals("ground", StringComparison.OrdinalIgnoreCase) || color.String.Equals("backpack", StringComparison.OrdinalIgnoreCase) || color.String.Equals("my", StringComparison.OrdinalIgnoreCase))`
Вызовы:
color.String.EqualsFindTypeResolveTypeConvertContainerNumberConversions.ToInt
Внутренний код реализации, не самостоятельный скрипт.
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:5605.
public int GetFoundedTextID()
Результат: int.
Вызовы:
—
Внутренний код реализации, не самостоятельный скрипт.
public int GetFoundedTextID() => foundedTextId >= 0 ? foundedTextId : 0;Выполняет показанные вызовы и обновления состояния.
Параметры: Параметров нет.
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5606.
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:5608.
public string GetFoundedTextSerial()
Результат: string.
Вызовы:
—
Внутренний код реализации, не самостоятельный скрипт.
public string GetFoundedTextSerial() => selectedJournalEntry != null
? $"0x{unchecked((uint)selectedJournalEntry.Serial):X8}" : "0x00000000";Выполняет показанные вызовы и обновления состояния.
Параметры: string id
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3733.
public string GetGraphics(string id)
Результат: string.
Вызовы:
GetGraphicsGetObject
Внутренний код реализации, не самостоятельный скрипт.
public string GetGraphics(string id) => GetGraphics(GetObject(id));Выполняет показанные вызовы и обновления состояния.
Параметры: string identifier, int key
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3364.
public InjectionValue GetGump(string identifier, int key)
Результат: InjectionValue.
Вызовы:
LastGump
Внутренний код реализации, не самостоятельный скрипт.
public InjectionValue GetGump(string identifier, int key) => LastGump(identifier, key);Выполняет показанные вызовы и обновления состояния.
Параметры: InjectionValue id
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3739.
public string GetLayer(InjectionValue id)
Результат: string.
Вызовы:
ConvertLayerbridge.GetLayerGetObject
Внутренний код реализации, не самостоятельный скрипт.
public string GetLayer(InjectionValue id) => ConvertLayer(bridge.GetLayer(GetObject(id)));Выполняет показанные вызовы и обновления состояния.
Параметры: Параметров нет.
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3893.
public int GetRun()
Результат: int.
Вызовы:
bridge.GetRun
Внутренний код реализации, не самостоятельный скрипт.
public int GetRun() => bridge.GetRun(bridge.Self);Выполняет показанные вызовы и обновления состояния.
Параметры: Параметров нет.
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3685.
public int GetZ()
Результат: int.
Вызовы:
GetZ
Внутренний код реализации, не самостоятельный скрипт.
public int GetZ() => GetZ("self");Выполняет показанные вызовы и обновления состояния.
Параметры: int id
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3687.
public int GetZ(int id)
Результат: int.
Вызовы:
bridge.GetZ
Внутренний код реализации, не самостоятельный скрипт.
public int GetZ(int id) => bridge.GetZ(id);Выполняет показанные вызовы и обновления состояния.
Параметры: InjectionValue id
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4488.
public int Grab(InjectionValue id)
Результат: int.
Вызовы:
CompactGrab
Внутренний код реализации, не самостоятельный скрипт.
public int Grab(InjectionValue id) => CompactGrab(new[] { id });Выполняет показанные вызовы и обновления состояния.
Параметры: InjectionValue amount, InjectionValue id, InjectionValue container
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4492.
public int Grab(InjectionValue amount, InjectionValue id, InjectionValue container)
Результат: int.
Вызовы:
CompactGrab
Внутренний код реализации, не самостоятельный скрипт.
public int Grab(InjectionValue amount, InjectionValue id, InjectionValue container)
=> CompactGrab(new[] { amount, id, container });Выполняет показанные вызовы и обновления состояния.
Параметры: InjectionValue firstId, InjectionValue secondId
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3359.
public int GumpExists(InjectionValue firstId, InjectionValue secondId)
Результат: int.
Вызовы:
bridge.GumpExistsNumberConversions.ToInt
Внутренний код реализации, не самостоятельный скрипт.
public int GumpExists(InjectionValue firstId, InjectionValue secondId)
=> bridge.GumpExists(NumberConversions.ToInt(firstId), NumberConversions.ToInt(secondId));Выполняет показанные вызовы и обновления состояния.
Параметры: InjectionValue serialValue
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3499.
public string Inj2EUO(InjectionValue serialValue)
Результат: string.
Условия:
value == 0
Вызовы:
NumberConversions.ToIntresult.Insertresult.ToString
Внутренний код реализации, не самостоятельный скрипт.
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();
}Выполняет показанные вызовы и обновления состояния.
Параметры: string identifier, int key
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3362.
public InjectionValue LastGump(string identifier, int key)
Результат: InjectionValue.
Вызовы:
ConvertGumpValuebridge.GetGumpValue
Внутренний код реализации, не самостоятельный скрипт.
public InjectionValue LastGump(string identifier, int key) => ConvertGumpValue(identifier, bridge.GetGumpValue(-1, identifier, key));Выполняет показанные вызовы и обновления состояния.
Параметры: Параметров нет.
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4020.
public int MaxWeight()
Результат: int.
Вызовы:
—
Внутренний код реализации, не самостоятельный скрипт.
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:3417.
public int Picking()
Результат: int.
Вызовы:
bridge.Picking
Внутренний код реализации, не самостоятельный скрипт.
public int Picking() => bridge.Picking();Выполняет показанные вызовы и обновления состояния.
Параметры: int min, int max
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6063.
public int Random(int min, int max)
Результат: int.
Условия:
min > maxmin == maxcount <= int.MaxValue
Вызовы:
random.Nextrandom.NextBytesBitConverter.ToUInt32
Внутренний код реализации, не самостоятельный скрипт.
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));
}
}Выполняет показанные вызовы и обновления состояния.
Параметры: InjectionValue value
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5217.
private int ResolveCompactMaxZ(InjectionValue value)
Результат: int.
Вызовы:
NumberConversions.ToIntbridge.GetFindVerticalMath.Max
Внутренний код реализации, не самостоятельный скрипт.
private int ResolveCompactMaxZ(InjectionValue value)
{
int parsed = NumberConversions.ToInt(value);
return parsed < 0 ? bridge.GetFindVertical() : Math.Max(0, parsed);
}Выполняет показанные вызовы и обновления состояния.
Параметры: string message
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5406.
public void Say(string message)
Результат: void.
Вызовы:
bridge.Say
Внутренний код реализации, не самостоятельный скрипт.
public void Say(string message) => bridge.Say(message);Выполняет показанные вызовы и обновления состояния.
Параметры: string name, int quality
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6040.
public int Snap(string name, int quality)
Результат: int.
Вызовы:
bridge.SnapMath.MaxMath.Min
Внутренний код реализации, не самостоятельный скрипт.
public int Snap(string name, int quality) => bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), true);Выполняет показанные вызовы и обновления состояния.
Параметры: string name, int quality, bool includeUi
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6041.
public int Snap(string name, int quality, bool includeUi)
Результат: int.
Вызовы:
bridge.SnapMath.MaxMath.Min
Внутренний код реализации, не самостоятельный скрипт.
public int Snap(string name, int quality, bool includeUi)
=> bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), includeUi);Выполняет показанные вызовы и обновления состояния.
Параметры: string recording, out string name, out InjectionValue[] arguments
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2767.
private static bool TryDeserializeRecordedLegacyAction(string recording, out string name, out InjectionValue[] arguments)
Результат: bool.
Условия:
string.IsNullOrWhiteSpace(recording)fields.Length < 2 || !fields[0].Equals(RecordedLegacyActionPrefix, StringComparison.Ordinal)!TryDeserializeRecordedValue(fields[index], out values[index - 2])
Вызовы:
Array.Empty<InjectionValue>string.IsNullOrWhiteSpacerecording.Splitfields[0].EqualsDecodeRecordingTextMath.MaxTryDeserializeRecordedValue
Внутренний код реализации, не самостоятельный скрипт.
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;
}
}Выполняет показанные вызовы и обновления состояния.
Параметры: InjectionValue type
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4199.
public int UseFromGround(InjectionValue type)
Результат: int.
Вызовы:
UseFromGround
Внутренний код реализации, не самостоятельный скрипт.
public int UseFromGround(InjectionValue type) => UseFromGround(type, new InjectionValue(-1));Выполняет показанные вызовы и обновления состояния.
Параметры: int id1, int id2
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4294.
public void WaitTargetObject(int id1, int id2)
Результат: void.
Вызовы:
bridge.WaitTargetObjectTimer
Внутренний код реализации, не самостоятельный скрипт.
public void WaitTargetObject(int id1, int id2)
{
bridge.WaitTargetObject(id1, id2);
ticksTarget = Timer();
}Выполняет показанные вызовы и обновления состояния.
Параметры: int startTime, int maxDelay, string text, int equals
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5537.
public void WaitingForJournalText(int startTime, int maxDelay, string text, int equals)
Результат: void.
Вызовы:
WaitingForJournalText
Внутренний код реализации, не самостоятельный скрипт.
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)Выполняет показанные вызовы и обновления состояния.
Параметры: string name, IEnumerable<InjectionValue> argumentValues, out NativeSubrutineDefinition subrutineDefinition
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeSubrutineMetadata.cs:34.
public bool TryGet(string name, IEnumerable<InjectionValue> argumentValues, out NativeSubrutineDefinition subrutineDefinition)
Результат: bool.
Условия:
!byName.TryGetValue(name, out var arities)!arities.TryGetValue(arguments.Count, out var overloads)kind == InjectionValueKind.Anykind == arguments[i].Kind
Вызовы:
byName.TryGetValueargumentValues.ToArrayarities.TryGetValueStringComparer.OrdinalIgnoreCase.Comparecandidate.GetSignaturewildcard.GetSignature
Внутренний код реализации, не самостоятельный скрипт.
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;
// …Полный код сохранён в файле источника; ниже приведены точные фрагменты.
Выполняет показанные вызовы и обновления состояния.
Параметры: string name, out int 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
Внутренний код реализации, не самостоятельный скрипт.
public bool TryGet(string name, out int graphic)
{
lock (gate) return values.TryGetValue((name ?? string.Empty).Trim(), out graphic);
}Выполняет показанные вызовы и обновления состояния.
Параметры: string name, T value
Источник: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/RuntimeDictionary.cs:16.
public void Set(string name, T value)
Результат: void.
Условия:
!items.ContainsKey(name)notify
Вызовы:
items.ContainsKeyitems.Add.Invoke
Внутренний код реализации, не самостоятельный скрипт.
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);
}Выполняет показанные вызовы и обновления состояния.
Параметры: int type, int color, int containerId
Источник: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2926.
public int CountDirectItems(int type, int color, int containerId)
Результат: int.
Условия:
MatchesFindIdentity(item, type, color, ignoredTypes) && MatchesFindContainer(item, containerId, range, false)IsGroundFindContainer(containerId)MatchesFindMobile(mobile, type, color, range, ignoredTypes)
Вызовы:
InvokeState.IgnoreTypeLists.FilterForResolveFindRangeMatchesFindIdentityMatchesFindContainerMath.MaxIsGroundFindContainerMatchesFindMobile
Внутренний код реализации, не самостоятельный скрипт.
public int CountDirectItems(int type, int color, int containerId) => Invoke(() =>
{
IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList);
int range = ResolveFindRange(State.FindDistance);
int quantity = 0;
foreach (Item item in _world.Items.Values)
if (MatchesFindIdentity(item, type, color, ignoredTypes)
&& MatchesFindContainer(item, containerId, range, false))
quantity = checked(quantity + Math.Max(1, (int)item.Amount));
if (IsGroundFindContainer(containerId))
foreach (Mobile mobile in _world.Mobiles.Values)
if (MatchesFindMobile(mobile, type, color, range, ignoredTypes))
quantity = checked(quantity + 1);
return quantity;
});ClassicUO — Bad Newbie & C# Scripts IDE