Jump to content

Recommended Posts

Hello Guys,

i wrote a little code for aiming at a specific point in a Game. In that case, i tried it with Halo Infinite for the training section. 

It's a kind of hard to get it flawless to working. It sometimes hardly mess around with the precision and i don't know why exact.

I used "_WinAPI_Mouse_Event($MOUSEEVENTF_MOVE)" instead of "MouseMove()" because it didn't react to the game. The Problem is that "MOUSEEVENTF_MOVE" only add or sub the value from the current position. I think there is maybe the problem, but i don't get it at this time. The Mult variable is for fast aiming to the needed point. I tried it with 1/-1 instead before, but the execution was way too slow.

Do you guys have an idea what causes this strange behavior?

This is the code:

#Include <WinAPI.au3>
#include <Constants.au3>

HotKeySet("p", "aim")
HotKeySet("{ESC}", "end")


while 1
WEnd

Func aim()
   while 1
      $PIX = PixelSearch(0,0,1920, 1200,0xF57D7D,1)
         if IsArray($PIX) Then
            if $PIX[1]-MouseGetPos(1)>=0 Then
               Local $MultX = $PIX[1]-MouseGetPos(1)
            Else
               Local $MultX = MouseGetPos(1)-$PIX[1]
            EndIf

            if $PIX[0]-MouseGetPos(0)>=0 Then
               Local $MultY = $PIX[0]-MouseGetPos(0)
            Else
               Local $MultY = MouseGetPos(0)-$PIX[0]
            EndIf

               if $PIX[1]>MouseGetPos(1) Then
                  _WinAPI_Mouse_Event($MOUSEEVENTF_MOVE , 0, $MultX)
               EndIf
               if $PIX[1]<MouseGetPos(1) Then
                  _WinAPI_Mouse_Event($MOUSEEVENTF_MOVE , 0, -$MultX)
               EndIf
               if $PIX[0]>MouseGetPos(0) Then
                  _WinAPI_Mouse_Event($MOUSEEVENTF_MOVE , $MultY, 0)
               EndIf
               if $PIX[0]<MouseGetPos(0) Then
                  _WinAPI_Mouse_Event($MOUSEEVENTF_MOVE , -$MultY, 0)
               EndIf
         EndIf
   WEnd
EndFunc


Func end()
   Exit
EndFunc

Thanks for helping.

Regards Bi0

Link to post
Share on other sites
  • Moderators

Welcome to the AutoIt forum.

Unfortunately you appear to have missed the Forum rules on your way in. Please read them now - particularly the bit about not discussing game automation - and then you will understand why you will get no help and this thread will now be locked.

See you soon with a legitimate question I hope.

The Moderation team

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to post
Share on other sites
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...