Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 21:22

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Button 2 mal verwenden

Discussion on Button 2 mal verwenden within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Mar 2009
Posts: 155
Received Thanks: 9
Button 2 mal verwenden

hey ho
ich hab das komische problem, dass ich den button "Go To" nur einmal verwenden kann

kann mir vtl. einer erklääären warum?

auch den knopf zum schliessen kann ich nicht mehr verwenden, sobald ich den "Go To" knopf einmal verwendet habe.

kurz was das progi tun soll:
-koordinaten der aktuellen mauspos ausgeben
-hintergrundfarbe der aktuellen maus pos anzeigen
-zu eingegebenen koordinaten springen (also der Cursur, für was auch der button gedacht ist =))

ist also was kleines zum üüben

Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
HotKeySet("{F9}","shot")
HotKeySet("{F10}","infos")
Dim $springen = 0
Dim $label = 0
Dim $labe2 = 0
Dim $farbe = 0
GUICreate("Infotool",300, 300, -1, -1,$WS_SIZEBOX)
Opt("GUIOnEventMode", 1)
GUICtrlCreateLabel("Koordinaten:",40,68)
$kords1=GUICtrlCreateInput("",120,65,30)
$kords2=GUICtrlCreateInput("",160,65,30)
$springen=GUICtrlCreateButton("Go To",120,240)
GUICtrlSetOnEvent($springen,"jump")
$mauspos=MouseGetPos()
$label1=GUICtrlCreateLabel("Maus-position: "&$mauspos[0]&","&$mauspos[1],40,20,200)
$farbe=PixelGetColor($mauspos[0],$mauspos[1])
$label2=GUICtrlCreateLabel("Farbe: "&Hex($farbe,6),40,40,200)
GUISetOnEvent($GUI_EVENT_CLOSE, "schliessen")
GUISetState(@sw_show)
infos()
While 1
	Sleep(1000)
WEnd
Func schliessen()
	Exit
EndFunc
Func infos()
	while 1
		$mauspos=MouseGetPos()
		GUICtrlSetData($label1,"Maus-position: "&$mauspos[0]&","&$mauspos[1])
		$farbe=PixelGetColor($mauspos[0],$mauspos[1])
		GUICtrlSetData($label2,"Farbe: "&Hex($farbe,6))
		Sleep(40)
	WEnd
EndFunc
Func shot()
	While 1
		Sleep(1000)
	WEnd
EndFunc
Func jump()
	$kords1=GUICtrlRead($kords1)
	$kords2=GUICtrlRead($kords2)
	MouseMove($kords1,$kords2,1)
	infos()
EndFunc
qLADYofLORDp is offline  
Old 09/21/2009, 20:31   #2
 
| Moep |'s Avatar
 
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
Quote:
Originally Posted by qLADYofLORDp View Post
hey ho
ich hab das komische problem, dass ich den button "Go To" nur einmal verwenden kann

kann mir vtl. einer erklääären warum?

auch den knopf zum schliessen kann ich nicht mehr verwenden, sobald ich den "Go To" knopf einmal verwendet habe.

kurz was das progi tun soll:
-koordinaten der aktuellen mauspos ausgeben
-hintergrundfarbe der aktuellen maus pos anzeigen
-zu eingegebenen koordinaten springen (also der Cursur, für was auch der button gedacht ist =))

