Runtime Helpers 6 - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Внутрішній код реалізації, не самостійний скрипт.
Виконує показані виклики та оновлення стану.
Параметри: Listener listener
Джерело: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:239.
private void Remove(Listener listener)
Результат: void.
Умови:
listener.Closed
Виклики:
listeners.Removelistener.Source.Dispose
Внутрішній код реалізації, не самостійний скрипт.
private void Remove(Listener listener)
{
lock (sync) { if (listener.Closed) return; listener.Closed = true; listeners.Remove(listener); }
listener.Source.Dispose();
}Виконує показані виклики та оновлення стану.
Параметри: string name
Джерело: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:386.
private void RemoveState(string name)
Результат: void.
Виклики:
stateEvents.Remove.Dispose
Внутрішній код реалізації, не самостійний скрипт.
private void RemoveState(string name)
{
StateEvent? state;
lock (sync) { stateEvents.Remove(name, out state); }
state?.Subscription?.Dispose();
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.CSharp/CSharpScriptEngine.cs:576.
internal static void VerifyActive()
Результат: void.
Умови:
CurrentFinalization.Value?.IsActive == true
Виклики:
.Verify
Внутрішній код реалізації, не самостійний скрипт.
internal static void VerifyActive()
{
Current.Value?.Verify();
if (CurrentFinalization.Value?.IsActive == true)
throw new InvalidOperationException("Game API calls are unavailable from a CLR finalizer.");
}Виконує показані виклики та оновлення стану.
Параметри: string value
Джерело: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:321.
private static string EncodePathSegment(string value)
Результат: string.
Умови:
-
string.IsNullOrWhiteSpace(value) -
windowsInvalid || windowsTrimmedAtEnd -
`baseName.Equals("CON", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("PRN", StringComparison.OrdinalIgnoreCase) || baseName.Equals("AUX", StringComparison.OrdinalIgnoreCase) || baseName.Equals("NUL", StringComparison.OrdinalIgnoreCase) || baseName.Length == 4 && (baseName.StartsWith("COM", StringComparison.OrdinalIgnoreCase) || baseName.StartsWith("LPT", StringComparison.OrdinalIgnoreCase)) && baseName[3] is >= '1' and <= '9'`
Виклики:
string.IsNullOrWhiteSpaceIsWindowsTrimmedSuffixbuilder.Append('~').Appendbuilder.Append((int)character).ToStringbuilder.ToStringresult.SplitbaseName.EqualsbaseName.StartsWith
Внутрішній код реалізації, не самостійний скрипт.
private static string EncodePathSegment(string value)
{
if (string.IsNullOrWhiteSpace(value))
return "UnknownServer";
var builder = new StringBuilder(value.Length);
for (int index = 0; index < value.Length; index++)
{
char character = value[index];
bool windowsInvalid = character < 32
|| character is '<' or '>' or ':' or '"' or '/' or '\\' or '|' or '?' or '*' or '~';
bool windowsTrimmedAtEnd = (character == '.' || character == ' ')
&& IsWindowsTrimmedSuffix(value, index);
if (windowsInvalid || windowsTrimmedAtEnd)
builder.Append('~').Append(((int)character).ToString("X4"));
else
builder.Append(character);
}
string result = builder.Length == 0 ? "UnknownServer" : builder.ToString();
string baseName = result.Split('.')[0];
if (baseName.Equals("CON", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("PRN", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("AUX", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("NUL", StringComparison.OrdinalIgnoreCase)
|| baseName.Length == 4
&& (baseName.StartsWith("COM", StringComparison.OrdinalIgnoreCase)
|| baseName.StartsWith("LPT", StringComparison.OrdinalIgnoreCase))
&& baseName[3] is >= '1' and <= '9')
{
result = "~005F" + result;
}
return result;
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1559.
public void ActivateHandle()
Результат: void.
Виклики:
InvokeSDL3.SDL.SDL_RaiseWindowRequireGameView
Внутрішній код реалізації, не самостійний скрипт.
public void ActivateHandle() => Invoke(() => SDL3.SDL.SDL_RaiseWindow(RequireGameView("ActivateHandle").Window.Handle));Виконує показані виклики та оновлення стану.
Параметри: string name
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2187.
public void AddChatUserIgnore(string name)
Результат: void.
Виклики:
InvokeJournalManager.AddYokoIgnoredUser
Внутрішній код реалізації, не самостійний скрипт.
public void AddChatUserIgnore(string name) => Invoke(() => JournalManager.AddYokoIgnoredUser(name));Виконує показані виклики та оновлення стану.
Параметри: string caption, string item, bool persistent
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:699.
public void AddMenuHook(string caption, string item, bool persistent)
Результат: void.
Виклики:
Invoke_manager.AddMenuHook
Внутрішній код реалізації, не самостійний скрипт.
public void AddMenuHook(string caption, string item, bool persistent) => Invoke(() => _manager.AddMenuHook(caption, item, persistent));Виконує показані виклики та оновлення стану.
Параметри: int uiWindowType, int id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3099.
public void CloseClientWindow(int uiWindowType, int id)
Результат: void.
Умови:
uiWindowType == 2uiWindowType == 0uiWindowType == 3
Виклики:
-
Invoke -
_world.CharacterPanels.Profile -
.Close -
_world.NativePopups.Close -
_world.Containers.Close -
`UIManager.Gumps.Where(gump => !gump.IsDisposed
&& gump.LocalSerial == unchecked((uint)id) && MatchesType(gump)).ToArray` -
UIManager.Gumps.Where -
MatchesType -
gump.Dispose
Внутрішній код реалізації, не самостійний скрипт.
public void CloseClientWindow(int uiWindowType, int id) => Invoke(() =>
{
if (uiWindowType == 2) _world.CharacterPanels.Profile(unchecked((uint)id))?.Close(true);
if (uiWindowType == 0) _world.NativePopups.Close(SessionPopupKind.Paperdoll, unchecked((uint)id));
if (uiWindowType == 3) _world.Containers.Close(unchecked((uint)id));
bool MatchesType(Gump gump) => uiWindowType switch
{
0 => gump is PaperDollGump,
1 => gump is StatusGumpBase,
2 => gump is ProfileGump,
3 => gump is ContainerGump,
_ => false
};
foreach (Gump gump in UIManager.Gumps.Where(gump => !gump.IsDisposed
&& gump.LocalSerial == unchecked((uint)id) && MatchesType(gump)).ToArray())
gump.Dispose();
});Виконує показані виклики та оновлення стану.
Параметри: int tradeNumber
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:286.
public int ConfirmTrade(int tradeNumber)
Результат: int.
Умови:
gump == null!gump.ImAccepting
Виклики:
InvokeFindNumberedTradeGameActions.AcceptTrade
Внутрішній код реалізації, не самостійний скрипт.
public int ConfirmTrade(int tradeNumber) => Invoke(() =>
{
ISessionTrade gump = FindNumberedTrade(tradeNumber);
if (gump == null) return 0;
if (!gump.ImAccepting)
{
gump.ImAccepting = true;
GameActions.AcceptTrade(gump.ID1, true);
}
return 1;
});Виконує показані виклики та оновлення стану.
Параметри: int id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2969.
public int ContainerOf(int id)
Результат: int.
Виклики:
Invoke_world.Items.Get
Внутрішній код реалізації, не самостійний скрипт.
public int ContainerOf(int id) => Invoke(() => _world.Items.Get((uint)id) is Item item ? (int)item.Container : 0);Виконує показані виклики та оновлення стану.
Параметри: Control control
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4289.
private static string DescribeControl(Control control)
Результат: string.
Умови:
control is SessionGumpControl logicalcontrol is Button buttoncontrol is Checkbox checkbox
Виклики:
logical.Describecontrol.GetTypeGetControlTextstring.IsNullOrWhiteSpace
Внутрішній код реалізації, не самостійний скрипт.
private static string DescribeControl(Control control)
{
if (control is SessionGumpControl logical) return logical.Describe();
string common = $"{control.GetType().Name} page={control.Page} id=0x{control.LocalSerial:X8} "
+ $"x={control.X} y={control.Y} width={control.Width} height={control.Height}";
if (control is Button button)
{
return common + $" ButtonID={button.ButtonID} action={button.ButtonAction} toPage={button.ToPage} "
+ $"normal=0x{button.ButtonGraphicNormal:X4} pressed=0x{button.ButtonGraphicPressed:X4} over=0x{button.ButtonGraphicOver:X4}";
}
if (control is Checkbox checkbox)
{
string kind = checkbox is RadioButton ? "RadioButton" : "Checkbox";
return $"{kind} page={control.Page} ID={control.LocalSerial} x={control.X} y={control.Y} "
+ $"checked={checkbox.IsChecked} inactive=0x{checkbox.InactiveGraphic:X4} active=0x{checkbox.ActiveGraphic:X4}";
}
string text = GetControlText(control);
return string.IsNullOrWhiteSpace(text) ? common : common + $" text={text}";
}Виконує показані виклики та оновлення стану.
Параметри: string subrutineName
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2954.
public void Exec(string subrutineName)
Результат: void.
Виклики:
_manager.RunNamedProcedureFromScript
Внутрішній код реалізації, не самостійний скрипт.
public void Exec(string subrutineName)
{
_manager.RunNamedProcedureFromScript(subrutineName, _csharpGlobals?.Cancellation ?? _cancellationToken);
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:209.
public int GetDropDelay()
Результат: int.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
public int GetDropDelay() => State.GrabDelay;Виконує показані виклики та оновлення стану.
Параметри: int id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:625.
public int GetFlags(int id)
Результат: int.
Виклики:
Invoke_world.Get
Внутрішній код реалізації, не самостійний скрипт.
public int GetFlags(int id) => Invoke(() => _world.Get((uint)id) is Entity entity ? (int)entity.Flags : 0);Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3043.
public int GetGumpCount()
Результат: int.
Виклики:
InvokeServerGumpsUnsafe
Внутрішній код реалізації, не самостійний скрипт.
public int GetGumpCount() => Invoke(() => ServerGumpsUnsafe().Count);Виконує показані виклики та оновлення стану.
Параметри: int index
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3053.
public int GetGumpSerial(int index)
Результат: int.
Виклики:
InvokeServerGumpsUnsafe().ElementAtOrDefaultServerGumpsUnsafe
Внутрішній код реалізації, не самостійний скрипт.
public int GetGumpSerial(int index) => Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.LocalSerial ?? 0));Виконує показані виклики та оновлення стану.
Параметри: int index
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:321.
public string GetScriptPath(int index)
Результат: string.
Виклики:
_manager.GetScriptPath
Внутрішній код реалізації, не самостійний скрипт.
public string GetScriptPath(int index) => _manager.GetScriptPath(index);Виконує показані виклики та оновлення стану.
Параметри: buffer, offset, value
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3346.
static void Write16(byte[] buffer, int offset, int value)
Результат: void.
Внутрішній код реалізації, не самостійний скрипт.
static void Write16(byte[] buffer, int offset, int value)
{
buffer[offset] = (byte)value;
buffer[offset + 1] = (byte)(value >> 8);
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1297.
public int[] GetWaitTargetQueue()
Результат: int[].
Виклики:
_manager.GetPendingTargetSerials
Внутрішній код реалізації, не самостійний скрипт.
public int[] GetWaitTargetQueue() => _manager.GetPendingTargetSerials();Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2189.
public int JournalEntryCount()
Результат: int.
Виклики:
Invoke
Внутрішній код реалізації, не самостійний скрипт.
public int JournalEntryCount() => Invoke(() => JournalManager.Entries.Count);Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2190.
public int JournalMatchCount()
Результат: int.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
public int JournalMatchCount() => _journalMatchCount;Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:152.
public int LastTarget
Результат: int.
Виклики:
Invoke
Внутрішній код реалізації, не самостійний скрипт.
public int LastTarget => Invoke(() => (int)_world.TargetManager.LastTargetInfo.Serial);Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1298.
public int[] LastTile()
Результат: int[].
Виклики:
Invoke
Внутрішній код реалізації, не самостійний скрипт.
public int[] LastTile() => Invoke(() =>
{
LastTargetInfo info = _world.TargetManager.LastTargetInfo;
return new[] { (int)info.Graphic, (int)info.X, (int)info.Y, (int)info.Z };
});Повертає значення виразу нижче.
Параметри: x, y, z, accuracy, running, staminaThreshold, openDoor, throughCorner, throughNpcs, heuristicMultiplier, turnCost, exitOnDisconnect, accuracyZ, optimized, betweenTwoCorners
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1463.
`public int MoveTo(int x, int y, int z, int accuracy, bool running, int staminaThreshold,
bool openDoor, bool throughCorner, bool throughNpcs, int heuristicMultiplier,
int turnCost, bool exitOnDisconnect, int accuracyZ = 255, bool optimized = true,
bool betweenTwoCorners = false)`
Результат: int.
Виклики: Invoke.
Внутрішній код реалізації, не самостійний скрипт.
public int MoveTo(int x, int y, int z, int accuracy, bool running, int staminaThreshold,
bool openDoor, bool throughCorner, bool throughNpcs, int heuristicMultiplier,
int turnCost, bool exitOnDisconnect, int accuracyZ = 255, bool optimized = true,
bool betweenTwoCorners = false) => Invoke(() =>
{
if (_world.Player == null) return 0;
_manager.StopFollowing();
Pathfinder pathfinder = _world.Player.Pathfinder;
bool started = pathfinder.WalkTo(
x,
y,
z,
Math.Clamp(accuracy, 0, 20),
running,
Math.Max(0, staminaThreshold),
openDoor,
throughCorner,
throughNpcs,
Math.Max(1, heuristicMultiplier),
Math.Max(0, turnCost),
exitOnDisconnect,
Math.Clamp(accuracyZ, 0, 255),
optimized,
betweenTwoCorners,
ScriptPathObstacles.Create(_csharpState, this), incremental: true);
if (started)
{
_lastMovementPathfinder = pathfinder;
_lastMovementPlayer = _world.Player;
_lastMovementMap = _world.Map;
_lastMovementMapIndex = _world.MapIndex;
Interlocked.Exchange(ref _lastMovementRequestId, pathfinder.AutoWalkRequestGeneration);
_pathCancellation.Unregister();
long generation = pathfinder.AutoWalkGeneration;
if (pathfinder.AutoWalking)
_pathCancellation = _cancellationToken.Register(() => _manager.ReleaseScriptMovement(pathfinder, generation));
}
return started ? 1 : 0;
});Виконує показані виклики та оновлення стану.
Параметри: int id, int delay
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1488.
public void ReceiveObjectName(int id, int delay)
Результат: void.
Виклики:
ClickStopwatch.StartNewMath.Maxstring.IsNullOrEmptyGetNameWaitMath.Min
Внутрішній код реалізації, не самостійний скрипт.
public void ReceiveObjectName(int id, int delay)
{
Click(id);
var elapsed = Stopwatch.StartNew();
while (elapsed.ElapsedMilliseconds < Math.Max(0, delay) && string.IsNullOrEmpty(GetName(id)))
Wait((int)Math.Min(25, Math.Max(1L, delay - elapsed.ElapsedMilliseconds)));
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:298.
public void RequestVirtuesGump()
Результат: void.
Умови:
_world.Player != null
Виклики:
InvokeGameActions.ReplyGumpArray.Empty<Tuple<ushort, string>>
Внутрішній код реалізації, не самостійний скрипт.
public void RequestVirtuesGump() => Invoke(() =>
{
if (_world.Player != null)
GameActions.ReplyGump(_world.Player, 0x000001CD, 0x00000001, new[] { _world.Player.Serial }, Array.Empty<Tuple<ushort, string>>());
});Виконує показані виклики та оновлення стану.
Параметри: int gumpId
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4242.
private Gump ResolveGumpUnsafe(int gumpId)
Результат: Gump.
Умови:
gumpId == -1
Виклики:
ServerGumpsUnsafegumps.LastOrDefaultgumps.FirstOrDefault
Внутрішній код реалізації, не самостійний скрипт.
private Gump ResolveGumpUnsafe(int gumpId)
{
List<Gump> gumps = ServerGumpsUnsafe();
if (gumpId == -1)
{
return _selectedServerGump != null && !_selectedServerGump.IsDisposed ? _selectedServerGump : gumps.LastOrDefault();
}
return gumps.FirstOrDefault(g => g.LocalSerial == (uint)gumpId || g.ServerSerial == (uint)gumpId)
?? (gumpId >= 0 && gumpId < gumps.Count ? gumps[gumpId] : null);
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:744.
public int SelectContainer()
Результат: int.
Виклики:
SelectObject
Внутрішній код реалізації, не самостійний скрипт.
public int SelectContainer() => SelectObject() is Item item ? (int)item.Serial : 0;Виконує показані виклики та оновлення стану.
Параметри: string command, string message
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1575.
private void SendServerSpeech(string command, string message)
Результат: void.
Виклики:
InvokeGameActions.SayReportStatus
Внутрішній код реалізації, не самостійний скрипт.
private void SendServerSpeech(string command, string message) => Invoke(() =>
{
GameActions.Say(message ?? string.Empty, allowYokoCommand: SCRIPT_SAY_ALLOW_YOKO_COMMAND);
ReportStatus($"{command} delivered through ClassicUO server speech");
});Виконує показані виклики та оновлення стану.
Параметри: string path
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:324.
public int StartScript(string path)
Результат: int.
Виклики:
_manager.StartScript
Внутрішній код реалізації, не самостійний скрипт.
public int StartScript(string path) => _manager.StartScript(path);Виконує показані виклики та оновлення стану.
Параметри: int spellId
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2420.
internal static int ToClassicUOCastIndex(int spellId)
Результат: int.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
internal static int ToClassicUOCastIndex(int spellId) => spellId;Виконує показані виклики та оновлення стану.
Параметри: int id, int amount, int destination, int x, int y, int z
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1342.
private bool TryMoveItemRequest(int id, int amount, int destination, int x, int y, int z)
Результат: bool.
Виклики:
TryMoveItemRequest
Внутрішній код реалізації, не самостійний скрипт.
private bool TryMoveItemRequest(int id, int amount, int destination, int x, int y, int z)
=> TryMoveItemRequest(_world, id, amount, destination, x, y, z);Виконує показані виклики та оновлення стану.
Параметри: int abilityId
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2453.
public int UseAbility(int abilityId)
Результат: int.
Умови:
_world.Player == null || abilityId < 1 || abilityId > AbilityData.Abilities.LengthabilityId == primaryabilityId == secondary
Виклики:
InvokeGameActions.UsePrimaryAbilityGameActions.UseSecondaryAbility
Внутрішній код реалізації, не самостійний скрипт.
public int UseAbility(int abilityId) => Invoke(() =>
{
if (_world.Player == null || abilityId < 1 || abilityId > AbilityData.Abilities.Length)
return 0;
int primary = (byte)_world.Player.Abilities[0] & 0x7F;
int secondary = (byte)_world.Player.Abilities[1] & 0x7F;
if (abilityId == primary)
{
GameActions.UsePrimaryAbility(_world);
return 1;
}
if (abilityId == secondary)
{
GameActions.UseSecondaryAbility(_world);
return 1;
}
return 0;
});Виконує показані виклики та оновлення стану.
Параметри: string scriptKey, string text
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoIdeToolBuffers.cs:124.
internal void AppendOutput(string scriptKey, string text)
Результат: void.
Виклики:
_output.Add_clockNormalizeKeyNormalizeTextTrimOldest
Внутрішній код реалізації, не самостійний скрипт.
internal void AppendOutput(string scriptKey, string text)
{
lock (_sync)
{
_output.Add(new YokoOutputEntry
{
Sequence = ++_sequence,
Timestamp = _clock(),
ScriptKey = NormalizeKey(scriptKey),
Text = NormalizeText(text)
});
TrimOldest(_output);
_revision++;
}
}Виконує показані виклики та оновлення стану.
Параметри: Action callback, CancellationToken cancellationToken
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3490.
internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)
Результат: void.
Виклики:
InvokeOnGameThreadcallback
Внутрішній код реалізації, не самостійний скрипт.
internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)
{
InvokeOnGameThread(() =>
{
callback();
return true;
}, cancellationToken);
}Виконує показані виклики та оновлення стану.
Параметри: int index
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2841.
internal void PauseResumeScript(int index)
Результат: void.
Умови:
script == null
Виклики:
ElementAtRunningScriptsscript.ToggleManualPauseMarkRuntimeStateChanged
Внутрішній код реалізації, не самостійний скрипт.
internal void PauseResumeScript(int index)
{
YokoRunningScript script = ElementAt(RunningScripts(), index);
if (script == null)
return;
script.ToggleManualPause();
MarkRuntimeStateChanged();
}Виконує показані виклики та оновлення стану.
Параметри: string text, string scriptKey = null
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3751.
internal void SetStatus(string text, string scriptKey = null)
Результат: void.
Умови:
!IsScriptPublicationCurrent(scriptKey)
Виклики:
IsScriptPublicationCurrentVolatile.WritePublishStatus
Внутрішній код реалізації, не самостійний скрипт.
internal void SetStatus(string text, string scriptKey = null)
{
if (!IsScriptPublicationCurrent(scriptKey))
return;
Volatile.Write(ref _statusPriority, 1);
PublishStatus(text, scriptKey);
}Виконує показані виклики та оновлення стану.
Параметри: uint serial
Джерело: Project_Full/src/ClassicUO.Client/Game/SerialHelper.cs:16.
public static bool IsMobile(uint serial)
Результат: bool.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsMobile(uint serial)
{
return serial > 0 && serial < 0x40000000;
}Виконує показані виклики та оновлення стану.
Параметри: Season season, int music
Джерело: Project_Full/src/ClassicUO.Client/Game/World.cs:321.
public void ChangeSeason(Season season, int music)
Результат: void.
Умови:
audio != null && (currentMusic == null || currentMusic.Index == audio.LoginMusicIndex)
Виклики:
Map.GetUsedChunks.GetHeadObjectobj.UpdateGraphicBySeason.GetCurrentMusicaudio.PlayMusic
Внутрішній код реалізації, не самостійний скрипт.
public void ChangeSeason(Season season, int music)
{
Season = season;
foreach (Chunk chunk in Map.GetUsedChunks())
{
for (int x = 0; x < 8; x++)
{
for (int y = 0; y < 8; y++)
{
for (GameObject obj = chunk?.GetHeadObject(x, y); obj != null; obj = obj.TNext)
{
obj.UpdateGraphicBySeason();
}
}
}
}
//TODO(deccer): refactor this out into _audioPlayer.PlayMusic(...)
var audio = Client.Game?.Audio;
UOMusic currentMusic = audio?.GetCurrentMusic();
if (audio != null && (currentMusic == null || currentMusic.Index == audio.LoginMusicIndex))
{
audio.PlayMusic(music, false);
}
}Виконує показані виклики та оновлення стану.
Параметри: string value,int wordIndex
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:41.
private static string GetWord(string value,int wordIndex)
Результат: string.
Виклики:
GetWord
Внутрішній код реалізації, не самостійний скрипт.
private static string GetWord(string value,int wordIndex) => GetWord(value,wordIndex," ");Виконує показані виклики та оновлення стану.
Параметри: string value,string delimiter
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:36.
private static string[] SplitWords(string value,string delimiter)
Результат: string[].
Виклики:
string.IsNullOrEmptyvalue.Split
Внутрішній код реалізації, не самостійний скрипт.
private static string[] SplitWords(string value,string delimiter)
{
value=value??string.Empty;
return string.IsNullOrEmpty(delimiter)||delimiter==" "?value.Split((char[])null,StringSplitOptions.RemoveEmptyEntries):value.Split(new[]{delimiter},StringSplitOptions.RemoveEmptyEntries);
}Виконує показані виклики та оновлення стану.
Параметри: int fromX, int fromY, int toX, int toY
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2857.
private static int CalculateDirection(int fromX, int fromY, int toX, int toY)
Результат: int.
Умови:
dx == 0 && dy == 0dx == 0dy == 0dx > 0
Виклики:
Math.Sign
Внутрішній код реалізації, не самостійний скрипт.
private static int CalculateDirection(int fromX, int fromY, int toX, int toY)
{
int dx = Math.Sign(toX - fromX);
int dy = Math.Sign(toY - fromY);
if (dx == 0 && dy == 0) return 100;
if (dx == 0) return dy < 0 ? 0 : 4;
if (dy == 0) return dx > 0 ? 2 : 6;
if (dx > 0) return dy < 0 ? 1 : 3;
return dy > 0 ? 5 : 7;
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue[] values
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5068.
private int CompactAttackNearest(InjectionValue[] values)
Результат: int.
Умови:
!TryResolveClassRules(classMask, out EquipmentClassRule[] rules)serial != 0
Виклики:
ResolveCompactDistancebridge.GetFindDistanceResolveCompactMaxZbridge.GetFindVerticalToBooleanNumberConversions.ToIntTryResolveClassRulesFilterMobilesSelectClassCandidatebridge.Attack
Внутрішній код реалізації, не самостійний скрипт.
private int CompactAttackNearest(InjectionValue[] values)
{
InjectionValue notoriety = values[0];
int distance = values.Length > 1 ? ResolveCompactDistance(values[1]) : bridge.GetFindDistance();
InjectionValue body = values.Length > 2 ? values[2] : InjectionValue.MinusOne;
int maxZ = values.Length > 3 ? ResolveCompactMaxZ(values[3]) : bridge.GetFindVertical();
bool nearest = values.Length <= 4 || ToBoolean(values[4]);
int color = values.Length > 5 ? NumberConversions.ToInt(values[5]) : -1;
InjectionValue classMask = values.Length > 6 ? values[6] : default(InjectionValue);
bool aliveOnly = values.Length > 7 && ToBoolean(values[7]);
bool visibleOnly = values.Length > 8 && ToBoolean(values[8]);
// Resolve once, before any attack. A misspelled/undefined class must
// never degrade into an unrestricted search or a name substring match.
if (!TryResolveClassRules(classMask, out EquipmentClassRule[] rules))
return 0;
IEnumerable<int> mobiles = FilterMobiles(distance, notoriety, body, maxZ, color, false,
false, aliveOnly, visibleOnly);
int serial = SelectClassCandidate(mobiles, rules, nearest);
if (serial != 0)
bridge.Attack(serial);
return serial;
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue[] values
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3197.
private int CompactWaitGump(InjectionValue[] values)
Результат: int.
Умови:
values == null || values.Length == 0bridge is IApiGumpAutomation automationvalue.Kind == InjectionValueKind.ArrayCompactWaitGump(value.Array) == 0
Виклики:
-
CollectGumpButtons -
automation.QueueGumpButtons -
buttons.ToArray -
CompactWaitGump -
(value.String ?? string.Empty).Contains -
`(value.String ?? string.Empty)
.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries) .Select(part => new InjectionValue(part.Trim())).ToArray` -
`(value.String ?? string.Empty)
.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries) .Select` -
`(value.String ?? string.Empty)
.Split` -
part.Trim -
NumberConversions.ToInt -
bridge.WaitGumpSelect
Внутрішній код реалізації, не самостійний скрипт.
private int CompactWaitGump(InjectionValue[] values)
{
if (values == null || values.Length == 0)
throw new NativeSubrutineException("UO.WaitGump requires at least one trigger/button id.");
if (bridge is IApiGumpAutomation automation)
{
var buttons = new List<int>();
CollectGumpButtons(values, buttons);
automation.QueueGumpButtons(buttons.ToArray());
return 1;
}
foreach (InjectionValue value in values)
{
if (value.Kind == InjectionValueKind.Array)
{
if (CompactWaitGump(value.Array) == 0)
return 0;
continue;
}
if (value.Kind == InjectionValueKind.String
&& ((value.String ?? string.Empty).Contains('|') || (value.String ?? string.Empty).Contains(',')))
{
InjectionValue[] nested = (value.String ?? string.Empty)
.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(part => new InjectionValue(part.Trim())).ToArray();
if (CompactWaitGump(nested) == 0)
return 0;
continue;
}
int triggerId = NumberConversions.ToInt(value);
if (bridge.WaitGumpSelect(triggerId, 30_000) == 0)
return 0;
}
return 1;
}Виконує показані виклики та оновлення стану.
Параметри: string layer
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6523.
private int ConvertLayer(string layer)
Результат: int.
Умови:
layerNameToNumber.TryGetValue((layer ?? string.Empty).Trim(), out int value)
Виклики:
layerNameToNumber.TryGetValue(layer ?? string.Empty).Trim
Внутрішній код реалізації, не самостійний скрипт.
private int ConvertLayer(string layer)
{
if (layerNameToNumber.TryGetValue((layer ?? string.Empty).Trim(), out int value))
return value;
throw new NativeSubrutineException($"Unknown equipment layer '{layer}'. Use a documented layer such as Rhand, Lhand, Helmet, Necklace, Backpack, Robe, Legs, or Mount.");
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue containerId
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6479.
private int ConvertMoveDestination(InjectionValue containerId)
Результат: int.
Умови:
containerId.Kind != InjectionValueKind.String && containerId.Kind != InjectionValueKind.Integer
Виклики:
NumberConversions.TryStr2Int.TrimResolveTransferDestination
Внутрішній код реалізації, не самостійний скрипт.
private int ConvertMoveDestination(InjectionValue containerId)
{
if (containerId.Kind != InjectionValueKind.String && containerId.Kind != InjectionValueKind.Integer)
throw new NativeSubrutineException("A move destination must be an object name or serial ID.");
// Preserve the legacy -1 backpack selector. Resolve names before
// lifting: a misspelled or unset container must never become ground.
bool backpack = containerId.Kind == InjectionValueKind.Integer
? containerId.Integer == -1
: NumberConversions.TryStr2Int(containerId.String?.Trim() ?? string.Empty, out int literal) && literal == -1;
return ResolveTransferDestination(backpack ? new InjectionValue("backpack") : containerId, allowGround: true);
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue type
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5326.
public int Count(InjectionValue type)
Результат: int.
Виклики:
CountResolveType
Внутрішній код реалізації, не самостійний скрипт.
public int Count(InjectionValue type)
=> Count(ResolveType(type), -1, -1);Виконує показані виклики та оновлення стану.
Параметри: string text
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5519.
public void DeleteJournal(string text)
Результат: void.
Виклики:
bridge.DeleteJournalSelectJournalEntry
Внутрішній код реалізації, не самостійний скрипт.
public void DeleteJournal(string text)
{
bridge.DeleteJournal(text);
SelectJournalEntry(null);
}Виконує показані виклики та оновлення стану.
Параметри: string name
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3927.
public void DeleteObject(string name)
Результат: void.
Умови:
objects.TryGet(name, out int value)
Виклики:
objects.TryGetobjects.RemoveSystemMessage
Внутрішній код реалізації, не самостійний скрипт.
public void DeleteObject(string name)
{
if (objects.TryGet(name, out int value))
{
objects.Remove(name);
SystemMessage($"Object {name} has been deleted");
}
else
SystemMessage($"Object {name} not found");
}Повертає значення виразу нижче.
Параметри: index
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1144.
string Text(int index)
Результат: string.
Результат: index < arguments.Length ? arguments[index].ToString() : string.Empty.
Виклики: arguments[index].ToString.
Виклики:
-
InjectionScript.Runtime.InjectionValue.ToString:arguments[index].ToString().
Внутрішній код реалізації, не самостійний скрипт.
string Text(int index) => index < arguments.Length ? arguments[index].ToString() : string.Empty;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1231.
Результат: InjectionValue.Unit.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Внутрішній код реалізації, не самостійний скрипт.
case "addtojournal":
case "addtosystemjournal":
case "clientprint":
SystemMessage(Text(0)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1286.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoBuyRule:bridge.SetAutoBuyRule(Arg(0), Arg(1), Arg(2), Arg(3), Text(4)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(4).
Внутрішній код реалізації, не самостійний скрипт.
case "autobuyex":
bridge.SetAutoBuyRule(Arg(0), Arg(1), Arg(2), Arg(3), Text(4)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1550.
Результат: new InjectionValue(bridge.CancelTrade(Arg(0))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CancelTrade:bridge.CancelTrade(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "canceltrade": return new InjectionValue(bridge.CancelTrade(Arg(0)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1306.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ConnectClient:bridge.ConnectClient().
Внутрішній код реалізації, не самостійний скрипт.
case "connect": bridge.ConnectClient(); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1565.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetDistance:GetDistance(Arg(0), Arg(1), Arg(2), Arg(3)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDistance:bridge.GetDistance(Arg(0)).
Внутрішній код реалізації, не самостійний скрипт.
case "dist": return new InjectionValue(arguments.Length >= 4
? GetDistance(Arg(0), Arg(1), Arg(2), Arg(3))
: bridge.GetDistance(Arg(0)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1627.
Результат: new InjectionValue(ChangeEquipmentItems(ArrayArg(0), true)).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ChangeEquipmentItems:ChangeEquipmentItems(ArrayArg(0), true). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::ArrayArg:ArrayArg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "equipitems":
return new InjectionValue(ChangeEquipmentItems(ArrayArg(0), true));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2005.
new []
Результат: [].
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientPath:bridge.ClientPath. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CurrentProfilePath:bridge.CurrentProfilePath. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GameServerAddress:bridge.GameServerAddress. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GameServerPort:bridge.GameServerPort.
Внутрішній код реалізації, не самостійний скрипт.
case "extendedinfo":
return new InjectionValue(new[] { new InjectionValue(bridge.ClientPath), new InjectionValue(bridge.CurrentProfilePath), new InjectionValue(bridge.GameServerAddress), new InjectionValue(bridge.GameServerPort) });Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1476.
Результат: new InjectionValue(bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0)).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindType:bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[0]). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::StealthContainer:StealthContainer(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3).
Внутрішній код реалізації, не самостійний скрипт.
case "findtypeex": return new InjectionValue(bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1587.
Результат: new InjectionValue(bridge.GetActiveAbility()).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetActiveAbility:bridge.GetActiveAbility().
Внутрішній код реалізації, не самостійний скрипт.
case "getactiveability": return new InjectionValue(bridge.GetActiveAbility());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1590.
Результат: StringArray(bridge.GetMenuItems(Text(0), false)).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.StringArray:StringArray(bridge.GetMenuItems(Text(0), false)). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMenuItems:bridge.GetMenuItems(Text(0), false). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Внутрішній код реалізації, не самостійний скрипт.
case "getmenuitems": return StringArray(bridge.GetMenuItems(Text(0), false));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1919.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GlobalChatSend:bridge.GlobalChatSend(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Внутрішній код реалізації, не самостійний скрипт.
case "globalchatsendmsg": bridge.GlobalChatSend(Text(0)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1273.
Результат: new InjectionValue(InJournal(Text(0))).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.InJournal:InJournal(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
Внутрішній код реалізації, не самостійний скрипт.
case "injournal": return new InjectionValue(InJournal(Text(0)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2043.
Результат: new InjectionValue(selectedJournalEntry?.Color ?? 0).
Внутрішній код реалізації, не самостійний скрипт.
case "linetextcolor":
return new InjectionValue(selectedJournalEntry?.Color ?? 0);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1534.
Результат: new InjectionValue(ReadPredictedCoordinate(1)).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ReadPredictedCoordinate:ReadPredictedCoordinate(1).
Внутрішній код реалізації, не самостійний скрипт.
case "predictedy": return new InjectionValue(ReadPredictedCoordinate(1));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1594.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestContextMenu:bridge.RequestContextMenu(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "requestcontextmenu": bridge.RequestContextMenu(Arg(0)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1357.
Результат: InjectionValue.Unit.
Виклики:
Внутрішній код реалізації, не самостійний скрипт.
case "setsilentmode": state.SilentMode = Arg(0) != 0 ? 1 : 0; return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1655.
Результат: InjectionValue.Unit.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.WarMode:WarMode(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "setwarmode": WarMode(Arg(0)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1295.
Результат: new InjectionValue(bridge.GetTargetCursorId()).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTargetCursorId:bridge.GetTargetCursorId().
Внутрішній код реалізації, не самостійний скрипт.
case "targetid": return new InjectionValue(bridge.GetTargetCursorId());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1250.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseObject:bridge.UseObject(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "useobject": bridge.UseObject(Arg(0)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1681.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseSecondaryAbility:bridge.UseSecondaryAbility().
Внутрішній код реалізації, не самостійний скрипт.
case "usesecondaryability": bridge.UseSecondaryAbility(); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1642.
Результат: new InjectionValue(bridge.WaitUntilTargeting(Arg(0))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitUntilTargeting:bridge.WaitUntilTargeting(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "waitfortarget": return new InjectionValue(bridge.WaitUntilTargeting(Arg(0)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1369.
Результат: new InjectionValue(bridge.Weight).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Weight:bridge.Weight.
Внутрішній код реалізації, не самостійний скрипт.
case "weight": return new InjectionValue(bridge.Weight);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2844.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList(name). -
InjectionScript.Runtime.InjectionValue.ToString:value.ToString().
Внутрішній код реалізації, не самостійний скрипт.
case "adddir":
case "addfindlist":
case "addgate":
case "addrecall":
case "addstep":
LegacyList(name).Add(string.Join("|", arguments.Select(value => value.ToString())));
break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2876.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClearMenuHooks:bridge.ClearMenuHooks().
Внутрішній код реалізації, не самостійний скрипт.
case "cancelmenu": bridge.ClearMenuHooks(); break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2858.
Умови: arguments.Length == 0.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList("AddFindList"). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0).
Внутрішній код реалізації, не самостійний скрипт.
case "clearfindlist":
if (arguments.Length == 0) LegacyList("AddFindList").Clear();
else LegacyList("AddFindList").RemoveAll(value => value.Split('|')[0]
.Equals(Text(0), StringComparison.OrdinalIgnoreCase));
break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2888.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseHandle:bridge.CloseHandle().
Внутрішній код реалізації, не самостійний скрипт.
case "closeuo": bridge.CloseHandle(); break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2991.
Умови: arguments.Length == 0.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassMove:bridge.MassMove(-1, 0, 0, -1, -1, -1, 0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassMove:bridge.MassMove(NumberConversions.ToInt(arguments[0]), arguments.Length > 1 ? NumberConversions.ToInt(arguments[1]) : 0, arguments.Length > 2 ? ResolveType(arguments[2]) : 0, arguments.Length > 3 ? ResolveTransferDestination(arguments[3], true) : -1, arguments.Length > 4 ? NumberConversions.ToInt(arguments[4]) : -1, arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1, arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : 0). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[1]). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[2]). -
InjectionScript.Runtime.InjectionApiUO.ResolveTransferDestination:ResolveTransferDestination(arguments[3], true). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[4]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[5]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[6]).
Внутрішній код реалізації, не самостійний скрипт.
case "massmove":
if (arguments.Length == 0) bridge.MassMove(-1, 0, 0, -1, -1, -1, 0);
else bridge.MassMove(NumberConversions.ToInt(arguments[0]),
arguments.Length > 1 ? NumberConversions.ToInt(arguments[1]) : 0,
arguments.Length > 2 ? ResolveType(arguments[2]) : 0,
arguments.Length > 3 ? ResolveTransferDestination(arguments[3], true) : -1,
arguments.Length > 4 ? NumberConversions.ToInt(arguments[4]) : -1,
arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1,
arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : 0);
break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3001.
Умови: arguments.Length == 0.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassPriceMove:bridge.MassPriceMove(-1, 0, 0, 0, -1, -1, -1, 0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassPriceMove:bridge.MassPriceMove(NumberConversions.ToInt(arguments[0]), NumberConversions.ToInt(arguments[1]), ResolveType(arguments[2]), NumberConversions.ToInt(arguments[3]), arguments.Length > 4 ? ResolveTransferDestination(arguments[4], true) : -1, arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1, arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : -1, arguments.Length > 7 ? NumberConversions.ToInt(arguments[7]) : 0). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[1]). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[2]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[3]). -
InjectionScript.Runtime.InjectionApiUO.ResolveTransferDestination:ResolveTransferDestination(arguments[4], true). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[5]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[6]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[7]).
Внутрішній код реалізації, не самостійний скрипт.
case "masspricemove":
if (arguments.Length == 0) bridge.MassPriceMove(-1, 0, 0, 0, -1, -1, -1, 0);
else bridge.MassPriceMove(NumberConversions.ToInt(arguments[0]),
NumberConversions.ToInt(arguments[1]), ResolveType(arguments[2]),
NumberConversions.ToInt(arguments[3]),
arguments.Length > 4 ? ResolveTransferDestination(arguments[4], true) : -1,
arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1,
arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : -1,
arguments.Length > 7 ? NumberConversions.ToInt(arguments[7]) : 0);
break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3020.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Resync:bridge.Resync().
Внутрішній код реалізації, не самостійний скрипт.
case "resend": bridge.Resync(); break;Виконує показані виклики та оновлення стану.
Параметри: int id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3858.
public int Exists(int id)
Результат: int.
Виклики:
bridge.Exists
Внутрішній код реалізації, не самостійний скрипт.
public int Exists(int id) => bridge.Exists(id);Виконує показані виклики та оновлення стану.
Параметри: InjectionValue x, InjectionValue y
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6306.
public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y)
Результат: InjectionValue.
Виклики:
GetLandTileAt
Внутрішній код реалізації, не самостійний скрипт.
public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y)
=> GetLandTileAt(x, y, new InjectionValue(bridge.WorldNumber));Виконує показані виклики та оновлення стану.
Параметри: string name
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4006.
public int GetObject(string name)
Результат: int.
Умови:
!TryGetObject(name, out int id)
Виклики:
TryGetObject
Внутрішній код реалізації, не самостійний скрипт.
public int GetObject(string name)
{
if (!TryGetObject(name, out int id))
return 0;
return id;
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue group, InjectionValue tileId
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6375.
public string GetTileName(InjectionValue group, InjectionValue tileId)
Результат: string.
Виклики:
bridge.GetTileDataNameNumberConversions.ToInt
Внутрішній код реалізації, не самостійний скрипт.
public string GetTileName(InjectionValue group, InjectionValue tileId)
=> bridge.GetTileDataName(NumberConversions.ToInt(group), NumberConversions.ToInt(tileId));Виконує показані виклики та оновлення стану.
Параметри: InjectionValue id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6392.
public string GetUserStatic(InjectionValue id)
Результат: string.
Виклики:
state.UserStatics.TryGetValueNumberConversions.ToInt
Внутрішній код реалізації, не самостійний скрипт.
public string GetUserStatic(InjectionValue id)
=> state.UserStatics.TryGetValue(NumberConversions.ToInt(id), out string value) ? value : string.Empty;Виконує показані виклики та оновлення стану.
Параметри: string id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3682.
public int GetY(string id)
Результат: int.
Виклики:
GetYGetObject
Внутрішній код реалізації, не самостійний скрипт.
public int GetY(string id) => GetY(GetObject(id));InjectionScript.Runtime.InjectionApiUO.Hidden
Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3884.
public int Hidden()
Результат: int.
Виклики:
Hidden
Внутрішній код реалізації, не самостійний скрипт.
public int Hidden() => Hidden("self");Виконує показані виклики та оновлення стану.
Параметри: int id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5340.
public void Ignore(int id)
Результат: void.
Виклики:
bridge.Ignore
Внутрішній код реалізації, не самостійний скрипт.
public void Ignore(int id) => bridge.Ignore(id);Виконує показані виклики та оновлення стану.
Параметри: string pattern, int maxLinesOrIgnoreCase
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5463.
public int InJournal(string pattern, int maxLinesOrIgnoreCase)
Результат: int.
Виклики:
InJournalCoreMath.Max
Внутрішній код реалізації, не самостійний скрипт.
public int InJournal(string pattern, int maxLinesOrIgnoreCase)
=> InJournalCore(pattern,
maxLinesOrIgnoreCase == -1 ? -1 : Math.Max(0, maxLinesOrIgnoreCase),
ignoreCase: maxLinesOrIgnoreCase == -1);Виконує показані виклики та оновлення стану.
Параметри: int graphic
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3849.
private static bool IsHumanBody(int graphic)
Результат: bool.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
private static bool IsHumanBody(int graphic) => graphic == 0x0190 || graphic == 0x0191
|| graphic == 0x0192 || graphic == 0x0193 || graphic == 0x025D || graphic == 0x025E
|| graphic == 0x025F || graphic == 0x0260 || graphic == 0x029A || graphic == 0x029B
|| graphic == 0x02B6 || graphic == 0x02B7;Виконує показані виклики та оновлення стану.
Параметри: InjectionValue x, InjectionValue y
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3436.
public int IsTreeTile(InjectionValue x, InjectionValue y)
Результат: int.
Виклики:
bridge.IsTreeTileNumberConversions.ToInt
Внутрішній код реалізації, не самостійний скрипт.
public int IsTreeTile(InjectionValue x, InjectionValue y) => bridge.IsTreeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y));Виконує показані виклики та оновлення стану.
Параметри: int index
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5630.
private int JournalEntryTime(int index)
Результат: int.
Виклики:
JournalEntryTimebridge.JournalTimestamp
Внутрішній код реалізації, не самостійний скрипт.
private int JournalEntryTime(int index)
=> JournalEntryTime(bridge.JournalTimestamp(index));Виконує показані виклики та оновлення стану.
Параметри: int type
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6017.
public void Morph(int type)
Результат: void.
Виклики:
bridge.MorphTimer
Внутрішній код реалізації, не самостійний скрипт.
public void Morph(int type)
{
bridge.Morph(type);
ticksAnim = Timer();
}Виконує показані виклики та оновлення стану.
Параметри: int id, int amount, int targetContainer, int x, int y, int z
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4684.
private bool MoveItemChecked(int id, int amount, int targetContainer, int x, int y, int z)
Результат: bool.
Умови:
id == 0targetContainer == 0 && state.DropCheckCoord != 0Math.Max(Math.Abs(x - playerX), Math.Abs(y - playerY)) > 2
Виклики:
bridge.GetXbridge.GetYMath.MaxMath.AbsSystemMessagebridge.MoveItem
Внутрішній код реалізації, не самостійний скрипт.
private bool MoveItemChecked(int id, int amount, int targetContainer, int x, int y, int z)
{
if (id == 0)
return false;
if (targetContainer == 0 && state.DropCheckCoord != 0)
{
int playerX = bridge.GetX(bridge.Self);
int playerY = bridge.GetY(bridge.Self);
if (Math.Max(Math.Abs(x - playerX), Math.Abs(y - playerY)) > 2)
{
SystemMessage("Drop cancelled: destination is more than 2 tiles away (DropCheckCoord is enabled).");
return false;
}
}
return bridge.MoveItem(id, amount, targetContainer, x, y, z) != 0;
}Виконує показані виклики та оновлення стану.
Параметри: string name
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5321.
private static string NormalizeApiName(string name)
Результат: string.
Виклики:
(name ?? string.Empty).Trim
Внутрішній код реалізації, не самостійний скрипт.
private static string NormalizeApiName(string name)
{
return (name ?? string.Empty).Trim();
}Виконує показані виклики та оновлення стану.
Параметри: int x, int y
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5360.
public void RDblClick(int x, int y)
Результат: void.
Виклики:
bridge.RDblClick
Внутрішній код реалізації, не самостійний скрипт.
public void RDblClick(int x, int y) => bridge.RDblClick(x, y);Ці функції створюють реєстрацію API; вони не виконуються заново під час кожного виклику команди.
Параметри: getter, names
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:993.
void AddText(Func<string> getter, params string[] names)
Результат: void.
Виклики: metadata.NativeSubrutineExists, metadata.Add, metadata.IntrinsicVariableExists, metadata.AddIntrinsicVariable.
Умови: !metadata.NativeSubrutineExists(name, 0); !metadata.IntrinsicVariableExists(name).
Виклики:
-
InjectionScript.Runtime.Metadata.NativeSubrutineExists:metadata.NativeSubrutineExists(name, 0). -
InjectionScript.Runtime.Metadata.Add:metadata.Add(new NativeSubrutineDefinition(name, getter)). -
InjectionScript.Runtime.Metadata.IntrinsicVariableExists:metadata.IntrinsicVariableExists(name). -
InjectionScript.Runtime.Metadata.AddIntrinsicVariable:metadata.AddIntrinsicVariable(new NativeSubrutineDefinition(name, getter)).
Внутрішній код реалізації, не самостійний скрипт.
void AddText(Func<string> getter, params string[] names)
{
foreach (string shortName in names)
{
string name = "UO." + shortName;
if (!metadata.NativeSubrutineExists(name, 0))
metadata.Add(new NativeSubrutineDefinition(name, getter));
if (!metadata.IntrinsicVariableExists(name))
metadata.AddIntrinsicVariable(new NativeSubrutineDefinition(name, getter));
}
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue value
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5211.
private int ResolveCompactDistance(InjectionValue value)
Результат: int.
Виклики:
NumberConversions.ToIntbridge.GetFindDistanceMath.Max
Внутрішній код реалізації, не самостійний скрипт.
private int ResolveCompactDistance(InjectionValue value)
{
int parsed = NumberConversions.ToInt(value);
return parsed < 0 ? bridge.GetFindDistance() : Math.Max(0, parsed);
}Виконує показані виклики та оновлення стану.
Параметри: string name
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5705.
public void SetArm(string name)
Результат: void.
Виклики:
SetEquip
Внутрішній код реалізації, не самостійний скрипт.
public void SetArm(string name)
=> SetEquip(name, armSets, weaponLayers, "Arm set.");Виконує показані виклики та оновлення стану.
Параметри: InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6122.
public void SetEvent(InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler)
Результат: void.
Умови:
!string.IsNullOrWhiteSpace(raw) && !NumberConversions.TryStr2Int(raw, out _)
Виклики:
repeatOrHandler.ToStringstring.IsNullOrWhiteSpaceNumberConversions.TryStr2IntSetEvent
Внутрішній код реалізації, не самостійний скрипт.
public void SetEvent(InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler)
{
string raw = repeatOrHandler.ToString() ?? string.Empty;
if (!string.IsNullOrWhiteSpace(raw) && !NumberConversions.TryStr2Int(raw, out _))
SetEvent(name, stateValue, InjectionValue.True, repeatOrHandler);
else
SetEvent(name, stateValue, repeatOrHandler, new InjectionValue(string.Empty));
}Виконує показані виклики та оновлення стану.
Параметри: int index
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5532.
public void SetJournalLine(int index)
Результат: void.
Виклики:
bridge.SetJournalLine
Внутрішній код реалізації, не самостійний скрипт.
public void SetJournalLine(int index) => bridge.SetJournalLine(index);Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6030.
public void Terminate()
Результат: void.
Виклики:
bridge.Terminate
Внутрішній код реалізації, не самостійний скрипт.
public void Terminate() => bridge.Terminate(string.Empty);Виконує показані виклики та оновлення стану.
Параметри: string subrutineName
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6029.
public void Terminate(string subrutineName)
Результат: void.
Виклики:
bridge.Terminate
Внутрішній код реалізації, не самостійний скрипт.
public void Terminate(string subrutineName) => bridge.Terminate(subrutineName);Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5433.
public void TextOpen()
Результат: void.
Виклики:
bridge.TextOpen
Внутрішній код реалізації, не самостійний скрипт.
public void TextOpen() => bridge.TextOpen();Виконує показані виклики та оновлення стану.
Параметри: InjectionValue flag
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6107.
public void Track(InjectionValue flag)
Результат: void.
Виклики:
TrackNumberConversions.ToIntGetXGetY
Внутрішній код реалізації, не самостійний скрипт.
public void Track(InjectionValue flag) => Track(NumberConversions.ToInt(flag), GetX(), GetY());Виконує показані виклики та оновлення стану.
Параметри: InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3424.
public int TradeCheck(InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue)
Результат: int.
Виклики:
bridge.TradeCheckNumberConversions.ToInt
Внутрішній код реалізації, не самостійний скрипт.
public int TradeCheck(InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue)
=> bridge.TradeCheck(NumberConversions.ToInt(windowIndex), NumberConversions.ToInt(checkbox), NumberConversions.ToInt(stateValue), true);Виконує показані виклики та оновлення стану.
Параметри: int[] supportedLayers, string successMessage
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5817.
private int Unequip(int[] supportedLayers, string successMessage)
Результат: int.
Умови:
bridge.ObjAtLayer(layer) != 0state.DressSpeed > 0
Виклики:
bridge.ObjAtLayerbridge.UnequipinjectionApi.WaitSystemMessage
Внутрішній код реалізації, не самостійний скрипт.
private int Unequip(int[] supportedLayers, string successMessage)
{
bool success = true;
foreach (var layer in supportedLayers)
{
if (bridge.ObjAtLayer(layer) != 0)
{
success &= bridge.Unequip(layer) != 0;
if (state.DressSpeed > 0)
injectionApi.Wait(state.DressSpeed);
}
}
SystemMessage(success ? successMessage : "Some equipment could not be removed.");
return success ? 1 : 0;
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4486.
public void UnsetReceivingContainer()
Результат: void.
Виклики:
bridge.UnsetReceivingContainer
Внутрішній код реалізації, не самостійний скрипт.
public void UnsetReceivingContainer() => bridge.UnsetReceivingContainer();Виконує показані виклики та оновлення стану.
Параметри: string id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4036.
public void UseObject(string id)
Результат: void.
Виклики:
UseObjectGetObject
Внутрішній код реалізації, не самостійний скрипт.
public void UseObject(string id) => UseObject(GetObject(id));Виконує показані виклики та оновлення стану.
Параметри: int type, int color
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4093.
public int UseType(int type, int color)
Результат: int.
Виклики:
CompactUseType
Внутрішній код реалізації, не самостійний скрипт.
public int UseType(int type, int color) => CompactUseType(new[]
{
new InjectionValue(type),
new InjectionValue(color)
});Виконує показані виклики та оновлення стану.
Параметри: int startTime, int maxDelay, string text
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5535.
public void WaitingForJournalText(int startTime, int maxDelay, string text)
Результат: void.
Виклики:
WaitingForJournalText
Внутрішній код реалізації, не самостійний скрипт.
public void WaitingForJournalText(int startTime, int maxDelay, string text)
=> WaitingForJournalText(startTime, maxDelay, text, 0, 0, InjectionValue.Zero);Виконує показані виклики та оновлення стану.
Параметри: InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3443.
public int WaitingForMenu(InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial)
Результат: int.
Умови:
identity.Length == 0!identity.Equals(previousIdentity, StringComparison.Ordinal)observedMenuCount >= requiredMenuCount && nameMatchesblockMenu
Виклики:
Math.MaxNumberConversions.ToIntmenuNameValue.ToStringtimeSource.Now.AddMillisecondsTriggerWaitActionbridge.GetLastMenuIdentityidentity.Equalsbridge.GetLastMenuCaptioncaption.Equalsbridge.CloseMenubridge.WaitMath.Min
Внутрішній код реалізації, не самостійний скрипт.
public int WaitingForMenu(InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial)
{
int delay = Math.Max(0, NumberConversions.ToInt(delayValue));
int requiredMenuCount = Math.Max(1, NumberConversions.ToInt(menuCountValue));
bool blockMenu = NumberConversions.ToInt(blockMenuValue) != 0;
string expectedName = menuNameValue.ToString() ?? string.Empty;
DateTime deadline = timeSource.Now.AddMilliseconds(delay);
string previousIdentity = string.Empty;
int observedMenuCount = 0;
TriggerWaitAction(skillOrSerial);
do
{
string identity = bridge.GetLastMenuIdentity() ?? string.Empty;
if (identity.Length == 0)
{
// Reset between server menus so an identical menu opened again
// still counts as a new appearance.
previousIdentity = string.Empty;
}
else if (!identity.Equals(previousIdentity, StringComparison.Ordinal))
{
previousIdentity = identity;
observedMenuCount++;
string caption = bridge.GetLastMenuCaption() ?? string.Empty;
bool nameMatches = expectedName.Length == 0
|| caption.Equals(expectedName, StringComparison.Ordinal);
if (observedMenuCount >= requiredMenuCount && nameMatches)
{
if (blockMenu)
bridge.CloseMenu();
return 1;
}
}
if (timeSource.Now >= deadline)
break;
bridge.Wait(Math.Min(25, Math.Max(1, delay)));
}
while (true);
return 0;
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3438.
public int WaitingMenu()
Результат: int.
Виклики:
bridge.WaitingMenu
Внутрішній код реалізації, не самостійний скрипт.
public int WaitingMenu() => bridge.WaitingMenu();Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4667.
values
Результат: values.
Результат: new InjectionValue(CompactFindMan(values)).
Виклики: CompactFindMan.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.CompactFindMan:CompactFindMan(values).
Внутрішній код реалізації, не самостійний скрипт.
values => new InjectionValue(CompactFindMan(values))Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1049.
Результат: bridge.FollowersMax.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FollowersMax:bridge.FollowersMax.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.FollowersMaxВиклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1031.
Результат: bridge.Intelligence.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Intelligence:bridge.Intelligence.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.IntelligenceВиклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1028.
Результат: bridge.Stamina.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina:bridge.Stamina.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.StaminaВиклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:693.
values
Результат: values.
Результат: new InjectionValue(SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1]))).
Виклики: SkillVal, values[0].ToString, NumberConversions.ToInt.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.SkillVal:SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1])). -
InjectionScript.Runtime.InjectionValue.ToString:values[0].ToString(). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[1]).
Внутрішній код реалізації, не самостійний скрипт.
values => new InjectionValue(SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1])))Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1028.
Результат: bridge.Stamina.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina:bridge.Stamina.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.StaminaВиклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1030.
Результат: bridge.Strength.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Strength:bridge.Strength.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.StrengthПовертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs: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))Виконує показані виклики та оновлення стану.
Параметри: string name, params InjectionValue[] args
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeConsoleDispatch.cs:358.
private void CallNativeSubrutine(string name, params InjectionValue[] args)
Результат: void.
Умови:
!Metadata.TryGetNativeSubrutine("UO." + name, args, out var nativeSubrutine)result.Kind != InjectionValueKind.Unit && name.IndexOf("Info", StringComparison.OrdinalIgnoreCase) < 0
Виклики:
CheckpointMetadata.TryGetNativeSubrutinenativeSubrutine.Callname.IndexOfbridge.Printresult.ToString
Внутрішній код реалізації, не самостійний скрипт.
private void CallNativeSubrutine(string name, params InjectionValue[] args)
{
Checkpoint();
if (!Metadata.TryGetNativeSubrutine("UO." + name, args, out var nativeSubrutine))
throw new NativeSubrutineException($"Native UO command '{name}' with {args.Length} argument(s) was not found.");
InjectionValue result = nativeSubrutine.Call(args);
if (result.Kind != InjectionValueKind.Unit && name.IndexOf("Info", StringComparison.OrdinalIgnoreCase) < 0)
bridge.Print(result.ToString());
Checkpoint();
}Виконує показані виклики та оновлення стану.
Параметри: string parameters
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeConsoleDispatch.cs:10.
public void Exec(string parameters)
Результат: void.
Умови:
parts.Length == 0command.StartsWith("UO.", StringComparison.OrdinalIgnoreCase)command.Equals("exec", StringComparison.OrdinalIgnoreCase)parts.Length != 2 || string.IsNullOrWhiteSpace(parts[1].Text)
Виклики:
-
Tokenize(parameters).ToArray -
Tokenize -
command.StartsWith -
command.Substring -
command.Equals -
string.IsNullOrWhiteSpace -
bridge.Exec -
parts.Skip(1).ToArray -
parts.Skip -
NormalizeCompoundConsoleAlias -
arguments.Select(token => token.Text).ToArray -
arguments.Select -
TryHandleLegacyConsoleCommand -
NormalizeConsoleAlias -
IsRemainderTextCommand -
string.Join -
rawArguments.Skip -
`arguments.Select(token => token.Quoted
? new InjectionValue(token.Text) : ToConsoleValue(token.Text)).ToArray` -
ToConsoleValue -
CallNativeSubrutine
Внутрішній код реалізації, не самостійний скрипт.
public void Exec(string parameters)
{
ConsoleToken[] parts = Tokenize(parameters).ToArray();
if (parts.Length == 0)
return;
string command = parts[0].Text;
if (command.StartsWith("UO.", StringComparison.OrdinalIgnoreCase)) command = command.Substring(3);
if (command.Equals("exec", StringComparison.OrdinalIgnoreCase))
{
if (parts.Length != 2 || string.IsNullOrWhiteSpace(parts[1].Text))
throw new NativeSubrutineException("Usage: exec script_function");
bridge.Exec(parts[1].Text);
return;
}
ConsoleToken[] arguments = parts.Skip(1).ToArray();
(command, arguments) = NormalizeCompoundConsoleAlias(command, arguments);
string[] rawArguments = arguments.Select(token => token.Text).ToArray();
if (TryHandleLegacyConsoleCommand(command, rawArguments))
return;
command = NormalizeConsoleAlias(command);
if (IsRemainderTextCommand(command) && rawArguments.Length > 0)
arguments = new[] { new ConsoleToken(string.Join(" ", rawArguments), true) };
else if (command.Equals("ColorPrint", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 1)
arguments = new[] { arguments[0], new ConsoleToken(string.Join(" ", rawArguments.Skip(1)), true) };
else if (command.Equals("CharPrint", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 2)
arguments = new[] { arguments[0], arguments[1], new ConsoleToken(string.Join(" ", rawArguments.Skip(2)), true) };
else if (command.Equals("SetGlobal", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 2)
// Chat parameters are space-separated. Preserve a human-readable
// global value after its key without forcing the player to quote it.
arguments = new[] { arguments[0], new ConsoleToken(string.Join(" ", rawArguments.Skip(1)), true) };
InjectionValue[] args = arguments.Select(token => token.Quoted
? new InjectionValue(token.Text) : ToConsoleValue(token.Text)).ToArray();
CallNativeSubrutine(command, args);
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionValue.cs:405.
public override string ToString()
Результат: string.
Виклики:
Integer.ToStringDecimal.ToStringFormatArray
Внутрішній код реалізації, не самостійний скрипт.
public override string ToString()
{
switch (Kind)
{
case InjectionValueKind.Unit:
return "<unit>";
case InjectionValueKind.Integer:
return Integer.ToString(System.Globalization.CultureInfo.InvariantCulture);
case InjectionValueKind.String:
return String;
case InjectionValueKind.Decimal:
return Decimal.ToString(System.Globalization.CultureInfo.InvariantCulture);
case InjectionValueKind.Array:
return FormatArray(Array, new HashSet<InjectionValue[]>(), 0);
case InjectionValueKind.Object:
return Object?.Name ?? string.Empty;
default:
throw new InvalidOperationException($"Unknown InjectionValue kind {Kind}.");
}
}Виконує показані виклики та оновлення стану.
Параметри: short id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NumberConversions.cs:80.
public static string ToHex(short id)
Результат: string.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
public static string ToHex(short id) => $"0x{id:X4}";Виконує показані виклики та оновлення стану.
Параметри: byte[] bytes
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/ObjectTypes/MemoryStreamObject.cs:26.
internal void ReplaceBytes(byte[] bytes)
Результат: void.
Умови:
bytes == null
Виклики:
stream.SetLengthArray.Empty<byte>stream.Write
Внутрішній код реалізації, не самостійний скрипт.
internal void ReplaceBytes(byte[] bytes)
{
stream.SetLength(0);
stream.Position = 0;
if (bytes == null)
bytes = Array.Empty<byte>();
stream.Write(bytes, 0, bytes.Length);
stream.Position = 0;
}Виконує показані виклики та оновлення стану.
Параметри: string name
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/Globals.cs:45.
public string GetGlobal(string name)
Результат: string.
Виклики:
GetGlobalShared
Внутрішній код реалізації, не самостійний скрипт.
public string GetGlobal(string name) => GetGlobalShared(name);Виконує показані виклики та оновлення стану.
Параметри: string name
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedIgnoreLists.cs:115.
private static string RequireName(string name)
Результат: string.
Умови:
string.IsNullOrWhiteSpace(name)
Виклики:
string.IsNullOrWhiteSpacenameofname.Trim
Внутрішній код реалізації, не самостійний скрипт.
private static string RequireName(string name)
{
if (string.IsNullOrWhiteSpace(name)) throw new ArgumentException("Ignore list name must not be empty.", nameof(name));
return name.Trim();
}Виконує показані виклики та оновлення стану.
Параметри: World world, uint target, bool mount, Action<uint> sendUse, long now
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/NativeMountController.cs:25.
internal bool Request(World world, uint target, bool mount, Action<uint> sendUse, long now)
Результат: bool.
Умови:
player == null || player.IsDestroyed || player.IsDead || !world.InGame_pendingPlayer != null!ReferenceEquals(_pendingPlayer, player) || layerSerial != _pendingLayer || now >= _pendingUntilmount
Виклики:
Clearplayer.FindItemByLayerReferenceEqualsworld.GetMath.MaxMath.AbsIsCarriedBysendUse
Повний код зберігається у файлі джерела; нижче наведено точні фрагменти.
Внутрішній код реалізації, не самостійний скрипт.
internal bool Request(World world, uint target, bool mount, Action<uint> sendUse, long now)
{
PlayerMobile player = world?.Player;
if (player == null || player.IsDestroyed || player.IsDead || !world.InGame)
{
Clear();
return false;
}
// …
if (_pendingPlayer != null)
// …
if (!ReferenceEquals(_pendingPlayer, player) || layerSerial != _pendingLayer
// …
return false;
// …
if (mount)
// …
if (layerSerial != 0 || target == 0 || target == player.Serial)
return false;
// …
if (entity == null || entity.IsDestroyed)
return false;
if (entity is Mobile mobile)
// …
if (mobile.IsDead || Math.Max(Math.Abs((int)mobile.X - player.X),
// …
return false;
// …
else if (entity is Item item)
// …
if (!IsCarriedBy(world, item, player.Serial))
return false;
// …
return false;
// …
if (layerSerial == 0 || layer.Graphic == 0x3E96)
return false;
// …
}
sendUse(target);
_pendingPlayer = player;
_pendingLayer = layerSerial;
_pendingUntil = now + ConfirmationTimeoutMilliseconds;
return true;
}