The online racing simulator
how to begin create tweak program
This program, which you showed was made in TMK (Trainer Maker Kit).

If you want make yur own tweak in C# you can use Process Memory Reader Lib (or discoveries own way to get into the process memory) and Cheat Engine (or other memory scanning tool) to find addresses.

I do not know anything about VB.net :/
use insim lib or not ?
You can also use insim lib. I remember once was tweak with using insim to display information directly in the game.
Here is a module i use for VB

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
Private Declare Function WriteFloatMemory Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Single, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
Private Declare Function ReadFloat Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As IntPtr, ByVal lpBaseAddress As IntPtr, ByRef buffer As Single, ByVal size As Int32, ByRef lpNumberOfBytesRead As Int32) As Boolean
Private Declare Function ReadProcessMemory Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Integer) As Integer
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Public Declare Function VirtualProtectEx Lib "kernel32" (ByVal hProcess As Integer, ByRef lpAddress As Object, ByVal dwSize As Integer, ByVal flNewProtect As Integer, ByRef lpflOldProtect As Integer) As Integer
Public RBuff As Long
Public RBuff2 As Single
Public RBuff3 As Integer
Public Function WriteMemory(ByVal Address As Integer, ByVal Value As Long, ByVal Bytes As Integer)
Dim gamewindownameLookUp As Process() = Process.GetProcessesByName("lfs")
If gamewindownameLookUp.Length = 0 Then MessageBox.Show("Game is not running", "WARNING", MessageBoxButtons.OKCancel)

Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, gamewindownameLookUp(0).Id)
WriteProcessMemory(processHandle, Address, Value, Bytes, Nothing)
CloseHandle(processHandle)
End Function
Public Function ReadFloat(ByVal Address As Single)
Dim gamewindownameLookUp As Process() = Process.GetProcessesByName("lfs")
If gamewindownameLookUp.Length = 0 Then MessageBox.Show("Game is not running", "WARNING", MessageBoxButtons.OKCancel)

Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, gamewindownameLookUp(0).Id)
ReadProcessMemory(processHandle, Address, RBuff, 4, Nothing)
CloseHandle(processHandle)
Return RBuff
End Function

Public Function WriteFloat(ByVal Address As Integer, ByVal Value As Single)
Dim gamewindownameLookUp As Process() = Process.GetProcessesByName("lfs")
If gamewindownameLookUp.Length = 0 Then MessageBox.Show("Game is not running", "WARNING", MessageBoxButtons.OKCancel)

Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, gamewindownameLookUp(0).Id)
WriteFloatMemory(processHandle, Address, Value, 4, Nothing)
CloseHandle(processHandle)
End Function
Public Function ReadLong(ByVal Address As Integer)
Dim gamewindownameLookUp As Process() = Process.GetProcessesByName("lfs")
If gamewindownameLookUp.Length = 0 Then MessageBox.Show("Game is not running", "WARNING", MessageBoxButtons.OKCancel)

Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, gamewindownameLookUp(0).Id)
ReadProcessMemory(processHandle, Address, RBuff, 4, Nothing)
CloseHandle(processHandle)
Return RBuff
End Function
Public Function ReadFloatPointer(ByVal Base As Integer, ByVal Offset As Short)
Dim fullAddress As Long
Dim gamewindownameLookUp As Process() = Process.GetProcessesByName("lfs")


Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, gamewindownameLookUp(0).Id)
ReadProcessMemory(processHandle, Base, RBuff, 4, Nothing)
fullAddress = RBuff + Offset
ReadFloat(processHandle, fullAddress, RBuff2, 4, Nothing)
Return RBuff2
CloseHandle(processHandle)
End Function
Public Function ReadLongPointer(ByVal Base As Integer, ByVal Offset As Short, ByVal Bytes As Integer)
Dim fullAddress As Long
Dim gamewindownameLookUp As Process() = Process.GetProcessesByName("lfs")
If gamewindownameLookUp.Length = 0 Then MessageBox.Show("Game is not running", "WARNING", MessageBoxButtons.OKCancel)

Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, gamewindownameLookUp(0).Id)
ReadProcessMemory(processHandle, Base, RBuff, 4, Nothing)
fullAddress = RBuff + Offset
ReadProcessMemory(processHandle, fullAddress, RBuff3, Bytes, Nothing)
Return RBuff3
CloseHandle(processHandle)
End Function
Public Function WriteFloatPointer(ByVal Base As Integer, ByVal Offset As Short, ByVal Value As Single)
Dim fullAddress As Long
Dim gamewindownameLookUp As Process() = Process.GetProcessesByName("lfs")
If gamewindownameLookUp.Length = 0 Then MessageBox.Show("Game is not running", "WARNING", MessageBoxButtons.OKCancel)

Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, gamewindownameLookUp(0).Id)
ReadProcessMemory(processHandle, Base, RBuff, 4, Nothing)
fullAddress = RBuff + Offset
WriteFloatMemory(processHandle, fullAddress, Value, 4, Nothing)
CloseHandle(processHandle)
End Function
Public Function WriteLongPointer(ByVal Base As Integer, ByVal Offset As Short, ByVal Value As Long, ByVal Bytes As Integer)
Dim fullAddress As Long
Dim gamewindownameLookUp As Process() = Process.GetProcessesByName("lfs")
If gamewindownameLookUp.Length = 0 Then MessageBox.Show("Game is not running", "WARNING", MessageBoxButtons.OKCancel)

Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, gamewindownameLookUp(0).Id)
ReadProcessMemory(processHandle, Base, RBuff, 4, Nothing)
fullAddress = RBuff + Offset
WriteProcessMemory(processHandle, fullAddress, Value, Bytes, Nothing)
CloseHandle(processHandle)
End Function
Public Function NOP(ByVal Address As Integer)
Dim gamewindownameLookUp As Process() = Process.GetProcessesByName("lfs")
If gamewindownameLookUp.Length = 0 Then MessageBox.Show("Game is not running", "WARNING", MessageBoxButtons.OKCancel)

Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, gamewindownameLookUp(0).Id)
WriteProcessMemory(processHandle, Address, &H90, 1, Nothing)
CloseHandle(processHandle)
End Function

and this is an exemple on how to use it :

WriteFloatPointer(&hADRESS, &HOFFSET, tweak.Text)

But before, learn how to use cheat engine. there is many tutorials on youtube.
very thk
you have example code vb.net or c# to get or set value in lfs.
I not to know to use function (WriteFloatPointer(&hADRESS, &HOFFSET, tweak.Text))

FGED GREDG RDFGDR GSFDG