├── Classes ├── PlayerVars.py ├── Ui.py └── Vector3.py ├── Configs └── testconfig ├── MatFunctions └── MathPy.py ├── OldVersion └── OldCheatVersion.py ├── ProjectX_V2.py ├── README.md ├── TUTORIAL.txt ├── Utils ├── Aimbot.py ├── Autostrafe.py ├── Bhop.py ├── Chams.py ├── Offsets.py ├── Triggerbot.py ├── Utilities.py ├── WallhackFunctions.py └── rcs.py ├── installer.py ├── nets ├── get_netvars.py ├── netvar_manager.py ├── netvars.json └── recv_classes.py ├── offsets └── offsets.json └── requirements.txt /Classes/PlayerVars.py: -------------------------------------------------------------------------------- 1 | from Utils.Offsets import * 2 | 3 | 4 | def GetPlayerVars(pm, client, engine, engine_pointer): 5 | player = pm.read_uint(client + dwLocalPlayer) 6 | engine_pointer = pm.read_uint(engine + dwClientState) 7 | glow_manager = pm.read_uint(client + dwGlowObjectManager) 8 | crosshairid = pm.read_uint(player + m_iCrosshairId) 9 | getcrosshairtarget = pm.read_uint(client + dwEntityList + (crosshairid - 1) * 0x10) 10 | immunitygunganme = pm.read_uint(getcrosshairtarget + m_bGunGameImmunity) 11 | localteam = pm.read_uint(player + m_iTeamNum) 12 | crosshairteam = pm.read_uint(getcrosshairtarget + m_iTeamNum) 13 | y_angle = pm.read_float(engine_pointer + dwClientState_ViewAngles + 0x4) 14 | 15 | return player, engine_pointer, glow_manager, crosshairid, getcrosshairtarget, immunitygunganme, localteam, \ 16 | crosshairteam, y_angle 17 | 18 | # Cleaned most of this file, 19 | # This file is now working. 20 | # Last update 2022,Jan,10 21 | -------------------------------------------------------------------------------- /Classes/Ui.py: -------------------------------------------------------------------------------- 1 | import ctypes 2 | import keyboard 3 | import configparser 4 | import os.path 5 | from PyQt5 import QtCore, QtGui, QtWidgets 6 | from Utils.Utilities import strtobool, is_key, is_mouse 7 | 8 | # Cleaned most of this file, 9 | # This file is working. 10 | # Last update 2022,Jan,10 11 | 12 | 13 | class Ui_MainWindow(object): 14 | def __init__(self): 15 | self.Trigger = False 16 | self.Wallhack = False 17 | self.Bhop = False 18 | self.Noflash = False 19 | self.Togglefov = False 20 | self.Triggerkey = "" 21 | self.Fov = False 22 | self.Fovkey = "" 23 | self.Radar = False 24 | self.Aimbot = False 25 | self.Silentaim = False 26 | self.Baim = False 27 | self.Fovt = int() 28 | self.auto_strafe = False 29 | self.WRGB = [0, 0, 0] 30 | self.Ergb = [0, 0, 0] 31 | self.Argb = [0, 0, 0] 32 | self.Allies = False 33 | self.Enemies = False 34 | self.Healthbased = False 35 | self.RCS = False 36 | self.AimRCS = False 37 | self.Aimfov = int() 38 | self.Fovvaluke = int() 39 | self.Aimbotkey = str() 40 | self.Holdfov = False 41 | self.Eteam = False 42 | self.Chams = False 43 | self.spotted = False 44 | self.healthbasedWH = False 45 | self.sens = 0 # for testing 0.5 to 1.5 46 | self.random = 0 # for testing 5 to 25 47 | self.legitvar = False 48 | 49 | def legit(self): 50 | self.legitvar = True 51 | self.checkBox.setChecked(False) 52 | self.checkBox_2.setChecked(True) 53 | self.checkBox_3.setChecked(False) 54 | self.checkBox_4.setChecked(True) 55 | self.checkBox_5.setChecked(False) 56 | self.checkBox_6.setChecked(True) 57 | self.checkBox_7.setChecked(True) 58 | self.checkBox_8.setChecked(False) 59 | self.checkBox_9.setChecked(False) 60 | self.checkBox_10.setChecked(False) 61 | self.checkBox_11.setChecked(False) 62 | self.checkBox_12.setChecked(True) 63 | self.checkBox_13.setChecked(False) 64 | self.checkBox_14.setChecked(True) 65 | self.checkBox_15.setChecked(False) 66 | self.checkBox_16.setChecked(False) 67 | self.checkBox_17.setChecked(False) 68 | self.checkBox_18.setChecked(False) 69 | self.checkBox_19.setChecked(True) 70 | self.comboBox.setCurrentText("GREEN") 71 | self.comboBox_2.setCurrentText("GREEN") 72 | self.lineEdit.setText("8") 73 | self.lineEdit_6.setText("30") 74 | self.lineEdit_7.setText("30") 75 | self.lineEdit_2.setText(self.lineEdit_8.text() if (is_key(self.lineEdit_8.text()) or is_mouse(self.lineEdit_8.text())) else "shift") 76 | self.update() 77 | 78 | def createConfig(self): 79 | self.update() 80 | config = configparser.ConfigParser() 81 | config["Visual"] = { 82 | "Glow": self.Wallhack, 83 | "GlowColor": self.comboBox_3.currentText(), 84 | "Chams": self.Chams, 85 | "Enemies": self.Enemies, 86 | "Teammates": self.Allies, 87 | "EColor": self.comboBox.currentText(), 88 | "AColor": self.comboBox_2.currentText(), 89 | "NoFlash": self.Noflash, 90 | "Radar": self.Radar, 91 | } 92 | config["MISC"] = { 93 | "FovChanger": self.Fov, 94 | "Hold": self.Holdfov, 95 | "FOVValue": self.Fovvaluke, 96 | "FovKey": self.Fovkey, 97 | "Bhop": self.Bhop, 98 | "AutoStrafe": self.auto_strafe 99 | } 100 | config["Aim"] = { 101 | "Aimbot": self.Aimbot, 102 | "RCSAim": self.AimRCS, 103 | "Silentaim": self.Silentaim, 104 | "BodyAim": self.Baim, 105 | "AimFov": self.Aimfov, 106 | "Spotted": self.spotted, 107 | "AimKey": self.Aimbotkey, 108 | "SmoothAim": self.smooth, 109 | "Smoothness": self.lineEdit_6.text(), 110 | "Random": self.checkBox_19.isChecked(), 111 | "Randomness": self.lineEdit_7.text(), 112 | "Triggerbot": self.Trigger, 113 | "Triggerkey": self.Triggerkey, 114 | "RCS": self.RCS 115 | } 116 | config["Legit"] = { 117 | "Legit": self.legitvar 118 | } 119 | self.filename = self.lineEdit_9.text() + ".ini" 120 | with open(f"./Configs/{self.filename}", "w+") as configfile: 121 | config.write(configfile) 122 | self.label_14.setText(self.lineEdit_9.text()) 123 | 124 | def loadConfig(self): 125 | config = configparser.ConfigParser() 126 | self.filename = self.lineEdit_10.text() + ".ini" 127 | self.filepath = f"./Configs/{self.filename}" 128 | if os.path.isfile(self.filepath): 129 | config.read(self.filepath) 130 | if strtobool(config["Legit"]["Legit"]): 131 | self.legit() 132 | else: 133 | try: 134 | self.checkBox.setChecked(strtobool(config["Visual"]["Glow"])) 135 | self.comboBox_3.setCurrentText(config["Visual"]["GlowColor"]) 136 | self.checkBox_2.setChecked(strtobool(config["Visual"]["Chams"])) 137 | self.checkBox_4.setChecked(strtobool(config["Visual"]["Enemies"])) 138 | self.checkBox_5.setChecked(strtobool(config["Visual"]["Teammates"])) 139 | self.comboBox.setCurrentText(config["Visual"]["EColor"]) 140 | self.comboBox_2.setCurrentText(config["Visual"]["AColor"]) 141 | self.checkBox_3.setChecked(strtobool(config["Visual"]["NoFlash"])) 142 | self.checkBox_6.setChecked(strtobool(config["Visual"]["Radar"])) 143 | self.checkBox_18.setChecked(strtobool(config["MISC"]["FovChanger"])) 144 | self.checkBox_15.setChecked(strtobool(config["MISC"]["Hold"])) 145 | self.lineEdit_3.setText(config["MISC"]["FOVValue"]) 146 | self.lineEdit_5.setText(config["MISC"]["FovKey"]) 147 | self.checkBox_16.setChecked(strtobool(config["MISC"]["Bhop"])) 148 | self.checkBox_17.setChecked(strtobool(config["MISC"]["AutoStrafe"])) 149 | self.checkBox_7.setChecked(strtobool(config["Aim"]["Aimbot"])) 150 | self.checkBox_8.setChecked(strtobool(config["Aim"]["RCSAim"])) 151 | self.checkBox_9.setChecked(strtobool(config["Aim"]["Silentaim"])) 152 | self.checkBox_10.setChecked(strtobool(config["Aim"]["BodyAim"])) 153 | self.lineEdit.setText(config["Aim"]["AimFov"]) 154 | self.checkBox_12.setChecked(strtobool(config["Aim"]["Spotted"])) 155 | self.lineEdit_2.setText(config["Aim"]["AimKey"]) 156 | self.checkBox_14.setChecked(strtobool(config["Aim"]["SmoothAim"])) 157 | self.lineEdit_6.setText(config["Aim"]["Smoothness"]) 158 | self.checkBox_19.setChecked(strtobool(config["Aim"]["Random"])) 159 | self.lineEdit_7.setText(config["Aim"]["Randomness"]) 160 | self.checkBox_13.setChecked(strtobool(config["Aim"]["Triggerbot"])) 161 | self.checkBox_11.setChecked(strtobool(config["Aim"]["RCS"])) 162 | self.lineEdit_4.setText(config["Aim"]["Triggerkey"]) 163 | except Exception as e: 164 | pass 165 | self.label_14.setText(self.lineEdit_10.text()) 166 | 167 | else: 168 | ctypes.windll.user32.MessageBoxW(0, "No file with this name exists", "Wrong File Error", 1) 169 | 170 | def saveConfig(self): 171 | self.filename = self.lineEdit_11.text() + ".ini" 172 | if os.path.isfile(f"./Configs/{self.filename}"): 173 | try: 174 | self.update() 175 | config = configparser.ConfigParser() 176 | config["Visual"] = { 177 | "Glow": self.Wallhack, 178 | "GlowColor": self.comboBox_3.currentText(), 179 | "Chams": self.Chams, 180 | "Enemies": self.Enemies, 181 | "Teammates": self.Allies, 182 | "EColor": self.comboBox.currentText(), 183 | "AColor": self.comboBox_2.currentText(), 184 | "NoFlash": self.Noflash, 185 | "Radar": self.Radar, 186 | } 187 | config["MISC"] = { 188 | "FovChanger": self.Fov, 189 | "Hold": self.Holdfov, 190 | "FOVValue": self.Fovvaluke, 191 | "FovKey": self.Fovkey, 192 | "Bhop": self.Bhop, 193 | "AutoStrafe": self.auto_strafe 194 | } 195 | config["Aim"] = { 196 | "Aimbot": self.Aimbot, 197 | "RCSAim": self.AimRCS, 198 | "Silentaim": self.Silentaim, 199 | "BodyAim": self.Baim, 200 | "AimFov": self.Aimfov, 201 | "Spotted": self.spotted, 202 | "AimKey": self.Aimbotkey, 203 | "SmoothAim": self.smooth, 204 | "Smoothness": self.lineEdit_6.text(), 205 | "Random": self.checkBox_19.isChecked(), 206 | "Randomness": self.lineEdit_6.text(), 207 | "Triggerbot": self.Trigger, 208 | "Triggerkey": self.Triggerkey, 209 | "RCS": self.RCS 210 | } 211 | config["Legit"] = { 212 | "Legit": self.legitvar 213 | } 214 | with open(f"./Configs/{self.filename}", "w") as configfile: 215 | config.write(configfile) 216 | self.label_14.setText(self.lineEdit_11.text()) 217 | except Exception as e: 218 | print(e) 219 | pass 220 | else: 221 | ctypes.windll.user32.MessageBoxW(0, "Create a new config file first", "This file doesnt exist", 1) 222 | 223 | def update(self): 224 | update = True 225 | while update: 226 | self.Wallhack = self.checkBox.isChecked() 227 | self.Chams = self.checkBox_2.isChecked() 228 | self.Noflash = self.checkBox_3.isChecked() 229 | self.Enemies = self.checkBox_4.isChecked() 230 | self.Allies = self.checkBox_5.isChecked() 231 | if self.comboBox.currentText() == "GREEN": 232 | self.Ergb = [0, 255, 0] 233 | elif self.comboBox.currentText() == "RED": 234 | self.Ergb = [255, 0, 0] 235 | elif self.comboBox.currentText() == "BLUE": 236 | self.Ergb = [0, 0, 255] 237 | elif self.comboBox.currentText() == "ORANGE": 238 | self.Ergb = [255, 69, 0] 239 | if self.comboBox_2.currentText() == "GREEN": 240 | self.Argb = [0, 255, 0] 241 | elif self.comboBox_2.currentText() == "RED": 242 | self.Argb = [255, 0, 0] 243 | elif self.comboBox_2.currentText() == "BLUE": 244 | self.Argb = [0, 0, 255] 245 | elif self.comboBox_2.currentText() == "ORANGE": 246 | self.Argb = [255, 69, 0] 247 | if self.comboBox_3.currentText() == "Healthbased": 248 | self.healthbasedWH = True 249 | self.WRGB = [0, 0, 0] 250 | elif self.comboBox_3.currentText() == "GREEN": 251 | self.healthbasedWH = False 252 | self.WRGB = [0, 255, 0] 253 | elif self.comboBox_3.currentText() == "RED": 254 | self.healthbasedWH = False 255 | self.WRGB = [255, 0, 0] 256 | elif self.comboBox_3.currentText() == "BLUE": 257 | self.healthbasedWH = False 258 | self.WRGB = [0, 0, 255] 259 | elif self.comboBox_3.currentText() == "Orange": 260 | self.healthbasedWH = False 261 | self.WRGB = [255, 69, 0] 262 | self.Radar = self.checkBox_6.isChecked() 263 | self.Aimbot = self.checkBox_7.isChecked() 264 | self.AimRCS = self.checkBox_8.isChecked() 265 | self.Silentaim = self.checkBox_9.isChecked() 266 | self.Baim = self.checkBox_10.isChecked() 267 | self.Aimfov = int(self.lineEdit.text()) 268 | self.spotted = self.checkBox_12.isChecked() 269 | self.Trigger = self.checkBox_13.isChecked() 270 | self.Aimbotkey = self.lineEdit_2.text().lower() 271 | self.RCS = self.checkBox_11.isChecked() 272 | self.Holdfov = self.checkBox_15.isChecked() 273 | self.Fovvaluke = int(self.lineEdit_3.text()) 274 | self.Bhop = self.checkBox_16.isChecked() 275 | self.auto_strafe = self.checkBox_17.isChecked() 276 | self.Fov = self.checkBox_18.isChecked() 277 | self.Fovkey = self.lineEdit_5.text() 278 | self.Triggerkey = self.lineEdit_4.text() 279 | self.smooth = self.checkBox_14.isChecked() 280 | if self.checkBox_14.isChecked(): 281 | if 0 < int(self.lineEdit_6.text()) < 100: 282 | self.sens = int(self.lineEdit_6.text()) / 100 283 | self.sens += 0.5 284 | else: 285 | ctypes.windll.user32.MessageBoxW(0, "Please enter a value from 0 to 100", "Error in Config", 0) 286 | if self.checkBox_19.isChecked(): 287 | if 0 < int(self.lineEdit_7.text()) < 100: 288 | self.random = 5 + (int(self.lineEdit_7.text()) / 5) 289 | else: 290 | ctypes.windll.user32.MessageBoxW(0, "Please enter a value from 0 to 100", "Error in Config", 0) 291 | if self.Aimbot and not (is_key(self.Aimbotkey) or is_mouse(self.Aimbotkey)): 292 | ctypes.windll.user32.MessageBoxW(0, "Please enter an valid Aimbot Key", "Error in Config", 0) 293 | if self.Silentaim and not self.Aimbot: 294 | ctypes.windll.user32.MessageBoxW(0, "Select Aimbot if you wanna use Silentaim", "Error in Config", 0) 295 | if self.Trigger and not (is_key(self.Triggerkey) or is_mouse(self.Triggerkey)): 296 | ctypes.windll.user32.MessageBoxW(0, "Please select a correct Triggerbotkey", "Error in Config", 0) 297 | if self.Fov and not (is_key(self.Fovkey) or is_mouse(self.Fovkey)): 298 | ctypes.windll.user32.MessageBoxW(0, "Please select a correct Fovkey", "Error in Config", 0) 299 | self.label_14.setText("None/Unsaved") 300 | update = False 301 | 302 | def setupUi(self, MainWindow): 303 | MainWindow.setObjectName("MainWindow") 304 | MainWindow.resize(650, 633) 305 | sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) 306 | sizePolicy.setHorizontalStretch(0) 307 | sizePolicy.setVerticalStretch(0) 308 | sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth()) 309 | MainWindow.setSizePolicy(sizePolicy) 310 | self.centralwidget = QtWidgets.QWidget(MainWindow) 311 | self.centralwidget.setObjectName("centralwidget") 312 | self.tabWidget = QtWidgets.QTabWidget(self.centralwidget) 313 | self.tabWidget.setGeometry(QtCore.QRect(0, 0, 861, 671)) 314 | font = QtGui.QFont() 315 | font.setPointSize(17) 316 | self.tabWidget.setFont(font) 317 | self.tabWidget.setIconSize(QtCore.QSize(16, 16)) 318 | self.tabWidget.setUsesScrollButtons(False) 319 | self.tabWidget.setObjectName("tabWidget") 320 | self.tab = QtWidgets.QWidget() 321 | self.tab.setObjectName("tab") 322 | self.checkBox = QtWidgets.QCheckBox(self.tab) 323 | self.checkBox.setGeometry(QtCore.QRect(50, 20, 101, 31)) 324 | font = QtGui.QFont() 325 | font.setPointSize(15) 326 | self.checkBox.setFont(font) 327 | self.checkBox.setObjectName("checkBox") 328 | self.checkBox_2 = QtWidgets.QCheckBox(self.tab) 329 | self.checkBox_2.setGeometry(QtCore.QRect(50, 70, 101, 31)) 330 | font = QtGui.QFont() 331 | font.setPointSize(15) 332 | self.checkBox_2.setFont(font) 333 | self.checkBox_2.setObjectName("checkBox_2") 334 | self.checkBox_3 = QtWidgets.QCheckBox(self.tab) 335 | self.checkBox_3.setGeometry(QtCore.QRect(50, 210, 111, 31)) 336 | font = QtGui.QFont() 337 | font.setPointSize(15) 338 | self.checkBox_3.setFont(font) 339 | self.checkBox_3.setObjectName("checkBox_3") 340 | self.checkBox_4 = QtWidgets.QCheckBox(self.tab) 341 | self.checkBox_4.setGeometry(QtCore.QRect(70, 110, 111, 31)) 342 | font = QtGui.QFont() 343 | font.setPointSize(15) 344 | self.checkBox_4.setFont(font) 345 | self.checkBox_4.setObjectName("checkBox_4") 346 | self.checkBox_5 = QtWidgets.QCheckBox(self.tab) 347 | self.checkBox_5.setGeometry(QtCore.QRect(70, 150, 141, 31)) 348 | font = QtGui.QFont() 349 | font.setPointSize(15) 350 | self.checkBox_5.setFont(font) 351 | self.checkBox_5.setObjectName("checkBox_5") 352 | self.comboBox = QtWidgets.QComboBox(self.tab) 353 | self.comboBox.setGeometry(QtCore.QRect(270, 110, 121, 31)) 354 | font = QtGui.QFont() 355 | font.setPointSize(12) 356 | self.comboBox.setFont(font) 357 | self.comboBox.setObjectName("comboBox") 358 | self.comboBox.addItem("") 359 | self.comboBox.addItem("") 360 | self.comboBox.addItem("") 361 | self.comboBox.addItem("") 362 | self.comboBox.addItem("") 363 | self.comboBox_2 = QtWidgets.QComboBox(self.tab) 364 | self.comboBox_2.setGeometry(QtCore.QRect(270, 150, 121, 31)) 365 | font = QtGui.QFont() 366 | font.setPointSize(12) 367 | self.comboBox_2.setFont(font) 368 | self.comboBox_2.setObjectName("comboBox_2") 369 | self.comboBox_2.addItem("") 370 | self.comboBox_2.addItem("") 371 | self.comboBox_2.addItem("") 372 | self.comboBox_2.addItem("") 373 | self.comboBox_2.addItem("") 374 | self.checkBox_6 = QtWidgets.QCheckBox(self.tab) 375 | self.checkBox_6.setGeometry(QtCore.QRect(50, 270, 111, 31)) 376 | font = QtGui.QFont() 377 | font.setPointSize(15) 378 | self.checkBox_6.setFont(font) 379 | self.checkBox_6.setObjectName("checkBox_6") 380 | self.pushButton = QtWidgets.QPushButton(self.tab) 381 | self.pushButton.setGeometry(QtCore.QRect(200, 520, 211, 51)) 382 | self.pushButton.setObjectName("pushButton") 383 | self.comboBox_3 = QtWidgets.QComboBox(self.tab) 384 | self.comboBox_3.setGeometry(QtCore.QRect(270, 20, 121, 31)) 385 | font = QtGui.QFont() 386 | font.setPointSize(12) 387 | self.comboBox_3.setFont(font) 388 | self.comboBox_3.setObjectName("comboBox_3") 389 | self.comboBox_3.addItem("") 390 | self.comboBox_3.addItem("") 391 | self.comboBox_3.addItem("") 392 | self.comboBox_3.addItem("") 393 | self.comboBox_3.addItem("") 394 | self.tabWidget.addTab(self.tab, "") 395 | self.tab_3 = QtWidgets.QWidget() 396 | self.tab_3.setObjectName("tab_3") 397 | self.checkBox_15 = QtWidgets.QCheckBox(self.tab_3) 398 | self.checkBox_15.setGeometry(QtCore.QRect(70, 60, 241, 31)) 399 | font = QtGui.QFont() 400 | font.setPointSize(15) 401 | self.checkBox_15.setFont(font) 402 | self.checkBox_15.setObjectName("checkBox_15") 403 | self.lineEdit_3 = QtWidgets.QLineEdit(self.tab_3) 404 | self.lineEdit_3.setGeometry(QtCore.QRect(70, 100, 101, 31)) 405 | self.lineEdit_3.setObjectName("lineEdit_3") 406 | self.checkBox_16 = QtWidgets.QCheckBox(self.tab_3) 407 | self.checkBox_16.setGeometry(QtCore.QRect(50, 200, 151, 31)) 408 | font = QtGui.QFont() 409 | font.setPointSize(15) 410 | self.checkBox_16.setFont(font) 411 | self.checkBox_16.setObjectName("checkBox_16") 412 | self.checkBox_17 = QtWidgets.QCheckBox(self.tab_3) 413 | self.checkBox_17.setGeometry(QtCore.QRect(50, 250, 151, 31)) 414 | font = QtGui.QFont() 415 | font.setPointSize(15) 416 | self.checkBox_17.setFont(font) 417 | self.checkBox_17.setObjectName("checkBox_17") 418 | self.checkBox_18 = QtWidgets.QCheckBox(self.tab_3) 419 | self.checkBox_18.setGeometry(QtCore.QRect(50, 20, 151, 31)) 420 | font = QtGui.QFont() 421 | font.setPointSize(15) 422 | self.checkBox_18.setFont(font) 423 | self.checkBox_18.setObjectName("checkBox_18") 424 | self.pushButton_3 = QtWidgets.QPushButton(self.tab_3) 425 | self.pushButton_3.setGeometry(QtCore.QRect(200, 520, 211, 51)) 426 | self.pushButton_3.setObjectName("pushButton_3") 427 | self.lineEdit_5 = QtWidgets.QLineEdit(self.tab_3) 428 | self.lineEdit_5.setGeometry(QtCore.QRect(70, 150, 101, 31)) 429 | self.lineEdit_5.setObjectName("lineEdit_5") 430 | self.label_2 = QtWidgets.QLabel(self.tab_3) 431 | self.label_2.setGeometry(QtCore.QRect(180, 150, 151, 31)) 432 | self.label_2.setObjectName("label_2") 433 | self.label_3 = QtWidgets.QLabel(self.tab_3) 434 | self.label_3.setGeometry(QtCore.QRect(180, 100, 151, 31)) 435 | self.label_3.setObjectName("label_3") 436 | self.tabWidget.addTab(self.tab_3, "") 437 | self.tab_4 = QtWidgets.QWidget() 438 | self.tab_4.setObjectName("tab_4") 439 | self.checkBox_7 = QtWidgets.QCheckBox(self.tab_4) 440 | self.checkBox_7.setGeometry(QtCore.QRect(50, 20, 101, 31)) 441 | font = QtGui.QFont() 442 | font.setPointSize(15) 443 | self.checkBox_7.setFont(font) 444 | self.checkBox_7.setObjectName("checkBox_7") 445 | self.checkBox_8 = QtWidgets.QCheckBox(self.tab_4) 446 | self.checkBox_8.setGeometry(QtCore.QRect(70, 70, 201, 31)) 447 | font = QtGui.QFont() 448 | font.setPointSize(15) 449 | self.checkBox_8.setFont(font) 450 | self.checkBox_8.setObjectName("checkBox_8") 451 | self.checkBox_9 = QtWidgets.QCheckBox(self.tab_4) 452 | self.checkBox_9.setGeometry(QtCore.QRect(70, 110, 131, 31)) 453 | font = QtGui.QFont() 454 | font.setPointSize(15) 455 | self.checkBox_9.setFont(font) 456 | self.checkBox_9.setObjectName("checkBox_9") 457 | self.checkBox_10 = QtWidgets.QCheckBox(self.tab_4) 458 | self.checkBox_10.setGeometry(QtCore.QRect(70, 150, 131, 31)) 459 | font = QtGui.QFont() 460 | font.setPointSize(15) 461 | self.checkBox_10.setFont(font) 462 | self.checkBox_10.setObjectName("checkBox_10") 463 | self.lineEdit = QtWidgets.QLineEdit(self.tab_4) 464 | self.lineEdit.setGeometry(QtCore.QRect(70, 200, 51, 31)) 465 | self.lineEdit.setObjectName("lineEdit") 466 | self.label = QtWidgets.QLabel(self.tab_4) 467 | self.label.setGeometry(QtCore.QRect(130, 200, 141, 31)) 468 | font = QtGui.QFont() 469 | font.setPointSize(15) 470 | self.label.setFont(font) 471 | self.label.setObjectName("label") 472 | self.checkBox_12 = QtWidgets.QCheckBox(self.tab_4) 473 | self.checkBox_12.setGeometry(QtCore.QRect(70, 250, 171, 31)) 474 | font = QtGui.QFont() 475 | font.setPointSize(15) 476 | self.checkBox_12.setFont(font) 477 | self.checkBox_12.setObjectName("checkBox_12") 478 | self.checkBox_13 = QtWidgets.QCheckBox(self.tab_4) 479 | self.checkBox_13.setGeometry(QtCore.QRect(390, 20, 151, 31)) 480 | font = QtGui.QFont() 481 | font.setPointSize(15) 482 | self.checkBox_13.setFont(font) 483 | self.checkBox_13.setObjectName("checkBox_13") 484 | self.lineEdit_2 = QtWidgets.QLineEdit(self.tab_4) 485 | self.lineEdit_2.setGeometry(QtCore.QRect(70, 300, 171, 31)) 486 | self.lineEdit_2.setObjectName("lineEdit_2") 487 | self.checkBox_11 = QtWidgets.QCheckBox(self.tab_4) 488 | self.checkBox_11.setGeometry(QtCore.QRect(390, 120, 141, 21)) 489 | self.checkBox_11.setObjectName("checkBox_11") 490 | self.lineEdit_4 = QtWidgets.QLineEdit(self.tab_4) 491 | self.lineEdit_4.setGeometry(QtCore.QRect(390, 60, 201, 31)) 492 | self.lineEdit_4.setObjectName("lineEdit_4") 493 | self.checkBox_14 = QtWidgets.QCheckBox(self.tab_4) 494 | self.checkBox_14.setGeometry(QtCore.QRect(70, 350, 231, 31)) 495 | font = QtGui.QFont() 496 | font.setPointSize(15) 497 | self.checkBox_14.setFont(font) 498 | self.checkBox_14.setObjectName("checkBox_14") 499 | self.lineEdit_6 = QtWidgets.QLineEdit(self.tab_4) 500 | self.lineEdit_6.setGeometry(QtCore.QRect(70, 390, 51, 31)) 501 | self.lineEdit_6.setObjectName("lineEdit_6") 502 | self.label_4 = QtWidgets.QLabel(self.tab_4) 503 | self.label_4.setGeometry(QtCore.QRect(130, 390, 141, 31)) 504 | font = QtGui.QFont() 505 | font.setPointSize(15) 506 | self.label_4.setFont(font) 507 | self.label_4.setObjectName("label_4") 508 | self.checkBox_19 = QtWidgets.QCheckBox(self.tab_4) 509 | self.checkBox_19.setGeometry(QtCore.QRect(70, 440, 251, 31)) 510 | font = QtGui.QFont() 511 | font.setPointSize(15) 512 | self.checkBox_19.setFont(font) 513 | self.checkBox_19.setObjectName("checkBox_19") 514 | self.pushButton_2 = QtWidgets.QPushButton(self.tab_4) 515 | self.pushButton_2.setGeometry(QtCore.QRect(200, 520, 211, 51)) 516 | self.pushButton_2.setObjectName("pushButton_2") 517 | self.lineEdit_7 = QtWidgets.QLineEdit(self.tab_4) 518 | self.lineEdit_7.setGeometry(QtCore.QRect(70, 480, 51, 31)) 519 | self.lineEdit_7.setObjectName("lineEdit_7") 520 | self.label_5 = QtWidgets.QLabel(self.tab_4) 521 | self.label_5.setGeometry(QtCore.QRect(130, 480, 161, 31)) 522 | font = QtGui.QFont() 523 | font.setPointSize(15) 524 | self.label_5.setFont(font) 525 | self.label_5.setObjectName("label_5") 526 | self.tabWidget.addTab(self.tab_4, "") 527 | self.tab_2 = QtWidgets.QWidget() 528 | self.tab_2.setObjectName("tab_2") 529 | self.pushButton_4 = QtWidgets.QPushButton(self.tab_2) 530 | self.pushButton_4.setGeometry(QtCore.QRect(200, 500, 211, 71)) 531 | self.pushButton_4.setObjectName("pushButton_4") 532 | self.label_6 = QtWidgets.QLabel(self.tab_2) 533 | self.label_6.setGeometry(QtCore.QRect(210, 320, 201, 31)) 534 | font = QtGui.QFont() 535 | font.setPointSize(15) 536 | self.label_6.setFont(font) 537 | self.label_6.setText("") 538 | self.label_6.setObjectName("label_6") 539 | self.lineEdit_8 = QtWidgets.QLineEdit(self.tab_2) 540 | self.lineEdit_8.setGeometry(QtCore.QRect(210, 90, 201, 41)) 541 | self.lineEdit_8.setObjectName("lineEdit_8") 542 | self.label_7 = QtWidgets.QLabel(self.tab_2) 543 | self.label_7.setGeometry(QtCore.QRect(130, 130, 401, 51)) 544 | font = QtGui.QFont() 545 | font.setPointSize(15) 546 | self.label_7.setFont(font) 547 | self.label_7.setObjectName("label_7") 548 | self.label_8 = QtWidgets.QLabel(self.tab_2) 549 | self.label_8.setGeometry(QtCore.QRect(200, 170, 211, 51)) 550 | font = QtGui.QFont() 551 | font.setPointSize(15) 552 | self.label_8.setFont(font) 553 | self.label_8.setObjectName("label_8") 554 | self.tabWidget.addTab(self.tab_2, "") 555 | self.tab_5 = QtWidgets.QWidget() 556 | self.tab_5.setObjectName("tab_5") 557 | self.pushButton_5 = QtWidgets.QPushButton(self.tab_5) 558 | self.pushButton_5.setGeometry(QtCore.QRect(60, 110, 201, 41)) 559 | self.pushButton_5.setObjectName("pushButton_5") 560 | self.label_9 = QtWidgets.QLabel(self.tab_5) 561 | self.label_9.setGeometry(QtCore.QRect(20, 50, 121, 61)) 562 | font = QtGui.QFont() 563 | font.setPointSize(15) 564 | self.label_9.setFont(font) 565 | self.label_9.setObjectName("label_9") 566 | self.lineEdit_9 = QtWidgets.QLineEdit(self.tab_5) 567 | self.lineEdit_9.setGeometry(QtCore.QRect(150, 60, 171, 41)) 568 | font = QtGui.QFont() 569 | font.setPointSize(13) 570 | self.lineEdit_9.setFont(font) 571 | self.lineEdit_9.setObjectName("lineEdit_9") 572 | self.label_10 = QtWidgets.QLabel(self.tab_5) 573 | self.label_10.setGeometry(QtCore.QRect(20, 200, 121, 61)) 574 | font = QtGui.QFont() 575 | font.setPointSize(15) 576 | self.label_10.setFont(font) 577 | self.label_10.setObjectName("label_10") 578 | self.lineEdit_10 = QtWidgets.QLineEdit(self.tab_5) 579 | self.lineEdit_10.setGeometry(QtCore.QRect(150, 210, 171, 41)) 580 | font = QtGui.QFont() 581 | font.setPointSize(13) 582 | self.lineEdit_10.setFont(font) 583 | self.lineEdit_10.setObjectName("lineEdit_10") 584 | self.pushButton_6 = QtWidgets.QPushButton(self.tab_5) 585 | self.pushButton_6.setGeometry(QtCore.QRect(60, 260, 201, 41)) 586 | self.pushButton_6.setObjectName("pushButton_6") 587 | self.label_11 = QtWidgets.QLabel(self.tab_5) 588 | self.label_11.setGeometry(QtCore.QRect(150, 520, 361, 41)) 589 | font = QtGui.QFont() 590 | font.setPointSize(15) 591 | self.label_11.setFont(font) 592 | self.label_11.setObjectName("label_11") 593 | self.pushButton_7 = QtWidgets.QPushButton(self.tab_5) 594 | self.pushButton_7.setGeometry(QtCore.QRect(60, 410, 211, 41)) 595 | self.pushButton_7.setObjectName("pushButton_7") 596 | self.label_12 = QtWidgets.QLabel(self.tab_5) 597 | self.label_12.setGeometry(QtCore.QRect(10, 350, 121, 61)) 598 | font = QtGui.QFont() 599 | font.setPointSize(15) 600 | self.label_12.setFont(font) 601 | self.label_12.setObjectName("label_12") 602 | self.lineEdit_11 = QtWidgets.QLineEdit(self.tab_5) 603 | self.lineEdit_11.setGeometry(QtCore.QRect(150, 360, 171, 41)) 604 | font = QtGui.QFont() 605 | font.setPointSize(13) 606 | self.lineEdit_11.setFont(font) 607 | self.lineEdit_11.setObjectName("lineEdit_11") 608 | self.label_13 = QtWidgets.QLabel(self.tab_5) 609 | self.label_13.setGeometry(QtCore.QRect(390, 60, 181, 41)) 610 | font = QtGui.QFont() 611 | font.setPointSize(15) 612 | self.label_13.setFont(font) 613 | self.label_13.setObjectName("label_13") 614 | self.label_14 = QtWidgets.QLabel(self.tab_5) 615 | self.label_14.setGeometry(QtCore.QRect(390, 110, 181, 31)) 616 | font = QtGui.QFont() 617 | font.setPointSize(14) 618 | self.label_14.setFont(font) 619 | self.label_14.setObjectName("label_14") 620 | self.tabWidget.addTab(self.tab_5, "") 621 | MainWindow.setCentralWidget(self.centralwidget) 622 | self.statusbar = QtWidgets.QStatusBar(MainWindow) 623 | self.statusbar.setObjectName("statusbar") 624 | MainWindow.setStatusBar(self.statusbar) 625 | 626 | self.retranslateUi(MainWindow) 627 | self.tabWidget.setCurrentIndex(4) 628 | QtCore.QMetaObject.connectSlotsByName(MainWindow) 629 | 630 | def retranslateUi(self, MainWindow): 631 | _translate = QtCore.QCoreApplication.translate 632 | MainWindow.setWindowTitle(_translate("MainWindow", "ProjectX")) 633 | self.checkBox.setText(_translate("MainWindow", "GLOW")) 634 | self.checkBox_2.setText(_translate("MainWindow", "CHAMS")) 635 | self.checkBox_3.setText(_translate("MainWindow", "NOFLASH")) 636 | self.checkBox_4.setText(_translate("MainWindow", "ENEMIES")) 637 | self.checkBox_5.setText(_translate("MainWindow", "TEAMMATES")) 638 | self.comboBox.setItemText(0, _translate("MainWindow", "GREEN")) 639 | self.comboBox.setItemText(1, _translate("MainWindow", "RED")) 640 | self.comboBox.setItemText(2, _translate("MainWindow", "BLUE")) 641 | self.comboBox.setItemText(3, _translate("MainWindow", "ORANGE")) 642 | self.comboBox.setItemText(4, _translate("MainWindow", "Healthbased")) 643 | self.comboBox_2.setItemText(0, _translate("MainWindow", "GREEN")) 644 | self.comboBox_2.setItemText(1, _translate("MainWindow", "RED")) 645 | self.comboBox_2.setItemText(2, _translate("MainWindow", "BLUE")) 646 | self.comboBox_2.setItemText(3, _translate("MainWindow", "ORANGE")) 647 | self.comboBox_2.setItemText(4, _translate("MainWindow", "Healthbased")) 648 | self.checkBox_6.setText(_translate("MainWindow", "RADAR")) 649 | self.pushButton.setText(_translate("MainWindow", "UPDATE")) 650 | self.comboBox_3.setItemText(0, _translate("MainWindow", "Healthbased")) 651 | self.comboBox_3.setItemText(1, _translate("MainWindow", "GREEN")) 652 | self.comboBox_3.setItemText(2, _translate("MainWindow", "RED")) 653 | self.comboBox_3.setItemText(3, _translate("MainWindow", "BLUE")) 654 | self.comboBox_3.setItemText(4, _translate("MainWindow", "ORANGE")) 655 | self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "VISUALS")) 656 | self.checkBox_15.setText(_translate("MainWindow", "HOLD TO CHANGE FOV")) 657 | self.lineEdit_3.setText(_translate("MainWindow", "120")) 658 | self.checkBox_16.setText(_translate("MainWindow", "BHOP")) 659 | self.checkBox_17.setText(_translate("MainWindow", "AUTO STRAFE")) 660 | self.checkBox_18.setText(_translate("MainWindow", "FOV CHANGER")) 661 | self.pushButton_3.setText(_translate("MainWindow", "UPDATE")) 662 | self.lineEdit_5.setText(_translate("MainWindow", "control")) 663 | self.label_2.setText(_translate("MainWindow", "FOV KEY")) 664 | self.label_3.setText(_translate("MainWindow", "FOV VALUE")) 665 | self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("MainWindow", "MISC")) 666 | self.checkBox_7.setText(_translate("MainWindow", "AIMBOT")) 667 | self.checkBox_8.setText(_translate("MainWindow", "RCS WITH AIMBOT")) 668 | self.checkBox_9.setText(_translate("MainWindow", "SILENTAIM")) 669 | self.checkBox_10.setText(_translate("MainWindow", "BODY AIM")) 670 | self.lineEdit.setText(_translate("MainWindow", "120")) 671 | self.label.setText(_translate("MainWindow", "AIMBOT FOV")) 672 | self.checkBox_12.setText(_translate("MainWindow", "ONLY SPOTTED")) 673 | self.checkBox_13.setText(_translate("MainWindow", "TRIGGERBOT")) 674 | self.lineEdit_2.setText(_translate("MainWindow", "AIMBOT KEY")) 675 | self.checkBox_11.setText(_translate("MainWindow", "RCS")) 676 | self.lineEdit_4.setText(_translate("MainWindow", "TRIGGERBOT KEY")) 677 | self.checkBox_14.setText(_translate("MainWindow", "Smooth/Magnetic Aim")) 678 | self.lineEdit_6.setText(_translate("MainWindow", "50")) 679 | self.label_4.setText(_translate("MainWindow", "Smoothness %")) 680 | self.checkBox_19.setText(_translate("MainWindow", "Random First Snappoint")) 681 | self.pushButton_2.setText(_translate("MainWindow", "UPDATE")) 682 | self.lineEdit_7.setText(_translate("MainWindow", "50")) 683 | self.label_5.setText(_translate("MainWindow", "Randomness %")) 684 | self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("MainWindow", "AIM")) 685 | self.pushButton_4.setText(_translate("MainWindow", "Enable Legitbot")) 686 | self.lineEdit_8.setText(_translate("MainWindow", "AIMBOT KEY")) 687 | self.label_7.setText(_translate("MainWindow", "-enables low-fov, smooth, random Aimbot")) 688 | self.label_8.setText(_translate("MainWindow", "-enables Chams, Radar")) 689 | self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Legit")) 690 | self.pushButton_5.setText(_translate("MainWindow", "Create new Config")) 691 | self.label_9.setText(_translate("MainWindow", "Config Name")) 692 | self.lineEdit_9.setText(_translate("MainWindow", "example")) 693 | self.label_10.setText(_translate("MainWindow", "Config Name")) 694 | self.lineEdit_10.setText(_translate("MainWindow", "example")) 695 | self.pushButton_6.setText(_translate("MainWindow", "Load Config")) 696 | self.label_11.setText(_translate("MainWindow", "Config files are saved under ./Configs")) 697 | self.pushButton_7.setText(_translate("MainWindow", "Save current Config")) 698 | self.label_12.setText(_translate("MainWindow", "Config Name")) 699 | self.lineEdit_11.setText(_translate("MainWindow", "example")) 700 | self.label_13.setText(_translate("MainWindow", "Current Config:")) 701 | self.label_14.setText(_translate("MainWindow", "None")) 702 | self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _translate("MainWindow", "Config")) 703 | self.pushButton.clicked.connect(self.update) 704 | self.pushButton_2.clicked.connect(self.update) 705 | self.pushButton_3.clicked.connect(self.update) 706 | self.pushButton_4.clicked.connect(self.legit) 707 | self.pushButton_5.clicked.connect(self.createConfig) 708 | self.pushButton_6.clicked.connect(self.loadConfig) 709 | self.pushButton_7.clicked.connect(self.saveConfig) 710 | -------------------------------------------------------------------------------- /Classes/Vector3.py: -------------------------------------------------------------------------------- 1 | class Vec3: 2 | def __init__(self, x, y, z): 3 | self.x = x 4 | self.y = y 5 | self.z = z 6 | 7 | # Cleaned all of this file, 8 | # This file is working. 9 | # Last update 2022,Jan,10 10 | -------------------------------------------------------------------------------- /Configs/testconfig: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /MatFunctions/MathPy.py: -------------------------------------------------------------------------------- 1 | from math import * 2 | from Classes.Vector3 import Vec3 3 | from Utils.Offsets import * 4 | 5 | # Cleaned most of this file, 6 | # This file is working. 7 | # Last update 2022,Jan,10 8 | 9 | 10 | def checkangles(x, y): 11 | if x > 89: 12 | return False 13 | elif x < -89: 14 | return False 15 | elif y > 360: 16 | return False 17 | elif y < -360: 18 | return False 19 | else: 20 | return True 21 | 22 | 23 | def nanchecker(first, second): 24 | if isnan(first) or isnan(second): 25 | return False 26 | else: 27 | return True 28 | 29 | 30 | def normalizeAngles(angle: Vec3): 31 | if angle.x > 89: 32 | angle.x -= 360 33 | elif angle.x < -89: 34 | angle.x += 360 35 | if angle.y > 180: 36 | angle.y -= 360 37 | elif angle.y < -180: 38 | angle.y += 360 39 | return angle 40 | 41 | 42 | def CalcAngle(local: Vec3, enemy: Vec3): 43 | delta = Vec3(0, 0, 0) 44 | delta.x = local.x - enemy.x 45 | delta.y = local.y - enemy.y 46 | delta.z = local.z - enemy.z 47 | 48 | hyp = sqrt(delta.x * delta.x + delta.y * delta.y + delta.z * delta.z) 49 | new = Vec3(0, 0, 0) 50 | new.x = asin(delta.z / hyp) * 57.295779513082 51 | new.y = atan(delta.y / delta.x) * 57.295779513082 52 | 53 | if delta.x >= 0.0: 54 | new.y += 180.0 55 | 56 | return new 57 | 58 | 59 | def CalcDistance(current: Vec3, new: Vec3): 60 | distance = Vec3(0, 0, 0) 61 | 62 | distance.x = new.x - current.x 63 | 64 | if distance.x < -89: 65 | distance.x += 360 66 | elif distance.x > 89: 67 | distance.x -= 360 68 | if distance.x < 0.0: 69 | distance.x = -distance.x 70 | 71 | distance.y = new.y - current.y 72 | if distance.y < - 180: 73 | distance.y += 360 74 | elif distance.y > 180: 75 | distance.y -= 360 76 | if distance.y < 0.0: 77 | distance.y = -distance.y 78 | 79 | mag = sqrt(distance.x * distance.x + distance.y * distance.y) 80 | return mag 81 | 82 | 83 | def checkindex(pm, engine): 84 | clientstate = pm.read_uint(engine + dwClientState) 85 | id = pm.read_uint(clientstate + dwClientState_GetLocalPlayer) 86 | return id 87 | 88 | 89 | def GetBestTarget(pm, client, engine, localPlayer, spotted, baim, aimfov, random): 90 | while True: 91 | olddist = 111111111 92 | newdist = 0 93 | target = None 94 | PlayerID = checkindex(pm, engine) 95 | player_team = pm.read_int(localPlayer + m_iTeamNum) 96 | engine_pointer = pm.read_uint(engine + dwClientState) 97 | for i in range(1, 32): 98 | entity = pm.read_uint(client + dwEntityList + i * 0x10) 99 | 100 | if entity and entity != localPlayer: 101 | entity_hp = pm.read_uint(entity + m_iHealth) 102 | entity_dormant = pm.read_uint(entity + m_bDormant) 103 | entity_team = pm.read_uint(entity + m_iTeamNum) 104 | if spotted: 105 | Entspotted = pm.read_uint(entity + m_bSpottedByMask) 106 | else: 107 | Entspotted = True 108 | 109 | if entity_hp > 0 and not entity_dormant and Entspotted and entity_team != player_team: 110 | localAngle = Vec3(0, 0, 0) 111 | localAngle.x = pm.read_float(engine_pointer + dwClientState_ViewAngles) 112 | localAngle.y = pm.read_float(engine_pointer + dwClientState_ViewAngles + 0x4) 113 | localAngle.z = pm.read_float(localPlayer + m_vecViewOffset + 0x8) 114 | 115 | localpos = Vec3(0, 0, 0) 116 | localpos.x = pm.read_float(localPlayer + m_vecOrigin) 117 | 118 | localpos.y = pm.read_float(localPlayer + m_vecOrigin + 4) 119 | localpos.z = pm.read_float(localPlayer + m_vecOrigin + 8) + localAngle.z 120 | entity_bone = pm.read_uint(entity + m_dwBoneMatrix) 121 | entitypos = Vec3(0, 0, 0) 122 | if baim is True: 123 | entitypos.x = pm.read_float(entity_bone + 0x30 * 5 + 0xC) + random.x 124 | entitypos.y = pm.read_float(entity_bone + 0x30 * 5 + 0x1C) + random.y 125 | entitypos.z = pm.read_float(entity_bone + 0x30 * 5 + 0x2C) + random.z 126 | else: 127 | entitypos.x = pm.read_float(entity_bone + 0x30 * 8 + 0xC) + random.x 128 | entitypos.y = pm.read_float(entity_bone + 0x30 * 8 + 0x1C) + random.y 129 | entitypos.z = pm.read_float(entity_bone + 0x30 * 8 + 0x2C) + random.z 130 | new = CalcAngle(localpos, entitypos) 131 | 132 | newdist = CalcDistance(localAngle, new) 133 | 134 | if newdist < olddist and newdist < aimfov: 135 | olddist = newdist 136 | target = entity 137 | targetpos = entitypos 138 | if target is not None: 139 | return target, localpos, targetpos 140 | else: 141 | return None, None, None 142 | 143 | 144 | def smoothing(t): 145 | return t * t * (3.0 - 2.0 * t) 146 | -------------------------------------------------------------------------------- /OldVersion/OldCheatVersion.py: -------------------------------------------------------------------------------- 1 | import time 2 | import threading 3 | import keyboard, mouse 4 | import pymem 5 | import pymem.process 6 | from PyQt5 import QtCore, QtGui, QtWidgets 7 | import requests 8 | from math import * 9 | import ctypes 10 | import random 11 | 12 | # Im not going to clean this file, and leave it as is. 13 | 14 | 15 | offsets = 'https://raw.githubusercontent.com/frk1/hazedumper/master/csgo.json' 16 | response = requests.get( offsets ).json() 17 | bhop_taste = "space" 18 | m_iCompetitiveWins = int(response["netvars"]["m_iCompetitiveWins"]) 19 | dwEntityList = int( response["signatures"]["dwEntityList"] ) 20 | dwGlowObjectManager = int( response["signatures"]["dwGlowObjectManager"] ) 21 | m_iGlowIndex = int( response["netvars"]["m_iGlowIndex"] ) 22 | m_iTeamNum = int( response["netvars"]["m_iTeamNum"] ) 23 | dwForceJump = int( response["signatures"]["dwForceJump"] ) 24 | dwLocalPlayer = int( response["signatures"]["dwLocalPlayer"] ) 25 | m_fFlags = int( response["netvars"]["m_fFlags"] ) 26 | dwForceAttack = int( response["signatures"]["dwForceAttack"] ) 27 | m_iCrosshairId = int( response["netvars"]["m_iCrosshairId"] ) 28 | m_flFlashMaxAlpha = int( response["netvars"]["m_flFlashMaxAlpha"] ) 29 | m_iDefaultFOV = (13116) 30 | dwClientState = int( response["signatures"]["dwClientState"] ) 31 | m_iHealth = int( response["netvars"]["m_iHealth"] ) 32 | dwViewMatrix = int( response["signatures"]["dwViewMatrix"] ) 33 | m_dwBoneMatrix = int( response["netvars"]["m_dwBoneMatrix"] ) 34 | dwClientState_ViewAngles = int( response["signatures"]["dwClientState_ViewAngles"] ) 35 | m_vecOrigin = int( response["netvars"]["m_vecOrigin"] ) 36 | m_vecViewOffset = int( response["netvars"]["m_vecViewOffset"] ) 37 | dwbSendPackets = int( response["signatures"]["dwbSendPackets"] ) 38 | dwInput = int( response["signatures"]["dwInput"] ) 39 | clientstate_net_channel = int( response["signatures"]["clientstate_net_channel"] ) 40 | clientstate_last_outgoing_command = int( response["signatures"]["clientstate_last_outgoing_command"] ) 41 | m_bSpotted = int( response["netvars"]["m_bSpotted"] ) 42 | m_iShotsFired = int( response["netvars"]["m_iShotsFired"] ) 43 | m_aimPunchAngle = int( response["netvars"]["m_aimPunchAngle"] ) 44 | m_bGunGameImmunity = int( response["netvars"]["m_bGunGameImmunity"] ) 45 | m_bIsDefusing = int( response["netvars"]["m_bIsDefusing"] ) 46 | m_bDormant = int( response["signatures"]["m_bDormant"] ) 47 | dwClientState_PlayerInfo = int( response["signatures"]["dwClientState_PlayerInfo"] ) 48 | dwPlayerResource = int( response["signatures"]["dwPlayerResource"] ) 49 | m_iCompetitiveRanking = int( response["netvars"]["m_iCompetitiveRanking"] ) 50 | eteam = False 51 | antivacv2 = random.randint(1,100) 52 | antivac = "foqnmwordqowjm333q3q3q3q5q4q3" 53 | print(antivac) 54 | print(antivacv2) 55 | 56 | user32 = ctypes.windll.user32 57 | def is_press(key): 58 | if key != "x2" and key != "x" and key != "right" and key != "wheel" and key != "left": 59 | return keyboard.is_pressed(key) 60 | else: 61 | return mouse.is_pressed(key) 62 | 63 | def GetWindowText(handle, length=100): 64 | 65 | window_text = ctypes.create_string_buffer(length) 66 | user32.GetWindowTextA( 67 | handle, 68 | ctypes.byref(window_text), 69 | length 70 | ) 71 | 72 | return window_text.value 73 | 74 | 75 | def GetForegroundWindow(): 76 | 77 | return user32.GetForegroundWindow() 78 | 79 | def calc_distance(current_x, current_y, new_x, new_y): 80 | distancex = new_x - current_x 81 | if distancex < -89: 82 | distancex += 360 83 | elif distancex > 89: 84 | distancex -= 360 85 | if distancex < 0.0: 86 | distancex = -distancex 87 | 88 | distancey = new_y - current_y 89 | if distancey < -180: 90 | distancey += 360 91 | elif distancey > 180: 92 | distancey -= 360 93 | if distancey < 0.0: 94 | distancey = -distancey 95 | return distancex, distancey 96 | 97 | 98 | def normalizeAngles(viewAngleX, viewAngleY): 99 | if viewAngleX > 89: 100 | viewAngleX -= 360 101 | if viewAngleX < -89: 102 | viewAngleX += 360 103 | if viewAngleY > 180: 104 | viewAngleY -= 360 105 | if viewAngleY < -180: 106 | viewAngleY += 360 107 | return viewAngleX, viewAngleY 108 | 109 | 110 | def checkangles(x, y): 111 | if x > 89: 112 | return False 113 | elif x < -89: 114 | return False 115 | elif y > 360: 116 | return False 117 | elif y < -360: 118 | return False 119 | else: 120 | return True 121 | 122 | 123 | def nanchecker(first, second): 124 | if isnan( first ) or isnan( second ): 125 | return False 126 | else: 127 | return True 128 | 129 | 130 | def Distance(src_x, src_y, src_z, dst_x, dst_y, dst_z): 131 | try: 132 | diff_x = src_x - dst_x 133 | diff_y = src_y - dst_y 134 | diff_z = src_z - dst_z 135 | return sqrt( diff_x * diff_x + diff_y * diff_y + diff_z * diff_z ) 136 | except: 137 | pass 138 | 139 | 140 | def calcangle(localpos1, localpos2, localpos3, enemypos1, enemypos2, enemypos3): 141 | try: 142 | delta_x = localpos1 - enemypos1 143 | delta_y = localpos2 - enemypos2 144 | delta_z = localpos3 - enemypos3 145 | hyp = sqrt( delta_x * delta_x + delta_y * delta_y + delta_z * delta_z ) 146 | x = asin( delta_z / hyp ) * 57.295779513082 147 | y = atan( delta_y / delta_x ) * 57.295779513082 148 | if delta_x >= 0.0: 149 | y += 180.0 150 | except: 151 | return 0,0 152 | return x, y 153 | 154 | 155 | 156 | 157 | class Ui_MainWindow( object ): 158 | 159 | def __init__(self): 160 | self.trigc = False 161 | self.whc = False 162 | self.bhc = False 163 | self.nf = False 164 | self.fovtog = False 165 | self.triggerkey = "" 166 | self.fovt = False 167 | self.fovkey = "" 168 | self.radarc = False 169 | self.aimc = False 170 | self.silentshit = False 171 | self.baim = False 172 | self.Fov = int() 173 | self.pm = pymem.Pymem( "csgo.exe" ) 174 | self.client = pymem.process.module_from_name( self.pm.process_handle, "client.dll" ).lpBaseOfDll 175 | self.engine = pymem.process.module_from_name( self.pm.process_handle, "engine.dll" ).lpBaseOfDll 176 | self.rcse = False 177 | self.aimrcs = False 178 | self.aimfov = int() 179 | self.fovvalue = int() 180 | self.aimkey = str() 181 | self.larryfov = False 182 | 183 | def update(self): 184 | update = True 185 | while update: 186 | self.radarc = self.checkBox_3.isChecked() 187 | self.whc = self.checkBox.isChecked() 188 | self.nf = self.checkBox_2.isChecked() 189 | self.fovt = self.checkBox_4.isChecked() 190 | self.trigc = self.checkBox_5.isChecked() 191 | self.aimc = self.checkBox_6.isChecked() 192 | 193 | self.baim = self.checkBox_7.isChecked() 194 | if self.baim and not self.aimc: 195 | print('Activate aimbot to use the "Aim for Body function') 196 | self.checkBox_7.setChecked(False) 197 | 198 | if self.aimc: 199 | try: 200 | self.aimfov = float( self.lineEdit_4.text() ) 201 | if self.lineEdit_6.text() == "MB5": 202 | self.aimkey = "x2" 203 | elif self.lineEdit_6.text()=="MB4": 204 | self.aimkey = "x" 205 | elif self.lineEdit_6.text() == "ML": 206 | self.aimkey = "left" 207 | elif self.lineEdit_6.text() == "MR": 208 | self.aimkey = "right" 209 | else: 210 | self.aimkey = str( self.lineEdit_6.text() ) 211 | except: 212 | print( "Use different aimbot values" ) 213 | self.aimc = False 214 | self.checkBox_6.setChecked( False ) 215 | if self.fovt: 216 | try: 217 | self.fovvalue = int( self.lineEdit.text() ) 218 | if self.lineEdit_2.text() == "MB5": 219 | self.fovkey = "x2" 220 | elif self.lineEdit_2.text() == "MB4": 221 | self.fovkey = "x" 222 | elif self.lineEdit_2.text() == "ML": 223 | self.fovkey = "left" 224 | elif self.lineEdit_2.text() == "MR": 225 | self.fovkey = "right" 226 | else: 227 | self.fovkey = str(self.lineEdit_2.text()) 228 | except: 229 | print( "Use different fov values" ) 230 | try: 231 | if self.lineEdit_3.text() == "MB5": 232 | self.triggerkey = "x2" 233 | elif self.lineEdit_3.text() == "MB4": 234 | self.triggerkey = "x" 235 | elif self.lineEdit_3.text() == "ML": 236 | self.triggerkey = "left" 237 | elif self.lineEdit_3.text() == "MR": 238 | self.triggerkey = "right" 239 | else: 240 | self.triggerkey = str(self.lineEdit_3.text()) 241 | except: 242 | print("Use a different triggerkey") 243 | self.bhc = self.checkBox_8.isChecked() 244 | self.rcse = self.checkBox_10.isChecked() 245 | self.silentshit = self.checkBox_9.isChecked() 246 | if self.silentshit and not self.aimc: 247 | print( "You need to activate aimbot to use silentaim" ) 248 | self.silentshit = False 249 | self.checkBox_9.setChecked( False ) 250 | 251 | self.larryfov = self.checkBox_11.isChecked() 252 | if self.larryfov and not self.fovt: 253 | print( 'You need to activate Fov Changer to use the "Hold to change function"' ) 254 | self.larryfov = False 255 | self.checkBox_11.setChecked( False ) 256 | 257 | self.aimrcs = self.checkBox_12.isChecked() 258 | update = False 259 | time.sleep( 1 ) 260 | 261 | def setupUi(self, ProjectMarya): 262 | ProjectMarya.setObjectName( "ProjectMarya" ) 263 | ProjectMarya.resize( 960, 456 ) 264 | font = QtGui.QFont() 265 | font.setFamily( "Calibri" ) 266 | font.setPointSize( 20 ) 267 | ProjectMarya.setFont( font ) 268 | icon = QtGui.QIcon() 269 | ProjectMarya.setWindowIcon( icon ) 270 | self.centralwidget = QtWidgets.QWidget( ProjectMarya ) 271 | self.centralwidget.setObjectName( "centralwidget" ) 272 | self.checkBox = QtWidgets.QCheckBox( self.centralwidget ) 273 | self.checkBox.setGeometry( QtCore.QRect( 120, 180, 161, 41 ) ) 274 | font = QtGui.QFont() 275 | font.setFamily( "MS Shell Dlg 2" ) 276 | font.setPointSize( 20 ) 277 | self.checkBox.setFont( font ) 278 | self.checkBox.setObjectName( "checkBox" ) 279 | self.checkBox_2 = QtWidgets.QCheckBox( self.centralwidget ) 280 | self.checkBox_2.setGeometry( QtCore.QRect( 120, 230, 161, 41 ) ) 281 | font = QtGui.QFont() 282 | font.setFamily( "MS Shell Dlg 2" ) 283 | font.setPointSize( 20 ) 284 | self.checkBox_2.setFont( font ) 285 | self.checkBox_2.setObjectName( "checkBox_2" ) 286 | self.checkBox_3 = QtWidgets.QCheckBox( self.centralwidget ) 287 | self.checkBox_3.setGeometry( QtCore.QRect( 120, 280, 161, 51 ) ) 288 | font = QtGui.QFont() 289 | font.setFamily( "MS Shell Dlg 2" ) 290 | font.setPointSize( 20 ) 291 | self.checkBox_3.setFont( font ) 292 | self.checkBox_3.setObjectName( "checkBox_3" ) 293 | self.checkBox_4 = QtWidgets.QCheckBox( self.centralwidget ) 294 | self.checkBox_4.setGeometry( QtCore.QRect( 120, 90, 181, 41 ) ) 295 | font = QtGui.QFont() 296 | font.setFamily( "MS Shell Dlg 2" ) 297 | font.setPointSize( 20 ) 298 | self.checkBox_4.setFont( font ) 299 | self.checkBox_4.setObjectName( "checkBox_4" ) 300 | self.checkBox_5 = QtWidgets.QCheckBox( self.centralwidget ) 301 | self.checkBox_5.setGeometry( QtCore.QRect( 370, 90, 181, 41 ) ) 302 | font = QtGui.QFont() 303 | font.setFamily( "MS Shell Dlg 2" ) 304 | font.setPointSize( 20 ) 305 | self.checkBox_5.setFont( font ) 306 | self.checkBox_5.setObjectName( "checkBox_5" ) 307 | self.checkBox_6 = QtWidgets.QCheckBox( self.centralwidget ) 308 | self.checkBox_6.setGeometry( QtCore.QRect( 370, 140, 181, 41 ) ) 309 | font = QtGui.QFont() 310 | font.setPointSize( 20 ) 311 | self.checkBox_6.setFont( font ) 312 | self.checkBox_6.setObjectName( "checkBox_6" ) 313 | self.checkBox_7 = QtWidgets.QCheckBox( self.centralwidget ) 314 | self.checkBox_7.setGeometry( QtCore.QRect( 390, 230, 181, 31 ) ) 315 | font = QtGui.QFont() 316 | font.setPointSize( 15 ) 317 | self.checkBox_7.setFont( font ) 318 | self.checkBox_7.setObjectName( "checkBox_7" ) 319 | self.lineEdit_2 = QtWidgets.QLineEdit( self.centralwidget ) 320 | self.lineEdit_2.setGeometry( QtCore.QRect( 810, 160, 131, 31 ) ) 321 | font = QtGui.QFont() 322 | font.setPointSize( 13 ) 323 | self.lineEdit_2.setFont( font ) 324 | self.lineEdit_2.setStyleSheet( "border:None" ) 325 | self.lineEdit_2.setObjectName( "lineEdit_2" ) 326 | self.lineEdit_4 = QtWidgets.QLineEdit( self.centralwidget ) 327 | self.lineEdit_4.setGeometry( QtCore.QRect( 810, 260, 131, 31 ) ) 328 | font = QtGui.QFont() 329 | font.setPointSize( 13 ) 330 | self.lineEdit_4.setFont( font ) 331 | self.lineEdit_4.setStyleSheet( "border:None" ) 332 | self.lineEdit_4.setObjectName( "lineEdit_4" ) 333 | self.lineEdit = QtWidgets.QLineEdit( self.centralwidget ) 334 | self.lineEdit.setGeometry( QtCore.QRect( 810, 110, 131, 31 ) ) 335 | font = QtGui.QFont() 336 | font.setPointSize( 13 ) 337 | self.lineEdit.setFont( font ) 338 | self.lineEdit.setStyleSheet( "border:None" ) 339 | self.lineEdit.setObjectName( "lineEdit" ) 340 | self.label = QtWidgets.QLabel( self.centralwidget ) 341 | self.label.setGeometry( QtCore.QRect( 590, 100, 161, 41 ) ) 342 | font = QtGui.QFont() 343 | font.setPointSize( 20 ) 344 | self.label.setFont( font ) 345 | self.label.setObjectName( "label" ) 346 | self.checkBox_8 = QtWidgets.QCheckBox( self.centralwidget ) 347 | self.checkBox_8.setGeometry( QtCore.QRect( 370, 310, 151, 51 ) ) 348 | font = QtGui.QFont() 349 | font.setPointSize( 20 ) 350 | self.checkBox_8.setFont( font ) 351 | self.checkBox_8.setObjectName( "checkBox_8" ) 352 | self.lineEdit_6 = QtWidgets.QLineEdit( self.centralwidget ) 353 | self.lineEdit_6.setGeometry( QtCore.QRect( 810, 300, 131, 31 ) ) 354 | font = QtGui.QFont() 355 | font.setPointSize( 13 ) 356 | self.lineEdit_6.setFont( font ) 357 | self.lineEdit_6.setStyleSheet( "border:None;\n" 358 | "" ) 359 | self.lineEdit_6.setObjectName( "lineEdit_6" ) 360 | self.label_2 = QtWidgets.QLabel( self.centralwidget ) 361 | self.label_2.setGeometry( QtCore.QRect( 590, 150, 201, 41 ) ) 362 | font = QtGui.QFont() 363 | font.setPointSize( 20 ) 364 | self.label_2.setFont( font ) 365 | self.label_2.setObjectName( "label_2" ) 366 | self.label_3 = QtWidgets.QLabel( self.centralwidget ) 367 | self.label_3.setGeometry( QtCore.QRect( 590, 200, 181, 41 ) ) 368 | font = QtGui.QFont() 369 | font.setPointSize( 20 ) 370 | self.label_3.setFont( font ) 371 | self.label_3.setObjectName( "label_3" ) 372 | self.label_4 = QtWidgets.QLabel( self.centralwidget ) 373 | self.label_4.setGeometry( QtCore.QRect( 590, 250, 151, 31 ) ) 374 | font = QtGui.QFont() 375 | font.setPointSize( 20 ) 376 | self.label_4.setFont( font ) 377 | self.label_4.setObjectName( "label_4" ) 378 | self.lineEdit_3 = QtWidgets.QLineEdit( self.centralwidget ) 379 | self.lineEdit_3.setGeometry( QtCore.QRect( 810, 210, 131, 31 ) ) 380 | font = QtGui.QFont() 381 | font.setPointSize( 13 ) 382 | self.lineEdit_3.setFont( font ) 383 | self.lineEdit_3.setStyleSheet( "border:None" ) 384 | self.lineEdit_3.setObjectName( "lineEdit_3" ) 385 | self.label_6 = QtWidgets.QLabel( self.centralwidget ) 386 | self.label_6.setGeometry( QtCore.QRect( 590, 300, 181, 41 ) ) 387 | font = QtGui.QFont() 388 | font.setPointSize( 20 ) 389 | self.label_6.setFont( font ) 390 | self.label_6.setObjectName( "label_6" ) 391 | self.pushButton = QtWidgets.QPushButton( self.centralwidget ) 392 | self.pushButton.setGeometry( QtCore.QRect( 20, 340, 221, 91 ) ) 393 | font = QtGui.QFont() 394 | font.setPointSize( 30 ) 395 | self.pushButton.setFont( font ) 396 | self.pushButton.setStyleSheet( "" ) 397 | self.pushButton.setObjectName( "pushButton" ) 398 | self.checkBox_9 = QtWidgets.QCheckBox( self.centralwidget ) 399 | self.checkBox_9.setGeometry( QtCore.QRect( 390, 190, 161, 31 ) ) 400 | font = QtGui.QFont() 401 | font.setFamily( "MS Shell Dlg 2" ) 402 | font.setPointSize( 15 ) 403 | self.checkBox_9.setFont( font ) 404 | self.checkBox_9.setObjectName( "checkBox_9" ) 405 | self.checkBox_10 = QtWidgets.QCheckBox( self.centralwidget ) 406 | self.checkBox_10.setGeometry( QtCore.QRect( 370, 370, 201, 41 ) ) 407 | font = QtGui.QFont() 408 | font.setPointSize( 20 ) 409 | self.checkBox_10.setFont( font ) 410 | self.checkBox_10.setObjectName( "checkBox_10" ) 411 | self.checkBox_11 = QtWidgets.QCheckBox( self.centralwidget ) 412 | self.checkBox_11.setGeometry( QtCore.QRect( 140, 140, 211, 31 ) ) 413 | font = QtGui.QFont() 414 | font.setPointSize( 15 ) 415 | self.checkBox_11.setFont( font ) 416 | self.checkBox_11.setObjectName( "checkBox_11" ) 417 | self.checkBox_12 = QtWidgets.QCheckBox( self.centralwidget ) 418 | self.checkBox_12.setGeometry( QtCore.QRect( 390, 270, 171, 31 ) ) 419 | font = QtGui.QFont() 420 | font.setPointSize( 15 ) 421 | self.checkBox_12.setFont( font ) 422 | self.checkBox_12.setObjectName( "checkBox_12" ) 423 | self.pushButton_2 = QtWidgets.QPushButton( self.centralwidget ) 424 | self.pushButton_2.setGeometry( QtCore.QRect( 750, 360, 201, 71 ) ) 425 | font = QtGui.QFont() 426 | font.setPointSize( 20 ) 427 | self.pushButton_2.setFont( font ) 428 | self.pushButton_2.setObjectName( "pushButton_2" ) 429 | self.pushButton.clicked.connect( self.update ) 430 | self.pushButton_2.clicked.connect( self.rankreveal ) 431 | ProjectMarya.setCentralWidget( self.centralwidget ) 432 | self.statusbar = QtWidgets.QStatusBar( ProjectMarya ) 433 | self.statusbar.setObjectName( "statusbar" ) 434 | ProjectMarya.setStatusBar( self.statusbar ) 435 | 436 | self.retranslateUi( ProjectMarya ) 437 | QtCore.QMetaObject.connectSlotsByName( ProjectMarya ) 438 | 439 | def retranslateUi(self, ProjectMarya): 440 | _translate = QtCore.QCoreApplication.translate 441 | ProjectMarya.setWindowTitle( _translate( "ProjectMarya", "ProjectX" ) ) 442 | self.checkBox.setText( _translate( "ProjectMarya", "Wallhack" ) ) 443 | self.checkBox_2.setText( _translate( "ProjectMarya", "NoFlash" ) ) 444 | self.checkBox_3.setText( _translate( "ProjectMarya", "Radar" ) ) 445 | self.checkBox_4.setText( _translate( "ProjectMarya", "FOV Changer" ) ) 446 | self.checkBox_5.setText( _translate( "ProjectMarya", "Triggerbot" ) ) 447 | self.checkBox_6.setText( _translate( "ProjectMarya", "Aimbot" ) ) 448 | self.checkBox_7.setText( _translate( "ProjectMarya", "Aim for Body" ) ) 449 | self.lineEdit_2.setText( _translate( "ProjectMarya", "e.g c" ) ) 450 | self.lineEdit_4.setText( _translate( "ProjectMarya", "any number" ) ) 451 | self.lineEdit.setText( _translate( "ProjectMarya", "any number" ) ) 452 | self.label.setText( _translate( "ProjectMarya", "FOV Value" ) ) 453 | self.checkBox_8.setText( _translate( "ProjectMarya", "Bunnyhop" ) ) 454 | self.lineEdit_6.setText( _translate( "ProjectMarya", "e.g alt" ) ) 455 | self.label_2.setText( _translate( "ProjectMarya", "FOV Toggle Key" ) ) 456 | self.label_3.setText( _translate( "ProjectMarya", "Triggerbot Key" ) ) 457 | self.label_4.setText( _translate( "ProjectMarya", "Aimbot FOV" ) ) 458 | self.lineEdit_3.setText( _translate( "ProjectMarya", "e.g shift" ) ) 459 | self.label_6.setText( _translate( "ProjectMarya", "Aimbot Key" ) ) 460 | self.pushButton.setText( _translate( "ProjectMarya", "UPDATE" ) ) 461 | self.checkBox_9.setText( _translate( "ProjectMarya", "Silentaim" ) ) 462 | self.checkBox_10.setText( _translate( "ProjectMarya", "Recoil Control" ) ) 463 | self.checkBox_11.setText( _translate( "ProjectMarya", "Hold To Change" ) ) 464 | self.checkBox_12.setText( _translate( "ProjectMarya", "RCS with Aimbot" ) ) 465 | self.pushButton_2.setText( _translate( "ProjectMarya", "Rank Reveal" ) ) 466 | 467 | def main(self): 468 | 469 | pm = pymem.Pymem( "csgo.exe" ) 470 | client = pymem.process.module_from_name( pm.process_handle, "client.dll" ).lpBaseOfDll 471 | engine = pymem.process.module_from_name( pm.process_handle, "engine.dll" ).lpBaseOfDll 472 | player = pm.read_uint( client + dwLocalPlayer ) 473 | engine_pointer = pm.read_uint( engine + dwClientState ) 474 | oldpunchx = 0.0 475 | oldpunchy = 0.0 476 | while True: 477 | try: 478 | if not GetWindowText(GetForegroundWindow()).decode( 479 | 'cp1252') == "Counter-Strike: Global Offensive - Direct3D 9": 480 | time.sleep(1) 481 | continue 482 | 483 | pm.write_uchar( engine + dwbSendPackets, 1 ) 484 | target = None 485 | olddistx = 111111111111 486 | olddisty = 111111111111 487 | if client and engine and pm: 488 | try: 489 | player = pm.read_uint( client + dwLocalPlayer ) 490 | engine_pointer = pm.read_uint( engine + dwClientState ) 491 | glow_manager = pm.read_uint( client + dwGlowObjectManager ) 492 | crosshairID = pm.read_uint( player + m_iCrosshairId ) 493 | getcrosshairTarget = pm.read_uint( client + dwEntityList + (crosshairID - 1) * 0x10 ) 494 | immunitygunganme = pm.read_uint( getcrosshairTarget + m_bGunGameImmunity ) 495 | localTeam = pm.read_uint( player + m_iTeamNum ) 496 | crosshairTeam = pm.read_uint( getcrosshairTarget + m_iTeamNum ) 497 | except: 498 | print( "Round not started yet" ) 499 | time.sleep( 5 ) 500 | continue 501 | 502 | for i in range( 1, 64 ): 503 | entity = pm.read_uint( client + dwEntityList + i * 0x10 ) 504 | 505 | if entity: 506 | try: 507 | entity_glow = pm.read_uint( entity + m_iGlowIndex ) 508 | entity_team_id = pm.read_uint( entity + m_iTeamNum ) 509 | entity_isdefusing = pm.read_uint( entity + m_bIsDefusing ) 510 | entity_hp = pm.read_uint( entity + m_iHealth ) 511 | entity_dormant = pm.read_uint( entity + m_bDormant ) 512 | except: 513 | print( "Could not load Players Infos (Should only do this once)" ) 514 | time.sleep( 2 ) 515 | continue 516 | 517 | if entity_hp > 50 and not entity_hp == 100: 518 | r, g, b = 255, 165, 0 519 | elif entity_hp < 50: 520 | r, g, b = 255, 0, 0 521 | elif entity_hp == 100 and entity_team_id == 2: 522 | r, g, b = 0, 255, 0 523 | else: 524 | r, g, b = 0, 255, 0 525 | 526 | if self.aimc and localTeam != entity_team_id and entity_hp > 0: 527 | entity_bones = pm.read_uint( entity + m_dwBoneMatrix ) 528 | localpos_x_angles = pm.read_float( engine_pointer + dwClientState_ViewAngles ) 529 | localpos_y_angles = pm.read_float( engine_pointer + dwClientState_ViewAngles + 0x4 ) 530 | localpos1 = pm.read_float( player + m_vecOrigin ) 531 | localpos2 = pm.read_float( player + m_vecOrigin + 4 ) 532 | localpos_z_angles = pm.read_float( player + m_vecViewOffset + 0x8 ) 533 | localpos3 = pm.read_float( player + m_vecOrigin + 8 ) + localpos_z_angles 534 | if self.baim: 535 | try: 536 | entitypos_x = pm.read_float( entity_bones + 0x30 * 5 + 0xC ) 537 | entitypos_y = pm.read_float( entity_bones + 0x30 * 5 + 0x1C ) 538 | entitypos_z = pm.read_float( entity_bones + 0x30 * 5 + 0x2C ) 539 | except: 540 | continue 541 | else: 542 | try: 543 | entitypos_x = pm.read_float( entity_bones + 0x30 * 8 + 0xC ) 544 | entitypos_y = pm.read_float( entity_bones + 0x30 * 8 + 0x1C ) 545 | entitypos_z = pm.read_float( entity_bones + 0x30 * 8 + 0x2C ) 546 | except: 547 | continue 548 | X, Y = calcangle( localpos1, localpos2, localpos3, entitypos_x, entitypos_y, entitypos_z ) 549 | newdist_x, newdist_y = calc_distance( localpos_x_angles, localpos_y_angles, X, Y ) 550 | if newdist_x < olddistx and newdist_y < olddisty and newdist_x <= self.aimfov and newdist_y <= self.aimfov: 551 | olddistx, olddisty = newdist_x, newdist_y 552 | target, target_hp, target_dormant = entity, entity_hp, entity_dormant 553 | target_x, target_y, target_z = entitypos_x, entitypos_y, entitypos_z 554 | if self.aimc and is_press( self.aimkey ) and player: 555 | if target and target_hp > 0 and not target_dormant: 556 | pitch, yaw = calcangle( localpos1, localpos2, localpos3, target_x, target_y, target_z ) 557 | normalize_x, normalize_y = normalizeAngles( pitch, yaw ) 558 | punchx = pm.read_float( player + m_aimPunchAngle ) 559 | punchy = pm.read_float( player + m_aimPunchAngle + 0x4 ) 560 | if self.silentshit: 561 | pm.write_uchar( engine + dwbSendPackets, 0 ) 562 | Commands = pm.read_uint( client + dwInput + 0xF4 ) 563 | VerifedCommands = pm.read_uint( client + dwInput + 0xF8 ) 564 | Desired = pm.read_uint( engine_pointer + clientstate_last_outgoing_command ) + 2 565 | OldUser = Commands + ((Desired - 1) % 150) * 100 566 | VerifedOldUser = VerifedCommands + ((Desired - 1) % 150) * 0x68 567 | m_buttons = pm.read_uint( OldUser + 0x30 ) 568 | Net_Channel = pm.read_uint( engine_pointer + clientstate_net_channel ) 569 | if pm.read_uint( Net_Channel + 0x18 ) < Desired: 570 | pass 571 | elif self.aimrcs: 572 | pm.write_float( OldUser + 0x0C, normalize_x ) 573 | pm.write_float( OldUser + 0x10, normalize_y) 574 | pm.write_int( OldUser + 0x30, m_buttons | (1 << 0) ) 575 | pm.write_float( VerifedOldUser + 0x0C, normalize_x - (punchx * 2) ) 576 | pm.write_float( VerifedOldUser + 0x10, normalize_y - (punchy * 2) ) 577 | pm.write_int( VerifedOldUser + 0x30, m_buttons | (1 << 0) ) 578 | pm.write_uchar( engine + dwbSendPackets, 1 ) 579 | else: 580 | pm.write_float( OldUser + 0x0C, normalize_x ) 581 | pm.write_float( OldUser + 0x10, normalize_y ) 582 | pm.write_int( OldUser + 0x30, m_buttons | (1 << 0) ) 583 | pm.write_float( VerifedOldUser + 0x0C, normalize_x ) 584 | pm.write_float( VerifedOldUser + 0x10, normalize_y ) 585 | pm.write_int( VerifedOldUser + 0x30, m_buttons | (1 << 0) ) 586 | pm.write_uchar( engine + dwbSendPackets, 1 ) 587 | 588 | elif self.aimrcs and pm.read_uint( player + m_iShotsFired ) > 1: 589 | pm.write_float( engine_pointer + dwClientState_ViewAngles, normalize_x - (punchx * 2) ) 590 | pm.write_float( engine_pointer + dwClientState_ViewAngles + 0x4, 591 | normalize_y - (punchy * 2) ) 592 | else: 593 | pm.write_float( engine_pointer + dwClientState_ViewAngles, normalize_x ) 594 | pm.write_float( engine_pointer + dwClientState_ViewAngles + 0x4, 595 | normalize_y ) 596 | 597 | if self.radarc == True: 598 | pm.write_int( entity + m_bSpotted, 1 ) 599 | 600 | if self.whc and entity_team_id == 2 and ( 601 | eteam or localTeam != 2) and not entity_dormant: 602 | 603 | pm.write_float( glow_manager + entity_glow * 0x38 + 0x8, float( r ) ) # R 604 | pm.write_float( glow_manager + entity_glow * 0x38 + 0xC, float( g ) ) # G 605 | pm.write_float( glow_manager + entity_glow * 0x38 + 0x10, float( b ) ) # B 606 | pm.write_float( glow_manager + entity_glow * 0x38 + 0x14, float( 255 ) ) # A 607 | 608 | pm.write_int( glow_manager + entity_glow * 0x38 + 0x28, 1 ) # Enable 609 | 610 | 611 | elif self.whc and entity_team_id == 3 and ( 612 | eteam or localTeam != 3) and not entity_dormant: # Anti Glow 613 | 614 | pm.write_float( glow_manager + entity_glow * 0x38 + 0x8, float( r ) ) # R 615 | pm.write_float( glow_manager + entity_glow * 0x38 + 0xC, float( g ) ) # G 616 | pm.write_float( glow_manager + entity_glow * 0x38 + 0x10, float( b ) ) # B 617 | pm.write_float( glow_manager + entity_glow * 0x38 + 0x14, float( 255 ) ) # A 618 | 619 | pm.write_int( glow_manager + entity_glow * 0x38 + 0x28, 1 ) # Enable 620 | 621 | else: 622 | pass 623 | 624 | 625 | if self.trigc and is_press( 626 | self.triggerkey ) and 0 < crosshairID <= 64 and localTeam != crosshairTeam: 627 | pm.write_int( client + dwForceAttack, 6 ) 628 | 629 | if self.nf and player: 630 | flash_value = player + m_flFlashMaxAlpha 631 | if flash_value: 632 | self.pm.write_float( flash_value, float( 0 ) ) 633 | 634 | if self.rcse: 635 | if pm.read_uint( player + m_iShotsFired ) > 2: 636 | rcs_x = pm.read_float( engine_pointer + dwClientState_ViewAngles ) 637 | rcs_y = pm.read_float( engine_pointer + dwClientState_ViewAngles + 0x4 ) 638 | punchx = pm.read_float( player + m_aimPunchAngle ) 639 | punchy = pm.read_float( player + m_aimPunchAngle + 0x4 ) 640 | newrcsx = rcs_x - (punchx - oldpunchx) * 2 641 | newrcsy = rcs_y - (punchy - oldpunchy) * 2 642 | oldpunchx = punchx 643 | oldpunchy = punchy 644 | if nanchecker( newrcsx, newrcsy ) and checkangles( newrcsx, newrcsy ): 645 | pm.write_float( engine_pointer + dwClientState_ViewAngles, newrcsx ) 646 | pm.write_float( engine_pointer + dwClientState_ViewAngles + 0x4, newrcsy ) 647 | else: 648 | oldpunchx = 0.0 649 | oldpunchy = 0.0 650 | newrcsx = 0.0 651 | newrcsy = 0.0 652 | 653 | 654 | if not self.larryfov: 655 | 656 | if self.fovt and player and self.fovtog: 657 | fovshit = player + m_iDefaultFOV 658 | pm.write_int( fovshit, self.fovvalue ) 659 | 660 | if not self.fovt or not self.fovtog: 661 | fovshit = player + m_iDefaultFOV 662 | pm.write_int( fovshit, 90 ) 663 | 664 | if self.fovt and is_press( self.fovkey ): 665 | self.fovtog = not self.fovtog 666 | time.sleep( 0.25 ) 667 | 668 | if self.larryfov and player: 669 | fovshit = player + m_iDefaultFOV 670 | if is_press( self.fovkey ): 671 | self.pm.write_int( fovshit, self.fovvalue ) 672 | else: 673 | self.pm.write_int( fovshit, 90 ) 674 | 675 | if self.bhc: 676 | if is_press( "space" ): 677 | force_jump = client + dwForceJump 678 | on_ground = pm.read_uint( player + m_fFlags ) 679 | if player and on_ground == 257 or on_ground == 263: 680 | pm.write_int( force_jump, 6 ) 681 | except: 682 | continue 683 | 684 | def rankreveal(self): 685 | pm = pymem.Pymem( "csgo.exe" ) 686 | client = pymem.process.module_from_name( pm.process_handle, "client.dll" ) 687 | engine = pymem.process.module_from_name( pm.process_handle, "engine.dll" ) 688 | ranks = ["Unranked", 689 | "Silver I", 690 | "Silver II", 691 | "Silver III", 692 | "Silver IV", 693 | "Silver Elite", 694 | "Silver Elite Master", 695 | "Gold Nova I", 696 | "Gold Nova II", 697 | "Gold Nova III", 698 | "Gold Nova Master", 699 | "Master Guardian I", 700 | "Master Guardian II", 701 | "Master Guardian Elite", 702 | "Distinguished Master Guardian", 703 | "Legendary Eagle", 704 | "Legendary Eagle Master", 705 | "Supreme Master First Class", 706 | "The Global Elite"] 707 | for i in range( 0, 32 ): 708 | entity = pm.read_uint( client.lpBaseOfDll + dwEntityList + i * 0x10 ) 709 | 710 | if entity: 711 | entity_team_id = pm.read_uint( entity + m_iTeamNum ) 712 | if entity_team_id : 713 | player_info = pm.read_uint( 714 | (pm.read_uint( engine.lpBaseOfDll + dwClientState )) + dwClientState_PlayerInfo ) 715 | player_info_items = pm.read_uint( pm.read_uint( player_info + 0x40 ) + 0xC ) 716 | info = pm.read_uint( player_info_items + 0x28 + (i * 0x34) ) 717 | playerres = pm.read_uint( client.lpBaseOfDll + dwPlayerResource ) 718 | rank = pm.read_uint( playerres + m_iCompetitiveRanking + (i * 4 )) 719 | wins = pm.read_uint(playerres + m_iCompetitiveWins + i * 4) 720 | if pm.read_string( info + 0x10 ) != 'GOTV': 721 | print(rank) 722 | print( pm.read_string( info + 0x10 ) + " --> " + ranks[rank] ) 723 | print(wins) 724 | 725 | 726 | if __name__ == "__main__": 727 | import sys 728 | 729 | app = QtWidgets.QApplication( sys.argv ) 730 | Dialog = QtWidgets.QMainWindow() 731 | ui = Ui_MainWindow() 732 | ui.setupUi( Dialog ) 733 | Dialog.show() 734 | threading.Thread( target=ui.main ).start() 735 | sys.exit( app.exec_() ) 736 | 737 | -------------------------------------------------------------------------------- /ProjectX_V2.py: -------------------------------------------------------------------------------- 1 | import io 2 | import shutil 3 | import threading 4 | import time 5 | import zipfile 6 | from random import randint 7 | 8 | from Classes.PlayerVars import * 9 | from Classes.Ui import * 10 | from Classes.Vector3 import Vec3 11 | from MatFunctions.MathPy import GetBestTarget, CalcAngle, CalcDistance 12 | from Utils.Aimbot import shootatTarget, AimStep 13 | from Utils.Autostrafe import AutoStrafe 14 | from Utils.Bhop import Bhop 15 | from Utils.Chams import Chams, ResetChams 16 | from Utils.Triggerbot import shootTrigger 17 | from Utils.Utilities import GetWindowText, GetForegroundWindow, update, is_pressed 18 | from Utils.WallhackFunctions import SetEntityGlow, GetEntityVars 19 | from Utils.rcs import rcse 20 | 21 | 22 | def main(): 23 | # getting handle to csgo process 24 | try: 25 | pm = pymem.Pymem("csgo.exe") 26 | except Exception as e: 27 | MessageBox = ctypes.windll.user32.MessageBoxW 28 | MessageBox(None, 'Could not find the csgo.exe process !', 'Error', 16) 29 | quit(0) 30 | # getting client and engine dll modules as well as updating netvars 31 | client = pymem.process.module_from_name(pm.process_handle, "client.dll").lpBaseOfDll 32 | engine = pymem.process.module_from_name(pm.process_handle, "engine.dll").lpBaseOfDll 33 | engine_pointer = pm.read_uint(engine + dwClientState) 34 | # Initialising Variable 35 | cham = False 36 | oldpunch = Vec3(0, 0, 0) 37 | newrcs = Vec3(0, 0, 0) 38 | punch = Vec3(0, 0, 0) 39 | rcs = Vec3(0, 0, 0) 40 | random = Vec3(0, 0, 0) 41 | fovex = False 42 | First = True 43 | first = True 44 | oldviewangle = 0.0 45 | print("DUMPING NETVARS") 46 | print("DUMPING OFFSETS SUCCESFUL") 47 | print("CHEAT STARTED") 48 | s = 0 49 | n = 0 50 | while True: 51 | time.sleep(0.0025) 52 | try: 53 | if not GetWindowText(GetForegroundWindow()).decode( 54 | 'cp1252') == "Counter-Strike: Global Offensive - Direct3D 9": 55 | time.sleep(1) 56 | continue 57 | pm.write_uchar(engine + dwbSendPackets, 1) 58 | player = pm.read_uint(client + dwLocalPlayer) 59 | if client and engine and pm: 60 | try: # Getting variables 61 | player, engine_pointer, glow_manager, crosshairid, getcrosshairTarget, immunitygunganme,\ 62 | localTeam, crosshairTeam, y_angle = GetPlayerVars(pm, client, engine, engine_pointer) 63 | except Exception as e: 64 | print("Round not started yet") 65 | time.sleep(2) 66 | continue 67 | 68 | if ui.Aimbot and is_pressed(ui.Aimbotkey) and player: # Aimbot 69 | if ui.random != 0 and random.x == 0 and random.y == 0 and random.z == 0 and first: 70 | random = Vec3(randint(-ui.random, ui.random), randint(-ui.random, ui.random), 0) 71 | target, localpos, targetpos = GetBestTarget(pm, client, engine, player, ui.spotted, ui.Baim, ui.Aimfov, 72 | random) 73 | if target is not None and localpos is not None and targetpos is not None: 74 | if ui.smooth and not ( 75 | pm.read_int(player + m_iShotsFired) > 1 and ui.AimRCS): # If smooth and not shooting 76 | localAngle = Vec3(0, 0, 0) 77 | localAngle.x = pm.read_float(engine_pointer + dwClientState_ViewAngles) 78 | localAngle.y = pm.read_float(engine_pointer + dwClientState_ViewAngles + 0x4) 79 | localAngle.z = pm.read_float(player + m_vecViewOffset + 0x8) 80 | if s <= int(n) and CalcDistance(CalcAngle(localpos, targetpos), localAngle) > 0.7: 81 | n = AimStep(pm, engine_pointer, ui.sens, localpos, targetpos, localAngle, s, n) 82 | s += 1 83 | elif s >= int(n) or CalcDistance(CalcAngle(localpos, targetpos), localAngle): 84 | s = 0 85 | n = 0 86 | random = Vec3(0, 0, 0) 87 | first = False 88 | shootatTarget(pm, client, engine, localpos, targetpos, player, engine_pointer, ui.Silentaim, 89 | ui.AimRCS, ui.Aimbotkey) 90 | else: 91 | shootatTarget(pm, client, engine, localpos, targetpos, player, engine_pointer, ui.Silentaim, 92 | ui.AimRCS, ui.Aimbotkey) 93 | 94 | if ui.Aimbot and not is_pressed(ui.Aimbotkey): # reseting Aimbot 95 | s = 0 96 | n = 0 97 | first = True 98 | random = Vec3(0, 0, 0) 99 | 100 | if ui.Trigger and is_pressed(ui.Triggerkey): # Trigger 101 | shootTrigger(pm, crosshairid, client, localTeam, crosshairTeam, ui.Triggerkey) 102 | 103 | if ui.Noflash: # Noflash 104 | flash_value = player + m_flFlashMaxAlpha 105 | if flash_value: 106 | pm.write_float(flash_value, float(0)) 107 | 108 | if ui.RCS: # RCS 109 | oldpunch = rcse(pm, player, engine_pointer, oldpunch, newrcs, punch, rcs) 110 | 111 | if not ui.Holdfov: # FOV 112 | if ui.Togglefov and fovex: 113 | fovshit = player + m_iDefaultFOV 114 | pm.write_int(fovshit, ui.Fovvaluke) 115 | if not ui.Togglefov or not fovex: 116 | fovshit = player + m_iDefaultFOV 117 | pm.write_int(fovshit, 90) 118 | if ui.Togglefov and is_pressed(ui.Fovkey): 119 | fovex = not fovex 120 | time.sleep(0.25) 121 | 122 | if ui.Holdfov: # Holdfov 123 | fovshit = player + m_iDefaultFOV 124 | if is_pressed(ui.Fovkey): 125 | pm.write_int(fovshit, ui.Fovvaluke) 126 | else: 127 | pm.write_int(fovshit, 90) 128 | 129 | if ui.Bhop: # Bhop 130 | if is_pressed("space"): 131 | Bhop(pm, client, player) 132 | 133 | if ui.auto_strafe and y_angle: # Autostrafe 134 | y_angle = AutoStrafe(pm, client, player, y_angle, oldviewangle) 135 | oldviewangle = y_angle 136 | 137 | for i in range(0, 64): # Looping through all entities 138 | entity = pm.read_uint(client + dwEntityList + i * 0x10) 139 | if entity: 140 | entity_glow, entity_team_id, entity_isdefusing, entity_hp, entity_dormant = GetEntityVars(pm, 141 | entity) 142 | if ui.Wallhack: # Wallhack 143 | SetEntityGlow(pm, entity_hp, entity_team_id, entity_dormant, localTeam, glow_manager, 144 | entity_glow, ui.Eteam, ui.healthbasedWH, ui.WRGB) 145 | if ui.Radar: # Radar 146 | pm.write_int(entity + m_bSpotted, 1) 147 | if ui.Chams: # Chams 148 | Chams(pm, engine, entity, ui.Healthbased, ui.Ergb, ui.Argb, ui.Allies, ui.Enemies, 149 | entity_team_id, entity_hp, First, player) 150 | First = False 151 | if not ui.Chams and cham: # Reseting Chams 152 | ResetChams(pm, engine, entity, entity_team_id, player) 153 | # Chams variables 154 | if ui.Chams: 155 | cham = True 156 | elif not ui.Chams: 157 | cham = False 158 | First = True 159 | 160 | except Exception as e: # Catching Exceptions 161 | #print(e) 162 | continue 163 | 164 | 165 | if __name__ == "__main__": 166 | if update(): # Versioncontrol 167 | import sys 168 | app = QtWidgets.QApplication(sys.argv) 169 | Dialog = QtWidgets.QMainWindow() 170 | ui = Ui_MainWindow() 171 | ui.setupUi(Dialog) 172 | Dialog.show() 173 | threading.Thread(target=main).start() # Mainthread 174 | sys.exit(app.exec_()) 175 | else: 176 | dir = os.getcwd() 177 | clonedir = str(dir).split("\\")[0:-1] 178 | stringdir = "" 179 | for x in clonedir: 180 | stringdir += f"{x}/" 181 | for filename in os.listdir(dir): 182 | filepath = os.path.join(dir, filename) 183 | try: 184 | if os.path.isfile(filepath) or os.path.islink(filepath): 185 | os.unlink(filepath) 186 | elif os.path.isdir(filepath): 187 | shutil.rmtree(filepath, ignore_errors=True) 188 | except Exception as e: 189 | print('Failed to delete %s. Reason: %s' % (filepath, e)) 190 | r = requests.get("https://github.com/XanOpiat/Python-CSGO-Cheat/archive/refs/heads/main.zip", stream=True) 191 | z = zipfile.ZipFile(io.BytesIO(r.content)) 192 | z.extractall(stringdir) 193 | else: 194 | print("Program Is not allowed to be ran, by other programs!") 195 | quit(0) 196 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ProjectX 2 | All in one external CSGO cheat written in python. 3 | It is probably undetected by VAC but im not reponsible for any future bans if you use this cheat in competitive. 4 | Dont use silentaim with a high fov, its way to obvious and you are gonna get banned by VACNET 5 | I have only tested this cheat against bots and you shouldnt use it against real people. This is ONLY MEANT AS A POC! 6 | It comes with a nice Gui and can be installed very easily. 7 | Requires Python3 and pip (aswell as CSGO obviously) 8 | Video Tutorial: https://youtu.be/eaP6Hr_uzSs - Outdated for v2! 9 | 10 | ## Features 11 | -Aimbot (Body or head) \ 12 | -Smooth Aimbot \ 13 | -Random Aimbot\ 14 | -Legitbot \ 15 | -Config System using Configparser \ 16 | -Silentaim \ 17 | -RCS \ 18 | -RCS with Aimbot \ 19 | -Triggerbot \ 20 | -Customizable Wallhack \ 21 | -Noflash \ 22 | -Radar \ 23 | -Bunnyhop \ 24 | -Customizable FOV changer \ 25 | -Rank reveal in Competitive \ 26 | -Auto-updating offsets \ 27 | -Chams \ 28 | -Mouse and Keyboard support, you may find a list of the accepted mouse buttons [here](https://github.com/XanOpiat/Python-CSGO-Cheat/blob/main/Utils/Utilities.py#L58) 29 | 30 | ## Getting Started: 31 | 32 | Step 1: 33 | ``` 34 | Install Python3.8+ from https://python.org/downloads 35 | ``` 36 | 37 | Step 2: 38 | ``` 39 | Download the ZIP from the github or clone the repository using " git clone https://github.com/XanOpiat/Python-CSGO-Cheat.git ". 40 | ``` 41 | 42 | Step 3: 43 | ``` 44 | Unpack the ZIP. 45 | ``` 46 | 47 | Step 4: 48 | ``` 49 | Run installer.py (preferably as administrator). 50 | ``` 51 | 52 | Step 5: 53 | ``` 54 | Run CSGO (Get in a match). 55 | ``` 56 | 57 | Step 6: 58 | ``` 59 | Run ProjectX_V2.py (preferably as administrator). 60 | ``` 61 | 62 | Step 7: 63 | ``` 64 | Choose your setting and than, click the update botton, 65 | Have fun and star the github! 66 | ``` 67 | 68 | ## Notes 69 | ProjectX_V2 Has some flaws, sometimes it will crash. 70 | Restarting the program should work, If not open a issue with the error. 71 | 72 | 73 | ## Credit To: 74 | https://github.com/Snaacky/ for his csgo cheats which i used to learn about CSGO cheating in python. \ 75 | The unknowncheats and guided hacking community \ 76 | https://github.com/lkean9 for helping me figure out multpile very wierd errors. \ 77 | https://github.com/Bugleman for cleaning the code and adding the installer.py 78 | 79 | -------------------------------------------------------------------------------- /TUTORIAL.txt: -------------------------------------------------------------------------------- 1 | 1. Install Python3.8 from https://python.org/downloads 2 | 2. Download the ZIP from the github. 3 | 3. Unpack the ZIP. 4 | 4. Run installer.py (preferably as administrator). 5 | 5. Run CSGO // Get in a match 6 | 6. Run ProjectX_V2.py (preferably as administrator). 7 | 7. Choose your setting and than, click the update botton! 8 | 8. Have fun and star the github! -------------------------------------------------------------------------------- /Utils/Aimbot.py: -------------------------------------------------------------------------------- 1 | 2 | from MatFunctions.MathPy import * 3 | from Utils.Offsets import * 4 | 5 | # Cleaned most of this file, 6 | # This file is working. 7 | # Last update 2022,Jan,10 8 | 9 | sens = int() 10 | 11 | 12 | def shootatTarget(pm, client, engine, localpos, targetpos, player, engine_pointer, Silent, aimrcs, aimkey): 13 | Unnormal = CalcAngle(localpos, targetpos) 14 | Normal = normalizeAngles(Unnormal) 15 | punchx = pm.read_float(player + m_aimPunchAngle) 16 | punchy = pm.read_float(player + m_aimPunchAngle + 0x4) 17 | if Silent: 18 | pm.write_uchar(engine + dwbSendPackets, 0) 19 | Commands = pm.read_int(client + dwInput + 0x0108) 20 | VerifedCommands = pm.read_int(client + dwInput + 0x010C) 21 | Desired = pm.read_int(engine_pointer + clientstate_last_outgoing_command) + 2 22 | OldUser = Commands + ((Desired - 1) % 150) * 100 23 | VerifedOldUser = VerifedCommands + ((Desired - 1) % 150) * 0x68 24 | m_buttons = pm.read_int(OldUser + 0x30) 25 | Net_Channel = pm.read_uint(engine_pointer + clientstate_net_channel) 26 | if pm.read_int(Net_Channel + 0x18) < Desired: 27 | pass 28 | elif aimrcs: 29 | pm.write_float(OldUser + 0x0C, Normal.x) 30 | pm.write_float(OldUser + 0x10, Normal.y) 31 | pm.write_int(OldUser + 0x30, m_buttons | (1 << 0)) 32 | pm.write_float(VerifedOldUser + 0x0C, Normal.x - (punchx * 2)) 33 | pm.write_float(VerifedOldUser + 0x10, Normal.y - (punchy * 2)) 34 | pm.write_int(VerifedOldUser + 0x30, m_buttons | (1 << 0)) 35 | pm.write_uchar(engine + dwbSendPackets, 1) 36 | else: 37 | pm.write_float(OldUser + 0x0C, Normal.x) 38 | pm.write_float(OldUser + 0x10, Normal.y) 39 | pm.write_int(OldUser + 0x30, m_buttons | (1 << 0)) 40 | pm.write_float(VerifedOldUser + 0x0C, Normal.x) 41 | pm.write_float(VerifedOldUser + 0x10, Normal.y) 42 | pm.write_int(VerifedOldUser + 0x30, m_buttons | (1 << 0)) 43 | pm.write_uchar(engine + dwbSendPackets, 1) 44 | elif aimrcs and pm.read_int(player + m_iShotsFired) > 1: 45 | pm.write_float(engine_pointer + dwClientState_ViewAngles, Normal.x - (punchx * 2)) 46 | pm.write_float(engine_pointer + dwClientState_ViewAngles + 0x4, 47 | Normal.y - (punchy * 2)) 48 | 49 | else: 50 | pm.write_float(engine_pointer + dwClientState_ViewAngles, Normal.x) 51 | pm.write_float(engine_pointer + dwClientState_ViewAngles + 0x4, 52 | Normal.y) 53 | 54 | 55 | def AimStep(pm, engine_pointer, smooth, CurrLocal, CurrTarget, LocalAngle, i, n): 56 | AngDiff = normalizeAngles(CalcAngle(CurrLocal, CurrTarget)) 57 | AngDiff.x = AngDiff.x - LocalAngle.x 58 | AngDiff.y = AngDiff.y - LocalAngle.y 59 | AngDiff.z = AngDiff.z - LocalAngle.z 60 | normalizeAngles(AngDiff) 61 | Dist = sqrt(AngDiff.x * AngDiff.x + AngDiff.y * AngDiff.y + AngDiff.z * AngDiff.z) 62 | if i == 0: 63 | n = Dist * smooth 64 | AddAngl = Vec3(AngDiff.x / (n - i), AngDiff.y / (n - i), AngDiff.z / (n - i)) 65 | writeang = Vec3(LocalAngle.x + AddAngl.x, LocalAngle.y + AddAngl.y, 0) 66 | pm.write_float(engine_pointer + dwClientState_ViewAngles, writeang.x) 67 | pm.write_float(engine_pointer + dwClientState_ViewAngles + 0x4, writeang.y) 68 | return n 69 | -------------------------------------------------------------------------------- /Utils/Autostrafe.py: -------------------------------------------------------------------------------- 1 | from Utils.Offsets import * 2 | 3 | # Cleaned most of this file, 4 | # This file is working. 5 | # Last update 2022,Jan,10 6 | 7 | 8 | def AutoStrafe(pm, client, player, y_angle, oldviewangle): 9 | on_ground = pm.read_uint(player + m_fFlags) 10 | 11 | if player and (on_ground == 256 or on_ground == 262): 12 | 13 | if y_angle > oldviewangle: 14 | pm.write_int(client + dwForceLeft, 6) 15 | 16 | elif y_angle < oldviewangle: 17 | pm.write_int(client + dwForceRight, 6) 18 | 19 | return y_angle 20 | -------------------------------------------------------------------------------- /Utils/Bhop.py: -------------------------------------------------------------------------------- 1 | from Utils.Offsets import * 2 | 3 | # Cleaned most of this file, 4 | # This file is working. 5 | # Last update 2022,Jan,10 6 | 7 | 8 | def Bhop(pm, client, player): 9 | force_jump = client + dwForceJump 10 | on_ground = pm.read_uint(player + m_fFlags) 11 | if player and on_ground == 257 or on_ground == 263: 12 | pm.write_int(force_jump, 6) 13 | -------------------------------------------------------------------------------- /Utils/Chams.py: -------------------------------------------------------------------------------- 1 | from Utils.Offsets import * 2 | 3 | # Cleaned most of this file, 4 | # This file is now working. 5 | # Last update 2022,Jan,10 6 | 7 | 8 | def getClassID(pm, entity): 9 | buf = pm.read_int(entity + 8) 10 | buf = pm.read_int(buf + 2 * 4) 11 | buf = pm.read_int(buf + 1) 12 | buf = pm.read_int(buf + 20) 13 | return buf 14 | 15 | 16 | def Chams(pm, engine, entity, healthbased, Ergb, Argb, Allies, Enemies, entityTeam, entityHP, first, localPlayer): 17 | localTeam = pm.read_int(localPlayer + m_iTeamNum) 18 | if entity and entity != 0: 19 | if getClassID(pm, entity) == 40: 20 | 21 | if healthbased: 22 | if entityHP == 100: 23 | Argb = [0, 255, 0] 24 | Ergb = [0, 255, 0] 25 | elif entityHP > 75: 26 | Argb = [0, 255, 255] 27 | Ergb = [0, 255, 255] 28 | elif entityHP > 25: 29 | Argb = [255, 165, 0] 30 | Ergb = [255, 165, 0] 31 | else: 32 | Argb = [255, 0, 0] 33 | Ergb = [255, 0, 0] 34 | if Allies: 35 | if entityTeam == localTeam and entityTeam != 0 and entity != localPlayer: 36 | pm.write_uchar(entity + 112, Argb[0]) 37 | pm.write_uchar(entity + 113, Argb[1]) 38 | pm.write_uchar(entity + 114, Argb[2]) 39 | elif not Allies: 40 | if entityTeam == localTeam and entityTeam != 0 and entity != localPlayer: 41 | pm.write_uchar(entity + 112, 255) 42 | pm.write_uchar(entity + 113, 255) 43 | pm.write_uchar(entity + 114, 255) 44 | if Enemies: 45 | if entityTeam != localTeam and entityTeam != 0 and entity != localPlayer: 46 | pm.write_uchar(entity + 112, Ergb[0]) 47 | pm.write_uchar(entity + 113, Ergb[1]) 48 | pm.write_uchar(entity + 114, Ergb[2]) 49 | elif not Enemies: 50 | if entityTeam != localTeam and entityTeam != 0 and entity != localPlayer: 51 | pm.write_uchar(entity + 112, 255) 52 | pm.write_uchar(entity + 113, 255) 53 | pm.write_uchar(entity + 114, 255) 54 | 55 | if first: 56 | buf = 1084227584 57 | point = pm.read_int(engine + model_ambient - 44) 58 | xored = buf ^ point 59 | pm.write_int(engine + model_ambient, xored) 60 | 61 | 62 | def ResetChams(pm, engine, entity, entityTeam, localPlayer): 63 | if entity and entity != 0: 64 | if getClassID(pm, entity) == 40: 65 | if entityTeam != 0 and entity != localPlayer: 66 | pm.write_uchar(entity + 112, 255) 67 | pm.write_uchar(entity + 113, 255) 68 | pm.write_uchar(entity + 114, 255) 69 | 70 | b = 0 71 | pointer = pm.read_int(engine + model_ambient - 44) 72 | xo = b ^ pointer 73 | pm.write_int(engine + model_ambient, xo) 74 | -------------------------------------------------------------------------------- /Utils/Offsets.py: -------------------------------------------------------------------------------- 1 | import json 2 | import pymem 3 | import re 4 | import requests 5 | 6 | # Cleaned most of this file, 7 | # This file is working. 8 | # Last update 2022,Jan,10 9 | 10 | 11 | file = "./nets/netvars.json" 12 | f = open(file, "r") 13 | 14 | response = json.load(f) 15 | 16 | m_iCompetitiveWins = int(response["DT_CSPlayerResource"]["m_iCompetitiveWins"]) 17 | m_iTeamNum = int(response["DT_BaseEntity"]["m_iTeamNum"]) 18 | m_fFlags = int(response["DT_BasePlayer"]["m_fFlags"]) 19 | m_flFlashMaxAlpha = int(response["DT_CSPlayer"]["m_flFlashMaxAlpha"]) 20 | m_iDefaultFOV = int(response["DT_BasePlayer"]["m_iDefaultFOV"]) 21 | m_bGunGameImmunity = int(response["DT_CSPlayer"]["m_bGunGameImmunity"]) 22 | m_iHealth = int(response["DT_BasePlayer"]["m_iHealth"]) 23 | m_vecOrigin = int(response["DT_BaseEntity"]["m_vecOrigin"]) 24 | m_iGlowIndex = int(response["DT_CSPlayer"]["m_flFlashDuration"]) + 24 25 | m_iCrosshairId = int(response["DT_CSPlayer"]["m_bHasDefuser"]) + 92 26 | m_dwBoneMatrix = int(response["DT_BaseAnimating"]["m_nForceBone"]) + 28 27 | m_vecViewOffset = int(response["DT_LocalPlayerExclusive"]["m_vecViewOffset[0]"]) 28 | m_bSpotted = int(response["DT_BaseEntity"]["m_bSpotted"]) 29 | m_iShotsFired = int(response["DT_CSLocalPlayerExclusive"]["m_iShotsFired"]) 30 | m_aimPunchAngle = int(response["DT_Local"]["m_aimPunchAngle"]) + 12236 31 | m_bIsDefusing = int(response["DT_CSPlayer"]["m_bIsDefusing"]) 32 | m_iCompetitiveRanking = int(response["DT_CSPlayerResource"]["m_iCompetitiveRanking"]) 33 | m_bSpottedByMask = int(response["DT_BaseEntity"]["m_bSpottedByMask"]) 34 | 35 | f.close() 36 | 37 | 38 | def get_sig(pm, modulename, pattern, extra=0, offset=0, 39 | relative=True): # Get_Sig Function that will let us pattern scan for offsets 40 | if offset == 0: # very wierd shit happening with the dwbSendPacketsOffset :) 41 | module = pymem.process.module_from_name(pm.process_handle, modulename) 42 | bytes = pm.read_bytes(module.lpBaseOfDll, module.SizeOfImage) 43 | match = re.search(pattern, bytes).start() 44 | res = match + extra 45 | return res 46 | module = pymem.process.module_from_name(pm.process_handle, modulename) 47 | bytes = pm.read_bytes(module.lpBaseOfDll, module.SizeOfImage) 48 | match = re.search(pattern, bytes).start() 49 | non_relative = pm.read_int(module.lpBaseOfDll + match + offset) + extra 50 | yes_relative = pm.read_int(module.lpBaseOfDll + match + offset) + extra - module.lpBaseOfDll 51 | return "0x{:X}".format(yes_relative) if relative else "0x{:X}".format(non_relative) 52 | 53 | 54 | PatternDict = {} 55 | 56 | 57 | def transform_patterns(): # unfinished 58 | 59 | response = requests.get("https://raw.githubusercontent.com/frk1/hazedumper/master/config.json").json() 60 | for struct in response["signatures"]: 61 | old = str(struct["pattern"]) 62 | new = old.replace("?", ".") 63 | new = new.split(" ") 64 | newone = "" 65 | for element in new: 66 | if element != ".": 67 | element = r'\x' + element 68 | newone = newone + element 69 | PatternDict[struct["name"]] = newone 70 | 71 | 72 | transform_patterns() # not ready yet 73 | 74 | pm1 = pymem.Pymem("csgo.exe") 75 | dwLocalPlayer = get_sig(pm1, "client.dll", bytes(PatternDict["dwLocalPlayer"], encoding="raw_unicode_escape"), 4, 3) 76 | dwLocalPlayer = int(dwLocalPlayer, 0) 77 | dwEntityList = get_sig( pm1, "client.dll",bytes(PatternDict["dwEntityList"], encoding="raw_unicode_escape"), 0, 1 ) 78 | dwEntityList = int( dwEntityList, 0 ) 79 | dwGlowObjectManager = get_sig(pm1, "client.dll", bytes(PatternDict["dwGlowObjectManager"], encoding="raw_unicode_escape"), 4, 1) 80 | dwGlowObjectManager = int(dwGlowObjectManager, 0) 81 | dwForceJump = get_sig(pm1, "client.dll", bytes(PatternDict["dwForceJump"], encoding="raw_unicode_escape"), 0, 2) 82 | dwForceJump = int(dwForceJump, 0) 83 | dwForceAttack = get_sig(pm1, "client.dll", bytes(PatternDict["dwForceAttack"], encoding="raw_unicode_escape"), 0, 2) 84 | dwForceAttack = int(dwForceAttack, 0) 85 | dwClientState = get_sig(pm1, "engine.dll", bytes(PatternDict["dwClientState"], encoding="raw_unicode_escape"), 0, 1) 86 | dwClientState = int(dwClientState, 0) 87 | dwViewMatrix = get_sig(pm1, "client.dll", bytes(PatternDict["dwViewMatrix"], encoding="raw_unicode_escape"), 176, 3) 88 | dwViewMatrix = int(dwViewMatrix, 0) 89 | 90 | dwClientState_ViewAngles = int(get_sig(pm1, "engine.dll", bytes(PatternDict["dwClientState_ViewAngles"], encoding="raw_unicode_escape"), 0, 4, False), 0) 91 | dwbSendPackets = get_sig(pm1, "engine.dll", bytes(PatternDict["dwbSendPackets"], encoding="raw_unicode_escape"), 1) 92 | 93 | dwInput = get_sig(pm1, "client.dll", bytes(PatternDict["dwInput"], encoding="raw_unicode_escape"), 0, 1) 94 | dwInput = int(dwInput, 0) 95 | 96 | clientstate_net_channel = get_sig(pm1, "engine.dll", bytes(PatternDict["clientstate_net_channel"], encoding="raw_unicode_escape"), 0, 2, False) 97 | clientstate_net_channel = int(clientstate_net_channel, 0) 98 | clientstate_last_outgoing_command = get_sig(pm1, "engine.dll", bytes(PatternDict["clientstate_last_outgoing_command"], encoding="raw_unicode_escape"), 0, 2, False) 99 | clientstate_last_outgoing_command = int(clientstate_last_outgoing_command, 0) 100 | 101 | m_bDormant = get_sig(pm1, "client.dll", bytes(PatternDict["m_bDormant"], encoding="raw_unicode_escape"), 8, 2, False) 102 | m_bDormant = int(m_bDormant, 0) 103 | 104 | dwClientState_PlayerInfo = get_sig(pm1, "engine.dll", bytes(PatternDict["dwClientState_PlayerInfo"], encoding="raw_unicode_escape"), 0, 2, False) 105 | dwClientState_PlayerInfo = int(dwClientState_PlayerInfo, 0) 106 | dwPlayerResource = get_sig(pm1, "client.dll", bytes(PatternDict["dwPlayerResource"], encoding="raw_unicode_escape"), 0, 2) 107 | dwPlayerResource = int(dwPlayerResource, 0) 108 | dwClientState_GetLocalPlayer = get_sig(pm1, "engine.dll", bytes(PatternDict["dwClientState_GetLocalPlayer"], encoding="raw_unicode_escape"), 0, 2, False) 109 | dwClientState_GetLocalPlayer = int(dwClientState_GetLocalPlayer, 0) 110 | dwForceLeft = get_sig(pm1, "client.dll", bytes(PatternDict["dwForceLeft"], encoding="raw_unicode_escape"), 0, 465) 111 | dwForceLeft = int(dwForceLeft, 0) 112 | dwForceRight = get_sig(pm1, "client.dll", bytes(PatternDict["dwForceRight"], encoding="raw_unicode_escape"), 0, 512) 113 | dwForceRight = int(dwForceRight, 0) 114 | 115 | model_ambient = get_sig(pm1, "engine.dll", bytes(PatternDict["model_ambient_min"], encoding="raw_unicode_escape"), 0, 4) 116 | model_ambient = int(model_ambient, 0) 117 | 118 | pm1.close_process() 119 | -------------------------------------------------------------------------------- /Utils/Triggerbot.py: -------------------------------------------------------------------------------- 1 | import keyboard 2 | from Utils.Offsets import * 3 | from Utils.Utilities import is_pressed 4 | # Cleaned all of this file, 5 | # This file is working. 6 | # Last update 2022,Jan,10 7 | 8 | 9 | def shootTrigger(pm, CrossID, client, lTeam, CTeam, triggerkey): 10 | if is_pressed(triggerkey) and 0 < CrossID < 64 and lTeam != CTeam: 11 | pm.write_int(client + dwForceAttack, 6) 12 | -------------------------------------------------------------------------------- /Utils/Utilities.py: -------------------------------------------------------------------------------- 1 | import ctypes 2 | import requests 3 | import pymem 4 | import keyboard, mouse 5 | from nets.get_netvars import * 6 | 7 | # Cleaned all of this file, 8 | # This file is working. 9 | # Last update 2022,Jan,10 10 | 11 | 12 | versioncontrol = "2.7" 13 | keylist = ["space", "tab", "capslock"] 14 | 15 | def GetWindowText(handle, length=100): 16 | user32 = ctypes.windll.user32 17 | window_text = ctypes.create_string_buffer(length) 18 | user32.GetWindowTextA( 19 | handle, 20 | ctypes.byref(window_text), 21 | length 22 | ) 23 | 24 | return window_text.value 25 | 26 | 27 | def GetForegroundWindow(): 28 | user32 = ctypes.windll.user32 29 | return user32.GetForegroundWindow() 30 | 31 | 32 | def update(): 33 | gn = get_netvars(pymem.Pymem("csgo.exe")) 34 | raw = requests.get("https://raw.githubusercontent.com/XanOpiat/Python-CSGO-Cheat/main/Utils/Utilities.py").text 35 | vc = raw.splitlines()[11].split("=")[-1][2:-1] 36 | if vc == versioncontrol: 37 | print("Cheat up to date") 38 | return True 39 | else: 40 | response = ctypes.windll.user32.MessageBoxW(0, "Do you want to download the latest version now?", "Cheat not updated", 0x00000004) 41 | if response == 6: 42 | return False 43 | elif response == 7: 44 | return True 45 | 46 | 47 | def strtobool(string): 48 | return string.lower() in ("true", 1) 49 | 50 | 51 | def is_key(string): 52 | if keyboard.is_modifier(string) or (string.isalpha() and len(string) == 1) or string in keylist: 53 | return True 54 | else: 55 | return False 56 | 57 | def is_mouse(string): 58 | list = ["left", "right", "middle", "wheel", "mouse4", "mouse5"] 59 | if string in list: 60 | return True 61 | else: 62 | return False 63 | 64 | def is_pressed(key): 65 | if is_key(key): 66 | return keyboard.is_pressed(key) 67 | elif is_mouse(key): 68 | if key == "mouse4": 69 | return mouse.is_pressed("x") 70 | elif key == "mouse5": 71 | return mouse.is_pressed("x2") 72 | else: 73 | return mouse.is_pressed(key) 74 | else: 75 | MessageBox = ctypes.windll.user32.MessageBoxW(0, f"{key.upper()} is not a valid Key", "Config Error", 0) 76 | return False 77 | -------------------------------------------------------------------------------- /Utils/WallhackFunctions.py: -------------------------------------------------------------------------------- 1 | from Utils.Offsets import * 2 | import time 3 | 4 | # Cleaned most of this file, 5 | # This file is working. 6 | # Last update 2022,Jan,10 7 | 8 | 9 | def SetEntityGlow(pm, entity_hp, entity_team_id, entity_dormant, localTeam, glow_manager, entity_glow, eteam, health, color): 10 | if health: 11 | if entity_hp > 50 and not entity_hp == 100: 12 | r, g, b = 255, 165, 0 13 | elif entity_hp < 50: 14 | r, g, b = 255, 0, 0 15 | elif entity_hp == 100 and entity_team_id == 2: 16 | r, g, b = 0, 255, 0 17 | else: 18 | r, g, b = 0, 255, 0 19 | else: 20 | r = color[0] 21 | g = color[1] 22 | b = color[2] 23 | if entity_team_id == 2 and ( 24 | eteam or localTeam != 2) and not entity_dormant: 25 | pm.write_float(glow_manager + entity_glow * 0x38 + 0x8, float(r)) # R 26 | pm.write_float(glow_manager + entity_glow * 0x38 + 0xC, float(g)) # G 27 | pm.write_float(glow_manager + entity_glow * 0x38 + 0x10, float(b)) # B 28 | pm.write_float(glow_manager + entity_glow * 0x38 + 0x14, float(255)) # A 29 | pm.write_int(glow_manager + entity_glow * 0x38 + 0x28, 1) # Enable 30 | 31 | elif entity_team_id == 3 and ( 32 | eteam or localTeam != 3) and not entity_dormant: 33 | pm.write_float(glow_manager + entity_glow * 0x38 + 0x8, float(r)) # R 34 | pm.write_float(glow_manager + entity_glow * 0x38 + 0xC, float(g)) # G 35 | pm.write_float(glow_manager + entity_glow * 0x38 + 0x10, float(b)) # B 36 | pm.write_float(glow_manager + entity_glow * 0x38 + 0x14, float(255)) # A 37 | 38 | pm.write_int(glow_manager + entity_glow * 0x38 + 0x28, 1) # Enable 39 | 40 | 41 | def GetEntityVars(pm, entity): 42 | while True: 43 | try: 44 | entity_glow = pm.read_uint(entity + m_iGlowIndex) 45 | 46 | entity_team_id = pm.read_uint(entity + m_iTeamNum) 47 | entity_isdefusing = pm.read_uint(entity + m_bIsDefusing) 48 | entity_hp = pm.read_uint(entity + m_iHealth) 49 | entity_dormant = pm.read_uint(entity + m_bDormant) 50 | except Exception as e: 51 | print("Could not load Players Infos (Should only do this once)") 52 | time.sleep(0.2) 53 | continue 54 | return entity_glow, entity_team_id, entity_isdefusing, entity_hp, entity_dormant 55 | -------------------------------------------------------------------------------- /Utils/rcs.py: -------------------------------------------------------------------------------- 1 | from Utils.Offsets import * 2 | from MatFunctions.MathPy import * 3 | 4 | # Cleaned most of this file, 5 | # This file is working. 6 | # Last update 2022,Jan,10 7 | 8 | 9 | def rcse(pm, player, engine_pointer, oldpunch, newrcs, punch, rcs): 10 | if pm.read_uint(player + m_iShotsFired) > 2: 11 | 12 | rcs.x = pm.read_float(engine_pointer + dwClientState_ViewAngles) 13 | 14 | rcs.y = pm.read_float(engine_pointer + dwClientState_ViewAngles + 0x4) 15 | 16 | punch.x = pm.read_float(player + m_aimPunchAngle) 17 | 18 | punch.y = pm.read_float(player + m_aimPunchAngle + 0x4) 19 | 20 | newrcs.x = rcs.x - (punch.x - oldpunch.x) * 2 21 | newrcs.y = rcs.y - (punch.y - oldpunch.y) * 2 22 | oldpunch.x = punch.x 23 | oldpunch.y = punch.y 24 | 25 | if nanchecker(newrcs.x, newrcs.y) and checkangles(newrcs.x, newrcs.y): 26 | pm.write_float(engine_pointer + dwClientState_ViewAngles, newrcs.x) 27 | pm.write_float(engine_pointer + dwClientState_ViewAngles + 0x4, newrcs.y) 28 | else: 29 | oldpunch.x = 0.0 30 | oldpunch.y = 0.0 31 | newrcs.x = 0.0 32 | newrcs.y = 0.0 33 | return oldpunch 34 | -------------------------------------------------------------------------------- /installer.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | import subprocess 4 | 5 | clear = lambda: os.system('cls') 6 | 7 | def install(package: str): 8 | subprocess.check_call([sys.executable, '-m', 'pip', 'install', package]) 9 | 10 | def is_installed(package: str): 11 | try: 12 | __import__(package) 13 | return True 14 | 15 | except ImportError: 16 | return False 17 | 18 | except Exception as e: 19 | print(f'Unexpected error: {e} while checking if {package} is installed') 20 | return True 21 | 22 | def get_pending_packages(): 23 | pending = [] 24 | with open('requirements.txt', 'rt') as f: 25 | requirements = f.read().splitlines() 26 | for package in requirements: 27 | if package and not is_installed(package): 28 | pending.append(package) 29 | return pending 30 | 31 | def setup(): 32 | pending = get_pending_packages() 33 | 34 | if not pending: 35 | return print('All packages are installed') 36 | 37 | print(f'{len(pending)} missing packages.\n\tWould you like to install them? (y/n)') 38 | 39 | if input().lower() == 'y': 40 | for package in pending: 41 | print(f'Installing {package}...') 42 | install(package) 43 | print('Installation complete') 44 | else: 45 | print('Installation cancelled') 46 | 47 | def main(): 48 | try: 49 | clear() 50 | setup() 51 | 52 | except KeyboardInterrupt: 53 | print('Installation cancelled by user') 54 | 55 | if __name__ == '__main__': 56 | main() 57 | else: 58 | print("Installer is not allowed to be ran, by other programs!") 59 | -------------------------------------------------------------------------------- /nets/get_netvars.py: -------------------------------------------------------------------------------- 1 | from nets.netvar_manager import NetvarsManager 2 | 3 | 4 | class get_netvars(): 5 | def __init__(self, pm): 6 | 7 | netvars_manager = NetvarsManager(pm) 8 | out_file = "./nets/netvars.json" 9 | if out_file: 10 | with open(out_file, 'w+') as fp: 11 | 12 | netvars_manager.dump_netvars( 13 | fp, 14 | json_format=out_file.endswith('.json') 15 | ) 16 | else: 17 | netvars_manager.dump_netvars() 18 | -------------------------------------------------------------------------------- /nets/netvar_manager.py: -------------------------------------------------------------------------------- 1 | import re 2 | import sys 3 | import json 4 | from typing import Union 5 | from pymem.process import module_from_name 6 | from nets.recv_classes import ClientClass 7 | 8 | __all__ = ['NetvarsManager'] 9 | 10 | 11 | class NetvarsManager: 12 | def __init__(self, pm): 13 | """Creates a new NetvarManager and dumps the netvars. 14 | 15 | :param csgo_handle: Handle of the csgo.exe process. 16 | :type csgo_handle: `pymem.Pymem` 17 | """ 18 | client_handle = module_from_name( 19 | pm.process_handle, 'client.dll' 20 | ) 21 | client_bytes = pm.read_bytes( 22 | client_handle.lpBaseOfDll, client_handle.SizeOfImage 23 | ) 24 | world_decal = re.search(rb'DT_TEWorldDecal', client_bytes).start() 25 | world_decal += client_handle.lpBaseOfDll 26 | all_classes = pm.read_int(client_bytes.find( 27 | world_decal.to_bytes(4, 'little') 28 | ) + 0x2B + client_handle.lpBaseOfDll) 29 | self._client_classes = all_classes 30 | self._handle = pm 31 | self._netvars_dict = dict() 32 | self._dump_netvars_internal() 33 | 34 | def get_netvar( 35 | self, 36 | table_name: str, 37 | prop_name: str 38 | ) -> Union[int, None]: 39 | """Returns netvar's offset by the given data. If can't find a netvar 40 | then returns None. 41 | 42 | :param table_name: Name of the table where is a prop placed in. 43 | :param prop_name: Name of the prop you want to get. 44 | :return: Prop's offset. 45 | """ 46 | return self._netvars_dict.get(table_name, dict()).get(prop_name) 47 | 48 | def dump_netvars(self, out_file=sys.stdout, json_format=False) -> None: 49 | """Dumps netvars, in a plain or json format. If you want to save dump 50 | into a file then you should pass a file-like object to `out_file` 51 | argument. 52 | 53 | :param out_file: File (or stdout) where we should save the dump. 54 | :param json_format: If you need to save the dump in a json format. 55 | """ 56 | if json_format: 57 | out_file.write(json.dumps(self._netvars_dict, indent=4)) 58 | return 59 | for table in self._netvars_dict.keys(): 60 | out_file.write(table + '\n') 61 | max_name_len = len(sorted( 62 | self._netvars_dict[table].keys(), reverse=True, 63 | key=lambda x: len(x) 64 | )[0]) 65 | for table_name, prop_offset in self._netvars_dict[table].items(): 66 | out_file.write('\t{0:<{1}} 0x{2:08x}\n'.format( 67 | table_name, max_name_len, prop_offset 68 | )) 69 | 70 | def _dump_table(self, table) -> None: 71 | table_name = table.get_table_name() 72 | for i in range(table.get_max_props()): 73 | prop = table.get_prop(i) 74 | prop_name = prop.get_name() 75 | if prop_name.isnumeric(): # Some shitty prop. 76 | continue 77 | prop_offest = prop.get_offset() 78 | table_existed_data = self._netvars_dict.get(table_name, dict()) 79 | table_existed_data.update({prop_name: prop_offest}) 80 | self._netvars_dict.update( 81 | {table_name: table_existed_data} 82 | ) 83 | try: 84 | data_table = prop.get_data_table() 85 | if not data_table: 86 | continue 87 | except Exception: 88 | continue 89 | else: 90 | try: 91 | self._dump_table(data_table) 92 | except Exception: 93 | continue 94 | 95 | def _dump_netvars_internal(self) -> None: 96 | client_class = ClientClass( 97 | self._handle.read_int(self._client_classes + 0x10), 98 | self._handle 99 | ) 100 | while client_class is not None: 101 | try: 102 | table = client_class.get_table() 103 | table_name = table.get_table_name() 104 | if not table_name: 105 | break 106 | except Exception: 107 | break 108 | self._dump_table(table) 109 | client_class = client_class.get_next_class() 110 | -------------------------------------------------------------------------------- /nets/netvars.json: -------------------------------------------------------------------------------- 1 | { 2 | "DT_TEWorldDecal": { 3 | "baseclass": 0, 4 | "m_vecOrigin": 16, 5 | "m_nIndex": 28 6 | }, 7 | "DT_TESpriteSpray": { 8 | "baseclass": 0, 9 | "m_vecOrigin": 16, 10 | "m_vecDirection": 28, 11 | "m_nModelIndex": 40, 12 | "m_fNoise": 48, 13 | "m_nCount": 52, 14 | "m_nSpeed": 44 15 | }, 16 | "DT_TESprite": { 17 | "baseclass": 0, 18 | "m_vecOrigin": 16, 19 | "m_nModelIndex": 28, 20 | "m_fScale": 32, 21 | "m_nBrightness": 36 22 | }, 23 | "DT_TESparks": { 24 | "baseclass": 0, 25 | "m_nMagnitude": 28, 26 | "m_nTrailLength": 32, 27 | "m_vecDir": 36 28 | }, 29 | "DT_TEParticleSystem": { 30 | "baseclass": 0, 31 | "m_vecOrigin[0]": 16, 32 | "m_vecOrigin[1]": 20, 33 | "m_vecOrigin[2]": 24 34 | }, 35 | "DT_TESmoke": { 36 | "baseclass": 0, 37 | "m_vecOrigin": 16, 38 | "m_nModelIndex": 28, 39 | "m_fScale": 32, 40 | "m_nFrameRate": 36 41 | }, 42 | "DT_TEShowLine": { 43 | "baseclass": 0, 44 | "m_vecEnd": 28 45 | }, 46 | "DT_TEProjectedDecal": { 47 | "baseclass": 0, 48 | "m_vecOrigin": 16, 49 | "m_angRotation": 28, 50 | "m_flDistance": 40, 51 | "m_nIndex": 44 52 | }, 53 | "DT_FEPlayerDecal": { 54 | "baseclass": 0, 55 | "m_nUniqueID": 2520, 56 | "m_unAccountID": 2524, 57 | "m_unTraceID": 2528, 58 | "m_rtGcTime": 2532, 59 | "m_vecEndPos": 2536, 60 | "m_vecStart": 2548, 61 | "m_vecRight": 2560, 62 | "m_vecNormal": 2572, 63 | "m_nEntity": 2588, 64 | "m_nPlayer": 2584, 65 | "m_nHitbox": 2592, 66 | "m_nTintID": 2596, 67 | "m_flCreationTime": 2600, 68 | "m_nVersion": 2604, 69 | "m_ubSignature": 2605 70 | }, 71 | "DT_BaseEntity": { 72 | "AnimTimeMustBeFirst": 0, 73 | "m_flSimulationTime": 616, 74 | "m_cellbits": 116, 75 | "m_cellX": 124, 76 | "m_cellY": 128, 77 | "m_cellZ": 132, 78 | "m_vecOrigin": 312, 79 | "m_angRotation": 300, 80 | "m_nModelIndex": 600, 81 | "m_fEffects": 240, 82 | "m_nRenderMode": 603, 83 | "m_nRenderFX": 602, 84 | "m_clrRender": 112, 85 | "m_iTeamNum": 244, 86 | "m_iPendingTeamNum": 248, 87 | "m_CollisionGroup": 1140, 88 | "m_flElasticity": 768, 89 | "m_flShadowCastDistance": 928, 90 | "m_hOwnerEntity": 332, 91 | "m_hEffectEntity": 2456, 92 | "moveparent": 328, 93 | "m_iParentAttachment": 748, 94 | "m_iName": 340, 95 | "movetype": 0, 96 | "movecollide": 0, 97 | "m_Collision": 800, 98 | "m_iTextureFrameIndex": 2444, 99 | "m_bSimulatedEveryTick": 2362, 100 | "m_bAnimatedEveryTick": 2363, 101 | "m_bAlternateSorting": 2364, 102 | "m_bSpotted": 2365, 103 | "m_bSpottedBy": 2366, 104 | "m_bSpottedByMask": 2432, 105 | "m_bIsAutoaimTarget": 96, 106 | "m_fadeMinDist": 756, 107 | "m_fadeMaxDist": 760, 108 | "m_flFadeScale": 764, 109 | "m_nMinCPULevel": 2440, 110 | "m_nMaxCPULevel": 2441, 111 | "m_nMinGPULevel": 2442, 112 | "m_nMaxGPULevel": 2443, 113 | "m_flUseLookAtAngle": 716, 114 | "m_flLastMadeNoiseTime": 32, 115 | "m_flMaxFallVelocity": 220, 116 | "m_bEligibleForScreenHighlight": 2489 117 | }, 118 | "DT_AnimTimeMustBeFirst": { 119 | "m_flAnimTime": 608 120 | }, 121 | "DT_CollisionProperty": { 122 | "m_vecMins": 8, 123 | "m_vecMaxs": 20, 124 | "m_nSolidType": 34, 125 | "m_usSolidFlags": 32, 126 | "m_nSurroundType": 42, 127 | "m_triggerBloat": 35, 128 | "m_vecSpecifiedSurroundingMins": 44, 129 | "m_vecSpecifiedSurroundingMaxs": 56 130 | }, 131 | "DT_TEPlayerDecal": { 132 | "baseclass": 0, 133 | "m_vecOrigin": 20, 134 | "m_vecStart": 32, 135 | "m_vecRight": 44, 136 | "m_nEntity": 56, 137 | "m_nPlayer": 16, 138 | "m_nHitbox": 60 139 | }, 140 | "DT_TEPhysicsProp": { 141 | "baseclass": 0, 142 | "m_vecOrigin": 16, 143 | "m_angRotation[0]": 28, 144 | "m_angRotation[1]": 32, 145 | "m_angRotation[2]": 36, 146 | "m_vecVelocity": 40, 147 | "m_nModelIndex": 52, 148 | "m_nFlags": 60, 149 | "m_nSkin": 56, 150 | "m_nEffects": 64, 151 | "m_clrRender": 68 152 | }, 153 | "DT_TEMuzzleFlash": { 154 | "baseclass": 0, 155 | "m_vecOrigin": 16, 156 | "m_vecAngles": 28, 157 | "m_flScale": 40, 158 | "m_nType": 44 159 | }, 160 | "DT_TELargeFunnel": { 161 | "baseclass": 0, 162 | "m_nModelIndex": 28, 163 | "m_nReversed": 32 164 | }, 165 | "DT_TEKillPlayerAttachments": { 166 | "baseclass": 0, 167 | "m_nPlayer": 16 168 | }, 169 | "DT_TEImpact": { 170 | "baseclass": 0, 171 | "m_vecOrigin": 16, 172 | "m_vecNormal": 28, 173 | "m_iType": 40, 174 | "m_ucFlags": 44 175 | }, 176 | "DT_TEGlowSprite": { 177 | "baseclass": 0, 178 | "m_vecOrigin": 16, 179 | "m_nModelIndex": 28, 180 | "m_fScale": 32, 181 | "m_fLife": 36, 182 | "m_nBrightness": 40 183 | }, 184 | "DT_TEShatterSurface": { 185 | "baseclass": 0, 186 | "m_vecOrigin": 16, 187 | "m_vecAngles": 28, 188 | "m_vecForce": 40, 189 | "m_vecForcePos": 52, 190 | "m_flWidth": 64, 191 | "m_flHeight": 68, 192 | "m_flShardSize": 72, 193 | "m_nSurfaceType": 80, 194 | "m_uchFrontColor[0]": 84, 195 | "m_uchFrontColor[1]": 85, 196 | "m_uchFrontColor[2]": 86, 197 | "m_uchBackColor[0]": 87, 198 | "m_uchBackColor[1]": 88, 199 | "m_uchBackColor[2]": 89 200 | }, 201 | "DT_TEFootprintDecal": { 202 | "baseclass": 0, 203 | "m_vecOrigin": 16, 204 | "m_vecDirection": 28, 205 | "m_nEntity": 52, 206 | "m_nIndex": 56, 207 | "m_chMaterialType": 60 208 | }, 209 | "DT_TEFizz": { 210 | "baseclass": 0, 211 | "m_nEntity": 16, 212 | "m_nModelIndex": 20, 213 | "m_nDensity": 24, 214 | "m_nCurrent": 28 215 | }, 216 | "DT_TEExplosion": { 217 | "baseclass": 0, 218 | "m_nModelIndex": 28, 219 | "m_fScale": 32, 220 | "m_nFrameRate": 36, 221 | "m_nFlags": 40, 222 | "m_vecNormal": 44, 223 | "m_chMaterialType": 56, 224 | "m_nRadius": 60, 225 | "m_nMagnitude": 64 226 | }, 227 | "DT_TEEnergySplash": { 228 | "m_vecPos": 16, 229 | "m_vecDir": 28, 230 | "m_bExplosive": 40 231 | }, 232 | "DT_TEEffectDispatch": { 233 | "baseclass": 0, 234 | "m_EffectData": 16 235 | }, 236 | "DT_EffectData": { 237 | "m_vOrigin.x": 0, 238 | "m_vOrigin.y": 4, 239 | "m_vOrigin.z": 8, 240 | "m_vStart.x": 12, 241 | "m_vStart.y": 16, 242 | "m_vStart.z": 20, 243 | "m_vAngles": 36, 244 | "m_vNormal": 24, 245 | "m_fFlags": 48, 246 | "m_flMagnitude": 64, 247 | "m_flScale": 60, 248 | "m_nAttachmentIndex": 72, 249 | "m_nSurfaceProp": 76, 250 | "m_iEffectName": 100, 251 | "m_nMaterial": 80, 252 | "m_nDamageType": 84, 253 | "m_nHitBox": 88, 254 | "entindex": 0, 255 | "m_nOtherEntIndex": 92, 256 | "m_nColor": 96, 257 | "m_flRadius": 68, 258 | "m_bPositionsAreRelativeToEntity": 97 259 | }, 260 | "DT_TEDynamicLight": { 261 | "baseclass": 0, 262 | "m_vecOrigin": 16, 263 | "r": 32, 264 | "g": 36, 265 | "b": 40, 266 | "exponent": 44, 267 | "m_fRadius": 28, 268 | "m_fTime": 48, 269 | "m_fDecay": 52 270 | }, 271 | "DT_TEDecal": { 272 | "baseclass": 0, 273 | "m_vecOrigin": 16, 274 | "m_vecStart": 28, 275 | "m_nEntity": 40, 276 | "m_nHitbox": 44, 277 | "m_nIndex": 48 278 | }, 279 | "DT_TEClientProjectile": { 280 | "baseclass": 0, 281 | "m_vecOrigin": 16, 282 | "m_vecVelocity": 28, 283 | "m_nModelIndex": 40, 284 | "m_nLifeTime": 44, 285 | "m_hOwner": 48 286 | }, 287 | "DT_TEBubbleTrail": { 288 | "baseclass": 0, 289 | "m_vecMins": 16, 290 | "m_vecMaxs": 28, 291 | "m_nModelIndex": 44, 292 | "m_flWaterZ": 40, 293 | "m_nCount": 48, 294 | "m_fSpeed": 52 295 | }, 296 | "DT_TEBubbles": { 297 | "baseclass": 0, 298 | "m_vecMins": 16, 299 | "m_vecMaxs": 28, 300 | "m_nModelIndex": 44, 301 | "m_fHeight": 40, 302 | "m_nCount": 48, 303 | "m_fSpeed": 52 304 | }, 305 | "DT_TEBSPDecal": { 306 | "baseclass": 0, 307 | "m_vecOrigin": 16, 308 | "m_nEntity": 28, 309 | "m_nIndex": 32 310 | }, 311 | "DT_TEBreakModel": { 312 | "baseclass": 0, 313 | "m_vecOrigin": 16, 314 | "m_angRotation[0]": 28, 315 | "m_angRotation[1]": 32, 316 | "m_angRotation[2]": 36, 317 | "m_vecSize": 40, 318 | "m_vecVelocity": 52, 319 | "m_nModelIndex": 68, 320 | "m_nRandomization": 64, 321 | "m_nCount": 72, 322 | "m_fTime": 76, 323 | "m_nFlags": 80 324 | }, 325 | "DT_TEBloodStream": { 326 | "baseclass": 0, 327 | "m_vecDirection": 28, 328 | "r": 40, 329 | "g": 44, 330 | "b": 48, 331 | "a": 52, 332 | "m_nAmount": 56 333 | }, 334 | "DT_TEBloodSprite": { 335 | "m_vecOrigin": 16, 336 | "m_vecDirection": 28, 337 | "r": 40, 338 | "g": 44, 339 | "b": 48, 340 | "a": 52, 341 | "m_nSprayModel": 60, 342 | "m_nDropModel": 56, 343 | "m_nSize": 64 344 | }, 345 | "DT_TEBeamSpline": { 346 | "m_nPoints": 208, 347 | "m_vecPoints[0]": 16, 348 | "m_vecPoints": 0 349 | }, 350 | "DT_TEBeamRingPoint": { 351 | "baseclass": 0, 352 | "m_vecCenter": 76, 353 | "m_flStartRadius": 88, 354 | "m_flEndRadius": 92 355 | }, 356 | "DT_BaseBeam": { 357 | "m_nModelIndex": 16, 358 | "m_nHaloIndex": 20, 359 | "m_nStartFrame": 24, 360 | "m_nFrameRate": 28, 361 | "m_fLife": 32, 362 | "m_fWidth": 36, 363 | "m_fEndWidth": 40, 364 | "m_nFadeLength": 44, 365 | "m_fAmplitude": 48, 366 | "m_nSpeed": 68, 367 | "r": 52, 368 | "g": 56, 369 | "b": 60, 370 | "a": 64, 371 | "m_nFlags": 72 372 | }, 373 | "DT_TEBeamRing": { 374 | "baseclass": 0, 375 | "m_nStartEntity": 76, 376 | "m_nEndEntity": 80 377 | }, 378 | "DT_TEBeamPoints": { 379 | "baseclass": 0, 380 | "m_vecStartPoint": 76, 381 | "m_vecEndPoint": 88 382 | }, 383 | "DT_TEBeamLaser": { 384 | "baseclass": 0, 385 | "m_nStartEntity": 76, 386 | "m_nEndEntity": 80 387 | }, 388 | "DT_TEBeamFollow": { 389 | "baseclass": 0, 390 | "m_iEntIndex": 76 391 | }, 392 | "DT_TEBeamEnts": { 393 | "baseclass": 0, 394 | "m_nStartEntity": 76, 395 | "m_nEndEntity": 80 396 | }, 397 | "DT_TEBeamEntPoint": { 398 | "baseclass": 0, 399 | "m_nStartEntity": 76, 400 | "m_nEndEntity": 80, 401 | "m_vecStartPoint": 84, 402 | "m_vecEndPoint": 96 403 | }, 404 | "DT_TEArmorRicochet": { 405 | "baseclass": 0 406 | }, 407 | "DT_TEMetalSparks": { 408 | "m_vecPos": 16, 409 | "m_vecDir": 28 410 | }, 411 | "DT_SteamJet": { 412 | "baseclass": 0, 413 | "m_SpreadSpeed": 2756, 414 | "m_Speed": 2760, 415 | "m_StartSize": 2764, 416 | "m_EndSize": 2768, 417 | "m_Rate": 2772, 418 | "m_JetLength": 2776, 419 | "m_bEmit": 2780, 420 | "m_bFaceLeft": 2788, 421 | "m_nType": 2784, 422 | "m_spawnflags": 2792, 423 | "m_flRollSpeed": 2796 424 | }, 425 | "DT_BaseParticleEntity": { 426 | "baseclass": 0 427 | }, 428 | "DT_SmokeStack": { 429 | "baseclass": 0, 430 | "m_SpreadSpeed": 2836, 431 | "m_Speed": 2840, 432 | "m_StartSize": 2844, 433 | "m_EndSize": 2848, 434 | "m_Rate": 2852, 435 | "m_JetLength": 2856, 436 | "m_bEmit": 2860, 437 | "m_flBaseSpread": 2864, 438 | "m_flTwist": 2948, 439 | "m_flRollSpeed": 3008, 440 | "m_iMaterialModel": 2952, 441 | "m_AmbientLight.m_vPos": 2868, 442 | "m_AmbientLight.m_vColor": 2880, 443 | "m_AmbientLight.m_flIntensity": 2892, 444 | "m_DirLight.m_vPos": 2896, 445 | "m_DirLight.m_vColor": 2908, 446 | "m_DirLight.m_flIntensity": 2920, 447 | "m_vWind": 2936 448 | }, 449 | "DT_DustTrail": { 450 | "baseclass": 0, 451 | "m_SpawnRate": 2756, 452 | "m_Color": 2760, 453 | "m_ParticleLifetime": 2776, 454 | "m_StopEmitTime": 2784, 455 | "m_MinSpeed": 2788, 456 | "m_MaxSpeed": 2792, 457 | "m_MinDirectedSpeed": 2796, 458 | "m_MaxDirectedSpeed": 2800, 459 | "m_StartSize": 2804, 460 | "m_EndSize": 2808, 461 | "m_SpawnRadius": 2812, 462 | "m_bEmit": 2828, 463 | "m_Opacity": 2772 464 | }, 465 | "DT_FireTrail": { 466 | "baseclass": 0, 467 | "m_nAttachment": 2756, 468 | "m_flLifetime": 2760 469 | }, 470 | "DT_SporeTrail": { 471 | "baseclass": 0, 472 | "m_flSpawnRate": 2764, 473 | "m_vecEndColor": 2752, 474 | "m_flParticleLifetime": 2768, 475 | "m_flStartSize": 2772, 476 | "m_flEndSize": 2776, 477 | "m_flSpawnRadius": 2780, 478 | "m_bEmit": 2796 479 | }, 480 | "DT_SporeExplosion": { 481 | "baseclass": 0, 482 | "m_flSpawnRate": 2756, 483 | "m_flParticleLifetime": 2760, 484 | "m_flStartSize": 2764, 485 | "m_flEndSize": 2768, 486 | "m_flSpawnRadius": 2772, 487 | "m_bEmit": 2780, 488 | "m_bDontRemove": 2781 489 | }, 490 | "DT_RocketTrail": { 491 | "baseclass": 0, 492 | "m_SpawnRate": 2756, 493 | "m_StartColor": 2760, 494 | "m_EndColor": 2772, 495 | "m_ParticleLifetime": 2788, 496 | "m_StopEmitTime": 2792, 497 | "m_MinSpeed": 2796, 498 | "m_MaxSpeed": 2800, 499 | "m_StartSize": 2804, 500 | "m_EndSize": 2808, 501 | "m_SpawnRadius": 2812, 502 | "m_bEmit": 2828, 503 | "m_nAttachment": 2832, 504 | "m_Opacity": 2784, 505 | "m_bDamaged": 2829, 506 | "m_flFlareScale": 2848 507 | }, 508 | "DT_SmokeTrail": { 509 | "baseclass": 0, 510 | "m_SpawnRate": 2756, 511 | "m_StartColor": 2760, 512 | "m_EndColor": 2772, 513 | "m_ParticleLifetime": 2788, 514 | "m_StopEmitTime": 2792, 515 | "m_MinSpeed": 2796, 516 | "m_MaxSpeed": 2800, 517 | "m_MinDirectedSpeed": 2804, 518 | "m_MaxDirectedSpeed": 2808, 519 | "m_StartSize": 2812, 520 | "m_EndSize": 2816, 521 | "m_SpawnRadius": 2820, 522 | "m_bEmit": 2836, 523 | "m_nAttachment": 2840, 524 | "m_Opacity": 2784 525 | }, 526 | "DT_PropVehicleDriveable": { 527 | "baseclass": 0, 528 | "m_hPlayer": 10644, 529 | "m_nSpeed": 10648, 530 | "m_nRPM": 10652, 531 | "m_flThrottle": 10656, 532 | "m_nBoostTimeLeft": 10660, 533 | "m_nHasBoost": 10664, 534 | "m_nScannerDisabledWeapons": 10668, 535 | "m_nScannerDisabledVehicle": 10672, 536 | "m_bEnterAnimOn": 10704, 537 | "m_bExitAnimOn": 10705, 538 | "m_bUnableToFire": 10781, 539 | "m_vecEyeExitEndpoint": 10768, 540 | "m_bHasGun": 10780, 541 | "m_vecGunCrosshair": 10712 542 | }, 543 | "DT_BaseAnimating": { 544 | "baseclass": 0, 545 | "m_nSequence": 10432, 546 | "m_nForceBone": 9868, 547 | "m_vecForce": 9856, 548 | "m_nSkin": 2588, 549 | "m_nBody": 2592, 550 | "m_nHitboxSet": 2556, 551 | "m_flModelScale": 10060, 552 | "m_flPoseParameter": 10104, 553 | "m_flPlaybackRate": 2584, 554 | "m_flEncodedController": 2644, 555 | "m_bClientSideAnimation": 10400, 556 | "m_bClientSideFrameReset": 9924, 557 | "m_bClientSideRagdoll": 633, 558 | "m_nNewSequenceParity": 2628, 559 | "m_nResetEventsParity": 2632, 560 | "m_nMuzzleFlashParity": 2660, 561 | "m_hLightingOrigin": 10568, 562 | "serveranimdata": 0, 563 | "m_flFrozen": 9980, 564 | "m_ScaleType": 10064, 565 | "m_bSuppressAnimSounds": 10574, 566 | "m_nHighlightColorR": 2616, 567 | "m_nHighlightColorG": 2620, 568 | "m_nHighlightColorB": 2624 569 | }, 570 | "DT_ServerAnimationData": { 571 | "m_flCycle": 2580 572 | }, 573 | "DT_ParticleSmokeGrenade": { 574 | "baseclass": 0, 575 | "m_flSpawnTime": 2772, 576 | "m_FadeStartTime": 2776, 577 | "m_FadeEndTime": 2780, 578 | "m_MinColor": 2788, 579 | "m_MaxColor": 2800, 580 | "m_CurrentStage": 2756 581 | }, 582 | "DT_ParticleFire": { 583 | "m_vOrigin": 2764, 584 | "m_vDirection": 2776 585 | }, 586 | "DT_MovieExplosion": { 587 | "baseclass": 0 588 | }, 589 | "DT_TEGaussExplosion": { 590 | "baseclass": 0, 591 | "m_nType": 28, 592 | "m_vecDirection": 32 593 | }, 594 | "DT_QuadraticBeam": { 595 | "baseclass": 0, 596 | "m_targetPosition": 2520, 597 | "m_controlPosition": 2532, 598 | "m_scrollRate": 2544, 599 | "m_flWidth": 2548 600 | }, 601 | "DT_Embers": { 602 | "baseclass": 0, 603 | "m_nDensity": 2520, 604 | "m_nLifetime": 2524, 605 | "m_nSpeed": 2528, 606 | "m_bEmit": 2532 607 | }, 608 | "DT_EnvWind": { 609 | "baseclass": 0, 610 | "m_EnvWindShared": 2520 611 | }, 612 | "DT_EnvWindShared": { 613 | "m_iMinWind": 12, 614 | "m_iMaxWind": 16, 615 | "m_iMinGust": 24, 616 | "m_iMaxGust": 28, 617 | "m_flMinGustDelay": 32, 618 | "m_flMaxGustDelay": 36, 619 | "m_iGustDirChange": 44, 620 | "m_iWindSeed": 8, 621 | "m_iInitialWindDir": 108, 622 | "m_flInitialWindSpeed": 112, 623 | "m_flStartTime": 4, 624 | "m_flGustDuration": 40 625 | }, 626 | "DT_Precipitation": { 627 | "baseclass": 0, 628 | "m_nPrecipType": 2560 629 | }, 630 | "DT_PrecipitationBlocker": { 631 | "baseclass": 0 632 | }, 633 | "DT_NextBot": { 634 | "baseclass": 0 635 | }, 636 | "DT_BaseCombatCharacter": { 637 | "baseclass": 0, 638 | "bcc_localdata": 0, 639 | "bcc_nonlocaldata": 0, 640 | "m_LastHitGroup": 11652, 641 | "m_hActiveWeapon": 12040, 642 | "m_flTimeOfLastInjury": 12044, 643 | "m_nRelativeDirectionOfLastInjury": 12048, 644 | "m_hMyWeapons": 11784, 645 | "m_hMyWearables": 12052 646 | }, 647 | "DT_BaseFlex": { 648 | "baseclass": 0, 649 | "m_flexWeight": 10808, 650 | "m_blinktoggle": 11236, 651 | "m_viewtarget": 10752 652 | }, 653 | "DT_BaseAnimatingOverlay": { 654 | "baseclass": 0, 655 | "overlay_vars": 0 656 | }, 657 | "DT_OverlayVars": { 658 | "m_AnimOverlay": 0 659 | }, 660 | "_ST_m_AnimOverlay_15": { 661 | "lengthproxy": 0 662 | }, 663 | "_LPT_m_AnimOverlay_15": { 664 | "lengthprop15": 0 665 | }, 666 | "DT_BCCLocalPlayerExclusive": { 667 | "m_flNextAttack": 11648 668 | }, 669 | "DT_BCCNonLocalPlayerExclusive": { 670 | "m_hMyWeapons": 11784 671 | }, 672 | "DT_WearableItem": { 673 | "baseclass": 0 674 | }, 675 | "DT_EconEntity": { 676 | "baseclass": 0, 677 | "m_AttributeManager": 11664, 678 | "m_OriginalOwnerXuidLow": 12752, 679 | "m_OriginalOwnerXuidHigh": 12756, 680 | "m_nFallbackPaintKit": 12760, 681 | "m_nFallbackSeed": 12764, 682 | "m_flFallbackWear": 12768, 683 | "m_nFallbackStatTrak": 12772 684 | }, 685 | "DT_AttributeContainer": { 686 | "m_hOuter": 28, 687 | "m_ProviderType": 36, 688 | "m_iReapplyProvisionParity": 24, 689 | "m_Item": 64 690 | }, 691 | "DT_ScriptCreatedItem": { 692 | "m_iItemDefinitionIndex": 490, 693 | "m_iEntityLevel": 496, 694 | "m_iItemIDHigh": 512, 695 | "m_iItemIDLow": 516, 696 | "m_iAccountID": 520, 697 | "m_iEntityQuality": 492, 698 | "m_bInitialized": 532, 699 | "m_szCustomName": 636, 700 | "m_NetworkedDynamicAttributesForDemos": 608 701 | }, 702 | "DT_AttributeList": { 703 | "m_Attributes": 0 704 | }, 705 | "_ST_m_Attributes_32": { 706 | "lengthproxy": 0 707 | }, 708 | "_LPT_m_Attributes_32": { 709 | "lengthprop32": 0 710 | }, 711 | "DT_BaseAttributableItem": { 712 | "baseclass": 0, 713 | "m_AttributeManager": 11664, 714 | "m_OriginalOwnerXuidLow": 12752, 715 | "m_OriginalOwnerXuidHigh": 12756, 716 | "m_nFallbackPaintKit": 12760, 717 | "m_nFallbackSeed": 12764, 718 | "m_flFallbackWear": 12768, 719 | "m_nFallbackStatTrak": 12772 720 | }, 721 | "DT_WeaponZoneRepulsor": { 722 | "baseclass": 0 723 | }, 724 | "DT_WeaponCSBaseGun": { 725 | "baseclass": 0, 726 | "m_zoomLevel": 13280, 727 | "m_iBurstShotsRemaining": 13284 728 | }, 729 | "DT_WeaponCSBase": { 730 | "baseclass": 0, 731 | "m_weaponMode": 13096, 732 | "m_fAccuracyPenalty": 13120, 733 | "m_fLastShotTime": 13240, 734 | "m_iRecoilIndex": 13136, 735 | "m_flRecoilIndex": 13140, 736 | "m_hPrevOwner": 13204, 737 | "m_bBurstMode": 13144, 738 | "m_flPostponeFireReadyTime": 13148, 739 | "m_bReloadVisuallyComplete": 13152, 740 | "m_bSilencerOn": 13153, 741 | "m_flDoneSwitchingSilencer": 13156, 742 | "m_iOriginalTeamNumber": 13164, 743 | "m_iIronSightMode": 13268 744 | }, 745 | "DT_BaseCombatWeapon": { 746 | "baseclass": 0, 747 | "LocalWeaponData": 0, 748 | "LocalActiveWeaponData": 0, 749 | "m_iViewModelIndex": 12880, 750 | "m_iWorldModelIndex": 12884, 751 | "m_iWorldDroppedModelIndex": 12888, 752 | "m_iState": 12904, 753 | "m_hOwner": 12864, 754 | "m_iClip1": 12916, 755 | "m_iClip2": 12920, 756 | "m_iPrimaryReserveAmmoCount": 12924, 757 | "m_iSecondaryReserveAmmoCount": 12928, 758 | "m_hWeaponWorldModel": 12900, 759 | "m_iNumEmptyAttacks": 12896 760 | }, 761 | "DT_LocalWeaponData": { 762 | "m_iPrimaryAmmoType": 12908, 763 | "m_iSecondaryAmmoType": 12912, 764 | "m_nViewModelIndex": 12868, 765 | "m_bFlipViewModel": 13012, 766 | "m_iWeaponOrigin": 13016, 767 | "m_iWeaponModule": 12892 768 | }, 769 | "DT_LocalActiveWeaponData": { 770 | "m_flNextPrimaryAttack": 12872, 771 | "m_flNextSecondaryAttack": 12876, 772 | "m_nNextThinkTick": 252, 773 | "m_flTimeWeaponIdle": 12932 774 | }, 775 | "DT_WeaponXM1014": { 776 | "baseclass": 0, 777 | "m_reloadState": 13284 778 | }, 779 | "DT_WeaponTaser": { 780 | "baseclass": 0, 781 | "m_fFireTime": 13312 782 | }, 783 | "DT_WeaponTablet": { 784 | "baseclass": 0, 785 | "m_flUpgradeExpirationTime[0]": 13288, 786 | "m_flUpgradeExpirationTime": 0, 787 | "m_vecLocalHexFlags[0]": 13304, 788 | "m_vecLocalHexFlags": 0, 789 | "m_nContractKillGridIndex": 13472, 790 | "m_nContractKillGridHighResIndex": 13476, 791 | "m_bTabletReceptionIsBlocked": 13480, 792 | "m_flScanProgress": 13484, 793 | "m_flBootTime": 13488, 794 | "m_flShowMapTime": 13492, 795 | "m_vecNotificationIds[0]": 13508, 796 | "m_vecNotificationIds": 0, 797 | "m_vecNotificationTimestamps[0]": 13540, 798 | "m_vecNotificationTimestamps": 0, 799 | "m_vecPlayerPositionHistory[0]": 13576, 800 | "m_vecPlayerPositionHistory": 0, 801 | "m_nLastPurchaseIndex": 13572, 802 | "m_vecNearestMetalCratePos": 13496 803 | }, 804 | "DT_Snowball": { 805 | "baseclass": 0 806 | }, 807 | "DT_BaseCSGrenade": { 808 | "baseclass": 0, 809 | "m_bRedraw": 13280, 810 | "m_bIsHeldByPlayer": 13281, 811 | "m_bPinPulled": 13282, 812 | "m_fThrowTime": 13284, 813 | "m_bLoopingSoundPlaying": 13288, 814 | "m_flThrowStrength": 13292, 815 | "m_fDropTime": 13296 816 | }, 817 | "DT_SmokeGrenade": { 818 | "baseclass": 0 819 | }, 820 | "DT_WeaponShield": { 821 | "baseclass": 0, 822 | "m_flDisplayHealth": 13312 823 | }, 824 | "DT_WeaponSG552": { 825 | "baseclass": 0 826 | }, 827 | "DT_SensorGrenade": { 828 | "baseclass": 0 829 | }, 830 | "DT_WeaponSawedoff": { 831 | "baseclass": 0, 832 | "m_reloadState": 13284 833 | }, 834 | "DT_WeaponNOVA": { 835 | "baseclass": 0, 836 | "m_reloadState": 13284 837 | }, 838 | "DT_IncendiaryGrenade": { 839 | "baseclass": 0 840 | }, 841 | "DT_MolotovGrenade": { 842 | "baseclass": 0 843 | }, 844 | "DT_WeaponMelee": { 845 | "baseclass": 0, 846 | "m_flThrowAt": 13280 847 | }, 848 | "DT_WeaponM3": { 849 | "baseclass": 0, 850 | "m_reloadState": 13284 851 | }, 852 | "DT_WeaponKnifeGG": { 853 | "baseclass": 0 854 | }, 855 | "DT_WeaponKnife": { 856 | "baseclass": 0 857 | }, 858 | "DT_HEGrenade": { 859 | "baseclass": 0 860 | }, 861 | "DT_Flashbang": { 862 | "baseclass": 0 863 | }, 864 | "DT_WeaponFists": { 865 | "baseclass": 0, 866 | "m_bPlayingUninterruptableAct": 13280 867 | }, 868 | "DT_WeaponElite": { 869 | "baseclass": 0 870 | }, 871 | "DT_DecoyGrenade": { 872 | "baseclass": 0 873 | }, 874 | "DT_WeaponDEagle": { 875 | "baseclass": 0 876 | }, 877 | "DT_WeaponUSP": { 878 | "baseclass": 0 879 | }, 880 | "DT_WeaponM249": { 881 | "baseclass": 0 882 | }, 883 | "DT_WeaponUMP45": { 884 | "baseclass": 0 885 | }, 886 | "DT_WeaponTMP": { 887 | "baseclass": 0 888 | }, 889 | "DT_WeaponTec9": { 890 | "baseclass": 0 891 | }, 892 | "DT_WeaponSSG08": { 893 | "baseclass": 0 894 | }, 895 | "DT_WeaponSG556": { 896 | "baseclass": 0 897 | }, 898 | "DT_WeaponSG550": { 899 | "baseclass": 0 900 | }, 901 | "DT_WeaponScout": { 902 | "baseclass": 0 903 | }, 904 | "DT_WeaponSCAR20": { 905 | "baseclass": 0 906 | }, 907 | "DT_WeaponSCAR17": { 908 | "baseclass": 0 909 | }, 910 | "DT_WeaponP90": { 911 | "baseclass": 0 912 | }, 913 | "DT_WeaponP250": { 914 | "baseclass": 0 915 | }, 916 | "DT_WeaponP228": { 917 | "baseclass": 0 918 | }, 919 | "DT_WeaponNegev": { 920 | "baseclass": 0 921 | }, 922 | "DT_WeaponMP9": { 923 | "baseclass": 0 924 | }, 925 | "DT_WeaponMP7": { 926 | "baseclass": 0 927 | }, 928 | "DT_WeaponMP5Navy": { 929 | "baseclass": 0 930 | }, 931 | "DT_WeaponMag7": { 932 | "baseclass": 0 933 | }, 934 | "DT_WeaponMAC10": { 935 | "baseclass": 0 936 | }, 937 | "DT_WeaponM4A1": { 938 | "baseclass": 0 939 | }, 940 | "DT_WeaponHKP2000": { 941 | "baseclass": 0 942 | }, 943 | "DT_WeaponGlock": { 944 | "baseclass": 0 945 | }, 946 | "DT_WeaponGalilAR": { 947 | "baseclass": 0 948 | }, 949 | "DT_WeaponGalil": { 950 | "baseclass": 0 951 | }, 952 | "DT_WeaponG3SG1": { 953 | "baseclass": 0 954 | }, 955 | "DT_WeaponFiveSeven": { 956 | "baseclass": 0 957 | }, 958 | "DT_WeaponFamas": { 959 | "baseclass": 0 960 | }, 961 | "DT_WeaponBizon": { 962 | "baseclass": 0 963 | }, 964 | "DT_WeaponAWP": { 965 | "baseclass": 0 966 | }, 967 | "DT_WeaponAug": { 968 | "baseclass": 0 969 | }, 970 | "DT_WeaponAK47": { 971 | "baseclass": 0 972 | }, 973 | "DT_WeaponC4": { 974 | "baseclass": 0, 975 | "m_bStartedArming": 13312, 976 | "m_bBombPlacedAnimation": 13320, 977 | "m_fArmedTime": 13316, 978 | "m_bShowC4LED": 13321, 979 | "m_bIsPlantingViaUse": 13322 980 | }, 981 | "DT_WeaponBumpMine": { 982 | "baseclass": 0 983 | }, 984 | "DT_BumpMineProjectile": { 985 | "baseclass": 0, 986 | "m_nParentBoneIndex": 10724, 987 | "m_vecParentBonePos": 10728, 988 | "m_bArmed": 10740 989 | }, 990 | "DT_BaseGrenade": { 991 | "baseclass": 0, 992 | "m_flDamage": 10664, 993 | "m_DmgRadius": 10644, 994 | "m_bIsLive": 10641, 995 | "m_hThrower": 10672, 996 | "m_vecVelocity": 276, 997 | "m_fFlags": 260 998 | }, 999 | "DT_WeaponBreachCharge": { 1000 | "baseclass": 0 1001 | }, 1002 | "DT_BreachChargeProjectile": { 1003 | "baseclass": 0, 1004 | "m_bShouldExplode": 10720, 1005 | "m_weaponThatThrewMe": 10724, 1006 | "m_nParentBoneIndex": 10728, 1007 | "m_vecParentBonePos": 10732 1008 | }, 1009 | "DT_WeaponBaseItem": { 1010 | "baseclass": 0, 1011 | "m_bRedraw": 13292 1012 | }, 1013 | "DT_SnowballProjectile": { 1014 | "baseclass": 0 1015 | }, 1016 | "DT_BaseCSGrenadeProjectile": { 1017 | "baseclass": 0, 1018 | "m_vInitialVelocity": 10720, 1019 | "m_nBounces": 10732, 1020 | "m_nExplodeEffectIndex": 10736, 1021 | "m_nExplodeEffectTickBegin": 10740, 1022 | "m_vecExplodeEffectOrigin": 10744 1023 | }, 1024 | "DT_SnowballPile": { 1025 | "baseclass": 0 1026 | }, 1027 | "DT_SmokeGrenadeProjectile": { 1028 | "baseclass": 0, 1029 | "m_bDidSmokeEffect": 10788, 1030 | "m_nSmokeEffectTickBegin": 10784 1031 | }, 1032 | "DT_SensorGrenadeProjectile": { 1033 | "baseclass": 0 1034 | }, 1035 | "DT_MolotovProjectile": { 1036 | "baseclass": 0, 1037 | "m_bIsIncGrenade": 10784 1038 | }, 1039 | "DT_Item_Healthshot": { 1040 | "baseclass": 0 1041 | }, 1042 | "DT_ItemDogtags": { 1043 | "baseclass": 0, 1044 | "m_OwningPlayer": 13392, 1045 | "m_KillingPlayer": 13396 1046 | }, 1047 | "DT_Item": { 1048 | "baseclass": 0, 1049 | "m_bShouldGlow": 12864 1050 | }, 1051 | "DT_DecoyProjectile": { 1052 | "baseclass": 0 1053 | }, 1054 | "DT_PhysPropRadarJammer": { 1055 | "baseclass": 0 1056 | }, 1057 | "DT_PhysicsPropMultiplayer": { 1058 | "baseclass": 0, 1059 | "m_iPhysicsMode": 10708, 1060 | "m_fMass": 10712, 1061 | "m_collisionMins": 10716, 1062 | "m_collisionMaxs": 10728 1063 | }, 1064 | "DT_PhysicsProp": { 1065 | "baseclass": 0, 1066 | "m_bAwake": 10672, 1067 | "m_spawnflags": 712 1068 | }, 1069 | "DT_BreakableProp": { 1070 | "baseclass": 0, 1071 | "m_qPreferredPlayerCarryAngles": 10644, 1072 | "m_bClientPhysics": 10656 1073 | }, 1074 | "DT_PhysPropWeaponUpgrade": { 1075 | "baseclass": 0 1076 | }, 1077 | "DT_PhysPropAmmoBox": { 1078 | "baseclass": 0 1079 | }, 1080 | "DT_PhysPropLootCrate": { 1081 | "baseclass": 0, 1082 | "m_bRenderInPSPM": 10756, 1083 | "m_bRenderInTablet": 10757, 1084 | "m_iHealth": 256, 1085 | "m_iMaxHealth": 10760 1086 | }, 1087 | "DT_ItemCash": { 1088 | "baseclass": 0 1089 | }, 1090 | "DT_EnvGasCanister": { 1091 | "baseclass": 0, 1092 | "m_flFlightSpeed": 10756, 1093 | "m_flLaunchTime": 10760, 1094 | "m_vecParabolaDirection": 10780, 1095 | "m_flFlightTime": 10752, 1096 | "m_flWorldEnterTime": 10792, 1097 | "m_flInitialZSpeed": 10764, 1098 | "m_flZAcceleration": 10768, 1099 | "m_flHorizSpeed": 10772, 1100 | "m_bLaunchedFromWithinWorld": 10776, 1101 | "m_vecImpactPosition": 10692, 1102 | "m_vecStartPosition": 10704, 1103 | "m_vecEnterWorldPosition": 10716, 1104 | "m_vecDirection": 10728, 1105 | "m_vecStartAngles": 10740, 1106 | "m_vecSkyboxOrigin": 10796, 1107 | "m_flSkyboxScale": 10808, 1108 | "m_bInSkybox": 10812, 1109 | "m_bDoImpactEffects": 10813, 1110 | "m_bLanded": 10640, 1111 | "m_hSkyboxCopy": 10680, 1112 | "m_nMyZoneIndex": 10816, 1113 | "m_vecOrigin": 312, 1114 | "m_vecOrigin[2]": 320 1115 | }, 1116 | "DT_Dronegun": { 1117 | "baseclass": 0, 1118 | "m_vecAttentionTarget": 10640, 1119 | "m_vecTargetOffset": 10652, 1120 | "m_iHealth": 256, 1121 | "m_bHasTarget": 10664 1122 | }, 1123 | "DT_ParadropChopper": { 1124 | "baseclass": 0, 1125 | "m_vecOrigin": 312, 1126 | "m_vecOrigin[2]": 320, 1127 | "m_hCallingPlayer": 10656 1128 | }, 1129 | "DT_SurvivalSpawnChopper": { 1130 | "baseclass": 0, 1131 | "m_vecOrigin": 312, 1132 | "m_vecOrigin[2]": 320 1133 | }, 1134 | "DT_BRC4Target": { 1135 | "baseclass": 0, 1136 | "m_bBrokenOpen": 10644, 1137 | "m_flRadius": 10648 1138 | }, 1139 | "DT_InfoMapRegion": { 1140 | "baseclass": 0, 1141 | "m_flRadius": 2520, 1142 | "m_szLocToken": 2524 1143 | }, 1144 | "DT_FireCrackerBlast": { 1145 | "baseclass": 0 1146 | }, 1147 | "DT_Inferno": { 1148 | "baseclass": 0, 1149 | "m_fireXDelta": 2532, 1150 | "m_fireYDelta": 2932, 1151 | "m_fireZDelta": 3332, 1152 | "m_bFireIsBurning": 3732, 1153 | "m_nFireEffectTickBegin": 5044, 1154 | "m_fireCount": 5032 1155 | }, 1156 | "DT_CChicken": { 1157 | "baseclass": 0, 1158 | "m_jumpedThisFrame": 10744, 1159 | "m_leader": 10748 1160 | }, 1161 | "DT_DynamicProp": { 1162 | "baseclass": 0, 1163 | "m_bUseHitboxesForRenderBox": 10676, 1164 | "m_flGlowMaxDist": 10708, 1165 | "m_bShouldGlow": 10712, 1166 | "m_clrGlow": 10713, 1167 | "m_nGlowStyle": 10720 1168 | }, 1169 | "DT_Drone": { 1170 | "baseclass": 0, 1171 | "m_hMoveToThisEntity": 10728, 1172 | "m_hDeliveryCargo": 10732, 1173 | "m_bPilotTakeoverAllowed": 10736, 1174 | "m_hPotentialCargo": 10740, 1175 | "m_hCurrentPilot": 10744, 1176 | "m_vecTagPositions[0]": 10748, 1177 | "m_vecTagPositions": 0, 1178 | "m_vecTagIncrements[0]": 11036, 1179 | "m_vecTagIncrements": 0 1180 | }, 1181 | "DT_FootstepControl": { 1182 | "baseclass": 0, 1183 | "m_source": 2576, 1184 | "m_destination": 2592 1185 | }, 1186 | "DT_BaseTrigger": { 1187 | "baseclass": 0, 1188 | "m_bClientSidePredicted": 2568, 1189 | "m_spawnflags": 712 1190 | }, 1191 | "DT_BaseToggle": { 1192 | "baseclass": 0, 1193 | "m_vecFinalDest": 2540, 1194 | "m_movementType": 2552, 1195 | "m_flMoveTargetTime": 2556 1196 | }, 1197 | "DT_CSGameRulesProxy": { 1198 | "baseclass": 0, 1199 | "cs_gamerules_data": 0 1200 | }, 1201 | "DT_CSGameRules": { 1202 | "m_bFreezePeriod": 32, 1203 | "m_bMatchWaitingForResume": 65, 1204 | "m_bWarmupPeriod": 33, 1205 | "m_fWarmupPeriodEnd": 36, 1206 | "m_fWarmupPeriodStart": 40, 1207 | "m_bTerroristTimeOutActive": 44, 1208 | "m_bCTTimeOutActive": 45, 1209 | "m_flTerroristTimeOutRemaining": 48, 1210 | "m_flCTTimeOutRemaining": 52, 1211 | "m_nTerroristTimeOuts": 56, 1212 | "m_nCTTimeOuts": 60, 1213 | "m_bTechnicalTimeOut": 64, 1214 | "m_iRoundTime": 68, 1215 | "m_gamePhase": 96, 1216 | "m_totalRoundsPlayed": 100, 1217 | "m_nOvertimePlaying": 104, 1218 | "m_timeUntilNextPhaseStarts": 92, 1219 | "m_flCMMItemDropRevealStartTime": 2168, 1220 | "m_flCMMItemDropRevealEndTime": 2172, 1221 | "m_fRoundStartTime": 76, 1222 | "m_bGameRestart": 84, 1223 | "m_flRestartRoundTime": 80, 1224 | "m_flGameStartTime": 88, 1225 | "m_iHostagesRemaining": 108, 1226 | "m_bAnyHostageReached": 112, 1227 | "m_bMapHasBombTarget": 113, 1228 | "m_bMapHasRescueZone": 114, 1229 | "m_bMapHasBuyZone": 115, 1230 | "m_bIsQueuedMatchmaking": 116, 1231 | "m_nQueuedMatchmakingMode": 120, 1232 | "m_bIsValveDS": 124, 1233 | "m_bIsQuestEligible": 2177, 1234 | "m_bLogoMap": 125, 1235 | "m_bPlayAllStepSoundsOnServer": 126, 1236 | "m_iNumGunGameProgressiveWeaponsCT": 128, 1237 | "m_iNumGunGameProgressiveWeaponsT": 132, 1238 | "m_iSpectatorSlotCount": 136, 1239 | "m_bBombDropped": 2468, 1240 | "m_bBombPlanted": 2469, 1241 | "m_iRoundWinStatus": 2472, 1242 | "m_eRoundWinReason": 2476, 1243 | "m_flDMBonusStartTime": 1108, 1244 | "m_flDMBonusTimeLength": 1112, 1245 | "m_unDMBonusWeaponLoadoutSlot": 1116, 1246 | "m_bDMBonusActive": 1118, 1247 | "m_bTCantBuy": 2480, 1248 | "m_bCTCantBuy": 2481, 1249 | "m_flGuardianBuyUntilTime": 2484, 1250 | "m_iMatchStats_RoundResults": 2488, 1251 | "m_iMatchStats_PlayersAlive_T": 2728, 1252 | "m_iMatchStats_PlayersAlive_CT": 2608, 1253 | "m_GGProgressiveWeaponOrderCT": 140, 1254 | "m_GGProgressiveWeaponOrderT": 380, 1255 | "m_GGProgressiveWeaponKillUpgradeOrderCT": 620, 1256 | "m_GGProgressiveWeaponKillUpgradeOrderT": 860, 1257 | "m_MatchDevice": 1100, 1258 | "m_bHasMatchStarted": 1104, 1259 | "m_TeamRespawnWaveTimes": 2848, 1260 | "m_flNextRespawnWave": 2976, 1261 | "m_nNextMapInMapgroup": 1120, 1262 | "m_nEndMatchMapGroupVoteTypes": 3112, 1263 | "m_nEndMatchMapGroupVoteOptions": 3152, 1264 | "m_nEndMatchMapVoteWinner": 3192, 1265 | "m_bIsDroppingItems": 2176, 1266 | "m_iActiveAssassinationTargetMissionID": 3104, 1267 | "m_fMatchStartTime": 72, 1268 | "m_szTournamentEventName": 1124, 1269 | "m_szTournamentEventStage": 1384, 1270 | "m_szTournamentPredictionsTxt": 1904, 1271 | "m_nTournamentPredictionsPct": 2164, 1272 | "m_szMatchStatTxt": 1644, 1273 | "m_nGuardianModeWaveNumber": 2180, 1274 | "m_nGuardianModeSpecialKillsRemaining": 2184, 1275 | "m_nGuardianModeSpecialWeaponNeeded": 2188, 1276 | "m_nHalloweenMaskListSeed": 2464, 1277 | "m_numGlobalGiftsGiven": 2200, 1278 | "m_numGlobalGifters": 2204, 1279 | "m_numGlobalGiftsPeriodSeconds": 2208, 1280 | "m_arrFeaturedGiftersAccounts": 2212, 1281 | "m_arrFeaturedGiftersGifts": 2228, 1282 | "m_arrProhibitedItemIndices": 2244, 1283 | "m_numBestOfMaps": 2460, 1284 | "m_arrTournamentActiveCasterAccounts": 2444, 1285 | "m_iNumConsecutiveCTLoses": 3196, 1286 | "m_iNumConsecutiveTerroristLoses": 3200, 1287 | "m_SurvivalRules": 3328, 1288 | "m_RetakeRules": 5056 1289 | }, 1290 | "DT_SurvivalGameRules": { 1291 | "m_vecPlayAreaMins": 0, 1292 | "m_vecPlayAreaMaxs": 12, 1293 | "m_iPlayerSpawnHexIndices": 24, 1294 | "m_SpawnTileState": 280, 1295 | "m_flSpawnSelectionTimeStart": 504, 1296 | "m_flSpawnSelectionTimeEnd": 508, 1297 | "m_flSpawnSelectionTimeLoadout": 512, 1298 | "m_spawnStage": 516, 1299 | "m_flTabletHexOriginX": 520, 1300 | "m_flTabletHexOriginY": 524, 1301 | "m_flTabletHexSize": 528, 1302 | "m_roundData_playerXuids": 536, 1303 | "m_roundData_playerPositions": 1056, 1304 | "m_roundData_playerTeams": 1316, 1305 | "m_SurvivalGameRuleDecisionTypes": 1576, 1306 | "m_SurvivalGameRuleDecisionValues": 1640, 1307 | "m_flSurvivalStartTime": 1704 1308 | }, 1309 | "DT_RetakeGameRules": { 1310 | "m_nMatchSeed": 248, 1311 | "m_bBlockersPresent": 252, 1312 | "m_bRoundInProgress": 253, 1313 | "m_iFirstSecondHalfRound": 256, 1314 | "m_iBombSite": 260 1315 | }, 1316 | "DT_WeaponCubemap": { 1317 | "baseclass": 0 1318 | }, 1319 | "DT_WeaponCycler": { 1320 | "baseclass": 0 1321 | }, 1322 | "DT_TEPlantBomb": { 1323 | "m_vecOrigin": 20, 1324 | "m_iPlayer": 16, 1325 | "m_option": 32 1326 | }, 1327 | "DT_TEFireBullets": { 1328 | "m_vecOrigin": 24, 1329 | "m_vecAngles[0]": 36, 1330 | "m_vecAngles[1]": 40, 1331 | "m_iWeaponID": 52, 1332 | "m_weapon": 48, 1333 | "m_iMode": 56, 1334 | "m_iSeed": 60, 1335 | "m_iPlayer": 16, 1336 | "m_fInaccuracy": 64, 1337 | "m_fSpread": 72, 1338 | "m_nItemDefIndex": 20, 1339 | "m_iSoundType": 76, 1340 | "m_flRecoilIndex": 68 1341 | }, 1342 | "DT_TERadioIcon": { 1343 | "baseclass": 0, 1344 | "m_iAttachToClient": 16 1345 | }, 1346 | "DT_PlantedC4": { 1347 | "baseclass": 0, 1348 | "m_bBombTicking": 10640, 1349 | "m_nBombSite": 10644, 1350 | "m_flC4Blow": 10656, 1351 | "m_flTimerLength": 10660, 1352 | "m_flDefuseLength": 10680, 1353 | "m_flDefuseCountDown": 10684, 1354 | "m_bBombDefused": 10688, 1355 | "m_hBombDefuser": 10692 1356 | }, 1357 | "DT_CSTeam": { 1358 | "baseclass": 0 1359 | }, 1360 | "DT_Team": { 1361 | "m_iTeamNum": 2920, 1362 | "m_bSurrendered": 2924, 1363 | "m_scoreTotal": 2880, 1364 | "m_scoreFirstHalf": 2884, 1365 | "m_scoreSecondHalf": 2888, 1366 | "m_scoreOvertime": 2892, 1367 | "m_iClanID": 2904, 1368 | "m_szTeamname": 2540, 1369 | "m_szClanTeamname": 2572, 1370 | "m_szTeamFlagImage": 2604, 1371 | "m_szTeamLogoImage": 2612, 1372 | "m_szTeamMatchStat": 2620, 1373 | "m_nGGLeaderEntIndex_CT": 2896, 1374 | "m_nGGLeaderEntIndex_T": 2900, 1375 | "m_numMapVictories": 2928, 1376 | "player_array_element": 0, 1377 | "\"player_array\"": 0 1378 | }, 1379 | "DT_CSPlayerResource": { 1380 | "baseclass": 0, 1381 | "m_iPlayerC4": 5724, 1382 | "m_iPlayerVIP": 5728, 1383 | "m_bHostageAlive": 5756, 1384 | "m_isHostageFollowingSomeone": 5768, 1385 | "m_iHostageEntityIDs": 5780, 1386 | "m_bombsiteCenterA": 5732, 1387 | "m_bombsiteCenterB": 5744, 1388 | "m_hostageRescueX": 5828, 1389 | "m_hostageRescueY": 5844, 1390 | "m_hostageRescueZ": 5860, 1391 | "m_iMVPs": 5876, 1392 | "m_iArmor": 6268, 1393 | "m_bHasHelmet": 6201, 1394 | "m_bHasDefuser": 6136, 1395 | "m_iScore": 6528, 1396 | "m_iCompetitiveRanking": 6788, 1397 | "m_iCompetitiveWins": 7048, 1398 | "m_iCompetitiveRankType": 7308, 1399 | "m_iCompTeammateColor": 7376, 1400 | "m_iLifetimeStart": 7636, 1401 | "m_iLifetimeEnd": 7896, 1402 | "m_bControllingBot": 8156, 1403 | "m_iControlledPlayer": 8224, 1404 | "m_iControlledByPlayer": 8484, 1405 | "m_iBotDifficulty": 17064, 1406 | "m_szClan": 17324, 1407 | "m_nCharacterDefIndex": 18364, 1408 | "m_iTotalCashSpent": 18624, 1409 | "m_iGunGameLevel": 18884, 1410 | "m_iCashSpentThisRound": 19144, 1411 | "m_nEndMatchNextMapVotes": 27272, 1412 | "m_bEndMatchNextMapAllVoted": 27532, 1413 | "m_nActiveCoinRank": 19404, 1414 | "m_nMusicID": 19664, 1415 | "m_nPersonaDataPublicLevel": 19924, 1416 | "m_nPersonaDataPublicCommendsLeader": 20184, 1417 | "m_nPersonaDataPublicCommendsTeacher": 20444, 1418 | "m_nPersonaDataPublicCommendsFriendly": 20704, 1419 | "m_bHasCommunicationAbuseMute": 20964, 1420 | "m_szCrosshairCodes": 21029, 1421 | "m_iMatchStats_Kills_Total": 23304, 1422 | "m_iMatchStats_5k_Total": 24604, 1423 | "m_iMatchStats_4k_Total": 24344, 1424 | "m_iMatchStats_3k_Total": 24084, 1425 | "m_iMatchStats_Damage_Total": 24864, 1426 | "m_iMatchStats_EquipmentValue_Total": 25124, 1427 | "m_iMatchStats_KillReward_Total": 25384, 1428 | "m_iMatchStats_LiveTime_Total": 25644, 1429 | "m_iMatchStats_Deaths_Total": 23824, 1430 | "m_iMatchStats_Assists_Total": 23564, 1431 | "m_iMatchStats_HeadShotKills_Total": 25904, 1432 | "m_iMatchStats_Objective_Total": 26164, 1433 | "m_iMatchStats_CashEarned_Total": 26424, 1434 | "m_iMatchStats_UtilityDamage_Total": 26684, 1435 | "m_iMatchStats_EnemiesFlashed_Total": 26944 1436 | }, 1437 | "DT_PlayerResource": { 1438 | "m_iPing": 2856, 1439 | "m_iKills": 3116, 1440 | "m_iAssists": 3376, 1441 | "m_iDeaths": 3636, 1442 | "m_bConnected": 2788, 1443 | "m_iTeam": 3896, 1444 | "m_iPendingTeam": 4156, 1445 | "m_bAlive": 4416, 1446 | "m_iHealth": 4484, 1447 | "m_iCoachingTeam": 4744 1448 | }, 1449 | "DT_CSPlayer": { 1450 | "baseclass": 0, 1451 | "cslocaldata": 0, 1452 | "csnonlocaldata": 0, 1453 | "csteamdata": 0, 1454 | "m_angEyeAngles[0]": 71632, 1455 | "m_angEyeAngles[1]": 71636, 1456 | "m_iAddonBits": 66500, 1457 | "m_iPrimaryAddon": 66504, 1458 | "m_iSecondaryAddon": 66508, 1459 | "m_iThrowGrenadeCounter": 39352, 1460 | "m_bWaitForNoAttack": 39356, 1461 | "m_bIsRespawningForDMBonus": 39357, 1462 | "m_iPlayerState": 39288, 1463 | "m_iAccount": 71608, 1464 | "m_iStartAccount": 66548, 1465 | "m_totalHitsOnServer": 66552, 1466 | "m_bInBombZone": 39348, 1467 | "m_bInBuyZone": 39349, 1468 | "m_bInNoDefuseArea": 39350, 1469 | "m_bKilledByTaser": 39373, 1470 | "m_iMoveState": 39376, 1471 | "m_iClass": 71624, 1472 | "m_ArmorValue": 71628, 1473 | "m_angEyeAngles": 71632, 1474 | "m_bHasDefuser": 71644, 1475 | "m_bNightVisionOn": 66537, 1476 | "m_bHasNightVision": 66538, 1477 | "m_bInHostageRescueZone": 71645, 1478 | "m_bIsDefusing": 39292, 1479 | "m_bIsGrabbingHostage": 39293, 1480 | "m_iBlockingUseActionInProgress": 39296, 1481 | "m_bIsScoped": 39284, 1482 | "m_bIsWalking": 39285, 1483 | "m_nIsAutoMounting": 39652, 1484 | "m_bResumeZoom": 39286, 1485 | "m_fImmuneToGunGameDamageTime": 39304, 1486 | "m_bGunGameImmunity": 39312, 1487 | "m_bHasMovedSinceSpawn": 39313, 1488 | "m_bMadeFinalGunGameProgressiveKill": 39314, 1489 | "m_iGunGameProgressiveWeaponIndex": 39316, 1490 | "m_iNumGunGameTRKillPoints": 39320, 1491 | "m_iNumGunGameKillsWithCurrentWeapon": 39324, 1492 | "m_iNumRoundKills": 39328, 1493 | "m_fMolotovUseTime": 39340, 1494 | "m_fMolotovDamageTime": 39344, 1495 | "m_szArmsModel": 39383, 1496 | "m_hCarriedHostage": 66632, 1497 | "m_hCarriedHostageProp": 66636, 1498 | "m_bIsRescuing": 39300, 1499 | "m_flGroundAccelLinearFracLastTime": 66544, 1500 | "m_bCanMoveDuringFreezePeriod": 39380, 1501 | "m_isCurrentGunGameLeader": 39381, 1502 | "m_isCurrentGunGameTeamLeader": 39382, 1503 | "m_flGuardianTooFarDistFrac": 39360, 1504 | "m_flDetectedByEnemySensorTime": 39364, 1505 | "m_bIsPlayerGhost": 39649, 1506 | "m_iMatchStats_Kills": 66740, 1507 | "m_iMatchStats_Damage": 66860, 1508 | "m_iMatchStats_EquipmentValue": 66980, 1509 | "m_iMatchStats_MoneySaved": 67100, 1510 | "m_iMatchStats_KillReward": 67220, 1511 | "m_iMatchStats_LiveTime": 67340, 1512 | "m_iMatchStats_Deaths": 67460, 1513 | "m_iMatchStats_Assists": 67580, 1514 | "m_iMatchStats_HeadShotKills": 67700, 1515 | "m_iMatchStats_Objective": 67820, 1516 | "m_iMatchStats_CashEarned": 67940, 1517 | "m_iMatchStats_UtilityDamage": 68060, 1518 | "m_iMatchStats_EnemiesFlashed": 68180, 1519 | "m_rank": 71564, 1520 | "m_passiveItems": 71588, 1521 | "m_bHasParachute": 71588, 1522 | "m_unMusicID": 71592, 1523 | "m_bHasHelmet": 71616, 1524 | "m_bHasHeavyArmor": 71617, 1525 | "m_nHeavyAssaultSuitCooldownRemaining": 71620, 1526 | "m_flFlashDuration": 66672, 1527 | "m_flFlashMaxAlpha": 66668, 1528 | "m_iProgressBarDuration": 66512, 1529 | "m_flProgressBarStartTime": 66516, 1530 | "m_hRagdoll": 66620, 1531 | "m_hPlayerPing": 66624, 1532 | "m_cycleLatch": 71904, 1533 | "m_unCurrentEquipmentValue": 71556, 1534 | "m_unRoundStartEquipmentValue": 71558, 1535 | "m_unFreezetimeEndEquipmentValue": 71560, 1536 | "m_bIsControllingBot": 72269, 1537 | "m_bHasControlledBotThisRound": 72284, 1538 | "m_bCanControlObservedBot": 72270, 1539 | "m_iControlledBotEntIndex": 72272, 1540 | "m_vecAutomoveTargetEnd": 39668, 1541 | "m_flAutoMoveStartTime": 39684, 1542 | "m_flAutoMoveTargetTime": 39688, 1543 | "m_bIsAssassinationTarget": 72268, 1544 | "m_bHud_MiniScoreHidden": 71678, 1545 | "m_bHud_RadarHidden": 71679, 1546 | "m_nLastKillerIndex": 71680, 1547 | "m_nLastConcurrentKilled": 71684, 1548 | "m_nDeathCamMusic": 71688, 1549 | "m_bIsHoldingLookAtWeapon": 72053, 1550 | "m_bIsLookingAtWeapon": 72052, 1551 | "m_iNumRoundKillsHeadshots": 39332, 1552 | "m_unTotalRoundDamageDealt": 39336, 1553 | "m_flLowerBodyYawTarget": 39644, 1554 | "m_bStrafing": 39648, 1555 | "m_flThirdpersonRecoil": 72172, 1556 | "m_bHideTargetID": 72176, 1557 | "m_bIsSpawnRappelling": 66557, 1558 | "m_vecSpawnRappellingRopeOrigin": 66560, 1559 | "m_nSurvivalTeam": 66576, 1560 | "m_hSurvivalAssassinationTarget": 66580, 1561 | "m_flHealthShotBoostExpirationTime": 66584, 1562 | "m_flLastExoJumpTime": 39692, 1563 | "m_vecPlayerPatchEconIndices": 72132 1564 | }, 1565 | "DT_BasePlayer": { 1566 | "baseclass": 0, 1567 | "localdata": 0, 1568 | "pl": 12768, 1569 | "m_iFOV": 12788, 1570 | "m_iFOVStart": 12792, 1571 | "m_flFOVTime": 12824, 1572 | "m_iDefaultFOV": 13116, 1573 | "m_hZoomOwner": 12892, 1574 | "m_afPhysicsFlags": 13052, 1575 | "m_hVehicle": 13056, 1576 | "m_hUseEntity": 13112, 1577 | "m_hGroundEntity": 336, 1578 | "m_iHealth": 256, 1579 | "m_lifeState": 607, 1580 | "m_iAmmo": 11656, 1581 | "m_iBonusProgress": 12880, 1582 | "m_iBonusChallenge": 12884, 1583 | "m_flMaxspeed": 12888, 1584 | "m_fFlags": 260, 1585 | "m_iObserverMode": 13192, 1586 | "m_bActiveCameraMan": 13196, 1587 | "m_bCameraManXRay": 13197, 1588 | "m_bCameraManOverview": 13198, 1589 | "m_bCameraManScoreBoard": 13199, 1590 | "m_uCameraManGraphs": 13200, 1591 | "m_iDeathPostEffect": 13188, 1592 | "m_hObserverTarget": 13212, 1593 | "m_hViewModel[0]": 13064, 1594 | "m_hViewModel": 0, 1595 | "m_iCoachingTeam": 12128, 1596 | "m_szLastPlaceName": 13764, 1597 | "m_vecLadderNormal": 12864, 1598 | "m_ladderSurfaceProps": 12816, 1599 | "m_ubEFNoInterpParity": 13800, 1600 | "m_hPostProcessCtrl": 14264, 1601 | "m_hColorCorrectionCtrl": 14268, 1602 | "m_PlayerFog.m_hCtrl": 14276, 1603 | "m_vphysicsCollisionState": 12908, 1604 | "m_hViewEntity": 13132, 1605 | "m_bShouldDrawPlayerWhileUsingViewEntity": 13136, 1606 | "m_flDuckAmount": 12220, 1607 | "m_flDuckSpeed": 12224, 1608 | "m_nWaterLevel": 606 1609 | }, 1610 | "DT_LocalPlayerExclusive": { 1611 | "m_Local": 12236, 1612 | "m_vecViewOffset[0]": 264, 1613 | "m_vecViewOffset[1]": 268, 1614 | "m_vecViewOffset[2]": 272, 1615 | "m_flFriction": 324, 1616 | "m_fOnTarget": 13108, 1617 | "m_nTickBase": 13376, 1618 | "m_nNextThinkTick": 252, 1619 | "m_hLastWeapon": 13060, 1620 | "m_vecVelocity[0]": 276, 1621 | "m_vecVelocity[1]": 280, 1622 | "m_vecVelocity[2]": 284, 1623 | "m_vecBaseVelocity": 288, 1624 | "m_hConstraintEntity": 13140, 1625 | "m_vecConstraintCenter": 13144, 1626 | "m_flConstraintRadius": 13156, 1627 | "m_flConstraintWidth": 13160, 1628 | "m_flConstraintSpeedFactor": 13164, 1629 | "m_bConstraintPastRadius": 13168, 1630 | "m_flDeathTime": 13268, 1631 | "m_flNextDecalTime": 13272, 1632 | "m_fForceTeam": 13276, 1633 | "m_flLaggedMovementValue": 13732, 1634 | "m_hTonemapController": 12764 1635 | }, 1636 | "DT_Local": { 1637 | "m_chAreaBits": 4, 1638 | "m_chAreaPortalBits": 36, 1639 | "m_iHideHUD": 72, 1640 | "m_flFOVRate": 68, 1641 | "m_bDucked": 136, 1642 | "m_bDucking": 137, 1643 | "m_flLastDuckTime": 140, 1644 | "m_bInDuckJump": 144, 1645 | "m_nDuckTimeMsecs": 76, 1646 | "m_nDuckJumpTimeMsecs": 80, 1647 | "m_nJumpTimeMsecs": 84, 1648 | "m_flFallVelocity": 88, 1649 | "m_viewPunchAngle": 100, 1650 | "m_aimPunchAngle": 112, 1651 | "m_aimPunchAngleVel": 124, 1652 | "m_bDrawViewmodel": 145, 1653 | "m_bWearingSuit": 146, 1654 | "m_bPoisoned": 147, 1655 | "m_flStepSize": 96, 1656 | "m_bAllowAutoMovement": 148, 1657 | "m_skybox3d.scale": 308, 1658 | "m_skybox3d.origin": 312, 1659 | "m_skybox3d.area": 324, 1660 | "m_skybox3d.fog.enable": 396, 1661 | "m_skybox3d.fog.blend": 397, 1662 | "m_skybox3d.fog.dirPrimary": 332, 1663 | "m_skybox3d.fog.colorPrimary": 344, 1664 | "m_skybox3d.fog.colorSecondary": 348, 1665 | "m_skybox3d.fog.start": 360, 1666 | "m_skybox3d.fog.end": 364, 1667 | "m_skybox3d.fog.maxdensity": 372, 1668 | "m_skybox3d.fog.HDRColorScale": 404, 1669 | "m_audio.localSound[0]": 412, 1670 | "m_audio.localSound[1]": 424, 1671 | "m_audio.localSound[2]": 436, 1672 | "m_audio.localSound[3]": 448, 1673 | "m_audio.localSound[4]": 460, 1674 | "m_audio.localSound[5]": 472, 1675 | "m_audio.localSound[6]": 484, 1676 | "m_audio.localSound[7]": 496, 1677 | "m_audio.soundscapeIndex": 508, 1678 | "m_audio.localBits": 512, 1679 | "m_audio.entIndex": 516 1680 | }, 1681 | "DT_PlayerState": { 1682 | "deadflag": 4 1683 | }, 1684 | "DT_CSLocalPlayerExclusive": { 1685 | "m_vecOrigin": 312, 1686 | "m_vecOrigin[2]": 320, 1687 | "m_flStamina": 66520, 1688 | "m_iDirection": 66524, 1689 | "m_iShotsFired": 66528, 1690 | "m_nNumFastDucks": 66532, 1691 | "m_bDuckOverride": 66536, 1692 | "m_flVelocityModifier": 66540, 1693 | "m_bPlayerDominated": 71912, 1694 | "m_bPlayerDominatingMe": 71977, 1695 | "m_iWeaponPurchasesThisRound": 70296, 1696 | "m_unActiveQuestId": 71544, 1697 | "m_nQuestProgressReason": 71548, 1698 | "m_iRetakesOffering": 72948, 1699 | "m_iRetakesOfferingCard": 72952, 1700 | "m_bRetakesHasDefuseKit": 72956, 1701 | "m_bRetakesMVPLastRound": 72957, 1702 | "m_iRetakesMVPBoostItem": 72960, 1703 | "m_RetakesMVPBoostExtraUtility": 72964, 1704 | "m_unPlayerTvControlFlags": 71552 1705 | }, 1706 | "DT_CSNonLocalPlayerExclusive": { 1707 | "m_vecOrigin": 312, 1708 | "m_vecOrigin[2]": 320 1709 | }, 1710 | "DT_CSTeamExclusive": { 1711 | "m_iWeaponPurchasesThisMatch": 68300, 1712 | "m_EquippedLoadoutItemDefIndices": 71332 1713 | }, 1714 | "DT_PlayerPing": { 1715 | "baseclass": 0, 1716 | "m_hPlayer": 2532, 1717 | "m_hPingedEntity": 2536, 1718 | "m_iType": 2540, 1719 | "m_bUrgent": 2548, 1720 | "m_szPlaceName": 2549 1721 | }, 1722 | "DT_CSRagdoll": { 1723 | "m_vecOrigin": 312, 1724 | "m_vecRagdollOrigin": 10780, 1725 | "m_hPlayer": 10752, 1726 | "m_nModelIndex": 600, 1727 | "m_nForceBone": 9868, 1728 | "m_vecForce": 9856, 1729 | "m_vecRagdollVelocity": 10768, 1730 | "m_iDeathPose": 10792, 1731 | "m_iDeathFrame": 10796, 1732 | "m_iTeamNum": 244, 1733 | "m_bClientSideAnimation": 10400, 1734 | "m_flDeathYaw": 10800, 1735 | "m_flAbsYaw": 10804, 1736 | "m_bDiedAirborne": 10808 1737 | }, 1738 | "DT_TEPlayerAnimEvent": { 1739 | "m_hPlayer": 16, 1740 | "m_iEvent": 20, 1741 | "m_nData": 24 1742 | }, 1743 | "DT_CHostage": { 1744 | "baseclass": 0, 1745 | "m_isRescued": 12096, 1746 | "m_jumpedThisFrame": 12097, 1747 | "m_iHealth": 256, 1748 | "m_iMaxHealth": 12072, 1749 | "m_lifeState": 607, 1750 | "m_fFlags": 260, 1751 | "m_nHostageState": 12100, 1752 | "m_flRescueStartTime": 12104, 1753 | "m_flGrabSuccessTime": 12108, 1754 | "m_flDropStartTime": 12112, 1755 | "m_vel": 12084, 1756 | "m_leader": 12080 1757 | }, 1758 | "DT_HostageCarriableProp": { 1759 | "baseclass": 0 1760 | }, 1761 | "DT_HandleTest": { 1762 | "baseclass": 0, 1763 | "m_Handle": 2520, 1764 | "m_bSendHandle": 2524 1765 | }, 1766 | "DT_TeamplayRoundBasedRulesProxy": { 1767 | "baseclass": 0, 1768 | "teamplayroundbased_gamerules_data": 0 1769 | }, 1770 | "DT_TeamplayRoundBasedRules": { 1771 | "m_iRoundState": 40, 1772 | "m_bInWaitingForPlayers": 56, 1773 | "m_iWinningTeam": 48, 1774 | "m_bInOvertime": 44, 1775 | "m_bInSetup": 45, 1776 | "m_bSwitchedTeamsThisRound": 46, 1777 | "m_bAwaitingReadyRestart": 57, 1778 | "m_flRestartRoundTime": 60, 1779 | "m_flMapResetTime": 64, 1780 | "m_flNextRespawnWave": 68, 1781 | "m_TeamRespawnWaveTimes": 232, 1782 | "m_bTeamReady": 196, 1783 | "m_bStopWatch": 228 1784 | }, 1785 | "DT_SpriteTrail": { 1786 | "baseclass": 0, 1787 | "m_flLifeTime": 4212, 1788 | "m_flStartWidth": 4216, 1789 | "m_flEndWidth": 4220, 1790 | "m_flStartWidthVariance": 4224, 1791 | "m_flTextureRes": 4228, 1792 | "m_flMinFadeLength": 4232, 1793 | "m_vecSkyboxOrigin": 4236, 1794 | "m_flSkyboxScale": 4248 1795 | }, 1796 | "DT_Sprite": { 1797 | "baseclass": 0, 1798 | "m_hAttachedToEntity": 2536, 1799 | "m_nAttachment": 2540, 1800 | "m_flScaleTime": 2568, 1801 | "m_flSpriteScale": 2564, 1802 | "m_flSpriteFramerate": 2544, 1803 | "m_flGlowProxySize": 2576, 1804 | "m_flHDRColorScale": 2580, 1805 | "m_flFrame": 2548, 1806 | "m_flBrightnessTime": 2560, 1807 | "m_nBrightness": 2556, 1808 | "m_bWorldSpaceScale": 2572 1809 | }, 1810 | "DT_SpriteOriented": { 1811 | "baseclass": 0 1812 | }, 1813 | "DT_Ragdoll_Attached": { 1814 | "baseclass": 0, 1815 | "m_boneIndexAttached": 11464, 1816 | "m_ragdollAttachedObjectIndex": 11460, 1817 | "m_attachmentPointBoneSpace": 11424, 1818 | "m_attachmentPointRagdollSpace": 11448 1819 | }, 1820 | "DT_Ragdoll": { 1821 | "baseclass": 0, 1822 | "m_ragAngles[0]": 10928, 1823 | "m_ragAngles": 0, 1824 | "m_ragPos[0]": 10640, 1825 | "m_ragPos": 0, 1826 | "m_hUnragdoll": 11404, 1827 | "m_flBlendWeight": 11408, 1828 | "m_nOverlaySequence": 11416 1829 | }, 1830 | "DT_PropCounter": { 1831 | "baseclass": 0, 1832 | "m_flDisplayValue": 10640 1833 | }, 1834 | "DT_PredictedViewModel": { 1835 | "baseclass": 0 1836 | }, 1837 | "DT_BaseViewModel": { 1838 | "m_nModelIndex": 600, 1839 | "m_hWeapon": 10712, 1840 | "m_nSkin": 2588, 1841 | "m_nBody": 2592, 1842 | "m_nSequence": 10432, 1843 | "m_nViewModelIndex": 10704, 1844 | "m_flPlaybackRate": 2584, 1845 | "m_fEffects": 240, 1846 | "m_nAnimationParity": 10708, 1847 | "m_hOwner": 10716, 1848 | "m_nNewSequenceParity": 2628, 1849 | "m_nResetEventsParity": 2632, 1850 | "m_nMuzzleFlashParity": 2660, 1851 | "m_bShouldIgnoreOffsetAndAccuracy": 10656 1852 | }, 1853 | "DT_PoseController": { 1854 | "baseclass": 0, 1855 | "m_hProps": 2520, 1856 | "m_chPoseIndex": 2536, 1857 | "m_bPoseValueParity": 2540, 1858 | "m_fPoseValue": 2544, 1859 | "m_fInterpolationTime": 2548, 1860 | "m_bInterpolationWrap": 2552, 1861 | "m_fCycleFrequency": 2556, 1862 | "m_nFModType": 2560, 1863 | "m_fFModTimeOffset": 2564, 1864 | "m_fFModRate": 2568, 1865 | "m_fFModAmplitude": 2572 1866 | }, 1867 | "DT_GrassBurn": { 1868 | "baseclass": 0, 1869 | "m_flGrassBurnClearTime": 2520 1870 | }, 1871 | "DT_InfoLadderDismount": { 1872 | "baseclass": 0 1873 | }, 1874 | "DT_FuncLadder": { 1875 | "baseclass": 0, 1876 | "m_vecPlayerMountPositionTop": 2552, 1877 | "m_vecPlayerMountPositionBottom": 2564, 1878 | "m_vecLadderDir": 2520, 1879 | "m_bFakeLadder": 2577 1880 | }, 1881 | "DT_TEFoundryHelpers": { 1882 | "baseclass": 0, 1883 | "m_iEntity": 16 1884 | }, 1885 | "DT_DetailController": { 1886 | "m_flFadeStartDist": 2520, 1887 | "m_flFadeEndDist": 2524 1888 | }, 1889 | "DT_DangerZone": { 1890 | "baseclass": 0, 1891 | "m_vecDangerZoneOriginStartedAt": 2520, 1892 | "m_flBombLaunchTime": 2532, 1893 | "m_flExtraRadius": 2536, 1894 | "m_flExtraRadiusStartTime": 2540, 1895 | "m_flExtraRadiusTotalLerpTime": 2544, 1896 | "m_nDropOrder": 2548, 1897 | "m_iWave": 2552 1898 | }, 1899 | "DT_DangerZoneController": { 1900 | "baseclass": 0, 1901 | "m_bDangerZoneControllerEnabled": 2520, 1902 | "m_bMissionControlledExplosions": 2521, 1903 | "m_flStartTime": 2548, 1904 | "m_flFinalExpansionTime": 2552, 1905 | "m_vecEndGameCircleStart": 2524, 1906 | "m_vecEndGameCircleEnd": 2536, 1907 | "m_DangerZones": 2556, 1908 | "m_flWaveEndTimes": 2724, 1909 | "m_hTheFinalZone": 2744 1910 | }, 1911 | "DT_WorldVguiText": { 1912 | "baseclass": 0, 1913 | "m_bEnabled": 2520, 1914 | "m_szDisplayText": 2521, 1915 | "m_szDisplayTextOption": 3033, 1916 | "m_szFont": 3289, 1917 | "m_iTextPanelWidth": 3360, 1918 | "m_clrText": 3353 1919 | }, 1920 | "DT_World": { 1921 | "baseclass": 0, 1922 | "m_flWaveHeight": 2520, 1923 | "m_WorldMins": 2524, 1924 | "m_WorldMaxs": 2536, 1925 | "m_bStartDark": 2548, 1926 | "m_flMaxOccludeeArea": 2552, 1927 | "m_flMinOccluderArea": 2556, 1928 | "m_flMaxPropScreenSpaceWidth": 2564, 1929 | "m_flMinPropScreenSpaceWidth": 2560, 1930 | "m_iszDetailSpriteMaterial": 2576, 1931 | "m_bColdWorld": 2568, 1932 | "m_iTimeOfDay": 2572 1933 | }, 1934 | "DT_WaterLODControl": { 1935 | "baseclass": 0, 1936 | "m_flCheapWaterStartDistance": 2520, 1937 | "m_flCheapWaterEndDistance": 2524 1938 | }, 1939 | "DT_WaterBullet": { 1940 | "baseclass": 0 1941 | }, 1942 | "DT_MapVetoPickController": { 1943 | "baseclass": 0, 1944 | "m_nDraftType": 2536, 1945 | "m_nTeamWinningCoinToss": 2540, 1946 | "m_nTeamWithFirstChoice": 2544, 1947 | "m_nVoteMapIdsList": 2800, 1948 | "m_nAccountIDs": 2828, 1949 | "m_nMapId0": 3084, 1950 | "m_nMapId1": 3340, 1951 | "m_nMapId2": 3596, 1952 | "m_nMapId3": 3852, 1953 | "m_nMapId4": 4108, 1954 | "m_nMapId5": 4364, 1955 | "m_nStartingSide0": 4620, 1956 | "m_nCurrentPhase": 4876, 1957 | "m_nPhaseStartTick": 4880, 1958 | "m_nPhaseDurationTicks": 4884 1959 | }, 1960 | "DT_VoteController": { 1961 | "baseclass": 0, 1962 | "m_iActiveIssueIndex": 2532, 1963 | "m_iOnlyTeamToVote": 2536, 1964 | "m_nVoteOptionCount": 2540, 1965 | "m_nPotentialVotes": 2564, 1966 | "m_bIsYesNoVote": 2570 1967 | }, 1968 | "DT_VGuiScreen": { 1969 | "baseclass": 0, 1970 | "m_flWidth": 2528, 1971 | "m_flHeight": 2532, 1972 | "m_fScreenFlags": 2572, 1973 | "m_nPanelName": 2536, 1974 | "m_nAttachmentIndex": 2564, 1975 | "m_nOverlayMaterial": 2568, 1976 | "m_hPlayerOwner": 2664 1977 | }, 1978 | "DT_PropJeep": { 1979 | "baseclass": 0, 1980 | "m_bHeadlightIsOn": 10972 1981 | }, 1982 | "DT_PropVehicleChoreoGeneric": { 1983 | "baseclass": 0, 1984 | "m_hPlayer": 10756, 1985 | "m_bEnterAnimOn": 10764, 1986 | "m_bExitAnimOn": 10765, 1987 | "m_bForceEyesToAttachment": 10780, 1988 | "m_vecEyeExitEndpoint": 10768, 1989 | "m_vehicleView.bClampEyeAngles": 10912, 1990 | "m_vehicleView.flPitchCurveZero": 10916, 1991 | "m_vehicleView.flPitchCurveLinear": 10920, 1992 | "m_vehicleView.flRollCurveZero": 10924, 1993 | "m_vehicleView.flRollCurveLinear": 10928, 1994 | "m_vehicleView.flFOV": 10932, 1995 | "m_vehicleView.flYawMin": 10936, 1996 | "m_vehicleView.flYawMax": 10940, 1997 | "m_vehicleView.flPitchMin": 10944, 1998 | "m_vehicleView.flPitchMax": 10948 1999 | }, 2000 | "DT_TriggerSoundOperator": { 2001 | "baseclass": 0, 2002 | "m_nSoundOperator": 2576 2003 | }, 2004 | "DT_BaseVPhysicsTrigger": { 2005 | "baseclass": 0 2006 | }, 2007 | "DT_TriggerPlayerMovement": { 2008 | "baseclass": 0 2009 | }, 2010 | "DT_ProxyToggle": { 2011 | "baseclass": 0, 2012 | "blah": 0 2013 | }, 2014 | "DT_ProxyToggle_ProxiedData": { 2015 | "m_WithProxy": 2520 2016 | }, 2017 | "DT_Tesla": { 2018 | "baseclass": 0, 2019 | "m_SoundName": 2560, 2020 | "m_iszSpriteName": 2624 2021 | }, 2022 | "DT_BaseTeamObjectiveResource": { 2023 | "m_iTimerToShowInHUD": 2520, 2024 | "m_iStopWatchTimer": 2524, 2025 | "m_iNumControlPoints": 2528, 2026 | "m_bPlayingMiniRounds": 2536, 2027 | "m_bControlPointsReset": 2537, 2028 | "m_iUpdateCapHudParity": 2540, 2029 | "m_vCPPositions[0]": 2548, 2030 | "m_vCPPositions": 0, 2031 | "m_bCPIsVisible": 2644, 2032 | "m_flLazyCapPerc": 2652, 2033 | "m_iTeamIcons": 2716, 2034 | "m_iTeamOverlays": 2972, 2035 | "m_iTeamReqCappers": 3228, 2036 | "m_flTeamCapTime": 3484, 2037 | "m_iPreviousPoints": 3740, 2038 | "m_bTeamCanCap": 4508, 2039 | "m_iTeamBaseIcons": 4572, 2040 | "m_iBaseControlPoints": 4700, 2041 | "m_bInMiniRound": 4828, 2042 | "m_iWarnOnCap": 4836, 2043 | "m_iszWarnSound[0]": 4868, 2044 | "m_iszWarnSound": 0, 2045 | "m_flPathDistance": 6908, 2046 | "m_iNumTeamMembers": 6940, 2047 | "m_iCappingTeam": 7196, 2048 | "m_iTeamInZone": 7228, 2049 | "m_bBlocked": 7260, 2050 | "m_iOwner": 7268, 2051 | "m_pszCapLayoutInHUD": 7404 2052 | }, 2053 | "DT_SunlightShadowControl": { 2054 | "baseclass": 0, 2055 | "m_shadowDirection": 2520, 2056 | "m_bEnabled": 2532, 2057 | "m_TextureName": 2533, 2058 | "m_LightColor": 2800, 2059 | "m_flColorTransitionTime": 2820, 2060 | "m_flSunDistance": 2824, 2061 | "m_flFOV": 2828, 2062 | "m_flNearZ": 2832, 2063 | "m_flNorthOffset": 2836, 2064 | "m_bEnableShadows": 2840 2065 | }, 2066 | "DT_Sun": { 2067 | "m_clrRender": 112, 2068 | "m_clrOverlay": 2872, 2069 | "m_vDirection": 2884, 2070 | "m_bOn": 2896, 2071 | "m_nSize": 2876, 2072 | "m_nOverlaySize": 2880, 2073 | "m_nMaterial": 2900, 2074 | "m_nOverlayMaterial": 2904, 2075 | "HDRColorScale": 0, 2076 | "glowDistanceScale": 0 2077 | }, 2078 | "DT_ParticlePerformanceMonitor": { 2079 | "baseclass": 0, 2080 | "m_bMeasurePerf": 2521, 2081 | "m_bDisplayPerf": 2520 2082 | }, 2083 | "DT_SpotlightEnd": { 2084 | "baseclass": 0, 2085 | "m_flLightScale": 2520, 2086 | "m_Radius": 2524 2087 | }, 2088 | "DT_SpatialEntity": { 2089 | "baseclass": 0, 2090 | "m_vecOrigin": 2520, 2091 | "m_minFalloff": 2532, 2092 | "m_maxFalloff": 2536, 2093 | "m_flCurWeight": 2540, 2094 | "m_bEnabled": 2804 2095 | }, 2096 | "DT_SlideshowDisplay": { 2097 | "baseclass": 0, 2098 | "m_bEnabled": 2520, 2099 | "m_szDisplayText": 2521, 2100 | "m_szSlideshowDirectory": 2649, 2101 | "m_chCurrentSlideLists": 2800, 2102 | "m_fMinSlideTime": 2824, 2103 | "m_fMaxSlideTime": 2828, 2104 | "m_iCycleType": 2836, 2105 | "m_bNoListRepeats": 2840 2106 | }, 2107 | "DT_ShadowControl": { 2108 | "baseclass": 0, 2109 | "m_shadowDirection": 2520, 2110 | "m_shadowColor": 2532, 2111 | "m_flShadowMaxDist": 2536, 2112 | "m_bDisableShadows": 2540, 2113 | "m_bEnableLocalLightShadows": 2541 2114 | }, 2115 | "DT_SceneEntity": { 2116 | "baseclass": 0, 2117 | "m_nSceneStringIndex": 2536, 2118 | "m_bIsPlayingBack": 2524, 2119 | "m_bPaused": 2525, 2120 | "m_bMultiplayer": 2526, 2121 | "m_flForceClientTime": 2532, 2122 | "m_hActorList": 0 2123 | }, 2124 | "_ST_m_hActorList_16": { 2125 | "lengthproxy": 0 2126 | }, 2127 | "_LPT_m_hActorList_16": { 2128 | "lengthprop16": 0 2129 | }, 2130 | "DT_RopeKeyframe": { 2131 | "m_nChangeCount": 3276, 2132 | "m_iRopeMaterialModelIndex": 2580, 2133 | "m_hStartPoint": 3244, 2134 | "m_hEndPoint": 3248, 2135 | "m_iStartAttachment": 3252, 2136 | "m_iEndAttachment": 3254, 2137 | "m_fLockedPoints": 3272, 2138 | "m_Slack": 3264, 2139 | "m_RopeLength": 3260, 2140 | "m_RopeFlags": 2576, 2141 | "m_TextureScale": 3268, 2142 | "m_nSegments": 3240, 2143 | "m_bConstrainBetweenEndpoints": 3408, 2144 | "m_Subdiv": 3256, 2145 | "m_Width": 3280, 2146 | "m_flScrollSpeed": 2572, 2147 | "m_vecOrigin": 312, 2148 | "moveparent": 328, 2149 | "m_iParentAttachment": 748, 2150 | "m_iDefaultRopeMaterialModelIndex": 2584, 2151 | "m_nMinCPULevel": 2440, 2152 | "m_nMaxCPULevel": 2441, 2153 | "m_nMinGPULevel": 2442, 2154 | "m_nMaxGPULevel": 2443 2155 | }, 2156 | "DT_RagdollManager": { 2157 | "m_iCurrentMaxRagdollCount": 2520 2158 | }, 2159 | "DT_PhysBoxMultiplayer": { 2160 | "baseclass": 0, 2161 | "m_iPhysicsMode": 2532, 2162 | "m_fMass": 2536 2163 | }, 2164 | "DT_PhysBox": { 2165 | "baseclass": 0, 2166 | "m_mass": 2520 2167 | }, 2168 | "DT_PropDoorRotating": { 2169 | "baseclass": 0 2170 | }, 2171 | "DT_BasePropDoor": { 2172 | "baseclass": 0 2173 | }, 2174 | "DT_Prop_Hallucination": { 2175 | "baseclass": 0, 2176 | "m_bEnabled": 10665, 2177 | "m_fVisibleTime": 10668, 2178 | "m_fRechargeTime": 10672 2179 | }, 2180 | "DT_PostProcessController": { 2181 | "baseclass": 0, 2182 | "m_flPostProcessParameters": 2520, 2183 | "m_bMaster": 2564 2184 | }, 2185 | "DT_PointWorldText": { 2186 | "baseclass": 0, 2187 | "m_szText": 2568, 2188 | "m_flTextSize": 2828, 2189 | "m_textColor": 2832 2190 | }, 2191 | "DT_PointCommentaryNode": { 2192 | "baseclass": 0, 2193 | "m_bActive": 10640, 2194 | "m_flStartTime": 10644, 2195 | "m_iszCommentaryFile": 10648, 2196 | "m_iszCommentaryFileNoHDR": 10908, 2197 | "m_iszSpeakers": 11168, 2198 | "m_iNodeNumber": 11424, 2199 | "m_iNodeNumberMax": 11428, 2200 | "m_hViewPosition": 11436 2201 | }, 2202 | "DT_PointCamera": { 2203 | "baseclass": 0, 2204 | "m_FOV": 2520, 2205 | "m_Resolution": 2524, 2206 | "m_bFogEnable": 2528, 2207 | "m_FogColor": 2529, 2208 | "m_flFogStart": 2536, 2209 | "m_flFogEnd": 2540, 2210 | "m_flFogMaxDensity": 2544, 2211 | "m_bActive": 2548, 2212 | "m_bUseScreenAspectRatio": 2549 2213 | }, 2214 | "DT_Plasma": { 2215 | "baseclass": 0, 2216 | "m_flStartScale": 2520, 2217 | "m_flScale": 2524, 2218 | "m_flScaleTime": 2528, 2219 | "m_nFlags": 2532, 2220 | "m_nPlasmaModelIndex": 2536, 2221 | "m_nPlasmaModelIndex2": 2540, 2222 | "m_nGlowModelIndex": 2544 2223 | }, 2224 | "DT_PhysMagnet": { 2225 | "baseclass": 0 2226 | }, 2227 | "DT_StatueProp": { 2228 | "baseclass": 0, 2229 | "m_hInitBaseAnimating": 10704, 2230 | "m_bShatter": 10708, 2231 | "m_nShatterFlags": 10712, 2232 | "m_vShatterPosition": 10716, 2233 | "m_vShatterForce": 10728 2234 | }, 2235 | "DT_ParticleSystem": { 2236 | "m_vecOrigin": 312, 2237 | "m_fEffects": 240, 2238 | "m_hOwnerEntity": 332, 2239 | "moveparent": 328, 2240 | "m_iParentAttachment": 748, 2241 | "m_angRotation": 300, 2242 | "m_iEffectIndex": 2520, 2243 | "m_bActive": 2528, 2244 | "m_nStopType": 2524, 2245 | "m_flStartTime": 2532, 2246 | "m_szSnapshotFileName": 2536, 2247 | "m_vServerControlPoints": 2796, 2248 | "m_iServerControlPointAssignments": 2844, 2249 | "m_hControlPointEnts": 2864, 2250 | "m_iControlPointParents": 3116 2251 | }, 2252 | "DT_MovieDisplay": { 2253 | "baseclass": 0, 2254 | "m_bEnabled": 2520, 2255 | "m_bLooping": 2521, 2256 | "m_szMovieFilename": 2522, 2257 | "m_szGroupName": 2650, 2258 | "m_bStretchToFill": 2778, 2259 | "m_bForcedSlave": 2779, 2260 | "m_bUseCustomUVs": 2780, 2261 | "m_flUMin": 2784, 2262 | "m_flUMax": 2788, 2263 | "m_flVMin": 2792, 2264 | "m_flVMax": 2796 2265 | }, 2266 | "DT_MaterialModifyControl": { 2267 | "baseclass": 0, 2268 | "m_szMaterialName": 2520, 2269 | "m_szMaterialVar": 2775, 2270 | "m_szMaterialVarValue": 3030, 2271 | "m_iFrameStart": 3296, 2272 | "m_iFrameEnd": 3300, 2273 | "m_bWrap": 3304, 2274 | "m_flFramerate": 3308, 2275 | "m_bNewAnimCommandsSemaphore": 3312, 2276 | "m_flFloatLerpStartValue": 3316, 2277 | "m_flFloatLerpEndValue": 3320, 2278 | "m_flFloatLerpTransitionTime": 3324, 2279 | "m_bFloatLerpWrap": 3328, 2280 | "m_nModifyMode": 3336 2281 | }, 2282 | "DT_LightGlow": { 2283 | "m_clrRender": 112, 2284 | "m_nHorizontalSize": 2520, 2285 | "m_nVerticalSize": 2524, 2286 | "m_nMinDist": 2528, 2287 | "m_nMaxDist": 2532, 2288 | "m_nOuterMaxDist": 2536, 2289 | "m_spawnflags": 2540, 2290 | "m_vecOrigin": 312, 2291 | "m_angRotation": 300, 2292 | "moveparent": 328, 2293 | "m_flGlowProxySize": 2756, 2294 | "HDRColorScale": 0 2295 | }, 2296 | "DT_ItemAssaultSuitUseable": { 2297 | "baseclass": 0, 2298 | "m_nArmorValue": 13392, 2299 | "m_bIsHeavyAssaultSuit": 13396 2300 | }, 2301 | "DT_InfoOverlayAccessor": { 2302 | "m_iTextureFrameIndex": 2444, 2303 | "m_iOverlayID": 2520 2304 | }, 2305 | "DT_FuncTrackTrain": { 2306 | "baseclass": 0 2307 | }, 2308 | "DT_FuncSmokeVolume": { 2309 | "baseclass": 0, 2310 | "m_Color1": 2756, 2311 | "m_Color2": 2760, 2312 | "m_MaterialName": 2764, 2313 | "m_ParticleDrawWidth": 3020, 2314 | "m_ParticleSpacingDistance": 3024, 2315 | "m_DensityRampSpeed": 3028, 2316 | "m_RotationSpeed": 3032, 2317 | "m_MovementSpeed": 3036, 2318 | "m_Density": 3040, 2319 | "m_maxDrawDistance": 3044, 2320 | "m_spawnflags": 3048, 2321 | "m_Collision": 800 2322 | }, 2323 | "DT_FuncRotating": { 2324 | "baseclass": 0, 2325 | "m_vecOrigin": 312, 2326 | "m_angRotation[0]": 300, 2327 | "m_angRotation[1]": 304, 2328 | "m_angRotation[2]": 308, 2329 | "m_flSimulationTime": 616 2330 | }, 2331 | "DT_FuncReflectiveGlass": { 2332 | "baseclass": 0 2333 | }, 2334 | "DT_FuncBrush": { 2335 | "baseclass": 0 2336 | }, 2337 | "DT_FuncOccluder": { 2338 | "baseclass": 0, 2339 | "m_bActive": 2524, 2340 | "m_nOccluderIndex": 2520 2341 | }, 2342 | "DT_FuncMoveLinear": { 2343 | "baseclass": 0, 2344 | "m_vecVelocity": 276, 2345 | "m_fFlags": 260 2346 | }, 2347 | "DT_FuncMonitor": { 2348 | "baseclass": 0 2349 | }, 2350 | "DT_Func_LOD": { 2351 | "baseclass": 0, 2352 | "m_nDisappearMinDist": 2520, 2353 | "m_nDisappearMaxDist": 2524 2354 | }, 2355 | "DT_TEDust": { 2356 | "baseclass": 0, 2357 | "m_flSize": 28, 2358 | "m_flSpeed": 32, 2359 | "m_vecDirection": 36 2360 | }, 2361 | "DT_Func_Dust": { 2362 | "m_Color": 2520, 2363 | "m_SpawnRate": 2524, 2364 | "m_flSizeMin": 2528, 2365 | "m_flSizeMax": 2532, 2366 | "m_LifetimeMin": 2540, 2367 | "m_LifetimeMax": 2544, 2368 | "m_DustFlags": 2560, 2369 | "m_SpeedMax": 2536, 2370 | "m_DistMax": 2548, 2371 | "m_nModelIndex": 600, 2372 | "m_FallSpeed": 2552, 2373 | "m_bAffectedByWind": 2556, 2374 | "m_Collision": 800 2375 | }, 2376 | "DT_FuncConveyor": { 2377 | "baseclass": 0, 2378 | "m_flConveyorSpeed": 2520 2379 | }, 2380 | "DT_BreakableSurface": { 2381 | "baseclass": 0, 2382 | "m_nNumWide": 2524, 2383 | "m_nNumHigh": 2528, 2384 | "m_flPanelWidth": 2532, 2385 | "m_flPanelHeight": 2536, 2386 | "m_vNormal": 2540, 2387 | "m_vCorner": 2552, 2388 | "m_bIsBroken": 2564, 2389 | "m_nSurfaceType": 2568, 2390 | "m_RawPanelBitVec": 2604 2391 | }, 2392 | "DT_FuncAreaPortalWindow": { 2393 | "baseclass": 0, 2394 | "m_flFadeStartDist": 2520, 2395 | "m_flFadeDist": 2524, 2396 | "m_flTranslucencyLimit": 2528, 2397 | "m_iBackgroundModelIndex": 2532 2398 | }, 2399 | "DT_CFish": { 2400 | "m_poolOrigin": 10736, 2401 | "m_x": 10712, 2402 | "m_y": 10716, 2403 | "m_z": 10720, 2404 | "m_angle": 10728, 2405 | "m_nModelIndex": 600, 2406 | "m_lifeState": 607, 2407 | "m_waterLevel": 10748 2408 | }, 2409 | "DT_FireSmoke": { 2410 | "baseclass": 0, 2411 | "m_flStartScale": 2520, 2412 | "m_flScale": 2524, 2413 | "m_flScaleTime": 2528, 2414 | "m_nFlags": 2532, 2415 | "m_nFlameModelIndex": 2536, 2416 | "m_nFlameFromAboveModelIndex": 2540 2417 | }, 2418 | "DT_EnvTonemapController": { 2419 | "baseclass": 0, 2420 | "m_bUseCustomAutoExposureMin": 2520, 2421 | "m_bUseCustomAutoExposureMax": 2521, 2422 | "m_bUseCustomBloomScale": 2522, 2423 | "m_flCustomAutoExposureMin": 2524, 2424 | "m_flCustomAutoExposureMax": 2528, 2425 | "m_flCustomBloomScale": 2532, 2426 | "m_flCustomBloomScaleMinimum": 2536, 2427 | "m_flBloomExponent": 2540, 2428 | "m_flBloomSaturation": 2544, 2429 | "m_flTonemapPercentTarget": 2548, 2430 | "m_flTonemapPercentBrightPixels": 2552, 2431 | "m_flTonemapMinAvgLum": 2556, 2432 | "m_flTonemapRate": 2560 2433 | }, 2434 | "DT_EnvScreenEffect": { 2435 | "baseclass": 0, 2436 | "m_flDuration": 2520, 2437 | "m_nType": 2524 2438 | }, 2439 | "DT_EnvScreenOverlay": { 2440 | "baseclass": 0, 2441 | "m_iszOverlayNames[0]": 2520, 2442 | "m_iszOverlayNames": 0, 2443 | "m_flOverlayTimes[0]": 5072, 2444 | "m_flOverlayTimes": 0, 2445 | "m_flStartTime": 5112, 2446 | "m_iDesiredOverlay": 5116, 2447 | "m_bIsActive": 5120 2448 | }, 2449 | "DT_EnvProjectedTexture": { 2450 | "baseclass": 0, 2451 | "m_hTargetEntity": 2524, 2452 | "m_bState": 2528, 2453 | "m_bAlwaysUpdate": 2529, 2454 | "m_flLightFOV": 2532, 2455 | "m_bEnableShadows": 2536, 2456 | "m_bSimpleProjection": 2537, 2457 | "m_bLightOnlyTarget": 2538, 2458 | "m_bLightWorld": 2539, 2459 | "m_bCameraSpace": 2540, 2460 | "m_flBrightnessScale": 2544, 2461 | "m_LightColor": 2548, 2462 | "m_flColorTransitionTime": 2568, 2463 | "m_flAmbient": 2572, 2464 | "m_SpotlightTextureName": 2584, 2465 | "m_nSpotlightTextureFrame": 2852, 2466 | "m_flNearZ": 2576, 2467 | "m_flFarZ": 2580, 2468 | "m_nShadowQuality": 2856, 2469 | "m_flProjectionSize": 2872, 2470 | "m_flRotation": 2876, 2471 | "m_iStyle": 2860 2472 | }, 2473 | "DT_EnvParticleScript": { 2474 | "baseclass": 0, 2475 | "m_flSequenceScale": 10868 2476 | }, 2477 | "DT_FogController": { 2478 | "m_fog.enable": 2588, 2479 | "m_fog.blend": 2589, 2480 | "m_fog.dirPrimary": 2524, 2481 | "m_fog.colorPrimary": 2536, 2482 | "m_fog.colorSecondary": 2540, 2483 | "m_fog.start": 2552, 2484 | "m_fog.end": 2556, 2485 | "m_fog.farz": 2560, 2486 | "m_fog.maxdensity": 2564, 2487 | "m_fog.colorPrimaryLerpTo": 2544, 2488 | "m_fog.colorSecondaryLerpTo": 2548, 2489 | "m_fog.startLerpTo": 2568, 2490 | "m_fog.endLerpTo": 2572, 2491 | "m_fog.maxdensityLerpTo": 2576, 2492 | "m_fog.lerptime": 2580, 2493 | "m_fog.duration": 2584, 2494 | "m_fog.HDRColorScale": 2596, 2495 | "m_fog.ZoomFogScale": 2592 2496 | }, 2497 | "DT_EnvDOFController": { 2498 | "baseclass": 0, 2499 | "m_bDOFEnabled": 2520, 2500 | "m_flNearBlurDepth": 2524, 2501 | "m_flNearFocusDepth": 2528, 2502 | "m_flFarFocusDepth": 2532, 2503 | "m_flFarBlurDepth": 2536, 2504 | "m_flNearBlurRadius": 2540, 2505 | "m_flFarBlurRadius": 2544 2506 | }, 2507 | "DT_CascadeLight": { 2508 | "baseclass": 0, 2509 | "m_shadowDirection": 2520, 2510 | "m_envLightShadowDirection": 2532, 2511 | "m_bEnabled": 2544, 2512 | "m_bUseLightEnvAngles": 2545, 2513 | "m_LightColor": 2546, 2514 | "m_LightColorScale": 2552, 2515 | "m_flMaxShadowDist": 2556 2516 | }, 2517 | "DT_EnvAmbientLight": { 2518 | "baseclass": 0, 2519 | "m_vecColor": 2816 2520 | }, 2521 | "DT_EntityParticleTrail": { 2522 | "baseclass": 0, 2523 | "m_iMaterialName": 2752, 2524 | "m_Info": 2756, 2525 | "m_hConstraintEntity": 2776 2526 | }, 2527 | "DT_EntityParticleTrailInfo": { 2528 | "m_flLifetime": 8, 2529 | "m_flStartSize": 12, 2530 | "m_flEndSize": 16 2531 | }, 2532 | "DT_EntityFreezing": { 2533 | "baseclass": 0, 2534 | "m_vFreezingOrigin": 2520, 2535 | "m_flFrozenPerHitbox": 2532, 2536 | "m_flFrozen": 2732, 2537 | "m_bFinishFreezing": 2736 2538 | }, 2539 | "DT_EntityFlame": { 2540 | "baseclass": 0, 2541 | "m_hEntAttached": 2520, 2542 | "m_bCheapEffect": 2540 2543 | }, 2544 | "DT_EntityDissolve": { 2545 | "baseclass": 0, 2546 | "m_flStartTime": 2524, 2547 | "m_flFadeOutStart": 2528, 2548 | "m_flFadeOutLength": 2532, 2549 | "m_flFadeOutModelStart": 2536, 2550 | "m_flFadeOutModelLength": 2540, 2551 | "m_flFadeInStart": 2544, 2552 | "m_flFadeInLength": 2548, 2553 | "m_nDissolveType": 2552, 2554 | "m_vDissolverOrigin": 2560, 2555 | "m_nMagnitude": 2572 2556 | }, 2557 | "DT_DynamicLight": { 2558 | "baseclass": 0, 2559 | "m_Flags": 2520, 2560 | "m_LightStyle": 2521, 2561 | "m_Radius": 2524, 2562 | "m_Exponent": 2528, 2563 | "m_InnerAngle": 2532, 2564 | "m_OuterAngle": 2536, 2565 | "m_SpotRadius": 2540 2566 | }, 2567 | "DT_ColorCorrectionVolume": { 2568 | "baseclass": 0, 2569 | "m_bEnabled": 2592, 2570 | "m_MaxWeight": 2596, 2571 | "m_FadeDuration": 2600, 2572 | "m_Weight": 2604, 2573 | "m_lookupFilename": 2608 2574 | }, 2575 | "DT_ColorCorrection": { 2576 | "baseclass": 0, 2577 | "m_vecOrigin": 2520, 2578 | "m_minFalloff": 2532, 2579 | "m_maxFalloff": 2536, 2580 | "m_flCurWeight": 2552, 2581 | "m_flMaxWeight": 2548, 2582 | "m_flFadeInDuration": 2540, 2583 | "m_flFadeOutDuration": 2544, 2584 | "m_netLookupFilename": 2556, 2585 | "m_bEnabled": 2816, 2586 | "m_bMaster": 2817, 2587 | "m_bClientSide": 2818, 2588 | "m_bExclusive": 2819 2589 | }, 2590 | "DT_BeamSpotlight": { 2591 | "baseclass": 0, 2592 | "m_nHaloIndex": 2520, 2593 | "m_bSpotlightOn": 2532, 2594 | "m_bHasDynamicLight": 2533, 2595 | "m_flSpotlightMaxLength": 2536, 2596 | "m_flSpotlightGoalWidth": 2540, 2597 | "m_flHDRColorScale": 2544, 2598 | "m_nRotationAxis": 2524, 2599 | "m_flRotationSpeed": 2528 2600 | }, 2601 | "DT_BaseButton": { 2602 | "baseclass": 0, 2603 | "m_usable": 2568 2604 | }, 2605 | "DT_BaseDoor": { 2606 | "baseclass": 0, 2607 | "m_flWaveHeight": 2568 2608 | }, 2609 | "DT_BoneFollower": { 2610 | "baseclass": 0, 2611 | "m_modelIndex": 2520, 2612 | "m_solidIndex": 2524 2613 | }, 2614 | "DT_AI_BaseNPC": { 2615 | "baseclass": 0, 2616 | "m_lifeState": 607, 2617 | "m_bPerformAvoidance": 12084, 2618 | "m_bIsMoving": 12085, 2619 | "m_bFadeCorpse": 12086, 2620 | "m_iDeathPose": 12068, 2621 | "m_iDeathFrame": 12072, 2622 | "m_iSpeedModRadius": 12076, 2623 | "m_iSpeedModSpeed": 12080, 2624 | "m_bSpeedModActive": 12087, 2625 | "m_bImportanRagdoll": 12088, 2626 | "m_flTimePingEffect": 12064 2627 | }, 2628 | "DT_Beam": { 2629 | "m_nBeamType": 2548, 2630 | "m_nBeamFlags": 2552, 2631 | "m_nNumBeamEnts": 2536, 2632 | "m_hAttachEntity": 2556, 2633 | "m_nAttachIndex": 2596, 2634 | "m_nHaloIndex": 2544, 2635 | "m_fHaloScale": 2648, 2636 | "m_fWidth": 2636, 2637 | "m_fEndWidth": 2640, 2638 | "m_fFadeLength": 2644, 2639 | "m_fAmplitude": 2652, 2640 | "m_fStartFrame": 2656, 2641 | "m_fSpeed": 2660, 2642 | "m_flFrameRate": 2520, 2643 | "m_flHDRColorScale": 2524, 2644 | "m_clrRender": 112, 2645 | "m_nRenderFX": 602, 2646 | "m_nRenderMode": 603, 2647 | "m_flFrame": 2664, 2648 | "m_nClipStyle": 2668, 2649 | "m_vecEndPos": 2672, 2650 | "m_nModelIndex": 600, 2651 | "m_vecOrigin": 312, 2652 | "moveparent": 328 2653 | }, 2654 | "DT_BaseWeaponWorldModel": { 2655 | "m_nModelIndex": 600, 2656 | "m_nBody": 2592, 2657 | "m_fEffects": 240, 2658 | "moveparent": 328, 2659 | "m_hCombatWeaponParent": 10752 2660 | } 2661 | } -------------------------------------------------------------------------------- /nets/recv_classes.py: -------------------------------------------------------------------------------- 1 | # Cleaned most of this file, 2 | # This file is working. 3 | # Last update 2022,Jan,10 4 | 5 | __all__ = ['RecvTable', 'RecvProp', 'ClientClass'] 6 | 7 | 8 | class RecvProp: 9 | def __init__(self, start_addr, handle): 10 | self._start_addr = start_addr 11 | self._handle = handle 12 | 13 | def get_name(self) -> str: 14 | """Returns a name of the prop.""" 15 | name_addr = self._handle.read_int(self._start_addr) 16 | return self._handle.read_string(name_addr, 128) 17 | 18 | def get_offset(self) -> int: 19 | """Returns an offset of the prop.""" 20 | return self._handle.read_int(self._start_addr + 0x2C) 21 | 22 | def get_data_table(self) -> "RecvTable": 23 | """Returns a data table for the prop.""" 24 | return RecvTable( 25 | self._handle.read_int(self._start_addr + 0x28), 26 | self._handle 27 | ) 28 | 29 | 30 | class RecvTable: 31 | def __init__(self, start_addr, handle): 32 | self._start_addr = start_addr 33 | self._handle = handle 34 | 35 | def get_table_name(self) -> str: 36 | """Returns a table's name.""" 37 | name_addr = self._handle.read_int(self._start_addr + 0xC) 38 | return self._handle.read_string(name_addr, 128) 39 | 40 | def get_max_props(self) -> int: 41 | """Returns prop's count in a table.""" 42 | return self._handle.read_int(self._start_addr + 0x4) 43 | 44 | def get_prop(self, index): 45 | """Returns prop by the given index.""" 46 | props_addr = self._handle.read_int(self._start_addr) 47 | prop_addr = props_addr + 0x3C * index 48 | if not prop_addr: 49 | return None 50 | return RecvProp(prop_addr, self._handle) 51 | 52 | 53 | class ClientClass: 54 | def __init__(self, start_addr, handle): 55 | self._start_addr = start_addr 56 | self._handle = handle 57 | 58 | def get_next_class(self) -> "ClientClass": 59 | """Returns next client class.""" 60 | return self.__class__( 61 | self._handle.read_int(self._start_addr + 0x10), 62 | self._handle 63 | ) 64 | 65 | def get_table(self) -> RecvTable: 66 | """Returns client class' table.""" 67 | return RecvTable( 68 | self._handle.read_int(self._start_addr + 0xC), 69 | self._handle 70 | ) 71 | -------------------------------------------------------------------------------- /offsets/offsets.json: -------------------------------------------------------------------------------- 1 | { 2 | "timestamp": 1635548223, 3 | "signatures": { 4 | "anim_overlays": 10640, 5 | "clientstate_choked_commands": 19760, 6 | "clientstate_delta_ticks": 372, 7 | "clientstate_last_outgoing_command": 19756, 8 | "clientstate_net_channel": 156, 9 | "convar_name_hash_table": 192760, 10 | "dwClientState": 5804012, 11 | "dwClientState_GetLocalPlayer": 384, 12 | "dwClientState_IsHLTV": 19784, 13 | "dwClientState_Map": 652, 14 | "dwClientState_MapDirectory": 392, 15 | "dwClientState_MaxPlayer": 904, 16 | "dwClientState_PlayerInfo": 21184, 17 | "dwClientState_State": 264, 18 | "dwClientState_ViewAngles": 19856, 19 | "dwEntityList": 81524572, 20 | "dwForceAttack": 52362452, 21 | "dwForceAttack2": 52362464, 22 | "dwForceBackward": 52362380, 23 | "dwForceForward": 52362392, 24 | "dwForceJump": 86414704, 25 | "dwForceLeft": 52362416, 26 | "dwForceRight": 52362404, 27 | "dwGameDir": 6452992, 28 | "dwGameRulesProxy": 86886476, 29 | "dwGetAllClasses": 14473860, 30 | "dwGlobalVars": 5803248, 31 | "dwGlowObjectManager": 87063624, 32 | "dwInput": 86052128, 33 | "dwInterfaceLinkList": 9792164, 34 | "dwLocalPlayer": 14308428, 35 | "dwMouseEnable": 14331800, 36 | "dwMouseEnablePtr": 14331752, 37 | "dwPlayerResource": 52355072, 38 | "dwRadarBase": 85935316, 39 | "dwSensitivity": 14331444, 40 | "dwSensitivityPtr": 14331400, 41 | "dwSetClanTag": 565552, 42 | "dwViewMatrix": 81465460, 43 | "dwWeaponTable": 86054884, 44 | "dwWeaponTableIndex": 12908, 45 | "dwYawPtr": 14330872, 46 | "dwZoomSensitivityRatioPtr": 14352024, 47 | "dwbSendPackets": 883666, 48 | "dwppDirect3DDevice9": 684112, 49 | "find_hud_element": 793980576, 50 | "force_update_spectator_glow": 3882746, 51 | "interface_engine_cvar": 256492, 52 | "is_c4_owner": 3935824, 53 | "m_bDormant": 237, 54 | "m_flSpawnTime": 66496, 55 | "m_pStudioHdr": 10576, 56 | "m_pitchClassPtr": 85935984, 57 | "m_yawClassPtr": 14330872, 58 | "model_ambient_min": 5816332, 59 | "set_abs_angles": 1981840, 60 | "set_abs_origin": 1981392 61 | }, 62 | "netvars": { 63 | "cs_gamerules_data": 0, 64 | "m_ArmorValue": 71628, 65 | "m_Collision": 800, 66 | "m_CollisionGroup": 1140, 67 | "m_Local": 12236, 68 | "m_MoveType": 604, 69 | "m_OriginalOwnerXuidHigh": 12756, 70 | "m_OriginalOwnerXuidLow": 12752, 71 | "m_SurvivalGameRuleDecisionTypes": 4904, 72 | "m_SurvivalRules": 3328, 73 | "m_aimPunchAngle": 12348, 74 | "m_aimPunchAngleVel": 12360, 75 | "m_angEyeAnglesX": 71632, 76 | "m_angEyeAnglesY": 71636, 77 | "m_bBombPlanted": 2469, 78 | "m_bFreezePeriod": 32, 79 | "m_bGunGameImmunity": 39312, 80 | "m_bHasDefuser": 71644, 81 | "m_bHasHelmet": 71616, 82 | "m_bInReload": 12981, 83 | "m_bIsDefusing": 39292, 84 | "m_bIsQueuedMatchmaking": 116, 85 | "m_bIsScoped": 39284, 86 | "m_bIsValveDS": 124, 87 | "m_bSpotted": 2365, 88 | "m_bSpottedByMask": 2432, 89 | "m_bStartedArming": 13312, 90 | "m_bUseCustomAutoExposureMax": 2521, 91 | "m_bUseCustomAutoExposureMin": 2520, 92 | "m_bUseCustomBloomScale": 2522, 93 | "m_clrRender": 112, 94 | "m_dwBoneMatrix": 9896, 95 | "m_fAccuracyPenalty": 13120, 96 | "m_fFlags": 260, 97 | "m_flC4Blow": 10656, 98 | "m_flCustomAutoExposureMax": 2528, 99 | "m_flCustomAutoExposureMin": 2524, 100 | "m_flCustomBloomScale": 2532, 101 | "m_flDefuseCountDown": 10684, 102 | "m_flDefuseLength": 10680, 103 | "m_flFallbackWear": 12768, 104 | "m_flFlashDuration": 66672, 105 | "m_flFlashMaxAlpha": 66668, 106 | "m_flLastBoneSetupTime": 10536, 107 | "m_flLowerBodyYawTarget": 39644, 108 | "m_flNextAttack": 11648, 109 | "m_flNextPrimaryAttack": 12872, 110 | "m_flSimulationTime": 616, 111 | "m_flTimerLength": 10660, 112 | "m_hActiveWeapon": 12040, 113 | "m_hMyWeapons": 11784, 114 | "m_hObserverTarget": 13212, 115 | "m_hOwner": 10716, 116 | "m_hOwnerEntity": 332, 117 | "m_hViewModel[0]": 13064, 118 | "m_iAccountID": 12248, 119 | "m_iClip1": 12916, 120 | "m_iCompetitiveRanking": 6788, 121 | "m_iCompetitiveWins": 7048, 122 | "m_iCrosshairId": 71736, 123 | "m_iEntityQuality": 12220, 124 | "m_iFOV": 12788, 125 | "m_iFOVStart": 12792, 126 | "m_iGlowIndex": 66696, 127 | "m_iHealth": 256, 128 | "m_iItemDefinitionIndex": 12218, 129 | "m_iItemIDHigh": 12240, 130 | "m_iMostRecentModelBoneCounter": 9872, 131 | "m_iObserverMode": 13192, 132 | "m_iShotsFired": 66528, 133 | "m_iState": 12904, 134 | "m_iTeamNum": 244, 135 | "m_iViewModelIndex": 12880, 136 | "m_iWorldDroppedModelIndex": 12888, 137 | "m_iWorldModelIndex": 12884, 138 | "m_lifeState": 607, 139 | "m_nFallbackPaintKit": 12760, 140 | "m_nFallbackSeed": 12764, 141 | "m_nFallbackStatTrak": 12772, 142 | "m_nForceBone": 9868, 143 | "m_nModelIndex": 600, 144 | "m_nTickBase": 13376, 145 | "m_nViewModelIndex": 12868, 146 | "m_rgflCoordinateFrame": 1092, 147 | "m_szCustomName": 12364, 148 | "m_szLastPlaceName": 13764, 149 | "m_thirdPersonViewAngles": 12776, 150 | "m_vecOrigin": 312, 151 | "m_vecVelocity": 276, 152 | "m_vecViewOffset": 264, 153 | "m_viewPunchAngle": 12336 154 | } 155 | } 156 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | pymem 2 | keyboard 3 | PyQt5 4 | threaded 5 | requests 6 | mouse 7 | 8 | --------------------------------------------------------------------------------