Tratsch rund um Autoit / Autoit Talk | kleinere Fragen

07/14/2012 23:58 KDeluxe#331
Sofern eine Änderung im Eingabefeld vorgenommen wurde kannst du das Input wie Buttons in der Switch Anweisung verwenden.
07/15/2012 00:44 lolkop#332
Quote:
Originally Posted by KDeluxe View Post
Sofern eine Änderung im Eingabefeld vorgenommen wurde kannst du das Input wie Buttons in der Switch Anweisung verwenden.
2 switch fälle mit ein und der selben semantik, können in autoit auch einfacher so beschrieben werden:
Code:
Case $inp_Password, $btn_Login
	MsgBox(0, "", "Benutzer: " & GUICtrlRead($inp_Username) & @CRLF & "Passwort: " & GUICtrlRead($inp_Password))
07/15/2012 01:15 Lumi#333
Hey,

ich hätte da eine Frage bezüglich Hotkeyset Funktion.

So sieht mein Script aus:

PHP Code:
HotKeySet("f""SendSpace")

While 
1
    Sleep
(100)
WEnd


Func SendSpace
()
    
Send("{SPACE}")
    
Send("{SPACE}")
EndFunc 
So funktioniert es im Editor / Dokument, aber sobald ich diesen hier in S4 League anwende, passiert nichts.
Muss ich da was beachten oder gibt es eine andere Funktion dafür?
07/15/2012 01:23 Dr.Toni-old#334
S4League nimmt wahrscheinlich die normalen Send Befehle nicht an, wie die meisten Spiele ;)
Versuchs doch mal mit ControlSend oder der PostMessage UDF von KDeluxe :)
07/15/2012 11:16 butter123#335
Moin Leute,

ich möchte in einem Bild Boxblur anwenden. Für jeden Pixel müsste ich also auf das Quadrat um den Pixel zugreifen. Für einen Radius von 1 sind das nur 8 Pixel und man könnte die Koordinaten dazu noch per Hand eintippen. Aber sobald die Fläche größer wird sind das sehr viele Pixel.

Jetzt meine Frage: Gibt es eine Funktion (Mathematisch oder direkt eine von AutoiIt) die mir jede Koordinate der Pixel in einem Quadrat gibt?
07/15/2012 13:31 lolkop#336
Quote:
Originally Posted by butter123 View Post
Moin Leute,

ich möchte in einem Bild Boxblur anwenden. Für jeden Pixel müsste ich also auf das Quadrat um den Pixel zugreifen. Für einen Radius von 1 sind das nur 8 Pixel und man könnte die Koordinaten dazu noch per Hand eintippen. Aber sobald die Fläche größer wird sind das sehr viele Pixel.

Jetzt meine Frage: Gibt es eine Funktion (Mathematisch oder direkt eine von AutoiIt) die mir jede Koordinate der Pixel in einem Quadrat gibt?
überlegst du dir mal einfach wie das aussieht, sollte das ganze kein problem sein...
[Only registered and activated users can see links. Click Here To Register...]

die zahlen stellen die reihenfolge da, in welcher du das ganze durchläufst...

nehmen wir an xP und yP sind die coordinaten des grünen pixels.
du durchläufst also x von xP-1 bis xP+1 und y von yP-1 bis yP+1. sollte xP = x und yP=y sein, dann nehmen wir den pixel nicht auf, sonst speichern wir die pixel in einem array:
Code:
Func GetSourroundingPixels($xP, $yP)
	Local $array[8][2], $count=0
	For $y=$yP-1 To $yP+1
		For $x=$xP-1 To $xP+1
			If Not ($x=$xP And $y=$yP) Then
				$array[$count][0] = $x
				$array[$count][1] = $y
				$count+=1
			EndIf
		Next
	Next
	Return $array
EndFunc
07/15/2012 13:55 butter123#337
man ist ja wirklich einfach... :D tausend dank :)
07/15/2012 13:59 Der-Eddy#338
Quote:
Originally Posted by Lumi' View Post
Hey,

