指令: End
語法: #end
說明: 當下達這個命令後, tintin++ 將會結束而跳回 UNIX. (呵..差點打成跳
回 DOS..)
不過要注意的是, #end 這個命令並不會幫您把所有的角色(character) quit.
指令: Echo
語法: #echo
說明: 如果您把 echo 設為 on, 則 #action 在作所有動作前都會先告知.
for example:
假設您設了一個 #action 如下:
#action {^[%1hp %2m %3mv]} {#var hp %1;#var mp %2;#var mv %3}
則當 tintin 抓到 {^[%1hp %2m %3mv]} 這個 message 後, 將會顯示:
[ACTION: #var hp %1;#var mp %2;#var mv %3]
當 echo 為 on 時, 您可以再輸入一次 #echo 把它 off 掉.
那鍋同學, 你還沒教學費說.. 學費是啥!? 前面有 post.. ^Q^
求青天乎?? 求水戶黃門乎?? 真正的真理在個人心中. *-
好像和 mud 無關的句子..:p
指令: IF
語法: #if {條件判斷式} {條件成立所要執行的命令}
說明: #if 指令的用法和一般程式語言 'if' 的用法很類似, 在處裡條件式的判斷
時, 是以 c 語言的楚裡方法為其基礎.
當 tintin++ 碰到一個 #if 命令時, tintin++ 將會開始判斷條件判斷式,
假如結果是為真值 (True, 也就是成立), 則指定的命令將會被送出執行,
#if 的敘述句只有 tintin++ 碰到時才會開始處理並進行判斷, 所以, 您必
須將 #if 命令放在其他命令下. (for example: #action, #alias 命令).
有關判斷式所使用的運算符號, 請參考命令 #math.
不過要注意的是, #if 目前只能用來比較數目字, 還無法用來比對字串.
for examples:
#action {%0 give you %1 coins} {#if {%%1>5000} {thank %%0}}
這個行命令的意思是, 當發現到某人給你的錢大於 5000 coins 時, 您將會
自動的謝謝他/她.
而 %0, %1 是源自 #action 所送來的變數, 但由於此為巢狀命令列, 所以, 您
在使用時必須再加上一個 '%', 變為 %%0, %%1.
#action {^[hp:%0 } {#if {%%0
指令: INFO
語法: #info
說明: 將目前這個 session 所定義的 #action, #alias, #variables,
#substitues, #antisubstitutes, 以及 #highlights 的數目列
出來.
如果沒有開啟任何的 session, 則列出預設的總數.
for example:
#info
You have defined the following:
Actions : 94
Aliases : 245
Substitutes : 176
Antisubstitutes : 10
Variables : 39
Highlights : 176
Echo : 0 (1 - on, 0 - off) Speedwalking : 1 Redraw: 0
Toggle Subs: 0 Ignore Actions : 1 PreSub-ing: 1
指令: IGNORE
語法: #ignore
說明: #ignore 簡單的說就是 #action 的開關. 假如說 #ignore 設為開啟
(on), 那所有的 #action 就會動作, 如果設為關閉 (off), 則所有
的 #action 將不會動作.
#ignore 預設值為開啟, 輸入 #ignore 後為關閉, 再輸入一次又會
再度開啟.
for example:
假設有這樣一個 #action :
#action {^%0 kisses you.} {blush}
(預設值為開啟..)
Muyi kisses you.
Your cheeks are burning. ==> #action 的反應.
Cuteals giggles.
(現在把 #ignore 關閉)
#ignore
#ACTIONS ARE IGNORED FROM NOW ON.
Muyi kisses you.
==> #action 的反應被關閉了.
(再開啟)
#ignore
#ACTIONS ARE NO LONGER IGNORED.
Muyi kisses you.
Your cheeks are burning. ==> #action 的反應又出現了.
指令: KILLALL
語法: #killall
說明: #killall 將會刪除掉所有已讀入記憶體中的 #aliases, #actions, #subs,
#antisubs, #highlights 和 #variables.
常用在當你需要讀另一個 tintin++ 的檔案進來時, 你可以不用離開 tintin++
, 直接載入新的檔案.
指令: LOOP
語法: #loop {起始值,終止值} {命令}
說明: 如同一般程式語言的 for-next 迴路, #loop 命令會從啟始值一直加一
或減一到終止值為止. 而迴路計數器的值可以在命令中以 %0 去取用.
如果起始值大於終止值, 計數將會以加一的形式直到終止值;
如果起始值小於終止值, 計數將會以減一的形式直到終止值;
for examples:
#loop {1,3} {get all %0.corpse}
這一行命令可以展開成為:
get all 1.corpse;get all 2.corpse;get all 3.corpse
#loop {3,1} {drop %0.key}
這一行命令可以展開成為:
drop 3.key;drop 2.key;drop 1.key
再也沒有其它的科學, 能像電腦科學一樣, 擁有這麼多豐富動人的言詞了.
當您走入一塵不染的電腦室中, 仔細的將溫度控制在 25 度, 所要面對的,
居然是一堆病毒 (Virus 醫學類)、特洛伊木馬 (Trojan Horse 神話類)、
臭蟲 (bugs 生物類)、蠕蟲 (worm 生物類)、墜機 (crash 生活用語)、炸
彈 (bomb 武器類)、變性人 (sex changer)、致命的錯誤 (fatal error 像
電影片名吧)...其它還有許多特殊名詞, 都成為電腦人口中的慣用詞句.. ^.^
指令: LOG
語法: #log {檔案名稱}
說明: 把這個 session 所有輸入和輸出的訊習存入 {檔案名稱} 中.
for example:
#log Miyu.log ==> 開始記錄
:
: ==> 開始玩..^.^
:
#log Miyu.log ==> 結束記錄
指令: MESSAGE
語法: #message {型別}說明: 當 tintin++ 的內部命令作業時, 是否要將 tintin++
所作的事顯示出來.
可以看到的訊息選項有:
alias, action, substitute, antisubstitute, highligh, variable.
一般說來, 當你在對 action 和 variable 的設定除錯時, 開啟 #message
可以看到 動作結果和您所設計的是否一樣.
指令: MARK
語法: #mark
說明: 將上一個 path 清除, 並重新開始一個 path 存放您現在的位置.
指令: MAP
語法: #map {方向}
說明: 當您使用了 #map {方向} 後, {方向} 將會被加到目前的 path 尾端.
這個命令常在跟隨某人時使用.
for example:
#action {$leader leaves %0.} {#map {%%0}}
假如說, 變數 #leader 中所設的領隊往某個方向離去, 這個方向將被加到
path 的尾端.
譯注: 不過在原說明書中的範例, 在中文化的 Mud 上沒法子用了 (像 Dr 這
種能切換中英文的是例外).
理由如下:
這個範例是英文, 抓不到同樣的訊息不能用呀..
所以我們要改成中文...
#action {$leader 往%0離去} {#map {%%0}}
假設變數 leader = Laser, 訊息為: Laser 往東離去
這個 #action 就可以展開成為:
#action {Laser 往東離去} {#map {東}}
嗯啊....
指令: MATH
語法: #math {變數名稱} {運算式}
說明: 將 {運算式} 中的計算結果放入 {變數名稱} 中. #math 命令的運算式
和運算子的用法, 有點像 c 語言, 排列在下表的運算子, 越上面的運
算子, 具有越高的優先權.
運算子 函式
------------------------------------------------
! 邏輯反運算 (logical not)
* 數值乘法運算 (integer multiply)
/ 數值除法運算 (integer divide)
+ 數值加法運算 (integer addition)
- 數值減法運算 (integer subtraction)
2m> 大於 (傳回零或非零值)
>= 大於等於 (傳回零或非零值)
0m< 小於 (傳回零或非零值)
<= 小於等於 (傳回零或非零值)
= or == 等於 (傳回零或非零值)
!= 不等於 (傳回零或非零值)
& or && 邏輯及運算 (logical and) (傳回零或非零值)
| or || 邏輯或運算 (logical or) (傳回零或非零值)
比較的運算子 (如 >, >=, <, <=..etc), 當比較成立時會傳回真值 (True),
真值為任一不為零的數目字; 不成立則傳回假值 (Flase), 假值為零.
在運算式中, 你可以使用 T 和 F 表示真值或假值.
括號 () 在所有運算子中具有最高優先權, 所以, 在括號中的算式將最先被計算.
for examples:
#math {heals} {$mana/40}
假設說, 唸一次 heal 的法術要 mana 40 點, 這個算式就是用來計算您可以唸幾
次 heal 法術.
首先, 將變數 mana 除以 40, 然後放到 heals 這個變數中. heals 中的數值就
是您可以唸 heal 法術的次數.
以 basic 來寫就像這樣: heals = mana/40
#action {^你得到 %0 點經驗} {updatexp %0}
#alias updatexp {#math {xpneed} {$xpneed-%%0}
Hxpneed 是一個變數, 所代表的意思是升級尚需多少點經驗值.
當 #action 抓到 {^你得到 %0 點經驗} 的訊息時, 就會去把 %0 (得到的 exp)
傳給 alias "updatexp", updatexp 這個 alias 就會把 xpneed 減掉 %0 (傳入
的所得 exp), 這樣就可以計算升級尚須多少 exp 了. |