;-------------------------------------------------------------------------
; telnet addon for mIRC
; scripted by: pr0d (dalnet)
; version: 1.0
; bug reports/suggestions: cyrus@isdn.net.il
; released: august 29 1999
; syntax: /telnet <address> <port>
; everything you type in the telnet window is sent to the server you are conneted to.
; loading: (when telnet.mrc is in the same dir as mIRC32.exe) /load -rs telnet.mrc
;--------------------------------------------------------------------------

on *:sockopen:telnet:{ | echo @telnet $teld c14onnection established | titlebar @telnet ( $+ [ %telnet.last ] $+ ) | if (%telnet.recent.1 == %telnet.last) || (%telnet.recent.2 == %telnet.last) || (%telnet.recent.3 == %telnet.last) || (%telnet.recent.4 == %telnet.last) || (%telnet.recent.5 == %telnet.last) || (%telnet.recent.6 == %telnet.last) || (%telnet.recent.7 == %telnet.last) || (%telnet.recent.8 == %telnet.last) || (%telnet.recent.9 == %telnet.last) || (%telnet.recent.10 == %telnet.last) { halt } set %telnet.recent.10 %telnet.recent.9 | set %telnet.recent.9 %telnet.recent.8 | set %telnet.recent.8 %telnet.recent.7 | set %telnet.recent.7 %telnet.recent.6 | set %telnet.recent.6 %telnet.recent.5 | set %telnet.recent.5 %telnet.recent.4 | set %telnet.recent.4 %telnet.recent.3 | set %telnet.recent.3 %telnet.recent.2 | set %telnet.recent.2 %telnet.recent.1 | set %telnet.recent.1 %telnet.last }
on *:sockclose:telnet:{ titlebar @telnet (no connection) | echo @telnet $teld d14isconnected from %telnet.last | unset %telnet.last }
on *:input:@telnet:{
  if ($left($1,1) == $chr(47)) { $1- | halt }
  if ($sock(telnet) == $null) { echo @telnet $teld damn:14 not connected | halt }
  sockwrite -n telnet $1- | echo @telnet -> $1- | halt
}
on *:close:@telnet:{ sockclose telnet }
on *:sockread:telnet:{ if ($sockerr > 0) return | :read | sockread %temp | if ($sockbr == 0) return | if (%temp == $null) %temp = - | echo @telnet %temp | goto read | :end }
alias telnet {
  if ($sock(telnet).name != $null) {
  echo @telnet $teld y14ou need to close current session first ! | goto end }
  if ($2 == $null) { echo -a $teld damn: 14not enough parameters (telnet14) syntax: /telnet <address> <port> | goto end }
  if ($window(@telnet).state == $null) { window -kte @telnet [no connection] | font @telnet MS Sans Serif | echo @telnet $teld $telver | goto create }
  if ($window(@telnet).state != $null) { set %telnet.last $1- | goto create }
:create | titlebar @telnet [no connection] | set %telnet.last $1- | echo @telnet $teld t14rying connection to $1- | sockopen telnet $1- |   :end }
alias telver { return telnet1.0 - addon for mIRC by pr0d | halt }
alias teld { return ::14 | halt }
menu @telnet {
  &connect:/telnet $?="address?" $?="port?"
  &disconnect:sockclose telnet | echo @telnet $teld d14isconnected from %telnet.last
  -
  &recent
  .%telnet.recent.1:/sockwrite -n telnet quit | sockclose telnet | telnet %telnet.recent.1
  .%telnet.recent.2:/sockwrite -n telnet quit | sockclose telnet | telnet %telnet.recent.2
  .%telnet.recent.3:/sockwrite -n telnet quit | sockclose telnet | /telnet %telnet.recent.3
  .%telnet.recent.4:/sockwrite -n telnet quit | sockclose telnet | /telnet %telnet.recent.4
  .%telnet.recent.5:/sockwrite -n telnet quit | sockclose telnet | /telnet %telnet.recent.5
  .%telnet.recent.6:/sockwrite -n telnet quit | sockclose telnet | /telnet %telnet.recent.6
  .%telnet.recent.7:/sockwrite -n telnet quit | sockclose telnet | /telnet %telnet.recent.7
  .%telnet.recent.8:/sockwrite -n telnet quit | sockclose telnet | /telnet %telnet.recent.8
  .%telnet.recent.9:/sockwrite -n telnet quit | sockclose telnet | /telnet %telnet.recent.9
  .%telnet.recent.10:/sockwrite -n telnet quit | sockclose telnet | /telnet %telnet.recent.10
  .-
  .&del recent:unset %telnet.recent*
  -
  &cl&ear:clear
  &about:{ window -k @about 100 50 300 150 | titlebar @about telnet | font @about MS Sans Serif | echo @about $teld telnet addon for mIRC | echo @about $teld scripter: pr0d14 (dalnet) | echo @about $teld version: 1.0 | echo @about $teld bug reports/suggestions email: cyrus@isdn.net.il | echo @about $teld released: august 29 1999 | echo @about $teld syntax: /telnet <address> <port> }
  -
  c&lose:window -c @telnet | sockclose telnet
}

