Repository navigation
KO Runtime Helpers 0
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:164.
public int Armor
결과: int.
호출:
Invoke
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Armor => Invoke(() => CurrentPlayer?.PhysicalResistance ?? 0);표시된 호출 및 상태 변경을 수행합니다.
매개변수: string text
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2008.
public void BookSetText(string text)
결과: void.
조건:
book == null!book.YokoTrySetText(text)
호출:
InvokeGetOpenBookErrorbook.YokoTrySetText
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void BookSetText(string text) => Invoke(() =>
{
ISessionBook book = GetOpenBook();
if (book == null) { Error("UO.BookSetText: no open book."); return; }
if (!book.YokoTrySetText(text))
Error("UO.BookSetText: read-only book or text exceeds the book page/line limits.");
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:388.
public void ConnectClient()
결과: void.
조건:
_world.SessionControl is { } sessionNetClient.Socket.IsConnected || NetClient.Socket.IsConnectingloginScene == nullgameScene != null
호출:
Invokesession.RequestConnectClient.Game.GetScene<LoginScene>Client.Game.GetScene<GameScene>gameScene.RequestReconnectPreservingYokoClient.Game.SetScenestring.IsNullOrEmptyLoginScene.ResolveReconnectPasswordloginScene.Connect
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void ConnectClient() => Invoke(() =>
{
if (_world.SessionControl is { } session)
{
session.RequestConnect();
return;
}
if (NetClient.Socket.IsConnected || NetClient.Socket.IsConnecting)
return;
LoginScene loginScene = Client.Game.GetScene<LoginScene>();
if (loginScene == null)
{
GameScene gameScene = Client.Game.GetScene<GameScene>();
if (gameScene != null)
{
// This API normally runs from YokoScripts.Update inside
// GameScene.Update. Replacing the scene reentrantly would
// clear the world underneath the remainder of that frame.
gameScene.RequestReconnectPreservingYoko();
return;
}
loginScene = new LoginScene(_world);
Client.Game.SetScene(loginScene);
}
string account = !string.IsNullOrEmpty(LoginScene.Account)
? LoginScene.Account
: Settings.GlobalSettings.Username;
string password = LoginScene.ResolveReconnectPassword(account);
// UO.Connect means reconnect the current character, including the
// remembered shard/character selection, even when global automatic
// reconnect is disabled.
loginScene.Reconnect = true;
loginScene.Connect(
account,
password
);
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:188.
public string CurrentProfilePath
결과: string.
호출:
—
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string CurrentProfilePath => ProfileManager.ProfilePath ?? string.Empty;표시된 호출 및 상태 변경을 수행합니다.
매개변수: string text
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2158.
public void DeleteJournal(string text)
결과: void.
조건:
Matches(JournalManager.Entries[i].Text, patterns)
호출:
InvokeSplitPatternsMatchesJournalManager.Entries.RemoveAtMath.Min
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void DeleteJournal(string text) => Invoke(() =>
{
string[] patterns = SplitPatterns(text);
for (int i = JournalManager.Entries.Count - 1; i >= 0; --i)
{
if (Matches(JournalManager.Entries[i].Text, patterns))
{
JournalManager.Entries.RemoveAt(i);
}
}
_journalLine = Math.Min(_journalLine, JournalManager.Entries.Count);
_journalMatchCount = 0;
_lastJournalMatch = null;
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: int type, int color, int containerId, int range, bool recursive
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2696.
public int FindType(int type, int color, int containerId, int range, bool recursive)
결과: int.
조건:
-
`!MatchesFindIdentity(item, type, color, ignoredTypes)
|| !MatchesFindContainer(item, containerId, effectiveRange, recursive)` -
IsGroundFindContainer(containerId) -
!MatchesFindMobile(mobile, type, color, effectiveRange, ignoredTypes)
호출:
InvokeResetFindResultsState.IgnoreTypeLists.FilterForResolveFindRangeMatchesFindIdentityMatchesFindContainerRegisterFoundIsGroundFindContainerMatchesFindMobile
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int FindType(int type, int color, int containerId, int range, bool recursive)
{
return Invoke(() =>
{
ResetFindResults();
IgnoreTypeFilter ignoredTypes = State.IgnoreTypeLists.FilterFor(State.SelectedIgnoreList);
int effectiveRange = ResolveFindRange(range);
foreach (Item item in _world.Items.Values)
{
if (!MatchesFindIdentity(item, type, color, ignoredTypes)
|| !MatchesFindContainer(item, containerId, effectiveRange, recursive))
{
continue;
}
RegisterFound(item);
}
// Mobiles (players, NPCs and monsters) live in World.Mobiles rather
// than World.Items. The UO API treats a mobile as a ground/world object,
// so include it whenever FindType searches the ground.
if (IsGroundFindContainer(containerId))
{
foreach (Mobile mobile in _world.Mobiles.Values)
{
if (!MatchesFindMobile(mobile, type, color, effectiveRange, ignoredTypes))
{
continue;
}
RegisterFound(mobile);
}
}
return _findItem;
});
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:183.
public string GameServerAddress
결과: string.
호출:
—
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string GameServerAddress => Settings.GlobalSettings.IP ?? string.Empty;표시된 호출 및 상태 변경을 수행합니다.
매개변수: int index
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4067.
private JournalEntry GetJournalEntry(int index)
결과: JournalEntry.
호출:
InvokeGetJournalEntryUnsafe
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private JournalEntry GetJournalEntry(int index) => Invoke(() => GetJournalEntryUnsafe(index));표시된 호출 및 상태 변경을 수행합니다.
매개변수: int index
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4068.
private static JournalEntry GetJournalEntryUnsafe(int index)
결과: JournalEntry.
호출:
—
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static JournalEntry GetJournalEntryUnsafe(int index)
{
int actualIndex = JournalManager.Entries.Count - 1 - index;
return actualIndex >= 0 && actualIndex < JournalManager.Entries.Count ? JournalManager.Entries[actualIndex] : null;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: string caption, bool extended
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:692.
public string[] GetMenuItems(string caption, bool extended)
결과: string[].
호출:
Invoke_world.ServerMenus.Snapshot().LastOrDefault_world.ServerMenus.Snapshotvalue.YokoCaption.IndexOfArray.Empty<string>menu.GetYokoItemsExmenu.GetYokoItems
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string[] GetMenuItems(string caption, bool extended) => Invoke(() =>
{
SessionMenu menu = _world.ServerMenus.Snapshot().LastOrDefault(value => !value.IsDisposed
&& value.YokoCaption.IndexOf(caption ?? string.Empty, StringComparison.OrdinalIgnoreCase) >= 0);
return menu == null ? Array.Empty<string>() : extended ? menu.GetYokoItemsEx() : menu.GetYokoItems();
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1992.
private ISessionBook GetOpenBook()
결과: ISessionBook.
호출:
—
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private ISessionBook GetOpenBook() => _world.Books.Last;표시된 호출 및 상태 변경을 수행합니다.
매개변수: int id
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:334.
public int GetQuantity(int id)
결과: int.
호출:
Invoke_world.Items.Get
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetQuantity(int id) => Invoke(() => _world.Items.Get((uint)id) is Item item && !item.IsDestroyed ? item.Amount : 0);표시된 호출 및 상태 변경을 수행합니다.
매개변수: int id
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:236.
public int GetStrength(int id)
결과: int.
호출:
Invoke
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetStrength(int id) => Invoke(() => _world.Player is { IsDestroyed: false } player && player.Serial == unchecked((uint)id) ? player.Strength : 0);표시된 호출 및 상태 변경을 수행합니다.
매개변수: int tradeNumber
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:262.
public int GetTradeOpponent(int tradeNumber)
결과: int.
호출:
InvokeFindNumberedTrade
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetTradeOpponent(int tradeNumber) => Invoke(() =>
{
ISessionTrade gump = FindNumberedTrade(tradeNumber);
return (int)(gump?.LocalSerial ?? 0);
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: int id
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:230.
public int GetX(int id)
결과: int.
호출:
WithEntity
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetX(int id) => WithEntity(id, e => e.X);표시된 호출 및 상태 변경을 수행합니다.
매개변수: string method, string url, string body
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1738.
public string[] HttpRequest(string method, string url, string body)
결과: string[].
조건:
request.Method == HttpMethod.Post!string.IsNullOrWhiteSpace(charset)
호출:
-
CancellationTokenSource.CreateLinkedTokenSource -
lifetime.CancelAfter -
string.Equals -
_httpClient.Send -
`response.Content.ReadAsByteArrayAsync(lifetime.Token)
.GetAwaiter().GetResult` -
`response.Content.ReadAsByteArrayAsync(lifetime.Token)
.GetAwaiter` -
response.Content.ReadAsByteArrayAsync -
string.IsNullOrWhiteSpace -
charset.Trim().Trim -
charset.Trim -
Encoding.GetEncoding -
encoding.GetString -
string.Join -
`response.Headers.Concat(response.Content.Headers)
.Select` -
response.Headers.Concat -
((int)response.StatusCode).ToString -
Convert.ToBase64String -
Error
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string[] HttpRequest(string method, string url, string body)
{
try
{
// ResponseHeadersRead ends HttpClient's own timeout at the headers.
// Keep one deadline over both the request and the response body.
using var lifetime = CancellationTokenSource.CreateLinkedTokenSource(_cancellationToken);
lifetime.CancelAfter(_httpClient.Timeout);
using var request = new HttpRequestMessage(
string.Equals(method, "POST", StringComparison.OrdinalIgnoreCase) ? HttpMethod.Post : HttpMethod.Get,
url);
if (request.Method == HttpMethod.Post)
request.Content = new StringContent(body ?? string.Empty);
using HttpResponseMessage response = _httpClient.Send(request,
HttpCompletionOption.ResponseHeadersRead, lifetime.Token);
byte[] responseBytes = response.Content.ReadAsByteArrayAsync(lifetime.Token)
.GetAwaiter().GetResult();
Encoding encoding = Encoding.UTF8;
string charset = response.Content.Headers.ContentType?.CharSet;
if (!string.IsNullOrWhiteSpace(charset))
{
charset = charset.Trim().Trim('\"');
try { encoding = Encoding.GetEncoding(charset); }
catch (ArgumentException) { encoding = Encoding.UTF8; }
}
string responseBody = encoding.GetString(responseBytes);
string headers = string.Join("\r\n", response.Headers.Concat(response.Content.Headers)
.Select(pair => pair.Key + ": " + string.Join(", ", pair.Value)));
return new[]
{
responseBody,
headers,
((int)response.StatusCode).ToString(CultureInfo.InvariantCulture),
Convert.ToBase64String(responseBytes)
};
}
catch (OperationCanceledException) when (_cancellationToken.IsCancellationRequested)
{
throw;
}
catch (Exception ex)
{
Error("UO.HTTP: " + ex.Message);
return new[] { string.Empty, string.Empty, "0", string.Empty };
}
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:157.
public int Intelligence
결과: int.
호출:
Invoke
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Intelligence => Invoke(() => _world.Player is { IsDestroyed: false } player ? player.Intelligence : 0);표시된 호출 및 상태 변경을 수행합니다.
매개변수: int index
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3055.
public int IsGumpCanBeClosed(int index)
결과: int.
호출:
InvokeServerGumpsUnsafe().ElementAtOrDefaultServerGumpsUnsafe
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int IsGumpCanBeClosed(int index) => Invoke(() => ServerGumpsUnsafe().ElementAtOrDefault(index)?.CanCloseWithRightClick == true ? 1 : 0);표시된 호출 및 상태 변경을 수행합니다.
매개변수: int id
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:332.
public int IsNpc(int id)
결과: int.
호출:
Invoke_world.Mobiles.Get
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int IsNpc(int id) => Invoke(() =>
_world.Mobiles.Get(unchecked((uint)id)) is Mobile mobile && !mobile.IsDestroyed ? 1 : 0);표시된 호출 및 상태 변경을 수행합니다.
매개변수: Mobile mobile, int type, int color, int range, IgnoreTypeFilter ignoredTypes
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4128.
private bool MatchesFindMobile(Mobile mobile, int type, int color, int range, IgnoreTypeFilter ignoredTypes)
결과: bool.
호출:
IsSelfMobileMatchesFindIdentityMatchesFindMobileRange
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private bool MatchesFindMobile(Mobile mobile, int type, int color, int range, IgnoreTypeFilter ignoredTypes)
{
return !IsSelfMobile(mobile)
&& MatchesFindIdentity(mobile, type, color, ignoredTypes)
&& MatchesFindMobileRange(mobile, range);
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: Mobile mobile, int range
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4148.
private bool MatchesFindMobileRange(Mobile mobile, int range)
결과: bool.
호출:
Math.Abs
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private bool MatchesFindMobileRange(Mobile mobile, int range)
{
return mobile.Distance <= range
&& (_world.Player == null || Math.Abs(mobile.Z - _world.Player.Z) <= State.FindVertical);
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:690.
public int MenuPresent()
결과: int.
호출:
WaitingMenu
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int MenuPresent() => WaitingMenu();표시된 호출 및 상태 변경을 수행합니다.
매개변수: int id
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:589.
public int Poisoned(int id)
결과: int.
호출:
Invoke_world.Get
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Poisoned(int id) => Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.IsPoisoned == true ? 1 : 0);표시된 호출 및 상태 변경을 수행합니다.
매개변수: int serial
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4168.
private void RegisterFoundSerial(int serial)
결과: void.
조건:
_findItem == 0
호출:
_foundItems.Add
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private void RegisterFoundSerial(int serial)
{
_foundItems.Add(serial);
if (_findItem == 0)
{
_findItem = serial;
}
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3992.
public void ResetProfile()
결과: void.
조건:
!ProfileManager.ResetCurrentProfileToDefault()
호출:
InvokeProfileManager.ResetCurrentProfileToDefaultError
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void ResetProfile() => Invoke(() =>
{
if (!ProfileManager.ResetCurrentProfileToDefault())
Error("UO.ResetProfile: no active profile to reset.");
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:187.
public string RuntimeProductVersion
결과: string.
호출:
—
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string RuntimeProductVersion => YokoScriptEditorGump.PRODUCT_VERSION;표시된 호출 및 상태 변경을 수행합니다.
매개변수: rules, buy, type, color, quantity, maxPrice, name
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3595.
`private static void SetAutoShopRule(List rules, bool buy, int type, int color,
int quantity, int maxPrice, string name)`
결과: void.
호출: rules.FirstOrDefault, rules.Remove, rules.Contains, rules.Add, string.IsNullOrWhiteSpace, name.Trim, Math.Min, Math.Max.
조건: rules == null || type < 0 || type > ushort.MaxValue; quantity <= 0; existing != null; !rules.Contains(existing).
호출:
-
ClassicUO.Configuration.BackNewbieRuleLists.BelongsTo:BackNewbieRuleLists.BelongsTo(rule, BackNewbieRuleLists.DefaultId). -
ClassicUO.Configuration.ProfileManager.SaveCurrentProfile:ProfileManager.SaveCurrentProfile().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static void SetAutoShopRule(List<BackNewbieItemRule> rules, bool buy, int type, int color,
int quantity, int maxPrice, string name)
{
if (rules == null || type < 0 || type > ushort.MaxValue)
return;
bool anyHue = color < 0 || color == ushort.MaxValue;
BackNewbieItemRule existing = rules.FirstOrDefault(rule => BackNewbieRuleLists.BelongsTo(rule, BackNewbieRuleLists.DefaultId)
&& rule.Graphic == (ushort)type
&& rule.AnyHue == anyHue && (anyHue || rule.Hue == (ushort)color));
if (quantity <= 0)
{
if (existing != null) rules.Remove(existing);
}
else
{
existing ??= new BackNewbieItemRule();
if (!rules.Contains(existing)) rules.Add(existing);
existing.Name = string.IsNullOrWhiteSpace(name) ? $"Graphic 0x{type:X4}" : name.Trim();
existing.Graphic = (ushort)type;
existing.Hue = anyHue ? (ushort)0 : (ushort)color;
existing.AnyHue = anyHue;
existing.Amount = (ushort)Math.Min(ushort.MaxValue, quantity);
existing.MaxPrice = (uint)Math.Max(0, maxPrice);
existing.MatchName = name?.Trim() ?? string.Empty;
existing.Enabled = true;
}
Profile profile = ProfileManager.CurrentProfile;
if (profile != null)
{
if (buy) profile.BackNewbieAutoBuyEnabled = rules.Count > 0;
else profile.BackNewbieAutoSellEnabled = rules.Count > 0;
UIManager.GetGump<OptionsGump>()?.SetBackNewbieAutomationEnabled(
buy ? BackNewbieAutomationType.AutoBuy : BackNewbieAutomationType.AutoSell, rules.Count > 0);
ProfileManager.SaveCurrentProfile();
}
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: int stat, int state
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2343.
public void SetStatLockState(int stat, int state)
결과: void.
조건:
_world.Player == null || stat < 0 || stat > 2 || state < 0 || state > 2stat == 0stat == 1
호출:
InvokeGameActions.ChangeStatLock
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void SetStatLockState(int stat, int state) => Invoke(() =>
{
if (_world.Player == null || stat < 0 || stat > 2 || state < 0 || state > 2) return;
Lock value = (Lock)state;
GameActions.ChangeStatLock((byte)stat, value);
if (stat == 0) _world.Player.StrLock = value;
else if (stat == 1) _world.Player.DexLock = value;
else _world.Player.IntLock = value;
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: int direction, bool running
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3471.
public int StepQueued(int direction, bool running)
결과: int.
호출:
QueueStep
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int StepQueued(int direction, bool running)
{
int result = QueueStep(direction, running, false).Result;
return result == STEP_QUEUE_OVERFLOW ? STEP_QUEUE_GENERAL_ERROR : result;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: int index
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:325.
public void StopScript(int index)
결과: void.
호출:
_manager.StopScript
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void StopScript(int index) => _manager.StopScript(index);표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:641.
public int TradeCount()
결과: int.
호출:
Invoke_world.Trades.Snapshot
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int TradeCount() => Invoke(() => _world.Trades.Snapshot().Length);표시된 호출 및 상태 변경을 수행합니다.
매개변수: int type, int x, int y, int z
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:853.
public void WaitTargetTile(int type, int x, int y, int z)
결과: void.
호출:
_manager.QueueTargetTile
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void WaitTargetTile(int type, int x, int y, int z) => _manager.QueueTargetTile((ushort)type, (ushort)x, (ushort)y, (short)z, _cancellationToken);표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2290.
public int WarMode()
결과: int.
호출:
Invoke
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int WarMode() => Invoke(() => _world.Player?.InWarMode == true ? 1 : 0);표시된 호출 및 상태 변경을 수행합니다.
매개변수: int x, int y
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4322.
private static void WarpMouse(int x, int y)
결과: void.
호출:
RequireGameInputSDL3.SDL.SDL_WarpMouseInWindow
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static void WarpMouse(int x, int y)
{
GameController game = RequireGameInput();
Mouse.Position = new Point(x, y);
SDL3.SDL.SDL_WarpMouseInWindow(game.Window.Handle, x, y);
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: int id, Func<Entity, int> selector
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4351.
private int WithEntity(int id, Func<Entity, int> selector)
결과: int.
호출:
Invoke_world.Getselector
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int WithEntity(int id, Func<Entity, int> selector) => Invoke(() => _world.Get((uint)id) is Entity entity ? selector(entity) : 0);표시된 호출 및 상태 변경을 수행합니다.
매개변수: string caption, string item, bool persistent
소스: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:949.
internal void AddMenuHook(string caption, string item, bool persistent)
결과: void.
호출:
_menuHooks.Add
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal void AddMenuHook(string caption, string item, bool persistent)
{
lock (_menuHooksLock)
{
_menuHooks.Add(new YokoMenuHook
{
Caption = caption ?? string.Empty,
Item = item ?? string.Empty,
Persistent = persistent
});
}
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: string name
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5299.
public int ApiNameExists(string name)
결과: int.
호출:
NormalizeApiNamemetadata.NativeSubrutines.Anydefinition.Name.Equals
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int ApiNameExists(string name)
{
string normalized = NormalizeApiName(name);
return metadata.NativeSubrutines.Any(definition =>
definition.Name.Equals(normalized, StringComparison.OrdinalIgnoreCase)) ? 1 : 0;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: string spellName
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5961.
private bool CastCore(string spellName)
결과: bool.
조건:
!spellId.HasValuebridge.Cast(spellId.Value) == 0
호출:
ConvertSpellNameSystemMessagebridge.CastTimer
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private bool CastCore(string spellName)
{
var spellId = ConvertSpellName(spellName);
if (!spellId.HasValue)
{
SystemMessage("Unknown spell name");
return false;
}
if (bridge.Cast(spellId.Value) == 0)
return false;
ticksSpell = Timer();
return true;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: string name
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.ClassMasks.cs:87.
private int ClearClassMask(string name)
결과: int.
조건:
name != null
호출:
classRules.RemoveclassRules.Clear
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int ClearClassMask(string name)
{
lock (classRulesSync)
{
if (name != null) return classRules.Remove(name) ? 1 : 0;
int count = classRules.Count;
classRules.Clear();
return count;
}
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: InjectionValue[] values
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4885.
private InjectionValue CompactFindTypeExtended(InjectionValue[] values)
결과: InjectionValue.
조건:
values == null || values.Length < 7 || values.Length > 14mobileOnly && itemOnly!itemOnly && container <= 1!mobileOnly && notorieties.Count == 0
호출:
-
ResolveType -
NumberConversions.ToInt -
ConvertContainer -
ResolveCompactDistance -
ToBoolean -
ResolveCompactMaxZ -
ParseIntMask -
bridge.GetIgnoreList -
state.IgnoreTypeLists.FilterFor -
bridge.GetZ -
candidates.AddRange -
FilterMobiles -
bridge.GetContent -
bridge.GetWorldItems -
`items
.Where(id => includeIgnored || (!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 => distance < 0 || bridge.GetDistance(container > 1 ? container : id) <= distance) .Where(id => maxZ < 0 || Math.Abs(bridge.GetZ(container > 1 ? container : id) - selfZ) <= maxZ) .Where(id => !visibleOnly || bridge.IsVisible(id) != 0) .Where` -
`items
.Where(id => includeIgnored || (!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 => distance < 0 || bridge.GetDistance(container > 1 ? container : id) <= distance) .Where(id => maxZ < 0 || Math.Abs(bridge.GetZ(container > 1 ? container : id) - selfZ) <= maxZ) .Where` -
`items
.Where(id => includeIgnored || (!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 => distance < 0 || bridge.GetDistance(container > 1 ? container : id) <= distance) .Where` -
`items
.Where(id => includeIgnored || (!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` -
`items
.Where(id => includeIgnored || (!ignored.Contains(id) && !MatchesIgnoredType(id, ignoredTypes))) .Where(id => type < 0 || type == 0xFFFF || bridge.GetGraphics(id) == type) .Where` -
`items
.Where(id => includeIgnored || (!ignored.Contains(id) && !MatchesIgnoredType(id, ignoredTypes))) .Where` -
`items
.Where` -
ignored.Contains -
MatchesIgnoredType -
bridge.GetGraphics -
bridge.GetColor -
bridge.GetDistance -
Math.Abs -
bridge.IsVisible -
MatchesTextMask -
bridge.GetName -
candidates.Distinct -
result.OrderBy(id => bridge.GetDistance(container > 1 ? container : id)).ThenBy -
result.OrderBy -
result.FirstOrDefault -
NumberConversions.ToHex
전체 코드는 소스 파일에 있으며 아래는 정확한 발췌입니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private InjectionValue CompactFindTypeExtended(InjectionValue[] values)
{
if (values == null || values.Length < 7 || values.Length > 14)
throw new NativeSubrutineException("UO.FindType extended route expects 7..14 arguments.");
int type = ResolveType(values[0]);
int color = NumberConversions.ToInt(values[1]);
int container = ConvertContainer(values[2]);
// …
if (mobileOnly && itemOnly)
return new InjectionValue(string.Empty);
// …
if (!itemOnly && container <= 1)
// …
if (!mobileOnly && notorieties.Count == 0)
// …
}
IEnumerable<int> result = candidates.Distinct();
if (nearest)
result = result.OrderBy(id => bridge.GetDistance(container > 1 ? container : id)).ThenBy(id => id);
int serial = result.FirstOrDefault();
return serial == 0 ? new InjectionValue(string.Empty) : new InjectionValue(NumberConversions.ToHex(serial));
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: InjectionValue[] values
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5475.
private int CompactInJournal(InjectionValue[] values)
결과: int.
조건:
values == null || values.Length < 3 || values.Length > 7
호출:
values[0].ToStringNumberConversions.ToIntCurrentJournalTimeJournalTimestampToAgeToBooleanbridge.InJournalFilteredSelectJournalSearchResult
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int CompactInJournal(InjectionValue[] values)
{
if (values == null || values.Length < 3 || values.Length > 7)
throw new NativeSubrutineException("UO.InJournal compact form expects pattern, serial, color[, startTime[, endTime[, newestOnly[, caseSensitive]]]].");
string pattern = values[0].ToString() ?? string.Empty;
int serial = NumberConversions.ToInt(values[1]);
int color = NumberConversions.ToInt(values[2]);
int now = CurrentJournalTime();
int startTime = values.Length > 3 ? NumberConversions.ToInt(values[3]) : 0;
int endTime = values.Length > 4 ? NumberConversions.ToInt(values[4]) : 0;
bool hasTimeRange = startTime > 0 || endTime > 0;
int startAge = hasTimeRange ? JournalTimestampToAge(startTime, now) : 0;
int endAge = endTime > 0 ? JournalTimestampToAge(endTime, now) : 0;
bool newestOnly = values.Length > 5 && ToBoolean(values[5]);
bool caseSensitive = values.Length > 6 && ToBoolean(values[6]);
int result = bridge.InJournalFiltered(pattern, serial, color, startAge, endAge, newestOnly, caseSensitive);
SelectJournalSearchResult(result, pattern, !caseSensitive);
return result;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3876.
public int Dead()
결과: int.
호출:
bridge.Dead
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Dead() => bridge.Dead();표시된 호출 및 상태 변경을 수행합니다.
매개변수: InjectionValue id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5361.
public int Drag(InjectionValue id)
결과: int.
호출:
Drag
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Drag(InjectionValue id) => Drag(id, InjectionValue.Zero, InjectionValue.Zero);아래 식의 값을 반환합니다.
매개변수: index
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1221.
int StealthContainer(int index)
결과: int.
결과: ConvertClientSearchContainer(arguments[index]).
호출: ConvertClientSearchContainer.
호출:
-
InjectionScript.Runtime.InjectionApiUO.ConvertClientSearchContainer:ConvertClientSearchContainer(arguments[index]).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
int StealthContainer(int index)
{
return ConvertClientSearchContainer(arguments[index]);
}이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2031.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AddChatUserIgnore:bridge.AddChatUserIgnore(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "addchatuserignore": bridge.AddChatUserIgnore(Text(0)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2029.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AddJournalIgnore:bridge.AddJournalIgnore(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "addjournalignore": bridge.AddJournalIgnore(Text(0)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2027.
결과: InjectionValue.Unit.
호출:
-
InjectionScript.Runtime.InjectionApiUO.DeleteJournal:DeleteJournal().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "clearjournal": DeleteJournal(); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1645.
결과: new InjectionValue(bridge.ClientTargetResponsePresent()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientTargetResponsePresent:bridge.ClientTargetResponsePresent().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "clienttargetresponsepresent": return new InjectionValue(bridge.ClientTargetResponsePresent());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1551.
결과: new InjectionValue(bridge.ConfirmTrade(Arg(0))).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ConfirmTrade:bridge.ConfirmTrade(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "confirmtrade": return new InjectionValue(bridge.ConfirmTrade(Arg(0)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1300.
결과: new InjectionValue(state.ConnectedTime == default(DateTime) ? 0d : state.ConnectedTime.ToOADate()).
호출:
-
InjectionScript.Runtime.InjectionApiUO.UpdateConnectionState:UpdateConnectionState().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "connectedtime":
UpdateConnectionState();
return new InjectionValue(state.ConnectedTime == default(DateTime) ? 0d : state.ConnectedTime.ToOADate());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1446.
결과: new InjectionValue(flag)).ToArray()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ConvertTileFlags:bridge.ConvertTileFlags(Arg(0), Arg(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "convertintegertoflags":
return new InjectionValue(bridge.ConvertTileFlags(Arg(0), Arg(1))
.Select(flag => new InjectionValue(flag)).ToArray());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1998.
결과: new InjectionValue(bridge.ChangeProfileSelection(requestedProfile, requestedShard, requestedCharacter)).
호출:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(2). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ChangeProfileSelection:bridge.ChangeProfileSelection(requestedProfile, requestedShard, requestedCharacter).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "extchangeprofile":
{
string requestedProfile = Text(0);
string requestedShard = arguments.Length > 1 ? Text(1) : string.Empty;
string requestedCharacter = arguments.Length > 2 ? Text(2) : string.Empty;
return new InjectionValue(bridge.ChangeProfileSelection(requestedProfile, requestedShard, requestedCharacter));
}이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1378.
결과: new InjectionValue(bridge.FindItem).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindItem:bridge.FindItem.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "finditem": return new InjectionValue(bridge.FindItem);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1510.
결과: new InjectionValue(bridge.GetAltName(Arg(0))).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetAltName:bridge.GetAltName(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getaltname": return new InjectionValue(bridge.GetAltName(Arg(0)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2015.
결과: StringArray(bridge.GetBuffBarInfo()).
호출:
-
InjectionScript.Runtime.InjectionApiUO.StringArray:StringArray(bridge.GetBuffBarInfo()). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetBuffBarInfo:bridge.GetBuffBarInfo().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getbuffbarinfo": return StringArray(bridge.GetBuffBarInfo());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1852.
new []
결과: [].
호출:
-
InjectionScript.Runtime.InjectionApiUO.FindPortableTiles:FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), new[] { Arg(5) }, false). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(4). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(5).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getlandtilesarray":
return FindPortableTiles(Arg(0), Arg(1), Arg(2), Arg(3), Arg(4), new[] { Arg(5) }, false);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1461.
결과: new InjectionValue(0); new InjectionValue(step.Length > 1 ? step[1] : Arg(5)).
조건: bridge.IsOnline() == 0 || Arg(4) != bridge.WorldNumber.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsOnline:bridge.IsOnline(). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(4). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CheckWorldStep:bridge.CheckWorldStep(Arg(0), Arg(1), Arg(5), Arg(2), Arg(3), Arg(4)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(5). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WorldNumber:bridge.WorldNumber.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getnextstepz":
{
if (bridge.IsOnline() == 0 || Arg(4) != bridge.WorldNumber)
return new InjectionValue(0);
int[] step = bridge.CheckWorldStep(Arg(0), Arg(1), Arg(5), Arg(2), Arg(3), Arg(4));
return new InjectionValue(step.Length > 1 ? step[1] : Arg(5));
}이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1843.
호출:
-
InjectionScript.Runtime.InjectionApiUO.BuildPortablePath:BuildPortablePath(bridge.GetX(bridge.Self), bridge.GetY(bridge.Self), bridge.GetZ(bridge.Self), Arg(0), Arg(1), bridge.GetZ(bridge.Self), bridge.WorldNumber, Arg(3), 255, Arg(2) != 0, false). -
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.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WorldNumber:bridge.WorldNumber.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getpatharray":
return BuildPortablePath(bridge.GetX(bridge.Self), bridge.GetY(bridge.Self), bridge.GetZ(bridge.Self),
Arg(0), Arg(1), bridge.GetZ(bridge.Self), bridge.WorldNumber, Arg(3), 255, Arg(2) != 0, false);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1368.
결과: new InjectionValue(arguments.Length > 0 ? bridge.GetStrength(Arg(0)) : bridge.Strength).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetStrength:bridge.GetStrength(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Strength:bridge.Strength.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getstr": return new InjectionValue(arguments.Length > 0 ? bridge.GetStrength(Arg(0)) : bridge.Strength);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1377.
결과: ReadGoldValue().
호출:
-
InjectionScript.Runtime.InjectionApiUO.ReadGoldValue:ReadGoldValue().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "gold": return ReadGoldValue();이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1602.
결과: new InjectionValue(bridge.IsGumpCanBeClosed(Arg(0))).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsGumpCanBeClosed:bridge.IsGumpCanBeClosed(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "isgumpcanbeclosed": return new InjectionValue(bridge.IsGumpCanBeClosed(Arg(0)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1512.
결과: new InjectionValue(bridge.IsMovable(Arg(0))).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsMovable:bridge.IsMovable(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "ismovable": return new InjectionValue(bridge.IsMovable(Arg(0)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1514.
결과: new InjectionValue(bridge.IsTrade()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsTrade:bridge.IsTrade().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "istrade": return new InjectionValue(bridge.IsTrade());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1531.
결과: new InjectionValue(bridge.GetLastContainer()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLastContainer:bridge.GetLastContainer().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "lastcontainer": return new InjectionValue(bridge.GetLastContainer());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2045.
결과: new InjectionValue(selectedJournalEntry?.Timestamp ?? 0d).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "linetime": return new InjectionValue(selectedJournalEntry?.Timestamp ?? 0d);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1589.
결과: new InjectionValue(bridge.MenuHookPresent()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MenuHookPresent:bridge.MenuHookPresent().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "menuhookpresent": return new InjectionValue(bridge.MenuHookPresent());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1535.
결과: new InjectionValue(ReadPredictedCoordinate(2)).
호출:
-
InjectionScript.Runtime.InjectionApiUO.ReadPredictedCoordinate:ReadPredictedCoordinate(2).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "predictedz": return new InjectionValue(ReadPredictedCoordinate(2));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1553.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RenameMobile:bridge.RenameMobile(Arg(0), Text(1)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(1).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "renamemobile": bridge.RenameMobile(Arg(0), Text(1)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1641.
결과: new InjectionValue(IsTargeting()).
호출:
-
InjectionScript.Runtime.InjectionApiUO.IsTargeting:IsTargeting().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "targetpresent": return new InjectionValue(IsTargeting());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1331.
결과: new InjectionValue(state.MoveExitOnDisconnect).
조건: arguments.Length > 0.
호출:
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "moveexitondisconnect": if (arguments.Length > 0) state.MoveExitOnDisconnect = Arg(0) != 0 ? 1 : 0; return new InjectionValue(state.MoveExitOnDisconnect);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1333.
결과: new InjectionValue(state.MoveOpenDoor).
조건: arguments.Length > 0.
호출:
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "moveopendoor": if (arguments.Length > 0) state.MoveOpenDoor = Arg(0) != 0 ? 1 : 0; return new InjectionValue(state.MoveOpenDoor);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1336.
결과: new InjectionValue(state.MoveTurnCost).
조건: arguments.Length > 0.
호출:
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "moveturncost": if (arguments.Length > 0) state.MoveTurnCost = Math.Max(0, Arg(0)); return new InjectionValue(state.MoveTurnCost);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2898.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoBuyRule:bridge.SetAutoBuyRule(Arg(0), arguments.Length > 1 ? Arg(1) : -1, arguments.Length > 2 ? Arg(2) : 1, arguments.Length > 3 ? Arg(3) : 0, arguments.Length > 4 ? Text(4) : string.Empty). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(3). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(4).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "buy":
bridge.SetAutoBuyRule(Arg(0), arguments.Length > 1 ? Arg(1) : -1, arguments.Length > 2 ? Arg(2) : 1, arguments.Length > 3 ? Arg(3) : 0, arguments.Length > 4 ? Text(4) : string.Empty);
break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2872.
호출:
-
InjectionScript.Runtime.InjectionApiUO.MoveOff:MoveOff().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "cancelmove": MoveOff(); break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3076.
호출:
-
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage($"{name}: obsolete native-client patch; ClassicUO does not require it.").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "boxhack":
case "fixtalk":
case "fixwalk":
SystemMessage($"{name}: obsolete native-client patch; ClassicUO does not require it.");
break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3076.
호출:
-
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage($"{name}: obsolete native-client patch; ClassicUO does not require it.").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "boxhack":
case "fixtalk":
case "fixwalk":
SystemMessage($"{name}: obsolete native-client patch; ClassicUO does not require it.");
break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2923.
호출:
-
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage($"0x{bridge.GetColor(Arg(0, bridge.LastTarget)):X4}"). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetColor:bridge.GetColor(Arg(0, bridge.LastTarget)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0, bridge.LastTarget). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastTarget:bridge.LastTarget.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "infocolor": SystemMessage($"0x{bridge.GetColor(Arg(0, bridge.LastTarget)):X4}"); break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2978.
조건: createdSerial == 0.
호출:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(1, 0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(2, 1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(3, 0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(4, bridge.GetX(bridge.Self)). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetX:bridge.GetX(bridge.Self). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(5, bridge.GetY(bridge.Self)). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetY:bridge.GetY(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CreateFakeItem:bridge.CreateFakeItem(graphic, serial, amount, hue, x, y). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage("MakeFakeItem: invalid graphic/serial or no active player."). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "makefakeitem":
{
int graphic = Arg(0);
int serial = Arg(1, 0);
int amount = Arg(2, 1);
int hue = Arg(3, 0);
int x = Arg(4, bridge.GetX(bridge.Self));
int y = Arg(5, bridge.GetY(bridge.Self));
int createdSerial = bridge.CreateFakeItem(graphic, serial, amount, hue, x, y);
if (createdSerial == 0)
SystemMessage("MakeFakeItem: invalid graphic/serial or no active player.");
break;
}이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3023.
호출:
-
InjectionScript.Runtime.InjectionApiUO.Unequip:Unequip("Hat").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "removehat": Unequip("Hat"); break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3026.
호출:
-
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage(GetProfile(arguments.Length > 0 ? arguments[0] : new InjectionValue("lasttarget"))). -
InjectionScript.Runtime.InjectionApiUO.GetProfile:GetProfile(arguments.Length > 0 ? arguments[0] : new InjectionValue("lasttarget")).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "reqprofile":
SystemMessage(GetProfile(arguments.Length > 0 ? arguments[0] : new InjectionValue("lasttarget")));
break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3075.
호출:
-
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage($"{bridge.RuntimeProductName} v{bridge.RuntimeProductVersion}"). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RuntimeProductName:bridge.RuntimeProductName. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RuntimeProductVersion:bridge.RuntimeProductVersion.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "version": SystemMessage($"{bridge.RuntimeProductName} v{bridge.RuntimeProductVersion}"); break;표시된 호출 및 상태 변경을 수행합니다.
매개변수: distance, notoriety, body, maxZ, color, includeSelf, includeIgnored, aliveOnly, visibleOnly, nameMask
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4983.
`private IEnumerable FilterMobiles(int distance, InjectionValue notoriety, InjectionValue body,
int maxZ, int color, bool includeSelf, bool includeIgnored = false, bool aliveOnly = false,
bool visibleOnly = false, InjectionValue nameMask = default(InjectionValue))`
결과: IEnumerable<int>.
호출: bridge.GetIgnoreList, state.IgnoreTypeLists.FilterFor, ParseIntMask, ParseTypeMask, bridge.GetZ, bridge.GetFindDistance, Math.Max, bridge.GetFindVertical.
조건: (!includeSelf && id == self) || ignored.Contains(id) || MatchesIgnoredType(id, ignoredTypes); effectiveDistance >= 0 && bridge.GetDistance(id) > effectiveDistance; effectiveMaxZ >= 0 && Math.Abs(bridge.GetZ(id) - selfZ) > effectiveMaxZ; notorieties.Count > 0 && !notorieties.Contains(bridge.GetNotoriety(id)).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetIgnoreList:bridge.GetIgnoreList(). -
InjectionScript.Runtime.State.NamedIgnoreLists.FilterFor:state.IgnoreTypeLists.FilterFor(state.SelectedIgnoreList). -
InjectionScript.Runtime.InjectionApiUO.ParseIntMask:ParseIntMask(notoriety). -
InjectionScript.Runtime.InjectionApiUO.ParseTypeMask:ParseTypeMask(body). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindDistance:bridge.GetFindDistance(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMobiles:bridge.GetMobiles(). -
InjectionScript.Runtime.InjectionApiUO.MatchesIgnoredType:MatchesIgnoredType(id, ignoredTypes). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDistance:bridge.GetDistance(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetZ:bridge.GetZ(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetNotoriety:bridge.GetNotoriety(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetGraphics:bridge.GetGraphics(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetColor:bridge.GetColor(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsDead:bridge.IsDead(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsVisible:bridge.IsVisible(id). -
InjectionScript.Runtime.InjectionApiUO.MatchesTextMask:MatchesTextMask(bridge.GetName(id), nameMask). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetName:bridge.GetName(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private IEnumerable<int> FilterMobiles(int distance, InjectionValue notoriety, InjectionValue body,
int maxZ, int color, bool includeSelf, bool includeIgnored = false, bool aliveOnly = false,
bool visibleOnly = false, InjectionValue nameMask = default(InjectionValue))
{
HashSet<int> ignored = includeIgnored ? new HashSet<int>() : new HashSet<int>(bridge.GetIgnoreList());
IgnoreTypeFilter ignoredTypes = includeIgnored ? IgnoreTypeFilter.Empty : state.IgnoreTypeLists.FilterFor(state.SelectedIgnoreList);
HashSet<int> notorieties = ParseIntMask(notoriety);
HashSet<int> bodies = ParseTypeMask(body);
int self = bridge.Self;
int selfZ = bridge.GetZ(self);
int effectiveDistance = distance < 0 ? bridge.GetFindDistance() : Math.Max(0, distance);
int effectiveMaxZ = maxZ < 0 ? bridge.GetFindVertical() : Math.Max(0, maxZ);
foreach (int id in bridge.GetMobiles())
{
if ((!includeSelf && id == self) || ignored.Contains(id) || MatchesIgnoredType(id, ignoredTypes))
continue;
if (effectiveDistance >= 0 && bridge.GetDistance(id) > effectiveDistance)
continue;
if (effectiveMaxZ >= 0 && Math.Abs(bridge.GetZ(id) - selfZ) > effectiveMaxZ)
continue;
if (notorieties.Count > 0 && !notorieties.Contains(bridge.GetNotoriety(id)))
continue;
if (bodies.Count > 0 && !bodies.Contains(bridge.GetGraphics(id)))
continue;
if (color >= 0 && color != 0xFFFF && bridge.GetColor(id) != color)
continue;
if (aliveOnly && bridge.IsDead(id) != 0)
continue;
if (visibleOnly && bridge.IsVisible(id) == 0)
continue;
if (!MatchesTextMask(bridge.GetName(id), nameMask))
continue;
yield return id;
}
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: InjectionValue type
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4702.
public string FindType(InjectionValue type)
결과: string.
호출:
FindTypeResolveType
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string FindType(InjectionValue type)
=> FindType(ResolveType(type));표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3412.
public void GListClear()
결과: void.
호출:
globalList.Clear
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void GListClear() => globalList.Clear();표시된 호출 및 상태 변경을 수행합니다.
매개변수: InjectionValue nameValue
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3406.
public InjectionValue GListGet(InjectionValue nameValue)
결과: InjectionValue.
호출:
nameValue.ToStringglobalList.FindIndexpair.Key.Equals
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public InjectionValue GListGet(InjectionValue nameValue)
{
string name = nameValue.ToString();
int index = globalList.FindIndex(pair => pair.Key.Equals(name, StringComparison.OrdinalIgnoreCase));
return index >= 0 ? globalList[index].Value : InjectionValue.Zero;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: string abilityName
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6011.
public int GetAbilityID(string abilityName)
결과: int.
호출:
bridge.ResolveAbility
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetAbilityID(string abilityName) => bridge.ResolveAbility(abilityName);표시된 호출 및 상태 변경을 수행합니다.
매개변수: int currentX, int currentY, int targetX, int targetY
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3588.
private int GetDirection(int currentX, int currentY, int targetX, int targetY)
결과: int.
조건:
targetX < currentX && targetY == currentYtargetX > currentX && targetY == currentYtargetX == currentX && targetY > currentYtargetX == currentX && targetY < currentY
호출:
—
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int GetDirection(int currentX, int currentY, int targetX, int targetY)
{
if (targetX < currentX && targetY == currentY)
return 6;
else if (targetX > currentX && targetY == currentY)
return 2;
else if (targetX == currentX && targetY > currentY)
return 4;
else if (targetX == currentX && targetY < currentY)
return 0;
else if (targetX < currentX && targetY > currentY)
return 5;
else if (targetX > currentX && targetY < currentY)
return 1;
else if (targetX < currentX && targetY < currentY)
return 7;
else if (targetX > currentX && targetY > currentY)
return 3;
// The only remaining case is an already reached destination. Returning
// north is harmless and keeps legacy callers from receiving a misleading
// unsupported-route failure for valid coordinates.
return 0;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: int x, int y
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3691.
public int GetDistance(int x, int y)
결과: int.
호출:
GetDistancebridge.GetXbridge.GetY
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetDistance(int x, int y) => GetDistance(bridge.GetX(bridge.Self), bridge.GetY(bridge.Self), x, y);표시된 호출 및 상태 변경을 수행합니다.
매개변수: int index
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5524.
public string GetJournalText(int index)
결과: string.
호출:
SelectJournalEntryReadJournalSnapshot
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string GetJournalText(int index)
{
SelectJournalEntry(ReadJournalSnapshot(index));
return selectedJournalEntry?.Text ?? string.Empty;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: string id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3854.
public int GetQuantity(string id)
결과: int.
호출:
GetQuantityGetObject
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetQuantity(string id) => GetQuantity(GetObject(id));표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3859.
public string GetSerial()
결과: string.
호출:
NumberConversions.ToHex
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string GetSerial() => NumberConversions.ToHex(bridge.Self);표시된 호출 및 상태 변경을 수행합니다.
매개변수: InjectionValue x, InjectionValue y, InjectionValue map
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6293.
public InjectionValue GetStaticTiles(InjectionValue x, InjectionValue y, InjectionValue map)
결과: InjectionValue.
호출:
ToArraybridge.GetStaticTilesNumberConversions.ToInt
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public InjectionValue GetStaticTiles(InjectionValue x, InjectionValue y, InjectionValue map)
=> ToArray(bridge.GetStaticTiles(NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(map)));표시된 호출 및 상태 변경을 수행합니다.
매개변수: string[] lines
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2574.
private InjectionValue GumpLinesResult(string[] lines)
결과: InjectionValue.
조건:
lines == nullstate.SilentMode == 0 && lines.Length > 0
호출:
Array.Empty<string>bridge.TextPrintbridge.TextOpenStringArray
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private InjectionValue GumpLinesResult(string[] lines)
{
if (lines == null)
lines = Array.Empty<string>();
if (state.SilentMode == 0 && lines.Length > 0)
{
foreach (string line in lines)
bridge.TextPrint(line ?? string.Empty);
bridge.TextOpen();
}
return StringArray(lines);
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: string pattern
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5461.
public int InJournal(string pattern)
결과: int.
호출:
InJournalCore
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int InJournal(string pattern)
=> InJournalCore(pattern, -1, ignoreCase: false);표시된 호출 및 상태 변경을 수행합니다.
매개변수: string pattern, int startTime
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5496.
public int InJournalBetweenTimes(string pattern, int startTime)
결과: int.
호출:
InJournalBetweenTimesCoreCurrentJournalTime
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int InJournalBetweenTimes(string pattern, int startTime)
=> InJournalBetweenTimesCore(pattern, startTime, CurrentJournalTime(), -1, ignoreCase: false);표시된 호출 및 상태 변경을 수행합니다.
매개변수: int index
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5531.
public int JournalTimer(int index)
결과: int.
호출:
JournalEntryTime
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int JournalTimer(int index) => JournalEntryTime(index);표시된 호출 및 상태 변경을 수행합니다.
매개변수: string message
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5440.
public void Msg(string message)
결과: void.
호출:
bridge.ServerPrint
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Msg(string message) => bridge.ServerPrint(message);표시된 호출 및 상태 변경을 수행합니다.
매개변수: string file
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5408.
public int PlayWav(string file)
결과: int.
호출:
bridge.PlayWav
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int PlayWav(string file) => bridge.PlayWav(file);표시된 호출 및 상태 변경을 수행합니다.
매개변수: InjectionValue id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3888.
public int Poisoned(InjectionValue id)
결과: int.
호출:
bridge.PoisonedGetObject
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Poisoned(InjectionValue id) => bridge.Poisoned(GetObject(id));표시된 호출 및 상태 변경을 수행합니다.
매개변수: int component
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1148.
private int ReadPredictedCoordinate(int component)
결과: int.
조건:
bridge is IPredictedMovementBridge predicted
호출:
bridge.GetXbridge.GetYbridge.GetZbridge.GetDirnameof
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int ReadPredictedCoordinate(int component)
{
if (bridge is IPredictedMovementBridge predicted)
{
switch (component)
{
case 0: return predicted.PredictedX;
case 1: return predicted.PredictedY;
case 2: return predicted.PredictedZ;
case 3: return predicted.PredictedDirection;
}
}
else
{
// Compatibility with external bridges predating queued reads.
int self = bridge.Self;
switch (component)
{
case 0: return bridge.GetX(self);
case 1: return bridge.GetY(self);
case 2: return bridge.GetZ(self);
case 3: return bridge.GetDir(self);
}
}
throw new ArgumentOutOfRangeException(nameof(component));
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: InjectionValue id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3357.
public void SelectGump(InjectionValue id)
결과: void.
호출:
bridge.SelectGumpNumberConversions.ToInt
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void SelectGump(InjectionValue id) => bridge.SelectGump(NumberConversions.ToInt(id));표시된 호출 및 상태 변경을 수행합니다.
매개변수: InjectionValue serial, InjectionValue gumpId, InjectionValue triggerId
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3351.
public int SendGumpSelect(InjectionValue serial, InjectionValue gumpId, InjectionValue triggerId)
결과: int.
호출:
bridge.SendGumpSelectNumberConversions.ToInt
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int SendGumpSelect(InjectionValue serial, InjectionValue gumpId, InjectionValue triggerId)
=> bridge.SendGumpSelect(NumberConversions.ToInt(serial), NumberConversions.ToInt(gumpId), NumberConversions.ToInt(triggerId));표시된 호출 및 상태 변경을 수행합니다.
매개변수: InjectionValue stateValue
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6455.
public void SetShowZ(InjectionValue stateValue)
결과: void.
호출:
NumberConversions.ToInt
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void SetShowZ(InjectionValue stateValue) => showZ = NumberConversions.ToInt(stateValue) != 0 ? 1 : 0;표시된 호출 및 상태 변경을 수행합니다.
매개변수: targetKey, target, targetType, type, x, y, z
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4277.
`public void Target(
InjectionValue targetKey,
InjectionValue target,
InjectionValue targetType,
InjectionValue type,
InjectionValue x,
InjectionValue y,
InjectionValue z
)`
결과: void.
호출: NumberConversions.ToInt, selector.Equals, TryGetObject, bridge.Target, ResolveType.
조건: targetTypeValue == 0 && !selector.Equals("ground", StringComparison.OrdinalIgnoreCase).
호출:
-
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(targetType). -
InjectionScript.Runtime.InjectionApiUO.TryGetObject:TryGetObject(target, out serial). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Target:bridge.Target ( NumberConversions.ToInt(targetKey), serial, targetTypeValue, ResolveType(type), NumberConversions.ToInt(x), NumberConversions.ToInt(y), NumberConversions.ToInt(z) ). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(targetKey). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(type). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(x). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(y). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(z).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Target
(
InjectionValue targetKey,
InjectionValue target,
InjectionValue targetType,
InjectionValue type,
InjectionValue x,
InjectionValue y,
InjectionValue z
)
{
int targetTypeValue = NumberConversions.ToInt(targetType);
string selector = target.Kind == InjectionValueKind.String ? target.String : string.Empty;
int serial = 0;
if (targetTypeValue == 0 && !selector.Equals("ground", StringComparison.OrdinalIgnoreCase))
TryGetObject(target, out serial);
bridge.Target
(
NumberConversions.ToInt(targetKey),
serial,
targetTypeValue,
ResolveType(type),
NumberConversions.ToInt(x),
NumberConversions.ToInt(y),
NumberConversions.ToInt(z)
);
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6031.
public void TerminateAll()
결과: void.
호출:
bridge.Terminate
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void TerminateAll() => bridge.Terminate("all");표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5437.
public void TextClear()
결과: void.
호출:
bridge.TextClear
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void TextClear() => bridge.TextClear();표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3489.
public int TicksSpell()
결과: int.
호출:
—
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int TicksSpell() => ticksSpell;표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2505.
private void UpdateConnectionState()
결과: void.
조건:
bridge is IApiConnectionTimesBridge connectionTimesstate.LastConnectionState == onlineonline != 0
호출:
connectionTimes.GetConnectionTimesbridge.IsOnline
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private void UpdateConnectionState()
{
if (bridge is IApiConnectionTimesBridge connectionTimes)
{
// Never infer a session event from a script's first observation.
// A pause can span both disconnect and login without an offline query.
ApiConnectionTimes times = connectionTimes.GetConnectionTimes();
state.ConnectedTime = times.Connected;
state.DisconnectedTime = times.Disconnected;
return;
}
// Compatibility for external hosts without session-owned timestamps.
int online = bridge.IsOnline() != 0 ? 1 : 0;
if (state.LastConnectionState == online)
return;
state.LastConnectionState = online;
if (online != 0) state.ConnectedTime = timeSource.Now;
else state.DisconnectedTime = timeSource.Now;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: InjectionValue id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4052.
public void UpdateObject(InjectionValue id)
결과: void.
호출:
bridge.UpdateObjectGetObject
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void UpdateObject(InjectionValue id) => bridge.UpdateObject(GetObject(id));표시된 호출 및 상태 변경을 수행합니다.
매개변수: int id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4288.
public void WaitTargetObject(int id)
결과: void.
호출:
bridge.WaitTargetObjectTimer
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void WaitTargetObject(int id)
{
bridge.WaitTargetObject(id);
ticksTarget = Timer();
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: InjectionValue type
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4330.
public void WaitTargetType(InjectionValue type)
결과: void.
호출:
WaitTargetTypeResolveType
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void WaitTargetType(InjectionValue type) => WaitTargetType(ResolveType(type), -1);표시된 호출 및 상태 변경을 수행합니다.
매개변수: int milliseconds
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6200.
private void WaitWithEvents(int milliseconds)
결과: void.
조건:
remaining == 0
호출:
Math.MaxinjectionApi.WaitDispatchLegacyEventsMath.Min
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private void WaitWithEvents(int milliseconds)
{
int remaining = Math.Max(0, milliseconds);
if (remaining == 0)
{
injectionApi.Wait(0);
DispatchLegacyEvents();
return;
}
while (remaining > 0)
{
int slice = Math.Min(remaining, 25);
injectionApi.Wait(slice);
remaining -= slice;
DispatchLegacyEvents();
}
}호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:304.
values
결과: values.
결과: new InjectionValue(CompactFindList(values)).
호출: CompactFindList.
호출:
-
InjectionScript.Runtime.InjectionApiUO.CompactFindList:CompactFindList(values).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
values => new InjectionValue(CompactFindList(values))호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1049.
결과: bridge.FollowersMax.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FollowersMax:bridge.FollowersMax.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.FollowersMax호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1046.
결과: bridge.EnergyResistance.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.EnergyResistance:bridge.EnergyResistance.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.EnergyResistance호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1027.
결과: bridge.MaxMana.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MaxMana:bridge.MaxMana.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.MaxMana호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1050.
결과: bridge.Race.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Race:bridge.Race.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.Race호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1030.
결과: bridge.Strength.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Strength:bridge.Strength.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.Strength호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1029.
결과: bridge.MaxStamina.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MaxStamina:bridge.MaxStamina.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.MaxStamina아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.
결과: getter(bridge.Self).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => getter(bridge.Self)표시된 호출 및 상태 변경을 수행합니다.
매개변수: string command
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeConsoleDispatch.cs:340.
private static bool IsRemainderTextCommand(string command)
결과: bool.
호출:
command.Equals
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static bool IsRemainderTextCommand(string command) =>
command.Equals("Msg", StringComparison.OrdinalIgnoreCase)
|| command.Equals("Say", StringComparison.OrdinalIgnoreCase)
|| command.Equals("Print", StringComparison.OrdinalIgnoreCase)
|| command.Equals("ConsolePrint", StringComparison.OrdinalIgnoreCase)
|| command.Equals("TextPrint", StringComparison.OrdinalIgnoreCase);표시된 호출 및 상태 변경을 수행합니다.
매개변수: InjectionValue[] argumentValues
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeSubrutineDefinition.cs:313.
public InjectionValue Call(InjectionValue[] argumentValues)
결과: InjectionValue.
조건:
argumentValues.Length != parameterKinds.LengthvariadicSubrutine != nullreturnValue is InjectionValue injValex.InnerException is OperationCanceledException
호출:
CompletevariadicSubrutineargumentValues[i].ConvertTosubrutine.DynamicInvokeExceptionDispatchInfo.Capture(ex.InnerException).ThrowExceptionDispatchInfo.Capture
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public InjectionValue Call(InjectionValue[] argumentValues)
{
if (argumentValues.Length != parameterKinds.Length)
throw new NativeSubrutineException($"Mismatch of argument ({argumentValues.Length}) and parameters ({parameterKinds.Length}) count and parameters for {Name}.");
if (variadicSubrutine != null)
return Complete(argumentValues, variadicSubrutine(argumentValues));
object[] args = new object[argumentValues.Length];
for (int i = 0; i < argumentValues.Length; i++)
args[i] = argumentValues[i].ConvertTo(parameterKinds[i]);
try
{
var returnValue = subrutine.DynamicInvoke(args);
if (returnValue is InjectionValue injVal)
return Complete(argumentValues, injVal);
return Complete(argumentValues, new InjectionValue(returnValue, subrutine.Method.ReturnType));
}
catch (TargetInvocationException ex)
{
if (ex.InnerException is OperationCanceledException)
ExceptionDispatchInfo.Capture(ex.InnerException).Throw();
if (ex.InnerException != null)
throw new NativeSubrutineException(ex.InnerException.Message, ex.InnerException);
else
throw;
}
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: string name, int? type = null, int? hue = null
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedIgnoreLists.cs:44.
public void Remove(string name, int? type = null, int? hue = null)
결과: void.
조건:
type.HasValuehue.HasValue!type.HasValuelists.TryGetValue(name, out var filter)
호출:
RequireNameNormalizelists.Removelists.TryGetValuefilter.Rules.Where
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Remove(string name, int? type = null, int? hue = null)
{
name = RequireName(name);
if (type.HasValue) type = Normalize(type.Value);
if (hue.HasValue) hue = Normalize(hue.Value);
lock (sync)
{
if (!type.HasValue) lists.Remove(name);
else if (lists.TryGetValue(name, out var filter))
lists[name] = new IgnoreTypeFilter(filter.Rules.Where(rule => rule.Type != type.Value
|| hue.HasValue && rule.Hue != hue.Value));
}
}ClassicUO — Bad Newbie & C# Scripts IDE