<ruby id="9ue20"></ruby>

  1. 
    

      国产午夜福利免费入口,国产日韩综合av在线,精品久久人人妻人人做精品,蜜臀av一区二区三区精品,亚洲欧美中文日韩在线v日本,人妻av中文字幕无码专区 ,亚洲精品国产av一区二区,久久精品国产清自在天天线
      網易首頁 > 網易號 > 正文 申請入駐

      哀冬新版:虛空之花V1.52-源碼公布,深入魔獸世界插件框體系統設計

      0
      分享至



      來自哀冬大神4月新作,小編注:我知道大家看不懂,想要直接的拿來就按的一鍵傻瓜式,正在整理

      喜歡研究的可以看哀冬這次的源碼:https://cn.wago.io/0jyJ6PFcF

      不喜歡研究等喂飯的一兩天整理好發布引言插件系統是《魔獸世界》開放性的基石,游戲的設計師們在玩家創造力與游戲公平性之間,也構建了一道看似不可逾越的屏障。而虛空之花正扎根在這道屏障上的裂隙優雅綻放。本文將基于虛空之花的歷代內核原理介紹逐步向大家揭示魔獸世界插件系統中的高級框體設計技巧,也作為第五代內核源碼開放的序幕。第一章 移形換影-框體和安全框架隔離系統簡介

      魔獸世界的插件系統建立在嚴格的安全框架之上。而整個UI設計中的框體分為兩類:普通框體(Frame)和安全框體(SecureFrame)。普通框體可以自由修改大小、位置、紋理等屬性,但無法綁定任何戰斗動作;安全框體(如SecureActionButtonTemplate)則能綁定技能、物品、宏命令,卻受到“限制環境”(Restricted Environment)的嚴格約束——戰斗中,任何來自“非安全代碼”(通常指來自玩家的插件代碼)的修改企圖都會被系統拒絕。該安全框架系統自TBC開始上線一直持續至今,用以保護游戲的開放API不被濫用于破壞公平性的插件。

      第一代虛空之花的方案十分的簡單,因為當時安全框體雖然不允許修改綁定的技能但是居然可以在戰斗中調用SetPoint修改位置。我們只需在戰斗前,通過CreateFrame創建數十個綁定好技能的安全按鈕,并將其預先放置于屏幕可視區域之外。而戰斗中,當APL(輸出優先級循環邏輯的縮寫)計算出當前最佳釋放技能時,直接將對應的按鈕通過SetPoint函數瞬移到屏幕中的固定位置。玩家只需持續點擊該位置,就會自動點中當前最優技能按鈕。始于簡單粗暴終于簡單粗暴,在WLK懷舊服更新幻化的版本后,安全框體無法再在戰斗中被非安全代碼移動了。

      第二章 光暗交織-安全框體回調系統簡介

      安全框體并不是完全無法在戰斗中修改的,它只是不能被“非安全”代碼修改,那么什么是安全代碼呢?安全代碼包括了游戲UI自帶的代碼以及,重點來了——還包括玩家在戰斗之外通過開放API接口預先綁定在特定安全事件上的預設代碼片段!看似復雜,但是我們參考一下安全回調注冊API的解釋(https://warcraft.wiki.gg/wiki/API_SecureHandlerWrapScript)。這個接口允許為安全框體的事件(如OnClick、OnEnter)注冊一些代碼片段以字符串形式注入安全框架內執行。唯一的限制是這串代碼必須在戰斗前預設,且安全區內與安全區外的執行環境完全不同,只允許有限的函數被玩家調用,具體參考(https://warcraft.wiki.gg/wiki/RestrictedEnvironment)。

      同時,雖然在戰斗中無法通過“非安全”代碼修改安全框體屬性,但是我們可以修改普通框體的屬性來干擾玩家對安全框體的操作。比如將一個普通框體覆蓋在安全框體的上層,通過控制普通框體的尺寸大小來控制玩家是否能點擊到安全框體。結合函數列表查閱我們又注意到了SetPropagateMouseClicks,這個函數允許將框體設置成可以點擊穿透。那么一切就緒,第二代方案思路已經構成。將一大堆框體按照“普通-安全-普通-安全”這樣交叉疊放,其中普通框體是否穿透受APL控制,安全框體始終可以穿透。當一次玩家點擊可以穿透多少層普通框體就代表可以觸發幾次安全框體的OnClick事件,然后我們記錄這些事件的發生次數就可以在安全區內得到非安全區傳遞的信息。

      該方案發布一個月后,游戲中修改了戰斗中的點擊穿透機制,從此在戰斗中安全框體無法再被穿透了,為此不惜連帶影響了一批UI插件。但這次經歷讓我們深刻理解了安全框體的事件回調機制,并證明安全框架并非絕對安全——只要存在交互,就存在信息傳遞的可能性!

      第三章 量子糾纏-框體聯動關系簡介

      前兩代方案都依賴鼠標交互,戰斗中不斷點擊鼠標在走位頻繁的戰斗中非常不便。這讓我們思考是否存在非交互型的技術路線,而直接從安全框架設計的邏輯上找到突破口。我們仔細研究框體的每一個API(https://warcraft.wiki.gg/wiki/Widget_API)。

      注意到CreateFrame接口的第三個參數叫做parent,這是給一個框體創建時指定它的父親。這個設計的存在可以讓新創建的框體繼承父框體的屬性并讓他們建立依附關系。比如一個大界面下可以依附許多按鈕,當你關閉界面時界面內依附的按鈕也會一起消失,這種同進同退的聯動關系極大的方便了界面開發,不再需要細枝末節的控制每一個框體的細節動作。你可以在游戲中輸入/fstack來觀察游戲界面內的每一個框體和他們的依附關系。那么能否將非安全框體和安全框體聯動起來?SetParent接口進入了視野,這個接口允許我們在戰斗中動態的修改框體父子關系。但它也存在巨大的限制,即當安全框體設定普通框體作為父節點時,系統為了防止非安全代碼通過父節點影響安全子節點,會將整個父節點升格為安全框體。這種“安全提升”機制本意是為了防止玩家濫用,但實際上卻成了一根筋兩頭堵。

      第三代方案基于對此機制的利用,我們在戰斗前創建普通父框體,設置其各種屬性(比如以大小尺寸數值作為信息傳遞通道),然后讓其領養一個安全按鈕作為子節點。在父子綁定的瞬間,父框體被提升為安全框體,其當前所有屬性被連帶進入到安全環境中。戰斗中我們就可以直接讀取這個升格為安全框體的普通父框體屬性作為信息傳遞通道在安全區內直接使用!

      第三朵虛空之花在ICC開放前夜發布,由于其完全不依賴鼠標純鍵盤驅動的良好體驗,引發了社區劇烈震蕩,乃至于全網貓德外掛都頂著哀冬的名號蹭熱度。直到一個多月后,開放API的版本更新,戰斗中任何修改安全框體父子關系的操作都會失敗,但邏輯路線的突破口已經證明了所謂的“安全框架”表現并不理想。

      第四章 無中生有-污染系統簡介

      第四套方案的故事開始之前,我們要先提到一個重要的概念“污染”。前面提到的“安全”和“不安全”,是面向框體這類數據結構的屬性概念,它標記了一個框體能辦到什么不能辦到什么。而污染則是面向執行狀態的概念,標記著當前執行流程能辦到什么不能辦到什么。插件系統總是從游戲原生代碼開始執行,一直保持干凈狀態直到調用到玩家的第三方插件代碼就會變成污染狀態。污染狀態下寫入的數據也會被污染,而原本干凈狀態執行的代碼讀到這些被污染的數據又會被傳染成污染狀態,被污染的代碼和數據將無法在戰斗中正常工作。這套機制嚴格的保證了原生代碼不會被第三方代碼劫持從而實現一些不合規的操作。

      過去的多個版本我們一直期待著有一個“信使”能夠從非安全區出發把信息傳遞到安全區,或者反過來從安全區出發把非安全區信息帶回,但是安全框架隔離機制阻止了這個過程,讓“信使”總是無功而返。那么仔細想一想一個問題——沒有信息本身是不是一種信息?結合前面提到的“污染”再思考一下呢?4.x內核的方案原理就基于【這段文字好像覆蓋滿了觸手,所以我們決定暫不揭曉】,從而實現了信息的傳遞。

      第四朵虛空之花的根深深的扎在了整個安全框架之上,猶如上古之神的根須已與艾澤拉斯的中樞糾纏在一起難解難分,為什么當年阿曼蘇爾拔掉亞煞極之后不繼續拔掉克蘇恩、尤格薩隆、恩佐斯呢?

      第五章 時空轉換-原生UI之殤

      之前第二代方案是基于玩家鼠標與框體空間上的互動來實現的,即一次操作多重觸發。在版本更新后,一次用戶操作(比如點擊、移動)只能讓一個安全框體響應一次了。那有沒有辦法讓信息不經過用戶操作而觸發變化的呢?我們視野回到安全區內的函數列表(https://warcraft.wiki.gg/wiki/RestrictedEnvironment)的第一個函數SecureCmdOptionParse,它的作用是用來解析宏命條件的。宏的解析不需要玩家的實際操作,當你的鼠標指向敵人時候SecureCmdOptionParse("[@mouseover,harm]0;1")的結果就是0,反之就是1。所以我們以時間換空間,創造一個類型為“SecureUnitButtonTemplate”的敵對目標框體,再在它的之上覆蓋一層不可指向的普通框體,從而控制玩家鼠標是否能指向這個敵對目標框體來影響宏條件判定進行一連串1和0的信息的傳遞。方案成功了?

      不,還沒有成功,上述方案還欠缺重要的一個環節,安全區內沒有觸發源來驅動SecureCmdOptionParse的宏判定。如果讓人手工來狂按鼠標鍵盤進行觸發的話體驗太糟糕了(之前的B站up主@隱幻殺曾經嘗試到了這一步)。我們需要找到一個在安全區可以穩定的觸發源,那么一定有聰明人想到了SecureHandlerWrapScript不是可以注冊OnHide和OnShow事件嗎?我們讓框體在觸發OnShow回調的時候調用Hide函數,然后再在觸發OnHide回調的時候調用Show函數。豈不是可以讓一個安全框體一直閃爍,在閃爍的安全回調代碼中判定SecureCmdOptionParse。方案成功了?

      不,還沒有成功,因為聰明的游戲設計師也考慮到了這一點。SecureCmdOptionParse的判定依賴于界面的真實繪制,憑空在lua代碼里控制消失和顯示并不會真的讓框體馬上消失和顯示,會影響SecureCmdOptionParse的判定。所以第五朵虛空之花綻放的真正核心要素是要在安全區邏輯內找到一個穩定的異步觸發源。于是我們把目光轉向了原生UI代碼,從中尋找機會。

      我們發現原生UI接口中,為了解決安全框體自動隱藏接口,后臺設定了一個叫做SecureHoverDriverManager的系統框體對注冊自動隱藏框體的狀態管理,當沒有需要關注的狀態時他會隱藏,于是我們利用一個誘餌框體在安全區內調用RegisterAutoHide引誘其現身后,利用它無事自動隱藏的特性綁定了SecureHoverDriverManager的OnHide回調作為我們的異步觸發源。在經歷了一段時間的原生UI渲染管線時序摸索后,我們找到了穩定每3幀渲染tick觸發一次1/0bit位傳輸的窄信道。

      至此第五朵虛空之花湊齊了宏命令判定、框體遮蓋技巧、安全區異步觸發源這套OTK卡組,實現了跨越安全框架的信息傳遞!

      第六章 凋謝與新生-插件系統的設計哲學之變

      回顧這幾朵虛空之花的綻放之姿,我們看到的不僅僅是一連串代碼的進化,更是一群業余插件開發者們在游戲劃定的紅線邊緣試探的極致體現。結合近期正式服大量禁用戰斗類插件API的動作,這類WA的存在引發了一個深層次的社區爭論:虛空之花這到底算不算外掛?

      對于普通玩家而言,此類WA實現了近乎完美的自動化輸出,功能極其強大,在表現形式上與傳統的按鍵精靈或內存掛十分接近,因此很多人將其視為破壞平衡的“外掛”。但從技術合規性的角度來看,該系列WA從頭到尾沒有讀取任何非法的內存數據,沒有注入任何外部程序,其每一行代碼、每一個機制,都是利用魔獸世界原生提供的合法API和UI機制編寫的。基于這種現實,虛空之花不是掛!

      但插件真正的邊界究竟應該劃在哪里?這或許是游戲自身需要去解答的問題。我們很高興看到在正式服中,插件系統的設計哲學已經做出了改變,游戲內推出的一鍵輸出解決了新手上手困難問題,12.0插件開發API大幅度刪減也幾乎終結了BOSS難度和插件軍備競賽的螺旋。而懷舊服作為一段凝固的時光,其插件框架被鎖定在過去。過時的設計和玩家的新需求錯配之下,我們看到的是游戲生態的持續惡化,如果繼續置之不理放任崩壞,那虛空之花也將永不凋謝~

      點下方留言 分享你的觀點

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      日本航空拿下宇樹科技,轟動全球!

      日本航空拿下宇樹科技,轟動全球!

      新零售參考Pro
      2026-05-07 17:31:09
      文班39+15+5帽創7紀錄:神跡歷史首人 被華子拉拽球衣也攔不住

      文班39+15+5帽創7紀錄:神跡歷史首人 被華子拉拽球衣也攔不住

      醉臥浮生
      2026-05-09 12:33:41
      同樣“糊弄消費者”的套路,在國外直接挨捶了

      同樣“糊弄消費者”的套路,在國外直接挨捶了

      走讀新生
      2026-05-09 11:21:16
      大快人心!中國民航新規出爐:日本航空過境中國好日子即將到頭!

      大快人心!中國民航新規出爐:日本航空過境中國好日子即將到頭!

      影像溫度
      2026-05-09 10:27:26
      凌晨咳到吐!全國多地中招“干咳毒株”,患者猜疑新冠病毒新變種

      凌晨咳到吐!全國多地中招“干咳毒株”,患者猜疑新冠病毒新變種

      譚談社會
      2026-05-08 23:19:21
      我國5600余個姓中只有8個姓從未衰落,看一下有你的姓嗎?

      我國5600余個姓中只有8個姓從未衰落,看一下有你的姓嗎?

      心中的麥田
      2026-05-06 19:24:47
      中方沒想到,盧拉赴美求和,給特朗普送上稀土資源,動機不簡單

      中方沒想到,盧拉赴美求和,給特朗普送上稀土資源,動機不簡單

      書紀文譚
      2026-05-09 14:19:43
      捷途汽車:把「方盒子」做成冠軍,把「旅行」做成生態

      捷途汽車:把「方盒子」做成冠軍,把「旅行」做成生態

      汽車預言家
      2026-05-09 11:32:23
      馬斯克:每年只休息兩三天,試過睡不到6小時結果腦子很痛效率很低

      馬斯克:每年只休息兩三天,試過睡不到6小時結果腦子很痛效率很低

      頂級大佬思維
      2026-05-09 14:23:20
      我穿便裝到妻子家過年,被廳長大舅哥使喚,警衛員送來文件他愣了

      我穿便裝到妻子家過年,被廳長大舅哥使喚,警衛員送來文件他愣了

      千秋文化
      2026-05-08 10:29:06
      鎖死海峽!阿聯酋突襲伊朗,埃及陣風戰機馳援:伊朗遭遇兇險包圍

      鎖死海峽!阿聯酋突襲伊朗,埃及陣風戰機馳援:伊朗遭遇兇險包圍

      知法而形
      2026-05-08 16:39:04
      以游客身份入境,未經許可拍攝!8名中國人在泰國拍短劇被捕

      以游客身份入境,未經許可拍攝!8名中國人在泰國拍短劇被捕

      大象新聞
      2026-05-09 13:54:19
      喜訊!徐昕收到馬刺試訓邀請函 想給文班亞馬尋找替補內線

      喜訊!徐昕收到馬刺試訓邀請函 想給文班亞馬尋找替補內線

      醉臥浮生
      2026-05-09 14:26:05
      文班亞馬:我和波波教練每天都會溝通 馬刺有能力一路沖到最頂峰

      文班亞馬:我和波波教練每天都會溝通 馬刺有能力一路沖到最頂峰

      羅說NBA
      2026-05-09 13:21:57
      皮皮蝦事件博主陳女士相關信息被扒,網友又開始網暴她了

      皮皮蝦事件博主陳女士相關信息被扒,網友又開始網暴她了

      映射生活的身影
      2026-05-09 10:45:43
      “4只皮皮蝦1035元”當事人否認想吃白食,刪除評論;隔壁海鮮店發聲

      “4只皮皮蝦1035元”當事人否認想吃白食,刪除評論;隔壁海鮮店發聲

      上觀新聞
      2026-05-09 09:58:08
      海參崴的街頭,誰在出賣我們的歷史尊嚴?

      海參崴的街頭,誰在出賣我們的歷史尊嚴?

      迷世書童H9527
      2026-05-07 14:55:09
      外資家電大撤退,但中國品牌還沒贏

      外資家電大撤退,但中國品牌還沒贏

      螺旋實驗室
      2026-05-08 18:30:22
      京東方又丟iPhone大單,蘋果為何甩不掉它?

      京東方又丟iPhone大單,蘋果為何甩不掉它?

      Ping值焦慮
      2026-05-06 21:39:22
      外賣小哥冒死沖進火場救火 被物業收取50元“滅火器使用費”

      外賣小哥冒死沖進火場救火 被物業收取50元“滅火器使用費”

      閃電新聞
      2026-05-09 09:31:06
      2026-05-09 16:19:00
      山西三炮 incentive-icons
      山西三炮
      各類游戲尤其是暴雪游戲評論
      8983文章數 11103關注度
      往期回顧 全部

      游戲要聞

      55歲父親玩了《識質存在》后,發文感嘆:想念我的女兒

      頭條要聞

      香港富豪孫女被綁架 綁匪拿到2800萬后逃跑8人花11萬

      頭條要聞

      香港富豪孫女被綁架 綁匪拿到2800萬后逃跑8人花11萬

      體育要聞

      成立128年后,這支升班馬首奪頂級聯賽冠軍

      娛樂要聞

      50歲趙薇臉頰凹陷滄桑得認不出!

      財經要聞

      Meta瘋狂擁抱人工智能:員工苦不堪言

      科技要聞

      美國政府強力下場 蘋果英特爾達成代工協議

      汽車要聞

      軸距加長/智駕拉滿 阿維塔07L定位大五座SUV

      態度原創

      數碼
      本地
      家居
      時尚
      公開課

      數碼要聞

      想玩新007?你的顯卡準備好了嗎

      本地新聞

      用蘇繡的方式,打開江西婺源

      家居要聞

      菁英人居 全能豪宅

      你敢變重6公斤嗎?

      公開課

      李玫瑾:為什么性格比能力更重要?

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 香港三级韩国三级日本三级| 国产成人精品日本亚洲网站| 99久热在线精品视频| AV资源吧首页| 国产偷窥熟女精品视频大全| 亚洲 日本 欧洲 欧美 视频| 艳妇乳肉豪妇荡乳AV无码福利| 九九精品免费看| 亚洲免费自拍偷拍视频| 国产精品一码在线播放| 青草精品视频在线观看| 亚洲中文字幕在线一区二区三区| 天天撸天天操| 国产精品成人午夜福利| 在线中出| 色综合人妻| 日本成人精品视频一区| 韩国18禁啪啪无遮挡免费 | 吉木乃县| 久久婷婷五月综合色欧美蜜芽| 日韩淫片毛片视频免费看| 日逼逼视频| 日韩中文人妻无码不卡| 日韩欧美网址| 国产在线观看码高清视频| 国产电影一区二区三区| 夜夜添狠狠添高潮出水| 国产自产拍精品视频免费看| 老司机午夜福利视频| 国产目拍亚洲精品二区| 久久精品免费一区二区| 麻豆精品三级国产国语| 高中生粉嫩无套第一次| 中文字幕乱码熟妇五十中出| 亚洲a∨国产av综合av下载| 亚洲狠狠婷婷综合久久蜜芽 | 亚洲欧洲一区二区| 亚洲第一成人会所| 亚洲日本va99在线| 国产精品青青在线观看爽香蕉| 日本一道一区二区视频|