如果匹配预定义的单词,如何在mIRC中的不同网络上的不同通道之间自动复制粘贴?

时间:2013-08-16 23:10:23

标签: mirc

我是一个零编程技能的人,因此与编程相关的一切似乎都是最困难的事情。

如果匹配预定义的单词,我想使用mIRC在不同网络上的不同频道之间自动复制粘贴。例如:

我的预定义词是:hello

如果#channelA(在network1上)或#channelB(在network2上)或#channelC(在network3上)中有人说你好,它将在#channel4(在network4上)显示为:said "hello"没有频道名称或其他网络上的任何内容都没有重复(如果那里也有问候)将出现在网络4的频道上,即每个关键字只会出现第一个。

我尝试过搜索解决方案并找到了:

但这对我没有帮助。任何指导都将不胜感激。

2 个答案:

答案 0 :(得分:0)

通常我们从来没有建立过某个人的剧本,但是要求他告诉他到目前为止他做了什么,然后指出他失败或帮助他一点点。

但是因为你提到的剧本听起来不错,所以我自己动手实施。

如果您不熟悉mSL,我建议您只触摸以下标识符:
FromNetwork FromChannel ToNetwork ToChannel

<强>代码

;###
;### TextPublisher v1
;### Author: Orel Eraki
;### Email: orel.eraki@gmail.com
;###
;### Usage:
;### - Pretty simple, just edit the identifier settings.
;### - For enable/disable change "TextPublisherEnable" identifier to 1 or 0

;### Settings
alias -l TextPublisherEnable return 1
alias -l TextPublisherFormat return &timestamp < &+ &nick &+ > &1-
alias -l TextPublisherMatchText return *text*
alias -l TextPublisherFromNetwork return Network1
alias -l TextPublisherFromChannel return #Channel1
alias -l TextPublisherToNetwork return Network2
alias -l TextPublisherToChannel return #Channel2

;### Functions
alias -l FindNetworkCid {
  if ($1) {
    var %i = 1, %n = $scon(0), %temp
    while (%i <= %n) {
      if ($scon(%i).status == connected && $scon(%i).network == $1) {
        return $scon(%i).cid
      }
      inc %i
    }
  }
  return
}

;### Events
on *:text:$($TextPublisherMatchText):$($TextPublisherFromChannel): {
  if ($TextPublisherEnable && $network == $TextPublisherFromNetwork) {
    var %networkId = $FindNetworkCid($TextPublisherToNetwork)
    if (%networkId) {
      scid -t1 %networkId if ($TextPublisherToChannel ischan) { msg $TextPublisherToChannel $eval($replace($TextPublisherFormat, &, $chr(36)), 2) }
    }
  }
}

答案 1 :(得分:0)

这可能有所帮助,它取自我的Nick Mention,可以使用你想要的任何单词。它出现在你突出显示的房间里,还会打开一个新窗口并记录所说的内容/人和时间。如果它不是您正在寻找的,它可能会引导您朝着您正在寻找的方向前进。

;; Word mention ;;

on *:START: {
  window -De @WordMention
 echo @WordMention Your word mentioned and what was said goes here
}
on *:text:*:#:{
  if (# == $active) halt
  if  (%me isin $strip($1-)) || ($me isin $strip($1-)) {
     if (%mention. [ $+ [ $nick ] ] == $true) halt
     echo -a 2,4 # $nick said : $1-
     echo @WordMention  =======================================
     echo @WordMention  0,4 $+ $timestamp  $nick said your word at $asctime(h:nn:sstt) in # 
     echo @WordMention  $nick said: $1-
     echo @WordMention  =======================================
     set -u10 %mention. [ $+ [ $nick ] ] $true
   }
}

menu channel {
  .Word mention ( $+ %mynick $+ )
  ..Set My word $iif(%me == $null,(no word set),( $+ %me $+ )):/set %me $$?="Enter word eg =     word to watch for" | echo -a %me Set
   ..$iif(%myword == on,$style(2),$style(0)) On:/set %mynick on
  ..$iif(%myword == off,$style(2),$style(0)) Off:/set %mynick off
}