#NoEnv
SetBatchLines, -1 ; МАКСИМАЛЬНАЯ СКОРОСТЬ СКРИПТА ( -1 ), НОРМАЛЬНАЯ СКОРОСТЬ СКРИПТА ( 5ms )
;_________________СКАЧИВАЕТ ФАЙЛ С ОФФСЕТАМИ В ПАПКУ TEMP(C:) И УДАЛЯЕТ ЕГО_________________
FileDelete, %A_Temp%/Offsets.ini
UrlDownloadToFile, https://raw.githubusercontent.com/frk1/hazedumper/master/csgo.toml, %A_Temp%/Offsets.ini
;__________________________ЧИТАЕТ ОФФСЕТЫ Hazedumper__________________________
IniRead, dwLocalPlayer, %A_Temp%/Offsets.ini, signatures, dwLocalPlayer
IniRead, dwEntityList, %A_Temp%/Offsets.ini, signatures, dwEntityList
IniRead, dwGlowObjectManager, %A_Temp%/Offsets.ini, signatures, dwGlowObjectManager
IniRead, m_iGlowIndex, %A_Temp%/Offsets.ini, netvars, m_iGlowIndex
IniRead, m_iTeamNum, %A_Temp%/Offsets.ini, netvars, m_iTeamNum
DllName = client.dll
;_____________________________________________________________________________
;__________________________ЗАПИСЫВАЕТ В CFG MAX_PLAYER И All_Glow__________________________
IniRead, MAX_PLAYER, CFG.INI, CFG, МАКСИМАЛЬНОЕ КОЛИЧЕСТВО ИГРОКОВ, 16
IniWrite, %MAX_PLAYER%, CFG.INI, CFG, МАКСИМАЛЬНОЕ КОЛИЧЕСТВО ИГРОКОВ
IniRead, All_Glow, CFG.INI, CFG, ПОДСВЕТКА ВСЕХ ИГРОКОВ, off
IniWrite, %All_Glow%, CFG.INI, CFG, ПОДСВЕТКА ВСЕХ ИГРОКОВ
;__________________________________________________________________________________________
;_________________________ЗАПИСЫВАЕТ В CFG ЦВЕТА ПЕРСОВ И ЯРКОСТЬ__________________________
; ТЕРРОРИСТЫ:
IniRead, red_t, CFG.INI, CFG, КРАСНЫЙ ТЕРРОРИСТОВ , 1
IniWrite, %red_t%, CFG.INI, CFG, КРАСНЫЙ ТЕРРОРИСТОВ
IniRead, green_t, CFG.INI, CFG, ЗЕЛЕНЫЙ ТЕРРОРИСТОВ, 0
IniWrite, %green_t%, CFG.INI, CFG, ЗЕЛЕНЫЙ ТЕРРОРИСТОВ
IniRead, blue_t, CFG.INI, CFG, СИНИЙ ТЕРРОРИСТОВ, 0
IniWrite, %blue_t%, CFG.INI, CFG, СИНИЙ ТЕРРОРИСТОВ
IniRead, Alpha_t, CFG.INI, CFG, ЯРКОСТЬ ТЕРРОРИСТОВ, 1
IniWrite, %Alpha_t%, CFG.INI, CFG, ЯРКОСТЬ ТЕРРОРИСТОВ
; СПЕЦНАЗ:
IniRead, red_ct, CFG.INI, CFG, КРАСНЫЙ СПЕЦОВ, 0
IniWrite, %red_ct%, CFG.INI, CFG, КРАСНЫЙ СПЕЦОВ
IniRead, green_ct, CFG.INI, CFG, ЗЕЛЕНЫЙ СПЕЦОВ, 0
IniWrite, %green_ct%, CFG.INI, CFG, ЗЕЛЕНЫЙ СПЕЦОВ
IniRead, blue_ct, CFG.INI, CFG, СИНИЙ СПЕЦОВ, 1
IniWrite, %blue_ct%, CFG.INI, CFG, СИНИЙ СПЕЦОВ
IniRead, Alpha_ct, CFG.INI, CFG, ЯРКОСТЬ СПЕЦОВ, 1
IniWrite, %Alpha_ct%, CFG.INI, CFG, ЯРКОСТЬ СПЕЦОВ
;__________________________________________________________________________________________
;____________________________________ПРОВЕРЯЕТ ЗАПУЩЕНА ЛИ ИГРА, ЕСЛИ НЕТ ЗАПУСКАЕТ____________________________________
Loop
{
Process, Exist, csgo.exe
PID = %ErrorLevel%
if (PID = 0)
{
Run, steam://rungameid/730
Process, Wait, csgo.exe, 120
PID = %ErrorLevel%
if (PID == 0)
{
MsgBox, 48, Трудности с запуском игры..., Попробуй запустить игру вручную`, после чего запусти скрипт!
ExitApp
}
}
else
{
break
}
}
try_dll := 0
Loop
{
Client := GetDllBase(DllName, PID)
if (Client == 0 and try_dll <= 60)
{
Sleep 2000
try_dll++
}
else if (Client == 0 and try_dll > 60)
{
MsgBox, 48, Не найдена Dll..., Возможно данные хранятся не на client.dll
ExitApp
}
else
{
break
}
}
;______________________________________________________________________________________________________________________
ProcessHandle := DllCall("OpenProcess", "int", 2035711, "char", 0, "UInt", PID, "UInt")
Loop
{
For i in range(1, MAX_PLAYER) ; 0 - Я, 1 и больше - остальные! MAX_PLAYER - лимит игроков (чем больше, тем больше багов подсветки)
{
LocalGamer := ReadMemory(Client + dwLocalPlayer, PID, ProcessHandle) ; Я
EntGamer := ReadMemory(Client + dwEntityList + i * 0x10, PID, ProcessHandle) ; Все
GlowIndex := ReadMemory(EntGamer + m_iGlowIndex, PID, ProcessHandle) ; Индекс подсветки сущностей
GlowManager := ReadMemory(Client + dwGlowObjectManager, PID, ProcessHandle) ; Хуита
MyTeam := ReadMemory(LocalGamer + m_iTeamNum, PID, ProcessHandle) ; Моя команда
EntTeam := ReadMemory(EntGamer + m_iTeamNum, PID, ProcessHandle) ; Команда противника
if (All_Glow == "off") ; Если подсветка всех игроков выключена - светить противника!
{
if (MyTeam == 3 and EntTeam == 2) ; Если моя команда - специ и вражеская команда - терры
{
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x8, red_t, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0xC, green_t, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x10, blue_t, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x14, Alpha_t, ProcessHandle)
WriteMemoryUChar(GlowManager + (GlowIndex * 0x38) + 0x28, 1, ProcessHandle)
}
else if (MyTeam == 2 and EntTeam == 3) ; Если моя команда - терры и вражеская команда - специ
{
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x8, red_ct, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0xC, green_ct, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x10, blue_ct, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x14, Alpha_ct, ProcessHandle)
WriteMemoryUChar(GlowManager + (GlowIndex * 0x38) + 0x28, 1, ProcessHandle)
}
}
else ; Если подсветка всех игроков включена - светить всех!
{
if (EntTeam == 2) ; Если вражеская команда - терры
{
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x8, red_t, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0xC, green_t, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x10, blue_t, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x14, Alpha_t, ProcessHandle)
WriteMemoryUChar(GlowManager + (GlowIndex * 0x38) + 0x28, 1, ProcessHandle)
}
else if (EntTeam == 3) ; Если вражеская команда - специ
{
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x8, red_ct, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0xC, green_ct, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x10, blue_ct, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x14, Alpha_ct, ProcessHandle)
WriteMemoryUChar(GlowManager + (GlowIndex * 0x38) + 0x28, 1, ProcessHandle)
}
}
}
}
Left::
{
if (MyTeam == 3)
{
red_t := red_t + 0.02
if (red_t >= 1)
{
red_t := 1
}
IniWrite, %red_t%, CFG.INI, CFG, КРАСНЫЙ ТЕРРОРИСТОВ
}
if (MyTeam == 2)
{
red_ct := red_ct + 0.02
if (red_ct >= 1)
{
red_ct := 1
}
IniWrite, %red_ct%, CFG.INI, CFG, КРАСНЫЙ СПЕЦОВ
}
}
return
^Left::
{
if (MyTeam == 3)
{
red_t := red_t - 0.02
if (red_t <= 0)
{
red_t := 0
}
IniWrite, %red_t%, CFG.INI, CFG, КРАСНЫЙ ТЕРРОРИСТОВ
}
else if (MyTeam == 2)
{
red_ct := red_ct - 0.02
if (red_ct <= 0)
{
red_ct := 0
}
IniWrite, %red_ct%, CFG.INI, CFG, КРАСНЫЙ СПЕЦОВ
}
}
return
Down::
{
if (MyTeam == 3)
{
green_t := green_t + 0.02
if (green_t >= 1)
{
green_t := 1
}
IniWrite, %green_t%, CFG.INI, CFG, ЗЕЛЕНЫЙ ТЕРРОРИСТОВ
}
else if (MyTeam == 2)
{
green_ct := green_ct + 0.02
if (green_ct >= 1)
{
green_ct := 1
}
IniWrite, %green_ct%, CFG.INI, CFG, ЗЕЛЕНЫЙ СПЕЦОВ
}
}
return
^Down::
{
if (MyTeam == 3)
{
green_t := green_t - 0.02
if (green_t <= 0)
{
green_t := 0
}
IniWrite, %green_t%, CFG.INI, CFG, ЗЕЛЕНЫЙ ТЕРРОРИСТОВ
}
else if (MyTeam == 2)
{
green_ct := green_ct - 0.02
if (green_ct <= 0)
{
green_ct := 0
}
IniWrite, %green_ct%, CFG.INI, CFG, ЗЕЛЕНЫЙ СПЕЦОВ
}
}
return
Right::
{
if (MyTeam == 3)
{
blue_t := blue_t + 0.02
if (blue_t >= 1)
{
blue_t := 1
}
IniWrite, %blue_t%, CFG.INI, CFG, СИНИЙ ТЕРРОРИСТОВ
}
else if (MyTeam == 2)
{
blue_ct := blue_ct + 0.02
if (blue_ct >= 1)
{
blue_ct := 1
}
IniWrite, %blue_ct%, CFG.INI, CFG, СИНИЙ СПЕЦОВ
}
}
return
^Right::
{
if (MyTeam == 3)
{
blue_t := blue_t - 0.02
if (blue_t <= 0)
{
blue_t := 0
}
IniWrite, %blue_t%, CFG.INI, CFG, СИНИЙ ТЕРРОРИСТОВ
}
else if (MyTeam == 2)
{
blue_ct := blue_ct - 0.02
if (blue_ct <= 0)
{
blue_ct := 0
}
IniWrite, %blue_ct%, CFG.INI, CFG, СИНИЙ СПЕЦОВ
}
}
return
Up::
{
if (MyTeam == 3)
{
Alpha_t := Alpha_t + 0.02
if (Alpha_t >= 1)
{
Alpha_t := 1
}
IniWrite, %Alpha_t%, CFG.INI, CFG, ЯРКОСТЬ ТЕРРОРИСТОВ
}
else if (MyTeam == 2)
{
Alpha_ct := Alpha_ct + 0.02
if (Alpha_ct >= 1)
{
Alpha_ct := 1
}
IniWrite, %Alpha_ct%, CFG.INI, CFG, ЯРКОСТЬ СПЕЦОВ
}
}
return
^Up::
{
if (MyTeam == 3)
{
Alpha_t := Alpha_t - 0.02
if (Alpha_t <= 0)
{
Alpha_t := 0
}
IniWrite, %Alpha_t%, CFG.INI, CFG, ЯРКОСТЬ ТЕРРОРИСТОВ
}
else if (MyTeam == 2)
{
Alpha_ct := Alpha_ct - 0.02
if (Alpha_ct <= 0)
{
Alpha_ct := 0
}
IniWrite, %Alpha_ct%, CFG.INI, CFG, ЯРКОСТЬ СПЕЦОВ
}
}
return
; ////////////////////////// НЕ ТРОГАТЬ \\\\\\\\\\\\\\\\\\\\\\\\\\
range(from, to)
{
range := {}
if (from < to)
While, (from <= to)
range[from++] := A_Index
else
While, (from >= to)
range[from--] := A_Index
return range
}
GetDllBase(DllName, PID = 0)
{
SetFormat, Integer, Hex
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)
{
SetFormat, Integer, D
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)
SetFormat, Integer, D
Return NumGet(&me32 + 20)
}
}
}
DllCall("CloseHandle", "Uint", snapMod)
SetFormat, Integer, D
Return 0
}
WriteMemory(address, newval, ProcessHandle)
{
return DllCall("WriteProcessMemory", "UInt", processhandle, "UInt", address, "UInt*", newval, "UInt", 4, "UInt *", 0)
}
WriteMemoryUChar( adress, value, processhandle)
{
return DllCall("WriteProcessMemory", "Ptr", ProcessHandle, "Ptr", adress, "UChar*", value, "Ptr", 1, "Ptr", 0)
}
ReadMemory(MADDRESS, PID = 0, ProcessHandle = -1)
{
VarSetCapacity(MVALUE,4,0)
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",MADDRESS,"Str",MVALUE,"UInt",4,"UInt *",0)
Loop 4
result += *(&MVALUE + A_Index-1) << 8*(A_Index-1)
SetFormat, Integer, D
return, result
}
WriteMemoryfloat(adress, value, ProcessHandle)
{
return DllCall("WriteProcessMemory", "UInt", ProcessHandle, "UInt", adress, "float*", value, "Uint", 4, "Uint *", 0)
}
~*End::ExitApp
return