Mein erster bot/tool mit autoit.

04/14/2009 12:27 NeroAsakura#1
Hallo
Ich habe mich jetzt auch mal mit Autoit v3 auseinander gesetzt und als "Hallo Welt" Projekt nen Gw-Starter gemacht. Er läuft auch schon ganz gut (eigentlich perfekt^^) nur hab ich jetzt das Problem das ich es nicht hinbekomme ihm einen Speicher button zu verpassen also so das er den Acc-name/Passwort/GW-Pfad Speichert und da wollt ich mal hier um hilfe fragen.

MFG
Nero Asakura
04/14/2009 12:32 cab_killer#2
Mir fällt da auf anhierb nur FileWrite und FileRead ein.

Machste halt 2 Inputboxen da soll man die Daten eintragen und wenn du dies nun ausführt dann soll es gespeichert werden.

Bauste vieleicht auch noch ein (mir fällt der Name gerade nicht ein)so nen klick kästchen.
Wenn das geklickt ist soll er die Datei auslesen die du vorher geschrieben hast.

Wäre jetzt eine idee von mir und ich gebe keine Gewehr :D

MFG
04/14/2009 12:33 xSharkoonX#3
Iniwrite() zum speichern und Iniread() zum laden

mfg
04/14/2009 13:13 NeroAsakura#4
Also ich schätze damit bin ich wirklich auf dem richtigen weg. Jedoch komme ich damit garnicht klar egal wie ichs mache error vorprogrammiert xD und die help-file hilft auch nich wirklich. Hat zufällig wer nen beispiel script für mich?
04/14/2009 15:53 NeroAsakura#5
Also hier ma mein script

Code:
#include <GUIConstantsEx.au3>


Opt("GuiOnEventMode",1)
$mainwindow = GUICreate("B's Guild-Wars Starter",400,500)
GUICtrlCreatePic("Gw_Starter.gif",0,0,400,170)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
$pfad = GUICtrlCreateInput("",20,230,300,20)
$acc = GUICtrlCreateInput("",20,290,300,20)
$pass = GUICtrlCreateInput("",20,350,300,20,0x0020)
GUICtrlCreateLabel("Bitte Guild-Wars Pfad angeben:",20,200)
GUICtrlCreateLabel("Bitte Accountnamen angeben:",20,260)
GUICtrlCreateLabel("Bitte Passwort angeben:",20,320)
$Button = GUICtrlCreateButton("Start",300,425,75,50)
GUICtrlSetOnEvent($Button,"Start")
$Button2 = GUICtrlCreateButton("Einstellungen Speichern",30,425,125,50)
GUICtrlSetOnEvent($Button2,"save")
GUISetState(@SW_Show)

While 1
	sleep(1000)
WEnd

Func CLOSEClicked()
	Exit
EndFunc

Func Start()
	GUICtrlRead($pfad)
	Run (GUICtrlRead($pfad)) 
	WinWaitActive("Guild Wars")
	Sleep(5000)
	MouseClick("left",120,279)
	Sleep(500)
	Send(GUICtrlRead($acc))
	Sleep(1000)
	Send("{tab}")
	Send(GUICtrlRead($pass))
	Sleep(1000)
	send("{enter}")
EndFunc

Func save()
	IniWrite("save-file.ini","Pfad",$pfad)
	IniWrite("save-file.ini","Acc-name",$acc)
EndFunc
04/14/2009 15:59 kknb#6
IniWrite("save-file.ini","Pfad",guictrlread($pfad))

nur fehlt dir in deinem script irgendwo das iniread, so das das gespeicherte auch wieder ausgelesen wird.

usw
04/14/2009 17:19 NeroAsakura#7
Danke doch jetzt hab ich das problemm das er immer :

==> Incorrect number of parameters in function call.:
IniWrite("save-file.ini","Pfad",GUICtrlRead($pfad))
^ ERROR

Anzeigt woran liegt das ?
04/14/2009 17:29 kknb#8
joa weil da nen parameter fehlt, hab ich dummerweise auch net gesehen^^

IniWrite ( "filename", "section", "key", "value" )

IniWrite("save-file.ini","settings","pfad",GUICtrlRead($pfad))
04/14/2009 17:34 NeroAsakura#9
Juhu jetzt geht wenigsrtens das danke dir jetzt geb ich mich ma ans read^^
04/14/2009 17:36 kknb#10
read ist genau das selbe nur das du noch ein parameter hinten ranhängen musst, dieser parameter wird dann genutzt falls der wert in der ini datei nicht vorhanden ist. also irgend nen standartwert den du selber angeben kannst.
04/14/2009 17:55 NeroAsakura#11
Einfacher gesagt als getan xD^^
04/14/2009 17:57 kknb#12
ja wenn was nicht funktioniert einfach fragen.
04/14/2009 18:05 NeroAsakura#13
Das is mir furchtbar peinlich das zu fragen aber ich schaffs nicht ich hab jetzt noch ein load button reingemacht (bei betätigung soll er die ini laden) doch ich schaffs nicht. Wie muss ich das genau anstellen mit den variablen?
Code:
#include <GUIConstantsEx.au3>


