From b5fb1d6e8ff194b79a180a827c0ed05dc005fab2 Mon Sep 17 00:00:00 2001 From: ALittlePatate <48603993+ALittlePatate@users.noreply.github.com> Date: Sun, 11 Apr 2021 12:40:12 +0200 Subject: [PATCH] Updated to work with the knifechanger --- classes/features_check.py | 329 ++++++++++ classes/features_reads.py | 471 ++++++++++++++ classes/get_active_weapons.py | 63 ++ classes/get_netvars.py | 19 + classes/key_listen.py | 42 ++ classes/last.py | 14 + classes/netvar_manager.py | 110 ++++ classes/read_config.py | 233 +++++++ classes/read_last.py | 9 + classes/recv_classes.py | 72 +++ classes/skin_id_dumper.py | 106 ++++ classes/ui.py | 1083 +++++++++++++++++++++++++++++++++ classes/write_config.py | 245 ++++++++ 13 files changed, 2796 insertions(+) create mode 100644 classes/features_check.py create mode 100644 classes/features_reads.py create mode 100644 classes/get_active_weapons.py create mode 100644 classes/get_netvars.py create mode 100644 classes/key_listen.py create mode 100644 classes/last.py create mode 100644 classes/netvar_manager.py create mode 100644 classes/read_config.py create mode 100644 classes/read_last.py create mode 100644 classes/recv_classes.py create mode 100644 classes/skin_id_dumper.py create mode 100644 classes/ui.py create mode 100644 classes/write_config.py diff --git a/classes/features_check.py b/classes/features_check.py new file mode 100644 index 0000000..29b4232 --- /dev/null +++ b/classes/features_check.py @@ -0,0 +1,329 @@ +from multiprocessing import * +import multiprocessing + +import sys, time, ctypes +import importlib +import pymem +sys.path.insert(1, "classes/") +from features_reads import read + +sys.path.insert(1, "utils/") +from glow import glow +from chams import chams +from chams_reset import chams_reset +from aimbot import aimbot +from rcs import rcs +from triggerbot import triggerbot +from rapidfire import rapidfire +from silent import silent +from crosshair_hack import crosshair_hack +from thirdperson import thirdperson +from fov import fov +from fov_reset import fov_reset +from hitsound import hitsound +from soundesp import sound_esp +from noflash import noflash +from noflash_reset import noflash_reset +from bhop_rage import bhop_rage +from bhop_legit import bhop_legit +from money import money +from money_reset import money_reset +from radar import radar +from radar_reset import radar_reset +from fake_lag import fake_lag +from skinchanger import skinchanger_func +from knifechanger import knifechanger_func +from Offsets import * + +class check : + def __init__(self) : + + self.is_running() + + def is_running(self) : + glow_switch = False + chams_switch = False + chams_reset_switch = False + aimbot_switch = False + rcs_switch = False + triggerbot_switch = False + rapidfire_switch = False + silent_aim_switch = False + crosshair_switch = False + thirdperson_switch = False + fov_switch = False + fov_reset_switch = False + hitsound_switch = False + soundesp_switch = False + noflash_switch = False + noflash_reset_switch = False + bhop_rage_switch = False + bhop_legit_switch = False + show_money_switch = False + show_money_reset_switch = False + radar_switch = False + radar_reset_switch = False + fake_lag_switch = False + + multiprocessing.freeze_support() + t_skinchanger = Process(target = skinchanger_func) + t_skinchanger.start() + + multiprocessing.freeze_support() + t_knifechanger = Process(target = knifechanger_func) + t_knifechanger.start() + + try : + pm = pymem.Pymem("csgo.exe") + except : + MessageBox = ctypes.windll.user32.MessageBoxW + MessageBox(None, 'Could not find the csgo.exe process !', 'Error', 16) + return + + engine = pymem.process.module_from_name(pm.process_handle, "engine.dll").lpBaseOfDll + + + while True : + try : + time.sleep(0.3) + + engine_state = pm.read_int( engine + dwClientState ) + + if pm.read_int(engine_state + dwClientState_State) != 6 and t_knifechanger.is_alive() : #and t_skinchanger.is_alive(): + t_skinchanger.terminate() + t_knifechanger.terminate() + + elif pm.read_int(engine_state + dwClientState_State) == 6 and not t_knifechanger.is_alive() : #and not t_skinchanger.is_alive() : + multiprocessing.freeze_support() + t_skinchanger = Process(target = skinchanger_func) + t_skinchanger.start() + + multiprocessing.freeze_support() + t_knifechanger = Process(target = knifechanger_func) + t_knifechanger.start() + + + read() + + if check.glow_active and glow_switch == False : + multiprocessing.freeze_support() + t_glow = Process(target = glow) + t_glow.start() + glow_switch = True + + elif not check.glow_active and glow_switch == True: + t_glow.terminate() + glow_switch = False + + if check.chams_active and chams_switch == False : + if chams_reset_switch == True : + t_chams_reset.terminate() + chams_reset_switch = False + + multiprocessing.freeze_support() + t_chams = Process(target = chams) + t_chams.start() + chams_switch = True + + elif not check.chams_active and chams_switch == True: + t_chams.terminate() + multiprocessing.freeze_support() + t_chams_reset = Process(target = chams_reset) + t_chams_reset.start() + chams_reset_switch = True + chams_switch = False + + if check.aimbot and aimbot_switch == False : + multiprocessing.freeze_support() + t_aimbot = Process(target = aimbot) + t_aimbot.start() + aimbot_switch = True + + elif not check.aimbot and aimbot_switch == True: + t_aimbot.terminate() + aimbot_switch = False + + if check.rcs and rcs_switch == False : + multiprocessing.freeze_support() + t_rcs = Process(target = rcs) + t_rcs.start() + rcs_switch = True + + elif not check.rcs and rcs_switch == True: + t_rcs.terminate() + rcs_switch = False + + if check.triggerbot and triggerbot_switch == False : + multiprocessing.freeze_support() + t_triggerbot = Process(target = triggerbot) + t_triggerbot.start() + triggerbot_switch = True + + elif not check.triggerbot and triggerbot_switch == True: + t_triggerbot.terminate() + triggerbot_switch = False + + if check.rapid_fire and rapidfire_switch == False : + multiprocessing.freeze_support() + t_rapid_fire = Process(target = rapidfire) + t_rapid_fire.start() + rapidfire_switch = True + + elif not check.rapid_fire and rapidfire_switch == True: + t_rapid_fire.terminate() + rapidfire_switch = False + + if check.silent_aim and silent_aim_switch == False : + multiprocessing.freeze_support() + t_silent_aim = Process(target = silent) + t_silent_aim.start() + silent_aim_switch = True + + elif not check.silent_aim and silent_aim_switch == True: + t_silent_aim.terminate() + silent_aim_switch = False + + if check.crosshair and crosshair_switch == False : + multiprocessing.freeze_support() + t_crosshair = Process(target = crosshair_hack) + t_crosshair.start() + crosshair_switch = True + + elif not check.crosshair and crosshair_switch == True: + t_crosshair.terminate() + crosshair_switch = False + + if check.third_person and thirdperson_switch == False : + multiprocessing.freeze_support() + t_thirdperson = Process(target = thirdperson) + t_thirdperson.start() + thirdperson_switch = True + + elif not check.third_person and thirdperson_switch == True: + t_thirdperson.terminate() + thirdperson_switch = False + + if check.fov and fov_switch == False : + if fov_reset_switch == True : + t_fov_reset.terminate() + fov_reset_switch = False + + multiprocessing.freeze_support() + t_fov = Process(target = fov) + t_fov.start() + fov_switch = True + + elif not check.fov and fov_switch == True: + t_fov.terminate() + multiprocessing.freeze_support() + t_fov_reset = Process(target = fov_reset) + t_fov_reset.start() + fov_reset_switch = True + fov_switch = False + + if check.hitsound and hitsound_switch == False : + multiprocessing.freeze_support() + t_hitsound = Process(target = hitsound) + t_hitsound.start() + hitsound_switch = True + + elif not check.hitsound and hitsound_switch == True: + t_hitsound.terminate() + hitsound_switch = False + + if check.sound_esp and soundesp_switch == False : + multiprocessing.freeze_support() + t_soundesp = Process(target = sound_esp) + t_soundesp.start() + soundesp_switch = True + + elif not check.sound_esp and soundesp_switch == True: + t_soundesp.terminate() + soundesp_switch = False + + if check.no_flash and noflash_switch == False : + if noflash_reset_switch == True : + t_noflash_reset.terminate() + noflash_reset_switch = False + + multiprocessing.freeze_support() + t_noflash = Process(target = noflash) + t_noflash.start() + noflash_switch = True + + elif not check.no_flash and noflash_switch == True: + t_noflash.terminate() + multiprocessing.freeze_support() + t_noflash_reset = Process(target = noflash_reset) + t_noflash_reset.start() + noflash_reset_switch = True + noflash_switch = False + + if check.bhop_rage and bhop_rage_switch == False : + multiprocessing.freeze_support() + t_bhop_rage = Process(target = bhop_rage) + t_bhop_rage.start() + bhop_rage_switch = True + + elif not check.bhop_rage and bhop_rage_switch == True: + t_bhop_rage.terminate() + bhop_rage_switch = False + + if check.bhop_legit and bhop_legit_switch == False : + multiprocessing.freeze_support() + t_bhop_legit = Process(target = bhop_legit) + t_bhop_legit.start() + bhop_legit_switch = True + + elif not check.bhop_legit and bhop_legit_switch == True: + t_bhop_legit.terminate() + bhop_legit_switch = False + + if check.show_money and show_money_switch == False : + if show_money_reset_switch == True : + t_show_money_reset.terminate() + show_money_reset_switch = False + + multiprocessing.freeze_support() + t_show_money = Process(target = money) + t_show_money.start() + show_money_switch = True + + elif not check.show_money and show_money_switch == True: + t_show_money.terminate() + multiprocessing.freeze_support() + t_show_money_reset = Process(target = money_reset) + t_show_money_reset.start() + show_money_reset_switch = True + show_money_switch = False + + if check.radar and radar_switch == False : + if radar_reset_switch == True : + t_radar_reset.terminate() + radar_reset_switch = False + + multiprocessing.freeze_support() + t_radar = Process(target = radar) + t_radar.start() + radar_switch = True + + elif not check.radar and radar_switch == True: + t_radar.terminate() + multiprocessing.freeze_support() + t_radar_reset = Process(target = radar_reset) + t_radar_reset.start() + radar_reset_switch = True + radar_switch = False + + if check.fake_lag and fake_lag_switch == False : + multiprocessing.freeze_support() + t_fake_lag = Process(target = fake_lag) + t_fake_lag.start() + fake_lag_switch = True + + elif not check.fake_lag and fake_lag_switch == True: + t_fake_lag.terminate() + fake_lag_switch = False + + except Exception as e: + print(e) diff --git a/classes/features_reads.py b/classes/features_reads.py new file mode 100644 index 0000000..f1878a9 --- /dev/null +++ b/classes/features_reads.py @@ -0,0 +1,471 @@ +from configparser import ConfigParser +import features_check + +class read() : + def __init__(self, *args) : + config = ConfigParser() + + while True : + try : + with open("configs/last/last.txt", "r") as f : + for line in f : + last = line + + config.read('configs/'+last) + + if args : + if args[0] == "glow" : + features_check.check.glow_active = config.getboolean('VISUALS', 'glow_active') + features_check.check.glow_health_based = config.getboolean('VISUALS', 'glow_health_based') + features_check.check.glow_ennemies = config.getboolean('VISUALS', 'glow_ennemies') + features_check.check.ennemies_glow_color = config.get('VISUALS', 'ennemies_glow_color') + features_check.check.glow_allies = config.getboolean('VISUALS', 'glow_allies') + features_check.check.allies_glow_color = config.get('VISUALS', 'allies_glow_color') + return + + elif args[0] == "chams" : + features_check.check.chams_active = config.getboolean('VISUALS', 'chams_active') + features_check.check.chams_health_based = config.getboolean('VISUALS', 'chams_health_based') + features_check.check.chams_ennemies = config.getboolean('VISUALS', 'chams_ennemies') + features_check.check.ennemies_chams_color = config.get('VISUALS', 'ennemies_chams_color') + features_check.check.chams_allies = config.getboolean('VISUALS', 'chams_allies') + features_check.check.allies_chams_color = config.get('VISUALS', 'allies_chams_color') + return + + elif args[0] == "aim" : + features_check.check.aimbot = config.getboolean('AIM', 'aimbot') + features_check.check.aimbot_key = config.get('AIM', 'aimbot_key') + features_check.check.silent_aim = config.getboolean('AIM', 'silent_aim') + features_check.check.silent_aim_key = config.get('AIM', 'silent_aim_key') + features_check.check.crosshair = config.getboolean('AIM', 'crosshair') + return + + elif args[0] == "rcs" : + features_check.check.rcs = config.getboolean('AIM', 'rcs') + features_check.check.rcs_perfect = config.getfloat('AIM', 'rcs_perfect') + return + + elif args[0] == "triggerbot" : + features_check.check.triggerbot = config.getboolean('AIM', 'triggerbot') + features_check.check.t_delay = config.getfloat('AIM', 't_delay') + features_check.check.triggerbot_key = config.get('AIM', 'triggerbot_key') + return + + elif args[0] == "rapid fire" : + features_check.check.rapid_fire = config.getboolean('AIM', 'rapid_fire') + features_check.check.rapid_fire_key = config.get('AIM', 'rapid_fire_key') + return + + elif args[0] == "misc" : + features_check.check.third_person = config.getboolean('MISC', 'third_person') + features_check.check.thirdperson_key = config.get('MISC', 'thirdperson_key') + features_check.check.fov = config.getboolean('MISC', 'fov') + features_check.check.fov_value = config.getfloat('MISC', 'fov_value') + features_check.check.hitsound = config.getboolean('MISC', 'hitsound') + features_check.check.sound = config.get('MISC', 'sound') + features_check.check.sound_esp = config.getboolean('MISC', 'sound_esp') + features_check.check.no_flash = config.getboolean('MISC', 'no_flash') + features_check.check.bhop_rage = config.getboolean('MISC', 'bhop_rage') + features_check.check.bhop_legit = config.getboolean('MISC', 'bhop_legit') + features_check.check.show_money = config.getboolean('MISC', 'show_money') + features_check.check.radar = config.getboolean('MISC', 'radar') + features_check.check.fake_lag = config.getboolean('MISC', 'fake_lag') + features_check.check.fake_lag_value = config.getfloat('MISC', 'fake_lag_value') + return + + elif args[0] == "skinchanger" : + #SKINCHANGER + features_check.check.AK47 = config.get('SKINCHANGER', 'AK47') + features_check.check.AK47_f = config.get('SKINCHANGER', 'AK47_f') + features_check.check.AK47_st = config.get('SKINCHANGER', 'AK47_st') + features_check.check.AK47_stv = config.get('SKINCHANGER', 'AK47_stv') + features_check.check.AK47_se = config.get('SKINCHANGER', 'AK47_se') + features_check.check.AUG = config.get('SKINCHANGER', 'AUG') + features_check.check.AUG_f = config.get('SKINCHANGER', 'AUG_f') + features_check.check.AUG_st = config.get('SKINCHANGER', 'AUG_st') + features_check.check.AUG_stv = config.get('SKINCHANGER', 'AUG_stv') + features_check.check.AUG_se = config.get('SKINCHANGER', 'AUG_se') + features_check.check.AWP = config.get('SKINCHANGER', 'AWP') + features_check.check.AWP_f = config.get('SKINCHANGER', 'AWP_f') + features_check.check.AWP_st = config.get('SKINCHANGER', 'AWP_st') + features_check.check.AWP_stv = config.get('SKINCHANGER', 'AWP_stv') + features_check.check.AWP_se = config.get('SKINCHANGER', 'AWP_se') + features_check.check.CZ75Auto = config.get('SKINCHANGER', 'CZ75Auto') + features_check.check.CZ75Auto_f = config.get('SKINCHANGER', 'CZ75Auto_f') + features_check.check.CZ75Auto_st = config.get('SKINCHANGER', 'CZ75Auto_st') + features_check.check.CZ75Auto_stv = config.get('SKINCHANGER', 'CZ75Auto_stv') + features_check.check.CZ75Auto_se = config.get('SKINCHANGER', 'CZ75Auto_se') + features_check.check.Desert_Eagle = config.get('SKINCHANGER', 'Desert_Eagle') + features_check.check.Desert_Eagle_f = config.get('SKINCHANGER', 'Desert_Eagle_f') + features_check.check.Desert_Eagle_st = config.get('SKINCHANGER', 'Desert_Eagle_st') + features_check.check.Desert_Eagle_stv = config.get('SKINCHANGER', 'Desert_Eagle_stv') + features_check.check.Desert_Eagle_se = config.get('SKINCHANGER', 'Desert_Eagle_se') + features_check.check.Dual_Berettas = config.get('SKINCHANGER', 'Dual_Berettas') + features_check.check.Dual_Berettas_f = config.get('SKINCHANGER', 'Dual_Berettas_f') + features_check.check.Dual_Berettas_st = config.get('SKINCHANGER', 'Dual_Berettas_st') + features_check.check.Dual_Berettas_stv = config.get('SKINCHANGER', 'Dual_Berettas_stv') + features_check.check.Dual_Berettas_se = config.get('SKINCHANGER', 'Dual_Berettas_se') + features_check.check.FAMAS = config.get('SKINCHANGER', 'FAMAS') + features_check.check.FAMAS_f = config.get('SKINCHANGER', 'FAMAS_f') + features_check.check.FAMAS_st = config.get('SKINCHANGER', 'FAMAS_st') + features_check.check.FAMAS_stv = config.get('SKINCHANGER', 'FAMAS_stv') + features_check.check.FAMAS_se = config.get('SKINCHANGER', 'FAMAS_se') + features_check.check.FiveSeven = config.get('SKINCHANGER', 'FiveSeven') + features_check.check.FiveSeven_f = config.get('SKINCHANGER', 'FiveSeven_f') + features_check.check.FiveSeven_st = config.get('SKINCHANGER', 'FiveSeven_st') + features_check.check.FiveSeven_stv = config.get('SKINCHANGER', 'FiveSeven_stv') + features_check.check.FiveSeven_se = config.get('SKINCHANGER', 'FiveSeven_se') + features_check.check.G3SG1 = config.get('SKINCHANGER', 'G3SG1') + features_check.check.G3SG1_f = config.get('SKINCHANGER', 'G3SG1_f') + features_check.check.G3SG1_st = config.get('SKINCHANGER', 'G3SG1_st') + features_check.check.G3SG1_stv = config.get('SKINCHANGER', 'G3SG1_stv') + features_check.check.G3SG1_se = config.get('SKINCHANGER', 'G3SG1_se') + features_check.check.Galil_AR = config.get('SKINCHANGER', 'Galil_AR') + features_check.check.Galil_AR_f = config.get('SKINCHANGER', 'Galil_AR_f') + features_check.check.Galil_AR_st = config.get('SKINCHANGER', 'Galil_AR_st') + features_check.check.Galil_AR_stv = config.get('SKINCHANGER', 'Galil_AR_stv') + features_check.check.Galil_AR_se = config.get('SKINCHANGER', 'Galil_AR_se') + features_check.check.Glock18 = config.get('SKINCHANGER', 'Glock18') + features_check.check.Glock18_f = config.get('SKINCHANGER', 'Glock18_f') + features_check.check.Glock18_st = config.get('SKINCHANGER', 'Glock18_st') + features_check.check.Glock18_stv = config.get('SKINCHANGER', 'Glock18_stv') + features_check.check.Glock18_se = config.get('SKINCHANGER', 'Glock18_se') + features_check.check.M249 = config.get('SKINCHANGER', 'M249') + features_check.check.M249_f = config.get('SKINCHANGER', 'M249_f') + features_check.check.M249_st = config.get('SKINCHANGER', 'M249_st') + features_check.check.M249_stv = config.get('SKINCHANGER', 'M249_stv') + features_check.check.M249_se = config.get('SKINCHANGER', 'M249_se') + features_check.check.M4A1S = config.get('SKINCHANGER', 'M4A1S') + features_check.check.M4A1S_f = config.get('SKINCHANGER', 'M4A1S_f') + features_check.check.M4A1S_st = config.get('SKINCHANGER', 'M4A1S_st') + features_check.check.M4A1S_stv = config.get('SKINCHANGER', 'M4A1S_stv') + features_check.check.M4A1S_se = config.get('SKINCHANGER', 'M4A1S_se') + features_check.check.M4A4 = config.get('SKINCHANGER', 'M4A4') + features_check.check.M4A4_f = config.get('SKINCHANGER', 'M4A4_f') + features_check.check.M4A4_st = config.get('SKINCHANGER', 'M4A4_st') + features_check.check.M4A4_stv = config.get('SKINCHANGER', 'M4A4_stv') + features_check.check.M4A4_se = config.get('SKINCHANGER', 'M4A4_se') + features_check.check.MAC10 = config.get('SKINCHANGER', 'MAC10') + features_check.check.MAC10_f = config.get('SKINCHANGER', 'MAC10_f') + features_check.check.MAC10_st = config.get('SKINCHANGER', 'MAC10_st') + features_check.check.MAC10_stv = config.get('SKINCHANGER', 'MAC10_stv') + features_check.check.MAC10_se = config.get('SKINCHANGER', 'MAC10_se') + features_check.check.MAG7 = config.get('SKINCHANGER', 'MAG7') + features_check.check.MAG7_f = config.get('SKINCHANGER', 'MAG7_f') + features_check.check.MAG7_st = config.get('SKINCHANGER', 'MAG7_st') + features_check.check.MAG7_stv = config.get('SKINCHANGER', 'MAG7_stv') + features_check.check.MAG7_se = config.get('SKINCHANGER', 'MAG7_se') + features_check.check.MP5SD = config.get('SKINCHANGER', 'MP5SD') + features_check.check.MP5SD_f = config.get('SKINCHANGER', 'MP5SD_f') + features_check.check.MP5SD_st = config.get('SKINCHANGER', 'MP5SD_st') + features_check.check.MP5SD_stv = config.get('SKINCHANGER', 'MP5SD_stv') + features_check.check.MP5SD_se = config.get('SKINCHANGER', 'MP5SD_se') + features_check.check.MP7 = config.get('SKINCHANGER', 'MP7') + features_check.check.MP7_f = config.get('SKINCHANGER', 'MP7_f') + features_check.check.MP7_st = config.get('SKINCHANGER', 'MP7_st') + features_check.check.MP7_stv = config.get('SKINCHANGER', 'MP7_stv') + features_check.check.MP7_se = config.get('SKINCHANGER', 'MP7_se') + features_check.check.MP9 = config.get('SKINCHANGER', 'MP9') + features_check.check.MP9_f = config.get('SKINCHANGER', 'MP9_f') + features_check.check.MP9_st = config.get('SKINCHANGER', 'MP9_st') + features_check.check.MP9_stv = config.get('SKINCHANGER', 'MP9_stv') + features_check.check.MP9_se = config.get('SKINCHANGER', 'MP9_se') + features_check.check.Negev = config.get('SKINCHANGER', 'Negev') + features_check.check.Negev_f = config.get('SKINCHANGER', 'Negev_f') + features_check.check.Negev_st = config.get('SKINCHANGER', 'Negev_st') + features_check.check.Negev_stv = config.get('SKINCHANGER', 'Negev_stv') + features_check.check.Negev_se = config.get('SKINCHANGER', 'Negev_se') + features_check.check.Nova = config.get('SKINCHANGER', 'Nova') + features_check.check.Nova_f = config.get('SKINCHANGER', 'Nova_f') + features_check.check.Nova_st = config.get('SKINCHANGER', 'Nova_st') + features_check.check.Nova_stv = config.get('SKINCHANGER', 'Nova_stv') + features_check.check.Nova_se = config.get('SKINCHANGER', 'Nova_se') + features_check.check.P2000 = config.get('SKINCHANGER', 'P2000') + features_check.check.P2000_f = config.get('SKINCHANGER', 'P2000_f') + features_check.check.P2000_st = config.get('SKINCHANGER', 'P2000_st') + features_check.check.P2000_stv = config.get('SKINCHANGER', 'P2000_stv') + features_check.check.P2000_se = config.get('SKINCHANGER', 'P2000_se') + features_check.check.P250 = config.get('SKINCHANGER', 'P250') + features_check.check.P250_f = config.get('SKINCHANGER', 'P250_f') + features_check.check.P250_st = config.get('SKINCHANGER', 'P250_st') + features_check.check.P250_stv = config.get('SKINCHANGER', 'P250_stv') + features_check.check.P250_se = config.get('SKINCHANGER', 'P250_se') + features_check.check.P90 = config.get('SKINCHANGER', 'P90') + features_check.check.P90_f = config.get('SKINCHANGER', 'P90_f') + features_check.check.P90_st = config.get('SKINCHANGER', 'P90_st') + features_check.check.P90_stv = config.get('SKINCHANGER', 'P90_stv') + features_check.check.P90_se = config.get('SKINCHANGER', 'P90_se') + features_check.check.PPBizon = config.get('SKINCHANGER', 'PPBizon') + features_check.check.PPBizon_f = config.get('SKINCHANGER', 'PPBizon_f') + features_check.check.PPBizon_st = config.get('SKINCHANGER', 'PPBizon_st') + features_check.check.PPBizon_stv = config.get('SKINCHANGER', 'PPBizon_stv') + features_check.check.PPBizon_se = config.get('SKINCHANGER', 'PPBizon_se') + features_check.check.R8_Revolver = config.get('SKINCHANGER', 'R8_Revolver') + features_check.check.R8_Revolver_f = config.get('SKINCHANGER', 'R8_Revolver_f') + features_check.check.R8_Revolver_st = config.get('SKINCHANGER', 'R8_Revolver_st') + features_check.check.R8_Revolver_stv = config.get('SKINCHANGER', 'R8_Revolver_stv') + features_check.check.R8_Revolver_se = config.get('SKINCHANGER', 'R8_Revolver_se') + features_check.check.SCAR20 = config.get('SKINCHANGER', 'SCAR20') + features_check.check.SCAR20_f = config.get('SKINCHANGER', 'SCAR20_f') + features_check.check.SCAR20_st = config.get('SKINCHANGER', 'SCAR20_st') + features_check.check.SCAR20_stv = config.get('SKINCHANGER', 'SCAR20_stv') + features_check.check.SCAR20_se = config.get('SKINCHANGER', 'SCAR20_se') + features_check.check.SG_553 = config.get('SKINCHANGER', 'SG_553') + features_check.check.SG_553_f = config.get('SKINCHANGER', 'SG_553_f') + features_check.check.SG_553_st = config.get('SKINCHANGER', 'SG_553_st') + features_check.check.SG_553_stv = config.get('SKINCHANGER', 'SG_553_stv') + features_check.check.SG_553_se = config.get('SKINCHANGER', 'SG_553_se') + features_check.check.SSG_08 = config.get('SKINCHANGER', 'SSG_08') + features_check.check.SSG_08_f = config.get('SKINCHANGER', 'SSG_08_f') + features_check.check.SSG_08_st = config.get('SKINCHANGER', 'SSG_08_st') + features_check.check.SSG_08_stv = config.get('SKINCHANGER', 'SSG_08_stv') + features_check.check.SSG_08_se = config.get('SKINCHANGER', 'SSG_08_se') + features_check.check.SawedOff = config.get('SKINCHANGER', 'SawedOff') + features_check.check.SawedOff_f = config.get('SKINCHANGER', 'SawedOff_f') + features_check.check.SawedOff_st = config.get('SKINCHANGER', 'SawedOff_st') + features_check.check.SawedOff_stv = config.get('SKINCHANGER', 'SawedOff_stv') + features_check.check.SawedOff_se = config.get('SKINCHANGER', 'SawedOff_se') + features_check.check.Tec9 = config.get('SKINCHANGER', 'Tec9') + features_check.check.Tec9_f = config.get('SKINCHANGER', 'Tec9_f') + features_check.check.Tec9_st = config.get('SKINCHANGER', 'Tec9_st') + features_check.check.Tec9_stv = config.get('SKINCHANGER', 'Tec9_stv') + features_check.check.Tec9_se = config.get('SKINCHANGER', 'Tec9_se') + features_check.check.UMP45 = config.get('SKINCHANGER', 'UMP45') + features_check.check.UMP45_f = config.get('SKINCHANGER', 'UMP45_f') + features_check.check.UMP45_st = config.get('SKINCHANGER', 'UMP45_st') + features_check.check.UMP45_stv = config.get('SKINCHANGER', 'UMP45_stv') + features_check.check.UMP45_se = config.get('SKINCHANGER', 'UMP45_se') + features_check.check.USPS = config.get('SKINCHANGER', 'USPS') + features_check.check.USPS_f = config.get('SKINCHANGER', 'USPS_f') + features_check.check.USPS_st = config.get('SKINCHANGER', 'USPS_st') + features_check.check.USPS_stv = config.get('SKINCHANGER', 'USPS_stv') + features_check.check.USPS_se = config.get('SKINCHANGER', 'USPS_se') + features_check.check.XM1014 = config.get('SKINCHANGER', 'XM1014') + features_check.check.XM1014_f = config.get('SKINCHANGER', 'XM1014_f') + features_check.check.XM1014_st = config.get('SKINCHANGER', 'XM1014_st') + features_check.check.XM1014_stv = config.get('SKINCHANGER', 'XM1014_stv') + features_check.check.XM1014_se = config.get('SKINCHANGER', 'XM1014_se') + return + + #VISUALS + features_check.check.glow_active = config.getboolean('VISUALS', 'glow_active') + features_check.check.glow_health_based = config.getboolean('VISUALS', 'glow_health_based') + features_check.check.glow_ennemies = config.getboolean('VISUALS', 'glow_ennemies') + features_check.check.ennemies_glow_color = config.get('VISUALS', 'ennemies_glow_color') + features_check.check.glow_allies = config.getboolean('VISUALS', 'glow_allies') + features_check.check.allies_glow_color = config.get('VISUALS', 'allies_glow_color') + features_check.check.chams_active = config.getboolean('VISUALS', 'chams_active') + features_check.check.chams_health_based = config.getboolean('VISUALS', 'chams_health_based') + features_check.check.chams_ennemies = config.getboolean('VISUALS', 'chams_ennemies') + features_check.check.ennemies_chams_color = config.get('VISUALS', 'ennemies_chams_color') + features_check.check.chams_allies = config.getboolean('VISUALS', 'chams_allies') + features_check.check.allies_chams_color = config.get('VISUALS', 'allies_chams_color') + + #AIM + features_check.check.aimbot = config.getboolean('AIM', 'aimbot') + features_check.check.aimbot_key = config.get('AIM', 'aimbot_key') + features_check.check.rcs = config.getboolean('AIM', 'rcs') + features_check.check.rcs_perfect = config.getfloat('AIM', 'rcs_perfect') + features_check.check.triggerbot = config.getboolean('AIM', 'triggerbot') + features_check.check.t_delay = config.getfloat('AIM', 't_delay') + features_check.check.triggerbot_key = config.get('AIM', 'triggerbot_key') + features_check.check.rapid_fire = config.getboolean('AIM', 'rapid_fire') + features_check.check.rapid_fire_key = config.get('AIM', 'rapid_fire_key') + features_check.check.silent_aim = config.getboolean('AIM', 'silent_aim') + features_check.check.silent_aim_key = config.get('AIM', 'silent_aim_key') + features_check.check.crosshair = config.getboolean('AIM', 'crosshair') + + #MISC + features_check.check.third_person = config.getboolean('MISC', 'third_person') + features_check.check.thirdperson_key = config.get('MISC', 'thirdperson_key') + features_check.check.fov = config.getboolean('MISC', 'fov') + features_check.check.fov_value = config.getfloat('MISC', 'fov_value') + features_check.check.hitsound = config.getboolean('MISC', 'hitsound') + features_check.check.sound = config.get('MISC', 'sound') + features_check.check.sound_esp = config.getboolean('MISC', 'sound_esp') + features_check.check.no_flash = config.getboolean('MISC', 'no_flash') + features_check.check.bhop_rage = config.getboolean('MISC', 'bhop_rage') + features_check.check.bhop_legit = config.getboolean('MISC', 'bhop_legit') + features_check.check.show_money = config.getboolean('MISC', 'show_money') + features_check.check.radar = config.getboolean('MISC', 'radar') + features_check.check.fake_lag = config.getboolean('MISC', 'fake_lag') + features_check.check.fake_lag_value = config.getfloat('MISC', 'fake_lag_value') + + #SETTINGS + features_check.check.ui_color = config.get('SETTINGS', 'ui_color') + + #SKINCHANGER + features_check.check.AK47 = config.get('SKINCHANGER', 'AK47') + features_check.check.AK47_f = config.get('SKINCHANGER', 'AK47_f') + features_check.check.AK47_st = config.get('SKINCHANGER', 'AK47_st') + features_check.check.AK47_stv = config.get('SKINCHANGER', 'AK47_stv') + features_check.check.AK47_se = config.get('SKINCHANGER', 'AK47_se') + features_check.check.AUG = config.get('SKINCHANGER', 'AUG') + features_check.check.AUG_f = config.get('SKINCHANGER', 'AUG_f') + features_check.check.AUG_st = config.get('SKINCHANGER', 'AUG_st') + features_check.check.AUG_stv = config.get('SKINCHANGER', 'AUG_stv') + features_check.check.AUG_se = config.get('SKINCHANGER', 'AUG_se') + features_check.check.AWP = config.get('SKINCHANGER', 'AWP') + features_check.check.AWP_f = config.get('SKINCHANGER', 'AWP_f') + features_check.check.AWP_st = config.get('SKINCHANGER', 'AWP_st') + features_check.check.AWP_stv = config.get('SKINCHANGER', 'AWP_stv') + features_check.check.AWP_se = config.get('SKINCHANGER', 'AWP_se') + features_check.check.CZ75Auto = config.get('SKINCHANGER', 'CZ75Auto') + features_check.check.CZ75Auto_f = config.get('SKINCHANGER', 'CZ75Auto_f') + features_check.check.CZ75Auto_st = config.get('SKINCHANGER', 'CZ75Auto_st') + features_check.check.CZ75Auto_stv = config.get('SKINCHANGER', 'CZ75Auto_stv') + features_check.check.CZ75Auto_se = config.get('SKINCHANGER', 'CZ75Auto_se') + features_check.check.Desert_Eagle = config.get('SKINCHANGER', 'Desert_Eagle') + features_check.check.Desert_Eagle_f = config.get('SKINCHANGER', 'Desert_Eagle_f') + features_check.check.Desert_Eagle_st = config.get('SKINCHANGER', 'Desert_Eagle_st') + features_check.check.Desert_Eagle_stv = config.get('SKINCHANGER', 'Desert_Eagle_stv') + features_check.check.Desert_Eagle_se = config.get('SKINCHANGER', 'Desert_Eagle_se') + features_check.check.Dual_Berettas = config.get('SKINCHANGER', 'Dual_Berettas') + features_check.check.Dual_Berettas_f = config.get('SKINCHANGER', 'Dual_Berettas_f') + features_check.check.Dual_Berettas_st = config.get('SKINCHANGER', 'Dual_Berettas_st') + features_check.check.Dual_Berettas_stv = config.get('SKINCHANGER', 'Dual_Berettas_stv') + features_check.check.Dual_Berettas_se = config.get('SKINCHANGER', 'Dual_Berettas_se') + features_check.check.FAMAS = config.get('SKINCHANGER', 'FAMAS') + features_check.check.FAMAS_f = config.get('SKINCHANGER', 'FAMAS_f') + features_check.check.FAMAS_st = config.get('SKINCHANGER', 'FAMAS_st') + features_check.check.FAMAS_stv = config.get('SKINCHANGER', 'FAMAS_stv') + features_check.check.FAMAS_se = config.get('SKINCHANGER', 'FAMAS_se') + features_check.check.FiveSeven = config.get('SKINCHANGER', 'FiveSeven') + features_check.check.FiveSeven_f = config.get('SKINCHANGER', 'FiveSeven_f') + features_check.check.FiveSeven_st = config.get('SKINCHANGER', 'FiveSeven_st') + features_check.check.FiveSeven_stv = config.get('SKINCHANGER', 'FiveSeven_stv') + features_check.check.FiveSeven_se = config.get('SKINCHANGER', 'FiveSeven_se') + features_check.check.G3SG1 = config.get('SKINCHANGER', 'G3SG1') + features_check.check.G3SG1_f = config.get('SKINCHANGER', 'G3SG1_f') + features_check.check.G3SG1_st = config.get('SKINCHANGER', 'G3SG1_st') + features_check.check.G3SG1_stv = config.get('SKINCHANGER', 'G3SG1_stv') + features_check.check.G3SG1_se = config.get('SKINCHANGER', 'G3SG1_se') + features_check.check.Galil_AR = config.get('SKINCHANGER', 'Galil_AR') + features_check.check.Galil_AR_f = config.get('SKINCHANGER', 'Galil_AR_f') + features_check.check.Galil_AR_st = config.get('SKINCHANGER', 'Galil_AR_st') + features_check.check.Galil_AR_stv = config.get('SKINCHANGER', 'Galil_AR_stv') + features_check.check.Galil_AR_se = config.get('SKINCHANGER', 'Galil_AR_se') + features_check.check.Glock18 = config.get('SKINCHANGER', 'Glock18') + features_check.check.Glock18_f = config.get('SKINCHANGER', 'Glock18_f') + features_check.check.Glock18_st = config.get('SKINCHANGER', 'Glock18_st') + features_check.check.Glock18_stv = config.get('SKINCHANGER', 'Glock18_stv') + features_check.check.Glock18_se = config.get('SKINCHANGER', 'Glock18_se') + features_check.check.M249 = config.get('SKINCHANGER', 'M249') + features_check.check.M249_f = config.get('SKINCHANGER', 'M249_f') + features_check.check.M249_st = config.get('SKINCHANGER', 'M249_st') + features_check.check.M249_stv = config.get('SKINCHANGER', 'M249_stv') + features_check.check.M249_se = config.get('SKINCHANGER', 'M249_se') + features_check.check.M4A1S = config.get('SKINCHANGER', 'M4A1S') + features_check.check.M4A1S_f = config.get('SKINCHANGER', 'M4A1S_f') + features_check.check.M4A1S_st = config.get('SKINCHANGER', 'M4A1S_st') + features_check.check.M4A1S_stv = config.get('SKINCHANGER', 'M4A1S_stv') + features_check.check.M4A1S_se = config.get('SKINCHANGER', 'M4A1S_se') + features_check.check.M4A4 = config.get('SKINCHANGER', 'M4A4') + features_check.check.M4A4_f = config.get('SKINCHANGER', 'M4A4_f') + features_check.check.M4A4_st = config.get('SKINCHANGER', 'M4A4_st') + features_check.check.M4A4_stv = config.get('SKINCHANGER', 'M4A4_stv') + features_check.check.M4A4_se = config.get('SKINCHANGER', 'M4A4_se') + features_check.check.MAC10 = config.get('SKINCHANGER', 'MAC10') + features_check.check.MAC10_f = config.get('SKINCHANGER', 'MAC10_f') + features_check.check.MAC10_st = config.get('SKINCHANGER', 'MAC10_st') + features_check.check.MAC10_stv = config.get('SKINCHANGER', 'MAC10_stv') + features_check.check.MAC10_se = config.get('SKINCHANGER', 'MAC10_se') + features_check.check.MAG7 = config.get('SKINCHANGER', 'MAG7') + features_check.check.MAG7_f = config.get('SKINCHANGER', 'MAG7_f') + features_check.check.MAG7_st = config.get('SKINCHANGER', 'MAG7_st') + features_check.check.MAG7_stv = config.get('SKINCHANGER', 'MAG7_stv') + features_check.check.MAG7_se = config.get('SKINCHANGER', 'MAG7_se') + features_check.check.MP5SD = config.get('SKINCHANGER', 'MP5SD') + features_check.check.MP5SD_f = config.get('SKINCHANGER', 'MP5SD_f') + features_check.check.MP5SD_st = config.get('SKINCHANGER', 'MP5SD_st') + features_check.check.MP5SD_stv = config.get('SKINCHANGER', 'MP5SD_stv') + features_check.check.MP5SD_se = config.get('SKINCHANGER', 'MP5SD_se') + features_check.check.MP7 = config.get('SKINCHANGER', 'MP7') + features_check.check.MP7_f = config.get('SKINCHANGER', 'MP7_f') + features_check.check.MP7_st = config.get('SKINCHANGER', 'MP7_st') + features_check.check.MP7_stv = config.get('SKINCHANGER', 'MP7_stv') + features_check.check.MP7_se = config.get('SKINCHANGER', 'MP7_se') + features_check.check.MP9 = config.get('SKINCHANGER', 'MP9') + features_check.check.MP9_f = config.get('SKINCHANGER', 'MP9_f') + features_check.check.MP9_st = config.get('SKINCHANGER', 'MP9_st') + features_check.check.MP9_stv = config.get('SKINCHANGER', 'MP9_stv') + features_check.check.MP9_se = config.get('SKINCHANGER', 'MP9_se') + features_check.check.Negev = config.get('SKINCHANGER', 'Negev') + features_check.check.Negev_f = config.get('SKINCHANGER', 'Negev_f') + features_check.check.Negev_st = config.get('SKINCHANGER', 'Negev_st') + features_check.check.Negev_stv = config.get('SKINCHANGER', 'Negev_stv') + features_check.check.Negev_se = config.get('SKINCHANGER', 'Negev_se') + features_check.check.Nova = config.get('SKINCHANGER', 'Nova') + features_check.check.Nova_f = config.get('SKINCHANGER', 'Nova_f') + features_check.check.Nova_st = config.get('SKINCHANGER', 'Nova_st') + features_check.check.Nova_stv = config.get('SKINCHANGER', 'Nova_stv') + features_check.check.Nova_se = config.get('SKINCHANGER', 'Nova_se') + features_check.check.P2000 = config.get('SKINCHANGER', 'P2000') + features_check.check.P2000_f = config.get('SKINCHANGER', 'P2000_f') + features_check.check.P2000_st = config.get('SKINCHANGER', 'P2000_st') + features_check.check.P2000_stv = config.get('SKINCHANGER', 'P2000_stv') + features_check.check.P2000_se = config.get('SKINCHANGER', 'P2000_se') + features_check.check.P250 = config.get('SKINCHANGER', 'P250') + features_check.check.P250_f = config.get('SKINCHANGER', 'P250_f') + features_check.check.P250_st = config.get('SKINCHANGER', 'P250_st') + features_check.check.P250_stv = config.get('SKINCHANGER', 'P250_stv') + features_check.check.P250_se = config.get('SKINCHANGER', 'P250_se') + features_check.check.P90 = config.get('SKINCHANGER', 'P90') + features_check.check.P90_f = config.get('SKINCHANGER', 'P90_f') + features_check.check.P90_st = config.get('SKINCHANGER', 'P90_st') + features_check.check.P90_stv = config.get('SKINCHANGER', 'P90_stv') + features_check.check.P90_se = config.get('SKINCHANGER', 'P90_se') + features_check.check.PPBizon = config.get('SKINCHANGER', 'PPBizon') + features_check.check.PPBizon_f = config.get('SKINCHANGER', 'PPBizon_f') + features_check.check.PPBizon_st = config.get('SKINCHANGER', 'PPBizon_st') + features_check.check.PPBizon_stv = config.get('SKINCHANGER', 'PPBizon_stv') + features_check.check.PPBizon_se = config.get('SKINCHANGER', 'PPBizon_se') + features_check.check.R8_Revolver = config.get('SKINCHANGER', 'R8_Revolver') + features_check.check.R8_Revolver_f = config.get('SKINCHANGER', 'R8_Revolver_f') + features_check.check.R8_Revolver_st = config.get('SKINCHANGER', 'R8_Revolver_st') + features_check.check.R8_Revolver_stv = config.get('SKINCHANGER', 'R8_Revolver_stv') + features_check.check.R8_Revolver_se = config.get('SKINCHANGER', 'R8_Revolver_se') + features_check.check.SCAR20 = config.get('SKINCHANGER', 'SCAR20') + features_check.check.SCAR20_f = config.get('SKINCHANGER', 'SCAR20_f') + features_check.check.SCAR20_st = config.get('SKINCHANGER', 'SCAR20_st') + features_check.check.SCAR20_stv = config.get('SKINCHANGER', 'SCAR20_stv') + features_check.check.SCAR20_se = config.get('SKINCHANGER', 'SCAR20_se') + features_check.check.SG_553 = config.get('SKINCHANGER', 'SG_553') + features_check.check.SG_553_f = config.get('SKINCHANGER', 'SG_553_f') + features_check.check.SG_553_st = config.get('SKINCHANGER', 'SG_553_st') + features_check.check.SG_553_stv = config.get('SKINCHANGER', 'SG_553_stv') + features_check.check.SG_553_se = config.get('SKINCHANGER', 'SG_553_se') + features_check.check.SSG_08 = config.get('SKINCHANGER', 'SSG_08') + features_check.check.SSG_08_f = config.get('SKINCHANGER', 'SSG_08_f') + features_check.check.SSG_08_st = config.get('SKINCHANGER', 'SSG_08_st') + features_check.check.SSG_08_stv = config.get('SKINCHANGER', 'SSG_08_stv') + features_check.check.SSG_08_se = config.get('SKINCHANGER', 'SSG_08_se') + features_check.check.SawedOff = config.get('SKINCHANGER', 'SawedOff') + features_check.check.SawedOff_f = config.get('SKINCHANGER', 'SawedOff_f') + features_check.check.SawedOff_st = config.get('SKINCHANGER', 'SawedOff_st') + features_check.check.SawedOff_stv = config.get('SKINCHANGER', 'SawedOff_stv') + features_check.check.SawedOff_se = config.get('SKINCHANGER', 'SawedOff_se') + features_check.check.Tec9 = config.get('SKINCHANGER', 'Tec9') + features_check.check.Tec9_f = config.get('SKINCHANGER', 'Tec9_f') + features_check.check.Tec9_st = config.get('SKINCHANGER', 'Tec9_st') + features_check.check.Tec9_stv = config.get('SKINCHANGER', 'Tec9_stv') + features_check.check.Tec9_se = config.get('SKINCHANGER', 'Tec9_se') + features_check.check.UMP45 = config.get('SKINCHANGER', 'UMP45') + features_check.check.UMP45_f = config.get('SKINCHANGER', 'UMP45_f') + features_check.check.UMP45_st = config.get('SKINCHANGER', 'UMP45_st') + features_check.check.UMP45_stv = config.get('SKINCHANGER', 'UMP45_stv') + features_check.check.UMP45_se = config.get('SKINCHANGER', 'UMP45_se') + features_check.check.USPS = config.get('SKINCHANGER', 'USPS') + features_check.check.USPS_f = config.get('SKINCHANGER', 'USPS_f') + features_check.check.USPS_st = config.get('SKINCHANGER', 'USPS_st') + features_check.check.USPS_stv = config.get('SKINCHANGER', 'USPS_stv') + features_check.check.USPS_se = config.get('SKINCHANGER', 'USPS_se') + features_check.check.XM1014 = config.get('SKINCHANGER', 'XM1014') + features_check.check.XM1014_f = config.get('SKINCHANGER', 'XM1014_f') + features_check.check.XM1014_st = config.get('SKINCHANGER', 'XM1014_st') + features_check.check.XM1014_stv = config.get('SKINCHANGER', 'XM1014_stv') + features_check.check.XM1014_se = config.get('SKINCHANGER', 'XM1014_se') + return + + except Exception as e: + pass \ No newline at end of file diff --git a/classes/get_active_weapons.py b/classes/get_active_weapons.py new file mode 100644 index 0000000..2232e26 --- /dev/null +++ b/classes/get_active_weapons.py @@ -0,0 +1,63 @@ +import ui + +class get : + def active_weapons(self) : + all_weapons = { + "Knife": ui.draw.knife, + "Knife_skin": ui.draw.knife_skin, + "AK-47": ui.draw.AK47, + "AUG": ui.draw.AUG, + "AWP": ui.draw.AWP, + "CZ75-Auto": ui.draw.CZ75Auto, + "Desert Eagle": ui.draw.Desert_Eagle, + "Dual Berettas": ui.draw.Dual_Berettas, + "FAMAS": ui.draw.FAMAS, + "Five-Seven": ui.draw.FiveSeven, + "G3SG1": ui.draw.G3SG1, + "Galil AR": ui.draw.Galil_AR, + "Glock-18": ui.draw.Glock18, + "M249": ui.draw.M249, + "M4A1-S": ui.draw.M4A1S, + "M4A4": ui.draw.M4A4, + "MAC-10": ui.draw.MAC10, + "MAG-7": ui.draw.MAG7, + "MP5SD": ui.draw.MP5SD, + "MP7": ui.draw.MP7, + "MP9": ui.draw.MP9, + "Negev": ui.draw.Negev, + "Nova": ui.draw.Nova, + "P2000": ui.draw.P2000, + "P250": ui.draw.P250, + "P90": ui.draw.P90, + "PP-Bizon": ui.draw.PPBizon, + "R8 Revolver": ui.draw.R8_Revolver, + "SCAR-20": ui.draw.SCAR20, + "SG 553": ui.draw.SG_553, + "SSG 08": ui.draw.SSG_08, + "Sawed-Off": ui.draw.SawedOff, + "Tec-9": ui.draw.Tec9, + "UMP45": ui.draw.UMP45, + "USP-S": ui.draw.USPS, + "XM1014": ui.draw.XM1014, + } + + all_knives = ["Gold knife","Spectral knife","Bayonet","Classic knife","Flip knife","Gut knife", + "Karambit","M9 Bayonet","Huntsman","Falchion knife","Bowie knife", + "Butterfly knife","Shadow daggers","Cord knife","Canis knife","Ursus knife","Navaja","Nomad knife","Stiletto knife","Talon knife","Skeleton knife"] + + ui.draw.active_weapons = {} + for weapon, value in all_weapons.items(): + if value != "0" : + if value in all_knives : + ui.draw.active_weapons[value] = ui.draw.knife_skin + + elif weapon == "Knife_skin" : continue + + else : + ui.draw.active_weapons[weapon] = value + + ui.draw.active_weapons = str(ui.draw.active_weapons) + ui.draw.active_weapons = ui.draw.active_weapons.replace("{","").replace("}","").replace("'","").replace(":"," : ") + ui.draw.active_weapons = list(ui.draw.active_weapons.split(",")) + + return ui.draw.active_weapons \ No newline at end of file diff --git a/classes/get_netvars.py b/classes/get_netvars.py new file mode 100644 index 0000000..765f31b --- /dev/null +++ b/classes/get_netvars.py @@ -0,0 +1,19 @@ +from netvar_manager import NetvarsManager +import pymem +import pymem.process + +class get_netvars() : + def __init__(self) : + pm = pymem.Pymem("csgo.exe") + netvars_manager = NetvarsManager(pm) + out_file = "classes/netvars.json" + if out_file: + with open(out_file, 'w+') as fp: + netvars_manager.dump_netvars( + fp, + json_format=out_file.endswith('.json') + ) + else: + netvars_manager.dump_netvars() + + pm.close_process() \ No newline at end of file diff --git a/classes/key_listen.py b/classes/key_listen.py new file mode 100644 index 0000000..d286de4 --- /dev/null +++ b/classes/key_listen.py @@ -0,0 +1,42 @@ +from pynput import mouse +from pynput.keyboard import Key, Listener +from pynput import keyboard +from functools import partial + +class listen : + def clean_listeners(self) : + listen.key_listen.stop() + listen.mouse_listener.stop() + + def on_press_key(self, key) : + listen.key_key = key + listen.clean_listeners(self) + + def on_click(self, x, y, button, pressed) : + listen.button_button = button + listen.clean_listeners(self) + + def key(self) : + listen.key_key = None + listen.button_button = None + + listen.key_listen = keyboard.Listener(on_press=partial(listen.on_press_key, Key)) + listen.key_listen.start() + + listen.mouse_listener = mouse.Listener(on_click=partial(listen.on_click, mouse.Button)) + listen.mouse_listener.start() + + while True : + try : + if listen.key_key : + return listen.key_key + + except : + pass + + try : + if listen.button_button : + return listen.button_button + + except : + pass \ No newline at end of file diff --git a/classes/last.py b/classes/last.py new file mode 100644 index 0000000..fee47dd --- /dev/null +++ b/classes/last.py @@ -0,0 +1,14 @@ +class last : + def read(self) : + with open("configs/last/last.txt", "r") as f : + for line in f : + last = line + + return last + + def write(self, name) : + with open("configs/last/last.txt", "a") as f : + f.seek(0) + f.truncate() + f.write(name) + f.close() \ No newline at end of file diff --git a/classes/netvar_manager.py b/classes/netvar_manager.py new file mode 100644 index 0000000..a0be332 --- /dev/null +++ b/classes/netvar_manager.py @@ -0,0 +1,110 @@ +import re +import sys +import json +from typing import Union +from pymem.process import module_from_name +from recv_classes import ClientClass + + +__all__ = ['NetvarsManager'] + + +class NetvarsManager: + def __init__(self, pm): + """Creates a new NetvarManager and dumps the netvars. + + :param csgo_handle: Handle of the csgo.exe process. + :type csgo_handle: `pymem.Pymem` + """ + client_handle = module_from_name( + pm.process_handle, 'client.dll' + ) + client_bytes = pm.read_bytes( + client_handle.lpBaseOfDll, client_handle.SizeOfImage + ) + world_decal = re.search(rb'DT_TEWorldDecal', client_bytes).start() + world_decal += client_handle.lpBaseOfDll + all_classes = pm.read_int(client_bytes.find( + world_decal.to_bytes(4, 'little') + ) + 0x2B + client_handle.lpBaseOfDll) + self._client_classes = all_classes + self._handle = pm + self._netvars_dict = dict() + self._dump_netvars_internal() + + def get_netvar( + self, + table_name: str, + prop_name: str + ) -> Union[int, None]: + """Returns netvar's offset by the given data. If can't find a netvar + then returns None. + + :param table_name: Name of the table where is a prop placed in. + :param prop_name: Name of the prop you want to get. + :return: Prop's offset. + """ + return self._netvars_dict.get(table_name, dict()).get(prop_name) + + def dump_netvars(self, out_file=sys.stdout, json_format=False) -> None: + """Dumps netvars, in a plain or json format. If you want to save dump + into a file then you should pass a file-like object to `out_file` + argument. + + :param out_file: File (or stdout) where we should save the dump. + :param json_format: If you need to save the dump in a json format. + """ + if json_format: + out_file.write(json.dumps(self._netvars_dict, indent=4)) + return + for table in self._netvars_dict.keys(): + out_file.write(table + '\n') + max_name_len = len(sorted( + self._netvars_dict[table].keys(), reverse=True, + key=lambda x: len(x) + )[0]) + for table_name, prop_offset in self._netvars_dict[table].items(): + out_file.write('\t{0:<{1}} 0x{2:08x}\n'.format( + table_name, max_name_len, prop_offset + )) + + def _dump_table(self, table) -> None: + table_name = table.get_table_name() + for i in range(table.get_max_props()): + prop = table.get_prop(i) + prop_name = prop.get_name() + if prop_name.isnumeric(): # Some shitty prop. + continue + prop_offest = prop.get_offset() + table_existed_data = self._netvars_dict.get(table_name, dict()) + table_existed_data.update({prop_name: prop_offest}) + self._netvars_dict.update( + {table_name: table_existed_data} + ) + try: + data_table = prop.get_data_table() + if not data_table: + continue + except Exception: + continue + else: + try: + self._dump_table(data_table) + except Exception: + continue + + def _dump_netvars_internal(self) -> None: + client_class = ClientClass( + self._handle.read_int(self._client_classes + 0x10), + self._handle + ) + while client_class is not None: + try: + table = client_class.get_table() + table_name = table.get_table_name() + if not table_name: + break + except Exception: + break + self._dump_table(table) + client_class = client_class.get_next_class() \ No newline at end of file diff --git a/classes/read_config.py b/classes/read_config.py new file mode 100644 index 0000000..067c173 --- /dev/null +++ b/classes/read_config.py @@ -0,0 +1,233 @@ +from configparser import ConfigParser +import ui + +class read() : + def config(self, config_name) : + config = ConfigParser() + + config.read('configs/'+config_name) + + #VISUALS + ui.draw.glow_active = config.getboolean('VISUALS', 'glow_active') + ui.draw.glow_health_based = config.getboolean('VISUALS', 'glow_health_based') + ui.draw.glow_ennemies = config.getboolean('VISUALS', 'glow_ennemies') + ui.draw.ennemies_glow_color = config.get('VISUALS', 'ennemies_glow_color') + ui.draw.glow_allies = config.getboolean('VISUALS', 'glow_allies') + ui.draw.allies_glow_color = config.get('VISUALS', 'allies_glow_color') + ui.draw.chams_active = config.getboolean('VISUALS', 'chams_active') + ui.draw.chams_health_based = config.getboolean('VISUALS', 'chams_health_based') + ui.draw.chams_ennemies = config.getboolean('VISUALS', 'chams_ennemies') + ui.draw.ennemies_chams_color = config.get('VISUALS', 'ennemies_chams_color') + ui.draw.chams_allies = config.getboolean('VISUALS', 'chams_allies') + ui.draw.allies_chams_color = config.get('VISUALS', 'allies_chams_color') + + #AIM + ui.draw.aimbot = config.getboolean('AIM', 'aimbot') + ui.draw.aimbot_key = config.get('AIM', 'aimbot_key') + ui.draw.rcs = config.getboolean('AIM', 'rcs') + ui.draw.rcs_perfect = config.getfloat('AIM', 'rcs_perfect') + ui.draw.triggerbot = config.getboolean('AIM', 'triggerbot') + ui.draw.t_delay = config.getfloat('AIM', 't_delay') + ui.draw.triggerbot_key = config.get('AIM', 'triggerbot_key') + ui.draw.rapid_fire = config.getboolean('AIM', 'rapid_fire') + ui.draw.rapid_fire_key = config.get('AIM', 'rapid_fire_key') + ui.draw.silent_aim = config.getboolean('AIM', 'silent_aim') + ui.draw.silent_aim_key = config.get('AIM', 'silent_aim_key') + ui.draw.crosshair = config.getboolean('AIM', 'crosshair') + + #MISC + ui.draw.third_person = config.getboolean('MISC', 'third_person') + ui.draw.thirdperson_key = config.get('MISC', 'thirdperson_key') + ui.draw.fov = config.getboolean('MISC', 'fov') + ui.draw.fov_value = config.getfloat('MISC', 'fov_value') + ui.draw.hitsound = config.getboolean('MISC', 'hitsound') + ui.draw.sound = config.get('MISC', 'sound') + ui.draw.sound_esp = config.getboolean('MISC', 'sound_esp') + ui.draw.no_flash = config.getboolean('MISC', 'no_flash') + ui.draw.bhop_rage = config.getboolean('MISC', 'bhop_rage') + ui.draw.bhop_legit = config.getboolean('MISC', 'bhop_legit') + ui.draw.show_money = config.getboolean('MISC', 'show_money') + ui.draw.radar = config.getboolean('MISC', 'radar') + ui.draw.fake_lag = config.getboolean('MISC', 'fake_lag') + ui.draw.fake_lag_value = config.getfloat('MISC', 'fake_lag_value') + + #SETTINGS + ui.draw.ui_color = config.get('SETTINGS', 'ui_color') + + #SKINCHANGER + ui.draw.knife = config.get('SKINCHANGER', 'knife') + ui.draw.knife_skin = config.get('SKINCHANGER', 'knife_skin') + ui.draw.knife_f = config.get('SKINCHANGER', 'knife_f') + ui.draw.knife_st = config.get('SKINCHANGER', 'knife_st') + ui.draw.knife_stv = config.get('SKINCHANGER', 'knife_stv') + ui.draw.knife_se = config.get('SKINCHANGER', 'knife_se') + ui.draw.AK47 = config.get('SKINCHANGER', 'AK47') + ui.draw.AK47_f = config.get('SKINCHANGER', 'AK47_f') + ui.draw.AK47_st = config.get('SKINCHANGER', 'AK47_st') + ui.draw.AK47_stv = config.get('SKINCHANGER', 'AK47_stv') + ui.draw.AK47_se = config.get('SKINCHANGER', 'AK47_se') + ui.draw.AUG = config.get('SKINCHANGER', 'AUG') + ui.draw.AUG_f = config.get('SKINCHANGER', 'AUG_f') + ui.draw.AUG_st = config.get('SKINCHANGER', 'AUG_st') + ui.draw.AUG_stv = config.get('SKINCHANGER', 'AUG_stv') + ui.draw.AUG_se = config.get('SKINCHANGER', 'AUG_se') + ui.draw.AWP = config.get('SKINCHANGER', 'AWP') + ui.draw.AWP_f = config.get('SKINCHANGER', 'AWP_f') + ui.draw.AWP_st = config.get('SKINCHANGER', 'AWP_st') + ui.draw.AWP_stv = config.get('SKINCHANGER', 'AWP_stv') + ui.draw.AWP_se = config.get('SKINCHANGER', 'AWP_se') + ui.draw.CZ75Auto = config.get('SKINCHANGER', 'CZ75Auto') + ui.draw.CZ75Auto_f = config.get('SKINCHANGER', 'CZ75Auto_f') + ui.draw.CZ75Auto_st = config.get('SKINCHANGER', 'CZ75Auto_st') + ui.draw.CZ75Auto_stv = config.get('SKINCHANGER', 'CZ75Auto_stv') + ui.draw.CZ75Auto_se = config.get('SKINCHANGER', 'CZ75Auto_se') + ui.draw.Desert_Eagle = config.get('SKINCHANGER', 'Desert_Eagle') + ui.draw.Desert_Eagle_f = config.get('SKINCHANGER', 'Desert_Eagle_f') + ui.draw.Desert_Eagle_st = config.get('SKINCHANGER', 'Desert_Eagle_st') + ui.draw.Desert_Eagle_stv = config.get('SKINCHANGER', 'Desert_Eagle_stv') + ui.draw.Desert_Eagle_se = config.get('SKINCHANGER', 'Desert_Eagle_se') + ui.draw.Dual_Berettas = config.get('SKINCHANGER', 'Dual_Berettas') + ui.draw.Dual_Berettas_f = config.get('SKINCHANGER', 'Dual_Berettas_f') + ui.draw.Dual_Berettas_st = config.get('SKINCHANGER', 'Dual_Berettas_st') + ui.draw.Dual_Berettas_stv = config.get('SKINCHANGER', 'Dual_Berettas_stv') + ui.draw.Dual_Berettas_se = config.get('SKINCHANGER', 'Dual_Berettas_se') + ui.draw.FAMAS = config.get('SKINCHANGER', 'FAMAS') + ui.draw.FAMAS_f = config.get('SKINCHANGER', 'FAMAS_f') + ui.draw.FAMAS_st = config.get('SKINCHANGER', 'FAMAS_st') + ui.draw.FAMAS_stv = config.get('SKINCHANGER', 'FAMAS_stv') + ui.draw.FAMAS_se = config.get('SKINCHANGER', 'FAMAS_se') + ui.draw.FiveSeven = config.get('SKINCHANGER', 'FiveSeven') + ui.draw.FiveSeven_f = config.get('SKINCHANGER', 'FiveSeven_f') + ui.draw.FiveSeven_st = config.get('SKINCHANGER', 'FiveSeven_st') + ui.draw.FiveSeven_stv = config.get('SKINCHANGER', 'FiveSeven_stv') + ui.draw.FiveSeven_se = config.get('SKINCHANGER', 'FiveSeven_se') + ui.draw.G3SG1 = config.get('SKINCHANGER', 'G3SG1') + ui.draw.G3SG1_f = config.get('SKINCHANGER', 'G3SG1_f') + ui.draw.G3SG1_st = config.get('SKINCHANGER', 'G3SG1_st') + ui.draw.G3SG1_stv = config.get('SKINCHANGER', 'G3SG1_stv') + ui.draw.G3SG1_se = config.get('SKINCHANGER', 'G3SG1_se') + ui.draw.Galil_AR = config.get('SKINCHANGER', 'Galil_AR') + ui.draw.Galil_AR_f = config.get('SKINCHANGER', 'Galil_AR_f') + ui.draw.Galil_AR_st = config.get('SKINCHANGER', 'Galil_AR_st') + ui.draw.Galil_AR_stv = config.get('SKINCHANGER', 'Galil_AR_stv') + ui.draw.Galil_AR_se = config.get('SKINCHANGER', 'Galil_AR_se') + ui.draw.Glock18 = config.get('SKINCHANGER', 'Glock18') + ui.draw.Glock18_f = config.get('SKINCHANGER', 'Glock18_f') + ui.draw.Glock18_st = config.get('SKINCHANGER', 'Glock18_st') + ui.draw.Glock18_stv = config.get('SKINCHANGER', 'Glock18_stv') + ui.draw.Glock18_se = config.get('SKINCHANGER', 'Glock18_se') + ui.draw.M249 = config.get('SKINCHANGER', 'M249') + ui.draw.M249_f = config.get('SKINCHANGER', 'M249_f') + ui.draw.M249_st = config.get('SKINCHANGER', 'M249_st') + ui.draw.M249_stv = config.get('SKINCHANGER', 'M249_stv') + ui.draw.M249_se = config.get('SKINCHANGER', 'M249_se') + ui.draw.M4A1S = config.get('SKINCHANGER', 'M4A1S') + ui.draw.M4A1S_f = config.get('SKINCHANGER', 'M4A1S_f') + ui.draw.M4A1S_st = config.get('SKINCHANGER', 'M4A1S_st') + ui.draw.M4A1S_stv = config.get('SKINCHANGER', 'M4A1S_stv') + ui.draw.M4A1S_se = config.get('SKINCHANGER', 'M4A1S_se') + ui.draw.M4A4 = config.get('SKINCHANGER', 'M4A4') + ui.draw.M4A4_f = config.get('SKINCHANGER', 'M4A4_f') + ui.draw.M4A4_st = config.get('SKINCHANGER', 'M4A4_st') + ui.draw.M4A4_stv = config.get('SKINCHANGER', 'M4A4_stv') + ui.draw.M4A4_se = config.get('SKINCHANGER', 'M4A4_se') + ui.draw.MAC10 = config.get('SKINCHANGER', 'MAC10') + ui.draw.MAC10_f = config.get('SKINCHANGER', 'MAC10_f') + ui.draw.MAC10_st = config.get('SKINCHANGER', 'MAC10_st') + ui.draw.MAC10_stv = config.get('SKINCHANGER', 'MAC10_stv') + ui.draw.MAC10_se = config.get('SKINCHANGER', 'MAC10_se') + ui.draw.MAG7 = config.get('SKINCHANGER', 'MAG7') + ui.draw.MAG7_f = config.get('SKINCHANGER', 'MAG7_f') + ui.draw.MAG7_st = config.get('SKINCHANGER', 'MAG7_st') + ui.draw.MAG7_stv = config.get('SKINCHANGER', 'MAG7_stv') + ui.draw.MAG7_se = config.get('SKINCHANGER', 'MAG7_se') + ui.draw.MP5SD = config.get('SKINCHANGER', 'MP5SD') + ui.draw.MP5SD_f = config.get('SKINCHANGER', 'MP5SD_f') + ui.draw.MP5SD_st = config.get('SKINCHANGER', 'MP5SD_st') + ui.draw.MP5SD_stv = config.get('SKINCHANGER', 'MP5SD_stv') + ui.draw.MP5SD_se = config.get('SKINCHANGER', 'MP5SD_se') + ui.draw.MP7 = config.get('SKINCHANGER', 'MP7') + ui.draw.MP7_f = config.get('SKINCHANGER', 'MP7_f') + ui.draw.MP7_st = config.get('SKINCHANGER', 'MP7_st') + ui.draw.MP7_stv = config.get('SKINCHANGER', 'MP7_stv') + ui.draw.MP7_se = config.get('SKINCHANGER', 'MP7_se') + ui.draw.MP9 = config.get('SKINCHANGER', 'MP9') + ui.draw.MP9_f = config.get('SKINCHANGER', 'MP9_f') + ui.draw.MP9_st = config.get('SKINCHANGER', 'MP9_st') + ui.draw.MP9_stv = config.get('SKINCHANGER', 'MP9_stv') + ui.draw.MP9_se = config.get('SKINCHANGER', 'MP9_se') + ui.draw.Negev = config.get('SKINCHANGER', 'Negev') + ui.draw.Negev_f = config.get('SKINCHANGER', 'Negev_f') + ui.draw.Negev_st = config.get('SKINCHANGER', 'Negev_st') + ui.draw.Negev_stv = config.get('SKINCHANGER', 'Negev_stv') + ui.draw.Negev_se = config.get('SKINCHANGER', 'Negev_se') + ui.draw.Nova = config.get('SKINCHANGER', 'Nova') + ui.draw.Nova_f = config.get('SKINCHANGER', 'Nova_f') + ui.draw.Nova_st = config.get('SKINCHANGER', 'Nova_st') + ui.draw.Nova_stv = config.get('SKINCHANGER', 'Nova_stv') + ui.draw.Nova_se = config.get('SKINCHANGER', 'Nova_se') + ui.draw.P2000 = config.get('SKINCHANGER', 'P2000') + ui.draw.P2000_f = config.get('SKINCHANGER', 'P2000_f') + ui.draw.P2000_st = config.get('SKINCHANGER', 'P2000_st') + ui.draw.P2000_stv = config.get('SKINCHANGER', 'P2000_stv') + ui.draw.P2000_se = config.get('SKINCHANGER', 'P2000_se') + ui.draw.P250 = config.get('SKINCHANGER', 'P250') + ui.draw.P250_f = config.get('SKINCHANGER', 'P250_f') + ui.draw.P250_st = config.get('SKINCHANGER', 'P250_st') + ui.draw.P250_stv = config.get('SKINCHANGER', 'P250_stv') + ui.draw.P250_se = config.get('SKINCHANGER', 'P250_se') + ui.draw.P90 = config.get('SKINCHANGER', 'P90') + ui.draw.P90_f = config.get('SKINCHANGER', 'P90_f') + ui.draw.P90_st = config.get('SKINCHANGER', 'P90_st') + ui.draw.P90_stv = config.get('SKINCHANGER', 'P90_stv') + ui.draw.P90_se = config.get('SKINCHANGER', 'P90_se') + ui.draw.PPBizon = config.get('SKINCHANGER', 'PPBizon') + ui.draw.PPBizon_f = config.get('SKINCHANGER', 'PPBizon_f') + ui.draw.PPBizon_st = config.get('SKINCHANGER', 'PPBizon_st') + ui.draw.PPBizon_stv = config.get('SKINCHANGER', 'PPBizon_stv') + ui.draw.PPBizon_se = config.get('SKINCHANGER', 'PPBizon_se') + ui.draw.R8_Revolver = config.get('SKINCHANGER', 'R8_Revolver') + ui.draw.R8_Revolver_f = config.get('SKINCHANGER', 'R8_Revolver_f') + ui.draw.R8_Revolver_st = config.get('SKINCHANGER', 'R8_Revolver_st') + ui.draw.R8_Revolver_stv = config.get('SKINCHANGER', 'R8_Revolver_stv') + ui.draw.R8_Revolver_se = config.get('SKINCHANGER', 'R8_Revolver_se') + ui.draw.SCAR20 = config.get('SKINCHANGER', 'SCAR20') + ui.draw.SCAR20_f = config.get('SKINCHANGER', 'SCAR20_f') + ui.draw.SCAR20_st = config.get('SKINCHANGER', 'SCAR20_st') + ui.draw.SCAR20_stv = config.get('SKINCHANGER', 'SCAR20_stv') + ui.draw.SCAR20_se = config.get('SKINCHANGER', 'SCAR20_se') + ui.draw.SG_553 = config.get('SKINCHANGER', 'SG_553') + ui.draw.SG_553_f = config.get('SKINCHANGER', 'SG_553_f') + ui.draw.SG_553_st = config.get('SKINCHANGER', 'SG_553_st') + ui.draw.SG_553_stv = config.get('SKINCHANGER', 'SG_553_stv') + ui.draw.SG_553_se = config.get('SKINCHANGER', 'SG_553_se') + ui.draw.SSG_08 = config.get('SKINCHANGER', 'SSG_08') + ui.draw.SSG_08_f = config.get('SKINCHANGER', 'SSG_08_f') + ui.draw.SSG_08_st = config.get('SKINCHANGER', 'SSG_08_st') + ui.draw.SSG_08_stv = config.get('SKINCHANGER', 'SSG_08_stv') + ui.draw.SSG_08_se = config.get('SKINCHANGER', 'SSG_08_se') + ui.draw.SawedOff = config.get('SKINCHANGER', 'SawedOff') + ui.draw.SawedOff_f = config.get('SKINCHANGER', 'SawedOff_f') + ui.draw.SawedOff_st = config.get('SKINCHANGER', 'SawedOff_st') + ui.draw.SawedOff_stv = config.get('SKINCHANGER', 'SawedOff_stv') + ui.draw.SawedOff_se = config.get('SKINCHANGER', 'SawedOff_se') + ui.draw.Tec9 = config.get('SKINCHANGER', 'Tec9') + ui.draw.Tec9_f = config.get('SKINCHANGER', 'Tec9_f') + ui.draw.Tec9_st = config.get('SKINCHANGER', 'Tec9_st') + ui.draw.Tec9_stv = config.get('SKINCHANGER', 'Tec9_stv') + ui.draw.Tec9_se = config.get('SKINCHANGER', 'Tec9_se') + ui.draw.UMP45 = config.get('SKINCHANGER', 'UMP45') + ui.draw.UMP45_f = config.get('SKINCHANGER', 'UMP45_f') + ui.draw.UMP45_st = config.get('SKINCHANGER', 'UMP45_st') + ui.draw.UMP45_stv = config.get('SKINCHANGER', 'UMP45_stv') + ui.draw.UMP45_se = config.get('SKINCHANGER', 'UMP45_se') + ui.draw.USPS = config.get('SKINCHANGER', 'USPS') + ui.draw.USPS_f = config.get('SKINCHANGER', 'USPS_f') + ui.draw.USPS_st = config.get('SKINCHANGER', 'USPS_st') + ui.draw.USPS_stv = config.get('SKINCHANGER', 'USPS_stv') + ui.draw.USPS_se = config.get('SKINCHANGER', 'USPS_se') + ui.draw.XM1014 = config.get('SKINCHANGER', 'XM1014') + ui.draw.XM1014_f = config.get('SKINCHANGER', 'XM1014_f') + ui.draw.XM1014_st = config.get('SKINCHANGER', 'XM1014_st') + ui.draw.XM1014_stv = config.get('SKINCHANGER', 'XM1014_stv') + ui.draw.XM1014_se = config.get('SKINCHANGER', 'XM1014_se') \ No newline at end of file diff --git a/classes/read_last.py b/classes/read_last.py new file mode 100644 index 0000000..b51507f --- /dev/null +++ b/classes/read_last.py @@ -0,0 +1,9 @@ +def main() : + with open("configs/last/last.txt", "r") as f : + for line in f : + last = line + + return last + +if __name__ == "__main__" : + main() \ No newline at end of file diff --git a/classes/recv_classes.py b/classes/recv_classes.py new file mode 100644 index 0000000..c0dc673 --- /dev/null +++ b/classes/recv_classes.py @@ -0,0 +1,72 @@ +import re +import sys +import json +from typing import Union +from pymem.process import module_from_name + +__all__ = ['RecvTable', 'RecvProp', 'ClientClass'] + + +class RecvProp: + def __init__(self, start_addr, handle): + self._start_addr = start_addr + self._handle = handle + + def get_name(self) -> str: + """Returns a name of the prop.""" + name_addr = self._handle.read_int(self._start_addr) + return self._handle.read_string(name_addr, 128) + + def get_offset(self) -> int: + """Returns an offset of the prop.""" + return self._handle.read_int(self._start_addr + 0x2C) + + def get_data_table(self) -> "RecvTable": + """Returns a data table for the prop.""" + return RecvTable( + self._handle.read_int(self._start_addr + 0x28), + self._handle + ) + + +class RecvTable: + def __init__(self, start_addr, handle): + self._start_addr = start_addr + self._handle = handle + + def get_table_name(self) -> str: + """Returns a table's name.""" + name_addr = self._handle.read_int(self._start_addr + 0xC) + return self._handle.read_string(name_addr, 128) + + def get_max_props(self) -> int: + """Returns prop's count in a table.""" + return self._handle.read_int(self._start_addr + 0x4) + + def get_prop(self, index): + """Returns prop by the given index.""" + props_addr = self._handle.read_int(self._start_addr) + prop_addr = props_addr + 0x3C * index + if not prop_addr: + return None + return RecvProp(prop_addr, self._handle) + + +class ClientClass: + def __init__(self, start_addr, handle): + self._start_addr = start_addr + self._handle = handle + + def get_next_class(self) -> "ClientClass": + """Returns next client class.""" + return self.__class__( + self._handle.read_int(self._start_addr + 0x10), + self._handle + ) + + def get_table(self) -> RecvTable: + """Returns client class' table.""" + return RecvTable( + self._handle.read_int(self._start_addr + 0xC), + self._handle + ) \ No newline at end of file diff --git a/classes/skin_id_dumper.py b/classes/skin_id_dumper.py new file mode 100644 index 0000000..ac3e936 --- /dev/null +++ b/classes/skin_id_dumper.py @@ -0,0 +1,106 @@ +import re +import io +import os + +def main() : + # Point the script to your CSGO folder and it will get up to date skin IDs and names and output to item_index.txt + SteamPath = 'C:/Program Files (x86)/Steam/steamapps/common/Counter-Strike Global Offensive/' + + skindata = {} + with open(os.path.join(SteamPath, 'csgo/scripts/items/items_game.txt'), 'r') as itemfile: + start = False + count = 0 + currnum = None + + for line in itemfile.readlines(): + if start: + number = False + tempdata = {} + + if re.match(r'^"\d*"$', line.strip()): + currnum = int(line.strip().replace('"', '')) + skindata[currnum] = {} + number = True + + if '{' in line: + count += 1 + if '}' in line: + count -= 1 + + if count == 0: + start = False + continue + + if line.strip() == '{' or line.strip() == '}': + continue + + if currnum and not number: + try: + first, second = line.strip().replace('"', '').split('\t\t') + skindata[currnum][first] = second + except ValueError: + pass + + if line.strip() == '"paint_kits"': + start = True + + skindata.pop(0) + skindata.pop(9001) + + + namedata = {} + with io.open(os.path.join(SteamPath, 'csgo/resource/csgo_english.txt'), 'r', encoding='utf-16-le') as languagefile: + # Steam language files are encoded in utf-16LE + start = False + count = 0 + currnum = None + + for line in languagefile.readlines(): + if line.strip() == '//Recipes': + start = False + break + + if start: + if line.strip().startswith('"Paint'): + tag, name = re.split(r'"\s+"', line.strip()) + + if 'tag' in tag.lower(): + namedata['#' + tag.replace('"', '').lower()] = name.replace('"', '') + + if line.strip() == '// Paint Kits': + start = True + + with io.open('item_index.txt', 'w', encoding="utf-8") as outfile: + for n in sorted(skindata): + tag = skindata[n]['description_tag'] + + outfile.write("%s: %s\n" % (n, namedata[tag.lower()])) + + with open('item_index.txt', 'r', encoding="utf-8") as f : + skin_dict = {} + skin_dict["Original"] = "0" + skin_list = [] + + for line in f : + id_, skin_name = line.split(":") + skin_name = skin_name.replace("\n", "") + skin_name = skin_name[1:] + + i = 1 + while skin_name in skin_list : + if "#" in skin_name : + skin_name = skin_name.replace(" #", "") + skin_name = skin_name[:-1] + + skin_name = skin_name+" #"+str(i) + i = i + 1 + + skin_list.append(skin_name) + skin_dict[skin_name] = id_ + + os.system("del item_index.txt") + + return skin_dict, ["Original"]+skin_list + +if __name__ == "main" : + main() \ No newline at end of file diff --git a/classes/ui.py b/classes/ui.py new file mode 100644 index 0000000..cfeb7e2 --- /dev/null +++ b/classes/ui.py @@ -0,0 +1,1083 @@ +import kivy, sys, os +from kivy.uix.relativelayout import RelativeLayout +from kivy.uix.button import Button +from kivy.uix.label import Label +from kivy.uix.checkbox import CheckBox +from kivy.config import Config +Config.set('kivy','window_icon','images/rainbow.ico') +Config.set('input', 'mouse', 'mouse,multitouch_on_demand') +Config.set('graphics', 'width', '700') +Config.set('graphics', 'height', '400') +Config.set('graphics', 'resizable', False) + +from kivy.uix.textinput import TextInput +from kivy.uix.gridlayout import GridLayout +from kivy.graphics import Rectangle, Color +from kivy.uix.spinner import Spinner +from kivy.uix.colorpicker import ColorPicker +from kivy.uix.recycleview import RecycleView +from kivy.lang import Builder +from kivy.app import App + +from kivy.uix.popup import Popup +from functools import partial +from kivy.config import Config +from write_config import write +from key_listen import listen +from read_config import read +from last import last +from get_active_weapons import get +from skin_id_dumper import main as dump_skins + +import keyboard +import datetime + +from multiprocessing import * +import multiprocessing + +sys.path.insert(1, "utils/") +from rank_reveal import rank_reveal + +class draw(App): + def rgba(self, string) : + + string = str(string) + string = string.replace("[", "") + string = string.replace("]", "") + + return tuple(map(float,string.split(', '))) + + def on_text(self, instance, value): + self.config_to_save_name = value + + def on_enter(self, instance): + self.name_of_config_to_write(self) + + def read_config(self, *args) : + self.config_to_load_name = self.spinnerObject_configs.text + + last.write(self, self.config_to_load_name) + read.config(self, self.config_to_load_name) + + ui_color_rgba = self.rgba(draw.ui_color) + self.visuals.background_color = ui_color_rgba + self.settings.background_color = ui_color_rgba + self.aim.background_color = ui_color_rgba + self.misc.background_color = ui_color_rgba + self.config.background_color = ui_color_rgba + + def name_of_config_to_write(self, *args) : + if ".ini" in self.config_name_input.text : + self.config_name_to_save = self.config_name_input.text + else : + self.config_name_to_save = self.config_name_input.text+".ini" + + last.write(self, self.config_name_to_save) + write.config(self, self.config_name_to_save) + + def save_config(self, *args) : + if self.spinnerObject_configs.text != "Select" : + self.config_name_to_save = self.spinnerObject_configs.text + write.config(self, self.config_name_to_save) + + last.write(self, self.config_name_to_save) + + def draw_config(self) : + kv = """ + +FloatLayout: + Label: + text : "Save Config" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.65} + font_size: 20 + Label: + text : "Save as" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.7, "right": 0.38} + font_size: 20 + Label: + text : ".ini" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.7, "right": 0.66} + font_size: 20 + Button: + text : "save" + size_hint: 0.08, 0.08 + pos_hint: {"top":0.69, "right": 0.77} + on_release: app.name_of_config_to_write(self) + + Label: + text : "Select Config" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.5, "right": 0.64} + font_size: 20 + Button: + text : "Load" + size_hint: 0.08, 0.08 + pos_hint: {"top":0.3, "right": 0.7} + on_release: app.read_config(self) + Button: + text : "Save" + size_hint: 0.08, 0.08 + pos_hint: {"top":0.3, "right": 0.79} + on_release: app.save_config(self) +""" + self.config_name_input = TextInput(multiline=False, pos_hint={"top":0.688, "right": 0.59}, size_hint=(0.2, 0.08)) + self.config_name_input.bind(on_text_validate=self.on_enter) + self.config_name_input.bind(text=self.on_text) + + folder = "configs/" + filelist = [fname for fname in os.listdir(folder) if fname.endswith('.ini')] + self.spinnerObject_configs = Spinner(text ="Select") + self.spinnerObject_configs.values = filelist + + self.spinnerObject_configs.size_hint = (0.1, 0.1) + self.spinnerObject_configs.pos_hint ={"top":0.30, "right": 0.58} + + sm = Builder.load_string(kv) + self.rl_config = RelativeLayout(size =(0, 0)) + self.rl_config.add_widget(self.config_name_input) + self.rl_config.add_widget(self.spinnerObject_configs) + self.rl_config.add_widget(sm) + self.rl.add_widget(self.rl_config) + + def draw_settings(self) : + kv = """ + +FloatLayout: + Button: + text : "Ui color" + background_color : app.rgba(app.ui_color) + size_hint: 0.1, 0.05 + pos_hint: {"top": 0.98, "right": 0.99} + on_release: app.draw_colorwheel("ui_color") + Label: + text : "Skinchanger" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.64} + font_size: 20 + Label: + text : "Stattrack value" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.56, "right": 0.8} + font_size: 15 + CheckBox: + id : stattrack_chk + active : app.stattrack_active + size_hint: 0.1, 0.1 + pos_hint: {"top":0.5, "right": 0.93} + on_press: app.on_checkbox_Active(stattrack_chk.active, "stattrack_active") + Label: + text : "Seed value" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.4, "right": 0.8} + font_size: 15 + Label: + text : "Float value" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.23, "right": 0.8} + font_size: 15 + Button: + text : "Update" + background_color : app.rgba(app.ui_color) + size_hint: 0.1, 0.05 + pos_hint: {"top": 0.07, "right": 0.35} + on_release: app.active_skins_mgmnt("update") + Button: + text : "Delete" + background_color : app.rgba(app.ui_color) + size_hint: 0.1, 0.05 + pos_hint: {"top": 0.07, "right": 0.45} + on_release: app.active_skins_mgmnt("delete") + Button: + text : "Add" + background_color : app.rgba(app.ui_color) + size_hint: 0.1, 0.05 + pos_hint: {"top": 0.07, "right": 0.55} + on_release: app.active_skins_mgmnt("add") + +""" + + sm = Builder.load_string(kv) + + self.rl_settings = RelativeLayout(size =(0, 0)) + self.rl_settings.add_widget(sm) + + weapons = sorted(["CZ75-Auto","Desert Eagle","Dual Berettas","Five-Seven","Glock-18","P2000","P250", + "R8 Revolver","Tec-9","USP-S","MAG-7","Nova","Sawed-Off","XM1014","M249","Negev","MAC-10","MP5-SD","MP7","MP9", + "P90","PP-Bizon","UMP-45","AK-47","AUG","FAMAS","Galil AR","M4A1-S","M4A4","SG 553","AWP","G3SG1","SCAR-20","SSG 08"]) + + self.all_knives = sorted(["Gold knife","Spectral knife","Bayonet","Classic knife","Flip knife","Gut knife", + "Karambit","M9 Bayonet","Huntsman","Falchion knife","Bowie knife", + "Butterfly knife","Shadow daggers","Cord knife","Canis knife","Ursus knife","Navaja","Nomad knife","Stiletto knife","Talon knife","Skeleton knife"]) + + weapons = weapons + self.all_knives + + self.spinnerObject_weapons = Spinner(text ="Weapon") + self.spinnerObject_weapons.values = weapons + self.spinnerObject_weapons.bind(text = partial(self.spinners, "weapon_to_change")) + + self.spinnerObject_weapons.size_hint = (0.2, 0.1) + self.spinnerObject_weapons.pos_hint ={"top":0.78, "right": 0.85} + + self.spinnerObject_skins.pos_hint = {"top":0.65, "right": 0.85} + + self.spinnerObject_active_weapons = Spinner(text ="Active skins") + self.spinnerObject_active_weapons.values = sorted(self.active_weapons) + self.spinnerObject_active_weapons.bind(text=self.skinchanger_active_weapons_input) + + self.spinnerObject_active_weapons.size_hint = (0.3, 0.1) + self.spinnerObject_active_weapons.pos_hint ={"top":0.78, "right": 0.58} + + self.stattrack_value_input = TextInput(multiline=False, pos_hint={"top":0.49, "right": 0.85}, size_hint=(0.2, 0.08)) + self.stattrack_value_input.bind(text=self.skinchanger_stattrack_value_input) + + self.seed_value_input = TextInput(multiline=False, pos_hint={"top":0.33, "right": 0.85}, size_hint=(0.2, 0.08)) + self.seed_value_input.bind(text=self.skinchanger_seed_input) + + self.float_value_input = TextInput(multiline=False, pos_hint={"top":0.16, "right": 0.85}, size_hint=(0.2, 0.08)) + self.float_value_input.bind(text=self.skinchanger_float_input) + + self.rl_settings.add_widget(self.spinnerObject_active_weapons) + self.rl_settings.add_widget(self.float_value_input) + self.rl_settings.add_widget(self.seed_value_input) + self.rl_settings.add_widget(self.stattrack_value_input) + self.rl_settings.add_widget(self.spinnerObject_weapons) + self.rl.add_widget(self.rl_settings) + + def active_skins_mgmnt(self, value) : + if value == "Active skins" : + return + elif value == "update" : + keyboard.send("f6") + elif value == "delete" : + entry_to_del = draw.skinchanger_active_weapons_selected + self.active_weapons.remove(entry_to_del) + self.spinnerObject_active_weapons.values = self.active_weapons + + entry_to_del_conf, skin = entry_to_del.split(" : ") + + entry_to_del_conf = entry_to_del_conf.replace(" ","_").replace("-","") + setattr(draw, entry_to_del_conf,"0") + setattr(draw, entry_to_del_conf+"_f", 0) + setattr(draw, entry_to_del_conf+"_st", False) + setattr(draw, entry_to_del_conf+"_stv", 0) + setattr(draw, entry_to_del_conf+"_se", 0) + + last.write(self, "temp.ini") + write.config(self, "temp.ini") + elif value == "add" : + if draw.weapon_to_change in self.all_knives : + draw.knife = draw.weapon_to_change + draw.knife_skin = draw.skin_to_change + + for x in self.active_weapons : + if x.startswith(" ") : + x = x.replace(" ","") + a, b = x.split(":") + a = a.replace("\n","").replace("\r","") + a = a[:-1] + if a in self.all_knives : + self.active_weapons.remove(x) + + self.active_weapons.append(draw.weapon_to_change+" : "+draw.skin_to_change) + self.spinnerObject_active_weapons.values = sorted(self.active_weapons) + + if draw.stattrack_active : + draw.knife_st = True + draw.knife_stv = draw.stattrack_value + else : + draw.knife_st = False + draw.knife_stv = 0 + + draw.knife_se = draw.seed_value + + else : + self.active_weapons = [x for x in self.active_weapons if not x.startswith(draw.weapon_to_change)] + self.active_weapons = [x for x in self.active_weapons if not x.startswith(" "+draw.weapon_to_change)] + self.active_weapons.append(draw.weapon_to_change+" : "+draw.skin_to_change) + self.spinnerObject_active_weapons.values = sorted(self.active_weapons) + + draw.weapon_to_change2 = draw.weapon_to_change.replace(" ","_").replace("-","") + setattr(draw, draw.weapon_to_change2, draw.skin_to_change) + setattr(draw, draw.weapon_to_change2+"_f", draw.float_value) + + if draw.stattrack_active : + setattr(draw, draw.weapon_to_change2+"_st", True) + setattr(draw, draw.weapon_to_change2+"_stv", draw.stattrack_value) + else : + setattr(draw, draw.weapon_to_change2+"_st", False) + setattr(draw, draw.weapon_to_change2+"_stv", 0) + + setattr(draw, draw.weapon_to_change2+"_se", draw.seed_value) + + last.write(self, "temp.ini") + write.config(self, "temp.ini") + + def skinchanger_stattrack_value_input(self, instance, value) : + draw.stattrack_value = value + + def skinchanger_active_weapons_input(self, instance, value) : + draw.skinchanger_active_weapons_selected = value + + def skinchanger_seed_input(self, instance, value) : + draw.seed_value = value + + def skinchanger_float_input(self, instance, value) : + draw.float_value = value + + def on_change_slider(self, value, name) : + if name == "slider1" : + try : + self.rl_aim.remove_widget(self.perfect_value_label) + except : + pass + value = round(value, 1) + self.perfect_value_label = Label(size_hint =( 0.1, 0.1), pos_hint ={"top":0.87, "right": 0.99}, text = str(value)) + draw.rcs_perfect = value + self.rl_aim.add_widget(self.perfect_value_label) + + elif name == "slider2" : + try : + self.rl_aim.remove_widget(self.delay_value_label) + except : + pass + value = round(value, 1) + self.delay_value_label = Label(size_hint =( 0.1, 0.1), pos_hint ={"top":0.68, "right": 0.70}, text = str(value)) + draw.t_delay = value + self.rl_aim.add_widget(self.delay_value_label) + + elif name == "slider3" : + try : + self.rl_misc.remove_widget(self.fov_value_label) + except : + pass + value = round(value, 1) + self.fov_value_label = Label(size_hint =( 0.1, 0.1), pos_hint ={"top":0.87, "right": 0.99}, text = str(value)) + draw.fov_value = value + self.rl_misc.add_widget(self.fov_value_label) + + elif name == "slider4" : + try : + self.rl_misc.remove_widget(self.fake_lag_value_label) + except : + pass + value = round(value, 1) + self.fake_lag_value_label = Label(size_hint =( 0.1, 0.1), pos_hint ={"top":0.1, "right": 0.71}, text = str(value)) + draw.fake_lag_value = value + self.rl_misc.add_widget(self.fake_lag_value_label) + + last.write(self, "temp.ini") + write.config(self, "temp.ini") + + def spinners(self, spinner, text, *args): + if spinner == "sounds" : + draw.sound = args[0] + elif spinner == "weapon_to_change" : + draw.weapon_to_change = args[0] + elif spinner == "skin_to_change" : + draw.skin_to_change = args[0] + + last.write(self, "temp.ini") + write.config(self, "temp.ini") + + def rank_reveal(self) : + multiprocessing.freeze_support() + t_rank_reveal = Process(target = rank_reveal) + t_rank_reveal.start() + + def draw_misc(self) : + kv = """ + +FloatLayout: + CheckBox: + id : third_person_chk + active : app.third_person + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.48} + on_press: app.on_checkbox_Active(third_person_chk.active, "third person") + Label: + text : "Third Person" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.38} + font_size: 20 + Label: + text : "FOV" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.68} + font_size: 20 + CheckBox: + id : fov_chk + active : app.fov + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.73} + on_press: app.on_checkbox_Active(fov_chk.active, "fov") + Label: + text : "Fov value" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.93, "right": 0.85} + font_size: 15 + Slider: + id: slider3 + value : app.fov_value + min: 0 + max: 180 + size_hint: 0.2, 0.1 + pos_hint: {"top":0.87, "right": 0.91} + on_value: app.on_change_slider(self.value, "slider3") + Label: + text : "Hitsound" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.7, "right": 0.38} + font_size: 20 + CheckBox: + id : hitsound_chk + active : app.hitsound + size_hint: 0.1, 0.1 + pos_hint: {"top":0.7, "right": 0.456} + on_press: app.on_checkbox_Active(hitsound_chk.active, "hitsound") + Label: + text : "Sound :" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.7, "right": 0.56} + font_size: 18 + CheckBox: + id : sound_esp_chk + active : app.sound_esp + size_hint: 0.1, 0.1 + pos_hint: {"top":0.55, "right": 0.456} + on_press: app.on_checkbox_Active(sound_esp_chk.active, "sound esp") + Label: + text : "Sound ESP" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.55, "right": 0.37} + font_size: 18 + CheckBox: + id : no_flash_chk + active : app.no_flash + size_hint: 0.1, 0.1 + pos_hint: {"top":0.55, "right": 0.83} + on_press: app.on_checkbox_Active(no_flash_chk.active, "no flash") + Label: + text : "No Flash" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.55, "right": 0.76} + font_size: 18 + Label: + text : "Bhop rage" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.4, "right": 0.38} + font_size: 18 + CheckBox: + id : bhop_rage_chk + active : app.bhop_rage + size_hint: 0.1, 0.1 + pos_hint: {"top":0.4, "right": 0.456} + on_press: app.on_checkbox_Active(bhop_rage_chk.active, "bhop rage") + Label: + text : "Bhop legit" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.4, "right": 0.767} + font_size: 18 + CheckBox: + id : bhop_legit_chk + active : app.bhop_legit + size_hint: 0.1, 0.1 + pos_hint: {"top":0.4, "right": 0.84} + on_press: app.on_checkbox_Active(bhop_legit_chk.active, "bhop legit") + Label: + text : "Show Money" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.26, "right": 0.38} + font_size: 18 + CheckBox: + id : show_money_chk + active : app.show_money + size_hint: 0.1, 0.1 + pos_hint: {"top":0.26, "right": 0.47} + on_press: app.on_checkbox_Active(show_money_chk.active, "show money") + Label: + text : "Radar Hack" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.26, "right": 0.77} + font_size: 18 + CheckBox: + id : radar_chk + active : app.radar + size_hint: 0.1, 0.1 + pos_hint: {"top":0.26, "right": 0.856} + on_press: app.on_checkbox_Active(radar_chk.active, "radar") + Label: + text : "Fake lag" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.13, "right": 0.38} + font_size: 20 + CheckBox: + id : fake_lag_chk + active : app.fake_lag + size_hint: 0.1, 0.1 + pos_hint: {"top":0.134, "right": 0.45} + on_press: app.on_checkbox_Active(fake_lag_chk.active, "fake lag") + Label: + text : "Lag in ms" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.16, "right": 0.58} + font_size: 15 + Slider: + id: slider4 + value : app.fake_lag_value + min: 0 + max: 900 + size_hint: 0.2, 0.1 + pos_hint: {"top":0.1, "right": 0.63} + on_value: app.on_change_slider(self.value, "slider4") + Button: + text : "Rank Reveal" + size_hint: 0.13, 0.1 + pos_hint: {"top":0.14, "right": 0.98} + on_release: app.rank_reveal() +""" + self.rl_misc = RelativeLayout(size =(0, 0)) + + folder = "sounds/" + filelist = [fname for fname in os.listdir(folder)] + self.spinnerObject = Spinner(text ="Select") + self.spinnerObject.values = filelist + self.spinnerObject.text = draw.sound + self.spinnerObject.bind(text = partial(self.spinners, "sounds")) + + self.spinnerObject.size_hint = (0.1, 0.1) + self.spinnerObject.pos_hint ={"top":0.7, "right": 0.66} + + self.thirdperson_key_but = Button(size_hint =(.12, .07), pos_hint ={"top":0.88, "right": 0.57}, text = draw.thirdperson_key, background_color='#00f7ff') + self.thirdperson_key_but.bind(on_release=partial(self.key_listen_call, "thirdperson")) + self.rl_misc.add_widget(self.thirdperson_key_but) + + self.fov_value_label = Label(size_hint =( 0.1, 0.1), pos_hint ={"top":0.87, "right": 0.99}, text = str(draw.fov_value)) + self.rl_misc.add_widget(self.fov_value_label) + + self.fake_lag_value_label = Label(size_hint =( 0.1, 0.1), pos_hint ={"top":0.1, "right": 0.71}, text = str(draw.fake_lag_value)) + self.rl_misc.add_widget(self.fake_lag_value_label) + + sm = Builder.load_string(kv) + self.rl_misc.add_widget(self.spinnerObject) + self.rl_misc.add_widget(sm) + self.rl.add_widget(self.rl_misc) + + def draw_aim(self) : + kv = """ + +FloatLayout: + CheckBox: + id : aimbot_chk + active : app.aimbot + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.416} + on_press: app.on_checkbox_Active(aimbot_chk.active, "aimbot") + Label: + text : "Aimbot" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.35} + font_size: 20 + Label: + text : "Triggerbot" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.7, "right": 0.346} + font_size: 20 + CheckBox: + id : triggerbot_chk + active : app.triggerbot + size_hint: 0.1, 0.1 + pos_hint: {"top":0.7, "right": 0.43} + on_press: app.on_checkbox_Active(triggerbot_chk.active, "triggerbot") + Label: + text : "Delay in ms" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.75, "right": 0.57} + font_size: 15 + Slider: + id: slider2 + value : app.t_delay + min: 0 + max: 600 + size_hint: 0.2, 0.1 + pos_hint: {"top":0.68, "right": 0.62} + on_value: app.on_change_slider(self.value, "slider2") + Label: + text : "RCS" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.67} + font_size: 20 + CheckBox: + id : rcs_chk + active : app.rcs + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.72} + on_press: app.on_checkbox_Active(rcs_chk.active, "rcs") + Label: + text : "Perfection percentage" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.95, "right": 0.85} + font_size: 15 + Slider: + id: slider1 + value : app.rcs_perfect + size_hint: 0.2, 0.1 + pos_hint: {"top":0.87, "right": 0.91} + on_value: app.on_change_slider(self.value, "slider1") + Label: + text : "Rapid Fire" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.5, "right": 0.35} + font_size: 20 + CheckBox: + id : rapid_fire_chk + active : app.rapid_fire + size_hint: 0.1, 0.1 + pos_hint: {"top":0.5, "right": 0.432} + on_press: app.on_checkbox_Active(rapid_fire_chk.active, "rapid fire") + Label: + text : "Silent Aim" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.34, "right": 0.35} + font_size: 20 + CheckBox: + id : silent_aim_chk + active : app.silent_aim + size_hint: 0.1, 0.1 + pos_hint: {"top":0.34, "right": 0.43} + on_press: app.on_checkbox_Active(silent_aim_chk.active, "Silent Aim") + Label: + text : "Crosshair hack" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.34, "right": 0.71} + font_size: 20 + CheckBox: + id : crosshair_chk + active : app.crosshair + size_hint: 0.1, 0.1 + pos_hint: {"top":0.34, "right": 0.82} + on_press: app.on_checkbox_Active(crosshair_chk.active, "crosshair") +""" + + self.rl_aim = RelativeLayout(size =(0, 0)) + + self.rapid_fire_key_but = Button(size_hint =(.12, .07), pos_hint ={"top":0.486, "right": 0.52}, text = draw.rapid_fire_key, background_color='#00f7ff') + self.rapid_fire_key_but.bind(on_release=partial(self.key_listen_call, "rapid fire")) + self.rl_aim.add_widget(self.rapid_fire_key_but) + + self.silent_aim_key_but = Button(size_hint =(.12, .07), pos_hint ={"top":0.33, "right": 0.52}, text = draw.silent_aim_key, background_color='#00f7ff') + self.silent_aim_key_but.bind(on_release=partial(self.key_listen_call, "silent aim")) + self.rl_aim.add_widget(self.silent_aim_key_but) + + self.aimbot_key_but = Button(size_hint =(.12, .07), pos_hint ={"top":0.88, "right": 0.51}, text = draw.aimbot_key, background_color='#00f7ff') + self.aimbot_key_but.bind(on_release=partial(self.key_listen_call, "aimbot")) + self.rl_aim.add_widget(self.aimbot_key_but) + + self.triggerbot_key_but = Button(size_hint =(.12, .07), pos_hint ={"top":0.68, "right": 0.8}, text = draw.triggerbot_key, background_color='#00f7ff') + self.triggerbot_key_but.bind(on_release=partial(self.key_listen_call, "triggerbot")) + self.rl_aim.add_widget(self.triggerbot_key_but) + + self.perfect_value_label = Label(size_hint =( 0.1, 0.1), pos_hint ={"top":0.87, "right": 0.99}, text = str(draw.rcs_perfect)) + self.rl_aim.add_widget(self.perfect_value_label) + + self.delay_value_label = Label(size_hint =( 0.1, 0.1), pos_hint ={"top":0.68, "right": 0.70}, text = str(draw.t_delay)) + self.rl_aim.add_widget(self.delay_value_label) + + sm = Builder.load_string(kv) + self.rl_aim.add_widget(sm) + self.rl.add_widget(self.rl_aim) + + def key_listen_call(self, *args) : + + key = str(listen.key(self)) + key = key.replace("'", "") + + if args[0] == "rapid fire" : + self.rapid_fire_key_but.text = key + draw.rapid_fire_key = key + + if args[0] == "silent aim" : + self.silent_aim_key_but.text = key + draw.silent_aim_key = key + + if args[0] == "aimbot" : + self.aimbot_key_but.text = key + draw.aimbot_key = key + + if args[0] == "triggerbot" : + self.triggerbot_key_but.text = key + draw.triggerbot_key = key + + if args[0] == "thirdperson" : + self.thirdperson_key_but.text = key + draw.thirdperson_key = key + + last.write(self, "temp.ini") + write.config(self, "temp.ini") + + + def on_color(self, instance, value): + + if value != [1.0, 1.0, 1.0, 1] : + if draw.name == "allies_glow" : + draw.allies_glow_color = value + elif draw.name == "ennemies_glow" : + draw.ennemies_glow_color = value + elif draw.name == "allies_chams" : + draw.allies_chams_color = value + elif draw.name == "ennemies_chams" : + draw.ennemies_chams_color = value + + elif draw.name == "ui_color" : + draw.ui_color = value + self.visuals.background_color = value + self.settings.background_color = value + self.aim.background_color = value + self.misc.background_color = value + self.config.background_color = value + + last.write(self, "temp.ini") + write.config(self, "temp.ini") + + def draw_colorwheel(self, name) : + draw.name = name + clr_picker = ColorPicker(size_hint =(.5, .5), pos_hint ={"top":0.72, "right": 0.86}) + clr_picker.bind(color=self.on_color) + + if name == "ennemies_glow" : + try : + self.rl_visuals.remove_widget(self.rl_wheel_ennemies) + self.rl_wheel_ennemies = None + return + except : + self.rl_wheel_ennemies = RelativeLayout(size =(0, 0)) + self.rl_wheel_ennemies.add_widget(clr_picker) + self.rl_visuals.add_widget(self.rl_wheel_ennemies) + + elif name == "allies_glow" : + try : + self.rl_visuals.remove_widget(self.rl_wheel_allies) + self.rl_wheel_allies = None + return + except : + self.rl_wheel_allies = RelativeLayout(size =(0, 0)) + self.rl_wheel_allies.add_widget(clr_picker) + self.rl_visuals.add_widget(self.rl_wheel_allies) + + elif name == "ennemies_chams" : + try : + self.rl_visuals.remove_widget(self.rl_wheel_ennemies_chams) + self.rl_wheel_ennemies_chams = None + return + except : + self.rl_wheel_ennemies_chams = RelativeLayout(size =(0, 0)) + self.rl_wheel_ennemies_chams.add_widget(clr_picker) + self.rl_visuals.add_widget(self.rl_wheel_ennemies_chams) + + elif name == "allies_chams" : + try : + self.rl_visuals.remove_widget(self.rl_wheel_allies_chams) + self.rl_wheel_allies_chams = None + return + except : + self.rl_wheel_allies_chams = RelativeLayout(size =(0, 0)) + self.rl_wheel_allies_chams.add_widget(clr_picker) + self.rl_visuals.add_widget(self.rl_wheel_allies_chams) + + elif name == "ui_color" : + try : + self.rl_settings.remove_widget(self.rl_wheel_ui) + self.rl_wheel_ui = None + return + except : + self.rl_wheel_ui = RelativeLayout(size =(0, 0)) + self.rl_wheel_ui.add_widget(clr_picker) + self.rl_settings.add_widget(self.rl_wheel_ui) + + def draw_visuals(self) : + + kv = """ + +FloatLayout: + CheckBox: + id : glow_chk + active : app.glow_active + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.45} + on_press: app.on_checkbox_Active(glow_chk.active, "glow") + Label: + text : "Glow" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.39} + font_size: 20 + Label: + text : "Enemies" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.65} + font_size: 20 + CheckBox: + id : glow_chk_ennemies + active : app.glow_ennemies + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.57} + on_press: app.on_checkbox_Active(glow_chk_ennemies.active, "glow_ennemies") + Button: + text : "Pick color" + background_color : app.rgba(app.ennemies_glow_color) + size_hint: 0.1, 0.05 + pos_hint: {"top":0.8, "right": 0.65} + on_release: app.draw_colorwheel("ennemies_glow") + Label: + text : "Allies" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.9} + font_size: 20 + CheckBox: + id : glow_chk_allies + active : app.glow_allies + size_hint: 0.1, 0.1 + pos_hint: {"top":0.9, "right": 0.84} + on_press: app.on_checkbox_Active(glow_chk_allies.active, "glow_allies") + Button: + text : "Pick color" + background_color : app.rgba(app.allies_glow_color) + size_hint: 0.1, 0.05 + pos_hint: {"top":0.8, "right": 0.9} + on_release: app.draw_colorwheel("allies_glow") + + Label: + text : "Based on health" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.83, "right": 0.39} + font_size: 20 + CheckBox: + id : glow_health_based + active : app.glow_health_based + size_hint: 0.1, 0.1 + pos_hint: {"top":0.83, "right": 0.52} + on_press: app.on_checkbox_Active(glow_health_based.active, "glow_health_based") + + CheckBox: + id : chams_chk + active : app.chams_active + size_hint: 0.1, 0.1 + pos_hint: {"top":0.2, "right": 0.45} + on_press: app.on_checkbox_Active(chams_chk.active, "chams") + Label: + text : "Chams" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.2, "right": 0.38} + font_size: 20 + Label: + text : "Based on health" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.13, "right": 0.39} + font_size: 20 + CheckBox: + id : chams_health_based + active : app.chams_health_based + size_hint: 0.1, 0.1 + pos_hint: {"top":0.13, "right": 0.52} + on_press: app.on_checkbox_Active(chams_health_based.active, "chams_health_based") + Label: + text : "Enemies" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.2, "right": 0.65} + font_size: 20 + CheckBox: + id : chams_chk_ennemies + active : app.chams_ennemies + size_hint: 0.1, 0.1 + pos_hint: {"top":0.2, "right": 0.57} + on_press: app.on_checkbox_Active(chams_chk_ennemies.active, "chams_ennemies") + Button: + text : "Pick color" + background_color : app.rgba(app.ennemies_chams_color) + size_hint: 0.1, 0.05 + pos_hint: {"top":0.1, "right": 0.65} + on_release: app.draw_colorwheel("ennemies_chams") + Label: + text : "Allies" + size_hint: 0.1, 0.1 + pos_hint: {"top":0.2, "right": 0.9} + font_size: 20 + CheckBox: + id : chams_chk_allies + active : app.chams_allies + size_hint: 0.1, 0.1 + pos_hint: {"top":0.2, "right": 0.84} + on_press: app.on_checkbox_Active(chams_chk_allies.active, "chams_allies") + Button: + text : "Pick color" + background_color : app.rgba(app.allies_chams_color) + size_hint: 0.1, 0.05 + pos_hint: {"top":0.1, "right": 0.9} + on_release: app.draw_colorwheel("allies_chams") +""" + + sm = Builder.load_string(kv) + self.rl_visuals = RelativeLayout(size =(0, 0)) + self.rl_visuals.add_widget(sm) + self.rl.add_widget(self.rl_visuals) + + def on_checkbox_Active(self, isActive, *args) : + if args[0] == "glow" : + draw.glow_active = isActive + elif args[0] == "chams" : + draw.chams_active = isActive + elif args[0] == "chams_allies" : + draw.chams_allies = isActive + elif args[0] == "chams_ennemies" : + draw.chams_ennemies = isActive + elif args[0] == "glow_allies" : + draw.glow_allies = isActive + elif args[0] == "glow_ennemies" : + draw.glow_ennemies = isActive + elif args[0] == "glow_health_based" : + draw.glow_health_based = isActive + elif args[0] == "chams_health_based" : + draw.chams_health_based = isActive + elif args[0] == "aimbot" : + draw.aimbot = isActive + elif args[0] == "triggerbot" : + draw.triggerbot = isActive + elif args[0] == "rcs" : + draw.rcs = isActive + elif args[0] == "rapid fire" : + draw.rapid_fire = isActive + elif args[0] == "Silent Aim" : + draw.silent_aim = isActive + elif args[0] == "crosshair" : + draw.crosshair = isActive + elif args[0] == "third person" : + draw.third_person = isActive + elif args[0] == "fov" : + draw.fov = isActive + elif args[0] == "fake lag" : + draw.fake_lag = isActive + elif args[0] == "hitsound" : + draw.hitsound = isActive + elif args[0] == "sound esp" : + draw.sound_esp = isActive + elif args[0] == "show money" : + draw.show_money = isActive + elif args[0] == "no flash" : + draw.no_flash = isActive + elif args[0] == "radar" : + draw.radar = isActive + elif args[0] == "bhop rage" : + draw.bhop_rage = isActive + elif args[0] == "bhop legit" : + draw.bhop_legit = isActive + elif args[0] == "stattrack_active" : + draw.stattrack_active = isActive + + last.write(self, "temp.ini") + write.config(self, "temp.ini") + + def disable(self, instance, *args): + if self.start == True : + self.rl.remove_widget(self.rl_start_window) + self.start = False + + if self.visuals.disabled == True : + self.rl.remove_widget(self.rl_visuals) + + if self.aim.disabled == True : + self.rl.remove_widget(self.rl_aim) + + if self.misc.disabled == True : + self.rl.remove_widget(self.rl_misc) + + if self.settings.disabled == True : + self.rl.remove_widget(self.rl_settings) + self.spinnerObject_skins.pos_hint = {"top": 10, "right": 10} + + if self.config.disabled == True : + self.rl.remove_widget(self.rl_config) + + self.visuals.disabled = False + self.aim.disabled = False + self.misc.disabled = False + self.config.disabled = False + self.settings.disabled = False + instance.disabled = True + + if self.settings.disabled == True : + self.draw_settings() + + if self.visuals.disabled == True : + self.draw_visuals() + + if self.aim.disabled == True : + self.draw_aim() + + if self.misc.disabled == True : + self.draw_misc() + + if self.config.disabled == True : + self.draw_config() + + def build(self): + self.start = True + self.config_to_load_name = last.read(self) + read.config(self, self.config_to_load_name) + + self.skin_dict, self.skin_list = dump_skins() + self.skin_list = sorted(self.skin_list) + draw.stattrack_active = True + ui_color_rgba = self.rgba(draw.ui_color) + get.active_weapons(self) + + self.title = 'Rainbow CSGO Cheat v2' + Config.set('input', 'mouse', 'mouse,multitouch_on_demand') + Config.set('graphics', 'width', '700') + Config.set('graphics', 'height', '400') + Config.set('graphics', 'resizable', False) + + self.rl = RelativeLayout(size =(0, 0)) + + self.spinnerObject_skins = Spinner(text ="Skin") + self.spinnerObject_skins.values = self.skin_list + self.spinnerObject_skins.bind(text = partial(self.spinners, "skin_to_change")) + + self.spinnerObject_skins.size_hint = (0.2, 0.1) + self.spinnerObject_skins.pos_hint ={"top":10, "right": 10} + + self.visuals = Button(size_hint =(.2, .21), pos_hint ={'center_x':.100, 'center_y':.893}, text ="Visuals", background_color=ui_color_rgba) + self.visuals.bind(on_press=partial(self.disable, self.visuals)) + + self.aim = Button(size_hint =(.2, .2), pos_hint ={'center_x':.100, 'center_y':.690}, text ="Aim", background_color=ui_color_rgba) + self.aim.bind(on_press=partial(self.disable, self.aim)) + + self.misc = Button(size_hint =(.2, .2), pos_hint ={'center_x':.100, 'center_y':.493}, text ="Misc.", background_color=ui_color_rgba) + self.misc.bind(on_press=partial(self.disable, self.misc)) + + self.config = Button(size_hint =(.2, .2), pos_hint ={'center_x':.100, 'center_y':.296}, text ="Config", background_color=ui_color_rgba) + self.config.bind(on_press=partial(self.disable, self.config)) + + self.settings = Button(size_hint =(.2, .2), pos_hint ={'center_x':.100, 'center_y':.099}, text ="Settings", background_color=ui_color_rgba) + self.settings.bind(on_press=partial(self.disable, self.settings)) + + self.cheat_name_label = Label(size_hint =(.2, .2), pos_hint={"top":0.98, "right": 0.6}, text="Rainbow Recode v2 | Elapsed: ", font_size = 25) + self.elapsed_label = Label(size_hint =(.2, .2), pos_hint={"top":0.98, "right": 0.9}, text=str(datetime.datetime.now().strftime('%H:%M:%S')), font_size = 25) + self.status_label = Label(size_hint =(.2, .2), pos_hint={"top":0.7, "right": 0.44}, text="Status : ", font_size = 23) + self.undetected_label = Label(size_hint =(.2, .2), pos_hint={"top":0.7, "right": 0.6}, text="Undetected", font_size = 23, color="green") + + self.rl_start_window = RelativeLayout(size =(0, 0)) + self.rl_start_window.add_widget(self.undetected_label) + self.rl_start_window.add_widget(self.status_label) + self.rl_start_window.add_widget(self.cheat_name_label) + self.rl_start_window.add_widget(self.elapsed_label) + + self.rl.add_widget(self.rl_start_window) + self.rl.add_widget(self.settings) + self.rl.add_widget(self.spinnerObject_skins) + self.rl.add_widget(self.config) + self.rl.add_widget(self.visuals) + self.rl.add_widget(self.aim) + self.rl.add_widget(self.misc) + + return self.rl \ No newline at end of file diff --git a/classes/write_config.py b/classes/write_config.py new file mode 100644 index 0000000..d6de6a3 --- /dev/null +++ b/classes/write_config.py @@ -0,0 +1,245 @@ +from configparser import ConfigParser +from importlib import reload +import ui + +class write() : + + def config(self, name) : + + config_object = ConfigParser() + + config_object["VISUALS"] = { + "glow_active": ui.draw.glow_active, + "glow_health_based": ui.draw.glow_health_based, + "glow_ennemies": ui.draw.glow_ennemies, + "ennemies_glow_color": ui.draw.ennemies_glow_color, + "glow_allies": ui.draw.glow_allies, + "allies_glow_color": ui.draw.allies_glow_color, + "chams_active": ui.draw.chams_active, + "chams_health_based": ui.draw.chams_health_based, + "chams_ennemies": ui.draw.chams_ennemies, + "ennemies_chams_color": ui.draw.ennemies_chams_color, + "chams_allies": ui.draw.chams_allies, + "allies_chams_color": ui.draw.allies_chams_color + } + + config_object["AIM"] = { + "aimbot": ui.draw.aimbot, + "aimbot_key": ui.draw.aimbot_key, + "rcs": ui.draw.rcs, + "rcs_perfect": ui.draw.rcs_perfect, + "triggerbot": ui.draw.triggerbot, + "t_delay": ui.draw.t_delay, + "triggerbot_key": ui.draw.triggerbot_key, + "rapid_fire": ui.draw.rapid_fire, + "rapid_fire_key": ui.draw.rapid_fire_key, + "silent_aim": ui.draw.silent_aim, + "silent_aim_key": ui.draw.silent_aim_key, + "crosshair": ui.draw.crosshair + } + + config_object["MISC"] = { + "third_person": ui.draw.third_person, + "thirdperson_key": ui.draw.thirdperson_key, + "fov": ui.draw.fov, + "fov_value": ui.draw.fov_value, + "hitsound": ui.draw.hitsound, + "sound": ui.draw.sound, + "sound_esp": ui.draw.sound_esp, + "no_flash": ui.draw.no_flash, + "bhop_rage": ui.draw.bhop_rage, + "bhop_legit": ui.draw.bhop_legit, + "show_money": ui.draw.show_money, + "radar": ui.draw.radar, + "fake_lag": ui.draw.fake_lag, + "fake_lag_value": ui.draw.fake_lag_value + + } + + config_object["SETTINGS"] = { + "ui_color": ui.draw.ui_color + } + + config_object["SKINCHANGER"] = { + "knife": ui.draw.knife, + "knife_skin": ui.draw.knife_skin, + "knife_f": ui.draw.knife_f, + "knife_st": ui.draw.knife_st, + "knife_stv": ui.draw.knife_stv, + "knife_se": ui.draw.knife_se, + "AK47": ui.draw.AK47, + "AK47_f": ui.draw.AK47_f, + "AK47_st": ui.draw.AK47_st, + "AK47_stv": ui.draw.AK47_stv, + "AK47_se": ui.draw.AK47_se, + "AUG": ui.draw.AUG, + "AUG_f": ui.draw.AUG_f, + "AUG_st": ui.draw.AUG_st, + "AUG_stv": ui.draw.AUG_stv, + "AUG_se": ui.draw.AUG_se, + "AWP": ui.draw.AWP, + "AWP_f": ui.draw.AWP_f, + "AWP_st": ui.draw.AWP_st, + "AWP_stv": ui.draw.AWP_stv, + "AWP_se": ui.draw.AWP_se, + "CZ75Auto": ui.draw.CZ75Auto, + "CZ75Auto_f": ui.draw.CZ75Auto_f, + "CZ75Auto_st": ui.draw.CZ75Auto_st, + "CZ75Auto_stv": ui.draw.CZ75Auto_stv, + "CZ75Auto_se": ui.draw.CZ75Auto_se, + "Desert_Eagle": ui.draw.Desert_Eagle, + "Desert_Eagle_f": ui.draw.Desert_Eagle_f, + "Desert_Eagle_st": ui.draw.Desert_Eagle_st, + "Desert_Eagle_stv": ui.draw.Desert_Eagle_stv, + "Desert_Eagle_se": ui.draw.Desert_Eagle_se, + "Dual_Berettas": ui.draw.Dual_Berettas, + "Dual_Berettas_f": ui.draw.Dual_Berettas_f, + "Dual_Berettas_st": ui.draw.Dual_Berettas_st, + "Dual_Berettas_stv": ui.draw.Dual_Berettas_stv, + "Dual_Berettas_se": ui.draw.Dual_Berettas_se, + "FAMAS": ui.draw.FAMAS, + "FAMAS_f": ui.draw.FAMAS_f, + "FAMAS_st": ui.draw.FAMAS_st, + "FAMAS_stv": ui.draw.FAMAS_stv, + "FAMAS_se": ui.draw.FAMAS_se, + "FiveSeven": ui.draw.FiveSeven, + "FiveSeven_f": ui.draw.FiveSeven_f, + "FiveSeven_st": ui.draw.FiveSeven_st, + "FiveSeven_stv": ui.draw.FiveSeven_stv, + "FiveSeven_se": ui.draw.FiveSeven_se, + "G3SG1": ui.draw.G3SG1, + "G3SG1_f": ui.draw.G3SG1_f, + "G3SG1_st": ui.draw.G3SG1_st, + "G3SG1_stv": ui.draw.G3SG1_stv, + "G3SG1_se": ui.draw.G3SG1_se, + "Galil_AR": ui.draw.Galil_AR, + "Galil_AR_f": ui.draw.Galil_AR_f, + "Galil_AR_st": ui.draw.Galil_AR_st, + "Galil_AR_stv": ui.draw.Galil_AR_stv, + "Galil_AR_se": ui.draw.Galil_AR_se, + "Glock18": ui.draw.Glock18, + "Glock18_f": ui.draw.Glock18_f, + "Glock18_st": ui.draw.Glock18_st, + "Glock18_stv": ui.draw.Glock18_stv, + "Glock18_se": ui.draw.Glock18_se, + "M249": ui.draw.M249, + "M249_f": ui.draw.M249_f, + "M249_st": ui.draw.M249_st, + "M249_stv": ui.draw.M249_stv, + "M249_se": ui.draw.M249_se, + "M4A1S": ui.draw.M4A1S, + "M4A1S_f": ui.draw.M4A1S_f, + "M4A1S_st": ui.draw.M4A1S_st, + "M4A1S_stv": ui.draw.M4A1S_stv, + "M4A1S_se": ui.draw.M4A1S_se, + "M4A4": ui.draw.M4A4, + "M4A4_f": ui.draw.M4A4_f, + "M4A4_st": ui.draw.M4A4_st, + "M4A4_stv": ui.draw.M4A4_stv, + "M4A4_se": ui.draw.M4A4_se, + "MAC10": ui.draw.MAC10, + "MAC10_f": ui.draw.MAC10_f, + "MAC10_st": ui.draw.MAC10_st, + "MAC10_stv": ui.draw.MAC10_stv, + "MAC10_se": ui.draw.MAC10_se, + "MAG7": ui.draw.MAG7, + "MAG7_f": ui.draw.MAG7_f, + "MAG7_st": ui.draw.MAG7_st, + "MAG7_stv": ui.draw.MAG7_stv, + "MAG7_se": ui.draw.MAG7_se, + "MP5SD": ui.draw.MP5SD, + "MP5SD_f": ui.draw.MP5SD_f, + "MP5SD_st": ui.draw.MP5SD_st, + "MP5SD_stv": ui.draw.MP5SD_stv, + "MP5SD_se": ui.draw.MP5SD_se, + "MP7": ui.draw.MP7, + "MP7_f": ui.draw.MP7_f, + "MP7_st": ui.draw.MP7_st, + "MP7_stv": ui.draw.MP7_stv, + "MP7_se": ui.draw.MP7_se, + "MP9": ui.draw.MP9, + "MP9_f": ui.draw.MP9_f, + "MP9_st": ui.draw.MP9_st, + "MP9_stv": ui.draw.MP9_stv, + "MP9_se": ui.draw.MP9_se, + "Negev": ui.draw.Negev, + "Negev_f": ui.draw.Negev_f, + "Negev_st": ui.draw.Negev_st, + "Negev_stv": ui.draw.Negev_stv, + "Negev_se": ui.draw.Negev_se, + "Nova": ui.draw.Nova, + "Nova_f": ui.draw.Nova_f, + "Nova_st": ui.draw.Nova_st, + "Nova_stv": ui.draw.Nova_stv, + "Nova_se": ui.draw.Nova_se, + "P2000": ui.draw.P2000, + "P2000_f": ui.draw.P2000_f, + "P2000_st": ui.draw.P2000_st, + "P2000_stv": ui.draw.P2000_stv, + "P2000_se": ui.draw.P2000_se, + "P250": ui.draw.P250, + "P250_f": ui.draw.P250_f, + "P250_st": ui.draw.P250_st, + "P250_stv": ui.draw.P250_stv, + "P250_se": ui.draw.P250_se, + "P90": ui.draw.P90, + "P90_f": ui.draw.P90_f, + "P90_st": ui.draw.P90_st, + "P90_stv": ui.draw.P90_stv, + "P90_se": ui.draw.P90_se, + "PPBizon": ui.draw.PPBizon, + "PPBizon_f": ui.draw.PPBizon_f, + "PPBizon_st": ui.draw.PPBizon_st, + "PPBizon_stv": ui.draw.PPBizon_stv, + "PPBizon_se": ui.draw.PPBizon_se, + "R8_Revolver": ui.draw.R8_Revolver, + "R8_Revolver_f": ui.draw.R8_Revolver_f, + "R8_Revolver_st": ui.draw.R8_Revolver_st, + "R8_Revolver_stv": ui.draw.R8_Revolver_stv, + "R8_Revolver_se": ui.draw.R8_Revolver_se, + "SCAR20": ui.draw.SCAR20, + "SCAR20_f": ui.draw.SCAR20_f, + "SCAR20_st": ui.draw.SCAR20_st, + "SCAR20_stv": ui.draw.SCAR20_stv, + "SCAR20_se": ui.draw.SCAR20_se, + "SG_553": ui.draw.SG_553, + "SG_553_f": ui.draw.SG_553_f, + "SG_553_st": ui.draw.SG_553_st, + "SG_553_stv": ui.draw.SG_553_stv, + "SG_553_se": ui.draw.SG_553_se, + "SSG_08": ui.draw.SSG_08, + "SSG_08_f": ui.draw.SSG_08_f, + "SSG_08_st": ui.draw.SSG_08_st, + "SSG_08_stv": ui.draw.SSG_08_stv, + "SSG_08_se": ui.draw.SSG_08_se, + "SawedOff": ui.draw.SawedOff, + "SawedOff_f": ui.draw.SawedOff_f, + "SawedOff_st": ui.draw.SawedOff_st, + "SawedOff_stv": ui.draw.SawedOff_stv, + "SawedOff_se": ui.draw.SawedOff_se, + "Tec9": ui.draw.Tec9, + "Tec9_f": ui.draw.Tec9_f, + "Tec9_st": ui.draw.Tec9_st, + "Tec9_stv": ui.draw.Tec9_stv, + "Tec9_se": ui.draw.Tec9_se, + "UMP45": ui.draw.UMP45, + "UMP45_f": ui.draw.UMP45_f, + "UMP45_st": ui.draw.UMP45_st, + "UMP45_stv": ui.draw.UMP45_stv, + "UMP45_se": ui.draw.UMP45_se, + "USPS": ui.draw.USPS, + "USPS_f": ui.draw.USPS_f, + "USPS_st": ui.draw.USPS_st, + "USPS_stv": ui.draw.USPS_stv, + "USPS_se": ui.draw.USPS_se, + "XM1014": ui.draw.XM1014, + "XM1014_f": ui.draw.XM1014_f, + "XM1014_st": ui.draw.XM1014_st, + "XM1014_stv": ui.draw.XM1014_stv, + "XM1014_se": ui.draw.XM1014_se + } + + with open('configs/'+name, 'w') as configfile: + configfile.seek(0) + configfile.truncate() + config_object.write(configfile) \ No newline at end of file