I know, a tunnel script isn't very unique. But I've been way overdue for another script.
;Tunnel
;Made on February 16, 2009
;To install, paste this snippet into your remotes (alt + r)
;Then type /tunnel or right click the channel or status and click "Tunnel"
;www.bluethen.com
alias tunnel {
!window -paozCdk0 +fbnL @Tunnel -1 -1 200 200 | !window -paohCzdk0 +ndL @tun.buf -1 -1 800 800
!set %tun.a 0 | !set %tun.a2 0 | !set %tun.y 0 | !set %tun.m 1 | !set %tun.c 1 | !set %tun.d inc
tun.frame
}
alias -l tun.frame {
if ($window(@tunnel)) {
%tun.d %tun.c 5 | if (%tun.c > 240) !set %tun.d dec
if (%tun.c < 10) set %tun.d inc | !clear @tun.buf
!drawfill -r @tun.buf $str($rgb($calc(%tun.c /3), $calc(%tun.c /2), %tun.c) $+ $chr(32), 2) 1 1
!dec %tun.a $calc($cos(%tun.a2).deg * 10) | !inc %tun.a2 $calc($cos(%tun.a).deg * 10) | !inc %tun.y
!hadd -m s %tun.y 1 | !hadd -m x %tun.y $calc((400 + (100 * $cos(%tun.a2).deg)) + (200 * $cos(%tun.a).deg))
!hadd -m y %tun.y $calc((400 + (100 * $sin(%tun.a2).deg)) + (200 * $sin(%tun.a).deg)) | !var %tun.x %tun.m
while (%tun.x <= %tun.y) {
!if ($hget(s,%tun.x) > 850) set %tun.m %tun.x
tun.rec $hget(x, %tun.x) $hget(y, %tun.x) %tun.a $hget(s, %tun.x) | !hinc -m s %tun.x 30 | !inc %tun.x
}
!drawtext -o @tun.buf 0 Georgia 70 40 $calc(600+ (30 * $cos($calc(%tun.c * 1.4)).deg)) www.bluethen.com
!drawcopy -m @tun.buf 0 0 800 800 @tunnel 0 0 200 200 | !.timer -mo 1 0 tun.frame
}
else unset %tun.*
}
on *:close:@tunnel: window -c @tun.buf
alias -l tun.rec {
!var %tun.rec.x $1 , %tun.rec.y = $2 , %tun.rec.a = $3 , %tun.rec.s = $4 , %tun.rec.z = 4
while (%tun.rec.z) {
!drawline -r @tun.buf $rgb($calc(%tun.rec.y * 0.318), $calc(%tun.rec.x * 0.318), $calc((%tun.rec.y + %tun.rec.x) * 0.159)) $calc(%tun.rec.s * 0.02) $calc(%tun.rec.x + (%tun.rec.s * $cos($calc((%tun.rec.z * 90) + (%tun.rec.a /2))).deg)) $calc(%tun.rec.y + (%tun.rec.s * $sin($calc(%tun.rec.z * 90 + (%tun.rec.a /2))).deg)) $calc(%tun.rec.x + (%tun.rec.s * $cos($calc((%tun.rec.z * 90)+90 + (%tun.rec.a /2))).deg)) $calc(%tun.rec.y + (%tun.rec.s * $sin($calc((%tun.rec.z * 90)+90 + (%tun.rec.a /2))).deg))
!dec %tun.rec.z
}
}
menu channel,status {
Tunnel: tunnel
}