Anyone Can Help Me?

Which hub software is the best? Where can I find script XXX? Discuss it here...(no, this is not for advertising your hub...)

Moderator: Moderators

Locked
E=mc²
Posts: 17
Joined: 2003-03-15 17:32
Location: Stockholm
Contact:

Anyone Can Help Me?

Post by E=mc² » 2003-03-21 19:07

Anyone can add some commands to my script?
Ive forgotten how to do so anyone help me and add some more commands?
NuclearFusionâ„¢ 24:7

Snooze
Posts: 119
Joined: 2003-01-26 13:42
Location: Denmark
Contact:

Post by Snooze » 2003-03-21 19:22

It would go alot faster if you posted the script or told us where to get it :-)

E=mc²
Posts: 17
Joined: 2003-03-15 17:32
Location: Stockholm
Contact:

Post by E=mc² » 2003-03-22 06:54

Ok here is the script.

Code: Select all

Dim sBotName, Sharelimit, sDebugTo, sSUPrefix, sVIPPrefix, bEML, bESC, iML, iMinSlots
Dim Dic, oUsers, oIPs, HSTT

Sub Main

'-=MAIN CONFIG, FEEL FREE TO MODIFY!=-
sBotName = "-SuBOT-"
sSUPrefix = "[SU]"
sVIPPrefix = "[VIP]"
sDebugTo = "[SU]E=mc²"
Sharelimit = 5

bEML = False 'Enable Max-logg. 'True' = Enabled, 'False' = Disabled
iML = 5 'Max-loggs

bESC = True 'Enable Slot-check. 'True' = Enabled, 'False' = Disabled
iMinSlots = 3

'-=INTERNAL CONFIG, DO NOT MODIFY!=-
Set oUsers = CreateObject("Scripting.Dictionary")
Set oIPs = CreateObject("Scripting.Dictionary")
Set Dic = CreateObject("Scripting.Dictionary")

frmHub.RegisterBotName Cstr(sBotName)
frmhub.chkAutoRedirect = 0
HSTT = Cstr(Now)
End Sub

Sub DataArival(curUser,sCurData)
If InStr(1, sCurData, " ") > 0 Then
sData = BeforeFirst(sCurData," ")
End If
sNick = Cstr(curuser.sName)

Select Case sData

Case "$MyINFO"
If curuser.bOperator or IsVIP(sNick) Then Exit Sub
If curUser.iBytesShared < 1024 ^ 3 * Sharelimit Then
curuser.SendChatmessage Cstr(sBotName),Cstr("You have not met the minimum share of " & Sharelimit & " GB.")
frmHub.DoEventsForMe
curuser.kick
Dic.Remove(sNick)
Exit Sub
End If
If Not Dic.Exists(sNick) Then Exit Sub
Logg curuser
Dic.Remove(sNick)

Case "$SR"
If bESC Then
If curuser.bOperator or IsVIP(sNick) Then Exit Sub
sSlotsShared = AfterFirst(BeforeFirst(sCurData,"" & frmhub.txtName),"/")

If Int(sSlotsShared) < iMinSlots Then
curuser.PrivateMessage Cstr(sBotName),Cstr("Please have at least " & iMinslots & " slots open in this hub!")
curuser.ForceMove frmhub.txtredirect
frmHub.DoEventsForMe
End If
End If

Case "$Kick"
If IsSU(Mid(sCurData,7)) Then
If Not ChkRegUser(Mid(sCurData,7),0) then
colUsers.SendChatToAll "-SuBOT-", "SU-Protection has been activated."
curuser.SendChatMessage Cstr(sBotName),Cstr("You have kicked a SU-Operator and has therefore been kicked!")
frmhub.doeventsforme
frmhub.lstTempban.Clear
curuser.kick
End If
End If

Case "$To:"
If Not (curuser.bOperator or IsVIP(sNick)) Then Exit Sub
If Not Left(sCurData,5 + Len(sBotName)) = "$To: " & sBotName Then Exit Sub
sTheText = AfterFirst(sCurData,"> ")
Commands curuser,sTheText
End Select

If Not (curuser.bOperator or IsVIP(sNick)) Then Exit Sub
If Not Left(sCurData,Len(sNick)+6) = "<" & sNick & "> ab:" Then Exit Sub
sTheText = Afterfirst(sCurData," ab:")
Commands curuser,sTheText
End Sub

Sub Commands(curuser,sTheText)
sNick = Cstr(curUser.sName)

If Left(sTheText,13) = "show userinfo" Then
Userinfo curuser,AfterLast(sTheText," ")

ElseIf Left(sTheText,11) = "show ipinfo" Then
IP = AfterLast(sTheText," ")
If Right(IP,1) = "*" then
IpInfoSe Curuser,IP
Else
IpInfo curuser,IP
End If

ElseIf sTheText = "show help" Then
Help curuser

ElseIf IsVIP(sNick) Then
Exit Sub

ElseIf sTheText = "show permbanlist" then
Set oBanList = frmHub.lstPermBan
If oBanList.ListCount <> 0 then
For i=0 to oBanList.ListCount-1
Ban = oBanList.List(i)
B=B & " " & Ban & CalcTabs(Ban,3)
If oIPs.exists(cstr(Ban)) then 
C = instr(3,oIPs(Ban),vbTab,1)
B=B & Mid(oIPs(Ban),3,C-3) & vbcrlf
Else 
B=B & "Unknown" & vbcrlf
End If
Next
curuser.privatemessage Cstr(sBotName),Cstr("This is the permbanlist in " & frmhub.txtname & vbCrLf & vbCrLf & " IP:" & vbTab & vbTab & vbTab & "Username:" & vbCrLf & " " & String(46,"-") & vbCrLf & (B))
Else
curuser.privatemessage Cstr(sBotName),Cstr("There are no IP numbers in the permbanlist.")
End If

