自動畫地圖的機器人                            楚狂人(Thu Jul  2)
----------------------------------------------------------------------

　　在zmud中提供了一個內建的地圖編輯器可以幫助我們繪制mud世界的地圖，避
免在神秘莫測的mud世界中迷途不歸。

　　為了使automapper可用，需要針對不同的mud對automapper進行一些簡單的配
置:

1.打開automapper，選擇菜單edit/preferences...﹔
2.在strings的look command中填入look﹔
3.在full parsing、brief parsing、look parsing三頁中的exit pattern中
  填入“的出口是”，exit types選 whole words，選中exit in prompt;
4.在brief parsing頁中將BRIEF Parsing order 框中的Room description刪除﹔
完成上述步驟，即可使用automapper了，如果需要名副其實的auto，這只是萬
里長征的第一步。

二、修改speedwalking中的方向代碼
　　單擊 zmud 頂行按鈕Paths，選擇Directions頁，將其中的代碼l改為m，別忘
了改動與其相對應的代碼h中的Reverse code:l。
　　之所以需要修改方向代碼，是因為在機器人運行時需要用的到這些代碼中，l
與 mud 命令 look 相同。
三、觸發
　　在triggers中增加class map，該類中包括以下triggers：
#TRIGGER {的出口是} {#wait 5000;0map} {map} 548
#TRIGGER {^什么} {#gag} {map} 548
#TRIGGER {閑聊} {#gag} {map} 548
#TRIGGER {謠言} {#gag} {map} 548
#TRIGGER {離開} {#gag} {map} 548
　　上述triggers中，第一條的延時請根據網絡速度自行調整，別名0map在下面會
說明。其余几條的功能都是刪除有可能對地圖數據產生干擾的信息，通常可以用
tune all off來避免大多數干擾，其他的干擾信息，例如：

太陽已經高高地挂在東方的天空中
xx走了過來...等等，請自行添加。

四、添加aliases

在zmud的中aliases中添加以下內容：

#ALIAS start {pass=1;#t+ map}
#ALIAS h {nw}
#ALIAS j {ne}
#ALIAS k {sw}
#ALIAS m {se}
#ALIAS 0map {mexit=%numwords(%roomexit(),|);
#if (%null(%roomnote(,))) {%roomnote(,##)} {%roomnote(,%roomnote(,)#)};
#math passn %len(%roomnote(,))/2;
#if (@passn>@mexit) {%roomnote(,);
#math passn @pass+1;
#math pass @pass+1};
#if (@passn>@mexit) {passn=1};
#if (@pass>3) {#t- map;pass=1};
#exec %word(%roomexit(),@passn,|)}

　　至此，自動的地圖繪制者正式完成，你只需打開地圖編輯器，按下edit鍵，
輸入start;look就可以了。

五、主意事項

1.按照%roomexit()函數的輸出順序，最好從地圖的西南角開始運行，如果從東
  南角開始，可使變量passn=mexit-passn+1﹔
2.對于較大區域（zone）的地圖，本程序通常不能一次性完成整個地圖的繪制工
  作，當程序停止時，你可以移動到地圖的邊緣，再次start﹔
3.當遇到有npc阻攔而無法進入的room時，程序會自動停止，此時需按下automapper
  的off鍵，然后重新開始，以免造成混亂﹔
4.zmud的automapper不能表示su,nd等方向的room，但用戶可以將通過su、nd等方
  向連接的區域（zone）用automapper提供的teleport功能連接起來，具體做法
  請參考zmud的幫助文件。



