Skocz do zawartości

Rekomendowane odpowiedzi

Func AimbotLoop()
	While True
	   If $aimbot = 1 Then
		If _ispressed($key, "user32.dll") OR $key = 0 Then
		$closestEntity = GetClosestTarget()
		If $closestEntity = 0 Then
			ContinueLoop
		 EndIf

		$hitbox = GetBonePos($closestEntity, $bone)
		$w2sHitbox = WorldToScreen($hitbox)
		$punchAngle = GetPunchAngle()

		If $w2sHitbox.X = 0 And $w2sHitbox.Y = 0 Then
			ContinueLoop
		Endif

	   $dy =   12
	   $dx =   12

		$w2sHitbox.X += $dx * $punchAngle.Y
		$w2sHitbox.Y -= $dy * $punchAngle.X

		$aimPoint = ScreenToDelta($w2sHitbox)
	    $Ingamesensitivity = _MemoryRead("float", GetLocalPlayer() + $dwSensitivity)
		$Pixels = ((0.22 * $Ingamesensitivity * 1) / $BustSpeed)

		 $TempAimpos = $aimPoint
		If ($TempAimpos.X > 1 And $TempAimpos.X < -1) Then
			$aimPoint.X = $TempAimpos.X
			$aimPoint.X /= -0.22
	    EndIf

		If($TempAimpos.Y > 1 And $TempAimpos.y < -1) Then
			$aimPoint.Y = $TempAimpos.Y
			$aimPoint.Y /= 0.22
	    EndIf

			If ($aimPoint.X > -120 OR $aimPoint.X  < 120 OR $aimPoint.Y > -120 OR $aimPoint.Y < 120) Then
			   _WinAPI_Mouse_Event($MOUSEEVENTF_MOVE, $aimPoint.X, $aimPoint.Y)
			EndIf

	  EndIf
	 EndIf
	 WEnd
EndFunc
Func ScreenToDelta($from)
	 $ScreenCenterX =    @desktopWidth / 2
    $ScreenCenterY =    @desktopHeight / 2
	$TargetX = 0
	$TargetY = 0
	$radiusx = $aimfov * ($ScreenCenterX / 100)
	$radiusy = $aimfov * ($ScreenCenterY / 100)
	If $from.X <> 0 Then
		If $from.X > $ScreenCenterX Then
			$TargetX = -($ScreenCenterX - $from.X)
			If $TargetX + $ScreenCenterX > $ScreenCenterX + $radiusx Then
			   $TargetX /= $aimsmooth;
				$TargetX = 0
			Endif
		EndIf

		If $from.X < $ScreenCenterX Then
			$TargetX = $from.X - $ScreenCenterX
			If $TargetX + $ScreenCenterX < $ScreenCenterX - $radiusx Then
				$TargetX = 0;
			EndIf
		Endif
	EndIf

	If $from.Y <> 0 Then
		If $from.Y > $ScreenCenterY Then
			$TargetY = -($ScreenCenterY - $from.Y)
			If $TargetY + $ScreenCenterY > $ScreenCenterY + $radiusy Then
			   $TargetY /= $aimsmooth;
				$TargetY = 0
			EndIf
		EndIf

		If $from.Y < $ScreenCenterY Then
			$TargetY = $from.Y - $ScreenCenterY
			If $TargetY + $ScreenCenterY < $ScreenCenterY - $radiusy Then
				$TargetY = 0
			EndIf
		EndIf
	 EndIf

	 $TargetX /= $aimsmooth
	 $TargetY /= $aimsmooth

	  if (Abs($TargetX) < 1) Then
		 if ($TargetX > 0) Then
            $TargetX = 1
		 EndIf
		 if ($TargetX < 0) Then
             $TargetX = -1
		 EndIf
	  EndIf
	  if (Abs($TargetY) < 1) Then
		 if ($TargetY > 0) Then
			$TargetY = 1
		 EndIf
	     if ($TargetY < 0) Then
			$TargetY = -1
	     EndIf
	  EndIf

	$to = DllStructCreate("struct; float X; float Y; endstruct")
	$to.X = $TargetX
	$to.Y = $TargetY
	Return $to
EndFunc

 

Func WorldToScreen($from)
	$vMatrix = _MemoryReadStruct($ViewMatrix, $ClientDll + $ViewMatrixOffset)
	$vec2 = DllStructCreate("struct; float X; float Y; endstruct")
	$vec2.X = 0.0
	$vec2.Y = 0.0

	$m41 = $vMatrix.M41 * $from.X + $vMatrix.M42 * $from.Y + $vMatrix.M43 * $from.Z + $vMatrix.M44;
	If $m41 >= 0.01 Then
		$single = 1 / $m41;
		$m11 = ($vMatrix.M11 * $from.X + $vMatrix.M12 * $from.Y + $vMatrix.M13 * $from.Z + $vMatrix.M14) * $single
		$m21 = ($vMatrix.M21 * $from.X + $vMatrix.M22 * $from.Y + $vMatrix.M23 * $from.Z + $vMatrix.M24) * $single
		$vec2.X = ($m11 + 1) * 0.5 *   @desktopWidth
		$vec2.Y = ($m21 - 1) * -0.5 *   @desktopHeight
	EndIf

	Return $vec2
EndFunc

Func GetClosestTarget()
	$returnEntity = 0
	$maxDistance = 99999999.0
	$lp = GetLocalPlayer()

	For $i = 0 To 64
		$currentEntity = _MemoryRead("int", $ClientDll + $EntityList + ($i * 0x10))
		If $currentEntity = 0 Then
			ContinueLoop
		 EndIf

		If IsDormant($currentEntity) Then
			ContinueLoop
		 EndIf

		 If IsSpotted($lp) = IsSpotted($currentEntity) Then
			ContinueLoop
		EndIf

		If GetTeam($lp) = GetTeam($currentEntity) Then
			ContinueLoop
		EndIf
		If GetHealth($currentEntity) < 1 Then
			ContinueLoop
		 EndIf

		$hitbox = GetBonePos($currentEntity, $bone)
		$w2sHitbox = WorldToScreen($hitbox)

		$distance = DistanceBetweenCross($w2sHitbox.X, $w2sHitbox.Y, $w2sHitbox.Z)

		If $distance < $maxDistance Then
			$maxDistance = $distance
			$returnEntity = $currentEntity
		EndIf
	Next

	Return $returnEntity
EndFunc

Chciałbym RCS poprawić ale niestety nie mam pojęcia jak, próbowałem różnych sposobów i żaden nie działa.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi

To jest AutoIT, problem polega na tym, że rcs jest tak strasznie słaby. 

$dy = 12

$dx = 12

$w2sHitbox.X += $dx * $punchAngle.Y

$w2sHitbox.Y -= $dy * $punchAngle.X



$aimPoint = ScreenToDelta($w2sHitbox)

dy i dx było rozdzielczość X / 90 i rozdzielczość y / 90, próbowałem znaleźć wartości, które by odpowiadały za perfekcyjny rcs jak w c++ mypunch * 2.f. Niestety ten rcs na blisko jako tako jest OK, a na dalekie odległości niby hitbox jest na głowę a strzela po nogach bo RCS. 

 

Nie potrafię zrobić rcs aby był podobny do tego w cheatach napisanych w c++

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.


×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Regulamin. Polityka prywatności