29.11.2003, 17:10 Uhr
Kann man zu dieser veränderten form des qnet-scripts eine timedcommand machen, das der bot nach ner sekunde wieder joint??

Code:
'================================================
'Erstellt mit [ABP]AVS 1.0.8
'AnGelBot Visual Scripting
'Visit us online @ http://www.AnGelBot-Portal.de/
'================================================
'Programmiert von Anonymous
'================================================
Const stFile = "ini_QNet(+n).ini"
Dim Channels
Sub Init()
ReDim Channels(0)
ReloadChannels
Script "QNet X-Trem Channel Protect (für channels mit +n rechten...)"
Hook "DeOp"
Hook "Ban"
Hook "Kick"
Hook "Commands"
AddCommand "qnet_list(+n)", Cl_SOwn, "+s", "2.qnet_list(+n)##14Zeigt eine Übersicht über alle Channel die von dem Bot extrem bewacht werden."
End Sub
Sub Commands(vsock, RegUser, Flags, Line)
If LCase(Param(Line, 1)) = ".qnet_list(+n)" Then
GrabUser vSock, "QNet-Protect Setup", "QNetSetup"
SetSockTag vSock, "MainMenu"
QNetSetup vSock, RegUser, Flags, ""
End If
End Sub
Sub QNetSetup(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 QNet-Protect 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 vom " & Version & "!"
TU vSock, "Du befindest dich im Hauptmenü."
TU vSock, " "
TU vSock, "0,1Protected Channels:"
Dummy = Split(Channels, " ")
For i = LBound(Dummy) To UBound(Dummy)
TU vSock, "14 - " & 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, " - 0 um zurück auf die Partyline zu kommen."
TU vSock, " Nicht vergessen: Der Bot muss von Q/L aus +m oder/und +n 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>"
SetSockTag vSock, "MainMenu"
QNetSetup vSock, RegUser, Flags, ""
Exit Sub
End If
If LCase(Param(Line, 2)) = "add" Then
Channels = Trim3(Channels & " " & Param(Line, 3))
WriteINIString "Settings", "Channels", Channels, stFile
TU vSock, "3*** Channel " & LCase(Param(Line, 3)) & " wurde hinzugefügt"
SetSockTag vSock, "MainMenu"
QNetSetup vSock, RegUser, Flags, ""
ElseIf LCase(Param(Line, 2)) = "del" Then
Channels = Trim3(Replace(LCase(Channels), LCase(Param(Line, 3)), ""))
WriteINIString "Settings", "Channels", Channels, stFile
TU vSock, "3*** Channel " & LCase(Param(Line, 3)) & " wurde entfernt"
SetSockTag vSock, "MainMenu"
QNetSetup vSock, RegUser, Flags, ""
End If
End Select
End Select
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 DNick = MyNick Then
If Nick = "" Or InStr(1, Nick, ".") > 0 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
Exit Sub
End If
If IsOn("L", Chan) Then
SendLine "PRIVMSG L :RECOVER " & Chan, 1
SendLine "PRIVMSG L :OP " & Chan, 1
End If
If IsProtected(Flags) Then
AddKick Chan, Nick, ""
Else
AddKick Chan, Nick, ""
ExecuteCommand 0, ".+ban " & Mask(Hostmask(Chan, Nick), 3) & " " & Chan & " Banversuch"
End If
End If
End Sub
Sub Ban(Nick, RegNick, Chan, HMask)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If Nick = "" Or InStr(1, Nick, ".") > 0 Then Exit Sub
If Not MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
If MatchHostmask(HMask, Mask(Hostmask(Chan, MyNick), 6)) Then
SendLine "MODE " & Chan & " -ob " & Nick & " " & HMask, 1
If IsProtected(GetUserChanFlags(RegUser, Chan)) Then
AddKick Chan, Nick, "Do not try to ban me. Be happy you're a friend..."
Else
AddKick Chan, Nick, "Do not try to ban me. You aren't a friend. Goodbye..."
ExecuteCommand 0, ".+ban " & Mask(Hostmask(Chan, Nick), 3) & " " & Chan & " Banversuch"
End If
End If
End If
End Sub
Sub Kick(Chan, Nick, User, Flags, KNick, KUser, KFlags, Message)
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If KNick = MyNick Then
ExecuteCommand 0, ".+chan " & Chan
End If
End Sub
Function MatchHostmask(HostmaskFull, Hostmask6)
If Mask(HostmaskFull, 6) = Hostmask6 Then MatchHostmask = True
End Function
Function IsProtected(Flags)
If Instr(1, Flags, "f") > 0 Or _
Instr(1, Flags, "s") > 0 Or _
Instr(1, Flags, "m") > 0 Or _
Instr(1, Flags, "n") > 0 Then
IsProtected = True
End If
End Function
Sub ReloadChannels()
Channels = ReadINIString("Settings", "Channels", "", stFile)
End Sub
Function Trim3(Text)
Trim3 = Replace(Replace(Trim(Text), " ", " "), " ", " ")
End FunctionZitat:Sub Kick(Chan, Nick, User, Flags, KNick, KUser, KFlags, Message)das sollte in der timed command stehen... vielleicht auch nur
If Not Instr(1, LCase(Channels), LCase(Chan)) > 0 Then Exit Sub
If KNick = MyNick Then
ExecuteCommand 0, ".+chan " & Chan
End If
End Sub
Zitat: ExecuteCommand 0, ".+chan " & Chandas da, ich weiß es ja nich..

