回文章列表
作者spupa.bbs@ptt.cc (牟) 看板: mud
標題Re: [問題] 關於zmud的觸發問題
時間批踢踢實業 (2007/12/19 Wed 18:51:15)
※ 引述《gleam44 (葛小霖)》之銘言:
: ※ 引述《kawari (無言了)》之銘言:
: : 請問一下唷 我想要放一個會在幾格room裡打mob的觸發bot
: : 可是不知道該怎麼判定如果裡面有玩家就自動前往下一格room..
: : 有辦法做到這樣的觸發嗎???
: 1.有一個抓id的觸發
  同意
: 2.抓到id後,過濾是不是mob,利用查詢某id是否在線上的
  或可直接設定變數為mob id 檢查抓到id是否相同

: 3.抓一句話用來判定此id是否在線上(通常在線上的話會顯示除了最後上線時間
:   以外的某些資訊)
: 4.此方法需用到大量的變數用來當暫存器。例如:記錄地點1、2、3、4
:   利用觸發紀錄,進入地點1時會看到某句,此時將地點變數紀錄為地點1。
  建議用類別整理要打的區域
: 以上回答有2點重點:
: 1.有辦法做到這樣的觸發
: 2.若你zmud很強,或有很強的朋友,可以請他幫忙研究一番

流程:
1 行走指定路徑
2 看這格內所有東西
3 檢查是否有非mob存在,檢查沒有-> 4,檢查有-> 1
4 開打,打完後補血回到 1

所需變數
mobID     : 設定指定mob ID
MobNums   : 指定區域mob數量
NonMobNums: 指定區域非mob數量
NextWay   : 指定路徑編號

所需別名
GoNext    : #t+ GoNextPosition;#show @NextWay;#add NextWay 1
IamHere   : #t- GoNextPosition;#t+ Arrive;cat

所需觸發
1 設定@NextWay為觸發句內容就是設好的路徑最後補上特定動作並且關掉行走類別
  GoNextPosition,用意在確定已經到指定位置
  Ex: recall;#3 n;#3 w;#wait 1000;#t- GoNextPosition;#t+ Arrive;cat
   or recall;#3 n;#3 w;#wait 1000;IamHere

2 假設cat的表情敘述為[你喵了一聲],將[你喵了一聲]設為處發句並設定類別為Arrive
  觸發內容為開啟檢查類別和檢查此格內容最後補上特定動作
  Ex: #t- Arrive;#t+ CheckMob;look;hehe;#va MobNums 0;#va NonMobNums 0

3 設一個抓取ID的觸發,內容為檢查ID是否為Mob或其他東西應並將類別設為CheckMob
  Ex:   Trigger {(}(%*){)}              // 抓() 的內容
        #IF (@mobID = %1) {#add MobNums 1} {#add NonMobNums 1}

        假設hehe的表情敘述定為觸發句並設定類別為CheckMob
        Ex:#t- CheckMob;#IF (@NonMobNums>0) {GoNext} {kill @mobID;放法術}

4 抓打完mob的訊息做觸發句,開啟行走類別往下個區域走
  Ex: GoNext

ps: 1 簡單的自動打怪大概就是這樣,關於改善功能請多參考Zmud說明的Example
    2 檢查mob寫法有很多有興趣可自行研究或一起討論



--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.147.83
※ 編輯: spupa           來自: 59.104.147.83        (12/19 18:51)
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