[Z] Channel Link

Platform:  mIRC
Published  Dec 14, 2008
Updated  Apr 25, 2009
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:

- Cross-network Sync & Spy
- HOPEFULLY a more compact code
- A Help Dialog

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-
}

Comments

Sign in to comment.
Xaric   -  Jun 10, 2010
I got an idea. :) Multi-Network Linking :D
 Respond  
blitzz   -  Jun 03, 2009
Viper01 said: Updated to V2 17 March
Viper01 said: Version V3 Updated 25 April

how many version do u want 2 put?

 Respond  
CadetAndrew   -  Jun 02, 2009
A little suggestion:

How about being able to link as many channels as we want to? :)
 Respond  
Viper01   -  Apr 25, 2009
Version 3 update. Let me know if theres any glitches or improvements I could make, with examples if you could.
 Respond  
Viper01   -  Mar 17, 2009
Updated to v2. Not much of an update though. I'll look into making it link networks & channels. I'll also look into compressing it with rawmodes(Dunno how to use them, so help is appreciated)
 Respond  
yayan   -  Mar 03, 2009
cool idea,
but better if the script could link to the other network :)
 Respond  
PuNkTuReD   -  Jan 31, 2009
Noutrious

2) The scripting sucks.

Viper01

2) I purposely made it like that for beginning scripters to understand it easier(Unlike Napa, who complicates it to no end)


You purposely made your script suck?

heh, if it works it works. I just thought that was funny :-P
 Respond  
Viper01   -  Jan 31, 2009

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. :|
 Respond  
Noutrious   -  Dec 28, 2008
1) This is not linking.
2) The scripting sucks.
3) Over-added spam for yourself.
Three reasons for 3. Sorry.
 Respond  
Viper01   -  Dec 18, 2008
Why only a 3? u.u

and the reason i didnt do rawmodes is because i dont know how to use them. events are much easier for me(and others(besides Napa who will inevitably UD Napa #3 this script)) to understand & edit

I FUKIN' LOVE COLORIN'

I FUKUN SLEP U

I FUKUN BITCHSLEP YOU BOTH >:\
 Respond  
Trikloa   -  Dec 14, 2008
YOu could've just done on *:rawmode:#: instead of all those events.
I FUKIN' LOVE COLORIN'

I FUKUN SLEP U
 Respond  
VincentDirge   -  Dec 14, 2008
I FUKIN' LOVE COLORIN'!
 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.