kusiak
09-01-2010, 14:17
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.
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
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.
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