GUI Run (input...)

05/07/2008 20:42 blackWorkx#1
Hallo,

ich mal wieder mit ne Frage. Und zwar habe ich eine Func _path() erstellt welche die Aufgabe hat den user auf zu fordern den Pfad zum GuildWars verzeichniss an zu geben.
Die func klappt auch ohne Probleme, aber ich möchte es halt so das wenn der User dann start drückt das GuildWars startet von dem Verzeichniss aus wo der User sein GuildWars Installiert hat.

Die Func sieht so aus....

func _path()
MsgBox ( 0, "GuildWars Path", "Befor the bot can do autologin you have to insert your path to GuildWars.exe")
$autologinpath = InputBox ( "Path to GuildWars", "Please insert here your path to GW.exe", "C:\Programme\GUILD WARS\Gw.exe" )
EndFunc


das wäre die _path() func

jetzt dachte ich mir halt so das es mit Run geht.... aber iwi kommt nix ausser nen fehler.. hatte es so probiert....

Func _startbot()

$rungw = GUICtrlRead($autologinpath)
Run = ($rungw)

EndFunc

Wäre ne ordentliche lösung weiß wäre cool :)

Danke schon mal für die antworten zum thema!

mfg
05/07/2008 20:44 Term!nX#2
Nee kumma, ne InputBox ist ne neue Form. Dann müsstest du einfach Run($autologinpath) machen.
05/07/2008 20:59 blackWorkx#3
Func _startbot()

Run($autologinpath)

EndFunc

Da kommt nurn fehler...

Quote:
C:Dokumente und EinstellungenBlackSunDesktoptest roomBoneBot v2.0Source-code v4.au3(394,23) : WARNING: : possibly used before declaration.
Run()
~~~~~~~~~~~~~~~~~~~~~~^
C:Dokumente und EinstellungenBlackSunDesktoptest roomBoneBot v2.0Source-code v4.au3(394,23) : ERROR: : undeclared global variable.
Run()
~~~~~~~~~~~~~~~~~~~~~~^
05/07/2008 22:11 Term!nX#4
Dann musst du die path variabel global deklarieren. Wenn die in einer Funktion deklariert wird, dann kannst du die nur in dieser Funktion verwenden und nicht in einer anderen.

Code:
global $path

func input()
	$path = InputBox("", "")
EndFunc

func runit()
	run($path)
EndFunc

input()
runit()
05/08/2008 12:46 blackWorkx#5
Ok super danke das klappt nun so wie ich wollte...

Nun noch wie muss das aussehen um es zu speichern?

Habe es so...

IniWrite("gui.dat","inputbox","1",GUICtrlread($pat h))

und das read dat so...

GUICtrlSetData($path, IniRead("gui.dat","inputbox","1","C:\Programme\GUI LD WARS\Gw.exe"))

Leider passiert nüscht das window wird kurz gezeigt.. also die GUI und sofort beendet dann zeigt er im Editor diesn fehler an...

C:\Dokumente und Einstellungen\BlackSun\Desktop\test room\BoneBot v2.0\Source-code v4.au3 (265) : ==> Variable used without being declared.:
GUICtrlSetData($path,IniRead("gui.dat","guildwarsp ath","1","C:\Programme\GUILD WARS\Gw.exe"))
GUICtrlSetData(^ ERROR[/QUOTE]

mfg
05/08/2008 13:05 Azunai#6
wtf geht bei euch ab?
wie wärs mit

$path = FileOpenDialog("Please select your GW.exe",@workingdir,"GW.exe (Gw.exe)",3)

o0
05/08/2008 13:34 Term!nX#7
is natürlich besser, aber es ging halt darum, den denkfehler zu beheben
05/08/2008 13:59 blackWorkx#8
Quote:
= FileOpenDialog("Please select your GW.exe",@workingdir,"GW.exe (Gw.exe)",3)
Das ist auch gut.. nur müsste der User dann ja immer bevor er start drückt die gw.exe auswählen... kann man den pfad da nich specihern so das es mit iniread und so klappt?
05/08/2008 14:09 Azunai#9
klar o0

$path = iniread("options.dat","bot","path","blanko")

if $path <> "blanko" then $path = FileOpenDialog("Please select your GW.exe",@scriptdir,"GW.exe (Gw.exe)",3)

iniwrite("options.dat","bot","path",$path)
05/08/2008 14:13 blackWorkx#10
Na dann danke ich dir .. weitere fragen werden folgen xD

*sorry fals es stresst

mfg
05/08/2008 19:49 Term!nX#11
Es stresst nicht, da es für den Wissenden keinen Aufwand bedeutet.
05/08/2008 20:08 Valvepro#12
nenene das geht viel viel einfacher (der autologin)

func autologin()

run(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\ArenaNet\ Guild Wars", "path")&" -email "&GUICtrlRead($loginmail)&" -password "&GUICtrlRead($loginpw))

sleep(ka wielange..)
send ("{enter}")
sleep(ka wielange..)
EndFunc

Wobei GUICtrlRead($loginmail) die Email einließt und GUICtrlRead($loginpw) eben das Passwort ;)

Hoffe, konnte damit weiterhelfen ;)
05/08/2008 20:45 Azunai#13
hf ^^
ich sag nur

"mammi das ist ein keylogger!!"
05/08/2008 20:49 Term!nX#14
bitte w00t o,O
05/08/2008 22:11 blackWorkx#15
Hi danke aber das is doch dann wieder was wo die meisten firewalls diesen befehl btw. die anfrage zulassen müssen oder? Will nähmlich nix haben wo der user noch was in der firewall freigeben muss.