Neo-Mind / NEMO

Neo Exe Modification Organizer
107 stars 120 forks source link

Disable/Change Walk To XY Click Delay #145

Closed LiamKarlMitchell closed 8 years ago

LiamKarlMitchell commented 8 years ago

The delay was seriously annoying when players panic and click rapidly their input was ignored. Which lead to annoyed players and a quick death.

With this timer disabled or set to 40ms instead of 600ms then the game play around walking feels a lot more responsive because it doesn't just ignore a lot of rapid clicks.

This Walk Delay feature may have been implemented as a way to cut down the data sent to the server when players click a lot.

A better way to do it would be to take the clicks in a short time slice, or compare the location of clicks to not send duplicated packets.

At the end of the day the walktoxy packet is like 5 bytes in length.

To find this,

I found the packet ID of walktoxy (0x437) Searched for it in the game. Found a place it was moved into a structure Looked above and found a call to timeGetTime Which moved eax somewhere [esi+dx] Found that address with a breakpoint and found what accessed it. Found what was setting it on click. timeGetTime() add eax, 258

I think that is 600ms. Quite the delay.

LiamKarlMitchell commented 8 years ago

Video proof: Click Delay 600ms: https://www.youtube.com/watch?v=yCu_gBpynCY "No Click Delay" 40ms: https://www.youtube.com/watch?v=yb6wO85m9mo