AnGelBot-Portal²

Normale Version: hi junx - script gebraucht :)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Also ich hab folgendes haette ich gern:

Wenn +s gebannt wird das der bot den ban des +s sofort wieder removed das der +s wieder joinen kann - waere wirklich dankbar fuer eure hilfe

mfg SonaX Smile
Falsche Sektion. Verschoben nach Anfragen
hat keiner einen vorschlag ? :(
Nimm ein Antiovertakescript. Da musste mal hier im Forum suchen, da gibt es ganz gute. Ich kann dir das von Morpheus empfehlen. Und frage nicht ob ich es dir posten kann. Dieses Script ist zu 100% hier im Forum. Wink
Code:
Code:
Sub Init
ReDim Channels(0)
ReloadChannels
ReDim Kickmsg(0)
Reloadkickmsg
Script "0,10(( Anti-Overtake 7v1.42 0by -=Morpheus=- ))"
Hook "Chan_Msg"
Hook "Commands"
Hook "Op"
Hook "DeOp"
Hook "Ban"
Hook "Unban"
HooK "Join"
Hook "Kick"
Hook "Raw"
AddCommand "protectsetup", Cl_SOwn, "+s", "2.protectsetup##14Zeigt das Setup von Anti-Overtake Script."
SpreadFlagMessage 0, "+m", "0,10(( Anti-Overtake 7v1.42 0loaded ))"
End Sub

Const chanFile = "protect.ini"

Dim Channels, Channel, Chan, kickCount, fishbotCount, Linex, Kickmsg, Nick, Name, Host, Check

Sub Chan_Msg(Chan, Nick, RegUser, Line)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
If LCase(Param(Line, 1)) = "!topicprotect" Then
If Param(Line, 2) = "off" Then
WriteINIString Chan, "topicprotect", "off", chanFile
ElseIf Param(Line, 2) = "on" Then
WriteINIString Chan, "topicprotect", "on", chanFile
End If
Sendline "Notice " & Nick & " : Topicprotection: " & ReadINIString( Chan, "topicprotect", "0", chanFile), 3
ElseIf LCase(Param(Line, 1)) = "!modeprotect" Then
If Param(Line, 2) = "off" Then
WriteINIString Chan, "modeprotect", "off", chanFile
ElseIf Param(Line, 2) = "on" Then
WriteINIString Chan, "modeprotect", "on", chanFile
End If
Sendline "Notice " & Nick & " : Modeprotection: " & ReadINIString( Chan, "modeprotect", "0", chanFile), 3
ElseIf LCase(Param(Line, 1)) = "!fishbotbitch" Then
If Param(Line, 2) = "off" Then
WriteINIString Chan, "fishbotbitch", "off", chanFile
ElseIf Param(Line, 2) = "on" Then
WriteINIString Chan, "fishbotbitch", "on", chanFile
End If
Sendline "Notice " & Nick & " : fishbotbitch: " & ReadINIString( Chan, "fishbotbitch", "0", chanFile), 3
ElseIf LCase(Param(Line, 1)) = "!protect" Then
If Param(Line, 2) = "off" Then
WriteINIString Chan, "Chanprotect", "off", chanFile
ElseIf Param(Line, 2) = "on" Then
WriteINIString Chan, "Chanprotect", "on", chanFile
End If
Sendline "Notice " & Nick & " : Channelprotection: " & ReadINIString( Chan, "chanprotect", "0", chanFile), 3
End If
End If
End Sub

Sub Commands(vsock, RegUser, Flags, Line)
If LCase(Param(Line, 1)) = ".protectsetup" Then
GrabUser vSock, "Protection Setup", "ProtectSetup"
SetSockTag vSock, "MainMenu"
ProtectSetup vSock, RegUser, Flags, ""
End If
End Sub

Sub ProtectSetup(vSock, RegUser, Flags, Line)
If Param(Line, 1) = "0" Then
TU vsock, "10*** Saving settings..."
ReleaseUser vSock
Exit Sub
End If
Select Case LCase(Param(GetSockTag(vSock), 1))
Case "mainmenu"
TU vSock, " 11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1__________________2​,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
TU vSock, "11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1_0,1 Protection Setup 1,1_2,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
TU vSock, " 11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1__________________2​,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
TU vSock, " "
TU vSock, "Willkommen im Setup von 0,10(( Anti-Overtake 7v1.42 0))"
TU vSock, " "
TU vSock, "0,1­Protected Channels:­"

Dummy = Split(Channels, " ")
For i = LBound(Dummy) To UBound(Dummy)
TU vSock, "1 - " & Dummy(i)
Next

TU vSock, " "
TU vSock, " - ­chan add #channel­ um einen Channel der Liste hinzuzufügen"
TU vSock, " - ­chan del #channel­ um einen Channel aus Liste zu löschen"
TU vSock, " "
TU vSock, "0,1­KickMsg:­"
TU vSock, " - " & Kickmsg & " "
TU vSock, " "
TU vSock, " - ­kickmsg <kickmsg>­ um eine KickMsg einzustellen"
TU vSock, " "
TU vSock, "0,1­Commands für den Channel:­"
TU vSock, " - ­!fishbotbitch on/off­ um den Channel zu recovern wenn er 3 mal hinter einander joint"
TU vSock, " - ­!modeprotect on/off­ um die Mode Protection (für i, l und K) im Channel an/auszuschalten"
TU vSock, " - ­!protect on/off­ um den Anti-Overtake Script im Channel an/auszuschalten"
TU vSock, " - ­!topicprotect on/off­ um die Topic Protection im Channel an/auszuschalten"
TU vSock, " "
TU vSock, " - 0 um zurück auf die Partyline zu kommen."
TU vSock, " ­Nicht vergessen: Der Bot muss von Q/L aus +m haben!­"
SetSockTag vSock, "MainMenuOption"
Case "mainmenuoption"
Select Case LCase(Param(Line, 1))
Case "chan"
If Param(Line, 2) = "" Or Param(Line, 3) = "" Then
TU vSock, "5*** Syntax: chan <add | del> <#channel>"
ProtectSetup vSock, RegUser, Flags, ""
Exit Sub
End If
If LCase(Param(Line, 2)) = "add" Then
Channels = Trim3(Channels & " " & Param(Line, 3))
WriteINIString "Settings", "Channels", Channels, chanFile
TU vSock, "3*** Channel " & LCase(Param(Line, 3)) & " wurde hinzugefügt"
SetSockTag vSock, "MainMenu"
ProtectSetup vSock, RegUser, Flags, ""
ElseIf LCase(Param(Line, 2)) = "del" Then
Channels = Trim3(Replace(LCase(Channels), LCase(Param(Line, 3)), ""))
WriteINIString "Settings", "Channels", Channels, chanFile
TU vSock, "3*** Channel " & LCase(Param(Line, 3)) & " wurde entfernt"
SetSockTag vSock, "MainMenu"
ProtectSetup vSock, RegUser, Flags, ""
End If
Case "kickmsg"
If GetRest(Line, 2) = "" Then
TU vSock, "5*** Syntax: kickmsg <kickmsg>"
ProtectSetup vSock, RegUser, Flags, ""
Exit Sub
Else
WriteINIString "Settings", "Kickmsg", GetRest(Line, 2), chanFile
TU vSock, "3*** KickMsg 1" & GetRest(Line, 2) & " 3wurde eingestellt"
Reloadkickmsg
SetSockTag vSock, "MainMenu"
ProtectSetup vSock, RegUser, Flags, ""
End If
End Select
End Select
End Sub

Sub Op(Chan, Nick, RegUser, Flags, ONick, OUser, OFlags, RemovedOp)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If Linex = "used-massop" Then Exit Sub
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If IsMaster(Chan, Nick, RegUser) = vbNullString Then
If Param(Linex, 1) = "+ooo" Or Param(Linex, 1) = "+oooo" Or Param(Linex, 1) = "+ooooo" Or Param(Linex, 1) = "+oooooo" Then
SpreadFlagMessage 0, "+m", "4*** Channel " & Chan & " is being attacked (massop detected)"
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :recover " & chan, 1
SendLine "PRIVMSG L :op " & Chan, 1
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :recover " & Chan, 1
SendLine "PRIVMSG Q :op " & Chan, 1
End If
Linex = "used-massop"
End If
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason opped10 " & Linex & " 4in10 " & Chan & " "
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason opped10 " & Linex & " 4in10 " & Chan & " "
ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason opped10 " & Linex & " 4in10 " & Chan & " "
End If
SendLine "MODE " & Chan & " " & Replace(Replace(Replace(Param(Linex, 1), "-", "ÿ", 1, 1), "+", "-", 1, 1), "ÿ", "+", 1, 1) & " " & GetRest(Linex, 2), 1
Else
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just opped sb. on " & Chan & " - no action "
End If
End If
End Sub

Sub DeOp(Chan, Nick, RegUser, Flags, DNick, DUser, DFlags, RemovedOp)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If DNick = MyNick Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :recover " & chan, 1
SendLine "PRIVMSG L :op " & Chan, 1  
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :op " & Chan, 1
End If
End If
If IsMaster(Chan, Nick, RegUser) = vbNullString Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason deopped10 " & DNick & " 4in10 " & Chan & " "
ElseIf IsOn("Q", Chan) Then If DNick = MyNick Then
SendLine "PRIVMSG Q :recover " & Chan, 2
SendLine "PRIVMSG Q :op " & Chan, 1
End IF
SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason deopped10 " & DNick & " 4in10 " & Chan & " "
ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason deopped10 " & DNick & " 4in10 " & Chan & " "
End If
Else
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just deopped sb. on " & Chan & " - no action "
End If
End If
End Sub

Sub Ban(Nick, RegUser, Chan, HMask)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If HMask = "*!*@*" Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :RECOVER " & Chan, 1
SendLine "PRIVMSG L :op " & Chan, 1
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :RECOVER " & Chan, 1
SendLine "PRIVMSG Q :op " & Chan, 1
End If
SpreadFlagMessage 0, "+m", "4*** Channel " & Chan & " is being attacked (ban *!*@*)"
End If
If IsMaster(Chan, Nick, RegUser) = vbNullString Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " -b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason banned10 " & HMask & " 4in10 " & Chan & " "
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
SendLine "Privmsg Q :bandel " & Chan & " " & HMask, 2
SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason banned10 " & HMask & " 4in10 " & Chan & " "
ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " -b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason banned10 " & HMask & " 4in10 " & Chan & " "
End If
Else
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just banned sb. on " & Chan & " - no action "
End If
End If
End Sub

Sub Unban(Nick, RegUser, Chan, HMask)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If HMask = "*!*@*" Then Exit Sub
If IsMaster(Chan, Nick, RegUser) = vbNullString Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason unbanned10 " & HMask & " 4in10 " & Chan & " "
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
SendLine "Privmsg Q :ban " & Chan & " " & HMask, 2
SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason unbanned10 " & HMask & " 4in10 " & Chan & " "
ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason unbanned10 " & HMask & " 4in10 " & Chan & " "
End If
Else
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just unbanned sb. on " & Chan & " - no action "
End If
End If
End Sub

Sub Join(Chan, Nick, RegUser, Flags)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If Nick = "fishbot" Then
If ReadINIString(Chan, "fishbotbitch", "", ChanFile) = "on" Then
fishbotCount = fishbotCount + 1
TimedCommand "fishbotCount = 0", 10
If fishbotCount = 3 Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :RECOVER " & Chan, 1
SendLine "PRIVMSG L :op " & Chan, 1
SpreadFlagMessage 0, "+m", "4*** 10fishbot 4joined in10 " & Chan & " 4---> recover ;) "
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :RECOVER " & Chan, 1
SendLine "PRIVMSG Q :op " & Chan, 1
SpreadFlagMessage 0, "+m", "4*** 10fishbot 4joined in10 " & Chan & " 4---> recover ;) "
End If
TimedCommand "fishbotCount = 0", 2
End If
End If
End If
End If
End Sub

Sub Kick(Chan, Nick, RegUser, Flags, KNick, KUser, KFlags, Message)
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If IsMaster(Chan, Nick, RegUser) = vbNullString Then
kickCount = kickCount + 1
TimedCommand "kickCount = 0", 2
If kickCount > 2 Then
SpreadFlagMessage 0, "+m", "4*** Channel " & Chan & " is being attacked (masskick detected)"
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :recover " & chan, 1
SendLine "PRIVMSG L :op " & Chan, 1
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :recover " & Chan, 1
SendLine "PRIVMSG Q :op " & Chan, 1
End If
TimedCommand "kickCount = 0", 2
End If
If KNick = MyNick Then
SendLine "PRIVMSG Q :CHANLEV " & Chan & " " & Nick & " -aotv+b", 1
SendLine "PRIVMSG L :CHANLEV " & Chan & " " & Nick & " -aovg", 1
SendLine "PRIVMSG Q,L :RECOVER " & Chan, 1
SendLine "PRIVMSG Q,L :INVITE " & Chan, 1
Name = Nick
host = Mask(Hostmask(Chan, Nick), 3)
Channel = Chan
Check = CBOOL(1)
TimedCommand "sicherung", 2
End If
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason kicked10 " & KNick & " 4in10 " & Chan & " "
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason kicked10 " & KNick & " 4in10 " & Chan & " "
ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason kicked10 " & KNick & " 4in10 " & Chan & " "
End If
Else
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just kicked sb. on " & Chan & " - no action "
End If
End If
End Sub

Sub sicherung()
If Check = CBOOL(1) Then
ExecuteCommand 0, ".join " & Channel
SendLine "KICK " & Channel & " " & Name & " : " & Kickmsg & " ", 1
SendLine "MODE " & Channel & " +b " & host, 1
Check = CBOOL(0)
End If
End Sub

Sub RAW(Line)
If UCase(Param(Line, 2)) = "MODE" Then
If IsOn(MyNick, Param(Line, 3)) Then
Host = Mid(Param(Line, 1), 2)
Chan = Param(Line, 3)
Nick = ParamX(Host, "!", 1)
Linex = GetRest(Line, 4)
Call ModeChange(Chan, Nick, Host, GetRegUser(Host), Linex)
End If
ElseIf UCase(Param(Line, 2)) = "TOPIC" Then
If IsOn(MyNick, Param(Line, 3)) Then
Host = Mid(Param(Line, 1), 2)
Chan = Param(Line, 3)
Nick = ParamX(Host, "!", 1)
Linex = Mid(GetRest(Line, 4), 2)
Call Topic(Chan, Nick, Host, GetRegUser(Host), Linex)
End If
End If
End Sub

Sub ModeChange(Chan, Nick, Host, RegUser, Linex)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If ReadINIString(Chan, "modeprotect", "", ChanFile) = "on" Then
If "i" = Right(Param(Linex, 1), 1) Or "l" = Right(Param(Linex, 1), 1) Or "k" = Right(Param(Linex, 1), 1) Then
If IsMaster(Chan, Nick, RegUser) = vbNullString Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Host, 1
SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason modechange10 " & Line & " 4in10 " & Chan & " "
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "PrivMSG Q :ban " & Chan & " " & Host, 2
SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason modechange10 " & Line & " 4in10 " & Chan & " "
ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Host, 1
SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason modechange10 " & Line & " 4in10 " & Chan & " "
End If
SpreadFlagMessage 0, "+m", "4*** Reversing modes: '" & Linex & "' to '" & Replace(Replace(Replace(Param(Linex, 1), "-", "ÿ", 1, 1), "+", "-", 1, 1), "ÿ", "+", 1, 1) & " " & GetRest(Linex, 2) & "'"
SendLine "MODE " & Chan & " " & Replace(Replace(Replace(Param(Linex, 1), "-", "ÿ", 1, 1), "+", "-", 1, 1), "ÿ", "+", 1, 1) & " " & GetRest(Linex, 2), 1
Else
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just modechange sb. on " & Chan & " - no action "
End If
End If
End If
End If
End Sub

Sub Topic(Chan, Nick, Host, RegUser, Linex)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
If ReadINIString(Chan, "topicprotect", "", ChanFile) = "on" Then
If IsMaster(Chan, Nick, RegUser) = vbNullString Then
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Host, 1
SendLine "TOPIC " & Chan & " :" & ReadINIString( Chan, "topic", "0", chanFile), 2
SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason Topicchange in10 " & Chan & " "
ElseIf IsOn("Q", Chan) Then
SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "PrivMSG Q :ban " & Chan & " " & Host, 2
SendLine "PrivMSG Q :SETTOPIC " & Chan & " " & ReadINIString( Chan, "topic", "0", chanFile), 2
SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason topicchange in10 " & Chan & " "
ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
SendLine "MODE " & Chan & " +b " & Host, 1
SendLine "TOPIC " & Chan & " :" & ReadINIString( Chan, "topic", "0", chanFile), 2
SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason topicchange in10 " & Chan & " "
End If
Else
WriteINIString Chan, "topic", Linex, chanFile
SpreadFlagMessage 0, "+m", "3*** " & Nick & " just topicchange sb. on " & Chan & " - no action "
End If
End If
End If
End Sub

Sub ReloadChannels()
Channels = ReadINIString("Settings", "Channels", "", chanFile)
End Sub

Sub Reloadkickmsg()
Kickmsg = ReadINIString("Settings", "Kickmsg", "", chanFile)
End Sub

Function GetRegUser(HMask)
Dim i, j

For i = 1 To BotUserCount
For j = 0 To BotUser(i, BU_Hostmasks, 0)
If WildMatch(LCase(BotUser(i, BU_Hostmasks, j)), LCase(HMask)) Then
GetRegUser = BotUser(i, BU_RegNick)
Exit Function
End If
Next
Next
End Function

Function IsMaster(Chan, Nick, RegUser)
If MatchFlags(GetUserFlags(RegUser), "+s") Then
IsMaster = "SuperOwner"
ElseIf MatchFlags(GetUserChanFlags(RegUser, Chan), "+n") Then
IsMaster = "Owner"
ElseIf MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
IsMaster = "Master"
ElseIf MatchFlags(GetUserFlags(RegUser), "+b") Then
IsMaster = "Bot"
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

Function Trim3(Text)
Trim3 = Replace(Replace(Trim(Text), " ", " "), " ", " ")
End Function
So weil ich heute einen guten tag habe poste ich es mal rein (OK eigentlich is mir nur langweilig) Rolling Eyes
Hab mal für ne ordentliche Syntaxformatierung gesorgt.

Code:
Sub Init
  ReDim Channels(0)
  ReloadChannels
  ReDim Kickmsg(0)
  Reloadkickmsg
  Script "0,10(( Anti-Overtake 7v1.42 0by -=Morpheus=- ))"
  Hook "Chan_Msg"
  Hook "Commands"
  Hook "Op"
  Hook "DeOp"
  Hook "Ban"
  Hook "Unban"
  Hook "Join"
  Hook "Kick"
  Hook "Raw"
  AddCommand "protectsetup", Cl_SOwn, "+s", "2.protectsetup##14Zeigt das Setup von Anti-Overtake Script."
  SpreadFlagMessage 0, "+m", "0,10(( Anti-Overtake 7v1.42 0loaded ))"
End Sub

Const chanFile = "protect.ini"

Dim Channels, Channel, Chan, kickCount, fishbotCount, Linex, Kickmsg, Nick, Name, Host, Check

Sub Chan_Msg(Chan, Nick, RegUser, Line)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
    If LCase(Param(Line, 1)) = "!topicprotect" Then
      If Param(Line, 2) = "off" Then
        WriteINIString Chan, "topicprotect", "off", chanFile
      ElseIf Param(Line, 2) = "on" Then
        WriteINIString Chan, "topicprotect", "on", chanFile
      End If
      Sendline "Notice " & Nick & " : Topicprotection: " & ReadINIString( Chan, "topicprotect", "0", chanFile), 3
    ElseIf LCase(Param(Line, 1)) = "!modeprotect" Then
      If Param(Line, 2) = "off" Then
        WriteINIString Chan, "modeprotect", "off", chanFile
      ElseIf Param(Line, 2) = "on" Then
        WriteINIString Chan, "modeprotect", "on", chanFile
      End If
      Sendline "Notice " & Nick & " : Modeprotection: " & ReadINIString( Chan, "modeprotect", "0", chanFile), 3
    ElseIf LCase(Param(Line, 1)) = "!fishbotbitch" Then
      If Param(Line, 2) = "off" Then
        WriteINIString Chan, "fishbotbitch", "off", chanFile
      ElseIf Param(Line, 2) = "on" Then
        WriteINIString Chan, "fishbotbitch", "on", chanFile
      End If
      Sendline "Notice " & Nick & " : fishbotbitch: " & ReadINIString( Chan, "fishbotbitch", "0", chanFile), 3
    ElseIf LCase(Param(Line, 1)) = "!protect" Then
      If Param(Line, 2) = "off" Then
        WriteINIString Chan, "Chanprotect", "off", chanFile
      ElseIf Param(Line, 2) = "on" Then
        WriteINIString Chan, "Chanprotect", "on", chanFile
      End If
      Sendline "Notice " & Nick & " : Channelprotection: " & ReadINIString( Chan, "chanprotect", "0", chanFile), 3
    End If
  End If
End Sub

Sub Commands(vsock, RegUser, Flags, Line)
  If LCase(Param(Line, 1)) = ".protectsetup" Then
    GrabUser vSock, "Protection Setup", "ProtectSetup"
    SetSockTag vSock, "MainMenu"
    ProtectSetup vSock, RegUser, Flags, ""
  End If
End Sub

Sub ProtectSetup(vSock, RegUser, Flags, Line)
  If Param(Line, 1) = "0" Then
    TU vsock, "10*** Saving settings..."
    ReleaseUser vSock
    Exit Sub
  End If
  Select Case LCase(Param(GetSockTag(vSock), 1))
    Case "mainmenu"
      TU vSock, " 11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1__________________2​,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
      TU vSock, "11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1_0,1 Protection Setup 1,1_2,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
      TU vSock, " 11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1__________________2​,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
      TU vSock, " "
      TU vSock, "Willkommen im Setup von 0,10(( Anti-Overtake 7v1.42 0))"
      TU vSock, " "
      TU vSock, "0,1­Protected Channels:­"
      
      Dummy = Split(Channels, " ")
      For i = LBound(Dummy) To UBound(Dummy)
        TU vSock, "1 - " & Dummy(i)
      Next
      
      TU vSock, " "
      TU vSock, " - ­chan add #channel­ um einen Channel der Liste hinzuzufügen"
      TU vSock, " - ­chan del #channel­ um einen Channel aus Liste zu löschen"
      TU vSock, " "
      TU vSock, "0,1­KickMsg:­"
      TU vSock, " - " & Kickmsg & " "
      TU vSock, " "
      TU vSock, " - ­kickmsg <kickmsg>­ um eine KickMsg einzustellen"
      TU vSock, " "
      TU vSock, "0,1­Commands für den Channel:­"
      TU vSock, " - ­!fishbotbitch on/off­ um den Channel zu recovern wenn er 3 mal hinter einander joint"
      TU vSock, " - ­!modeprotect on/off­ um die Mode Protection (für i, l und K) im Channel an/auszuschalten"
      TU vSock, " - ­!protect on/off­ um den Anti-Overtake Script im Channel an/auszuschalten"
      TU vSock, " - ­!topicprotect on/off­ um die Topic Protection im Channel an/auszuschalten"
      TU vSock, " "
      TU vSock, " - 0 um zurück auf die Partyline zu kommen."
      TU vSock, " ­Nicht vergessen: Der Bot muss von Q/L aus +m haben!­"
      SetSockTag vSock, "MainMenuOption"
    Case "mainmenuoption"
      Select Case LCase(Param(Line, 1))
        Case "chan"
          If Param(Line, 2) = "" Or Param(Line, 3) = "" Then
            TU vSock, "5*** Syntax: chan <add | del> <#channel>"
            ProtectSetup vSock, RegUser, Flags, ""
            Exit Sub
          End If
          If LCase(Param(Line, 2)) = "add" Then
            Channels = Trim3(Channels & " " & Param(Line, 3))
            WriteINIString "Settings", "Channels", Channels, chanFile
            TU vSock, "3*** Channel " & LCase(Param(Line, 3)) & " wurde hinzugefügt"
            SetSockTag vSock, "MainMenu"
            ProtectSetup vSock, RegUser, Flags, ""
          ElseIf LCase(Param(Line, 2)) = "del" Then
            Channels = Trim3(Replace(LCase(Channels), LCase(Param(Line, 3)), ""))
            WriteINIString "Settings", "Channels", Channels, chanFile
            TU vSock, "3*** Channel " & LCase(Param(Line, 3)) & " wurde entfernt"
            SetSockTag vSock, "MainMenu"
            ProtectSetup vSock, RegUser, Flags, ""
          End If
        Case "kickmsg"
          If GetRest(Line, 2) = "" Then
            TU vSock, "5*** Syntax: kickmsg <kickmsg>"
            ProtectSetup vSock, RegUser, Flags, ""
            Exit Sub
          Else
            WriteINIString "Settings", "Kickmsg", GetRest(Line, 2), chanFile
            TU vSock, "3*** KickMsg 1" & GetRest(Line, 2) & " 3wurde eingestellt"
            Reloadkickmsg
            SetSockTag vSock, "MainMenu"
            ProtectSetup vSock, RegUser, Flags, ""
          End If
      End Select
  End Select
End Sub

Sub Op(Chan, Nick, RegUser, Flags, ONick, OUser, OFlags, RemovedOp)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If Linex = "used-massop" Then Exit Sub
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If IsMaster(Chan, Nick, RegUser) = vbNullString Then
      If Param(Linex, 1) = "+ooo" Or Param(Linex, 1) = "+oooo" Or Param(Linex, 1) = "+ooooo" Or Param(Linex, 1) = "+oooooo" Then
        SpreadFlagMessage 0, "+m", "4*** Channel " & Chan & " is being attacked (massop detected)"
        If IsOn("L", Chan) Then
          SendLine "PRIVMSG L :recover " & chan, 1
          SendLine "PRIVMSG L :op " & Chan, 1
        ElseIf IsOn("Q", Chan) Then
          SendLine "PRIVMSG Q :recover " & Chan, 1
          SendLine "PRIVMSG Q :op " & Chan, 1
        End If
        Linex = "used-massop"
      End If
      If IsOn("L", Chan) Then
        SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason opped10 " & Linex & " 4in10 " & Chan & " "
      ElseIf IsOn("Q", Chan) Then
        SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
        SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason opped10 " & Linex & " 4in10 " & Chan & " "
      ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason opped10 " & Linex & " 4in10 " & Chan & " "
      End If
      SendLine "MODE " & Chan & " " & Replace(Replace(Replace(Param(Linex, 1), "-", "ÿ", 1, 1), "+", "-", 1, 1), "ÿ", "+", 1, 1) & " " & GetRest(Linex, 2), 1
    Else
      SpreadFlagMessage 0, "+m", "3*** " & Nick & " just opped sb. on " & Chan & " - no action "
    End If
  End If
End Sub

Sub DeOp(Chan, Nick, RegUser, Flags, DNick, DUser, DFlags, RemovedOp)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If DNick = MyNick Then
      If IsOn("L", Chan) Then
        SendLine "PRIVMSG L :recover " & chan, 1
        SendLine "PRIVMSG L :op " & Chan, 1
      ElseIf IsOn("Q", Chan) Then
        SendLine "PRIVMSG Q :op " & Chan, 1
      End If
    End If
    If IsMaster(Chan, Nick, RegUser) = vbNullString Then
      If IsOn("L", Chan) Then
        SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason deopped10 " & DNick & " 4in10 " & Chan & " "
      ElseIf IsOn("Q", Chan) Then If DNick = MyNick Then
        SendLine "PRIVMSG Q :recover " & Chan, 2
        SendLine "PRIVMSG Q :op " & Chan, 1
      End If
      SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
      SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
      SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
      SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason deopped10 " & DNick & " 4in10 " & Chan & " "
    ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
      SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
      SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
      SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason deopped10 " & DNick & " 4in10 " & Chan & " "
    End If
  Else
    SpreadFlagMessage 0, "+m", "3*** " & Nick & " just deopped sb. on " & Chan & " - no action "
  End If
  
End Sub

Sub Ban(Nick, RegUser, Chan, HMask)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If HMask = "*!*@*" Then
      If IsOn("L", Chan) Then
        SendLine "PRIVMSG L :RECOVER " & Chan, 1
        SendLine "PRIVMSG L :op " & Chan, 1
      ElseIf IsOn("Q", Chan) Then
        SendLine "PRIVMSG Q :RECOVER " & Chan, 1
        SendLine "PRIVMSG Q :op " & Chan, 1
      End If
      SpreadFlagMessage 0, "+m", "4*** Channel " & Chan & " is being attacked (ban *!*@*)"
    End If
    If IsMaster(Chan, Nick, RegUser) = vbNullString Then
      If IsOn("L", Chan) Then
        SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " -b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason banned10 " & HMask & " 4in10 " & Chan & " "
      ElseIf IsOn("Q", Chan) Then
        SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
        SendLine "Privmsg Q :bandel " & Chan & " " & HMask, 2
        SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason banned10 " & HMask & " 4in10 " & Chan & " "
      ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " -b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason banned10 " & HMask & " 4in10 " & Chan & " "
      End If
    Else
      SpreadFlagMessage 0, "+m", "3*** " & Nick & " just banned sb. on " & Chan & " - no action "
    End If
  End If
End Sub

Sub Unban(Nick, RegUser, Chan, HMask)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If HMask = "*!*@*" Then Exit Sub
    If IsMaster(Chan, Nick, RegUser) = vbNullString Then
      If IsOn("L", Chan) Then
        SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " +b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason unbanned10 " & HMask & " 4in10 " & Chan & " "
      ElseIf IsOn("Q", Chan) Then
        SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
        SendLine "Privmsg Q :ban " & Chan & " " & HMask, 2
        SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason unbanned10 " & HMask & " 4in10 " & Chan & " "
      ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " +b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason unbanned10 " & HMask & " 4in10 " & Chan & " "
      End If
    Else
      SpreadFlagMessage 0, "+m", "3*** " & Nick & " just unbanned sb. on " & Chan & " - no action "
    End If
  End If
End Sub

Sub Join(Chan, Nick, RegUser, Flags)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If Nick = "fishbot" Then
      If ReadINIString(Chan, "fishbotbitch", "", ChanFile) = "on" Then
        fishbotCount = fishbotCount + 1
        TimedCommand "fishbotCount = 0", 10
        If fishbotCount = 3 Then
          If IsOn("L", Chan) Then
            SendLine "PRIVMSG L :RECOVER " & Chan, 1
            SendLine "PRIVMSG L :op " & Chan, 1
            SpreadFlagMessage 0, "+m", "4*** 10fishbot 4joined in10 " & Chan & " 4---> recover ;) "
          ElseIf IsOn("Q", Chan) Then
            SendLine "PRIVMSG Q :RECOVER " & Chan, 1
            SendLine "PRIVMSG Q :op " & Chan, 1
            SpreadFlagMessage 0, "+m", "4*** 10fishbot 4joined in10 " & Chan & " 4---> recover ;) "
          End If
          TimedCommand "fishbotCount = 0", 2
        End If
      End If
    End If
  End If
End Sub

Sub Kick(Chan, Nick, RegUser, Flags, KNick, KUser, KFlags, Message)
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
    If IsMaster(Chan, Nick, RegUser) = vbNullString Then
      kickCount = kickCount + 1
      TimedCommand "kickCount = 0", 2
      If kickCount > 2 Then
        SpreadFlagMessage 0, "+m", "4*** Channel " & Chan & " is being attacked (masskick detected)"
        If IsOn("L", Chan) Then
          SendLine "PRIVMSG L :recover " & chan, 1
          SendLine "PRIVMSG L :op " & Chan, 1
        ElseIf IsOn("Q", Chan) Then
          SendLine "PRIVMSG Q :recover " & Chan, 1
          SendLine "PRIVMSG Q :op " & Chan, 1
        End If
        TimedCommand "kickCount = 0", 2
      End If
      If KNick = MyNick Then
        SendLine "PRIVMSG Q :CHANLEV " & Chan & " " & Nick & " -aotv+b", 1
        SendLine "PRIVMSG L :CHANLEV " & Chan & " " & Nick & " -aovg", 1
        SendLine "PRIVMSG Q,L :RECOVER " & Chan, 1
        SendLine "PRIVMSG Q,L :INVITE " & Chan, 1
        Name = Nick
        host = Mask(Hostmask(Chan, Nick), 3)
        Channel = Chan
        Check = CBOOL(1)
        TimedCommand "sicherung", 2
      End If
      If IsOn("L", Chan) Then
        SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason kicked10 " & KNick & " 4in10 " & Chan & " "
      ElseIf IsOn("Q", Chan) Then
        SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason kicked10 " & KNick & " 4in10 " & Chan & " "
      ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason kicked10 " & KNick & " 4in10 " & Chan & " "
      End If
    Else
      SpreadFlagMessage 0, "+m", "3*** " & Nick & " just kicked sb. on " & Chan & " - no action "
    End If
  End If
End Sub

Sub sicherung()
  If Check = CBOOL(1) Then
    ExecuteCommand 0, ".join " & Channel
    SendLine "KICK " & Channel & " " & Name & " : " & Kickmsg & " ", 1
    SendLine "MODE " & Channel & " +b " & host, 1
    Check = CBOOL(0)
  End If
End Sub

Sub RAW(Line)
  If UCase(Param(Line, 2)) = "MODE" Then
    If IsOn(MyNick, Param(Line, 3)) Then
      Host = Mid(Param(Line, 1), 2)
      Chan = Param(Line, 3)
      Nick = ParamX(Host, "!", 1)
      Linex = GetRest(Line, 4)
      Call ModeChange(Chan, Nick, Host, GetRegUser(Host), Linex)
    End If
  ElseIf UCase(Param(Line, 2)) = "TOPIC" Then
    If IsOn(MyNick, Param(Line, 3)) Then
      Host = Mid(Param(Line, 1), 2)
      Chan = Param(Line, 3)
      Nick = ParamX(Host, "!", 1)
      Linex = Mid(GetRest(Line, 4), 2)
      Call Topic(Chan, Nick, Host, GetRegUser(Host), Linex)
    End If
  End If
End Sub

Sub ModeChange(Chan, Nick, Host, RegUser, Linex)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If ReadINIString(Chan, "modeprotect", "", ChanFile) = "on" Then
      If "i" = Right(Param(Linex, 1), 1) Or "l" = Right(Param(Linex, 1), 1) Or "k" = Right(Param(Linex, 1), 1) Then
        If IsMaster(Chan, Nick, RegUser) = vbNullString Then
          If IsOn("L", Chan) Then
            SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
            SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
            SendLine "MODE " & Chan & " +b " & Host, 1
            SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason modechange10 " & Line & " 4in10 " & Chan & " "
          ElseIf IsOn("Q", Chan) Then
            SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
            SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
            SendLine "PrivMSG Q :ban " & Chan & " " & Host, 2
            SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason modechange10 " & Line & " 4in10 " & Chan & " "
          ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
            SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
            SendLine "MODE " & Chan & " +b " & Host, 1
            SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason modechange10 " & Line & " 4in10 " & Chan & " "
          End If
          SpreadFlagMessage 0, "+m", "4*** Reversing modes: '" & Linex & "' to '" & Replace(Replace(Replace(Param(Linex, 1), "-", "ÿ", 1, 1), "+", "-", 1, 1), "ÿ", "+", 1, 1) & " " & GetRest(Linex, 2) & "'"
          SendLine "MODE " & Chan & " " & Replace(Replace(Replace(Param(Linex, 1), "-", "ÿ", 1, 1), "+", "-", 1, 1), "ÿ", "+", 1, 1) & " " & GetRest(Linex, 2), 1
        Else
          SpreadFlagMessage 0, "+m", "3*** " & Nick & " just modechange sb. on " & Chan & " - no action "
        End If
      End If
    End If
  End If
End Sub

Sub Topic(Chan, Nick, Host, RegUser, Linex)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If ReadINIString(Chan, "topicprotect", "", ChanFile) = "on" Then
      If IsMaster(Chan, Nick, RegUser) = vbNullString Then
        If IsOn("L", Chan) Then
          SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
          SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
          SendLine "MODE " & Chan & " +b " & Host, 1
          SendLine "TOPIC " & Chan & " :" & ReadINIString( Chan, "topic", "0", chanFile), 2
          SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason Topicchange in10 " & Chan & " "
        ElseIf IsOn("Q", Chan) Then
          SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
          SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
          SendLine "PrivMSG Q :ban " & Chan & " " & Host, 2
          SendLine "PrivMSG Q :SETTOPIC " & Chan & " " & ReadINIString( Chan, "topic", "0", chanFile), 2
          SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason topicchange in10 " & Chan & " "
        ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
          SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
          SendLine "MODE " & Chan & " +b " & Host, 1
          SendLine "TOPIC " & Chan & " :" & ReadINIString( Chan, "topic", "0", chanFile), 2
          SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason topicchange in10 " & Chan & " "
        End If
      Else
        WriteINIString Chan, "topic", Linex, chanFile
        SpreadFlagMessage 0, "+m", "3*** " & Nick & " just topicchange sb. on " & Chan & " - no action "
      End If
    End If
  End If
End Sub

Sub ReloadChannels()
  Channels = ReadINIString("Settings", "Channels", "", chanFile)
End Sub

Sub Reloadkickmsg()
  Kickmsg = ReadINIString("Settings", "Kickmsg", "", chanFile)
End Sub

Function GetRegUser(HMask)
  Dim i, j
  
  For i = 1 To BotUserCount
    For j = 0 To BotUser(i, BU_Hostmasks, 0)
      If WildMatch(LCase(BotUser(i, BU_Hostmasks, j)), LCase(HMask)) Then
        GetRegUser = BotUser(i, BU_RegNick)
        Exit Function
      End If
    Next
  Next
End Function

Function IsMaster(Chan, Nick, RegUser)
  If MatchFlags(GetUserFlags(RegUser), "+s") Then
    IsMaster = "SuperOwner"
  ElseIf MatchFlags(GetUserChanFlags(RegUser, Chan), "+n") Then
    IsMaster = "Owner"
  ElseIf MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
    IsMaster = "Master"
  ElseIf MatchFlags(GetUserFlags(RegUser), "+b") Then
    IsMaster = "Bot"
  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

Function Trim3(Text)
  Trim3 = Replace(Replace(Trim(Text), " ", " "), " ", " ")
End Function

sts
Code:
Sub Init
  ReDim Channels(0)
  ReloadChannels
  ReDim Kickmsg(0)
  Reloadkickmsg
  Script "0,10(( Anti-Overtake 7v1.42 0by -=Morpheus=- ))"
  Hook "Chan_Msg"
  Hook "Commands"
  Hook "Op"
  Hook "DeOp"
  Hook "Ban"
  Hook "Unban"
  Hook "Join"
  Hook "Kick"
  Hook "Raw"
  AddCommand "protectsetup", Cl_SOwn, "+s", "2.protectsetup##14Zeigt das Setup von Anti-Overtake Script."
  SpreadFlagMessage 0, "+m", "0,10(( Anti-Overtake 7v1.42 0loaded ))"
End Sub

Const chanFile = "protect.ini"

Dim Channels, Channel, Chan, kickCount, fishbotCount, Linex, Kickmsg, Nick, Name, Host, Check

Sub Chan_Msg(Chan, Nick, RegUser, Line)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
    If LCase(Param(Line, 1)) = "!topicprotect" Then
      If Param(Line, 2) = "off" Then
        WriteINIString Chan, "topicprotect", "off", chanFile
      ElseIf Param(Line, 2) = "on" Then
        WriteINIString Chan, "topicprotect", "on", chanFile
      End If
      Sendline "Notice " & Nick & " : Topicprotection: " & ReadINIString( Chan, "topicprotect", "0", chanFile), 3
    ElseIf LCase(Param(Line, 1)) = "!modeprotect" Then
      If Param(Line, 2) = "off" Then
        WriteINIString Chan, "modeprotect", "off", chanFile
      ElseIf Param(Line, 2) = "on" Then
        WriteINIString Chan, "modeprotect", "on", chanFile
      End If
      Sendline "Notice " & Nick & " : Modeprotection: " & ReadINIString( Chan, "modeprotect", "0", chanFile), 3
    ElseIf LCase(Param(Line, 1)) = "!fishbotbitch" Then
      If Param(Line, 2) = "off" Then
        WriteINIString Chan, "fishbotbitch", "off", chanFile
      ElseIf Param(Line, 2) = "on" Then
        WriteINIString Chan, "fishbotbitch", "on", chanFile
      End If
      Sendline "Notice " & Nick & " : fishbotbitch: " & ReadINIString( Chan, "fishbotbitch", "0", chanFile), 3
    ElseIf LCase(Param(Line, 1)) = "!protect" Then
      If Param(Line, 2) = "off" Then
        WriteINIString Chan, "Chanprotect", "off", chanFile
      ElseIf Param(Line, 2) = "on" Then
        WriteINIString Chan, "Chanprotect", "on", chanFile
      End If
      Sendline "Notice " & Nick & " : Channelprotection: " & ReadINIString( Chan, "chanprotect", "0", chanFile), 3
    End If
  End If
End Sub

Sub Commands(vsock, RegUser, Flags, Line)
  If LCase(Param(Line, 1)) = ".protectsetup" Then
    GrabUser vSock, "Protection Setup", "ProtectSetup"
    SetSockTag vSock, "MainMenu"
    ProtectSetup vSock, RegUser, Flags, ""
  End If
End Sub

Sub ProtectSetup(vSock, RegUser, Flags, Line)
  If Param(Line, 1) = "0" Then
    TU vsock, "10*** Saving settings..."
    ReleaseUser vSock
    Exit Sub
  End If
  Select Case LCase(Param(GetSockTag(vSock), 1))
    Case "mainmenu"
      TU vSock, " 11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1__________________2​,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
      TU vSock, "11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1_0,1 Protection Setup 1,1_2,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
      TU vSock, " 11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1__________________2​,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
      TU vSock, " "
      TU vSock, "Willkommen im Setup von 0,10(( Anti-Overtake 7v1.42 0))"
      TU vSock, " "
      TU vSock, "0,1­Protected Channels:­"
    
      Dummy = Split(Channels, " ")
      For i = LBound(Dummy) To UBound(Dummy)
        TU vSock, "1 - " & Dummy(i)
      Next
    
      TU vSock, " "
      TU vSock, " - ­chan add #channel­ um einen Channel der Liste hinzuzufügen"
      TU vSock, " - ­chan del #channel­ um einen Channel aus Liste zu löschen"
      TU vSock, " "
      TU vSock, "0,1­KickMsg:­"
      TU vSock, " - " & Kickmsg & " "
      TU vSock, " "
      TU vSock, " - ­kickmsg <kickmsg>­ um eine KickMsg einzustellen"
      TU vSock, " "
      TU vSock, "0,1­Commands für den Channel:­"
      TU vSock, " - ­!fishbotbitch on/off­ um den Channel zu recovern wenn er 3 mal hinter einander joint"
      TU vSock, " - ­!modeprotect on/off­ um die Mode Protection (für i, l und K) im Channel an/auszuschalten"
      TU vSock, " - ­!protect on/off­ um den Anti-Overtake Script im Channel an/auszuschalten"
      TU vSock, " - ­!topicprotect on/off­ um die Topic Protection im Channel an/auszuschalten"
      TU vSock, " "
      TU vSock, " - 0 um zurück auf die Partyline zu kommen."
      TU vSock, " ­Nicht vergessen: Der Bot muss von Q/L aus +m haben!­"
      SetSockTag vSock, "MainMenuOption"
    Case "mainmenuoption"
      Select Case LCase(Param(Line, 1))
        Case "chan"
          If Param(Line, 2) = "" Or Param(Line, 3) = "" Then
            TU vSock, "5*** Syntax: chan <add | del> <#channel>"
            ProtectSetup vSock, RegUser, Flags, ""
            Exit Sub
          End If
          If LCase(Param(Line, 2)) = "add" Then
            Channels = Trim3(Channels & " " & Param(Line, 3))
            WriteINIString "Settings", "Channels", Channels, chanFile
            TU vSock, "3*** Channel " & LCase(Param(Line, 3)) & " wurde hinzugefügt"
            SetSockTag vSock, "MainMenu"
            ProtectSetup vSock, RegUser, Flags, ""
          ElseIf LCase(Param(Line, 2)) = "del" Then
            Channels = Trim3(Replace(LCase(Channels), LCase(Param(Line, 3)), ""))
            WriteINIString "Settings", "Channels", Channels, chanFile
            TU vSock, "3*** Channel " & LCase(Param(Line, 3)) & " wurde entfernt"
            SetSockTag vSock, "MainMenu"
            ProtectSetup vSock, RegUser, Flags, ""
          End If
        Case "kickmsg"
          If GetRest(Line, 2) = "" Then
            TU vSock, "5*** Syntax: kickmsg <kickmsg>"
            ProtectSetup vSock, RegUser, Flags, ""
            Exit Sub
          Else
            WriteINIString "Settings", "Kickmsg", GetRest(Line, 2), chanFile
            TU vSock, "3*** KickMsg 1" & GetRest(Line, 2) & " 3wurde eingestellt"
            Reloadkickmsg
            SetSockTag vSock, "MainMenu"
            ProtectSetup vSock, RegUser, Flags, ""
          End If
      End Select
  End Select
End Sub

Sub Op(Chan, Nick, RegUser, Flags, ONick, OUser, OFlags, RemovedOp)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If Linex = "used-massop" Then Exit Sub
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If IsMaster(Chan, Nick, RegUser) = vbNullString Then
      If Param(Linex, 1) = "+ooo" Or Param(Linex, 1) = "+oooo" Or Param(Linex, 1) = "+ooooo" Or Param(Linex, 1) = "+oooooo" Then
        SpreadFlagMessage 0, "+m", "4*** Channel " & Chan & " is being attacked (massop detected)"
        If IsOn("L", Chan) Then
          SendLine "PRIVMSG L :recover " & chan, 1
          SendLine "PRIVMSG L :op " & Chan, 1
        ElseIf IsOn("Q", Chan) Then
          SendLine "PRIVMSG Q :recover " & Chan, 1
          SendLine "PRIVMSG Q :op " & Chan, 1
        End If
        Linex = "used-massop"
      End If
      If IsOn("L", Chan) Then
        SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason opped10 " & Linex & " 4in10 " & Chan & " "
      ElseIf IsOn("Q", Chan) Then
        SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
        SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason opped10 " & Linex & " 4in10 " & Chan & " "
      ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason opped10 " & Linex & " 4in10 " & Chan & " "
      End If
      SendLine "MODE " & Chan & " " & Replace(Replace(Replace(Param(Linex, 1), "-", "ÿ", 1, 1), "+", "-", 1, 1), "ÿ", "+", 1, 1) & " " & GetRest(Linex, 2), 1
    Else
      SpreadFlagMessage 0, "+m", "3*** " & Nick & " just opped sb. on " & Chan & " - no action "
    End If
  End If
End Sub

Sub DeOp(Chan, Nick, RegUser, Flags, DNick, DUser, DFlags, RemovedOp)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If DNick = MyNick Then
      If IsOn("L", Chan) Then
        SendLine "PRIVMSG L :recover " & chan, 1
        SendLine "PRIVMSG L :op " & Chan, 1
      ElseIf IsOn("Q", Chan) Then
        SendLine "PRIVMSG Q :op " & Chan, 1
      End If
    End If
    If IsMaster(Chan, Nick, RegUser) = vbNullString Then
      If IsOn("L", Chan) Then
        SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason deopped10 " & DNick & " 4in10 " & Chan & " "
      ElseIf IsOn("Q", Chan) Then If DNick = MyNick Then
        SendLine "PRIVMSG Q :recover " & Chan, 2
        SendLine "PRIVMSG Q :op " & Chan, 1
      End If
      SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
      SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
      SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
      SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason deopped10 " & DNick & " 4in10 " & Chan & " "
    ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
      SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
      SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
      SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason deopped10 " & DNick & " 4in10 " & Chan & " "
    End If
  Else
    SpreadFlagMessage 0, "+m", "3*** " & Nick & " just deopped sb. on " & Chan & " - no action "
  End If
End If
End Sub

Sub Ban(Nick, RegUser, Chan, HMask)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If HMask = "*!*@*" Then
      If IsOn("L", Chan) Then
        SendLine "PRIVMSG L :RECOVER " & Chan, 1
        SendLine "PRIVMSG L :op " & Chan, 1
      ElseIf IsOn("Q", Chan) Then
        SendLine "PRIVMSG Q :RECOVER " & Chan, 1
        SendLine "PRIVMSG Q :op " & Chan, 1
      End If
      SpreadFlagMessage 0, "+m", "4*** Channel " & Chan & " is being attacked (ban *!*@*)"
    End If
    If IsMaster(Chan, Nick, RegUser) = vbNullString Then
      If IsOn("L", Chan) Then
        SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " -b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason banned10 " & HMask & " 4in10 " & Chan & " "
      ElseIf IsOn("Q", Chan) Then
        SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
        SendLine "Privmsg Q :bandel " & Chan & " " & HMask, 2
        SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason banned10 " & HMask & " 4in10 " & Chan & " "
      ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " -b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason banned10 " & HMask & " 4in10 " & Chan & " "
      End If
    Else
      SpreadFlagMessage 0, "+m", "3*** " & Nick & " just banned sb. on " & Chan & " - no action "
    End If
  End If
End Sub

Sub Unban(Nick, RegUser, Chan, HMask)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If HMask = "*!*@*" Then Exit Sub
    If IsMaster(Chan, Nick, RegUser) = vbNullString Then
      If IsOn("L", Chan) Then
        SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " +b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason unbanned10 " & HMask & " 4in10 " & Chan & " "
      ElseIf IsOn("Q", Chan) Then
        SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 2
        SendLine "Privmsg Q :ban " & Chan & " " & HMask, 2
        SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason unbanned10 " & HMask & " 4in10 " & Chan & " "
      ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " +b+b " & HMask & " " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason unbanned10 " & HMask & " 4in10 " & Chan & " "
      End If
    Else
      SpreadFlagMessage 0, "+m", "3*** " & Nick & " just unbanned sb. on " & Chan & " - no action "
    End If
  End If
End Sub

Sub Join(Chan, Nick, RegUser, Flags)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If Nick = "fishbot" Then
      If ReadINIString(Chan, "fishbotbitch", "", ChanFile) = "on" Then
        fishbotCount = fishbotCount + 1
        TimedCommand "fishbotCount = 0", 10
        If fishbotCount = 3 Then
          If IsOn("L", Chan) Then
            SendLine "PRIVMSG L :RECOVER " & Chan, 1
            SendLine "PRIVMSG L :op " & Chan, 1
            SpreadFlagMessage 0, "+m", "4*** 10fishbot 4joined in10 " & Chan & " 4---> recover ;) "
          ElseIf IsOn("Q", Chan) Then
            SendLine "PRIVMSG Q :RECOVER " & Chan, 1
            SendLine "PRIVMSG Q :op " & Chan, 1
            SpreadFlagMessage 0, "+m", "4*** 10fishbot 4joined in10 " & Chan & " 4---> recover ;) "
          End If
          TimedCommand "fishbotCount = 0", 2
        End If
      End If
    End If
  End If
End Sub

Sub Kick(Chan, Nick, RegUser, Flags, KNick, KUser, KFlags, Message)
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
    If IsMaster(Chan, Nick, RegUser) = vbNullString Then
      kickCount = kickCount + 1
      TimedCommand "kickCount = 0", 2
      If kickCount > 2 Then
        SpreadFlagMessage 0, "+m", "4*** Channel " & Chan & " is being attacked (masskick detected)"
        If IsOn("L", Chan) Then
          SendLine "PRIVMSG L :recover " & chan, 1
          SendLine "PRIVMSG L :op " & Chan, 1
        ElseIf IsOn("Q", Chan) Then
          SendLine "PRIVMSG Q :recover " & Chan, 1
          SendLine "PRIVMSG Q :op " & Chan, 1
        End If
        TimedCommand "kickCount = 0", 2
      End If
      If KNick = MyNick Then
        SendLine "PRIVMSG Q :CHANLEV " & Chan & " " & Nick & " -aotv+b", 1
        SendLine "PRIVMSG L :CHANLEV " & Chan & " " & Nick & " -aovg", 1
        SendLine "PRIVMSG Q,L :RECOVER " & Chan, 1
        SendLine "PRIVMSG Q,L :INVITE " & Chan, 1
        Name = Nick
        host = Mask(Hostmask(Chan, Nick), 3)
        Channel = Chan
        Check = CBOOL(1)
        TimedCommand "sicherung", 2
      End If
      If IsOn("L", Chan) Then
        SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason kicked10 " & KNick & " 4in10 " & Chan & " "
      ElseIf IsOn("Q", Chan) Then
        SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "PrivMSG Q :ban " & Chan & " " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason kicked10 " & KNick & " 4in10 " & Chan & " "
      ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
        SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
        SendLine "MODE " & Chan & " +b " & Mask(Hostmask(Chan, Nick), 3), 1
        SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason kicked10 " & KNick & " 4in10 " & Chan & " "
      End If
    Else
      SpreadFlagMessage 0, "+m", "3*** " & Nick & " just kicked sb. on " & Chan & " - no action "
    End If
  End If
End Sub

Sub sicherung()
  If Check = CBOOL(1) Then
    ExecuteCommand 0, ".join " & Channel
    SendLine "KICK " & Channel & " " & Name & " : " & Kickmsg & " ", 1
    SendLine "MODE " & Channel & " +b " & host, 1
    Check = CBOOL(0)
  End If
End Sub

Sub RAW(Line)
  If UCase(Param(Line, 2)) = "MODE" Then
    If IsOn(MyNick, Param(Line, 3)) Then
      Host = Mid(Param(Line, 1), 2)
      Chan = Param(Line, 3)
      Nick = ParamX(Host, "!", 1)
      Linex = GetRest(Line, 4)
      Call ModeChange(Chan, Nick, Host, GetRegUser(Host), Linex)
    End If
  ElseIf UCase(Param(Line, 2)) = "TOPIC" Then
    If IsOn(MyNick, Param(Line, 3)) Then
      Host = Mid(Param(Line, 1), 2)
      Chan = Param(Line, 3)
      Nick = ParamX(Host, "!", 1)
      Linex = Mid(GetRest(Line, 4), 2)
      Call Topic(Chan, Nick, Host, GetRegUser(Host), Linex)
    End If
  End If
End Sub

Sub ModeChange(Chan, Nick, Host, RegUser, Linex)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If ReadINIString(Chan, "modeprotect", "", ChanFile) = "on" Then
      If "i" = Right(Param(Linex, 1), 1) Or "l" = Right(Param(Linex, 1), 1) Or "k" = Right(Param(Linex, 1), 1) Then
        If IsMaster(Chan, Nick, RegUser) = vbNullString Then
          If IsOn("L", Chan) Then
            SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
            SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
            SendLine "MODE " & Chan & " +b " & Host, 1
            SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason modechange10 " & Line & " 4in10 " & Chan & " "
          ElseIf IsOn("Q", Chan) Then
            SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
            SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
            SendLine "PrivMSG Q :ban " & Chan & " " & Host, 2
            SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason modechange10 " & Line & " 4in10 " & Chan & " "
          ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
            SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
            SendLine "MODE " & Chan & " +b " & Host, 1
            SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason modechange10 " & Line & " 4in10 " & Chan & " "
          End If
          SpreadFlagMessage 0, "+m", "4*** Reversing modes: '" & Linex & "' to '" & Replace(Replace(Replace(Param(Linex, 1), "-", "ÿ", 1, 1), "+", "-", 1, 1), "ÿ", "+", 1, 1) & " " & GetRest(Linex, 2) & "'"
          SendLine "MODE " & Chan & " " & Replace(Replace(Replace(Param(Linex, 1), "-", "ÿ", 1, 1), "+", "-", 1, 1), "ÿ", "+", 1, 1) & " " & GetRest(Linex, 2), 1
        Else
          SpreadFlagMessage 0, "+m", "3*** " & Nick & " just modechange sb. on " & Chan & " - no action "
        End If
      End If
    End If
  End If
End Sub

Sub Topic(Chan, Nick, Host, RegUser, Linex)
  If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
  If ReadINIString(Chan, "chanprotect", "", ChanFile) = "on" Then
    If ReadINIString(Chan, "topicprotect", "", ChanFile) = "on" Then
      If IsMaster(Chan, Nick, RegUser) = vbNullString Then
        If IsOn("L", Chan) Then
          SendLine "PRIVMSG L :chanlev " & Chan & " " & Nick & " -aogv", 2
          SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
          SendLine "MODE " & Chan & " +b " & Host, 1
          SendLine "TOPIC " & Chan & " :" & ReadINIString( Chan, "topic", "0", chanFile), 2
          SpreadFlagMessage 0, "+m", "4*** kickban and remove L flags from10 " & Nick & " 4| reason Topicchange in10 " & Chan & " "
        ElseIf IsOn("Q", Chan) Then
          SendLine "PRIVMSG Q :chanlev " & Chan & " " & Nick & " -aotv+b", 2
          SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
          SendLine "PrivMSG Q :ban " & Chan & " " & Host, 2
          SendLine "PrivMSG Q :SETTOPIC " & Chan & " " & ReadINIString( Chan, "topic", "0", chanFile), 2
          SpreadFlagMessage 0, "+m", "4*** kickban and remove Q flags from10 " & Nick & " 4| reason topicchange in10 " & Chan & " "
        ElseIf Not IsOn("Q", Chan) And Not IsOn("L", Chan) Then
          SendLine "KICK " & Chan & " " & Nick & " : " & Kickmsg & " ", 1
          SendLine "MODE " & Chan & " +b " & Host, 1
          SendLine "TOPIC " & Chan & " :" & ReadINIString( Chan, "topic", "0", chanFile), 2
          SpreadFlagMessage 0, "+m", "4*** kickban (no Q/L in the chan to remove flags)10 " & Nick & " 4| reason topicchange in10 " & Chan & " "
        End If
      Else
        WriteINIString Chan, "topic", Linex, chanFile
        SpreadFlagMessage 0, "+m", "3*** " & Nick & " just topicchange sb. on " & Chan & " - no action "
      End If
    End If
  End If
End Sub

Sub ReloadChannels()
  Channels = ReadINIString("Settings", "Channels", "", chanFile)
End Sub

Sub Reloadkickmsg()
  Kickmsg = ReadINIString("Settings", "Kickmsg", "", chanFile)
End Sub

Function GetRegUser(HMask)
  Dim i, j

  For i = 1 To BotUserCount
    For j = 0 To BotUser(i, BU_Hostmasks, 0)
      If WildMatch(LCase(BotUser(i, BU_Hostmasks, j)), LCase(HMask)) Then
        GetRegUser = BotUser(i, BU_RegNick)
        Exit Function
      End If
    Next
  Next
End Function

Function IsMaster(Chan, Nick, RegUser)
  If MatchFlags(GetUserFlags(RegUser), "+s") Then
    IsMaster = "SuperOwner"
  ElseIf MatchFlags(GetUserChanFlags(RegUser, Chan), "+n") Then
    IsMaster = "Owner"
  ElseIf MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
    IsMaster = "Master"
  ElseIf MatchFlags(GetUserFlags(RegUser), "+b") Then
    IsMaster = "Bot"
  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

Function Trim3(Text)
  Trim3 = Replace(Replace(Trim(Text), " ", " "), " ", " ")
End Function


hat ein End If gefehlt Smile...fixed
danke junx was wuerde ich nur ohne euch machen :D
Referenz-URLs