ich hätte da eine Frage bezüglich Hotkeyset Funktion.

So sieht mein Script aus:

PHP Code:
HotKeySet("f""SendSpace")

While 
1
    Sleep
(100)
WEnd


Func SendSpace
()
    
Send("{SPACE}")
    
Send("{SPACE}")
EndFunc 
So funktioniert es im Editor / Dokument, aber sobald ich diesen hier in S4 League anwende, passiert nichts.
Muss ich da was beachten oder gibt es eine andere Funktion dafür?
Versuchs mal mit
Code:
ControlSend("S4 Client", "", 0, "{SPACE}")
07/15/2012 14:10 Lumi#339
Meinst du das so? O:

PHP Code:
HotKeySet("f""SendSpace")

While 
1
    Sleep
(100)
WEnd

Func SendSpace
()
    
ControlSend("S4 Client"""0"{SPACE}")
    
ControlSend("S4 Client"""0"{SPACE}")
EndFunc 
Wenn ja, dann klappt das auch nicht.
07/15/2012 14:21 lolkop#340
Quote:
Originally Posted by Lumi' View Post
Meinst du das so? O:

PHP Code:
HotKeySet("f""SendSpace")

While 
1
    Sleep
(100)
WEnd

Func SendSpace
()
    
ControlSend("S4 Client"""0"{SPACE}")
    
ControlSend("S4 Client"""0"{SPACE}")
EndFunc 
Wenn ja, dann klappt das auch nicht.
ich bezweifle das controlID 0 die richtige für dich ist... kannst dir ja mal alle möglichen controlids auflisten lassen, und diese dann einzeln durchlaufen, und schauen ob eines funktioniert.

hier mal ein einfaches beispiel für eine auflistung der controls:
Code:
#include <array.au3>
$list = StringSplit(WinGetClassList('S4 Client'), @LF)
_ArrayDisplay($list)
07/16/2012 13:23 MapleGameChannel#341
Hi, ma ne ganz blöde Frage :

Was ist autoIT eig. genau?
Ist es schwerer als C++ oder C#/Java? Programmiert man dort auch objektorientiert?

und sind diese Pixel Methoden welche man ja durchaus gut für Bots verwenden kann einfach zu verstehen/progggen?

gruß
07/16/2012 14:36 lolkop#342
Quote:
Originally Posted by MapleGameChannel View Post
Hi, ma ne ganz blöde Frage :

Was ist autoIT eig. genau?
Ist es schwerer als C++ oder C#/Java? Programmiert man dort auch objektorientiert?

und sind diese Pixel Methoden welche man ja durchaus gut für Bots verwenden kann einfach zu verstehen/progggen?

gruß
autoit ist eine scriptsprache und läuft auf einem deutlich höheren abstraktionslevel als sprachen wie C++/C#/Java
07/16/2012 15:11 MapleGameChannel#343
wow, und das heißt *-*?
07/16/2012 15:17 -STORM-#344
Autoit ist deutlich einfacher als all die genannten Programmiersprachen, bietet aber auch weniger Möglichkeiten.
Wenn du nur Trainer oder Bots machen willst, reicht das aber locker.
Pixelsearch ist extrem einfach, aber verglichen mit anderen Methonen (Memory, Packets...) auch extrem langsam.
07/16/2012 15:45 MapleGameChannel#345
Hallo,
ich hatte vor Bots und auch nur Bots(Evlt. auch eine At player - Detection) zu proggen. Mir ist aber auch Wichtig das man z.B der Maus sagen kann "Klick zuerst das an, warte 3 Sec, danach klick das an und das immer so weiter.

Wobei ich bei einer anderen Frage wäre : Wie komme ich an die Speicheradressen von den Health/Mana Points von Games? Ich möchte diese gern per Pointer auslesen und dann praktisch per GUI ausgeben. Geht das??

gruß