Repository navigation
JA Runtime Helpers E
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
内部実装のコードです。単独のスクリプトとして実行できません。
示された呼び出しと状態更新を実行します。
引数: string name
ソース: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:318.
private int ReadState(string name)
結果: int.
呼び出し:
Convert.ToInt32nativename.ToLowerInvariant
内部実装のコードです。単独のスクリプトとして実行できません。
private int ReadState(string name) => Convert.ToInt32(native(name.ToLowerInvariant() switch
{
"death" => "Dead", "changehitpoints" => "GetHP", "changemana" => "Mana", "changestamina" => "Stamina",
_ => throw new ArgumentException("Unsupported state event: " + name)
}, []));示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/src/ClassicUO.CSharp/CSharpScriptGlobals.cs:97.
private void Verify()
結果: void.
条件:
disposed
呼び出し:
nameofCSharpExecutionScope.VerifyActivecancellation.ThrowIfCancellationRequestedCallbacks.Verifycheckpoint
内部実装のコードです。単独のスクリプトとして実行できません。
private void Verify()
{
if (disposed) throw new ObjectDisposedException(nameof(CSharpScriptGlobals));
CSharpExecutionScope.VerifyActive(); cancellation.ThrowIfCancellationRequested();
Callbacks.Verify(); checkpoint(); Callbacks.Verify();
cancellation.ThrowIfCancellationRequested(); CSharpExecutionScope.VerifyActive();
}示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1560.
public void CloseHandle()
結果: void.
呼び出し:
Invoke.Exit
内部実装のコードです。単独のスクリプトとして実行できません。
public void CloseHandle() => Invoke(() => Client.Game?.Exit());示された呼び出しと状態更新を実行します。
引数: int graphic, int serial, int amount, int hue, int x, int y
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2505.
public int CreateFakeItem(int graphic, int serial, int amount, int hue, int x, int y)
結果: int.
条件:
_world.Player == null || graphic <= 0 || graphic > ushort.MaxValueserial != 0!SerialHelper.IsItem(requestedSerial)_nextYokoFakeItemSerial < 0x7F000000
呼び出し:
InvokeSerialHelper.IsItem_world.Get_world.GetOrCreateItemSerialHelper.IsValid_world.RemoveItemFromContaineritem.CheckGraphicChangeMath.Clampitem.FixHue
内部実装のコードです。単独のスクリプトとして実行できません。
public int CreateFakeItem(int graphic, int serial, int amount, int hue, int x, int y) => Invoke(() =>
{
if (_world.Player == null || graphic <= 0 || graphic > ushort.MaxValue)
return 0;
uint requestedSerial = unchecked((uint)serial);
uint fakeSerial;
if (serial != 0)
{
if (!SerialHelper.IsItem(requestedSerial))
return 0;
fakeSerial = requestedSerial;
}
else
{
do
{
if (_nextYokoFakeItemSerial < 0x7F000000)
_nextYokoFakeItemSerial = 0x7FFEFFFF;
fakeSerial = _nextYokoFakeItemSerial--;
}
while (_world.Get(fakeSerial) != null);
}
Item item = _world.GetOrCreateItem(fakeSerial);
if (item == null)
return 0;
if (SerialHelper.IsValid(item.Container))
_world.RemoveItemFromContainer(item);
item.Container = 0xFFFF_FFFF;
item.Graphic = (ushort)graphic;
item.CheckGraphicChange();
item.Amount = (ushort)Math.Clamp(amount <= 0 ? 1 : amount, 1, ushort.MaxValue);
item.FixHue((ushort)Math.Clamp(hue, 0, ushort.MaxValue));
item.X = (ushort)Math.Clamp(x < 0 ? _world.Player.X : x, 0, ushort.MaxValue);
item.Y = (ushort)Math.Clamp(y < 0 ? _world.Player.Y : y, 0, ushort.MaxValue);
item.Z = _world.Player.Z;
item.Layer = Layer.Invalid;
item.AllowedToDraw = true;
item.IsDamageable = false;
item.IsMulti = false;
return unchecked((int)fakeSerial);
});示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:170.
public int EnergyResistance
結果: int.
呼び出し:
Invoke
内部実装のコードです。単独のスクリプトとして実行できません。
public int EnergyResistance => Invoke(() => CurrentPlayer?.EnergyResistance ?? 0);示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2494.
public int FindFullQuantity()
結果: int.
呼び出し:
—
内部実装のコードです。単独のスクリプトとして実行できません。
public int FindFullQuantity() => _findFullQuantity;示された呼び出しと状態更新を実行します。
引数: int id
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:605.
public int Flying(int id)
結果: int.
呼び出し:
Invoke_world.Get
内部実装のコードです。単独のスクリプトとして実行できません。
public int Flying(int id) => Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsFlying == true ? 1 : 0);示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:172.
public int Followers
結果: int.
呼び出し:
Invoke
内部実装のコードです。単独のスクリプトとして実行できません。
public int Followers => Invoke(() => CurrentPlayer?.Followers ?? 0);示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:698.
public string[] GetLastMenuItems()
結果: string[].
呼び出し:
Invoke_world.ServerMenus.Snapshot().LastOrDefault_world.ServerMenus.Snapshot.GetYokoItemsArray.Empty<string>
内部実装のコードです。単独のスクリプトとして実行できません。
public string[] GetLastMenuItems() => Invoke(() => _world.ServerMenus.Snapshot().LastOrDefault()?.GetYokoItems() ?? Array.Empty<string>());示された呼び出しと状態更新を実行します。
引数: int objectId
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2693.
public int GetPrice(int objectId)
結果: int.
呼び出し:
Invoke_world.Items.Get
内部実装のコードです。単独のスクリプトとして実行できません。
public int GetPrice(int objectId) => Invoke(() => unchecked((int)(_world.Items.Get(unchecked((uint)objectId))?.Price ?? 0u)));示された呼び出しと状態更新を実行します。
引数: int group, int tileId
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3836.
public long GetTileFlags(int group, int tileId)
結果: long.
条件:
group == 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.LandData.Lengthgroup != 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.StaticData.Length
呼び出し:
Invoke
内部実装のコードです。単独のスクリプトとして実行できません。
public long GetTileFlags(int group, int tileId) => Invoke(() =>
{
if (group == 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.LandData.Length)
return unchecked((long)(ulong)Client.UO.FileManager.TileData.LandData[tileId].Flags);
if (group != 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.StaticData.Length)
return unchecked((long)(ulong)Client.UO.FileManager.TileData.StaticData[tileId].Flags);
return 0L;
});示された呼び出しと状態更新を実行します。
引数: int firstId, int secondId
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3145.
public int GumpExists(int firstId, int secondId)
結果: int.
条件:
secondId != -1
呼び出し:
InvokeServerGumpsUnsafegumps.Any
内部実装のコードです。単独のスクリプトとして実行できません。
public int GumpExists(int firstId, int secondId) => Invoke(() =>
{
List<Gump> gumps = ServerGumpsUnsafe();
if (secondId != -1)
{
return gumps.Any(g => g.LocalSerial == (uint)firstId && g.ServerSerial == (uint)secondId) ? 1 : 0;
}
return gumps.Any(g => g.LocalSerial == (uint)firstId || g.ServerSerial == (uint)firstId)
|| firstId >= 0 && firstId < gumps.Count ? 1 : 0;
});示された呼び出しと状態更新を実行します。
引数: string callbackName, int x, int y, int z
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1692.
public int InvokeStepCallback(string callbackName, int x, int y, int z)
結果: int.
条件:
string.IsNullOrWhiteSpace(callbackName)
呼び出し:
-
string.IsNullOrWhiteSpace -
`(_csharpGlobals ?? throw new InvalidOperationException("Register movement callbacks in the current C# script context."))
.InvokeStepCallback`
内部実装のコードです。単独のスクリプトとして実行できません。
public int InvokeStepCallback(string callbackName, int x, int y, int z)
{
if (string.IsNullOrWhiteSpace(callbackName))
return 1;
return (_csharpGlobals ?? throw new InvalidOperationException("Register movement callbacks in the current C# script context."))
.InvokeStepCallback(callbackName, x, y, z);
}示された呼び出しと状態更新を実行します。
引数: int id
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:243.
public int IsFemale(int id)
結果: int.
呼び出し:
Invoke_world.Get
内部実装のコードです。単独のスクリプトとして実行できません。
public int IsFemale(int id) => Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsFemale == true ? 1 : 0);示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:254.
public int IsTrade()
結果: int.
呼び出し:
InvokeFindTrade
内部実装のコードです。単独のスクリプトとして実行できません。
public int IsTrade() => Invoke(() => FindTrade(0) != null ? 1 : 0);示された呼び出しと状態更新を実行します。
引数: int index
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2196.
public int JournalFont(int index)
結果: int.
呼び出し:
GetJournalEntry
内部実装のコードです。単独のスクリプトとして実行できません。
public int JournalFont(int index) => GetJournalEntry(index)?.Font ?? 0;示された呼び出しと状態更新を実行します。
引数: int x, int y
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1530.
public void LClick(int x, int y)
結果: void.
呼び出し:
InvokeWarpMouseMouseButton
内部実装のコードです。単独のスクリプトとして実行できません。
public void LClick(int x, int y) => Invoke(() =>
{
WarpMouse(x, y);
MouseButton(0x0002, 0x0004);
});示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:171.
public int Luck
結果: int.
呼び出し:
Invoke
内部実装のコードです。単独のスクリプトとして実行できません。
public int Luck => Invoke(() => CurrentPlayer?.Luck ?? 0);示された呼び出しと状態更新を実行します。
引数: Entity gameObject, int type, int color, IgnoreTypeFilter ignoredTypes
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4091.
private bool MatchesFindIdentity(Entity gameObject, int type, int color, IgnoreTypeFilter ignoredTypes)
結果: bool.
呼び出し:
State.IgnoredSerials.ContainsignoredTypes.Matches
内部実装のコードです。単独のスクリプトとして実行できません。
private bool MatchesFindIdentity(Entity gameObject, int type, int color, IgnoreTypeFilter ignoredTypes)
{
return gameObject != null
&& !gameObject.IsDestroyed
&& !State.IgnoredSerials.Contains(unchecked((int)gameObject.Serial))
&& !ignoredTypes.Matches(gameObject.Graphic, gameObject.Hue)
&& (type < 0 || type == 0xFFFF || gameObject.Graphic == (ushort)type)
&& (color < 0 || color == 0xFFFF || gameObject.Hue == (ushort)color);
}示された呼び出しと状態更新を実行します。
引数: int serial
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1708.
public void PartyInvite(int serial)
結果: void.
呼び出し:
Invoke_manager.QueueTargetGameActions.RequestPartyInviteByTarget
内部実装のコードです。単独のスクリプトとして実行できません。
public void PartyInvite(int serial) => Invoke(() =>
{
_manager.QueueTarget((uint)serial);
GameActions.RequestPartyInviteByTarget();
});示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1714.
public void PartyLeave()
結果: void.
条件:
_world.Player != null
呼び出し:
InvokeGameActions.RequestPartyQuit
内部実装のコードです。単独のスクリプトとして実行できません。
public void PartyLeave() => Invoke(() => { if (_world.Player != null) GameActions.RequestPartyQuit(_world.Player); });示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1705.
public int[] PartyMembersList()
結果: int[].
呼び出し:
-
Invoke -
`_world.Party.Members
.Where(member => member != null && member.Serial != 0).Select(member => (int)member.Serial).ToArray` -
`_world.Party.Members
.Where(member => member != null && member.Serial != 0).Select` -
`_world.Party.Members
.Where`
内部実装のコードです。単独のスクリプトとして実行できません。
public int[] PartyMembersList() => Invoke(() => _world.Party.Members
.Where(member => member != null && member.Serial != 0).Select(member => (int)member.Serial).ToArray());示された呼び出しと状態更新を実行します。
引数: int index
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:327.
public void PauseResumeScript(int index)
結果: void.
呼び出し:
_manager.PauseResumeScript
内部実装のコードです。単独のスクリプトとして実行できません。
public void PauseResumeScript(int index) => _manager.PauseResumeScript(index);示された呼び出しと状態更新を実行します。
引数: int direction, bool running, bool forcePacket
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3442.
private (int Result, int ConfirmGeneration, int DenyGeneration, WalkerManager Walker) QueueStep(int direction, bool running, bool forcePacket)
結果: (int Result, int ConfirmGeneration, int DenyGeneration, WalkerManager Walker).
条件:
-
player == null || !_world.InGame || !NetClient.Socket.IsConnected || direction < 0 || direction > 7 -
walker.StepsCount >= Constants.MAX_STEP_COUNT -
`walker.WalkingFailed || walker.LastStepRequestTime > Time.Ticks
|| Client.UO.Version >= ClientVersion.CV_60142 && player.IsParalyzed` -
!player.Walk((Direction)direction, running, forcePacket)
呼び出し:
Invoke_manager.StopFollowingwalker.GetConfirmGenerationwalker.GetDenyGenerationplayer.Walk
内部実装のコードです。単独のスクリプトとして実行できません。
private (int Result, int ConfirmGeneration, int DenyGeneration, WalkerManager Walker) QueueStep(int direction, bool running, bool forcePacket) => Invoke(() =>
{
PlayerMobile player = _world.Player;
if (player == null || !_world.InGame || !NetClient.Socket.IsConnected || direction < 0 || direction > 7)
return (STEP_QUEUE_GENERAL_ERROR, 0, 0, (WalkerManager)null);
_manager.StopFollowing();
WalkerManager walker = player.Walker;
if (walker.StepsCount >= Constants.MAX_STEP_COUNT)
return (STEP_QUEUE_OVERFLOW, 0, 0, walker);
if (walker.WalkingFailed || walker.LastStepRequestTime > Time.Ticks
|| Client.UO.Version >= ClientVersion.CV_60142 && player.IsParalyzed)
return (STEP_QUEUE_GENERAL_ERROR, 0, 0, walker);
int beforeSteps = walker.StepsCount;
byte requestSequence = walker.WalkSequence;
int confirmGeneration = walker.GetConfirmGeneration(requestSequence);
int denyGeneration = walker.GetDenyGeneration(requestSequence);
if (!player.Walk((Direction)direction, running, forcePacket))
return (STEP_QUEUE_CLIENT_BLOCKED, confirmGeneration, denyGeneration, walker);
if (walker.StepsCount <= beforeSteps)
return (STEP_QUEUE_TURN_ONLY, confirmGeneration, denyGeneration, walker);
return ((int)walker.StepInfos[beforeSteps].Sequence, confirmGeneration, denyGeneration, walker);
});示された呼び出しと状態更新を実行します。
引数: int x, int y
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1546.
public void RDblClick(int x, int y)
結果: void.
呼び出し:
InvokeWarpMouseMouseButton
内部実装のコードです。単独のスクリプトとして実行できません。
public void RDblClick(int x, int y) => Invoke(() =>
{
WarpMouse(x, y);
MouseButton(0x0008, 0x0010);
MouseButton(0x0008, 0x0010);
});示された呼び出しと状態更新を実行します。
引数: int gumpId, string identifier, int key, string state
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3183.
public void SetGumpValue(int gumpId, string identifier, int key, string state)
結果: void.
条件:
TrySetGumpValue(gumpId, identifier, key, state) == 0
呼び出し:
TrySetGumpValueError
内部実装のコードです。単独のスクリプトとして実行できません。
public void SetGumpValue(int gumpId, string identifier, int key, string state)
{
if (TrySetGumpValue(gumpId, identifier, key, state) == 0)
Error($"UO.SetGump: no matching {identifier} control in gump {gumpId}");
}示された呼び出しと状態更新を実行します。
引数: string name, int state
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2329.
public void SetSkillLockState(string name, int state)
結果: void.
条件:
skill == null || state < 0 || state > 2
呼び出し:
InvokeFindSkillUnsafeGameActions.ChangeSkillLockStatus
内部実装のコードです。単独のスクリプトとして実行できません。
public void SetSkillLockState(string name, int state) => Invoke(() =>
{
Skill skill = FindSkillUnsafe(name);
if (skill == null || state < 0 || state > 2) return;
GameActions.ChangeSkillLockStatus((ushort)skill.Index, (byte)state);
skill.Lock = (Lock)state;
});示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:159.
public int Stamina
結果: int.
呼び出し:
Invoke
内部実装のコードです。単独のスクリプトとして実行できません。
public int Stamina => Invoke(() => CurrentPlayer?.Stamina ?? 0);示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:804.
public int TargetLast()
結果: int.
条件:
!target.IsTargetinglast.IsEntitylast.IsStatic || last.IsLand
呼び出し:
Invoketarget.Target
内部実装のコードです。単独のスクリプトとして実行できません。
public int TargetLast() => Invoke(() =>
{
TargetManager target = _world.TargetManager;
LastTargetInfo last = target.LastTargetInfo;
if (!target.IsTargeting)
return 0;
if (last.IsEntity)
{
target.Target(last.Serial);
return 1;
}
if (last.IsStatic || last.IsLand)
{
target.Target(last.Graphic, last.X, last.Y, last.Z);
return 1;
}
return 0;
});示された呼び出しと状態更新を実行します。
引数: int layer, int? expectedSerial
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2250.
private int UnequipExpected(int layer, int? expectedSerial)
結果: int.
条件:
!_world.InGame || !NetClient.Socket.IsConnected || !ReferenceEquals(Client.UO?.World, _world)expectedSerial.HasValueexpected == null || expected.IsDestroyed || expected.Container != _world.Player.Seriallayer <= (int)Layer.Invalid || layer > (int)Layer.Bank
呼び出し:
InvokeReferenceEquals_world.Items.Get_world.Player.FindItemByLayerTryMoveItemRequestWait
内部実装のコードです。単独のスクリプトとして実行できません。
private int UnequipExpected(int layer, int? expectedSerial)
{
bool moved = Invoke(() =>
{
if (!_world.InGame || !NetClient.Socket.IsConnected || !ReferenceEquals(Client.UO?.World, _world)) return false;
if (expectedSerial.HasValue)
{
Item expected = _world.Items.Get((uint)expectedSerial.Value);
if (expected == null || expected.IsDestroyed || expected.Container != _world.Player.Serial) return false;
layer = (int)expected.Layer;
}
if (layer <= (int)Layer.Invalid || layer > (int)Layer.Bank) return false;
Item item = _world.Player.FindItemByLayer((Layer)layer);
Item backpack = _world.Player.FindItemByLayer(Layer.Backpack);
if (item == null || item.IsDestroyed || backpack == null || backpack.IsDestroyed
|| expectedSerial.HasValue && item.Serial != (uint)expectedSerial.Value) return false;
if (!TryMoveItemRequest((int)item.Serial, 0, (int)backpack.Serial, -1, -1, 0)) return false;
if (layer == (int)Layer.OneHanded) _lastRightHand = (int)item.Serial;
if (layer == (int)Layer.TwoHanded) _lastLeftHand = (int)item.Serial;
return true;
});
if (moved && State.GrabDelay > 0) Wait(State.GrabDelay);
return moved ? 1 : 0;
}示された呼び出しと状態更新を実行します。
引数: int mode
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2283.
public void WarMode(int mode)
結果: void.
条件:
_world.Player != null && _world.Player.InWarMode != (mode != 0)
呼び出し:
InvokeGameActions.ToggleWarMode
内部実装のコードです。単独のスクリプトとして実行できません。
public void WarMode(int mode) => Invoke(() =>
{
if (_world.Player != null && _world.Player.InWarMode != (mode != 0))
{
GameActions.ToggleWarMode(_world.Player);
}
});示された呼び出しと状態更新を実行します。
引数: int index
ソース: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2869.
internal void StopScript(int index)
結果: void.
条件:
script != null
呼び出し:
ElementAtRunningScriptsscript.TryStop
内部実装のコードです。単独のスクリプトとして実行できません。
internal void StopScript(int index)
{
YokoRunningScript script = ElementAt(RunningScripts(), index);
if (script != null)
{
script.TryStop();
}
}示された呼び出しと状態更新を実行します。
引数: uint serial
ソース: Project_Full/src/ClassicUO.Client/Game/SerialHelper.cs:22.
public static bool IsItem(uint serial)
結果: bool.
呼び出し:
—
内部実装のコードです。単独のスクリプトとして実行できません。
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsItem(uint serial)
{
return serial >= 0x40000000 && serial < 0x80000000;
}示された呼び出しと状態更新を実行します。
引数: int figureId, int kind, int coord, int x1, int y1, int x2, int y2, int brushColor, int brushStyle, int color, int worldNum, string text
ソース: Project_Full/src/ClassicUO.Client/Game/UI/Gumps/WorldMapGump.cs:72.
internal static int SetYokoMapFigure(int figureId, int kind, int coord, int x1, int y1, int x2, int y2, int brushColor, int brushStyle, int color, int worldNum, string text)
結果: int.
条件:
figureId <= 0 || kind < 0 || kind > 4 || coord < 0 || coord > 1
呼び出し:
—
内部実装のコードです。単独のスクリプトとして実行できません。
internal static int SetYokoMapFigure(int figureId, int kind, int coord, int x1, int y1, int x2, int y2, int brushColor, int brushStyle, int color, int worldNum, string text)
{
if (figureId <= 0 || kind < 0 || kind > 4 || coord < 0 || coord > 1)
return 0;
_yokoMapFigures[figureId] = new YokoMapFigure
{
Id = figureId,
Kind = kind,
Coord = coord,
X1 = x1,
Y1 = y1,
X2 = x2,
Y2 = y2,
BrushColor = brushColor,
BrushStyle = brushStyle,
Color = color,
WorldNum = worldNum,
Text = text ?? string.Empty
};
return 1;
}示された呼び出しと状態更新を実行します。
引数: uint serial
ソース: Project_Full/src/ClassicUO.Client/Game/World.cs:594.
public void RemoveItemFromContainer(uint serial)
結果: void.
条件:
it != null
呼び出し:
Items.GetRemoveItemFromContainer
内部実装のコードです。単独のスクリプトとして実行できません。
public void RemoveItemFromContainer(uint serial)
{
Item it = Items.Get(serial);
if (it != null)
{
RemoveItemFromContainer(it);
}
}示された呼び出しと状態更新を実行します。
引数: InjectionValue id
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3901.
public int CanChangeName(InjectionValue id)
結果: int.
呼び出し:
bridge.CanChangeNameGetObject
内部実装のコードです。単独のスクリプトとして実行できません。
public int CanChangeName(InjectionValue id) => bridge.CanChangeName(GetObject(id));示された呼び出しと状態更新を実行します。
引数: string color, string msg
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5456.
public void CharPrint(string color, string msg)
結果: void.
呼び出し:
CharPrintNumberConversions.ToInt
内部実装のコードです。単独のスクリプトとして実行できません。
public void CharPrint(string color, string msg) => CharPrint(bridge.Self, NumberConversions.ToInt(color), msg);示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3902.
public int CircleTrans()
結果: int.
呼び出し:
bridge.CircleTrans
内部実装のコードです。単独のスクリプトとして実行できません。
public int CircleTrans() => bridge.CircleTrans();示された呼び出しと状態更新を実行します。
引数: InjectionValue containerId
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6463.
private int ConvertContainer(InjectionValue containerId)
結果: int.
呼び出し:
ConvertContainer
内部実装のコードです。単独のスクリプトとして実行できません。
private int ConvertContainer(InjectionValue containerId)
{
switch (containerId.Kind)
{
case InjectionValueKind.String:
return ConvertContainer(containerId.String);
case InjectionValueKind.Integer:
// The public Ground() token is zero; bridge searches use 1.
// Keep the compact API's -1 inventory/default selector.
return containerId.Integer == 0 ? 1 : containerId.Integer;
default:
throw new NativeSubrutineException(
$"A container must be an object name or serial ID, not {containerId.Kind}.");
}
}示された呼び出しと状態更新を実行します。
引数: InjectionValue type
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5334.
public int CountGround(InjectionValue type)
結果: int.
呼び出し:
CountGround
内部実装のコードです。単独のスクリプトとして実行できません。
public int CountGround(InjectionValue type)
=> CountGround(type, new InjectionValue(-1));示された呼び出しと状態更新を実行します。
引数: InjectionValue type, InjectionValue color
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5336.
public int CountGround(InjectionValue type, InjectionValue color)
結果: int.
呼び出し:
bridge.CountResolveTypeNumberConversions.ToInt
内部実装のコードです。単独のスクリプトとして実行できません。
public int CountGround(InjectionValue type, InjectionValue color)
=> bridge.Count(ResolveType(type), NumberConversions.ToInt(color), 1);以下の条件を確認し、示された結果を返します。
引数: index
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1145.
int[] ArrayArg(int index)
結果: int[].
結果: Array.Empty<int>().
呼び出し: Array.Empty<int>, arguments[index].Array.Select(NumberConversions.ToInt).ToArray, arguments[index].Array.Select, Arg.
条件: index >= arguments.Length.
呼び出し:
内部実装のコードです。単独のスクリプトとして実行できません。
int[] ArrayArg(int index)
{
if (index >= arguments.Length) return Array.Empty<int>();
return arguments[index].Kind == InjectionValueKind.Array
? arguments[index].Array.Select(NumberConversions.ToInt).ToArray()
: new[] { Arg(index) };
}この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1231.
結果: InjectionValue.Unit.
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "addtojournal":
case "addtosystemjournal":
case "clientprint":
SystemMessage(Text(0)); return InjectionValue.Unit;この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1243.
結果: InjectionValue.Unit.
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage(arguments.Length > 0 ? Text(0) : "Alarm"). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "alarm":
SystemMessage(arguments.Length > 0 ? Text(0) : "Alarm"); return InjectionValue.Unit;この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1780.
結果: InjectionValue.Unit.
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.BookClearText:bridge.BookClearText().
内部実装のコードです。単独のスクリプトとして実行できません。
case "bookcleartext":
state.BookPages.Clear();
bridge.BookClearText();
return InjectionValue.Unit;この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2028.
結果: InjectionValue.Unit.
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DeleteSystemJournal:bridge.DeleteSystemJournal(). -
InjectionScript.Runtime.InjectionApiUO.SelectJournalEntry:SelectJournalEntry(null).
内部実装のコードです。単独のスクリプトとして実行できません。
case "clearsystemjournal": bridge.DeleteSystemJournal(); SelectJournalEntry(null); return InjectionValue.Unit;この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1613.
結果: InjectionValue.Unit.
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.Click:Click(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "clickonobject": Click(Arg(0)); return InjectionValue.Unit;この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1299.
結果: new InjectionValue(bridge.IsOnline()).
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsOnline:bridge.IsOnline().
内部実装のコードです。単独のスクリプトとして実行できません。
case "connected": return new InjectionValue(bridge.IsOnline());この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1500.
結果: new InjectionValue(bridge.EnergyResistance).
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.EnergyResistance:bridge.EnergyResistance.
内部実装のコードです。単独のスクリプトとして実行できません。
case "energyresist": return new InjectionValue(bridge.EnergyResistance);この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1484.
結果: new InjectionValue(bridge.FindAtCoord(Arg(0), Arg(1))).
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindAtCoord:bridge.FindAtCoord(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
内部実装のコードです。単独のスクリプトとして実行できません。
case "findatcoord": return new InjectionValue(bridge.FindAtCoord(Arg(0), Arg(1)));この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1542.
結果: new InjectionValue(foundedTextId >= 0 ? foundedTextId : 0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "foundedparamid":
return new InjectionValue(foundedTextId >= 0 ? foundedTextId : 0);この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1317.
結果: new InjectionValue(bridge.GetAutoBuyDelay()).
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetAutoBuyDelay:bridge.GetAutoBuyDelay().
内部実装のコードです。単独のスクリプトとして実行できません。
case "getautobuydelay":
return new InjectionValue(bridge.GetAutoBuyDelay());この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1606.
結果: GumpLinesResult(bridge.GetGumpButtonsDescription(Arg(0))).
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.GumpLinesResult:GumpLinesResult(bridge.GetGumpButtonsDescription(Arg(0))). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpButtonsDescription:bridge.GetGumpButtonsDescription(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "getgumpbuttonsdescription": return GumpLinesResult(bridge.GetGumpButtonsDescription(Arg(0)));この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1604.
結果: GumpLinesResult(bridge.GetGumpShortLines(Arg(0))).
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.GumpLinesResult:GumpLinesResult(bridge.GetGumpShortLines(Arg(0))). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpShortLines:bridge.GetGumpShortLines(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "getgumpshortlines": return GumpLinesResult(bridge.GetGumpShortLines(Arg(0)));この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1603.
結果: StringArray(bridge.GetGumpTextLines(Arg(0))).
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.StringArray:StringArray(bridge.GetGumpTextLines(Arg(0))). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpTextLines:bridge.GetGumpTextLines(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "getgumptextlines": return StringArray(bridge.GetGumpTextLines(Arg(0)));この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1854.
結果: FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), ArrayArg(5), false).
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.FindPortableTiles:FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), ArrayArg(5), false). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(4). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::ArrayArg:ArrayArg(5).
内部実装のコードです。単独のスクリプトとして実行できません。
case "getlandtilesarrayex":
return FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), ArrayArg(5), false);この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1573.
結果: new InjectionValue(bridge.GetNotoriety(Arg(0))).
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetNotoriety:bridge.GetNotoriety(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "getnotoriety": return new InjectionValue(bridge.GetNotoriety(Arg(0)));この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1437.
結果: new InjectionValue(bridge.GetPrice(Arg(0))).
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetPrice:bridge.GetPrice(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "getprice":
return new InjectionValue(bridge.GetPrice(Arg(0)));この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1580.
結果: new InjectionValue(bridge.GetSkillLockState(Text(0))).
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetSkillLockState:bridge.GetSkillLockState(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "getskilllockstate": return new InjectionValue(bridge.GetSkillLockState(Text(0)));この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1856.
new []
結果: [].
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.FindPortableTiles:FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), new[] { Arg(5) }, true). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(4). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(5).
内部実装のコードです。単独のスクリプトとして実行できません。
case "getstatictilesarray":
return FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), new[] { Arg(5) }, true);この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1491.
結果: new InjectionValue(bridge.Intelligence).
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Intelligence:bridge.Intelligence.
内部実装のコードです。単独のスクリプトとして実行できません。
case "int": return new InjectionValue(bridge.Intelligence);この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1362.
結果: new InjectionValue(bridge.Hidden(Arg(0, bridge.Self))).
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Hidden:bridge.Hidden(Arg(0, bridge.Self)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0, bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
内部実装のコードです。単独のスクリプトとして実行できません。
case "ishidden": return new InjectionValue(bridge.Hidden(Arg(0, bridge.Self)));この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1329.
結果: new InjectionValue(state.LosOptions).
条件: arguments.Length > 0.
呼び出し:
内部実装のコードです。単独のスクリプトとして実行できません。
case "losoptions": if (arguments.Length > 0) state.LosOptions = Arg(0); return new InjectionValue(state.LosOptions);この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1530.
結果: new InjectionValue(bridge.GetLastObject()).
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLastObject:bridge.GetLastObject().
内部実装のコードです。単独のスクリプトとして実行できません。
case "lastobject": return new InjectionValue(bridge.GetLastObject());この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2038.
結果: new InjectionValue(GetFoundedTextIndex()).
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.GetFoundedTextIndex:GetFoundedTextIndex().
内部実装のコードです。単独のスクリプトとして実行できません。
case "lineindex": return new InjectionValue(GetFoundedTextIndex());この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1559.
結果: new InjectionValue(bridge.GetMaxHP(bridge.Self)).
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMaxHP:bridge.GetMaxHP(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
内部実装のコードです。単独のスクリプトとして実行できません。
case "maxlife": return new InjectionValue(bridge.GetMaxHP(bridge.Self));この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1529.
結果: InjectionValue.Unit.
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PauseResumeScript:bridge.PauseResumeScript(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "pauseresumescript": bridge.PauseResumeScript(Arg(0)); return InjectionValue.Unit;この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1502.
結果: new InjectionValue(bridge.Followers).
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Followers:bridge.Followers.
内部実装のコードです。単独のスクリプトとして実行できません。
case "petscurrent": return new InjectionValue(bridge.Followers);この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1325.
結果: InjectionValue.Unit.
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoSellDelay:bridge.SetAutoSellDelay(state.AutoSellDelay).
内部実装のコードです。単独のスクリプトとして実行できません。
case "setautoselldelay":
state.AutoSellDelay = Math.Max(0, Arg(0));
bridge.SetAutoSellDelay(state.AutoSellDelay);
return InjectionValue.Unit;この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1280.
結果: InjectionValue.Unit.
条件: arguments.Length > 1.
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetJournalLine:bridge.SetJournalLine(Arg(0), Text(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(1). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetJournalLine:bridge.SetJournalLine(Arg(0)).
内部実装のコードです。単独のスクリプトとして実行できません。
case "setjournalline":
if (arguments.Length > 1) bridge.SetJournalLine(Arg(0), Text(1));
else bridge.SetJournalLine(Arg(0));
return InjectionValue.Unit;この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1958.
結果: InjectionValue.Unit.
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StopBoat:bridge.StopBoat().
内部実装のコードです。単独のスクリプトとして実行できません。
case "stopboat": bridge.StopBoat(); return InjectionValue.Unit;この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1677.
結果: InjectionValue.Unit.
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseObject:bridge.UseObject(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "useotherpaperdollscroll": bridge.UseObject(Arg(0)); return InjectionValue.Unit;この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2048.
結果: WaitJournalLine(arguments, true).
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.WaitJournalLine:WaitJournalLine(arguments, true).
内部実装のコードです。単独のスクリプトとして実行できません。
case "waitjournallinesystem": return WaitJournalLine(arguments, true);示された呼び出しと状態更新を実行します。
引数: string name, params InjectionValue[] arguments
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2868.
private InjectionValue ExecuteLegacyManualAlias(string name, params InjectionValue[] arguments)
結果: InjectionValue.
条件:
-
`recordNextLegacyAction && !replayingLegacyAction
&& !normalizedName.Equals("SetRec", StringComparison.OrdinalIgnoreCase) && !normalizedName.Equals("UseRec", StringComparison.OrdinalIgnoreCase)` -
index >= arguments.Length -
arguments[index].Kind == InjectionValueKind.String && TryGetObject(arguments[index], out int serial) -
!state.LegacyLists.TryGetValue(key, out List<string> list)
呼び出し:
-
(name ?? string.Empty).Trim -
normalizedName.Equals -
SerializeRecordedLegacyAction -
arguments[index].ToString -
TryGetObject -
NumberConversions.ToInt -
state.LegacyLists.TryGetValue -
name.ToLowerInvariant -
LegacyList(name).Add -
LegacyList -
string.Join -
arguments.Select -
value.ToString -
AddType -
state.IgnoreTypeLists.Add -
Text -
ResolveType -
LegacyList("AddFindList").Clear -
LegacyList("AddFindList").RemoveAll -
`value.Split('|')[0]
.Equals` -
value.Split -
LegacyListEntryMatches -
state.IgnoreTypeLists.Remove -
Text(0).Trim -
MoveOff -
bridge.AddMenuHook -
arguments[0].ToString -
arguments[1].ToString -
bridge.ClearMenuHooks -
bridge.CloseSimpleGump -
Arg -
IgnoreReset -
state.IgnoreTypeLists.Clear -
Math.Max -
bridge.SetJournalLength -
bridge.CloseHandle -
bridge.Dismount -
MoveItem -
GetX -
GetY -
GetZ -
bridge.SetAutoBuyRule -
bridge.SetAutoSellRule -
SystemMessage -
bridge.GetShopList -
bridge.UseObject -
bridge.GetName -
bridge.GetGraphics -
bridge.GetColor -
bridge.GetX -
bridge.GetY -
bridge.GetZ -
bridge.RequestInteractiveObjectInfoTarget -
bridge.GetObjectInfoText -
bridge.ShowGumpInspector -
bridge.ShowGumpListInspector -
bridge.RequestInteractiveTileInfoTarget -
bridge.GetTileInfoText -
bridge.WaitTargetObject -
bridge.GetLastObject -
state.Objects.Set -
state.Objects.Remove -
bridge.EmoteAction -
ExecuteEmptyContainer -
bridge.SetSpeechFilter -
bridge.SetWeatherFilter -
bridge.GetMobiles().FirstOrDefault -
bridge.GetMobiles -
bridge.SelectGump -
bridge.RequestInteractiveHideTarget -
bridge.ClientHide -
bridge.Mount -
UseSkillAtTarget -
UseSkill -
bridge.SetLight -
bridge.LoadHotkeys -
bridge.SaveHotkeys -
bridge.CreateFakeItem -
bridge.MassMove -
ResolveTransferDestination -
bridge.MassPriceMove -
bridge.AllPrice -
bridge.GetFoundItems().Select -
bridge.GetFoundItems -
bridge.OpenDoor -
bridge.RenameMobile -
bridge.Resync -
bridge.ResetProfile -
Unequip -
GetProfile -
TryDeserializeRecordedLegacyAction -
ExecuteLegacyManualAlias -
bridge.SetSeason -
bridge.ShowJournal -
bridge.PlaySound -
bridge.Step -
bridge.Print -
bridge.SetGumpValue -
Say -
SetReceivingContainer -
WaitTargetObject -
CancelTarget -
UnsetReceivingContainer
完全なコードはソースファイルにあります。以下は正確な抜粋です。
内部実装のコードです。単独のスクリプトとして実行できません。
private InjectionValue ExecuteLegacyManualAlias(string name, params InjectionValue[] arguments)
{
string normalizedName = (name ?? string.Empty).Trim();
if (recordNextLegacyAction && !replayingLegacyAction
&& !normalizedName.Equals("SetRec", StringComparison.OrdinalIgnoreCase)
&& !normalizedName.Equals("UseRec", StringComparison.OrdinalIgnoreCase))
{
state.RecordedAction = SerializeRecordedLegacyAction(normalizedName, arguments);
// …
if (index >= arguments.Length) return fallback;
if (arguments[index].Kind == InjectionValueKind.String && TryGetObject(arguments[index], out int serial)) return serial;
return NumberConversions.ToInt(arguments[index]);
// …
if (!state.LegacyLists.TryGetValue(key, out List<string> list))
// …
return list;
// …
if (arguments.Length == 0) LegacyList("AddFindList").Clear();
// …
if (arguments.Length >= 2) bridge.AddMenuHook(arguments[0].ToString(), arguments[1].ToString(), true);
// …
if (arguments.Length == 0)
// …
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;
// …
if (arguments.Length > 0)
return new InjectionValue(MoveItem(arguments[0], arguments.Length > 1 ? arguments[1] : InjectionValue.Zero, arguments.Length > 2 ? arguments[2] : new InjectionValue("ground")));
return InjectionValue.False;
// …
if (arguments.Length >= 2) bridge.AddMenuHook(Text(0), Text(1), true);
// …
if (arguments.Length == 0 && bridge.RequestInteractiveObjectInfoTarget() != 0)
// …
if (arguments.Length > 0)
// …
if (arguments.Length == 0 && bridge.RequestInteractiveTileInfoTarget() != 0)
// …
if (arguments.Length > 1) bridge.WaitTargetObject(Arg(1));
// …
if (arguments.Length > 1) state.Objects.Set(Text(0), Arg(1));
else if (arguments.Length > 0) state.Objects.Set(Text(0), bridge.GetLastObject());
// …
case "forget": if (arguments.Length > 0) state.Objects.Remove(Text(0)); break;
// …
case "emptycontainer": return ExecuteEmptyContainer(arguments);
// …
if (mobile != 0) state.Objects.Set(arguments.Length > 0 ? Text(0) : "findman", mobile);
// …
break;
case "shutdownwindows":
throw new NativeSubrutineException("shutdownwindows is intentionally blocked: scripts may not shut down Windows.");
default:
throw new NativeSubrutineException($"{name}: unknown or unregistered legacy API route.");
}
return InjectionValue.Unit;
}この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2889.
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Dismount:bridge.Dismount().
内部実装のコードです。単独のスクリプトとして実行できません。
case "dismount": bridge.Dismount(); break;この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2952.
結果: ExecuteEmptyContainer(arguments).
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteEmptyContainer:ExecuteEmptyContainer(arguments).
内部実装のコードです。単独のスクリプトとして実行できません。
case "emptycontainer": return ExecuteEmptyContainer(arguments);この分岐は指定されたコマンド名だけを処理します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2953.
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetSpeechFilter:bridge.SetSpeechFilter(state.SpeechFilter).
内部実装のコードです。単独のスクリプトとして実行できません。
case "filterspeech": state.SpeechFilter = arguments.Length == 0 || Arg(0) != 0 ? 1 : 0; bridge.SetSpeechFilter(state.SpeechFilter); break;示された呼び出しと状態更新を実行します。
引数: IEnumerable<string> filters
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3834.
private static IEnumerable<string> ExpandMobileFilters(IEnumerable<string> filters)
結果: IEnumerable<string>.
条件:
values.Length == 0
呼び出し:
Array.Empty<string>(filter ?? string.Empty).Split
内部実装のコードです。単独のスクリプトとして実行できません。
private static IEnumerable<string> ExpandMobileFilters(IEnumerable<string> filters)
{
foreach (string filter in filters ?? Array.Empty<string>())
{
string[] values = (filter ?? string.Empty).Split(
new[] { ' ', '\t', ',', ';', '|', '+' },
StringSplitOptions.RemoveEmptyEntries);
if (values.Length == 0)
yield return "all";
else
foreach (string value in values)
yield return value;
}
}示された呼び出しと状態更新を実行します。
引数: InjectionValue id
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3896.
public int Flying(InjectionValue id)
結果: int.
呼び出し:
bridge.FlyingGetObject
内部実装のコードです。単独のスクリプトとして実行できません。
public int Flying(InjectionValue id) => bridge.Flying(GetObject(id));示された呼び出しと状態更新を実行します。
引数: string subrutineName
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6032.
public int FunRunning(string subrutineName)
結果: int.
呼び出し:
bridge.FunRunning
内部実装のコードです。単独のスクリプトとして実行できません。
public int FunRunning(string subrutineName) => bridge.FunRunning(subrutineName) ? 1 : 0;示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3713.
public int GetMaxHP()
結果: int.
呼び出し:
GetMaxHP
内部実装のコードです。単独のスクリプトとして実行できません。
public int GetMaxHP() => GetMaxHP("self");示された呼び出しと状態更新を実行します。
引数: InjectionValue group, InjectionValue tileId
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6378.
public int GetTileLayer(InjectionValue group, InjectionValue tileId)
結果: int.
呼び出し:
NumberConversions.ToIntbridge.GetTileDataPropertiesArray.Empty<int>
内部実装のコードです。単独のスクリプトとして実行できません。
public int GetTileLayer(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 < 2 ? 0 : properties[1];
}示された呼び出しと状態更新を実行します。
引数: InjectionValue x, InjectionValue y, InjectionValue map, InjectionValue tileStart, InjectionValue tileEnd, InjectionValue uoPath
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6297.
public InjectionValue GetTileXYM(InjectionValue x, InjectionValue y, InjectionValue map, InjectionValue tileStart, InjectionValue tileEnd, InjectionValue uoPath)
結果: InjectionValue.
呼び出し:
ToArraybridge.GetTileXYMNumberConversions.ToIntuoPath.ToString
内部実装のコードです。単独のスクリプトとして実行できません。
public InjectionValue GetTileXYM(InjectionValue x, InjectionValue y, InjectionValue map, InjectionValue tileStart, InjectionValue tileEnd, InjectionValue uoPath)
=> ToArray(bridge.GetTileXYM(NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(map), NumberConversions.ToInt(tileStart), NumberConversions.ToInt(tileEnd), uoPath.ToString()));示された呼び出しと状態更新を実行します。
引数: int id
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3683.
public int GetY(int id)
結果: int.
呼び出し:
bridge.GetY
内部実装のコードです。単独のスクリプトとして実行できません。
public int GetY(int id) => bridge.GetY(id);示された呼び出しと状態更新を実行します。
引数: InjectionValue gump
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3343.
public string InfoGumps(InjectionValue gump)
結果: string.
呼び出し:
InfoGump
内部実装のコードです。単独のスクリプトとして実行できません。
public string InfoGumps(InjectionValue gump)
{
return InfoGump(gump);
}示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3861.
public int IsOnline()
結果: int.
呼び出し:
bridge.IsOnline
内部実装のコードです。単独のスクリプトとして実行できません。
public int IsOnline() => bridge.IsOnline();示された呼び出しと状態更新を実行します。
引数: int timestamp, int now
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5621.
private static int JournalTimestampToAge(int timestamp, int now)
結果: int.
条件:
timestamp <= 0timestamp >= now
呼び出し:
—
内部実装のコードです。単独のスクリプトとして実行できません。
private static int JournalTimestampToAge(int timestamp, int now)
{
if (timestamp <= 0)
return now;
if (timestamp >= now)
return 0;
return now - timestamp;
}示された呼び出しと状態更新を実行します。
引数: int key, int count
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5395.
public void KeyPress(int key, int count)
結果: void.
呼び出し:
KeyPress
内部実装のコードです。単独のスクリプトとして実行できません。
public void KeyPress(int key, int count) => KeyPress(key, count, 105);示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4439.
public string LastTile()
結果: string.
呼び出し:
NormalizeLastTilebridge.LastTile
内部実装のコードです。単独のスクリプトとして実行できません。
public string LastTile()
{
int[] tileInfo = NormalizeLastTile(bridge.LastTile());
return $"{tileInfo[0]} {tileInfo[1]} {tileInfo[2]} {tileInfo[3]}";
}示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3646.
public void MoveOff()
結果: void.
呼び出し:
bridge.EnableMove
内部実装のコードです。単独のスクリプトとして実行できません。
public void MoveOff() => bridge.EnableMove(false);示された呼び出しと状態更新を実行します。
引数: string layer
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5859.
public InjectionValue ObjAtLayer(string layer)
結果: InjectionValue.
条件:
id == 0
呼び出し:
bridge.ObjAtLayerConvertLayerid.ToString
内部実装のコードです。単独のスクリプトとして実行できません。
public InjectionValue ObjAtLayer(string layer)
{
var id = bridge.ObjAtLayer(ConvertLayer(layer));
if (id == 0)
return InjectionValue.Zero;
return new InjectionValue("0x" + id.ToString("X8"));
}示された呼び出しと状態更新を実行します。
引数: InjectionValue name, Action<int> actionOnObject
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3938.
private void ObjectChecked(InjectionValue name, Action<int> actionOnObject)
結果: void.
条件:
TryGetObject(name, out int id)
呼び出し:
TryGetObjectactionOnObjectSystemMessage
内部実装のコードです。単独のスクリプトとして実行できません。
private void ObjectChecked(InjectionValue name, Action<int> actionOnObject)
{
if (TryGetObject(name, out int id))
actionOnObject(id);
else
SystemMessage($"invalid object: {name}");
}示された呼び出しと状態更新を実行します。
引数: int x, int y
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5358.
public void RClick(int x, int y)
結果: void.
呼び出し:
bridge.RClick
内部実装のコードです。単独のスクリプトとして実行できません。
public void RClick(int x, int y) => bridge.RClick(x, y);示された呼び出しと状態更新を実行します。
引数: InjectionValue value, bool allowEmpty
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.ClassMasks.cs:62.
private static HashSet<int> ReadEquipmentGroup(InjectionValue value, bool allowEmpty)
結果: HashSet<int>.
条件:
!allowEmpty && result.Count == 0
呼び出し:
values.Select
内部実装のコードです。単独のスクリプトとして実行できません。
private static HashSet<int> ReadEquipmentGroup(InjectionValue value, bool allowEmpty)
{
InjectionValue[] values = value.Kind == InjectionValueKind.Array ? value.Array : new[] { value };
var result = new HashSet<int>(values.Select(ReadEquipmentType));
if (!allowEmpty && result.Count == 0)
throw new StatementFailedException("ClassMask: a required equipment group cannot be empty.");
return result;
}これらの関数は API を登録します。コマンドを呼ぶたびに実行されるものではありません。
引数: getter, names
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1005.
void AddState(Func<int, int> getter, params string[] names)
結果: void.
呼び出し: AddInteger, metadata.NativeSubrutineExists, metadata.Add.
条件: !metadata.NativeSubrutineExists(name, 1).
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases::AddInteger:AddInteger(() => getter(bridge.Self), names). -
InjectionScript.Runtime.Metadata.NativeSubrutineExists:metadata.NativeSubrutineExists(name, 1). -
InjectionScript.Runtime.Metadata.Add:metadata.Add(new NativeSubrutineDefinition(name, (Func<InjectionValue, int>)(value => getter(GetObject(value))))). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
内部実装のコードです。単独のスクリプトとして実行できません。
void AddState(Func<int, int> getter, params string[] names)
{
AddInteger(() => getter(bridge.Self), names);
foreach (string shortName in names)
{
string name = "UO." + shortName;
if (!metadata.NativeSubrutineExists(name, 1))
metadata.Add(new NativeSubrutineDefinition(name,
(Func<InjectionValue, int>)(value => getter(GetObject(value)))));
}
}示された呼び出しと状態更新を実行します。
引数: InjectionValue value, bool allowGround = false
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4580.
private int ResolveTransferObject(InjectionValue value, bool allowGround = false)
結果: int.
条件:
-
`allowGround && value.Kind == InjectionValueKind.String
&& value.String.Equals("ground", StringComparison.OrdinalIgnoreCase)` -
`value.Kind == InjectionValueKind.String
&& value.String.Equals("my", StringComparison.OrdinalIgnoreCase)` -
TryGetObject(value, out int serial) && serial >= 0
呼び出し:
value.String.EqualsTryGetObject
内部実装のコードです。単独のスクリプトとして実行できません。
private int ResolveTransferObject(InjectionValue value, bool allowGround = false)
{
if (allowGround && value.Kind == InjectionValueKind.String
&& value.String.Equals("ground", StringComparison.OrdinalIgnoreCase)) return 0;
if (value.Kind == InjectionValueKind.String
&& value.String.Equals("my", StringComparison.OrdinalIgnoreCase)) return bridge.Backpack;
if (TryGetObject(value, out int serial) && serial >= 0) return serial;
throw new NativeSubrutineException("Unknown transfer object: " + value);
}示された呼び出しと状態更新を実行します。
引数: IEnumerable<int> mobiles, EquipmentClassRule[] rules, bool nearest
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.ClassMasks.cs:139.
private int SelectClassCandidate(IEnumerable<int> mobiles, EquipmentClassRule[] rules, bool nearest)
結果: int.
条件:
rules != nullpriority == rules.Lengthpriority < bestPriority || priority == bestPriority && nearest && (distance < bestDistance || distance == bestDistance && mobile < selected)!nearest && bestPriority == 0
呼び出し:
ReadWornTypesrules[priority].Matchesbridge.GetDistance
内部実装のコードです。単独のスクリプトとして実行できません。
private int SelectClassCandidate(IEnumerable<int> mobiles, EquipmentClassRule[] rules, bool nearest)
{
int selected = 0, bestPriority = int.MaxValue, bestDistance = int.MaxValue;
foreach (int mobile in mobiles)
{
int priority = 0;
if (rules != null)
{
HashSet<int> worn = ReadWornTypes(mobile);
while (priority < rules.Length && !rules[priority].Matches(worn)) priority++;
if (priority == rules.Length) continue;
}
int distance = nearest ? bridge.GetDistance(mobile) : 0;
if (priority < bestPriority || priority == bestPriority && nearest
&& (distance < bestDistance || distance == bestDistance && mobile < selected))
{ selected = mobile; bestPriority = priority; bestDistance = distance; }
// With stable enumeration order, the first highest-priority match wins.
if (!nearest && bestPriority == 0) break;
}
return selected;
}示された呼び出しと状態更新を実行します。
引数: string triggerId
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3237.
public int SendGumpSelect(string triggerId)
結果: int.
呼び出し:
SendGumpSelectNumberConversions.ToInt
内部実装のコードです。単独のスクリプトとして実行できません。
public int SendGumpSelect(string triggerId) => SendGumpSelect(NumberConversions.ToInt(triggerId));示された呼び出しと状態更新を実行します。
引数: int index, string text
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5533.
public void SetJournalLine(int index, string text)
結果: void.
呼び出し:
bridge.SetJournalLine
内部実装のコードです。単独のスクリプトとして実行できません。
public void SetJournalLine(int index, string text) => bridge.SetJournalLine(index, text);示された呼び出しと状態更新を実行します。
引数: InjectionValue windowIndex
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3420.
public string TradeOpponent(InjectionValue windowIndex)
結果: string.
呼び出し:
NumberConversions.ToHexbridge.TradeOpponentNumberConversions.ToInt
内部実装のコードです。単独のスクリプトとして実行できません。
public string TradeOpponent(InjectionValue windowIndex) => NumberConversions.ToHex(bridge.TradeOpponent(NumberConversions.ToInt(windowIndex)));示された呼び出しと状態更新を実行します。
引数: string name
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5707.
public void UnsetArm(string name)
結果: void.
呼び出し:
armSets.RemoveSystemMessage
内部実装のコードです。単独のスクリプトとして実行できません。
public void UnsetArm(string name)
{
armSets.Remove(name);
SystemMessage("Arm set removed.");
}示された呼び出しと状態更新を実行します。
引数: InjectionValue type, InjectionValue color
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4200.
public int UseFromGround(InjectionValue type, InjectionValue color)
結果: int.
条件:
id != 0
呼び出し:
bridge.FindTypeResolveTypeNumberConversions.ToIntUseObjectSystemMessage
内部実装のコードです。単独のスクリプトとして実行できません。
public int UseFromGround(InjectionValue type, InjectionValue color)
{
int id = bridge.FindType(ResolveType(type), NumberConversions.ToInt(color), 1, -1, false);
if (id != 0)
UseObject(id);
else
SystemMessage("No matching item found on ground.");
return id;
}示された呼び出しと状態更新を実行します。
引数: InjectionValue id
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6400.
public int UserStaticExists(InjectionValue id)
結果: int.
呼び出し:
state.UserStatics.ContainsKeyNumberConversions.ToInt
内部実装のコードです。単独のスクリプトとして実行できません。
public int UserStaticExists(InjectionValue id)
=> state.UserStatics.ContainsKey(NumberConversions.ToInt(id)) ? 1 : 0;示された呼び出しと状態更新を実行します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3906.
public int Waiting()
結果: int.
呼び出し:
bridge.GetWaitTargetQueue
内部実装のコードです。単独のスクリプトとして実行できません。
public int Waiting() => bridge.GetWaitTargetQueue().Length > 0 ? 1 : 0;呼び出し時には保存済みのハンドラー delegate を実行します。登録メソッドは API の構築時にこの delegate を作成します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4676.
values
結果: values.
結果: new InjectionValue(CompactAttackNearest(values)).
呼び出し: CompactAttackNearest.
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.CompactAttackNearest:CompactAttackNearest(values).
内部実装のコードです。単独のスクリプトとして実行できません。
values => new InjectionValue(CompactAttackNearest(values))呼び出し時には保存済みのハンドラー delegate を実行します。登録メソッドは API の構築時にこの delegate を作成します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:878.
values
結果: values.
結果: ``.
呼び出し:
-
InjectionScript.Runtime.FollowStopCondition.Parse:FollowStopCondition.Parse(values[5], coordinateGoal: true). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[1]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[2]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[3]). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[4]).
内部実装のコードです。単独のスクリプトとして実行できません。
values =>
{
FollowStopCondition[] conditions = count == 6
? FollowStopCondition.Parse(values[5], coordinateGoal: true) : Array.Empty<FollowStopCondition>();
return new InjectionValue(bridge is IApiCoordinateFollowBridge follow
? follow.FollowPoint(NumberConversions.ToInt(values[0]), NumberConversions.ToInt(values[1]),
NumberConversions.ToInt(values[2]), NumberConversions.ToInt(values[3]), ToBoolean(values[4]), conditions) : 0);
}呼び出し時には保存済みのハンドラー delegate を実行します。登録メソッドは API の構築時にこの delegate を作成します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1056.
結果: bridge.GetDir(bridge.Self).
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDir:bridge.GetDir(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
内部実装のコードです。単独のスクリプトとして実行できません。
() => bridge.GetDir(bridge.Self)呼び出し時には保存済みのハンドラー 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呼び出し時には保存済みのハンドラー delegate を実行します。登録メソッドは API の構築時にこの delegate を作成します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1067.
serial
結果: serial.
結果: bridge.Flying(serial).
呼び出し: bridge.Flying.
呼び出し:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Flying:bridge.Flying(serial).
内部実装のコードです。単独のスクリプトとして実行できません。
serial => bridge.Flying(serial)呼び出し時には保存済みのハンドラー delegate を実行します。登録メソッドは API の構築時にこの delegate を作成します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:599.
values
結果: values.
結果: new InjectionValue(CompactLaunch(values)).
呼び出し: CompactLaunch.
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.CompactLaunch:CompactLaunch(values).
内部実装のコードです。単独のスクリプトとして実行できません。
values => new InjectionValue(CompactLaunch(values))呼び出し時には保存済みのハンドラー delegate を実行します。登録メソッドは API の構築時にこの delegate を作成します。
引数: 引数はありません。
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:466.
values
結果: values.
結果: new InjectionValue(CompactUseType(values)).
呼び出し: CompactUseType.
呼び出し:
-
InjectionScript.Runtime.InjectionApiUO.CompactUseType:CompactUseType(values).
内部実装のコードです。単独のスクリプトとして実行できません。
values => new InjectionValue(CompactUseType(values))示された呼び出しと状態更新を実行します。
引数: string provider
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionRuntime.cs:47.
private InjectionObject CreateMessenger(string provider)
結果: InjectionObject.
呼び出し:
owner.CheckpointMessengerFactoryPath.GetFullPathPath.Combineowner.Track
内部実装のコードです。単独のスクリプトとして実行できません。
private InjectionObject CreateMessenger(string provider)
{
var owner=NativeScriptResourceScope.Current??throw new StatementFailedException("Create messenger objects inside an active C# script execution.");owner.Checkpoint();
var client=MessengerFactory!=null?MessengerFactory(provider,()=>owner.Cancellation,owner.Checkpoint):new Messaging.MessengerClient(provider,()=>owner.Cancellation,owner.Checkpoint);
var resource=new MessengerObject(client,owner.Forget,file=>Path.GetFullPath(Path.Combine(paths.ScriptPath??string.Empty,file)));owner.Track(resource);return resource;
}示された呼び出しと状態更新を実行します。
引数: InjectionValue arg
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeArrays.cs:6.
public static InjectionValue GetArrayLength(InjectionValue arg)
結果: InjectionValue.
呼び出し:
—
内部実装のコードです。単独のスクリプトとして実行できません。
public static InjectionValue GetArrayLength(InjectionValue arg) => arg.Kind==InjectionValueKind.Array?new InjectionValue(arg.Array.Length):InjectionValue.Zero;示された呼び出しと状態更新を実行します。
引数: string name, string value
ソース: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/Globals.cs:38.
public void SetGlobal(string name, string value)
結果: void.
呼び出し:
SetGlobalShared
内部実装のコードです。単独のスクリプトとして実行できません。
public void SetGlobal(string name, string value)
{
SetGlobalShared(name, value);
lock (globalsLock) globals[name] = value ?? string.Empty;
}ClassicUO — Bad Newbie & C# Scripts IDE