Rapidshare Punktescript

  • Hey @ all :)

    Habe mir mal ein Rapidshare Punktescript gebastelt das sieht im moment wie folgt aus:

    Spoiler anzeigen
    [autoit]

    #cs
    |------------------------------------------------|
    | Date: 01.12.2009
    | Time: 17:25
    | Name: Rapidshare Punktezähler Script
    | Scriptet by: Blackdeath911
    |
    |------------------------------------------------|
    #ce

    [/autoit] [autoit][/autoit] [autoit]

    ;Script start
    #region Includes
    #include <Array.au3>
    #include <File.au3>
    #include <Inet.au3>
    #include <String.au3>
    #endregion Includes
    #region globale variabeln
    Global $i = 0
    Global $12std = 0
    Global $12hwert = 0
    Global $Wert_alt
    ;Daten aus ini auslesen und in die variabeln einsetzen
    Global $login = Iniread ("data.ini","login","account","fail")
    Global $pass = Iniread ("data.ini","pass","account","fail")
    Global $account = Iniread ("data.ini","art","account","fail")
    Global $pauseini = Iniread ("data.ini","pause","pause","30")
    #endregion globale variabeln

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Falls ini nicht vorhanden bzw. falsche daten drin
    ;(als falsche daten werden erkannt: keine angaben, falsche angaben vor dem "=" in der ini)
    #region fehlerboxen
    If $login="fail" Then
    MsgBox (1,"FAIL","Accountdaten sind nicht korrekt oder konnten nicht ausgelesen werden Script wird Beendet"& @CRLF &"Bitte die daten.ini checken")
    exit
    EndIf
    If $pass="fail" Then
    MsgBox (1,"FAIL","Accountdaten sind nicht korrekt oder konnten nicht ausgelesen werden Script wird Beendet"& @CRLF &"Bitte die daten.ini checken")
    exit
    EndIf
    If $account="fail" Then
    MsgBox (1,"FAIL","Accountdaten sind nicht korrekt oder konnten nicht ausgelesen werden Script wird Beendet"& @CRLF &"Bitte die daten.ini checken")
    exit
    EndIf
    #endregion fehlerboxen

    [/autoit] [autoit][/autoit] [autoit]

    ;Hier die messagebox zum checken der eingetragenen daten... wenn (IF) msgbox ausgabe = 2 (abbrechen feld) dann beendet das script (exit)
    If Msgbox (1,"test","accountnummer=" & $login & @CRLF &"passwort=" & $pass & @CRLF &"Accounttyp=" & $account & @CRLF & "Aktualisierungszeit=" & $pauseini & @CRLF & @CRLF & "Daten Richtig? dann OK Drücken")=2 Then
    exit
    Endif

    [/autoit] [autoit][/autoit] [autoit]

    ;Schleife für die Punkte
    While True
    ;txt dateien öffenen, wenn nicht geöffnet werden können Fehlerbox + exit
    $punkte = FileOpen("punktefree.txt", 1)
    $punkte2 = FileOpen("punkteprem.txt", 1)
    If $punkte = -1 Then
    MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
    Exit
    EndIf
    If $punkte2 = -1 Then
    MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
    Exit
    Endif

    [/autoit] [autoit][/autoit] [autoit]

    ;Daten aus der API holen -> Link mit variabeln aus der INI
    $quelltext = _INetGetSource("http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=getaccountdetails_v1&login="&$login&"&password="&$pass&"&type="&$account)
    ;array wird erstellt für die fpoints und ppoints
    $array = _StringBetween($quelltext, "fpoints=", "ppoints")
    $array2 = _StringBetween($quelltext, "ppoints=", "curfiles")
    ;um die arrays bei jedem durchlauf anzeigen zu lassen einfach das ; davor wegmachen...
    ;_ArrayDisplay($array)
    ;_ArrayDisplay($array2)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; Free Points Berechnung:
    $Wert = Int($array[0])
    ConsoleWrite("FreePoints: " & $Wert & @CRLF)
    If IsArray($array) Then
    If $i > 0 Then
    ConsoleWrite("1: " & $Wert - $Wert_alt & @CRLF)
    FileWrite($punkte, $Wert - $Wert_alt & " Time: " & @HOUR &":"& @MIN & @CRLF)
    Else
    ConsoleWrite("2: " & $Wert & @CRLF)
    FileWrite($punkte, $Wert & " TimeStart: " & @HOUR &":"& @MIN & @CRLF)
    EndIf
    EndIf
    $Wert_alt = $Wert

    [/autoit] [autoit][/autoit] [autoit]

    #cs
    Erklärung der rechnung:
    Es wird der $wert genommen der aus dem Array geholt wird genommen
    Dieser wird dann wenn $i größer als 1 ist - den alten wert genommen.
    Beim ersten durchlauf ist $wert_alt noch nicht da also wird nur der startwert aufgeschrieben
    Weiter unten dann, wird $i höher gesetzt das beim nächsten durchlauf $wert - $wert_alt gerechnet wird

    [/autoit] [autoit][/autoit] [autoit]

    @Hour = stunden @MIN = Minuten @CRLF = zeilenumbruch
    Consolwrite interessiert hier nicht hab ich eig nur zum testen hingeschrieben das es hier angezeigt wird :)

    [/autoit] [autoit][/autoit] [autoit]

    Gleiches dann Hier unten bei der Premium Punkte Berechnung
    nur dort hab ich hinter die Variabeln meißt nur eine "2" geklatscht :)
    #ce

    [/autoit] [autoit][/autoit] [autoit]

    ; Premium Points Berechnung:
    $Wert2 = Int($array2[0])
    ConsoleWrite("PremiumPoints:"& @TAB & $Wert2 & @CRLF)

    [/autoit] [autoit][/autoit] [autoit]

    If IsArray($array2) Then
    If $i > 0 Then
    ConsoleWrite("1: " & $Wert2 - $Wert_alt2 & @CRLF)
    FileWrite($punkte2, $Wert2 - $Wert_alt2 & @TAB & "Time:"& @TAB & @HOUR &":"& @MIN & @CRLF)
    $aktuellerw=$Wert2-$Wert_alt2
    $12hwert=$12hwert+$aktuellerw
    Else
    ConsoleWrite("2: " & $Wert2 & @CRLF)
    FileWrite($punkte2, $Wert2 & @TAB & "TimeStart:"& @TAB & @HOUR &":"& @MIN & @CRLF)
    EndIf
    EndIf
    $Wert_alt2 = $Wert2

    ;geöffnete txt´s wieder schließen das man die Punkteaufschreibung auch einsehen kann
    FileClose($punkte)
    FileClose($punkte2)


    $pause1=$pauseini*60*1000
    #region Wartezeit
    $begin = TimerInit()
    Sleep($pause1)
    $dif = TimerDiff($begin)
    #endregion Wartezeit
    $i += 1

    [/autoit] [autoit][/autoit] [autoit]

    #cs
    Bei den 12 Stunden Punkten lasse ich jede halbe stunde die Variabel $12std + 1 Zählen
    Wenn diese dann bei 24 Angekommen ist (24 halbe stunden = 12 Stunden)
    dann wird die IF erfült und abgearbeitet

    [/autoit] [autoit][/autoit] [autoit]

    Den 12hwert lege ich in der Premium Punkte berechnung fest must du dort nochmal nachschaun wie die zustande kommt
    #ce

    [/autoit] [autoit][/autoit] [autoit]

    ;12 Stunden Punkte Berechnung
    $12std=$12std+1
    IF $12std = 24 Then
    $punkte12h = FileOpen("punkte12h.txt", 1)
    FileWrite($punkte12h, $12hwert & @TAB &"Time:"& @TAB & @HOUR &":"& @MIN & @CRLF)
    FileClose($punkte12h)
    ;Variabeln wieder = 0 Setzen
    $12hwerk = 0
    $12std = 0
    EndIf
    WEnd

    [/autoit]

    Es funktioniert einwandfrei !
    Es schreibt die Punkte in der angegebenen Zeit schön wie es soll in eine TXT Datei

    Nun zu dem was ich eigendlich möchte...
    Ich möchte das script jetzt mit mehreren (X) accounts zum laufen bekommen, das er sich aus allen accounts die Punkte holt diese zusammenadiert und dann in die TXT schreibt...

    Wie realisier ich das ganze?
    denn da steh ich im moment aufn schlauch

    MFG: Blacky911

    Kleiner AutoIt Lehrling :)

  • Mach aus dem Abfragen eine Funktion!

    [autoit]

    Func GetPoints($AccountName, $Passwort)
    ;...
    EndFunc

    [/autoit]


    Dann kannst du nachher in einer Schleife die Nutzerdaten aus der Ini lesen.
    Und dann mit einer Schleife abfragen!

    [autoit]

    For $i = 0 to UBound($Nutzername) -1
    GetPoints($Nutzername[$i], $Passwort[$i])
    Next

    [/autoit]

    Edit:

    Spoiler anzeigen
    [autoit]

    #cs
    |------------------------------------------------|
    | Date: 01.12.2009
    | Time: 17:25
    | Name: Rapidshare Punktezähler Script
    | Scriptet by: Blackdeath911
    |
    |------------------------------------------------|
    #ce

    [/autoit] [autoit][/autoit] [autoit]

    ;Script start
    #region Includes
    #include <Array.au3>
    #include <File.au3>
    #include <Inet.au3>
    #include <String.au3>
    #endregion Includes
    #region globale variabeln
    Global $i = 0
    Global $12std = 0
    Global $12hwert = 0
    Global $Wert_alt
    ;Daten aus ini auslesen und in die variabeln einsetzen
    Global $login = Iniread ("data.ini","login","account","fail")
    Global $pass = Iniread ("data.ini","pass","account","fail")
    Global $account = Iniread ("data.ini","art","account","fail")
    Global $pauseini = Iniread ("data.ini","pause","pause","30")
    #endregion globale variabeln

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Falls ini nicht vorhanden bzw. falsche daten drin
    ;(als falsche daten werden erkannt: keine angaben, falsche angaben vor dem "=" in der ini)
    #region fehlerboxen
    If $login="fail" Then
    MsgBox (1,"FAIL","Accountdaten sind nicht korrekt oder konnten nicht ausgelesen werden Script wird Beendet"& @CRLF &"Bitte die daten.ini checken")
    exit
    EndIf
    If $pass="fail" Then
    MsgBox (1,"FAIL","Accountdaten sind nicht korrekt oder konnten nicht ausgelesen werden Script wird Beendet"& @CRLF &"Bitte die daten.ini checken")
    exit
    EndIf
    If $account="fail" Then
    MsgBox (1,"FAIL","Accountdaten sind nicht korrekt oder konnten nicht ausgelesen werden Script wird Beendet"& @CRLF &"Bitte die daten.ini checken")
    exit
    EndIf
    #endregion fehlerboxen

    [/autoit] [autoit][/autoit] [autoit]

    ;Hier die messagebox zum checken der eingetragenen daten... wenn (IF) msgbox ausgabe = 2 (abbrechen feld) dann beendet das script (exit)
    If Msgbox (1,"test","accountnummer=" & $login & @CRLF &"passwort=" & $pass & @CRLF &"Accounttyp=" & $account & @CRLF & "Aktualisierungszeit=" & $pauseini & @CRLF & @CRLF & "Daten Richtig? dann OK Drücken")=2 Then
    exit
    Endif

    [/autoit] [autoit][/autoit] [autoit]

    $punkte = FileOpen("punktefree.txt", 1)
    $punkte2 = FileOpen("punkteprem.txt", 1)
    If $punkte = -1 Then
    MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
    Exit
    EndIf
    If $punkte2 = -1 Then
    MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
    Exit
    Endif

    [/autoit] [autoit][/autoit] [autoit]

    _GetPoints($login, $pass, $account)

    [/autoit] [autoit][/autoit] [autoit]

    Func _GetPoints($login, $pass, $account)
    $quelltext = _INetGetSource("http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=getaccountdetails_v1&login="&$login&"&password="&$pass&"&type="&$account)
    $array = _StringBetween($quelltext, "fpoints=", "ppoints")
    $array2 = _StringBetween($quelltext, "ppoints=", "curfiles")

    [/autoit] [autoit][/autoit] [autoit]

    $Wert = Int($array[0])
    ConsoleWrite("FreePoints: " & $Wert & @CRLF)
    If IsArray($array) Then
    If $i > 0 Then
    ConsoleWrite("1: " & $Wert - $Wert_alt & @CRLF)
    FileWrite($punkte, $Wert - $Wert_alt & " Time: " & @HOUR &":"& @MIN & @CRLF)
    Else
    ConsoleWrite("2: " & $Wert & @CRLF)
    FileWrite($punkte, $Wert & " TimeStart: " & @HOUR &":"& @MIN & @CRLF)
    EndIf
    EndIf
    $Wert_alt = $Wert

    [/autoit] [autoit][/autoit] [autoit]

    $Wert2 = Int($array2[0])
    ConsoleWrite("PremiumPoints:"& @TAB & $Wert2 & @CRLF)

    [/autoit] [autoit][/autoit] [autoit]

    If IsArray($array2) Then
    If $i > 0 Then
    ConsoleWrite("1: " & $Wert2 - $Wert_alt2 & @CRLF)
    FileWrite($punkte2, $Wert2 - $Wert_alt2 & @TAB & "Time:"& @TAB & @HOUR &":"& @MIN & @CRLF)
    $aktuellerw=$Wert2-$Wert_alt2
    $12hwert=$12hwert+$aktuellerw
    Else
    ConsoleWrite("2: " & $Wert2 & @CRLF)
    FileWrite($punkte2, $Wert2 & @TAB & "TimeStart:"& @TAB & @HOUR &":"& @MIN & @CRLF)
    EndIf
    EndIf
    $Wert_alt2 = $Wert2

    [/autoit] [autoit][/autoit] [autoit]

    FileClose($punkte)
    FileClose($punkte2)

    [/autoit] [autoit][/autoit] [autoit]

    $pause1=$pauseini*60*1000
    #region Wartezeit
    $begin = TimerInit()
    Sleep($pause1)
    $dif = TimerDiff($begin)
    #endregion Wartezeit
    $i += 1

    [/autoit] [autoit][/autoit] [autoit]

    $12std=$12std+1
    IF $12std = 24 Then
    $punkte12h = FileOpen("punkte12h.txt", 1)
    FileWrite($punkte12h, $12hwert & @TAB &"Time:"& @TAB & @HOUR &":"& @MIN & @CRLF)
    FileClose($punkte12h)
    $12hwerk = 0
    $12std = 0
    EndIf
    EndFunc

    [/autoit]

    Vielleicht geht das so!
    Also das ist erst der Test mit 1 Account.
    Wenn die Funktion greift, dann kann man weiter machen!

    Einmal editiert, zuletzt von PokerFace (1. Februar 2010 um 17:22)

  • Also die Funktion greift schonmal :)

    Nur wie bekomme ich das hin das der jetzt X accounts nimmt und die daten von allen ausliest, addiert und dann aufschreibt?

    und dann muss er die Funktion ja wiederholen jeder X Minuten (je nach eingestellte zeit in der .ini

    MFG: Blacky911

    Kleiner AutoIt Lehrling :)

  • Dort gibts aber auch nicht die möglichkeit mehrere Accounts einzutragen und das die punkte dann in ne TXT zusammengefasst geschrieben werden oder?

    das ist ja das was ich will... und den ganzen schnick schnack mit infos etc. brauch ich nicht da es auf meinem ROOT server im hintergrund laufen soll und "nicht bemerkt" werden soll :)

    MFG: Blacky

    Kleiner AutoIt Lehrling :)

  • So kann die Ini aussehen:
    [login]
    account1=8834832
    account2=xxxxxxx
    account3=xxxxxxx
    [pass]
    account1=passwort
    account2=passwort
    account3=passwort
    [art]
    account1=prem
    account2=free
    account3=prem
    [pause]
    pause=60

    Bei Selbstversuch scheitert es gerade nur in dem Auslesen!
    Die Werte sollen in einer Schleife ausgelesen werden und in einen Array gepackt werden.

  • ja soweit mit der ini bin ich auch... nur wie gesagt mit dem auslesen... man müsste die INI schon mit nem array auslesen wo das array durch eine Variabel variiert wird... also sozusagen

    [autoit]

    $accountanzahl=5
    $array[$accountanzahl]

    [/autoit]


    und dann das auslesen i wie in ne schleife schreiben nur wieeee... ich komm auf array nicht wirklich klar

    dann hätte man schonmal in arrays die login daten... diese müsste man dann auch in der abfrage angeben nur ich habe keine ahnung, blicke dann selber grade nicht durch wo ich wie anfangen muss und was ändern muss...

    EDIT:
    Die accountanzahl dann natürlich auch aus der ini auslesen...

    MFG Blacky

    Kleiner AutoIt Lehrling :)

    Einmal editiert, zuletzt von blackdeath911 (1. Februar 2010 um 18:32)

  • So ich hab da jetzt mal was rumgefummelt...

    das kam raus:

    Spoiler anzeigen
    [autoit]

    #region Includes
    #include <Array.au3>
    #include <File.au3>
    #include <Inet.au3>
    #include <String.au3>
    #endregion Includes
    #region globale variabeln
    Global $i = 0
    Global $s = 0
    Global $a = 0
    Global $sum1 = 0
    Global $sum2 = 0
    Global $12std = 0
    Global $12hwert = 0
    Global $Wert_alt = 0
    Global $anzahl = IniRead ("data.ini", "accounts", "account", "fail")
    ;Daten aus ini auslesen und in die variabeln einsetzen

    [/autoit] [autoit][/autoit] [autoit]

    Dim $login[$anzahl]
    Dim $pass[$anzahl]
    Dim $account[$anzahl]
    Global $pauseini = Iniread ("data.ini","pause","pause","30")
    #endregion globale variabeln

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    If $a=$anzahl Then
    ExitLoop
    EndIf
    $login[$a]=Iniread ("data.ini","login","account"&$a,"fail")
    $pass[$a]=Iniread ("data.ini","pass","account"&$a,"fail")
    $account[$a]=Iniread ("data.ini","art","account"&$a,"fail")
    $a=$a+1
    Wend
    $a=0

    [/autoit] [autoit][/autoit] [autoit]

    While True
    ;txt dateien öffenen, wenn nicht geöffnet werden können Fehlerbox + exit
    $punkte = FileOpen("punktefree.txt", 1)
    $punkte2 = FileOpen("punkteprem.txt", 1)
    If $punkte = -1 Then
    MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
    Exit
    EndIf
    If $punkte2 = -1 Then
    MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
    Exit
    Endif
    While 1
    ;Daten aus der API holen -> Link mit variabeln aus der INI
    $quelltext = _INetGetSource("http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=getaccountdetails_v1&login="&$login[$s]&"&password="&$pass[$s]&"&type="&$account[$s])
    $s=$s+1
    $a=$a+1
    ;array wird erstellt für die fpoints und ppoints
    $array = _StringBetween($quelltext, "fpoints=", "ppoints")
    $array2 = _StringBetween($quelltext, "ppoints=", "curfiles")

    [/autoit] [autoit][/autoit] [autoit]

    ; Free Points Berechnung:
    $Wert = Int($array[0])
    ConsoleWrite("FreePoints: " & $Wert & @CRLF)
    If IsArray($array) Then
    If $i > 0 Then
    IF $a=$anzahl Then
    ConsoleWrite("1: " & $Wert - $Wert_alt & @CRLF)
    FileWrite($punkte, $sum1 - $Wert_alt & " Time: " & @HOUR &":"& @MIN & @CRLF)
    Endif
    EndIf
    $sum1 = $Wert+$sum1
    If $a=$anzahl Then
    $Wert_alt = $sum1
    Endif

    [/autoit] [autoit][/autoit] [autoit]

    ; Premium Points Berechnung:
    $Wert2 = Int($array2[0])
    ConsoleWrite("PremiumPoints:"& @TAB & $Wert2 & @CRLF)

    [/autoit] [autoit][/autoit] [autoit]

    If IsArray($array2) Then
    IF $a=$anzahl Then
    ConsoleWrite("1: " & $sum2 - $Wert_alt2 & @CRLF)
    FileWrite($punkte2, $sum2 - $Wert_alt2 & @TAB & "Time:"& @TAB & @HOUR &":"& @MIN & @CRLF)
    EndIf
    EndIf
    $sum2 = $Wert+$sum2
    If $a=$anzahl Then
    $Wert_alt2 = $sum2
    Endif
    If $a=$anzahl Then
    ExitLoop
    EndIf
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    ;geöffnete txt´s wieder schließen das man die Punkteaufschreibung auch einsehen kann
    FileClose($punkte)
    FileClose($punkte2)

    $pause1=$pauseini*60*1000
    #region Wartezeit
    $begin = TimerInit()
    Sleep($pause1)
    $dif = TimerDiff($begin)
    #endregion Wartezeit
    $i=$i+1
    WEnd

    [/autoit]

    Was nun aber leider ist, ist das er mir folgenden Fehler ausgibt:

    Zitat

    C:\Users\Adminstrator\Desktop\Scripts\rapidshare3.au3 (89) : ==> "Wend" statement with no matching "While" statement.:
    WEnd

    >Exit code: 1 Time: 0.315

    Wo liegt der Fehler? ich sehs einfach nicht...

    MFG: Blacky

    Kleiner AutoIt Lehrling :)

  • Hallo blackdeath911,

    du hast einmal ein endif vergessen, ausserdem ist eine Variable nicht definiert gewesen, so sieht das Skript dann aus:

    Spoiler anzeigen
    [autoit]

    #Region Includes
    #include <Array.au3>
    #include <File.au3>
    #include <Inet.au3>
    #include <String.au3>
    #EndRegion Includes
    #Region globale variabeln
    Global $i = 0
    Global $s = 0
    Global $a = 0
    Global $sum1 = 0
    Global $sum2 = 0
    Global $12std = 0
    Global $12hwert = 0
    Global $Wert_alt = 0
    Global $Wert_alt2 = 0 ;<============== hat gefehlt
    Global $anzahl = IniRead("data.ini", "accounts", "account", "fail")
    ;Daten aus ini auslesen und in die variabeln einsetzen

    [/autoit] [autoit][/autoit] [autoit]

    Dim $login[$anzahl]
    Dim $pass[$anzahl]
    Dim $account[$anzahl]
    Global $pauseini = IniRead("data.ini", "pause", "pause", "30")
    #EndRegion globale variabeln

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    If $a = $anzahl Then
    ExitLoop
    EndIf
    $login[$a] = IniRead("data.ini", "login", "account" & $a, "fail")
    $pass[$a] = IniRead("data.ini", "pass", "account" & $a, "fail")
    $account[$a] = IniRead("data.ini", "art", "account" & $a, "fail")
    $a = $a + 1
    WEnd
    $a = 0

    [/autoit] [autoit][/autoit] [autoit]

    While True
    ;txt dateien öffenen, wenn nicht geöffnet werden können Fehlerbox + exit
    $punkte = FileOpen("punktefree.txt", 1)
    $punkte2 = FileOpen("punkteprem.txt", 1)
    If $punkte = -1 Then
    MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
    Exit
    EndIf
    If $punkte2 = -1 Then
    MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
    Exit
    EndIf
    While 1
    ;Daten aus der API holen -> Link mit variabeln aus der INI
    $quelltext = _INetGetSource("http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=getaccountdetails_v1&login=" & $login[$s] & "&password=" & $pass[$s] & "&type=" & $account[$s])
    $s = $s + 1
    $a = $a + 1
    ;array wird erstellt für die fpoints und ppoints
    $array = _StringBetween($quelltext, "fpoints=", "ppoints")
    $array2 = _StringBetween($quelltext, "ppoints=", "curfiles")

    [/autoit] [autoit][/autoit] [autoit]

    ; Free Points Berechnung:
    $Wert = Int($array[0])
    ConsoleWrite("FreePoints: " & $Wert & @CRLF)
    If IsArray($array) Then
    If $i > 0 Then
    If $a = $anzahl Then
    ConsoleWrite("1: " & $Wert - $Wert_alt & @CRLF)
    FileWrite($punkte, $sum1 - $Wert_alt & " Time: " & @HOUR & ":" & @MIN & @CRLF)
    EndIf
    EndIf
    $sum1 = $Wert + $sum1
    If $a = $anzahl Then
    $Wert_alt = $sum1
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; Premium Points Berechnung:
    $Wert2 = Int($array2[0])
    ConsoleWrite("PremiumPoints:" & @TAB & $Wert2 & @CRLF)

    [/autoit] [autoit][/autoit] [autoit]

    If IsArray($array2) Then
    If $a = $anzahl Then
    ConsoleWrite("1: " & $sum2 - $Wert_alt2 & @CRLF)
    FileWrite($punkte2, $sum2 - $Wert_alt2 & @TAB & "Time:" & @TAB & @HOUR & ":" & @MIN & @CRLF)
    EndIf
    EndIf
    $sum2 = $Wert + $sum2
    If $a = $anzahl Then
    $Wert_alt2 = $sum2
    EndIf
    If $a = $anzahl Then
    ExitLoop
    EndIf
    EndIf ;<============== hat gefehlt
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    ;geöffnete txt´s wieder schließen das man die Punkteaufschreibung auch einsehen kann
    FileClose($punkte)
    FileClose($punkte2)

    [/autoit] [autoit][/autoit] [autoit]

    $pause1 = $pauseini * 60 * 1000
    #Region Wartezeit
    $begin = TimerInit()
    Sleep($pause1)
    $dif = TimerDiff($begin)
    #EndRegion Wartezeit
    $i = $i + 1
    WEnd

    [/autoit]

    es steigt bei mir allerdings wegen der fehlenden INI aus,

    mfg (Auto)Bert

  • Also soeit geht es ja schonmal er schreibt immerhin die addierten werte am anfang in die TXT Files nur dann wenn er das 2. mal durchgehen will hat er anscheinend einen Fehler denn da kam folgendes:

    [autoit]

    >"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\Adminstrator\Desktop\Scripts\rapidshare3.au3"
    FreePoints: 0
    PremiumPoints: 0
    FreePoints: 332063
    PremiumPoints: 332063
    FreePoints: 429762
    1: 429762
    PremiumPoints: 429762
    1: 429762
    C:\Users\Adminstrator\Desktop\Scripts\rapidshare3.au3 (51) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
    $quelltext = _INetGetSource("http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=getaccountdetails_v1&login=" & $login[$s] & "&password=" & $pass[$s] & "&type=" & $account[$s])
    $quelltext = _INetGetSource("http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=getaccountdetails_v1&login=" & ^ ERROR
    >Exit code: 1 Time: 3600.775

    [/autoit]

    Wird da wer draus schlau?

    Edit:
    Fehler gefunden und weitere Fehler auch noch behoben :)

    MFG: Blacky

    Kleiner AutoIt Lehrling :)

    Einmal editiert, zuletzt von blackdeath911 (2. Februar 2010 um 18:48)

  • so habs jetzt super hinbekommen läuft 1 A soweit :)

    jetzt wollt ich noch was dazubauen :)

    Wolte ne statistik machen können... frage ist geht das überhaupt so wie ich das script aufgebaut hab? wenn ich z.B. im systray nen punkt mache "statistik" und wenn der dann auf die funktion geht trotzdem den sleep weiter ausführt? (oder einfach ne 2. exe machen?)

    2. Frage wie könnte ich am besten eine statistik erstellen?

    MFG: Blacky

    Kleiner AutoIt Lehrling :)

  • Was soll das denn für eine Statistik sein?
    In einem Tray?
    Und wie willst du die Statistik darstellen?

  • Nein im Tray soll nur der Punkt dafür sein das man sich die anzeigen lassen kann...

    Ich wollte so ein Diagramm erstellen lassen wie in Excelll (liniendiagramm ähnlich)

    Wollte dann noch einstellbar haben sozusagen, Statistik Heute | Woche | Monat

    aber bis jetzt wüsst ich noch nichtma wie ich dann die daten vorliegen haben müsst bzw. verändern müsste damit ich überhaupt nen ansatz habe

    MFG: Blacky

    Kleiner AutoIt Lehrling :)

  • Dann bau als erstes eine Funktion ein, die die Werte in ein Dokument schreibt.

    Man kann auch mit AutoIt mit Excel arbeiten!
    Dann kannst du dir eine Excel Datei anlegen, die Werte eintragen und darauf ein Diagramm anzeigen lassen.
    Was jedoch die Excel Befehle angeht, kann ich dir leider nicht weiterhelfen.