Hallo,
danke fuer deine Antwort.
Ich habe einfach mal start gedruckt und geguckt was passiert...
Und siehe da, die msg box gibt was aus.
Leider zu viel fuer meinen Bildschrim^^
Also zack inne Textdatei gespeichert und das kommt raus:
Ich glaube das ist nicht das was kommen sollte...
Das am Ende des Postteils mit 'loginbutton=Login&loginaction=login' stimmt so ja?
Und leider hab ich das mit der TCPRequest noch nicht verstanden^^
Das heist ich soll die variabeln aendern oder nicht?
Also bei mir dann so?:
Das wuerde fuer mich jedoch keinen Sinn machen, weil diese Werte sich ja permanent aendern!?
Bzw. muss ich an den drei Funktionen ueberhaupt etwas machen?
Edit: Im Quellcode seh ich auch nichts, was darauf hinweist, dass ich eingeloggt bin...
Alles was da beschrieben wird kommt glaube zur Startseite.
Ganz unten sieht man, das ein script ausgefuehrt wird, jedoch seh ich kein resultat, ob geklappt hat
oder nicht^^
Danke Gruß Thamnophis
1. Das Einloggen scheint nicht zu klappen, navigier erstmal "normal" (ohne Post) auf die Seite lass die Cookies auslesen und mach dann das Request mit Posts. Vielleicht enthält dein Nick auch Sonderzeichen, dann solltest du Change benutzen.
2. Wenn man sich die Funktionen mal genau anschaut, dann sieht man, dass jede Änderung dazu führt, dass die Funktion garnicht oder nicht mehr richtig funktioniert.
Außerdem solltest du allgemein nie etwas an den Standartwerten von Variablen für Funktionen machen, die Macher werden schon Gründe gehabt haben das so zu machen.
WoW, es klappt!
Ich weiß warum das vorher nicht funktioniert hatte...
Hatte anstatt 'password='' pass='...
Egal, das mit den Variabeln ist jetzt soo logisch...
Hab mir die ganzen youtube TuTs von AMrK angeschaut.
Jetzt weiß ich wieso er was deklariert hat und nun gibt alles einen Sinn.
Ich steh nurnoch vor einem Problem:
Ich bekomme nen Button nicht "angeklickt".
Da hier irgendwas mit der $sSeite = "" nicht stimmt.
Hier der httpheader:
Das ist jetzt ein Link, das davor ein Button...Beides hat oben /internet.php.
Jedoch ist der Link ein GET und der Button ein Post.
Beim Button gibs nochn Cookie dazu, sowie das hier in Zeile 17 cat=3&takejob=301.
301 ist der Job, den ich haben will. Einer darunter ist 302, nur zur Info.
Also haette ich zweimal die gleiche funktion hintereinander...
Oder setzt ich dann fuer den Button einfach einen Referrer?
Hast du da vielleicht eine Idee?
Ka...
Das ist jetzt ein Link, das davor ein Button...Beides hat oben /internet.php.
Jedoch ist der Link ein GET und der Button ein Post.
Beim Button gibs nochn Cookie dazu, sowie das hier in Zeile 17 cat=3&takejob=301.
Das ist kein Cookie, das ist das Post!
Du musst im Grunde immer wenn du "POST" siehst sofort daran denken:
PHP Code:
$post="..."
Du musst also nur noch das Post hinzufügen und ins TCP-Request packen, dann sollte es funktionieren:
Hi,
leider habe ich mich zu frueh gefreut...
Nach genauerem Hinschauen gibt mir der Quelltext am Ende doch nur die Nachricht, dass mein Benutzer nicht regestriert ist...
Am Pw oder am username kannst net liegen...Sind auch keine Sonderzeichen
enthalten.
Irgendwas stimmt am Quellcode noch nicht...
Kannst du hier nochma rueberschaun?:
Hi,
leider habe ich mich zu frueh gefreut...
Nach genauerem Hinschauen gibt mir der Quelltext am Ende doch nur die Nachricht, dass mein Benutzer nicht regestriert ist...
Am Pw oder am username kannst net liegen...Sind auch keine Sonderzeichen
enthalten.
Irgendwas stimmt am Quellcode noch nicht...
Kannst du hier nochma rueberschaun?:
Hi,
das war ein super Tipp!
Ich dachte das & vor der Variable trennt das schon ab...
In meinem Browsergame kann man nur ein Event ausfuehren, wenn das vorige schon abgelaufen ist...
Angenehmerweise wird diese countdownzeit direkt auf der Startseite angezeigt, egal welches Event ablaeft.
Ich moechte jetzt diese Zeit auslesen und dann in meine countdown funktion packen...
Damit startet der Bot erst, wenn diese Zeit abgelaufen ist.
Ich habe den HTML text in eine .ini geschrieben (inner txt dateit kommt nu murks raus).
Jetzt muss ich den Teil finden, wo die Zeit steht und diese auslesen.
Welche Funktion bietet sich da an?
Ich hatte mir Objget ausgedacht und stringbetween.
Leider gibt es ja nicht immer ein Event, was abzuwarten ist.
Das heist, ich kann nicht immer nach der Zeit suchen...
So stehts geschrieben, wenn eine Zeit vorhanden ist:
Ich muss jetzt also eine If funktion aufstellenn: z.b.
PHP Code:
if ObjGet("Pfad/.ini","headercountdown") then
$Stunde = _Stringbetween($Source," ",":")
$Minute = _stringbetween($Source,":",":")
$Sekunde = _stringbetween($Source,":","</span>")
Else
sleep(10)
Endif
_countdown(($Stunde*120)+($Minute*60)+($Sekunde))
Bot startet...
Aus $Source habe ich die .ini erstellt.
Was haeltst du davon?
Oder gibs da ne bessere moeglichkeit?
P.s Wie geben ich eingentlich einen Pfad von einer Datei/Bild an, wenn
alles in einem Ordner ist und der script die Bilder auch auf anderen PC's finden soll?
Hi,
das war ein super Tipp!
Ich dachte das & vor der Variable trennt das schon ab...
In meinem Browsergame kann man nur ein Event ausfuehren, wenn das vorige schon abgelaufen ist...
Angenehmerweise wird diese countdownzeit direkt auf der Startseite angezeigt, egal welches Event ablaeft.
Ich moechte jetzt diese Zeit auslesen und dann in meine countdown funktion packen...
Damit startet der Bot erst, wenn diese Zeit abgelaufen ist.
Ich habe den HTML text in eine .ini geschrieben (inner txt dateit kommt nu murks raus).
Jetzt muss ich den Teil finden, wo die Zeit steht und diese auslesen.
Welche Funktion bietet sich da an?
Ich hatte mir Objget ausgedacht und stringbetween.
Leider gibt es ja nicht immer ein Event, was abzuwarten ist.
Das heist, ich kann nicht immer nach der Zeit suchen...
So stehts geschrieben, wenn eine Zeit vorhanden ist:
Ich muss jetzt also eine If funktion aufstellenn: z.b.
PHP Code:
if ObjGet("Pfad/.ini","headercountdown") then
$Stunde = _Stringbetween($Source," ",":")
$Minute = _stringbetween($Source,":",":")
$Sekunde = _stringbetween($Source,":","</span>")
Else
sleep(10)
Endif
_countdown(($Stunde*120)+($Minute*60)+($Sekunde))
Bot startet...
Aus $Source habe ich die .ini erstellt.
Was haeltst du davon?
Oder gibs da ne bessere moeglichkeit?
P.s Wie geben ich eingentlich einen Pfad von einer Datei/Bild an, wenn
alles in einem Ordner ist und der script die Bilder auch auf anderen PC's finden soll?
Vielen Dank nocheinmal!
Gruß Thamnophis
Machs doch einfach so:
PHP Code:
if StringinStr($source,"headercountdown")<>0 then
$Stunde = _Stringbetween($Source," ",":")
$Minute = _stringbetween($Source,":",":")
$Sekunde = _stringbetween($Source,":","</span>")
Else
sleep(10)
Endif
Hi,
kannst du mir kurz erlaeutern was das macht?
StringinStr und dann <>0?
Wenn ich naemlich mein ergebnis in eine Ini schreibe, steht dort nix...
-->IniWrite("Stunde.ini","","",$Stunde)
Außerdem stimmt irgendwas mit der Addition und der Multiplikation im cooldown nicht. Auch das nimmt er nicht an:
_countDown($Stunde*120"+"$Minute*60"+"$Sekunde)
Immer diese Kleinigkeiten, die einem nicht auffallen.
Hi,
kannst du mir kurz erlaeutern was das macht?
StringinStr und dann <>0?
Wenn ich naemlich mein ergebnis in eine Ini schreibe, steht dort nix...
-->IniWrite("Stunde.ini","","",$Stunde)
Außerdem stimmt irgendwas mit der Addition und der Multiplikation im cooldown nicht. Auch das nimmt er nicht an:
_countDown($Stunde*120"+"$Minute*60"+"$Sekunde)
Immer diese Kleinigkeiten, die einem nicht auffallen.
Danke
Gruß Thamnophis
<>0 bedeutet, dass alles als Ergebniss rauskommen darf außer 0.
Es ist im Grunde das Gegenteil von =0 bzw. ==0 .
StringInStr(...) schaut ob ein String/Text in einem anderem String/Text
gefunden wurde, wenn ja ist das Ergebniss die Stelle an der der Text zum erstenmal gefunden wurde, wenn der Text nicht gefunden wurde, dann gibt StringInStr 0 zurück.
Nun zu Countdown:
PHP Code:
_countDown($Stunde*120"+"$Minute*60"+"$Sekunde)
Ich weiß zwar nicht wie dein restlicher Code aussieht, aber du kannst es dir vereinfachen:
PHP Code:
$zeit=Execute($Stunde*120+$Minute*60+$Sekunde)
Was mich überhaupt wundert ist, dass es keine Fehlermeldung gab.
Und zu guter letzt, solltest du nie IniWrite für größere Texte nehmen.
Alternativen wären ClipPut und FileWrite.
Btw. Du könntest auch einfach die Hilfe benutzen, um herrauszufinden was der Befehl macht:
Achso ist das,
ja das StringinStr() hatte ich mir dann auch gleich rausgesucht,
aber das <>0 ist interessant. Heißt also, wenn der Text im String enthalten ist, then... .
Den Quelltext aus $Source bekomme ich ja ueber den TCPReq.
Ist das ueberhaupt ein String? Kann ich in dieser Variable ueberhaupt mit StringinStr() arbeiten?
In der ini haette ja lediglich 18 stehen duerfen, da ich ja mit
zwichen dem Leerzeichen " " und dem ":" genau die 18 rausgefiltert hatte (theoretisch^^).
Leider hat er ja nichts gefunden...
Danach hatte ich zwischen //"headercountdown"// und //Aktion:// gesucht, auch da hat er mir nicht //a href=# class=tooltip style=color:#FFFFFF>// ausgegeben...
Irgendwo liegt bei mir noch ein Denkfehler?!
Sollte ich mich viellleicht mit StringinStr() soweit rantasten, dass er sogar Leerzeichen erkennt?
wieso das ganze so umständlich angehen?
nicht nur das string operationen in autoit extrem ineffizient sind, auch das handling damit ist extrem bescheiden.
in diesem fall ist ganz klar regexp zu bevorzugugen.
so kannst du auf deutlich effizientere art und weise alles auf einmal auslesen.
weis nicht was genau du davon jetzt auslesen willst aber hier mal ein einfaches beispiel wie du die gesamten datumswerte einlesen könntest:
falls es einen headercountdown gibt, wird dir diese funktion das array $date mit:
Code:
$date[0] tag
$date[1] monat
$date[2] jahr
$date[3] stunde
$date[4] minute
$date[5] sekunde
ausgeben.
wenn headercountdown nicht existiert, wird diese funktion kein array ausgeben. dh bevor du das ergebnis abrufst checkst du einmal ob etwas gefunden wurde mit:
Ich bin gerade bei Kapitel IV : Packetbots Punkt 8. Erstellen eines kleinen Packet Botes und habe einen Test-Acc. auf Uni78 bei OGame angelegt, nur klappt das Einloggen mit dem Packet-Bot leider nicht. Nachdem ich die LoginDaten eingebe, bekomme ich immer eine Fehlermeldung..
Dann habe ich gelesen, dass es nur auf Uni1 bis Uni40 gehen soll, also habe ich jetzt einen Acc. auf Uni1 angelegt und getestet, aber leider erfolglos, der Code ist identisch mit dem aus dem Tut.
Ich bekomme ständig diese Fehlermeldung und weis nicht so recht weiter, hab jetzt schon 3h rumprobiert, schaff es aber einfach nicht, kann mir bitte einer helfen?
Ich bin gerade bei Kapitel IV : Packetbots Punkt 8. Erstellen eines kleinen Packet Botes und habe einen Test-Acc. auf Uni78 bei OGame angelegt, nur klappt das Einloggen mit dem Packet-Bot leider nicht. Nachdem ich die LoginDaten eingebe, bekomme ich immer eine Fehlermeldung..
Dann habe ich gelesen, dass es nur auf Uni1 bis Uni40 gehen soll, also habe ich jetzt einen Acc. auf Uni1 angelegt und getestet, aber leider erfolglos, der Code ist identisch mit dem aus dem Tut.
Ich bekomme ständig diese Fehlermeldung und weis nicht so recht weiter, hab jetzt schon 3h rumprobiert, schaff es aber einfach nicht, kann mir bitte einer helfen?
Bigpoint scheint da einiges geändert zu haben, überspringe einfach Punkt 8 und gehen zu Punkt 9.
Browsergamebots legal? 05/19/2010 - General Coding - 12 Replies Hallo,
ich habe hier im Forum schon öfters gesehen, wie mitglieder bots (für browsergames) gepostet haben und nach einiger zeit wurden deren themen gelöscht/geschlössen, weil sie angeblich urherberrechtsverletzung begangen haben.
http://www.elitepvpers.com/forum/browsergames/5237 95-myfreefarm-bot.html
Ich habe schon sehr viele google seiten durchwälzt und keine antwort auf meine fragen gefunden, deswegen stelle ich sie hier mit der hoffung eine antwort zu finden.
"Ab wann ist ein...
AutoIt Tutorial 01/01/2008 - Dekaron - 2 Replies Hey, smokedoo or someone out there who created bot and stuff like that, can you please post up a tutorial or vid on how to make at least the most simplest bot out there please. I know there are ppl like me that would just love to know. Thanks!