on 1:START:{
  inc %Esecuzione 1 | .titlebar ## §cRiPt per LunarBNC ##
  CheckDrEaMeR§
  .enable #Who | .ignore -r *!*@*
  .disable #Cloni #IRCop #Scan.Who #psUpdateIal #ChanScan #away
  .disable #AnagWin #AnagAuto #DccFuck
  unset %multi* | unset %anag* | .disable #ScaraRicevi #DGquizRead | unset %DGquiz* | unset %Temp_telnet*
  .set %KickAll2 abc | .set %LocalizzaIp OFF | set %telnet.num 0
  .set %CtcpSpy 0 | .set %Collisor OFF
  unset %ghnick.*
  .set %ChanDialog ??? | .set %Chan ??? | set %Away-altrui-nick ???
  echo -s 13,1DrEaMeR§ - §cRipT VeRsIoNe 2.1 8che gira su mIRC $version - 9Ideato ed avviato per la prima volta nello spazio dei vostri sogni.
  echo -s 8Suoni dello script:13 %SuoniScript - 8Supporto SSL:13 $iif(($sslready = $true), ON, OFF)
  echo -s 7Menu Rapido: 8F1 - 7Opzioni Script: 8F2 - 7Gestione canali e auto-join: 8ALT + J
  echo -s 7Per togliere la canzone all'apertura dello script digitare questo ==> 8/unload -rs Script-Aggiunti/MusAvvio.mrc
  echo -s 7Per riattivare la canzone digitare questo ==> 8/load -rs Script-Aggiunti/MusAvvio.mrc
  echo -s 7Per attivare il misuratore di LAG automatico (sarà posto in alto a destra) digitare ==> 8/load -rs addon\lag\zlagbar.mrc
  echo -s 7Per disattivarlo nuovamente digitare ==> 8/unload -rs addon\lag\zlagbar.mrc
  echo -s 13·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*-*·*
  echo -s 11Script ottimizzato per il Bnc Lunar (SSL già preconfigurato... Se ti dà errore dovrai installare
  echo -s 11OpenSSL tramite il file "Win32OpenSSL_Light-1_1_0f.exe" che trovi nella directory dello script.

  if (%mircv6load = on) { dll Scripts\mircv6.dll mircv6 0 }
}

on 1:EXIT: { unset %ghnick.* | unset %Clicking* | .set %Mass ??? }

on 1:CONNECT:{
  if (%AutoIdentify = ON) { DGns }
  .timerAutoAway 0 5 AutoAwayCheckIdle
  if (!$window(@Net-Stats)) { DGMsg -a Server Connesso a14 $server 9:14 $port $iif($network, ( $+ $network $+ ) ) $+ . }
  if (!$dialog(lagmeter)) && (%lag.meter.avvio = ON) { LagMeter }
  if ($dialog(lagmeter)) { did -o lagmeter 4 1 Lag Attuale: Loading... | MisuraLag }
  if ( !%ghnick. [ $+ [ $network ] ] ) { set %ghnick. $+ $network $me }
  TestIp
}
on 1:DISCONNECT:{
  if (!$window(@Net-Stats)) { DGMsg -a Server Disconnesso da14 $server 9:14 $port $iif($network, ( $+ $network $+ ) ) $+ .9 Riconnettiti -> [CTRL+F1] }
  if ($window(@Net-Stats)) { DGMsg -a Server Disconnesso da14 $server 9:14 $port $iif($network, ( $+ $network $+ ) ) $+ .9 Riconnettiti -> [CTRL+F1] }
  unset %joinflood.tmp* | unset %stat.port* | unset %mask.nick
  if ($dialog(lagmeter)) { .timerLAG off | did -o lagmeter 4 1 Lag Attuale: Disconnesso! }
}
on *:PART:#:{
  if ($nick = $me) { unset %joinflood.tmp $+ $chan $+ * }
}

on 1:FILESENT:*.*:{ .ghplay file.wav | DGMsg -sn DCC 9Trasferimento riuscito di13 $nopath($filename) 9( $+ $bytes($file($filename).size,k) kb) a13 $nick - IP: $send($nick).ip }
on 1:FILERCVD:*.*:{
  .ghplay file.wav | DGMsg -sn DCC 9Ricezione completa di13 $nopath($filename) 9( $+ $bytes($file($filename).size,k) kb) da13 $nick - IP: $get($nick).ip
  set %filercvd.tmp.nick $nick | set %filercvd.tmp.nomefile $filename
  set %filercvd.tmp.dimensioni $lof($filename) bytes | filercvd.dialog
  dialog -s filercvd.dialog -1 -1 $calc(200 + ($len($nopath($filename))*5)) 155
}
on 1:GETFAIL:*.*: { DGMsg -sn 4DCC 4Errore, ricezione incompleta di13 $nopath($filename) 8da13 $nick - IP: $get($nick).ip | sinfo }
on 1:SENDFAIL:*.*: { DGMsg -sn 4DCC 4Errore, invio incompleto di13 $nopath($filename) 8a13 $nick - IP: $send($nick).ip | sinfo }

