Скрипт

Pr0oF

Registered
Здравейте,
Трябва ми някакъв скрипт, който да засича автоматично ако сървъра ми поиска парола, и ако е така да изкочи прозорче (промт :D ) за идентификация, че вече ми омръзна да пиша...
10q
 
Там е въпроса, че няма да го ползвам само за идент, понеже съм с БНЦ, и от време на време ми пада и нета (или сървъра сплитва) и пак изкача паролата за БНЦ-то и за това.Аз преди си пишех някви такива манийки, но съм забравил вече, за това питам тука по знаещите.. :)
 
Опа извинявам се много, снощи съм заспал много рано и не можах да го напиша. :oops:

Ето сега го направих :

Код:
ON ^*:NOTICE:*:?: {
  set %idtext This nickname is owned by someone else {
    if ($nick == NS) && (%idtext isin $1-) { /dialog -m identify identify }
  }
}
dialog identify {
  title "..:: Identify By Smirn0ff ::.." 
  size -1 -1 100 40 
  option dbu

  text "Въведете си паролата",1 , 20 10 60 10
  edit "",2, 20 20 40 10, pass, center
  button "OK",3, 60 20 30 10, ok
}
on *:dialog:identify:*:*:{
  if ($devent == sclick) {
    if ($did == 3) { /.msg ns id $did(identify,2) }
  }
}

:)
 
Бомба !
А още нещо почти съм сигурен че си ползвал БНЦ и знаеш още в началото като си цъкнеш мирка и ти иска парола, т.е.
мирка ми каза:
[17:55:31] -Welcome- psyBNC2.3.2-7
-
[17:55:31] --psyBNC- Your IRC Client did not support a password. Please type /QUOTE PASS yourpassword to connect.
-
За това някаква идея да ти хрумва ?

---
Благодяря много за горния скрипт иначе :)
 
Pr0oF каза:
Бомба !
А още нещо почти съм сигурен че си ползвал БНЦ и знаеш още в началото като си цъкнеш мирка и ти иска парола, т.е.
мирка ми каза:
[17:55:31] -Welcome- psyBNC2.3.2-7
-
[17:55:31] --psyBNC- Your IRC Client did not support a password. Please type /QUOTE PASS yourpassword to connect.
-
За това някаква идея да ти хрумва ?

---
Благодяря много за горния скрипт иначе :)


че какво искаш за това :shock: ?
 
В някой от скриптовете гледах като се кънтектах изкочи и там такава опция каквото и ти ми написа за въвеждане там на парола, защото доста често ми пада сървъра и главно заради него ти поисках скрипта.Иначе онзи върши добра работа :?: Просто трябва да му се добави нещо явно за да засече надписа и за бнц-то :)
 
Виж тоя адон, пак е за бнц-та. Ако евентуално, не ти свърши работа уточни малко повече какво искаш да напиша .

90% съм сигурен, че ще ти свърши работа, защото в описанието пише че като ти покаже Welcome to BNC.. ще те рекънектне отново в сървъра :)


Код:
; is just a couple of clicks away, and of course sBNC will reconnect you to the IRC server if you get disconnected, instead of leaving mIRC at the "Welcome to BNC.." screen.

; loading stuff
on *:load:{ 
  if ($version < 5.9) { linesep -s | echo 2 -s *** Cannot load sBNC Manager v2.1. You must be using mIRC 5.9 or higher. | linesep -s | .timer 1 0 .unload -rs " $+ $script $+ " }
  else {
    if ($script(sbnc20.mrc)) {
      var %num = 1
      while ($ini(sbnc.ini,bouncers,%num)) { sbnc.ini bouncers $ifmatch $gettok($sbnc.ini(bouncers,$ifmatch),1-2,32) $encode($encode($gettok($sbnc.ini(bouncers,$ifmatch),3,32),m)) - $gettok($sbnc.ini(bouncers,$ifmatch),4,32) | inc %num }
      %num = 1
      while ($ini(sbnc.ini,servers,%num)) { sbnc.ini servers $ifmatch $replace($sbnc.ini(servers,$ifmatch),$chr(32),:) | inc %num }
      .unload -rs $script(sbnc20.mrc)
    }
    linesep -s | echo 2 -s *** sBNC Manager v2.1 loaded. Type /sbnc to run. | linesep -s
  }
}
on *:start:{ unset %sbnc.* | if ($sbnc.ini(settings,startup)) sbnc }
on *:exit:unset %sbnc.*
alias sbnc.unload { unset %sbnc.* | .remove sbnc.ini | unload -rs " $+ $script $+ " }

