- UID
- 19393
- 阅读权限
- 80
- 注册时间
- 2008-4-12
- 最后登录
- 2013-5-4
- 在线时间
- 210 小时
- 性别
- 男
- 生日
- 1993 年 9 月 3 日
国王
- 耕战
- 1184
- 鹰币
- 144
- 天龙币
- 0
- 回帖
- 288
|
當時我和我另外兩個網友也看不懂的, 因此我們便開始自行研究起來,
最後寫下了以下文章, 原理應與上述帖子中相同, 然而當中的制作方法卻有點出入。
當然, 我個人認為我這個方法相比於利用 GameMaster 等 16進制修改工具較容易入手。
上述帖子中也是非常清晰地讓我們知道, 我們必先理解遊戲過程的編號(ID)系統, 但這裡所指的 ID 系統並不是指單位的內部 ID,
而是在指大家最近所謂的相同ID單位中的ID。
遊戲ID系統:
遊戲內, 有無限個 ID 給予地圖上的所有單位,
首個出現於地圖中的單位將獲發 ID 0,
次個出現於地圖中的單位將獲發 ID 1,
如此類推。
假如地圖上有兩個單位, 首個出現於地圖中的單位(即單位ID:0)被刪除,
然後再建立一個單位, 這個新建立的單位的 ID 不會是 0,
而是 2 (即是在地圖上第三個出現的單位)。
假設地圖上有兩個相同 ID 的單位, 那麼會怎麼樣呢 ?
假設地圖上有兩個相同 ID 的單位, 無論你選擇那個單位控制,
動作也只會執行在最遲建立的單位上。
註: 所謂的單位不一定是弓兵這類單位, 可能是箭, 可能是鷹, 可能是石礦。
改名:
根據這個遊戲 ID 系統, 我們便做到改變以事件建立的單位的名稱,
首先現在我們要將所有效果/狀況中的「設定單位」相像等同於「設定ID」,
一隻弓兵將會是在地圖上第 X 個出現, 假設 X 是 5,
那麼我們只要將 改變目標名稱 中的「設定ID」設定為 4,
那麼弓兵建立後, 便會被更改名稱。
註: 所謂的單位不一定是弓兵這類單位, 可能是箭, 可能是鷹, 可能是石礦。
至於要怎樣才可以設定一個合自己心水的ID 呢 ?
假設你要設定的ID是 10
建立一個新的地圖, 在地圖上建立 11 個單位,
第一個單位 ID 會是 0, 第三個會是 2, 第 11 個單位會是 10,
用 改變目標名稱 的「設定單位」設置在第 11 個單位,
即是說, 這個效果將只是改變 ID 為 10 的單位,
將這個效果在 AoKTS 複製, 再在正式的地圖的觸發事件上貼上,
效果依然是改變 ID 為 10 的單位, 而在你正式的地圖中,
ID10 的單位可能是未出現的, 那就做到改變以事件建立的單位的名稱。
然而 Trigger Script Editor (抄寫式觸發事件修改器) 可以略去以上麻煩的步驟,
可以直接將觸發事件從劇情匯出, 然後以文字編輯器簡單地將觸發事件中所設定的 ID 設定為心目中的 ID。
「設定單位」只出現在「改變目標名稱」的效果中嗎 ?
狀況的摧毀目標中有嗎?效果的改變目標生命值有嗎 ?
明白這點, 就做到例如 改變以事件建立的單位的生命值、當以事件建立的單位死亡時會怎樣……
以上為方法一, 限制很大的一個方法, 但是這卻是唯一能夠用於多人連線遊戲的方法。
以下為方法二, 這個已經並不是我們所謂的觸發事件效果, 而是對資料數據的修改,
方法二亦是我在之前寫下的文章, 目的是介紹一個主要修改 .dll 檔案的程式,
ResHack
在 #1 介紹中說到本軟件可以修改 "*.dll" 檔, 其實它的功能不單止局限於 "*.dll",
還有 "*.exe"、"*.ocx"、"*.cpl" 等, 可以修改部分圖片 (如 Icon), 但這些功能都不會討論,
我這次主要想討論的是修改世紀帝國的 "*.dll" 檔, 亦即是管理世紀帝國文字的檔案。
將 Resource Hacker 打開, 然後開啟於 \Age of Empires II\ 的 "language.dll 或 language_x1.dll"
進行修改。開啟檔案後, 界面應跟以下圖示差不多:
位於左手邊的就是這個 dll 檔所含有的東西, 隨機地將資料夾打開,
資料夾內應存有一個檔案, 點選它, 然後右手邊應有該檔案的內容,
現在你可以對它修改。
[請勿胡亂將文字以外的東西改掉, 否則可能引起錯誤 !!!]
何謂「文字以外的東西」 ??
紅圈之內的東西是其中一個例子
以那些數字為例, 因為這些數字基本上都以與我們 Data 資料夾中某部分檔案互相連結,
因此胡亂修改的話可能會導致錯誤出現。
當每次修改完一個檔案後, 都需要按一下「Compile Script」,
所有檔案都修改完後, 便整個檔案儲存一次 ( File > Save)。
本篇教學文章由 nomygf 所制作, 如需要轉貼請補上來源及作者。
文章完結, 但補充一句, 因為我們所修改的 Dll 檔不會存在戰役之內, 因此假如人家沒有你所修改的 Dll 檔,
人家是不會看到你所修改的東西。
[ 本帖最后由 nomygf 于 2010-3-21 20:09 编辑 ] |
评分
-
查看全部评分
|