alias filercvd.dialog { if (!$dialog(filercvd.dialog)) { dialog -m filercvd.dialog filercvd.dialog } | else halt }
dialog FileRcvd.dialog {
  title "=[ File Ricevuto ]="
  size -1 -1 137 77
  option dbu
  button "Apri Cartella (CTRL+F3)", 1, 3 50 76 10
  text "Ricevuto da:", 3, 2 5 45 7
  text "Nome file:", 4, 2 16 45 7
  text "Directory:", 5, 2 27 45 7
  text "Dimensione file:", 6, 2 38 45 7
  text "xxx", 7, 52 5 278 7
  text "xxx", 8, 52 16 300 7
  text "xxx", 9, 52 27 300 7
  text "xxx", 10, 52 38 51 7
  button "Apri il File", 12, 3 62 65 10
  button "Chiudi", 13, 72 62 25 10, default ok
}
on *:dialog:filercvd.dialog:sclick:*:{
  if ($did = 1) { sopen | run $nofile(%filercvd.tmp.nomefile) }
  if ($did = 12) { sopen | run %filercvd.tmp.nomefile }
  if ($did = 13) { unset %filercvd.tmp.* | sclose }
}
on *:dialog:filercvd.dialog:init:0:{
  dialog -t filercvd.dialog =[ File Ricevuto ]=
  if (!%filercvd.tmp.nick) { set %filercvd.tmp.nick Sconosciuto } | did -a filercvd.dialog 7 %filercvd.tmp.nick
  if (!%filercvd.tmp.nomefile) { set %filercvd.tmp.nomefile Sconosciuto } | did -a filercvd.dialog 8 $nopath(%filercvd.tmp.nomefile)
  did -a filercvd.dialog 9 $nofile(%filercvd.tmp.nomefile)
  if (!%filercvd.tmp.dimensioni) { set %filercvd.tmp.dimensioni Sconosciuto } | did -a filercvd.dialog 10 %filercvd.tmp.dimensioni
}
;
on 1:DNS: {
  if (%LocalizzaIp = OFF) {
    if ($nick) { DGMsg -a DNS di $nick } | else { DGMsg -a DNS Info }
    if ($naddress) { DGMsg -a HostName $naddress }
    if ($iaddress) { DGMsg -a IP $iaddress } | elseif ($raddress) { DGMsg -a IP Risolto $raddress }
    DGMsg -a DnS End | haltdef
  }
  if (%LocalizzaIp = OFF) {
    if ($iaddress) && ($iaddress != %NickScan) { who $iaddress }
    if ($naddress) && ($naddress != %NickScan) { who $naddress }
    if ($raddress) && ($iaddress != %NickScan) { who $raddress }
    if ($window(@Localizzatore-Nick-IP)) { echo 4 @Localizzatore-Nick-IP Ricerca in corso, è preferibile non effettuare /who per 30 secondi... }
  }
  set %LocalizzaIp OFF | unset %NickScan
}

