Tratsch rund um Autoit / Autoit Talk | kleinere Fragen

03/18/2013 15:28 -STORM-#961
Ich zähle mal auf, was mir spontan auffällt:

1.
Code:
Opt("GUIResizeMode", $GUI_DOCKHCENTER+$GUI_DOCKVCENTER)
Opt("GUIResizeMode", $GUI_DOCKHCENTER+$GUI_DOCKVCENTER)
Opt("GUIResizeMode", $GUI_DOCKHCENTER+$GUI_DOCKVCENTER)
Zwei der Zeilen kannst du weglassen. Du setzt dreimal hintereinander die Option GUIResizeMode auf denselben Wert, das ist unnötig.

2. Rück die If-Abfragen und den Switch vernünftig ein, sonst ist es extrem unübersichtlich.

3. Du hast mich anscheinend falsch verstanden. Die Zahlen nach While solltest du nicht einfach weglassen. "While 1" ist schon ok, auch wenn es genau genommen "While True" wäre, aber in AutoIt egal. In beiden Fällen ist es eine Endlosschleife.
Die zweite Schleife wird allerdings nicht erreicht.

4.
Code:
MsgBox(0,"Fehler","Bitte gültige User-ID eingeben"& $Input1)
Was soll $Input1 hier? Das gehört da nicht hin. Was wolltest du damit erreichen?

5. Benenn die GUI-Elemente irgendwie sinnvoll. $Button1, $Button2 etc. sind wenig aussagekräftig. Damit ersparst du allen, die dein Script lesen, einige Arbeit.

6. Irgendwas ist bei deinen If-Abfragen schief gelaufen.
Code:
If GuiCtrlRead($Input1) < 10000 Then
;// ...
ElseIf GuiCtrlRead($Input1) < 10000 Then
Das macht so keinen Sinn. Du verstehst, wieso, oder?


Ich hab das ganze mal angepasst. Alle Teile, deren Sinn mir nicht klar war (und das waren einige), habe ich einfach weggelassen.
Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIResizeMode", $GUI_DOCKHCENTER+$GUI_DOCKVCENTER)

$Form1 = GUICreate("User-ID", 216, 152, -1, -1, BitOR($WS_SYSMENU,$WS_POPUP))
GUISetIcon("C:\Windows\System32\shell32.dll", -78)
GUISetBkColor(0x74A402)
$Input_UserID = GUICtrlCreateInput("", 47, 55, 121, 23, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
GUICtrlSetLimit(-1, 8)
GUICtrlSetFont(-1, 8, 400, 0, "Gill Sans Ultra Bold Condensed")
$Label1 = GUICtrlCreateLabel("Bitte trage hier deine User-ID ein:", 9, 23, 197, 23, $SS_CENTER)
GUICtrlSetFont(-1, 10, 400, 0, "Gill Sans Ultra Bold Condensed")
$Button_OK = GUICtrlCreateButton("OK", 24, 103, 75, 25)
GUICtrlSetFont(-1, 10, 400, 0, "Gill Sans Ultra Bold Condensed")
$Button_Abbrechen = GUICtrlCreateButton("Abbrechen", 112, 103, 75, 25)
GUICtrlSetFont(-1, 10, 400, 0, "Gill Sans Ultra Bold Condensed")
GUISetState(@SW_SHOW)

While True
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $Button_OK
			If GuiCtrlRead($Input_UserID) < 10000 Then
				MsgBox(0,"Fehler","Bitte gültige User-ID eingeben")
			Else
				;// was im Falle einer gültigen UserID (> 10000) passieren soll
			EndIf
		Case $Button_Abbrechen
			Exit
	EndSwitch
WEnd
03/18/2013 16:30 Achat#962
Quote:
Originally Posted by -STORM- View Post
6. Irgendwas ist bei deinen If-Abfragen schief gelaufen.
Code:
If GuiCtrlRead($Input1) < 10000 Then
;// ...
ElseIf GuiCtrlRead($Input1) < 10000 Then
Das macht so keinen Sinn. Du verstehst, wieso, oder?
Größer kleiner immer mit Number() benutzen. GuiCtrlRead gibt einen String zurück, mit dem < / > nicht funktioniert.

MfG
03/18/2013 16:32 playerXD97#963
Danke jetzt hab ich das verstanden. Hat auch alles geklappt :)
Das Input in der MSGbox war zur Kontrolle.
03/19/2013 15:31 pascal4556#964
Einer von euch kennt doch bestimmt "Metin2" spiele zurzeit auf einem P-Server und brauche einen Klickbot der so aussieht

Code:
HotKeySet('{7}', 'SwitchState')
Dim $run=False
Do
	If $run Then
		MouseClick("right" , 972, 707, 1)
		MouseClick("left" , 513, 426, 1)
		Sleep(60000)
	EndIf
Until False

Func SwitchState()
	$run = Not $run
EndFunc
Nur der Code muss in der .exe von Metin2 laufen wie kriegt man das hin der Bot klappt nur auf den Desktop bzw. überall außer in .exe(n)

