To Use: Load into a new remotes file(Alt+R -> File -> New), click OK then right click in the channel, choose Sync/Spy, then the tab you want. If you want to Sync 2 channels together, use Tab 1. Tab 2 for if you just want to spy on a channel, and tab 3 for info about it.
Version 3:
Remade from scratch, to support both Sync & Spy functions. And before someone says something about it, I know the events are coded the long way, but I don't know how to use rawmodes. Still waiting for someone to pop in and explain a bit.
To Come In Version 4:
Until then, as always, happy Syncing(And now Spying!) :)
Menu Channel {
Sync/Spy:dialog -dm S/S S/S
}
dialog S/S {
title "[Z] Sync & Spy"
size -1 -1 146 130
option dbu
tab "Sync Only",1, 5 5 135 115
tab "Spy Only",2
tab "Info",3
button "Done",4,6 130 40 10, OK
button "Cancel",5,75 130 40 10, Cancel
text "Sync Channel 1",6",10 28 70 10,tab 1
edit "",7, 10 35 45 11,AutoHs,tab 1
text "Current Sync 1",8",10 52 70 10,tab 1
edit "",9, 10 60 45 11,AutoHs read,tab 1
button "Add",10, 10 75 20 10,tab 1
button "Remove",11, 10 88 30 10,tab 1
text "Sync Channel 2",12",98 28 40 10,tab 1
edit "",13, 90 35 45 11,AutoHs,tab 1
text "Current Sync 2",14",99 52 40 10,tab 1
edit "",15, 90 60 45 11,AutoHs read,tab 1
button "Add",16, 115 75 20 10,tab 1
button "Remove",17, 105 88 30 10,tab 1
text "Spying On",18",10 28 70 10,tab 2
edit "",19, 10 35 45 11,AutoHs,tab 2
text "Spying On",20",10 52 70 10,tab 2
edit "",21, 10 60 45 11,AutoHs read,tab 2
button "Add",22, 10 75 20 10,tab 2
button "Remove",23, 10 88 30 10,tab 2
text "Receiving Chan",24",97 28 40 10,tab 2
edit "",25, 90 35 45 11,AutoHs,tab 2
text "Receiving Chan",26",97 52 40 10,tab 2
edit "",27, 90 60 45 11,AutoHs read,tab 2
button "Add",28, 115 75 20 10,tab 2
button "Remove",29, 105 88 30 10,tab 2
text "[Z] Sync And Spy",30,40 35 90 10,tab 3
text "Written by [Z]",31,40 45 90 10,tab 3
text "Email: Zaiba91@Live.com",32,40 55 90 10,tab 3
text "Server: irc.Rizon.net",33,40 65 90 10,tab 3
text "Channel: #RealRolePlay",34,40 75 90 10,tab 3
text "Merry Syncing/Spying :)",35,40 85 97 10,tab 3
}
on 1:DIALOG:S/S:init:*: {
did -a S/S 7 %sync1
did -a S/S 13 %sync2
did -a S/S 9 %sync1
did -a S/S 15 %sync2
did -a S/S 19 %Spy1
did -a S/S 21 %Spy1
did -a S/S 25 %Rec1
did -a S/S 27 %Rec1
}
on 1:DIALOG:S/S:sclick:10: {
set %Sync1 $did(7)
did -a S/S 9 %Sync1
msg %Sync1 Setting Up a Connection...
}
on 1:DIALOG:S/S:sclick:11: {
if (!%Sync1) { Halt }
did -r S/S 7
did -r S/S 9
msg %Sync1 Terminating Connection...
unset %Sync1
}
on 1:DIALOG:S/S:sclick:16: {
set %Sync2 $did(13)
did -a S/S 15 %Sync2
msg %Sync2 Setting Up a Connection...
}
on 1:DIALOG:S/S:sclick:17: {
if (!%Sync2) { Halt }
did -r S/S 13
did -r S/S 15
msg %Sync2 Terminating Connection...
unset %Sync2
}
on 1:DIALOG:S/S:sclick:22: {
set %Spy1 $did(19)
did -a S/S 21 %Spy1
}
on 1:DIALOG:S/S:sclick:23: {
if (!%Spy1) { Halt }
did -r S/S 21
unset %Spy1
}
on 1:DIALOG:S/S:sclick:28: {
set %Rec1 $did(25)
did -a S/S 27 %Rec1
}
on 1:DIALOG:S/S:sclick:29: {
if (!%Rec1) { Halt }
did -r S/S 27
unset %Rec1
}
alias Sync {
if (!%Sync1) && (!%Sync2) { Halt }
msg %Sync1 Desynching Channels...
msg %Sync2 Desynching Channels...
.timer 1 3 unset %Sync1
.timer 1 3 unset %Sync2
.timer 1 4 echo -a Channel Sync Variables Cleared
}
;
on *:TEXT:*:%Sync2: {
msg %Sync1 14(3 $+ %Sync2 $+ 14) 3<4 $$+ $nick $$+ 3>1 $1-
}
on *:TEXT:*:%Sync1: {
msg %Sync2 14(3 $+ %Sync1 $+ 14) 3<4 $$+ $nick $$+ 3>1 $1-
}
;
on *:ACTION:*:%Sync1: {
msg %Sync2 14(3 $+ %Sync1 $+ 14) 6 * $nick $1-
}
on *:ACTION:*:%Sync2: {
msg %Sync1 14(3 $+ %Sync2 $+ 14) 6 * $nick $1-
}
;
on *:JOIN:%Sync1: {
msg %Sync2 3* $nick ( $+ $mask($address,3) $+ ) has joined %Sync1
}
on *:JOIN:%Sync2: {
msg %Sync1 3* $nick ( $+ $mask($address,3) $+ ) has joined %Sync2
}
;
on *:PART:%Sync1: {
msg %Sync2 3* $nick ( $+ $mask($address,3) $+ ) has left %Sync1
}
on *:PART:%Sync2: {
msg %Sync1 3* $nick ( $+ $mask($address,3) $+ ) has left %Sync2
}
;
on *:QUIT: {
if ( $nick ison %Sync1 ) { msg %Sync2 14(3 $+ %Sync1 $+ 14) 4* $nick has quit IRC 3( $+ $1- $+ ) }
}
on *:QUIT: {
if ( $nick ison %Sync2 ) { msg %Sync1 14(3 $+ %Sync2 $+ 14) 4* $nick has quit IRC 3( $+ $1- $+ ) }
}
;
on *:NICK: {
if ($comchan($newnick,1) == %Sync1) { msg %Sync2 3* $nick is known as $newnick }
}
on *:NICK: {
if ($comchan($newnick,1) == %Sync2) { msg %Sync1 3* $nick is known as $newnick }
}
;
on *:KICK:%Sync1: {
msg %Sync2 14(3 $+ %Sync1 $+ 14) 3* $knick was kicked by $nick ( $+ $2- $+ )
}
on *:KICK:%Sync2: {
msg %Sync1 14(3 $+ %Sync2 $+ 14) 3* $knick was kicked by $nick ( $+ $2- $+ )
}
;
on *:OP:%Sync1: {
msg %Sync2 14(3 $+ %Sync1 $+ 14) 3* $nick sets mode: +o $opnick
}
on *:OP:%Sync2: {
msg %Sync1 14(3 $+ %Sync2 $+ 14) 3* $nick sets mode: +o $opnick
}
;
on *:DEOP:%Sync1: {
msg %Sync2 14(3 $+ %Sync1 $+ 14) 3* $nick sets mode: -o $opnick
}
on *:DEOP:%Sync2: {
msg %Sync1 14(3 $+ %Sync2 $+ 14) 3* $nick sets mode: -o $opnick
}
;
on *:VOICE:%Sync1: {
msg %Sync2 14(3 $+ %Sync1 $+ 14) 3* $nick sets mode: +v $vnick
}
on *:VOICE:%Sync2: {
msg %Sync1 14(3 $+ %Sync2 $+ 14) 3* $nick sets mode: +v $vnick
}
;
on *:DEVOICE:%Sync1: {
msg %Sync2 14(3 $+ %Sync1 $+ 14) 3* $nick sets mode: -v $vnick
}
on *:DEVOICE:%Sync2: {
msg %Sync1 14(3 $+ %Sync2 $+ 14) 3* $nick sets mode: -v $vnick
}
;
on *:BAN:%Sync1: {
msg %Sync2 14(3 $+ %Sync1 $+ 14) 3* $nick sets mode: +b $bnick
}
on *:BAN:%Sync2: {
msg %Sync1 14(3 $+ %Sync2 $+ 14) 3* $nick sets mode: +b $bnick
}
;
on *:UNBAN:%Sync1: {
msg %Sync2 14(3 $+ %Sync1 $+ 14) 3* $nick sets mode: -b $1-
}
on *:UNBAN:%Sync2: {
msg %Sync1 14(3 $+ %Sync2 $+ 14) 3* $nick sets mode: -b $1-
}
;
on *:TOPIC:%Sync1: {
msg %Sync2 14(3 $+ %Sync1 $+ 14) 3* $nick changes topic to ' $+ $chan(%Sync1).topic '
}
on *:TOPIC:%Sync2: {
msg %Sync1 14(3 $+ %Sync2 $+ 14) 3* $nick changes topic to ' $+ $chan(%Sync2).topic '
}
;
on *:MODE:%Sync1: {
msg %Sync2 14(3 $+ %Sync1 $+ 14) 3* $nick set mode: $1-
}
on *:MODE:%Sync2: {
msg %Sync1 14(3 $+ %Sync2 $+ 14) 3* $nick set mode: $1-
}
;Split between Sync & Spy portions
on *:TEXT:*:%Spy1: {
msg %Rec1 14(3 $+ %Spy1 $+ 14) 3<4 $$+ $nick $$+ 3>1 $1-
}
;
on *:ACTION:*:%Spy1: {
msg %Rec1 14(3 $+ %Spy1 $+ 14) 6 * $nick $1-
}
;
on *:JOIN:%Spy1: {
msg %Rec1 3* $nick ( $+ $mask($address,3) $+ ) has joined %Spy1
}
;
on *:PART:%Spy1: {
msg %Rec1 3* $nick ( $+ $mask($address,3) $+ ) has left %Spy1
}
;
on *:QUIT: {
if ( $nick ison %Spy1 ) { msg %Rec1 14(3 $+ %Spy1 $+ 14) 4* $nick has quit IRC 3( $+ $1- $+ ) }
}
;
on *:NICK: {
if ($comchan($newnick,1) == %Spy1) { msg %SRec1 3* $nick is known as $newnick }
}
;
on *:KICK:%Spy1: {
msg %Rec1 14(3 $+ %Spy1 $+ 14) 3* $knick was kicked by $nick ( $+ $2- $+ )
}
;
on *:OP:%Spy1: {
msg %Rec1 14(3 $+ %Spy1 $+ 14) 3* $nick sets mode: +o $opnick
}
;
on *:DEOP:%Spy1: {
msg %Rec 14(3 $+ %Spy1 $+ 14) 3* $nick sets mode: -o $opnick
}
;
on *:VOICE:%Spy1: {
msg %Rec1 14(3 $+ %Spy1 $+ 14) 3* $nick sets mode: +v $vnick
}
;
on *:DEVOICE:%Spy1: {
msg %Rec1 14(3 $+ %Spy1 $+ 14) 3* $nick sets mode: -v $vnick
}
;
on *:BAN:%Spy1: {
msg %Rec1 14(3 $+ %Spy1 $+ 14) 3* $nick sets mode: +b $bnick
}
;
on *:UNBAN:%Spy1: {
msg %Rec1 14(3 $+ %Spy1 $+ 14) 3* $nick sets mode: -b $1-
}
;
on *:TOPIC:%Spy1: {
msg %Rec1 14(3 $+ %Spy1 $+ 14) 3* $nick changes topic to ' $+ $chan(%Spy1).topic '
}
;
on *:MODE:%Spy1: {
msg %Rec1 14(3 $+ %Spy1 $+ 14) 3* $nick set mode: $1-
}
1) This is not linking.
2) The scripting sucks.
3) Over-added spam for yourself.
Three reasons for 3. Sorry.
1) I never said it merged channel windows now did I?
2) I purposely made it like that for beginning scripters to understand it easier(Unlike Napa, who complicates it to no end)
3) DUR. That's the point of a link script. Both channels need to be able to see the text. I wasn't about to make it notice every person in the channel or make it message a remote channel where everybody has to join to see the text.
So yeah. Keep your negative reasons coming. I can repel 98% of them. :|