Snippets Project Page
Author: entropy
Added: 5y
Updated: 5y
mIRC: 7.52+
Hits: 1,013
Downloads: 12
Review: entropy
Size: 3.59KB
1 0
Login to vote.
Topics
v1.2
Use for same channels across all networks
Download
JSON
▲ Review
▼ Source
; Topics v1.2 - by entropy 2018 ; Use for same channels across all networks on *:start:{ if ($hget(topics)) { hfree topics } hmake topics 100 if ($exists($qt($scriptdirtopics.dat))) { hload topics $qt($scriptdirtopics.dat) } .timertopic -o 0 300 savetopic } alias -l savetopic { if ($hget(topics)) { hsave -o topics $qt($scriptdirtopics.dat) } } alias -l topics { dialog $iif($dialog(topics),-x,-m) topics topics } on *:exit:{ savetopic } menu channel { - Topics / Modes { topics } - } dialog -l topics { title "Topics / Modes" size -1 -1 288 142 option dbu notheme list 1, 4 26 280 91, sort extsel size autohs box "", 2, -3 119 338 4 text "Channel:", 3, 6 7 24 8 edit "", 4, 31 5 53 20, multi return hsbar text "Topic:", 5, 128 7 15 8 edit "", 6, 144 5 99 20, multi return hsbar button "Add", 7, 245 6 23 18 button "X", 8, 268 6 16 18 button "OK", 9, 247 127 37 12, ok text "Modes:", 10, 87 7 19 8 edit "", 11, 107 5 20 11 button "Sync", 12, 210 127 37 12 } on *:dialog:topics:sclick:12:{ topicall } on *:dialog:topics:sclick:8:{ if (!$did(1).seltext) { beep | return } var %b while ($did(1,1).sel) { hdel topics $gettok($did(1,1).seltext,1,32) did -d topics 1 1 } did -b topics 12 } on *:dialog:topics:sclick:7:{ var %a = $did(4).text $did(11).text $did(6).text if (!$did(4).text || !$did(11).text || !$did(6).text) { beep | return } if ($did(1,1).seltext) { beep | return } did -a topics 1 %a hadd -m topics %a did -r topics 4,11,6 } on *:dialog:topics:sclick:1:{ if ($did(1).seltext) { did -ra topics 4 $gettok($did(1).seltext,1,32) did -ra topics 11 $gettok($did(1).seltext,2,32) did -ra topics 6 $gettok($did(1).seltext,3-,32) did -e topics 12 } else { did -b topics 12 } } on *:dialog:topics:init:0:{ var %a = 1, %b, %c while ($hget(topics,%a).item) { %b = $v1 did -a topics 1 %b $hget(topics,%b) inc %a } did -b topics 12 } on me:*:join:#:{ if ($hget(topics,#)) { $+(.timer,#) -o 1 1 isop # } } alias -l domode { if ($me isop $1) { var %a = $gettok($hget(topics,$1),2-,32), %b = $gettok($hget(topics,$1),1,32) var %x = 1, %y, %total while ($mid(%b,%x,1)) { %y = $v1 if (%y isin -+) { inc %x | continue } else { %total = %total $+ %y } inc %x } if (%total) { mode $1 $+(+,%total) } } } alias -l isop { if ($me isop $1) { var %a = $gettok($hget(topics,$1),2-,32), %b = $gettok($hget(topics,$1),1,32) var %x = 1, %y, %total while ($mid(%b,%x,1)) { %y = $v1 if (%y isin -+) { inc %x | continue } else { %total = %total $+ %y } inc %x } if ($chan($1).topic != %a) { topic $1 %a } if (%total) { mode $1 $+(+,%total) } } } alias -l topicall { var %a = 1, %b, %x = 1, %found = 0 while ($scon(%a)) { scid $v1 while ($chan(%x)) { %b = $v1 if (%b == $gettok($did(topics,1).seltext,1,32) && $chan(%b).topic != $gettok($did(topics,1).seltext,3-,32)) { inc %found | topic %b $gettok($did(topics,1).seltext,3-,32) | domode %b } inc %x } inc %a } scid -r if (%found == 0) { did -b topics 12 | beep } }
Changelog:
0
0