Go Back   BWHacks > Other Games > General Gaming

General Gaming A wide range of both PC and console game discussion.

Reply
 
LinkBack Thread Tools

Old 05-25-2008, 10:12 AM   #21 (permalink)
ScAreCroW
Senior Member
Gold Member

Inquisitor
 
ScAreCroW's Avatar
 
Join Date: Jun 2005
Location: Canada eh?
Posts: 5,019
ScAreCroW has a reputation beyond reputeScAreCroW has a reputation beyond reputeScAreCroW has a reputation beyond reputeScAreCroW has a reputation beyond reputeScAreCroW has a reputation beyond reputeScAreCroW has a reputation beyond reputeScAreCroW has a reputation beyond repute
Send a message via AIM to ScAreCroW Send a message via MSN to ScAreCroW Send a message via Yahoo to ScAreCroW Send a message via Skype™ to ScAreCroW
Default

Game play when considering the story aspect has improved ten fold. However, I think that just driving around killin' **** features are now lacking. Also, many of vehicles extra features (lift on a fork lift, ramp on the semi, etc.) are missing.
__________________

Smoke Some Weed

Quote:
Originally Posted by Owyn View Post
can you tell me where you look funny pictures in internet?
ScAreCroW 15 0FF11|\|3   Reply With Quote
Sponsored links
Advertisement
 
Advertisement
Advertisement


Old 05-25-2008, 10:16 AM   #22 (permalink)
SilentSymphony
Banned

Advocate
 
Join Date: Mar 2008
Posts: 308
SilentSymphony can only hope to improve
Default

Yeah its a great game!!! I don't want to make it seem like it isn't but it is lacking in comparison to the previous GTA games, one would think that Rockstar would have gone all out on this one being the first release on the new Next Gen systems...

seriously though... would it have been so hard to add a few houses to buy??? a few cars u can only buy?? some extremely expensive guns to buy??? anything, no it wouldn't have been that hard, there are so many useless buildings just for decoration and houses that could have been used... i will say however the "friendship" system has its benefits which can be pretty nice on a few missions!

SilentSymphony*
SilentSymphony 15 0FF11|\|3   Reply With Quote

Old 05-25-2008, 10:22 AM   #23 (permalink)
ScAreCroW
Senior Member
Gold Member

Inquisitor
 
ScAreCroW's Avatar
 
Join Date: Jun 2005
Location: Canada eh?
Posts: 5,019
ScAreCroW has a reputation beyond reputeScAreCroW has a reputation beyond reputeScAreCroW has a reputation beyond reputeScAreCroW has a reputation beyond reputeScAreCroW has a reputation beyond reputeScAreCroW has a reputation beyond reputeScAreCroW has a reputation beyond repute
Send a message via AIM to ScAreCroW Send a message via MSN to ScAreCroW Send a message via Yahoo to ScAreCroW Send a message via Skype™ to ScAreCroW
Default

Yeah I agree, you should be able to get new houses after you're in that last one, because it's pretty ****ty. But you aren't meant to become some billionaire own the world kind of guy in this game, unlike the others
__________________

Smoke Some Weed

Quote:
Originally Posted by Owyn View Post
can you tell me where you look funny pictures in internet?
ScAreCroW 15 0FF11|\|3   Reply With Quote

Old 05-25-2008, 01:36 PM   #24 (permalink)
De
Private Hack User
Gold Member

Enlightened
 
Join Date: Dec 2005
Location: Canada
Posts: 2,705
De is a glorious beacon of lightDe is a glorious beacon of lightDe is a glorious beacon of light
Default

Ps3. Remember they are going to release more 'chapters' to the game.
__________________


Virtue itself turns vice, being misapplied,
And vice sometime's by action dignified.

De 15 0FF11|\|3   Reply With Quote

Old 05-25-2008, 03:31 PM   #25 (permalink)
Chiups
President of the Senate
Senior Member

Blessed
 
Chiups's Avatar
 
Join Date: Jul 2004
Location: Miami Florida
Posts: 2,283
Chiups has much to be proud ofChiups has much to be proud ofChiups has much to be proud ofChiups has much to be proud ofChiups has much to be proud ofChiups has much to be proud of
Send a message via AIM to Chiups Send a message via Skype™ to Chiups
Default

