5 ночей на aim_ag_texture2
-
Автор темы
- #1
не ожидайте что будете бхопить как с sv_autobunnyhopping 1, даже если этот скрипт работает как экстернал автобхоп то он все равно не работает как должен
работает только на ANSI 32-bit версии autohotkey
-
dont expect that you are going to bunnyhop like with sv_autobunnyhopping 1, even if this script works like an external autobhop it still doesnt work as expected
only works on ANSI 32-bit version of autohotkey
работает только на ANSI 32-bit версии autohotkey
-
dont expect that you are going to bunnyhop like with sv_autobunnyhopping 1, even if this script works like an external autobhop it still doesnt work as expected
only works on ANSI 32-bit version of autohotkey
Код:
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
; SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
Process = csgo.exe
DLLName = client_panorama.dll
; you need to update these every csgo update (except dwFlags)
dwLocalPlayer := 0xC5B80C
dwFlags := 0x100
dwJump := 0x50DAC70
Process, Exist, %Process%
ProcessID = %ErrorLevel%
if (!ProcessID)
{
MsgBox, [!] CS:GO is not running!
ExitApp
}
ProcessHandle := GetProcessHandle("Counter-Strike: Global Offensive")
if (!ProcessHandle)
{
MsgBox, [!] Failed to get handle!
ExitApp
}
Client := GetDllBase(DLLName, ProcessID)
if (!Client)
{
MsgBox, [!] Failed to get %DLLName% from %Process%!
ExitApp
}
; 256 -> jumping
; 257 -> standing
; 262 -> jumping and crouching
; 263 -> crouching
LocalPlayer := ReadMemory(Client + dwLocalPlayer, ProcessHandle)
Loop
{
Flags := ReadMemory(LocalPlayer + dwFlags, ProcessHandle)
if (GetKeyState("Space") and Flags != 256 and Flags != 262)
WriteMemory(Client + dwJump, 6, ProcessHandle)
}
ExitApp
; needed functions - dont touch unless you know what youre doing
GetProcessHandle(name)
{
winget, pid, PID, %name%
h := DllCall("OpenProcess", "int", 2035711, "char", 0, "UInt", pid, "UInt")
return, h
}
WriteMemory(address, newval, processhandle)
{
return DllCall("WriteProcessMemory", "UInt", processhandle, "UInt", address, "UInt*", newval, "UInt", 4, "UInt *", 0)
}
ReadMemory(address, processhandle)
{
VarSetCapacity(addr,4,0)
DllCall("ReadProcessMemory", "UInt", processhandle, "UInt", address, "Str", addr, "UInt", 4, "UInt *", 0)
Loop 4
result += *(&addr + A_Index-1) << 8*(A_Index-1)
return, result
}
GetDllBase(DllName, PID = 0)
{
TH32CS_SNAPMODULE := 0x00000008
INVALID_HANDLE_VALUE = -1
VarSetCapacity(me32, 548, 0)
NumPut(548, me32)
snapMod := DllCall("CreateToolhelp32Snapshot", "Uint", TH32CS_SNAPMODULE
, "Uint", PID)
If (snapMod = INVALID_HANDLE_VALUE) {
Return 0
}
If (DllCall("Module32First", "Uint", snapMod, "Uint", &me32)){
while(DllCall("Module32Next", "Uint", snapMod, "UInt", &me32)) {
If !DllCall("lstrcmpi", "Str", DllName, "UInt", &me32 + 32) {
DllCall("CloseHandle", "UInt", snapMod)
Return NumGet(&me32 + 20)
}
}
}
DllCall("CloseHandle", "Uint", snapMod)
Return 0
}
Последнее редактирование: