15.01.2007, 15:11 Uhr
Hmm, wenn das Script erst gar nicht gestartet werden kann, muss einer am Code ge(ver)fummelt haben. Bei mir läuft es astrein 
Hier noch mal der Code:

Hier noch mal der Code:
Code:
'#######################################################################################
'# Wetter Script by Spiky #
'#######################################################################################
'# #
'# Copyright 2006 by Spiky #
'# #
'#######################################################################################
'#######################################################################################
'# Verfügbare Variablen #
'# #
'# %PLZ% - Postleitzahl #
'# %TEMP% - Temperatur #
'# %STATUS% - Bewölkt oder Sonnig etc. #
'# %WIND% - Windrichtung und Stärke #
'# %FEUCHT% - Luftfeuchtigkeit in Prozent #
'# %SICHT% - Sicht in Km #
'# %DRUCK% - Luftdruck #
'# #
'#######################################################################################
Const vSkin = "1,0[7ø1] Wetter für %PLZ% 7¬1 %TEMP%, %STATUS% mit Wind %WIND% 1[7ø1] Die Luftfeuchtigkeit liegt bei %FEUCHT% und die Sicht beträgt %SICHT% 1[7ø1]"
'#######################################################################################
'#######################################################################################
'# Zeit in Sekunden zwischen jeder Abfrage #
'#######################################################################################
Const vFlood = 1
'#######################################################################################
Dim vChan, vNick, vOrt, HTML, Temp, vCheck, vGet
Const vHost = "de.weather.com"
Sub Init()
Script "Wetter Script by Spiky"
Hook "Chan_Msg"
End Sub
Sub Chan_Msg(Chan, Nick, RegUser, Line)
If LCase(Param(Line, 1)) = CommandPrefix & "wetter" And vCheck = 0 Then
If IsNumeric(Param(Line,2)) Then
vCheck = 1: vChan = Chan: vNick = Nick: vOrt = Param(Line,2)
vSock = SockConnect(vHost, 80, "SockEvent")
If vSock = 0 Then
SpreadFlagMessage 0, "+s", "4*** " & vHost & ": Couldn't create socket"
End If
Else
SendLine "Notice " & vNick & " :Sie müssen eine PLZ angeben.",3
End If
End If
End Sub
Sub SockEvent(vSock, SEvent, SData)
Select Case SEvent
Case SE_ConnectFailed
SpreadFlagMessage 0, "+s", "4*** Connection to " & vHost & " failed"
Case SE_Connected
SockWrite vSock, "GET /weather/local/" & vORT & " HTTP/1.0"& vbCrLf & _
"Accept: text/html" & vbCrLf & _
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" & vbCrLf & _
"Host: " & vHost & vbCrLf & _
"Pragma: no-cache" & vbCrLf & _
"Connection: close" & vbCrLf & vbCrLf
Case SE_Read
HTML = HTML & SData
Case SE_Closed
HTML = Replace(Replace(Replace(Replace(HTML, "°", "°"), " ", vbNullString), vbCr, VBNullString), vbLf, VBNullString)
If InStr(1, HTML, "<!-- Begin Main Content Here-->", VBTextCompare) > 0 Then
vGet = True
Dummy = vOrt
Temp = Right(HTML, Len(HTML) - InStr(1, HTML, Dummy, VBTextCompare) - Len(Dummy) - 182)
vPLZ = Left(Temp, InStr(1, Temp, ",", VBTextCompare) - 1)
vPLZ = vPLZ & ", (" & vOrt & ")"
Dummy = "<TD COLSPAN="&CHR(34)&"2"&CHR(34)&" CLASS="&CHR(34)&"obsTempText"&CHR(34)&" VALIGN="&CHR(34)&"TOP"&CHR(34)&">"
Temp = Right(HTML, Len(HTML) - InStr(1, HTML, Dummy, VBTextCompare) - Len(Dummy) + 1)
vTemp = Left(Temp, InStr(1, Temp, "</TD>", VBTextCompare) - 1 )
Dummy = "<TD colspan="&CHR(34)&"3"&CHR(34)&" align="&CHR(34)&"center"&CHR(34)&" CLASS="&CHR(34)&"obsText"&CHR(34)&">"
Temp = Right(HTML, Len(HTML) - InStr(1, HTML, Dummy, VBTextCompare) - Len(Dummy) + 1)
vStatus = Left(Temp, InStr(1, Temp, "</TD>", VBTextCompare) - 63 )
Dummy = "<B>Wind:</B>"
Temp = Right(HTML, Len(HTML) - InStr(1, HTML, Dummy, VBTextCompare) - Len(Dummy) - 227)
vWind = Left(Temp, InStr(1, Temp, "</TD>", VBTextCompare) - 1 )
Dummy = "<B>Luftfeuchtigkeit:</B>"
Temp = Right(HTML, Len(HTML) - InStr(1, HTML, Dummy, VBTextCompare) - Len(Dummy) - 227)
vLuftfeuchtigkeit = Left(Temp, InStr(1, Temp, "</TD>", VBTextCompare) - 1 )
Dummy = "<B>Sicht:</B>"
Temp = Right(HTML, Len(HTML) - InStr(1, HTML, Dummy, VBTextCompare) - Len(Dummy) - 227)
vSicht = Left(Temp, InStr(1, Temp, "</TD>", VBTextCompare) - 1 )
Dummy = "<B>Luftdruck:</B>"
Temp = Right(HTML, Len(HTML) - InStr(1, HTML, Dummy, VBTextCompare) - Len(Dummy) - 227)
vLuftdruck = Left(Temp, InStr(1, Temp, "</TD>", VBTextCompare) - 1 )
ElseIf InStr(1, HTML, "Lokale Wettervorhersage", VBTextCompare) > 0 Then
vGet = False
End If
If vGet = True Then
SendLine "PRIVMSG " & vChan & " : " & Replace(Replace(Replace(Replace(Replace(Replace(Replace(vSkin, "%PLZ%", vPLZ, VBTextCompare), "%TEMP%", vTemp, VBTextCompare), "%STATUS%", vStatus, VBTextCompare), "%WIND%", vWind, VBTextCompare), "%FEUCHT%", vLuftfeuchtigkeit, VBTextCompare), "%SICHT%", vSicht, VBTextCompare), "%DRUCK%", vLuftdruck, VBTextCompare),3
HTML = VBNullString: Temp = VBNullString: Dummy = VBNullString: vGet = VBNullString
TimedCommand "vCheck = 0", vFlood
Else
SendLine "Notice " & vNick & " :Es tut mir leid aber die PLZ: [ " & vOrt & " ] kenne ich nicht.",3
HTML = VBNullString: Temp = VBNullString: Dummy = VBNullString: vGet = VBNullString
TimedCommand "vCheck = 0", vFlood
End If
End Select
End Sub