LV. 21
GP 330

【情報】TL2_MOD製作_怪物的AI,人工智能的寫法

樓主 Wedece Wedece
GP8 BP-
參考一下AI(人工智能)的寫法,可以使你做出來的寵物MOD,召喚物MOD,更加有動態。

AI可以寫在怪物資料內(MEDIA\UNITS\MONSTERS\...),放在[UNIT]...[/UNIT]的段落。


可以做到像是大BOSS三段變身(要做四種怪物的資料[基本狀態,一段,二段,三段變身],怪物血量低於10%時,強制變身第二段...);血量低於20%時,狂用大範圍的大招攻擊,等等的變化。

AI的寫法,請參考 MEDIA\UNITS\MONSTERS 目錄下,所有有[AI]...[/AI]段落的怪物設定資料。
--------

TL2目前我知道的AI寫法,有兩種。

(1) 比對怪物(召喚物/寵物)的血量,在低於某個百分比時,可以觸發某個(某些)技能,使原本封印起來的技能,可以使用。(第一個例子,與第二個例子)

(2) 比較怪物(召喚物/寵物)四周的友方/敵方數量,在低於某個數量時,可以觸發某個(某些)召喚的技能。(第三個例子)



第一個例子:血量低於某個百分比時,允許使用某些技能。
----
[UNIT]
...
[SKILL]
<STRING>NAME:ARTIFICERCLAWGRAB :技能 三爪攻擊
<INTEGER>LEVEL:-1
<BOOL>ENABLED:false :封印技能
<INTEGER>CAST_ODDS:1 :低 優先次序(100為高優先次序)
<INTEGER>CHANCE:1 :低機率發動(1指的是1%機率)
<INTEGER>CANCEL_CHANCE:20
[/SKILL]
[SKILL]
<STRING>NAME:GROMMELEE2
<INTEGER>LEVEL:-1
<BOOL>ENABLED:false :封印技能
<INTEGER>CAST_ODDS:1 :低 優先次序
<INTEGER>CANCEL_CHANCE:20
[/SKILL]
...
[AI] :AI段落開始
[STAT] :一段AI的開始
<STRING>LOGIC:BELOW :判斷邏輯,低於...
<STRING>STAT:HP PCT :HP血量的百分比。
<FLOAT>VALUE:99.000000 :HP血量低於99%時
<STRING>SKILL:ARTIFICERCLAWGRAB :判斷邏輯成立時,允許使用該技能
<STRING>SKILL:GROMMELEE2 :判斷邏輯成立時,允許使用該技能
[/STAT]
...
[STAT] :另一段AI的開始
...
[/STAT]
[/AI]
...
[/UNIT]
----
先將技能ARTIFICERCLAWGRAB(三爪攻擊)與技能GROMMELEE2(橫向藍色劍光),封印起來不用。
然後,設定AI,怪物(召喚物/寵物)的血量,低於99%時(被打中,HP不是100%時),才允許使用技能ARTIFICERCLAWGRAB(三爪攻擊)與技能GROMMELEE2(橫向藍色劍光),使用次數不限制。



第二個例子:血量低於某個百分比時,強制使用某些技能,且只允許使用一次。
----
[SKILL]
<STRING>NAME:CONVERTZOMBIETOSKELETON
 :技能:從殭屍變身成骷髏怪
<BOOL>ENABLED:false :封印技能
<INTEGER>LEVEL:1
<INTEGER>LEVEL_REQUIRED:1
<INTEGER>CAST_ODDS:100 :高 優先次序
<INTEGER>CHANCE:100 :高機率發動(100指的是100%機率)
[/SKILL]
...
[AI]
[STAT]
<STRING>LOGIC:BELOW :判斷邏輯,低於...
<STRING>STAT:HP PCT :HP血量的百分比。
<FLOAT>VALUE:99.000000 :HP血量低於99%時
<BOOL>ONLYONCE:true
 :本段AI描述,只允許執行一次。(第二次判斷邏輯成立時,也不會執行)

<BOOL>INCLUDE_LIVING:false
 :不太確定這個意思,猜測是就算是怪物死亡時,也會執行這個段落

<STRING>FLAG:AWARE
<STRING>FLAG:CANNOT INTERRUPT :不可被中斷
<STRING>SKILL:CONVERTZOMBIETOSKELETON
 :允許使用技能:CONVERTZOMBIETOSKELETON,從殭屍變身成骷髏怪
 :並且,因為該技能是高優先次序,且高機率發動,所以判斷邏輯成立時,會立刻執行這個技能
[/STAT]
[/AI]
----
先將技能CONVERTZOMBIETOSKELETON(從殭屍變身成骷髏怪),封印起來不用。
然後,設定AI,怪物(召喚物/寵物)的血量,低於99%時(被打中,HP不是100%時),才允許使用技能CONVERTZOMBIETOSKELETON(從殭屍變身成骷髏怪),且強制執行這個技能,並限制只使用1次。

因為技能被封印起來,會發動是因為AI段落的判斷邏輯成立,而強制執行這個技能。
而AI段落限制,只允許執行一次。所以,這個技能不會發動第二次。



第三個例子:怪物的四周,邪惡陣營的友方,數量低於某個值的時候,允許使用某些技能(通常是召喚怪物的技能)
----
...
[SKILL]
<STRING>NAME:SKELCHAMP SUMMON MINIONS
 :技能:召喚骷髏小怪3隻
<BOOL>ENABLED:false :封印技能
<INTEGER>LEVEL:-1
[/SKILL]
...
[AI]
[STAT]
<STRING>LOGIC:BELOW :判斷邏輯,低於...
<STRING>STAT:ACTIVE UNITS :活動中的單位
<STRING>TARGET_ALIGNMENT:EVIL
 :該單位是邪惡陣營;另一個值是Good,善良陣營,常見於我方的召喚物
<FLOAT>VALUE:3.000000 :活動中的單位,數量低於3
<FLOAT>TARGETAREA:20.000000 :判斷的範圍,四周20呎
<STRING>SKILL:SKELCHAMP SUMMON MINIONS
 :判斷邏輯成立時,允許使用召喚技能SKELCHAMP SUMMON MINIONS
[/STAT]
[/AI]
...
----
先將技能SKELCHAMP SUMMON MINIONS(召喚骷髏小怪3隻),封印起來不用。
判斷怪物的四周,邪惡陣營的友方,數量低於3的時候,允許使用召喚技能(用來控制召喚的數量,使得怪物不會在召喚技能冷卻時間到時,就立刻使用,造成召喚出來的小怪很多)

PS: 我方使用時,判斷的值是Good,善良陣營,如:<STRING>TARGET_ALIGNMENT:Good
8
-
未登入的勇者,要加入討論嗎?
板務人員:歡迎申請板主

精華區有 91 筆文章
目前無人維護,申請組長


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】