on *:text:@btag*:#: {
if ( ## isin $2 ] {
Set %Tag. [ $+ [ $nick ] ] $2 {
Describe # $nick Has saved their Battletag
}
else {
Describe # $nick $+ , Please enter your real Btag
}
}
这是我的代码。
我需要的是让代码查看文本,并且仅在包含符号 (#( 哈希标记时才将其另存为变量。
我发现这很难编码,因为主题标签 (#( 是编码语言的一部分......
Lmk 你们能为我做什么
mIRC远程代码中的"#"字符被评估为触发事件的通道。
当您想要显式表达哈希标签字符时,您应该使用 $chr(35(,35 是哈希标签 ascii 数字。
下面的代码将检查:
如果用户在任何频道中写了@btag some-text-contains-#-char
如果是这样,它将在标签用户变量中保存包含 #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 *:#: {
$chr()
函数是你需要的。它接受字符的 ASCII 值并生成相关字符。因此,例如,/echo -a $chr(35)
会回显井号(即哈希标签(。
您可能还想查看$asc()
它将为您提供键入的字符的 ASCII 代码。或者您可以在线搜索"ASCII 表"。
这两个函数都应该在mIRC帮助文件中得到充分的解释 - 或者至少在我上次使用它时是这样。