|
You last visited: Today at 01:24
Advertisement
Kleine Fragen zum Botscripten
Discussion on Kleine Fragen zum Botscripten within the AutoIt forum part of the Coders Den category.
01/24/2011, 16:26
|
#1
|
elite*gold: 0
Join Date: Jan 2011
Posts: 23
Received Thanks: 2
|
Kleine Fragen zum Botscripten
Hey,
ich bin im Moment dabei aus Übungszwecken diverse kleine Bots zu
erstellen. Dabei sind mit einige Fragen aufgekommen. Ich hoffe, ihr könnt
mir bei der Beantwortung behilflich sein. Wenn ihr nicht die Antowrt auf alle Fragen wisst, wäre es sehr hilfreich, wenn ihr wenigstens eine/mehrere
andere beantwortet.
Meine Fragen:
- Wie mache ich, dass die Person, die in eine Inputbox Daten eingeben soll
(Beispielsweise ID und Passwort) die Daten nur einmal eingeben muss und
es dann gespeichert werden kann.
- Ich habe einfach mal so einen Google-Bot erstellt, der (wie der Name schon sagt) für einen googelt (z.B. wenn man gerade auf dem Desktop ist).
De Code dazu ist:
$Frage = InputBox ("Frage", "Bitte hier den zu googelnden Begriff eingeben!")
ShellExecute ("http://www.google.de")
MouseClick ("left", 324, 369 )
Send ($Frage)
Send ("{enter}")
-----------------------------------------------------------------------
Wie kann ich dazu eine leine Benutzeroberfläche erstellen (Dass der Bot etwas Farbenfroh ist und nicht nur dieses typische, langweilige
blau-weisse eckige Kästchen bietet..)
------------------------------------------------------------------------
Je nach Bildschirm - Größe ist das Google Eingabefeld an einer anderen Stelle.
Kann mir jemand PixelSearch erklären, damit der Bot das Eingabefeld erkennt?
Ich habe das in den Tutorials nicht so ganz verstanden...
------------------------------------------------------------------------
Würde mich über Tipps und Antworten sehr freuen.
Liebe Grüße,
TheWatchman
|
|
|
01/24/2011, 17:10
|
#2
|
elite*gold: 0
Join Date: Jun 2008
Posts: 180
Received Thanks: 39
|
Quote:
- Wie mache ich, dass die Person, die in eine Inputbox Daten eingeben soll
(Beispielsweise ID und Passwort) die Daten nur einmal eingeben muss und
es dann gespeichert werden kann.
|
Ich denke mal das das Script in einer While schleife ausgeführt wird ,oder ?
Das macht es einfacher.
Das was ich aendere/ergaenze makiere ich mit Rot
Code:
[COLOR="red"]
While 1
dim $Frage[/COLOR]
$Frage = InputBox ("Frage", "Bitte hier den zu googelnden Begriff eingeben!"[COLOR="Red"],$Frage[/COLOR])
ShellExecute ("http://www.google.de")
MouseClick ("left", 324, 369 )
Send ($Frage)
Send ("{enter}")
[COLOR="red"]Wend[/COLOR]
Fals Das Script aber nur einmal ausgefuehrt wird.
solltest du die Suchbegriffer in einer .ini speichern.
Auf dem Gebiet bin ich aber leider noch nich so fit.
Sobald ich ne loesung habe ergaenze ich sie.
lg Klickboy
|
|
|
01/24/2011, 17:12
|
#3
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
Quote:
Originally Posted by TheWatchman
Hey,
ich bin im Moment dabei aus Übungszwecken diverse kleine Bots zu
erstellen. Dabei sind mit einige Fragen aufgekommen. Ich hoffe, ihr könnt
mir bei der Beantwortung behilflich sein. Wenn ihr nicht die Antowrt auf alle Fragen wisst, wäre es sehr hilfreich, wenn ihr wenigstens eine/mehrere
andere beantwortet.
Meine Fragen:
- Wie mache ich, dass die Person, die in eine Inputbox Daten eingeben soll
(Beispielsweise ID und Passwort) die Daten nur einmal eingeben muss und
es dann gespeichert werden kann.
- Ich habe einfach mal so einen Google-Bot erstellt, der (wie der Name schon sagt) für einen googelt (z.B. wenn man gerade auf dem Desktop ist).
De Code dazu ist:
$Frage = InputBox ("Frage", "Bitte hier den zu googelnden Begriff eingeben!")
ShellExecute ("http://www.google.de")
MouseClick ("left", 324, 369 )
Send ($Frage)
Send ("{enter}")
-----------------------------------------------------------------------
Wie kann ich dazu eine leine Benutzeroberfläche erstellen (Dass der Bot etwas Farbenfroh ist und nicht nur dieses typische, langweilige
blau-weisse eckige Kästchen bietet..)
------------------------------------------------------------------------
Je nach Bildschirm - Größe ist das Google Eingabefeld an einer anderen Stelle.
Kann mir jemand PixelSearch erklären, damit der Bot das Eingabefeld erkennt?
Ich habe das in den Tutorials nicht so ganz verstanden...
------------------------------------------------------------------------
Würde mich über Tipps und Antworten sehr freuen.
Liebe Grüße,
TheWatchman
|
1. zum speichern der daten, einfach in einer .ini speichern und aufrufen...
hier 2 kleine bsp. :
PHP Code:
$Ini = @ScriptDir & "\save.ini"
If FileExists($ini) Then
start()
Else
$id = InputBox ("Daten", "ID")
$pw = InputBox ("Daten", "Passwort", "", "*")
IniWrite($ini, "ID", "id", $id)
IniWrite($ini, "PW", "pw", $pw)
start()
EndIf
Func start()
$inireadid = IniRead($ini, "ID", "id", "")
$inireadpw = IniRead($ini, "PW", "pw", "")
Sleep(2000)
Send($inireadid)
Send("{ENTER}")
Sleep(500)
Send($inireadpw)
Send("{ENTER}")
EndFunc
und einmal mit GUI:
PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 372, 188, 192, 124)
$Input1 = GUICtrlCreateInput("name", 24, 52, 121, 21)
$Input2 = GUICtrlCreateInput("password", 24, 92, 121, 21, BitOR($ES_PASSWORD, $ES_AUTOHSCROLL))
$Button1 = GUICtrlCreateButton("speichern", 176, 50, 95, 30, $WS_GROUP)
$Button2 = GUICtrlCreateButton("laden", 176, 90, 95, 30, $WS_GROUP)
$Button3 = GUICtrlCreateButton("Start", 275, 75, 95, 30, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Global $Ini = @ScriptDir & "\save.ini"
Global $name = IniRead($Ini, "NAME", "name", "")
Global $password = IniRead($Ini, "PASSWORD", "password", "")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
IniWrite($Ini, "NAME", "name", GUICtrlRead($Input1))
IniWrite($Ini, "PASSWORD", "password", GUICtrlRead($Input2))
Case $Button2
GUICtrlSetData($Input1, $name)
GUICtrlSetData($Input2, $password)
Case $Button3
start()
EndSwitch
WEnd
Func start()
Sleep(2000)
Send(GUICtrlRead($Input1))
Sleep(1000)
Send("{TAB}")
Sleep(1000)
Send(GUICtrlRead($Input2))
Send("{ENTER}")
EndFunc
2. wie du oben siehst, kannst du eine GUI erstellen (erstellen lassen)
google nach SciTE und installier es, (ist automatisch im autoit ordner)
und da findest du KODA(FormDesigner) damit kanns tdu ganz einfach GUI´s erstellen...
eine kleine verbesserung währe zb so:
PHP Code:
ShellExecute ("http://www.google.de")
WinWaitActive("Google - Mozilla Firefox") ;so wartet der bis es "bereis" ist
Sleep(1000) ;zur sicherheit nochmal eine sec. ^^
Send("test") ;google suche ist ja automatisch active, also schrieben....
Send("{ENTER}")
wenn was unklar ist einfach fragen
MfG
|
|
|
01/24/2011, 18:17
|
#4
|
elite*gold: 0
Join Date: Jan 2011
Posts: 23
Received Thanks: 2
|
Hey,
danke erstmal für die schnellen Antworten.
Da ich rellativ neu auf dem Gebiet bin kann ich mit .ini nicht viel anfangen...
Könntet ihr mir das bitte noch einmal genauer erklären?
Möglicherweise mit kleinen Beispielen, die nicht in einem großen Sript sind
sondern nur kleine Ausschnitte?
Hoffe, ich nerve euch nicht damit..
Liebe Grüße
|
|
|
01/24/2011, 18:35
|
#5
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
Quote:
Originally Posted by TheWatchman
Hey,
danke erstmal für die schnellen Antworten.
Da ich rellativ neu auf dem Gebiet bin kann ich mit .ini nicht viel anfangen...
Könntet ihr mir das bitte noch einmal genauer erklären?
Möglicherweise mit kleinen Beispielen, die nicht in einem großen Sript sind
sondern nur kleine Ausschnitte?
Hoffe, ich nerve euch nicht damit..
Liebe Grüße
|
oben im spoiler sind doch 2 beispiele...
PHP Code:
IniWrite ( "filename", "section", "key", "value" )
filename = der ort und name der ini, wo die geschrieben werden soll
section = die.. "hauptgruppe"
key = die ... "innere gruppe"
value = der inhalt
den speicher ort wähl ich mal so aus:
PHP Code:
$ini = @DesktopDir & "\meineini.ini" ;auf dem dekstop mit dem namen: "meineini.ini"
also mach ich mal:
PHP Code:
IniWrite($ini, "hauptgruppe", "innere gruppe", "MeinInhalt")
jetz sieht die .ini folgendermase aus:
Code:
[hauptgruppe]
innere gruppe=MeinInhalt
um jetz die .ini auszulesen, benutzen wir:
PHP Code:
IniRead ( "filename", "section", "key", "default" )
filename = wieder der ort/name (unserem fall $ini)
dann wieder der rest...
default = kannste frei lassen ( "" )
also:
PHP Code:
$read = IniRead($ini, "hauptgruppe", "innere gruppe", "")
also hab ich jetz:
PHP Code:
$inhalt = InputBox("","was soll in der ini stehen?")
$ini = @DesktopDir & "\meineini.ini"
$write = IniWrite($ini, "hauptgruppe", "innere gruppe", $inhalt)
$read = IniRead($ini, "hauptgruppe", "innere gruppe", "")
kannst es jetz zb in einer msgbox ausgeben...:
PHP Code:
MsgBox("","","in der ini steht nun: " & $read)
schau dir die hilfe an, hilft vllt auch 
F1 drücken und suchen, oder dein befehl markieren und 'F1 drücken um direkt hin zu kommen.
|
|
|
01/24/2011, 19:34
|
#6
|
elite*gold: 0
Join Date: Jan 2011
Posts: 23
Received Thanks: 2
|
Vielen Dank!
|
|
|
01/25/2011, 14:15
|
#7
|
elite*gold: 0
Join Date: Oct 2009
Posts: 557
Received Thanks: 160
|
Um die Sache mit dem Google-Suchvorgang noch zu verbssern, könntest du dich mal mit der IE.au3 oder der FF.au3 auseinander setzen.
Es gibt nämlich die Möglichkeit, Objekte aus Webseiten direkt zu steuern, ohne Pixelsearch oder Mouseclicks.
Kleines Beispielscript für ne Googlesuche:
Code:
#include <FF.au3>
$suche = Inputbox("","")
_FFStart("http://www.google.de/firefox?client=firefox-a&rls=org.mozilla:de:official") ; startet Mozilla Firefox und geht direkt auf google.de
_FFLoadWait() ; wartet bis es geladen hat
_FFSetValue($suche, "q" , "name") ; besetzt die Inputbox mit der gewünschten Suche (dazu unten)
_FFFormSubmit() ; startet die Suche -verlgiechbar mit einer "Enter"-Eingabe
Sollte soweit eigentlich alles klar sein, bis auf den "_FFSetValue"-Teil:
Diese Funktion ist warscheinlich das einzige, womit man Probleme haben könnte.
Deren erster Paramter beinhaltet den neuen Wert den du in eine Inputbox einfügen willst.
Der 2., ist der (in diesem Fall) "Name" der Input-Box. Diese Information musst du dir aus dem Quelltext fischen. Du kannst dir dabei viel Arbeit sparen, wenn du die Seitensuch-Funktion von Firefox verwendest.
Du gehst also auf die Seite (google.de) und lässt dir den Quelltext anzeigen.
Dann aktivierst du die Suchbar (F5) und gibst "input" ein.
Du wirst warscheinlich viele Ergebnisse bekommen.
Bei google kannst du dich jedoch nach dem Text "Suche:" orientieren; der ist nämlich unmittelbar nach der Inputbox (Google-Seite selbst betrachtet) - daher wird er auch unmittelbar hinter der Inputbox im Quelltext stehen.
In unserem Fall sieht das so aus :
Code:
value=hp><[COLOR="Blue"]input id=sf maxLength=256 name=q[/COLOR] value="" size=50><br><font size=-1>[COLOR="Red"]Suche:[/COLOR]
blau der Teil den wir gesucht haben
rot das Textfeld mit "Suche:"
Nun hast du diverse Angaben, wie du deine Inputbox beschreiben kannst:
(In unserem Fall)
einmal -> id=sf
zweimal -> name=q
Ich hab mich oben für den Namen entschieden. Ich hätte jedoch auch genausogut die Id angeben können, dafür hätte ich jedoch den 3. Parameter auch auf "id" stellen müssen.
Wie man sieht, beschreibt der 3. Paramter den 2. Paramter und MUSS daher auch vorhanden und korrekt sein.
Ich hoffe mal, das wurde jetzt recht verständlich erklärt
Die FF.au3 googlest du einfach mal. Sollte schnell gefunden sein.
Bei der IE.au3 ist das im Prinzip genau das selbe nur halt mit dem InternetExplorer. Hat Vorteiel als auch Nachteile :P
Hoffe ich konnt dir doch noch ein wenig weiterhelfen
MFG Jonas
|
|
|
01/25/2011, 14:50
|
#8
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
warum so kompliziert, für ne einfach google suche?
PHP Code:
$suche = InputBox("suche...", "was willst du googln??") ShellExecute("http://www.google.de/#hl=de&q="&$suche)
reicht schon...
|
|
|
01/25/2011, 14:55
|
#9
|
elite*gold: 1003
Join Date: Dec 2010
Posts: 2,028
Received Thanks: 846
|
Das was in der Inputbox eingegeben wurde kannst du in einer .ini Datei speichern!
 Kapitel Datenverwaltung!
Das Graphical User Interface = GUI kannst du mit KODA erstellen. Dann kannst du die Benutzeroberfläche so bunt gestalten wie du möchtest.
|
|
|
01/25/2011, 17:11
|
#10
|
elite*gold: 0
Join Date: Jan 2011
Posts: 23
Received Thanks: 2
|
Vielen Dank den ganzen Antworten.
Auch für die Links!
TheWatchman
Edit:
Ich habe jetzt allerdings ein Problem mit KODA.
Ich habe mir ein Tutorial durchgelsesen.
Aber ich schaffe es nicht folgndes zu coden:
Das die Frage gestellt wird (vom User)
Und man dann an Hand von 2 Buttons auswählen kann,
ob man entwerder
-Google
oder
-Yahoo
als Suchmaschine nimmt.
Mein Code sieht igrendwie so aus:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 429, 207, 287, 232)
$Button1 = GUICtrlCreateButton("Button1", 112, 168, 75, 25)
$Button2 = GUICtrlCreateButton("Button2", 224, 168, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 429, 207, 287, 232)
$Button1 = GUICtrlCreateButton("Google", 112, 168, 75, 25)
$Button2 = GUICtrlCreateButton("Yahoo", 224, 168, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
$Frage = InputBox ("Frage", "Bitte hier den zu googelnden Begriff eingeben!")
Case $Button1
ShellExecute ("http://www.google.de")
WinWaitActive ("Google - Mozilla Firefox")
MouseClick ("left", 324, 369 )
Send ($Frage)
Send ("{enter}")
Case $Button2
ShellExecute ("http://www.yahoo.de")
WinWaitActive ("Yahoo! Deutschland - Mozilla Firefox")
MouseClick ("left", 324, 369 )
Send ($Frage)
Send ("{enter}")
Exit
EndSwitch
WEnd
EndSwitch
WEnd
Hoffe, ihr könnt mir da irgendwie helfen.
Liebe Grüße
|
|
|
 |
Similar Threads
|
Kleine Fragen
01/08/2011 - Metin2 Private Server - 3 Replies
1.Ich wollte paar quest löschen wie jagt quest, hab nix gefunden in filzilla.
2.Wie kann ich die Statistiken auf meiner HP weg machen, da steht wv gilden ( 22) es gibt und wie viele acc (225), das ding ist es gibt nur 4 chars, der server ist net mal online.
3.Wenn ich ingame bei wächter nach rang frage stehen da auch so viele gilden, die es augf mein server nicht gibt, wie lösch ich die.?
|
3 KLEINE FRAGEN
09/30/2010 - Guild Wars - 2 Replies
Hey,
hab mal 3 Fragen
1. Wie komme ich mit nem Rollenspiel-Chara zut PvP-Zone?
2. Wie teuer ist eine Riss-Rüstung
3. Woher bekommt man sie(außer farmen^^)?
nicht wundern mein Main ist lv 11 xD deswegen diese Fragen.
THANKS im vorraus
Mfg
|
2 kleine Fragen
07/14/2010 - Metin2 Private Server - 5 Replies
*räusper* Hallöle liebe Com, :)
Ich frage mal ne Frage die da lautet:
Wie bzw. wo konnte man einstellen was die verschiedenen Mobs droppen?
Will nen Fun-Server machen und dann kommt es natürlich richtig lol wenn man von den Wildhunden Rek &nd so one droppt.
Und dann noch ne weitere Frage :D
Kann man es einstellen wie leicht (bzw. wie schwer) Items zu droppen sind?
Wenn ja, wie?
|
kleine Fragen
07/24/2008 - Ragnarok Online - 17 Replies
1. Wie kann ich guildemblems sehen
ich habe: ein emblem ordner bild ist drin .bmp 24x24, steht auch ingame zu auswahl
aber wenn ichs anklicke (bzw nehme) wird es nicht angezeigt und ja ich habe ca 20 embvlems getestet geht bei keinem (das sind embleme die auf andern servern zu 100% gehen)
2. Wie kann ich max stats erhöhen
max stats sind ja 99 standard, ich will aber 300
hab in den eAthena\conf\battle/player.conf die zeile: max_parameter auf 300 gesetzt aber ingame gehts nur bis 99...
|
3 kleine Fragen zum Bot
05/29/2007 - Ragnarok Online - 2 Replies
Hi Leute,
hätte mal 3 kleine Fragen.
1. Mein bot setzt sich immer hin und regeneriert SP, wenn diese unten sind. DAs ja schön und gut, so will ich es ja auch haben ^^ Nur wenn diese voll sind portet er sich dann jedes mal zum Savepoint, anstatt weiter zu lvln. Gibt es da nen bestimmten befehl den ich deaktivieren muss??
2. Ist es möglich wenn von außerhalb, sprich ein GM mich einfach rum portet, also mich steuert, das der Bot mir auch nen Warn Signal gibt, bzw ai = off also sich...
|
All times are GMT +1. The time now is 01:28.
|
|