Hi, i need external FPS limiter (Framerate) programme,
the code is here: http://www.tpforums.org/forum/thread-6343-page-1.html?highlight=framerate
Could someone create it? Many players would use it for sure.
Thanks.
Code:
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

'--------------------------------------------------------
Public Const MemoryFPS = &H76793C '

Public Const FrameRateCurrentOffset = &H60
Public Const FrameRateLimitOffset = &H58
'--------------------------------------------------------------------------------------

Public Function Memory(hwnd As Long, Address As Long, Value As Long, Size As Long, Process As Integer)
    Dim Pid As Long
    Dim phandle As Long
    GetWindowThreadProcessId hwnd, Pid
    phandle = OpenProcess(&H1F0FFF, False, Pid)
    If Process = 1 Then ReadProcessMemory phandle, Address, Value, Size, 0
    If Process = 2 Then WriteProcessMemory phandle, Address, Value, Size, 0
    CloseHandle phandle
End Function
'--------------------------------------------------------------------------------------------
Public Function ReadFPS()
Dim LocalizarMemFps As Long
Dim MemRealFPS As Long
Dim MemRealLimiteFPS As Long
Dim i As Integer
Dim B(1 To 8) As Byte
Dim f As Double
Dim Temp As Long

Memory Tibia_Hwnd, MemoryFPS, LocalizarMemFps, 4, RMem

MemRealFPS = LocalizarMemFps + FrameRateCurrentOffset
MemRealLimiteFPS = LocalizarMemFps + FrameRateLimitOffset

For i = 1 To 8
    Memory Tibia_Hwnd, MemRealFPS + i - 1, Temp, 1, RMem
    B(i) = CInt(Temp)
    DoEvents
Next i

CopyMemory f, B(1), 8
ReadFPS = f

End Function
'------------------------------------------------------------------------------------------


Public Function SetFPS(Fps As Integer)
Dim LocalizarMemFps As Long
Dim MemRealFPS As Long
Dim MemRealLimiteFPS As Long
Dim i As Integer
Dim B(1 To 8) As Byte
Dim f As Double

Memory Tibia_Hwnd, MemoryFPS, LocalizarMemFps, 4, RMem

MemRealFPS = LocalizarMemFps + FrameRateCurrentOffset
MemRealLimiteFPS = LocalizarMemFps + FrameRateLimitOffset

f = Round((1110 / Fps) - 5, 1)
CopyMemory B(1), f, 8

For i = 1 To 8
    Memory Tibia_Hwnd, MemRealLimiteFPS + i - 1, CInt(B(i)), 1, WMem
    DoEvents
Next i

End Function