ElseIf sTheText = "show hubinfo" Then
CurUser.Privatemessage Cstr(sBotName),vbCRLF & vbCRLF & Cstr(" These are the current Hub Settings:" & vbCrLf & " " & String(41,"-") & vbCrLf & " Hub Name:" & vbTab & vbTab & frmhub.txtName & vbCRLF & " Hub Description:" & vbTab & vbTab & frmhub.txtDescription & vbCRLF & " Hub Redirect IP:" & vbTab & vbTab & frmhub.txtRedirect & vbCRLF & bvCRLF & _
" Hub Max-Users:" & vbTab & vbTab & frmhub.sldrMaxUsers & " Users" & vbCrLf & " Hub Sharelimit:" & vbTab & vbTab & Sharelimit & " Gigabytes" & vbCRLF & " Auto Redirect Users:" & vbTab & frmhub.chkAutoRedirect & vbCrLf & vbCrLf & " Online Operators:" & vbTab & vbTab & colUsers.OpperatorCount & " Operators" & vbCrLf & vbCrLf & " This hub has been online sience " & HSTT)

ElseIf Left(sTheText,6) = "addban" Then
sIP = Mid(sTheText,8)
If Not BanEx(sIP,0) Then
If sIP = "" Then
curUser.PrivateMessage Cstr(sBotName),Cstr("Please specify IP number")
Else
frmHub.lstPermBan.AddItem(sIP)
curUser.PrivateMessage Cstr(sBotName),Cstr("IP: " & sIP & " has been banned")
End If
Else
curUser.PrivateMessage Cstr(sBotName),Cstr("IP: " & sIP & " is already banned")
End If

ElseIf Left(sTheText,5) = "unban" Then
sIP = Mid(sTheText,7)
If BanEx(sIP,0) Then
frmHub.lstPermBan.RemoveItem(int(BanEx(sIP,1)))
curUser.PrivateMessage Cstr(sBotName),Cstr("IP: " & sIP & " has been unbanned")
Else
curUser.PrivateMessage Cstr(sBotName),"IP: " & sIP & " is not in the permbanlist"
End If

ElseIf Left(sTheText,10) = "send opmsg" Then
OpMsg = AfterFirst(sTheText," ")
For each user in colusers
If user.bOperator Then
user.PrivateMessage Cstr("Operator-Message from " & sNick),Cstr(OpMsg)
End If
Next

ElseIf sTheText = "cleartemp" Then
frmHub.lstTempBan.Clear
curUser.PrivateMessage Cstr(sBotName),Cstr("The Tempbanlist has been cleared")

ElseIf Not IsSU(sNick) Then
Exit Sub

ElseIf sTheText = "show reginfo" Then
sRegMsg = String(3,vbTab) & "List of registered users" & vbcrlf & vbCrLf & " Name" & _
String(5,vbTab) &"SU/OP/VIP" & vbTab & vbTab & vbTab & " Last logged In" & vbCrLf & " " & String(127,"-") & vbCrLf
Set Oplist = frmHub.lstOps
For i = 1 To Oplist.ListItems.Count
Name = Oplist.ListItems(i)
sRegMsg = sRegMsg & " " & Name & CalcTabs(Name,5)
If Oplist.ListItems(i).SubItems(2) = "True" Then
If Left(Name,Len(sSUPrefix)) = sSUPrefix then
sRegMsg = sRegMsg & " SU" & String(4,vbTab)
Else
sRegMsg = sRegMsg & " OP" & String(4,vbTab)
End If
ElseIf Left(Name,Len(sVIPPrefix)) = sVIPPrefix then
sRegMsg = sRegMsg & " VIP" & String(4,vbTab)
Else
sRegMsg = sRegMsg & " USER" & String(4,vbTab)
End If
If Oplist.ListItems(i).SubItems(3) = "" then
sRegMsg = sRegMsg & "Not yet logged in" & vbCrLf
Else
sRegMsg = sRegMsg & Oplist.ListItems(i).SubItems(3) & vbCrLf
End If
Next
curuser.privatemessage Cstr(sBotName),Cstr(sRegMsg)

ElseIf Left(sTheText,7) = "adduser" Then
Who = BeforeFirst(AfterFirst(sTheText," ")," ")
pass = BeforeFirst(AfterFirst(AfterFirst(sTheText," ")," ")," ")
Nr = AfterLast(sTheText," ")
Op Who,curuser,pass,Nr

ElseIf Left(sTheText,14) = "set sharelimit" Then
Sharelimit = AfterLast(sTheText," ")
curuser.PrivateMessage Cstr(sBotName),Cstr("The Share Limit has been changed to " & Sharelimit & " Gigabytes")
SendDebug sNick,"Sharelimit"

ElseIf Left(sTheText,12) = "set redirect" Then
frmhub.txtredirect = AfterLast(sTheText," ")
CurUser.Privatemessage Cstr(sBotName),Cstr("Redirect address is now: " & frmhub.txtredirect)
SendDebug sNick,"Redirect IP"

ElseIf Left(sTheText,13) = "set autoredir" Then
frmhub.chkAutoRedirect = Right(sTheText,1)
curUser.PrivateMessage Cstr(sBotName),Cstr("Auto Redirect Users is now " & frmhub.chkAutoRedirect)
SendDebug sNick,"Auto redirect"

ElseIf Left(sTheText,15) = "set description" Then
frmhub.txtDescription = AfterLast(sTheText," ")
CurUser.Privatemessage Cstr(sBotName),Cstr("The Hub Description is now: " & frmhub.txtDescription)
SendDebug sNick,"Hub Description"

ElseIf Left(sTheText,12) = "send massmsg" Then
sMsg = AfterLast(sTheText," ")
For each user in colUsers
user.PrivateMessage Cstr("Hub-Mass-Message from " & sNick),Cstr(sMsg)
Next

ElseIf Left(sTheText,5) = "unreg" Then
deOp mid(sTheText,7),curuser
End If
End Sub

