Repository navigation
KO Runtime Helpers 7
uk · ru · en · de · fr · it · es · zh-tw · ja · ko
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:412.
결과: true.
호출:
-
ClassicUO.CSharp.CSharpCallbacks.IsRunning:IsRunning(runningName).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "FunRunning":
string runningName = Convert.ToString(arguments[0]) ?? "";
result = IsRunning(runningName) || events is ICSharpScriptHost runningHost && runningHost.IsCSharpScriptRunning(runningName) ? 1 : 0;
return true;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:426.
when Length== 1: string routine = Convert.ToString(arguments[0]) ?? ""
결과: when.
호출: Convert.ToString.
호출:
-
ClassicUO.CSharp.CSharpCallbacks.Exists:Exists(routine). -
ClassicUO.CSharp.CSharpCallbacks.Cancel:Cancel(routine).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "Terminate" when arguments.Length == 1:
string routine = Convert.ToString(arguments[0]) ?? "";
if (Exists(routine)) { Cancel(routine); return true; }
if (Cancel(routine)) return true;
return false;아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: value
소스: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:335.
private static string HandlerName(object? value)
결과: string.
결과: name[5..].Trim(); name[6..].Trim(); name.
호출: (Convert.ToString(value) ?? "").Trim, Convert.ToString, name.StartsWith, name[5..].Trim, name[6..].Trim.
조건: name.StartsWith("exec ", StringComparison.OrdinalIgnoreCase); name.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static string HandlerName(object? value)
{
string name = (Convert.ToString(value) ?? "").Trim();
if (name.StartsWith("exec ", StringComparison.OrdinalIgnoreCase)) return name[5..].Trim();
if (name.StartsWith("_exec ", StringComparison.OrdinalIgnoreCase)) return name[6..].Trim();
return name;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: page, text
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1774.
public void BookSetPageText(int page, string text)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionBook book = GetOpenBook(); if (book == null) { Error("UO.BookSetPageText: no open book."); return; } if (!book.YokoTrySetPageText(page, text)) Error("UO.BookSetPageText: invalid page, read-only book, too many lines, or a line is too long."); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionBook book = GetOpenBook(); if (book == null) { Error("UO.BookSetPageText: no open book."); return; } if (!book.YokoTrySetPageText(page, text)) Error("UO.BookSetPageText: invalid page, read-only book, too many lines, or a line is too long."); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetOpenBook:GetOpenBook(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error:Error("UO.BookSetPageText: no open book."). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error:Error("UO.BookSetPageText: invalid page, read-only book, too many lines, or a line is too long.").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void BookSetPageText(int page, string text) => Invoke(() =>
{
ISessionBook book = GetOpenBook();
if (book == null) { Error("UO.BookSetPageText: no open book."); return; }
if (!book.YokoTrySetPageText(page, text))
Error("UO.BookSetPageText: invalid page, read-only book, too many lines, or a line is too long.");
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1410.
public void Bow()
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => GameActions.EmoteAction("bow")). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => GameActions.EmoteAction("bow")). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.GameActions.EmoteAction:GameActions.EmoteAction("bow").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Bow() => Invoke(() => GameActions.EmoteAction("bow"));표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:695.
public void CloseMenu()
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { foreach (SessionMenu menu in _world.ServerMenus.Snapshot()) menu.CancelForYoko(); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { foreach (SessionMenu menu in _world.ServerMenus.Snapshot()) menu.CancelForYoko(); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void CloseMenu() => Invoke(() =>
{
foreach (SessionMenu menu in _world.ServerMenus.Snapshot())
menu.CancelForYoko();
});아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:162.
public int ColdResistance
결과: int.
결과: Invoke(() => CurrentPlayer?.ColdResistance ?? 0).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => CurrentPlayer?.ColdResistance ?? 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => CurrentPlayer?.ColdResistance ?? 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int ColdResistance => Invoke(() => CurrentPlayer?.ColdResistance ?? 0);표시된 호출 및 상태 변경을 수행합니다.
매개변수: message
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3659.
public void Error(string message)
결과: void.
호출: ReportStatus.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ReportStatus:ReportStatus(message).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Error(string message) => ReportStatus(message);아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2255.
public int FindCount()
결과: int.
결과: _findCount.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int FindCount() => _findCount;아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:133.
public int FindItem
결과: int.
결과: _findItem.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int FindItem => _findItem;아래 식의 값을 반환합니다.
매개변수: type, notoriety
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2649.
public int FindNotoriety(int type, int notoriety)
결과: int.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ResetFindResults(); IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList); foreach (Mobile mobile in _world.Mobiles.Values) { if (mobile.IsDestroyed || State.IgnoredSerials.Contains((int)mobile.Serial) || ignoredTypes.Matches(mobile.Graphic, mobile.Hue) || mobile == _world.Player || type >= 0 && type != 0xFFFF && mobile.Graphic != (ushort)type || notoriety >= 0 && (int)mobile.NotorietyFlag != notoriety || mobile.Distance > State.FindDistance || _world.Player != null && Math.Abs(mobile.Z - _world.Player.Z) > State.FindVertical) { continue; } RegisterFound(mobile); } return _findItem; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ResetFindResults(); IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList); foreach (Mobile mobile in _world.Mobiles.Values) { if (mobile.IsDestroyed || State.IgnoredSerials.Contains((int)mobile.Serial) || ignoredTypes.Matches(mobile.Graphic, mobile.Hue) || mobile == _world.Player || type >= 0 && type != 0xFFFF && mobile.Graphic != (ushort)type || notoriety >= 0 && (int)mobile.NotorietyFlag != notoriety || mobile.Distance > State.FindDistance || _world.Player != null && Math.Abs(mobile.Z - _world.Player.Z) > State.FindVertical) { continue; } RegisterFound(mobile); } return _findItem; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResetFindResults:ResetFindResults(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound:RegisterFound(mobile). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RegisterFound:RegisterFound(mobile). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int FindNotoriety(int type, int notoriety)
{
return Invoke(() =>
{
ResetFindResults();
IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList);
foreach (Mobile mobile in _world.Mobiles.Values)
{
if (mobile.IsDestroyed || State.IgnoredSerials.Contains((int)mobile.Serial) || ignoredTypes.Matches(mobile.Graphic, mobile.Hue) || mobile == _world.Player
|| type >= 0 && type != 0xFFFF && mobile.Graphic != (ushort)type
|| notoriety >= 0 && (int)mobile.NotorietyFlag != notoriety
|| mobile.Distance > State.FindDistance
|| _world.Player != null && Math.Abs(mobile.Z - _world.Player.Z) > State.FindVertical)
{
continue;
}
RegisterFound(mobile);
}
return _findItem;
});
}아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:178.
public int GameServerPort
결과: int.
결과: Settings.GlobalSettings.Port.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GameServerPort => Settings.GlobalSettings.Port;아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:228.
public int GetHP(int id)
결과: int.
결과: WithEntity(id, e => e.Hits).
호출: WithEntity.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WithEntity:WithEntity(id, e => e.Hits).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetHP(int id) => WithEntity(id, e => e.Hits);아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:621.
public int GetLocked(int id)
결과: int.
결과: Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsParalyzed == true ? 1 : 0).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsParalyzed == true ? 1 : 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsParalyzed == true ? 1 : 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.World.Get:_world.Get(unchecked((uint)id)).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetLocked(int id) => Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsParalyzed == true ? 1 : 0);아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:338.
public int GetPing()
결과: int.
결과: NetClient.Socket.Statistics.ServerPing.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetPing() => NetClient.Socket.Statistics.ServerPing;표시된 호출 및 상태 변경을 수행합니다.
매개변수: buffer, offset, value
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3351.
static void Write32(byte[] buffer, int offset, int value)
결과: void.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
static void Write32(byte[] buffer, int offset, int value)
{
buffer[offset] = (byte)value;
buffer[offset + 1] = (byte)(value >> 8);
buffer[offset + 2] = (byte)(value >> 16);
buffer[offset + 3] = (byte)(value >> 24);
}아래 식의 값을 반환합니다.
매개변수: tradeNumber
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:261.
public string GetTradeOpponentName(int tradeNumber)
결과: string.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionTrade gump = FindNumberedTrade(tradeNumber); return gump?.OpponentName ?? string.Empty; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionTrade gump = FindNumberedTrade(tradeNumber); return gump?.OpponentName ?? string.Empty; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindNumberedTrade:FindNumberedTrade(tradeNumber).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string GetTradeOpponentName(int tradeNumber) => Invoke(() =>
{
ISessionTrade gump = FindNumberedTrade(tradeNumber);
return gump?.OpponentName ?? string.Empty;
});아래 식의 값을 반환합니다.
매개변수: pattern, startTime, endTime, limit
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1903.
public int InJournalBetweenTimes(string pattern, int startTime, int endTime, int limit)
결과: int.
결과: FindJournal(pattern, start, end, limit, false, true).
호출: now.AddMilliseconds, Math.Max, Math.Min, FindJournal.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int InJournalBetweenTimes(string pattern, int startTime, int endTime, int limit)
{
DateTime now = DateTime.Now;
DateTime start = now.AddMilliseconds(-Math.Max(startTime, endTime));
DateTime end = now.AddMilliseconds(-Math.Min(startTime, endTime));
return FindJournal(pattern, start, end, limit, false, true);
}아래 식의 값을 반환합니다.
매개변수: pattern, startTime, endTime, limit
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1917.
public int InJournalSystemBetweenTimes(string pattern, int startTime, int endTime, int limit)
결과: int.
결과: FindJournal(pattern, start, end, limit, true, true).
호출: now.AddMilliseconds, Math.Max, Math.Min, FindJournal.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int InJournalSystemBetweenTimes(string pattern, int startTime, int endTime, int limit)
{
DateTime now = DateTime.Now;
DateTime start = now.AddMilliseconds(-Math.Max(startTime, endTime));
DateTime end = now.AddMilliseconds(-Math.Min(startTime, endTime));
return FindJournal(pattern, start, end, limit, true, true);
}아래 식의 값을 반환합니다.
매개변수: x, y
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:670.
public int IsWaterTile(int x, int y)
결과: int.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => AnyTileAt(x, y, tile => tile is Land land ? land.TileData.IsWet : tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length && Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet) ? 1 : 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => AnyTileAt(x, y, tile => tile is Land land ? land.TileData.IsWet : tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length && Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet) ? 1 : 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AnyTileAt:AnyTileAt(x, y, tile => tile is Land land ? land.TileData.IsWet : tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length && Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int IsWaterTile(int x, int y) => Invoke(() => AnyTileAt(x, y, tile =>
tile is Land land ? land.TileData.IsWet
: tile.Graphic < Client.UO.FileManager.TileData.StaticData.Length
&& Client.UO.FileManager.TileData.StaticData[tile.Graphic].IsWet) ? 1 : 0);아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:136.
public int LastCorpse
결과: int.
결과: Invoke(() => (int)(_world.Items.Values.Where(i => i.IsCorpse && !i.IsDestroyed).OrderBy(i => i.Distance).FirstOrDefault()?.Serial ?? 0)).
호출: Invoke.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int LastCorpse => Invoke(() => (int)(_world.Items.Values.Where(i => i.IsCorpse && !i.IsDestroyed).OrderBy(i => i.Distance).FirstOrDefault()?.Serial ?? 0));아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:160.
public int MaxMana
결과: int.
결과: Invoke(() => CurrentPlayer?.ManaMax ?? 0).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => CurrentPlayer?.ManaMax ?? 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => CurrentPlayer?.ManaMax ?? 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int MaxMana => Invoke(() => CurrentPlayer?.ManaMax ?? 0);아래 식의 값을 반환합니다.
매개변수: sourceContainerId, type, color, targetContainerId, x, y, z, delayMs
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1284.
public int MoveItems(int sourceContainerId, int type, int color, int targetContainerId, int x, int y, int z, int delayMs)
결과: int.
결과: MoveContainerItems(sourceContainerId, type, color, targetContainerId, x, y, z, delayMs).Sent > 0 ? 1 : 0.
호출: MoveContainerItems.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int MoveItems(int sourceContainerId, int type, int color, int targetContainerId, int x, int y, int z, int delayMs)
=> MoveContainerItems(sourceContainerId, type, color, targetContainerId, x, y, z, delayMs).Sent > 0 ? 1 : 0;아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:168.
public int Race
결과: int.
결과: Invoke(() => (int)(CurrentPlayer?.Race ?? 0)).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (int)(CurrentPlayer?.Race ?? 0)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (int)(CurrentPlayer?.Race ?? 0)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Race => Invoke(() => (int)(CurrentPlayer?.Race ?? 0));표시된 호출 및 상태 변경을 수행합니다.
매개변수: id
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2893.
public void SelectGump(int id)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { List<Gump> gumps = ServerGumpsUnsafe(); _selectedServerGump = gumps.FirstOrDefault(g => g.LocalSerial == (uint)id || g.ServerSerial == (uint)id); if (_selectedServerGump == null && id >= 0 && id < gumps.Count) { _selectedServerGump = gumps[id]; } if (_selectedServerGump == null) { Error($"UO.SelectGump: gump {id} was not found"); } }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { List<Gump> gumps = ServerGumpsUnsafe(); _selectedServerGump = gumps.FirstOrDefault(g => g.LocalSerial == (uint)id || g.ServerSerial == (uint)id); if (_selectedServerGump == null && id >= 0 && id < gumps.Count) { _selectedServerGump = gumps[id]; } if (_selectedServerGump == null) { Error($"UO.SelectGump: gump {id} was not found"); } }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerGumpsUnsafe:ServerGumpsUnsafe(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Error:Error($"UO.SelectGump: gump {id} was not found").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void SelectGump(int id) => Invoke(() =>
{
List<Gump> gumps = ServerGumpsUnsafe();
_selectedServerGump = gumps.FirstOrDefault(g => g.LocalSerial == (uint)id || g.ServerSerial == (uint)id);
if (_selectedServerGump == null && id >= 0 && id < gumps.Count)
{
_selectedServerGump = gumps[id];
}
if (_selectedServerGump == null)
{
Error($"UO.SelectGump: gump {id} was not found");
}
});아래 식의 값을 반환합니다.
매개변수: gumpIndex, triggerId
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2761.
public int SendGumpSelect(int gumpIndex, int triggerId)
결과: int.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { Gump gump = ServerGumpsUnsafe().ElementAtOrDefault(gumpIndex); return SendGumpButtonUnsafe(gump, triggerId, $"gump index {gumpIndex} was not found"); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { Gump gump = ServerGumpsUnsafe().ElementAtOrDefault(gumpIndex); return SendGumpButtonUnsafe(gump, triggerId, $"gump index {gumpIndex} was not found"); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerGumpsUnsafe:ServerGumpsUnsafe(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SendGumpButtonUnsafe:SendGumpButtonUnsafe(gump, triggerId, $"gump index {gumpIndex} was not found").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int SendGumpSelect(int gumpIndex, int triggerId) => Invoke(() =>
{
Gump gump = ServerGumpsUnsafe().ElementAtOrDefault(gumpIndex);
return SendGumpButtonUnsafe(gump, triggerId, $"gump index {gumpIndex} was not found");
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: type, color, quantity, maxPrice, name
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3578.
public void SetAutoBuyRule(int type, int color, int quantity, int maxPrice, string name)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => SetAutoShopRule(ProfileManager.CurrentProfile?.BackNewbieAutoBuyRules, true, type, color, quantity, maxPrice, name)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => SetAutoShopRule(ProfileManager.CurrentProfile?.BackNewbieAutoBuyRules, true, type, color, quantity, maxPrice, name)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoShopRule:SetAutoShopRule(ProfileManager.CurrentProfile?.BackNewbieAutoBuyRules, true, type, color, quantity, maxPrice, name).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void SetAutoBuyRule(int type, int color, int quantity, int maxPrice, string name) =>
Invoke(() => SetAutoShopRule(ProfileManager.CurrentProfile?.BackNewbieAutoBuyRules, true, type, color, quantity, maxPrice, name));아래 식의 값을 반환합니다.
매개변수: figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2324.
public int SetMapFigure(int figureId, int kind, int coord, int x1, int y1, int x2, int y2, int brushColor, int brushStyle, int color, int worldNum, string text)
결과: int.
결과: Invoke(() => WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text)).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.UI.Gumps.WorldMapGump.SetYokoMapFigure:WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int SetMapFigure(int figureId, int kind, int coord, int x1, int y1, int x2, int y2, int brushColor, int brushStyle, int color, int worldNum, string text)
=> Invoke(() => WorldMapGump.SetYokoMapFigure(figureId, kind, coord, x1, y1, x2, y2, brushColor, brushStyle, color, worldNum, text));표시된 호출 및 상태 변경을 수행합니다.
매개변수: enabled
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:311.
public void SetPauseScriptOnDisconnectStatus(int enabled)
결과: void.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void SetPauseScriptOnDisconnectStatus(int enabled) => _manager.PauseScriptsOnDisconnect = enabled != 0;아래 식의 값을 반환합니다.
매개변수: pattern
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3746.
private static string[] SplitPatterns(string pattern)
결과: string[].
결과: (pattern ?? string.Empty).Split('|', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries).
호출: (pattern ?? string.Empty).Split.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static string[] SplitPatterns(string pattern) => (pattern ?? string.Empty).Split('|', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);표시된 호출 및 상태 변경을 수행합니다.
매개변수: type, x, y, z
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:833.
public void TargetToTile(int type, int x, int y, int z)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.TargetManager.IsServerTarget) _world.TargetManager.Target((ushort)type, (ushort)x, (ushort)y, (short)z); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.TargetManager.IsServerTarget) _world.TargetManager.Target((ushort)type, (ushort)x, (ushort)y, (short)z); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void TargetToTile(int type, int x, int y, int z) => Invoke(() =>
{
if (_world.TargetManager.IsServerTarget)
_world.TargetManager.Target((ushort)type, (ushort)x, (ushort)y, (short)z);
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: text
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1752.
public void TextPrint(string text)
결과: void.
호출: _textWindow.RemoveRange, _textWindow.Add, Invoke.
조건: _textWindow.Count >= MaxTextWindowLines.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { YokoTextWindowGump.Show(_world, _textWindow); ReportStatus($"UO.TextPrint: {_textWindow.Count} line(s) visible"); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { YokoTextWindowGump.Show(_world, _textWindow); ReportStatus($"UO.TextPrint: {_textWindow.Count} line(s) visible"); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.UI.Gumps.YokoTextWindowGump.Show:YokoTextWindowGump.Show(_world, _textWindow). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ReportStatus:ReportStatus($"UO.TextPrint: {_textWindow.Count} line(s) visible").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void TextPrint(string text)
{
if (_textWindow.Count >= MaxTextWindowLines)
_textWindow.RemoveRange(0,
_textWindow.Count - MaxTextWindowLines + 1);
_textWindow.Add(text ?? string.Empty);
_textWindowOpen = true;
Invoke(() =>
{
YokoTextWindowGump.Show(_world, _textWindow);
ReportStatus($"UO.TextPrint: {_textWindow.Count} line(s) visible");
});
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: timeoutMs, pingMs
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:342.
private bool TryProbeServerPing(int timeoutMs, out int pingMs)
결과: bool.
결과: false; pingMs >= 0.
호출: Math.Max, Invoke, NetClient.Socket.Statistics.GetPingEchoGeneration, Wait, Math.Min.
조건: request.Token < 0; NetClient.Socket.Statistics.GetPingEchoGeneration((byte)request.Token) != request.Generation; timeout == 0; remaining <= 0.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (!_world.InGame || !NetClient.Socket.IsConnected) return (-1, -1); return NetClient.Socket.Statistics.SendPingProbe(); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (!_world.InGame || !NetClient.Socket.IsConnected) return (-1, -1); return NetClient.Socket.Statistics.SendPingProbe(); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Wait:Wait((int)Math.Min(10, remaining)).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private bool TryProbeServerPing(int timeoutMs, out int pingMs)
{
int timeout = Math.Max(0, timeoutMs);
(int Token, int Generation) request = Invoke(() =>
{
if (!_world.InGame || !NetClient.Socket.IsConnected)
return (-1, -1);
return NetClient.Socket.Statistics.SendPingProbe();
});
if (request.Token < 0)
{
pingMs = -1;
return false;
}
long deadline = Environment.TickCount64 + timeout;
do
{
if (NetClient.Socket.Statistics.GetPingEchoGeneration((byte)request.Token) != request.Generation)
{
pingMs = NetClient.Socket.Statistics.ServerPing;
return pingMs >= 0;
}
if (timeout == 0)
break;
long remaining = deadline - Environment.TickCount64;
if (remaining <= 0)
break;
Wait((int)Math.Min(10, remaining));
}
while (true);
pingMs = -1;
return false;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1134.
public void UnsetReceivingContainer()
결과: void.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void UnsetReceivingContainer() => State.ReceivingContainer = 0;표시된 호출 및 상태 변경을 수행합니다.
매개변수: id
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:772.
public void UseObject(int id)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => GameActions.DoubleClick(_world, (uint)id)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => GameActions.DoubleClick(_world, (uint)id)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.GameActions.DoubleClick:GameActions.DoubleClick(_world, (uint)id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void UseObject(int id) => Invoke(() => GameActions.DoubleClick(_world, (uint)id));표시된 호출 및 상태 변경을 수행합니다.
매개변수: name, oneShot
소스: Project_Full/src/ClassicUO.Client/Game/Managers/LastCharacterManager.cs:107.
public static void OverrideLastCharacter(string name, bool oneShot = false)
결과: void.
호출: string.IsNullOrEmpty.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public static void OverrideLastCharacter(string name, bool oneShot = false)
{
LastCharacterNameOverride = name ?? string.Empty;
LastCharacterNameOverrideOneShot = oneShot && !string.IsNullOrEmpty(LastCharacterNameOverride);
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: serial
소스: Project_Full/src/ClassicUO.Client/Game/Managers/UIManager.cs:277.
public static T GetGump<T>(uint? serial = null)
결과: T.
결과: t; null.
조건: serial.HasValue; !c.IsDisposed && c.LocalSerial == serial.Value && c is T t; !c.IsDisposed && c is T t.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public static T GetGump<T>(uint? serial = null) where T : Control
{
if (serial.HasValue)
{
for (LinkedListNode<Gump> last = Gumps.Last; last != null; last = last.Previous)
{
Control c = last.Value;
if (!c.IsDisposed && c.LocalSerial == serial.Value && c is T t)
{
return t;
}
}
}
else
{
for (LinkedListNode<Gump> first = Gumps.First; first != null; first = first.Next)
{
Control c = first.Value;
if (!c.IsDisposed && c is T t)
{
return t;
}
}
}
return null;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: scriptKey, text
소스: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:679.
internal void AppendIdeOutput(string scriptKey, string text)
결과: void.
호출: _ideToolBuffers.AppendOutput.
호출:
-
ClassicUO.Game.Managers.YokoIdeToolBuffers.AppendOutput:_ideToolBuffers.AppendOutput(scriptKey, text).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal void AppendIdeOutput(string scriptKey, string text) =>
_ideToolBuffers.AppendOutput(scriptKey, text);아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3347.
internal int[] GetPendingTargetSerials()
결과: int[].
결과: _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select(t => (int)t.Serial).ToArray().
호출: _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select(t => (int)t.Serial).ToArray, _pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select, _pendingTargets.ToArray().Where, _pendingTargets.ToArray.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal int[] GetPendingTargetSerials() =>
// Zero denotes a queued tile/cancellation. Waiting() and timed casts
// need to count these entries as well as object serials.
_pendingTargets.ToArray().Where(t => !t.Owner.IsCancellationRequested).Select(t => (int)t.Serial).ToArray();작업을 게임 스레드로 전달하고 취소를 처리합니다.
매개변수: callback, cancellationToken
소스: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3457.
internal T InvokeOnGameThread<T>(Func<T> callback, CancellationToken cancellationToken)
결과: T.
결과: callback(); result.Task.GetAwaiter().GetResult().
호출: nameof, cancellationToken.ThrowIfCancellationRequested, Volatile.Read, callback, EnqueueMainThreadAction, result.Task.Wait, result.Task.GetAwaiter().GetResult, result.Task.GetAwaiter.
조건: callback == null; Volatile.Read(ref _gameThreadId) == Environment.CurrentManagedThreadId.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal T InvokeOnGameThread<T>(Func<T> callback, CancellationToken cancellationToken)
{
if (callback == null)
throw new ArgumentNullException(nameof(callback));
cancellationToken.ThrowIfCancellationRequested();
if (Volatile.Read(ref _gameThreadId) == Environment.CurrentManagedThreadId)
return callback();
var result = new TaskCompletionSource<T>(TaskCreationOptions.RunContinuationsAsynchronously);
EnqueueMainThreadAction(() =>
{
if (cancellationToken.IsCancellationRequested)
{
result.TrySetCanceled(cancellationToken);
return;
}
try
{
result.TrySetResult(callback());
}
catch (Exception ex)
{
result.TrySetException(ex);
}
}, () => result.TrySetCanceled());
result.Task.Wait(cancellationToken);
return result.Task.GetAwaiter().GetResult();
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3804.
private void MarkRuntimeStateChanged()
결과: void.
호출: Interlocked.Increment.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private void MarkRuntimeStateChanged() =>
Interlocked.Increment(ref _runtimeStateRevision);표시된 호출 및 상태 변경을 수행합니다.
매개변수: serial, owner
소스: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3287.
internal void QueueTarget(uint serial, CancellationToken owner = default)
결과: void.
호출: owner.ThrowIfCancellationRequested, _pendingTargets.Enqueue.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal void QueueTarget(uint serial, CancellationToken owner = default)
{
lock (_pendingTargetLock)
{
owner.ThrowIfCancellationRequested();
_pendingTargets.Enqueue(new PendingTarget(serial, owner));
}
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: buttonID
소스: Project_Full/src/ClassicUO.Client/Game/UI/Gumps/Gump.cs:142.
public override void OnButtonClick(int buttonID)
결과: void.
호출: state.OnButtonClick, switches.Add, entries.Add, GameActions.ReplyGump, switches.ToArray, entries.ToArray, UIManager.SavePosition, UIManager.RemovePosition.
조건: SessionState is { } state; !IsDisposed && (LocalSerial != 0 || ServerSerial != 0); CanMove.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public override void OnButtonClick(int buttonID)
{
if (SessionState is { } state)
{
state.OnButtonClick(buttonID);
return;
}
if (!IsDisposed && (LocalSerial != 0 || ServerSerial != 0))
{
List<uint> switches = new List<uint>();
// …
if (CanMove)
// …전체 코드는 소스 파일에 있으며 아래는 정확한 발췌입니다.
코드에 표시된 규칙에 따라 인수를 분석하거나 값을 찾습니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/World.cs:258.
internal string ResolveProfileServerName()
결과: string.
결과: _profileServerIdentity.
호출: string.IsNullOrWhiteSpace, Path.Combine, ProfileShardIdentity.Resolve.
조건: string.IsNullOrWhiteSpace(_profileServerIdentity).
호출:
-
ClassicUO.Configuration.ProfileShardIdentity.Resolve:ProfileShardIdentity.Resolve( runtimeName, Settings.GlobalSettings.IP, Settings.GlobalSettings.Port, _selectedProfileShardHost, defaultSettingsPath, authoritativeEndpoint: _sessionAccount != null ).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal string ResolveProfileServerName()
{
if (string.IsNullOrWhiteSpace(_profileServerIdentity))
{
string runtimeName = string.IsNullOrWhiteSpace(ServerName) || ServerName == "_"
? Settings.GlobalSettings.LastServerName
: ServerName;
string defaultSettingsPath = Path.Combine(
CUOEnviroment.ExecutablePath,
Settings.SETTINGS_FILENAME
);
_profileServerIdentity = ProfileShardIdentity.Resolve(
runtimeName,
Settings.GlobalSettings.IP,
Settings.GlobalSettings.Port,
_selectedProfileShardHost,
defaultSettingsPath,
authoritativeEndpoint: _sessionAccount != null
);
}
return _profileServerIdentity;
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: timeout, retries
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3747.
public int CheckLag(InjectionValue timeout, InjectionValue retries)
결과: int.
결과: 1; 0.
호출: Math.Max, NumberConversions.ToInt, bridge.CheckLag.
조건: bridge.CheckLag(timeoutMs) != 0.
호출:
-
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(timeout). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(retries). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CheckLag:bridge.CheckLag(timeoutMs).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int CheckLag(InjectionValue timeout, InjectionValue retries)
{
int timeoutMs = Math.Max(0, NumberConversions.ToInt(timeout));
int attempts = Math.Max(1, NumberConversions.ToInt(retries));
for (int attempt = 0; attempt < attempts; attempt++)
{
if (bridge.CheckLag(timeoutMs) != 0)
return 1;
}
return 0;
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: values
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4851.
private InjectionValue CompactGetWorldItems(InjectionValue[] values)
결과: InjectionValue.
결과: new InjectionValue(Array.Empty<InjectionValue>()); new InjectionValue(filtered.Select(id => new InjectionValue(id)).ToArray()).
호출: ResolveType, NumberConversions.ToInt, ResolveCompactDistance, bridge.GetFindDistance, TryResolveWorldItemQueryContainer, Array.Empty<InjectionValue>, ToBoolean, ResolveCompactMaxZ.
조건: values.Length > 3 && !TryResolveWorldItemQueryContainer(values[3], out container); nearest.
호출:
-
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(values[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[1]). -
InjectionScript.Runtime.InjectionApiUO.ResolveCompactDistance:ResolveCompactDistance(values[2]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindDistance:bridge.GetFindDistance(). -
InjectionScript.Runtime.InjectionApiUO.TryResolveWorldItemQueryContainer:TryResolveWorldItemQueryContainer(values[3], out container). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[4]). -
InjectionScript.Runtime.InjectionApiUO.ResolveCompactMaxZ:ResolveCompactMaxZ(values[5]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetContent:bridge.GetContent(container). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetWorldItems:bridge.GetWorldItems(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetIgnoreList:bridge.GetIgnoreList(). -
InjectionScript.Runtime.State.NamedIgnoreLists.FilterFor:state.IgnoreTypeLists.FilterFor(state.SelectedIgnoreList). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(bridge.Self). -
InjectionScript.Runtime.InjectionApiUO.MatchesIgnoredType:MatchesIgnoredType(id, ignoredTypes). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGraphics:bridge.GetGraphics(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetColor:bridge.GetColor(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDistance:bridge.GetDistance(distanceObject). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(zObject). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDistance:bridge.GetDistance(container > 0 ? container : id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private InjectionValue CompactGetWorldItems(InjectionValue[] values)
{
int type = values.Length > 0 ? ResolveType(values[0]) : -1;
int color = values.Length > 1 ? NumberConversions.ToInt(values[1]) : -1;
int distance = values.Length > 2 ? ResolveCompactDistance(values[2]) : bridge.GetFindDistance();
int container = 0;
if (values.Length > 3 && !TryResolveWorldItemQueryContainer(values[3], out container))
return new InjectionValue(Array.Empty<InjectionValue>());
bool nearest = values.Length > 4 && ToBoolean(values[4]);
int maxZ = values.Length > 5 ? ResolveCompactMaxZ(values[5]) : bridge.GetFindVertical();
IEnumerable<int> source = container > 0 ? bridge.GetContent(container) : bridge.GetWorldItems();
HashSet<int> ignored = new HashSet<int>(bridge.GetIgnoreList());
IgnoreTypeFilter ignoredTypes = state.IgnoreTypeLists.FilterFor(state.SelectedIgnoreList);
int selfZ = bridge.GetZ(bridge.Self);
IEnumerable<int> filtered = source
.Where(id => (!ignored.Contains(id) && !MatchesIgnoredType(id, ignoredTypes)))
.Where(id => type < 0 || type == 0xFFFF || bridge.GetGraphics(id) == type)
.Where(id => color < 0 || color == 0xFFFF || bridge.GetColor(id) == color)
.Where(id =>
{
int distanceObject = container > 0 ? container : id;
return distance < 0 || bridge.GetDistance(distanceObject) <= distance;
})
.Where(id =>
{
int zObject = container > 0 ? container : id;
return maxZ < 0 || Math.Abs(bridge.GetZ(zObject) - selfZ) <= maxZ;
});
if (nearest)
filtered = filtered.OrderBy(id => bridge.GetDistance(container > 0 ? container : id)).ThenBy(id => id);
return new InjectionValue(filtered.Select(id => new InjectionValue(id)).ToArray());
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: spellName
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6514.
private int? ConvertSpellName(string spellName)
결과: int?.
결과: classicUoSpellId; spellId; null.
호출: (spellName ?? string.Empty).Trim().Replace, (spellName ?? string.Empty).Trim, bridge.ResolveSpell, spellNameToSpellId.TryGetValue, NumberConversions.TryStr2Int.
조건: classicUoSpellId > 0; spellNameToSpellId.TryGetValue(requested, out var spellId); NumberConversions.TryStr2Int(requested, out spellId) && spellId > 0.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResolveSpell:bridge.ResolveSpell(requested). -
InjectionScript.Runtime.NumberConversions.TryStr2Int:NumberConversions.TryStr2Int(requested, out spellId).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int? ConvertSpellName(string spellName)
{
string requested = (spellName ?? string.Empty).Trim().Replace('_', ' ');
int classicUoSpellId = bridge.ResolveSpell(requested);
if (classicUoSpellId > 0)
return classicUoSpellId;
if (spellNameToSpellId.TryGetValue(requested, out var spellId))
return spellId;
if (NumberConversions.TryStr2Int(requested, out spellId) && spellId > 0)
return spellId;
return null;
}아래 식의 값을 반환합니다.
매개변수: type, color, container
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5214.
public int Count(int type, int color, int container)
결과: int.
결과: bridge.Count(type, color, container).
호출: bridge.Count.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Count:bridge.Count(type, color, container).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Count(int type, int color, int container)
=> bridge.Count(type, color, container);아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5927.
public int Date()
결과: int.
결과: (now.Year % 100) * 10000 + now.Month * 100 + now.Day.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Date()
{
var now = timeSource.Now;
return (now.Year % 100) * 10000 + now.Month * 100 + now.Day;
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: easyValue
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2473.
private static int DecodeEasyUoId(string easyValue)
결과: int.
결과: unchecked((int)value).
호출: (easyValue ?? string.Empty).ToUpperInvariant.
조건: character < 'A' || character > 'Z'.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static int DecodeEasyUoId(string easyValue)
{
uint value = 0;
foreach (char character in (easyValue ?? string.Empty).ToUpperInvariant())
{
if (character < 'A' || character > 'Z')
continue;
value = unchecked(value * 26 + (uint)(character - 'A'));
}
return unchecked((int)value);
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: text
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5400.
public void DeleteJournal(InjectionValue text)
결과: void.
호출: DeleteJournal.
호출:
-
InjectionScript.Runtime.InjectionApiUO.DeleteJournal:DeleteJournal((string)text).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void DeleteJournal(InjectionValue text) => DeleteJournal((string)text);아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: easyValue
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3383.
public string EUO2Inj(InjectionValue easyValue)
결과: string.
결과: NumberConversions.ToHex(unchecked((int)value)).
호출: easyValue.ToString().ToUpperInvariant, easyValue.ToString, NumberConversions.ToHex.
조건: c < 'A' || c > 'Z'.
호출:
-
InjectionScript.Runtime.InjectionValue.ToString:easyValue.ToString(). -
InjectionScript.Runtime.NumberConversions.ToHex:NumberConversions.ToHex(unchecked((int)value)).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string EUO2Inj(InjectionValue easyValue)
{
uint value = 0;
foreach (char c in easyValue.ToString().ToUpperInvariant())
{
if (c < 'A' || c > 'Z')
continue;
value = unchecked(value * 26 + (uint)(c - 'A'));
}
return NumberConversions.ToHex(unchecked((int)value));
}이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1777.
결과: InjectionValue.Unit.
호출:
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "addgumpignorebyserial": state.IgnoredGumpSerials.Add(Arg(0)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1814.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TextClear:bridge.TextClear().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "clearinfowindow": bridge.TextClear(); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1816.
결과: InjectionValue.True.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientHide:bridge.ClientHide(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "clienthide": bridge.ClientHide(Arg(0)); return InjectionValue.True;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1241.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CharPrintEx:bridge.CharPrintEx(Arg(0), Arg(1), Arg(2), Text(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::Text:Text(3).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "clientprintex":
bridge.CharPrintEx(Arg(0), Arg(1), Arg(2), Text(3)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1315.
결과: new InjectionValue(bridge.GetAutoReconnect()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetAutoReconnect:bridge.GetAutoReconnect().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getarstatus": return new InjectionValue(bridge.GetAutoReconnect());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1370.
결과: new InjectionValue(arguments.Length > 0 ? bridge.GetIntelligence(Arg(0)) : bridge.Intelligence).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetIntelligence:bridge.GetIntelligence(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Intelligence:bridge.Intelligence.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getint": return new InjectionValue(arguments.Length > 0 ? bridge.GetIntelligence(Arg(0)) : bridge.Intelligence);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1564.
결과: new InjectionValue(bridge.GetZ(Arg(0, bridge.Self))).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(Arg(0, bridge.Self)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0, bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getz": return new InjectionValue(bridge.GetZ(Arg(0, bridge.Self)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1539.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Unignore:bridge.Unignore(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "ignoreoff": bridge.Unignore(Arg(0)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1248.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Ignore:bridge.Ignore(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "ignore": bridge.Ignore(Arg(0)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1367.
결과: new InjectionValue(bridge.Exists(Arg(0))).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Exists:bridge.Exists(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "isobjectexists": return new InjectionValue(bridge.Exists(Arg(0)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1640.
결과: new InjectionValue(Waiting()).
호출:
-
InjectionScript.Runtime.InjectionApiUO.Waiting:Waiting().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "iswaittargetactive": return new InjectionValue(Waiting());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2035.
결과: new InjectionValue(bridge.JournalMatchCount()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalMatchCount:bridge.JournalMatchCount().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "linecount": return new InjectionValue(bridge.JournalMatchCount());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1957.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MoveBoat:bridge.MoveBoat(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "moveboat": bridge.MoveBoat(Arg(0), Arg(1)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1906.
결과: SetIndexedGumpValue(Arg(0), "checkbox", Arg(1), Text(2)).
호출:
-
InjectionScript.Runtime.InjectionApiUO.SetIndexedGumpValue:SetIndexedGumpValue(Arg(0), "checkbox", Arg(1), Text(2)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(2).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "numgumpcheckbox": return SetIndexedGumpValue(Arg(0), "checkbox", Arg(1), Text(2));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1537.
결과: new InjectionValue(bridge.ObjAtLayerEx(Arg(0), Arg(1))).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ObjAtLayerEx:bridge.ObjAtLayerEx(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "objatlayerex": return new InjectionValue(bridge.ObjAtLayerEx(Arg(0), Arg(1)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1708.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyAcceptInvite:bridge.PartyAcceptInvite().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "partyacceptinvite": bridge.PartyAcceptInvite(); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1709.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyDeclineInvite:bridge.PartyDeclineInvite().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "partydeclineinvite": bridge.PartyDeclineInvite(); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1707.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyLeave:bridge.PartyLeave().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "partyleave": bridge.PartyLeave(); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1536.
결과: new InjectionValue(ReadPredictedCoordinate(3)).
호출:
-
InjectionScript.Runtime.InjectionApiUO.ReadPredictedCoordinate:ReadPredictedCoordinate(3).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "predicteddirection": return new InjectionValue(ReadPredictedCoordinate(3));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1597.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetContextMenuHook:bridge.SetContextMenuHook(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "setcontextmenuhook": bridge.SetContextMenuHook(Arg(0), Arg(1)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2863.
호출:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList("AddFindList"). -
InjectionScript.Runtime.InjectionApiUO.LegacyListEntryMatches:LegacyListEntryMatches(value, arguments).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "deletefindlist":
LegacyList("AddFindList").RemoveAll(value => LegacyListEntryMatches(value,
arguments));
break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2962.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SelectGump:bridge.SelectGump(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "gumpobject": bridge.SelectGump(Arg(0)); break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3025.
호출:
-
InjectionScript.Runtime.InjectionApiUO.Unequip:Unequip("Ring").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "removering": Unequip("Ring"); break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2871.
호출:
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "selectignorelist": state.SelectedIgnoreList = Text(0).Trim(); break;아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: type, color
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4588.
public string FindType(InjectionValue type, InjectionValue color)
결과: string.
결과: FindType(ResolveType(type), -1, ConvertContainer(color), -1, color.String.Equals("my", StringComparison.OrdinalIgnoreCase)); FindType(ResolveType(type), NumberConversions.ToInt(color), -1, -1, false).
호출: color.String.Equals, FindType, ResolveType, ConvertContainer, NumberConversions.ToInt.
조건: `color.Kind == InjectionValueKind.String
&& (color.String.Equals("ground", StringComparison.OrdinalIgnoreCase)
|| color.String.Equals("backpack", StringComparison.OrdinalIgnoreCase)
|| color.String.Equals("my", StringComparison.OrdinalIgnoreCase))`.
호출:
-
InjectionScript.Runtime.InjectionApiUO.FindType:FindType(ResolveType(type), -1, ConvertContainer(color), -1, color.String.Equals("my", StringComparison.OrdinalIgnoreCase)). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(type). -
InjectionScript.Runtime.InjectionApiUO.ConvertContainer:ConvertContainer(color). -
InjectionScript.Runtime.InjectionApiUO.FindType:FindType(ResolveType(type), NumberConversions.ToInt(color), -1, -1, false). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(color).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string FindType(InjectionValue type, InjectionValue color)
{
if (color.Kind == InjectionValueKind.String
&& (color.String.Equals("ground", StringComparison.OrdinalIgnoreCase)
|| color.String.Equals("backpack", StringComparison.OrdinalIgnoreCase)
|| color.String.Equals("my", StringComparison.OrdinalIgnoreCase)))
{
return FindType(ResolveType(type), -1, ConvertContainer(color), -1, color.String.Equals("my", StringComparison.OrdinalIgnoreCase));
}
return FindType(ResolveType(type), NumberConversions.ToInt(color), -1, -1, false);
}아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5487.
public int GetFoundedTextID()
결과: int.
결과: foundedTextId >= 0 ? foundedTextId : 0.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetFoundedTextID() => foundedTextId >= 0 ? foundedTextId : 0;아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5488.
public int GetFoundedTextIndex()
결과: int.
호출: reader.FindJournalEntryIndex.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetFoundedTextIndex() => selectedJournalEntry != null && bridge is IApiJournalReader reader
? reader.FindJournalEntryIndex(selectedJournalEntry.Identity) : foundedTextIndex;아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5490.
public string GetFoundedTextSerial()
결과: string.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string GetFoundedTextSerial() => selectedJournalEntry != null
? $"0x{unchecked((uint)selectedJournalEntry.Serial):X8}" : "0x00000000";아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3615.
public string GetGraphics(string id)
결과: string.
결과: GetGraphics(GetObject(id)).
호출: GetGraphics, GetObject.
호출:
-
InjectionScript.Runtime.InjectionApiUO.GetGraphics:GetGraphics(GetObject(id)). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string GetGraphics(string id) => GetGraphics(GetObject(id));아래 식의 값을 반환합니다.
매개변수: identifier, key
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3234.
public InjectionValue GetGump(string identifier, int key)
결과: InjectionValue.
결과: LastGump(identifier, key).
호출: LastGump.
호출:
-
InjectionScript.Runtime.InjectionApiUO.LastGump:LastGump(identifier, key).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public InjectionValue GetGump(string identifier, int key) => LastGump(identifier, key);아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3621.
public string GetLayer(InjectionValue id)
결과: string.
결과: ConvertLayer(bridge.GetLayer(GetObject(id))).
호출: ConvertLayer, bridge.GetLayer, GetObject.
호출:
-
InjectionScript.Runtime.InjectionApiUO.ConvertLayer:ConvertLayer(bridge.GetLayer(GetObject(id))). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLayer:bridge.GetLayer(GetObject(id)). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string GetLayer(InjectionValue id) => ConvertLayer(bridge.GetLayer(GetObject(id)));아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3775.
public int GetRun()
결과: int.
결과: bridge.GetRun(bridge.Self).
호출: bridge.GetRun.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetRun:bridge.GetRun(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetRun() => bridge.GetRun(bridge.Self);아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3567.
public int GetZ()
결과: int.
결과: GetZ("self").
호출: GetZ.
호출:
-
InjectionScript.Runtime.InjectionApiUO.GetZ:GetZ("self").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetZ() => GetZ("self");아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3569.
public int GetZ(int id)
결과: int.
결과: bridge.GetZ(id).
호출: bridge.GetZ.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetZ(int id) => bridge.GetZ(id);아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4370.
public int Grab(InjectionValue id)
결과: int.
결과: CompactGrab(new[] { id }).
호출: CompactGrab.
호출:
-
InjectionScript.Runtime.InjectionApiUO.CompactGrab:CompactGrab(new[] { id }).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Grab(InjectionValue id) => CompactGrab(new[] { id });아래 식의 값을 반환합니다.
매개변수: amount, id, container
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4374.
public int Grab(InjectionValue amount, InjectionValue id, InjectionValue container)
결과: int.
결과: CompactGrab(new[] { amount, id, container }).
호출: CompactGrab.
호출:
-
InjectionScript.Runtime.InjectionApiUO.CompactGrab:CompactGrab(new[] { amount, id, container }).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Grab(InjectionValue amount, InjectionValue id, InjectionValue container)
=> CompactGrab(new[] { amount, id, container });아래 식의 값을 반환합니다.
매개변수: firstId, secondId
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3229.
public int GumpExists(InjectionValue firstId, InjectionValue secondId)
결과: int.
결과: bridge.GumpExists(NumberConversions.ToInt(firstId), NumberConversions.ToInt(secondId)).
호출: bridge.GumpExists, NumberConversions.ToInt.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GumpExists:bridge.GumpExists(NumberConversions.ToInt(firstId), NumberConversions.ToInt(secondId)). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(firstId). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(secondId).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GumpExists(InjectionValue firstId, InjectionValue secondId)
=> bridge.GumpExists(NumberConversions.ToInt(firstId), NumberConversions.ToInt(secondId));아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: serialValue
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3369.
public string Inj2EUO(InjectionValue serialValue)
결과: string.
결과: "A"; result.ToString().
호출: NumberConversions.ToInt, result.Insert, result.ToString.
조건: value == 0.
호출:
-
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(serialValue).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string Inj2EUO(InjectionValue serialValue)
{
uint value = unchecked((uint)NumberConversions.ToInt(serialValue));
if (value == 0)
return "A";
var result = new StringBuilder();
while (value > 0)
{
result.Insert(0, (char)('A' + value % 26));
value /= 26;
}
return result.ToString();
}아래 식의 값을 반환합니다.
매개변수: identifier, key
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3232.
public InjectionValue LastGump(string identifier, int key)
결과: InjectionValue.
결과: ConvertGumpValue(identifier, bridge.GetGumpValue(-1, identifier, key)).
호출: ConvertGumpValue, bridge.GetGumpValue.
호출:
-
InjectionScript.Runtime.InjectionApiUO.ConvertGumpValue:ConvertGumpValue(identifier, bridge.GetGumpValue(-1, identifier, key)). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGumpValue:bridge.GetGumpValue(-1, identifier, key).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public InjectionValue LastGump(string identifier, int key) => ConvertGumpValue(identifier, bridge.GetGumpValue(-1, identifier, key));아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3902.
public int MaxWeight()
결과: int.
결과: bridge.MaxWeight.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MaxWeight:bridge.MaxWeight.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int MaxWeight() => bridge.MaxWeight;아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: x, y, z, accuracy, running, accuracyZ, optimized, stepCallback, timeoutMs, maxSteps, maxDistance, avoidMobiles, openDoorsOverride, stopOnStuck
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2099.
`private int MoveToCanonical(int x, int y, int z, int accuracy, bool running, int accuracyZ = 255,
bool optimized = true, string stepCallback = null, int timeoutMs = 0, int maxSteps = 0,
int maxDistance = 0, bool? avoidMobiles = null, bool? openDoorsOverride = null, bool stopOnStuck = false)`
결과: int.
결과: 0; 1.
호출: PortablePathSearch.ValidPoint, bridge.IsOnline, Math.Max, Math.Min, bridge.GetX, bridge.GetY, bridge.GetZ, Math.Abs.
조건: !PortablePathSearch.ValidPoint(x, y, z); state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0; state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina; !PortablePathSearch.ValidPoint(currentX, currentY, currentZ).
호출:
-
InjectionScript.Runtime.PortablePathSearch.ValidPoint:PortablePathSearch.ValidPoint(x, y, z). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsOnline:bridge.IsOnline(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetX:bridge.GetX(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetY:bridge.GetY(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(bridge.Self). -
InjectionScript.Runtime.PortablePathSearch.ValidPoint:PortablePathSearch.ValidPoint(currentX, currentY, currentZ). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MoveTo:bridge.MoveTo( x, y, z, safeAccuracy, running, state.MoveCheckStamina, openDoors, state.MoveThroughCorner != 0, throughNpcs, Math.Max(1, state.MoveHeuristicMultiplier), Math.Max(0, state.MoveTurnCost), state.MoveExitOnDisconnect != 0, safeAccuracyZ, optimized, state.MoveBetweenTwoCorners != 0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.StopMoving:bridge.StopMoving(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Move:bridge.Move(). -
InjectionScript.Runtime.InjectionApiUO.MoveToCanonical::IsCurrentRequest:IsCurrentRequest(). -
InjectionScript.Runtime.InjectionApiUO.MoveToCanonical::StopOwnRequest:StopOwnRequest(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.InvokeStepCallback:bridge.InvokeStepCallback(stepCallback, currentX, currentY, currentZ). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Wait:bridge.Wait(5). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina:bridge.Stamina. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int MoveToCanonical(int x, int y, int z, int accuracy, bool running, int accuracyZ = 255,
bool optimized = true, string stepCallback = null, int timeoutMs = 0, int maxSteps = 0,
int maxDistance = 0, bool? avoidMobiles = null, bool? openDoorsOverride = null, bool stopOnStuck = false)
{
if (!PortablePathSearch.ValidPoint(x, y, z)) return 0;
if (state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0)
return 0;
if (state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina)
return 0;
// …
if (!PortablePathSearch.ValidPoint(currentX, currentY, currentZ)) return 0;
// …
if (maxDistance > 0 && requestedDistance > maxDistance)
return 0;
if (requestedDistance <= safeAccuracy && Math.Abs(z - currentZ) <= safeAccuracyZ)
return 1;
// …
if (started == 0)
return 0;
// …
if (ownership == null) bridge.StopMoving();
// …
if (!IsCurrentRequest()) return 0;
if (state.MoveExitOnDisconnect != 0 && bridge.IsOnline() == 0)
// …
return 0;
// …
if (state.MoveCheckStamina > 0 && bridge.Stamina < state.MoveCheckStamina)
// …
return 0;
// …
if (timeoutMs > 0 && (timeSource.Now - startedAt).TotalMilliseconds >= timeoutMs)
// …
return 0;
// …
if (moved)
// …
if (!string.IsNullOrWhiteSpace(stepCallback)
// …
return 0;
// …
if (maxSteps > 0 && observedSteps >= maxSteps
// …
return 0;
// …
else if (stopOnStuck && bridge is IApiPathPlanningState planning && planning.IsPathPlanning())
// …
else if (stopOnStuck && (timeSource.Now - lastProgressAt).TotalMilliseconds >= 1000d)
// …
return 0;
// …
if (!IsCurrentRequest()) return 0;
// …
if ((currentX != lastX || currentY != lastY || currentZ != lastZ)
// …전체 코드는 소스 파일에 있으며 아래는 정확한 발췌입니다.
아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3287.
public int Picking()
결과: int.
결과: bridge.Picking().
호출: bridge.Picking.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Picking:bridge.Picking().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Picking() => bridge.Picking();아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: min, max
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5945.
public int Random(int min, int max)
결과: int.
결과: min; (int)(min + (long)random.Next((int)count)); (int)(min + (long)(sample % (ulong)count)).
호출: random.Next, random.NextBytes, BitConverter.ToUInt32.
조건: min > max; min == max; count <= int.MaxValue.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Random(int min, int max)
{
if (min > max)
throw new NativeSubrutineException("UO.Random(min, max): min must not exceed max.");
if (min == max) return min;
long count = (long)max - min + 1;
lock (randomSync)
{
if (count <= int.MaxValue)
return (int)(min + (long)random.Next((int)count));
// Inclusive Int32.MaxValue and the full signed range must not
// overflow. Rejection avoids modulo bias; reuse the four bytes.
const ulong domain = 1UL << 32;
ulong limit = domain - domain % (ulong)count;
uint sample;
do
{
random.NextBytes(randomRangeBytes);
sample = BitConverter.ToUInt32(randomRangeBytes, 0);
} while (sample >= limit);
return (int)(min + (long)(sample % (ulong)count));
}
}코드에 표시된 규칙에 따라 인수를 분석하거나 값을 찾습니다.
매개변수: value
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5099.
private int ResolveCompactMaxZ(InjectionValue value)
결과: int.
결과: parsed < 0 ? bridge.GetFindVertical() : Math.Max(0, parsed).
호출: NumberConversions.ToInt, bridge.GetFindVertical, Math.Max.
호출:
-
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(value). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int ResolveCompactMaxZ(InjectionValue value)
{
int parsed = NumberConversions.ToInt(value);
return parsed < 0 ? bridge.GetFindVertical() : Math.Max(0, parsed);
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: message
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5288.
public void Say(string message)
결과: void.
호출: bridge.Say.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Say:bridge.Say(message).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Say(string message) => bridge.Say(message);아래 식의 값을 반환합니다.
매개변수: name, quality
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5922.
public int Snap(string name, int quality)
결과: int.
결과: bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), true).
호출: bridge.Snap, Math.Max, Math.Min.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Snap:bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), true).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Snap(string name, int quality) => bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), true);아래 식의 값을 반환합니다.
매개변수: name, quality, includeUi
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5923.
public int Snap(string name, int quality, bool includeUi)
결과: int.
결과: bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), includeUi).
호출: bridge.Snap, Math.Max, Math.Min.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Snap:bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), includeUi).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Snap(string name, int quality, bool includeUi)
=> bridge.Snap(name, Math.Max(1, Math.Min(100, quality)), includeUi);아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: recording, name, arguments
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2713.
private static bool TryDeserializeRecordedLegacyAction(string recording, out string name, out InjectionValue[] arguments)
결과: bool.
결과: false; !string.IsNullOrWhiteSpace(name).
호출: Array.Empty<InjectionValue>, string.IsNullOrWhiteSpace, recording.Split, fields[0].Equals, DecodeRecordingText, Math.Max, TryDeserializeRecordedValue.
조건: string.IsNullOrWhiteSpace(recording); fields.Length < 2 || !fields[0].Equals(RecordedLegacyActionPrefix, StringComparison.Ordinal); !TryDeserializeRecordedValue(fields[index], out values[index - 2]).
호출:
-
InjectionScript.Runtime.InjectionApiUO.DecodeRecordingText:DecodeRecordingText(fields[1]). -
InjectionScript.Runtime.InjectionApiUO.TryDeserializeRecordedValue:TryDeserializeRecordedValue(fields[index], out values[index - 2]).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static bool TryDeserializeRecordedLegacyAction(string recording, out string name, out InjectionValue[] arguments)
{
name = string.Empty;
arguments = Array.Empty<InjectionValue>();
if (string.IsNullOrWhiteSpace(recording)) return false;
string[] fields = recording.Split(new[] { '\t' }, StringSplitOptions.None);
if (fields.Length < 2 || !fields[0].Equals(RecordedLegacyActionPrefix, StringComparison.Ordinal)) return false;
try
{
name = DecodeRecordingText(fields[1]);
var values = new InjectionValue[Math.Max(0, fields.Length - 2)];
for (int index = 2; index < fields.Length; index++)
if (!TryDeserializeRecordedValue(fields[index], out values[index - 2])) return false;
arguments = values;
return !string.IsNullOrWhiteSpace(name);
}
catch (FormatException)
{
name = string.Empty;
arguments = Array.Empty<InjectionValue>();
return false;
}
}아래 식의 값을 반환합니다.
매개변수: type
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4081.
public int UseFromGround(InjectionValue type)
결과: int.
결과: UseFromGround(type, new InjectionValue(-1)).
호출: UseFromGround.
호출:
-
InjectionScript.Runtime.InjectionApiUO.UseFromGround:UseFromGround(type, new InjectionValue(-1)).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int UseFromGround(InjectionValue type) => UseFromGround(type, new InjectionValue(-1));표시된 호출 및 상태 변경을 수행합니다.
매개변수: id1, id2
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4176.
public void WaitTargetObject(int id1, int id2)
결과: void.
호출: bridge.WaitTargetObject, Timer.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitTargetObject:bridge.WaitTargetObject(id1, id2). -
InjectionScript.Runtime.InjectionApiUO.Timer:Timer().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void WaitTargetObject(int id1, int id2)
{
bridge.WaitTargetObject(id1, id2);
ticksTarget = Timer();
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: startTime, maxDelay, text, equals
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5419.
public void WaitingForJournalText(int startTime, int maxDelay, string text, int equals)
결과: void.
호출: WaitingForJournalText.
호출:
-
InjectionScript.Runtime.InjectionApiUO.WaitingForJournalText:WaitingForJournalText(startTime, maxDelay, text, equals, 0, InjectionValue.Zero).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void WaitingForJournalText(int startTime, int maxDelay, string text, int equals)
=> WaitingForJournalText(startTime, maxDelay, text, equals, 0, InjectionValue.Zero);호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:404.
values
결과: values.
결과: CompactFindType(values[0], values[1], values[2], values[3], values[4], values[5]).
호출: CompactFindType.
호출:
-
InjectionScript.Runtime.InjectionApiUO.CompactFindType:CompactFindType(values[0], values[1], values[2], values[3], values[4], values[5]).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
values =>
CompactFindType(values[0], values[1], values[2], values[3], values[4], values[5])호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:856.
values
결과: values.
호출: follow.Follow, GetObject, NumberConversions.ToInt.
호출:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(values[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[1]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[2]).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
values => new InjectionValue(bridge is IApiFollowBridge follow
? follow.Follow(count == 0 ? 0 : GetObject(values[0]),
count < 2 ? 1 : NumberConversions.ToInt(values[1]),
count < 3 || NumberConversions.ToInt(values[2]) != 0) : 0)호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1067.
serial
결과: serial.
결과: bridge.Flying(serial).
호출: bridge.Flying.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Flying:bridge.Flying(serial).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
serial => bridge.Flying(serial)호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1034.
결과: bridge.MaxWeight.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MaxWeight:bridge.MaxWeight.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.MaxWeight호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1030.
결과: bridge.Strength.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Strength:bridge.Strength.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.Strength아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.
결과: getter(bridge.Self).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => getter(bridge.Self)아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: 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:1007.
결과: getter(bridge.Self).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => getter(bridge.Self)아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: name, argumentValues, subrutineDefinition
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeSubrutineMetadata.cs:34.
public bool TryGet(string name, IEnumerable<InjectionValue> argumentValues, out NativeSubrutineDefinition subrutineDefinition)
결과: bool.
결과: false; true; subrutineDefinition != null.
호출: byName.TryGetValue, argumentValues.ToArray, arities.TryGetValue, StringComparer.OrdinalIgnoreCase.Compare, candidate.GetSignature, wildcard.GetSignature.
조건: !byName.TryGetValue(name, out var arities); !arities.TryGetValue(arguments.Count, out var overloads); kind == InjectionValueKind.Any; kind == arguments[i].Kind.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public bool TryGet(string name, IEnumerable<InjectionValue> argumentValues, out NativeSubrutineDefinition subrutineDefinition)
{
subrutineDefinition = null;
// A script procedure is not a native. Avoid scanning the entire API
// (over 1600 registrations) twice for every ordinary helper call.
if (!byName.TryGetValue(name, out var arities)) return false;
var arguments = argumentValues as IReadOnlyList<InjectionValue> ?? argumentValues.ToArray();
if (!arities.TryGetValue(arguments.Count, out var overloads)) return false;
NativeSubrutineDefinition allAny = null, wildcard = null;
int bestWildcardCount = int.MaxValue;
foreach (var candidate in overloads)
{
bool compatible = true, exact = true;
int anyCount = 0;
for (int i = 0; i < arguments.Count; i++)
{
var kind = candidate.ParameterKinds[i];
if (kind == InjectionValueKind.Any) anyCount++;
if (kind == arguments[i].Kind) continue;
exact = false;
if (kind != InjectionValueKind.Any) { compatible = false; break; }
}
if (exact && compatible) { subrutineDefinition = candidate; return true; }
if (!compatible) continue;
if (anyCount == arguments.Count) { allAny = candidate; continue; }
if (anyCount < bestWildcardCount || (anyCount == bestWildcardCount
&& StringComparer.OrdinalIgnoreCase.Compare(candidate.GetSignature(), wildcard.GetSignature()) < 0))
{ wildcard = candidate; bestWildcardCount = anyCount; }
}
// Preserve existing dispatch precedence: exact, all-Any adapter,
// then the most specific mixed signature with its stable tie-break.
subrutineDefinition = allAny ?? wildcard;
return subrutineDefinition != null;
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: startX, startY, startZ, finishX, finishY, finishZ, accuracy, accuracyZ, maxSteps, diagonal, checkStep, checkCancellation, scheduleSlice
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/PortablePathSearch.cs:26.
`internal static (int X, int Y, int Z)[] Find(
int startX, int startY, int startZ, int finishX, int finishY, int finishZ,
int accuracy, int accuracyZ, int maxSteps, bool diagonal,
Func<int, int, int, int, int, int?> checkStep, Action checkCancellation, Action<Action> scheduleSlice)`
결과: (int X, int Y, int Z)[].
결과: empty; result.
호출: Array.Empty<(int, int, int)>, ValidPoint, Comparer<Node>.Create, Math.Min, Estimate, open.Add, checkCancellation, scheduleSlice.
조건: !ValidPoint(startX, startY, startZ) || !ValidPoint(finishX, finishY, finishZ); start.Estimate > limit.
호출:
-
InjectionScript.Runtime.PortablePathSearch.ValidPoint:ValidPoint(startX, startY, startZ). -
InjectionScript.Runtime.PortablePathSearch.ValidPoint:ValidPoint(finishX, finishY, finishZ). -
InjectionScript.Runtime.PortablePathSearch.Find::Estimate:Estimate(startX, startY). -
InjectionScript.Runtime.PortablePathSearch.Find::Estimate:Estimate(x, y). -
InjectionScript.Runtime.PortablePathSearch.ValidPoint:ValidPoint(x, y, z.Value).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal static (int X, int Y, int Z)[] Find(
int startX, int startY, int startZ, int finishX, int finishY, int finishZ,
int accuracy, int accuracyZ, int maxSteps, bool diagonal,
Func<int, int, int, int, int, int?> checkStep, Action checkCancellation, Action<Action> scheduleSlice)
{
var empty = Array.Empty<(int, int, int)>();
if (!ValidPoint(startX, startY, startZ) || !ValidPoint(finishX, finishY, finishZ))
return empty;
int Estimate(int x, int y)
// …
return diagonal ? Math.Max(dx, dy) : dx + dy;
// …
if (order == 0) order = a.Estimate.CompareTo(b.Estimate);
return order == 0 ? a.Order.CompareTo(b.Order) : order;
// …
if (start.Estimate > limit) return empty;
// …
if (sliceNodes > 1 && Stopwatch.GetTimestamp() - sliceStarted >= Stopwatch.Frequency / 1000)
return;
// …
if (best[current.Point] != current) continue;
// …
if (current.Estimate == 0 && Math.Abs(finishZ - p.Z) <= accuracyZ)
// …
return;
// …
if (expanded++ >= ExpansionLimit) { completed = true; return; }
if (current.Steps >= limit) continue;
// …
if (x < 0 || x > ushort.MaxValue || y < 0 || y > ushort.MaxValue) continue;
// …
if (steps + estimate > limit) continue;
// …
if (!z.HasValue || !ValidPoint(x, y, z.Value)) continue;
// …
if (best.TryGetValue(key, out Node previous) && previous.Steps <= steps) continue;
// …
if (previous != null) open.Remove(previous);
// …
return result;
// …전체 코드는 소스 파일에 있으며 아래는 정확한 발췌입니다.
아래 식의 값을 반환합니다.
매개변수: name, graphic
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedTypes.cs:30.
public bool TryGet(string name, out int graphic)
결과: bool.
결과: values.TryGetValue((name ?? string.Empty).Trim(), out graphic).
호출: values.TryGetValue, (name ?? string.Empty).Trim.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public bool TryGet(string name, out int graphic)
{
lock (gate) return values.TryGetValue((name ?? string.Empty).Trim(), out graphic);
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: name, value
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/RuntimeDictionary.cs:16.
public void Set(string name, T value)
결과: void.
호출: items.ContainsKey, items.Add, .Invoke.
조건: !items.ContainsKey(name); notify.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Set(string name, T value)
{
bool notify = true;
lock (itemsLock)
{
if (!items.ContainsKey(name))
{
items.Add(name, value);
notify = true;
}
else
items[name] = value;
}
if (notify)
KeyAdded?.Invoke(name);
}ClassicUO — Bad Newbie & C# Scripts IDE