[script] n0=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; n1=;;; ;;; n2=;;; MX- Multi Server connection ;;; n3=;;; © phys1ks 1999 ;;; n4=;;; ;;; n5=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; n6=on 1:LOAD:{ echo -a 3*** msx[1.5b2] by phys1ks loaded. /mx to use | set %mx.ver mx-v1b0 by phys1ks : Keep it to yourself! } n7=alias mn { return $right($1-,$calc($len($1-)-1)) } n8=alias mx { n9= set %mx.nick $$?="Nickname" n10= set %mx.server $1 n11= set %mx.port $2 n12= if (%mx.server = $null) { set %mx.server $?="enter irc server:" } n13= if (%mx.port = $null) { set %mx.port $?="enter port" } n14= sockopen mx %mx.server %mx.port n15=} n16=on 1:sockopen:mx:{ n17= window -aesx @mx n18= echo @mx 3*** Attemping Connection.. n19= sockwrite -n mx USER weaponx rawircx rawircx rawircx n20= sockwrite -n mx IRCX n21= sockwrite -n mx NICK %mx.nick n22= unset %chan.* n23=} n24=on 1:sockread:mx:{ n25= sockread 1000 %temp n26= if (PING isin $gettok(%temp,1,32)) { n27= sockwrite -n mx PONG $gettok(%temp,2,32) n28= echo @mx 3PING? PONG n29= } n30= if (NOTICE isin $gettok(%temp,2,32)) { n31= if ($chr(1) isin $gettok(%temp,4,32)) { n32= if (PING isin $gettok(%temp,4-,32)) { n33= set %mx.ping $gettok(%temp,5,32) n34= set %mx.ping $duration($calc($ctime - %mx.ping)) n35= echo -a 4[ $+ $mnick($gettok(%temp,1,32)) PING reply]: %mx.ping n36= } n37= else { n38= echo -a 4[ $+ $mnick($gettok(%temp,1,32)) reply]: $gettok(%temp,3-,32) n39= } n40= } n41= } n42= if (PRIVMSG isin $gettok(%temp,2,32)) { n43= if ($chr(1) isin $gettok(%temp,4,32)) { n44= if ($gettok(%temp,4,32) = :ACTION) { n45= echo @^ $+ $gettok(%temp,3,32) 6* $mnick($gettok(%temp,1,32)) $remove($gettok(%temp,5-,32),) n46= halt n47= } n48= echo @mx 4[ $+ $mnick($gettok(%temp,1,32)) $gettok(%temp,4-,32) n49= if (VERSION isin $gettok(%temp,4-,32)) { n50= sockwrite -n mx NOTICE $mnick($gettok(%temp,1,32)) : $+ $chr(1) $+ VERSION %mx.ver $+ $chr(1) n51= } n52= if (PING isin $gettok(%temp,4-,32)) { n53= sockwrite -n mx NOTICE $mnick($gettok(%temp,1,32)) : $+ $chr(1) $+ PING $ctime $+ $chr(1) n54= } n55= halt n56= } n57= if ($chr(35) !isin $gettok(%temp,3,32)) { n58= ;echo @mx * $+ $mnick($gettok(%temp,1,32)) $+ ( $+ $gettok($gettok(%temp,1,32),2,33) $+ )* $remove($gettok(%temp,4-,32),:) n59= set %window $mnick($gettok(%temp,1,32)) n60= set %window @^ $+ %window n61= if ($window(%window) = $null) { n62= .window -aesx @^ $+ $mnick($gettok(%temp,1,32)) n63= titlebar @^ $+ $mnick($gettok(%temp,1,32)) ( $+ $gettok($gettok(%temp,1,32),2,33) $+ ) n64= } n65= echo @^ $+ $mnick($gettok(%temp,1,32)) < $+ $mnick($gettok(%temp,1,32)) $+ > $mn($gettok(%temp,4-,32)) n66= halt n67= } n68= else { n69= echo @^ $+ $gettok(%temp,3,32) < $+ $mnick($gettok(%temp,1,32)) $+ > $mn($gettok(%temp,4-,32)) n70= } n71= } n72= if ($gettok(%temp,2,32) = NOTICE) { n73= echo @mx - $+ $mnick($gettok(%temp,1,32))) $+ - $remove($gettok(%temp,4,32),:) $gettok(%temp,5-,32) n74= halt n75= } n76= if ($gettok(%temp,1,32) = NOTICE) { n77= echo @mx - $+ $gettok(%temp,2,32)) $+ - $remove($gettok(%temp,3,32),:) $gettok(%temp,4-,32) n78= halt n79= } n80= if (00 isin $gettok(%temp,2,32)) { n81= echo @mx $remove($gettok(%temp,4-,32),:) n82= halt n83= } n84= if (251 isin $gettok(%temp,2,32)) { n85= echo @mx $remove($gettok(%temp,4-,32),:) n86= halt n87= } n88= if (353 isin $gettok(%temp,2,32)) { n89= echo @^ $+ $gettok(%temp,5,32) 3Users on $gettok(%temp,5,32) $+ : n90= echo @^ $+ $gettok(%temp,5,32) 3 $+ $remove($gettok(%temp,6,32),:) $gettok(%temp,7-,32) n91= halt n92= } n93= if (366 isin $gettok(%temp,2,32)) { n94= echo @^ $+ $gettok(%temp,4,32) 3 $+ $remove($gettok(%temp,5-,32),:) n95= halt n96= } n97= if (376 isin $gettok(%temp,2,32)) { n98= echo @mx $remove($gettok(%temp,4-,32),:) n99= halt n100= } n101= if (252 isin $gettok(%temp,2,32)) { n102= echo @mx $remove($gettok(%temp,4-,32),:) n103= halt n104= } n105= if (253 isin $gettok(%temp,2,32)) { n106= echo @mx $remove($gettok(%temp,4-,32),:) n107= halt n108= } n109= if (254 isin $gettok(%temp,2,32)) { n110= echo @mx $remove($gettok(%temp,4-,32),:) n111= halt n112= } n113= if (255 isin $gettok(%temp,2,32)) { n114= echo @mx $remove($gettok(%temp,4-,32),:) n115= halt n116= } n117= if (305 isin $gettok(%temp,2,32)) { n118= echo @mx $remove($gettok(%temp,4-,32),:) n119= halt n120= } n121= if (306 isin $gettok(%temp,2,32)) { n122= echo @mx $remove($gettok(%temp,4-,32),:) n123= halt n124= } n125= if (375 isin $gettok(%temp,2,32)) { n126= echo @mx $remove($gettok(%temp,4-,32),:) n127= halt n128= } n129= if (318 isin $gettok(%temp,2,32)) { n130= halt n131= } n132= if (372 isin $gettok(%temp,2,32)) { n133= halt n134= } n135= if (265 isin $gettok(%temp,2,32)) { n136= echo @mx $remove($gettok(%temp,4-,32),:) n137= halt n138= } n139= if (266 isin $gettok(%temp,2,32)) { n140= echo @mx $remove($gettok(%temp,4-,32),:) n141= halt n142= } n143= if (332 isin $gettok(%temp,2,32)) { n144= echo @^ $+ $gettok(%temp,4,32) 3*** Topic for $gettok(%temp,4,32) $+ : $remove($gettok(%temp,5,32),:) $gettok(%temp,6-,32) n145= halt n146= } n147= if (333 isin $gettok(%temp,2,32)) { n148= echo @^ $+ $gettok(%temp,4,32) 3*** Topic set by: $gettok(%temp,5,32) $asctime($gettok(%temp,6,32)) n149= halt n150= } n151= if ($gettok(%temp,2,32) = 311) { n152= echo @mx $gettok(%temp,4,32) ( $+ $gettok(%temp,5,32) $+ @ $+ $gettok(%temp,6,32) $+ ) $gettok(%temp,7-,32) n153= halt n154= } n155= if ($gettok(%temp,2,32) = 442) { n156= echo @mx 3*** $gettok(%temp,4,32) $+ : You're not on that channel. n157= halt n158= } n159= if ($gettok(%temp,2,32) = 401) { n160= echo @mx 3*** $gettok(%temp,4,32) $+ : No such nick/channel n161= halt n162= } n163= if ($gettok(%temp,2,32) = 319) { n164= echo @mx $gettok(%temp,4,32) is on: $remove($gettok(%temp,5-,32),:) n165= halt n166= } n167= if ($gettok(%temp,2,32) = 312) { n168= echo @mx $gettok(%temp,4,32) is using: $gettok(%temp,5-,32) n169= halt n170= } n171= if ($gettok(%temp,2,32) = 301) { n172= echo @mx $gettok(%temp,4,32) is away: $remove($gettok(%temp,5,32),:) $gettok(%temp,6-,32) n173= halt n174= } n175= if ($gettok(%temp,2,32) = 317) { n176= echo @mx $gettok(%temp,4,32) is idle: $duration($gettok(%temp,5,32)) SignOn: $asctime($gettok(%temp,6,32)) n177= halt n178= } n179= if (TOPIC isin $gettok(%temp,2,32)) { n180= echo @^ $+ $remove($gettok(%temp,3,32),:) 3*** $mnick($gettok(%temp,1,32)) changes $gettok(%temp,3,32) topic to: " $+ $remove($gettok(%temp,4-,32),:) $+ " n181= halt n182= } n183= if (NICK = $gettok(%temp,2,32)) { n184= echo @mx 3*** $mnick($gettok(%temp,1,32)) is now known as $mn($gettok(%temp,3,32)) n185= if $mnick($gettok(%temp,1,32)) = %mx.nick { set %mx.nick $mn($gettok(%temp,3,32)) } n186= } n187= if (KICK isin $gettok(%temp,2,32)) { n188= echo @^ $+ $remove($gettok(%temp,3,32),:) 3*** $gettok(%temp,4,32) was kicked by $mnick($gettok(%temp,1,32)) ( $+ $remove($gettok(%temp,5,32),:) $gettok(%temp,6-,32) $+ ) n189= if ($gettok(%temp,4,32) = %mx.nick) { sockwrite -n mx join $gettok(%temp,3,32) | echo @^ $+ $gettok(%temp,3,32) 3*** Rejoining $gettok(%temp,3,32) } n190= } n191= if (JOIN isin $gettok(%temp,2,32)) { n192= echo @^ $+ $remove($gettok(%temp,3,32),:) 3*** $mnick($gettok(%temp,1,32)) ( $+ $gettok($gettok(%temp,1,32),2,33) $+ ) has joined. n193= } n194= if (PART isin $gettok(%temp,2,32)) { n195= echo @^ $+ $remove($gettok(%temp,3,32),:) 3*** $mnick($gettok(%temp,1,32)) ( $+ $gettok($gettok(%temp,1,32),2,33) $+ ) has left. n196= } n197= if (MODE isin $gettok(%temp,2,32)) { n198= if ($chr(35) !isin $remove($gettok(%temp,3,32),:)) { n199= echo @mx 3*** $mnick($gettok(%temp,1,32)) sets mode: $gettok(%temp,4-,32) n200= halt n201= } n202= echo @^ $+ $remove($gettok(%temp,3,32),:) 3*** $mnick($gettok(%temp,1,32)) ( $+ $gettok($gettok(%temp,1,32),2,33) $+ ) sets mode: $gettok(%temp,4-,32) n203= halt n204= } n205= if (QUIT isin $gettok(%temp,2,32)) { n206= echo @mx 2*** $mnick($gettok(%temp,1,32)) has left IRC ( $+ $remove($gettok(%temp,3,32),:) $gettok(%temp,4-,32) $+ ) n207= } n208= if (PROP $gettok(%temp,3,32) OWNERKEY isin %temp) { n209= if (%o.key.prot == on) { n210= echo -a 8*** $mnick($gettok(%temp,1,32)) proped the ownerkey of $remove($gettok(%temp,5,32),:) - Taking the action of kicking them n211= sockwrite -n $sockname kick $gettok(%temp,3,32) $mnick($gettok(%temp,1,32)) keys n212= sockwrite -n $sockname prop $gettok(%temp,3,32) OWNERKEY : $+ %sock.key n213= halt n214= } n215= } n216= else { n217= ;echo @mx %temp n218= } n219=} n220=on 1:INPUT:@mx:{ n221= ;echo @mx $1- n222= if (/join isin $1) { n223= sockwrite -n mx join $2- n224= window -aesx @^ $+ $2 n225= echo @^ $+ $2 3Joining $2 $+ .. n226= } n227= if (/ctcp isin $1) { n228= sockwrite -n mx PRIVMSG $2 : $+ $chr(1) $+ $upper($3-) $+ $chr(1) n229= echo $active 4-> 4[ $+ $2 $+ 4] $3- n230= halt n231= } n232= if (/msg isin $1) { n233= sockwrite -n mx PRIVMSG $2 : $+ $3- n234= echo $active -> * $+ $2 $+ * $3- n235= halt n236= } n237= if ($1 = /help) { n238= echo -a 3msx commands: n239= echo -a 3/away /back [built in away system] n240= echo -a 3************* n241= echo -a 3everything else is just as it is in regular mirc n242= halt n243= } n244= if ($1 = /away) || ($1 = /maway) { maway $2- | halt } n245= if ($1 = /back) || ($1 = /mback) { mback | halt } n246= if ($1 = /quit) { echo @mx 6*** Disconnected: $2- | sockwrite -n mx quit : $+ $1- | halt } n247= if (/server isin $1) { mx $1- | halt } n248= else { n249= sockwrite -n mx $remove($1-,/) | halt n250= } n251= halt n252=} n253=on 1:INPUT:@:{ n254= if (^ isin $active) { n255= set %mx.chan $remove($active,@) n256= set %mx.chan $remove(%mx.chan,^) n257= set %Mx.chan $remove(%mx.chan,@) n258= if (/join isin $1) { n259= sockwrite -n mx join $2- n260= window -aesx @^ $+ $2 n261= echo @^ $+ $2 3Joining $2 $+ .. n262= } n263= if (/part isin $1) { n264= sockwrite -n mx part $2- n265= window -c $active n266= } n267= if (/me isin $1) { n268= sockwrite -n mx PRIVMSG %mx.chan : $+ $chr(1) $+ ACTION $2- $+ $chr(1) n269= echo $active 6* %mx.nick $2- n270= halt n271= } n272= if (/ctcp isin $1) { n273= sockwrite -n mx PRIVMSG $2 : $+ $chr(1) $+ $upper($3-) $+ $chr(1) n274= echo $active 4-> 4[ $+ $2 $+ 4] $3- n275= halt n276= } n277= if ($1 = /help) { n278= echo -a 3msx commands: n279= echo -a 3/away /back [built in away system] n280= echo -a 3************* n281= echo -a 3everything else is just as it is in regular mirc n282= halt n283= } n284= if ($1 = /away) || ($1 = /maway) { maway $2- | halt } n285= if ($1 = /back) || ($1 = /mback) { mback | halt } n286= if (/msg isin $1) { n287= sockwrite -n mx PRIVMSG $2 : $+ $3- n288= echo $active -> * $+ $2 $+ * $3- n289= halt n290= } n291= if (/quit isin $1) { sockwrite -n mx quit : $+ $2- | halt } n292= if (/server isin $1) { mx $1- | halt } n293= if (/ !isin $1) { n294= sockwrite -n mx privmsg %mx.chan : $+ $1- n295= echo $active < $+ %mx.nick $+ > $1- n296= halt n297= } n298= else { n299= sockwrite -n mx $remove($1-,/) n300= halt n301= } n302= } n303=} n304=alias mnick return $remove($gettok($1,1,33),:) n305=alias maddress return $gettok($1,2,33) n306=alias machan { n307= set %cur 0 n308= :loop n309= inc %cur 1 n310= if (%cur > $window(0)) { goto done } n311= set %window $window(%cur) n312= if (^ !isin %window) { goto loop } n313= if ($chr(35) !isin %window) { goto loop } n314= echo %window 6* %mx.nick $1- n315= sockwrite -n mx privmsg $remove($remove(%window,@),^) : $+ $chr(1) $+ ACTION $1- $+ $chr(1) n316= goto loop n317= :done n318=} n319=alias maway { n320= set %maway $1- n321= if (%maway = $null) { set %maway bbl } n322= machan is away: ( $+ %maway $+ ) msglog(on) n323= sockwrite -n mx away :is away: ( $+ %maway $+ ) msglog(on) n324= set %msx.away $ctime n325= n326=} n327=alias mback { n328= machan is back from the dead. Gone $duration($calc($ctime - %msx.away)) n329= sockwrite -n mx away : n330=} n331=menu @^* { n332= IRCX Commands n333= .Clear All:sockwrite -n mx access $remove($remove($active,@),^) clear n334= .- n335= .Owner Key:/sockwrite -n mx prop $remove($remove($active,@),^) OWNERKEY : $+ $?="Owner Key?" n336= .Host Key:/sockwrite -n mx prop $remove($remove($active,@),^) HOSTKEY : $+ $?="Host Key?" n337= .- n338= .On Join Msg:/sockwrite -n mx prop $remove($remove($active,@),^) ONJOIN : $+ $?="Message?" n339= .On Part Msg:/sockwrite -n mx prop $remove($remove($active,@),^) ONPART : $+ $?="Message?" n340= .Topic:/sockwrite -n mx prop $remove($remove($active,@),^) TOPIC : $+ $?="Default Topic?" n341= .- n342= .Owner n343= ..Add:/sockwrite -n mx access $remove($remove($active,@),^) Add owner $?="Mask" 0 : $+ $?="Reason" n344= ..Delete:/sockwrite -n mx access $remove($remove($active,@),^) DELETE owner $?="Mask" n345= ..Clear:/sockwrite -n mx access $remove($remove($active,@),^) Clear owner n346= .Host n347= ..Add:/sockwrite -n mx access $remove($remove($active,@),^) Add host $?="Mask" 0 : $+ $?="Reason" n348= ..Delete:/sockwrite -n mx access $remove($remove($active,@),^) DELETE host $?="Mask" n349= ..Clear:/sockwrite -n mx access $remove($remove($active,@),^) Clear host n350= .Voice n351= ..Add:/sockwrite -n mx access $remove($remove($active,@),^) Add voice $$?="Mask" 0 : $+ $?="Reason" n352= ..Delete:/sockwrite -n mx access $remove($remove($active,@),^) DELETE voice$$?="Mask" n353= ..Clear:/sockwrite -n mx access $remove($remove($active,@),^) Clear voice n354= .Deny n355= ..Add Deny Access:/sockwrite -n mx access $remove($remove($active,@),^) ADD DENY $?="Enter Hostmask" $?="Time in min." : $+ $?="Reason for Deny" n356= ..Delete:/sockwrite -n mx access $remove($remove($active,@),^) DELETE DENY $?="Mask" n357= ..Clear:/sockwrite -n mx access $remove($remove($active,@),^) Clear deny n358= .Silence n359= ..List Silence list:Silence n360= ..Silence a nick:Silence +$address($snicks,1) n361= ..Remove silence from a nick:Silence -$address($snicks,1) n362= .- n363= .Clear All:/sockwrite -n mx access $remove($remove($active,@),^) clear n364= .List:/sockwrite -n mx access $remove($remove($active,@),^) LIST n365= ( $+ $active $+ ) n366= .Set New Modes + n367= ..Secret (+s):/sockwrite -n mx mode $remove($remove($active,@),^) +s n368= ..Private (+p):/sockwrite -n mx mode $remove($remove($active,@),^) +p n369= ..Topic Change (+t):/sockwrite -n mx mode $remove($remove($active,@),^) +t n370= ..Notices Flood (+n):/sockwrite -n mx mode $remove($remove($active,@),^) +n n371= ..Topic+Notices (+nt):/sockwrite -n mx mode $remove($remove($active,@),^) +nt n372= ..Secret+Topic+Notices (+nst):/sockwrite -n mx mode $remove($remove($active,@),^) +nst n373= ..Set Key:/sockwrite -n mx mode $remove($remove($active,@),^) +k $$?="Enter keyname" n374= ..Set Max Users:/sockwrite -n mx mode $remove($remove($active,@),^) +l $$?="Enter max number ov users" n375= .Clear Modes - n376= ..Secret (-s):/sockwrite -n mx mode $remove($remove($active,@),^) -s n377= ..Private (-p):/sockwrite -n mx mode $remove($remove($active,@),^) -p n378= ..Topic Change (-t):/sockwrite -n mx mode $remove($remove($active,@),^) -t n379= ..Notices Flood (-n):/sockwrite -n mx mode $remove($remove($active,@),^) -n n380= ..Invite+Private (-ip):/sockwrite -n mx mode $remove($remove($active,@),^) -ip n381= ..Topic+Notices (-nt):/sockwrite -n mx mode $remove($remove($active,@),^) -nt n382= ..Secret+Topic+Notices (-nst):/sockwrite -n mx mode $remove($remove($active,@),^) -nst n383= ..Remove Key:/sockwrite -n mx mode $remove($remove($active,@),^) -k $$?="Enter key name" n384= ..Clear Users Limit:/sockwrite -n mx mode $remove($remove($active,@),^) -l $$?="Enter current user limit" n385= - n386= Away System n387= .away:/maway $$?="Away Reason" n388= .Back:/mback n389= - n390= Owner Key prot n391= .on://set %o.key.prot on n392= .off://set %o.ket.prot off n393= - n394= Owner Key://set %sock.key $$?="Owner Key" n395=} n396=on 1:close:@: if ($target == @mx) { sockclose mx } n397=menu channel { n398= MX:/mx n399=}