RU 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;
}