mIRC Home    About    Download    Register    News    Help

Print Thread
#234673 06/11/11 07:30 PM
Joined: Jan 2010
Posts: 51
L
Lenooox Offline OP
Babel fish
OP Offline
Babel fish
L
Joined: Jan 2010
Posts: 51
hello im on Quakenet why not work this script for me? whats wrong? frown

Code:
on *:QUIT:{ if ((*.net *.split  iswm $1) && (*.net *.split $2)) { amsg Netsplit detected between $1 <> $2 } } 



Thank you


(\__/)
(='.'=)
(")_(")
Bunny Hopp

QuakeNet@ #Lenoox <> visit http://www.insaneboard.comeze.com
Lenooox #234674 06/11/11 07:34 PM
Joined: Dec 2002
Posts: 2,962
S
Hoopy frood
Offline
Hoopy frood
S
Joined: Dec 2002
Posts: 2,962
*.net *.split could never be a matching wildmask for $1 because the wildmask contains a space (which by definition $1 never will). Same goes for the $2 check of course.

Also, your $2 check is missing the iswm operator.


Spelling mistakes, grammatical errors, and stupid comments are intentional.
Lenooox #234693 07/11/11 08:00 AM
Joined: Mar 2010
Posts: 146
Vogon poet
Offline
Vogon poet
Joined: Mar 2010
Posts: 146
Even if that code work, you'll be excess flooded off the server by it. Imagine 10 nicknames went off by the net split, then you'll send 10 /amsg in less than a second. You have to make sure to send the message only once.

Code:
on !*:Quit:{
  if (. isin $1) && ($eval($+(%,NoFlood,$network),2) == $null) {
    amsg Netsplit detected between $1 <> $2
    set -u60 $+(%,NoFlood,$network) 1
  }
}


Nothing...
Lenooox #234702 07/11/11 02:52 PM
Joined: Jan 2010
Posts: 51
L
Lenooox Offline OP
Babel fish
OP Offline
Babel fish
L
Joined: Jan 2010
Posts: 51
yes it's true! smile

Thanks for help


(\__/)
(='.'=)
(")_(")
Bunny Hopp

QuakeNet@ #Lenoox <> visit http://www.insaneboard.comeze.com
Lenooox #236568 07/03/12 05:11 PM
Joined: Jan 2010
Posts: 51
L
Lenooox Offline OP
Babel fish
OP Offline
Babel fish
L
Joined: Jan 2010
Posts: 51
NetSplit so rarely I do not know to test,it can be so good?
I want to see the server and the who peoples dropped the netsplit. Idea's ?


Code:
on *:QUIT: {
  if ($1- iswm *.net*.split) {
    inc -u3 %netsplit
    set %netsplitn %netsplitn $nick
    if (!$timer(netsplit)) { .timer 1 2 netsplit $1- }
  }
  haltdef
}
alias netsplit {
  echo -a $1 got splitted
  /ame  >>>(*.net *.split) is Detected on Server by  $network : >>> Splitted Nicks: %netsplitn
  unset %netsplitn
}


(\__/)
(='.'=)
(")_(")
Bunny Hopp

QuakeNet@ #Lenoox <> visit http://www.insaneboard.comeze.com
Lenooox #236569 07/03/12 06:48 PM
Joined: Jan 2004
Posts: 1,358
L
Hoopy frood
Offline
Hoopy frood
L
Joined: Jan 2004
Posts: 1,358
You don't want to check if the timer exists already, just update it if it does. Remove the check, and give the timer a name. This way you will only call your alias a single time after the last quit.

Your haltdef should be within your if statement, you only want to block the netsplit quits.

If enough users quit, your global nick variable may become too large. You'll want to check the size, and start another variable. Or use a different structure.

You don't need to pass $1- to your alias, it should just read from the global variable(s). Since nothing is passed to the alias, don't echo $1.


Link Copied to Clipboard