翔鹰帝国网|古代战争游戏论坛|帝国时代系列|全面战争系列|0AD
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 507|回复: 15

[教程] 死者復活---004觸發的應用

[复制链接]

87

主题

12

精华

6万

积分

教皇

特洛伊大叔

耕战
10327
鹰币
881
天龙币
126
帖子
1934

翔鹰建站十周年纪念章二级帝国勋章一级翔鹰勋章二级嘉禾勋章第十一届火箭筒杯最佳战役小评论家大评论家

附庸关系9
 楼主| 发表于 2019-6-14 15:51:13 | 显示全部楼层 |阅读模式
本帖最后由 troytroytroy 于 2019-6-17 23:32 编辑



1. 前言:

帝國的戰役製作經歷了20年,留下了不少被認為無法攻克的難題。例如問上所有的高分戰役製作者:英雄的光環效果有沒有辦法實現。所有人都會告訴你不可能。同樣的,能否讓死掉的單位再活過來,所有人也都會告訴你不可能。而這兩個問題本質上,其實是同一個問題:只要能復活死掉的單位,英雄光環就不會是夢想。而這個問題在帝國二發行近20年的今天,終於有了解決方法。


2. 困難點與理論背景:

2.1 技術困難點. 死者復活的困難點在於地圖ID的繼承。所謂地圖ID,就是一開始放在地圖上所有單位的編號。地圖ID有點像是單位的"真名",例如在觸發中寫入ID 001號的單位增加100血,那對應的就只會是001號單位增加100血。以今天的技術而言,利用觸發或MOD要在死去的單位原地建立一個單位是很容易的。但新建立的單位,他的地圖ID和死去的單位必定和原本的不同(就算改變屍體單位也是一樣的)。因此,如何在單位死亡後建立一個和原本單位有相同地圖ID的單位,就變成死者復活的主要困難之處

值得一提的是,死者復活這個技術目前只有在004觸發系統上做得到。當初1.4和etp推出後004發表的這個觸發擴充版本沒有多少人重視(可能只有在下有好好鑽研過),非常可惜。以在下來看,up1.5當今技術仍不能完全取代004的觸發擴充。


2.2 死亡狀態與真實死亡. 描述完此技術的困難點後,我們還需要知道幾個技術的理論背景。第一個是有關死亡。一個單位在血量為0時,會進入死亡狀態,在短暫的跑完死亡動作後,才會進入真實死亡。有趣的是,只要在進入真實死亡前,單位都是可以受到觸發和科技影響的,但只要一旦進入死亡狀態,單位就不可避免得一定會邁向真實死亡。而進入真實死亡後,所有觸發和科技對此單位都會無效,而且此單位的地圖ID就會永遠地從這場戰役中消失(無論你之後建立了什麼單位,都不會是這個ID)。

既然死亡狀態是不可逆的,有沒有辦法能永久暫停呢?答案是可以,以下圖為例,一個弓兵死亡瞬間,利用擁有較少單位就可以偵測出來。此時將這個弓兵瞬間進駐到一個建築(或單位)裡,這個單位就會以死亡狀態保存於此建築中,但永遠不會進入真實死亡。(下圖最右邊是在死亡狀態時,研發弩兵科技後讓單位變成死亡單位升級成弩兵(死亡的弩兵)的結果)。
2.png

2.3 同ID技術與真假單位. 第二個理論背景是關於同ID的。這裡說的是同正ID,不了解背景知識的可以閱讀在下之前撰寫的關於同ID的按鈕技術。004觸發中最有趣的幾個效果,一個是可以用指派的方式將A的ID變成和B的ID一樣,其中A也可以換成一個區域。指派後兩單位A、B的地圖ID會完全一樣,但B會是真單位而A會是假單位。真單位的意思是在遊戲中不管是觸發或是AI,甚至是電腦在判定單位的狀態時,都是以真單位的狀態為準。也就是因為如此,如果假單位進駐時進行卸載,真單位才會以"被放出"的形式移動到卸載的位置。至於假單位,無法被選取也無法控制。

但同ID技術有很多侷限之處,例如它對單位的改權十分敏感。因此如果不熟悉這技術的新人製作者,在製作過程鐵定會產生一堆BUG (ex. 《流镝》的技能存檔後失效就是個很好的例子)。這類BUG包含許多狀況,其中一個就是真假單位會調換身分。以004觸發為例,如果用指派的方式將A的ID變成和B的ID一樣,然後再把A改權幾秒後改回來,這樣A就會變成真單位,而B就會變成假單位。

2.4 作法. 有了上述兩個理論背景,我們就可以製作死者復活。順序如下:

1. 單位進入死亡動作那一剎那,將A單位先用觸發進駐起來,以確保A不進入真實死亡。
2. 建立一個新單位B,保持所有舊單位的能力值,並讓新單位與舊單位ID相同,此時A為真單位,B為假單位。
3. 此時新舊單位的ID相同,但進入死亡的單位為真單位,所以我們必須逆轉真假單位的順序。
4. 將新單位改權幾秒後改回來,此時新單位B就會變成可操作的真單位,其地圖ID和原本一樣。