Sub IpInfoSe(CurUser,sIP)
IP = BeforeFirst(sIP,"*")
For Each IPnr in oIPs.Keys
If Left(IPnr,Len(IP)) = IP Then
UsrName = BeforeFirst(oIPs(IPnr),vbTab)
sStatus = "Offline"
If colUsers.Online(LTrim(UsrName)) Then sStatus = "Online"
Info = Info & vbCrlf & " " & IPnr & CalcTabs(IPnr,3) & " " & sStatus & CalcTabs(sStatus,3) & UsrName
End If
Next
If Info <> "" Then
curuser.PrivateMessage CStr(sBotName),CStr(vbCrlf & " IP:" & String(3,vbTab) & " Status:" & String(3,vbTab) & " Username:" & vbCrLf & " " & String(85,"-") & Info)
Else
curuser.PrivateMessage CStr(sBotName),CStr("No record on serie " & sIP)
End If
End Sub

Sub Userinfo(curuser,sUser)
If oUsers.Exists(LCase(CStr(sUser))) Then
sStatus = "offline"
If colUsers.Online(CStr(sUser)) then sStatus = "online"
sInfo = vbCrLf & vbCrLf & " -=The user " & suser & " is " & sStatus & "=-" & vbCrLf & vbCrLf & " IP History:" & vbTab & vbTab & " Login History:" & vbCrLf & " " & String(52,"-") & vbCrLf & oUsers(LCase(suser))
Else
sInfo = "No record on user " & sUser
End If
curUser.PrivateMessage CStr(sBotName),CStr(sInfo)
End Sub

Sub IPInfo(curUser,sIP)
If oIPs.Exists(sIP) Then
sInfo = vbCrLf & vbCrLf & " Username:" & vbTab & vbTab & " Login History:" & vbCrLf & " " & String(52,"-") & vbCrLf & oIPs(sIP)
Else
sInfo = "No record on " & sIP
End If
curUser.PrivateMessage Cstr(sBotName),Cstr(sInfo)
End Sub

Sub Logg(curuser)
sNick = Cstr(curuser.sName)
sIP = Cstr(curUser.IP)

If Not bEML Then
If oUsers.Exists(Lcase(sNick)) Then
oUsers(Lcase(sNick)) = " " & sIP & vbTab & vbTab & " " & Cstr(Now) & vbCRLF & oUsers(Lcase(sNick)) 
Else
oUsers(Lcase(sNick)) = " " & sIP & vbTab & vbTab & " " & Cstr(Now)
End If
If oIPs.Exists(sIP) Then
oIPs(sIP) = " " & sNick & CalcTabs(sNick,3) & " " & Cstr(Now) & vbCRLF & oIPs(sIP) 
Else
oIPs(sIP) = " " & sNick & CalcTabs(sNick,3) & " " & Cstr(Now)
End If
Else
If oUsers.Exists(Lcase(sNick)) Then
If Int(HowMany(oUsers(Lcase(sNick))," ") / 2) < Int(iML) Then
oUsers(Lcase(sNick)) = " " & sIP & vbTab & vbTab & " " & Cstr(Now) & vbCRLF & oUsers(Lcase(sNick))
Else
oUsers(Lcase(sNick)) = SortLogg(" " & sIP & vbTab & vbTab & " " & Cstr(Now) & vbCRLF & oUsers(Lcase(sNick)))
End If
Else
oUsers(Lcase(sNick)) = " " & sIP & vbTab & vbTab & " " & Cstr(Now)
End If
If oIPs.Exists(sIP) Then
If Int(HowMany(oIPs(sIP)," ") / 2) < Int(iML) Then
oIPs(sIP) = " " & sNick & CalcTabs(sNick,3) & " " & Cstr(Now) & vbCRLF & oIPs(sIP) 
Else
oIPs(sIP) = SortLogg(" " & sNick & CalcTabs(sNick,3) & " " & Cstr(Now) & vbCRLF & oIPs(sIP))
End If
Else
oIPs(sIP) = " " & sNick & CalcTabs(sNick,3) & " " & Cstr(Now)
End If
End If
End Sub

Sub Help(curuser)
sNick = Cstr(curuser.sName)
sWelcomeMsg = Cstr("Welcome $usr! These are the $Status commands." & vbCrLf & vbCrLf)

sOPMsg = Cstr(" addban <IP>" & String(3,vbTab) & "- Permanently bans an IP" & vbCrLf & _
" unban <IP>" & String(3,vbTab) & "- Removes a permbanned IP" & vbCrLf & _
" cleartemp" & String(3,vbTab) & "- Clears the temp-ban list" & vbCrLf & vbCrLf & _
" show permbanlist" & String(3,vbTab) & "- Displays all permbanned IPs" & vbCrLf & _
" show help" & String(3,vbTab) & "- Displays this text again" & vbCrLf & _
" show hubinfo" & String(3,vbTab) & "- Displays the Hub Settings" & vbCrLf)

sVIPMsg = Cstr(" show userinfo <name>" & String(2,vbTab) & "- Displays userinfo" & vbCrLf & _
" show ipinfo <IP>" & String(3,vbTab) & "- Displays ipinfo" & vbCrLf)

sSUMsg = Cstr(" show reginfo" & String(3,vbTab) & "- Displays all SUs, VIPs and OPs in this hub" & vbCrLf & vbCrLf & _
" set sharelimit <gb>" & String(2,vbTab) & "- Sets a new Sharelimit" & vbCrLf & _
" set redirect <IP>" & String(3,vbTab) & "- Sets a new Redirect IP" & vbCrLf & _
" set autoredir <nr>" & String(2,vbTab) & "                - Sets the Auto Redirect Users (Login) on or off. 0 = Off, 1 = On." & vbCrLf & _
" set description <description>" & String(1,vbTab) & "- Sets a new Hub Description" & vbCrLf & vbCrLf & _
" send opmsg <message>" & String(2,vbTab) & "- Sends a OP-Mass-Message" & vbCrLf & _
" send massmsg <message>" & String(2,vbTab) & "- Sends a Hub-Mass-Message" & vbCrLf & vbCrLf & _
" adduser <name> <pass> <nr>" & String(1,vbTab) & "- Registers a user. 1 = Operator, 2 = VIP/User" & vbCrLf & _
" unreg <name>" & String(3,vbTab) & "- Removes the Operator/VIP Status")