ist also was kleines zum üüben

Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
HotKeySet("{F9}","shot")
HotKeySet("{F10}","infos")
Dim $springen = 0
Dim $label = 0
Dim $labe2 = 0
Dim $farbe = 0
GUICreate("Infotool",300, 300, -1, -1,$WS_SIZEBOX)
Opt("GUIOnEventMode", 1)
GUICtrlCreateLabel("Koordinaten:",40,68)
$kords1=GUICtrlCreateInput("",120,65,30)
$kords2=GUICtrlCreateInput("",160,65,30)
$springen=GUICtrlCreateButton("Go To",120,240)
GUICtrlSetOnEvent($springen,"jump")
$mauspos=MouseGetPos()
$label1=GUICtrlCreateLabel("Maus-position: "&$mauspos[0]&","&$mauspos[1],40,20,200)
$farbe=PixelGetColor($mauspos[0],$mauspos[1])
$label2=GUICtrlCreateLabel("Farbe: "&Hex($farbe,6),40,40,200)
GUISetOnEvent($GUI_EVENT_CLOSE, "schliessen")
GUISetState(@sw_show)
infos()
While 1
	Sleep(1000)
WEnd
Func schliessen()
	Exit
EndFunc
Func infos()
	while 1
		$mauspos=MouseGetPos()
		GUICtrlSetData($label1,"Maus-position: "&$mauspos[0]&","&$mauspos[1])
		$farbe=PixelGetColor($mauspos[0],$mauspos[1])
		GUICtrlSetData($label2,"Farbe: "&Hex($farbe,6))
		Sleep(40)
	WEnd
EndFunc
Func shot()
	While 1
		Sleep(1000)
	WEnd
EndFunc
Func jump()
	$kords1=GUICtrlRead($kords1)
	$kords2=GUICtrlRead($kords2)
	MouseMove($kords1,$kords2,1)
	infos()
EndFunc
wieso schreibst du rtfm und machst es nicht einfach selber mal etwas gründlicher?!
Scheinbar hast du nämlich noch nicht verstanden wie das Prinzip einer while Schleife funktioniert.
Es gibt für normal meist nur eine, EIINNNEEE while Hauptschleife.
Sobal du nämlich in deinem Programm einen Button klickst, hängt du in einer deiner vielen, vielen while schleifen und es wird nichtmehr der Zustand der Buttons abgefragt...
| Moep | is offline  
Old 09/22/2009, 17:56   #3
 
elite*gold: 0
Join Date: Mar 2009
Posts: 155
Received Thanks: 9
hab ich mir auch schon überlegt aber ich kann mir das nicht so ganz erklääären weeeil:
sobald das programm gestartet ist, ist es in der whileschleife der funktion infos drinne, daaaann drück ich auf den knopf wodruch ich in die andere schleife komme.
wenn ich dann wieder staaaarte, bin ich wieder in der infs-schleife drinne (d.h ausgansposition) d.h also, dass ich in der selben schleife stecke wie am anfang. wenn nun also am anfang der zustand abgefragt wird (wenn cih das erste mal n der schleife bin) sollte das doch beim 2 mal genau so gut funktionieren. oder??

das soll ausrücken, dass ich am üüüben bin (ich bin noch kein meister und was aus übung wird sollten ja mitlerweile alle wissen)

aus fehlern lernt man allerdings nur, wenn man sie auch lösen kann. die lösung für diesen fehler ist für mich jedoch relativ schwer zu finden.

googeln ...... 1. ich habs versucht 2. was soll ich denn da hin schreiben? "es geht nicht." solange man nciht weis wo der fehler liegt ist es schwiiiierig das problem zu lööösen.

selber überlegen, fehler analyse ..... hab ich auch gemacht (wie oben geschreieben)

Help datei ...... das selbe prob wie bei google nur noch schlimmer

jemanden fragen ..... tu ich ja =)

es wär wircklich toll wenn sich das mal jemand anschaun könnte
qLADYofLORDp is offline  
Old 09/22/2009, 18:51   #4
 
| Moep |'s Avatar
 
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
Quote:
Originally Posted by qLADYofLORDp View Post
hab ich mir auch schon überlegt aber ich kann mir das nicht so ganz erklääären weeeil:
sobald das programm gestartet ist, ist es in der whileschleife der funktion infos drinne, daaaann drück ich auf den knopf wodruch ich in die andere schleife komme.
wenn ich dann wieder staaaarte, bin ich wieder in der infs-schleife drinne (d.h ausgansposition) d.h also, dass ich in der selben schleife stecke wie am anfang. wenn nun also am anfang der zustand abgefragt wird (wenn cih das erste mal n der schleife bin) sollte das doch beim 2 mal genau so gut funktionieren. oder??

