Repository navigation
KO Runtime Helpers 3
uk · ru · en · de · fr · it · es · zh-tw · ja · ko
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
표시된 호출 및 상태 변경을 수행합니다.
매개변수: profile
소스: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:393.
internal static void ValidateFields(Profile profile)
결과: void.
호출: Math.Clamp, string.IsNullOrEmpty, BackNewbieAutomationManager.ClampAutoLootDelay, BackNewbieRuleLists.CreateDefault, BackNewbieRuleLists.Normalize, BackNewbieItemLabelManager.NormalizeProfile, profile.BackNewbieSpellCastTimeOverrides.Remove.
조건: profile == null; string.IsNullOrEmpty(profile.ServerName); string.IsNullOrEmpty(profile.Username); string.IsNullOrEmpty(profile.CharacterName).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal static void ValidateFields(Profile profile)
{
if (profile == null)
{
return;
}
profile.BackNewbieObstacleScanDistance = Math.Clamp(profile.BackNewbieObstacleScanDistance, 0, 5);
profile.BackNewbieObstacleLookAhead = Math.Clamp(profile.BackNewbieObstacleLookAhead, 0, 5);
profile.BackNewbieViewRange = Math.Clamp(profile.BackNewbieViewRange, Constants.MIN_VIEW_RANGE, Constants.MAX_VIEW_RANGE);
// …
if (string.IsNullOrEmpty(profile.ServerName))
// …
throw new InvalidDataException();
// …
if (string.IsNullOrEmpty(profile.Username))
// …
throw new InvalidDataException();
// …
if (string.IsNullOrEmpty(profile.CharacterName))
// …
throw new InvalidDataException();
// …
if (profile.WindowClientBounds.X < 600)
// …
if (profile.WindowClientBounds.Y < 480)
// …
if (spellId <= 0)
// …전체 코드는 소스 파일에 있으며 아래는 정확한 발췌입니다.
표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:564.
public static void RequestPartyInviteByTarget()
결과: void.
호출: Socket.Send_PartyInviteRequest.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public static void RequestPartyInviteByTarget()
{
Socket.Send_PartyInviteRequest();
}아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:803.
public int AttackLast()
결과: int.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { LastTargetInfo last = _world.TargetManager.LastTargetInfo; if (!last.IsEntity) return 0; GameActions.Attack(_world, last.Serial); return 1; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { LastTargetInfo last = _world.TargetManager.LastTargetInfo; if (!last.IsEntity) return 0; GameActions.Attack(_world, last.Serial); return 1; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.GameActions.Attack:GameActions.Attack(_world, last.Serial).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int AttackLast() => Invoke(() =>
{
LastTargetInfo last = _world.TargetManager.LastTargetInfo;
if (!last.IsEntity)
return 0;
GameActions.Attack(_world, last.Serial);
return 1;
});아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: spellId
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2247.
public int Cast(int spellId)
결과: int.
결과: 0; 1.
호출: IsOnline, Dead, Invoke.
조건: spellId <= 0 || IsOnline() == 0 || Dead() != 0.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsOnline:IsOnline(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Dead:Dead(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => GameActions.CastSpell(ToClassicUOCastIndex(spellId))). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => GameActions.CastSpell(ToClassicUOCastIndex(spellId))). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.GameActions.CastSpell:GameActions.CastSpell(ToClassicUOCastIndex(spellId)). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ToClassicUOCastIndex:ToClassicUOCastIndex(spellId).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Cast(int spellId)
{
if (spellId <= 0 || IsOnline() == 0 || Dead() != 0)
return 0;
Invoke(() => GameActions.CastSpell(ToClassicUOCastIndex(spellId)));
return 1;
}아래 식의 값을 반환합니다.
매개변수: currentX, currentY, currentZ, destinationX, destinationY, map
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3414.
public int[] CheckWorldStep(int currentX, int currentY, int currentZ, int destinationX, int destinationY, int map)
결과: int[].
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Map == null || _world.Player?.Pathfinder == null || _world.Player.IsDestroyed || map != _world.MapIndex) { return new[] { 0, currentZ }; } // Validate before the identity shortcut and before coordinate arithmetic. // Otherwise an absent map cell can report success without touching terrain. int[,] blocks = Client.UO?.FileManager?.Maps?.MapBlocksSize; if ((uint)currentX > ushort.MaxValue || (uint)currentY > ushort.MaxValue || (uint)destinationX > ushort.MaxValue || (uint)destinationY > ushort.MaxValue || currentZ < sbyte.MinValue || currentZ > sbyte.MaxValue || blocks == null || (uint)map >= blocks.GetLength(0) || blocks.GetLength(1) < 2 || blocks[map, 0] <= 0 || blocks[map, 1] <= 0 || (currentX >> 3) >= blocks[map, 0] || (currentY >> 3) >= blocks[map, 1] || (destinationX >> 3) >= blocks[map, 0] || (destinationY >> 3) >= blocks[map, 1]) return new[] { 0, currentZ }; int deltaX = destinationX - currentX; int deltaY = destinationY - currentY; if (Math.Abs(deltaX) > 1 || Math.Abs(deltaY) > 1) return new[] { 0, currentZ }; int dx = Math.Sign(deltaX); int dy = Math.Sign(deltaY); int direction = dx == 0 ? (dy < 0 ? 0 : dy > 0 ? 4 : -1) : dy == 0 ? (dx > 0 ? 2 : 6) : dx > 0 ? (dy < 0 ? 1 : 3) : (dy > 0 ? 5 : 7); if (direction < 0) return new[] { 1, currentZ }; Direction actualDirection = (Direction)direction; int x = currentX; int y = currentY; sbyte z = (sbyte)currentZ; bool passable = _world.Player.Pathfinder.CanWalkForQuery(ref actualDirection, ref x, ref y, ref z) && x == destinationX && y == destinationY; return new[] { passable ? 1 : 0, (int)z }; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Map == null || _world.Player?.Pathfinder == null || _world.Player.IsDestroyed || map != _world.MapIndex) { return new[] { 0, currentZ }; } // Validate before the identity shortcut and before coordinate arithmetic. // Otherwise an absent map cell can report success without touching terrain. int[,] blocks = Client.UO?.FileManager?.Maps?.MapBlocksSize; if ((uint)currentX > ushort.MaxValue || (uint)currentY > ushort.MaxValue || (uint)destinationX > ushort.MaxValue || (uint)destinationY > ushort.MaxValue || currentZ < sbyte.MinValue || currentZ > sbyte.MaxValue || blocks == null || (uint)map >= blocks.GetLength(0) || blocks.GetLength(1) < 2 || blocks[map, 0] <= 0 || blocks[map, 1] <= 0 || (currentX >> 3) >= blocks[map, 0] || (currentY >> 3) >= blocks[map, 1] || (destinationX >> 3) >= blocks[map, 0] || (destinationY >> 3) >= blocks[map, 1]) return new[] { 0, currentZ }; int deltaX = destinationX - currentX; int deltaY = destinationY - currentY; if (Math.Abs(deltaX) > 1 || Math.Abs(deltaY) > 1) return new[] { 0, currentZ }; int dx = Math.Sign(deltaX); int dy = Math.Sign(deltaY); int direction = dx == 0 ? (dy < 0 ? 0 : dy > 0 ? 4 : -1) : dy == 0 ? (dx > 0 ? 2 : 6) : dx > 0 ? (dy < 0 ? 1 : 3) : (dy > 0 ? 5 : 7); if (direction < 0) return new[] { 1, currentZ }; Direction actualDirection = (Direction)direction; int x = currentX; int y = currentY; sbyte z = (sbyte)currentZ; bool passable = _world.Player.Pathfinder.CanWalkForQuery(ref actualDirection, ref x, ref y, ref z) && x == destinationX && y == destinationY; return new[] { passable ? 1 : 0, (int)z }; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int[] CheckWorldStep(int currentX, int currentY, int currentZ, int destinationX, int destinationY, int map) => Invoke(() =>
{
if (_world.Map == null || _world.Player?.Pathfinder == null || _world.Player.IsDestroyed || map != _world.MapIndex)
{
return new[] { 0, currentZ };
}
// Validate before the identity shortcut and before coordinate arithmetic.
// Otherwise an absent map cell can report success without touching terrain.
int[,] blocks = Client.UO?.FileManager?.Maps?.MapBlocksSize;
if ((uint)currentX > ushort.MaxValue || (uint)currentY > ushort.MaxValue
|| (uint)destinationX > ushort.MaxValue || (uint)destinationY > ushort.MaxValue
|| currentZ < sbyte.MinValue || currentZ > sbyte.MaxValue
|| blocks == null || (uint)map >= blocks.GetLength(0) || blocks.GetLength(1) < 2
|| blocks[map, 0] <= 0 || blocks[map, 1] <= 0
|| (currentX >> 3) >= blocks[map, 0] || (currentY >> 3) >= blocks[map, 1]
|| (destinationX >> 3) >= blocks[map, 0] || (destinationY >> 3) >= blocks[map, 1])
return new[] { 0, currentZ };
int deltaX = destinationX - currentX;
int deltaY = destinationY - currentY;
if (Math.Abs(deltaX) > 1 || Math.Abs(deltaY) > 1)
return new[] { 0, currentZ };
int dx = Math.Sign(deltaX);
int dy = Math.Sign(deltaY);
int direction = dx == 0
? (dy < 0 ? 0 : dy > 0 ? 4 : -1)
: dy == 0
? (dx > 0 ? 2 : 6)
: dx > 0
? (dy < 0 ? 1 : 3)
: (dy > 0 ? 5 : 7);
if (direction < 0) return new[] { 1, currentZ };
Direction actualDirection = (Direction)direction;
int x = currentX;
int y = currentY;
sbyte z = (sbyte)currentZ;
bool passable = _world.Player.Pathfinder.CanWalkForQuery(ref actualDirection, ref x, ref y, ref z)
&& x == destinationX && y == destinationY;
return new[] { passable ? 1 : 0, (int)z };
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: actionIndex, id
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1332.
public void ClientMarkChar(int actionIndex, int id)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (actionIndex is 1 or 3) { _world.TargetManager.LastTargetInfo.SetEntity((uint)id); } if (actionIndex is 2 or 3) { _world.TargetManager.LastAttack = (uint)id; } if (actionIndex < 1 || actionIndex > 3) { Error("UO.ClientMarkChar: ActionIndex must be 1 (LastTarget), 2 (LastAttack), or 3 (both)"); } }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (actionIndex is 1 or 3) { _world.TargetManager.LastTargetInfo.SetEntity((uint)id); } if (actionIndex is 2 or 3) { _world.TargetManager.LastAttack = (uint)id; } if (actionIndex < 1 || actionIndex > 3) { Error("UO.ClientMarkChar: ActionIndex must be 1 (LastTarget), 2 (LastAttack), or 3 (both)"); } }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error:Error("UO.ClientMarkChar: ActionIndex must be 1 (LastTarget), 2 (LastAttack), or 3 (both)").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void ClientMarkChar(int actionIndex, int id) => Invoke(() =>
{
if (actionIndex is 1 or 3)
{
_world.TargetManager.LastTargetInfo.SetEntity((uint)id);
}
if (actionIndex is 2 or 3)
{
_world.TargetManager.LastAttack = (uint)id;
}
if (actionIndex < 1 || actionIndex > 3)
{
Error("UO.ClientMarkChar: ActionIndex must be 1 (LastTarget), 2 (LastAttack), or 3 (both)");
}
});아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:179.
public string ClientPath
결과: string.
결과: CUOEnviroment.ExecutablePath.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string ClientPath => CUOEnviroment.ExecutablePath;아래 식의 값을 반환합니다.
매개변수: types, colors, containers, recursive
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2508.
public int FindTypes(int[] types, int[] colors, int[] containers, bool recursive)
결과: int.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ResetFindResults(); IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList); HashSet<ushort> wantedTypes = BuildFindIdentityMask(types); HashSet<ushort> wantedColors = BuildFindIdentityMask(colors); int[] wantedContainers = containers == null || containers.Length == 0 ? new[] { -1 } : containers; int effectiveRange = ResolveFindRange(State.FindDistance); foreach (Item item in _world.Items.Values) { if (!MatchesFindIdentity(item, wantedTypes, wantedColors, ignoredTypes) || !wantedContainers.Any(container => MatchesFindContainer(item, container, effectiveRange, recursive))) { continue; } RegisterFound(item); } if (wantedContainers.Any(IsGroundFindContainer)) { foreach (Mobile mobile in _world.Mobiles.Values) { if (!MatchesFindMobile(mobile, wantedTypes, wantedColors, effectiveRange, ignoredTypes)) { continue; } RegisterFound(mobile); } } return _findItem; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ResetFindResults(); IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList); HashSet<ushort> wantedTypes = BuildFindIdentityMask(types); HashSet<ushort> wantedColors = BuildFindIdentityMask(colors); int[] wantedContainers = containers == null || containers.Length == 0 ? new[] { -1 } : containers; int effectiveRange = ResolveFindRange(State.FindDistance); foreach (Item item in _world.Items.Values) { if (!MatchesFindIdentity(item, wantedTypes, wantedColors, ignoredTypes) || !wantedContainers.Any(container => MatchesFindContainer(item, container, effectiveRange, recursive))) { continue; } RegisterFound(item); } if (wantedContainers.Any(IsGroundFindContainer)) { foreach (Mobile mobile in _world.Mobiles.Values) { if (!MatchesFindMobile(mobile, wantedTypes, wantedColors, effectiveRange, ignoredTypes)) { continue; } RegisterFound(mobile); } } return _findItem; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResetFindResults:ResetFindResults(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.BuildFindIdentityMask:BuildFindIdentityMask(types). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.BuildFindIdentityMask:BuildFindIdentityMask(colors). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResolveFindRange:ResolveFindRange(State.FindDistance). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MatchesFindIdentity:MatchesFindIdentity(item, wantedTypes, wantedColors, ignoredTypes). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MatchesFindIdentity:MatchesFindIdentity(item, wantedTypes, wantedColors, ignoredTypes). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound:RegisterFound(item). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound:RegisterFound(item). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MatchesFindMobile:MatchesFindMobile(mobile, wantedTypes, wantedColors, effectiveRange, ignoredTypes). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MatchesFindMobile:MatchesFindMobile(mobile, wantedTypes, wantedColors, effectiveRange, ignoredTypes). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound:RegisterFound(mobile). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound:RegisterFound(mobile). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int FindTypes(int[] types, int[] colors, int[] containers, bool recursive)
{
return Invoke(() =>
{
ResetFindResults();
IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList);
HashSet<ushort> wantedTypes = BuildFindIdentityMask(types);
HashSet<ushort> wantedColors = BuildFindIdentityMask(colors);
int[] wantedContainers = containers == null || containers.Length == 0 ? new[] { -1 } : containers;
int effectiveRange = ResolveFindRange(State.FindDistance);
foreach (Item item in _world.Items.Values)
{
if (!MatchesFindIdentity(item, wantedTypes, wantedColors, ignoredTypes)
|| !wantedContainers.Any(container => MatchesFindContainer(item, container, effectiveRange, recursive)))
{
continue;
}
RegisterFound(item);
}
if (wantedContainers.Any(IsGroundFindContainer))
{
foreach (Mobile mobile in _world.Mobiles.Values)
{
if (!MatchesFindMobile(mobile, wantedTypes, wantedColors, effectiveRange, ignoredTypes))
{
continue;
}
RegisterFound(mobile);
}
}
return _findItem;
});
}아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3638.
public int GetAutoSellDelay()
결과: int.
결과: Invoke(() => ProfileManager.CurrentProfile?.BackNewbieAutoSellDelay ?? 3).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => ProfileManager.CurrentProfile?.BackNewbieAutoSellDelay ?? 3). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => ProfileManager.CurrentProfile?.BackNewbieAutoSellDelay ?? 3). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetAutoSellDelay() => Invoke(() => ProfileManager.CurrentProfile?.BackNewbieAutoSellDelay ?? 3);아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3645.
public string[] GetBuffBarInfo()
결과: string[].
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Player?.BuffIcons.Values .Select(buff => string.Join("|", (int)buff.Type, buff.Graphic, buff.Timer == uint.MaxValue ? -1 : Math.Max(0L, buff.Timer - Time.Ticks), buff.Text ?? string.Empty)) .ToArray() ?? Array.Empty<string>()). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Player?.BuffIcons.Values .Select(buff => string.Join("|", (int)buff.Type, buff.Graphic, buff.Timer == uint.MaxValue ? -1 : Math.Max(0L, buff.Timer - Time.Ticks), buff.Text ?? string.Empty)) .ToArray() ?? Array.Empty<string>()). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string[] GetBuffBarInfo() => Invoke(() => _world.Player?.BuffIcons.Values
.Select(buff => string.Join("|",
(int)buff.Type,
buff.Graphic,
buff.Timer == uint.MaxValue ? -1 : Math.Max(0L, buff.Timer - Time.Ticks),
buff.Text ?? string.Empty))
.ToArray() ?? Array.Empty<string>());아래 식의 값을 반환합니다.
매개변수: index
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2834.
public string[] GetGumpButtonsDescription(int index)
결과: string[].
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { Gump gump = ServerGumpsUnsafe().ElementAtOrDefault(index); return gump == null ? Array.Empty<string>() : Descendants(gump) .Where(IsButtonControl).Select(DescribeControl).ToArray(); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { Gump gump = ServerGumpsUnsafe().ElementAtOrDefault(index); return gump == null ? Array.Empty<string>() : Descendants(gump) .Where(IsButtonControl).Select(DescribeControl).ToArray(); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerGumpsUnsafe:ServerGumpsUnsafe(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Descendants:Descendants(gump).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string[] GetGumpButtonsDescription(int index) => Invoke(() =>
{
Gump gump = ServerGumpsUnsafe().ElementAtOrDefault(index);
return gump == null ? Array.Empty<string>() : Descendants(gump)
.Where(IsButtonControl).Select(DescribeControl).ToArray();
});아래 식의 값을 반환합니다.
매개변수: index
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1964.
public string GetJournalText(int index)
결과: string.
결과: GetJournalEntry(index)?.Text ?? string.Empty.
호출: GetJournalEntry.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetJournalEntry:GetJournalEntry(index).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string GetJournalText(int index) => GetJournalEntry(index)?.Text ?? string.Empty;아래 식의 값을 반환합니다.
매개변수: x, y, map
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3400.
public int GetSurfaceZ(int x, int y, int map)
결과: int.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Map == null || map != _world.MapIndex) { Error($"UO.GetSurfaceZ: map {map} is not the currently loaded map {_world.MapIndex}"); return 0; } for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (tile is Land land) return land.AverageZ; } return 0; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Map == null || map != _world.MapIndex) { Error($"UO.GetSurfaceZ: map {map} is not the currently loaded map {_world.MapIndex}"); return 0; } for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (tile is Land land) return land.AverageZ; } return 0; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error:Error($"UO.GetSurfaceZ: map {map} is not the currently loaded map {_world.MapIndex}").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetSurfaceZ(int x, int y, int map) => Invoke(() =>
{
if (_world.Map == null || map != _world.MapIndex)
{
Error($"UO.GetSurfaceZ: map {map} is not the currently loaded map {_world.MapIndex}");
return 0;
}
for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext)
{
if (tile is Land land) return land.AverageZ;
}
return 0;
});아래 식의 값을 반환합니다.
매개변수: group, tileId
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3517.
public string GetTileDataName(int group, int tileId)
결과: string.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (group == 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.LandData.Length) return Client.UO.FileManager.TileData.LandData[tileId].Name ?? string.Empty; if (group != 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.StaticData.Length) return Client.UO.FileManager.TileData.StaticData[tileId].Name ?? string.Empty; return string.Empty; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (group == 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.LandData.Length) return Client.UO.FileManager.TileData.LandData[tileId].Name ?? string.Empty; if (group != 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.StaticData.Length) return Client.UO.FileManager.TileData.StaticData[tileId].Name ?? string.Empty; return string.Empty; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string GetTileDataName(int group, int tileId) => Invoke(() =>
{
if (group == 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.LandData.Length)
return Client.UO.FileManager.TileData.LandData[tileId].Name ?? string.Empty;
if (group != 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.StaticData.Length)
return Client.UO.FileManager.TileData.StaticData[tileId].Name ?? string.Empty;
return string.Empty;
});아래 식의 값을 반환합니다.
매개변수: x, y, map, tileStart, tileEnd, uoPath
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3544.
public int[] GetTileXYM(int x, int y, int map, int tileStart, int tileEnd, string uoPath)
결과: int[].
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Map == null || map != _world.MapIndex) { Error($"UO.GetTileXYM: map {map} is not the currently loaded map {_world.MapIndex}"); return Array.Empty<int>(); } var result = new List<int>(); for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (tile.Graphic < tileStart || tile.Graphic > tileEnd) continue; result.Add(tile.Graphic); result.Add(tile.X); result.Add(tile.Y); result.Add(tile.Z); } return result.ToArray(); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Map == null || map != _world.MapIndex) { Error($"UO.GetTileXYM: map {map} is not the currently loaded map {_world.MapIndex}"); return Array.Empty<int>(); } var result = new List<int>(); for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext) { if (tile.Graphic < tileStart || tile.Graphic > tileEnd) continue; result.Add(tile.Graphic); result.Add(tile.X); result.Add(tile.Y); result.Add(tile.Z); } return result.ToArray(); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error:Error($"UO.GetTileXYM: map {map} is not the currently loaded map {_world.MapIndex}").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int[] GetTileXYM(int x, int y, int map, int tileStart, int tileEnd, string uoPath) => Invoke(() =>
{
if (_world.Map == null || map != _world.MapIndex)
{
Error($"UO.GetTileXYM: map {map} is not the currently loaded map {_world.MapIndex}");
return Array.Empty<int>();
}
var result = new List<int>();
for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext)
{
if (tile.Graphic < tileStart || tile.Graphic > tileEnd)
continue;
result.Add(tile.Graphic);
result.Add(tile.X);
result.Add(tile.Y);
result.Add(tile.Z);
}
return result.ToArray();
});아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:137.
public int LastStatus
결과: int.
결과: Invoke(() => unchecked((int)_world.LastStatus)).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => unchecked((int)_world.LastStatus)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => unchecked((int)_world.LastStatus)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int LastStatus => Invoke(() => unchecked((int)_world.LastStatus));아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:154.
public int Mana
결과: int.
결과: Invoke(() => CurrentPlayer?.Mana ?? 0).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => CurrentPlayer?.Mana ?? 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => CurrentPlayer?.Mana ?? 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Mana => Invoke(() => CurrentPlayer?.Mana ?? 0);표시된 호출 및 상태 변경을 수행합니다.
매개변수: delayMs, quantity, type, price, destination, x, y, z
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1278.
public void MassPriceMove(int delayMs, int quantity, int type, int price, int destination, int x, int y, int z)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { _manager.CancelVendorPrices(); _manager.MassMover.Configure(delayMs, quantity, type, destination, x, y, z, price); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { _manager.CancelVendorPrices(); _manager.MassMover.Configure(delayMs, quantity, type, destination, x, y, z, price); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.YokoInjectionManager.CancelVendorPrices:_manager.CancelVendorPrices().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void MassPriceMove(int delayMs, int quantity, int type, int price, int destination, int x, int y, int z)
=> Invoke(() =>
{
_manager.CancelVendorPrices();
_manager.MassMover.Configure(delayMs, quantity, type, destination, x, y, z, price);
});아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:156.
public int MaxWeight
결과: int.
결과: Invoke(() => CurrentPlayer?.WeightMax ?? 0).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => CurrentPlayer?.WeightMax ?? 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => CurrentPlayer?.WeightMax ?? 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int MaxWeight => Invoke(() => CurrentPlayer?.WeightMax ?? 0);표시된 호출 및 상태 변경을 수행합니다.
매개변수: direction, speed
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1612.
public void MoveBoat(int direction, int speed)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.BoatMovingManager.MoveRequest((Direction)(direction & 7), (byte)Math.Max(0, Math.Min(byte.MaxValue, speed)))). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.BoatMovingManager.MoveRequest((Direction)(direction & 7), (byte)Math.Max(0, Math.Min(byte.MaxValue, speed)))). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void MoveBoat(int direction, int speed) => Invoke(() =>
_world.BoatMovingManager.MoveRequest((Direction)(direction & 7), (byte)Math.Max(0, Math.Min(byte.MaxValue, speed))));표시된 호출 및 상태 변경을 수행합니다.
매개변수: filePath
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1813.
public void OpenIDE(string filePath)
결과: void.
호출: string.IsNullOrWhiteSpace, Path.IsPathRooted, Path.Combine, Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => YokoScriptEditorGump.Open(_world, requested)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => YokoScriptEditorGump.Open(_world, requested)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.UI.Gumps.YokoScriptEditorGump.Open:YokoScriptEditorGump.Open(_world, requested).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void OpenIDE(string filePath)
{
string requested = string.IsNullOrWhiteSpace(filePath)
? null
: Path.IsPathRooted(filePath) ? filePath : Path.Combine(_manager.AutoloadPath, filePath);
Invoke(() => YokoScriptEditorGump.Open(_world, requested));
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: x, y
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1364.
public void RClick(int x, int y)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { WarpMouse(x, y); MouseButton(0x0008, 0x0010); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { WarpMouse(x, y); MouseButton(0x0008, 0x0010); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WarpMouse:WarpMouse(x, y). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MouseButton:MouseButton(0x0008, 0x0010).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void RClick(int x, int y) => Invoke(() =>
{
WarpMouse(x, y);
MouseButton(0x0008, 0x0010);
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: id
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3565.
public void RemoveUserStatic(int id)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _manager.RemoveUserStatic(id)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _manager.RemoveUserStatic(id)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.YokoInjectionManager.RemoveUserStatic:_manager.RemoveUserStatic(id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void RemoveUserStatic(int id) => Invoke(() => _manager.RemoveUserStatic(id));아래 식의 값을 반환합니다.
매개변수: command
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3992.
private static GameController RequireGameView(string command)
결과: GameController.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static GameController RequireGameView(string command) => Client.Game
?? throw new InvalidOperationException(command + " requires an open graphical ClassicUO window. Open it in Manager.");코드에 표시된 규칙에 따라 인수를 분석하거나 값을 찾습니다.
매개변수: abilityNameOrId
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2218.
public int ResolveAbility(string abilityNameOrId)
결과: int.
결과: ResolveClassicUOAbilityId(abilityNameOrId).
호출: ResolveClassicUOAbilityId.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResolveClassicUOAbilityId:ResolveClassicUOAbilityId(abilityNameOrId).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int ResolveAbility(string abilityNameOrId) => ResolveClassicUOAbilityId(abilityNameOrId);코드에 표시된 규칙에 따라 인수를 분석하거나 값을 찾습니다.
매개변수: spellNameOrId
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2170.
internal static int ResolveClassicUOSpellId(string spellNameOrId)
결과: int.
결과: numericSpell != null && numericSpell.ID == numericId ? numericId : 0; 0; spell.ID.
호출: (spellNameOrId ?? string.Empty).Trim, int.TryParse, SpellDefinition.FullIndexGetSpell, NormalizeSpellName, EnumerateClassicUOSpells.
조건: int.TryParse(requested, NumberStyles.Integer, CultureInfo.InvariantCulture, out int numericId); normalized.Length == 0; `NormalizeSpellName(spell.Name) == normalized
|| NormalizeSpellName(spell.PowerWords) == normalized`.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal static int ResolveClassicUOSpellId(string spellNameOrId)
{
string requested = (spellNameOrId ?? string.Empty).Trim();
if (int.TryParse(requested, NumberStyles.Integer, CultureInfo.InvariantCulture, out int numericId))
{
SpellDefinition numericSpell = SpellDefinition.FullIndexGetSpell(numericId);
return numericSpell != null && numericSpell.ID == numericId ? numericId : 0;
}
string normalized = NormalizeSpellName(requested);
if (normalized.Length == 0)
return 0;
foreach (SpellDefinition spell in EnumerateClassicUOSpells())
{
if (NormalizeSpellName(spell.Name) == normalized
|| NormalizeSpellName(spell.PowerWords) == normalized)
return spell.ID;
}
return 0;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: value
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3639.
public void SetAutoSellDelay(int value)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (ProfileManager.CurrentProfile == null) return; ProfileManager.CurrentProfile.BackNewbieAutoSellDelay = Math.Clamp(value, 0, ushort.MaxValue); ProfileManager.SaveCurrentProfile(); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (ProfileManager.CurrentProfile == null) return; ProfileManager.CurrentProfile.BackNewbieAutoSellDelay = Math.Clamp(value, 0, ushort.MaxValue); ProfileManager.SaveCurrentProfile(); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Configuration.ProfileManager.SaveCurrentProfile:ProfileManager.SaveCurrentProfile().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void SetAutoSellDelay(int value) => Invoke(() =>
{
if (ProfileManager.CurrentProfile == null) return;
ProfileManager.CurrentProfile.BackNewbieAutoSellDelay = Math.Clamp(value, 0, ushort.MaxValue);
ProfileManager.SaveCurrentProfile();
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: length
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3654.
public void SetJournalLength(int length)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _manager.SetJournalLength(length)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _manager.SetJournalLength(length)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.YokoInjectionManager.SetJournalLength:_manager.SetJournalLength(length).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void SetJournalLength(int length) => Invoke(() => _manager.SetJournalLength(length));아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:600.
public int StealthCnt()
결과: int.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { PlayerMobile player = _world.Player; if (player == null || !player.IsHidden) { _stealthCount = 0; _lastStealthX = player?.X ?? -1; _lastStealthY = player?.Y ?? -1; return 0; } if (_lastStealthX >= 0 && _lastStealthY >= 0) { _stealthCount += Math.Max(Math.Abs(player.X - _lastStealthX), Math.Abs(player.Y - _lastStealthY)); } _lastStealthX = player.X; _lastStealthY = player.Y; return _stealthCount; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { PlayerMobile player = _world.Player; if (player == null || !player.IsHidden) { _stealthCount = 0; _lastStealthX = player?.X ?? -1; _lastStealthY = player?.Y ?? -1; return 0; } if (_lastStealthX >= 0 && _lastStealthY >= 0) { _stealthCount += Math.Max(Math.Abs(player.X - _lastStealthX), Math.Abs(player.Y - _lastStealthY)); } _lastStealthX = player.X; _lastStealthY = player.Y; return _stealthCount; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int StealthCnt() => Invoke(() =>
{
PlayerMobile player = _world.Player;
if (player == null || !player.IsHidden)
{
_stealthCount = 0;
_lastStealthX = player?.X ?? -1;
_lastStealthY = player?.Y ?? -1;
return 0;
}
if (_lastStealthX >= 0 && _lastStealthY >= 0)
{
_stealthCount += Math.Max(Math.Abs(player.X - _lastStealthX), Math.Abs(player.Y - _lastStealthY));
}
_lastStealthX = player.X;
_lastStealthY = player.Y;
return _stealthCount;
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1614.
public void StopBoat()
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.BoatMovingManager.MoveRequest(_world.Player?.Direction ?? Direction.North, 0)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.BoatMovingManager.MoveRequest(_world.Player?.Direction ?? Direction.North, 0)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void StopBoat() => Invoke(() =>
_world.BoatMovingManager.MoveRequest(_world.Player?.Direction ?? Direction.North, 0));표시된 호출 및 상태 변경을 수행합니다.
매개변수: x, y
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3657.
public void Track(int x, int y)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.CharacterPanels.SetArrow(SessionCharacterPanels.TrackSerial, true, x, y)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.CharacterPanels.SetArrow(SessionCharacterPanels.TrackSerial, true, x, y)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Track(int x, int y) => Invoke(() => _world.CharacterPanels.SetArrow(SessionCharacterPanels.TrackSerial, true, x, y));아래 식의 값을 반환합니다.
매개변수: windowIndex
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:646.
public string TradeName(int windowIndex)
결과: string.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionTrade gump = FindTrade(windowIndex); return gump?.OpponentName ?? string.Empty; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionTrade gump = FindTrade(windowIndex); return gump?.OpponentName ?? string.Empty; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindTrade:FindTrade(windowIndex).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string TradeName(int windowIndex) => Invoke(() =>
{
ISessionTrade gump = FindTrade(windowIndex);
return gump?.OpponentName ?? string.Empty;
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1443.
public void UsePrimaryAbility()
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => GameActions.UsePrimaryAbility(_world)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => GameActions.UsePrimaryAbility(_world)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.GameActions.UsePrimaryAbility:GameActions.UsePrimaryAbility(_world).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void UsePrimaryAbility() => Invoke(() => GameActions.UsePrimaryAbility(_world));코드에 표시된 규칙에 따라 인수를 분석하거나 값을 찾습니다.
매개변수: account
소스: Project_Full/src/ClassicUO.Client/Game/Scenes/LoginScene.cs:339.
internal static string ResolveReconnectPassword(string account)
결과: string.
결과: Crypter.Decrypt(_cachedPassword); Crypter.Decrypt(Settings.GlobalSettings.Password); string.Empty.
호출: string.Equals, Crypter.Decrypt.
조건: _hasCachedCredentials && string.Equals(account, _cachedAccount, StringComparison.Ordinal); string.Equals(account, Settings.GlobalSettings.Username, StringComparison.Ordinal).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal static string ResolveReconnectPassword(string account)
{
if (_hasCachedCredentials
&& string.Equals(account, _cachedAccount, StringComparison.Ordinal))
{
return Crypter.Decrypt(_cachedPassword);
}
if (string.Equals(account, Settings.GlobalSettings.Username, StringComparison.Ordinal))
return Crypter.Decrypt(Settings.GlobalSettings.Password);
return string.Empty;
}아래 식의 값을 반환합니다.
매개변수: figureId
소스: Project_Full/src/ClassicUO.Client/Game/UI/Gumps/WorldMapGump.cs:95.
internal static int RemoveYokoMapFigure(int figureId)
결과: int.
결과: _yokoMapFigures.Remove(figureId) ? 1 : 0.
호출: _yokoMapFigures.Remove.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal static int RemoveYokoMapFigure(int figureId) => _yokoMapFigures.Remove(figureId) ? 1 : 0;아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: world, lines
소스: Project_Full/src/ClassicUO.Client/Game/UI/Gumps/YokoTextWindowGump.cs:46.
internal static YokoTextWindowGump Show(World world, IReadOnlyList<string> lines)
결과: YokoTextWindowGump.
결과: gump.
호출: UIManager.GetGump<YokoTextWindowGump>, UIManager.Add, gump.SetLines, gump.SetInScreen, gump.BringOnTop.
조건: gump == null || gump.IsDisposed.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal static YokoTextWindowGump Show(World world, IReadOnlyList<string> lines)
{
YokoTextWindowGump gump = UIManager.GetGump<YokoTextWindowGump>();
if (gump == null || gump.IsDisposed)
{
gump = new YokoTextWindowGump(world);
UIManager.Add(gump);
}
gump.SetLines(lines);
gump.SetInScreen();
gump.BringOnTop();
return gump;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: obj
소스: Project_Full/src/ClassicUO.Client/Game/World.cs:604.
public void RemoveItemFromContainer(Item obj)
결과: void.
호출: SerialHelper.IsMobile, UIManager.GetGump<PaperDollGump>, .RequestUpdateContents, SerialHelper.IsItem, UIManager.GetGump<ContainerGump>, Get, container.Remove, obj.RemoveFromTile.
조건: containerSerial != 0xFFFF_FFFF; SerialHelper.IsMobile(containerSerial); SerialHelper.IsItem(containerSerial); container != null.
호출:
-
ClassicUO.Game.SerialHelper.IsMobile:SerialHelper.IsMobile(containerSerial). -
ClassicUO.Game.Managers.UIManager.GetGump:UIManager.GetGump<PaperDollGump>(containerSerial). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.UIManager.GetGump:UIManager.GetGump<PaperDollGump>(containerSerial). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.SerialHelper.IsItem:SerialHelper.IsItem(containerSerial). -
ClassicUO.Game.Managers.UIManager.GetGump:UIManager.GetGump<ContainerGump>(containerSerial). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.UIManager.GetGump:UIManager.GetGump<ContainerGump>(containerSerial). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.World.Get:Get(containerSerial).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void RemoveItemFromContainer(Item obj)
{
uint containerSerial = obj.Container;
// if entity is running the "dying" animation we have to reset container too.
// SerialHelper.IsValid(containerSerial) is not ideal in this case
if (containerSerial != 0xFFFF_FFFF)
{
if (SerialHelper.IsMobile(containerSerial))
{
UIManager.GetGump<PaperDollGump>(containerSerial)?.RequestUpdateContents();
}
else if (SerialHelper.IsItem(containerSerial))
{
UIManager.GetGump<ContainerGump>(containerSerial)?.RequestUpdateContents();
}
Entity container = Get(containerSerial);
if (container != null)
{
container.Remove(obj);
}
obj.Container = 0xFFFF_FFFF;
}
obj.Next = null;
obj.Previous = null;
obj.RemoveFromTile();
}아래 식의 값을 반환합니다.
매개변수: name, argumentCount
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5188.
public int ApiSignatureExists(string name, int argumentCount)
결과: int.
결과: metadata.NativeSubrutineExists(NormalizeApiName(name), argumentCount) ? 1 : 0.
호출: metadata.NativeSubrutineExists, NormalizeApiName.
호출:
-
InjectionScript.Runtime.Metadata.NativeSubrutineExists:metadata.NativeSubrutineExists(NormalizeApiName(name), argumentCount). -
InjectionScript.Runtime.InjectionApiUO.NormalizeApiName:NormalizeApiName(name).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int ApiSignatureExists(string name, int argumentCount)
=> metadata.NativeSubrutineExists(NormalizeApiName(name), argumentCount) ? 1 : 0;아래 식의 값을 반환합니다.
매개변수: kind, serial, graphic, x, y, z, hue, group
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6321.
private InjectionValue BuildWorldTileRecord(string kind, int serial, int graphic, int x, int y, int z, int hue, int group)
결과: InjectionValue.
호출: bridge.GetTileDataProperties, Array.Empty<int>, bridge.GetTileFlags, bridge.GetTileDataName.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTileDataProperties:bridge.GetTileDataProperties(group, graphic). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTileFlags:bridge.GetTileFlags(group, graphic). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTileDataName:bridge.GetTileDataName(group, graphic).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private InjectionValue BuildWorldTileRecord(string kind, int serial, int graphic, int x, int y, int z, int hue, int group)
{
int[] properties = bridge.GetTileDataProperties(group, graphic) ?? Array.Empty<int>();
int layer = group == 0 || properties.Length < 2 ? 0 : properties[1];
int height = group == 0 || properties.Length < 7 ? 0 : properties[6];
return new InjectionValue(new[]
{
new InjectionValue(kind), new InjectionValue(serial), new InjectionValue(graphic),
new InjectionValue(x), new InjectionValue(y), new InjectionValue(z), new InjectionValue(hue),
new InjectionValue(unchecked((int)bridge.GetTileFlags(group, graphic))),
new InjectionValue(bridge.GetTileDataName(group, graphic)),
new InjectionValue(layer), new InjectionValue(height)
});
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: spellName, target
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5858.
private int CastAtTarget(InjectionValue spellName, InjectionValue target)
결과: int.
결과: 0; accepted.
호출: ConvertSpellName, SystemMessage, GetObject, WaitTargetObject, bridge.Cast, Timer, bridge.CancelTarget.
조건: !spellId.HasValue; targetSerial <= 0; accepted != 0.
호출:
-
InjectionScript.Runtime.InjectionApiUO.ConvertSpellName:ConvertSpellName((string)spellName). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage("Unknown spell name"). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(target). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage("UO.Cast: invalid target."). -
InjectionScript.Runtime.InjectionApiUO.WaitTargetObject:WaitTargetObject(targetSerial). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Cast:bridge.Cast(spellId.Value). -
InjectionScript.Runtime.InjectionApiUO.Timer:Timer(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CancelTarget:bridge.CancelTarget().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int CastAtTarget(InjectionValue spellName, InjectionValue target)
{
var spellId = ConvertSpellName((string)spellName);
if (!spellId.HasValue)
{
SystemMessage("Unknown spell name");
return 0;
}
int targetSerial = GetObject(target);
if (targetSerial <= 0)
{
SystemMessage("UO.Cast: invalid target.");
return 0;
}
// The target cursor must be prepared before ClassicUO sends the cast.
// Fast shards can return the cursor immediately, so queuing it after
// Cast would intermittently miss the target.
WaitTargetObject(targetSerial);
int accepted = bridge.Cast(spellId.Value);
if (accepted != 0)
ticksSpell = Timer();
else
bridge.CancelTarget();
return accepted;
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: fromX, fromY, fromZ, toX, toY, toZ, map
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2054.
private bool CheckPortableLineOfSight(int fromX, int fromY, int fromZ, int toX, int toY, int toZ, int map)
결과: bool.
결과: false; x == toX && y == toY && Math.Abs((long)z - toZ) <= 20.
호출: Math.Abs, state.BadLocations.Contains, bridge.CheckWorldStep, bridge.CheckLosCell.
조건: `fromX < 0 || fromX > ushort.MaxValue || fromY < 0 || fromY > ushort.MaxValue
|| toX < 0 || toX > ushort.MaxValue || toY < 0 || toY > ushort.MaxValue
|| map < 0 || map > byte.MaxValue`; `twice > -dy`; `twice < dx`; `state.BadLocations.Contains(x + "," + y)`.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CheckWorldStep:bridge.CheckWorldStep(oldX, oldY, z, x, y, map). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CheckLosCell:bridge.CheckLosCell(x, y, z, map, losOptions). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CheckLosCell:bridge.CheckLosCell(x, oldY, z, map, losOptions). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CheckLosCell:bridge.CheckLosCell(oldX, y, z, map, losOptions).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private bool CheckPortableLineOfSight(int fromX, int fromY, int fromZ, int toX, int toY, int toZ, int map)
{
if (fromX < 0 || fromX > ushort.MaxValue || fromY < 0 || fromY > ushort.MaxValue
|| toX < 0 || toX > ushort.MaxValue || toY < 0 || toY > ushort.MaxValue
|| map < 0 || map > byte.MaxValue)
return false;
int x = fromX;
int y = fromY;
int z = fromZ;
int dx = Math.Abs(toX - fromX);
int dy = Math.Abs(toY - fromY);
int sx = fromX < toX ? 1 : -1;
int sy = fromY < toY ? 1 : -1;
int error = dx - dy;
for (int guard = 0; guard < 4096 && (x != toX || y != toY); guard++)
{
int oldX = x;
int oldY = y;
int twice = error * 2;
if (twice > -dy) { error -= dy; x += sx; }
if (twice < dx) { error += dx; y += sy; }
if (state.BadLocations.Contains(x + "," + y)) return false;
int[] step = bridge.CheckWorldStep(oldX, oldY, z, x, y, map);
if (step.Length == 0 || step[0] == 0) return false;
if (step.Length > 1) z = step[1];
int losOptions = state.LosOptions;
if (losOptions != 0)
{
if (bridge.CheckLosCell(x, y, z, map, losOptions) == 0)
return false;
// Sphere corner-check compatibility: for diagonal ray steps,
// optionally require both adjacent cardinal cells to remain clear.
if ((losOptions & 0x100) != 0 && x != oldX && y != oldY)
{
if (bridge.CheckLosCell(x, oldY, z, map, losOptions) == 0
|| bridge.CheckLosCell(oldX, y, z, map, losOptions) == 0)
return false;
}
}
}
return x == toX && y == toY && Math.Abs((long)z - toZ) <= 20;
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: values
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2273.
private int CompactStepQ(InjectionValue[] values)
결과: int.
결과: -1; bridge.StepQueued(direction, running); bridge.StepControlled(direction, running, timeout, queue, waitForAck).
호출: bridge.IsOnline, NumberConversions.ToInt, ToBoolean, Math.Max, bridge.TryOpenDoorForStep, bridge.OpenDoor, bridge.StepQueued, bridge.StepControlled.
조건: values == null || values.Length < 2 || values.Length > 5; state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0; state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina; state.MoveOpenDoor != 0.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsOnline:bridge.IsOnline(). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[1]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[2]). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[3]). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[4]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TryOpenDoorForStep:bridge.TryOpenDoorForStep(direction). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.OpenDoor:bridge.OpenDoor(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StepQueued:bridge.StepQueued(direction, running). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StepControlled:bridge.StepControlled(direction, running, timeout, queue, waitForAck). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina:bridge.Stamina.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int CompactStepQ(InjectionValue[] values)
{
if (values == null || values.Length < 2 || values.Length > 5)
throw new NativeSubrutineException("UO.StepQ expects direction,run[,timeout[,queue[,waitForAck]]].");
if (state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0)
return -1;
if (state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina)
return -1;
int direction = NumberConversions.ToInt(values[0]) & 7;
bool running = ToBoolean(values[1]);
int timeout = values.Length > 2 ? Math.Max(0, NumberConversions.ToInt(values[2])) : 0;
bool queue = values.Length <= 3 || ToBoolean(values[3]);
bool waitForAck = values.Length > 4 && ToBoolean(values[4]);
state.LastStepUsedDoor = 0;
if (state.MoveOpenDoor != 0)
{
state.LastStepUsedDoor = bridge.TryOpenDoorForStep(direction);
if (state.LastStepUsedDoor == 0)
bridge.OpenDoor();
}
if (values.Length <= 2)
return bridge.StepQueued(direction, running);
return bridge.StepControlled(direction, running, timeout, queue, waitForAck);
}아래 식의 값을 반환합니다.
매개변수: type, color, container
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5212.
public int Count(InjectionValue type, InjectionValue color, InjectionValue container)
결과: int.
결과: Count(ResolveType(type), NumberConversions.ToInt(color), ConvertContainer(container)).
호출: Count, ResolveType, NumberConversions.ToInt, ConvertContainer.
호출:
-
InjectionScript.Runtime.InjectionApiUO.Count:Count(ResolveType(type), NumberConversions.ToInt(color), ConvertContainer(container)). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(type). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(color). -
InjectionScript.Runtime.InjectionApiUO.ConvertContainer:ConvertContainer(container).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Count(InjectionValue type, InjectionValue color, InjectionValue container)
=> Count(ResolveType(type), NumberConversions.ToInt(color), ConvertContainer(container));아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: index, fields, figureText
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1159.
bool TryMapFigureArg(int index, out int[] fields, out string figureText)
결과: bool.
결과: false; true.
호출: Array.Empty<int>, Array.Empty<InjectionValue>, (value.String ?? string.Empty).Split, raw.Select(part => new InjectionValue(part)).ToArray, raw.Select, NumberConversions.TryStr2Int, NumberConversions.ToInt, parts[10].ToString.
조건: index >= arguments.Length; value.Kind == InjectionValueKind.Array; value.Kind == InjectionValueKind.String; parts.Length < 9.
호출:
-
InjectionScript.Runtime.NumberConversions.TryStr2Int:NumberConversions.TryStr2Int(parts[i].String, out fields[i]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(parts[i]). -
InjectionScript.Runtime.NumberConversions.TryStr2Int:NumberConversions.TryStr2Int(parts[9].String, out fields[9]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(parts[9]). -
InjectionScript.Runtime.InjectionValue.ToString:parts[10].ToString(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WorldNumber:bridge.WorldNumber.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
bool TryMapFigureArg(int index, out int[] fields, out string figureText)
{
fields = Array.Empty<int>();
figureText = string.Empty;
if (index >= arguments.Length)
return false;
InjectionValue value = arguments[index];
InjectionValue[] parts;
if (value.Kind == InjectionValueKind.Array)
// …
else if (value.Kind == InjectionValueKind.String)
// …
return false;
// …
if (parts.Length < 9)
return false;
// …
if (parts[i].Kind == InjectionValueKind.String)
// …
if (!NumberConversions.TryStr2Int(parts[i].String, out fields[i]))
return false;
// …
if (parts.Length > 9)
// …
if (parts[9].Kind == InjectionValueKind.String)
// …
if (!NumberConversions.TryStr2Int(parts[9].String, out fields[9]))
return false;
// …
if (parts.Length > 10)
// …
return true;
// …전체 코드는 소스 파일에 있으며 아래는 정확한 발췌입니다.
이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1538.
결과: new InjectionValue(CalculateDirection(Arg(0), Arg(1), Arg(2), Arg(3))).
호출:
-
InjectionScript.Runtime.InjectionApiUO.CalculateDirection:CalculateDirection(Arg(0), Arg(1), Arg(2), Arg(3)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "calcdir": return new InjectionValue(CalculateDirection(Arg(0), Arg(1), Arg(2), Arg(3)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1818.
결과: new InjectionValue(CheckPortableLineOfSight(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), Arg(5), Arg(6)) ? 1 : 0).
호출:
-
InjectionScript.Runtime.InjectionApiUO.CheckPortableLineOfSight:CheckPortableLineOfSight(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), Arg(5), Arg(6)). -
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). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(6).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "checklos": return new InjectionValue(CheckPortableLineOfSight(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), Arg(5), Arg(6)) ? 1 : 0);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1646.
결과: new InjectionValue(bridge.ClientTargetResponse().Select(value => new InjectionValue(value)).ToArray()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientTargetResponse:bridge.ClientTargetResponse().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "clienttargetresponse":
return new InjectionValue(bridge.ClientTargetResponse().Select(value => new InjectionValue(value)).ToArray());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1609.
결과: InjectionValue.Unit.
조건: bridge is IApiGumpAccess gumpAccess.
호출:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseSimpleGump:bridge.CloseSimpleGump(Arg(0)).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "closesimplegump":
if (bridge is IApiGumpAccess gumpAccess) gumpAccess.CloseGumpAtIndex(Arg(0));
else bridge.CloseSimpleGump(Arg(0));
return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1492.
결과: new InjectionValue(bridge.Dexterity).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Dexterity:bridge.Dexterity.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "dex": return new InjectionValue(bridge.Dexterity);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1616.
결과: new InjectionValue(bridge.DragItem(Arg(0), Arg(1))).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DragItem:bridge.DragItem(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "dragitem": return new InjectionValue(bridge.DragItem(Arg(0), Arg(1)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1617.
결과: new InjectionValue(bridge.DropDraggedItem(Arg(0), Arg(1), Arg(2), Arg(3))).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DropDraggedItem:bridge.DropDraggedItem(Arg(0), Arg(1), Arg(2), Arg(3)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "dropitem": return new InjectionValue(bridge.DropDraggedItem(Arg(0), Arg(1), Arg(2), Arg(3)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1389.
결과: new InjectionValue(bridge.GetFoundItems().Select(serial => new InjectionValue(serial)).ToArray()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFoundItems:bridge.GetFoundItems().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getfindedlist":
return new InjectionValue(bridge.GetFoundItems().Select(serial => new InjectionValue(serial)).ToArray());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1598.
결과: new InjectionValue(bridge.GetGumpCount()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpCount:bridge.GetGumpCount().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getgumpscount": return new InjectionValue(bridge.GetGumpCount());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1449.
결과: new InjectionValue(value)).ToArray()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLandscapeTile:bridge.GetLandscapeTile(Arg(0), Arg(1), Arg(2)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getmapcell":
return new InjectionValue(bridge.GetLandscapeTile(Arg(0), Arg(1), Arg(2))
.Select(value => new InjectionValue(value)).ToArray());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1337.
결과: new InjectionValue(state.RunMountTimer).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getrunmounttimer": return new InjectionValue(state.RunMountTimer);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1509.
결과: new InjectionValue(bridge.GetTitle(Arg(0, bridge.Self))).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTitle:bridge.GetTitle(Arg(0, bridge.Self)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0, bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "gettitle": return new InjectionValue(bridge.GetTitle(Arg(0, bridge.Self)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1391.
결과: new InjectionValue(bridge.GetWorldItems().Select(serial => new InjectionValue(serial)).ToArray()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetWorldItems:bridge.GetWorldItems().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getworlditems":
return new InjectionValue(bridge.GetWorldItems().Select(serial => new InjectionValue(serial)).ToArray());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1274.
결과: new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1), Arg(2), Arg(3))); new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1), Arg(2))); new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1))).
조건: arguments.Length > 3; arguments.Length > 2.
호출:
-
InjectionScript.Runtime.InjectionApiUO.InJournalBetweenTimes:InJournalBetweenTimes(Text(0), Arg(1), Arg(2), Arg(3)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(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.InJournalBetweenTimes:InJournalBetweenTimes(Text(0), Arg(1), Arg(2)). -
InjectionScript.Runtime.InjectionApiUO.InJournalBetweenTimes:InJournalBetweenTimes(Text(0), Arg(1)).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "injournalbetweentimes":
if (arguments.Length > 3)
return new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1), Arg(2), Arg(3)));
if (arguments.Length > 2)
return new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1), Arg(2)));
return new InjectionValue(InJournalBetweenTimes(Text(0), Arg(1)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1700.
결과: new InjectionValue(bridge.InParty()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.InParty:bridge.InParty().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "inparty": return new InjectionValue(bridge.InParty());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1513.
결과: new InjectionValue(bridge.IsHouse(Arg(0))).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsHouse:bridge.IsHouse(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "ishouse": return new InjectionValue(bridge.IsHouse(Arg(0)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2033.
결과: new InjectionValue(GetJournalText(Arg(0))).
호출:
-
InjectionScript.Runtime.InjectionApiUO.GetJournalText:GetJournalText(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "journal": return new InjectionValue(GetJournalText(Arg(0)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1493.
결과: new InjectionValue(bridge.MaxMana).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MaxMana:bridge.MaxMana.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "maxmana": return new InjectionValue(bridge.MaxMana);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1904.
호출:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ActivateGumpButton:bridge.ActivateGumpButton(Arg(0), Arg(1)).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "numgumpbutton": return (bridge is IApiGumpAccess buttons
? buttons.ActivateGumpButtonAtIndex(Arg(0), Arg(1)) : bridge.ActivateGumpButton(Arg(0), Arg(1))) != 0 ? InjectionValue.True : InjectionValue.False;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1731.
결과: new InjectionValue(removed).
호출:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RemoveMapFigure:bridge.RemoveMapFigure(id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "removefigure":
{
int id = Arg(0);
int removed = bridge.RemoveMapFigure(id);
state.MapFigures.Remove(id);
return new InjectionValue(removed);
}이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1629.
결과: new InjectionValue(ChangeEquipmentItems(ArrayArg(0), false)).
호출:
-
InjectionScript.Runtime.InjectionApiUO.ChangeEquipmentItems:ChangeEquipmentItems(ArrayArg(0), false). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::ArrayArg:ArrayArg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "unequipitems":
return new InjectionValue(ChangeEquipmentItems(ArrayArg(0), false));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2934.
조건: arguments.Length == 0 && bridge.RequestInteractiveTileInfoTarget() != 0.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestInteractiveTileInfoTarget:bridge.RequestInteractiveTileInfoTarget(). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage(bridge.GetTileInfoText( arguments.Length > 0 ? Arg(0) : bridge.GetX(bridge.Self), arguments.Length > 1 ? Arg(1) : bridge.GetY(bridge.Self), bridge.WorldNumber)). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTileInfoText:bridge.GetTileInfoText( arguments.Length > 0 ? Arg(0) : bridge.GetX(bridge.Self), arguments.Length > 1 ? Arg(1) : bridge.GetY(bridge.Self), bridge.WorldNumber). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetX:bridge.GetX(bridge.Self). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(1). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetY:bridge.GetY(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WorldNumber:bridge.WorldNumber.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "infotile":
if (arguments.Length == 0 && bridge.RequestInteractiveTileInfoTarget() != 0)
break;
SystemMessage(bridge.GetTileInfoText(
arguments.Length > 0 ? Arg(0) : bridge.GetX(bridge.Self),
arguments.Length > 1 ? Arg(1) : bridge.GetY(bridge.Self),
bridge.WorldNumber));
break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3022.
호출:
-
InjectionScript.Runtime.InjectionApiUO.Unequip:Unequip("Ear").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "removeearrings": Unequip("Ear"); break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2977.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SaveHotkeys:bridge.SaveHotkeys().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "savehotkeys": bridge.SaveHotkeys(); break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3032.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "setrec":
state.RecordedAction = string.Empty;
recordNextLegacyAction = true;
break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3055.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PlaySound:bridge.PlaySound(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "sound": bridge.PlaySound(Arg(0)); break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2905.
조건: arguments.Length >= 2.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AddMenuHook:bridge.AddMenuHook(Text(0), Text(1), true). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(1). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseObject:bridge.UseObject(Arg(0, bridge.LastTarget)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0, bridge.LastTarget). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastTarget:bridge.LastTarget.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "vendormenu":
if (arguments.Length >= 2) bridge.AddMenuHook(Text(0), Text(1), true);
else bridge.UseObject(Arg(0, bridge.LastTarget));
break;아래 식의 값을 반환합니다.
매개변수: stateFilter, rangeFilter, verticalFilter, directionOrKind
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3663.
`public int FindMobile(InjectionValue stateFilter, InjectionValue rangeFilter, InjectionValue verticalFilter,
InjectionValue directionOrKind)`
결과: int.
결과: FindMobile(stateFilter, rangeFilter, verticalFilter, directionOrKind, new InjectionValue("all")).
호출: FindMobile.
호출:
-
InjectionScript.Runtime.InjectionApiUO.FindMobile:FindMobile(stateFilter, rangeFilter, verticalFilter, directionOrKind, new InjectionValue("all")).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int FindMobile(InjectionValue stateFilter, InjectionValue rangeFilter, InjectionValue verticalFilter,
InjectionValue directionOrKind)
=> FindMobile(stateFilter, rangeFilter, verticalFilter, directionOrKind, new InjectionValue("all"));아래 식의 값을 반환합니다.
매개변수: type, color, containerId
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4603.
public string FindType(int type, int color, int containerId)
결과: string.
결과: FindType(type, color, containerId, -1, false).
호출: FindType.
호출:
-
InjectionScript.Runtime.InjectionApiUO.FindType:FindType(type, color, containerId, -1, false).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string FindType(int type, int color, int containerId)
=> FindType(type, color, containerId, -1, false);아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3780.
public int GetFlags(InjectionValue id)
결과: int.
결과: bridge.GetFlags(GetObject(id)).
호출: bridge.GetFlags, GetObject.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFlags:bridge.GetFlags(GetObject(id)). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetFlags(InjectionValue id) => bridge.GetFlags(GetObject(id));아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3616.
public string GetGraphics(int id)
결과: string.
결과: $"0x{bridge.GetGraphics(id):X4}".
호출: bridge.GetGraphics.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGraphics:bridge.GetGraphics(id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string GetGraphics(int id) => $"0x{bridge.GetGraphics(id):X4}";아래 식의 값을 반환합니다.
매개변수: x, y, map
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6173.
public InjectionValue GetLandscapeTile(InjectionValue x, InjectionValue y, InjectionValue map)
결과: InjectionValue.
결과: ToArray(bridge.GetLandscapeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(map))).
호출: ToArray, bridge.GetLandscapeTile, NumberConversions.ToInt.
호출:
-
InjectionScript.Runtime.InjectionApiUO.ToArray:ToArray(bridge.GetLandscapeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(map))). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLandscapeTile:bridge.GetLandscapeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(map)). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(x). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(y). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(map).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public InjectionValue GetLandscapeTile(InjectionValue x, InjectionValue y, InjectionValue map)
=> ToArray(bridge.GetLandscapeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(map)));아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3599.
public int GetNotoriety(string id)
결과: int.
결과: GetNotoriety(GetObject(id)).
호출: GetNotoriety, GetObject.
호출:
-
InjectionScript.Runtime.InjectionApiUO.GetNotoriety:GetNotoriety(GetObject(id)). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetNotoriety(string id) => GetNotoriety(GetObject(id));아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3744.
public int GetPing()
결과: int.
결과: bridge.GetPing().
호출: bridge.GetPing.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetPing:bridge.GetPing().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetPing() => bridge.GetPing();아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6338.
public InjectionValue GetShopList()
결과: InjectionValue.
결과: new InjectionValue((bridge.GetShopList() ?? Array.Empty<string>()).Select(item => new InjectionValue(item)).ToArray()).
호출: (bridge.GetShopList() ?? Array.Empty<string>()).Select(item => new InjectionValue(item)).ToArray, (bridge.GetShopList() ?? Array.Empty<string>()).Select, bridge.GetShopList, Array.Empty<string>.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetShopList:bridge.GetShopList().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public InjectionValue GetShopList()
=> new InjectionValue((bridge.GetShopList() ?? Array.Empty<string>()).Select(item => new InjectionValue(item)).ToArray());아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3559.
public int GetX()
결과: int.
결과: GetX("self").
호출: GetX.
호출:
-
InjectionScript.Runtime.InjectionApiUO.GetX:GetX("self").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetX() => GetX("self");아래 식의 값을 반환합니다.
매개변수: x, y
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3305.
public int IsMineTile(InjectionValue x, InjectionValue y)
결과: int.
결과: bridge.IsMineTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y)).
호출: bridge.IsMineTile, NumberConversions.ToInt.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsMineTile:bridge.IsMineTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y)). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(x). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(y).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int IsMineTile(InjectionValue x, InjectionValue y) => bridge.IsMineTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y));아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3771.
public int IsMoving()
결과: int.
결과: bridge.IsMoving().
호출: bridge.IsMoving.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsMoving:bridge.IsMoving().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int IsMoving() => bridge.IsMoving();표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3527.
public void MoveOn()
결과: void.
호출: bridge.EnableMove.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.EnableMove:bridge.EnableMove(true).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void MoveOn() => bridge.EnableMove(true);아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: handler
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6060.
private static string NormalizeLegacyEventHandler(string handler)
결과: string.
결과: value.
호출: (handler ?? string.Empty).Trim, value.StartsWith, value.Substring(5).Trim, value.Substring, value.Substring(6).Trim.
조건: value.StartsWith("exec ", StringComparison.OrdinalIgnoreCase); value.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static string NormalizeLegacyEventHandler(string handler)
{
string value = (handler ?? string.Empty).Trim();
if (value.StartsWith("exec ", StringComparison.OrdinalIgnoreCase))
value = value.Substring(5).Trim();
else if (value.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase))
value = value.Substring(6).Trim();
return value;
}코드에 표시된 규칙에 따라 인수를 분석하거나 값을 찾습니다.
매개변수: type
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3938.
private int ResolveType(InjectionValue type)
결과: int.
결과: graphic; NumberConversions.ToInt(type).
호출: state.Types.TryGet, NumberConversions.ToInt.
조건: type.Kind == InjectionValueKind.String && state.Types.TryGet(type.String, out int graphic).
호출:
-
InjectionScript.Runtime.State.NamedTypes.TryGet:state.Types.TryGet(type.String, out int graphic). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(type).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int ResolveType(InjectionValue type)
{
if (type.Kind == InjectionValueKind.String && state.Types.TryGet(type.String, out int graphic))
return graphic;
return NumberConversions.ToInt(type);
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: result, pattern, ignoreCase
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5478.
private void SelectJournalSearchResult(int result, string pattern, bool ignoreCase)
결과: void.
호출: SelectJournalEntry, reader.ReadJournalSearchResult, ReadJournalSnapshot, FindJournalPatternId.
조건: selectedJournalEntry != null.
호출:
-
InjectionScript.Runtime.InjectionApiUO.SelectJournalEntry:SelectJournalEntry(result <= 0 ? null : bridge is IApiJournalReader reader ? reader.ReadJournalSearchResult() : ReadJournalSnapshot(result - 1)). -
InjectionScript.Runtime.InjectionApiUO.ReadJournalSnapshot:ReadJournalSnapshot(result - 1). -
InjectionScript.Runtime.InjectionApiUO.FindJournalPatternId:FindJournalPatternId(selectedJournalEntry.Text, pattern, false, ignoreCase).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private void SelectJournalSearchResult(int result, string pattern, bool ignoreCase)
{
SelectJournalEntry(result <= 0 ? null : bridge is IApiJournalReader reader
? reader.ReadJournalSearchResult() : ReadJournalSnapshot(result - 1));
if (selectedJournalEntry != null)
foundedTextId = FindJournalPatternId(selectedJournalEntry.Text, pattern, false, ignoreCase);
}아래 식의 값을 반환합니다.
매개변수: serial, gumpId, triggerId, timeout
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3223.
public int SendGumpSelect(InjectionValue serial, InjectionValue gumpId, InjectionValue triggerId, InjectionValue timeout)
결과: int.
호출: bridge.SendGumpSelect, NumberConversions.ToInt, Math.Max.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SendGumpSelect:bridge.SendGumpSelect(NumberConversions.ToInt(serial), NumberConversions.ToInt(gumpId), NumberConversions.ToInt(triggerId), Math.Max(0, NumberConversions.ToInt(timeout))). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(serial). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(gumpId). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(triggerId). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(timeout).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int SendGumpSelect(InjectionValue serial, InjectionValue gumpId, InjectionValue triggerId, InjectionValue timeout)
=> bridge.SendGumpSelect(NumberConversions.ToInt(serial), NumberConversions.ToInt(gumpId),
NumberConversions.ToInt(triggerId), Math.Max(0, NumberConversions.ToInt(timeout)));아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: args
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.ClassMasks.cs:71.
private int SetClassMask(InjectionValue[] args)
결과: int.
결과: 1.
호출: ReadClassName, required.Array.Any, required.Array.Select(v => ReadEquipmentGroup(v, false)).ToArray, required.Array.Select, ReadEquipmentGroup, groups.Any.
조건: groups.Any(group => group.All(forbidden.Contains)).
호출:
-
InjectionScript.Runtime.InjectionApiUO.ReadClassName:ReadClassName(args[0]). -
InjectionScript.Runtime.InjectionApiUO.ReadEquipmentGroup:ReadEquipmentGroup(v, false). -
InjectionScript.Runtime.InjectionApiUO.ReadEquipmentGroup:ReadEquipmentGroup(required, false). -
InjectionScript.Runtime.InjectionApiUO.ReadEquipmentGroup:ReadEquipmentGroup(args[2], true).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int SetClassMask(InjectionValue[] args)
{
string name = ReadClassName(args[0]);
InjectionValue required = args[1];
HashSet<int>[] groups = required.Kind == InjectionValueKind.Array && required.Array.Any(v => v.Kind == InjectionValueKind.Array)
? required.Array.Select(v => ReadEquipmentGroup(v, false)).ToArray()
: new[] { ReadEquipmentGroup(required, false) };
HashSet<int> forbidden = args.Length == 3 ? ReadEquipmentGroup(args[2], true) : new HashSet<int>();
if (groups.Any(group => group.All(forbidden.Contains)))
throw new StatementFailedException("ClassMask: a required equipment group is entirely forbidden.");
// Construct fully before replacing; invalid edits preserve the previous rule.
var rule = new EquipmentClassRule(groups, forbidden);
lock (classRulesSync) classRules[name] = rule;
return 1;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: name, equipSet, supportedLayers, successMessage
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5633.
`private void SetEquip(string name, RuntimeDictionary equipSet, int[] supportedLayers,
string successMessage)`
결과: void.
호출: equipSet.Set, GetEquips, SystemMessage.
호출:
-
InjectionScript.Runtime.State.RuntimeDictionary.Set:equipSet.Set(name, new EquipSet(GetEquips(supportedLayers))). -
InjectionScript.Runtime.InjectionApiUO.GetEquips:GetEquips(supportedLayers). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage(successMessage).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private void SetEquip(string name, RuntimeDictionary<EquipSet> equipSet, int[] supportedLayers,
string successMessage)
{
equipSet.Set(name, new EquipSet(GetEquips(supportedLayers)));
SystemMessage(successMessage);
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4361.
public void SetReceivingContainer(int id)
결과: void.
호출: bridge.UnsetReceivingContainer, bridge.SetReceivingContainer.
조건: id <= 0.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UnsetReceivingContainer:bridge.UnsetReceivingContainer(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetReceivingContainer:bridge.SetReceivingContainer(id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void SetReceivingContainer(int id)
{
if (id <= 0)
bridge.UnsetReceivingContainer();
else
bridge.SetReceivingContainer(id);
}아래 식의 값을 반환합니다.
매개변수: windowIndex
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3292.
public int TradeCheck(InjectionValue windowIndex)
결과: int.
결과: bridge.TradeCheck(NumberConversions.ToInt(windowIndex), 0, 0, false).
호출: bridge.TradeCheck, NumberConversions.ToInt.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TradeCheck:bridge.TradeCheck(NumberConversions.ToInt(windowIndex), 0, 0, false). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(windowIndex).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int TradeCheck(InjectionValue windowIndex)
=> bridge.TradeCheck(NumberConversions.ToInt(windowIndex), 0, 0, false);아래 식의 값을 반환합니다.
매개변수: windowIndex
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3289.
public string TradeContainer(InjectionValue windowIndex)
결과: string.
결과: NumberConversions.ToHex(bridge.TradeContainer(NumberConversions.ToInt(windowIndex))).
호출: NumberConversions.ToHex, bridge.TradeContainer, NumberConversions.ToInt.
호출:
-
InjectionScript.Runtime.NumberConversions.ToHex:NumberConversions.ToHex(bridge.TradeContainer(NumberConversions.ToInt(windowIndex))). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TradeContainer:bridge.TradeContainer(NumberConversions.ToInt(windowIndex)). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(windowIndex).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string TradeContainer(InjectionValue windowIndex) => NumberConversions.ToHex(bridge.TradeContainer(NumberConversions.ToInt(windowIndex)));아래 식의 값을 반환합니다.
매개변수: skillName
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5753.
public int UseSkill(string skillName)
결과: int.
결과: UseSkillCore(skillName) ? 1 : 0.
호출: UseSkillCore.
호출:
-
InjectionScript.Runtime.InjectionApiUO.UseSkillCore:UseSkillCore(skillName).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int UseSkill(string skillName)
{
return UseSkillCore(skillName) ? 1 : 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:4697.
values
결과: values.
호출: FindFilteredMobileSerial, CombineMask, NumberConversions.ToInt, bridge.GetFindVertical.
호출:
-
InjectionScript.Runtime.InjectionApiUO.FindFilteredMobileSerial:FindFilteredMobileSerial(-1, CombineMask(values, 1), NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false). -
InjectionScript.Runtime.InjectionApiUO.CombineMask:CombineMask(values, 1). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[0]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
values => new InjectionValue(FindFilteredMobileSerial(-1, CombineMask(values, 1),
NumberConversions.ToInt(values[0]), true, bridge.GetFindVertical(), -1, false))호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:374.
values
결과: values.
호출: FindMobile.
호출:
-
InjectionScript.Runtime.InjectionApiUO.FindMobile:FindMobile(values[0], values[1], values[2], values[3], values[4]).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
values => new InjectionValue(
FindMobile(values[0], values[1], values[2], values[3], values[4]))호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4640.
values
결과: values.
결과: new InjectionValue(CompactFindNotoriety(values)).
호출: CompactFindNotoriety.
호출:
-
InjectionScript.Runtime.InjectionApiUO.CompactFindNotoriety:CompactFindNotoriety(values).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
values => new InjectionValue(CompactFindNotoriety(values))호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1044.
결과: bridge.ColdResistance.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ColdResistance:bridge.ColdResistance.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.ColdResistance호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1031.
결과: bridge.Intelligence.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Intelligence:bridge.Intelligence.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.Intelligence호출 시 저장된 처리기 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:907.
values
결과: values.
결과: CompactGetPathArray3D(values).
호출: CompactGetPathArray3D.
호출:
-
InjectionScript.Runtime.InjectionApiUO.CompactGetPathArray3D:CompactGetPathArray3D(values).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
values => CompactGetPathArray3D(values)호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1052.
결과: bridge.WorldNumber.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WorldNumber:bridge.WorldNumber.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.WorldNumber호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1070.
결과: bridge.GetName(bridge.Self).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetName:bridge.GetName(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.GetName(bridge.Self)호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1057.
결과: bridge.GetNotoriety(bridge.Self).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetNotoriety:bridge.GetNotoriety(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.GetNotoriety(bridge.Self)호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.ClassMasks.cs:29.
args
결과: args.
결과: new InjectionValue(SetClassMask(args)).
호출: SetClassMask.
호출:
-
InjectionScript.Runtime.InjectionApiUO.SetClassMask:SetClassMask(args).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
args => new InjectionValue(SetClassMask(args))아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.
value
결과: value.
결과: getter(GetObject(value)).
호출: getter, GetObject.
호출:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
value => getter(GetObject(value))아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.
결과: getter(bridge.Self).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => getter(bridge.Self)아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.
value
결과: value.
결과: getter(GetObject(value)).
호출: getter, GetObject.
호출:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
value => getter(GetObject(value))코드에 표시된 규칙에 따라 인수를 분석하거나 값을 찾습니다.
매개변수: value
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NumberConversions.cs:19.
public static int ToInt(InjectionValue value)
결과: int.
결과: value.Integer; ToInt(value.String); 0; checked((int)value.Decimal).
호출: ToInt.
호출:
-
InjectionScript.Runtime.NumberConversions.ToInt:ToInt(value.String).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public static int ToInt(InjectionValue value)
{
switch (value.Kind)
{
case InjectionValueKind.Integer:
return value.Integer;
case InjectionValueKind.String:
return ToInt(value.String);
case InjectionValueKind.Array:
return 0;
case InjectionValueKind.Decimal:
// Keep truncation toward zero, but reject NaN, infinities
// and overflow before a typed assignment or API call can
// store/use a runtime-dependent, silently corrupted value.
return checked((int)value.Decimal);
case InjectionValueKind.Unit:
return 0;
default:
throw new InvalidCastException($"Cannot convert {value.Kind} to Integer.");
}
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: name
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedTypes.cs:13.
public static string ValidateName(string name)
결과: string.
결과: key.
호출: (name ?? string.Empty).Trim, key.Any, key.Contains, NumberConversions.TryStr2Int, key.Equals.
조건: key.Length == 0 || key.Any(char.IsControl) || key.Contains("|") || NumberConversions.TryStr2Int(key, out _) || key.Equals("any", StringComparison.OrdinalIgnoreCase).
호출:
-
InjectionScript.Runtime.NumberConversions.TryStr2Int:NumberConversions.TryStr2Int(key, out _).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public static string ValidateName(string name)
{
string key = (name ?? string.Empty).Trim();
if (key.Length == 0 || key.Any(char.IsControl) || key.Contains("|")
|| NumberConversions.TryStr2Int(key, out _) || key.Equals("any", StringComparison.OrdinalIgnoreCase))
throw new NativeSubrutineException("UO.AddType requires a nonempty name, not a number, 'any', or a | mask.");
return key;
}ClassicUO — Bad Newbie & C# Scripts IDE