I might get a PS3 today, but not 80gb unfortunately...and this is the game im probably gonna buy.
__________________
Chiups 15 0FF11|\|3   Reply With Quote

Old 05-25-2008, 03:59 PM   #26 (permalink)
JeweyK

Inquisitor
 
JeweyK's Avatar
 
Join Date: May 2007
Location: Hannah, Montana
Posts: 4,197
JeweyK is a name known to allJeweyK is a name known to allJeweyK is a name known to allJeweyK is a name known to all
Send a message via AIM to JeweyK Send a message via Skype™ to JeweyK
Default

I just played it yesterday for the first time, and I am thinking of getting a 360 for it. The game was awesome, pretty much because I just go around killing people and the graphics are great.
__________________

Quote:
Originally Posted by kds View Post
I love getting kicked in the nuts!
Quote:
Originally Posted by kds View Post
dude you could kick me in teh nts anyday, you know it fo r sire dpawg
Quote:
Originally Posted by kds View Post
i love jerking off to text
JeweyK 15 0FF11|\|3   Reply With Quote

Old 05-25-2008, 06:08 PM   #27 (permalink)
rangedunits
Akazukin druggie?
Senior Member
Gold Member

Evangelist
 
rangedunits's Avatar
 
Join Date: Nov 2004
Posts: 1,302
rangedunits is a glorious beacon of lightrangedunits is a glorious beacon of lightrangedunits is a glorious beacon of light
Send a message via MSN to rangedunits
Default

Why you'l wait a week? Il currently buy a ps3 in few hours.
__________________
rangedunits 15 0FF11|\|3   Reply With Quote

Old 05-25-2008, 06:17 PM   #28 (permalink)
disco
Section Staff of Keepin' it Real
Senior Member
Retired Staff Member

Inquisitor
 
disco's Avatar
 
Join Date: Nov 2004
Posts: 4,534
disco has a reputation beyond reputedisco has a reputation beyond reputedisco has a reputation beyond reputedisco has a reputation beyond reputedisco has a reputation beyond reputedisco has a reputation beyond reputedisco has a reputation beyond reputedisco has a reputation beyond reputedisco has a reputation beyond reputedisco has a reputation beyond reputedisco has a reputation beyond repute
Send a message via AIM to disco
Default

Pretty fun, especially on XBL.
__________________
disco 15 0FF11|\|3   Reply With Quote

Old 05-25-2008, 06:18 PM   #29 (permalink)
Otaku

I'm in ur user profile changing ur name back
Senior Member
Gold Member

Messiah
 
Otaku's Avatar
 
Join Date: Mar 2005
Location: Austin, TX
Posts: 9,750
Otaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond repute
Send a message via AIM to Otaku
Default

Well...I don't like to say this, but I might get a PS3 just for MGS4 and Tekken 6.
__________________
Otaku 15 0FF11|\|3   Reply With Quote

Old 05-25-2008, 06:47 PM   #30 (permalink)
De
Private Hack User
Gold Member

Enlightened
 
Join Date: Dec 2005
Location: Canada
Posts: 2,705
De is a glorious beacon of lightDe is a glorious beacon of lightDe is a glorious beacon of light
Default

GOGOGOGO PS3.
__________________


Virtue itself turns vice, being misapplied,
And vice sometime's by action dignified.

De 15 0FF11|\|3   Reply With Quote

Old 05-25-2008, 11:54 PM   #31 (permalink)
Chiups
President of the Senate
Senior Member

Blessed
 
Chiups's Avatar
 
Join Date: Jul 2004
Location: Miami Florida
Posts: 2,283
Chiups has much to be proud ofChiups has much to be proud ofChiups has much to be proud ofChiups has much to be proud ofChiups has much to be proud ofChiups has much to be proud of
Send a message via AIM to Chiups Send a message via Skype™ to Chiups
Default

Quote:
Originally Posted by Chiups View Post
I might get a PS3 today, but not 80gb unfortunately...and this is the game im probably gonna buy.
I did just this. And....SEXXXXYYY!
__________________
Chiups 15 0FF11|\|3   Reply With Quote

Old 05-26-2008, 01:10 PM   #32 (permalink)
bLueStar
Banned

Deviant
 
bLueStar's Avatar
 
Join Date: Jun 2007
Location: Quebec, Canada
Posts: 123
bLueStar is an unknown quantity at this point
Default

