函式參考
內建輔助函式
遊戲中「函式」分頁列為內建的輔助函式。公用輔助函式直接以名稱呼叫;其他輔助函式需繫結為相依項目(選擇自動完成項目,或在「相依項目」中新增),再以其完整名稱呼叫。
240 個輔助函式中的 88 個。 清除篩選
Platform. 相依項目 | Calls a native API function in protected mode and returns its first result only when Rotation Master can read it. |
|---|---|
Platform. 相依項目 | Finds the spell-book slot of a spell with FindSpellBookSlotBySpellID. |
Platform. 公用 | 使用適當的用戶端 API 或法術書欄位,讀取某個單位針對特定法術的距離。沒有距離限制的法術傳回 applicable=false;否則 applicable=true,inRange 記錄該單位是否在距離內。未知或無法存取的觀測會傳回 nil 及原因。 |
Platform. 相依項目 | Validates a spell ID argument. |
Platform. 公用 | 將確切的施法對象名稱與目前有限的隊伍或團隊名單進行比對,然後透過單位代碼觀測其成員身分。名單資料缺少、含義不明確或正在變化時維持為無法使用;絕不讀取所選目標,也不在施法之間保留狀態。 |
Platform. 相依項目 | Computes the total length of a cast or channel in seconds from the millisecond start and end times in a UnitCastingInfo or UnitChannelInfo result. |
Platform. 相依項目 | Returns true when value is a number that is neither NaN nor infinite, and false for anything else. |
Platform. 公用 | 在探測或受限政策用戶端上觀測單位的施法或引導。已知不存在的單位或可讀的非活動結果傳回 active=false。活動記錄包含 name,或在名稱為機密時包含 nameReason(單位仍在施法),以及可獨立取得的 remainingSeconds、durationSeconds、interruptible 與 spellID 欄位;選用欄位無法使用時附帶 remainingReason、durationReason、interruptibleReason 或 spellReason。存在性觀測缺少、失敗或受限時傳回 nil 及原因。 |
Platform. 相依項目 | Converts the native notInterruptible flag of a cast or channel into an interruptible Boolean (its inverse). |
Platform. 相依項目 | Converts the millisecond end time of a cast or channel into the seconds left, measured against a fresh GetTime() and clamped at zero. |
Platform. 相依項目 | Validates the spell ID field of a cast or channel result. |
Platform. 公用 | 在探測或受限政策用戶端上,從原生 UnitCreatureType 的第二個傳回值觀測生物身分。先檢查確切的 UnitExists(unit);可讀的 false 會直接傳回 false,不需要也不呼叫生物中繼資料。存在的單位要求可讀的有限數字 ID;未使用的在地化名稱不影響可用性。帶正負號、小數、零以及未來的有限 ID 都會作為已知值保留。所需資訊缺少、失敗、為 nil、受限或格式錯誤時傳回 nil 及原因。不會新增生物列舉、翻譯標題比較或長期快取。 |
Platform. 公用 | 使用一次受保護的無參數 GetShapeshiftForm 呼叫觀測玩家目前的形態。保留每個可讀的有限數字結果,包括零、帶正負號與小數值;不會推斷更嚴格的原生索引範圍。缺少、失敗、為 nil、受限或非有限的資料維持為無法使用。不會新增形態數量、職業、法術 ID、單位或選擇性參數。 |
Platform. 公用 | 使用受保護的原生物品中繼資料,將一個數字物品歸類為所請求職業的雕紋。職業是選擇性的,預設為可讀取的玩家職業。這只確定物品分類,不確定裝備狀態,也不提供物品到雕紋法術 ID 的對應。 |
Platform. 公用 | 在已驗證的巫妖王之怒、浩劫與重生與潘達利亞之謎用戶端配置上觀測雕紋插槽。傳回 slots 與 complete 標記。每個插槽在已知鎖定或為空時為 active=false,被佔用時為 active=true 並附帶 spellID,無法使用時 active 為 nil 並附帶原因。未知配置與失敗的數量查詢會傳回 nil 及原因。這不會比較物品名稱,也不能證明物品與法術身分的確切對應。 |
Platform. 相依項目 | Returns true when value is a finite whole number no smaller than minimum, and false for anything else (including NaN and infinity). |
Platform. 相依項目 | Maps client information to the position in the GetGlyphSocketInfo result that holds the glyph spell ID. |
Platform. 相依項目 | Reads one glyph socket by calling fn(index) in protected mode and always returns a slot record with slot=index. |
Platform. 公用 | 在已識別的用戶端系列上讀取公開的隊伍成員身分。未知用戶端不受支援。raidOnly 為 true 時檢查 IsInRaid;為 false 或 nil 時使用原生預設的隊伍類別檢查 IsInGroup。可讀的 false 結果維持為 false。缺少、失敗、格式錯誤或受限的觀測會傳回 nil 及原因。 |
Platform. 公用 | 讀取指定單位是否屬於玩家的隊伍或團隊。raidOnly 為 true 時只查詢 UnitInRaid;否則 UnitInParty 結果為 true 時直接傳回,為 false 時繼續查詢 UnitInRaid,未知時維持為無法使用。可讀的 nil 團隊索引表示 false;整數團隊索引 1..40 表示 true。名稱會原樣傳給原生 API;原生 API 是否接受名稱查詢需視用戶端而定。 |
Platform. 相依項目 | Returns true when value is a number that is neither NaN nor infinite, and false for anything else. |
Platform. 公用 | 在探測或受限政策用戶端上觀測確切的 UnitExists(unit),然後僅對存在的單位觀測 UnitGUID(unit)。已知不存在時為 false。存在的身分要求可讀的非空 GUID;所需資訊缺少、失敗、格式錯誤或受限時為無法使用。不會新增生命力、提供者或額外單位的觀測。 |
Platform. 公用 | 使用確切的單參數點號呼叫讀取選擇性的 RealMobHealth。命名空間不存在(nil/false)時傳回空記錄。分別標準化目前值與最大值:nil/false 欄位允許改用原生值,數字零仍視為存在。所使用的提供者資訊格式錯誤、失敗、受限、為負或非有限時為無法使用。不使用提供者或過期的備用快取。 |
Platform. 公用 | 為所需的生命力預測重新觀測一次受保護的無參數 GetTime。要求結果可讀且為有限數字;保留帶正負號與小數值,不額外加入單調、整數或非負的限制。不使用時鐘快取或額外的原生查詢。 |
Platform. 公用 | 在另外的身分檢查之後讀取惰性的生命力純量。current 種類使用確切的 UnitHealth(unit);maximum 使用確切的 UnitHealthMax(unit)。探測或受限政策用戶端接受可讀的有限非負數字(包括零)。不會重複呼叫存在性/GUID 查詢,也不會改用其他元組。 |
Platform. 相依項目 | Normalizes one health figure returned by the RealMobHealth provider. |
Platform. 相依項目 | Reads object[key] in protected mode. |
Platform. 公用 | 觀測一個受保護的無參數 IsInInstance 元組。所需的可讀布林成員值與類型欄位無關:已知在副本外時直接傳回,不解釋未使用的類型;在副本內時傳回可讀的字串類型,或在該次要欄位無法使用時傳回 instanceTypeReason。檢測是否在副本外的呼叫端只需要成員值;在副本內比較類型時必須檢查次要原因。不會新增戶外、區域或單位推斷。 |
Platform. 相依項目 | Returns true when value is a finite, nonnegative number (not NaN or infinity), and false for anything else. |
Platform. 公用 | 讀取正規化的原生物品分類中繼資料。記錄包含正規的 itemID、classID 與 subClassID,以及在可讀且非空時的 equipLoc(未在地化的 INVTYPE_* 裝備位置標記);不要求物品顯示文字已載入。中繼資料缺少、失敗、格式錯誤或受限時傳回 nil 及原因。 |
Platform. 相依項目 | Validates an item argument. |
Platform. 公用 | 使用受保護的無參數點號呼叫,讀取有說明文件的活躍失去控制數量。要求結果可讀且為有限的非負整數。零表示一次完整的空掃描,不需要列 API。RM 將掃描限制為 256 列,超出該資源預算時傳回無法使用;這並不是原生宣告的最大值。所需觀測缺少、失敗、受限或格式錯誤時維持為無法使用。 |
Platform. 公用 | 依原生索引與所請求的主題種類,讀取一條有說明文件的活躍失去控制記錄列。type 查詢只需要可讀的控制類型字串;school 查詢只需要可讀的有限非負整數法術類型遮罩。選擇性的計時以有限的 timeRemaining 或逐欄位的明確原因傳回,因此不相關的主題不需要可用的計時器。缺少的列是無法使用的快照觀測。不會使用顯示欄位、推斷的截止時間、持續時間總和、最大值或原生別名備用方案。 |
Platform. 相依項目 | Checks that a value is a readable finite number. |
Platform. 公用 | 在探測或受限政策用戶端上讀取選擇性的 MobInfo2 歷史觀測。只快取確切的所選單位存在性;UnitName 的第一個結果、UnitLevel 的第一個結果以及三參數的 MI2_GetMobData(name,level,unit) 點號呼叫每次都會重新取得。已知不存在的單位,以及成功傳回的未記錄的 nil 或省略的歷史,與無法使用的原生/提供者資訊保持區分。保留可讀的 runner 純量真值、法術類型正負號以及缺少 Hits 時預設為一。正的抗性比例必須有限;完全免疫會使用有限的 Hits,而部分免疫只需要其負值的法術類型觀測。絕不推斷原生抗性或借用舊記錄。 |
Platform. 相依項目 | Reads the hit count for a spell school from a MobInfo2 resists table (the field named school.."Hits"). |
Platform. 相依項目 | Checks whether a unit exists with one protected UnitExists call. |
Platform. 相依項目 | Reads object[key] in protected mode for MobInfo2 data. |
Platform. 公用 | 觀測寵物是否確切存在,並可選擇性地觀測其經 GetUnitName 格式化的顯示名稱。僅查詢存在性時從不需要名稱資料。已知不存在時會略過名稱查詢。僅在請求時,存在的寵物才需要可讀的非空名稱;所需觀測缺少、失敗、為 nil、受限或格式錯誤時傳回 nil 及原因。顯示輔助函式只以原有的單一寵物參數呼叫,不改用 UnitName,也不推斷快捷列、生命力或技能狀態。 |
Platform. 公用 | 觀測一個獨立的無參數玩家標記:stealthed 使用 IsStealthed,control 使用 HasFullControl,outdoors 使用 IsOutdoors。可讀的 true 與 false 保留其含義。所需資料缺少、失敗、為 nil、受限或格式錯誤時傳回 nil 及原因。不會新增存在性、副本或技能可用性的推斷。 |
Platform. 公用 | 在受支援且可讀的用戶端上觀測玩家目前的移動速度。這只針對 player 查詢 GetUnitSpeed,不檢測其他單位,也不重新導向載具擁有權。零表示靜止;正的有限小數速度仍然有效。缺少、失敗、受限或格式錯誤的觀測會傳回 nil 及原因。 |
Platform. 公用 | 觀測明確選擇的 TBC 玩家連擊點傳輸方式。current 只使用 GetComboPoints(player,target);maximum 使用帶原始選擇器的 UnitPowerMax(player,powerType)。其他用戶端系列在此無法使用,必須使用其現有的點數能量觀測器。保留可讀的有限帶正負號、小數與零值。缺少、失敗、受限或格式錯誤的資料維持為無法使用;所選的連擊點查詢失敗時絕不會改用 UnitPower。這不會觀測其他角色,也不會新增快取。 |
Platform. 公用 | 觀測用戶端以片段回報的點數資源(潘達利亞之謎的燃火餘燼)。目前值確切使用 UnitPower(unit,powerType,true),最大值確切使用 UnitPowerMax(unit,powerType,true);結果會除以暴雪的 MAX_POWER_PER_EMBER(10),因此 35 個片段為 3.5。僅限探測政策。缺少、失敗、受限或格式錯誤的資料維持為無法使用;絕不會退回完整單位的查詢。不新增快取。 |
Platform. 公用 | 為點數資源條件觀測確切的所選單位是否存在,並可選擇性地觀測其職業檔名。已知不存在時傳回 exists=false,不讀取職業。存在的單位只在請求時需要 UnitClass 的第二個傳回值;未使用的在地化名稱與 ID 不影響可用性。所需觀測缺少、失敗、受限或格式錯誤時維持為無法使用。這不會選擇資源或快取身分。 |
Platform. 公用 | 使用確切的雙參數 UnitPower 或 UnitPowerMax 查詢,讀取一個明確選擇的點數資源數量。選擇器為必要;不會推斷主要資源或重新對應角色。保留有限的帶正負號、小數與零數量,不進行截斷。缺少、失敗、受限或非有限的資料維持為無法使用。目前值與最大值是分開的觀測,因此呼叫端可以共用目前值快照,同時依需要延遲請求最大值。 |
Platform. 公用 | 使用受支援的 CVar API 讀取目前正的名條可見距離。這會限制「距離內計數」查詢;它不能證明所有附近的單位都已被觀測到。缺少、格式錯誤、受限或失敗的觀測會傳回 nil 及原因。 |
Platform. 公用 | 讀取某個單位的公開 LibRangeCheck 距離區間。成功的上限是包含的;正的失敗下限是嚴格的。零下限是合成的。兩個邊界都不是精確距離,缺少上限也不能證明該單位在所有半徑之外。無法使用、格式錯誤、受限或失敗的觀測會傳回 nil 及原因。 |
Platform. 公用 | 在探測或受限政策用戶端上觀測所選單位的職責,不發出觀察請求。已知單位不存在時傳回 false。優先使用可呼叫的現代觀察 API,僅當它不可呼叫時才改用舊版;所選 API 失敗時絕不會改用其他 API。要求專精 ID 為正的有限整數,並且只使用確切的單參數 GetSpecializationInfoByID 呼叫的第五個傳回值(職責)。所需資訊缺少、失敗、受限或格式錯誤時為無法使用;可讀的非空未來職責字串保持原樣。 |
Platform. 公用 | 在探測或受限政策用戶端上,觀測確切的舊版 GetTalentGroupRole(group) 點號呼叫的第一個職責結果。將可讀的所選天賦組原樣轉送,包括將 nil 作為一個參數;不推斷天賦組範圍、不替換為其他 API,也不查詢玩家單位。完整的舊版主要宣告並未成立。職責資料缺少、失敗、受限、為空或格式錯誤時為無法使用;可讀的非空未來字串保持原樣。 |
Platform. 相依項目 | Reads object[key] in protected mode, used to look up optional APIs. |
Platform. 相依項目 | Validates a role returned by a native API. |
Platform. 公用 | 在已識別的用戶端系列上讀取公開的名單身分。輸入路由僅限 player、party1 到 party4,以及 raid1 到 raid40。先以該確切的單參數代碼呼叫 UnitExists;已知為 false 時直接傳回 false,不查詢職業。對於存在的單位,只使用 UnitClass 的第二個傳回值作為可讀的非空職業檔名字串,不限制職業列舉。所需資訊缺少、失敗、格式錯誤或受限時傳回 nil 及原因。 |
Platform. 相依項目 | Returns true when unit is exactly player, party1 through party4, or raid1 through raid40 (no leading zeros), and false for any other string. |
Platform. 公用 | 為循環擁有權讀取一次全新的受保護 UnitClass 玩家觀測。只使用第二個傳回值中可讀的非空職業檔名。不會新增存在性、等級、載具、用戶端系列或戰鬥政策的讀取,結果也不會跨呼叫保留。核心擁有權仍會分別驗證職業代碼與角色鍵;被覆蓋的情境提供者保留其完整的原有路徑。 |
Platform. 相依項目 | Returns true when value is a number that is neither NaN nor infinite, and false for anything else. |
Platform. 公用 | 為一個確切的原生欄位讀取一次受保護的 GetRuneCooldown 元組。分別標準化 ready、start 與 duration:ready 需要可讀的布林值,而每個時間值需要可讀的有限數字,並保留帶正負號、小數與零值。每個無法使用的欄位都附帶其自己的原因。成功傳回空元組時會產生部分記錄;缺少功能、政策或原生呼叫失敗時傳回 nil。絕不從計時推斷 ready,也不從 ready 推斷計時。請在呼叫端快取這份完整記錄,以便在符文計數與冷卻判斷之間共用一次觀測。 |
Platform. 公用 | 為符文冷卻運算讀取一次全新的受保護無參數 GetTime。要求結果可讀且為有限數字。此觀測刻意不快取;呼叫端保留原有的「先讀時鐘再掃描」順序,並且只在有相符的符文需要計時時才要求其值。不會以評估開始時間替代或推斷時間。 |
Platform. 公用 | 使用只帶單一索引參數的 GetRuneType 觀測一個確切的原生符文欄位。要求類型可讀且為正的有限整數;已知的未來數字類型與所選類型保持區分,死亡符文是一個確切的類型而不是萬用字元。缺少、失敗、受限或格式錯誤的觀測維持為無法使用。不會新增職業、單位、數量或推斷基礎符文的查詢。 |
Platform. 相依項目 | Normalizes one numeric field of a native result. |
Platform. 相依項目 | Validates a rune slot index. |
Platform. 相依項目 | Extracts the never-secret isEnabled, isActive and isOnGCD flags from a C_Spell.GetSpellCooldown record whose times are secret. |
Platform. 相依項目 | Reads a spell cooldown as separate values for the readiness checks. |
Platform. 相依項目 | Copies the expected fields of a native result table into a new table, checking each type. |
Platform. 相依項目 | Returns true when value is a nonnegative number that is not NaN or infinity, and false for anything else. |
Platform. 相依項目 | Decides cooldown readiness from the never-secret flags when the cooldown times are hidden. |
Platform. 相依項目 | Reports whether the global cooldown is running at time now. |
Platform. 公用 | 讀取標準化的充能記錄:currentCharges、maxCharges、cooldownStartTime、cooldownDuration、chargeModRate 與 isActive。不受支援的法術或受限的用戶端資料會傳回 nil 及原因。 |
Platform. 公用 | 讀取各支援用戶端的法術冷卻並將其正規化。傳回的記錄包含 startTime、duration、isEnabled 與 modRate。時間戳記與持續時間已經以 GetTime() 秒數描述到期時間;不要再除以 modRate。當用戶端隱藏時間時(正式版與永久的戰鬥中),記錄為 nil,原因為 restricted-value,在可以讀取時其後會附上永不為機密的 isEnabled、isActive 與 isOnGCD 旗標。 |
Platform. 相依項目 | Validates a spell argument. |
Platform. 公用 | 讀取玩家某個法術(例如射擊或自動射擊)的自動重複狀態。這與目前或佇列中的施法不同。現代用戶端會收到確切的法術 ID;舊版查詢會先解析玩家的法術書欄位。受限的用戶端政策、無法讀取的結果以及無法使用的法術書欄位會傳回 nil 及原因。這只觀測狀態,從不開始或停止法術。 |
Platform. 公用 | 檢查某個法術現在能否被建議,允許剩餘冷卻時間隨目前共用冷卻一同結束的法術。在正式版與永久中,戰鬥中的冷卻時間是機密值,因此改為依據永不為機密的 isEnabled、isActive 與 isOnGCD 旗標判斷是否就緒。此函式只檢查冷卻是否就緒;不檢查是否已學會、距離或資源是否足夠。請傳入來自 evalStart 或 GetTime() 的評估時間。 |
Platform. 相依項目 | Returns a record holding only the expected fields, each checked by type. |
Platform. 公用 | 依序觀測所選單位是否存在、是否與玩家敵對,然後觀測玩家在該單位上的威脅值狀態。已知不存在、非敵人以及成功讀取到的 nil 威脅值狀態傳回 false,以保留「無威脅值」判斷。包括零在內的有限狀態數值保留其原有的比較含義。所需資訊缺少、失敗、為 nil、受限或格式錯誤時傳回 nil 及原因。不會新增可攻擊、死亡、戰鬥或載具的推斷。 |
Platform. 公用 | 使用確切的 UnitExists、UnitCanAttack 與 UnitIsDead 判斷,觀測玩家是否可以攻擊一個未死亡的所選單位。已知不存在或可讀的不可攻擊結果會傳回 false,不查詢死亡狀態。所需觀測缺少、失敗、受限或格式錯誤時傳回 nil 及原因。這不檢測鬼魂狀態、距離、敵對狀態或技能可用性,也不重新導向單位擁有權。 |
Platform. 公用 | 觀測一個目前的單位標記:combat 使用 UnitAffectingCombat,enemy 使用以 player 為第一個單位的 UnitIsEnemy,pvp 使用 UnitIsPVP。可讀且不存在的單位傳回 false,不查詢該標記。所需觀測缺少、失敗、受限或格式錯誤時傳回 nil 及原因。這會保留確切的所選單位,不推斷友好、可攻擊或其他單位狀態。 |
Platform. 相依項目 | Returns true when value is a number that is neither NaN nor infinite, and false for anything else. |
Platform. 公用 | 在受支援的用戶端上觀測可讀的目前生命力,並可選擇性地觀測最大生命力。可讀且不存在的單位傳回 exists=false。缺少、失敗、受限或格式錯誤的觀測會傳回 nil 及原因;它們不能證明單位不存在或得出生命力。 |
Platform. 公用 | 只用 UnitExists 檢查第一個單位代碼後,使用 UnitIsUnit 比較兩個確切的單位代碼。若第一個單位可讀且不存在,則不進行比較直接傳回 false。所需的觀測缺少、失敗、受限或格式錯誤時傳回 nil 及原因。不會額外進行第二次存在性查詢、GUID 查詢或推斷身分。 |
Platform. 相依項目 | Returns true when value is a number that is neither NaN nor infinite, and false for anything else. |
Platform. 公用 | 在已知的用戶端上觀測可讀的原始單位等級。可讀且不存在的單位傳回 exists=false;存在的單位要求 UnitLevel 為正的有限整數。未知的首領等級,以及缺少、失敗、受限或格式錯誤的觀測會傳回 nil 及原因。這不使用有效等級或縮放後的等級。 |
Platform. 公用 | 在檢查 UnitExists 後觀測一個所使用的原生單位中繼資料欄位:class 使用 UnitClass 的第二個傳回值,creature 使用在地化的 UnitCreatureType 名稱,classification 使用 UnitClassification。可讀且不存在的單位傳回 false,不查詢中繼資料。未使用的元組欄位不影響可用性;所需的值缺少、失敗、為 nil、受限或格式錯誤時傳回 nil 及原因。不會新增玩家職業、GUID、列舉或翻譯推斷。 |
Platform. 相依項目 | Returns true when value is a number that is neither NaN nor infinite, and false for anything else. |
Platform. 公用 | 在受支援且可讀的用戶端上觀測明確的法力或目前的原始能量資源。資源身分從即時的 PowerType 列舉中選擇;明確法力絕不會改用目前能量條。已知不存在時傳回 exists=false;缺少、失敗、受限或格式錯誤的觀測會傳回 nil 及原因。current 模式下的數量保留帶正負號的原生資源;明確法力為非負。僅在需要時請求最大值;百分比的使用者必須要求最大值為正。 |
Platform. 公用 | 在已識別的用戶端系列上觀測單位的存在性。將所選單位原樣傳給一次受保護的 UnitExists 呼叫。保留可讀的 true 與 false;所需觀測缺少、失敗、受限、為 nil 或格式錯誤時傳回 nil 及原因。不會新增身分、可見性、距離或戰鬥狀態的查詢。 |
Platform. 相依項目 | Returns true when value is a number that is neither NaN nor infinite, and false for anything else. |
Platform. 公用 | 只從原生的第二個傳回值觀測有效屬性。在探測或受限政策用戶端上,先查詢確切的 UnitExists(unit),然後對選擇器 1..5 查詢 UnitStat(unit,stat),或對選擇器 6 查詢 UnitArmor(unit)。已知不存在時傳回 exists=false;所需資訊缺少、失敗、受限或非有限時傳回 nil。保留有限的帶正負號、小數與零值;忽略所有未使用的元組欄位。1..6 的路由是 RM 的選擇器政策,而非原生值域的限制。 |
Platform. 公用 | 在探測或受限政策用戶端上,觀測確切的所選單位是否死亡或處於鬼魂狀態,或是否對玩家友好。所需觀測缺少、失敗、受限或格式錯誤時為無法使用。單位不存在時為無法使用,而不是否定比對,在 NOT 下同樣如此。不會保留跨輪詢的狀態。 |
Platform. 公用 | 使用一次受保護的無參數點號呼叫,觀測區域 PvP 分類的第一個結果。優先使用可呼叫的 C_PvP.GetZonePVPInfo,僅當現代 API 不可呼叫時才使用全域輔助函式。成功傳回 nil 或沒有傳回值時,會產生一個已知的空記錄;缺少、失敗、受限或格式錯誤的觀測維持為無法使用。可讀的空字串與未來字串保留其確切含義,未使用的傳回欄位不決定可用性。在現代 API 傳回結果或失敗後,絕不切換後端。 |
