lorddakkon / diablo-iii-wasd

Automatically exported from code.google.com/p/diablo-iii-wasd
0 stars 0 forks source link

Boredom #1

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
You know, I'm bored... 
But if you take the tan((y_center - y_initial) / (x_center - x_initial)) every 
time the player clicks, you can find the angle at which the player is facing.
y_final - round(total_height*0.009) * sin(angle) and x_final - 
round(total_height*0.009 * cos(angle)

Give or take a few trigonometric problems (have to find which quadrant the 
angle is, for one)... "wasd dependent on character facing"

Original issue reported on code.google.com by Acka...@gmail.com on 21 Mar 2012 at 10:21

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
more boredom says that 

round(total_height*0.009) is rather pointless... I mean, you're basically 
trying to predict how many pixels a player will move until the next running of 
the script... and if player has (let's just say) +100% speed you'll get a 
problem.

Instead, just click near the top or bottom of the screen...

Probably could simply remove
else if GetKeyState("w", "P") || GetKeyState("s", "P") || GetKeyState("a", "P") 
|| GetKeyState("d", "P")
// these are all checked again in the code, so what is the point

A y_toggle and x_toggle that activates when no y or x keys are pressed could be 
placed around 

MouseGetPos, x_initial, y_initial
Click %x_final% %y_final% 0 ; Moves mouse to desired direction for movement
 Send {Ins} ; sends the "move" command in-game **Note**
 Click, %x_initial% %y_initial% 0 ; repositions cursor for seamless movement

at the very end

Original comment by Acka...@gmail.com on 21 Mar 2012 at 10:46

GoogleCodeExporter commented 8 years ago
And just as final boredom... this really isn't hardware level... you're telling 
direct x to move the cursor to a specific location (so yes, easily detectable). 
HARDWARE would be messier, you'd need to inject code into the drivers (or 
modify the RAM) in such a manner that you misinform direct x about what the 
hardware is saying.

In either case, "teleporting" the cursor to one of 8 fixed locations every few 
milliseconds is obviously a script (Random, rand, 0.0, 1.0 is your friend)

Though still, it's perfectly symmetrical movement and as such... 

Original comment by Acka...@gmail.com on 21 Mar 2012 at 11:03

GoogleCodeExporter commented 8 years ago
True. I never tried scripting this to be undetectable. I am not worried about 
players being banned for this as I don't think it falls into the realm of 
banable offenses judging from Blizzard's track record with past titles.

The code could probably be tweaked a little to make it more efficient, but it 
is already a very small script that runs fast, doesn't take up much processing 
time and shouldn't hog enough resources to matter to most users.

Clicking near the top and bottom of the screen doesn't work well in the game. 
Because  obstacles between you and the click would stop movement at all. If the 
area at the top or the bottom of the screen is also not an area you can move to 
the click there would do nothing at all.

The part about "round(total_height*0.009)" wasn't about calculating the 
distance you moved at all it was a weird way to figure out how far to move the 
cursor from the center of the screen to issue the movement. New versions no 
longer do it this way.

Original comment by jsig...@gmail.com on 4 Apr 2012 at 6:40