Jump to content

Clone Flooder Help


CharmedOne

Recommended Posts

Ok my code works thats not the problem, i was wanting it to say $nick is a clone flooder! just one time not everytime can someone help fix it pls ty. :pizza:

 

on @*:JOIN:#: { 
  hinc -mu5 cloneflood $nick 
  if ($hget(cloneflood,$nick) >= 2) { 
    var %x = 1 | while ($ialchan(*,#,%x).user) { 
      if ($ifmatch != $ial($me).user) { 
        msg # $ifmatch Hey $nick is clone flooder! 
      } 
      inc %x 
    } 
  } 
}
Link to comment
Share on other sites

Explain that better plz lol.. not sure what you mean by "everytime"?

 

Ok what this protection does is if the same nick enters the room under different gate numbers it is set to message the room who the flooder is, i plan on fixing it to kick, but it tells you the same nick & all the gates & floods the room with text, i only wanted it to say who the flooder is one time not on every gate that enters room with the same nick. :pizza:

Link to comment
Share on other sites

I would have to see this in action I guess before really understanding what you want to do! Sounds like a simple halt on an if gate equals the nick in the msg the room part which would have to be pulled from a list of gates associated with the nick, I could be wrong, Ive never had a need to bother with such prot myself lol...

 

 

Well error & chain seen it in action lastnight & what made me come jup with this idea, i noticed flooders with same nick & different gate numbers sooooo this is what i came up with to stop them.

Link to comment
Share on other sites

Guest Travis

on @*:JOIN:#: { 
  hinc -mu5 cloneflood $nick 
  if ($hget(cloneflood,$nick) >= 2) { 
    var %x = 1 | while ($ialchan(*,#,%x).user) { 
      if ($ifmatch != $ial($me).user) { 
        msg # $ifmatch Hey $nick is clone flooder! 
      } 
      inc %x 
    } 
  } 
}

You start with the detection. Where does this code detect a flood? I'm not really sure. Are you saying that if $hget(cloneflood,$nick) >= 2 then it is a clone flood? So then if it equals 2 then its the beginning of the flood. So just say it then.

 

on @*:JOIN:#: { 
  hinc -mu5 cloneflood $nick 
  if ($hget(cloneflood,$nick) >= 2) { 
if ($v1 = 2) msg # Hey $nick is clone flooder! 


    var %x = 1 | while ($ialchan(*,#,%x).user) { 
      if ($ifmatch != $ial($me).user) { 
        ;msg # $ifmatch Hey $nick is clone flooder! 
      } 
      inc %x 
    } 
  } 
}

 

I don;t know what your while loop is supposed to do so I will leave it alone. This will message at the 2nd join.

Link to comment
Share on other sites

the while loop is to get the actual nicks of the clones. Here is an altered version that will tell you the clones. I would suggest adding some sort of flood protection. Feel free to clean up the code or edit it to your needs.

 

on @*:JOIN:*: { 
  if ($ialchan($address($nick,1),#,0) >= 2) {
    var %a 1
    while ($ialchan($address($nick,1),#,%a)) {
      var %r $addtok(%r,$ialchan($address($nick,1),#,%a).nick,44)
      inc %a
    }
    msg # Clones for $nick : $replace($remtok(%r,$nick,1,44),$chr(44),$chr(44) $+ $chr(32))
  }
}

i only briefly tested this and didn't do much to optimize it

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...