troytroytroy 发表于 2019-4-19 15:29:08

如何讓巡邏部隊停下(1.0c版)

前言:巡邏效果是一個從1.0c開始就有的觸發,但此觸發並不是很多作者愛用。它的優點是用巡邏觸發的部隊對敵人的遇敵反擊比指派有效,但缺點就是沒有辦法用改權以外的方法停下來。這裡筆者介紹一個方法,能在1.0c版本下讓巡邏部隊停下。至於它的理論純粹屬於筆者的假設。如果不想看的可以跳過下段,直接看實現方法。
理論敘述:在了解巡邏前,必須知道這個指令的規則。首先,巡邏和所有其他觸發指令不一樣,它是一種"部隊指令"。也就是說你對一群士兵開啟巡邏觸發時,這些士兵彼此之間必須有個移動規則,並不是各自為政。這和我們使用指派或是其他各種觸發不同(當指派一群士兵前往某處,他們就是不管彼此然後往那個位置來移動),仔細觀察會發現,巡邏觸發是唯一個一個部隊指令,其他觸發都屬於"單位指令"。但是當玩家只有一個單位在巡邏時,此指令就會回到單位指令的層級上。
第二點,巡邏的過程可以分成兩個步驟,第一個階段是"組隊步驟",這個步驟會把部隊的位置統整起來。第二階段是"移動步驟"。對於第一個步驟,我們有以下規則:規則1:組隊步驟中沒有任何指令可以蓋過巡邏觸發。
第三點,只要是部隊指令,它一定會比部隊裡的單位指令強。換句話說,我們有下面第二個規則:規則2. 組隊人數大於等於2時,任何個別的觸發指令(除了巡邏外)在單位上是無效的。
實現方法:有了這兩個規則,我們可以想到如何在1.0c情況下停下巡邏:先對每個巡邏部隊的部隊下達個別的巡邏指令,如此巡邏的指令層級就會變成"單位指令",然後等兩秒讓各個單位完成組隊步驟後,再下達"停止部隊"的觸發,此時由於巡邏指令是單位指令的層級,因此停止部隊就能蓋過它,讓單位停下。
以三個單位ABC組隊巡邏為例:
觸發1. 巡邏:A到終點X         巡邏:B到終點X         巡邏:C到終點X         開啟觸發2觸發2. 計時器:2秒         停止部隊:ABC
如此就可以停下巡邏了。





捕影侠 发表于 2019-4-19 17:58:52

大叔這是解答了1.0黨一直以來苦求答案的問題呀{:149:}

newtonerdai 发表于 2019-8-18 12:24:27

本帖最后由 newtonerdai 于 2019-8-18 12:37 编辑

好贴我就是挖坟也要顶。

我自己试了一下,发现【单独巡逻后 过2秒再停止】这个定时器很重要。

我的触发:
触发0. 集体巡逻

触发1. 已选择物件:要塞
            巡逻士兵A 到 目的地X
            巡逻士兵B 到 目的地X
            巡逻士兵C 到 目的地X
            激活触发2
触发2. [初始关闭]
            定时器:2秒
            停止士兵ABC


触发2的定时器,如果设置成0或1,都只能让士兵A B C颤抖一下,接着继续巡逻。

所以,如果要使用这个停止巡逻的效果,那触发2的定时器一定要≥2


换句话说,大叔所定义的【组队步骤】,并不是“把部隊的位置統整起來的过程”,而是“系统将[部队指令]降级为[单位指令]所需的运算时间”。

我觉得,比起【组队步骤】,叫它【降级时间】会更合适,毕竟这个步骤的时间,是固定的2个游戏秒,不是排好队所需的时间。

{:328:}

troytroytroy 发表于 2019-8-19 10:10:25

newtonerdai 发表于 2019-8-18 12:24
好贴我就是挖坟也要顶。

我自己试了一下,发现【单独巡逻后 过2秒再停止】这个定时器很重要。


其實用你計較這些名稱毫無意義,無論"組隊步驟"或是"降級時間"都只是我們的理論假說,沒真的去檢查exe的源代碼前誰也不知道。不過我可以肯定的說你講"降級時間"只是把自己的理論複雜化而已,畢竟巡邏在超過一個以上單位或一個單位時的指令,效果都是一樣的。
页: [1]
查看完整版本: 如何讓巡邏部隊停下(1.0c版)