Repository navigation
JA Runtime Helpers 9
Українська · Русский · 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 を実行します。登録メソッドは API の構築時にこの delegate を作成します。
引数: 引数はありません。
ソース: 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 を実行します。登録メソッドは API の構築時にこの delegate を作成します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1026.
結果: bridge.Mana.
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Mana:bridge.Mana.
内部実装のコードです。単独のスクリプトとして実行できません。
() => bridge.Mana呼び出し時には保存済みのハンドラー delegate を実行します。登録メソッドは API の構築時にこの delegate を作成します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1051.
結果: bridge.Sex.
呼び出し:
内部実装のコードです。単独のスクリプトとして実行できません。
() => bridge.Sex呼び出し時には保存済みのハンドラー delegate を実行します。登録メソッドは API の構築時にこの delegate を作成します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1058.
内部実装のコードです。単独のスクリプトとして実行できません。
IsDeadState呼び出し時には保存済みのハンドラー delegate を実行します。登録メソッドは API の構築時にこの delegate を作成します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1042.
結果: bridge.Armor.
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Armor:bridge.Armor.
内部実装のコードです。単独のスクリプトとして実行できません。
() => bridge.Armor呼び出し時には保存済みのハンドラー delegate を実行します。登録メソッドは API の構築時にこの delegate を作成します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1043.
結果: bridge.FireResistance.
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FireResistance:bridge.FireResistance.
内部実装のコードです。単独のスクリプトとして実行できません。
() => bridge.FireResistance呼び出し時には保存済みのハンドラー delegate を実行します。登録メソッドは API の構築時にこの delegate を作成します。
引数: 引数はありません。
ソース: 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;
}ClassicUO — Bad Newbie & C# Scripts IDE