menu menubar,status { 
  sBNC Manager v2.1:sbnc
}

; login code
on *:snotice:*:{
  if (!%sbnc.bouncer [ $+ [ $cid ] ] ) return
  if (Welcome to BNC* iswm $1-) {
    if ($gettok(%sbnc.bouncer [ $+ [ $cid ] ] ,2,32) != -) .quote ident $ifmatch
    if ($gettok(%sbnc.bouncer [ $+ [ $cid ] ] ,3,32)) .quote vip $ifmatch
    .quote conn $replace($gettok(%sbnc.server [ $+ [ $cid ] ] ,1,32),:,32) $iif($gettok(%sbnc.server [ $+ [ $cid ] ] ,2-,32),$decode($decode($ifmatch),m))
  }
  elseif (Failed Pass!! = $1-) disconnect
  elseif (Failed Connection = $1-) .quote conn $replace(%sbnc.server [ $+ [ $cid ] ] ,:,$chr(32))
}
on *:notice:*:?:{
  if ($nick != ezbounce) return
  if ($server != $gettok(%sbnc.bouncer [ $+ [ $cid ] ] ,1,32)) return
  if (Use /quote CONN <server>* iswm $1-) {
    if ($gettok(%sbnc.bouncer [ $+ [ $cid ] ] ,2,32) != -) .quote ident $ifmatch
    if ($gettok(%sbnc.bouncer [ $+ [ $cid ] ] ,3,32)) .quote interface $ifmatch
    .quote conn $gettok(%sbnc.server [ $+ [ $cid ] ] ,1,32) $iif($gettok(%sbnc.server [ $+ [ $cid ] ] ,2-,32),$decode($decode($ifmatch),m))
  }
  elseif (Password incorrect. = $1-) disconnect
  elseif (Connection attempt to * failed:* iswm $1-) disconnect
}
on *:close:*:if ($cid) { if ($target = Status Window) && (%sbnc.bouncer [ $+ [ $cid ] ] ) unset %sbnc.* [ $+ [ $cid ] ] }

; main dialog stuff
dialog sbnc {
  title "sBNC Manager v2.1"
  size -1 -1 385 278
  icon 400,5 5 375 55,sbnc-logo.bmp

  box "Bouncer Presets",100,5 65 186 79
  list 1,10 80 105 70,sort
  button "New",202,119 81 67 19
  button "Edit",203,119 100 67 19,disable
  button "Delete",204,119 119 67 19,disable

  box "Vhosts For Selected Bouncer",101,5 145 186 102
  combo 2,12 162 173 100,drop edit sort
  button "Get Vhost List",205,12 188 85 24,disable
  button "Set Default Host",206,100 188 85 24,disable
  button "Add To List",207,12 217 85 24,disable
  button "Del From List",208,100 217 85 24,disable

  box "IRC Server Presets",102,195 65 186 182
  list 3,200 80 105 70,sort
  button "Add",209,308 81 67 19,disable
  button "Update",210,308 100 67 19,disable
  button "Delete",211,308 119 67 19,disable
  text "Server Host:",103,200 146 65 15,right
  text "Server Port:",104,200 166 65 15,right
  text "Server Pass:",105,200 186 65 15,right
  text "Nickname:",106,200 206 65 15,right
  edit "",4,265 142 110 22,autohs
  edit "",5,265 162 110 22,autohs
  edit "",6,265 182 110 22,autohs pass
  edit "",7,265 202 110 22,autohs
  check "Open In New Server Window",8,208 223 160 22

  check "Open sBNC on mIRC startup",300,5 252 155 22
  button "Close",201,195 252 90 22,cancel
  button "Connect",200,290 252 90 22,ok disable default
}

