Runtime Helpers 9 - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Внутрішній код реалізації, не самостійний скрипт.
Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:422.
Результат: true.
Виклики:
-
ClassicUO.CSharp.CSharpCallbacks.SetStateEvent:SetStateEvent(arguments).
Внутрішній код реалізації, не самостійний скрипт.
case "SetEvent": SetStateEvent(arguments); return true;Виконує показані виклики та оновлення стану.
Параметри: int milliseconds
Джерело: Project_Full/src/ClassicUO.CSharp/CSharpScriptGlobals.cs:200.
public async Task WaitAsync(int milliseconds)
Результат: Task.
Виклики:
ArgumentOutOfRangeException.ThrowIfNegativeCheckpointMath.MinTask.Delay(slice, Cancellation).ConfigureAwaitTask.Delay
Внутрішній код реалізації, не самостійний скрипт.
public async Task WaitAsync(int milliseconds)
{
ArgumentOutOfRangeException.ThrowIfNegative(milliseconds);
Checkpoint();
// Short slices allow Pause to suspend further script progress promptly.
int remaining = milliseconds;
while (remaining > 0)
{
int slice = Math.Min(remaining, 25);
await Task.Delay(slice, Cancellation).ConfigureAwait(false);
Checkpoint(); remaining -= slice;
}
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:380.
public static Profile NewFromDefault()
Результат: Profile.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
public static Profile NewFromDefault() => new Profile();Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:371.
internal static void SaveCurrentProfile()
Результат: void.
Умови:
CurrentProfile != null && !string.IsNullOrEmpty(ProfilePath)
Виклики:
string.IsNullOrEmptySave
Внутрішній код реалізації, не самостійний скрипт.
internal static void SaveCurrentProfile()
{
if (CurrentProfile != null && !string.IsNullOrEmpty(ProfilePath))
{
Save(CurrentProfile, ProfilePath);
}
}Перевіряє умови нижче й повертає показаний результат.
Параметри: displayServerName, profileName, characterName
Джерело: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:527.
`internal static bool TryResolveProfileCharacter(
string displayServerName, string profileName, out string characterName)`
Результат: bool.
Результат: false; true.
Виклики: string.IsNullOrWhiteSpace, EncodePathSegment, displayServerName.Trim, string.IsNullOrEmpty, string.Equals, Path.GetFileName, Path.GetDirectoryName, Path.Combine.
Умови: string.IsNullOrWhiteSpace(displayServerName) || string.IsNullOrWhiteSpace(profileName); `CurrentProfile != null && !string.IsNullOrEmpty(ProfilePath)
&& string.Equals(CurrentProfile.ServerName, displayServerName.Trim(), StringComparison.OrdinalIgnoreCase)`; `!Directory.Exists(directory) || !File.Exists(Path.Combine(directory, "profile.json"))`; `File.Exists(metadataPath)`.
Виклики:
-
ClassicUO.Configuration.ProfileManager.EncodePathSegment:EncodePathSegment(displayServerName.Trim()). -
ClassicUO.Configuration.ProfileManager.EncodePathSegment:EncodePathSegment(profileName.Trim()).
Внутрішній код реалізації, не самостійний скрипт.
internal static bool TryResolveProfileCharacter(
string displayServerName, string profileName, out string characterName)
{
characterName = string.Empty;
if (string.IsNullOrWhiteSpace(displayServerName) || string.IsNullOrWhiteSpace(profileName))
return false;
string serverDirectory = EncodePathSegment(displayServerName.Trim());
if (CurrentProfile != null && !string.IsNullOrEmpty(ProfilePath)
&& string.Equals(CurrentProfile.ServerName, displayServerName.Trim(), StringComparison.OrdinalIgnoreCase))
serverDirectory = Path.GetFileName(Path.GetDirectoryName(ProfilePath));
string directory = Path.Combine(RootPath, serverDirectory, EncodePathSegment(profileName.Trim()));
if (!Directory.Exists(directory) || !File.Exists(Path.Combine(directory, "profile.json")))
return false;
try
{
string metadataPath = Path.Combine(directory, ProfileCharacterNameFileName);
if (File.Exists(metadataPath))
characterName = File.ReadAllText(metadataPath, Encoding.UTF8).Trim();
}
catch (IOException) { }
catch (UnauthorizedAccessException) { }
return true;
}Виконує показані виклики та оновлення стану.
Параметри: byte stat, Lock state
Джерело: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:812.
public static void ChangeStatLock(byte stat, Lock state)
Результат: void.
Виклики:
Socket.Send_StatLockStateRequest
Внутрішній код реалізації, не самостійний скрипт.
public static void ChangeStatLock(byte stat, Lock state)
{
Socket.Send_StatLockStateRequest(stat, state);
}Виконує показані виклики та оновлення стану.
Параметри: World world
Джерело: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:719.
public static void RequestQuestMenu(World world)
Результат: void.
Виклики:
Socket.Send_QuestMenuRequest
Внутрішній код реалізації, не самостійний скрипт.
public static void RequestQuestMenu(World world)
{
Socket.Send_QuestMenuRequest(world);
}Виконує показані виклики та оновлення стану.
Параметри: int[] values
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4101.
private static HashSet<ushort> BuildFindIdentityMask(int[] values)
Результат: HashSet<ushort>.
Умови:
value < 0 || value == 0xFFFF
Виклики:
Array.Empty<int>mask.Clearmask.Add
Внутрішній код реалізації, не самостійний скрипт.
private static HashSet<ushort> BuildFindIdentityMask(int[] values)
{
var mask = new HashSet<ushort>();
foreach (int value in values ?? Array.Empty<int>())
{
if (value < 0 || value == 0xFFFF)
{
// A wildcard is one alternative, so it makes the entire
// dimension unrestricted even when concrete values coexist.
mask.Clear();
break;
}
mask.Add((ushort)value);
}
return mask;
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1291.
public void CancelTarget()
Результат: void.
Виклики:
Invoke_manager.ClearPendingTargets_world.TargetManager.CancelTarget
Внутрішній код реалізації, не самостійний скрипт.
public void CancelTarget() => Invoke(() =>
{
_manager.ClearPendingTargets();
_world.TargetManager.CancelTarget();
});Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:461.
public int GetAutoReconnect()
Результат: int.
Виклики:
Invoke
Внутрішній код реалізації, не самостійний скрипт.
public int GetAutoReconnect() => Invoke(() =>
(_world.SessionControl?.AutoReconnect ?? Settings.GlobalSettings.Reconnect) ? 1 : 0);Виконує показані виклики та оновлення стану.
Параметри: int mobileId
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2594.
public int[] GetEquipment(int mobileId)
Результат: int[].
Виклики:
-
Invoke -
`_world.Items.Values
.Where(item => !item.IsDestroyed && item.Container == (uint)mobileId && item.Layer != Layer.Invalid) .Select(item => (int)item.Serial).ToArray` -
`_world.Items.Values
.Where(item => !item.IsDestroyed && item.Container == (uint)mobileId && item.Layer != Layer.Invalid) .Select` -
`_world.Items.Values
.Where`
Внутрішній код реалізації, не самостійний скрипт.
public int[] GetEquipment(int mobileId) => Invoke(() => _world.Items.Values
.Where(item => !item.IsDestroyed && item.Container == (uint)mobileId && item.Layer != Layer.Invalid)
.Select(item => (int)item.Serial).ToArray());Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:272.
public int GetLastObject()
Результат: int.
Виклики:
Invoke
Внутрішній код реалізації, не самостійний скрипт.
public int GetLastObject() => Invoke(() => (int)_world.LastObject);Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:316.
public int GetPauseScriptOnDisconnectStatus()
Результат: int.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
public int GetPauseScriptOnDisconnectStatus() => _manager.PauseScriptsOnDisconnect ? 1 : 0;Виконує показані виклики та оновлення стану.
Параметри: int index
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:320.
public string GetScriptName(int index)
Результат: string.
Виклики:
_manager.GetScriptName
Внутрішній код реалізації, не самостійний скрипт.
public string GetScriptName(int index) => _manager.GetScriptName(index);Виконує показані виклики та оновлення стану.
Параметри: int objType, int hue
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3656.
public int[] GetStaticArt(int objType, int hue)
Результат: int[].
Умови:
objType < 0 || objType > ushort.MaxValue || Client.UO.FileManager?.Arts?.File == nullartInfo.Pixels.IsEmpty || artInfo.Width <= 0 || artInfo.Height <= 0pixel != 0 && appliedHue != 0
Виклики:
InvokeArray.Empty<int>Client.UO.FileManager.Arts.GetArtWrite32Write16Math.ClampHuesHelper.Color32To16Client.UO.FileManager.Hues.GetPartialHueColorClient.UO.FileManager.Hues.GetColorHuesHelper.GetBGRAbmp.Select(value => (int)value).ToArraybmp.Select
Повний код зберігається у файлі джерела; нижче наведено точні фрагменти.
Внутрішній код реалізації, не самостійний скрипт.
public int[] GetStaticArt(int objType, int hue) => Invoke(() =>
{
if (objType < 0 || objType > ushort.MaxValue || Client.UO.FileManager?.Arts?.File == null)
return Array.Empty<int>();
uint artIndex = unchecked((uint)objType) + ArtLoader.MAX_LAND_DATA_INDEX_COUNT;
ArtInfo artInfo = Client.UO.FileManager.Arts.GetArt(artIndex);
if (artInfo.Pixels.IsEmpty || artInfo.Width <= 0 || artInfo.Height <= 0)
return Array.Empty<int>();
// …
if (pixel != 0 && appliedHue != 0)
// …
bmp[output++] = g;
bmp[output++] = r;
}
output = rowStart + rowStride;
}
return bmp.Select(value => (int)value).ToArray();
});Повертає значення виразу нижче.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2443.
(int ClilocID, string[] Parameters)[] ReadRecords()
Результат: (int ClilocID, string[] Parameters)[].
Результат: Invoke(() => _world.OPL.GetRecords(serial)).
Виклики: Invoke.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.OPL.GetRecords(serial)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.OPL.GetRecords(serial)). Кандидати перевантаження: джерело не підтверджує вибір конкретного варіанта.
Внутрішній код реалізації, не самостійний скрипт.
(int ClilocID, string[] Parameters)[] ReadRecords() => Invoke(() => _world.OPL.GetRecords(serial));Виконує показані виклики та оновлення стану.
Параметри: string text, string[] patterns
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4074.
private static bool Matches(string text, string[] patterns)
Результат: bool.
Виклики:
Matches
Внутрішній код реалізації, не самостійний скрипт.
private static bool Matches(string text, string[] patterns) => Matches(text, patterns, true);Виконує показані виклики та оновлення стану.
Параметри: ushort hue, string message
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2056.
private void PrintClientMessage(ushort hue, string message)
Результат: void.
Виклики:
InvokeFormatScriptPrintTextGameActions.Print_manager.AppendIdeOutputReportStatus
Внутрішній код реалізації, не самостійний скрипт.
private void PrintClientMessage(ushort hue, string message) => Invoke(() =>
{
using var journalContext = new JournalMessageContext("script");
string text = FormatScriptPrintText(message);
// Use ClassicUO's native message pipeline. A Regular message with no
// parent is the same route used by the original working Injection
// client message: SystemChatControl receives the lower-left viewport
// line and GameScene records the same event in the journal.
GameActions.Print(_world, text, hue, SCRIPT_PRINT_MESSAGE_TYPE, 3, true);
_manager.AppendIdeOutput(_scriptKey, "UO.Print: " + text);
// UO.CharPrint remains the separate command for overhead text.
ReportStatus("UO.Print dispatched through the native ClassicUO lower-left/journal message route");
});Виконує показані виклики та оновлення стану.
Параметри: string text
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1283.
private void PrintInteractiveResult(string text)
Результат: void.
Виклики:
GameActions.Print_manager.AppendIdeOutputReportStatus
Внутрішній код реалізації, не самостійний скрипт.
private void PrintInteractiveResult(string text)
{
GameActions.Print(_world, text ?? string.Empty, DEFAULT_SCRIPT_PRINT_HUE,
SCRIPT_PRINT_MESSAGE_TYPE, 3, true);
_manager.AppendIdeOutput(_scriptKey, text ?? string.Empty);
ReportStatus(text ?? string.Empty);
}Виконує показані виклики та оновлення стану.
Параметри: int figureId
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2553.
public int RemoveMapFigure(int figureId)
Результат: int.
Виклики:
InvokeWorldMapGump.RemoveYokoMapFigure
Внутрішній код реалізації, не самостійний скрипт.
public int RemoveMapFigure(int figureId) => Invoke(() => WorldMapGump.RemoveYokoMapFigure(figureId));Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:988.
public int RequestInteractiveGrabTarget()
Результат: int.
Умови:
!_interactiveCommandsselected is not Item item || item.IsDestroyed_world.Player == null
Виклики:
Invoke_world.TargetManager.SetTargetingPrintInteractiveResult.FindItemByLayerGameActions.GrabItem
Внутрішній код реалізації, не самостійний скрипт.
public int RequestInteractiveGrabTarget()
{
if (!_interactiveCommands)
return 0;
int receivingContainer = _csharpState == null ? 0 : State.ReceivingContainer;
return Invoke(() =>
{
_world.TargetManager.SetTargeting(selected =>
{
if (selected is not Item item || item.IsDestroyed)
{
PrintInteractiveResult("UO.Grab: select an available item.");
return;
}
if (_world.Player == null)
{
PrintInteractiveResult("UO.Grab: the character is not available.");
return;
}
uint destination = receivingContainer > 0
? unchecked((uint)receivingContainer)
: _world.Player?.FindItemByLayer(Layer.Backpack)?.Serial ?? 0;
GameActions.GrabItem(_world, item.Serial, item.Amount, destination);
PrintInteractiveResult($"UO.Grab: grabbed 0x{item.Serial:X8}, amount={item.Amount}.");
}, 0, TargetType.Neutral);
PrintInteractiveResult("UO.Grab: target an item to grab.");
return 1;
});
}Виконує показані виклики та оновлення стану.
Параметри: int serial, int gumpId, int triggerId, int timeoutMs
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3009.
public int SendGumpSelect(int serial, int gumpId, int triggerId, int timeoutMs)
Результат: int.
Умови:
sent != 0DateTime.UtcNow >= deadline
Виклики:
DateTime.UtcNow.AddMillisecondsMath.MaxInvokeSendGumpButtonUnsafeServerGumpsUnsafe().LastOrDefaultServerGumpsUnsafeWaitError
Внутрішній код реалізації, не самостійний скрипт.
public int SendGumpSelect(int serial, int gumpId, int triggerId, int timeoutMs)
{
DateTime deadline = DateTime.UtcNow.AddMilliseconds(Math.Max(0, timeoutMs));
do
{
int sent = Invoke(() => SendGumpButtonUnsafe(ServerGumpsUnsafe().LastOrDefault(item =>
(serial is 0 or -1 || item.LocalSerial == unchecked((uint)serial))
&& (gumpId is 0 or -1 || item.ServerSerial == unchecked((uint)gumpId))), triggerId, string.Empty));
if (sent != 0)
return sent;
if (DateTime.UtcNow >= deadline)
break;
Wait(20);
}
while (true);
Error($"UO.SendGumpSelect: gump serial=0x{serial:X8}, id=0x{gumpId:X8} was not found");
return 0;
}Виконує показані виклики та оновлення стану.
Параметри: int value
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3959.
public void SetAutoBuyDelay(int value)
Результат: void.
Умови:
ProfileManager.CurrentProfile == null
Виклики:
InvokeMath.ClampProfileManager.SaveCurrentProfile
Внутрішній код реалізації, не самостійний скрипт.
public void SetAutoBuyDelay(int value) => Invoke(() =>
{
if (ProfileManager.CurrentProfile == null) return;
ProfileManager.CurrentProfile.BackNewbieAutoBuyDelay = Math.Clamp(value, 0, ushort.MaxValue);
ProfileManager.SaveCurrentProfile();
});Виконує показані виклики та оновлення стану.
Параметри: int distance
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:204.
public void SetFindDistance(int distance)
Результат: void.
Виклики:
Math.Clamp
Внутрішній код реалізації, не самостійний скрипт.
public void SetFindDistance(int distance) => State.FindDistance = Math.Clamp(distance, 0, 255);Виконує показані виклики та оновлення стану.
Параметри: int valueInt
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:208.
public void SetGrabDelay(int valueInt)
Результат: void.
Виклики:
Math.Clamp
Внутрішній код реалізації, не самостійний скрипт.
public void SetGrabDelay(int valueInt) => State.GrabDelay = Math.Clamp(valueInt, 0, 60_000);Виконує показані виклики та оновлення стану.
Параметри: string subrutineName
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2948.
public void Terminate(string subrutineName)
Результат: void.
Виклики:
_manager.TerminateProcedures_cancellationToken.ThrowIfCancellationRequested
Внутрішній код реалізації, не самостійний скрипт.
public void Terminate(string subrutineName)
{
// Control operations must not wait on the game thread or a paused worker.
_manager.TerminateProcedures(subrutineName);
_cancellationToken.ThrowIfCancellationRequested();
}Виконує показані виклики та оновлення стану.
Параметри: int id
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1518.
public void UpdateObject(int id)
Результат: void.
Умови:
_world.Mobiles.Get((uint)id) != null_world.Items.Get((uint)id) != null
Виклики:
Invoke_world.Mobiles.GetGameActions.RequestMobileStatus_world.Items.GetGameActions.SingleClick
Внутрішній код реалізації, не самостійний скрипт.
public void UpdateObject(int id) => Invoke(() =>
{
if (_world.Mobiles.Get((uint)id) != null)
{
GameActions.RequestMobileStatus(_world, (uint)id, true);
}
else if (_world.Items.Get((uint)id) != null)
{
GameActions.SingleClick(_world, (uint)id);
}
});Виконує показані виклики та оновлення стану.
Параметри: string path
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoSelectedAutoloadActions.cs:59.
internal bool IsSelectedAutoloadExplicitlyUnloaded(string path)
Результат: bool.
Виклики:
_selectedAutoloadUnloaded.Contains
Внутрішній код реалізації, не самостійний скрипт.
internal bool IsSelectedAutoloadExplicitlyUnloaded(string path)
{ lock (_selectedAutoloadActionLock) return _selectedAutoloadUnloaded.Contains(path); }Виконує показані виклики та оновлення стану.
Параметри: Action<GameObjects.GameObject> callback
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3405.
internal void ReleaseObjectSelection(Action<GameObjects.GameObject> callback)
Результат: void.
Виклики:
EnqueueMainThreadAction_world.TargetManager.ReleaseCallbackTarget
Внутрішній код реалізації, не самостійний скрипт.
internal void ReleaseObjectSelection(Action<GameObjects.GameObject> callback)
=> EnqueueMainThreadAction(() => _world.TargetManager.ReleaseCallbackTarget(callback));Виконує показані виклики та оновлення стану.
Параметри: int pageIndex
Джерело: Project_Full/src/ClassicUO.Client/Game/UI/Gumps/Gump.cs:208.
public override void ChangePage(int pageIndex)
Результат: void.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
public override void ChangePage(int pageIndex)
{
// For a gump, Page is the page that is drawing.
ActivePage = pageIndex;
}Виконує показані виклики та оновлення стану.
Параметри: uint serial
Джерело: Project_Full/src/ClassicUO.Client/Game/World.cs:556.
public Item GetOrCreateItem(uint serial)
Результат: Item.
Умови:
item != null && item.IsDestroyeditem == null
Виклики:
Items.GetItems.RemoveItem.CreateItems.Add
Внутрішній код реалізації, не самостійний скрипт.
public Item GetOrCreateItem(uint serial)
{
Item item = Items.Get(serial);
if (item != null && item.IsDestroyed)
{
Items.Remove(serial);
item = null;
}
if (item == null /*|| item.IsDestroyed*/)
{
item = Item.Create(this, serial);
Items.Add(item);
}
return item;
}Виконує показані виклики та оновлення стану.
Параметри: HashSet<int> result, InjectionValue value, ref bool invalid, ref bool unrestricted
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5252.
private static void AddMaskValue(HashSet<int> result, InjectionValue value, ref bool invalid, ref bool unrestricted)
Результат: void.
Умови:
value.Kind == InjectionValueKind.Arrayvalue.Kind == InjectionValueKind.Stringstring.IsNullOrWhiteSpace(text)token.Equals("any", StringComparison.OrdinalIgnoreCase) || token == "-1"
Виклики:
string.IsNullOrWhiteSpacetext.SplitrawToken.Trimtoken.EqualsNumberConversions.TryStr2Intresult.AddNumberConversions.ToInt
Внутрішній код реалізації, не самостійний скрипт.
private static void AddMaskValue(HashSet<int> result, InjectionValue value, ref bool invalid, ref bool unrestricted)
{
// Mask entries are scalar. A nested array is not the literal 0;
// reject it without recursively walking a potentially cyclic array.
if (value.Kind == InjectionValueKind.Array)
{
invalid = true;
return;
}
if (value.Kind == InjectionValueKind.String)
{
string text = value.String ?? string.Empty;
if (string.IsNullOrWhiteSpace(text)) unrestricted = true;
foreach (string rawToken in text.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries))
{
string token = rawToken.Trim();
if (token.Equals("any", StringComparison.OrdinalIgnoreCase) || token == "-1")
{
unrestricted = true;
continue;
}
if (NumberConversions.TryStr2Int(token, out int parsed))
{
if (parsed >= 0 && parsed != 0xFFFF)
result.Add(parsed);
else
unrestricted = true;
}
else
{
// Invalid mask tokens are ignored; a fully invalid mask matches nothing.
invalid = true;
}
}
return;
}
int number = NumberConversions.ToInt(value);
if (number >= 0 && number != 0xFFFF)
result.Add(number);
else
unrestricted = true;
}Виконує показані виклики та оновлення стану.
Параметри: string name, int id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3918.
public void AddObject(string name, int id)
Результат: void.
Виклики:
objects.Set
Внутрішній код реалізації, не самостійний скрипт.
public void AddObject(string name, int id)
=> objects.Set(name, id);Виконує показані виклики та оновлення стану.
Параметри: int id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4043.
public void Attack(int id)
Результат: void.
Виклики:
bridge.Attack
Внутрішній код реалізації, не самостійний скрипт.
public void Attack(int id) => bridge.Attack(id);Виконує показані виклики та оновлення стану.
Параметри: int x, int y, int map, bool includeObjects
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6416.
private InjectionValue BuildWorldCell(int x, int y, int map, bool includeObjects)
Результат: InjectionValue.
Умови:
map != bridge.WorldNumberland.Length >= 2includeObjectsbridge.GetX(serial) == x && bridge.GetY(serial) == y
Виклики:
Array.Empty<InjectionValue>bridge.GetLandscapeTileArray.Empty<int>result.AddBuildWorldTileRecordbridge.GetStaticTilesbridge.GetWorldItemsbridge.GetXbridge.GetYbridge.GetGraphicsbridge.GetZbridge.GetColorresult.ToArray
Внутрішній код реалізації, не самостійний скрипт.
private InjectionValue BuildWorldCell(int x, int y, int map, bool includeObjects)
{
if (map != bridge.WorldNumber)
return new InjectionValue(Array.Empty<InjectionValue>());
var result = new List<InjectionValue>();
int[] land = bridge.GetLandscapeTile(x, y, map) ?? Array.Empty<int>();
if (land.Length >= 2)
result.Add(BuildWorldTileRecord("land", 0, land[0], x, y, land[1], 0, 0));
int[] statics = bridge.GetStaticTiles(x, y, map) ?? Array.Empty<int>();
for (int offset = 0; offset + 2 < statics.Length; offset += 3)
result.Add(BuildWorldTileRecord("static", 0, statics[offset], x, y, statics[offset + 1], statics[offset + 2], 1));
if (includeObjects)
{
foreach (int serial in bridge.GetWorldItems() ?? Array.Empty<int>())
if (bridge.GetX(serial) == x && bridge.GetY(serial) == y)
result.Add(BuildWorldTileRecord("object", serial, bridge.GetGraphics(serial), x, y,
bridge.GetZ(serial), bridge.GetColor(serial), 1));
}
return new InjectionValue(result.ToArray());
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue[] values
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4497.
private int CompactGrab(InjectionValue[] values)
Результат: int.
Умови:
values == null || values.Length == 0values.Length > 4id == 0values.Length >= 3
Виклики:
GrabNumberConversions.ToIntGetObjectCompactMoveItemConvertMoveDestinationbridge.GetXbridge.GetYbridge.GetZ
Внутрішній код реалізації, не самостійний скрипт.
private int CompactGrab(InjectionValue[] values)
{
if (values == null || values.Length == 0)
return Grab();
if (values.Length > 4)
throw new NativeSubrutineException("UO.Grab accepts item; amount,item; or amount,item,container[,timeout].");
// Preserve the historical one-argument form: Grab(item) means one item.
int amount = values.Length == 1 ? 1 : NumberConversions.ToInt(values[0]);
InjectionValue item = values.Length == 1 ? values[0] : values[1];
int id = GetObject(item);
if (id == 0)
return 0;
InjectionValue destination;
if (values.Length >= 3)
destination = values[2];
else
{
int receiving = state.ReceivingContainer > 0 ? state.ReceivingContainer : bridge.Backpack;
destination = new InjectionValue(receiving);
}
if (values.Length < 4)
return CompactMoveItem(new[] { new InjectionValue(id), new InjectionValue(amount), destination });
int targetContainer = ConvertMoveDestination(destination);
bool ground = targetContainer == 0;
int x = ground ? bridge.GetX(bridge.Self) : 0xFFFF;
int y = ground ? bridge.GetY(bridge.Self) : 0xFFFF;
int z = ground ? bridge.GetZ(bridge.Self) : 0;
return CompactMoveItem(new[]
{
new InjectionValue(id), new InjectionValue(amount), destination,
new InjectionValue(x), new InjectionValue(y), new InjectionValue(z),
values[3], InjectionValue.True
});
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5513.
public void DeleteJournal()
Результат: void.
Виклики:
bridge.DeleteJournalSelectJournalEntry
Внутрішній код реалізації, не самостійний скрипт.
public void DeleteJournal()
{
bridge.DeleteJournal();
SelectJournalEntry(null);
}Виконує показані виклики та оновлення стану.
Параметри: string layer, int id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5857.
public int Equip(string layer, int id)
Результат: int.
Виклики:
bridge.EquipConvertLayer
Внутрішній код реалізації, не самостійний скрипт.
public int Equip(string layer, int id) => bridge.Equip(ConvertLayer(layer), id);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1711.
Результат: InjectionValue.Zero; new InjectionValue(id).
Умови: !TryMapFigureArg(0, out int[] figure, out string figureText); bridge.SetMapFigure(id, figure[0], figure[1], figure[2], figure[3], figure[4], figure[5], figure[6], figure[7], figure[8], figure[9], figureText) == 0.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::TryMapFigureArg:TryMapFigureArg(0, out int[] figure, out string figureText). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetMapFigure:bridge.SetMapFigure(id, figure[0], figure[1], figure[2], figure[3], figure[4], figure[5], figure[6], figure[7], figure[8], figure[9], figureText). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::SerializeMapFigure:SerializeMapFigure(figure, figureText).
Внутрішній код реалізації, не самостійний скрипт.
case "addfigure":
{
if (!TryMapFigureArg(0, out int[] figure, out string figureText))
return InjectionValue.Zero;
int id = state.NextMapFigureId++;
if (bridge.SetMapFigure(id, figure[0], figure[1], figure[2], figure[3], figure[4], figure[5], figure[6], figure[7], figure[8], figure[9], figureText) == 0)
return InjectionValue.Zero;
state.MapFigures[id] = SerializeMapFigure(figure, figureText);
return new InjectionValue(id);
}Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1284.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoBuyRule:bridge.SetAutoBuyRule(Arg(0), Arg(1), Arg(2), 0, string.Empty). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2).
Внутрішній код реалізації, не самостійний скрипт.
case "autobuy":
bridge.SetAutoBuyRule(Arg(0), Arg(1), Arg(2), 0, string.Empty); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1608.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseClientWindow:bridge.CloseClientWindow(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
Внутрішній код реалізації, не самостійний скрипт.
case "closeclientuiwindow": bridge.CloseClientWindow(Arg(0), Arg(1)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1358.
Результат: new InjectionValue(state.DropCheckCoord).
Умови: arguments.Length > 0.
Виклики:
Внутрішній код реалізації, не самостійний скрипт.
case "dropcheckcoord":
if (arguments.Length > 0) state.DropCheckCoord = Arg(0) != 0 ? 1 : 0;
return new InjectionValue(state.DropCheckCoord);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1435.
Результат: new InjectionValue(bridge.GetClilocById(Arg(0), StringArrayArg(1))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetClilocById:bridge.GetClilocById(Arg(0), StringArrayArg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::StringArrayArg:StringArrayArg(1).
Внутрішній код реалізації, не самостійний скрипт.
case "getclilocbyid":
return new InjectionValue(bridge.GetClilocById(Arg(0), StringArrayArg(1)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1605.
Результат: GumpLinesResult(bridge.GetGumpFullLines(Arg(0))).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GumpLinesResult:GumpLinesResult(bridge.GetGumpFullLines(Arg(0))). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpFullLines:bridge.GetGumpFullLines(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "getgumpfulllines": return GumpLinesResult(bridge.GetGumpFullLines(Arg(0)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1601.
Результат: new InjectionValue(bridge.GetGumpId(Arg(0))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpId:bridge.GetGumpId(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "getgumpid": return new InjectionValue(bridge.GetGumpId(Arg(0)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1570.
Результат: new InjectionValue(bridge.GetName(Arg(0, bridge.Self))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetName:bridge.GetName(Arg(0, bridge.Self)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0, bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
case "getname":
case "charname": return new InjectionValue(bridge.GetName(Arg(0, bridge.Self)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1524.
Результат: new InjectionValue(bridge.GetScriptState(Arg(0))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetScriptState:bridge.GetScriptState(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "getscriptstate": return new InjectionValue(bridge.GetScriptState(Arg(0)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1520.
Результат: new InjectionValue(bridge.GetScriptsCount()).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetScriptsCount:bridge.GetScriptsCount().
Внутрішній код реалізації, не самостійний скрипт.
case "getscriptscount": return new InjectionValue(bridge.GetScriptsCount());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1347.
Результат: new InjectionValue(state.WalkMountTimer).
Внутрішній код реалізації, не самостійний скрипт.
case "getwalkmounttimer": return new InjectionValue(state.WalkMountTimer);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1656.
Результат: new InjectionValue(arguments.Length > 0 ? bridge.IsWarMode(Arg(0)) : WarMode()).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsWarMode:bridge.IsWarMode(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.WarMode:WarMode().
Внутрішній код реалізації, не самостійний скрипт.
case "iswarmode": return new InjectionValue(arguments.Length > 0 ? bridge.IsWarMode(Arg(0)) : WarMode());Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1365.
Результат: new InjectionValue(bridge.GetYellowBar(Arg(0, bridge.Self))).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetYellowBar:bridge.GetYellowBar(Arg(0, bridge.Self)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0, bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
case "isyellowhits": return new InjectionValue(bridge.GetYellowBar(Arg(0, bridge.Self)));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2034.
Результат: new InjectionValue(GetJournalText(0)).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.GetJournalText:GetJournalText(0).
Внутрішній код реалізації, не самостійний скрипт.
case "lastjournalmessage": return new InjectionValue(GetJournalText(0));Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1294.
Результат: new InjectionValue(bridge.LastTarget).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastTarget:bridge.LastTarget.
Внутрішній код реалізації, не самостійний скрипт.
case "lasttarget": return new InjectionValue(bridge.LastTarget);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2046.
Результат: new InjectionValue(selectedJournalEntry?.TextType ?? 0).
Внутрішній код реалізації, не самостійний скрипт.
case "linetype": return new InjectionValue(selectedJournalEntry?.TextType ?? 0);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1310.
Результат: new InjectionValue((bridge as IProxyMetadataBridge)?.ProxyPort ?? 0).
Внутрішній код реалізації, не самостійний скрипт.
case "proxyport": return new InjectionValue((bridge as IProxyMetadataBridge)?.ProxyPort ?? 0);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1338.
Результат: InjectionValue.Unit.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.ClampMoveTimer:ClampMoveTimer(Arg(0), 100). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetMovementTimers:bridge.SetMovementTimers(state.RunMountTimer, state.RunUnmountTimer, state.WalkMountTimer, state.WalkUnmountTimer).
Внутрішній код реалізації, не самостійний скрипт.
case "setrunmounttimer":
state.RunMountTimer = ClampMoveTimer(Arg(0), 100);
bridge.SetMovementTimers(state.RunMountTimer, state.RunUnmountTimer, state.WalkMountTimer, state.WalkUnmountTimer);
return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1525.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetScriptName:bridge.SetScriptName(Arg(0), Text(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(1).
Внутрішній код реалізації, не самостійний скрипт.
case "setscriptname": bridge.SetScriptName(Arg(0), Text(1)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1581.
Результат: InjectionValue.Unit.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetSkillLockState:bridge.SetSkillLockState(Text(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
Внутрішній код реалізації, не самостійний скрипт.
case "setskilllockstate":
case "skilllockstate": bridge.SetSkillLockState(Text(0), Arg(1)); return InjectionValue.Unit;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1556.
Результат: new InjectionValue(bridge.ShardName).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ShardName:bridge.ShardName.
Внутрішній код реалізації, не самостійний скрипт.
case "shardname":
case "profileshardname": return new InjectionValue(bridge.ShardName);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1490.
Результат: new InjectionValue(bridge.Strength).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Strength:bridge.Strength.
Внутрішній код реалізації, не самостійний скрипт.
case "str": return new InjectionValue(bridge.Strength);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2047.
Результат: WaitJournalLine(arguments, false).
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.WaitJournalLine:WaitJournalLine(arguments, false).
Внутрішній код реалізації, не самостійний скрипт.
case "waitjournalline": return WaitJournalLine(arguments, false);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1507.
Результат: new InjectionValue(bridge.WorldNumber).
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WorldNumber:bridge.WorldNumber.
Внутрішній код реалізації, не самостійний скрипт.
case "worldnum": return new InjectionValue(bridge.WorldNumber);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1840.
Результат: new InjectionValue(state.MoveBetweenTwoCorners).
Умови: arguments.Length > 0.
Виклики:
Внутрішній код реалізації, не самостійний скрипт.
case "movebetweentwocorners":
if (arguments.Length > 0) state.MoveBetweenTwoCorners = Arg(0) != 0 ? 1 : 0;
return new InjectionValue(state.MoveBetweenTwoCorners);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1330.
Результат: new InjectionValue(state.MoveCheckStamina).
Умови: arguments.Length > 0.
Виклики:
Внутрішній код реалізації, не самостійний скрипт.
case "movecheckstamina": if (arguments.Length > 0) state.MoveCheckStamina = Math.Max(0, Arg(0)); return new InjectionValue(state.MoveCheckStamina);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1332.
Результат: new InjectionValue(state.MoveHeuristicMultiplier).
Умови: arguments.Length > 0.
Виклики:
Внутрішній код реалізації, не самостійний скрипт.
case "moveheuristicmult": if (arguments.Length > 0) state.MoveHeuristicMultiplier = Math.Max(0, Arg(0)); return new InjectionValue(state.MoveHeuristicMultiplier);Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2877.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseSimpleGump:bridge.CloseSimpleGump(arguments.Length > 0 ? Arg(0) : -1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0).
Внутрішній код реалізації, не самостійний скрипт.
case "cancelgump": bridge.CloseSimpleGump(arguments.Length > 0 ? Arg(0) : -1); break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2867.
Виклики:
-
InjectionScript.Runtime.State.NamedIgnoreLists.Remove:state.IgnoreTypeLists.Remove(Text(0), arguments.Length > 1 ? ResolveType(arguments[1]) : (int?)null, arguments.Length > 2 ? NumberConversions.ToInt(arguments[2]) : (int?)null). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[1]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[2]).
Внутрішній код реалізації, не самостійний скрипт.
case "deleteignorelist":
state.IgnoreTypeLists.Remove(Text(0), arguments.Length > 1 ? ResolveType(arguments[1]) : (int?)null,
arguments.Length > 2 ? NumberConversions.ToInt(arguments[2]) : (int?)null);
break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2890.
Результат: new InjectionValue(MoveItem(arguments[0], arguments.Length > 1 ? arguments[1] : InjectionValue.Zero, new InjectionValue("ground"), new InjectionValue(GetX()), new InjectionValue(GetY()), new InjectionValue(GetZ()))); InjectionValue.False.
Умови: arguments.Length > 0.
Виклики:
-
InjectionScript.Runtime.InjectionApiUO.MoveItem:MoveItem(arguments[0], arguments.Length > 1 ? arguments[1] : InjectionValue.Zero, new InjectionValue("ground"), new InjectionValue(GetX()), new InjectionValue(GetY()), new InjectionValue(GetZ())). -
InjectionScript.Runtime.InjectionApiUO.GetX:GetX(). -
InjectionScript.Runtime.InjectionApiUO.GetY:GetY(). -
InjectionScript.Runtime.InjectionApiUO.GetZ:GetZ().
Внутрішній код реалізації, не самостійний скрипт.
case "drophere":
if (arguments.Length > 0)
return new InjectionValue(MoveItem(arguments[0], arguments.Length > 1 ? arguments[1] : InjectionValue.Zero, new InjectionValue("ground"), new InjectionValue(GetX()), new InjectionValue(GetY()), new InjectionValue(GetZ())));
return InjectionValue.False;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2955.
Умови: mobile != 0.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMobiles:bridge.GetMobiles(). -
InjectionScript.Runtime.State.RuntimeDictionary.Set:state.Objects.Set(arguments.Length > 0 ? Text(0) : "findman", mobile). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0).
Внутрішній код реалізації, не самостійний скрипт.
case "findman":
{
int mobile = bridge.GetMobiles().FirstOrDefault();
if (mobile != 0) state.Objects.Set(arguments.Length > 0 ? Text(0) : "findman", mobile);
break;
}Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2970.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Mount:bridge.Mount(Arg(0, bridge.LastTarget)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0, bridge.LastTarget). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastTarget:bridge.LastTarget.
Внутрішній код реалізації, не самостійний скрипт.
case "mount": bridge.Mount(Arg(0, bridge.LastTarget)); break;Гілка обробляє лише вказане ім’я команди.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3057.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Print:bridge.Print(state.FontColor, Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0).
Внутрішній код реалізації, не самостійний скрипт.
case "uoamessage": bridge.Print(state.FontColor, Text(0)); break;Виконує показані виклики та оновлення стану.
Параметри: string id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3857.
public int Exists(string id)
Результат: int.
Виклики:
ExistsGetObject
Внутрішній код реалізації, не самостійний скрипт.
public int Exists(string id) => Exists(GetObject(id));Перевіряє умови нижче й повертає показаний результат.
Параметри: typeValue, color, distance, notorietyValue, nearest, maxZ
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4131.
`private int FindFilteredTargetSerial(InjectionValue typeValue, int color, int distance,
InjectionValue notorietyValue, bool nearest, int maxZ)`
Результат: int.
Результат: candidates.FirstOrDefault().
Виклики: bridge.GetIgnoreList, state.IgnoreTypeLists.FilterFor, ParseTypeMask, ParseIntMask, bridge.GetZ, bridge.GetFindDistance, Math.Max, bridge.GetFindVertical.
Умови: notorieties.Count > 0; nearest.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetIgnoreList:bridge.GetIgnoreList(). -
InjectionScript.Runtime.State.NamedIgnoreLists.FilterFor:state.IgnoreTypeLists.FilterFor(state.SelectedIgnoreList). -
InjectionScript.Runtime.InjectionApiUO.ParseTypeMask:ParseTypeMask(typeValue). -
InjectionScript.Runtime.InjectionApiUO.ParseIntMask:ParseIntMask(notorietyValue). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindDistance:bridge.GetFindDistance(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMobiles:bridge.GetMobiles(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetWorldItems:bridge.GetWorldItems(). -
InjectionScript.Runtime.InjectionApiUO.MatchesIgnoredType:MatchesIgnoredType(id, ignoredTypes). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGraphics:bridge.GetGraphics(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetColor:bridge.GetColor(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDistance:bridge.GetDistance(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetNotoriety:bridge.GetNotoriety(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
Внутрішній код реалізації, не самостійний скрипт.
private int FindFilteredTargetSerial(InjectionValue typeValue, int color, int distance,
InjectionValue notorietyValue, bool nearest, int maxZ)
{
HashSet<int> ignored = new HashSet<int>(bridge.GetIgnoreList());
IgnoreTypeFilter ignoredTypes = state.IgnoreTypeLists.FilterFor(state.SelectedIgnoreList);
HashSet<int> types = ParseTypeMask(typeValue);
HashSet<int> notorieties = ParseIntMask(notorietyValue);
int self = bridge.Self;
int selfZ = bridge.GetZ(self);
int effectiveDistance = distance < 0 ? bridge.GetFindDistance() : Math.Max(0, distance);
int effectiveMaxZ = maxZ < 0 ? bridge.GetFindVertical() : Math.Max(0, maxZ);
IEnumerable<int> candidates;
if (notorieties.Count > 0)
{
// Notoriety is a Mobile property. Supplying it makes the search mobile-only.
candidates = bridge.GetMobiles();
}
else
{
candidates = bridge.GetMobiles().Concat(bridge.GetWorldItems());
}
candidates = candidates
.Where(id => id != 0 && id != self && (!ignored.Contains(id) && !MatchesIgnoredType(id, ignoredTypes)))
.Distinct()
.Where(id => types.Count == 0 || types.Contains(bridge.GetGraphics(id)))
.Where(id => color < 0 || color == 0xFFFF || bridge.GetColor(id) == color)
.Where(id => effectiveDistance < 0 || bridge.GetDistance(id) <= effectiveDistance)
.Where(id => effectiveMaxZ < 0 || Math.Abs(bridge.GetZ(id) - selfZ) <= effectiveMaxZ)
.Where(id => notorieties.Count == 0 || notorieties.Contains(bridge.GetNotoriety(id)));
if (nearest)
candidates = candidates.OrderBy(id => bridge.GetDistance(id)).ThenBy(id => id);
return candidates.FirstOrDefault();
}Виконує показані виклики та оновлення стану.
Параметри: int abilityId
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6012.
public string GetAbilityName(int abilityId)
Результат: string.
Виклики:
bridge.GetAbilityName
Внутрішній код реалізації, не самостійний скрипт.
public string GetAbilityName(int abilityId) => bridge.GetAbilityName(abilityId);Виконує показані виклики та оновлення стану.
Параметри: int[] supportedLayers
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5807.
private IEnumerable<Equip> GetEquips(int[] supportedLayers)
Результат: IEnumerable<Equip>.
Умови:
id != 0
Виклики:
bridge.ObjAtLayer
Внутрішній код реалізації, не самостійний скрипт.
private IEnumerable<Equip> GetEquips(int[] supportedLayers)
{
foreach (var layer in supportedLayers)
{
var id = bridge.ObjAtLayer(layer);
if (id != 0)
yield return new Equip(layer, id);
}
}Виконує показані виклики та оновлення стану.
Параметри: int gumpId, string identifier, int key
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3366.
public InjectionValue GetGump(int gumpId, string identifier, int key)
Результат: InjectionValue.
Виклики:
ConvertGumpValuebridge.GetGumpValue
Внутрішній код реалізації, не самостійний скрипт.
public InjectionValue GetGump(int gumpId, string identifier, int key)
=> ConvertGumpValue(identifier, bridge.GetGumpValue(gumpId, identifier, key));Виконує показані виклики та оновлення стану.
Параметри: int id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3711.
public int GetHP(int id)
Результат: int.
Виклики:
bridge.GetHP
Внутрішній код реалізації, не самостійний скрипт.
public int GetHP(int id) => bridge.GetHP(id);Виконує показані виклики та оновлення стану.
Параметри: InjectionValue value
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2590.
private int GetJournalStartAge(InjectionValue value)
Результат: int.
Умови:
value.Kind == InjectionValueKind.Decimal && raw > 20_000d && raw < 100_000d
Виклики:
NumberConversions.ToIntDateTime.FromOADateJournalTimestampToAgeCurrentJournalTime
Внутрішній код реалізації, не самостійний скрипт.
private int GetJournalStartAge(InjectionValue value)
{
double raw = value.Kind == InjectionValueKind.Decimal ? value.Decimal : NumberConversions.ToInt(value);
// LineTime is a Decimal OLE date; Now is an Integer millisecond
// timestamp. A running script's 20000..100000 ms is not a date.
if (value.Kind == InjectionValueKind.Decimal && raw > 20_000d && raw < 100_000d)
{
try
{
double elapsed = (timeSource.Now - DateTime.FromOADate(raw)).TotalMilliseconds;
return elapsed <= 0d ? 0 : elapsed >= int.MaxValue ? int.MaxValue : (int)elapsed;
}
catch (ArgumentException)
{
}
}
return JournalTimestampToAge(raw <= 0d ? 0 : raw >= int.MaxValue ? int.MaxValue : (int)raw,
CurrentJournalTime());
}Виконує показані виклики та оновлення стану.
Параметри: int id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3715.
public int GetMaxHP(int id)
Результат: int.
Виклики:
bridge.GetMaxHP
Внутрішній код реалізації, не самостійний скрипт.
public int GetMaxHP(int id) => bridge.GetMaxHP(id);Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3728.
public string GetName()
Результат: string.
Виклики:
GetName
Внутрішній код реалізації, не самостійний скрипт.
public string GetName() => GetName("self");Виконує показані виклики та оновлення стану.
Параметри: InjectionValue name
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3946.
private int GetObject(InjectionValue name)
Результат: int.
Умови:
TryGetObject(name, out int id)
Виклики:
TryGetObject
Внутрішній код реалізації, не самостійний скрипт.
private int GetObject(InjectionValue name)
{
if (TryGetObject(name, out int id))
return id;
return -1;
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue group, InjectionValue tileId
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6385.
public int GetTileHeight(InjectionValue group, InjectionValue tileId)
Результат: int.
Виклики:
NumberConversions.ToIntbridge.GetTileDataPropertiesArray.Empty<int>
Внутрішній код реалізації, не самостійний скрипт.
public int GetTileHeight(InjectionValue group, InjectionValue tileId)
{
int tileGroup = NumberConversions.ToInt(group);
int[] properties = bridge.GetTileDataProperties(tileGroup, NumberConversions.ToInt(tileId)) ?? Array.Empty<int>();
return tileGroup == 0 || properties.Length < 7 ? 0 : properties[6];
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue x, InjectionValue y, InjectionValue map
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6303.
public InjectionValue GetWorldCell(InjectionValue x, InjectionValue y, InjectionValue map)
Результат: InjectionValue.
Виклики:
BuildWorldCellNumberConversions.ToInt
Внутрішній код реалізації, не самостійний скрипт.
public InjectionValue GetWorldCell(InjectionValue x, InjectionValue y, InjectionValue map)
=> BuildWorldCell(NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(map), true);Виконує показані виклики та оновлення стану.
Параметри: int amount, int id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4491.
public int Grab(int amount, int id)
Результат: int.
Виклики:
CompactGrab
Внутрішній код реалізації, не самостійний скрипт.
public int Grab(int amount, int id) => CompactGrab(new[] { new InjectionValue(amount), new InjectionValue(id) });Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3336.
public string InfoGumps()
Результат: string.
Виклики:
bridge.GetGumpListInspectorTextbridge.ShowGumpListInspector
Внутрішній код реалізації, не самостійний скрипт.
public string InfoGumps()
{
string document = bridge.GetGumpListInspectorText();
bridge.ShowGumpListInspector();
return document;
}Виконує показані виклики та оновлення стану.
Параметри: string id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3760.
public int IsNpc(string id)
Результат: int.
Виклики:
IsNpcGetObject
Внутрішній код реалізації, не самостійний скрипт.
public int IsNpc(string id) => IsNpc(GetObject(id));Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4425.
public int IsTargeting()
Результат: int.
Виклики:
bridge.IsTargeting
Внутрішній код реалізації, не самостійний скрипт.
public int IsTargeting() => bridge.IsTargeting();Виконує показані виклики та оновлення стану.
Параметри: int[] values
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4456.
private static int[] NormalizeLastTile(int[] values)
Результат: int[].
Умови:
values != null && values.Length >= 4values != null
Виклики:
Array.CopyMath.Min
Внутрішній код реалізації, не самостійний скрипт.
private static int[] NormalizeLastTile(int[] values)
{
if (values != null && values.Length >= 4)
return values;
var result = new int[4];
if (values != null)
Array.Copy(values, result, Math.Min(values.Length, result.Length));
return result;
}Виконує показані виклики та оновлення стану.
Параметри: string name
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6163.
private static string NormalizeLegacyEventName(string name)
Результат: string.
Умови:
value.StartsWith("ev", StringComparison.OrdinalIgnoreCase) && value.Length > 2
Виклики:
(name ?? string.Empty).Trimvalue.StartsWithvalue.Substring
Внутрішній код реалізації, не самостійний скрипт.
private static string NormalizeLegacyEventName(string name)
{
string value = (name ?? string.Empty).Trim();
if (value.StartsWith("ev", StringComparison.OrdinalIgnoreCase) && value.Length > 2)
value = value.Substring(2);
return value;
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue value
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5234.
private static HashSet<int> ParseIntMask(InjectionValue value)
Результат: HashSet<int>.
Умови:
value.Kind == InjectionValueKind.Arrayresult.Count == 0 && invalid && !unrestricted
Виклики:
AddMaskValueresult.Add
Внутрішній код реалізації, не самостійний скрипт.
private static HashSet<int> ParseIntMask(InjectionValue value)
{
var result = new HashSet<int>();
bool invalid = false, unrestricted = false;
if (value.Kind == InjectionValueKind.Array)
{
foreach (InjectionValue entry in value.Array)
AddMaskValue(result, entry, ref invalid, ref unrestricted);
}
else
AddMaskValue(result, value, ref invalid, ref unrestricted);
// Empty is the established wildcard representation. An invalid-only
// mask must instead match nothing; graphics and notoriety are nonnegative.
if (result.Count == 0 && invalid && !unrestricted)
result.Add(int.MinValue);
return result;
}Виконує показані виклики та оновлення стану.
Параметри: int mobile
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.ClassMasks.cs:126.
private HashSet<int> ReadWornTypes(int mobile)
Результат: HashSet<int>.
Умови:
bridge is IApiEquipmentSnapshotBridge snapshotlayer >= 1 && layer <= 24 && layer != 21
Виклики:
snapshot.GetWornTypesArray.Empty<int>bridge.GetEquipmentbridge.GetLayerworn.Addbridge.GetGraphics
Внутрішній код реалізації, не самостійний скрипт.
private HashSet<int> ReadWornTypes(int mobile)
{
if (bridge is IApiEquipmentSnapshotBridge snapshot)
return new HashSet<int>(snapshot.GetWornTypes(mobile) ?? Array.Empty<int>());
var worn = new HashSet<int>();
foreach (int item in bridge.GetEquipment(mobile) ?? Array.Empty<int>())
{
int layer = bridge.GetLayer(item);
if (layer >= 1 && layer <= 24 && layer != 21) worn.Add(bridge.GetGraphics(item));
}
return worn;
}Виконує показані виклики та оновлення стану.
Параметри: InjectionValue textValue, InjectionValue startValue
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3427.
public int ScanInt(InjectionValue textValue, InjectionValue startValue)
Результат: int.
Виклики:
textValue.ToStringMath.MaxMath.MinNumberConversions.ToIntRegex.Matchtext.SubstringNumberConversions.TryStr2Int
Внутрішній код реалізації, не самостійний скрипт.
public int ScanInt(InjectionValue textValue, InjectionValue startValue)
{
string text = textValue.ToString() ?? string.Empty;
int start = Math.Max(0, Math.Min(text.Length, NumberConversions.ToInt(startValue)));
Match match = Regex.Match(text.Substring(start), @"[-+]?(?:0[xX][0-9A-Fa-f]+|\d+)", RegexOptions.CultureInvariant);
return match.Success && NumberConversions.TryStr2Int(match.Value, out int value) ? value : 0;
}Виконує показані виклики та оновлення стану.
Параметри: int triggerId
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3348.
public int SendGumpSelect(int triggerId)
Результат: int.
Виклики:
bridge.SendGumpSelect
Внутрішній код реалізації, не самостійний скрипт.
public int SendGumpSelect(int triggerId) => bridge.SendGumpSelect(triggerId);Виконує показані виклики та оновлення стану.
Параметри: string name, InjectionValue[] arguments
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2760.
private static string SerializeRecordedLegacyAction(string name, InjectionValue[] arguments)
Результат: string.
Виклики:
-
`new[] { RecordedLegacyActionPrefix, EncodeRecordingText(name) }
.Concat` -
EncodeRecordingText -
(arguments ?? Array.Empty<InjectionValue>()).Select -
Array.Empty<InjectionValue> -
string.Join
Внутрішній код реалізації, не самостійний скрипт.
private static string SerializeRecordedLegacyAction(string name, InjectionValue[] arguments)
{
IEnumerable<string> fields = new[] { RecordedLegacyActionPrefix, EncodeRecordingText(name) }
.Concat((arguments ?? Array.Empty<InjectionValue>()).Select(SerializeRecordedValue));
return string.Join("\t", fields);
}Виконує показані виклики та оновлення стану.
Параметри: string id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4468.
public void SetReceivingContainer(string id)
Результат: void.
Умови:
-
`name.Equals("my", StringComparison.OrdinalIgnoreCase)
|| name.Equals("backpack", StringComparison.OrdinalIgnoreCase)`
Виклики:
(id ?? string.Empty).Trimname.EqualsSetReceivingContainerGetObject
Внутрішній код реалізації, не самостійний скрипт.
public void SetReceivingContainer(string id)
{
string name = (id ?? string.Empty).Trim();
if (name.Equals("my", StringComparison.OrdinalIgnoreCase)
|| name.Equals("backpack", StringComparison.OrdinalIgnoreCase))
{
SetReceivingContainer(bridge.Backpack);
return;
}
SetReceivingContainer(GetObject(id));
}Виконує показані виклики та оновлення стану.
Параметри: string subrutineName
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6033.
public int SubExists(string subrutineName)
Результат: int.
Виклики:
bridge.SubExists
Внутрішній код реалізації, не самостійний скрипт.
public int SubExists(string subrutineName) => bridge.SubExists(subrutineName) ? 1 : 0;Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5438.
public void TextClose()
Результат: void.
Виклики:
bridge.TextClose
Внутрішній код реалізації, не самостійний скрипт.
public void TextClose() => bridge.TextClose();Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3497.
public int TicksAnim()
Результат: int.
Виклики:
—
Внутрішній код реалізації, не самостійний скрипт.
public int TicksAnim() => ticksAnim;Виконує показані виклики та оновлення стану.
Параметри: int id
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4037.
public void UseObject(int id)
Результат: void.
Виклики:
bridge.UseObjectTimer
Внутрішній код реалізації, не самостійний скрипт.
public void UseObject(int id)
{
bridge.UseObject(id);
ticksUse = Timer();
}Виконує показані виклики та оновлення стану.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4300.
public void WaitTargetLast()
Результат: void.
Виклики:
WaitTargetObject
Внутрішній код реалізації, не самостійний скрипт.
public void WaitTargetLast() => WaitTargetObject("lasttarget");Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1063.
serial
Результат: serial.
Результат: bridge.GetLocked(serial).
Виклики: bridge.GetLocked.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLocked:bridge.GetLocked(serial).
Внутрішній код реалізації, не самостійний скрипт.
serial => bridge.GetLocked(serial)Виклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1026.
Результат: bridge.Mana.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Mana:bridge.Mana.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.ManaВиклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1051.
Результат: bridge.Sex.
Виклики:
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.SexВиклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1058.
Внутрішній код реалізації, не самостійний скрипт.
IsDeadStateВиклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1042.
Результат: bridge.Armor.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Armor:bridge.Armor.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.ArmorВиклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1043.
Результат: bridge.FireResistance.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FireResistance:bridge.FireResistance.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.FireResistanceВиклик виконує збережений delegate обробника. Метод реєстрації створює цей delegate під час побудови API.
Параметри: Немає параметрів.
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1045.
Результат: bridge.PoisonResistance.
Виклики:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PoisonResistance:bridge.PoisonResistance.
Внутрішній код реалізації, не самостійний скрипт.
() => bridge.PoisonResistanceВиконує показані виклики та оновлення стану.
Параметри: NativeSubrutineDefinition definition
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/Metadata.cs:16.
public void Add(NativeSubrutineDefinition definition)
Результат: void.
Виклики:
nativeSubrutines.Add
Внутрішній код реалізації, не самостійний скрипт.
public void Add(NativeSubrutineDefinition definition) => nativeSubrutines.Add(definition);Виконує показані виклики та оновлення стану.
Параметри: NativeSubrutineDefinition definition
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/Metadata.cs:19.
public void AddIntrinsicVariable(NativeSubrutineDefinition definition)
Результат: void.
Виклики:
intrinsicVariables.Add
Внутрішній код реалізації, не самостійний скрипт.
public void AddIntrinsicVariable(NativeSubrutineDefinition definition) => intrinsicVariables.Add(definition.Name,definition);Виконує показані виклики та оновлення стану.
Параметри: string str
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NumberConversions.cs:12.
public static int ToInt(string str)
Результат: int.
Умови:
TryStr2Int(str, out int value)
Виклики:
TryStr2Int
Внутрішній код реалізації, не самостійний скрипт.
public static int ToInt(string str)
{
if (TryStr2Int(str, out int value))
return value;
throw new FormatException("Expected a 32-bit decimal integer or a hexadecimal integer prefixed with 0x.");
}Виконує показані виклики та оновлення стану.
Параметри: string name, double value
Джерело: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/Globals.cs:44.
public void SetGlobal(string name, double value)
Результат: void.
Виклики:
SetGlobalvalue.ToString
Внутрішній код реалізації, не самостійний скрипт.
public void SetGlobal(string name, double value) => SetGlobal(name, value.ToString(CultureInfo.InvariantCulture));Виконує показані виклики та оновлення стану.
Параметри: World world, Item item, uint player
Джерело: Project_Full/src/ClassicUO.Client/Game/Managers/NativeMountController.cs:85.
private static bool IsCarriedBy(World world, Item item, uint player)
Результат: bool.
Умови:
item.Container == player
Виклики:
world.Items.Get
Внутрішній код реалізації, не самостійний скрипт.
private static bool IsCarriedBy(World world, Item item, uint player)
{
// Bound malformed/cyclic containment instead of hanging a script.
for (int depth = 0; depth < 64 && item != null && !item.IsDestroyed; depth++)
{
if (item.Container == player) return true;
item = world.Items.Get(item.Container);
}
return false;
}