轉貼來自原天外天舊公會網站:
WOW用兩種不同的文件來製作用戶介面:LUA與XLM。LUA文件中包括了真正的代碼,用戶介面的邏輯。XML文件用以定義用戶介面的元素,如,按鈕、視窗、文本串等等,並定義了要載入哪些LUA文件。
Bilzzard的文件保存在 Interface\FrameXML 下,用戶定義的 元件 放在:Interface\AddOns\AddOnName目錄下。
除非你確實搞得定,輕易不要去更改GlueXML文件,有可能會破壞WOW的UI系統。
1.Slash Commands/命令
2.Macros/巨集
3.Scripts/腳本
4.User Interface Mods and AddOns用戶介面 MOD與AddOn插件
5 Cosmos, Gypsy, CT_Mod 等常用的插件
6 獨立與綠色的插件
/命令
WOW像其他網遊一樣,用大家熟悉的“/命令”的格式,如選定目標後,在對話方塊中輸入“/follow”,就會跟隨目標,"/help"是求助。WOW中文版支援中文與英文兩種命令的格式。與我們定制開發有關的命令列表我會發在跟貼中。
命令有好幾種,有些用於做指定的動作,如/follow, /assist, /cast,有些用於交流,如/yell, /chatlist,有些用於顯示資訊,如:/who,有些用於表達表情(/laugh, /bow)。
有一個特殊的命令:"/script",用於執行腳本程式,我們在下文中細解。
Macros 巨集
巨集用於建立一些簡單的定制動作或任務,宏利用現成的遊戲中的動作。一個巨集是一系列 /命令 組成,按順序執行。要建立一個巨集,可以用命令:/macro來建立一個巨集,可以給巨集指定一個名稱,一個圖示。建立好的巨集也可以通過快捷按鈕欄調用。
巨集:
cast Fireball(Rank 1)
/yell "放火烤它!"
這個巨集放一個火球,然後大叫一聲:)
巨集有一些局限,它只能用於執行非常簡單的任務。最主要的一個局限是你不能用巨集來施展多個魔法。這些限制了你不能用巨集做很多自動化的事。就像其他一些命令不能超過256個字元,很不爽的!
腳本Scripts
我們知道,許多軟體中都支援腳M$ Office、Internet Exploler等。腳本通常是一些小程式,用一些非常簡單的語言來寫(腳本語言)。腳本用來做一些自動化的事,也有用腳本語言來控制其他程式。
魔獸世界內置了一個強大的編程語言:LUA語言。WOW可以執行用LUA寫的小程式。但WOW不是一個程式開發環境,不是我們簡單地輸入程式然後執行它。WOW在不同的地方調用腳本:
- /script 命令:用/script命令可以直接運行LUA語言,在/script後輸入LUA語句,每個語句之間用分號;分開。
- 巨集:腳本可以作巨集的一部分,在巨集中可以嵌入多個/script命令。
- 用戶介面定制與插件:WOW的用戶介面定制與插件都用了LUA腳本語言(還用XML)
腳本能做什呢?我會用專門的貼子給大家介紹LUA這個強大的腳本語言。LUA腳本強的一點是它能夠比“/命令”執行更多的遊戲動作。腳本語言可以WOW腳本語言提供的大量函數(API應用編程介面)。(API清單我在整理中)
讓我們看一看這個簡單的腳本:
if (IsPartyLeader()) then
CastSpellByName("Fireball(Rank 1)");
end
這個腳本在執行時,先判定你是否是隊長,是的話,則放一個火球術。這個腳本也可以用"/script"來執行:
/script if (IsPartyLeader()) then CastSpellByName("Fireball(Rank 1)"); end
你可以直接在對話欄中輸入這個命令,當然,你也可以將它寫在一個巨集中。
總結一下:腳本是WOW中用LUA語言寫的一段小程式,能夠與遊戲交互執行遊戲動作。你可將腳本用於遊戲的不同部分,如巨集中、“/script”命令中,以及用戶介面定制與插件中。
用戶介面修改Mod與插件AddOn
在開發WOW時,暴雪有一個重要的決定,就是,其用戶介面完全可以定制、修改與擴展。用戶介面修改UI Mod與插件AddOn實際上是同一個東東,它們的不同之處只在於名字,通常來說,Mod指的是一些對已有用戶介面的功能作一些修改的小東西,而AddOn是擴展的一些功能。了簡化,在以後我們統稱兩者“插件”,或者它的英文名AddOn。
AddOn是用LUR腳本語言編寫的,並用了XML技術。插件不僅僅能在螢幕中加一些有趣的按鈕與視窗,還可以做許多功能強大的事情,我們在以後將詳細給大家講解如何開發插件。
從用戶的角度來看,你只要知道插件是一些文本文集件,以".xml" 或".lua"副檔名結尾。
這些文件應該放在WOW的Interface或者它的子目錄下。通常情況下,AddOn以ZIP壓縮文件方式發佈,而你只需以解壓縮方式安裝到WOW的目錄下。(當你在你的機器上沒有看到Interface目錄,不用擔心,WOW這個目錄在缺省情況下是沒有的,你想使用插件時,你建一個就成了。
注意:當你下載一個插件,而它是EXE文件時,千萬要小心。因EXE是可執行文件,它可以在你的機器上幹任何的事,一個EXE文件中可能含了病毒與木馬。WOW的插件應該寫成XML或LUA文件,所有人都可以檢查這些文件,並且沒法加入惡意的程式,因AddOn僅能做一些WoW中的操作,它無法執行其他程式,破壞你的電腦。
說到這裏,實際上有不少插件的作者以可執行文件EXE的形式發佈插件。這些程式可能簡單地自動解壓縮文件到WOW安裝目錄。有些發佈版能自動下載最新版本的插件,或者上載一些插件收集到的資料。
卸載:要卸載插件非常簡單,只需將Interface目錄整個刪掉就成!
Cosmos, Gypsy, CT_Mod 等著名插件包
網上找一找WOW的插件,你會看到Cosmos、Gypsy、CT_Mod等等,這些都是一些著名的插件包,它們包了大量插件。這些插件的作者(工作組)是WOW社區中值得尊敬的玩家,他們的努力我們提供了許多非常有用的插件(雖然當中有一些插件不怎樣),並且整理與匯總這些插件打成包。
大家可以放心地使用這些包,這些插件是合法的,也是暴雪認可的。但是官方不會對這些插件有任何技術支援。你可以下載試一下,選擇你喜歡的插件。
注意:這些流行的插件有不少是互相衝突的,所以你可能不能將它們混在一起用。
獨立,綠色的插件,
你會在網上看到一些插件標榜自已是“獨立的”或者“綠色的”。通常情況下,插件會修改一些標準的核心用戶介面文件(官方發佈版的文件)以調整介面功能,當不同的插件做同樣的修改時就會導致衝突。一個綠色的插件不修改任何已有文件,它僅僅加入自已的文件。這就保證了這些插件能互相相容,共同使用。
此外,有許多插件依賴於其他插件的功能。舉例來說,Cosmos包中的大部分插件是不能單獨使用的,它必需與整個包一起用。一個“獨立的”插件意味著它是完整的,可以單獨使遙的,不需要其他插件的。
說到這兒,從插件開發者的角度看,你會發現許多插件做的事情很類似。通過修改已有插件的功能,或者利用現成的公共的“庫”可以很快地開發出新的插件。所以什有些插件庫都依賴於一些公共的元件,如SEA函數庫等。這些元件松成了一些核心插件,如果你下載的插件需要這些元件時,你可以去下載這些核心插件,並安裝到WOW的目錄下。
就象現在有許多遊戲都依賴於PC上的DirectX。通過利用DirectX的功能,可以比較方便地開發遊戲。因此,我們在運行遊戲時需要DirectX。同樣,在我們用一些插件時,也可能需要這些公共的核心插件。
可用於編寫巨集的命令集合:
/assist - Assist your target or the named unit if specified
/cast name - Cast the named spell, which may include the rank in parenthesis
/afk - Toggle yourself as "away from keyboard"
/dnd - Toggle yourself as "do not disturb"
/duel - Request a duel with your target, or the named unit if specified
/yield - Surrender to your opponent in a duel
/emote message - Emote the message (e.g. /emote picks his nose -> picks his nose)
/follow - Automatically move to follow your current target
/guild message - Send the message to your guild chat
/ignore name - Toggle ignoring the named unit
/inspect - Inspect your target
/invite - Invite your target or the named unit to your group
/join name - Join (or create) the named chat channel
/leave name - Leave the named chat channel
/logout - Sit down and logout
/ffa - Set "free for all" loot policy
/master name - Set the named unit to be the master looter
/roundrobin - Set "round robin" loot policy
/party message - Send the message to your party chat
/played - Show how much time your character has been online
/pvp - Enable PvP for the next 5 minutes
/raid message - Send the message to your raid chat
/random num - Roll a random number between 1 and num
/reply message - Send the message to the last player to whisper to you
/say message - Send the message to people around you
/target name - Target the named unit
/time - Show the current game time
/trade - Initiate a trade with your target
/uninvite name - Remove the named unit from your group
/whisper name message - Whisper the message to the named unit
/who - List the players around your level in the current zone
可用於編寫巨集的表情與動作命令全集
/agree
/amaze
/angry
/apologize
/applaud
/bark
/bashful
/beckon
/be ..
訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容