Jump to content

Recommended Posts

Posted

Heidyho!

First of all, i'm sorry for my bad english.

I want to use the rightmouseclick as a hotkey to start a function.

Look at this:

HotKeySet("RIGHTMOUSECLICK", "Fire")

Func Fire()
  WinWaitActive("Freelancer")
  Bla Bla, verylong. ;)
EndFuncoÝ÷ Øz0v®±ëaz¸ Ù¨ºÇ°Ømáè¶G²Ië_ºw-Èj[(µë-yÖ®¶­sd÷D¶W6WBô5&W76VBgV÷C³"gV÷C²ÂgV÷C´f&RgV÷C²
(i included <misc.au3>, that's not the problem) but it doesn't work.

I searched to forums for about 30mins and couldn't get a solution, to only thing i found is this, T3k got the same problem: http://www.autoitscript.com/forum/index.php?showtopic=48394

Posted

You have to fake it with AdLib. This is based on the example in the help file for AdLibEnable:

#Include <Misc.au3>
$dll = DllOpen("user32.dll")
AdlibEnable("_Check_RMouse", 50)

While 1
    ; Do some stuff
    Sleep(10)
WEnd

Func _Check_RMouse()
    If _IsPressed("02", $dll) Then
        MsgBox(0,"_IsPressed", "Right Mouse Button Pressed")
        DllClose($dll)
        Exit
    EndIf
EndFunc

I changed the AdlibEnable time to 50 milliseconds, because at the default of 250 milliseconds the right mouse button seemed to slip through without being detected. You may need to tweak it further for performance.

BlueBearrOddly enough, this is what I do for fun.
Posted

You have to fake it with AdLib. This is based on the example in the help file for AdLibEnable:

#Include <Misc.au3>
$dll = DllOpen("user32.dll")
AdlibEnable("_Check_RMouse", 50)

While 1
    ; Do some stuff
    Sleep(10)
WEnd

Func _Check_RMouse()
    If _IsPressed("02", $dll) Then
        MsgBox(0,"_IsPressed", "Right Mouse Button Pressed")
        DllClose($dll)
        Exit
    EndIf
EndFunc

I changed the AdlibEnable time to 50 milliseconds, because at the default of 250 milliseconds the right mouse button seemed to slip through without being detected. You may need to tweak it further for performance.

Actually in most cases no dllopen is required, at least i didn't use it in my script.
Posted

You have to fake it with AdLib. This is based on the example in the help file for AdLibEnable:

I changed the AdlibEnable time to 50 milliseconds, because at the default of 250 milliseconds the right mouse button seemed to slip through without being detected. You may need to tweak it further for performance.

Thank u, it works! :)

Here's my Script:

#Include <Misc.au3>
AutoItSetOption("SendKeyDelay", 1)
$dll = DllOpen("user32.dll")
AdlibEnable("ImbaFire", 50)

While 1
    Sleep(100)
WEnd


Func ImbaFire()
        WinWaitActive("Game")
            While 1
                If _IsPressed("02", $dll) Then
                      ;;; 1/6 ;;; 
                      Send("{1}")
                      sleep(41.666666666666666666666666666667)
                      ;;; 2/6 ;;; 
                      Send("{2}")
                      sleep(41.666666666666666666666666666667)
                      ;;; 3/6 ;;; 
                      Send("{3}")
                      sleep(41.666666666666666666666666666667)
                      ;;; 4/6 ;;; 
                      Send("{4}")
                      sleep(41.666666666666666666666666666667)
                      ;;; 5/6 ;;; 
                      Send("{5}")
                      sleep(41.666666666666666666666666666667)
                      ;;; 6/6 ;;; 
                      Send("{6}")
                      sleep(41.666666666666666666666666666667)
                      Do
                      Send("{up down}")
                      Until NOT _IsPressed(02)
                      Send("{up up}")
                      WinWaitActive("Game")
                EndIf
            WEnd

EndFunc

There is an performanceproblem, the script uses 50-70% cpuload, what shall i do? ;)

Posted

Maybe...

#Include <Misc.au3>
AutoItSetOption("SendKeyDelay", 1)
$dll = DllOpen("user32.dll")
AdlibEnable("ImbaFire", 50)

While 1
    Sleep(1)
WEnd


Func ImbaFire()
    WinWaitActive("Game")
    If _IsPressed("02", $dll) Then
        ;;; 1/6 ;;;
        Send("{1}")
        Sleep(41.666666666666666666666666666667)
        ;;; 2/6 ;;;
        Send("{2}")
        Sleep(41.666666666666666666666666666667)
        ;;; 3/6 ;;;
        Send("{3}")
        Sleep(41.666666666666666666666666666667)
        ;;; 4/6 ;;;
        Send("{4}")
        Sleep(41.666666666666666666666666666667)
        ;;; 5/6 ;;;
        Send("{5}")
        Sleep(41.666666666666666666666666666667)
        ;;; 6/6 ;;;
        Send("{6}")
        Sleep(41.666666666666666666666666666667)
        Do
            Send("{up down}")
        Until Not _IsPressed(02)
        Send("{up up}")
        WinWaitActive("Game")
    EndIf
EndFunc   ;==>ImbaFire
Posted (edited)

Maybe...

#Include <Misc.au3>
AutoItSetOption("SendKeyDelay", 1)
$dll = DllOpen("user32.dll")
AdlibEnable("ImbaFire", 50)

While 1
    Sleep(1)
WEnd
Func ImbaFire()
    WinWaitActive("Game")
    If _IsPressed("02", $dll) Then
        ;;; 1/6 ;;;
        Send("{1}")
        Sleep(41.666666666666666666666666666667)
        ;;; 2/6 ;;;
        Send("{2}")
        Sleep(41.666666666666666666666666666667)
        ;;; 3/6 ;;;
        Send("{3}")
        Sleep(41.666666666666666666666666666667)
        ;;; 4/6 ;;;
        Send("{4}")
        Sleep(41.666666666666666666666666666667)
        ;;; 5/6 ;;;
        Send("{5}")
        Sleep(41.666666666666666666666666666667)
        ;;; 6/6 ;;;
        Send("{6}")
        Sleep(41.666666666666666666666666666667)
        Do
            Send("{up down}")
        Until Not _IsPressed(02)
        Send("{up up}")
        WinWaitActive("Game")
    EndIf
EndFunc   ;==>ImbaFireƒoÝŠ÷ Ûú®¢×¢ØbžZ¦—§³^ž+-j»m…«lr¸©¶'èºwm…ë(–ëb¢vò›+•ö®¶ˆ­sdgVæ2–Ö&f—&R‚ •v–åv—D7F—fR‚gV÷C´g&VVÆæ6W"gV÷C² •v†–ÆR —6ÆVWƒ ”–bô—5&W76VB‚gV÷C³"gV÷C²Âb33c¶FÆÂ’F†Và¢ââà

A simple sleep(1). :)

Edited by Tim2k

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...