If IsSU(sNick) Then
curuser.PrivateMessage Cstr(sBotName),Cstr(Replace(Replace(sWelcomeMsg & sOPMsg & sVIPMsg & sSUMsg,"$usr",sNick),"$Status","SU operator"))
ElseIf IsVIP(sNick) Then
curuser.PrivateMessage Cstr(sBotName),Cstr(Replace(Replace(sWelcomeMsg & sVIPMsg,"$usr",sNick),"$Status","VIP user"))
ElseIf curuser.bOperator Then
curuser.PrivateMessage Cstr(sBotName),Cstr(Replace(Replace(sWelcomeMsg & sOPMsg & sVIPMsg,"$usr",sNick),"$Status","operator"))
End If
End Sub

Sub OpConnected(curUser)
Logg curuser
Help curuser
If curUser.bOperator Then colUsers.SendChatToAll Cstr("Hub-Security - " & Cstr(Time)),Cstr("The Operator "+curUser.sName+" has logged in.")
End Sub

Sub NewUserConnected(curUser)
sNick = Cstr(curuser.sName)
Dic(sNick) = "-"

If Left(sNick,Len(sVIPPrefix)) = sVIPPrefix Then
curuser.SendChatMessage Cstr(sBotName),Cstr("You are not a VIP in this hub!")
frmhub.doeventsforme
curuser.disconnect

ElseIf Left(sNick,1) <> "[" Then
curuser.SendChatmessage Cstr(sBotName),Cstr("Please add your [ISP]/Internet Service Provider Prefix infront of your username. Eg: - [BBB], [Telia], [Bostream], etc.")

ElseIf bESC Then
curUser.SendData "$Search Hub:" & CStr(sBotName) & " F?F?0?0?" & "."
End If
End Sub

Sub deOp(poorOp,deoper)
j = ChkRegUser(poorOp,1)
If j=0 Then
deoper.privatemessage cstr(sBotName),"" & poorOp &" is not a registered user in this hub."
Else
frmHub.lstOps.listItems.remove j
deoper.PrivateMessage Cstr(sBotName),Cstr("The user " & poorOp & " is now Unreged")
SendDebug deoper.sName,"The OP-list in DC Hub"
End If
End Sub

Sub Op(luckyOP,sponsor,pass,Value)
If Value = "1" Then Value = "True"
If Value = "2" Then Value = "False"
If ChkRegUser(luckyOP,0) <> 1 then
Set newOP = frmHub.lstOps.listItems.add(,,cstr(luckyOP))
newOP.SubItems(1) = pass
newOP.SubItems(2) = Value
sponsor.PrivateMessage Cstr(sBotName),Cstr("The user " & luckyOP & " is now a registered user")
SendDebug sponsor.sName,"the OP-list in DC Hub"
Else
sponsor.PrivateMessage cstr(sBotName),Cstr(luckyop &" is already registered here!")
End If
End Sub

Sub SendDebug(From,what)
colUsers.ItemByName(Cstr(sDebugTo)).PrivateMessage Cstr(sBotName),Cstr("User " & From & " has changed " & What & " - " & Cstr(Now))
End Sub

Function SortLogg(ToSort)
SortLogg = Left(ToSort,InstrRev(ToSort,vbCrlf,-1) - 1)
End Function

Function HowMany(sIn,sFirst)
N = 1
Do While N <= Len(sIn)
N = InStr(N,sIn,sFirst)
If N = 0 Then Exit Do
N = N + 1
A = A + 1
Loop
If A = "" Then HowMany = 0
If A <> "" Then HowMany = A
End Function

Function BanEx(IP,nr)
Set oBanList = frmHub.lstPermBan
For i = 0 To oBanList.ListCount-1
If oBanList.List(i) = IP Then
If nr = 0 Then BanEx = True
If nr = 1 Then BanEx = i
Exit For
Else
BanEx = False
End If
Next
End Function

Function CalcTabs(sIn,Tabs)
Number = Len(sIn)
If Number<8 Then CalcTabs = String(int(Tabs),vbTab)
If Number>7 And Number<17 Then CalcTabs = String(int(Tabs-1),vbTab)
If Number=>17 And Number<24 Then CalcTabs = String(int(Tabs-2),vbTab)
End Function

Function ChkRegUser(Name,nr)
For Each RegUsr In frmHub.lstOps.ListItems
If lcase(RegUsr) = lcase(Name) Then
If nr = 0 Then ChkRegUser = 1
If nr = 1 Then ChkRegUser = Int(RegUsr.index)
Exit For
End If
Next
End Function

Function IsSU(Name)
IsSU = Left(Name,Len(sSUPrefix)) = (sSUPrefix)
End Function

Function IsVIP(Name)
IsVIP = Left(Name,Len(sVIPPrefix)) = (sVIPPrefix)
End Function

Function BeforeFirst(sIn,sFirst)
BeforeFirst = Left(sIn,InStr(1,sIn,sFirst) - 1)
End Function

Function AfterFirst(sIn,sFirst)
AfterFirst = Right(sIn,Len(sIn) - InStr(1,sIn,sFirst) - (Len(sFirst) - 1))
End Function

Function AfterLast(sIn,sLast)
AfterLast = Right(sIn,Len(sIn) - InstrRev(sIn,sLast,-1) - (Len(sLast) - 1))
End Function 

