on *:text:@btag*:#: {
if ( ## isin $2 ] {
Set %Tag. [ $+ [ $nick ] ] $2 {
Describe # $nick Has saved their Battletag
}
else {
Describe # $nick $+ , Please enter your real Btag
}
}
这是我的代码。
我需要的是代码查看文本,只有当它包含符号(#)哈希标记时才将其保存为变量。
我发现这很难编码,因为Hashtag(#)是编码语言的一部分......
Lmk你们可以为我做些什么
答案 0 :(得分:1)
'#'char被评估为事件触发的通道。
如果你想明确表达Hash标签字符,你应该使用$ chr(35),35是标签ascii数字。
以下代码将检查:
如果在任何频道中用户都写了@btag some-text-contains-#-char
如果是这样,它将在tag-user变量中保存包含#hash标签的单词。
然后会发给他has saved...
否则将发送给他Nick, Please enter..
<强>代码强>
on *:text:@btag*:#: {
if ($chr(35) isin $2) {
set %Tag. [ $+ [ $nick ] ] $2
Describe # $nick Has saved their Battletag
}
else {
Describe # $nick $+ , Please enter your real Btag
}
}
当用户写下以下行时,代码并不完美,也会起作用:
@btagBLA some-text-contains-#-char
@btagSOMETEXT some-text-contains-#-char
等等..要解决它,您应该将事件定义更改为
on *:text:@btag *:#: {
答案 1 :(得分:0)
$chr()
功能是您所需要的。它接受字符的ASCII值并生成有问题的字符。因此,例如,/echo -a $chr(35)
将回显井号(即哈希标记)。
您可能还想查看$asc()
,它会为您提供所输入字符的ASCII码。或者您可以在线搜索“ASCII表”。
这两个功能都应该在mIRC帮助文件中得到充分解释 - 或者至少是我上次使用它时的原因。