巴哈姆特24週年線上站慶 x RO板徵稿活動截止倒數最後衝刺~~
LV. 2
GP 30

【其他】自製傭兵AI分享(1/16更新:可設定技能,並有設定工具)

樓主 ~跡~ ReMem
GP30 BP-
特色:
1. 改善傭兵跟隨的走路方式,盡可能不浪費步數,不打怪下可以跟玩家跟得很緊。
2. 解決傭兵遠距離移動可能會卡住的問題。
3. 彈性的搜尋目標方式(透過設定參數會造成不同的行為)
4. 彈性的技能設定(可以指定在某些條件下使用技能,也可設定多組)

使用方法:
1. 下載並解壓縮此傭兵AI檔
2. 將 AI_M.lua 等解壓縮後的檔案放到:RO資料夾\AI\USER_AI\
(若資料夾不存在則自行建立)
3. 使用設定工具(開啟:設定工具\MerSetting.html),完成設定後再按「輸出」按鈕,並複製輸出區的文字內容到 RO資料夾\AI\USER_AI\MerCfg.lua (可使用筆記本開啟lua檔案,編輯後存檔)
4. 進入遊戲,在對話欄輸入:/merai
5. 開啟傭兵。若傭兵已開啟,則需要重登或是過傳點才會運作自訂AI

操作說明:
1. 連續按2次 CTRL+T (0.5秒內),可以切換戰鬥模式(也就是剛剛設定的內容)與跟隨模式(只會跟隨玩家)。
2. 指定傭兵移動到某位置,他會堅守(呆站)在那邊。可按 CTRL+T 回復跟隨模式。
3. ALT+左鍵2次,可以指定傭兵攻擊目標。目標消失後回到跟隨模式。
4. 一般使用設定工具來設定即可,如果想手動去改數值,可以自行修改MerCfg.lua內的參數。其意義見後面附件表格。

尋怪設定說明(設定工具):
避免搶怪程度-高:只要有其他玩家攻擊的對象,或是怪物攻擊其他玩家,就不會攻擊該魔物
避免搶怪程度-中:跟上面差不多,只是如果魔物攻擊主人或是傭兵則會列入攻擊對象
避免搶怪程度-低:就是會搶怪的意思
隨時轉移目標:也就是如果出現優先度更高的對象,就先攻擊優先度高的魔物(這個設定建議使用"是")
(其他部分應該不用特別說明)

技能設定說明(設定工具):
越上面的優先度越高,只要上面的先發動,下面的則不會發生。
設定的條件都是同時滿足才會使用這個技能。

附件:參數的意義
FollowDis 跟隨距離
MoveDelay 重複發送移動指令時間間隔(1/1000秒)
RadiusAggr 主動模式下,會主動攻擊怪物的半徑
(以玩家為中心)
SearchSetting 大括號內的6個參數依序為當魔物:
攻擊玩家、攻擊傭兵、攻擊其他玩家、
被玩家攻擊、被傭兵攻擊、被其他玩家攻擊、範圍外分數、範圍內分數

時,所得到的加權分數,加權分數越高,越優先鎖定為目標。如果分數是負的則不列入鎖定目標
Skill[#Skill].xx .id=技能對應的id
.lv=技能等級
.target=技能使用對象(0:魔物 1:玩家 2:傭兵)
.when=技能使用時機(0:隨時 1:有怪物時 2:沒怪物時)
.delay與 .times = 在一段時間內(.delay)最多只重複使用一定次數(.times)
.sp=sp的限制條件
.nOwnerEnemy=主人被幾隻怪物圍攻時使用
.nMyEnemy=傭兵被幾隻怪物圍攻時使用
.nRangeEnemy=範圍內有幾隻怪物時使用
.chase=超出技能範圍時是否追擊怪物(0:不追擊 1:追擊)
※不搶怪參考設定:SearchSetting={100,75,-1000,50,50,-50,-1,1}
※搶怪參考設定:SearchSetting={100,75,0,50,50,0,-1,1}

注意事項:
1. 建議備份原來的檔案以便在需要的時候還原
2. 目前算是正式版1.0,如果有發現BUG或問題,可以在這個討論串回報。
3. 自動怒暴有問題,暫時請勿設定為自動技能。

開發中:
1. 好友系統:可以增加玩家為好友,此時可以在不搶怪模式下打好友的怪物(已完成,下版本釋出)
2. 生命體AI:延伸到給生命體用的AI,並加上判斷不打草等植物(已完成,下版本釋出,不打草只有生命體做得到,傭兵不行)。

版本紀錄
2017.01.18 00:39 版本1.0.1,修正追擊問題
2017.01.16 17:25 發布正式版1.0 (已經可以設定技能,並附有設定工具)
2017.01.10 02:50 主動模式改為依規則判斷要打哪隻怪物,可透過MerCfg.lua
設定
2017.01.09 12:16 可使用手動使用技能,自動抓攻擊距離
2017.01.09 02:?? 初版

30
-
LV. 16
GP 80
2 樓 紫塵 rondoph
GP0 BP-
我的傭兵不知道為何只要怪碰到其他人就完全不打包括隊友.來使用你的AI試試看.感謝分享
0
-
LV. 18
GP 14
4 樓 楓語 aa314209a
GP0 BP-
FollowDis=5
MoveDelay=500
RadiusAggr=9
SearchSetting={200,50,0,100,25,0,-1,1}

Skill={}

Skill[#Skill+1]={}
Skill[#Skill].id=8216
Skill[#Skill].lv=5
Skill[#Skill].target=0
Skill[#Skill].when=1
Skill[#Skill].times=10
Skill[#Skill].delay=0
Skill[#Skill].sp={0,100}
Skill[#Skill].nOwnerEnemy=01
Skill[#Skill].nMyEnemy=01
Skill[#Skill].nRangeEnemy=01
Skill[#Skill].chase=1
Skill[#Skill].stemp=0
Skill[#Skill].count=0

槍兵設定這樣可以用?
0
-
未登入的勇者,要加入 5 樓的討論嗎?
板務人員:

10348 筆精華,11/15 更新
一個月內新增 6
歡迎加入共同維護。


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

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