Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Battlefield 3 - No longer works?


  • Please log in to reply
33 replies to this topic
Anon
  • Guests
  • Last active:
  • Joined: --
The XIM converts keystrokes and mouse movements to xbox controller inputs, so anything the AHK macro does will be done on the xbox, so long as you don't do it faster than the XIM's update rate, my antirecoil for bad company 2 was tested and refined on the PC version, and works perfectly on the xbox with no modification, so the macro for the PC should be the same in terms of functionality, the only problem will be with BF3 blocking AHK from running, but if that's the case then perhaps running the macro uncompiled will get around the detection, I run all my macros like that anyway so they can be edited easily.

Zdeu
  • Guests
  • Last active:
  • Joined: --
Hi,

I know that's not the exact subject of this topic but did anyone successfully bind mouse scrolling in BF3 using Autohot key?

I've tried following bind unsuccessfully :
WheelUp::send {f}
(not working in BF3, works with BF2)
WheelUp::SendInput {Raw}f
(not working in BF3, works with BF2)
WheelUp::SendEvent {f}
(not working in BF3)

Thanks in advance,
Zdeu

dmcheatw
  • Members
  • 20 posts
  • Last active: Jul 01 2013 02:17 PM
  • Joined: 17 Nov 2011

Yes but those controllers operate differently to AHK which is emulating key presses.

Also I tried the autospot script and it works quite nicely although it needs some tweaking because I think it is only pressing the Q button once or at least thats what it seems. I extended it to cover the RButton as well since I like to be spotting them prior to shooting.


can you post the modified script and i'll use it too.

as for the q spam block the other poster mentioned, i haven't noticed it, every time i want something spotted my script works.

The erratic fire rate is caused by the game's fire rate cap, if you try to click too fast it won't allow it to register, so it won't fire until the next time the macro loops, you can eliminate the problem by making sure the sleep time before the button up command is long enough to register, and that the time between clicks isn't too short, I've managed to get it to click as fast in semi automatic as it'll fire in full auto, at least with the AEK .q
As I said though, this is all on the xbox through an XIM mouse controller, so the PC version might have additional restrictions.
I'll try some more things tomorrow, I have it working roughly so far, but it's crude and not really usable without more refinement.


can you post the script?

The XIM converts keystrokes and mouse movements to xbox controller inputs, so anything the AHK macro does will be done on the xbox, so long as you don't do it faster than the XIM's update rate,my antirecoil for bad company 2 was tested and refined on the PC version, and works perfectly on the xbox with no modification, so the macro for the PC should be the same in terms of functionality, the only problem will be with BF3 blocking AHK from running, but if that's the case then perhaps running the macro uncompiled will get around the detection, I run all my macros like that anyway so they can be edited easily.


can you post your anti-recoil macro as well?

Hi,

I know that's not the exact subject of this topic but did anyone successfully bind mouse scrolling in BF3 using Autohot key?

I've tried following bind unsuccessfully :
WheelUp::send {f}
(not working in BF3, works with BF2)
WheelUp::SendInput {Raw}f
(not working in BF3, works with BF2)
WheelUp::SendEvent {f}
(not working in BF3)

Thanks in advance,
Zdeu


you have to experiment with different send modes. BF3 is kind of picky about that.

Anon
  • Guests
  • Last active:
  • Joined: --
I haven't been able to get anti-recoil working in any usable fashion, it just isn't reliable, and depends too much on the timing of the mouse movement to regulate the rate of fire, also, MouseMove only uses whole numbers, and using 1 is too little movement, and 2 is way too much, so I think that's a dead end, at least for the XBox version.

What I've done instead is set a macro to fire at 300 RPM, which seems to be the quickest that it can recover enough to shoot accurately at distance, this also includes hitting Q to spot the first two times it fires, so it'll spot upon firing but activate any spot-spamming measure, there may not be one now, but there was in BC2, so it may get added.

It also spots once when you release the button in case you stop firing to reload or reposition.

You can set this to any rate of fire you like, but it'll suffer more and more recoil as it gets faster, and if you adjust it don't forget to change the sleep time for "spot()" else the first two rounds will still fire at 300RPM.

#NoEnv 
SendMode Event 

_auto := true 

MButton::autofire() 
F1::ExitApp 

autofire() 
{ 
global _auto 
{ 
Loop 
{ 
if GetKeyState("MButton", "P") 
{ 
SendInput {LButton DownTemp} 
Sleep 50
SendInput {LButton Up}
if a_index < 3
spot()
if a_index > 2
Sleep 150
} 
else 
{
SendInput {Q DownTemp}
Sleep 50
SendInput {Q Up}
break
}


} ;; loop 
} ;; if 
} ;; autofire() 

spot()
{
SendInput {Q DownTemp}
Sleep 50
SendInput {Q Up}
Sleep 100
}

mouseXY(x,y) 
{ 
DllCall("mouse_event",uint,1,int,x,int,y,uint,0,int,0) 
}


rlilewis
  • Members
  • 7 posts
  • Last active: Nov 26 2011 02:20 PM
  • Joined: 21 Nov 2011

The erratic fire rate is caused by the game's fire rate cap, if you try to click too fast it won't allow it to register, so it won't fire until the next time the macro loops, you can eliminate the problem by making sure the sleep time before the button up command is long enough to register, and that the time between clicks isn't too short, I've managed to get it to click as fast in semi automatic as it'll fire in full auto, at least with the AEK .
As I said though, this is all on the xbox through an XIM mouse controller, so the PC version might have additional restrictions.
I'll try some more things tomorrow, I have it working roughly so far, but it's crude and not really usable without more refinement.


