2011年3月26日星期六

macro 巨集 之 聊天室跑馬燈文字

#####
# 聊天室跑馬燈文字
# 使用方法:
# 1. 鍵入 macro start 以開始
# 2. 鍵入 macro stop 以中止
# 注意事項:
# 1. 用了要有可能被抓的心理準備

macro start {
# 以下 $showString 為設定要顯示的聊天室跑馬燈文字
# 若整串文字小於 14 個全形字元的話,則前面最好加上 . 號及全形空白
# 若整串文字大於等於 14 個全形字元的話,則前面的 . 號及全形空白可加可不加
# 文字不可按 Enter 鍵斷行
$showString = .  要顯示的聊天室跑馬燈文字

# 先任意開啟一個聊天室
do chat create "..."
[
$showWidth = 14
$showHead = 0
$showTail = $showWidth
$showLength = @eval(length $::Macro::Data::varStack{showString})
$i = 1
while ( $i = 1 ) as loop
if ($showHead >= $showTail) goto abnormal
$displayString = @eval (substr $::Macro::Data::varStack{showString}, $::Macro::Data::varStack{showHead}, $::Macro::Data::varStack{showTail};)
goto end
:abnormal
$displayString = @eval (substr $::Macro::Data::varStack{showString}, $::Macro::Data::varStack{showHead}, $::Macro::Data::varStack{showLength} . substr $::Macro::Data::varStack{showString}, 0, $::Macro::Data::varStack{showTail};)
:end
do eval $::Macro::Data::varStack{showHead} = ($::Macro::Data::varStack{showHead} + 1) % $::Macro::Data::varStack{showLength}; $::Macro::Data::varStack{showTail} = ($::Macro::Data::varStack{showTail} + 1) % $::Macro::Data::varStack{showLength};
]
# 修改聊天室名稱的指令 (無限迴圈)
do chat modify "$displayString"
[
end loop
]
}

没有评论:

发表评论