Can you please add some things to this script.

1. SU And VIP Login, there is only OP Login now.
2. SU Can "kill" or "mega flood" a user, and OP's normal flood.
3. VIP Can disconnect user.

Please if someone can edd theese commands to the script im very thanxfull.

Remember that please do not change old commands. I wont be thanxfull for that.

:?
NuclearFusionâ„¢ 24:7

E=mc²
Posts: 17
Joined: 2003-03-15 17:32
Location: Stockholm
Contact:

Post by E=mc² » 2003-03-22 06:55

Ok here is the script.

Code: Select all

Dim sBotName, Sharelimit, sDebugTo, sSUPrefix, sVIPPrefix, bEML, bESC, iML, iMinSlots
Dim Dic, oUsers, oIPs, HSTT

Sub Main

'-=MAIN CONFIG, FEEL FREE TO MODIFY!=-
sBotName = "-SuBOT-"
sSUPrefix = "[SU]"
sVIPPrefix = "[VIP]"
sDebugTo = "[SU]E=mc²"
Sharelimit = 5

bEML = False 'Enable Max-logg. 'True' = Enabled, 'False' = Disabled
iML = 5 'Max-loggs

bESC = True 'Enable Slot-check. 'True' = Enabled, 'False' = Disabled
iMinSlots = 3

'-=INTERNAL CONFIG, DO NOT MODIFY!=-
Set oUsers = CreateObject("Scripting.Dictionary")
Set oIPs = CreateObject("Scripting.Dictionary")
Set Dic = CreateObject("Scripting.Dictionary")

frmHub.RegisterBotName Cstr(sBotName)
frmhub.chkAutoRedirect = 0
HSTT = Cstr(Now)
End Sub

Sub DataArival(curUser,sCurData)
If InStr(1, sCurData, " ") > 0 Then
sData = BeforeFirst(sCurData," ")
End If
sNick = Cstr(curuser.sName)

Select Case sData

Case "$MyINFO"
If curuser.bOperator or IsVIP(sNick) Then Exit Sub
If curUser.iBytesShared < 1024 ^ 3 * Sharelimit Then
curuser.SendChatmessage Cstr(sBotName),Cstr("You have not met the minimum share of " & Sharelimit & " GB.")
frmHub.DoEventsForMe
curuser.kick
Dic.Remove(sNick)
Exit Sub
End If
If Not Dic.Exists(sNick) Then Exit Sub
Logg curuser
Dic.Remove(sNick)

Case "$SR"
If bESC Then
If curuser.bOperator or IsVIP(sNick) Then Exit Sub
sSlotsShared = AfterFirst(BeforeFirst(sCurData,"" & frmhub.txtName),"/")

If Int(sSlotsShared) < iMinSlots Then
curuser.PrivateMessage Cstr(sBotName),Cstr("Please have at least " & iMinslots & " slots open in this hub!")
curuser.ForceMove frmhub.txtredirect
frmHub.DoEventsForMe
End If
End If

Case "$Kick"
If IsSU(Mid(sCurData,7)) Then
If Not ChkRegUser(Mid(sCurData,7),0) then
colUsers.SendChatToAll "-SuBOT-", "SU-Protection has been activated."
curuser.SendChatMessage Cstr(sBotName),Cstr("You have kicked a SU-Operator and has therefore been kicked!")
frmhub.doeventsforme
frmhub.lstTempban.Clear
curuser.kick
End If
End If

Case "$To:"
If Not (curuser.bOperator or IsVIP(sNick)) Then Exit Sub
If Not Left(sCurData,5 + Len(sBotName)) = "$To: " & sBotName Then Exit Sub
sTheText = AfterFirst(sCurData,"> ")
Commands curuser,sTheText
End Select

If Not (curuser.bOperator or IsVIP(sNick)) Then Exit Sub
If Not Left(sCurData,Len(sNick)+6) = "<" & sNick & "> ab:" Then Exit Sub
sTheText = Afterfirst(sCurData," ab:")
Commands curuser,sTheText
End Sub

Sub Commands(curuser,sTheText)
sNick = Cstr(curUser.sName)

If Left(sTheText,13) = "show userinfo" Then
Userinfo curuser,AfterLast(sTheText," ")

ElseIf Left(sTheText,11) = "show ipinfo" Then
IP = AfterLast(sTheText," ")
If Right(IP,1) = "*" then
IpInfoSe Curuser,IP
Else
IpInfo curuser,IP
End If

ElseIf sTheText = "show help" Then
Help curuser

ElseIf IsVIP(sNick) Then
Exit Sub

ElseIf sTheText = "show permbanlist" then
Set oBanList = frmHub.lstPermBan
If oBanList.ListCount <> 0 then
For i=0 to oBanList.ListCount-1
Ban = oBanList.List(i)
B=B & " " & Ban & CalcTabs(Ban,3)
If oIPs.exists(cstr(Ban)) then 
C = instr(3,oIPs(Ban),vbTab,1)
B=B & Mid(oIPs(Ban),3,C-3) & vbcrlf
Else 
B=B & "Unknown" & vbcrlf
End If
Next
curuser.privatemessage Cstr(sBotName),Cstr("This is the permbanlist in " & frmhub.txtname & vbCrLf & vbCrLf & " IP:" & vbTab & vbTab & vbTab & "Username:" & vbCrLf & " " & String(46,"-") & vbCrLf & (B))
Else
curuser.privatemessage Cstr(sBotName),Cstr("There are no IP numbers in the permbanlist.")
End If