well you can just play gta san andreas multiplayer while gta IV get out on PC

SA-MP San Andreas Multiplayer mod for Grand Theft Auto (GTA SA) :D

i have a coded a hax to double your speed, teleport, move with arrows, steal car remotely, repair car, g0d mode, repair tire and many more and i can publicly post the source of it :D


memory.bas

Code:
'##############################################
'#  MemoryClass --> MemoryHandler             #
'#      Author : bLueStar                     #
'#        Date : 27 Oct 2007                  #
'#     Version : 1.00                         #
'# Description : All memory utility in one    #
'##############################################
Option Explicit
Private Handler As Long ' Process Handle (Final one for use)
'// Internal Constants
Private Const MAX_PATH As Long = 260 ' Process Module Maximum path number
Private Const TOKEN_ADJUST_PRIVILEGES As Long = &H20 ' Token for LoadPriviledge
Private Const TOKEN_QUERY As Long = &H8 ' Token query Constant
Private Const SE_PRIVILEGE_ENABLED As Long = &H2 ' Value to switch priviledge on
Private Const PROCESS_VM_READ = &H10 ' Set process available for read
Private Const PROCESS_QUERY_INFORMATION = &H400 ' Process API Constant
Private Const PROCESS_ALL_ACCESS As Long = &H1F0FFF ' Process API Constant
'// Declare Types
Private Type LUID ' Debug Priviledge Type
    LowPart As Long
    HighPart As Long
End Type
Private Type TOKEN_PRIVILEGES ' LoadPriviledge Type
    PrivilegeCount As Long
    TheLuid As LUID
    Attributes As Long
End Type
'// Declare APIs
Public Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long
Public Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, ByRef NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, ByRef PreviousState As TOKEN_PRIVILEGES, ByRef ReturnLength As Long) As Long
Public Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, ByRef TokenHandle As Long) As Long
Public Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
Public Declare Function GetCurrentProcess Lib "kernel32.dll" () As Long
Public Declare Function GetLastError Lib "kernel32.dll" () As Long
Public Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Public Declare Function EnumProcessModules Lib "psapi.dll" (ByVal hProcess As Long, ByRef lphModule As Long, ByVal cb As Long, ByRef cbNeeded As Long) As Long
Public Declare Function GetModuleFileNameExA Lib "psapi.dll" (ByVal hProcess As Long, ByVal hModule As Long, ByVal ModuleName As String, ByVal nSize As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal Classname As String, ByVal WindowName As String) As Long
Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Public Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Public Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Boolean
Public Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Private Const WS_EX_TOOLWINDOW = &H80
Private Const WS_EX_APPWINDOW = &H40000
Private Const GW_OWNER = 4
Private Const GWL_EXSTYLE = (-20)

Public Function AttachToProcess(WindowTitle As String) As Long
    LoadPrivilege "SeDebugPrivilege"
    Dim hwnd As Long
    hwnd = FindWindow(vbNullString, WindowTitle)
    If hwnd = 0 Then
        AttachToProcess = False
        Exit Function
    End If
    GetWindowThreadProcessId hwnd, Handler
    Handler = OpenProcess(PROCESS_ALL_ACCESS, False, Handler)
    If Handler = 0 Then
        AttachToProcess = 0
        loaded = False
        Else
        AttachToProcess = Handler
        loaded = True
    End If
End Function
Public Sub UnleashProcess()
    CloseHandle Handler
End Sub
Public Function LoadPrivilege(ByVal Privilege As String) As Boolean
    Dim hToken As Long
    Dim SEDebugNameValue As LUID
    Dim tkp As TOKEN_PRIVILEGES
    Dim hProcessHandle As Long
    Dim tkpNewButIgnored As TOKEN_PRIVILEGES
    Dim lbuffer As Long
    hProcessHandle = GetCurrentProcess()
    If GetLastError <> 0 Then
        MsgBox "GetCurrentProcess, Error: " & GetLastError()
        Exit Function
    End If
    OpenProcessToken hProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY), hToken
    If GetLastError <> 0 Then
        MsgBox "OpenProcessToken, Error: " & GetLastError()
        Exit Function
    End If
    LookupPrivilegeValue "", Privilege, SEDebugNameValue
    If GetLastError <> 0 Then
        MsgBox "LookupPrivilegeValue, Error: " & GetLastError()
        Exit Function
    End If
    With tkp
        .PrivilegeCount = 1
        .TheLuid = SEDebugNameValue
        .Attributes = SE_PRIVILEGE_ENABLED
    End With
    AdjustTokenPrivileges hToken, False, tkp, Len(tkp), tkpNewButIgnored, lbuffer
    If GetLastError <> 0 Then
        MsgBox "AdjustTokenPrivileges, Error: " & GetLastError()
        Exit Function
    End If
    LoadPrivilege = True