Actually having reviewed this in a script I think you've got it spot on.

Here is a portion of my autoFire script I am testing atm (apologies I know its messy) and I can get a decent rapid fire with stuff like the pistol and even the semi auto snipers. The problem I am finding is it gets badly affected by FPS lag. My comp is getting old and BF3 routinely drops sub 25 FPS. If I have more than 30 FPS the script works fine, otherwise it really starts to slow down. The main benefit is the fire rate is at a consistent speed (when you're FPS is stable that is). I'm currently playing with the sleep values to see which gives the fastest and consistent fire rate.

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn  ; Recommended for catching common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

rliLButtonChecking = 0

~PgUp::Suspend
return

#IfWinActive, Battlefield 3
{
	LButton::rliLButtonPressed()
}

rliAutoFire()
{
	Send {LButton down}
	sleep 30
	Send {LButton up}
}

rliLButtonPressed()
{
	global rliLButtonChecking

	if rliLButtonChecking != 1
	{
		rliLButtonChecking = 1
		rliLButtonMonitor()
	}	
}

rliLButtonMonitor()
{
	global rliLButtonChecking
	
	GetKeyState, rliKBC, LButton, P
	;MsgBox %rliKBC%
	
	While rliKBC = "D"
	{
		rliAutoFire()
		sleep 50
		GetKeyState, rliKBC, LButton, P
	}
	
	rliLButtonChecking = 0
}

P.S I'm gonna give your script a try anon...

dmcheatw
  • Members
  • 20 posts
  • Last active: Jul 01 2013 02:17 PM
  • Joined: 17 Nov 2011
thanks for posting the scripts guys. does anyone else have any other ideas for macros?

if anyone gets a no recoil script that works well i'd like to see it!

Anon
  • Guests
  • Last active:
  • Joined: --
I've nearly finished writing a script that fires single shots at 300rpm when set to semi auto in game, but fires 600 when set to automatic, so you can use semi at range and use 300rpm if a mid-range contact pops up, but when in CQB using automatic you have 600rpm instantly available for targets slightly further away.

Anon
  • Guests
  • Last active:
  • Joined: --
I'm not going to be able to get a working anti-recoil until the input lag is patched out, it messes up the timing severely and makes it impossible for the mouse movement to be consistent, so until that gets sorted I can't help, but if anyone wants scripts with a specific ROF I can make those, including auto-spot if you want it.

PepSi
  • Guests
  • Last active:
  • Joined: --
Yeah Anon, it would be great to get an autospot for BF3 like the AHK script made few months ago for BC2.

Why not about a norecoil too.

marmoo
  • Members
  • 1 posts
  • Last active: Jan 02 2012 02:15 AM
  • Joined: 02 Jan 2012
Hi,

This script is fantastic so a big thanks to the author, would it be at all possible to be able to add a keypress in this script for the tact/laser light to turn on when the MMB is pressed? It does not have to turn of when released either but would be a bonus!

#NoEnv 
SendMode Event
SetMouseDelay, -1

_auto := true 

MButton::autofire() 
F1::ExitApp 

autofire() 
{ 
global _auto 
{ 
Loop 
{ 
if GetKeyState("MButton", "P") 
{ 
SendInput {LButton DownTemp} 
Sleep 50
SendInput {LButton Up}
Sleep 150
} 
else 
break

} ;; loop 
} ;; if 
} ;; autofire() 


mouseXY(x,y) 
{ 
DllCall("mouse_event",uint,1,int,x,int,y,uint,0,int,0) 
}
Thanks in advance guys.


Many thanks for your help

ano
  • Guests
  • Last active:
  • Joined: --

Hi,

This script is fantastic so a big thanks to the author, would it be at all possible to be able to add a keypress in this script for the tact/laser light to turn on when the MMB is pressed? It does not have to turn of when released either but would be a bonus!



#NoEnv 
SendMode Event
SetMouseDelay, -1

_auto := true 

MButton::autofire() 
F1::ExitApp 

autofire() 
{ 
global _auto 
{ 
Loop 
{ 
if GetKeyState("MButton", "P") 
{ 
SendInput {LButton DownTemp} 
Sleep 50
SendInput {LButton Up}
Sleep 150
} 
else 
break

} ;; loop 
} ;; if 
} ;; autofire() 


mouseXY(x,y) 
{ 
DllCall("mouse_event",uint,1,int,x,int,y,uint,0,int,0) 
}
Thanks in advance guys.


Many thanks for your help


Hi All

What key runs this script?

BfUS
  • Guests
  • Last active:
  • Joined: --


Please help me write a script that gives the effect shown in the video with YT. Is this possible?

Wimbleton
  • Members
  • 5 posts
  • Last active: Feb 22 2012 06:51 PM
  • Joined: 04 Feb 2012



Please help me write a script that gives the effect shown in the video with YT. Is this possible?


Yeah, that would be interesting.

trolololo
  • Guests
  • Last active:
  • Joined: --
Punkbuster is kicking me if I forget to stop my other autohotkey macros, does it work? One guy explains that ahk can't be detected by punkbuster usin .ini form, how do I do that?

hypno
  • Guests
  • Last active:
  • Joined: --
Autohotkey is now detected in any shape or form. Im looking for solutions but I seem to be stuck for now.