注意到,在此之後絕對不可以將假單位A放出來。一旦A進入真實死亡,電腦就會檢查地圖上所有單位的地圖ID,並將新單位B的ID重新置換。

3. 應用與總結:

看完後大家可能會覺得,此技術如此困難,到底值不值得?答案是非常值得。打個比方,單人戰役就像是一堆演員在我們設計的舞台上表演。而隨著戰役的進行,新建立的單位們就像是一群不受觸發控制的臨時演員。但是如果我們能讓單位復活,那麼每次我們就可以讓這固定的一兩百人在場上表演,每個都可以受到觸發控制,想製作英雄光環效果也能用觸發與AI處理。這樣一來就可以大幅的增加戰役製作的效果。
傭兵外傳-安帝哥崛起 2019八月發表
傭兵-完整版已公佈下載請點此處
回复

使用道具 举报

21

主题

0

精华

5658

积分

国王

耕战
991
鹰币
13485
天龙币
0
帖子
308
附庸关系2
发表于 2019-6-14 16:22:46 | 显示全部楼层
本帖最后由 焚风之爱莉琰 于 2019-6-14 16:26 编辑

QwQ被点名批评了。
我最开始制作技能按钮的时候使用的是正同id,一个进驻在英雄内,一个进驻在运输船内。但是当我点击英雄内的单位时,却直接被放出来了。所以只好改用负同id。刚刚尝试了一下也是如此,这是怎么回事呢?
回复

使用道具 举报

87

主题

12

精华

6万

积分

教皇

特洛伊大叔

耕战
10327
鹰币
881
天龙币
126
帖子
1934

翔鹰建站十周年纪念章二级帝国勋章一级翔鹰勋章二级嘉禾勋章第十一届火箭筒杯最佳战役小评论家大评论家

附庸关系9
 楼主| 发表于 2019-6-14 18:07:44 | 显示全部楼层
焚风之爱莉琰 发表于 2019-6-14 16:22
QwQ被点名批评了。
我最开始制作技能按钮的时候使用的是正同id,一个进驻在英雄内,一个进驻在运输船内。但 ...

因為你放反了,放在英雄內的是真單位。
傭兵外傳-安帝哥崛起 2019八月發表
傭兵-完整版已公佈下載請點此處
回复

使用道具 举报

21

主题

0

精华

5658

积分

国王

耕战
991
鹰币
13485
天龙币
0
帖子
308
附庸关系2
发表于 2019-6-14 18:46:17 | 显示全部楼层
troytroytroy 发表于 2019-6-14 18:07
因為你放反了,放在英雄內的是真單位。

之前是这样的,我将豹勇士B的id改为1,驻扎在运输船中。豹勇士A的id仍为1,驻扎在百夫长中。但游戏开始之后,无论是点击百夫长还是运输船中的豹勇士,都会被放出。而且两个豹勇士都能选中、行动等等。
QQ图片20190614183736.jpg
QQ截图20190614183751.png
QQ截图20190614183801.png
QQ图片20190614184154.jpg


随后我将两名豹勇士交换了位置,但无论点击哪个仍然是这种情况。请问这是在什么地方做错了?
QQ截图20190614183848.png
QQ截图20190614184010.png

点评

你可能要上傳存檔我才能搞清楚狀況。  发表于 2019-6-14 22:55
沒有檔案我沒辦法判斷。  发表于 2019-6-14 22:46
回复

使用道具 举报

21

主题

0

精华

5658

积分

国王

耕战
991
鹰币
13485
天龙币
0
帖子
308
附庸关系2
发表于 2019-6-18 22:43:39 | 显示全部楼层
本帖最后由 焚风之爱莉琰 于 2019-6-18 22:45 编辑

就是这个,我在这个地图上,给玩家方只放了一个英雄、两个同正id的豹勇士和一个运输船。但无论点击哪个豹勇士,都会被放出来,而且放出来以后两个都可以自由行动。除非把同id改为负数。麻烦您帮我看看是哪里做错了,感谢。
测试01.scx (669 Bytes, 下载次数: 1)
回复

使用道具 举报

87

主题

12

精华

6万

积分

教皇

特洛伊大叔

耕战
10327
鹰币
881
天龙币
126
帖子
1934

翔鹰建站十周年纪念章二级帝国勋章一级翔鹰勋章二级嘉禾勋章第十一届火箭筒杯最佳战役小评论家大评论家

附庸关系9
 楼主| 发表于 2019-6-19 03:27:28 | 显示全部楼层
焚风之爱莉琰 发表于 2019-6-18 22:43
就是这个,我在这个地图上,给玩家方只放了一个英雄、两个同正id的豹勇士和一个运输船。但无论点击哪个豹勇 ...

