2016-04-26 7 views
1

は、ステータスウィンドウ* /セット中の火私はmIRCクライアントに私のtreebarに使用するスクリプトです。他のエラーを引き起こすだけの不一致()か[]のチェックを含めて試しました。無効なパラメータがどこにあるかを知る助けがあれば歓迎されます。のmIRC treebarスクリプトは、ランダムに以下

;--[Startup event] 
on *:START: { startsektor } 
;--[Aliases]-- 
alias startsektor { switch } 

;--[switchbar] 
alias switch { 
    if ($dialog(switchbar)) { dialog -x switchbar } 
    dialog -m switchbar switchbar 
} 
dialog switchbar { 
    title "switchbar" 
    size -1 -1 135 445 
    option pixels 
} 
on *:dialog:switchbar:init:*: { 
    dcx Mark $dname DCX_Switch 
    xdialog -q $dname +r cross 
    xdialog -c $dname 1 treeview 0 0 135 839 showsel hasbuttons haslines 
    xdid -i $dname 1 +b $color(1) 
    xdid -i $dname 1 +l $color(0) 
    xdid -f $dname 1 +ab ansi 8 ariel 
    .timer 1 0 xdock -m $dialog($dname).hwnd +l 
    .timer 1 0 iSwitch 
} 
alias -l xSwitch { 
    if (%New. [ $+ [ $+($scon($1),$active) ] ] == On) { xdid -j switchbar 1 $xdid(switchbar,1,$+($chr(9),$2,$chr(9)),$1).find -1 7 } 
    else { xdid -v switchbar 1 $xdid(switchbar,1,$+($chr(9),$2,$chr(9)),$1).find $chr(9) $2 } 
} 
alias -l eSwitch { 
    if ($scon($1).server) { xdid -v switchbar 1 $xdid(switchbar,1,$+($chr(9),*,$chr(9)),W,$calc($1 + 1)).find $chr(9) $scon($1).server } 
    elseif (!$scon($1).server) { xdid -v switchbar 1 $xdid(switchbar,1,$+($chr(9),*,$chr(9)),W,$calc($1 + 1)).find $chr(9) (Not Connected) } 
} 
alias iSwitch { 
    xdid -r switchbar 1 
    xdid -w switchbar 1 +n 0 icons/10.ico 
    xdid -w switchbar 1 +n 0 icons/22.ico 
    xdid -w switchbar 1 +n 0 icons/adminprotection.ico 
    xdid -w switchbar 1 +n 0 icons/userlist2.ico 
    xdid -w switchbar 1 +n 0 icons/star.ico 
    xdid -w switchbar 1 +n 0 icons/10.ico 
    xdid -w switchbar 1 +n 0 icons/star.ico 
    var %scid = 1 
    while (%scid <= $scon(0)) { 
    scon %scid 
    if (!$server) { xdid -a switchbar 1 %scid $chr(9) +ceb 3 3 0 0 0 $color(0) $color(0) [Not Connected] $chr(9) This server is NOT connected. } 
    elseif ($server) { xdid -a switchbar 1 %scid $chr(9) +ceb 2 2 0 0 0 $color(0) $color(0) $server $chr(9) Server - $server $chr(124) Connected at - $time(ddd hh:nn:ss tt) 
     xdid -a switchbar 1 %scid 1 $chr(9) +ce 1 1 0 0 0 $color(0) $color(0) Channels ($+ $chan(0) $+) 
     var %c = 1 
     while (%c <= $chan(0)) { 
     xdid -a switchbar 1 %scid 1 -1 $chr(9) +ce $iif(%New. [ $+ [ $+($server,$chan(%c)) ] ],6 6,5 5) 0 0 0 $color(0) $color(0) $iif(%New. [ $+ [ $+($server,$chan(%c)) ] ] == On,$+($chr(40),$chan(%c),$chr(41)),$chan(%c)) $chr(9) $chan(%c) - $iif(%New. [ $+ [ $+($server,$chan(%c)) ] ] == On,New Message,No new messages) 
     inc %c 
     } 
     xdid -a switchbar 1 %scid 2 $chr(9) +ce 4 4 0 0 0 $color(0) $color(0) Query ($+ $query(0) $+) 
     var %q = 1 
     while (%q <= $query(0)) { 
     xdid -a switchbar 1 %scid 2 -1 $chr(9) +ce $iif(%New. [ $+ [ $+($server,$query(%q)) ] ],4 4,1 1) 0 0 0 $color(0) $color(0) $iif(%New. [ $+ [ $+($server,$query(%q)) ] ] == On,$+($chr(40),$query(%q),$chr(41)),$query(%q)) $chr(9) $query(%q) - $iif(%New. [ $+ [ $+($server,$query(%q)) ] ] == On,New Message,No new messages) 
     inc %q 
     } 
    } 
    inc %scid 
    } 
    xdid -a switchbar 1 %scid 3 $chr(9) +ceb 5 5 0 0 0 $color(0) $color(0) Windows ($+ $window(0) $+) 
    var %win = $window(0) 
    var %w = 1 
    while (%w <= %win) { 
    xdid -a switchbar 1 %scid 3 -1 $chr(9) +ce 5 5 0 0 0 $color(0) $color(0) $window(%w) 
    inc %w 
    } 
}  
on *:ACTIVE:*: { set %New. [ $+ [ $+($server,$active) ] ] Off | iSwitch } 
on *:TEXT:*:#: { 
    if ($active == $chan) { halt } 
    elseif (%New. [ $+ [ $+($server,$chan) ] ] !== On) { set %New. [ $+ [ $+($server,$chan) ] ] On | iSwitch } 
} 
on *:TEXT:*:?: { 
    if ($active == $nick) { halt } 
    elseif (%New. [ $+ [ $+($server,$nick) ] ] !== On) { set %New. [ $+ [ $+($server,$nick) ] ] On | iSwitch } 
} 
on *:ACTION:*:#: { 
    if ($active == $chan) { halt } 
    elseif (%New. [ $+ [ $+($server,$chan) ] ] !== On) { set %New. [ $+ [ $+($server,$chan) ] ] On | iSwitch } 
} 
on *:ACTION:*:?: { 
    if ($active == $nick) { halt } 
    elseif (%New. [ $+ [ $+($server,$nick) ] ] !== Yes) { set %New. [ $+ [ $+($server,$nick) ] ] On | iSwitch } 
} 
on *:CONNECT: { iSwitch } 
on *:DISCONNECT: { iSwitch } 
on *:RAWMODE: { 
    if ($active == $chan) { halt } 
    elseif (%New. [ $+ [ $+($server,$chan) ] ] !== On) { set %New [ $+ [ $+($server,$chan) ] ] On | -Switch } 
} 
on *:OPEN:?: { set %New. [ $+ [ $+($server,$nick) ] ] On | iSwitch } 
on *:OPEN:#: { set %New. [ $+ [ $+($server,$chan) ] ] On | iSwitch } 

alias DCX_switch { 
    if ($2 = mouse) { halt } 
    var %command = $2 
    tokenize 32 $4- 
    if (%command = sclick) { 
    set %target $remove($xdid(switchbar,1).seltext,$chr(40),$chr(41)) 
    if (@* iswm %target) { window -a $window($2) | halt } 
    If (~* iswm %target) { window -a %target } 
    scon $1 
    if ($2 == 1) && (!$3) { list } 
    elseif (#* iswm %target) { window -a %target } 
    elseif ($query($3)) { window -a $query($3) } 
    elseif (!$2) { window -a "Status Window" } 
    } 
} 

答えて

1

ACTIVEが解雇されているときにエラーが表示されます。

on *:ACTIVE:*: { set %New. [ $+ [ $+($server,$active) ] ] Off | iSwitch } 

フォーカスされたウィンドウがステータスウィンドウあるとき$activeがスペースで設定されているためです。

結果:%New.IRC.FoobarServer.comStatus Window Off

可能性修正プログラムは、アンダースコア_

set %New. [ $+ [ $+($server,$replace($active, $chr(32), _)) ] ] Off 
スペースを置き換えることができます
関連する問題