|
You last visited: Today at 16:55
Advertisement
Tratsch rund um Autoit / Autoit Talk | kleinere Fragen
Discussion on Tratsch rund um Autoit / Autoit Talk | kleinere Fragen within the AutoIt forum part of the Coders Den category.
05/28/2013, 12:40
|
#1321
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
Code:
$button_ok = 1
$button_cancel = 2
$button_failure = -1
$button_pressed = MsgBox(1, "Titel", "Text")
Switch $button_pressed
Case $button_ok
MsgBox(0,"","OK pressed")
Case $button_cancel
MsgBox(0,"","Cancel pressed")
Case $button_failure
MsgBox(0,"Timed out","No button pressed")
EndSwitch
Ein Blick in die AutoIt Hilfe hätte gereicht. 
Quote:
[...]
Return Value
Success: Returns the ID of the button pressed.
Failure: Returns -1 if the message box timed out.
[...]
|
|
|
|
05/28/2013, 13:11
|
#1322
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by -STORM-
Code:
$button_ok = 1
$button_cancel = 2
$button_failure = -1
$button_pressed = MsgBox(1, "Titel", "Text")
Switch $button_pressed
Case $button_ok
MsgBox(0,"","OK pressed")
Case $button_cancel
MsgBox(0,"","Cancel pressed")
Case $button_failure
MsgBox(0,"Timed out","No button pressed")
EndSwitch
Ein Blick in die AutoIt Hilfe hätte gereicht. 
|
selbst ohne die hilfe, kann man sich auch super selbst helfen...
Code:
$tmp = MsgBox(0, 'blubb', 'blah')
Switch $tmp
Case -1
ConsoleWrite('MsgBox timed out!'&@CRLF)
Case Else
ConsoleWrite('MsgBox returned: '&$tmp&@CRLF)
EndSwitch
je nach ausgabe, kann man so die switch abfrage erweitern
|
|
|
05/28/2013, 20:56
|
#1323
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
bitte um objektive meinungen und verbesserungs vorschläge ^^
|
|
|
05/28/2013, 21:29
|
#1324
|
elite*gold: 3570
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
|
Code:
While 1
MouseClick("RIGHT", $bNPC[0], $bNPC[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bStart[0], $bStart[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bSelect[0], $bSelect[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bAccept[0], $bAccept[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bOrder[0], $bOrder[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bCraft[0], $bCraft[1], 1, 0)
Sleep($time * 1000)
MouseClick("RIGHT", $bNPC[0], $bNPC[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bStart[0], $bStart[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bSelect[0], $bSelect[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bAccept[0], $bAccept[1], 1, 0)
Send("{SPACE}")
Sleep(1000)
WEnd
Ich habe das Problem, dass er sich nach einem Neustart darin verhackt und mehrere gleichzeitig klickt. Also so:
Abschnitt 1:
Code:
While 1
MouseClick("RIGHT", $bNPC[0], $bNPC[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bStart[0], $bStart[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bSelect[0], $bSelect[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bAccept[0], $bAccept[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bOrder[0], $bOrder[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bCraft[0], $bCraft[1], 1, 0)
und
Abschnitt 2:
Code:
MouseClick("RIGHT", $bNPC[0], $bNPC[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bStart[0], $bStart[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bSelect[0], $bSelect[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bAccept[0], $bAccept[1], 1, 0)
Send("{SPACE}")
Sleep(1000)
WEnd
Er vermischt sich zwischen den beiden und klickt doppelt.
Wie kann ich das beheben?
|
|
|
05/28/2013, 21:42
|
#1325
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by Requι
Code:
While 1
MouseClick("RIGHT", $bNPC[0], $bNPC[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bStart[0], $bStart[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bSelect[0], $bSelect[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bAccept[0], $bAccept[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bOrder[0], $bOrder[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bCraft[0], $bCraft[1], 1, 0)
Sleep($time * 1000)
MouseClick("RIGHT", $bNPC[0], $bNPC[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bStart[0], $bStart[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bSelect[0], $bSelect[1], 1, 0)
Sleep(1000)
MouseClick("LEFT", $bAccept[0], $bAccept[1], 1, 0)
Send("{SPACE}")
Sleep(1000)
WEnd
|
wtf? o0
du solltest lieber mit zuständen arbeiten. so wird es dir möglich, zu jeder zeit an einem beliebigen punkt weiter zu machen.
|
|
|
05/28/2013, 21:44
|
#1326
|
elite*gold: 3570
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
|
Bessere Erklärung?
Ich weiß der Code ist nicht schön. Aber was meinst du mit Zuständen?
|
|
|
05/28/2013, 22:30
|
#1327
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by Requι
Bessere Erklärung?
Ich weiß der Code ist nicht schön. Aber was meinst du mit Zuständen?
|
eine art befehlszähler...
jeder befehlt erhält eine eigene id.
je nach befehlszähler zustand weist du so immer, welche id gerade auszuführen ist.
Edit:
bsp:
Code:
Dim $globalTimer, $counter, $time=3
Dim $bNPC[2]=[1.1,1.2], $bStart[2]=[2.1,2.2], $bSelect[2]=[3.1,3.2], $bAccept[2]=[4.1,4.2], $bOrder[2]=[5.1,5.2], $bCraft[2]=[6.1,6.2]
While Sleep(1)
BetterMouseClick(0, 'right', $bNPC, 1000)
BetterMouseClick(1, 'left', $bStart, 1000)
BetterMouseClick(2, 'left', $bSelect, 1000)
BetterMouseClick(3, 'left', $bAccept, 1000)
BetterMouseClick(4, 'left', $bOrder, 1000)
BetterMouseClick(5, 'left', $bCraft, 1000)
BetterMouseClick(6, 'right', $bNPC, $time*1000)
BetterMouseClick(7, 'left', $bStart, 1000)
BetterMouseClick(8, 'left', $bSelect, 1000)
BetterMouseClick(9, 'left', $bAccept, 1000)
BetterSend(10, '{space}')
If $counter>10 Then $counter=0
WEnd
Func BetterMouseClick($state, $key, $array, $timer=0)
If $state=$counter And TimerDiff($globalTimer) >= $timer Then
MouseClick($key, $array[0], $array[1], 1, 0)
$globalTimer = TimerInit()
$counter+=1
EndIf
EndFunc
Func BetterSend($state, $key, $timer=0)
If $state=$counter And TimerDiff($globalTimer) >= $time Then
Send($key)
$globalTimer = TimerInit()
$counter+=1
EndIf
EndFunc
|
|
|
05/29/2013, 02:53
|
#1328
|
elite*gold: 3570
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
|
Es geht jetzt, wie es soll. Ich habe ja eine config datei und ich habe die falsche Section ausgelesen. Besser gesagt, eine Section die gar nicht existiert. Habe anhand des Variablennamens beurteilt, wie es heißen soll und dann irgendwie dann was vertauscht.
Ich behalt mal das Script. Ich brauche es zwar 100% nicht, aber vllt braucht es jemand anderes
|
|
|
05/30/2013, 01:17
|
#1329
|
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
|
@lolkop: Bitte kein DIM benutzen!
Quote:
|
You should use Local or Global, instead of Dim, to explicitly state which scope is desired for a variable/constant/array.
|
MfG
|
|
|
05/30/2013, 13:17
|
#1330
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by Achat
@lolkop: Bitte kein DIM benutzen!
MfG
|
solange man sich ausserhalb von funktionen befindet, haben "Dim", "Local" und "Global" exakt die gleiche auswirkung (globale definition)...
Code:
Dim $a=1
Local $b=2
Global $c=3
a()
Func a()
ConsoleWrite($a&@CRLF)
ConsoleWrite($b&@CRLF)
ConsoleWrite($c&@CRLF)
EndFunc
da ich eher faul bin, benutze ich deshalb ausserhalb von funktionen IMMER die kürzeste schreibweise :P
|
|
|
05/30/2013, 18:44
|
#1331
|
elite*gold: 14
Join Date: Feb 2013
Posts: 129
Received Thanks: 2
|
Ist es möglich ein Label zu verstecken? Nicht löschen?
|
|
|
05/30/2013, 18:45
|
#1332
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by meinselite
Ist es möglich ein Label zu verstecken? Nicht löschen?
|
ja
Edit -_-
GUICtrlSetState ( $label, $GUI_HIDE )
|
|
|
05/30/2013, 18:58
|
#1333
|
elite*gold: 14
Join Date: Feb 2013
Posts: 129
Received Thanks: 2
|
Ach, ich dacht des wäre ein Makro und hab mich schon gewundert warum es nicht geht.
meinselite
|
|
|
05/30/2013, 19:26
|
#1334
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by meinselite
Ach, ich dacht des wäre ein Makro und hab mich schon gewundert warum es nicht geht.
meinselite
|
makros kannst du nur bei forms verwenden hier musst du die variablen aus den gui includes nehmen
|
|
|
06/03/2013, 17:28
|
#1335
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
|
Hey,
ich wollte meinen 'Musicplayer' mit einer Add Song to Playlist funktion verbessern, aber irgendwie fügt er mir das neue Lied nicht hinzu..
Hier der code zum erstellen der Playlist
Code:
$Files = FileOpenDialog("Wähle die Lieder aus!", "", "MP3 (*.mp3)", 1 + 4, ".mp3")
If @error Then
MsgBox(64, "Information", "Abgebrochen!")
Return 0
EndIf
While True
$rtn = 0
$fSplit = StringSplit($Files, "|", 2)
If UBound($fSplit) - 1 < 2 Then
MsgBox(64, "Information", "Eine Playlist hat mindestens 2 Lieder!")
Return 0
EndIf
If FileExists(@ScriptDir & "\Playlist.kilroy") Then
$Sections = IniReadSectionNames(@ScriptDir & "\Playlist.kilroy")
EndIf
If $rtn <> 1 Then
ExitLoop
EndIf
WEnd
FileDelete(@ScriptDir & "\Playlist.kilroy")
For $i = 1 To UBound($fSplit) - 1
IniWrite(@ScriptDir & "\Playlist.kilroy", "Playlist", "Lied" & $i - 1, $fSplit[0] & "\" & $fSplit[$i])
Next
MsgBox(64, "Information", "Neue Playlist wurde erfolgreich erstellt.")
und hier der code der das neue Lied hinzufügen soll ähnelt dem anderen:
Code:
$Files = FileOpenDialog("Song hinzufügen", @UserProfileDir & "\Music", "(*.mp3)", 2)
If @error Then
MsgBox(64, "Information", "Abgebrochen!")
Return 0
EndIf
While True
$rtn = 0
$fSplit = StringSplit($Files, "|", 2)
If FileExists(@ScriptDir & "\Playlist.kilroy") Then
$Sections = IniReadSectionNames(@ScriptDir & "\Playlist.kilroy")
EndIf
If $rtn <> 1 Then
ExitLoop
EndIf
WEnd
For $i = 1 To UBound($fSplit) - 1
IniWrite(@ScriptDir & "\Playlist.kilroy", "Playlist", IniReadSection(@ScriptDir & "\Playlist.kilroy", "Playlist") & "Lied" & $i - 1, $fSplit[0] & "\" & $fSplit[$i]);==> Er ließt die vorhandene aus und sollte dann das neue mit der vorhandenen reinschreiben...
Next
MsgBox(64, "Information", "Lied hinzugefügt.")
Ich hab mich schonmal im Internet umgeguckt und diesen code gefunden. Es soll mit dem code, das vorhandene auslesen und mit dem neuen wieder reinschreiben..
Code:
IniWrite(@ScriptDir & "\Playlist.kilroy", "Playlist", IniReadSection(@ScriptDir & "\Playlist.kilroy", "Playlist") & "Lied" & $i - 1, $fSplit[0] & "\" & $fSplit[$i])
Mfg
Kilroy.
|
|
|
Similar Threads
|
[Sammelthread]Fragen zu Autoit wie man Hacks herstellt(Autoit) + Antworten
11/16/2011 - Metin2 - 0 Replies
Hallo Liebe Community,
Ich habe diesen Thread aufgemacht weil manche leute mit Autoit nicht mehr weiterkommen wie man Hack herstellt ,ich habe mit schon ein Multihack mit Autoit herstellt das war einfach .Da viele User nicht weiterkommen werden habe ich mich entschieden ein Thread aufzumachen mit Fragen und ich den dann Antworten kann und helfen kann!
------------------------------------------------- ---------------------------
Mein Multihack:...
|
All times are GMT +1. The time now is 16:57.
|
|