看起來似乎用AOKTS改同正ID後開始戰役就會被改回來。感覺AOKTS的改法應該是有問題的,因為以前用ID修改器修改後舊版的AOKTS應該可以開啟,但現在卻不行。

我不確定以前那個ID修改器能不能達到相同效果,否則應該就只能用004的觸發系統或者負ID技術了。
傭兵外傳-安帝哥崛起 2019八月發表
傭兵-完整版已公佈下載請點此處
回复

使用道具 举报

66

主题

3

精华

5万

积分

圣徒

耕战
10564
鹰币
985
天龙币
0
帖子
3615

二级帝国勋章翔鹰建站十周年纪念章二级翔鹰勋章二级嘉禾勋章雄鹰勋章

附庸关系0
发表于 2019-7-6 03:01:51 | 显示全部楼层
用这个技术能实现同一单位的多次复活吗?
如果你看到我出现,请把我抓住,因为现在的我是很少出现的
回复

使用道具 举报

87

主题

12

精华

6万

积分

教皇

特洛伊大叔

耕战
10327
鹰币
881
天龙币
126
帖子
1934

翔鹰建站十周年纪念章二级帝国勋章一级翔鹰勋章二级嘉禾勋章第十一届火箭筒杯最佳战役小评论家大评论家

附庸关系9
 楼主| 发表于 2019-7-6 08:02:45 | 显示全部楼层
M.I.K.U. 发表于 2019-7-6 03:01
用这个技术能实现同一单位的多次复活吗?

當然是可以。而且觸發可以循環利用,只須寫一次。
傭兵外傳-安帝哥崛起 2019八月發表
傭兵-完整版已公佈下載請點此處
回复

使用道具 举报

1

主题

0

精华

4

积分

农夫

耕战
0
鹰币
9
天龙币
0
帖子
8
附庸关系0
发表于 2019-7-6 12:34:46 本帖来自手机 | 显示全部楼层
地图里的迷雾怎么去除啊

点评

不要再無關的帖子問問題。  发表于 2019-7-6 22:58

评分

参与人数 1鹰币 -1 收起 理由
troytroytroy -1 初犯,罰1鷹幣

查看全部评分

回复

使用道具 举报

1

主题

0

精华

14

积分

乡绅

耕战
0
鹰币
5
天龙币
0
帖子
3
附庸关系0
发表于 2019-7-8 19:30:17 | 显示全部楼层
本帖最后由 1147836879 于 2019-7-8 19:35 编辑

为什么我调了最慢,看着弓兵还没倒下,我用驻扎按到了瞭望塔,然后弓兵直挺挺的倒下了,驻扎不到,是不是有限制
回复

使用道具 举报

87

主题

12

精华

6万

积分

教皇

特洛伊大叔

耕战
10327
鹰币
881
天龙币
126
帖子
1934

翔鹰建站十周年纪念章二级帝国勋章一级翔鹰勋章二级嘉禾勋章第十一届火箭筒杯最佳战役小评论家大评论家

附庸关系9
 楼主| 发表于 2019-7-8 20:36:50 | 显示全部楼层
1147836879 发表于 2019-7-8 19:30
为什么我调了最慢,看着弓兵还没倒下,我用驻扎按到了瞭望塔,然后弓兵直挺挺的倒下了,驻扎不到,是不是有 ...

手動駐紮當然是來不及的,這帖子裡的駐紮都是用觸發來駐紮。
傭兵外傳-安帝哥崛起 2019八月發表
傭兵-完整版已公佈下載請點此處
回复

使用道具 举报

1

主题

0

精华

14

积分

乡绅

耕战
0
鹰币
5
天龙币
0
帖子
3
附庸关系0
发表于 2019-7-8 21:08:07 | 显示全部楼层
troytroytroy 发表于 2019-7-8 20:36
手動駐紮當然是來不及的,這帖子裡的駐紮都是用觸發來駐紮。

唉,来自编程白痴的叹息
回复

使用道具 举报

87

主题

12

精华

6万

积分

教皇

特洛伊大叔

耕战
10327
鹰币
881
天龙币
126
帖子
1934

翔鹰建站十周年纪念章二级帝国勋章一级翔鹰勋章二级嘉禾勋章第十一届火箭筒杯最佳战役小评论家大评论家

附庸关系9
 楼主| 发表于 2019-7-12 03:01:31 | 显示全部楼层
1147836879 发表于 2019-7-8 21:08
唉,来自编程白痴的叹息

你想學戰役製作可以加入天龍QQ群:498122293。我一般不太用論壇私聊,都用QQ。
傭兵外傳-安帝哥崛起 2019八月發表
傭兵-完整版已公佈下載請點此處
回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国 ( 京ICP备18029055号-1 )

GMT+8, 2019-7-20 10:09

Powered by Hawk Studio  QS Corp.® Licensed

© 2001-2019 Hawkaoe.net All Rights Reserved

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