End Function
'// Find Process from PID
Private Function ProcessPathByPID(PID As Long) As String
    Dim cbNeeded As Long
    Dim Modules(1 To 200) As Long
    Dim Ret As Long
    Dim ModuleName As String
    Dim nSize As Long
    Dim hProcess As Long
    hProcess = OpenProcess(PROCESS_QUERY_INFORMATION _
        Or PROCESS_VM_READ, 0, PID)
    If hProcess <> 0 Then
        Ret = EnumProcessModules(hProcess, Modules(1), _
            200, cbNeeded)
        If Ret <> 0 Then
            ModuleName = Space(MAX_PATH)
            nSize = 500
            Ret = GetModuleFileNameExA(hProcess, _
                Modules(1), ModuleName, nSize)
            ProcessPathByPID = Left(ModuleName, Ret)
        End If
    End If
    Ret = CloseHandle(hProcess)
    If ProcessPathByPID = "" Then
        ProcessPathByPID = "SYSTEM"
    End If
End Function



Public Function IsWindowOpen(WindowTitle As String) As Boolean
    If FindWindow(vbNullString, WindowTitle) <> 0 Then
        IsWindowOpen = True
    Else
        IsWindowOpen = False
    End If
End Function
keylistener.bas

Code:
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Public Declare Function GetTickCount Lib "kernel32" () As Long
Public isStealing As Boolean
Public spawnCoordX As Single
Public spawnCoordY As Single
Public spawnCoordZ As Single
Public VposX As Single
Public Vposy As Single
Public Vposz As Single
Public vIndex As Long
Public maxBound As Long
Public pState As Long
Public xAxeSpin As Single
Public invincible As Boolean
Public lockedState As carLockState

Public Function GetKey(Ascii As Long) As Boolean
    If GetAsyncKeyState(Ascii) = -32767 Then GetKey = True
End Function

