'http://gtaxscripting.blogspot.com/ 'http://www.facebook.com/GtaIVScripting 'https://www.youtube.com/user/GTAScripting Imports GTA Public Class XControls Public leftSitck_x, leftSitck_y, rightStick_x, rightStick_y As Native.Pointer Public BUTTON_BACK As Int16 = 13 Public BUTTON_START As Int16 = 12 Public BUTTON_X As Int16 = 14 Public BUTTON_Y As Int16 = 15 Public BUTTON_A As Int16 = 16 Public BUTTON_B As Int16 = 17 Public BUTTON_DPAD_UP As Int16 = 8 Public BUTTON_DPAD_DOWN As Int16 = 9 Public BUTTON_DPAD_LEFT As Int16 = 10 Public BUTTON_DPAD_RIGHT As Int16 = 11 Public BUTTON_TRIGGER_LEFT As Int16 = 5 Public BUTTON_TRIGGER_RIGHT As Int16 = 7 Public BUTTON_BUMPER_LEFT As Int16 = 4 Public BUTTON_BUMPER_RIGHT As Int16 = 6 Public BUTTON_STICK_LEFT As Int16 = 18 Public BUTTON_STICK_RIGHT As Int16 = 19 Public PacketNumber As Int32 = 0 Public Sub New() leftSitck_x = New Native.Pointer(GetType(Int32)) leftSitck_y = New Native.Pointer(GetType(Int32)) rightStick_x = New Native.Pointer(GetType(Int32)) rightStick_y = New Native.Pointer(GetType(Int32)) leftSitck_x.SetValue(0) leftSitck_y.SetValue(0) rightStick_x.SetValue(0) rightStick_y.SetValue(0) PacketNumber = 1 End Sub Public Function usingController() As Boolean Return Native.Function.Call(Of Boolean)("IS_USING_CONTROLLER") End Function Public Sub UpdateAnalogueSticksData(Optional control_number As Int16 = 0) If usingController() AndAlso (PacketNumber > 0) Then _ Native.Function.Call("GET_POSITION_OF_ANALOGUE_STICKS", control_number, leftSitck_x, leftSitck_y, rightStick_x, rightStick_y) End Sub Public Function isButtonDown(button As Int16, Optional control_number As Int16 = 0) As Boolean If usingController() Then PacketNumber += 1 If PacketNumber > 9999 Then PacketNumber = 0 Return Native.Function.Call(Of Boolean)("IS_BUTTON_PRESSED", control_number, button) Else Return False End If End Function End Class