mfg
03/19/2013 15:36 lolkop#965
wahrscheinlich blockiert dein programm einfach virtuelle eingaben...
03/19/2013 15:38 pascal4556#966
Quote:
Originally Posted by lolkop View Post
wahrscheinlich blockiert dein programm einfach virtuelle eingaben...
Macht der Bot nicht genau das gleiche? Also alsob ich mit der Maus draufklick...?
03/19/2013 15:40 lolkop#967
Quote:
Originally Posted by pascal4556 View Post
Macht der Bot nicht genau das gleiche? Also alsob ich mit der Maus draufklick...?
solange du dir keinen roboter baust, welcher für dich auf die maus klickt, kann es nicht das gleiche sein...

das eine ist eine hardware eingabe, das andere eine virtuelle eingabe...
03/19/2013 15:42 pascal4556#968
Quote:
Originally Posted by lolkop View Post
solange du dir keinen roboter baust, welcher für dich auf die maus klickt, kann es nicht das gleiche sein...

das eine ist eine hardware eingabe, das andere eine virtuelle eingabe...
Hm dann muss ich mir wohl doch ein Roboter bauen ... ;)


Geht das denn überhaupt nicht???
03/19/2013 15:43 lolkop#969
Quote:
Originally Posted by pascal4556 View Post
Hm dann muss ich mir wohl doch ein Roboter bauen ... ;)


Geht das denn überhaupt nicht???
es gibt nichts was nicht geht... da du es aber nichtmal geschafft hast, ein derart simples script zu schreiben, geht es dür DICH wohl nicht...
03/19/2013 15:46 pascal4556#970
Quote:
Originally Posted by lolkop View Post
es gibt nichts was nicht geht... da du es aber nichtmal geschafft hast, ein derart simples script zu schreiben, geht es dür DICH wohl nicht...
Kenne AutoIt halt erst seit einem Tag... wäre ja mal ne Idee zu sagen/erklären warum es nicht geht oder den Code verändern damit ich in der .exe benutzen kann ._.
03/19/2013 15:49 lolkop#971
Quote:
Originally Posted by pascal4556 View Post
Kenne AutoIt halt erst seit einem Tag... wäre ja mal ne Idee zu sagen/erklären warum es nicht geht oder den Code verändern damit ich in der .exe benutzen kann ._.
warum es nicht geht habe ich erklärt...

wenn du fertigen code willst, geh und bezahle jemanden, damit er dir das programm schreibt o0

ich helfe gern leuten, die mit kleinen probleme in ihren scripten kämpfen, schreibe aber keine fertigen scripte für leute, die kein interesse am scripten an sich haben... was passiert, wenn man doch mal den fehler macht, sieht man hier ja gerade...
03/19/2013 15:52 pascal4556#972
Quote:
Originally Posted by lolkop View Post
warum es nicht geht habe ich erklärt...

wenn du fertigen code willst, geh und bezahle jemanden, damit er dir das programm schreibt o0

ich helfe gern leuten, die mit kleinen probleme in ihren scripten kämpfen, schreibe aber keine fertigen scripte für leute, die kein interesse am scripten an sich haben... was passiert, wenn man doch mal den fehler macht, sieht man hier ja gerade...
Habe SuFu benutz aber so einen Klickbot für .exe(n) oder mit der Funktion hab ich halt nicht gefunden und so lange würde es bestimmt nicht dauern um kurz den Code zu schreiben damit ich es in einer exe ausführen kann...

danke dir troz. :P
03/19/2013 15:55 lolkop#973
Quote:
Originally Posted by pascal4556 View Post
so lange würde es bestimmt nicht dauern um kurz den Code zu schreiben damit ich es in einer exe ausführen kann
antihack systeme zu hacken ist so ohne weiteres nicht möglich, da diese ja eben genau das verhindern sollen...

hierfür ist eine sehr genaue und komplexe analyse des zielprozesses notwendig. da du aber selbst per pn gefragt hast, wie man ein 7 zeilen script startet, ist das für dich wie gesagt definitiv nicht möglich, da hier fundierte reversing kenntnisse definitiv vorraussetzung wären.
03/19/2013 15:57 pascal4556#974
Quote:
Originally Posted by lolkop View Post
antihack systeme zu hacken ist so ohne weiteres nicht möglich, da diese ja eben genau das verhindern sollen...

hierfür ist eine sehr genaue und komplexe analyse des zielprozesses notwendig. da du aber selbst per pn gefragt hast, wie man ein 7 zeilen script startet, ist das für dich wie gesagt definitiv nicht möglich, da hier fundierte reversing kenntnisse definitiv vorraussetzung wären.
Dieses "Spiel" hat son Zeug garnicht :P sieh dir den Script an ist einfach nicht für ne Exe gecodet paar Zeilen und eig Fertig...
03/19/2013 16:03 Der-Eddy#975
Natürlich hat Metin2 sowas, außerdem kann sowas das Spiel auch von vornherein blocken
dafür ist kein AntiHack Programm notwendig das im Hintergrund mitläuft

btw. wie schauts damit aus: [Only registered and activated users can see links. Click Here To Register...] ?
kann sein das es läuft, muss es aber nicht