• Hey @ all,

    So, ich hab das hier mal zur Übersicht geändert...
    Hier der alte Inhalt:

    Spoiler anzeigen

    ich habe mir ein kleines Skript geschrieben, dass einen darauf hinweißt, wann jemand hier im Forum on kommt oder off geht. Bevor ich das hier poste, habe ich noch folgende Frage: Verstößt dieses Programm gegen die Forenregeln?

    Zitat von Regeln

    3. Folgende Inhalte sind absolut unerwünscht. Das Team behält es sich ausdrücklich vor, bei Verstoß gegen diese Regeln je nach Schweregrad zu verwarnen, zu löschen oder gar komplett zu sperren.:
    - Automatisierung von Webseiten oder Tools, die das in ihren AGBs verbieten


    Wenn es gegen die Regeln verstößt werde ich es selbstverständlich nicht posten.
    Logischerweise habe ich ein Sleep eingebaut, weil sonst ging das ja auf den Traffic der Seite...

    mfG
    Developer30


    So hier der neue:

    Status Checker für das AutoIt.de Forum

    Aktuelle Version: 1.0.0.0
    Autor(en): Developer30
    Aktueller Download: hier

    ToDo:
    - Unterscheidung zwischen Rängen (Poweruser, Mod, Admin, Normaler User etc..)
    - Popup GUI
    - Anzeigefilter (nur gewisse User anzeigen bzw ausblenden)
    - Optionale Einstellungen durch eine Ini-Datei

    Kritik (vor allem positive^^) und Verbesserungsvorschläge sind erwünscht!

    mfG
    Developer30

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

    7 Mal editiert, zuletzt von Developer30 (16. November 2010 um 15:28)

  • ok.
    im Script ist noch 1 Bug, aber der trifft nur dann zu, wenn man in IE eingeloggt ist (werde das bald beheben).. ansonsten klappt glaub ich alles. Wenn jemand noch weitere Fehler findet, bitte drauf hinweisen.

    Hier mein Script:

    Spoiler anzeigen
    [autoit]

    ; ###########################################
    ; AutoIt.de Status Checker
    ; 2010 by Developer30
    ; ###########################################
    $allusers = ""
    $fiststart = True
    $link = "http://autoit.de/index.php?page=Portal"
    $dummy = "&&dummy=" & @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & @MSEC ; Für den Fall, dass jemand eine veraltete IE Version hat
    $url = $link & $dummy
    $source = BinaryToString(InetRead($url, 1))
    While 1
    $dummy = "&&dummy=" & @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & @MSEC
    $url = $link & $dummy
    $source = BinaryToString(InetRead($url, 1))
    $split1 = StringSplit($source, '<p class="smallFont">', 1)
    $split2 = StringSplit($split1[2], "</div>", 1)
    $split = $split2[1]
    $split = StringReplace($split, '<span style="color:#33a; font-weight:bolder;">', "")
    $split = StringReplace($split, '<span style="color:#0a0; font-weight:bolder;">', "")
    $split = StringReplace($split, '<span style="color:#800000; font-weight:bolder;">', "")
    $split = StringReplace($split, '<span style="color:#; font-weight:bolder;">', "")
    $split = StringReplace($split, "</span", "</a>")
    $split_4 = StringSplit($split, '">', 1)
    Dim $users[$split_4[0] - 1]
    $y = 0
    For $x = 2 To $split_4[0]
    $split_5 = StringSplit($split_4[$x], "</a>", 1)
    If $split_5[1] <> "" Then
    $result = $split_5[1]
    $users[$y] = $result
    $y = $y + 1
    EndIf
    Next
    If $fiststart <> True Then
    $moreusers = False
    $online = ""
    For $u = 0 To UBound($users) - 1
    If Not StringInStr($allusers, $users[$u]) And StringLen($online) <> 0 Then
    $online = $online & ", " & $users[$u]
    $moreusers = True
    EndIf
    If Not StringInStr($allusers, $users[$u]) And StringLen($online) = 0 Then $online = $online & $users[$u]
    Next
    If $online <> "" Then
    If $moreusers = True Then
    TrayTip("AutoIt.de", $online & " sind online!", 1000)
    Else
    TrayTip("AutoIt.de", $online & " ist online!", 1000)
    EndIf
    EndIf
    $tempusers = $allusers
    For $t = 0 To UBound($users) - 1
    $tempusers = StringReplace($tempusers, $users[$t] & ";", "")
    Next
    $tempsplit = StringSplit($tempusers, ";", 1)
    $offline = ""
    $moreusers = False
    For $z = 1 To $tempsplit[0] - 1
    If $offline <> "" Then
    $offline = $offline & ", " & $tempsplit[$z]
    $moreusers = True
    Else
    $offline = $offline & $tempsplit[$z]
    EndIf
    Next
    If $offline <> "" Then
    If $moreusers = True Then
    TrayTip("AutoIt.de", $offline & " sind offline!", 1000)
    Else
    TrayTip("AutoIt.de", $offline & " ist offline!", 1000)
    EndIf
    EndIf

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

    EndIf
    $allusers = ""
    For $z = 0 To UBound($users) - 1
    $allusers = $allusers & $users[$z] & ";"
    Next
    If $fiststart = True Then $fiststart = False
    $k = 1000
    Sleep(Random(50 * $k, 90 * $k, 1))
    WEnd

    [/autoit]


    Also die Wartezeit wird zufällig generiert und liegt immer zwischen 50 und 90 Sekunden (denke, dass wird keine Serverbelastung ausüben).

    Spoiler anzeigen

    Bevor einer fragt

    [autoit]

    $dummy = "&&dummy=" & @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & @MSEC

    [/autoit]


    $dummy wird nur angehängt, weil es bei älteren IE-Versionen wohl vorkommen soll, dass Webseiten einfach aus dem Cache geladen werden und daher ist der "Refresh" Effekt bei diesem Script ja verloren. Kann sein, dass der $dummy nicht mehr benötigt wird, hab ihn zur Sicherheit mal trotzdem eingebaut.

    Ja, also ich hoffe dass das Script irgendwem weiterhelfen kann, und natürlich auch auf ein Feedback.

    mfG
    Developer30

    Dateien

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • oh siehste mal, so weit hab ich noch gar nicht gedacht^^
    ok es ist vom HTML her so oder so kein großer Unterschied, aber dass ich nicht die UsersOnline-Page benutzt hab, war mal wieder reine Dummheit von mir :D
    aber ich denke, das was ich da produziert hab, klappt trotzdem

    Edit: War halt noch nie so kreativ um auf "Aktive Benutzer" zu klicken. oder wie man auch immer auf die Seite kommt^^

    Verbesserungsvorschlag: Eine Anzeige, ob Admin, Mod, oder Poweruser

    Steht bei mir auf der "To Do" liste

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • die Benutzung einer Gui

    ich denke, ich werde sowas wie eine Popup GUI einbauen..

    dann sieht man die aktuelle Onlineliste

    das verstehe ich jetzt nicht ganz. Die Online-Liste gibt es ja schon hier auf autoit.de. Oder verstehe ich etwas falsch?

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • Gut gut, evtl. auch die Benutzung einer Gui fände ich gut... dann sieht man die aktuelle Onlineliste


    Das Script ist ja nur da, um im Hintergrund zu laufen, während du auf AutoIt.de surfst, und dich dann benachrichtigt, wenn jemand Online kommt. Eine Onlineliste hast du ja Standardmäßig links...

    Oder tappe ich gerade im Dunkeln :huh:

  • Wenn ich das Script starte passiert nix?

    Was bringt das ?

    Nur im Tray Menü ist was zu sehen sonst nichts.

    Meine Projekte :

    Taschenrechner [X]
    JamLegend Auto-Player [Canceld]
    Launcher [X]
    Multi-Game-Quest-Viewer [Canceld]


    [autoit]

    If $goffy or not $brain Then $DeleteInetCable

    [/autoit]
  • Wenn ich das Script starte passiert nix?

    Was bringt das ?

    Wie Jonathan schon erwähnt hat:

    Das Script ist ja nur da, um im Hintergrund zu laufen, während du auf AutoIt.de surfst, und dich dann benachrichtigt, wenn jemand Online kommt. Eine Onlineliste hast du ja Standardmäßig links...


    Das "tolle" ist, man kann z.B. auch den Browser minimieren und wird dann darauf hingewiesen, wenn ein User (auf den man vllt gewartet hat) online kommt, bzw offline geht. Dass du (Goldy) nichts siehst, hängt allein davon ab, ob jemand on kommt oder nicht.
    thx @ Jonathan, du hast es auf den Punkt gebracht!

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • Hi,
    nochmal Frage an die Admins und Mods: Darf ich in meinem Popup-Fenster das AutoIt Logo benutzen?, da es sich bei meinem Programm ja um ein Tool für autoit.de handelt, und dieses Tool ja auch nur intern hier auf dieser Webseite eingesetzt wird.

    mfG
    Developer30

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • Das ist ja echtmal ein schönes Script :thumbup:

    Kleine Vorschlag noch und zwar die Möglichkeit, dass man nur bei bestimmten Personen informiert wird ob diese online bzw. offline sind.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

    Einmal editiert, zuletzt von chip (16. November 2010 um 10:39)

  • Kleine Vorschlag noch und zwar die Möglichkeit, dass man nur bei bestimmten Personen informiert wird ob diese online bzw. offline sind.


    Dafür hatte ich es ursprünglich auch vor. Gute Idee, ich bau noch einen einstellbaren Filter ein.. und am besten erstelle ich im Startbeitrag mal eine Todo Liste..

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • Wenn schon dabei bist, könntest ja auch noch einbauen, das bei bestimmten Personen wenn sie onlien gehen ein Ton abgespielt wird bzw. die Meldung groß auf dem Bildschirmerschein.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • ich bau das alles als optionale Einstellungen in eine Ini ein..

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."