Runtime Helpers A - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Внутрішній код реалізації, не самостійний скрипт.
Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:408.
Результат: true.
Виклики:
-
ClassicUO.CSharp.CSharpCallbacks.Exists:Exists(requested).
Внутрішній код реалізації, не самостійний скрипт.
case "SubExists":
string requested = Convert.ToString(arguments[0]) ?? "";
result = Exists(requested) || events is ICSharpScriptHost known && known.HasCSharpScript(requested) ? 1 : 0;
return true;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.CSharp/CSharpScriptGlobals.cs:62.
Умови: name == "HTTP_Get" && arguments.Length == 2 && arguments[1] is Stream stream; !stream.CanWrite; stream.CanSeek.
Внутрішній код реалізації, не самостійний скрипт.
if (name == "HTTP_Get" && arguments.Length == 2 && arguments[1] is Stream stream)
{
if (!stream.CanWrite) throw new ArgumentException("HTTP_Get requires a writable .NET stream.");
// Adapt the existing binary response path without fetching the
// response twice or converting its bytes through text encoding.
var type = typeof(InjectionValue).Assembly.GetType("InjectionScript.Runtime.ObjectTypes.MemoryStreamObject", throwOnError: true)!;
using var native = (IDisposable)Activator.CreateInstance(type, nonPublic: true)!;
value = Invoke(name, [arguments[0], native]);
var bytes = (InjectionValue)type.GetMethod("ToArray")!.Invoke(native, null)!;
byte[] payload = bytes.Array.Select(item => checked((byte)item.Integer)).ToArray();
if (stream.CanSeek) { stream.SetLength(0); stream.Position = 0; }
stream.Write(payload);
if (stream.CanSeek) stream.Position = 0;
}
else value = Invoke(name, arguments);Виконує показані виклики та оновлення стану.
Параметри: object? value
Джерело: Project_Full/src/ClassicUO.CSharp/CSharpScriptGlobals.cs:214.
internal static InjectionValue ToNative(object? value)
Результат: InjectionValue.
Виклики:
letter.ToStringToNativeConvert.ChangeTypeEnum.GetUnderlyingTypeenumeration.GetTypedate.ToOADatenativeObject.Unwrapvalues.Cast<object?>().Selectvalues.Cast<object?>value.GetType
Внутрішній код реалізації, не самостійний скрипт.
internal static InjectionValue ToNative(object? value) => value switch
{
InjectionValue native => native,
null => InjectionValue.Unit,
bool flag => new InjectionValue(flag ? 1 : 0),
byte number => new InjectionValue((int)number),
sbyte number => new InjectionValue((int)number),
short number => new InjectionValue((int)number),
ushort number => new InjectionValue((int)number),
int number => new InjectionValue(number),
uint serial => new InjectionValue(unchecked((int)serial)),
long number => new InjectionValue(checked((int)number)),
ulong number => new InjectionValue(checked((int)number)),
nint number => new InjectionValue(checked((int)number)),
nuint number => new InjectionValue(checked((int)number)),
double number => new InjectionValue(number),
float number => new InjectionValue((double)number),
decimal number => new InjectionValue((double)number),
char letter => new InjectionValue(letter.ToString()),
Enum enumeration => ToNative(Convert.ChangeType(enumeration, Enum.GetUnderlyingType(enumeration.GetType()))),
DateTime date => new InjectionValue(date.ToOADate()),
string text => new InjectionValue(text),
CSharpNativeObject nativeObject => new InjectionValue(nativeObject.Unwrap()),
InjectionObject nativeObject => new InjectionValue(nativeObject),
System.Collections.IEnumerable values => new InjectionValue(values.Cast<object?>().Select(ToNative), typeof(InjectionValue[])),
_ => new InjectionValue(value, value.GetType())
};Розбирає або знаходить значення аргументу за правилами, показаними в коді.
Параметри: runtimeServerName, runtimeHost, runtimePort, selectedShardHost, defaultSettingsPath, authoritativeEndpoint
Джерело: Project_Full/src/ClassicUO.Client/Configuration/ProfileShardIdentity.cs:18.
internal static string Resolve( string runtimeServerName, string runtimeHost, ushort runtimePort, string selectedShardHost, string defaultSettingsPath, bool authoritativeEndpoint = false )
Результат: string.
Виклики: ReadDefaultSettings, ResolveFromValues.
Внутрішній код реалізації, не самостійний скрипт.
internal static string Resolve(
string runtimeServerName,
string runtimeHost,
ushort runtimePort,
string selectedShardHost,
string defaultSettingsPath,
bool authoritativeEndpoint = false
)
{
DefaultSettingsEndpoint defaults = ReadDefaultSettings(defaultSettingsPath);
return ResolveFromValues(
runtimeServerName,
runtimeHost,
runtimePort,
selectedShardHost,
defaults.Host,
defaults.Port,
defaults.ServerName,
authoritativeEndpoint
);
}Виконує показані виклики та оновлення стану.
Параметри: World world, uint serial, ushort amount, uint bag = 0
Джерело: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:994.
public static void GrabItem(World world, uint serial, ushort amount, uint bag = 0)
Результат: void.
Умови:
backpack == nullbag == 0!world.Items.Contains(bag)
Виклики:
world.Player.FindItemByLayerworld.Items.ContainsPrintPickUpDropItem
Внутрішній код реалізації, не самостійний скрипт.
public static void GrabItem(World world, uint serial, ushort amount, uint bag = 0)
{
//Socket.Send(new PPickUpRequest(serial, amount));
Item backpack = world.Player.FindItemByLayer(Layer.Backpack);
if (backpack == null)
{
return;
}
if (bag == 0)
{
bag = ProfileManager.CurrentProfile.GrabBagSerial == 0 ? backpack.Serial : ProfileManager.CurrentProfile.GrabBagSerial;
}
if (!world.Items.Contains(bag))
{
Print(world, ResGeneral.GrabBagNotFound);
ProfileManager.CurrentProfile.GrabBagSerial = 0;
bag = backpack.Serial;
}
PickUp(world, serial, 0, 0, amount);
DropItem
(
serial,
0xFFFF,
0xFFFF,
0,
bag
);
}Виконує показані виклики та оновлення стану.
Параметри: World world
Джерело: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:111.
public static void OpenJournal(World world)
Результат: void.
Умови:
ProfileManager.CurrentProfile.UseAlternateJournaljournalGump == nulljournalGump.IsMinimized
Виклики:
UIManager.AddUIManager.GetGump<JournalGump>journalGump.SetInScreenjournalGump.BringOnTop
Внутрішній код реалізації, не самостійний скрипт.
public static void OpenJournal(World world)
{
if (ProfileManager.CurrentProfile.UseAlternateJournal)
{
UIManager.Add(new ResizableJournal(world));
return;
}
JournalGump journalGump = UIManager.GetGump<JournalGump>();
if (journalGump == null)
{
UIManager.Add(new JournalGump(world) { X = 64, Y = 64 });
}
else
{
journalGump.SetInScreen();
journalGump.BringOnTop();
if (journalGump.IsMinimized)
{
journalGump.IsMinimized = false;
}
}
}Виконує показані виклики та оновлення стану.
Параметри: World world, uint serial
Джерело: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:333.
public static void SingleClick(World world, uint serial)
Результат: void.
Умови:
entity != null
Виклики:
world.BackNewbieHoverNames.NotifyRequestSocket.Send_ClickRequestworld.Get
Внутрішній код реалізації, не самостійний скрипт.
public static void SingleClick(World world, uint serial)
{
// add request context menu
world.BackNewbieHoverNames.NotifyRequest(serial);
Socket.Send_ClickRequest(serial);
Entity entity = world.Get(serial);
if (entity != null)
{
entity.IsClicked = true;
}
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:591.
public int AlwaysRun()
Результат: int.
Виклики:
Invoke
Внутрішній код реалізації, не самостійний скрипт.
public int AlwaysRun() => Invoke(() => ProfileManager.CurrentProfile?.AlwaysRun == true ? 1 : 0);Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:178.
public string CharacterTitle
Результат: string.
Виклики:
Invoke
Внутрішній код реалізації, не самостійний скрипт.
public string CharacterTitle => Invoke(() => CurrentPlayer?.Title ?? string.Empty);Виконує показані виклики та оновлення стану.
Параметри: Control control
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4288.
private static string ControlTypeName(Control control)
Результат: string.
Виклики:
control.GetType
Внутрішній код реалізації, не самостійний скрипт.
private static string ControlTypeName(Control control) => control is SessionGumpControl logical ? logical.TypeName : control.GetType().Name;Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2172.
public void DeleteSystemJournal()
Результат: void.
Умови:
string.Equals(JournalManager.Entries[i].Name, "System", StringComparison.OrdinalIgnoreCase)
Виклики:
Invokestring.EqualsJournalManager.Entries.RemoveAtMath.Min
Внутрішній код реалізації, не самостійний скрипт.
public void DeleteSystemJournal() => Invoke(() =>
{
for (int i = JournalManager.Entries.Count - 1; i >= 0; --i)
{
if (string.Equals(JournalManager.Entries[i].Name, "System", StringComparison.OrdinalIgnoreCase))
{
JournalManager.Entries.RemoveAt(i);
}
}
_journalLine = Math.Min(_journalLine, JournalManager.Entries.Count);
_journalMatchCount = 0;
_lastJournalMatch = null;
});Виконує показані виклики та оновлення стану.
Параметри: int fromX, int fromY, int toX, int toY
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1552.
public void Drag(int fromX, int fromY, int toX, int toY)
Результат: void.
Виклики:
InvokeWarpMousemouse_event
Внутрішній код реалізації, не самостійний скрипт.
public void Drag(int fromX, int fromY, int toX, int toY) => Invoke(() =>
{
WarpMouse(fromX, fromY);
mouse_event(0x0002, 0, 0, 0, UIntPtr.Zero);
try { WarpMouse(toX, toY); }
finally { mouse_event(0x0004, 0, 0, 0, UIntPtr.Zero); }
});Виконує показані виклики та оновлення стану.
Параметри: int id, int amount
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1374.
public int DragItem(int id, int amount)
Результат: int.
Умови:
item == null
Виклики:
Invoke_world.Items.GetMath.MinGameActions.PickUp
Внутрішній код реалізації, не самостійний скрипт.
public int DragItem(int id, int amount)
{
bool picked = Invoke(() =>
{
Item item = _world.Items.Get((uint)id);
if (item == null) return false;
ushort moveAmount = amount <= 0 ? item.Amount : (ushort)Math.Min(item.Amount, amount);
return GameActions.PickUp(_world, item.Serial, 0, 0, moveAmount);
});
_draggedItem = picked ? id : 0;
return picked ? 1 : 0;
}Виконує показані виклики та оновлення стану.
Параметри: string pattern, DateTime? start, DateTime? end, int limit, bool systemOnly, bool ignoreCase, int serial = -1, int color = -1, bool newestOnly = false
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3999.
private int FindJournal(string pattern, DateTime? start, DateTime? end, int limit, bool systemOnly, bool ignoreCase, int serial = -1, int color = -1, bool newestOnly = false)
Результат: int.
Умови:
start.HasValue && entry.Time < start.Value || end.HasValue && entry.Time > end.Valuelimit >= 0 && examined++ >= limitsystemOnly && !string.Equals(entry.Name, "System", StringComparison.OrdinalIgnoreCase)serial != -1 && entry.Serial != unchecked((uint)serial)
Виклики:
SplitPatternsInvokeMath.Clampstring.EqualsMatchesCaptureJournalEntry
Повний код зберігається у файлі джерела; нижче наведено точні фрагменти.
Внутрішній код реалізації, не самостійний скрипт.
private int FindJournal(string pattern, DateTime? start, DateTime? end, int limit, bool systemOnly, bool ignoreCase, int serial = -1, int color = -1, bool newestOnly = false)
{
string[] patterns = SplitPatterns(pattern);
return Invoke(() =>
{
int first = Math.Clamp(_journalLine, 0, JournalManager.Entries.Count);
int examined = 0;
int firstMatch = 0;
// …
if (start.HasValue && entry.Time < start.Value || end.HasValue && entry.Time > end.Value)
// …
if (limit >= 0 && examined++ >= limit)
// …
if (systemOnly && !string.Equals(entry.Name, "System", StringComparison.OrdinalIgnoreCase))
// …
if (serial != -1 && entry.Serial != unchecked((uint)serial))
// …
if (color >= 0 && color != 0xFFFF && entry.Hue != (ushort)color)
// …
if (Matches(entry.Text, patterns, ignoreCase))
// …
if (firstMatch == 0)
// …
if (newestOnly)
{
break;
}
}
}
return firstMatch;
});
}Виконує показані виклики та оновлення стану.
Параметри: string name
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4311.
private Skill FindSkillUnsafe(string name)
Результат: Skill.
Умови:
_world.Player?.Skills == nullint.TryParse(name, NumberStyles.Integer, CultureInfo.InvariantCulture, out int index)
Виклики:
int.TryParse(name ?? string.Empty).Replace("_", " ").Trim(name ?? string.Empty).Replace_world.Player.Skills.FirstOrDefaultskill.Name.Equals
Внутрішній код реалізації, не самостійний скрипт.
private Skill FindSkillUnsafe(string name)
{
if (_world.Player?.Skills == null) return null;
if (int.TryParse(name, NumberStyles.Integer, CultureInfo.InvariantCulture, out int index))
{
return index >= 0 && index < _world.Player.Skills.Length ? _world.Player.Skills[index] : null;
}
string normalized = (name ?? string.Empty).Replace("_", " ").Trim();
return _world.Player.Skills.FirstOrDefault(skill => skill != null && skill.Name.Equals(normalized, StringComparison.OrdinalIgnoreCase));
}Виконує показані виклики та оновлення стану.
Параметри: int id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2968.
public int GetLayer(int id)
Результат: int.
Виклики:
Invoke_world.Items.Get
Внутрішній код реалізації, не самостійний скрипт.
public int GetLayer(int id) => Invoke(() => _world.Items.Get((uint)id) is Item item ? (int)item.Layer : 0);Виконує показані виклики та оновлення стану.
Параметри: int id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:604.
public int GetRun(int id)
Результат: int.
Виклики:
Invoke_world.Get
Внутрішній код реалізації, не самостійний скрипт.
public int GetRun(int id) => Invoke(() => _world.Get(unchecked((uint)id)) is Mobile m && (m.Direction & Direction.Running) != 0 ? 1 : 0);Виконує показані виклики та оновлення стану.
Параметри: int index
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:322.
public int GetScriptState(int index)
Результат: int.
Виклики:
_manager.GetScriptState
Внутрішній код реалізації, не самостійний скрипт.
public int GetScriptState(int index) => _manager.GetScriptState(index);Виконує показані виклики та оновлення стану.
Параметри: int x, int y, int map
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1043.
public string GetTileInfoText(int x, int y, int map)
Результат: string.
Умови:
_world.Map == null || map != _world.MapIndextile is Land
Виклики:
Invoke_world.Map.GetTileFormatTileInfoOpenInteractiveInfoGump
Внутрішній код реалізації, не самостійний скрипт.
public string GetTileInfoText(int x, int y, int map) => Invoke(() =>
{
if (_world.Map == null || map != _world.MapIndex)
return $"UO.InfoTile: map {map} is not the currently loaded map {_world.MapIndex}.";
for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext)
{
if (tile is Land)
{
string result = FormatTileInfo(tile, map);
OpenInteractiveInfoGump("C# Tile Information", result);
return result;
}
}
return $"UO.InfoTile: no land tile is available at X={x}, Y={y}, map={map}.";
});Виконує показані виклики та оновлення стану.
Параметри: int objectId
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2608.
public string GetTooltip(int objectId)
Результат: string.
Умови:
serial == 0!_world.OPL.TryGetNameAndData(serial, out string name, out string data)string.IsNullOrWhiteSpace(name)string.IsNullOrWhiteSpace(data)
Виклики:
Invoke_world.OPL.TryGetNameAndDatastring.IsNullOrWhiteSpaceReadTooltip_world.OPL.Contains_cancellationToken.WaitHandle.WaitOne
Внутрішній код реалізації, не самостійний скрипт.
public string GetTooltip(int objectId)
{
uint serial = unchecked((uint)objectId);
if (serial == 0)
return string.Empty;
string ReadTooltip() => Invoke(() =>
{
if (!_world.OPL.TryGetNameAndData(serial, out string name, out string data))
return null;
if (string.IsNullOrWhiteSpace(name)) return data ?? string.Empty;
if (string.IsNullOrWhiteSpace(data)) return name;
return name + Environment.NewLine + data;
});
string tooltip = ReadTooltip();
if (tooltip != null)
return tooltip;
Invoke(() => _world.OPL.Contains(serial));
const int timeoutMs = 200;
const int pollMs = 10;
for (int waited = 0; waited < timeoutMs && !_cancellationToken.IsCancellationRequested; waited += pollMs)
{
_cancellationToken.WaitHandle.WaitOne(pollMs);
tooltip = ReadTooltip();
if (tooltip != null)
return tooltip;
}
return string.Empty;
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1736.
public void GlobalChatLeave()
Результат: void.
Виклики:
InvokeNetClient.Socket.Send_ChatLeaveChannelCommand
Внутрішній код реалізації, не самостійний скрипт.
public void GlobalChatLeave() => Invoke(() => NetClient.Socket.Send_ChatLeaveChannelCommand());Виконує показані виклики та оновлення стану.
Параметри: int id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:247.
public int IsMovable(int id)
Результат: int.
Виклики:
Invoke_world.Items.Get
Внутрішній код реалізації, не самостійний скрипт.
public int IsMovable(int id) => Invoke(() =>
_world.Items.Get(unchecked((uint)id)) is Item item
&& !item.IsDestroyed && !item.IsMulti
&& (!item.OnGround || !item.IsLocked) ? 1 : 0);Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:891.
public int IsTargeting()
Результат: int.
Виклики:
Invoke
Внутрішній код реалізації, не самостійний скрипт.
public int IsTargeting() => Invoke(() => _world.TargetManager.IsTargeting ? 1 : 0);Виконує показані виклики та оновлення стану.
Параметри: string fileName, string arguments, string workingDirectory, bool hidden
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1936.
public int Launch(string fileName, string arguments, string workingDirectory, bool hidden)
Результат: int.
Умови:
hidden && !Path.IsPathRooted(executable)File.Exists(candidate)
Виклики:
string.IsNullOrWhiteSpacePath.IsPathRootedPath.CombineFile.ExistsProcess.StartError
Внутрішній код реалізації, не самостійний скрипт.
public int Launch(string fileName, string arguments, string workingDirectory, bool hidden)
{
try
{
string executable = fileName ?? string.Empty;
string cwd = string.IsNullOrWhiteSpace(workingDirectory)
? Environment.CurrentDirectory
: workingDirectory;
if (hidden && !Path.IsPathRooted(executable))
{
string candidate = Path.Combine(cwd, executable);
if (File.Exists(candidate))
executable = candidate;
}
var info = new ProcessStartInfo
{
FileName = executable,
Arguments = arguments ?? string.Empty,
WorkingDirectory = cwd,
UseShellExecute = !hidden,
CreateNoWindow = hidden,
WindowStyle = hidden ? ProcessWindowStyle.Hidden : ProcessWindowStyle.Normal
};
using Process process = Process.Start(info);
return process != null ? 1 : 0;
}
catch (Exception exception)
{
Error($"UO.Launch: {exception.Message}");
return 0;
}
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:165.
public int MaxStamina
Результат: int.
Виклики:
Invoke
Внутрішній код реалізації, не самостійний скрипт.
public int MaxStamina => Invoke(() => CurrentPlayer?.StaminaMax ?? 0);Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:640.
public int Picking()
Результат: int.
Виклики:
Invoke
Внутрішній код реалізації, не самостійний скрипт.
public int Picking() => Invoke(() => Client.UO.World.ItemHold.Enabled ? 1 : 0);Виконує показані виклики та оновлення стану.
Параметри: int sound
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1902.
public void PlaySound(int sound)
Результат: void.
Виклики:
InvokeRequireGameView("PlaySound").Audio.PlaySoundRequireGameView
Внутрішній код реалізації, не самостійний скрипт.
public void PlaySound(int sound) => Invoke(() => RequireGameView("PlaySound").Audio.PlaySound(sound));Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:180.
public string ProfileName
Результат: string.
Виклики:
Invoke
Внутрішній код реалізації, не самостійний скрипт.
public string ProfileName => Invoke(() => ProfileManager.CurrentCharacterSerial == 0
? string.Empty
: $"0x{ProfileManager.CurrentCharacterSerial:X8}");Виконує показані виклики та оновлення стану.
Параметри: int range
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4088.
private int ResolveFindRange(int range)
Результат: int.
Виклики:
Math.Max
Внутрішній код реалізації, не самостійний скрипт.
private int ResolveFindRange(int range) => range < 0 ? State.FindDistance : Math.Max(0, range);Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:186.
public string RuntimeProductName
Результат: string.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
public string RuntimeProductName => "ClassicUO / BadNewbie / C# Scripts IDE";Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3991.
public void SaveHotkeys()
Результат: void.
Виклики:
Invoke
Внутрішній код реалізації, не самостійний скрипт.
public void SaveHotkeys() => Invoke(_world.Macros.Save);Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4261.
private List<Gump> ServerGumpsUnsafe()
Результат: List<Gump>.
Виклики:
_world.ServerGumps.Snapshot
Внутрішній код реалізації, не самостійний скрипт.
private List<Gump> ServerGumpsUnsafe() => _world.ServerGumps.Snapshot();Виконує показані виклики та оновлення стану.
Параметри: string message
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2050.
public void ServerPrint(string message)
Результат: void.
Виклики:
PrintClientMessage
Внутрішній код реалізації, не самостійний скрипт.
public void ServerPrint(string message) => PrintClientMessage(DEFAULT_SCRIPT_PRINT_HUE, message);Виконує показані виклики та оновлення стану.
Параметри: int value
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:210.
public void SetDropDelay(int value)
Результат: void.
Виклики:
Math.Clamp
Внутрішній код реалізації, не самостійний скрипт.
public void SetDropDelay(int value) => State.GrabDelay = Math.Clamp(value, 50, 10_000);Виконує показані виклики та оновлення стану.
Параметри: int direction, bool running, int timeoutMs, bool queue, bool waitForAck
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3477.
public int StepControlled(int direction, bool running, int timeoutMs, bool queue, bool waitForAck)
Результат: int.
Умови:
result != STEP_QUEUE_OVERFLOW || timeout <= 0 || Environment.TickCount64 >= deadlineresult == STEP_QUEUE_OVERFLOW!waitForAck || result < 0 || result == STEP_QUEUE_TURN_ONLYwalker == null
Виклики:
Math.MaxQueueStepWaitInvokeReferenceEqualswalker.GetDenyGenerationwalker.GetConfirmGeneration
Внутрішній код реалізації, не самостійний скрипт.
public int StepControlled(int direction, bool running, int timeoutMs, bool queue, bool waitForAck)
{
int timeout = Math.Max(0, timeoutMs);
long deadline = Environment.TickCount64 + timeout;
int result;
(int Result, int ConfirmGeneration, int DenyGeneration, WalkerManager Walker) queued;
do
{
queued = QueueStep(direction, running, !queue);
result = queued.Result;
if (result != STEP_QUEUE_OVERFLOW || timeout <= 0 || Environment.TickCount64 >= deadline)
break;
Wait(5);
}
while (true);
if (result == STEP_QUEUE_OVERFLOW)
return STEP_QUEUE_GENERAL_ERROR;
if (!waitForAck || result < 0 || result == STEP_QUEUE_TURN_ONLY)
return result;
int sequence = result & 0xFF;
WalkerManager walker = queued.Walker;
if (walker == null)
return STEP_QUEUE_GENERAL_ERROR;
long ackDeadline = timeout > 0 ? Environment.TickCount64 + timeout : Environment.TickCount64 + STEP_ACK_TIMEOUT_MS;
while (Environment.TickCount64 < ackDeadline)
{
if (!NetClient.Socket.IsConnected)
return STEP_QUEUE_GENERAL_ERROR;
if (!Invoke(() => ReferenceEquals(_world.Player?.Walker, walker)))
return STEP_QUEUE_GENERAL_ERROR;
if (walker.GetDenyGeneration((byte)sequence) != queued.DenyGeneration)
return 5;
if (walker.GetConfirmGeneration((byte)sequence) != queued.ConfirmGeneration)
return 7;
Wait(5);
}
return 4;
}Виконує показані виклики та оновлення стану.
Параметри: int targetKey, int serial, int targetType, int type, int x, int y, int z
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:861.
public void Target(int targetKey, int serial, int targetType, int type, int x, int y, int z)
Результат: void.
Умови:
entity != null
Виклики:
Invoke_world.GetNetClient.Socket.Send_TargetObjectMath.Max
Внутрішній код реалізації, не самостійний скрипт.
public void Target(int targetKey, int serial, int targetType, int type, int x, int y, int z)
{
Invoke(() =>
{
Entity entity = serial > 0 ? _world.Get((uint)serial) : null;
ushort graphic = (ushort)type;
ushort targetX = (ushort)x;
ushort targetY = (ushort)y;
sbyte targetZ = (sbyte)z;
if (entity != null)
{
graphic = entity.Graphic;
targetX = entity.X;
targetY = entity.Y;
targetZ = entity.Z;
}
NetClient.Socket.Send_TargetObject
(
(uint)Math.Max(0, serial),
graphic,
targetX,
targetY,
targetZ,
(uint)targetKey,
(byte)targetType
);
});
}Виконує показані виклики та оновлення стану.
Параметри: int id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:854.
public void TargetToObject(int id)
Результат: void.
Виклики:
Invoke_world.TargetManager.TargetServerObject
Внутрішній код реалізації, не самостійний скрипт.
public void TargetToObject(int id) => Invoke(() => _world.TargetManager.TargetServerObject(unchecked((uint)id)));Виконує показані виклики та оновлення стану.
Параметри: int gumpId, string identifier, int key, string state
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3189.
public int TrySetGumpValue(int gumpId, string identifier, int key, string state)
Результат: int.
Виклики:
InvokeTrySetGumpValueUnsafeResolveGumpUnsafe
Внутрішній код реалізації, не самостійний скрипт.
public int TrySetGumpValue(int gumpId, string identifier, int key, string state)
=> Invoke(() => TrySetGumpValueUnsafe(ResolveGumpUnsafe(gumpId), identifier, key, state, true));Виконує показані виклики та оновлення стану.
Параметри: int id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2944.
public void Unignore(int id)
Результат: void.
Виклики:
State.IgnoredSerials.Remove
Внутрішній код реалізації, не самостійний скрипт.
public void Unignore(int id) => State.IgnoredSerials.Remove(id);Виконує показані виклики та оновлення стану.
Параметри: int maxWaitMs
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:933.
public int WaitForClientTargetResponse(int maxWaitMs)
Результат: int.
Умови:
_clientTargetResponsePresentDateTime.UtcNow >= deadline
Виклики:
DateTime.UtcNow.AddMillisecondsMath.MaxWaitMath.Min
Внутрішній код реалізації, не самостійний скрипт.
public int WaitForClientTargetResponse(int maxWaitMs)
{
DateTime deadline = DateTime.UtcNow.AddMilliseconds(Math.Max(0, maxWaitMs));
do
{
if (_clientTargetResponsePresent) return 1;
if (DateTime.UtcNow >= deadline) return 0;
Wait(Math.Min(25, Math.Max(1, maxWaitMs)));
} while (true);
}Виконує показані виклики та оновлення стану.
Параметри: int maxWaitMs
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:892.
public int WaitUntilTargeting(int maxWaitMs)
Результат: int.
Умови:
IsTargeting() != 0DateTime.UtcNow >= deadline
Виклики:
DateTime.UtcNow.AddMillisecondsMath.MaxIsTargetingWaitMath.Min
Внутрішній код реалізації, не самостійний скрипт.
public int WaitUntilTargeting(int maxWaitMs)
{
DateTime deadline = DateTime.UtcNow.AddMilliseconds(Math.Max(0, maxWaitMs));
do
{
if (IsTargeting() != 0) return 1;
if (DateTime.UtcNow >= deadline) return 0;
Wait(Math.Min(25, Math.Max(1, maxWaitMs)));
} while (true);
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:680.
public int WaitingMenu()
Результат: int.
Виклики:
Invoke_world.ServerMenus.Snapshot
Внутрішній код реалізації, не самостійний скрипт.
public int WaitingMenu() => Invoke(() => _world.ServerMenus.Snapshot().Length != 0 ? 1 : 0);Виконує показані виклики та оновлення стану.
Параметри: string name
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/JournalManager.cs:26.
internal static void AddYokoIgnoredUser(string name)
Результат: void.
Умови:
!string.IsNullOrWhiteSpace(name)
Виклики:
string.IsNullOrWhiteSpace_yokoIgnoredUsers.Addname.Trim
Внутрішній код реалізації, не самостійний скрипт.
internal static void AddYokoIgnoredUser(string name)
{
if (!string.IsNullOrWhiteSpace(name))
_yokoIgnoredUsers.Add(name.Trim());
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3435.
internal void CancelVendorPrices()
Результат: void.
Виклики:
.CancelPending
Внутрішній код реалізації, не самостійний скрипт.
internal void CancelVendorPrices() => _vendorPricer?.CancelPending();Виконує показані виклики та оновлення стану.
Параметри: T[] values, int index
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2915.
private static T ElementAt<T>(T[] values, int index)
Результат: T.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
private static T ElementAt<T>(T[] values, int index) where T : class =>
index >= 0 && index < values.Length ? values[index] : null;Виконує показані виклики та оновлення стану.
Параметри: int index
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2812.
internal string GetScriptPath(int index)
Результат: string.
Виклики:
ElementAtRunningScripts
Внутрішній код реалізації, не самостійний скрипт.
internal string GetScriptPath(int index) => ElementAt(RunningScripts(), index)?.FilePath ?? string.Empty;Виконує показані виклики та оновлення стану.
Параметри: string filePath
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoCompiledScripts.cs:15.
private static string ReadScriptContent(string filePath)
Результат: string.
Виклики:
IsCompiledScriptFilePathFile.ReadAllText
Внутрішній код реалізації, не самостійний скрипт.
private static string ReadScriptContent(string filePath) => IsCompiledScriptFilePath(filePath)
? "// Compiled C# artifact. Source remains unavailable until explicit Decrypt or Decompile."
: File.ReadAllText(filePath);Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3890.
public int AlwaysRun()
Результат: int.
Виклики:
bridge.AlwaysRun
Внутрішній код реалізації, не самостійний скрипт.
public int AlwaysRun() => bridge.AlwaysRun();Виконує показані виклики та оновлення стану.
Параметри: int group, int tileId
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2430.
private InjectionValue BuildTileData(int group, int tileId)
Результат: InjectionValue.
Виклики:
bridge.GetTileFlagsbridge.GetTileDataNamevalues.AddRangebridge.GetTileDataProperties(group, tileId).Selectbridge.GetTileDataPropertiesvalues.ToArray
Внутрішній код реалізації, не самостійний скрипт.
private InjectionValue BuildTileData(int group, int tileId)
{
// Preserve the old [graphic, flags] indexes and append richer data.
// Land: [graphic, flags, name, texId, wet, impassable, noDiagonal].
// Static: [graphic, flags, name, weight, layer, count, animId, hue,
// lightIndex, height, wet, impassable, surface, foliage,
// door, wall, container].
var values = new List<InjectionValue>
{
new InjectionValue(tileId),
new InjectionValue(unchecked((int)bridge.GetTileFlags(group, tileId))),
new InjectionValue(bridge.GetTileDataName(group, tileId))
};
values.AddRange(bridge.GetTileDataProperties(group, tileId).Select(value => new InjectionValue(value)));
return new InjectionValue(values.ToArray());
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue[] values
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5034.
private InjectionValue CompactGetMobiles(InjectionValue[] values)
Результат: InjectionValue.
Умови:
nearest
Виклики:
ResolveCompactDistanceResolveCompactMaxZToBooleanFilterMobilesmobiles.OrderBy(id => bridge.GetDistance(id)).ThenBymobiles.OrderBybridge.GetDistancemobiles.Select(id => new InjectionValue(id)).ToArraymobiles.Select
Внутрішній код реалізації, не самостійний скрипт.
private InjectionValue CompactGetMobiles(InjectionValue[] values)
{
int distance = values.Length > 0 ? ResolveCompactDistance(values[0]) : -1;
InjectionValue notoriety = values.Length > 1 ? values[1] : InjectionValue.MinusOne;
InjectionValue body = values.Length > 2 ? values[2] : InjectionValue.MinusOne;
int maxZ = values.Length > 3 ? ResolveCompactMaxZ(values[3]) : -1;
bool nearest = values.Length > 4 && ToBoolean(values[4]);
bool includeSelf = values.Length > 5 && ToBoolean(values[5]);
bool aliveOnly = values.Length > 6 && ToBoolean(values[6]);
bool visibleOnly = values.Length > 7 && ToBoolean(values[7]);
IEnumerable<int> mobiles = FilterMobiles(distance, notoriety, body, maxZ, -1, includeSelf,
false, aliveOnly, visibleOnly);
if (nearest)
mobiles = mobiles.OrderBy(id => bridge.GetDistance(id)).ThenBy(id => id);
return new InjectionValue(mobiles.Select(id => new InjectionValue(id)).ToArray());
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue[] values
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2270.
private int CompactNewMoveXY(InjectionValue[] values)
Результат: int.
Умови:
values == null || values.Length < 5 || values.Length > 13values.Length > 5values[5].Kind == InjectionValueKind.StringNumberConversions.ToInt(values[5]) != 0
Виклики:
NumberConversions.ToIntMath.MaxToBooleanMoveToCanonicalbridge.GetZ
Внутрішній код реалізації, не самостійний скрипт.
private int CompactNewMoveXY(InjectionValue[] values)
{
if (values == null || values.Length < 5 || values.Length > 13)
throw new NativeSubrutineException("UO.NewMoveXY expects x,y,optimized,accuracy,running[,callback[,timeout[,maxSteps[,maxDistance[,accuracyZ[,avoidMobiles[,openDoors[,stopOnStuck]]]]]]]].");
string callback = null;
if (values.Length > 5)
{
if (values[5].Kind == InjectionValueKind.String)
callback = values[5].String;
else if (NumberConversions.ToInt(values[5]) != 0)
throw new NativeSubrutineException("UO.NewMoveXY callback must be 0/nil or a procedure/function name string.");
}
int timeout = values.Length > 6 ? Math.Max(0, NumberConversions.ToInt(values[6])) : 0;
int maxSteps = values.Length > 7 ? Math.Max(0, NumberConversions.ToInt(values[7])) : 0;
int maxDistance = values.Length > 8 ? Math.Max(0, NumberConversions.ToInt(values[8])) : 0;
int accuracyZ = values.Length > 9 ? NumberConversions.ToInt(values[9]) : 255;
bool? avoidMobiles = values.Length > 10 ? ToBoolean(values[10]) : (bool?)null;
bool? openDoors = values.Length > 11 ? ToBoolean(values[11]) : (bool?)null;
bool stopOnStuck = values.Length > 12 && ToBoolean(values[12]);
return MoveToCanonical(NumberConversions.ToInt(values[0]), NumberConversions.ToInt(values[1]),
bridge.GetZ(bridge.Self), NumberConversions.ToInt(values[3]), ToBoolean(values[4]), accuracyZ,
ToBoolean(values[2]), callback, timeout, maxSteps, maxDistance, avoidMobiles, openDoors, stopOnStuck);
}Виконує показані виклики та оновлення стану.
Параметри: string skillName
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6704.
private int? ConvertSkillName(string skillName)
Результат: int?.
Умови:
skillNameToSkillId.TryGetValue(skillName, out var skillId)
Виклики:
skillNameToSkillId.TryGetValue
Внутрішній код реалізації, не самостійний скрипт.
private int? ConvertSkillName(string skillName)
{
if (skillNameToSkillId.TryGetValue(skillName, out var skillId))
return skillId;
return null;
}Перевіряє умови нижче й повертає показаний результат.
Параметри: index, fallback
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1137.
int Arg(int index, int fallback = 0)
Результат: int.
Результат: fallback; serial; NumberConversions.ToInt(arguments[index]).
Виклики: TryGetObject, NumberConversions.ToInt.
Умови: index >= arguments.Length; arguments[index].Kind == InjectionValueKind.String && TryGetObject(arguments[index], out int serial).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.TryGetObject:TryGetObject(arguments[index], out int serial). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[index]).
Внутрішній код реалізації, не самостійний скрипт.
int Arg(int index, int fallback = 0)
{
if (index >= arguments.Length) return fallback;
if (arguments[index].Kind == InjectionValueKind.String && TryGetObject(arguments[index], out int serial))
return serial;
return NumberConversions.ToInt(arguments[index]);
}Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1292.
Результат: new InjectionValue(bridge.Backpack).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Backpack:bridge.Backpack.
Внутрішній код реалізації, не самостійний скрипт.
case "backpack": return new InjectionValue(bridge.Backpack);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1508.
Результат: new InjectionValue(bridge.CharacterTitle).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CharacterTitle:bridge.CharacterTitle.
Внутрішній код реалізації, не самостійний скрипт.
case "chartitle": return new InjectionValue(bridge.CharacterTitle);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1312.
Результат: new InjectionValue(bridge.CurrentProfilePath).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CurrentProfilePath:bridge.CurrentProfilePath.
Внутрішній код реалізації, не самостійний скрипт.
case "shardpath":
case "clientprofilepath": return new InjectionValue(bridge.CurrentProfilePath);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1307.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DisconnectClient:bridge.DisconnectClient().
Внутрішній код реалізації, не самостійний скрипт.
case "disconnect": bridge.DisconnectClient(); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1618.
Результат: new InjectionValue(MoveItemChecked(Arg(0), Arg(1), 0, Arg(2), Arg(3), Arg(4)) ? 1 : 0).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.MoveItemChecked:MoveItemChecked(Arg(0), Arg(1), 0, Arg(2), Arg(3), Arg(4)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(4).
Внутрішній код реалізації, не самостійний скрипт.
case "drop": return new InjectionValue(MoveItemChecked(Arg(0), Arg(1), 0, Arg(2), Arg(3), Arg(4)) ? 1 : 0);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1815.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TextClear:bridge.TextClear(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TextPrint:bridge.TextPrint(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TextOpen:bridge.TextOpen().
Внутрішній код реалізації, не самостійний скрипт.
case "fillnewwindow": bridge.TextClear(); bridge.TextPrint(Text(0)); bridge.TextOpen(); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1395.
Результат: new InjectionValue(Array.Empty<InjectionValue>()); new InjectionValue(items.Select(serial => new InjectionValue(serial)).ToArray()).
Умови: selection.Kind == InjectionValueKind.String; selection.Kind != InjectionValueKind.Integer && selection.Kind != InjectionValueKind.Decimal; container < 0 || container == 0 && !ground && !explicitZero.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0). -
InjectionScript.Runtime.NumberConversions.TryStr2Int:NumberConversions.TryStr2Int(text, out int literal). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(text). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetEquipment:bridge.GetEquipment(container). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetContent:bridge.GetContent(container). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Backpack:bridge.Backpack.
Внутрішній код реалізації, не самостійний скрипт.
case "getcontent":
case "getequipment":
{
InjectionValue selection = arguments[0];
bool ground = false, explicitZero;
int container;
if (selection.Kind == InjectionValueKind.String)
{
string text = Text(0).Trim();
ground = text.Equals("ground", StringComparison.OrdinalIgnoreCase);
explicitZero = NumberConversions.TryStr2Int(text, out int literal) && literal == 0;
container = ground ? 0 : text.Equals("my", StringComparison.OrdinalIgnoreCase)
? bridge.Backpack : GetObject(text);
}
else
{
if (selection.Kind != InjectionValueKind.Integer && selection.Kind != InjectionValueKind.Decimal)
return new InjectionValue(Array.Empty<InjectionValue>());
container = Arg(0);
explicitZero = selection.Kind == InjectionValueKind.Integer ? selection.Integer == 0 : selection.Decimal == 0d;
}
// Only an explicit ground/zero selector may query world items.
if (container < 0 || container == 0 && !ground && !explicitZero)
return new InjectionValue(Array.Empty<InjectionValue>());
bool equipment = name.Equals("GetEquipment", StringComparison.OrdinalIgnoreCase);
int[] items = equipment
? container == 0 ? Array.Empty<int>() : bridge.GetEquipment(container)
: bridge.GetContent(container);
return new InjectionValue(items.Select(serial => new InjectionValue(serial)).ToArray());
}Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2021.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(1).
Внутрішній код реалізації, не самостійний скрипт.
case "getglobal":
return new InjectionValue(globals.GetGlobal(Text(0) + "\u001F" + Text(1)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1864.
new []
Результат: [].
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetName:bridge.GetName(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetX:bridge.GetX(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetY:bridge.GetY(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetHP:bridge.GetHP(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMaxHP:bridge.GetMaxHP(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetNotoriety:bridge.GetNotoriety(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDir:bridge.GetDir(id).
Внутрішній код реалізації, не самостійний скрипт.
case "getmobile":
{
int id = Arg(0);
return new InjectionValue(new[]
{
new InjectionValue(id), new InjectionValue(bridge.GetName(id)), new InjectionValue(bridge.GetX(id)),
new InjectionValue(bridge.GetY(id)), new InjectionValue(bridge.GetZ(id)), new InjectionValue(bridge.GetHP(id)),
new InjectionValue(bridge.GetMaxHP(id)), new InjectionValue(bridge.GetNotoriety(id)), new InjectionValue(bridge.GetDir(id))
});
}Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1877.
Результат: new InjectionValue((part ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray())).ToArray()).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMultiAllParts:bridge.GetMultiAllParts(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "getmultiallparts":
return new InjectionValue((bridge.GetMultiAllParts(Arg(0)) ?? Array.Empty<int[]>())
.Select(part => new InjectionValue((part ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray())).ToArray());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1880.
Результат: new InjectionValue((part ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray())).ToArray()).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMultiPartsAtPosition:bridge.GetMultiPartsAtPosition(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
Внутрішній код реалізації, не самостійний скрипт.
case "getmultipartsatposition":
return new InjectionValue((bridge.GetMultiPartsAtPosition(Arg(0), Arg(1)) ?? Array.Empty<int[]>())
.Select(part => new InjectionValue((part ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray())).ToArray());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1518.
Результат: new InjectionValue(bridge.GetPauseScriptOnDisconnectStatus()).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetPauseScriptOnDisconnectStatus:bridge.GetPauseScriptOnDisconnectStatus().
Внутрішній код реалізації, не самостійний скрипт.
case "getpausescriptondisconnectstatus": return new InjectionValue(bridge.GetPauseScriptOnDisconnectStatus());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1850.
Результат: BuildTileData(1, Arg(0)).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.BuildTileData:BuildTileData(1, Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "getstatictiledata":
return BuildTileData(1, Arg(0));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1858.
Результат: FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), ArrayArg(5), true).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.FindPortableTiles:FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), ArrayArg(5), true). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(4). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::ArrayArg:ArrayArg(5).
Внутрішній код реалізації, не самостійний скрипт.
case "getstatictilesarrayex":
return FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), ArrayArg(5), true);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1515.
Результат: new InjectionValue(bridge.GetTradeContainer(Arg(0), Arg(1))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTradeContainer:bridge.GetTradeContainer(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
Внутрішній код реалізації, не самостійний скрипт.
case "gettradecontainer": return new InjectionValue(bridge.GetTradeContainer(Arg(0), Arg(1)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1517.
Результат: new InjectionValue(bridge.GetTradeOpponentName(Arg(0))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTradeOpponentName:bridge.GetTradeOpponentName(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "gettradeopponentname": return new InjectionValue(bridge.GetTradeOpponentName(Arg(0)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1562.
Результат: new InjectionValue(bridge.GetX(Arg(0, bridge.Self))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetX:bridge.GetX(Arg(0, bridge.Self)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0, bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
case "getx": return new InjectionValue(bridge.GetX(Arg(0, bridge.Self)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1916.
Результат: StringArray(bridge.GlobalChatChannels()).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.StringArray:StringArray(bridge.GlobalChatChannels()). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GlobalChatChannels:bridge.GlobalChatChannels().
Внутрішній код реалізації, не самостійний скрипт.
case "globalchatchannelslist": return StringArray(bridge.GlobalChatChannels());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1948.
Результат: new InjectionValue(httpBody).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.HttpRequest:bridge.HttpRequest("POST", Text(0), Text(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(1).
Внутрішній код реалізації, не самостійний скрипт.
case "http_post":
{
string[] response = bridge.HttpRequest("POST", Text(0), Text(1));
httpBody = response.Length > 0 ? response[0] : string.Empty;
httpHeader = response.Length > 1 ? response[1] : string.Empty;
return new InjectionValue(httpBody);
}Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1439.
Результат: new InjectionValue(spellId.HasValue ? bridge.IsActiveSpell(spellId.Value) : 0).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ConvertSpellName:ConvertSpellName(Text(0).Replace('_', ' ')). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsActiveSpell:bridge.IsActiveSpell(spellId.Value).
Внутрішній код реалізації, не самостійний скрипт.
case "isactivespellability":
{
int? spellId = arguments[0].Kind == InjectionValueKind.String
? ConvertSpellName(Text(0).Replace('_', ' '))
: (int?)Arg(0);
return new InjectionValue(spellId.HasValue ? bridge.IsActiveSpell(spellId.Value) : 0);
}Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1361.
Результат: new InjectionValue(arguments.Length > 0 ? bridge.IsDead(Arg(0)) : bridge.Dead()).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsDead:bridge.IsDead(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Dead:bridge.Dead().
Внутрішній код реалізації, не самостійний скрипт.
case "isdead": return new InjectionValue(arguments.Length > 0 ? bridge.IsDead(Arg(0)) : bridge.Dead());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1468.
new []
Результат: [].
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(5). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CheckWorldStep:bridge.CheckWorldStep(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), Arg(6)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(4). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(6).
Внутрішній код реалізації, не самостійний скрипт.
case "isworldcellpassable":
{
int destinationZFallback = Arg(5);
int[] step = bridge.CheckWorldStep(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), Arg(6));
int passable = step.Length > 0 ? step[0] : 0;
int destinationZ = step.Length > 1 ? step[1] : destinationZFallback;
return new InjectionValue(new[] { new InjectionValue(passable), new InjectionValue(destinationZ) });
}Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1489.
Результат: new InjectionValue(bridge.GetHP(bridge.Self)).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetHP:bridge.GetHP(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
case "life": return new InjectionValue(bridge.GetHP(bridge.Self));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2042.
Результат: new InjectionValue(selectedJournalEntry?.MessageType ?? 0).
Внутрішній код реалізації, не самостійний скрипт.
case "linemsgtype": return new InjectionValue(selectedJournalEntry?.MessageType ?? 0);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2037.
Результат: new InjectionValue(bridge.JournalEntryCount() == 0 ? -1 : 0).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalEntryCount:bridge.JournalEntryCount().
Внутрішній код реалізації, не самостійний скрипт.
case "lowjournal": return new InjectionValue(bridge.JournalEntryCount() == 0 ? -1 : 0);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1499.
Результат: new InjectionValue(bridge.PoisonResistance).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PoisonResistance:bridge.PoisonResistance.
Внутрішній код реалізації, не самостійний скрипт.
case "poisonresist": return new InjectionValue(bridge.PoisonResistance);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1556.
Результат: new InjectionValue(bridge.ShardName).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ShardName:bridge.ShardName.
Внутрішній код реалізації, не самостійний скрипт.
case "shardname":
case "profileshardname": return new InjectionValue(bridge.ShardName);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1554.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestVirtuesGump:bridge.RequestVirtuesGump().
Внутрішній код реалізації, не самостійний скрипт.
case "reqvirtuesgump": bridge.RequestVirtuesGump(); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1293.
Результат: new InjectionValue(bridge.Self).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
case "self": return new InjectionValue(bridge.Self);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1584.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetStatLockState:bridge.SetStatLockState(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
Внутрішній код реалізації, не самостійний скрипт.
case "setstatlockstate":
case "setstatstate": bridge.SetStatLockState(Arg(0), Arg(1)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1348.
Результат: InjectionValue.Unit.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ClampMoveTimer:ClampMoveTimer(Arg(0), 200). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetMovementTimers:bridge.SetMovementTimers(state.RunMountTimer, state.RunUnmountTimer, state.WalkMountTimer, state.WalkUnmountTimer).
Внутрішній код реалізації, не самостійний скрипт.
case "setwalkmounttimer":
state.WalkMountTimer = ClampMoveTimer(Arg(0), 200);
bridge.SetMovementTimers(state.RunMountTimer, state.RunUnmountTimer, state.WalkMountTimer, state.WalkUnmountTimer);
return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1506.
Результат: new InjectionValue(bridge.Sex).
Виклики:
Внутрішній код реалізації, не самостійний скрипт.
case "sex": return new InjectionValue(bridge.Sex);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1581.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetSkillLockState:bridge.SetSkillLockState(Text(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
Внутрішній код реалізації, не самостійний скрипт.
case "setskilllockstate":
case "skilllockstate": bridge.SetSkillLockState(Text(0), Arg(1)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1649.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TargetToObject:bridge.TargetToObject(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "targettoobject": bridge.TargetToObject(Arg(0)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1626.
Результат: new InjectionValue(bridge.Equip(Arg(0), Arg(1))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Equip:bridge.Equip(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
Внутрішній код реалізації, не самостійний скрипт.
case "wearitem": return new InjectionValue(bridge.Equip(Arg(0), Arg(1)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3011.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AllPrice:bridge.AllPrice(arguments.Length > 0 ? NumberConversions.ToInt(arguments[0]) : -1, arguments.Length > 1 ? ResolveType(arguments[1]) : 0). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[0]). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[1]).
Внутрішній код реалізації, не самостійний скрипт.
case "allprice":
bridge.AllPrice(arguments.Length > 0 ? NumberConversions.ToInt(arguments[0]) : -1,
arguments.Length > 1 ? ResolveType(arguments[1]) : 0);
break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2894.
Результат: new InjectionValue(MoveItem(arguments[0], arguments.Length > 1 ? arguments[1] : InjectionValue.Zero, arguments.Length > 2 ? arguments[2] : new InjectionValue("ground"))); InjectionValue.False.
Умови: arguments.Length > 0.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.MoveItem:MoveItem(arguments[0], arguments.Length > 1 ? arguments[1] : InjectionValue.Zero, arguments.Length > 2 ? arguments[2] : new InjectionValue("ground")).
Внутрішній код реалізації, не самостійний скрипт.
case "drop":
if (arguments.Length > 0)
return new InjectionValue(MoveItem(arguments[0], arguments.Length > 1 ? arguments[1] : InjectionValue.Zero, arguments.Length > 2 ? arguments[2] : new InjectionValue("ground")));
return InjectionValue.False;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2901.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoSellRule:bridge.SetAutoSellRule(Arg(0), arguments.Length > 1 ? Arg(1) : -1, arguments.Length > 2 ? Arg(2) : 1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(2).
Внутрішній код реалізації, не самостійний скрипт.
case "sell":
bridge.SetAutoSellRule(Arg(0), arguments.Length > 1 ? Arg(1) : -1, arguments.Length > 2 ? Arg(2) : 1);
break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3036.
Умови: !TryDeserializeRecordedLegacyAction(state.RecordedAction, out string recordedName, out InjectionValue[] recordedArguments); bridge != null.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.TryDeserializeRecordedLegacyAction:TryDeserializeRecordedLegacyAction(state.RecordedAction, out string recordedName, out InjectionValue[] recordedArguments). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage("UseRec: no recorded UO action is available. Call UO.SetRec() before the action to record."). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias:ExecuteLegacyManualAlias(recordedName, recordedArguments).
Внутрішній код реалізації, не самостійний скрипт.
case "userec":
if (!TryDeserializeRecordedLegacyAction(state.RecordedAction, out string recordedName, out InjectionValue[] recordedArguments))
{
if (bridge != null) SystemMessage("UseRec: no recorded UO action is available. Call UO.SetRec() before the action to record.");
break;
}
replayingLegacyAction = true;
try
{
ExecuteLegacyManualAlias(recordedName, recordedArguments);
}
finally
{
replayingLegacyAction = false;
}
break;Виконує показані виклики та оновлення стану.
Параметри: InjectionValue stateFilter, InjectionValue rangeFilter, InjectionValue verticalFilter
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3779.
public int FindMobile(InjectionValue stateFilter, InjectionValue rangeFilter, InjectionValue verticalFilter)
Результат: int.
Виклики:
FindMobile
Внутрішній код реалізації, не самостійний скрипт.
public int FindMobile(InjectionValue stateFilter, InjectionValue rangeFilter, InjectionValue verticalFilter) =>
FindMobile(stateFilter, rangeFilter, verticalFilter, new InjectionValue("all"));Виконує показані виклики та оновлення стану.
Параметри: int index
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3415.
public InjectionValue GListPosValue(int index)
Результат: InjectionValue.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
public InjectionValue GListPosValue(int index) => index >= 0 && index < globalList.Count ? globalList[index].Value : InjectionValue.Zero;Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3736.
public string GetColor()
Результат: string.
Виклики:
GetColor
Внутрішній код реалізації, не самостійний скрипт.
public string GetColor() => GetColor(new InjectionValue(bridge.Self));Виконує показані виклики та оновлення стану.
Параметри: string id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3689.
public int GetDistance(string id)
Результат: int.
Виклики:
GetDistanceGetObject
Внутрішній код реалізації, не самостійний скрипт.
public int GetDistance(string id) => GetDistance(GetObject(id));Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3356.
public int GetGumpCount()
Результат: int.
Виклики:
bridge.GetGumpCount
Внутрішній код реалізації, не самостійний скрипт.
public int GetGumpCount() => bridge.GetGumpCount();Виконує показані виклики та оновлення стану.
Параметри: InjectionValue x, InjectionValue y, InjectionValue map
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6309.
public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y, InjectionValue map)
Результат: InjectionValue.
Виклики:
NumberConversions.ToIntbridge.GetLandscapeTileArray.Empty<int>BuildWorldTileRecordArray.Empty<InjectionValue>
Внутрішній код реалізації, не самостійний скрипт.
public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y, InjectionValue map)
{
int cellX = NumberConversions.ToInt(x);
int cellY = NumberConversions.ToInt(y);
int world = NumberConversions.ToInt(map);
int[] land = bridge.GetLandscapeTile(cellX, cellY, world) ?? Array.Empty<int>();
return land.Length >= 2
? BuildWorldTileRecord("land", 0, land[0], cellX, cellY, land[1], 0, 0)
: new InjectionValue(Array.Empty<InjectionValue>());
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6395.
public InjectionValue GetUserStatics()
Результат: InjectionValue.
Виклики:
-
`state.UserStatics.OrderBy(pair => pair.Key)
.Select(pair => new InjectionValue(new[] { new InjectionValue(pair.Key), new InjectionValue(pair.Value) })) .ToArray` -
`state.UserStatics.OrderBy(pair => pair.Key)
.Select` -
state.UserStatics.OrderBy
Внутрішній код реалізації, не самостійний скрипт.
public InjectionValue GetUserStatics()
=> new InjectionValue(state.UserStatics.OrderBy(pair => pair.Key)
.Select(pair => new InjectionValue(new[] { new InjectionValue(pair.Key), new InjectionValue(pair.Value) }))
.ToArray());Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6013.
public InjectionValue GetWeaponAbilities()
Результат: InjectionValue.
Виклики:
(bridge.GetWeaponAbilities() ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray(bridge.GetWeaponAbilities() ?? Array.Empty<int>()).Selectbridge.GetWeaponAbilitiesArray.Empty<int>
Внутрішній код реалізації, не самостійний скрипт.
public InjectionValue GetWeaponAbilities() => new InjectionValue(
(bridge.GetWeaponAbilities() ?? Array.Empty<int>()).Select(value => new InjectionValue(value)).ToArray());Виконує показані виклики та оновлення стану.
Параметри: InjectionValue id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3899.
public int GetYellowBar(InjectionValue id)
Результат: int.
Виклики:
bridge.GetYellowBarGetObject
Внутрішній код реалізації, не самостійний скрипт.
public int GetYellowBar(InjectionValue id) => bridge.GetYellowBar(GetObject(id));Виконує показані виклики та оновлення стану.
Параметри: InjectionValue value
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3904.
public int Hex2Int(InjectionValue value)
Результат: int.
Виклики:
NumberConversions.ToInt
Внутрішній код реалізації, не самостійний скрипт.
public int Hex2Int(InjectionValue value) => NumberConversions.ToInt(value);Виконує показані виклики та оновлення стану.
Параметри: InjectionValue gump
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3324.
public string InfoGump(InjectionValue gump)
Результат: string.
Виклики:
gump.String.Trimselector.EqualsNumberConversions.ToIntbridge.GetGumpInspectorTextbridge.ShowGumpInspector
Внутрішній код реалізації, не самостійний скрипт.
public string InfoGump(InjectionValue gump)
{
string selector = gump.Kind == InjectionValueKind.String ? gump.String.Trim() : string.Empty;
int id = selector.Equals("last", StringComparison.OrdinalIgnoreCase)
|| selector.Equals("lastgump", StringComparison.OrdinalIgnoreCase)
|| selector.Equals("last gump", StringComparison.OrdinalIgnoreCase)
? -1 : NumberConversions.ToInt(gump);
string document = bridge.GetGumpInspectorText(id);
bridge.ShowGumpInspector(id);
return document;
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3913.
public int LastTargetX()
Результат: int.
Виклики:
bridge.GetX
Внутрішній код реалізації, не самостійний скрипт.
public int LastTargetX() => bridge is ITargetSnapshotBridge snapshot ? snapshot.LastTargetX : bridge.GetX(bridge.LastTarget);Виконує показані виклики та оновлення стану.
Параметри: InjectionValue index
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4446.
public int LastTile(InjectionValue index)
Результат: int.
Умови:
i < 0 || i > 3
Виклики:
NumberConversions.ToIntNormalizeLastTile.LastTile
Внутрішній код реалізації, не самостійний скрипт.
public int LastTile(InjectionValue index)
{
var i = NumberConversions.ToInt(index);
if (i < 0 || i > 3)
return 0;
return NormalizeLastTile(bridge?.LastTile())[i];
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3887.
public int Poisoned()
Результат: int.
Виклики:
bridge.Poisoned
Внутрішній код реалізації, не самостійний скрипт.
public int Poisoned() => bridge.Poisoned(bridge.Self);Виконує показані виклики та оновлення стану.
Параметри: int key, int count, int delay
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5393.
public void Press(int key, int count, int delay)
Результат: void.
Виклики:
KeyPress
Внутрішній код реалізації, не самостійний скрипт.
public void Press(int key, int count, int delay) => KeyPress(key, count, delay);Виконує показані виклики та оновлення стану.
Параметри: int max
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6058.
public int Random(int max)
Результат: int.
Виклики:
random.Next
Внутрішній код реалізації, не самостійний скрипт.
public int Random(int max)
{
lock (randomSync) return random.Next(max);
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4022.
private InjectionValue ReadGoldValue()
Результат: InjectionValue.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
private InjectionValue ReadGoldValue()
{
// The existing bridge carries all 32 unsigned status-counter bits in
// an Int32. Keep small results Integer; Double exactly represents
// every UInt32 and avoids returning a negative large gold amount.
uint amount = unchecked((uint)bridge.Gold);
return amount <= int.MaxValue ? new InjectionValue((int)amount)
: new InjectionValue((double)amount);
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue reply
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6458.
public void SendShopReply(InjectionValue reply)
Результат: void.
Виклики:
bridge.SendShopReplyreply.ToString
Внутрішній код реалізації, не самостійний скрипт.
public void SendShopReply(InjectionValue reply) => bridge.SendShopReply(reply.ToString());Виконує показані виклики та оновлення стану.
Параметри: string name, string valueStr
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3671.
public void Set(string name, string valueStr)
Результат: void.
Виклики:
NumberConversions.TryStr2IntSet
Внутрішній код реалізації, не самостійний скрипт.
public void Set(string name, string valueStr)
{
int valueInt = NumberConversions.TryStr2Int(valueStr, out var value) ? value : 0;
Set(name, valueInt);
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue number, InjectionValue value
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3909.
public void SetEasyUO(InjectionValue number, InjectionValue value)
Результат: void.
Виклики:
bridge.SetEasyUONumberConversions.ToIntvalue.ToString
Внутрішній код реалізації, не самостійний скрипт.
public void SetEasyUO(InjectionValue number, InjectionValue value)
=> bridge.SetEasyUO(NumberConversions.ToInt(number), value.ToString());Виконує показані виклики та оновлення стану.
Параметри: InjectionValue gumpId, InjectionValue identifier, InjectionValue key, InjectionValue stateValue
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3370.
public void SetGump(InjectionValue gumpId, InjectionValue identifier, InjectionValue key, InjectionValue stateValue)
Результат: void.
Виклики:
bridge.SetGumpValueNumberConversions.ToIntidentifier.ToStringstateValue.ToString
Внутрішній код реалізації, не самостійний скрипт.
public void SetGump(InjectionValue gumpId, InjectionValue identifier, InjectionValue key, InjectionValue stateValue)
=> bridge.SetGumpValue(NumberConversions.ToInt(gumpId), identifier.ToString(), NumberConversions.ToInt(key), stateValue.ToString());Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6051.
public int Time()
Результат: int.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
public int Time()
{
var now = timeSource.Now;
return now.Hour * 10000 + now.Minute * 100 + now.Second;
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue windowIndex
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3421.
public string TradeName(InjectionValue windowIndex)
Результат: string.
Виклики:
bridge.TradeNameNumberConversions.ToInt
Внутрішній код реалізації, не самостійний скрипт.
public string TradeName(InjectionValue windowIndex) => bridge.TradeName(NumberConversions.ToInt(windowIndex));Виконує показані виклики та оновлення стану.
Параметри: string field, out InjectionValue value
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2812.
private static bool TryDeserializeRecordedValue(string field, out InjectionValue value)
Результат: bool.
Умови:
field == null || field.Length < 2 || field[1] != ':'!int.TryParse(payload, NumberStyles.Integer, CultureInfo.InvariantCulture, out int integer)!double.TryParse(payload, NumberStyles.Float, CultureInfo.InvariantCulture, out double number)decoded.Length == 0
Виклики:
field.Substringint.TryParsedouble.TryParseDecodeRecordingTextArray.Empty<InjectionValue>decoded.SplitTryDeserializeRecordedValue
Внутрішній код реалізації, не самостійний скрипт.
private static bool TryDeserializeRecordedValue(string field, out InjectionValue value)
{
value = InjectionValue.Unit;
if (field == null || field.Length < 2 || field[1] != ':') return false;
string payload = field.Substring(2);
switch (field[0])
{
case 'I':
if (!int.TryParse(payload, NumberStyles.Integer, CultureInfo.InvariantCulture, out int integer)) return false;
value = new InjectionValue(integer);
return true;
case 'D':
if (!double.TryParse(payload, NumberStyles.Float, CultureInfo.InvariantCulture, out double number)) return false;
value = new InjectionValue(number);
return true;
case 'S':
value = new InjectionValue(DecodeRecordingText(payload));
return true;
case 'A':
string decoded = DecodeRecordingText(payload);
if (decoded.Length == 0)
{
value = new InjectionValue(Array.Empty<InjectionValue>());
return true;
}
string[] nestedFields = decoded.Split(new[] { '\n' }, StringSplitOptions.None);
var nested = new InjectionValue[nestedFields.Length];
for (int index = 0; index < nestedFields.Length; index++)
if (!TryDeserializeRecordedValue(nestedFields[index], out nested[index])) return false;
value = new InjectionValue(nested);
return true;
case 'U':
value = InjectionValue.Unit;
return true;
default:
return false;
}
}Виконує показані виклики та оновлення стану.
Параметри: string layer
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5834.
public int Unequip(string layer)
Результат: int.
Виклики:
bridge.UnequipConvertLayer
Внутрішній код реалізації, не самостійний скрипт.
public int Unequip(string layer) => bridge.Unequip(ConvertLayer(layer));Перевіряє умови нижче й повертає показаний результат.
Параметри: id, originalQuantity, expectedMoved, targetContainer, hasCoordinates, x, y, z, timeoutMs
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4531.
`private bool WaitForMoveConfirmation(int id, int originalQuantity, int expectedMoved,
int targetContainer, bool hasCoordinates, int x, int y, int z, int timeoutMs)`
Результат: bool.
Результат: true; false.
Виклики: DateTime.UtcNow.AddMilliseconds, Math.Max, bridge.GetQuantity, bridge.Exists, bridge.ContainerOf, bridge.GetX, bridge.GetY, bridge.GetZ.
Умови: known && !fullStack && currentQuantity <= Math.Max(0, originalQuantity - expectedMoved); known && fullStack; containerMatches; !hasCoordinates || targetContainer != 0.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetQuantity:bridge.GetQuantity(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Exists:bridge.Exists(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ContainerOf:bridge.ContainerOf(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetX:bridge.GetX(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetY:bridge.GetY(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Wait:bridge.Wait(10).
Внутрішній код реалізації, не самостійний скрипт.
private bool WaitForMoveConfirmation(int id, int originalQuantity, int expectedMoved,
int targetContainer, bool hasCoordinates, int x, int y, int z, int timeoutMs)
{
DateTime deadline = DateTime.UtcNow.AddMilliseconds(Math.Max(0, timeoutMs));
do
{
int currentQuantity = bridge.GetQuantity(id);
bool known = bridge.Exists(id) != 0;
bool fullStack = originalQuantity <= 0 || expectedMoved <= 0 || expectedMoved >= originalQuantity;
if (known && !fullStack && currentQuantity <= Math.Max(0, originalQuantity - expectedMoved))
return true;
if (known && fullStack)
{
int currentContainer = bridge.ContainerOf(id);
bool containerMatches = targetContainer == 0
? currentContainer == 0 || currentContainer == -1
: currentContainer == targetContainer;
if (containerMatches)
{
if (!hasCoordinates || targetContainer != 0)
return true;
if (bridge.GetX(id) == x && bridge.GetY(id) == y && bridge.GetZ(id) == z)
return true;
}
}
if (DateTime.UtcNow >= deadline)
break;
bridge.Wait(10);
}
while (true);
return false;
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue[] arguments, bool systemOnly
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2538.
private InjectionValue WaitJournalLine(InjectionValue[] arguments, bool systemOnly)
Результат: InjectionValue.
Умови:
result > 0timeout > 0 && timeSource.Now >= deadline
Виклики:
arguments[1].ToStringMath.MaxNumberConversions.ToIntGetJournalStartAgetimeSource.Now.AddMillisecondsMath.Minbridge.InJournalSystemBetweenTimesbridge.InJournalBetweenTimesSelectJournalSearchResultbridge.Wait
Внутрішній код реалізації, не самостійний скрипт.
private InjectionValue WaitJournalLine(InjectionValue[] arguments, bool systemOnly)
{
string pattern = arguments.Length > 1 ? arguments[1].ToString() : string.Empty;
int timeout = arguments.Length > 2 ? Math.Max(0, NumberConversions.ToInt(arguments[2])) : 0;
int startAge = GetJournalStartAge(arguments.Length > 0 ? arguments[0] : InjectionValue.Zero);
DateTime startedAt = timeSource.Now;
DateTime deadline = timeSource.Now.AddMilliseconds(timeout);
do
{
int currentStartAge = (int)Math.Min(int.MaxValue,
startAge + Math.Max(0d, (timeSource.Now - startedAt).TotalMilliseconds));
int result = systemOnly
? bridge.InJournalSystemBetweenTimes(pattern, currentStartAge, 0, -1)
: bridge.InJournalBetweenTimes(pattern, currentStartAge, 0, -1);
SelectJournalSearchResult(result, pattern, ignoreCase: true);
if (result > 0)
{
return InjectionValue.True;
}
if (timeout > 0 && timeSource.Now >= deadline)
{
return InjectionValue.False;
}
bridge.Wait(25);
}
while (true);
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue type, InjectionValue x, InjectionValue y, InjectionValue z
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4323.
public void WaitTargetTile(InjectionValue type, InjectionValue x, InjectionValue y, InjectionValue z)
Результат: void.
Виклики:
bridge.WaitTargetTileResolveTypeNumberConversions.ToIntTimer
Внутрішній код реалізації, не самостійний скрипт.
public void WaitTargetTile(InjectionValue type, InjectionValue x, InjectionValue y, InjectionValue z)
{
bridge.WaitTargetTile(ResolveType(type), NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(z));
ticksTarget = Timer();
}Виконує показані виклики та оновлення стану.
Параметри: int startTime, int maxDelay, string text, int equals, int ignoreCase, InjectionValue skillNameOrObjectId
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5541.
public void WaitingForJournalText(int startTime, int maxDelay, string text, int equals, int ignoreCase, InjectionValue skillNameOrObjectId)
Результат: void.
Умови:
lineTime < 0 || lineTime < startTimematchId >= 0timeSource.Now >= deadline
Виклики:
Math.MaxtimeSource.Now.AddMillisecondsSelectJournalEntryTriggerWaitActionbridge.JournalEntryCountReadJournalSnapshotJournalEntryTimeFindJournalPatternIdbridge.WaitMath.Min
Внутрішній код реалізації, не самостійний скрипт.
public void WaitingForJournalText(int startTime, int maxDelay, string text, int equals, int ignoreCase, InjectionValue skillNameOrObjectId)
{
int timeout = Math.Max(0, maxDelay);
bool exactMatch = equals != 0;
bool caseInsensitive = ignoreCase != 0;
string pattern = text ?? string.Empty;
DateTime deadline = timeSource.Now.AddMilliseconds(timeout);
SelectJournalEntry(null);
TriggerWaitAction(skillNameOrObjectId);
do
{
int journalCount = Math.Max(0, bridge.JournalEntryCount());
for (int index = 0; index < journalCount; index++)
{
JournalEntrySnapshot entry = ReadJournalSnapshot(index);
int lineTime = entry == null ? -1 : JournalEntryTime(entry.Timestamp);
if (lineTime < 0 || lineTime < startTime)
continue;
string journalText = entry.Text;
int matchId = FindJournalPatternId(journalText, pattern, exactMatch, caseInsensitive);
if (matchId >= 0)
{
SelectJournalEntry(entry);
foundedTextId = matchId;
return;
}
}
if (timeSource.Now >= deadline)
break;
bridge.Wait(Math.Min(25, Math.Max(1, timeout)));
}
while (true);
}Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1059.
serial
Результат: serial.
Результат: serial > 0 && bridge.Exists(serial) != 0 && IsDeadState(serial) == 0 ? 1 : 0.
Виклики: bridge.Exists, IsDeadState.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Exists:bridge.Exists(serial). -
InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases::IsDeadState:IsDeadState(serial).
Внутрішній код реалізації, не самостійний скрипт.
serial => serial > 0 && bridge.Exists(serial) != 0 && IsDeadState(serial) == 0 ? 1 : 0Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1032.
Результат: bridge.Dexterity.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Dexterity:bridge.Dexterity.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.DexterityВиклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1047.
Результат: bridge.Luck.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Luck:bridge.Luck.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.LuckВиклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4658.
values
Результат: values.
Результат: CompactGetWorldItems(values).
Виклики: CompactGetWorldItems.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.CompactGetWorldItems:CompactGetWorldItems(values).
Внутрішній код реалізації, не самостійний скрипт.
values => CompactGetWorldItems(values)Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:535.
values
Результат: values.
Результат: new InjectionValue(CompactGrab(values)).
Виклики: CompactGrab.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.CompactGrab:CompactGrab(values).
Внутрішній код реалізації, не самостійний скрипт.
values => new InjectionValue(CompactGrab(values))Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1063.
serial
Результат: serial.
Результат: bridge.GetLocked(serial).
Виклики: bridge.GetLocked.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLocked:bridge.GetLocked(serial).
Внутрішній код реалізації, не самостійний скрипт.
serial => bridge.GetLocked(serial)Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1063.
serial
Результат: serial.
Результат: bridge.GetLocked(serial).
Виклики: bridge.GetLocked.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLocked:bridge.GetLocked(serial).
Внутрішній код реалізації, не самостійний скрипт.
serial => bridge.GetLocked(serial)Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.
value
Результат: value.
Результат: getter(GetObject(value)).
Виклики: getter, GetObject.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value).
Внутрішній код реалізації, не самостійний скрипт.
value => getter(GetObject(value))Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.
value
Результат: value.
Результат: getter(GetObject(value)).
Виклики: getter, GetObject.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value).
Внутрішній код реалізації, не самостійний скрипт.
value => getter(GetObject(value))Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.
Результат: getter(bridge.Self).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
() => getter(bridge.Self)Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/NativeMountController.cs:18.
internal void Clear()
Результат: void.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
internal void Clear()
{
_pendingPlayer = null;
_pendingLayer = 0;
_pendingUntil = 0;
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/Globals.cs:114.
public Dictionary<string, string> Snapshot()
Результат: Dictionary<string, string>.
Умови:
filePath == null
Виклики:
WithLock
Внутрішній код реалізації, не самостійний скрипт.
public Dictionary<string, string> Snapshot()
{
if (filePath == null) { lock (memoryLock) return new Dictionary<string, string>(memory, StringComparer.Ordinal); }
return WithLock(Read);
}