mIRC Homepage
Posted By: Skeletor Help Needed With My Protection - 28/02/05 01:02 AM
#mass off
on @!*:KICK:#: {
if ($nick isowner $chan) return
if (%kic. [ $+ [ $nick ] $+ . $+ [ $chan ] ] == $null) {
set -u8 %kic. [ $+ [ $nick ] $+ . $+ [ $chan ] ] 1
return
}
else { inc %kic. [ $+ [ $nick ] $+ . $+ [ $chan ] ] }
if (%kic. [ $+ [ $nick ] $+ . $+ [ $chan ] ] == 3 && %kic.check == $null) {
auser masskick $address($nick,1)
access $chan add deny $address 2 : mass kick $replace($nick,>,Guest_) added by $replace($me,>,Guest_) at $date @ $time
kick $chan $nick Mass kick detected
set -u6 %kic.check 1
}
}
#mass end

#dehost on
on ^*:DEOP:#:{
if ($opnick == $me) && ($nick != $me) {
/hop $active
access $active add deny $address($nick,1) 0
kick # $nick ummm no
access # add host $me
}
}
#dehost end

#topiclck off
on *:TOPIC:#: {
if ($nick == $me) Halt {
echo $nick tried to change the Topic
kick $active $nick Don't try to change the TOPIC only I can set it
}
}
#topiclck end

#nowhisper on
on *:TEXT:*:?: {
if ($nick == %whispered) {

kick $active $nick So tell me...how's it feel being a rocket scientist?
unset %whispered
closemsg $nick
}
else {

kick $active $nick The Surgeon General has determined that whispering me, may be bad for your health!!!
set %whispered $nick
closemsg $nick
}
}
#nowhisper end

#kicklockdown on
on *:kick:#: {
if($nick == $me) halt
kick # $nick Did I give you permission to kick? | /splay $mircdir/sounds/fatality.mp3 }
#kicklockdown end

#ban on
on ^1:ban:#:{

if ($banmask iswm $address($me,0)) { if ($nick == $me) { mode $chan -b $banmask | echo -a 5Be Careful! it was lame only lamers ban his address! } | else { echo $chan 3*** $nick sets mode: +b $banmask | if ($me isop $chan) mode $chan -bo $banmask $nick | echo -a 5Be Careful $me $+ :1 ( $+ 5 $+ $banmask $+ 1) 5is on your address! ( $+ $nick $+ / $+ $Address($nick,0) $+ ) 5Was Trying To Ban You On1 ( $+ 5 $+ $chan $+ 5/ $+ 10 $+ $time $+  $+ 1) | kick $chan $nick | halt | /splay fatality.mp3 } }
if ($banmask iswm $address($me,3)) { if ($nick == $me) { mode $chan -b $banmask | echo -a 5Be Careful! it was lame only lamers ban his address! } | else { echo $chan 3*** $nick sets mode: +b $banmask | if ($me isop $chan) mode $chan -bo $banmask $nick | echo -a 5Be Careful $me $+ :1 ( $+ 5 $+ $banmask $+ 1) 5is on your address! ( $+ $nick $+ / $+ $Address($nick,0) $+ ) 5Was Trying To Ban You On1 ( $+ 5 $+ $chan $+ 54/ $+ 10 $+ $time $+  $+ 1) | kick $chan $nick | halt | /splay fatality.mp3 } }
if ($banmask iswm $address($me,5)) { if ($nick == $me) { mode $chan -b $banmask | echo -a 5Be Careful! it was lame only lamers ban his address! } | else { echo $chan 3*** $nick sets mode: +b $banmask | if ($me isop $chan) mode $chan -bo $banmask $nick | echo -a 5Be Careful $me $+ :1 ( $+ 5 $+ $banmask $+ 1) 5is on your address! ( $+ $nick $+ / $+ $Address($nick,0) $+ ) 5Was Trying To Ban You On1 ( $+ 5 $+ $chan $+ 5/ $+ 10 $+ $time $+  $+ 1) | kick $chan $nick | halt | /splay fatality.mp3 } }
if ($banmask iswm $me $+ !*@*) { if ($nick == $me) { mode $chan -b $banmask | echo -a 5Be Careful! it was lame only lamers ban his address! } | else { echo $chan 3*** $nick sets mode: +b $banmask | if ($me isop $chan) mode $chan -bo $banmask $nick | echo -a 5Be Careful $me $+ :1 ( $+ 5 $+ $banmask $+ 1) 5is on your address! ( $+ $nick $+ / $+ $Address($nick,0) $+ ) 5Was Trying To Ban You On1 ( $+ 5 $+ $chan $+ 5/ $+ 10 $+ $time $+  $+ 1) | kick $chan $nick | halt | /splay fatality.mp3 } }

}
#ban end

