Browser-Reloads

  • Hallo,
    ich wollte für ein onlinespiel ein Skript schreiben, dass in einem bestimmten Zeitintervall Browserreloads durchführt.
    Man kann dabei verschiedene "Distrikte" angreifen und jeden Angriff in einem neuen Tab starten. Daher soll das Skript nach einem 1x ausgeführten Angriff immer wieder Browserreloads machen.
    Bisher hab ich das Skript auf 5Tabs beschränkt weil mir mehr zuviel Arbeit war :)
    Jetz kam allerdings der Wunsch, auf 25 Tabs zu erhöhen. Wisst ihr einen anderen Weg als diesen hier:???
    (für fragen zum spiel oder was-auch-immer stehe ich gern zur Verfügung)


    • Offizieller Beitrag

    Hallo!

    Die Informationen sind natürlich noch etwas schwer zu deuten, ich versteh noch nicht genau, wie es funktioniert.
    Egal, der Weg sollte über Schleifen führen, v.a. eine For-Schleife scheint mir hier möglich zu sein. Die könntest du so gestalten, dass sie völlig unabhängig von der Anzahl der Angriffe ist.

    peethebee

  • also das Spiel heißt Mafia1 930 und geht halt ,wie der name schon andeutet, über die Mafia. Es geht darum, möglichst stark zu werden, was durch Geld, Drogen, Plündern usw. geht. Letzteres soll das Skript erleichtern. Man wählt also zuerst in Firefox eine Stadt und einen Distrikt aus, der geplündert werden soll. Da man meistens mehrere Distrikte gleichzeitig angreifen will, öffnet man die meistens in Tabs. Jeder Distrikt kann max 20 mal am Tag angegriffen werden. Also führt man in jedem Tab einen "Referenz"-Angriff aus.
    Jetz wird das Skript geöffnet und die Anzahl der Distrikte (also Tabs) und Angriffe eingetragen. Das Skript führt dann in dem ersten Tab einen Reload aus, wodurch der letzte Angriff nocheinmal gestartet wird. Dann geht es mit STRG+Tab zum nächsten Tab, führt wieder einen Angriff aus und so weiter ...
    Damit man weiß, wie weit das Skript ist, wird mit SplashTextOn die Anzahl der Angriffe angezeigt.
    Bis jetzt habe ich für jede Distrikt-Zahl eine eigene Do-Schleift gestartet, was bei einer maximalen Anzahl von fünf auch nicht das Problem ist ...
    ... bei 25 hingegen leider schon.
    1. ist es total aufwendig und kompliziert und
    2. wird das Skript damit unnötig groß, weil ja immer nur das einmal addiert wird.

    kennt ihr eine Alternative, die möglicherweise sogar unbegrenzte Angriffe ermöglicht?!?

    mfg
    nuclear

    • Offizieller Beitrag

    Hallo!

    Danke für die weiteren Erklärungen, meine Vermutungen haben sich in etwa bestätigt, so wie du es beschreibst, ist es mit AutoIt locker möglich.
    Zum Lösungsansatz lies meinen Post von oben bitte noch mal ausfmerksam durch (ich weiß, es ist schon spät :D).
    Eine FOR-Schleife sollte es machen 8sieh dazu auch die englische oder deutsche Hife).
    Bei weiteren Fragen zu deren Anwendung bitte noch mal melden.

    peethebee

    • Offizieller Beitrag

    Hallo,

    ich habe dir mal die For-Schleife eingebaut!

    Spoiler anzeigen
  • sau gut... vielen dank!!
    das werd ich mir jetz mal genauer angucken, damit ichs auch verstehe... :)

    mfg | nuclear

    • Offizieller Beitrag

    Wenn du Fragen dazu hast, stehe ich dir gerne zur Verfügung 8)!

  • ui das is ja noch besser als ich erwartet habe, vielen Dank nochmal.
    Gibt es zufälligerweise noch eine Möglichkeit, die Zeit einer Schleife zu messen? Was is nämlich noch vergessen habe: Man darf nur 2x pro minute angreifen...
    Wenn dir jetz auf Anhieb nix einfällt, isses nich so schlimm, dann mach ich einfach ein Sleep(30000) hintendran

    mfg
    -nuclear

    • Offizieller Beitrag

    Hallo!

    Code
    $zeit = TimerInit()


    startet die Messung.
    Warten, bis 2 Minuten rum sind, dann so:

    Code
    While TimerDiff($zeit)  < 120000 ; Millisekunden
      sleep(100)
    Wend
    ; wenn das  Skript hier ist, sind seit TimerInit genau 2 Minuten vergangen. Dann kann die Schleife weitergehen oder sonst was passieren. Habe mir das Skript oben nicht angesehen, deshalb müsstest du die beiden Ideen bitte selbst verbinden.

    peethebee

    • Offizieller Beitrag

    Hallo,

    ich habe es mal in diie Schleife eingebaut (einfach Zeile 46-61 im alten Script ersetzen):

    @1: Greift alle Distrikte 2x an und prüft dann ob 60 Sek. um sind!

  • hm aber wo genau kommt der Befehl rein?

    Denn es sollen ja alle Distrikte 1x angegriffen werden, dann soll geguckt werden, ob 30sec vergangen sind und dann weiter gehn

    mir fällt auch grad auf, dass in diesem Zusammenhang die von mir erwähnte Wort Schleife recht unpräzise war, denn es soll ja erst nach $Dis Schleifen die Zeit genommen werden, sry

    mfg
    -nuclear

    • Offizieller Beitrag

    dann geht's so: