05-11-2007, 05:47 PM
Introduction
Currently, all that prevents the movement from happening all the time is the fps lock (this is from k2h, a unedited ms has 50 or something, dunno):
Although, speedhacks basicly messes with the tickcount. Therefore this part is useless if you use a speedhack. But I'm pretty certain that timers are not affected by speedhacks, therefore we can have a timer around the checkmovement call. So it prevents it from running that call more than it should.
Client Side
Begin with adding a timer to your frmMirage. Set the interval to a number that doesn't affect your walking nor running speed. If you have the interval on 100, for example. Your character will probably run 1 tile, get stopped for some milliseconds, then run 1 tile etc... For my game, using 32 on the FPS cap, I used the interval 20. This however means that a timer will be running almost all the time on your client. But I don't think that affect much, does it?
Now, inside that timer, add (SH = SpeedHack):
Now in any module, add:
Now find:
Replace that part with:
So now, when you move 1 step, SHMove will become 0 and prevents the Call CheckMovement from running, until the timer makes SHMove = 1. And then you can move again.
I'd like to know what you think of this idea.
Please Test it with a Speed hack Program and report back!
Currently, all that prevents the movement from happening all the time is the fps lock (this is from k2h, a unedited ms has 50 or something, dunno):
Code:
' Lock fps
Do While GetTickCount < Tick + 32
DoEvents
Loop
Client Side
Begin with adding a timer to your frmMirage. Set the interval to a number that doesn't affect your walking nor running speed. If you have the interval on 100, for example. Your character will probably run 1 tile, get stopped for some milliseconds, then run 1 tile etc... For my game, using 32 on the FPS cap, I used the interval 20. This however means that a timer will be running almost all the time on your client. But I don't think that affect much, does it?
Now, inside that timer, add (SH = SpeedHack):
Code:
SHMove = 1
Now in any module, add:
Code:
Public SHMove As Byte
Now find:
Code:
' Check if player is trying to move
Code:
' Check if player is trying to move
If SHMove = 1 Then
Call CheckMovement
SHMove = 0
End If
So now, when you move 1 step, SHMove will become 0 and prevents the Call CheckMovement from running, until the timer makes SHMove = 1. And then you can move again.
I'd like to know what you think of this idea.
Please Test it with a Speed hack Program and report back!