hehe danke

und ja es ist wichtig die sekunden anzugeben(soweit ich jedenfalls weiss ^^)
also das obere script brauchste keine sekunden mehr anzugeben, also 9:00 würde reichen aber im topic würde 9:00:00 dann stehen oder nimmst das untere script, da sollte er die zeit auch als 9:00 angeben
und zu deinem horizont: musst doch einfach nur das ":00" für die sekunden an deine angabe oder an den zeit vergleich ranhängen, damits ohne geht und in diesem fall 2IFs umschreiben, das hätteste selber garantiert auch noch hinbekommen
Code:
Sub Init()
Script "topic-timer by St4rg4t3"
Hook "Chan_Msg"
Countdown
End Sub
Const tt = "topictimer.ini"
Dim Zeit, nummer
Sub Chan_Msg(Chan, Nick, RegUser, Line)
If LCase(Param(Line, 1)) = "!zeit" Then
If MatchFlags(GetUserChanFlags(RegUser, Chan), "+n") AND ParamCount(Line) > "2" AND Len(Param(Line, 2)) = "5" Then
If Mid(Param(Line, 2), 3, 1) = ":" Then
a = CINT(ReadINIString("Topic", "anzahl", "0", tt)) + 1
WriteINIString "Topic", a & "t", GetRest(Line, 3), tt
WriteINIString "Topic", a & "c", Chan, tt
WriteINIString "Topic", a & "z", Param(Line, 2) & ":00", tt
WriteINIString "Topic", "anzahl", a, tt
If Not nummer = vbNullString Then Exit Sub
i = "0"
For i = 1 To a
If Not ReadINIString("Topic", i & "t", vbNullString, tt) = "vbNullString" Then
Zeit = TimeValue(ReadINIString("Topic", i & "z", vbNullString, tt))
nummer = CINT(i)
Exit Sub
End If
Next
End If
End If
End If
End Sub
Sub Countdown()
Do While Time = Zeit
Dim i
If i = vbNullString Then
i = (CINT(nummer) + 1)
End If
For i = 1 To ReadINIString("Topic", "anzahl", vbNullString, tt)
If top = vbNullString Then
top = "Und hiernach: "
End If
If Not ReadINIString("Topic", i & "z", "1", tt) = "1" Then
If Not ReadINIString("Topic", i & "z", vbNullString, tt) = ReadINIString("Topic", nummer & "z", vbNullString, tt)Then
top = top & " " & ReadINIString("Topic", i & "z", vbNullString, tt) & ": " & ReadINIString("Topic", i & "t", vbNullString, tt) & " ||"
End If
End If
Next
If top = "Und hiernach: " Then
top = ""
End If
SendLine "TOPIC " & ReadINIString("Topic", nummer & "c", vbNullString, tt) & " :" & ReadINIString("Topic", nummer & "t", vbNullString, tt) & " >> " & top, 2
DeleteINIString "Topic", nummer & "t", tt
DeleteINIString "Topic", nummer & "c", tt
DeleteINIString "Topic", nummer & "z", tt
nummer = nummer + 1
If Not ReadINIString("Topic", nummer & "t", vbNullString, tt) = vbNullString Then
Zeit = TimeValue(ReadINIString("Topic", nummer & "z", vbNullString, tt))
Else
Zeit = False
End If
TimedCommand "Countdown", 1
Exit Sub
Loop
TimedCommand "Countdown", 1
End Sub
Code:
Sub Init()
Script "topic-timer by St4rg4t3"
Hook "Chan_Msg"
Countdown
End Sub
Const tt = "topictimer.ini"
Dim Zeit, nummer
Sub Chan_Msg(Chan, Nick, RegUser, Line)
If LCase(Param(Line, 1)) = "!zeit" Then
If MatchFlags(GetUserChanFlags(RegUser, Chan), "+n") AND ParamCount(Line) > "2" AND Len(Param(Line, 2)) = "5" Then
If Mid(Param(Line, 2), 3, 1) = ":" Then
a = CINT(ReadINIString("Topic", "anzahl", "0", tt)) + 1
WriteINIString "Topic", a & "t", GetRest(Line, 3), tt
WriteINIString "Topic", a & "c", Chan, tt
WriteINIString "Topic", a & "z", Param(Line, 2), tt
WriteINIString "Topic", "anzahl", a, tt
If Not nummer = vbNullString Then Exit Sub
i = "0"
For i = 1 To a
If Not ReadINIString("Topic", i & "t", vbNullString, tt) = "vbNullString" Then
Zeit = TimeValue(ReadINIString("Topic", i & "z", vbNullString, tt) & ":00")
nummer = CINT(i)
Exit Sub
End If
Next
End If
End If
End If
End Sub
Sub Countdown()
Do While Time = Zeit
Dim i
If i = vbNullString Then
i = (CINT(nummer) + 1)
End If
For i = 1 To ReadINIString("Topic", "anzahl", vbNullString, tt)
If top = vbNullString Then
top = "Und hiernach: "
End If
If Not ReadINIString("Topic", i & "z", "1", tt) = "1" Then
If Not ReadINIString("Topic", i & "z", vbNullString, tt) = ReadINIString("Topic", nummer & "z", vbNullString, tt)Then
top = top & " " & ReadINIString("Topic", i & "z", vbNullString, tt) & ": " & ReadINIString("Topic", i & "t", vbNullString, tt) & " ||"
End If
End If
Next
If top = "Und hiernach: " Then
top = ""
End If
SendLine "TOPIC " & ReadINIString("Topic", nummer & "c", vbNullString, tt) & " :" & ReadINIString("Topic", nummer & "t", vbNullString, tt) & " >> " & top, 2
DeleteINIString "Topic", nummer & "t", tt
DeleteINIString "Topic", nummer & "c", tt
DeleteINIString "Topic", nummer & "z", tt
nummer = nummer + 1
If Not ReadINIString("Topic", nummer & "t", vbNullString, tt) = vbNullString Then
Zeit = TimeValue(ReadINIString("Topic", nummer & "z", vbNullString, tt) & ":00")
Else
Zeit = False
End If
TimedCommand "Countdown", 1
Exit Sub
Loop
TimedCommand "Countdown", 1
End Sub
cu Stargate