作者IM (理性讨论。勿战)
看板mud
标题[问题] 请问有关mud触发抓中文变数的问题..
时间Sun Dec 1 01:14:24 2013
打的有点长...其实我只是想问
是不是不能抓取句子里出现的中文存到变数里...?
有时候会收到王国频道来的讯息
像是 【○○○王国】
路人甲乙丙丁(
id)﹕
XXXX
我想问的是...
如果想要把这样的句子中的
id及他讲的话
XXXX存起来该怎麽做?
我试了好久都无法成功...我共试了三种方法 直到第三种方法才有反应...但是...
(注:我的zMud是4.01版的)
●方法一●
#TRIGGER {【○○○王国】
(%1)~(
(%2)~)﹕
(%3)}
{ignore ○○○王国来讯 %1 %2 说 %3}
[注:该mud有个设讨厌鬼名单的指令ignore,可以当做存讯息(笔记)使用]
结果王国讯息来的时候这触发没有反应...
後来我想
是不是要设变数才会有效?
就改成了
●方法二●
#var
man 0
#var
name 0
#var
talk 0
#TRIGGER {【○○○王国】
(%1)~(
(%2)~)﹕
(%3)}
{#var
man %1;#var
name %2;#var
talk %3;
ignore ○○○王国来讯
@man @name 说
@talk}
结果还是没反应... orz
我不确定是不是因为下面两个问题
1.
路人甲乙丙丁是中文变数不能设成
(%1)...
2.
XXXX有时候是中文,有时候有空格(空格的问题改成
(%3 %4)可以解决?)...
後来我又试了另一个方法...
●方法三●
事先先设定好变数
#var
man 0;#var
name 0;#var
talk 0;#var count 1
接着打开触发页面
第一个触发输入:
触发句:【○○○王国】
(%1)
命令:#var
man %1
第二个触发输入:
触发句:~(
(%1)~)﹕
(%2)
命令:#var
name %1;#var
talk %2;ignore ○○○王国来讯
@man @name 说了
@talk
@count;#math count (@count+1)
(注:count变数单纯为计数用 以免有同样的人打同样的讯息 ignore会显示已储存过了)
第一个触发抓取中文名字存到man里
第二个触发抓取英文名字、和他讲的话分别存至name、talk里,然後送出ignore指令
测试结果如下...
> kingdom hmmmmQQQ
【○○○王国】
路人甲(
Xxyyzz)﹕
hmmmmQQQ
Alias: @man 0
ignore ○○○王国来讯
0 Xxyyzz 说了
hmmmmQQQ 1
> 你把 ○○○王国来讯 0 Xxyyzz 说了 hmmmmQQQ 1 列入讨厌鬼名单中。
> kingdom 测试中QQ
【○○○王国】
路人甲(
Xxyyzz)﹕
测试中QQ
Alias: @man 0
Alias: @talk hmmmmQQQ
ignore ○○○王国来讯
0 Xxyyzz 说了
hmmmmQQQ 2
> 你把 ○○○王国来讯 0 Xxyyzz 说了 hmmmmQQQ 2 列入讨厌鬼名单中。
嗯...是不是不能抓取句子里出现的中文存到变数里...?
(前後呼应XD)
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 112.104.134.68
※ 编辑: IM 来自: 112.104.134.68 (12/01 01:28)
1F:→ robrob99 :#TRIGGER {【○○○王国】(%x)~(%w~) 114.33.79.52 12/01 02:37
2F:→ robrob99 :#TRIGGER {王国】} {#cap kw} 就好 114.33.79.52 12/01 02:50
3F:推 nosod :先把zmud换成462 115.43.95.158 12/01 13:16