Public Sub ReadKey()

    On Error Resume Next
    DoEvents
    If GetKey(122) Then
        isStealing = Not isStealing
        If isStealing Then
            maxBound = getCarCount
            spawnCoordX = GetMyCoordX + 10
            spawnCoordY = GetMyCoordY
            spawnCoordZ = GetMyCoordZ
            saveVehiclePosition
            vIndex = 0
            printText getRGBA(255, 0, 0, 255), "bStarHack : Started car stealing", 0
            Else
            printText getRGBA(255, 0, 0, 255), "bStarHack : Stopped stealing feature.", 0
        End If
    End If
    If isStealing And GetKey(109) Then
        loadVehiclePosition
        Do
            vIndex = vIndex - 1
        Loop Until playerInCar(vIndex) Or vIndex < 0
        saveVehiclePosition
    End If
    If isStealing And GetKey(107) Then
        If Not vIndex >= maxBound Then
            loadVehiclePosition
            Do
                vIndex = vIndex + 1
            Loop Until playerInCar(vIndex) Or vIndex >= maxBound
            saveVehiclePosition
        End If
    End If
    
    If GetKey(45) Then
        If pState = 0 Then
            pState = buildPedState(False, False, True, True, True, True, True, True)
            printText getRGBA(255, 0, 0, 255), "bStarHack : You are now invincible!", 0
            lockedState = Locked
            invincible = True
        Else
            pState = 0
            printText getRGBA(255, 0, 0, 255), "bStarHack : You are now vulnerable!", 0
            lockedState = opened
            invincible = False
        End If
    End If
    If GetKey(123) And getMyCarPointer <> 0 Then
        If getMyCarPointer = 0 Then
            printText getRGBA(255, 0, 0, 255), "bStarHack : Enter a car first", 0
        Else
            printText getRGBA(255, 0, 0, 255), "bStarHack : Switched driver and passager seats", 0
            Dim pt1 As Long
            Dim pt2 As Long
            pt1 = getPointer(getPointer(&HBA18FC) + 1120)
            pt2 = getPointer(getPointer(&HBA18FC) + 1124)
            WriteProcessMemory Handle, getPointer(&HBA18FC) + 1120, pt2, 4&, 0&
            WriteProcessMemory Handle, getPointer(&HBA18FC) + 1124, pt1, 4&, 0&
        End If
    End If
    If isStealing Then
        setCarLockState opened, vIndex
        SetVehicleCoordX spawnCoordX, vIndex
        SetVehicleCoordY spawnCoordY, vIndex
        SetVehicleCoordZ spawnCoordZ, vIndex
        setPlayerCarLookAt vIndex, 1, 1, 0
        SetVehicleSpeedX 0, vIndex
        SetVehicleSpeedY 0, vIndex
        SetVehicleSpeedZ 0, vIndex
        SetVehicleSpinX 0, vIndex
        SetVehicleSpinY xAxeSpin, vIndex
        SetVehicleSpinZ 0, vIndex
    End If
    If isStealing And GetKey(104) Then
        spawnCoordZ = spawnCoordZ + 0.4
    End If
    If isStealing And GetKey(101) Then
        If xAxeSpin = 0 Then
            xAxeSpin = 0.1
        Else
            xAxeSpin = 0
        End If
    End If
    If isStealing And GetKey(98) Then
        spawnCoordZ = spawnCoordZ - 0.4
    End If
    If getMyCarPointer <> 0 And GetKey(97) Then
        setXSpeed getXSpeed * 1.4
        setYSpeed getYSpeed * 1.4
        setZSpeed getZSpeed * 1.4
    End If
    setCPedState pState
    If getMyCarPointer <> 0 Then setCarState pState: setMyCarLockState lockedState
    If getMyCarPointer <> 0 And invincible And getMyVehicleType = CarOrPlane Then repairTires: setMyCarLife 1000
    Debug.Print getCarPointer(vIndex)
End Sub
Public Sub saveVehiclePosition()
    VposX = GetVehicleCoordX(vIndex)
    Vposy = GetVehicleCoordY(vIndex)
    Vposz = GetVehicleCoordZ(vIndex)
End Sub
Public Sub loadVehiclePosition()
    SetVehicleCoordX VposX, vIndex
    SetVehicleCoordY Vposy, vIndex
    SetVehicleCoordZ Vposz, vIndex
End Sub
Public Sub Sleep(time As Long)
    Dim start As Long
    start = GetTickCount
    Do Until GetTickCount - start >= time
        DoEvents
    Loop
End Sub
and in your main Form

Code:
Dim isLoaded As Boolean
Dim bQuit As Boolean
Private Sub Form_Load()
    Me.Show
    Dim lastCheck As Long
    
    While Not bQuit
        DoEvents
        If Not isLoaded And IsWindowOpen("GTA:SA:MP") Then
            loadGta
            isLoaded = loaded
            Form1.Caption = "Loaded : " & isLoaded
        End If
        If isLoaded And Not IsWindowOpen("GTA:SA:MP") Then
            isLoaded = False
            UnleashProcess
            Form1.Caption = "Loaded : " & isLoaded
        End If
        
        If isLoaded Then Call ReadKey
    Wend
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    bQuit = True
    Unload Me
    End
End Sub

Private Sub Form_Terminate()
    bQuit = True
    Unload Me
    End
End Sub

Private Sub Form_Unload(Cancel As Integer)
    bQuit = True
    Unload Me
    End
End Sub

Last edited by bLueStar : 05-26-2008 at 01:21 PM.
bLueStar 15 0FF11|\|3   Reply With Quote

Old 05-26-2008, 01:16 PM   #33 (permalink)
bLueStar
Banned

Deviant
 
bLueStar's Avatar
 
Join Date: Jun 2007
Location: Quebec, Canada
Posts: 123
bLueStar is an unknown quantity at this point
Default

Not enought characters left, have to repost

This one is the "wrapper" between VB and gta

gta.bas

Code:
Public Handle As Long
Public loaded As Boolean
Public Enum carLockState
    opened = 1
    Locked = 2
End Enum
Public Enum vehicleType
    Foot = 1
    CarOrPlane = 0
    Boat = 5
    Train = 6
    BikeOrBmx = 9