#SplitDetector on
on 1:QUIT: {
  if ( .. isin $1-) || ( # isin $1-) { halt }
  if (  isin $1-) || (  isin $1-) || (  isin $1-) || (  isin $1-) { halt }
  if ( [ isin $lower($1-)) || ( ] isin $lower($1-)) { halt }
  if ( . !isin $1) || ( . !isin $2) { halt }
  if (( . isin $1) && ( . isin $2)) && (( http: !isin $lower($1-)) && ( www. !isin $lower($1-))) && (!$3) {
    if ( $gettok(1,58, %split ) !isin $1- ) && ( $gettok(2,58, %split ) !isin $2 ) {
      if %split != !:! {
        set %split $1 $+ : $+ $2 | if %split = %split2 halt
        set %multisplitz yes | DGMsg -a Split Netsplit : $1 $2 | .ghplay virus.wav
      }
      else {
        set %split $1 $+ : $+ $2 | if %split = %split2 halt
        set %multisplitz no | DGMsg -a Split Probabile Netsplit : $1 $2 | .ghplay virus.wav
      }
      set %split $1 $+ : $+ $2 | set %split2 $1 $+ : $+ $2
      .timer0 1 60 set %split !:! | .timer1 1 61 set %split2 ???
    }  
  }
}
#SplitDetector end

on 1:JOIN:#:{
  if ($nick = $me) && (%SalutoChan = ON) { msg $chan %SalutoChanMsg }
  if ($nick != $me) && ($comchan($nick,0) < 2) {
    if (%SalutoJoin = on) { .msg $nick %SalutoJoinMsg }
  }
}
on 1:PART:#:{ if ($nick != $me) && ($comchan($nick,0) < 2) {
    if (%SalutoPart = on) { .msg $nick %SalutoPartMsg }
  }
}
; Risposta automatica al saluto
on !1:TEXT:*ciao*:#: { if ( %AutoRisp = ON ) && ( $me isin $1- ) {
    floodcheck | goto $rand(1,17)
    :1 | msg $chan Cia0 $nick $+ ! | goto fine
    :2 | msg $chan AuGh $nick hihihi | goto fine
    :3 | msg $chan Cyaoo $nick $+ ! | goto fine
    :4 | msg $chan uelà $nick $+ ! | goto fine
    :5 | msg $chan WhelàZ $nick $+ ! | goto fine
    :6 | msg $chan hey $nick ciaø! | goto fine
    :7 | msg $chan siaooooo $nick $+ ! ;-) | goto fine
    :8 | msg $chan salve $nick | goto fine
    :9 | msg $chan Hi $nick $+ ! | goto fine
    :10 | msg $chan Cià $nick $+ ! | goto fine
    :11 | msg $chan Hola $nick ! | goto fine
    :12 | msg $chan ue' $nick cia0! | goto fine
    :13 | msg $chan $nick cyaoZ! | goto fine
    :14 | msg $chan $nick $+ ! zao!! | goto fine
    :15 | msg $chan HeiL $nick $+ ov | goto fine
    :16 | msg $chan w çI4o $nick | goto fine
    :17 | msg $chan Saluti a te, $nick :> | goto fine
    :fine
  }
}
; end Risposta automatica al saluto

alias EI-ChanSet { if (!$dialog(EI-ChanSet)) { dialog -m EI-ChanSet EI-ChanSet } | else halt }
dialog EI-ChanSet {
  title "Excepts/Invites Chan Set"
  size -1 -1 135 172
  option dbu
  box "Exception List ( +e )", 101, 2 3 130 77
  list 1, 5 11 125 65, sort
  button "Add mode +e", 2, 50 68 40 10
  button "Remove +e", 3, 90 68 40 10
  box "Invite List ( +I )", 102, 2 82 130 77
  list 4, 5 90 125 65
  button "Add mode +I", 5, 50 147 40 10
  button "Remove +I", 6, 90 147 40 10
  button "OK", 7, 37 162 30 10, default ok
  button "CANCEL", 8, 67 162 30 10, cancel
  text "Attendere..", 103, 7 70 40 7
  text "Attendere..", 104, 7 149 40 7
}

on *:dialog:EI-ChanSet:sclick:*:{
  if ($did = 2) { sopen | addedial }
  if ($did = 3) { sopen | remedial }
  if ($did = 5) { sopen | addidial }
  if ($did = 6) { sopen | remidial }
  if ($did = 7) { sclose }
  if ($did = 8) { sclose }
}
on *:dialog:EI-ChanSet:init:0:{
  if ($me !isop %ChanDialog) { did -b EI-ChanSet 2 | did -b EI-ChanSet 3 | did -b EI-ChanSet 5 | did -b EI-ChanSet 6 }
  .mode %ChanDialog +e
  .mode %ChanDialog +I
}
alias addedial { .mode %ChanDialog +e $$?="Inserisci L'Host da aggiungere alla lista +e (es.*!*@*.DrEaMeR§.com)" | did -a EI-ChanSet 1 $! }
alias addidial { .mode %ChanDialog +I $$?="Inserisci L'Host da aggiungere alla lista +I (es.*!*@*.DrEaMeR§.com)" | did -a EI-ChanSet 4 $! }
alias remedial { .mode %ChanDialog -e $did(EI-ChanSet,1,$did(EI-ChanSet,1).sel).text | did -d EI-ChanSet 1 $did(EI-ChanSet,1).sel }
alias remidial { .mode %ChanDialog -I $did(EI-ChanSet,4,$did(EI-ChanSet,4).sel).text | did -d EI-ChanSet 4 $did(EI-ChanSet,4).sel }
raw 348:*: { if ($dialog(EI-ChanSet)) { did -a EI-ChanSet 1 $3 | halt } }
raw 346:*: { if ($dialog(EI-ChanSet)) { did -a EI-ChanSet 4 $3 | halt } }
raw 349:*: { if ($dialog(EI-ChanSet)) { did -a EI-ChanSet 103 Completed. | halt } }
raw 347:*: { if ($dialog(EI-ChanSet)) { did -a EI-ChanSet 104 Completed. | halt } }
on 1:NOTIFY:{ DGMsg -as Notify  $+ $color(notify) $+ $nick è $iif(($network), su $network, OnLine)
  Parla Notifài, $nick è $iif(($network), su $network, Onlàin)
  haltdef
}
on 1:UNOTIFY:{ DGMsg -as Notify  $+ $color(notify) $+ $nick non è più $iif(($network), su $network, Onlàin)
  Parla Notifài $nick non è più $iif(($network), su $network, OnLine)
  if ($notify($nick).sound) { ghplay notifyoff.wav }
  haltdef
}

