Public Class sfdgsdgfsdgfds
Public Declare Function ReadProcessMemory Lib "KERNEL32" (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Long, ByVal Size As Long, ByRef BytesWritten As Long) As Long
Public Declare Function ReadFloatMemory Lib "kernel32" Alias "ReadProcessMemory" (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Single, ByVal Size As Long, ByRef BytesWritten As Long) As Long
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Structure localplayer_t
Public address As Integer
Public team As Integer
Public position_1 As Single
Public position_2 As Single
Public viewangle_2 As Single
End Structure
Public LocalPlayer As localplayer_t
Structure radarstruct_t
Public address As Integer
Public team As Integer
Public position_1 As Single
Public position_2 As Single
Public hp As Integer
End Structure
Public RadarStruct(120) As radarstruct_t
Structure radar_data_t
Public valid As Boolean
Public color As Brush
Public position As Point
End Structure
Public RadarData(120) As radar_data_t
Structure radar_t
Public position As Point
Public size As Point
Public backcolor As Brush
Public bordercolor As Brush
Public maxdistance As Integer
Public maxplayer As Integer
Public opacity As Single
Public showfriends As Boolean
End Structure
Dim Radar As radar_t
Dim thread1 As System.Threading.Thread
Dim thread2 As System.Threading.Thread
Dim hprocess As Process()
Dim ready As Boolean = False
Dim client_base As Integer
Dim engine_base As Integer
Dim fac As Single = 0.5
Dim radtodeg As Single = 57.295779513082323
Dim my_id As Integer
Dim localplayer_offset As Integer = &H55DB34
Dim my_id_offset As Integer = &H56B3E4
Dim my_position_offset As Integer = &H3D0380
Dim my_viewangle_offset As Integer = &H474A1C
Dim radarstruct_offset As Integer = &H5A36A8
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
End
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
hprocess = Process.GetProcessesByName("hl2")
If hprocess.Length = 0 Then
MsgBox("Start Counter-Strike Source before")
End
Else
Control.CheckForIllegalCrossThreadCalls = False
For i As Integer = 0 To 20
For Each [Module] As System.Diagnostics.ProcessModule In hprocess(0).Modules
Try
If [Module].ModuleName = "client.dll" Then
client_base = [Module].BaseAddress
End If
If [Module].ModuleName = "engine.dll" Then
engine_base = [Module].BaseAddress
End If
Catch ex As Exception
End Try
Next
Threading.Thread.Sleep(1000)
If client_base > 0 And engine_base > 0 Then
Exit For
End If
If i = 20 Then
End
End If
Next
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.TopMost = True
Me.BringToFront()
Me.DoubleBuffered = True
' ||| Settings |||
Radar.backcolor = New SolidBrush(Color.FromArgb(50, 50, 50))
Radar.bordercolor = New SolidBrush(Color.FromArgb(65, 65, 65))
Radar.position = New Point(0, 0) 'Useless
Radar.size = New Point(200, 200)
Radar.maxdistance = 20
Radar.maxplayer = 64
Radar.opacity = 99
Radar.showfriends = True
' ||| Settings |||
Me.Size = New Point(Radar.size.X + 1, Radar.size.Y + 1)
Me.Opacity = Radar.opacity / 100
thread1 = New System.Threading.Thread(AddressOf th1)
thread1.Start()
thread2 = New System.Threading.Thread(AddressOf th2)
thread2.Start()
ready = True
End If
End Sub
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
If ready Then
e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.None
e.Graphics.FillRectangle(Radar.backcolor, Radar.position.X, Radar.position.Y, Radar.size.X + 1, Radar.size.Y + 1)
For i As Integer = 2 To Radar.size.X / 3 - 4
For j As Integer = 2 To Radar.size.X / 3 - 4
' e.Graphics.FillRectangle(Brushes.Black, Radar.position.X + i * 3 + 2, Radar.position.Y + j * 3 + 2, 1, 1)
Next
Next
e.Graphics.DrawRectangle(Pens.Black, Radar.position.X, Radar.position.Y, Radar.size.X, Radar.size.Y)
e.Graphics.DrawRectangle(Pens.Black, Radar.position.X, Radar.position.Y, Radar.size.X, Radar.size.Y)
e.Graphics.FillRectangle(Brushes.Black, Radar.position.X + Radar.size.X * fac, Radar.position.Y, 1, Radar.size.Y)
e.Graphics.FillRectangle(Brushes.Black, Radar.position.X, Radar.position.Y + Radar.size.X * fac, Radar.size.Y, 1)
e.Graphics.DrawRectangle(Pens.Black, Radar.position.X + Radar.size.X * fac - 2, Radar.position.Y + Radar.size.Y * fac - 2, 4, 4)
e.Graphics.FillRectangle(Brushes.LightGray, Radar.position.X + Radar.size.X * fac - 1, Radar.position.Y + Radar.size.Y * fac - 1, 3, 3)
For i As Integer = 0 To Radar.maxplayer - 1
If RadarData(i).valid Then
e.Graphics.DrawRectangle(Pens.Black, Radar.position.X + Radar.size.X * fac + RadarData(i).position.X - 2, Radar.position.Y + Radar.size.Y * fac + RadarData(i).position.Y - 2, 4, 4)
e.Graphics.FillRectangle(RadarData(i).color, Radar.position.X + Radar.size.X * fac + RadarData(i).position.X - 1, Radar.position.Y + Radar.size.Y * fac + RadarData(i).position.Y - 1, 3, 3)
End If
Next
End If
End Sub
Function th1()
Dim delta_x As Single
Dim delta_y As Single
Dim Dist As Single
Dim yaw_id As Single
Dim yaw_delta As Single
Dim temp_id_x As Single
Dim temp_id_y As Single
While (1)
ReadProcessMemory(hprocess(0).Handle, client_base + localplayer_offset, LocalPlayer.address, 4, 0)
ReadProcessMemory(hprocess(0).Handle, LocalPlayer.address + &H98, LocalPlayer.team, 4, 0)
ReadFloatMemory(hprocess(0).Handle, engine_base + my_position_offset, LocalPlayer.position_1, 8, 0)
ReadFloatMemory(hprocess(0).Handle, engine_base + my_viewangle_offset + 4, LocalPlayer.viewangle_2, 4, 0)
ReadProcessMemory(hprocess(0).Handle, engine_base + my_id_offset, my_id, 4, 0)
ReadProcessMemory(hprocess(0).Handle, client_base + radarstruct_offset, RadarStruct(0).address, 4, 0)
For i As Integer = 0 To Radar.maxplayer - 1
ReadProcessMemory(hprocess(0).Handle, RadarStruct(0).address + (i * &H140) + &H5C, RadarStruct(i).hp, 4, 0)
ReadProcessMemory(hprocess(0).Handle, RadarStruct(0).address + (i * &H140) + &H58, RadarStruct(i).team, 4, 0)
ReadFloatMemory(hprocess(0).Handle, RadarStruct(0).address + (i * &H140) + &H60, RadarStruct(i).position_1, 8, 0)
If (LocalPlayer.team <> RadarStruct(i).team Or Radar.showfriends) And i <> my_id And RadarStruct(i).hp > 0 And Not (RadarStruct(i).position_1 = 0 And RadarStruct(i).position_2 = 0) Then
If RadarStruct(i).position_1 = LocalPlayer.position_1 Then RadarStruct(i).position_1 += 0.0001
If RadarStruct(i).position_2 = LocalPlayer.position_2 Then RadarStruct(i).position_2 += 0.0001
delta_x = Math.Abs(RadarStruct(i).position_1 - LocalPlayer.position_1)
delta_y = Math.Abs(RadarStruct(i).position_2 - LocalPlayer.position_2)
Dist = ((delta_x ^ 2) + (delta_y ^ 2)) ^ 0.5
yaw_id = Math.Atan(delta_y / delta_x) * radtodeg
If RadarStruct(i).position_1 < LocalPlayer.position_1 And RadarStruct(i).position_2 > LocalPlayer.position_2 Then
yaw_id = 180 - yaw_id
Else
If RadarStruct(i).position_1 < LocalPlayer.position_1 And RadarStruct(i).position_2 < LocalPlayer.position_2 Then
yaw_id = -180 + yaw_id
Else
If RadarStruct(i).position_1 > LocalPlayer.position_1 And RadarStruct(i).position_2 < LocalPlayer.position_2 Then
yaw_id = yaw_id * -1
End If
End If
End If
yaw_delta = LocalPlayer.viewangle_2 - yaw_id - 90
temp_id_x = (Math.Cos(yaw_delta / radtodeg) * Dist) / Radar.maxdistance
temp_id_y = (Math.Sin(yaw_delta / radtodeg) * Dist) / Radar.maxdistance
If temp_id_x > ((Radar.size.X - 20) / 2) - 1 Then
temp_id_x = ((Radar.size.X - 20) / 2) - 1
Else
If temp_id_x < -((Radar.size.X - 20) / 2) + 1 Then
temp_id_x = -((Radar.size.X - 20) / 2) + 1
End If
End If
If temp_id_y > ((Radar.size.X - 20) / 2) - 1 Then
temp_id_y = ((Radar.size.X - 20) / 2) - 1
Else
If temp_id_y < -((Radar.size.X - 20) / 2) + 1 Then
temp_id_y = -((Radar.size.X - 20) / 2) + 1
End If
End If
RadarData(i).valid = True
RadarData(i).position = New Point(temp_id_x, temp_id_y)
If RadarStruct(i).team = 2 Then
RadarData(i).color = Brushes.Red
Else
RadarData(i).color = New SolidBrush(Color.FromArgb(0, 130, 255))
End If
Else
RadarData(i).valid = False
End If
Next
Threading.Thread.Sleep(5)
End While
End Function
Function th2()
Dim temp_pos As Point
Dim pressed As Boolean = False
Dim locked As Boolean = False
While (1)
Me.TopMost = True
If GetAsyncKeyState(1) Then
If pressed = False Then
pressed = True
If MousePosition.X > Me.Location.X + Radar.position.X And MousePosition.X < Me.Location.X + Radar.position.X + Radar.size.X And MousePosition.Y > Me.Location.Y + Radar.position.Y And MousePosition.Y < Me.Location.Y + Radar.position.Y + Radar.size.Y Then
If locked = False Then
locked = True
temp_pos = New Point(MousePosition.X - Me.Location.X, MousePosition.Y - Me.Location.Y)
End If
End If
End If
If locked = True Then
Me.Location = New Point(MousePosition - temp_pos)
End If
Else
locked = False
pressed = False
End If
If GetAsyncKeyState(123) Then 'F12
End
End If
hprocess = Process.GetProcessesByName("hl2")
If hprocess.Length = 0 Then
End
End If
Me.Invalidate()
Threading.Thread.Sleep(5)
End While
End Function
End Class