on *:dialog:sbnc:init:0:{
  sbnc.refresh.bouncers
  sbnc.refresh.servers
  if ($sbnc.ini(settings,startup)) did -c sbnc 300
  if ($version < 6) did -b sbnc 8
  did -c sbnc 1 1
  if ($did(1).seltext) sbnc.sclick.1
  did -f sbnc 201
  .remove sbnc-logo.bmp
}
on *:dialog:sbnc:sclick:1:sbnc.sclick.1
alias -l sbnc.sclick.1 {
  did -e sbnc 203,204,205
  did -b sbnc 206,207,208
  did -r sbnc 2
  var %sbnc.num 1
  var %sbnc.n $sbnc.tounderscore($did(1).seltext) $+ -vhosts
  while ($ini(sbnc.ini,%sbnc.n,%sbnc.num)) { did -a sbnc 2 $sbnc.ini(%sbnc.n,$ini(sbnc.ini,%sbnc.n,%sbnc.num)) | inc %sbnc.num }
  if ($numtok($sbnc.ini(bouncers,$sbnc.tounderscore($did(1).seltext)),32) = 5) { did -o sbnc 2 0 $gettok($sbnc.ini(bouncers,$sbnc.tounderscore($did(1).seltext)),5,32) | did -e sbnc 208 }
  sbnc.checkok
}
on *:dialog:sbnc:edit:2:{ if ($did(208).enabled) did -b sbnc 208 | if ($did(206).enabled) did -b sbnc 206 | if ($did(2)) { if (!$did(207).enabled) did -e sbnc 207 } | elseif ($did(207).enabled) did -b sbnc 207 }
on *:dialog:sbnc:sclick:2:{ if ($did(207).enabled) did -b sbnc 207 | if ($did(2)) { if (!$did(208).enabled) did -e sbnc 208 | if (!$did(206).enabled) did -e sbnc 206 } }
on *:dialog:sbnc:sclick:3:{
  did -r sbnc 4,5,6,7
  did -e sbnc 209,210,211
  var %sbnc.server = $sbnc.ini(servers,$sbnc.tounderscore($did(sbnc,3).seltext))
  did -a sbnc 4 $gettok(%sbnc.server,1,58)
  did -a sbnc 5 $gettok(%sbnc.server,2,58)
  did -a sbnc 6 $decode($decode($gettok(%sbnc.server,3,58)),m)
  did -a sbnc 7 $gettok(%sbnc.server,4,58)
  sbnc.checkok
}
on *:dialog:sbnc:edit:4:{
  if ($did(4)) { sbnc.checkok | if (!$did(209).enabled) did -e sbnc 209 | if (($did(3).seltext) && (!$did(210).enabled)) did -e sbnc 210 }
  else { did -b sbnc 200 | did -b sbnc 209,210 }
}
on *:dialog:sbnc:sclick:200:{
  if ($did(8).state = 1) {
    server -n
    scid $activecid
  }
  if ($server) disconnect
  if (($did(7)) && ($me != $did(7))) nick $did(7)
  var %bouncer = $gettok($sbnc.ini(bouncers,$sbnc.tounderscore($did(1).seltext)),1-4,32)
  var %bouncer1 = $gettok(%bouncer,1-2,32) $decode($decode($gettok(%bouncer,3,32)),m) $gettok(%bouncer,4,32)
  %sbnc.bouncer [ $+ [ $cid ] ] = $gettok(%bouncer,1,32) $gettok(%bouncer,4,32) $did(2)
  %sbnc.server [ $+ [ $cid ] ] = $+($did(4),:,$iif($did(5),$did(5),6667)) $encode($encode($did(6),m))
  server %bouncer1
}
on *:dialog:sbnc:sclick:202:.timer 1 0 sbnc.add.bouncer
on *:dialog:sbnc:sclick:203:.timer 1 0 sbnc.add.bouncer $sbnc.tounderscore($did(1).seltext)
on *:dialog:sbnc:sclick:204:sbnc.del.bouncer $sbnc.tounderscore($did(1).seltext)
on *:dialog:sbnc:sclick:205:.timer 1 0 sbnc.vhost
on *:dialog:sbnc:sclick:206:sbnc.ini bouncers $sbnc.tounderscore($did(1).seltext) $gettok($sbnc.ini(bouncers,$sbnc.tounderscore($did(1).seltext)),1-4,32) $did(2)
on *:dialog:sbnc:sclick:207:{
  if ($didwm(sbnc,2,$did(2))) { did -b sbnc 207 | did -f sbnc 2 | return }
  var %sbnc.n = $sbnc.tounderscore($did(1).seltext) $+ -vhosts
  remini sbnc.ini %sbnc.n
  var %sbnc.num = 1
  while ($did(2,%sbnc.num)) { sbnc.ini %sbnc.n %sbnc.num $did(2,%sbnc.num) | inc %sbnc.num }
  sbnc.ini %sbnc.n %sbnc.num $did(2)
  did -r sbnc 2
  %sbnc.num = 1
  while ($ini(sbnc.ini,%sbnc.n,%sbnc.num)) { did -a sbnc 2 $readini sbnc.ini %sbnc.n $ini(sbnc.ini,%sbnc.n,%sbnc.num) | inc %sbnc.num }
}
on *:dialog:sbnc:sclick:208:{
  if (!$didwm(sbnc,2,$did(2))) { did -b sbnc 208 | did -f sbnc 2 | return }
  var %sbnc.n = $sbnc.tounderscore($did(1).seltext) $+ -vhosts
  remini sbnc.ini %sbnc.n
  var %sbnc.num = 1
  while ($did(2,%sbnc.num)) { if ($did(2,%sbnc.num) != $did(2)) sbnc.ini %sbnc.n %sbnc.num $did(2,%sbnc.num) | inc %sbnc.num }
  did -r sbnc 2
  %sbnc.num = 1
  while ($ini(sbnc.ini,%sbnc.n,%sbnc.num)) { did -a sbnc 2 $sbnc.ini(%sbnc.n,$ini(sbnc.ini,%sbnc.n,%sbnc.num)) | inc %sbnc.num }
}
on *:dialog:sbnc:sclick:209:if ($did(4)) .timer 1 0 sbnc.add.server
on *:dialog:sbnc:sclick:210:{ var %name = $did(3).seltext | remini sbnc.ini servers $sbnc.tounderscore(%name) | sbnc.add.server %name }
on *:dialog:sbnc:sclick:211:sbnc.del.server $sbnc.tounderscore($did(3).seltext)
on *:dialog:sbnc:sclick:300:sbnc.ini settings startup $did(300).state
on *:dialog:sbnc:dclick:400:{ if ($lock(run)) url -n http://www.sphoo.com/irc | else run http://www.sphoo.com/irc }

; bouncer edit dialog stuff
dialog sbnc.bouncer {
  title "sBNC - Add/Edit Info"
  size -1 -1 172 135
  text "Preset Name:",100,5 10 70 16,right
  text "Bouncer Host:",101,5 30 70 16,right
  text "Bouncer Port:",102,5 50 70 16,right
  text "Bouncer Pass:",103,5 70 70 16,right
  text "Ident Name:",104,5 90 70 16,right

  edit "",1,77 5 90 22,autohs
  edit "",2,77 25 90 22,autohs
  edit "",3,77 45 90 22,autohs
  edit "",4,77 65 90 22,autohs pass
  edit "",5,77 85 90 22,autohs

  button "Cancel",201,5 110 77 22,cancel
  button "OK",200,89 110 77 22,ok default
}

on *:dialog:sbnc.bouncer:init:0:{
  if (!%sbnc.edit) return
  var %sbnc.edittext = $sbnc.ini(bouncers,%sbnc.edit)
  did -a sbnc.bouncer 1 $sbnc.tospace(%sbnc.edit)
  did -a sbnc.bouncer 2 $gettok(%sbnc.edittext,1,32)
  did -a sbnc.bouncer 3 $gettok(%sbnc.edittext,2,32)
  did -a sbnc.bouncer 4 $decode($decode($gettok(%sbnc.edittext,3,32)),m)
  if ($gettok(%sbnc.edittext,4,32) != -) did -a sbnc.bouncer 5 $gettok(%sbnc.edittext,4,32)
}
on *:dialog:sbnc.bouncer:sclick:201:unset %sbnc.edit
on *:dialog:sbnc.bouncer:sclick:200:{
  if (!$did(1)) || (!$did(2)) || (!$did(3)) { sbnc.message You must fill in at least Preset Name, Server Host and Server Port!! | halt }
  if (%sbnc.edit) {
    var %sbnc.n = $sbnc.ini(bouncers,%sbnc.edit)
    remini sbnc.ini bouncers %sbnc.edit
    var %sbnc.old = %sbnc.edit $+ -vhosts
    var %sbnc.new = $sbnc.tounderscore($did(1)) $+ -vhosts
    if ($sbnc.ini(%sbnc.old,1)) && (%sbnc.edit != $sbnc.tounderscore($did(1))) {
      var %sbnc.num = 1
      while ($sbnc.ini(%sbnc.old,%sbnc.num)) {
        sbnc.ini %sbnc.new %sbnc.num $sbnc.ini(%sbnc.old,%sbnc.num)
        inc %sbnc.num
      }
      remini sbnc.ini %sbnc.old
    }
  }  
  unset %sbnc.edit
  sbnc.ini bouncers $sbnc.tounderscore($did(1)) $did(2) $did(3) $encode($encode($did(4),m)) $iif($did(5),$did(5),-) $gettok(%sbnc.n,5,32)
  sbnc.refresh.bouncers
}

; custom aliases and identifiers
alias sbnc.checkok { if ($did(sbnc,1).seltext) && ($did(sbnc,4)) did -e sbnc 200 }
alias sbnc.add.bouncer { if ($1) %sbnc.edit = $1 | dialog -ma sbnc.bouncer sbnc.bouncer }
alias sbnc.del.bouncer { if ($?!="Are you sure you want to delete this preset?") { remini sbnc.ini bouncers $1 | sbnc.refresh.bouncers } }
alias sbnc.add.server {
  if (!$1) var %name = $$?="Enter a preset name:"
  else var %name = $1-
  sbnc.ini servers $sbnc.tounderscore(%name) $+($did(sbnc,4),:,$iif($did(sbnc,5),$did(sbnc,5),6667),:,$iif($did(sbnc,6),$encode($encode($did(sbnc,6),m)),$chr(32)),:,$did(sbnc,7))
  sbnc.refresh.servers nodel
}
alias sbnc.del.server { if ($?!="Are you sure you want to delete this preset?") { remini sbnc.ini servers $1 | sbnc.refresh.servers } }
alias sbnc.refresh.bouncers {
  dialog -v sbnc
  did -r sbnc 1,2
  did -b sbnc 203,204,205,206,207,208,200
  var %sbnc.num 1
  while ($ini(sbnc.ini,bouncers,%sbnc.num)) { did -a sbnc 1 $sbnc.tospace($ini(sbnc.ini,bouncers,%sbnc.num)) | inc %sbnc.num }
}
alias sbnc.refresh.servers {
  dialog -v sbnc
  if (!$1) { did -r sbnc 4,5,6,7 | did -b sbnc 209 }
  did -r sbnc 3
  did -b sbnc 210,211
  if (!$did(sbnc,4)) did -b sbnc 200
  var %sbnc.num 1
  while ($ini(sbnc.ini,servers,%sbnc.num)) { did -a sbnc 3 $sbnc.tospace($ini(sbnc.ini,servers,%sbnc.num)) | inc %sbnc.num }
}
alias sbnc.tounderscore { return $replace($1-,$chr(32),_) }
alias sbnc.tospace { return $replace($1-,_,$chr(32)) }
alias sbnc.ini {
  if ($isid)  return $readini(sbnc.ini,$1,$2)
  else writeini sbnc.ini $1-
}
alias sbnc.vars { return $gettok(%sbnc.vars,$1,32) }

; main sbnc alias to load dialog or run command line parameters
alias sbnc {
  if (!$1) {
    if ($dialog(sbnc)) { dialog -v sbnc | return }
    var %sbnc.rand.1 live the dream!
    var %sbnc.rand.2 making your mother proud!
    var %sbnc.rand.3 for even stubborn stains!
    var %sbnc.rand.4 soft, strong and very long!
    var %sbnc.rand.5 thundercats, ho!
    var %sbnc.rand.6 taste the rainbow!
    var %sbnc.rand.7 always remember the alamo!
    var %sbnc.rand.8 where its always happy hour!
    var %sbnc.rand.9 have a nice day!
    var %sbnc.rand.10 home of sarcastic slogans!
    var %sbnc.text sphoo.com/irc - %sbnc.rand. [ $+ [ $rand(1,10) ] ]
    window -phf @sbnc.logo -1 -1 375 55
    drawfill @sbnc.logo 1 1 0 0
    drawtext -r @sbnc.logo 39423 fixedsys 22 3 0 sBNC Manager v2.1
    drawtext -r @sbnc.logo 13421772 fixedsys 16 $calc(370 - ($len(%sbnc.text) * 8)) 35 %sbnc.text
    drawsave @sbnc.logo sbnc-logo.bmp
    window -c @sbnc.logo
    dialog -m sbnc sbnc
  }
  else {
    if ($1 = -m) %sbnc.vars = $2-
    else %sbnc.vars = $1-
    if (!$sbnc.ini(bouncers,$sbnc.vars(1))) { linesep | echo 2 * sBNC error: unknown bouncer preset $sbnc.vars(1) | linesep | return }
    if (($1 = -m) && ($version >= 6)) {
      server -n
      scid $activecid
    }
    if ($server) disconnect
    if ($sbnc.vars(2)) {
      var %bouncer = $sbnc.ini(bouncers,$sbnc.tounderscore($sbnc.vars(1)))
      %sbnc.bouncer [ $+ [ $cid ] ] = $gettok(%bouncer,1,32) $gettok(%bouncer,4-,32)
      if (!$sbnc.ini(servers,$sbnc.vars(2))) %sbnc.server [ $+ [ $cid ] ] = $sbnc.vars(2-)
      else {
        %sbnc.server [ $+ [ $cid ] ] = $sbnc.ini(servers,$sbnc.vars(2))
        if (($numtok(%sbnc.server [ $+ [ $cid ] ] ,58) = 4) && ($gettok(%sbnc.server [ $+ [ $cid ] ] ,4,58) != $me)) nick $ifmatch
        %sbnc.server [ $+ [ $cid ] ] = $gettok(%sbnc.server [ $+ [ $cid ] ] ,1-2,58) $gettok(%sbnc.server [ $+ [ $cid ] ] ,3,58)
      }
      server $gettok(%bouncer,1-2,32) $decode($decode($gettok(%bouncer,3,32)),m)
      .timer 1 0 set %sbnc.server [ $+ [ $cid ] ] %sbnc.server [ $+ [ $cid ] ]
      .timer 1 0 set %sbnc.bouncer [ $+ [ $cid ] ] %sbnc.bouncer [ $+ [ $cid ] ]
    }
    else {
      var %bouncer = $sbnc.ini(bouncers,$sbnc.vars(1))
      server $gettok(%bouncer,1-2,32) $decode($decode($gettok(%bouncer,3,32)),m)
    }
    unset %sbnc.vars
  }
}

; alert box dialog stuff
dialog sbnc.message {
  title "sBNC - Message"
  size -1 -1 200 80
  text "",2,2 10 196 30,center 
  button "&OK",1,62 45 75 22,OK
}
alias sbnc.message {
  if ($dialog(sbnc.message)) dialog -x sbnc.message
  dialog -mao sbnc.message sbnc.message
  did -o sbnc.message 2 1 $1-
}
on *:dialog:sbnc.message:sclick:1:if ($sock(sbnc.vhost)) sockclose sbnc.vhost

; and finally, the code needed to get the list of vhosts
alias sbnc.vhost {
  if ($sock(sbnc.vhost)) return
  var %sbnc.n $sbnc.ini(bouncers,$sbnc.tounderscore($did(sbnc,1).seltext))
  sbnc.message Connecting to $gettok(%sbnc.n,1,32) $+ ...
  did -o sbnc.message 1 1 Cancel
  sockopen sbnc.vhost $gettok(%sbnc.n,1-2,32)
}
on *:sockopen:sbnc.vhost:{
  if ($sockerr) { did -o sbnc.message 2 1 Error connecting to bouncer! | did -e sbnc.message 1 | return }
  var %sbnc.n $sbnc.ini(bouncers,$sbnc.tounderscore($did(sbnc,1).seltext))
  did -o sbnc.message 2 1 Connected, sending password...
  sockwrite -n sbnc.vhost NICK sBNC
  sockwrite -n sbnc.vhost USER sBNC "" "" :go to www.skeletaltitwank.co.uk ;-)
  sockwrite -n sbnc.vhost PASS $decode($decode($gettok(%sbnc.n,3,32)),m)
}
on *:sockread:sbnc.vhost:{
  if ($sockerr) { did -o sbnc.message 2 1 Error connecting to bouncer! | did -o sbnc.message 1 1 &OK | return }
  var %sbnc.topic $sbnc.tounderscore($did(sbnc,1).seltext) $+ -vhosts
  :read
  sockread %sbnc.n
  %sbnc.n = $right($gettok(%sbnc.n,3-,32),-1)
  if (!$sockbr) return
  if (%sbnc.n = failed pass!!) || (*password incorrect. iswm %sbnc.n) { sockclose sbnc.vhost | did -o sbnc.message 2 1 Password failed!! | did -o sbnc.message 1 1 &OK | return }
  if (welcome to BNC* iswm %sbnc.n) { sockmark sbnc.vhost bnc | set %sbnc.num 1 | remini sbnc.ini %sbnc.topic | sockwrite -n sbnc.vhost VIP | goto read }
  if (*welcome to ezbounce* iswm %sbnc.n)  { sockmark sbnc.vhost ez | set %sbnc.num 1 | remini sbnc.ini %sbnc.topic | sockwrite -n sbnc.vhost vhosts | goto read }
  if (%sbnc.n = Listing Vhosts) || (*available virtual hosts: iswm %sbnc.n) sockmark sbnc.vhost write $sock(sbnc.vhost).mark
  elseif (default vhost:* iswm %sbnc.n) { sbnc.ini %sbnc.topic %sbnc.num $gettok(%sbnc.n,3-,32) | inc %sbnc.num }
  elseif (write* iswm $sock(sbnc.vhost).mark) {
    if (*End of*list* iswm %sbnc.n) { sbnc.vhost.end | return }
    if ($gettok($sock(sbnc.vhost).mark,2,32) = ez) %sbnc.n = $right($gettok(%sbnc.n,2-,32),-1)
    if (%sbnc.n = all) goto read
    did -o sbnc.message 2 1 Recieved $calc(%sbnc.num - 1) vhosts...
    sbnc.ini %sbnc.topic %sbnc.num %sbnc.n
    inc %sbnc.num
  }
  goto read
}
alias sbnc.vhost.end {
  sockclose sbnc.vhost
  did -o sbnc.message 2 1 Recieved $calc(%sbnc.num -1) vhosts. $+ $crlf $+ Finished!
  did -o sbnc.message 1 1 &OK
  unset %sbnc.n %sbnc.num
  if (!$dialog(sbnc)) return
  did -r sbnc 2
  var %sbnc.num 1
  var %sbnc.n $sbnc.tounderscore($did(sbnc,1).seltext) $+ -vhosts
  while ($ini(sbnc.ini,%sbnc.n,%sbnc.num)) { did -a sbnc 2 $sbnc.ini(%sbnc.n,$ini(sbnc.ini,%sbnc.n,%sbnc.num)) | inc %sbnc.num }
}

; EOF, whore.
 
Хехе, ще стане малко като реклама, но защо не пробваш това http://www.web-tourist.net/forum/viewtopic.php?t=2068 : :D :lol:
 
Идеално, и двата скрипта които даде се връзват идеално, скоро замислям да си направя 1 мирка отново, че ми писна от твия цветни "циганий" и от сега знам кой ще са първите адъни които ще си сложа :?:
 
Колко му е да се промени от "msg ns id" на "quote pass" :).

Относно мирките, лидера в бранша -> http://mircscripts.org/
 

Горе