ElseIf sTheText = "show hubinfo" Then
CurUser.Privatemessage Cstr(sBotName),vbCRLF & vbCRLF & Cstr(" These are the current Hub Settings:" & vbCrLf & " " & String(41,"-") & vbCrLf & " Hub Name:" & vbTab & vbTab & frmhub.txtName & vbCRLF & " Hub Description:" & vbTab & vbTab & frmhub.txtDescription & vbCRLF & " Hub Redirect IP:" & vbTab & vbTab & frmhub.txtRedirect & vbCRLF & bvCRLF & _
" Hub Max-Users:" & vbTab & vbTab & frmhub.sldrMaxUsers & " Users" & vbCrLf & " Hub Sharelimit:" & vbTab & vbTab & Sharelimit & " Gigabytes" & vbCRLF & " Auto Redirect Users:" & vbTab & frmhub.chkAutoRedirect & vbCrLf & vbCrLf & " Online Operators:" & vbTab & vbTab & colUsers.OpperatorCount & " Operators" & vbCrLf & vbCrLf & " This hub has been online sience " & HSTT)

ElseIf Left(sTheText,6) = "addban" Then
sIP = Mid(sTheText,8)
If Not BanEx(sIP,0) Then
If sIP = "" Then
curUser.PrivateMessage Cstr(sBotName),Cstr("Please specify IP number")
Else
frmHub.lstPermBan.AddItem(sIP)
curUser.PrivateMessage Cstr(sBotName),Cstr("IP: " & sIP & " has been banned")
End If
Else
curUser.PrivateMessage Cstr(sBotName),Cstr("IP: " & sIP & " is already banned")
End If

ElseIf Left(sTheText,5) = "unban" Then
sIP = Mid(sTheText,7)
If BanEx(sIP,0) Then
frmHub.lstPermBan.RemoveItem(int(BanEx(sIP,1)))
curUser.PrivateMessage Cstr(sBotName),Cstr("IP: " & sIP & " has been unbanned")
Else
curUser.PrivateMessage Cstr(sBotName),"IP: " & sIP & " is not in the permbanlist"
End If

ElseIf Left(sTheText,10) = "send opmsg" Then
OpMsg = AfterFirst(sTheText," ")
For each user in colusers
If user.bOperator Then
user.PrivateMessage Cstr("Operator-Message from " & sNick),Cstr(OpMsg)
End If
Next

ElseIf sTheText = "cleartemp" Then
frmHub.lstTempBan.Clear
curUser.PrivateMessage Cstr(sBotName),Cstr("The Tempbanlist has been cleared")

ElseIf Not IsSU(sNick) Then
Exit Sub

ElseIf sTheText = "show reginfo" Then
sRegMsg = String(3,vbTab) & "List of registered users" & vbcrlf & vbCrLf & " Name" & _
String(5,vbTab) &"SU/OP/VIP" & vbTab & vbTab & vbTab & " Last logged In" & vbCrLf & " " & String(127,"-") & vbCrLf
Set Oplist = frmHub.lstOps
For i = 1 To Oplist.ListItems.Count
Name = Oplist.ListItems(i)
sRegMsg = sRegMsg & " " & Name & CalcTabs(Name,5)
If Oplist.ListItems(i).SubItems(2) = "True" Then
If Left(Name,Len(sSUPrefix)) = sSUPrefix then
sRegMsg = sRegMsg & " SU" & String(4,vbTab)
Else
sRegMsg = sRegMsg & " OP" & String(4,vbTab)
End If
ElseIf Left(Name,Len(sVIPPrefix)) = sVIPPrefix then
sRegMsg = sRegMsg & " VIP" & String(4,vbTab)
Else
sRegMsg = sRegMsg & " USER" & String(4,vbTab)
End If
If Oplist.ListItems(i).SubItems(3) = "" then
sRegMsg = sRegMsg & "Not yet logged in" & vbCrLf
Else
sRegMsg = sRegMsg & Oplist.ListItems(i).SubItems(3) & vbCrLf
End If
Next
curuser.privatemessage Cstr(sBotName),Cstr(sRegMsg)

ElseIf Left(sTheText,7) = "adduser" Then
Who = BeforeFirst(AfterFirst(sTheText," ")," ")
pass = BeforeFirst(AfterFirst(AfterFirst(sTheText," ")," ")," ")
Nr = AfterLast(sTheText," ")
Op Who,curuser,pass,Nr

ElseIf Left(sTheText,14) = "set sharelimit" Then
Sharelimit = AfterLast(sTheText," ")
curuser.PrivateMessage Cstr(sBotName),Cstr("The Share Limit has been changed to " & Sharelimit & " Gigabytes")
SendDebug sNick,"Sharelimit"

ElseIf Left(sTheText,12) = "set redirect" Then
frmhub.txtredirect = AfterLast(sTheText," ")
CurUser.Privatemessage Cstr(sBotName),Cstr("Redirect address is now: " & frmhub.txtredirect)
SendDebug sNick,"Redirect IP"

ElseIf Left(sTheText,13) = "set autoredir" Then
frmhub.chkAutoRedirect = Right(sTheText,1)
curUser.PrivateMessage Cstr(sBotName),Cstr("Auto Redirect Users is now " & frmhub.chkAutoRedirect)
SendDebug sNick,"Auto redirect"

ElseIf Left(sTheText,15) = "set description" Then
frmhub.txtDescription = AfterLast(sTheText," ")
CurUser.Privatemessage Cstr(sBotName),Cstr("The Hub Description is now: " & frmhub.txtDescription)
SendDebug sNick,"Hub Description"

ElseIf Left(sTheText,12) = "send massmsg" Then
sMsg = AfterLast(sTheText," ")
For each user in colUsers
user.PrivateMessage Cstr("Hub-Mass-Message from " & sNick),Cstr(sMsg)
Next

ElseIf Left(sTheText,5) = "unreg" Then
deOp mid(sTheText,7),curuser
End If
End Sub