das soll ausrücken, dass ich am üüüben bin (ich bin noch kein meister und was aus übung wird sollten ja mitlerweile alle wissen)

aus fehlern lernt man allerdings nur, wenn man sie auch lösen kann. die lösung für diesen fehler ist für mich jedoch relativ schwer zu finden.

googeln ...... 1. ich habs versucht 2. was soll ich denn da hin schreiben? "es geht nicht." solange man nciht weis wo der fehler liegt ist es schwiiiierig das problem zu lööösen.

selber überlegen, fehler analyse ..... hab ich auch gemacht (wie oben geschreieben)

Help datei ...... das selbe prob wie bei google nur noch schlimmer

jemanden fragen ..... tu ich ja =)

es wär wircklich toll wenn sich das mal jemand anschaun könnte
24 Zeilen strukturierten Code 'owned' 48 Zeilen Spagetthi Code
10 Minuten Arbeit 'owned' bis zur Unendlichkeit und noch viel weiter...
1 While Schleife 'owned' 3 While Schleifen
0 Fuktionen 'owned' 3 Funktionen
0 Hotkeys 'owned' 2 Hotkeys



Code:
#include <GUIConstants.au3>
GUICreate("", 200, 150)
$setX = GUICtrlCreateInput("", 10, 5, 30)
$setY = GUICtrlCreateInput("", 10, 35, 30)
$getX = GUICtrlCreateLabel("0000", 60, 5)
$getY = GUICtrlCreateLabel("0000", 60, 35)
$getColor = GUICtrlCreateLabel("0x000000", 120, 75)
$btn = GUICtrlCreateButton("Go", 40, 75, 60, 20)
GUISetState()
While 1
	$msg = GUIGetMsg()
	Select
		Case $msg = $GUI_EVENT_CLOSE
			Exit
		Case $msg = $btn
			MouseMove(GUICtrlRead($setX), GUICtrlRead($setY))
	EndSelect
	$mousePos = MouseGetPos()
	GUICtrlSetData($getX, $mousePos[0])
	GUICtrlSetData($getY, $mousePos[1])
	GUICtrlSetData($getColor, PixelGetColor($mousePos[0], $mousePos[1]))
	Sleep(10)
WEnd
| Moep | is offline  
Old 10/06/2009, 13:28   #5
 
elite*gold: 0
Join Date: Mar 2009
Posts: 155
Received Thanks: 9
Quote:
Originally Posted by | Moep | View Post
24 Zeilen strukturierten Code 'owned' 48 Zeilen Spagetthi Code
10 Minuten Arbeit 'owned' bis zur Unendlichkeit und noch viel weiter...
1 While Schleife 'owned' 3 While Schleifen
0 Fuktionen 'owned' 3 Funktionen
0 Hotkeys 'owned' 2 Hotkeys



Code:
#include <GUIConstants.au3>
GUICreate("", 200, 150)
$setX = GUICtrlCreateInput("", 10, 5, 30)
$setY = GUICtrlCreateInput("", 10, 35, 30)
$getX = GUICtrlCreateLabel("0000", 60, 5)
$getY = GUICtrlCreateLabel("0000", 60, 35)
$getColor = GUICtrlCreateLabel("0x000000", 120, 75)
$btn = GUICtrlCreateButton("Go", 40, 75, 60, 20)
GUISetState()
While 1
	$msg = GUIGetMsg()
	Select
		Case $msg = $GUI_EVENT_CLOSE
			Exit
		Case $msg = $btn
			MouseMove(GUICtrlRead($setX), GUICtrlRead($setY))
	EndSelect
	$mousePos = MouseGetPos()
	GUICtrlSetData($getX, $mousePos[0])
	GUICtrlSetData($getY, $mousePos[1])
	GUICtrlSetData($getColor, PixelGetColor($mousePos[0], $mousePos[1]))
	Sleep(10)
