ALIAS

Syntax: #AL [aliasname] [string] [classname]
Related: #VARIABLE

把指令string設到aliasname,string裡的變數在執行#alias指令時時會被展開,要延後展開的時間,使用二個變數字元。

如果#alias指令沒有參數,會列出所有的alias,
如果#alias只給一個參數,會顯示該aliasname的定義。

alias也可以用tab complettion展開,如果只輸入aliasname並按<Tab>鍵,aliasname會被設到這個alias的字串取代。

命令列接在aliasname後的文字會存在參數裡,這些參數%1到%99可以用在這個alias的定義裡。
特殊的參數%-1到%-99代表參數跟其之後的所有文字,%-1包含alias之後的所有文字,%-2包含第一個參數後的所有文字,等等。
這個範例alias foo bar裡,alias是aliasname,foo設到%1,bar設到%2,foo bar設到%-1,bar設到%-2。
aliasname後沒當參數用的文字,會添加到展開後的結果後面。

簡單alias

#AL fs {fill waterskin statue}

當輸入fs,送出字串fill waterskin statue到MUD

使用延遲展開

#AL fs {fill @container statue}

當輸入fs,@container的值被展開,然後結果送到MUD。
如果@container的值是jug,fill jug statue會送到MUD。

使用參數

#AL kk {kill %1;kick %1}

跟參數一起使用,如果輸入kk rabbit,指令kill rabbit跟kick rabbit會送到MUD

延遲展開

#AL make {#ALIAS %1 {cast %1 %%1}}

這是一個建立另一個alias的複雜alias。
在這個例子,make這個alias需要一個參數,是要施展的法術名字。
當使用make時,另一個名字為法術名字的alias會被建立。
因為每解析(parse)一次會移掉一個%,所以%%1會延遲一次。當你輸入

make heal

指令

#ALIAS heal {cast heal %1}

會被輸入,效用是建立叫做heal的法術alias

===============   紅貓碎碎念  ====================
實用程度:100% 好用到爆,每個人都應該要會用

recall附近有個噴泉,冒險前要去噴泉把酒皮袋裝滿,看到這指令好懷念啊

從很早的mud系統就都有內建alias指令,
你可以選擇用zmud的alias或mud內建的alias
不過我覺得,mud內建的alias是給之前沒有強大的mud連線軟體時的使用者用的
既然zmud的alias比mud內建的強大(例如,內建的alias不能達成if的效果吧),
那就選擇使用zmud的alias吧

alias很好用,但#alias指令很少用,用介面來寫alias會比較快

不過這篇講了不少alias的細節,所以還是歸在100%

如果alias的內容沒有牽扯到參數或變數而只是單純的mud指令
用#record建立alias會很好用
arrow
arrow
    全站熱搜

    suzin 發表在 痞客邦 留言(0) 人氣()