End Enum
Public Sub loadGta()
    Handle = AttachToProcess("GTA:SA:MP")
    If Handle = 0 Then
        'MsgBox "Open gta first!", vbCritical
        Else
        'MsgBox "Successfuly loaded!", vbInformation
        loaded = True
    End If
End Sub
Public Function getPointer(address As Long) As Long
    Dim buffer As Long
    ReadProcessMemory Handle, address, buffer, 4&, 0&
    getPointer = buffer
End Function
Public Function getCarArrayPointer() As Long
    Dim buffer As Long
    ReadProcessMemory Handle, &HB74494, buffer, 4&, 0&
    getCarArrayPointer = buffer
End Function
Public Function getMyPointer() As Long
    getMyPointer = getPointer(&HB7CD98)
End Function
Public Function getMyCarPointer() As Long
    getMyCarPointer = getPointer(&HBA18FC)
End Function
Public Function getCarCount() As Long
    Dim buffer As Long
    ReadProcessMemory Handle, getCarArrayPointer + 8, buffer, 4&, 0&
    getCarCount = buffer
End Function
Public Function GetMyCoordX() As Single
    Dim buffer As Single
    ReadProcessMemory Handle, getPointer(&HB7CD98) + 356&, buffer, 4&, 0&
    GetMyCoordX = buffer
End Function
Public Function GetMyCoordY() As Single
    Dim buffer As Single
    ReadProcessMemory Handle, getPointer(&HB7CD98) + 360&, buffer, 4&, 0&
    GetMyCoordY = buffer
End Function
Public Function GetMyCoordZ() As Single
    Dim buffer As Single
    ReadProcessMemory Handle, getPointer(&HB7CD98) + 364&, buffer, 4&, 0&
    GetMyCoordZ = buffer
End Function
Public Sub SetVehicleCoordX(Coord As Single, index As Long)
    WriteProcessMemory Handle, getPointer((getPointer(getCarArrayPointer) + (index * 2584)) + 20) + 48, Coord, 4&, 0&
End Sub
Public Sub SetVehicleCoordY(Coord As Single, index As Long)
    WriteProcessMemory Handle, getPointer((getPointer(getCarArrayPointer) + (index * 2584)) + 20) + 52, Coord, 4&, 0&
End Sub
Public Sub SetVehicleCoordZ(Coord As Single, index As Long)
    WriteProcessMemory Handle, getPointer((getPointer(getCarArrayPointer) + (index * 2584)) + 20) + 56, Coord, 4&, 0&
End Sub
Public Function GetVehicleCoordX(index As Long) As Single
    Dim buffer As Single
    ReadProcessMemory Handle, getPointer((getPointer(getCarArrayPointer) + (index * 2584)) + 20) + 48, buffer, 4&, 0&
    GetVehicleCoordX = buffer
End Function
Public Function GetVehicleCoordY(index As Long) As Single
    Dim buffer As Single
    ReadProcessMemory Handle, getPointer((getPointer(getCarArrayPointer) + (index * 2584)) + 20) + 52, buffer, 4&, 0&
    GetVehicleCoordY = buffer
End Function
Public Function GetVehicleCoordZ(index As Long) As Single
    Dim buffer As Single
    ReadProcessMemory Handle, getPointer((getPointer(getCarArrayPointer) + (index * 2584)) + 20) + 56, buffer, 4&, 0&
    GetVehicleCoordZ = buffer
End Function
Public Sub SetVehicleSpeedX(speed As Single, index As Long)
    WriteProcessMemory Handle, getPointer(getCarArrayPointer) + (index * 2584) + 68, speed, 4&, 0&
End Sub
Public Sub SetVehicleSpeedY(speed As Single, index As Long)
    WriteProcessMemory Handle, getPointer(getCarArrayPointer) + (index * 2584) + 72, speed, 4&, 0&
End Sub
Public Sub SetVehicleSpeedZ(speed As Single, index As Long)
    WriteProcessMemory Handle, getPointer(getCarArrayPointer) + (index * 2584) + 76, speed, 4&, 0&
End Sub
Public Sub SetVehicleSpinX(Spin As Single, index As Long)
    WriteProcessMemory Handle, getPointer(getCarArrayPointer) + (index * 2584) + 80, Spin, 4&, 0&
End Sub
Public