20.09.2004, 11:04 Uhr
Code:
'================================================
'Erstellt mit [ABP]AVS 1.0.8
'AnGelBot Visual Scripting
'Visit us online @ http://www.AnGelBot-Portal.de/
'================================================
'Programmiert von Sp33d
'================================================
Const ActiveChannels = "#222.sde #masterbot #six.feet.under #gec.sde-intern #mythos.sde"
Const Allis = "Alianz-Datenbank.ini"
Sub Init()
Script "AllyDatenbank v1.2a by Sp33d"
Hook "Chan_Msg"
End Sub
Sub Chan_Msg(Chan, Nick, RegUser, Line)
If InStr(1, " " & LCase(ActiveChannels) & " ", " " & LCase(Chan) & " ") <= 0 Then Exit Sub
Select Case LCase(Param(Line, 1))
Case "!add"
If (Not IsValidCoord(Param(Line, 2))) Or Param(Line, 3) = vbNullString Then
SendLine "NOTICE " & Nick & " :Benutzung: !add <Koordinate> <Allianz> (fügt der Koordinate die Allianz und andersrum zu)", 2
Else
Koordinaten = Param(Line, 2)
Allianz = Param(Line, 3)
If ReadINIString(Koordinaten, "Allianz", vbNullString, Allis) <> vbNullString And ReadINIString(Koordinaten, "Allianz", vbNullString, Allis) <> Allianz Then
SendLine "NOTICE " & Nick & " :9,14Die alte Allianz von " & Koordinaten & " war " & ReadINIString(Koordinaten, "Allianz", vbNullString, Allis), 2
End If
WriteINIString Koordinaten, "Allianz", Allianz, Allis
WriteINIString Koordinaten, "Host", Mask(Hostmask(Chan, Nick), 3), Allis
WriteINIString Koordinaten, "Nick", Nick, Allis
WriteINIString Allianz, "Koordinaten", ReadINIString(Allianz, "Koordinaten", vbNullString, Allis) & ";" & Koordinaten, Allis
WriteINIString Allianz, "Host", Mask(Hostmask(Chan, Nick), 3), Allis
WriteINIString Allianz, "Nick", Nick, Allis
SendLine "NOTICE " & Nick & " :9,14Die Allianz wurde erfolgreich in meine Datenbank integriert", 2
End If
Case "!ally"
If Not IsValidCoord(Param(Line, 2)) Then
SendLine "NOTICE " & Nick & " :Benutzung: !ally <Koordinate> (gibt die Allianz der Koordinate zurück)", 2
Else
If ReadINIString(Param(Line, 2), "Allianz", vbNullString, Allis) <> vbNullString Then
SendLine "NOTICE " & Nick & " :9,14Die Allianz von " & Param(Line, 2) & " ist " & ReadINIString(Param(Line, 2), "Allianz", vbNullString, Allis),2
Else
SendLine "NOTICE " & Nick & " :9,14Über diese Information verfüge ich nicht", 2
End If
End If
Case "!member"
If Param(Line, 2) = vbNullString Then
SendLine "NOTICE " & Nick & " :Benutzung: !member <Allianz> (gibt alle gespeicherten Koordinaten einer Allianz zurück)", 2
Else
If Trim(ReadINIString(Param(Line, 2), "Koordinaten", vbNullString, Allis)) <> vbNullString Then
Dim strLine, strData
strData = Trim(Right(ReadINIString(Param(Line, 2), "Koordinaten", vbNullString, Allis), Len(Trim(ReadINIString(Param(Line, 2), "Koordinaten", vbNullString, Allis))) - 1))
strLine = Left(strData, 100)
strData = Mid(strData, 100)
SendLine "NOTICE " & Nick & " :9,14Die Koordinaten von " & Param(Line, 2) & " sind: " & strLine, 2
Do While Len(strLine) = 100
SendLine "NOTICE " & Nick & " :» " & strLine, 2
Loop
Else
SendLine "NOTICE " & Nick & " :9,14Diese Allianz verfügt über keine Koordinaten", 2
End If
End If
Case "!del"
If Not IsValidCoord(Param(Line, 2)) Then
SendLine "NOTICE " & Nick & " :Benutzung: !del <Koordinate> (löscht die Allianz von der Koordinate und andersrum)", 2
Else
If ReadINIString(Param(Line, 2), "Allianz", vbNullString, Allis) <> vbNullString Then
Allianz = ReadINIString(Param(Line, 2), "Allianz", vbNullString, Allis)
Koordinaten = ReadINIString(Allianz, "Koordinaten", vbNullString, Allis)
WriteINIString Allianz, "Koordinaten", Replace(Koordinaten, ";" & Param(Line, 2), vbNullString), Allis
DeleteINIString Param(Line, 2), "Allianz", Allis
SendLine "NOTICE " & Nick & " :9,14Die Allianz von " & Param(Line, 2) & " wurde gelöscht", 2
Else
SendLine "NOTICE " & Nick & " :9,14Der Koordinate " & Param(Line, 2) & " ist keine Allianz zugewiesen", 2
End If
End If
Case "!who"
If MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
If ReadINIString(Param(Line, 2), "Nick", vbNullString, Allis) = vbNullString Then
SendLine "NOTICE " & Nick & " :9,14Allianz oder Koordinate besitzt keinen Autor", 2
Else
SendLine "NOTICE " & Nick & " :9,14Der letzte Eintrag stammt von " & ReadINIString(Param(Line, 2), "Nick", vbNullString, Allis) & ". Die Hostmask war " & ReadINIString(Param(Line, 2), "Host", vbNullString, Allis), 2
End If
End If
End Select
End Sub
Function IsValidCoord(Coord)
IsValidCoord = False
If InStr(1, Coord, ":") > 0 Then
If IsNumeric(ParamX(Coord, ":", 1)) And IsNumeric(ParamX(Coord, ":", 2)) Then
IsValidCoord = True
End If
End If
End FunctionHey Sp33d. Beim Befehl !member <ally> postet der BOT ja die ganzen Koords... Nur wenn das mehr als 20 oder so sind.. Spammt der BOT die leute zu die den Befhel gemacht haben... Er hört auch nicht auf damit.. Könntest du das mal bitte ändern ?!
Vielen Dank schonmal