For $iy = $Slot1_y To $Slot1_y + 140 Step 45
For $ix = $Slot1_x To $Slot1_x + 160 Step 40
also,X-Wert von :
Slot1 ist 40
Slot2 +40
Slot3 +80
Slot4 +120
und Slot5 +160
also müsste das doch eigentlich funktionieren..., der identifiziert aber nur von Slot1 bis 4. Hab auch schon mit +150, 155, 165, und 170 ausprobiert.
zu 2.)
MouseClickDrag("left",36,315,43,108)
funktioniert nur im aktiven Fenster,
aber wie geht das im Hintergrund ?
hier auch mal mein Script:
Gildenhalle : Insel des Zauberers
Skill 4 : Symbol des Zorns
Skill 5 : Gesegnetes Siegel
Steuerung : Inventar:Alle Taschen anzeigen = . (Punkt)
WinWait("Guild Wars","")
If Not WinActive("Guild Wars","") Then WinActivate("Guild Wars","")
WinWaitActive("Guild Wars","")
WinMove("Guild Wars","",0,0,800,600)
;- START HOTKEY mit PAUSE Taste könnt ihr den bot Pausieren lassen
HotKeySet("{PAUSE}", "TogglePause")
Global $Paused
Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Der Bot wurde angehalten',0,0)
WEnd
ToolTip("Der Bot wird wieder ausgeführt")
If Not WinActivate("Guild Wars") Then
WinActivate("Guild Wars")
WinMove("Guild Wars","",0,0,800,600)
EndIf
Sleep(2000)
EndFunc
;- ENDE HOTKEY mit PAUSE Taste könnt ihr den bot Pausieren lassen
;- START HOTKEY mit Ende beendet ihr das Script
hotkeyset("{End}", "end")
func end()
Exit
EndFunc
;- ENDE HOTKEY mit Ende beendet ihr das Script
;-Start HOTKEY Stealth Modus
HotKeySet("{PGUP}", "stealth_on")
HotKeySet("{PGDN}", "stealth_off")
Func _MouseClick($hWnd, $button, $x, $y, $times = 1, $delay = 15)
If $hWnd = 0 Then
SetError(-1)
Return
EndIf
Local $ix
Local $lParam = _MakeLong($x, $y)
Local $user32 = DllOpen("user32.dll")
$button = StringLower($button)
If $button = "left" Then
For $ix = 1 To $times
DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x200, "int", 0, "long", $lParam)
DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x201, "int", 1, "long", $lParam)
DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x202, "int", 0, "long", $lParam)
If $ix < $times Then Sleep($delay)
Next
ElseIf $button = "right" Then
For $ix = 1 To $times
DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x200, "int", 0, "long", $lParam)
DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x204, "int", 2, "long", $lParam)
DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x205, "int", 0, "long", $lParam)
If $ix < $times Then Sleep($delay)
Next
Else
SetError(-2)
If $user32 <> -1 Then DllClose($user32)
Return
EndIf
If $user32 <> -1 Then DllClose($user32)
EndFunc ;==>_MouseClick
$hWnd = WinGetHandle("Guild Wars")
;-Start Eingabe von /resign
Send("{Enter}")
Sleep(1000)
Send("/resign")
Sleep(1000)
Send("{Enter}")
;-Ende Eingabe von /resign
Sleep(1000)
;-Start Farmen
While 1
;-Start Normalmode to Hardmode befor run Bot
ControlClick($hWnd,"","","left",1,657,50)
;-Ende Normalmode to Hardmode befor run Bot
;-Start Weg aus Tquellen
Global $Runden = 0
Do
$Runden = $Runden + 1
Sleep(2000)
ControlSend($hWnd,"","","ö")
Sleep(500)
ControlSend($hWnd,"","","{SPACE}")
Sleep(9000)
ControlSend($hWnd,"","","{w down}")
Sleep(2200)
ControlSend($hWnd,"","","{d down}")
Sleep(900)
ControlSend($hWnd,"","","{d up}")
Sleep(4000)
ControlSend($hWnd,"","","{w up}")
Sleep(4000)
;-Ende Weg aus Tquellen
For $iy = $Slot1_y To $Slot1_y + 140 Step 45
For $ix = $Slot1_x To $Slot1_x + 160 Step 40
ControlClick($hWnd, "", "", "left", 2, $ident_x, $ident_y)
Sleep(300)
_MouseClick($hWnd, "left", $ix, $iy, 1, 80)
Next
Next
ControlSend($hWnd, "", "", "{.}")
;-Ende Identifizieren
Sleep(600000)
;-Start Weg zum Kaufmann
ControlSend($hWnd,"","","{d down}")
Sleep(100)
ControlSend($hWnd,"","","{d up}")
ControlSend($hWnd,"","","{r}")
Sleep(4400)
ControlSend($hWnd,"","","{d down}")
Sleep(1000)
ControlSend($hWnd,"","","{d up}")
Sleep(2500)
ControlSend($hWnd,"","","{v}")
ControlSend($hWnd,"","","{space}")
Sleep(3000)
;-Ende Weg zum Kaufmann
;-Start Verkaufen
ControlClick($hWnd,"","","left",1,500,40)
For $verkaufen = 1 To 20
ControlClick($hWnd,"","","left",1,640,525)
Sleep(500)
Next
;-Ende Verkaufen
Ja, ist viel kopiert. Naja, eigentlich nur Funktion MakeLong und MouseClick, der rest ist schon auf meinem Mist gewachsen. Sieht halt sehr unübersichtlich aus. Aber ich weis auch schon nicht ob ich mit dem GUI oder mit dem Script selbst zuerst anfangen soll. Funktionen draus zu machen ist nicht das Problem. Die wiederrum vernünftig auf zu rufen dann schon eher. Ich hab keine oder zumindest nicht so viel Ahnung von AutoIt. Es gibt immer mehrere Möglichkeiten was zu erreichen und ich möchte erst testen bevor ich was so mache.
Von den ganzen Move To hab ich keinen Plan, kommt also erst evtl. viel, viel später.
Bis dahin muss der aber schon mal laufen um zu sehen wie er läuft und was geändert werden muss.
Mit dem Identen zum bsp. hab ich anders gemacht als Du mir mal gezeigt hast, auch wenn es hier noch so drin steht. Sieht zwar nicht so schön aus aber funktioniert.
Das größte Problem was ich hab ist das ich keinen kenne der mir mal was zeigen oder ausführlich erklären kann.
Und die erklärungen bzw. die Hilfe in AutoIt ist nicht schlecht aber es bleiben halt manchmal Fragen.
Hab im moment noch nen Bot für Holy-War angefangen, schon mit GUI und so; muss ich ja auch mal ausprobieren.
Aber da ich 4 Schicht arbeiten muss und mich um meine 11 Monate alte Tochter kümmern darf, hab ich zZ keine Zeit oder sehr wenig um mich intensiv damit zu beschäftigen.
Ich möchte keine Ideen, Progs, Scripts oder sonstiges klauen, kopieren um die dann zu verkaufen. Dafür gibt es bessere. Aber ich möchte nicht immer abhängig von anderen sein und warten müssen damit der Bot wieder läuft.
Sollte jetzt keine rechtfertigung sein aber als Info über meine Ansicht.
Identkit im Hintergrund verschieben wurde hier schonmal gelöst.
Dabei musst du nur deine _mouseklick func ein bisschen anpassen. Ich verrat dir mal was die einzelnen dll calls bezwecken:
- 0x200 move mouse
- 0x201 left down
- 0x202 left up
- 0x204 right down
- 0x205 right up
Da die Mouseclick Funktion nicht von mir ist, versteh ich da leider so gut wie nichts.
Ob mir dein Tip weiterhilft.. mal sehen aber vielen Dank erstmal.
Hab schon keine Ahnung was dllcalls sind. dll = irgend eine Datei ?
Hab mir das Stück nochmal angesehen und denke die Lösung gefunden zu haben.
Reicht das wenn ich hier in der Zeile die Delay Zeit änder ?
Func _MouseClick($hWnd, $button, $x, $y, $times = 1, $delay = 15)
Wenn ja, muss ich dann die Funktion nochmal neu mit geändertem Wert einfügen ?
(wegen dem MouseClick für´s Identifizieren)
oder macht das nichts wenn ich es in der einen Funktion änder ?
Wenn es nichts mit der Zeile zu tun haben sollte, kann es nur noch mit den 3 Zeilen für den linken Mausklick zu tun haben aber .... ich glaub nicht.
If $ix < $times Then Sleep($delay)
Next
Else
SetError(-2)
If $user32 <> -1 Then DllClose($user32)
Return
EndIf
If $user32 <> -1 Then DllClose($user32)
EndFunc ;==>_MouseClick2
Probleme bei HP-Script von werdenator 07/15/2010 - Metin2 Private Server - 1 Replies Hi,
hab die 3.0erVersion installiert. Aber wie können Freunde darauf connecten und welche IP müssen sie eingeben?
Und, wie kann man die Seiten bearbeiten. Brauch man dafür viel Kentnisse?
Mfg
Probleme bei HP-Script von werdenator 07/01/2010 - Metin2 Private Server - 1 Replies Hi,
ich habe xamp gestartet und mysql und apache an. wenn ich auf 127.0.0.1 verbinde erscheinen keine felder zum eintragen. Man kommt auf die normale HP.
Wie kommt man zu den Feldern, wie in der Anleitung beschrieben.
Mfg
Probleme mit Homepage Script 04/18/2010 - Metin2 Private Server - 10 Replies Hallo habe mir das MT2-HP V5.0.3 runtergeladen funktioniert auch alles 1 a nur irgendwie schleicht die page so derbst der server geht ab wie sonst was ( 8 gb arbeitspeicher :D ) aba die hp brauch 5 min für 1 seite kann mir wer helfen ? ^^ gibt auch bei guter und erfolgreicher hilfe nen gm posten :D