翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 7465|回复: 9

[教程] 修改单位名字

  [复制链接]

9

主题

4

精华

8163

积分

国王

耕战
1184
鹰币
144
天龙币
0
回帖
288

特级嘉禾勋章十字军勋章活跃者使者勋章

附庸关系0
发表于 2010-3-21 19:52:31 | 显示全部楼层 |阅读模式
當時我和我另外兩個網友也看不懂的, 因此我們便開始自行研究起來,
最後寫下了以下文章, 原理應與上述帖子中相同, 然而當中的制作方法卻有點出入。
當然, 我個人認為我這個方法相比於利用 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 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册翔鹰会员(昵称)

x

评分

参与人数 1耕战 +60 鹰币 +50 收起 理由
Ikarus + 60 + 50 泪流满面

查看全部评分

回复

使用道具 举报

96

主题

0

精华

1610

积分

侯爵

耕战
194
鹰币
169
天龙币
0
回帖
870

翔鹰建站十周年纪念章

附庸关系0
发表于 2010-3-22 07:05:13 | 显示全部楼层
反正都要用修改工具,没什么大的区别,能不能教个不用修改工具的
回复

使用道具 举报

229

主题

14

精华

11万

积分

圣徒

耕战
20973
鹰币
90388
天龙币
0
回帖
9213

特级翔鹰勋章一级嘉禾勋章一级帝国勋章雄鹰勋章第六届火箭筒杯最佳战役第七届火箭筒杯最佳战役

附庸关系0
发表于 2010-3-22 08:33:37 | 显示全部楼层
256地形不需要工具
ΙΚΑΡΟΣ ΣΕ ΟΡΑΙ
回复

使用道具 举报

24

主题

0

精华

1824

积分

侯爵

耕战
71
鹰币
1
天龙币
0
回帖
665

十字军勋章

附庸关系0
发表于 2010-3-22 13:05:04 | 显示全部楼层
其实帝国能重复利用ID就好了
就没这样的烦恼了
...
回复

使用道具 举报

9

主题

4

精华

8163

积分

国王

耕战
1184
鹰币
144
天龙币
0
回帖
288

特级嘉禾勋章十字军勋章活跃者使者勋章

附庸关系0
 楼主| 发表于 2010-3-22 21:01:18 | 显示全部楼层

回复 2# 的帖子

不用修改工具的話, 請問你用什麼修改劇情 ? {20}

另外, 不肯嘗試去認識新東西的人沒有資格使用特別的效果,
這話是我說的 {17}

评分

参与人数 1鹰币 +5 收起 理由
Ikarus + 5 我很赞同

查看全部评分

回复

使用道具 举报

63

主题

8

精华

5万

积分

教皇

耕战
9517
鹰币
8493
天龙币
1
回帖
2199

冒险家翔鹰建站十周年纪念章特级翔鹰勋章特级嘉禾勋章特级帝国勋章雄鹰勋章鹰之智者蛟龙勋章第一玩家翔一电影节冠军

附庸关系0
发表于 2010-3-23 14:00:36 | 显示全部楼层
比较白{40} 没看懂{35}
本文方法:(1)预设ID式改名,对未产生但可以预估产生顺序及ID号的单位进行改名
(2)直接用类似汉化的方式,从Dll文件里改译名
如此?是的话建议两部分分开吧。看完(1)再看(2)还以为有什么联系。。。。。。。

[ 本帖最后由 Ru43 于 2010-3-23 14:03 编辑 ]
回复

使用道具 举报

9

主题

4

精华

8163

积分

国王

耕战
1184
鹰币
144
天龙币
0
回帖
288

特级嘉禾勋章十字军勋章活跃者使者勋章

附庸关系0
 楼主| 发表于 2010-3-23 16:47:07 | 显示全部楼层
其實兩個方法之間有段話以作分隔 :
以上為方法一, 限制很大的一個方法, 但是這卻是唯一能夠用於多人連線遊戲的方法。
以下為方法二, 這個已經並不是我們所謂的觸發事件效果, 而是對資料數據的修改,
方法二亦是我在之前寫下的文章, 目的是介紹一個主要修改 .dll 檔案的程式,


另外, 這個本來是用來回應 https://www.hawkaoe.net/bbs/thread-27883-1-1.html
沒想到會被分割出來...
回复

使用道具 举报

39

主题

0

精华

649

积分

伯爵

耕战
92
鹰币
0
天龙币
0
回帖
131
附庸关系0
发表于 2010-10-2 19:12:45 | 显示全部楼层
- =.....繁体,看不下了,不好意思
回复

使用道具 举报

454

主题

65

精华

25万

积分

教皇

耕战
42935
鹰币
1441127
天龙币
10
回帖
5687

翔鹰建站十周年大纪念章特级帝国勋章特级翔鹰勋章特级嘉禾勋章一级皇家勋章鹰之智者蛟龙勋章十字军勋章大冒险家狂熊勋章

附庸关系2
发表于 2011-6-29 11:09:02 | 显示全部楼层
修改单位名字
https://www.hawkaoe.net/bbs/thread-27899-1-1.html
作者:nomygf
日期:2010-3-21

简介:此教程论述了触发事件改变单位名称功能与游戏单位编号系统的关系,并且介绍利用ResHack修改language.dll或language_x1.dll文件所含单位名称数据的方法与限制。

点评:此教程的主要价值在于提出改变单位名称(或生命值、攻击力)效果仅对最迟建立的同编号单位生效,但在针对修改名称主题牵涉颇有不足之处,像是没有提供language.dll及language_x1.dll文件相关文字资源编号、没有注明不能利用触发事件改变名称的单位类型及没有指出触发事件改变的单位名称无法在相关游戏讯息正确显示(以上内容可见本人〈修改能力之要〉一文,https://www.hawkaoe.net/bbs/thread-3227-1-1.html)──特别针对末项问题,此教程也未留意到触发事件的「改变单位名称」效果可以透过套用「字符串表」机能来克服游戏讯息不正确显示的问题。此外,单纯修改dll文件的文字信息毋须用到ResHack此种多种类资源修改工具,利用Pebble32一类Unicode文字编辑程序反而更为方便。
回复

使用道具 举报

156

主题

1

精华

4445

积分

公爵

耕战
441
鹰币
22
天龙币
0
回帖
2449

二级翔鹰勋章

附庸关系0
发表于 2012-8-27 13:48:16 | 显示全部楼层
效果里面没有设置单位……
回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国

GMT+8, 2024-12-26 02:39 , Processed in 0.159050 second(s), 122 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

Copyright © 2001-2023, Hawkaoe.net All Rights Reserved

快速回复 返回顶部 返回列表