Sub IpInfoSe(CurUser,sIP)
IP = BeforeFirst(sIP,"*")
For Each IPnr in oIPs.Keys
If Left(IPnr,Len(IP)) = IP Then
UsrName = BeforeFirst(oIPs(IPnr),vbTab)
sStatus = "Offline"
If colUsers.Online(LTrim(UsrName)) Then sStatus = "Online"
Info = Info & vbCrlf & " " & IPnr & CalcTabs(IPnr,3) & " " & sStatus & CalcTabs(sStatus,3) & UsrName
End If
Next
If Info <> "" Then
curuser.PrivateMessage CStr(sBotName),CStr(vbCrlf & " IP:" & String(3,vbTab) & " Status:" & String(3,vbTab) & " Username:" & vbCrLf & " " & String(85,"-") & Info)
Else
curuser.PrivateMessage CStr(sBotName),CStr("No record on serie " & sIP)
End If
End Sub

Sub Userinfo(curuser,sUser)
If oUsers.Exists(LCase(CStr(sUser))) Then
sStatus = "offline"
If colUsers.Online(CStr(sUser)) then sStatus = "online"
sInfo = vbCrLf & vbCrLf & " -=The user " & suser & " is " & sStatus & "=-" & vbCrLf & vbCrLf & " IP History:" & vbTab & vbTab & " Login History:" & vbCrLf & " " & String(52,"-") & vbCrLf & oUsers(LCase(suser))
Else
sInfo = "No record on user " & sUser
End If
curUser.PrivateMessage CStr(sBotName),CStr(sInfo)
End Sub

Sub IPInfo(curUser,sIP)
If oIPs.Exists(sIP) Then
sInfo = vbCrLf & vbCrLf & " Username:" & vbTab & vbTab & " Login History:" & vbCrLf & " " & String(52,"-") & vbCrLf & oIPs(sIP)
Else
sInfo = "No record on " & sIP
End If
curUser.PrivateMessage Cstr(sBotName),Cstr(sInfo)
End Sub

Sub Logg(curuser)
sNick = Cstr(curuser.sName)
sIP = Cstr(curUser.IP)

If Not bEML Then
If oUsers.Exists(Lcase(sNick)) Then
oUsers(Lcase(sNick)) = " " & sIP & vbTab & vbTab & " " & Cstr(Now) & vbCRLF & oUsers(Lcase(sNick)) 
Else
oUsers(Lcase(sNick)) = " " & sIP & vbTab & vbTab & " " & Cstr(Now)
End If
If oIPs.Exists(sIP) Then
oIPs(sIP) = " " & sNick & CalcTabs(sNick,3) & " " & Cstr(Now) & vbCRLF & oIPs(sIP) 
Else
oIPs(sIP) = " " & sNick & CalcTabs(sNick,3) & " " & Cstr(Now)
End If
Else
If oUsers.Exists(Lcase(sNick)) Then
If Int(HowMany(oUsers(Lcase(sNick))," ") / 2) < Int(iML) Then
oUsers(Lcase(sNick)) = " " & sIP & vbTab & vbTab & " " & Cstr(Now) & vbCRLF & oUsers(Lcase(sNick))
Else
oUsers(Lcase(sNick)) = SortLogg(" " & sIP & vbTab & vbTab & " " & Cstr(Now) & vbCRLF & oUsers(Lcase(sNick)))
End If
Else
oUsers(Lcase(sNick)) = " " & sIP & vbTab & vbTab & " " & Cstr(Now)
End If
If oIPs.Exists(sIP) Then
If Int(HowMany(oIPs(sIP)," ") / 2) < Int(iML) Then
oIPs(sIP) = " " & sNick & CalcTabs(sNick,3) & " " & Cstr(Now) & vbCRLF & oIPs(sIP) 
Else
oIPs(sIP) = SortLogg(" " & sNick & CalcTabs(sNick,3) & " " & Cstr(Now) & vbCRLF & oIPs(sIP))
End If
Else
oIPs(sIP) = " " & sNick & CalcTabs(sNick,3) & " " & Cstr(Now)
End If
End If
End Sub

Sub Help(curuser)
sNick = Cstr(curuser.sName)
sWelcomeMsg = Cstr("Welcome $usr! These are the $Status commands." & vbCrLf & vbCrLf)

sOPMsg = Cstr(" addban <IP>" & String(3,vbTab) & "- Permanently bans an IP" & vbCrLf & _
" unban <IP>" & String(3,vbTab) & "- Removes a permbanned IP" & vbCrLf & _
" cleartemp" & String(3,vbTab) & "- Clears the temp-ban list" & vbCrLf & vbCrLf & _
" show permbanlist" & String(3,vbTab) & "- Displays all permbanned IPs" & vbCrLf & _
" show help" & String(3,vbTab) & "- Displays this text again" & vbCrLf & _
" show hubinfo" & String(3,vbTab) & "- Displays the Hub Settings" & vbCrLf)

sVIPMsg = Cstr(" show userinfo <name>" & String(2,vbTab) & "- Displays userinfo" & vbCrLf & _
" show ipinfo <IP>" & String(3,vbTab) & "- Displays ipinfo" & vbCrLf)

sSUMsg = Cstr(" show reginfo" & String(3,vbTab) & "- Displays all SUs, VIPs and OPs in this hub" & vbCrLf & vbCrLf & _
" set sharelimit <gb>" & String(2,vbTab) & "- Sets a new Sharelimit" & vbCrLf & _
" set redirect <IP>" & String(3,vbTab) & "- Sets a new Redirect IP" & vbCrLf & _
" set autoredir <nr>" & String(2,vbTab) & "                - Sets the Auto Redirect Users (Login) on or off. 0 = Off, 1 = On." & vbCrLf & _
" set description <description>" & String(1,vbTab) & "- Sets a new Hub Description" & vbCrLf & vbCrLf & _
" send opmsg <message>" & String(2,vbTab) & "- Sends a OP-Mass-Message" & vbCrLf & _
" send massmsg <message>" & String(2,vbTab) & "- Sends a Hub-Mass-Message" & vbCrLf & vbCrLf & _
" adduser <name> <pass> <nr>" & String(1,vbTab) & "- Registers a user. 1 = Operator, 2 = VIP/User" & vbCrLf & _
" unreg <name>" & String(3,vbTab) & "- Removes the Operator/VIP Status")

