Counter-Strike Source Aimbot

05/10/2013 21:19 fishbone105#1
Hallo Leute!

Ich habe für CSS einen Aimbot geschrieben. Der funktioniert auf meinem eigenen Lan Server ganz ok wenn ich nur einen Bot als Gegner habe.
Das Problem ist , dass ich keine Ahnung habe wie ich die Koordinaten von mehreren Gegnern bekommen kann.

Wäre super nett wenn mir jemand helfen kann :handsdown:



Code:
#include <NomadMemory.au3>
#include <Misc.au3>

HotKeySet("]","_exit")


Global $eny = 0.000
Global $enx = 0.000
Global $enz = 0.000

Global $rot = 0x203953B4 ;Kamera X
Global $rotz = 0x203953B0 
Global $pi = 3.141592653589793238462643383279502884197169399375105820974944592
Global $bvisy = 0x243EBED0 ;Base Adresse Y Position
Global $bvisx = 0x243EBECC ;Base Adresse X Position
Global $bvisz = 0x243EBED4 ;Base Adresse Z Position
Global $benb = 0x225A4228 ;Der Erste Gegner der auf den Server joind Adresse ..
Global $benyo[2] = [0,0x3968] ;Gegner Y Offset
Global $benxo[2] = [0,0x3964] ;Gegner X Offset
Global $benzo[2] = [0,0x396C] ;Gegner Z Offset

Global $ang = 0.0 ;Winkel in rad
Global $angdeg = 0.0 ;Winkel in deg
Global $angz = 0.0
Global $angzdeg = 0.0




ConsoleWrite("processwait" & @CRLF)
ProcessWait("hl2.exe")
ConsoleWrite("process pid" & @CRLF)
Global $pid = ProcessExists("hl2.exe") 
ConsoleWrite("pid : " &$pid & @CRLF)



Global $open = _MemoryOpen($pid)
while 1

	$visx = _MemoryRead($bvisx,$open,"Float") ;Gegner X Offset
	$visy = _MemoryRead($bvisy,$open,"Float") ;Gegner Y Offset
	$visz = _MemoryRead($bvisz,$open,"Float") ;Gegner Z Offset

	$enx = _MemoryPointerRead($benb,$open,$benxo,"Float") ;Gegner X
	$eny = _MemoryPointerRead($benb,$open,$benyo,"Float") ;Gegner Y
	$enz = _MemoryPointerRead($benb,$open,$benzo,"Float") ;Gegner Z
	$enh = _MemoryRead($hb,$open)

	$dist = sqrt((($visx-$enx[1])^2)+(($visy-$eny[1])^2)) ; Distanz zwischen mir und dem gegner

		$diffz = $visz - $enz[1]
		$diffz = $diffz - 55 
	if _IsPressed("12") then
		
		
		$angx = ATan(($visy-$eny[1])/($visx-$enx[1])) ;Kamera winkel erechnen X
		$angdeg = $angx/$pi*180 ;Ditto
		
		if $enx[1] < $visx then
			$angdeg = $angdeg + 180
		EndIf
		
		if $angdeg > 180 then 
			$angdeg = $angdeg -360 
		EndIf


		_MemoryWrite($rot,$open,$angdeg,"Float") ; Kamera X in den speicher machen tun
			
		$angz = sin($diffz/$dist)
		$angzdeg = $angz * 180.0000000000/$pi

		_MemoryWrite($rotz,$open,$angzdeg,"Float")

	endif		

	sleep(5)
WEnd


func _exit()
	_MemoryClose($open)
		exit
EndFunc
05/11/2013 14:36 cяαzуℓυмι#2
Ich habs zwar nicht ausprobiert, aber es gibt ein Wert, der von 0 auf 2 springt, wenn man auf den Gegner zielt. Wäre es nicht leichter diesen einfach auf 2 zu schreiben? Ich kann dir zwar nicht sagen, ob das geht, kannst aber mal ausprobieren!