Opt("GuiOnEventMode",1)
$mainwindow = GUICreate("B's Guild-Wars Starter",400,500)
GUICtrlCreatePic("Gw_Starter.gif",0,0,400,170)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
$pfad = GUICtrlCreateInput("",20,230,300,20)
$acc = GUICtrlCreateInput("",20,290,300,20)
$pass = GUICtrlCreateInput("",20,350,300,20,0x0020)
GUICtrlCreateLabel("Bitte Guild-Wars Pfad angeben:",20,200)
GUICtrlCreateLabel("Bitte Accountnamen angeben:",20,260)
GUICtrlCreateLabel("Bitte Passwort angeben:",20,320)
$Button = GUICtrlCreateButton("Start",300,425,75,50)
GUICtrlSetOnEvent($Button,"Start")
$Button2 = GUICtrlCreateButton("Einstellungen Speichern",30,425,125,50)
GUICtrlSetOnEvent($Button2,"save")
$Button3 = GUICtrlCreateButton("Einstellungen Laden",155,425,125,50)
GUICtrlSetOnEvent($Button3,"load")
GUISetState(@SW_Show)

While 1
	sleep(1000)
WEnd

Func CLOSEClicked()
	Exit
EndFunc

Func Start()
	GUICtrlRead($pfad)
	Run (GUICtrlRead($pfad)) 
	WinWaitActive("Guild Wars")
	Sleep(5000)
	MouseClick("left",120,279)
	Sleep(500)
	Send(GUICtrlRead($acc))
	Sleep(1000)
	Send("{tab}")
	Send(GUICtrlRead($pass))
	Sleep(1000)
	send("{enter}")
EndFunc

Func save()
	IniWrite("save-file.ini","Pfad","Pfad",GUICtrlRead($pfad))
	IniWrite("save-file.ini","Acc","Acc",GuiCtrlRead($acc))
	IniWrite("save-file.ini","Pass","Pass",GuiCtrlRead($pass))
EndFunc

Func load()
	IniRead("save-file.ini","Pfad","Pfad",GUICtrlRead($pfad))
	IniRead("save-file.ini","Acc","Acc",GUICtrlRead($acc))
	IniRead("save-file.ini","Pass","Pass",GUICtrlRead($pass))
EndFunc

Vor charm im boden versink imdreck wälze:(
04/14/2009 18:18 kknb#14
das könnte zum beispiel so aussehen.

Code:
#include <GUIConstantsEx.au3>
	$1=IniRead("save-file.ini","Settings","Pfad","c:/irgendwas")
	$2=IniRead("save-file.ini","Settings","Acc", "[Only registered and activated users can see links. Click Here To Register...]")
	$3=IniRead("save-file.ini","Settings","Pass","1111")

Opt("GuiOnEventMode",1)
$mainwindow = GUICreate("B's Guild-Wars Starter",400,500)
GUICtrlCreatePic("Gw_Starter.gif",0,0,400,170)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
$pfad = GUICtrlCreateInput($1,20,230,300,20)
$acc = GUICtrlCreateInput($2,20,290,300,20)
$pass = GUICtrlCreateInput($3,20,350,300,20,0x0020)
GUICtrlCreateLabel("Bitte Guild-Wars Pfad angeben:",20,200)
GUICtrlCreateLabel("Bitte Accountnamen angeben:",20,260)
GUICtrlCreateLabel("Bitte Passwort angeben:",20,320)
$Button = GUICtrlCreateButton("Start",300,425,75,50)
GUICtrlSetOnEvent($Button,"Start")
$Button2 = GUICtrlCreateButton("Einstellungen Speichern",30,425,125,50)
GUICtrlSetOnEvent($Button2,"save")
$Button3 = GUICtrlCreateButton("Einstellungen Laden",155,425,125,50)
GUICtrlSetOnEvent($Button3,"load")
GUISetState(@SW_Show)

While 1
	sleep(1000)
WEnd

Func CLOSEClicked()
	Exit
EndFunc

Func Start()
	GUICtrlRead($pfad)
	Run (GUICtrlRead($pfad)) 
	WinWaitActive("Guild Wars")
	Sleep(5000)
	MouseClick("left",120,279)
	Sleep(500)
	Send(GUICtrlRead($acc))
	Sleep(1000)
	Send("{tab}")
	Send(GUICtrlRead($pass))
	Sleep(1000)
	send("{enter}")
EndFunc

Func save()
	IniWrite("save-file.ini","Settings","Pfad",GUICtrlRead($pfad))
	IniWrite("save-file.ini","Settings","Acc",GuiCtrlRead($acc))
	IniWrite("save-file.ini","Settings","Pass",GuiCtrlRead($pass))
EndFunc

Func load()
	$1=IniRead("save-file.ini","Settings","Pfad","c:/irgendwas")
	$2=IniRead("save-file.ini","Settings","Acc", "[Only registered and activated users can see links. Click Here To Register...]")
	$3=IniRead("save-file.ini","Settings","Pass","1111")
	GUICtrlSetData($pfad,$1)
	GUICtrlSetData($acc,$2)
	GUICtrlSetData($pass,$1)
EndFunc
kannst halt auch die einstellungen beim starten speichern lassen usw, dabei sind dir eigentlich keine grenzen gesetzt^^
04/14/2009 21:32 NeroAsakura#15
THX THX THX das werd ich nochn bisschen verändern und dann compilen danke dir ich stels demnächst hier als datei public.