rendered paste body;-**************************************************-;
; * * ;
;* Tech-Arena (org) Connection Script *;
; * * ;
;-**************************************************-;
; * * ;
;* nickname encode/decode example *;
;* => *;
;* //echo -a $ta.nick(test).encode *;
;* //echo -a $ta.nick(Z74Z65Z73Z74).decode *;
; * *;
;-**************************************************-;
; * * ;
;* roomname encode/decode example *;
;* => *;
;* //echo -a $ta.room(test).encode *;
;* //echo -a $ta.room(74657374).decode *;
; * * ;
;-**************************************************-;
ctcp *:*:{
if ($1 == TIME) { .NOTICE $ta.ctcp($nick).time | halt }
if ($1 == VERSION) { .NOTICE $ta.ctcp($nick).version | halt }
if ($1 == FINGER) { .NOTICE $ta.ctcp($nick).finger | halt }
if ($1 == DTäE) { .NOTICE $ta.ctcp($nick).dtae | halt }
haltdef
}
alias nick {
if ($1) {
var %r
if ($left($1,6) == $+(Admin,$chr(95))) { %r = $1 }
elseif ($left($1,6) == $+(Sysma,$chr(95))) { %r = $1 }
elseif ($left($1,6) == $+(Sysop,$chr(95))) { %r = $1 }
elseif ($left($1,6) == $+(Guide,$chr(95))) { %r = $1 }
elseif ($right($1,6) == $+($chr(95),Bot)) { %r = $1 }
else { %r = $ta.nick($1-).encode }
NICK %r
}
}
on ^*:NICK: {
var %r, %q
if ($left($nick,6) == $+(Admin,$chr(95))) { %r = $nick }
elseif ($left($nick,6) == $+(Sysma,$chr(95))) { %r = $nick }
elseif ($left($nick,6) == $+(Sysop,$chr(95))) { %r = $nick }
elseif ($left($nick,6) == $+(Guide,$chr(95))) { %r = $nick }
elseif ($right($nick,6) == $+($chr(95),Bot)) { %r = $nick }
else { %r = $ta.nick($nick).decode }
if ($left($newnick,6) == $+(Admin,$chr(95))) { %q = $newnick }
elseif ($left($newnick,6) == $+(Sysma,$chr(95))) { %q = $newnick }
elseif ($left($newnick,6) == $+(Sysop,$chr(95))) { %q = $newnick }
elseif ($left($newnick,6) == $+(Guide,$chr(95))) { %q = $newnick }
elseif ($right($newnick,6) == $+($chr(95),Bot)) { %q = $newnick }
else { %q = $ta.nick($newnick).decode }
if ($nick != $me) { echo -t $comchan($newnick,1) $+($chr(3),14,$str($chr(160),8)) $+ » %r is now known as %q }
else { echo -a $+($chr(3),14,$str($chr(160),8)) $+ » Your nick is now %q }
halt
}
alias ta.ctcp {
if ($1) || ($prop) {
var %r, %s
%s = $1
if ($prop == time) { %r = $+($time(d mmm 'yy),$chr(44),$chr(32),$time(hh:nn:ss TT)) }
if ($prop == dtae) { %r = $+(DTäE,$chr(32),$chr(73),$chr(82),$chr(67),$chr(55),$chr(32),$chr(84),$chr(65),$chr(45),$chr(67),$chr(79),$chr(78),$chr(78),$chr(32),$chr(83),$chr(89),$chr(83),$chr(84),$chr(69),$chr(77),$chr(32),$version)) }
if ($prop == finger) { %r = $+(FINGER,$chr(32),$chr(73),$chr(82),$chr(67),$chr(55),$chr(32),$chr(84),$chr(65),$chr(45),$chr(67),$chr(79),$chr(78),$chr(78),$chr(32),$chr(83),$chr(89),$chr(83),$chr(84),$chr(69),$chr(77),$chr(32),$version)) }
if ($prop == version) { %r = $+(VERSION,$chr(32),$chr(73),$chr(82),$chr(67),$chr(55),$chr(32),$chr(84),$chr(65),$chr(45),$chr(67),$chr(79),$chr(78),$chr(78),$chr(32),$chr(83),$chr(89),$chr(83),$chr(84),$chr(69),$chr(77),$chr(32),$version)) }
return $+(%s,$chr(32),$chr(1),%r,$chr(1))
unset %r, %s
}
}
alias ta.nick {
if ($1) {
if ($prop == encode) {
var %l 1, %r
while (%l <= $len($1-)) {
%r = $+(%r,$chr(90),$base($asc($mid($1-,%l,1)),10,16,2))
inc %l
}
return %r
}
if ($prop == decode) {
var %l 1, %r
var %o $remove($1-,$chr(90))
while (%l <= $len(%o)) {
if (!$2) {
if ($mid(%o,%l,2) != 20) %r = %r $+ $chr($base($mid(%o,%l,2),16,10))
else %r = %r $chr($base($mid(%o,%l,2),16,10))
}
else %r = %r $+ $chr($base($mid(%o,%l,2),16,10))
inc %l 2
}
return %r
unset %o
}
unset %r
}
}
alias ta.room {
if ($1) {
var %o
if ($left($1,1) == $chr(35)) { %o = $right($1-,-1) }
else { %o = $1- }
if ($prop == encode) {
var %l 1, %r
while (%l <= $len(%o)) {
%r = $+(%r,$base($asc($mid(%o,%l,1)),10,16,2))
inc %l
}
return %r
}
if ($prop == decode) {
var %l 1, %r
var %o $1-
while (%l <= $len(%o)) {
if (!$2) {
if ($mid(%o,%l,2) != 20) %r = $+(%r,$chr($base($mid(%o,%l,2),16,10)))
else %r = $+(%r,$chr($base($mid(%o,%l,2),16,10)))
}
else %r = $+(%r,$chr($base($mid(%o,%l,2),16,10)))
inc %l 2
}
return %r
}
unset %r
unset %o
}
}
alias ta.catlang {
var %r, %c, %x, %s, %q
if ($1) || ($prop) {
if ($left($1,1) == $chr(35)) { %q = $right($1,-1) }
elseif ($left($1,2) == $+($chr(37),$chr(35))) { %q = $right($1,-2) }
else { %q = $1 }
%r = $left(%q,8)
%c = $left(%r,4)
%c = $remove(%c,$chr(91),$chr(93))
%l = $right(%r,-4)
%l = $remove(%l,$chr(91),$chr(93))
%s = $right(%q,-8)
%s = $replace(%s,$+($chr(92),$chr(66)),$chr(32))
if (%c != GE) && (%c != CP) && (%c != EA) && (%c != GN) && (%c != HE) && (%c != II) && (%c != LF) && (%c != MU) && (%c != NW) && (%c != PR) && (%c != RL) && (%c != RM) && (%c != SP) && (%c != TN) && (%c != UL) { %c == XX }
if (%l != EN) && (%l != DE) && (%l != NL) && (%l != FR) && (%l != SP) && (%l != IT) { %l == XX }
if (%c == XX) { %l = XX }
if (%l == XX) { %c = XX }
if ($prop == cat) { %x = %c }
if ($prop == lan) { %x = %l }
if ($prop == chn) { %x = %s }
return %x
}
}
alias ta.getroom {
var %m, %c, %r, %l, %s
if ($1) || ($prop) {
if ($left($1,1) == $chr(35)) { %m = $right($1,-1) }
elseif ($left($1,2) == $+($chr(37),$chr(35))) { %m = $right($1,-2) }
else { %m = $1 }
%c = $ta.catlang(%m).cat
%l = $ta.catlang(%m).lan
if ($left(%m,1) == $chr(91)) && ($left($right(%m,-3),1) == $chr(93)) {
%m = $right(%m,-8)
}
%m = $upper(%m)
if ($prop == normal) {
%m = $replace(%m,$+($chr(92),$chr(66)),$+($chr(37),$chr(50),$chr(48)))
%m = $lower(%m)
%s = http://www.tech-arena.org/chatroom.php?cat= $+ %c $+ $chr(38) $+ lan= $+ %l $+ $chr(38) $+ rm= $+ %m
}
if ($prop == hex) {
%m = $replace(%m,$+($chr(92),$chr(66)),$chr(32))
%s = http://www.tech-arena.org/chatroom.php?cat= $+ %c $+ $chr(38) $+ lan= $+ %l $+ $chr(38) $+ rhx= $+ $ta.room(%m).encode
}
return %s
}
}
alias getme {
var %r
if ($left($me,6) == $+(Admin,$chr(95))) { %r = $me }
elseif ($left($me,6) == $+(Sysma,$chr(95))) { %r = $me }
elseif ($left($me,6) == $+(Sysop,$chr(95))) { %r = $me }
elseif ($left($me,6) == $+(Guide,$chr(95))) { %r = $me }
elseif ($right($me,6) == $+($chr(95),Bot)) { %r = $me }
else { %r = $ta.nick($me).decode }
return %r
}
menu status,channel,query {
$style(2) $+ $getme $+ :{ return }
-
TA $chr(45) Main Menu
.View Room List
..Server Rooms:{ list [XX] }
..All Rooms:{ list }
..-
..City Chats:{ list [GE] }
..Computing:{ list [CP] }
..Entertainment:{ list [EA] }
..General:{ list [GN] }
..Health & Medicine:{ list [HE] }
..Interests:{ list [II] }
..Lifestyles:{ list [LF] }
..Music:{ list [MU] }
..News:{ list [NW] }
..Peers:{ list [PR] }
..Religion:{ list [RL] }
..Romance:{ list [RM] }
..Sports & Recreation:{ list [SP] }
..Teens:{ list [TN] }
..Unlisted:{ list [UL] }
.-
.Create Room:{ create }
}
menu channel {
TA $chr(45) Room Commands $+($chr(91),$ta.catlang($active).chn,$chr(93))
.Get the room's URL
..Hex:{ echo -a $ta.getroom($active).hex }
..Normal:{ echo -a $ta.getroom($active).normal }
..-
..Open the room in Internet Explorer:{ run iexplore $ta.getroom($active).hex }
.-
.Access List:{ accessx }
.-
.Room Modes
..$iif(t isincs $gettok($chan($chan).mode,1,32),$style(1)) $+ Only ops set Topic: mode $chan $iif(t isincs $gettok($chan($chan).mode,1,32),-,+) $+ t
..$iif(u isin $gettok($chan($chan).mode,1,32),$style(1)) $+ Knock Mode: mode $chan $iif(u isin $gettok($chan($chan).mode,1,32),-,+) $+ u
..$iif(m isin $gettok($chan($chan).mode,1,32),$style(1)) $+ Spectator (Moderated) Mode: mode $chan $iif(m isin $gettok($chan($chan).mode,1,32),-,+) $+ m
..$iif(w !isincs $gettok($chan($chan).mode,1,32),$style(1)) $+ Whispers Enabled: mode $chan $iif(w isincs $gettok($chan($chan).mode,1,32),-,+) $+ w
..$iif(h isin $gettok($chan($chan).mode,1,32),$style(1)) $+ Hidden Room (Not on the room list): mode $chan $iif(h isin $gettok($chan($chan).mode,1,32),-,+) $+ h
..-
..$iif(f isin $gettok($chan($chan).mode,1,32),$style(3),$style(2)) $+ TA Profanity Filter Enabled:{ return }
.Set Room Lag...:PROP $chan LAG $$input(Please enter the amount of lag you want to add $chr(40) $+ number of seconds from 0 to 2 $+ $chr(41),129,Change Room Lag)
.-
.Change Room Topic...:PROP $chan TOPIC : $+ $$input(Enter the room topic:,129,Change Room Topic)
.Unset Room Topic:PROP $chan TOPIC :
.-
.Change Welcome Message...:prop $chan onjoin : $+ $$input(Enter the welcome message:,129,Change Welcome Message)
.Unset Welcome Message:prop $chan onjoin :
.-
.Change Owner Key...:PROP $chan OWNERKEY $$input(Enter the new gold $chr(40) $+ owner $+ $chr(41) key:,129,Change Owner Key)
.Unset Owner Key:PROP $chan OWNERKEY :
.-
.Change Host Key...:PROP $chan HOSTKEY $$input(Enter the new brown $chr(40) $+ host $+ $chr(41) key:,129,Change Host Key)
.Unset Host Key:PROP $chan HOSTKEY :
.-
.Change other room settings...:channel $chan
}
menu query {
TA $chr(45) Whisper Commands
. $+ $1 $+ :{ echo $color(info2) -at * Normal: $$1 / Decoded: $ta.nick($$1).decode | clipboard $$1 }
.. $+ $iif($ial($1 $+ *,1).addr != $null,$ifmatch) $+ :{ echo $color(info2) -at * Address: $ial($1 $+ *,1) | clipboard $ial($1 $+ *,1) }
}