Script funzt nicht...

06/24/2008 20:23 LightTheTorch#1
Hihoo... ich hab einige Problem! Ich habe mich heute mal mit AutoIt auseinander gesetzt und wollte mal ne eigene Methode schreiben um aus dem Aussenposten zu kommen. Also als erstes: Die Koordinaten für das Feld um andere Spieler einzuladen. Ich machn Screenshot, lad ihn mit Objectmapper und hohl mir also 2 Koordinaten darin. Die Koordinaten bilden doch nun ein Rechteck, in welchem der Bot irgendwo klickt oder? bei mir stimmt das nicht überein, er klickt oftmals zu hoch/tief. Woran lieft das??
Zweites Problem: Mein Kolleg braucht seinen Acc nicht mehr, deshalb brauch ich den als Orientierungspunkt. Er steht einfach die ganze Zeit vor dem Portal, ich lade ihn ein und renne zu ihm und anschliessend gerade aus. Wie ich das mache seht ihr im Skript unten, aber irgendwas funzt nicht, da er gar nie etwas ins Feld schreibt...


Select
Case $run = 1
MouseClick("left", Random(941, 220), Random(1941, 221), 1, $mousespeed)
$rndnumber = Random(200, 300)
Sleep($rndnumber)
Send("Name des Spielers")
$rndnumber = Random(200, 300)
Sleep($rndnumber)
MouseClick("left", Random(941, 220), Random(1941, 221), 1, $mousespeed)
$rndnumber = Random(200, 400)
Sleep($rndnumber)
MouseClick("left", Random(994, 222), Random(1198, 222), 1, $mousespeed)
$rndnumber = Random(200, 400)
Sleep($rndnumber)
MouseClick("left", Random(994, 222), Random(1198, 222), 1, $mousespeed)
$rndnumber = Random(200,500)
Sleep($rndnumber)
send("{Space}")
$rndnumber = Random(13750, 14250)
Sleep($rndnumber)
Send("{r}")


Ich hoffe ihr könnt mir irgendwie helfen, hab erst gerade angefangen mit Skripten ^^ danke schonmal! greeez

EDIT: was vielleicht noch zu erwähnen ist, ich habe da 3 mal dieselbe koordinate nacheinander damit der andere spieler eingeladen und ausgewählt wird, ich glaube das sollte so funzen ^^
06/25/2008 21:14 LightTheTorch#2
kann mir keiner helfen? ich dreh noch durch... er klickt immer an die falsche stelle und wenn ich z.B. Send("t") schreibe dann passiert n feuchten, er schreibt niemals t.. ich wechsle glaub wieder auf ac tool das is einfacher ^^
06/25/2008 21:35 wadimwadim#3
Das kannst du viel einfacher lösen...
a) du versuchst das mit Pixelsearch zu lösen... (namen, etc auslesen, einfach auf kleine unterschiede achten)
- hierfür musst du keine screenshots machen und in objmapper reinladen.

b) du liest dir die x,y koordinaten aus (static memorys); wird wohl etwas schwierig.

c) du machst das mit einer include datei von au3... vergleichst bilder miteinander, nur viel kleiner als screenshots.

******************

Quote:
er schreibt niemals t..
einfach F1 drücken bei au3... steht oft nützliches in der Hilfe.

WinActivate ("Guild Wars")
WinWaitActive ("Guild Wars")
Send ("t")

sendet dir garantiert ein "T", wenn nicht versuchst du es einfach mit API oder controlsend ans handle.

:P


Gruß


wadimwadim
06/25/2008 22:59 LightTheTorch#4
oke danke ich werd das mit dem pixelsearch morgen mal anschauen..
06/27/2008 17:32 LightTheTorch#5
ich raffs nicht :D und irgendwie überspringt mir det bot immer diesen teil. statt dass er zu meinem kolleg rennt, will er schon die flaggen setzen :S

so sieht das ganze am anfang aus:


HotKeySet("{END}","_exitit")
HotKeySet("{PAUSE}", "_TogglePause")
Global $Paused
Global $mousespeed = 8
Global $exchange = InputBox("Exchange", "Enter ""1"" in the box below to boost your alliance's faction or enter ""2"" to get Amber CInvisiblhunks!" , "Insert here!")

If $exchange = 1 Then
Global $name = InputBox("Name", "Please enter your character's name in the box below!" , "Insert here!")
EndIf

Global $friend = InputBox("Name2", "Please enter your friend's character name in the box below!" , "Insert here!")

Global $break = InputBox("Break", "Enter ""1"" in the box below to enable the ""Break"" function (recommended) or enter ""2"" to disable it!" , "Insert here!")




Func _exitit()
exit 0
EndFunc

Func _TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Script is "Paused"',0,0)
WEnd
ToolTip("Script is running")
If Not WinActivate("Guild Wars") Then
WinActivate("Guild Wars")
EndIf
Sleep(2000)
EndFunc

Func _run()
$rndnumber = Random(1, 25, 1)
Select
Case $rndnumber = 1 And $break = 1
$rndnumber = Random(30000, 60000)
Sleep($rndnumber)
EndSelect
----------------------------------------------------------------------------------------

$run = Random(1, 1, 1)

Select
Case $run = 1
MouseClick("left", Random(1414, 219), Random(1424, 229), 1, $mousespeed)
$rndnumber = Random(200, 400)
Sleep($rndnumber)
Send($friend, 1)
$rndnumber = Random(200, 500)
Sleep($rndnumber)
send("{enter}")
$rndnumber = Random(200, 400)
Sleep($rndnumber)
MouseClick("left", Random(1414, 219), Random(1424, 229), 1, $mousespeed)
$rndnumber = Random(200,500)
Sleep($rndnumber)
send("{Space}")
$rndnumber = Random(13750, 14250)
Sleep($rndnumber)
Send("{r}")


------------------------------------------------------------------------------------
$run1 = Random(1, 2, 1)
$run2 = Random(1, 3, 1)

Select
Case $run1 = 1
$rndnumber = Random(1400, 1500)
Sleep($rndnumber)

Send("{e down}")
$rndnumber = Random(400, 500)
Sleep($rndnumber)
Send("{e up}")
$rndnumber = Random(200, 400)
Sleep($rndnumber)

Send("{q down}")
$rndnumber = Random(400, 500)
Sleep($rndnumber)
Send("{q up}")
$rndnumber = Random(200, 400)
Sleep($rndnumber)

Select
Case $run2 = 1
Send("{a down}")
$rndnumber = Random(200, 220)
Sleep($rndnumber)
Send("{a up}")
Case $run2 = 2
Send("{d down}")
$rndnumber = Random(200, 220)
Sleep($rndnumber)
Send("{d up}")
Case $run2 = 3
$rndnumber = Random(400, 440)
Sleep($rndnumber)
EndSelect



der abgetrennte bereich wurde von mir verändert.... also da mit dem Send($friend, 1) bin ich mir nicht sicher ob das wirklich so geht, ich habs einfach mal gleich wie beim name gemacht, aber wie schon gesagt, es funktioniert einfach NIE, ich hab auch schon ganz neu alles geschrieben und ohne "friend" sondern einfach Send ("name vom spieler") aber dann hat er den teil einfach weggelassen und hat nachn paar sekunden wieder rumgeklickt -.-
also wenn ich einfach zu blöd bin dann sagts mir gleich dann lass ich die finger vom skripten xD greeez