10.05.2003, 23:23 Uhr
Grundlage war das AntiAd-Script von Sp33d.
Allerdings wollte ich nur DeVoice für 5 min.
Problem war, dass der User /hop't und schon hatter wieder voice.
Hier isses so dass der Bot den User anlegt (.adduser). Mit der Flag +D aus dem Auto-DeVoiceScript (muss installiert sein). Sonst keine Flags.
Nach den 5 Minuten wird der User removed, und bekommt so wieder sein Voice.... bis zur nächsten ad
Viel Spass,
Virus
(Hoffe das hat keine Bugs...
)
Allerdings wollte ich nur DeVoice für 5 min.
Problem war, dass der User /hop't und schon hatter wieder voice.
Hier isses so dass der Bot den User anlegt (.adduser). Mit der Flag +D aus dem Auto-DeVoiceScript (muss installiert sein). Sonst keine Flags.
Nach den 5 Minuten wird der User removed, und bekommt so wieder sein Voice.... bis zur nächsten ad

Code:
Const INIFile_Chan = "ini_AntiAdChan.ini"
Const INIFile_User = "ini_AntiAdUser.ini"
Const Version = "AntiAd Script 1.0c by Sp33d | modified by Virus"
Sub Init()
Script Version
AddCommand "adsetup", Cl_Mas, "+m", "2*** .adsetup <#channel>## 14Zeigt das Setup zum angegebenen Channel an."
Hook "Chan_Msg"
Hook "Commands"
End Sub
Sub Commands(vSock, RegUser, Flags, Line)
If LCase(Param(Line, 1)) = ".adsetup" Then
If Param(Line, 2) <> "" Then
If Left(Param(Line, 2), 1) = "#" Then
GrabUser vSock, "Anti-Ad Setup", "AntiAd"
SetSockTag vSock, "~drawmenu~ " & Param(Line, 2)
AntiAd vSock, RegUser, Flags, ""
Else
TU vSock, "5*** Usage: .adsetup <[+#&]channel>"
End If
Else
TU vSock, "5*** Usage: .adsetup <[+#&]channel>"
End If
End If
End Sub
Sub AntiAd(vSock, RegUser, Flags, Line)
If Param(Line, 1) = "0" Then
If LCase(Param(GetSockTag(vSock), 1)) = "mainmenu" Then
TU vsock, "10*** Saving settings..."
ReleaseUser vSock
ElseIf InStr(1, LCase(GetSockTag(vSock)), "submenu") > 0 Then
SetSockTag vSock, "~drawmenu~"
AntiAd vSock, RegUser, Flags, ""
End If
Exit Sub
End If
Select Case LCase(Param(GetSockTag(vSock), 1))
Case "~drawmenu~"
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 Anti-Ad 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, "Welcome to the setup of " & Version & "!"
TU vSock, "Current settings for " & Param(GetSockTag(vSock), 2) & ":"
TU vSock, " "
TU vSock, "2 1) Anti-Ad14...: " & IIf(LCase(ReadINIString(Param(GetSockTag(vSock), 2), "Status", "", INIFile_Chan)) = "on", "3ON", "4OFF")
TU vSock, "2 2) DeVoice ops14..: " & IIf(LCase(ReadINIString(Param(GetSockTag(vSock), 2), "DVOps", "", INIFile_Chan)) = "yes", "3YES", "4NO")
TU vSock, " "
TU vSock, "Enter a setting number or enter '0' to leave the setup."
TU vSock, "You can use shortcuts like '1 yes' or '2 no'."
SetSockTag vSock, "MainMenu " & Param(GetSockTag(vSock), 2)
Case "mainmenu"
Select Case Param(Line, 1)
Case 1, 2
If Left(Line, 1) = "." Then
TU vSock, "5*** You can't use bot commands in phpBackend-Setup!"
Exit Sub
End If
If Param(Line, 2) <> "" Then
Select Case LCase(Param(Line, 1))
Case 1
If LCase(Param(Line, 2)) = "on" Then
WriteINIString Param(GetSockTag(vSock), 2), "Status", "on", INIFile_Chan
SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 2)
AntiAd vSock, RegUser, Flags, ""
ElseIf LCase(Param(Line, 2)) = "off" Then
WriteINIString Param(GetSockTag(vSock), 2), "Status", "off", INIFile_Chan
SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 2)
AntiAd vSock, RegUser, Flags, ""
Else
TU vSock, "5*** Please enter 'on' or 'off' after the setting number."
Exit Sub
End If
Case 2
If LCase(Param(Line, 2)) = "yes" Then
WriteINIString Param(GetSockTag(vSock), 2), "DVOps", "yes", INIFile_Chan
SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 2)
AntiAd vSock, RegUser, Flags, ""
ElseIf LCase(Param(Line, 2)) = "no" Then
WriteINIString Param(GetSockTag(vSock), 2), "DVOps", "no", INIFile_Chan
SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 2)
AntiAd vSock, RegUser, Flags, ""
Else
TU vSock, "5*** Please enter 'yes' or 'no' after the setting number."
Exit Sub
End If
End Select
Else
SetSockTag vSock, "~drawsubmenu~ " & Param(GetSockTag(vSock), 2)
AntiAd vSock, RegUser, Flags, Param(Line, 1)
End If
Case Else
TU vSock, "5*** Please enter a valid number."
End Select
Case "~drawsubmenu~"
If Left(Line, 1) = "." Then
TU vSock, "5*** You can't use bot commands in phpBackend-Setup!"
Exit Sub
End If
Select Case Param(Line, 1)
Case 1
TU vSock, "21) 1Anti-Ad"
TU vSock, "14 Specifies wheter the Ad-Protection is"
TU vSock, "14 activated or not."
TU vSock, ""
TU vSock, "Choose wheter 'on' or 'off' to either activate or"
TU vSock, "deactivate it, type '0' to cancel setup."
SetSockTag vSock, "submenu 1 " & Param(GetSockTag(vSock), 2)
Case 2
TU vSock, "22) 1DeVoice-Ops"
TU vSock, "14 Specifies wheter Anti-Ad is allowed to harm"
TU vSock, "14 Ops as well."
TU vSock, ""
TU vSock, "Choose wheter 'yes' or 'no' to either activate or"
TU vSock, "deactivate it, type '0' to cancel setup."
SetSockTag vSock, "submenu 2 " & Param(GetSockTag(vSock), 2)
End Select
Case "submenu"
Select Case Param(GetSockTag(vSock), 2)
Case 1
If LCase(Param(Line, 1)) = "on" Then
WriteINIString Param(GetSockTag(vSock), 3), "Status", "on", INIFile_Chan
SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 3)
AntiAd vSock, RegUser, Flags, ""
ElseIf LCase(Param(Line, 1)) = "off" Then
WriteINIString Param(GetSockTag(vSock), 3), "Status", "off", INIFile_Chan
SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 3)
AntiAd vSock, RegUser, Flags, ""
Else
TU vSock, "5*** Please enter 'on', 'off' or '0'."
Exit Sub
End If
Case 2
If LCase(Param(Line, 1)) = "yes" Then
WriteINIString Param(GetSockTag(vSock), 3), "DVOps", "yes", INIFile_Chan
SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 3)
AntiAd vSock, RegUser, Flags, ""
ElseIf LCase(Param(Line, 1)) = "no" Then
WriteINIString Param(GetSockTag(vSock), 3), "DVOps", "no", INIFile_Chan
SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 3)
AntiAd vSock, RegUser, Flags, ""
Else
TU vSock, "5*** Please enter 'yes', 'no' or '0'."
Exit Sub
End If
End Select
End Select
End Sub
Sub Chan_Msg(Chan, Nick, RegUser, Line)
If ReadINIString(Chan, "Status", "", INIFile_Chan) = "on" Then
If Instr(1, LCase(Line), "#") > 0 Or Instr(1, LCase(Line), "www.") > 0 Or Instr(1, LCase(Line), "http://") > 0 Then
If MatchFlags(GetUserChanFlags(RegUser, Chan), "+f") Or MatchFlags(GetUserChanFlags(RegUser, Chan), "+b") Then
SendLine "NOTICE " & Nick & " :Violation: Do not advertise on " & Chan & "! [next time: warning]", 1
Exit Sub
ElseIf IsOp(Nick, Chan) And ReadINIString(Chan, "DVOps", "yes", INIFile_Chan) = "no" then
SendLine "NOTICE " & Nick & " :Violation: Do not advertise on " & Chan & "! [next time: warning]", 1
Exit Sub
End If
Select Case ReadINIString(Nick, "Violations", "0", INIFile_User)
Case "0"
WriteINIString Nick, "Violations", "0", INIFile_User
TimedCommand "DoReVoice " & Chr(34) & Chan & Chr(34) & ", " & Chr(34) & Nick & Chr(34), 300
SendLine "MODE " & Chan & " -v " & Nick , 1
ExecuteCommand 0, ".adduser " & Nick
ExecuteCommand 0, ".chattr " & Nick & " +D-fp "
SendLine "NOTICE " & Nick & " :Violation: Do not advertise on " & Chan & "! [you got: 5 min temp-devoice]", 3
End Select
End If
End If
End Sub
Sub DoReVoice(Chan, Nick)
ExecuteCommand 0, ".chattr " & Nick & " -D "
ExecuteCommand 0, ".remuser " & Nick
SendLine "MODE " & Chan & " +v " & Nick, 1
End SubViel Spass,
Virus
(Hoffe das hat keine Bugs...
)