本帖最後由 ronnyF 於 12-3-2010 21:53 編輯
一直想寫一個關於觸發的貼子,終於打算寫一下。沒什麼特別的,也不是教程,大家其實也懂。只能是大家看了以後能更明白些,具體多明白,我也不好說我水準夠不夠
一、觸發、條件、效果的關係
觸發其實並不能和條件、效果放在一起說。
觸發是包括著條件和效果的整體,可以沒有條件,也可以沒有效果,但兩者中必要有其一,才能算一個完整有用的觸發。
我們可以將觸發理解為一個簡單的判斷句:“若p則q”,和數學書上寫得一模一樣。
那麼我舉一個例子:若士兵A走到某地,則給士兵A增加十點攻擊。
怎麼樣,是不是覺得所有的觸發用這樣一句都可以概括了呢?
其實觸發就是這樣的一句一句的話,其中可以有多個條件,也可以沒有條件(無條件執行,這和沒有效果的觸發我們不稱為一般正常的觸發),也可以有多個效果,也可以沒有效果(此類觸發其實理論上來說並不是沒有效果,還有一個“顯示觸發”這個東西)
所以個人認為:一般的觸發都是精准無誤的判斷語句。
二、條件與效果的關係
條件與效果的關係十分簡單。
在單個不迴圈觸發內,所有效果由條件制約,條件全部達成,效果就會啟動,並且觸發關閉,結束其使命。
如:看到有些人戰役裡會加一個效果去關閉自己所在的觸發。雖然嚴謹,但是多餘的。
迴圈觸發內,條件全部達成,效果全部啟動,然後重新開始檢測條件,若再次全部達成,再次啟動效果。也就是說,迴圈觸發,死後原地滿裝態復活
如:當寫一個人說話的觸發,過一段時間說一次,直接用計時器+選擇單位作為條件,並將觸發設為迴圈即可。並沒有條件達成,效果來回作用的現象。
三、效果與效果的關係
什麼?效果與效果也有關係?樓主在搞笑?
其實,是一個很簡單的關係,即,由上到下
所以以後大家寫效果時一定要注意,下面的效果別和上面的矛盾。因為即使是一窩裡的崽,也要排個先後。
比如:很明顯的是那個光圈的效果。如果一個單位是玩家的,那麼用效果將其所有權改為電腦,再在這個效果後用另一效果將它改回到玩家,就會出現光圈,而如果效果相反將達不成這個效果。
四、觸發與觸發的關係
首先它們有著和效果一樣的關係:先後性。這點,條件與條件之間就不那麼明顯。
觸發順序在之前的數位Ai應用中有著一個微妙的地位。不按順序走,亂成一鍋粥。這裡不再多說。
順便說一句,只要是後加入的效果和觸發,用改變順序是無法更改起本身位置的。只要這個觸發或效果建立了,那麼它的位置就不變了。
這一點大家可以在啟動/關閉觸發時認識到。
而另外一個關係就是所謂的“觸發團”。不知這個從前輩之文章中偷來的詞彙在這裡用得是否恰當。指的是幾個觸發合在一起,起到一個作用,缺一不可,所以起個名字叫作“團”,非常形象。個人認為:可以把觸發團當做一個觸發看代。因為不論失了哪個,整個都沒用了。這裡在後面講。
五、條件與條件的關係
我說過“若p,則q”,那麼問題馬上就來了。
“非p,則q”
“若m或n,則q”
又該怎麼做到?
先說後者,最簡單。其實就是同時開開兩個條件分別為m,n的觸發,效果為同一個,q。然後每個再多加一個效果,互相關掉對方。
如果效果太多,怎麼辦?
那麼就用幹桌大那多。喔,是乾坤大挪移。
將m,n兩個條件同樣都寫成兩個觸發,都加一個相同效果,比如在角落產生一個單位。然後第三個觸發的效果為q,條件為角落有一個單位,就可以了。
再說“非p,則q”。首先要說明,p得是帝國裡的條件哈!(廢話…)
這就是經典的三聯觸發。我們讓q很自由地通過計時器這個條件來達成,但是用條件為p的觸發去關掉效果為q的這個觸發。因為我們要的是:只要p達成,q就達不成。
而又因為被關掉的觸發自己是不會復活的,所以我們再加一個觸發去迴圈地打開它。
這就是逆向三聯檢測。
剛才因為有效果順序的提醒,不知道可不可以利用兩個效果之間的時間差達到關掉某觸發,再讓它復活。如果可以那麼三聯就減到兩聯了。(只是設想,有興趣可以幫我試一下)
這是我見過最典型的觸發團,其它比較常用的觸發團就沒怎麼見過了。鄙人見識短淺,如果有的話請幫我補充。
附:無效果觸發能幹嘛?
無效果觸發一般用來做任務提示。而且這種觸發的條件一般來說都是達不成的(你得讓任務在裡面一直顯示著。)
這點就不再多說了。
用於撿測逆向條件撿測的觸發
注:由於觸發是由上到下執行的,順序切莫弄亂(若亂了也可加計時器補救,此不詳寫)。
這篇文章總共使用了三個多小時完成呢。 多謝觀看 |