Code:
Sub Init
Script "Antiovertake v0.6b by CT-Daimond"
Hook "DeOp"
Hook "Ban"
Hook "Kick"
SpreadFlagMessage 0, "+m", "14*** antiovertakecript by CT-Daimond loaded."
End Sub
Dim rejoin, Name, Channel, host, Check
Sub DeOp(Chan, Nick, RegUser, Flags, DNick, DUser, DFlags, RemovedOp)
If DNick = MyNick Then
If IsOn("L", Chan) Then
SendLine "Privmsg L :op " & Chan, 1
ElseIf IsOn("Q", Chan) Then
SendLine "Privmsg Q :op " & Chan, 1
End If
End If
If IsMaster(RegUser, Nick) = vbNullString Then
SendLine "MODE " & Chan & " -o+b " & Nick & " " & Mask(Hostmask(Chan, Nick), 3), 1
Sendline "KICK " & Chan & " " & Nick & " :Don't deop this user!", 1
SendLine "MODE " & Chan & " +o " & DNick, 1
Else
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just deopped sb. on " & Chan & " - no action "
End If
End Sub
Sub Ban(Nick, RegUser, Chan, HMask)
If IsMaster(RegUser, Nick) = vbNullString Then
SendLine "MODE " & Chan & " -o+b " & Nick & " " & Mask(Hostmask(Chan, Nick), 3), 1
Sendline "KICK " & Chan & " " & Nick & " :Don't ban this user!", 1
SendLine "MODE " & Chan & " -b " & HMask, 1
Else
If HMask = Mask(Hostmask(Chan, MyNick), 3) Then
SendLine "MODE " & Chan & " -b " & HMask, 1
End If
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just banned sb. on " & Chan & " - no action "
End If
End Sub
Sub Kick(Chan, Nick, RegUser, Flags, KNick, KUser, KFlags, Message)
If IsMaster(RegUser, Nick) = vbNullString Then
If KNick = MyNick Then
SendLine "Privmsg L :invite " & Chan, 1
SendLine "Privmsg Q :invite " & Chan, 1
Name = Nick
host = Mask(Hostmask(Chan, Nick), 3)
Channel = Chan
Check = CBOOL(1)
TimedCommand "sicherung", 2
Else
SendLine "MODE " & Chan & " -o+b " & Nick & " " & Mask(Hostmask(Chan, Nick), 3), 1
Sendline "KICK " & Chan & " " & Nick & " :Don't kick this user!", 1
End If
Else
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just kicked sb. on " & Chan & " - no action "
End If
End Sub
Sub sicherung()
If Check = CBOOL(1) Then
If Not IsOp(MyNick, Channel) Then
If IsOn("L", Channel) Then
SendLine "Privmsg L :op " & Channel, 1
ElseIf IsOn("Q", Channel) Then
SendLine "Privmsg Q :op " & Channel, 1
End If
End If
If IsOp(MyNick, Channel) Then
SendLine "MODE " & Channel & " -o+b " & Name & " " & host, 1
Sendline "KICK " & Channel & " " & Name & " :Don't kick this user!", 1
Check = CBOOL(0)
End If
End If
End Sub
Function IsMaster(RegUser, Nick)
If MatchFlags(GetUserFlags(RegUser), "+s") Then
IsMaster = "SuperOwner"
ElseIf MatchFlags(GetUserFlags(RegUser), "+m") Then
IsMaster = "Master"
ElseIf MatchFlags(GetUserFlags(RegUser), "+n") Then
IsMaster = "BotNet-Master"
ElseIf Nick = "L" Or Nick = "Q" Then
IsMaster = "ServiceBot"
ElseIf WildMatch("*.quakenet.org", Nick) Or Nick = vbNullString Then
IsMaster = "Server"
ElseIf Nick = MyNick Then
IsMaster = "Myself"
End If
End Function
Prob ist, das der Bot manchmal zu langsam reagiert. Und das es bei MassDeop ca. 15 Sekunden dauert, bis er überhaupt was macht. (Nur bei Deop wo der Bot mit einbegriffen ist.)