|
You last visited: Today at 21:22
Advertisement
Button 2 mal verwenden
Discussion on Button 2 mal verwenden within the AutoIt forum part of the Coders Den category.
09/21/2009, 14:51
|
#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
|
|
|
09/21/2009, 20:31
|
#2
|
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
|
Quote:
Originally Posted by qLADYofLORDp
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...
|
|
|
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
|
|
|
09/22/2009, 18:51
|
#4
|
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
|
Quote:
Originally Posted by qLADYofLORDp
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
|
|
|
10/06/2009, 13:28
|
#5
|
elite*gold: 0
Join Date: Mar 2009
Posts: 155
Received Thanks: 9
|
Quote:
Originally Posted by | Moep |
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.
|
|
|
10/07/2009, 00:04
|
#6
|
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
|
|
|
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 -.-
|
|
|
10/07/2009, 12:29
|
#8
|
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?
|
|
|
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*
|
|
|
10/07/2009, 15:47
|
#10
|
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
|
|
|
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
|
|
|
 |
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.
|
|