WEnd
ganz schöön coool nur dass da ein denkfehler unterlaufen ist.... wenn ich die koordinaten brauche, muss die maus still stehen. was unterumständen müühsam sein kann also braucht es wohl oder üüübel ein hotkey also so wie in meinem code, was mich auf den eigentlichen punkt bringt.

es ist wirklich nett das du mir das geschrieben hast und ich weis das auch zu schätzen nur bringt mir das nicht sehr viel. ich mach das hier als übung und ned weil ich das uuunebdingt brache =).
d.h also ich muss wissen was ich falsch gemacht habe. ob mein spagetti code jetzte sch... aussieht oder nicht^^
das problem ist das es nicht läuft und ich möchte gerne wissen warum.
dass er in einer schlaufe hängenbeibt kann ich mir (wie in vorhergehenden posts beschrieben) nicht vorstellen.

nochmal vielen dank für die mühe aber ich möchte halt gerne wissen wo der fehler ist.
qLADYofLORDp is offline  
Old 10/07/2009, 00:04   #6


 
buFFy!'s Avatar
 
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,287
HotKeys sind überbewertet und schaffen Funktionen.
Die meisten HotKey's brauchst du sowieso nicht das ganze Skript über.

GetAsyncKeyState ftw. oder wie der AutoIT'ler sagt.. "_isPressed"

Edit: Nen EgoShooter kriegst du mit au3 nicht hin. xD
buFFy! is offline  
Old 10/07/2009, 11:32   #7
 
elite*gold: 0
Join Date: Mar 2009
Posts: 155
Received Thanks: 9
.... naja ich weis zwar noch immer nicht wo mein fehler ist und das soll auch kein EgoShooter werden xDD

aber ich werd jetzt halt einfach mal das _isPressed (noch nie verwendet) ein bauen und die hotkeys raus nehemen... mal guckn ob as was bringt.


