Add files via upload
This commit is contained in:
124
utils/chams.py
Normal file
124
utils/chams.py
Normal file
@@ -0,0 +1,124 @@
|
||||
import pymem
|
||||
import pymem.process
|
||||
import keyboard
|
||||
import time
|
||||
import re, sys
|
||||
from Offsets import *
|
||||
sys.path.insert(1, "classes/")
|
||||
from features_reads import read
|
||||
import features_check
|
||||
|
||||
class chams() :
|
||||
def __init__(self) :
|
||||
self.pm = pymem.Pymem("csgo.exe")
|
||||
self.base_client = pymem.process.module_from_name(self.pm.process_handle, "client.dll").lpBaseOfDll
|
||||
self.base_engine = pymem.process.module_from_name(self.pm.process_handle, "engine.dll").lpBaseOfDll
|
||||
self.dye_em()
|
||||
|
||||
def get_class_id(self, entity):
|
||||
buffer = self.pm.read_int(entity + 8)
|
||||
buffer = self.pm.read_int(buffer + 2 * 4)
|
||||
buffer = self.pm.read_int(buffer + 1)
|
||||
return self.pm.read_int(buffer + 20)
|
||||
|
||||
def get_entity_team(self, entity):
|
||||
return self.pm.read_int(entity + m_iTeamNum)
|
||||
|
||||
def dye_em(self):
|
||||
glowmax = self.pm.read_int(self.base_client + dwGlowObjectManager + 4)
|
||||
glow_object = self.pm.read_int(self.base_client + dwGlowObjectManager)
|
||||
local_player = self.pm.read_int(self.base_client + dwLocalPlayer)
|
||||
|
||||
read("chams")
|
||||
first = True
|
||||
|
||||
while features_check.check.chams_active :
|
||||
read("chams")
|
||||
|
||||
local_player_team = self.get_entity_team(local_player)
|
||||
allies_color_rgba = self.rgba(features_check.check.allies_chams_color)
|
||||
ennemies_color_rgba = self.rgba(features_check.check.ennemies_chams_color)
|
||||
|
||||
for i in range(glowmax):
|
||||
try:
|
||||
entity = self.pm.read_int(glow_object + 56 * i)
|
||||
if entity != 0 :
|
||||
if self.get_class_id(entity) == 40:
|
||||
entity_team = self.get_entity_team(entity)
|
||||
entity_hp = self.pm.read_int(entity + m_iHealth)
|
||||
|
||||
if features_check.check.chams_health_based :
|
||||
|
||||
if entity_hp == 100 :
|
||||
allies_color_rgba = self.rgba("[0, 1, 0, 1]")
|
||||
ennemies_color_rgba = self.rgba("[0, 1, 0, 1]")
|
||||
if entity_hp < 100 :
|
||||
if entity_hp > 75:
|
||||
ennemies_color_rgba = self.rgba("[0.30, 1, 0, 1]")
|
||||
allies_color_rgba = self.rgba("[0.30, 1, 0, 1]")
|
||||
if entity_hp < 75:
|
||||
ennemies_color_rgba = self.rgba("[0.70, 0.30, 0, 1]")
|
||||
allies_color_rgba = self.rgba("[0.70, 0.30, 0, 1]")
|
||||
if entity_hp < 50 :
|
||||
ennemies_color_rgba = self.rgba("[1, 0.10, 0, 1]")
|
||||
allies_color_rgba = self.rgba("[1, 0.10, 0, 1]")
|
||||
if entity_hp < 25 :
|
||||
ennemies_color_rgba = self.rgba("[1, 0, 0, 1]")
|
||||
allies_color_rgba = self.rgba("[1, 0, 0, 1]")
|
||||
if entity_hp == 1 :
|
||||
ennemies_color_rgba = self.rgba("[1, 1, 1, 1]")
|
||||
allies_color_rgba = self.rgba("[1, 1, 1, 1]")
|
||||
|
||||
if features_check.check.chams_allies :
|
||||
if entity_team == local_player_team and entity_team != 0 and entity != local_player:
|
||||
|
||||
self.pm.write_uchar(entity + 112, allies_color_rgba[0])
|
||||
self.pm.write_uchar(entity + 113, allies_color_rgba[1])
|
||||
self.pm.write_uchar(entity + 114, allies_color_rgba[2])
|
||||
|
||||
if not features_check.check.chams_allies :
|
||||
if entity_team == local_player_team and entity_team != 0 and entity != local_player:
|
||||
self.pm.write_uchar(entity + 112, 255)
|
||||
self.pm.write_uchar(entity + 113, 255)
|
||||
self.pm.write_uchar(entity + 114, 255)
|
||||
|
||||
if features_check.check.chams_ennemies :
|
||||
|
||||
if entity_team != local_player_team and entity_team != 0 and entity != local_player:
|
||||
|
||||
self.pm.write_uchar(entity + 112, ennemies_color_rgba[0])
|
||||
self.pm.write_uchar(entity + 113, ennemies_color_rgba[1])
|
||||
self.pm.write_uchar(entity + 114, ennemies_color_rgba[2])
|
||||
|
||||
if not features_check.check.chams_ennemies :
|
||||
if entity_team != local_player_team and entity_team != 0 and entity != local_player:
|
||||
self.pm.write_uchar(entity + 112, 255)
|
||||
self.pm.write_uchar(entity + 113, 255)
|
||||
self.pm.write_uchar(entity + 114, 255)
|
||||
|
||||
|
||||
if first == True :
|
||||
b = 1084227584
|
||||
|
||||
pointer = self.pm.read_int(self.base_engine + model_ambient_min - 44)
|
||||
xored = b ^ pointer
|
||||
self.pm.write_int(self.base_engine + model_ambient_min, xored)
|
||||
first = False
|
||||
|
||||
time.sleep(0.002)
|
||||
|
||||
except Exception as e :
|
||||
pass
|
||||
|
||||
self.pm.close_process()
|
||||
|
||||
|
||||
def rgba(self, string) :
|
||||
string = str(string)
|
||||
string = string.strip('][').split(', ')
|
||||
|
||||
string[0] = int(round((float(string[0])*255.0)/1.0, 0))
|
||||
string[1] = int(round((float(string[1])*255.0)/1.0, 0))
|
||||
string[2] = int(round((float(string[2])*255.0)/1.0, 0))
|
||||
|
||||
return string
|
||||
Reference in New Issue
Block a user