menu @Localizzatore-Nick-IP {
  Esegui una Ricerca:LocalizzaIp
  -
  Chiudi Finestra:window -c @Localizzatore-Nick-IP
}
;======================================================================
alias Stato {
  if ($1 = $true) { return on }
  if ($1 = $false) { return off }
}
alias CheckDrEaMeR§ {
  if (%Esecuzione = 1) { set %data $date
    .nick $RandString | .anick $RandString | .identd on $RandString
    .fullname $RandString | .emailaddr $RandString $+ @ $+ $RandString $+ .it
    nick $$?="Inserisci il tuo Nick:" | anick $$?="Inserisci un Nickname alternativo qualora il primo nick sia in uso:"
    .fullname $$?="Inserisci il Full Name che vuoi avere:" | .identd on $$?="Inserisci l'ident che vuoi avere:" | .emailaddr $$?="Inserisci la tua e-mail:"
  }
  if (%Script != $decode(AzE1WwMxNFB1QXpabyBTY1JpcFQDMTVdIAM1LVBhbnRhUmVpLQ==, m)) { .set %Script $decode(AzE1WwMxNFB1QXpabyBTY1JpcFQDMTVdIAM1LVBhbnRhUmVpLQ==, m) }
  if (%Autore != $decode(0GktR2k=, m)) { .set %Autore $decode(0GktR2k=, m) }
  if (%ScrVer != $readini(Scripts\ps-ver.ini, psver, versione)) { set %ScrVer $readini($mircdirScripts\ps-ver.ini, psver, versione) }
}

;@@@@@@@@@@ Telnet in mIRC by Di-Gi @@@@@@@@@@@
alias TelnetNum { var %telnet.num = 0
  :check | inc %telnet.num
  if (!$window(@telnet $+ %telnet.num)) && (!$sock(telnet $+ %telnet.num)) { return %telnet.num }
  else goto check
}
alias Telnet {
  if (!%TelnetEcho) { set %TelnetEcho OFF }
  if (!$1) { DGMsg -a Telnet 13Non hai specificato l'host a cui connetterti. | halt }
  if (($2) && (: !isin $1-)) { sockopen telnet $+ $TelnetNum $1 $2 }
  if ((!$2) && (: !isin $1)) { sockopen telnet $+ $TelnetNum $1 23 }
  if ((!$2) && (: isin $1)) { sockopen telnet $+ $TelnetNum $gettok($1,1,58) $gettok($1,2,58) | halt }
}
on 1:INPUT:@telnet*:{
  if ( $sock($gettok($target,1,64)) == $gettok($target,1,64) ) { sockwrite -n $gettok($target,1,64) $1- }
  if (%TelnetEcho = ON) { aline -p $target < $+ $me $+ > $1- }
}
on 1:CLOSE:@telnet*:{
  if ( $sock($gettok($target,1,64)) == $gettok($target,1,64) ) {
    DGMsg -a Telnet Disconnesso da15 $sock($gettok($target,1,64)).ip
    sockclose $gettok($target,1,64)
  }
}
on 1:SOCKOPEN:telnet*:{
  if ($sockerr > 0) { DGMsg -a Telnet Errore - 13Tentativo fallito di connessione a15 $sock($sockname).ip $+ . | halt }
  .window -e @ $+ $sockname
  titlebar @ $+ $sockname - Connesso a $sock($sockname).ip $+ .
}
on 1:SOCKREAD:telnet*:{
  sockread -f % $+ Temp_ [ $+ [ $sockname ] ]
  if ( !% [ $+ Temp_ $+ [ $sockname ] ] ) { halt }
  aline -p @ $+ $sockname % [ $+ Temp_ $+ [ $sockname ] ]
}
on 1:SOCKCLOSE:telnet*:{
  titlebar @ $+ $sockname - Disconnesso da $sock($sockname).ip
  DGMsg -a Telnet La connessione a3 $sock($sockname).ip 8è stata chiusa.
  unset % [ $+ Temp_ $+ [ $sockname ] ]
}
;@@@@@@@@@@@@@@@@ Telnet in mIRC - Fine @@@@@@@@@@@@@@@@