If IsSU(sNick) Then
curuser.PrivateMessage Cstr(sBotName),Cstr(Replace(Replace(sWelcomeMsg & sOPMsg & sVIPMsg & sSUMsg,"$usr",sNick),"$Status","SU operator"))
ElseIf IsVIP(sNick) Then
curuser.PrivateMessage Cstr(sBotName),Cstr(Replace(Replace(sWelcomeMsg & sVIPMsg,"$usr",sNick),"$Status","VIP user"))
ElseIf curuser.bOperator Then
curuser.PrivateMessage Cstr(sBotName),Cstr(Replace(Replace(sWelcomeMsg & sOPMsg & sVIPMsg,"$usr",sNick),"$Status","operator"))
End If
End Sub

Sub OpConnected(curUser)
Logg curuser
Help curuser
If curUser.bOperator Then colUsers.SendChatToAll Cstr("Hub-Security - " & Cstr(Time)),Cstr("The Operator "+curUser.sName+" has logged in.")
End Sub

Sub NewUserConnected(curUser)
sNick = Cstr(curuser.sName)
Dic(sNick) = "-"

If Left(sNick,Len(sVIPPrefix)) = sVIPPrefix Then
curuser.SendChatMessage Cstr(sBotName),Cstr("You are not a VIP in this hub!")
frmhub.doeventsforme
curuser.disconnect

ElseIf Left(sNick,1) <> "[" Then
curuser.SendChatmessage Cstr(sBotName),Cstr("Please add your [ISP]/Internet Service Provider Prefix infront of your username. Eg: - [BBB], [Telia], [Bostream], etc.")

ElseIf bESC Then
curUser.SendData "$Search Hub:" & CStr(sBotName) & " F?F?0?0?" & "."
End If
End Sub

Sub deOp(poorOp,deoper)
j = ChkRegUser(poorOp,1)
If j=0 Then
deoper.privatemessage cstr(sBotName),"" & poorOp &" is not a registered user in this hub."
Else
frmHub.lstOps.listItems.remove j
deoper.PrivateMessage Cstr(sBotName),Cstr("The user " & poorOp & " is now Unreged")
SendDebug deoper.sName,"The OP-list in DC Hub"
End If
End Sub

Sub Op(luckyOP,sponsor,pass,Value)
If Value = "1" Then Value = "True"
If Value = "2" Then Value = "False"
If ChkRegUser(luckyOP,0) <> 1 then
Set newOP = frmHub.lstOps.listItems.add(,,cstr(luckyOP))
newOP.SubItems(1) = pass
newOP.SubItems(2) = Value
sponsor.PrivateMessage Cstr(sBotName),Cstr("The user " & luckyOP & " is now a registered user")
SendDebug sponsor.sName,"the OP-list in DC Hub"
Else
sponsor.PrivateMessage cstr(sBotName),Cstr(luckyop &" is already registered here!")
End If
End Sub

Sub SendDebug(From,what)
colUsers.ItemByName(Cstr(sDebugTo)).PrivateMessage Cstr(sBotName),Cstr("User " & From & " has changed " & What & " - " & Cstr(Now))
End Sub

Function SortLogg(ToSort)
SortLogg = Left(ToSort,InstrRev(ToSort,vbCrlf,-1) - 1)
End Function

Function HowMany(sIn,sFirst)
N = 1
Do While N <= Len(sIn)
N = InStr(N,sIn,sFirst)
If N = 0 Then Exit Do
N = N + 1
A = A + 1
Loop
If A = "" Then HowMany = 0
If A <> "" Then HowMany = A
End Function

Function BanEx(IP,nr)
Set oBanList = frmHub.lstPermBan
For i = 0 To oBanList.ListCount-1
If oBanList.List(i) = IP Then
If nr = 0 Then BanEx = True
If nr = 1 Then BanEx = i
Exit For
Else
BanEx = False
End If
Next
End Function

Function CalcTabs(sIn,Tabs)
Number = Len(sIn)
If Number<8 Then CalcTabs = String(int(Tabs),vbTab)
If Number>7 And Number<17 Then CalcTabs = String(int(Tabs-1),vbTab)
If Number=>17 And Number<24 Then CalcTabs = String(int(Tabs-2),vbTab)
End Function

Function ChkRegUser(Name,nr)
For Each RegUsr In frmHub.lstOps.ListItems
If lcase(RegUsr) = lcase(Name) Then
If nr = 0 Then ChkRegUser = 1
If nr = 1 Then ChkRegUser = Int(RegUsr.index)
Exit For
End If
Next
End Function

Function IsSU(Name)
IsSU = Left(Name,Len(sSUPrefix)) = (sSUPrefix)
End Function

Function IsVIP(Name)
IsVIP = Left(Name,Len(sVIPPrefix)) = (sVIPPrefix)
End Function

Function BeforeFirst(sIn,sFirst)
BeforeFirst = Left(sIn,InStr(1,sIn,sFirst) - 1)
End Function

Function AfterFirst(sIn,sFirst)
AfterFirst = Right(sIn,Len(sIn) - InStr(1,sIn,sFirst) - (Len(sFirst) - 1))
End Function

Function AfterLast(sIn,sLast)
AfterLast = Right(sIn,Len(sIn) - InstrRev(sIn,sLast,-1) - (Len(sLast) - 1))
End Function 

Can you please add some things to this script.

1. SU And VIP Login, there is only OP Login now.
2. SU Can "kill" or "mega flood" a user, and OP's normal flood.
3. VIP Can disconnect user.

Please if someone can edd theese commands to the script im very thanxfull.

Remember that please do not change old commands. I wont be thanxfull for that.

:?
NuclearFusionâ„¢ 24:7

Locked