on ^*:action:*:*:{
if ($filtermsg($1-)) { haltdef }
if ($chan && $hfind(chanhide,$chan,1) == $null) {
hadd -m chanactivity $+ $cid $chan $ctime
window -w $chan
}
}

#timekick on
ctcp *:TIME:* {
if ($nick isowner #) return
$active clear host
$active add deny $address 0
kick $active $nick You have a clock in the lower right of your screen...use it
}
#timekick end

#pingkick on
ctcp *:PING:* {
if ($nick isowner #) return
$active clear host
$active add deny $address 0
kick $active $nick I always hated that ping pong event
}
#pingkick end

#finger on
ctcp *:finger:* {
if ($nick isowner #) return
$active clear host
$active add deny $address 0
kick $active $nick I hope you washed those hands before doing such things
}
#finger end

#version on
ctcp *:version:* {
if ($nick isowner #) return
$active clear host
$active add deny $address 0
kick $active $nick Version? Does it matter? I'm here...you're not
}
#version end


Deop Ptotection To The point that the /hop (part) will take place, but i wont kick
Mass Kick works perfectly
Topic Kick Works Perfectly
Whisper wokrs but when i use the antiidle its kicks me, well it try to but because there is no active channel selected it wont work
Time kick works but same again, if i time my self it kicks me
Version same is tempramental
Finger kick works but kicks myself
BanProtection Works fine

I know its a mess but i am very new to the coding scene, i am more into popups and timed events and dialogs, any help would be great
Posted By: ricky_knuckles Re: Help Needed With My Protection - 28/02/05 01:29 AM
if the deop kick isnt working
try setting the factors to variables
i.e.
on *:deop:#:{
set %nick $nick
set %chan $chan
if (($opnick == $me) && ($nick != $me)) {
part $chan
join %chan
kick %chan %nick
}
}
Posted By: Skeletor Re: Help Needed With My Protection - 28/02/05 01:39 AM
All that happens is that I will part the channel and then:

Error : you are not channel operator at #Channel, is stated. On Returning to the channel and being oped, still nothing

confused
Posted By: SladeKraven Re: Help Needed With My Protection - 28/02/05 06:41 AM
Code:
on *:deop:#:{
  set %nick $nick
  set %chan $chan
  if (($opnick == $me) && ($nick != $me)) {
    part $chan
    join %chan
    ;.chanserv op $chan $me
    ;or other for you to become an oper on $chan.
    if ($me isop %chan) { kick %chan %nick }
  }
  halt
} 


Slightly modified from Ricky's code, indeed we must make sure we're an op when we join the channel. I assume Ricky thought that upon joining the channel you'd be auto opped in that channel, so it is not entirely his fault. smile

But we do need to make sure we're an op on the channel before you perform revenge commands because as you rightly said, you'll get messages saying you're not an operator.

Line 8 and 9 are comments if there is chanserv on the server use line 8 but remove the comment. Other is another way to gain operator status. I know nothing about big networks so I have no clue about the services they use but if it's X or something send X a message to become an op hope this helps.
Posted By: Skeletor Re: Help Needed With My Protection - 28/02/05 08:46 AM
Well i am testing all my protection out on bots of mine which op me soon as i enter any given channel that they are oped in, now chanserv doesnt exsist on the network that i use, we have something called babyserv, and i out network is very small. with very few oparetors, now with this new code I will part the channel once being deoped but i will not rejoin it, the other code i used for deop pro worked okay, but it didnt kick the user that deoped me.
Posted By: ricky_knuckles Re: Help Needed With My Protection - 28/02/05 08:21 PM
heres my assumption
its trying to kick the person who kicked you before you are oped since our kick relies on variables we set earlier we can throw in a timer so as long as your rejoining ok put like a 5 second timer on the kick or just long enough for you to be opped it should i put emphasis on should
here wait let me put emphasis on it
should
work fine if your not rejoining ok try putting a timer on both the rejoin and the kick independantly and then together if u dont make any progress
Posted By: ricky_knuckles Re: Help Needed With My Protection - 28/02/05 08:33 PM
for our convience im testing this as i type this ok i got it to work this is pretty ugly but it gets the job done
im sure someone will give you something better in the mean time
Code:
on *:deop:#:{
  set -u20 %nick $nick
  set -u20 %chan $chan
  if (($opnick == $me) && ($nick != $me)) {
    part $chan
    timer 1 1 join %chan
    timer 1 5 kr
  }
} 

alias kr {
  if ($me isop %chan) {
    kick %chan %nick
  }
}

i would recommend adjusting the timers for the quickest rejoin and kick you can get while still having the script function
the quickest i could manage which wasnt very quick at all was 1 on the rejoin and 5 on the kick which is pretty slow by my standards

timer 1 1 join %chan
timer 1 5 kr
edit i added -u to both the variables so they will clean themselves up after everything is done
© mIRC Discussion Forums