EDIT:
ich hab jetze das progi umgeschrieben und es ist genau so wie vorher.. die hotkeys (_isPressed) funktionieren (genau so vie vorher auch) ich kann einmal auf den button goto klicken (genau so vie vorher auch) und wenn ich das 2 mal auf goto klicke funktioniert kein button mehr (nicht mal der schliessen knopf (genauwie vorher auch)....
ich seh den fehler echt nicht -.-
qLADYofLORDp is offline  
Old 10/07/2009, 12:29   #8
 
| Moep |'s Avatar
 
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
Was willst du mit den Hotkey erreichen, dass die Maus an die Pos springt oder dass die Position der Maus ausgelesen wird?
| Moep | is offline  
Old 10/07/2009, 14:18   #9
 
elite*gold: 0
Join Date: Mar 2009
Posts: 155
Received Thanks: 9
nein, der soll nur aufhören die koordinaten und farben zu aktualisieren.
das ist ja aber auch kein probleeem die hotkeys funktionieren ja!!!

kopiert doch mal den code und führt ihn aus.
dann versucht ihr zu (mit dem tool) zu den koordinaten 100,100 zu springen und dann noch zu den koordinaten 200,200.

das wird nicht funktionieren und warum das nicht funktioniert weis ich nicht... das ist ja mein probleeeem. *verzweifel*
qLADYofLORDp is offline  
Old 10/07/2009, 15:47   #10
 
| Moep |'s Avatar
 
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
Wieso sollen wir dafür unbeding dein falsches Script umbauen. Nimm doch einfach meins, probier zu verstehen was ich da gemacht hab und bau das dann um.

z.B. so:
Code:
#include <GUIConstants.au3>

Global $Paused
HotKeySet("{PAUSE}", "TogglePause")

GUICreate("", 200, 150)
$setX = GUICtrlCreateInput("", 10, 5, 30)
$setY = GUICtrlCreateInput("", 10, 35, 30)
$getX = GUICtrlCreateLabel("0000", 60, 5)
$getY = GUICtrlCreateLabel("0000", 60, 35)
$getColor = GUICtrlCreateLabel("0x000000", 120, 75)
$btn = GUICtrlCreateButton("Go", 40, 75, 60, 20)
GUISetState()

Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
        sleep(100)
        ToolTip('Script ist pausiert',0,0)
    WEnd
    ToolTip("")
EndFunc

While 1
	$msg = GUIGetMsg()
	Select
		Case $msg = $GUI_EVENT_CLOSE
			Exit
		Case $msg = $btn
			MouseMove(GUICtrlRead($setX), GUICtrlRead($setY))
	EndSelect
	$mousePos = MouseGetPos()
	GUICtrlSetData($getX, $mousePos[0])
	GUICtrlSetData($getY, $mousePos[1])
	GUICtrlSetData($getColor, PixelGetColor($mousePos[0], $mousePos[1]))
	Sleep(10)
WEnd
| Moep | is offline  
Old 10/27/2009, 00:14   #11
 
elite*gold: 0
Join Date: Aug 2009
Posts: 15
Received Thanks: 0
oder einfach mal probieren alle whiles raus bis das
whiles 1
sleep(10)
WEnd
mauer01 is offline  
Reply


Similar Threads Similar Threads
GM CODES VERWENDEN
07/29/2010 - Metin2 Private Server - 4 Replies
hi, Wie kann ich für Waffen, Rüssis,Lvl, usw. die GM-Befehle verwenden ( was muss ich vor die codes schreiben?) Danke PS: bekommst ein thx:D
Allegro mit C++ verwenden?
03/21/2010 - C/C++ - 5 Replies
Nach ner Stunde googeln hab ichs aufgegeben, ich hab noch nicht soviel Erfahrung in C++ nur son bisschen mit Konsolenanwendung hab mir des Tutorial von schornboeck n paar mal durchgelesen aber jetzt möchte ich parallell zu dem Tutorial auch noch sowas in die richtung Spieleprogrammierung machen mit Allegro und C++ jetzt hab ich wie oben gesagt ne STUNDE gegoogelt und fast nichts brauchbares gefunden, nur ne sehr gute Seite wo steht wie man Allegro und C verwendet. Aber nicht Allegro und C++.Und...
.ini in GWCA verwenden
02/28/2010 - GW Bots - 13 Replies
Morgen Community, nachdem ich mehrfach die SuFu mit diversen Wörtern gefüttert hab, und keine passende antwort gefunden habe, stelle ich einfach hier die Frage, wie kann bindet man eine .ini in einen GWCA-basierten bot ein (bzw ist mit den unten genannten sachen eine .ini überhaupt notwendig, oder kann man direkt an die GUI schreiben und wenn ja, wie geht das :))? D.h., ich hätte gern in der GUI (oder wie zB gabba es sehr elegant mit dem kleinen fenster links oben in seinem...
WarRock statt KOREANISCHE BUTTON --> Englische BUTTON
02/26/2010 - WarRock - 6 Replies
Bin mir nicht sicher ob es diesen Thread schon gibt aber hab bis jetzt nichts gesehen hier. Funktionen Für WarRock Korea Koreanische Schriften (Button) weg und englische Schriften (Button) hin Anleitung
Pointer verwenden
12/20/2009 - AutoIt - 16 Replies
Hallo, ich möchte gerne wissen, wie ich einen Pointer in mein Skript einbinde (SuFu ergab nichts hilfreiches). Habe einen Pointer von Nostale mit CE gefunden, den für die HP, wie muss ich das Skript schreiben, damit er abgerufen und seine Mems gelsen werden? Lg, Drugdog



All times are GMT +1. The time now is 21:23.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.