-
Автор темы
- #1
вот такая вот кашка как пофиксить?
Вложения
-
282 KB Просмотры: 62
я даже не заходил в obj файлыОчищаем решение и ищем где ты использовал эти функции не указывая их
obj файлы происходят при компиляции, а ты объявил в коде таб и при этом не инклюднул, то где этот таб объявил, но судя по ошибке, он там определяется с типом extern, то есть ты сделал таб, но компилятор не может его найтия даже не заходил в obj файлы
#include "Menu.hpp"
#define NOMINMAX
#include <Windows.h>
#include <chrono>
#include "../sdk/csgostructs.hpp"
#include "../helpers/input.hpp"
#include "../options.hpp"
#include "../sdk/render/ui.hpp"
#include "../config.hpp"
#include <dinput.h>
#include <tchar.h>
#include "anti-aim.h"
#include "legit.h"
#include "visuals.h"
#include "misc.h"
#include "skins.h"
#include "settings.h"
#include "players.h"
#define IMGUI_DEFINE_MATH_OPERATORS
#include "imgui/imgui_internal.h"
#include "imgui/impl/imgui_impl_dx9.h"
#include "imgui/impl/imgui_impl_win32.h"
#include <mutex>
IDirect3DTexture9* aaa = nullptr;
IDirect3DTexture9* legit = nullptr;
IDirect3DTexture9* skul = nullptr;
IDirect3DTexture9* visuals = nullptr;
IDirect3DTexture9* rage = nullptr;
IDirect3DTexture9* misc = nullptr;
IDirect3DTexture9* skins = nullptr;
IDirect3DTexture9* settings = nullptr;
IDirect3DTexture9* players = nullptr;
static LPDIRECT3D9 g_pD3D = NULL;
static LPDIRECT3DDEVICE9 g_pd3dDevice = NULL;
static D3DPRESENT_PARAMETERS g_d3dpp = {};
ImFont* tb = nullptr;
ImFont* tbl = nullptr;
ImFont* rere = nullptr;
static int tabs = 0;
void tabss()
{
if (legit == nullptr)
D3DXCreateTextureFromFileInMemoryEx(g_pd3dDevice, &legitt, sizeof(legitt), 11, 14, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &legit);
if (aaa == nullptr)
D3DXCreateTextureFromFileInMemoryEx(g_pd3dDevice, &aa, sizeof(aa), 17, 9, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &aaa);
if (visuals == nullptr)
D3DXCreateTextureFromFileInMemoryEx(g_pd3dDevice, &glaz, sizeof(glaz), 15, 12, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &visuals);
if (misc == nullptr)
D3DXCreateTextureFromFileInMemoryEx(g_pd3dDevice, &msc, sizeof(msc), 13, 13, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &misc);
if (skins == nullptr)
D3DXCreateTextureFromFileInMemoryEx(g_pd3dDevice, &skn, sizeof(skn), 14, 13, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &skins);
if (settings == nullptr)
D3DXCreateTextureFromFileInMemoryEx(g_pd3dDevice, &setbbb, sizeof(setbbb), 13, 14, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &settings);
if (players == nullptr)
D3DXCreateTextureFromFileInMemoryEx(g_pd3dDevice, &plrs, sizeof(plrs), 14, 14, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &players);
ImGui::SetCursorPos(ImVec2(38, 193));
ImGui::Image(legit, ImVec2(11, 14));
ImGui::SetCursorPos(ImVec2(35, 233));
ImGui::Image(rage, ImVec2(15, 16));
ImGui::SetCursorPos(ImVec2(35, 278));
ImGui::Image(aaa, ImVec2(17, 9));
ImGui::SetCursorPos(ImVec2(35, 315));
ImGui::Image(visuals, ImVec2(15, 12));
ImGui::SetCursorPos(ImVec2(37, 355));
ImGui::Image(misc, ImVec2(13, 13));
ImGui::SetCursorPos(ImVec2(37, 395));
ImGui::Image(skins, ImVec2(14, 13));
ImGui::SetCursorPos(ImVec2(37, 435));
ImGui::Image(settings, ImVec2(13, 14));
ImGui::SetCursorPos(ImVec2(37, 475));
ImGui::Image(players, ImVec2(14, 14));
ImGui::SetCursorPos(ImVec2(20, 178));
if (ImGui::tab("legit", legit, 0 == tabs))
tabs = 0;
ImGui::SetCursorPos(ImVec2(20, 258));
if (ImGui::tab("anti-aim", legit, 2 == tabs))
tabs = 1;
ImGui::SetCursorPos(ImVec2(20, 298));
if (ImGui::tab("visuals", legit, 3 == tabs))
tabs = 2;
ImGui::SetCursorPos(ImVec2(20, 338));
if (ImGui::tab("misc", legit, 4 == tabs))
tabs = 3;
ImGui::SetCursorPos(ImVec2(20, 378));
if (ImGui::tab("skins", legit, 5 == tabs))
tabs = 4;
ImGui::SetCursorPos(ImVec2(20, 418));
if (ImGui::tab("settings", legit, 6 == tabs))
tabs = 5;
ImGui::SetCursorPos(ImVec2(20, 458));
if (ImGui::tab("players", legit, 7 == tabs))
tabs = 6;
}
void decorations()
{
//
ImGui::GetWindowDrawList()->AddRectFilled(ImVec2(ImGui::GetWindowPos().x + 0, ImGui::GetWindowPos().y + 0), ImVec2(ImGui::GetWindowPos().x + 716, ImGui::GetWindowPos().y + 646), ImColor(22, 22, 22));
ImGui::GetWindowDrawList()->AddRectFilled(ImVec2(ImGui::GetWindowPos().x + 0, ImGui::GetWindowPos().y + 0), ImVec2(ImGui::GetWindowPos().x + 185, ImGui::GetWindowPos().y + 646), ImColor(36, 36, 36));
//
//залупka
ImGui::GetWindowDrawList()->AddTriangleFilled(ImVec2(ImGui::GetWindowPos().x + 65, ImGui::GetWindowPos().y + 26), ImVec2(ImGui::GetWindowPos().x + 7, ImGui::GetWindowPos().y + 50), ImVec2(ImGui::GetWindowPos().x + 58, ImGui::GetWindowPos().y + 89), ImColor(28, 26, 29));
ImGui::GetWindowDrawList()->AddTriangleFilled(ImVec2(ImGui::GetWindowPos().x + 116, ImGui::GetWindowPos().y + 68), ImVec2(ImGui::GetWindowPos().x + 105, ImGui::GetWindowPos().y + 150), ImVec2(ImGui::GetWindowPos().x + 180, ImGui::GetWindowPos().y + 114), ImColor(28, 26, 29));
ImGui::GetWindowDrawList()->AddTriangleFilled(ImVec2(ImGui::GetWindowPos().x + 29, ImGui::GetWindowPos().y + 160), ImVec2(ImGui::GetWindowPos().x + 85, ImGui::GetWindowPos().y + 180), ImVec2(ImGui::GetWindowPos().x + 38, ImGui::GetWindowPos().y + 220), ImColor(28, 26, 29));
ImGui::GetWindowDrawList()->AddTriangleFilled(ImVec2(ImGui::GetWindowPos().x + 175, ImGui::GetWindowPos().y + 250), ImVec2(ImGui::GetWindowPos().x + 88, ImGui::GetWindowPos().y + 265), ImVec2(ImGui::GetWindowPos().x + 140, ImGui::GetWindowPos().y + 330), ImColor(28, 26, 29));
ImGui::GetWindowDrawList()->AddTriangleFilled(ImVec2(ImGui::GetWindowPos().x + 60, ImGui::GetWindowPos().y + 336), ImVec2(ImGui::GetWindowPos().x + 28, ImGui::GetWindowPos().y + 367), ImVec2(ImGui::GetWindowPos().x + 68, ImGui::GetWindowPos().y + 380), ImColor(28, 26, 29));
ImGui::GetWindowDrawList()->AddTriangleFilled(ImVec2(ImGui::GetWindowPos().x + 162, ImGui::GetWindowPos().y + 425), ImVec2(ImGui::GetWindowPos().x + 83, ImGui::GetWindowPos().y + 440), ImVec2(ImGui::GetWindowPos().x + 139, ImGui::GetWindowPos().y + 497), ImColor(28, 26, 29));
ImGui::GetWindowDrawList()->AddTriangleFilled(ImVec2(ImGui::GetWindowPos().x + 25, ImGui::GetWindowPos().y + 560), ImVec2(ImGui::GetWindowPos().x + 110, ImGui::GetWindowPos().y + 500), ImVec2(ImGui::GetWindowPos().x + 110, ImGui::GetWindowPos().y + 620), ImColor(28, 26, 29));
//
//
ImGui::GetWindowDrawList()->AddText(rere, 21.0f, ImVec2(ImGui::GetWindowPos().x + 45, ImGui::GetWindowPos().y + 40), ImColor(230, 230, 230), "Rangewave");
//
}
static char* sidebar_tabs[] = { "AIM", "ESP","CHANGER", "MISC", "CONFIG" };
extern LPDIRECT3DTEXTURE9 m_skin_texture = nullptr;
template<size_t N>
void render_tabs(char* (&names)[N], int& activetab, float w, float h, bool sameline)
{
bool values[N] = { false };
values[activetab] = true;
for (auto i = 0; i < N; ++i) {
if (ImGui::ToggleButton(names[i], &values[i], ImVec2{ w, h })) {
activetab = i;
}
if (sameline && i < N - 1)
ImGui::SameLine();
}
}
constexpr static float get_sidebar_item_width() { return 150.0f; }
constexpr static float get_sidebar_item_height() { return 50.0f; }
ImVec2 get_sidebar_size()
{
constexpr float padding = 10.0f;
constexpr auto size_w = padding * 2.0f + get_sidebar_item_width();
constexpr auto size_h = padding * 2.0f + (sizeof(sidebar_tabs) / sizeof(char*)) * get_sidebar_item_height();
return ImVec2{ size_w, ImMax(325.0f, size_h) };
}
void RenderAimbot() {
static bool editor_mode{ false };
static std::string current_group{ "" };
if (Menu::Get().AimbotFirstTimeRender) {
if (g_LocalPlayer && g_EngineClient && g_EngineClient->IsInGame() && g_EngineClient->IsConnected()) {
auto weapon = g_LocalPlayer->m_hActiveWeapon();
if (weapon) {
current_group = g_CustomWeaponGroups->GetGroupName(weapon->m_Item().m_iItemDefinitionIndex());
}
}
}
Menu::Get().AimbotFirstTimeRender = false;
if (editor_mode) {
ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(27 / 255.f, 27 / 255.f, 27 / 255.f, 1.f));
if (ImGui::Button("Back", ImVec2(-1, 19)) || InputSys::Get().IsKeyDown(VK_ESCAPE))
editor_mode = !editor_mode;
g_CustomWeaponGroups->Menu(current_group);
return;
}
ImGui::Columns(4, nullptr, false);
ImGui::Text("Selector:");
ImGui::BeginChild("##1", ImVec2(-1, -1), true); {
if (ImGui::Button("Editor Mode", ImVec2(-1, 19)))
editor_mode = !editor_mode;
g_CustomWeaponGroups->RenderSelector(current_group, 39.f);
};
ImGui::EndChild();
ImGui::NextColumn();
legitbot_settings* settings = g_CustomWeaponGroups->GetSettings(current_group);
ImGui::BeginChild("##aimbot.general", ImVec2(0, 0), true);
{
ImGui::Text("General");
ImGui::Separator();
ImGui::PushItemWidth(-1);
ImGui::Checkbox("Enabled", &g_Options.aimbot_enable);
ImGui::Checkbox("Deathmatch", &g_Options.aimbot_deathmatch);
ImGui::Checkbox("Autopistol", &settings->autopistol);
ImGui::Checkbox("Check Smoke", &settings->check_smoke);
ImGui::Checkbox("Check Flash", &settings->check_flash);
ImGui::Checkbox("Autowall", &settings->autowall);
ImGui::Checkbox("Backtrack", &settings->enable_backtrack);
ImGui::Checkbox("Silent", &settings->silent);
ImGui::Checkbox("Humanize", &settings->humanize);
ImGui::Checkbox("Only In Zoom", &settings->only_in_zoom);
ImGui::PopItemWidth();
}
ImGui::EndChild();
ImGui::NextColumn();
ImGui::BeginChild("##aimbot.misc", ImVec2(0, 0), true);
{
ImGui::Text("Misc");
ImGui::Separator();
ImGui::PushItemWidth(-1);
static char* priorities[] = {
"Fov",
"Distance"
};
static char* aim_types[] = {
"Hitbox",
"Nearest"
};
static char* fov_types[] = {
"Static",
"Dynamic"
};
static char* hitbox_list[] = {
"Head",
"Neck",
"Lower Neck",
"Body",
"Thorax",
"Chest",
"Right Thing",
"Left Thing", // 7
};
ImGui::Text("Aim Type:");
ImGui::Combo("##aimbot.aim_type", &settings->aim_type, aim_types, IM_ARRAYSIZE(aim_types));
if (settings->aim_type == 0) {
ImGui::Text("Hitbox:");
ImGui::Combo("##aimbot.hitbox", &settings->hitbox, hitbox_list, IM_ARRAYSIZE(hitbox_list));
}
ImGui::Text("Priority:");
ImGui::Combo("##aimbot.priority", &settings->priority, priorities, IM_ARRAYSIZE(priorities));
ImGui::Text("Fov Type:");
ImGui::Combo("##aimbot.fov_type", &settings->fov_type, fov_types, IM_ARRAYSIZE(fov_types));
ImGui::SliderFloat("##aimbot.fov", &settings->fov, 0, 20, "Fov: %.2f");
if (settings->silent) {
ImGui::SliderFloat("##aimbot.silent_fov", &settings->silent_fov, 0, 20, "Silent Fov: %.2f");
}
ImGui::SliderFloat("##aimbot.smooth", &settings->smooth, 1, 15, "Smooth: %.2f");
if (!settings->silent) {
ImGui::SliderInt("##aimbot.shot_delay", &settings->shot_delay, 0, 100, "Shot Delay: %.0f");
}
ImGui::SliderInt("##aimbot.kill_delay", &settings->kill_delay, 0, 1000, "Kill Delay: %.0f");
if (settings->enable_backtrack) {
ImGui::SliderInt("##aimbot_backtrack_ticks", &settings->backtrack_ticks, 0, 12, "BackTrack Ticks: %.0f");
}
if (settings->autowall) {
ImGui::SliderInt("##aimbot.min_damage", &settings->min_damage, 1, 100, "Min Damage: %.0f");
}
ImGui::PopItemWidth();
}
ImGui::EndChild();
ImGui::NextColumn();
ImGui::BeginChild("##aimbot.rcs", ImVec2(0, 0), true);
{
ImGui::Text("Recoil Control System");
ImGui::Separator();
ImGui::PushItemWidth(-1);
ImGui::Checkbox("Enabled##aimbot.rcs", &settings->rcs);
ImGui::Text("RCS Type:");
static char* rcs_types[] = {
"Standalone",
"Aim"
};
ImGui::Combo("##aimbot.rcs_type", &settings->rcs_type, rcs_types, IM_ARRAYSIZE(rcs_types));
ImGui::Checkbox("RCS Custom Fov", &settings->rcs_fov_enabled);
if (settings->rcs_fov_enabled) {
ImGui::SliderFloat("##aimbot.rcs_fov", &settings->rcs_fov, 0, 20, "RCS Fov: %.2f");
}
ImGui::Checkbox("RCS Custom Smooth", &settings->rcs_smooth_enabled);
if (settings->rcs_smooth_enabled) {
ImGui::SliderFloat("##aimbot.rcs_smooth", &settings->rcs_smooth, 1, 15, "RCS Smooth: %.2f");
}
ImGui::SliderInt("##aimbot.rcs_x", &settings->rcs_x, 0, 100, "RCS X: %.0f");
ImGui::SliderInt("##aimbot.rcs_y", &settings->rcs_y, 0, 100, "RCS Y: %.0f");
ImGui::SliderInt("##aimbot.rcs_start", &settings->rcs_start, 1, 30, "RCS Start: %.0f");
ImGui::PopItemWidth();
}
ImGui::EndChild();
ImGui::Columns(1, NULL, false);
}
const char* box_types[] = { "Default","Corners" };
const char* bind_types[] = { "Hold","Toggle","On","Off" };
const char* glow_modes[] = { "Default","Pulsing full","Obvodka","Obvodka pulsing" };
const char* soundesp_modes[] = { "Render","Beams" };
struct chamsExtraParams {
bool* value;
std::string name;
};
void RenderEspTab()
{
ImGui::Columns(3, nullptr, false);
auto textSettings = [&](std::string show, std::string safe, float* size) -> void {
ImGui::SameLine();
bool openPopup = ImGui::Button(("+" + safe).c_str());
if (openPopup)
ImGui::OpenPopup((safe + "##popup").c_str());
if (ImGui::BeginPopup((safe + "##popup").c_str())) {
ImGui::PushItemWidth(160.f);
if (ImGui::SliderFloat(("Size" + safe).c_str(), size, 8.f, 20.f))
*size = std::clamp(*size, 8.f, 20.f);
ImGui::PopItemWidth();
ImGui::EndPopup();
}
};
ImGui::Text("ESP:");
ImGui::BeginChild("##1st", ImVec2(-1, 205), true); {
ImGui::Checkbox("Boxes", &g_Options.enabled_box);
ImGui::SameLine();
bool openPopupBoxESP = ImGui::Button("+##box");
if (openPopupBoxESP)
ImGui::OpenPopup("##boxpopup");
if (ImGui::BeginPopup("##boxpopup")) {
ImGui::PushItemWidth(160.f);
ImGui::Combo("Boxes type", &g_Options.box_type, box_types, 2);
ImGui::Checkbox("Boxes outline", &g_Options.box_outline);
ImGui::Checkbox("Boxes filled", &g_Options.box_filled);
ImGui::PopItemWidth();
ImGui::EndPopup();
}
ImGui::Checkbox("Skeleton", &g_Options.enabled_skeleton);
ImGui::Checkbox("Name", &g_Options.name);
textSettings("ESP Name Settings", "##namesettings", &g_Options.name_size);
ImGui::Checkbox("HP", &g_Options.hp);
ImGui::Checkbox("Armor", &g_Options.armor);
ImGui::Checkbox("Ammos", &g_Options.ammo_bar);
ImGui::Checkbox("Weapon", &g_Options.weapon);
textSettings("ESP Weapon Settings", "##weaponsettings", &g_Options.weapon_size);
ImGui::Checkbox("SnapLines", &g_Options.snipeline);
ImGui::Checkbox("Head Dot", &g_Options.head_dot);
ImGui::Checkbox("Flags", &g_Options.flags);
ImGui::SameLine();
bool openPopupFlags = ImGui::Button("+##flags");
if (openPopupFlags)
ImGui::OpenPopup("##flagspopup");
if (ImGui::BeginPopup("##flagspopup")) {
ImGui::PushItemWidth(160.f);
ImGui::Checkbox("Reload", &g_Options.flags_reload);
ImGui::SliderFloat("Size##reloadsize", &g_Options.flags_reload_size, 8.f, 20.f);
ImGui::Checkbox("Scoped", &g_Options.flags_scoped);
ImGui::SliderFloat("Size##scopedsize", &g_Options.flags_scoped_size, 8.f, 20.f);
ImGui::Checkbox("Bomb", &g_Options.flags_bomb);
ImGui::SliderFloat("Size##bombsize", &g_Options.flags_bomb_size, 8.f, 20.f);
ImGui::Checkbox("Flashed", &g_Options.flags_flashed);
ImGui::SliderFloat("Size##flashedsize", &g_Options.flags_flashed_size, 8.f, 20.f);
ImGui::Checkbox("HK", &g_Options.flags_hk);
if (ImGui::IsItemHovered()) {
ImGui::SameLine();
ImGui::Text(" | Note for newcamer: HK = HELMET/KEVLAR");
}
ImGui::SliderFloat("Size##hksize", &g_Options.flags_hk_size, 8.f, 20.f);
ImGui::PopItemWidth();
ImGui::EndPopup();
}
ImGui::Checkbox("Sound ESP", &g_Options.sound_esp);
ImGui::SameLine();
bool openPopupSoundESP = ImGui::Button("+##soundesp");
if (openPopupSoundESP)
ImGui::OpenPopup("##flagsoundesp");
if (ImGui::BeginPopup("##flagsoundesp")) {
ImGui::PushItemWidth(160.f);
ImGui::Combo("Type", &g_Options.sound_esp_type, soundesp_modes, 2);
ImGui::Checkbox("On team", &g_Options.sound_esp_onteam);
ImGui::SliderFloat("SoundESP Time", &g_Options.sound_esp_time, 0.5f, 3.f);
ImGui::SliderFloat("SoundESP Radius", &g_Options.sound_esp_radius, 15.f, 150.f);
ImGui::PopItemWidth();
ImGui::EndPopup();
}
};
ImGui::EndChild();
ImGui::Text("Glow:");
ImGui::BeginChild("##glow", ImVec2(-1, -1), true); {
ImGui::Checkbox("Enabled##glow", &g_Options.enabled_glow);
ImGui::SameLine();
bool openPopupGlowESP = ImGui::Button("+##glow");
if (openPopupGlowESP)
ImGui::OpenPopup("##glowpopup");
if (ImGui::BeginPopup("##glowpopup")) {
ImGui::PushItemWidth(160.f);
ImGui::Combo("Glow type", &g_Options.type_glow, glow_modes, 4);
ImGui::Checkbox("Glow Bloom", &g_Options.bloom_glow);
ImGui::PopItemWidth();
ImGui::EndPopup();
}
ImGui::Checkbox("Players##glow", &g_Options.players);
ImGui::Checkbox("Team##glow", &g_Options.on_team);
ImGui::Checkbox("Chickens?##glow", &g_Options.on_chickens);
ImGui::Checkbox("C4 Carrier##glow", &g_Options.c4_carrier);
ImGui::Checkbox("C4 Planted##glow", &g_Options.c4_planted);
ImGui::Checkbox("Defuse Kits##glow", &g_Options.defuse_kits);
ImGui::Checkbox("Weapons##glow", &g_Options.weapons);
};
ImGui::EndChild();
ImGui::NextColumn();
ImGui::Text("Efekts:");
ImGui::BeginChild("##second", ImVec2(-1, 195), true); {
ImGui::Checkbox("Dormant", &g_Options.dormant);
ImGui::Checkbox("On team", &g_Options.team);
ImGui::Checkbox("Visible Only", &g_Options.visible_only);
ImGui::Checkbox("Molotov Timer", &g_Options.molotov_timer);
ImGui::Checkbox("No Visual Recoil", &g_Options.no_visual_recoil);
ImGui::Checkbox("No Smoke", &g_Options.nosmoke);
if (ImGui::SliderFloat("Nightmode Scale", &g_Options.nightmode_value, 0.05f, 1.f, "%.3f")) {
g_Options.nightmode_value = std::clamp(g_Options.nightmode_value, 0.05f, 1.f);
Globals::UpdateNightMode = true;
}
ImGui::Text("BLOOM:");
ImGui::SliderFloat("Bloom Value", &g_Options.bloom_value, 0, 100.f);
ImGui::SliderFloat("Ambient Value", &g_Options.model_ambient_value, 0, 10.f);
// ImGui::Checkbox("Third Person", &g_Visuals->options.third_person);
// ImGui::Keybind("Third Person Key", &g_Visuals->options.third_person_bind);
// if(g_Visuals->options.third_person)
// ImGui::SliderFloat("Distance", &g_Visuals->options.third_person_dist, 0.f, 150.f);
};
ImGui::EndChild();
ImGui::Text("Chams: ");
ImGui::BeginChild("##chams", ImVec2(-1, -1), true); {
if (ImGui::ArrowButton("##left", ImGuiDir_Left) && g_Options.menuMaterial > 1)
--g_Options.menuMaterial;
ImGui::SameLine();
ImGui::Text("%d", g_Options.menuMaterial);
ImGui::SameLine();
if (ImGui::ArrowButton("##right", ImGuiDir_Right) && g_Options.menuMaterial < int(g_Chams->chams_player_allies_all.materials.size()))
++g_Options.menuMaterial;
int matWorking = g_Options.menuMaterial - 1;
const char* materials[] = {
("Normal"),
("Flat"),
("Animated"),
("Glass"),
("Crystal"),
("Silver"),
("Glow armsrace"),
("Glow"),
("Gloss")
};
auto chamsSettings = [&](std::string show, std::string safe, ConfChams* settings, std::vector<chamsExtraParams> extraParams = {}) -> void {
ImGui::Checkbox(show.c_str(), &settings->materials[matWorking].enabled);
if (settings->materials[matWorking].enabled) {
ImGui::SameLine();
bool openPopup = ImGui::Button(("Settings" + safe).c_str());
if (openPopup)
ImGui::OpenPopup((safe + "##popup").c_str());
if (ImGui::BeginPopup((safe + "##popup").c_str())) {
ImGui::Text(show.c_str());
ImGui::Separator();
ImGui::PushItemWidth(120.f);
ImGui::Combo(("Material" + safe).c_str(), &settings->materials[matWorking].material, materials, ARRAYSIZE(materials));
ImGui::PopItemWidth();
ImGui::Checkbox(("Do not remove model" + safe).c_str(), &settings->DoNotRemoveModel);
ImGui::Checkbox(("Wireframe" + safe).c_str(), &settings->materials[matWorking].wireframe);
ImGui::Checkbox(("Pulsing" + safe).c_str(), &settings->materials[matWorking].blinking);
ImGui::Checkbox(("Health-Based" + safe).c_str(), &settings->materials[matWorking].healthBased);
if (!extraParams.empty()) {
ImGui::Spacing();
for (auto& data : extraParams) {
ImGui::Checkbox(data.name.c_str(), data.value);
}
}
ImGui::Separator();
ImGui::EndPopup();
}
}
};
chamsSettings("Enemies Visible", "##enemiesvisible", &g_Chams->chams_player_enemies_visible);
chamsSettings("Enemies Occluded", "##enemiesoccluded", &g_Chams->chams_player_enemies_occluded);
ImGui::Spacing();
chamsSettings("Local Player", "##localplayer", &g_Chams->chams_player_local_player);
chamsSettings("Weapons", "##weapons", &g_Chams->chams_weapons);
chamsSettings("Hands", "##hands", &g_Chams->chams_hands);
chamsSettings("Sleeves", "##sleeves", &g_Chams->chams_sleeves);
};
ImGui::EndChild();
ImGui::NextColumn();
ImGui::Text("Colors:");
ImGui::BeginChild("##third", ImVec2(-1, -1), true); {
ImGui::ColorEdit("Boxes Enemy Visible", g_Options.box_enemy_vis_clr);
ImGui::ColorEdit("Boxes Enemy Invisible", g_Options.box_enemy_invis_clr);
ImGui::ColorEdit("Boxes Fill", g_Options.box_fill_color);
ImGui::ColorEdit("Boxes Outline", g_Options.box_outline_clr);
ImGui::ColorEdit("HP Bar", g_Options.hp_clr);
ImGui::ColorEdit("Armor Bar", g_Options.armor_clr);
ImGui::ColorEdit("Ammo Bar", g_Options.ammobar_clr);
ImGui::ColorEdit("Skeleton", g_Options.skeleton_clr);
ImGui::ColorEdit("Name", g_Options.name_clr);
ImGui::ColorEdit("Weapon", g_Options.weapon_clr);
ImGui::ColorEdit("SnapLines", g_Options.snipeline_clr);
ImGui::ColorEdit("Head Dot", g_Options.head_dot_clr);
ImGui::ColorEdit("Molotov Timer", g_Options.molotov_timer_color);
ImGui::ColorEdit("SoundESP circles", g_Options.sound_esp_clr);
ImGui::ColorEdit("Glow Enemy Visible", g_Options.enemy_clr);
ImGui::ColorEdit("Glow Enemy Invisible", g_Options.enemy_invis_clr);
ImGui::ColorEdit("Glow Team Visible", g_Options.allies_clr);
ImGui::ColorEdit("Glow Team Invisible", g_Options.allies_invis_clr);
ImGui::ColorEdit("Glow Chickens", g_Options.chickens_clr);
ImGui::ColorEdit("Glow C4 Carrier", g_Options.c4_carrier_clr);
ImGui::ColorEdit("Glow C4 Planted", g_Options.c4_planted_clr);
ImGui::ColorEdit("Glow Defuse Kits", g_Options.defuse_kits_clr);
ImGui::ColorEdit("Glow Weapons", g_Options.weapons_clr);
int matWorking = g_Options.menuMaterial - 1;
ImGui::ColorEdit("Chams Enemies Visible", g_Chams->chams_player_enemies_visible.materials[matWorking].color);
ImGui::ColorEdit("Chams Enemies Occluded", g_Chams->chams_player_enemies_occluded.materials[matWorking].color);
ImGui::ColorEdit("Chams Backtrack", g_Chams->chams_player_backtrack.materials[matWorking].color);
ImGui::ColorEdit("Chams Local Player", g_Chams->chams_player_local_player.materials[matWorking].color);
ImGui::ColorEdit("Chams Weapons", g_Chams->chams_weapons.materials[matWorking].color);
ImGui::ColorEdit("Chams Hands", g_Chams->chams_hands.materials[matWorking].color);
ImGui::ColorEdit("Chams Sleeves", g_Chams->chams_sleeves.materials[matWorking].color);
};
ImGui::EndChild();
}
template <typename T>
void PickCurrentWeapon(int* idx, int* vec_idx, std::vector<T> arr) {
if (!g_LocalPlayer) return;
if (!g_EngineClient->IsInGame()) return;
auto weapon = g_LocalPlayer->m_hActiveWeapon();
if (!weapon) return;
short wpn_idx = weapon->m_Item().m_iItemDefinitionIndex();
if (g_Options.is_knife(wpn_idx)) {
*idx = g_Change::WeaponNamesFull.at(0).definition_index;
*vec_idx = 0;
return;
}
auto wpn_it = std::find_if(arr.begin(), arr.end(), [wpn_idx](const T& a) {
return a.definition_index == wpn_idx;
});
if (wpn_it != arr.end()) {
*idx = wpn_idx;
*vec_idx = std::abs(std::distance(arr.begin(), wpn_it));
}
}
void RenderChangerTab() {
ImGui::Columns(3, nullptr, false);
static char search_bar[32];
ImGui::Text("Selector:");
ImGui::BeginChild("##1", ImVec2(-1, -1), true); {
if (ImGui::Button("Current", ImVec2(-1, 19)) || Menu::Get().SkinsFirstTimeRender)
PickCurrentWeapon(&g_Options.weapon_index_skins, &g_Options.weapon_vector_index_skins, g_Change::WeaponNamesFull);
int iter = 0;
for (auto& weapon : g_Change::WeaponNamesFull) {
if (ImGui::ButtonT(weapon.name, ImVec2(-1, 19), g_Options.weapon_index_skins, weapon.definition_index, false, false)) {
g_Options.weapon_index_skins = weapon.definition_index;
g_Options.weapon_vector_index_skins = iter;
}
iter++;
}
};
ImGui::EndChild();
ImGui::NextColumn();
auto& selected_entry = g_Options.Items[g_Change::WeaponNamesFull[g_Options.weapon_vector_index_skins].definition_index];
selected_entry.definition_index = g_Options.weapon_index_skins;
selected_entry.definition_vector_index = g_Options.weapon_vector_index_skins;
bool is_gloves = false;
ImGui::Text("Params:");
ImGui::BeginChild("##2", ImVec2(-1, ((ImGui::GetCurrentWindow()->Size.y / 2) + 2)), true); {
ImGui::InputInt("Seed", &selected_entry.seed);
ImGui::Checkbox("Enable StatTrack", &selected_entry.enable_stat_track);
ImGui::InputInt("StatTrak", &selected_entry.stat_trak);
ImGui::InputText("Name##Skins", selected_entry.name, sizeof(selected_entry.name));
if (ImGui::SliderFloat("Wear", &selected_entry.wear, FLT_MIN, 1.f, "%.10f", 5))
selected_entry.wear = std::clamp(selected_entry.wear, FLT_MIN, 1.f);
if (selected_entry.definition_index == WEAPON_KNIFE) {
ImGui::Combo("Knife", &selected_entry.definition_override_vector_index, [](void* data, int idx, const char** out_text) {
*out_text = g_Change::KnifeNames.at(idx).name;
return true;
}, nullptr, g_Change::KnifeNames.size(), 10);
selected_entry.definition_override_index = g_Change::KnifeNames.at(selected_entry.definition_override_vector_index).definition_index;
}
else if (selected_entry.definition_index == GLOVE_T_SIDE) {
ImGui::Combo("Glove", &selected_entry.definition_override_vector_index, [](void* data, int idx, const char** out_text) {
*out_text = g_Change::GloveNames.at(idx).name;
return true;
}, nullptr, g_Change::GloveNames.size(), 10);
selected_entry.definition_override_index = g_Change::GloveNames.at(selected_entry.definition_override_vector_index).definition_index;
is_gloves = true;
}
else
selected_entry.definition_override_vector_index = 0;
static float next_enb_time = 0;
float time_to_next_up = g_GlobalVars->curtime;
time_to_next_up = std::clamp(next_enb_time - g_GlobalVars->curtime, 0.f, 1.f);
std::string name = "Update (";
name += std::to_string(time_to_next_up);
name.erase(12, 16);
name += ")";
if (ImGui::Button(name.c_str(), ImVec2(-1, 19))) {
if (next_enb_time <= g_GlobalVars->curtime) {
Utils::ForceFullUpdate();
next_enb_time = g_GlobalVars->curtime + 1.f;
}
}
};
ImGui::EndChild();
ImGui::Text("Preview:");
ImGui::BeginChild("##3", ImVec2(-1, -1), true, ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoScrollWithMouse); {
if (m_skin_texture) {
ImGui::Image(m_skin_texture, ImGui::GetCurrentWindow()->Size);
}
};
ImGui::EndChild();
ImGui::NextColumn();
ImGui::Text("Paintkit:");
ImGui::BeginChild("##4", ImVec2(-1, -1), true); {
static bool showAllWeapons = false;
ImGui::Checkbox("All paint kits", &showAllWeapons);
ImGui::InputText("Filter##search_bar_skins", search_bar, sizeof(search_bar));
ImGui::ListBoxHeader("##paintkits", ImVec2(-1, -1));
if (ImGui::Selectable("Default", selected_entry.paint_kit_index == 0)) {
selected_entry.paint_kit_index = 0;
}
static auto GetColRar = [&](int rar) -> ImVec4 {
switch (rar)
{
case 1:
return ImColor(150, 150, 150, 255);
break;
case 2:
return ImColor(100, 100, 255, 255);
break;
case 3:
return ImColor(50, 50, 255, 255);
break;
case 4:
return ImColor(255, 64, 242, 255);
break;
case 5:
return ImColor(255, 50, 50, 255);
break;
case 6:
return ImColor(255, 50, 50, 255);
break;
case 7:
return ImColor(255, 196, 46, 255);
break;
default:
return ImColor(150, 150, 150, 255);
break;
}
};
bool is_knife = selected_entry.definition_index == WEAPON_KNIFE || selected_entry.definition_index == WEAPON_KNIFE_T;
int defindex = (is_knife || selected_entry.definition_index == GLOVE_T_SIDE || selected_entry.definition_index == GLOVE_CT_SIDE) ? selected_entry.definition_override_index : selected_entry.definition_index;
std::string skinName = g_Change::GetWeaponNameById(defindex);
if (skinName.compare("") != 0 || showAllWeapons)
{
std::string filter = std::string(search_bar);
int curItem = -1;
int s = 0;
auto set = g_Options.weaponSkins[skinName];
std::vector<std::string> list(set.size());
std::vector<std::string> anti_repeat;
std::copy(set.begin(), set.end(), list.begin());
if (showAllWeapons) {
list = {};
for (auto [key, value] : g_Options.weaponSkins) {
for (auto skin : value) {
list.push_back(skin);
}
}
}
auto fnAntiRepeat = [&](std::string tx) -> bool {
auto ret = std::find(anti_repeat.begin(), anti_repeat.end(), tx) == anti_repeat.end();
if (ret)
anti_repeat.push_back(tx);
return ret;
};
for (auto skin : list) {
int pk = g_Options.skinMap[skin].paintkit;
if (pk == selected_entry.paint_kit_index)
curItem = s;
bool passed_filter = true;
if (!filter.empty()) {
std::string tempName = g_Options.skinNames[g_Options.skinMap[skin].tagName];
std::string tempQuery = filter;
std::transform(tempName.begin(), tempName.end(), tempName.begin(), ::tolower);
std::transform(tempQuery.begin(), tempQuery.end(), tempQuery.begin(), ::tolower);
if (tempName.find(tempQuery) == std::string::npos)
passed_filter = false;
}
if (passed_filter && fnAntiRepeat(g_Options.skinNames[g_Options.skinMap[skin].tagName])) {
ImGui::PushStyleColor(ImGuiCol_Text, is_knife ? GetColRar(6) : GetColRar(g_Options.skinMap[skin].rarity));
if (ImGui::Selectable((g_Options.skinNames[g_Options.skinMap[skin].tagName] + "##" + skinName).c_str(), pk == selected_entry.paint_kit_index)) {
selected_entry.paint_kit_index = pk;
}
ImGui::PopStyleColor();
}
s++;
}
static int saved_pk_index = -1;
static int saved_w_index = -1;
static int saved_wo_index = -1;
if (saved_pk_index != selected_entry.paint_kit_index || saved_w_index != selected_entry.definition_index || saved_wo_index != selected_entry.definition_override_index || Menu::Get().SkinsFirstTimeRender) {
saved_pk_index = selected_entry.paint_kit_index;
saved_w_index = selected_entry.definition_index;
saved_wo_index = selected_entry.definition_override_index;
std::string validFname = "";
if (saved_pk_index != 0)
for (auto s : g_Options.weaponSkins[skinName]) {
auto gg = g_Options.skinMap[s];
if (gg.paintkit == selected_entry.paint_kit_index) {
validFname = s;
break;
}
}
std::string full_path;
if (validFname == "") {
full_path = "resource/flash/econ/weapons/base_weapons/";
if (!is_gloves)
full_path += "weapon_";
full_path += skinName + ".png";
}
else {
full_path = ("resource/flash/econ/default_generated/");
if (!is_gloves)
full_path += "weapon_";
full_path += skinName + "_" + validFname + "_light_large.png";
}
const auto handle = g_FileSys->open(full_path.c_str(), "r", "GAME");
if (handle) {
int file_len = g_FileSys->size(handle);
char* image = new char[file_len];
g_FileSys->read(image, file_len, handle);
g_FileSys->close(handle);
D3DXCreateTextureFromFileInMemory(g_D3DDevice9, image, file_len, &m_skin_texture);
delete[] image;
}
else
m_skin_texture = nullptr;
}
}
ImGui::ListBoxFooter();
};
ImGui::EndChild();
Menu::Get().SkinsFirstTimeRender = false;
}
void RenderMiscTab()
{
bool placeholder_true = true;
auto& style = ImGui::GetStyle();
float group_w = ImGui::GetCurrentWindow()->Size.x - style.WindowPadding.x * 2;
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0, 0));
ImGui::ToggleButton("MISC", &placeholder_true, ImVec2{ group_w, 25.0f });
ImGui::PopStyleVar();
ImGui::BeginGroupBox("##body_content");
{
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2{ style.WindowPadding.x, style.ItemSpacing.y });
ImGui::Columns(3, nullptr, false);
ImGui::SetColumnOffset(1, group_w / 3.0f);
ImGui::SetColumnOffset(2, 2 * group_w / 3.0f);
ImGui::SetColumnOffset(3, group_w);
ImGui::Checkbox("Bunny hop", g_Options.misc_bhop);
ImGui::Checkbox("Watermark##hc", g_Options.misc_watermark);
ImGui::NextColumn();
ImGui::Checkbox("KeyBind", &g_Options.show_keybinds);
ImGui::SliderInt("viewmodel_fov:", g_Options.viewmodel_fov, 68, 120);
ImGui::Columns(1, nullptr, false);
ImGui::PopStyleVar();
}
ImGui::EndGroupBox();
}
void Menu::Initialize()
{
CreateStyle();
_visible = true;
}
void Menu::Shutdown()
{
ImGui_ImplDX9_Shutdown();
ImGui_ImplWin32_Shutdown();
ImGui::DestroyContext();
}
void Menu::OnDeviceLost()
{
ImGui_ImplDX9_InvalidateDeviceObjects();
}
void Menu::OnDeviceReset()
{
ImGui_ImplDX9_CreateDeviceObjects();
}
void SpectatorList() {
int specs = 0;
std::string spect = "";
if (g_EngineClient->IsInGame() && g_EngineClient->IsConnected()) {
int localIndex = g_EngineClient->GetLocalPlayer();
C_BasePlayer* pLocalEntity = C_BasePlayer::GetPlayerByIndex(localIndex);
if (pLocalEntity) {
for (int i = 0; i < g_EngineClient->GetMaxClients(); i++) {
C_BasePlayer* pBaseEntity = C_BasePlayer::GetPlayerByIndex(i);
if (!pBaseEntity) continue;
if (pBaseEntity->m_iHealth() > 0) continue;
if (pBaseEntity == pLocalEntity) continue;
if (pBaseEntity->IsDormant()) continue;
if (pBaseEntity->m_hObserverTarget() != pLocalEntity) continue;
player_info_t pInfo;
g_EngineClient->GetPlayerInfo(pBaseEntity->EntIndex(), &pInfo);
if (pInfo.ishltv) continue;
spect += pInfo.szName;
spect += "\n";
specs++;
}
}
}
ImGui::PushStyleVar(ImGuiStyleVar_WindowTitleAlign, ImVec2(0.5f, 0.5f));
if (ImGui::Begin("Spectator List", nullptr, ImVec2(0, 0), 0.4F, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar)) {
if (specs > 0) spect += "\n";
ImVec2 size = ImGui::CalcTextSize(spect.c_str());
ImGui::SetWindowSize(ImVec2(200, 25 + size.y));
ImGui::Text(spect.c_str());
}
ImGui::End();
ImGui::PopStyleVar();
}
void Menu::Render()
{
ImGui::GetIO().MouseDrawCursor = _visible;
if (g_Options.misc_spectators)
SpectatorList();
if (!_visible)
return;
const auto sidebar_size = get_sidebar_size();
static int active_sidebar_tab = 0;
g_KeyBinds->Draw();
ImGui::SetNextWindowPos(ImVec2{ 0, 0 }, ImGuiSetCond_Once);
ImGui::SetNextWindowSize(ImVec2{ 1000, 400 }, ImGuiSetCond_Once);
{
ImGui::Begin("Rangeware", nullptr, ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoScrollWithMouse | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoTitleBar);
{
ImGui::SetWindowSize(ImVec2(716, 646));
decorations();
tabss();
if (tabs == 1)
{
bool a;
bool aa;
int g;
ImGui::SetCursorPos(ImVec2(195, 10));
ImGui::BeginChild("1", ImVec2(250, 400));
{
ImGui::SetCursorPos(ImVec2(22, 22));
ImGui::Checkbox("Checkbox1", &a);
ImGui::SetCursorPos(ImVec2(22, 55));
ImGui::Checkbox("Checkbox2", &aa);
ImGui::SetCursorPos(ImVec2(15, 99));
ImGui::SliderInt("Slider", &g, 1, 100);
}
ImGui::EndChild();
}
ImGui::End();
}
}
}
void Menu::Toggle()
{
_visible = !_visible;
}
void Menu::CreateStyle()
{
ImGui::StyleColorsDark();
ImGui::SetColorEditOptions(ImGuiColorEditFlags_HEX);
_style.FrameRounding = 0.f;
_style.WindowRounding = 0.f;
_style.ChildRounding = 0.f;
_style.Colors[ImGuiCol_Button] = ImVec4(0.260f, 0.590f, 0.980f, 0.670f);
_style.Colors[ImGuiCol_Header] = ImVec4(0.260f, 0.590f, 0.980f, 0.670f);
_style.Colors[ImGuiCol_HeaderHovered] = ImVec4(0.260f, 0.590f, 0.980f, 1.000f);
_style.Colors[ImGuiCol_FrameBg] = ImVec4(0.20f, 0.25f, 0.30f, 1.0f);
_style.Colors[ImGuiCol_WindowBg] = ImVec4(0.000f, 0.009f, 0.120f, 0.940f);
_style.Colors[ImGuiCol_PopupBg] = ImVec4(0.076f, 0.143f, 0.209f, 1.000f);
ImGui::GetStyle() = _style;
}
где у тебя имгуи таб объявлен?я наверно слепой или тупой, а может то и то
Код:#include "Menu.hpp" #define NOMINMAX #include <Windows.h> #include <chrono> #include "../sdk/csgostructs.hpp" #include "../helpers/input.hpp" #include "../options.hpp" #include "../sdk/render/ui.hpp" #include "../config.hpp" #include <dinput.h> #include <tchar.h> #include "anti-aim.h" #include "legit.h" #include "visuals.h" #include "misc.h" #include "skins.h" #include "settings.h" #include "players.h" #define IMGUI_DEFINE_MATH_OPERATORS #include "imgui/imgui_internal.h" #include "imgui/impl/imgui_impl_dx9.h" #include "imgui/impl/imgui_impl_win32.h" #include <mutex> IDirect3DTexture9* aaa = nullptr; IDirect3DTexture9* legit = nullptr; IDirect3DTexture9* skul = nullptr; IDirect3DTexture9* visuals = nullptr; IDirect3DTexture9* rage = nullptr; IDirect3DTexture9* misc = nullptr; IDirect3DTexture9* skins = nullptr; IDirect3DTexture9* settings = nullptr; IDirect3DTexture9* players = nullptr; static LPDIRECT3D9 g_pD3D = NULL; static LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; static D3DPRESENT_PARAMETERS g_d3dpp = {}; ImFont* tb = nullptr; ImFont* tbl = nullptr; ImFont* rere = nullptr; static int tabs = 0; void tabss() { if (legit == nullptr) D3DXCreateTextureFromFileInMemoryEx(g_pd3dDevice, &legitt, sizeof(legitt), 11, 14, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &legit); if (aaa == nullptr) D3DXCreateTextureFromFileInMemoryEx(g_pd3dDevice, &aa, sizeof(aa), 17, 9, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &aaa); if (visuals == nullptr) D3DXCreateTextureFromFileInMemoryEx(g_pd3dDevice, &glaz, sizeof(glaz), 15, 12, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &visuals); if (misc == nullptr) D3DXCreateTextureFromFileInMemoryEx(g_pd3dDevice, &msc, sizeof(msc), 13, 13, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &misc); if (skins == nullptr) D3DXCreateTextureFromFileInMemoryEx(g_pd3dDevice, &skn, sizeof(skn), 14, 13, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &skins); if (settings == nullptr) D3DXCreateTextureFromFileInMemoryEx(g_pd3dDevice, &setbbb, sizeof(setbbb), 13, 14, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &settings); if (players == nullptr) D3DXCreateTextureFromFileInMemoryEx(g_pd3dDevice, &plrs, sizeof(plrs), 14, 14, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &players); ImGui::SetCursorPos(ImVec2(38, 193)); ImGui::Image(legit, ImVec2(11, 14)); ImGui::SetCursorPos(ImVec2(35, 233)); ImGui::Image(rage, ImVec2(15, 16)); ImGui::SetCursorPos(ImVec2(35, 278)); ImGui::Image(aaa, ImVec2(17, 9)); ImGui::SetCursorPos(ImVec2(35, 315)); ImGui::Image(visuals, ImVec2(15, 12)); ImGui::SetCursorPos(ImVec2(37, 355)); ImGui::Image(misc, ImVec2(13, 13)); ImGui::SetCursorPos(ImVec2(37, 395)); ImGui::Image(skins, ImVec2(14, 13)); ImGui::SetCursorPos(ImVec2(37, 435)); ImGui::Image(settings, ImVec2(13, 14)); ImGui::SetCursorPos(ImVec2(37, 475)); ImGui::Image(players, ImVec2(14, 14)); ImGui::SetCursorPos(ImVec2(20, 178)); if (ImGui::tab("legit", legit, 0 == tabs)) tabs = 0; ImGui::SetCursorPos(ImVec2(20, 258)); if (ImGui::tab("anti-aim", legit, 2 == tabs)) tabs = 1; ImGui::SetCursorPos(ImVec2(20, 298)); if (ImGui::tab("visuals", legit, 3 == tabs)) tabs = 2; ImGui::SetCursorPos(ImVec2(20, 338)); if (ImGui::tab("misc", legit, 4 == tabs)) tabs = 3; ImGui::SetCursorPos(ImVec2(20, 378)); if (ImGui::tab("skins", legit, 5 == tabs)) tabs = 4; ImGui::SetCursorPos(ImVec2(20, 418)); if (ImGui::tab("settings", legit, 6 == tabs)) tabs = 5; ImGui::SetCursorPos(ImVec2(20, 458)); if (ImGui::tab("players", legit, 7 == tabs)) tabs = 6; } void decorations() { // ImGui::GetWindowDrawList()->AddRectFilled(ImVec2(ImGui::GetWindowPos().x + 0, ImGui::GetWindowPos().y + 0), ImVec2(ImGui::GetWindowPos().x + 716, ImGui::GetWindowPos().y + 646), ImColor(22, 22, 22)); ImGui::GetWindowDrawList()->AddRectFilled(ImVec2(ImGui::GetWindowPos().x + 0, ImGui::GetWindowPos().y + 0), ImVec2(ImGui::GetWindowPos().x + 185, ImGui::GetWindowPos().y + 646), ImColor(36, 36, 36)); // //залупka ImGui::GetWindowDrawList()->AddTriangleFilled(ImVec2(ImGui::GetWindowPos().x + 65, ImGui::GetWindowPos().y + 26), ImVec2(ImGui::GetWindowPos().x + 7, ImGui::GetWindowPos().y + 50), ImVec2(ImGui::GetWindowPos().x + 58, ImGui::GetWindowPos().y + 89), ImColor(28, 26, 29)); ImGui::GetWindowDrawList()->AddTriangleFilled(ImVec2(ImGui::GetWindowPos().x + 116, ImGui::GetWindowPos().y + 68), ImVec2(ImGui::GetWindowPos().x + 105, ImGui::GetWindowPos().y + 150), ImVec2(ImGui::GetWindowPos().x + 180, ImGui::GetWindowPos().y + 114), ImColor(28, 26, 29)); ImGui::GetWindowDrawList()->AddTriangleFilled(ImVec2(ImGui::GetWindowPos().x + 29, ImGui::GetWindowPos().y + 160), ImVec2(ImGui::GetWindowPos().x + 85, ImGui::GetWindowPos().y + 180), ImVec2(ImGui::GetWindowPos().x + 38, ImGui::GetWindowPos().y + 220), ImColor(28, 26, 29)); ImGui::GetWindowDrawList()->AddTriangleFilled(ImVec2(ImGui::GetWindowPos().x + 175, ImGui::GetWindowPos().y + 250), ImVec2(ImGui::GetWindowPos().x + 88, ImGui::GetWindowPos().y + 265), ImVec2(ImGui::GetWindowPos().x + 140, ImGui::GetWindowPos().y + 330), ImColor(28, 26, 29)); ImGui::GetWindowDrawList()->AddTriangleFilled(ImVec2(ImGui::GetWindowPos().x + 60, ImGui::GetWindowPos().y + 336), ImVec2(ImGui::GetWindowPos().x + 28, ImGui::GetWindowPos().y + 367), ImVec2(ImGui::GetWindowPos().x + 68, ImGui::GetWindowPos().y + 380), ImColor(28, 26, 29)); ImGui::GetWindowDrawList()->AddTriangleFilled(ImVec2(ImGui::GetWindowPos().x + 162, ImGui::GetWindowPos().y + 425), ImVec2(ImGui::GetWindowPos().x + 83, ImGui::GetWindowPos().y + 440), ImVec2(ImGui::GetWindowPos().x + 139, ImGui::GetWindowPos().y + 497), ImColor(28, 26, 29)); ImGui::GetWindowDrawList()->AddTriangleFilled(ImVec2(ImGui::GetWindowPos().x + 25, ImGui::GetWindowPos().y + 560), ImVec2(ImGui::GetWindowPos().x + 110, ImGui::GetWindowPos().y + 500), ImVec2(ImGui::GetWindowPos().x + 110, ImGui::GetWindowPos().y + 620), ImColor(28, 26, 29)); // // ImGui::GetWindowDrawList()->AddText(rere, 21.0f, ImVec2(ImGui::GetWindowPos().x + 45, ImGui::GetWindowPos().y + 40), ImColor(230, 230, 230), "Rangewave"); // } static char* sidebar_tabs[] = { "AIM", "ESP","CHANGER", "MISC", "CONFIG" }; extern LPDIRECT3DTEXTURE9 m_skin_texture = nullptr; template<size_t N> void render_tabs(char* (&names)[N], int& activetab, float w, float h, bool sameline) { bool values[N] = { false }; values[activetab] = true; for (auto i = 0; i < N; ++i) { if (ImGui::ToggleButton(names[i], &values[i], ImVec2{ w, h })) { activetab = i; } if (sameline && i < N - 1) ImGui::SameLine(); } } constexpr static float get_sidebar_item_width() { return 150.0f; } constexpr static float get_sidebar_item_height() { return 50.0f; } ImVec2 get_sidebar_size() { constexpr float padding = 10.0f; constexpr auto size_w = padding * 2.0f + get_sidebar_item_width(); constexpr auto size_h = padding * 2.0f + (sizeof(sidebar_tabs) / sizeof(char*)) * get_sidebar_item_height(); return ImVec2{ size_w, ImMax(325.0f, size_h) }; } void RenderAimbot() { static bool editor_mode{ false }; static std::string current_group{ "" }; if (Menu::Get().AimbotFirstTimeRender) { if (g_LocalPlayer && g_EngineClient && g_EngineClient->IsInGame() && g_EngineClient->IsConnected()) { auto weapon = g_LocalPlayer->m_hActiveWeapon(); if (weapon) { current_group = g_CustomWeaponGroups->GetGroupName(weapon->m_Item().m_iItemDefinitionIndex()); } } } Menu::Get().AimbotFirstTimeRender = false; if (editor_mode) { ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(27 / 255.f, 27 / 255.f, 27 / 255.f, 1.f)); if (ImGui::Button("Back", ImVec2(-1, 19)) || InputSys::Get().IsKeyDown(VK_ESCAPE)) editor_mode = !editor_mode; g_CustomWeaponGroups->Menu(current_group); return; } ImGui::Columns(4, nullptr, false); ImGui::Text("Selector:"); ImGui::BeginChild("##1", ImVec2(-1, -1), true); { if (ImGui::Button("Editor Mode", ImVec2(-1, 19))) editor_mode = !editor_mode; g_CustomWeaponGroups->RenderSelector(current_group, 39.f); }; ImGui::EndChild(); ImGui::NextColumn(); legitbot_settings* settings = g_CustomWeaponGroups->GetSettings(current_group); ImGui::BeginChild("##aimbot.general", ImVec2(0, 0), true); { ImGui::Text("General"); ImGui::Separator(); ImGui::PushItemWidth(-1); ImGui::Checkbox("Enabled", &g_Options.aimbot_enable); ImGui::Checkbox("Deathmatch", &g_Options.aimbot_deathmatch); ImGui::Checkbox("Autopistol", &settings->autopistol); ImGui::Checkbox("Check Smoke", &settings->check_smoke); ImGui::Checkbox("Check Flash", &settings->check_flash); ImGui::Checkbox("Autowall", &settings->autowall); ImGui::Checkbox("Backtrack", &settings->enable_backtrack); ImGui::Checkbox("Silent", &settings->silent); ImGui::Checkbox("Humanize", &settings->humanize); ImGui::Checkbox("Only In Zoom", &settings->only_in_zoom); ImGui::PopItemWidth(); } ImGui::EndChild(); ImGui::NextColumn(); ImGui::BeginChild("##aimbot.misc", ImVec2(0, 0), true); { ImGui::Text("Misc"); ImGui::Separator(); ImGui::PushItemWidth(-1); static char* priorities[] = { "Fov", "Distance" }; static char* aim_types[] = { "Hitbox", "Nearest" }; static char* fov_types[] = { "Static", "Dynamic" }; static char* hitbox_list[] = { "Head", "Neck", "Lower Neck", "Body", "Thorax", "Chest", "Right Thing", "Left Thing", // 7 }; ImGui::Text("Aim Type:"); ImGui::Combo("##aimbot.aim_type", &settings->aim_type, aim_types, IM_ARRAYSIZE(aim_types)); if (settings->aim_type == 0) { ImGui::Text("Hitbox:"); ImGui::Combo("##aimbot.hitbox", &settings->hitbox, hitbox_list, IM_ARRAYSIZE(hitbox_list)); } ImGui::Text("Priority:"); ImGui::Combo("##aimbot.priority", &settings->priority, priorities, IM_ARRAYSIZE(priorities)); ImGui::Text("Fov Type:"); ImGui::Combo("##aimbot.fov_type", &settings->fov_type, fov_types, IM_ARRAYSIZE(fov_types)); ImGui::SliderFloat("##aimbot.fov", &settings->fov, 0, 20, "Fov: %.2f"); if (settings->silent) { ImGui::SliderFloat("##aimbot.silent_fov", &settings->silent_fov, 0, 20, "Silent Fov: %.2f"); } ImGui::SliderFloat("##aimbot.smooth", &settings->smooth, 1, 15, "Smooth: %.2f"); if (!settings->silent) { ImGui::SliderInt("##aimbot.shot_delay", &settings->shot_delay, 0, 100, "Shot Delay: %.0f"); } ImGui::SliderInt("##aimbot.kill_delay", &settings->kill_delay, 0, 1000, "Kill Delay: %.0f"); if (settings->enable_backtrack) { ImGui::SliderInt("##aimbot_backtrack_ticks", &settings->backtrack_ticks, 0, 12, "BackTrack Ticks: %.0f"); } if (settings->autowall) { ImGui::SliderInt("##aimbot.min_damage", &settings->min_damage, 1, 100, "Min Damage: %.0f"); } ImGui::PopItemWidth(); } ImGui::EndChild(); ImGui::NextColumn(); ImGui::BeginChild("##aimbot.rcs", ImVec2(0, 0), true); { ImGui::Text("Recoil Control System"); ImGui::Separator(); ImGui::PushItemWidth(-1); ImGui::Checkbox("Enabled##aimbot.rcs", &settings->rcs); ImGui::Text("RCS Type:"); static char* rcs_types[] = { "Standalone", "Aim" }; ImGui::Combo("##aimbot.rcs_type", &settings->rcs_type, rcs_types, IM_ARRAYSIZE(rcs_types)); ImGui::Checkbox("RCS Custom Fov", &settings->rcs_fov_enabled); if (settings->rcs_fov_enabled) { ImGui::SliderFloat("##aimbot.rcs_fov", &settings->rcs_fov, 0, 20, "RCS Fov: %.2f"); } ImGui::Checkbox("RCS Custom Smooth", &settings->rcs_smooth_enabled); if (settings->rcs_smooth_enabled) { ImGui::SliderFloat("##aimbot.rcs_smooth", &settings->rcs_smooth, 1, 15, "RCS Smooth: %.2f"); } ImGui::SliderInt("##aimbot.rcs_x", &settings->rcs_x, 0, 100, "RCS X: %.0f"); ImGui::SliderInt("##aimbot.rcs_y", &settings->rcs_y, 0, 100, "RCS Y: %.0f"); ImGui::SliderInt("##aimbot.rcs_start", &settings->rcs_start, 1, 30, "RCS Start: %.0f"); ImGui::PopItemWidth(); } ImGui::EndChild(); ImGui::Columns(1, NULL, false); } const char* box_types[] = { "Default","Corners" }; const char* bind_types[] = { "Hold","Toggle","On","Off" }; const char* glow_modes[] = { "Default","Pulsing full","Obvodka","Obvodka pulsing" }; const char* soundesp_modes[] = { "Render","Beams" }; struct chamsExtraParams { bool* value; std::string name; }; void RenderEspTab() { ImGui::Columns(3, nullptr, false); auto textSettings = [&](std::string show, std::string safe, float* size) -> void { ImGui::SameLine(); bool openPopup = ImGui::Button(("+" + safe).c_str()); if (openPopup) ImGui::OpenPopup((safe + "##popup").c_str()); if (ImGui::BeginPopup((safe + "##popup").c_str())) { ImGui::PushItemWidth(160.f); if (ImGui::SliderFloat(("Size" + safe).c_str(), size, 8.f, 20.f)) *size = std::clamp(*size, 8.f, 20.f); ImGui::PopItemWidth(); ImGui::EndPopup(); } }; ImGui::Text("ESP:"); ImGui::BeginChild("##1st", ImVec2(-1, 205), true); { ImGui::Checkbox("Boxes", &g_Options.enabled_box); ImGui::SameLine(); bool openPopupBoxESP = ImGui::Button("+##box"); if (openPopupBoxESP) ImGui::OpenPopup("##boxpopup"); if (ImGui::BeginPopup("##boxpopup")) { ImGui::PushItemWidth(160.f); ImGui::Combo("Boxes type", &g_Options.box_type, box_types, 2); ImGui::Checkbox("Boxes outline", &g_Options.box_outline); ImGui::Checkbox("Boxes filled", &g_Options.box_filled); ImGui::PopItemWidth(); ImGui::EndPopup(); } ImGui::Checkbox("Skeleton", &g_Options.enabled_skeleton); ImGui::Checkbox("Name", &g_Options.name); textSettings("ESP Name Settings", "##namesettings", &g_Options.name_size); ImGui::Checkbox("HP", &g_Options.hp); ImGui::Checkbox("Armor", &g_Options.armor); ImGui::Checkbox("Ammos", &g_Options.ammo_bar); ImGui::Checkbox("Weapon", &g_Options.weapon); textSettings("ESP Weapon Settings", "##weaponsettings", &g_Options.weapon_size); ImGui::Checkbox("SnapLines", &g_Options.snipeline); ImGui::Checkbox("Head Dot", &g_Options.head_dot); ImGui::Checkbox("Flags", &g_Options.flags); ImGui::SameLine(); bool openPopupFlags = ImGui::Button("+##flags"); if (openPopupFlags) ImGui::OpenPopup("##flagspopup"); if (ImGui::BeginPopup("##flagspopup")) { ImGui::PushItemWidth(160.f); ImGui::Checkbox("Reload", &g_Options.flags_reload); ImGui::SliderFloat("Size##reloadsize", &g_Options.flags_reload_size, 8.f, 20.f); ImGui::Checkbox("Scoped", &g_Options.flags_scoped); ImGui::SliderFloat("Size##scopedsize", &g_Options.flags_scoped_size, 8.f, 20.f); ImGui::Checkbox("Bomb", &g_Options.flags_bomb); ImGui::SliderFloat("Size##bombsize", &g_Options.flags_bomb_size, 8.f, 20.f); ImGui::Checkbox("Flashed", &g_Options.flags_flashed); ImGui::SliderFloat("Size##flashedsize", &g_Options.flags_flashed_size, 8.f, 20.f); ImGui::Checkbox("HK", &g_Options.flags_hk); if (ImGui::IsItemHovered()) { ImGui::SameLine(); ImGui::Text(" | Note for newcamer: HK = HELMET/KEVLAR"); } ImGui::SliderFloat("Size##hksize", &g_Options.flags_hk_size, 8.f, 20.f); ImGui::PopItemWidth(); ImGui::EndPopup(); } ImGui::Checkbox("Sound ESP", &g_Options.sound_esp); ImGui::SameLine(); bool openPopupSoundESP = ImGui::Button("+##soundesp"); if (openPopupSoundESP) ImGui::OpenPopup("##flagsoundesp"); if (ImGui::BeginPopup("##flagsoundesp")) { ImGui::PushItemWidth(160.f); ImGui::Combo("Type", &g_Options.sound_esp_type, soundesp_modes, 2); ImGui::Checkbox("On team", &g_Options.sound_esp_onteam); ImGui::SliderFloat("SoundESP Time", &g_Options.sound_esp_time, 0.5f, 3.f); ImGui::SliderFloat("SoundESP Radius", &g_Options.sound_esp_radius, 15.f, 150.f); ImGui::PopItemWidth(); ImGui::EndPopup(); } }; ImGui::EndChild(); ImGui::Text("Glow:"); ImGui::BeginChild("##glow", ImVec2(-1, -1), true); { ImGui::Checkbox("Enabled##glow", &g_Options.enabled_glow); ImGui::SameLine(); bool openPopupGlowESP = ImGui::Button("+##glow"); if (openPopupGlowESP) ImGui::OpenPopup("##glowpopup"); if (ImGui::BeginPopup("##glowpopup")) { ImGui::PushItemWidth(160.f); ImGui::Combo("Glow type", &g_Options.type_glow, glow_modes, 4); ImGui::Checkbox("Glow Bloom", &g_Options.bloom_glow); ImGui::PopItemWidth(); ImGui::EndPopup(); } ImGui::Checkbox("Players##glow", &g_Options.players); ImGui::Checkbox("Team##glow", &g_Options.on_team); ImGui::Checkbox("Chickens?##glow", &g_Options.on_chickens); ImGui::Checkbox("C4 Carrier##glow", &g_Options.c4_carrier); ImGui::Checkbox("C4 Planted##glow", &g_Options.c4_planted); ImGui::Checkbox("Defuse Kits##glow", &g_Options.defuse_kits); ImGui::Checkbox("Weapons##glow", &g_Options.weapons); }; ImGui::EndChild(); ImGui::NextColumn(); ImGui::Text("Efekts:"); ImGui::BeginChild("##second", ImVec2(-1, 195), true); { ImGui::Checkbox("Dormant", &g_Options.dormant); ImGui::Checkbox("On team", &g_Options.team); ImGui::Checkbox("Visible Only", &g_Options.visible_only); ImGui::Checkbox("Molotov Timer", &g_Options.molotov_timer); ImGui::Checkbox("No Visual Recoil", &g_Options.no_visual_recoil); ImGui::Checkbox("No Smoke", &g_Options.nosmoke); if (ImGui::SliderFloat("Nightmode Scale", &g_Options.nightmode_value, 0.05f, 1.f, "%.3f")) { g_Options.nightmode_value = std::clamp(g_Options.nightmode_value, 0.05f, 1.f); Globals::UpdateNightMode = true; } ImGui::Text("BLOOM:"); ImGui::SliderFloat("Bloom Value", &g_Options.bloom_value, 0, 100.f); ImGui::SliderFloat("Ambient Value", &g_Options.model_ambient_value, 0, 10.f); // ImGui::Checkbox("Third Person", &g_Visuals->options.third_person); // ImGui::Keybind("Third Person Key", &g_Visuals->options.third_person_bind); // if(g_Visuals->options.third_person) // ImGui::SliderFloat("Distance", &g_Visuals->options.third_person_dist, 0.f, 150.f); }; ImGui::EndChild(); ImGui::Text("Chams: "); ImGui::BeginChild("##chams", ImVec2(-1, -1), true); { if (ImGui::ArrowButton("##left", ImGuiDir_Left) && g_Options.menuMaterial > 1) --g_Options.menuMaterial; ImGui::SameLine(); ImGui::Text("%d", g_Options.menuMaterial); ImGui::SameLine(); if (ImGui::ArrowButton("##right", ImGuiDir_Right) && g_Options.menuMaterial < int(g_Chams->chams_player_allies_all.materials.size())) ++g_Options.menuMaterial; int matWorking = g_Options.menuMaterial - 1; const char* materials[] = { ("Normal"), ("Flat"), ("Animated"), ("Glass"), ("Crystal"), ("Silver"), ("Glow armsrace"), ("Glow"), ("Gloss") }; auto chamsSettings = [&](std::string show, std::string safe, ConfChams* settings, std::vector<chamsExtraParams> extraParams = {}) -> void { ImGui::Checkbox(show.c_str(), &settings->materials[matWorking].enabled); if (settings->materials[matWorking].enabled) { ImGui::SameLine(); bool openPopup = ImGui::Button(("Settings" + safe).c_str()); if (openPopup) ImGui::OpenPopup((safe + "##popup").c_str()); if (ImGui::BeginPopup((safe + "##popup").c_str())) { ImGui::Text(show.c_str()); ImGui::Separator(); ImGui::PushItemWidth(120.f); ImGui::Combo(("Material" + safe).c_str(), &settings->materials[matWorking].material, materials, ARRAYSIZE(materials)); ImGui::PopItemWidth(); ImGui::Checkbox(("Do not remove model" + safe).c_str(), &settings->DoNotRemoveModel); ImGui::Checkbox(("Wireframe" + safe).c_str(), &settings->materials[matWorking].wireframe); ImGui::Checkbox(("Pulsing" + safe).c_str(), &settings->materials[matWorking].blinking); ImGui::Checkbox(("Health-Based" + safe).c_str(), &settings->materials[matWorking].healthBased); if (!extraParams.empty()) { ImGui::Spacing(); for (auto& data : extraParams) { ImGui::Checkbox(data.name.c_str(), data.value); } } ImGui::Separator(); ImGui::EndPopup(); } } }; chamsSettings("Enemies Visible", "##enemiesvisible", &g_Chams->chams_player_enemies_visible); chamsSettings("Enemies Occluded", "##enemiesoccluded", &g_Chams->chams_player_enemies_occluded); ImGui::Spacing(); chamsSettings("Local Player", "##localplayer", &g_Chams->chams_player_local_player); chamsSettings("Weapons", "##weapons", &g_Chams->chams_weapons); chamsSettings("Hands", "##hands", &g_Chams->chams_hands); chamsSettings("Sleeves", "##sleeves", &g_Chams->chams_sleeves); }; ImGui::EndChild(); ImGui::NextColumn(); ImGui::Text("Colors:"); ImGui::BeginChild("##third", ImVec2(-1, -1), true); { ImGui::ColorEdit("Boxes Enemy Visible", g_Options.box_enemy_vis_clr); ImGui::ColorEdit("Boxes Enemy Invisible", g_Options.box_enemy_invis_clr); ImGui::ColorEdit("Boxes Fill", g_Options.box_fill_color); ImGui::ColorEdit("Boxes Outline", g_Options.box_outline_clr); ImGui::ColorEdit("HP Bar", g_Options.hp_clr); ImGui::ColorEdit("Armor Bar", g_Options.armor_clr); ImGui::ColorEdit("Ammo Bar", g_Options.ammobar_clr); ImGui::ColorEdit("Skeleton", g_Options.skeleton_clr); ImGui::ColorEdit("Name", g_Options.name_clr); ImGui::ColorEdit("Weapon", g_Options.weapon_clr); ImGui::ColorEdit("SnapLines", g_Options.snipeline_clr); ImGui::ColorEdit("Head Dot", g_Options.head_dot_clr); ImGui::ColorEdit("Molotov Timer", g_Options.molotov_timer_color); ImGui::ColorEdit("SoundESP circles", g_Options.sound_esp_clr); ImGui::ColorEdit("Glow Enemy Visible", g_Options.enemy_clr); ImGui::ColorEdit("Glow Enemy Invisible", g_Options.enemy_invis_clr); ImGui::ColorEdit("Glow Team Visible", g_Options.allies_clr); ImGui::ColorEdit("Glow Team Invisible", g_Options.allies_invis_clr); ImGui::ColorEdit("Glow Chickens", g_Options.chickens_clr); ImGui::ColorEdit("Glow C4 Carrier", g_Options.c4_carrier_clr); ImGui::ColorEdit("Glow C4 Planted", g_Options.c4_planted_clr); ImGui::ColorEdit("Glow Defuse Kits", g_Options.defuse_kits_clr); ImGui::ColorEdit("Glow Weapons", g_Options.weapons_clr); int matWorking = g_Options.menuMaterial - 1; ImGui::ColorEdit("Chams Enemies Visible", g_Chams->chams_player_enemies_visible.materials[matWorking].color); ImGui::ColorEdit("Chams Enemies Occluded", g_Chams->chams_player_enemies_occluded.materials[matWorking].color); ImGui::ColorEdit("Chams Backtrack", g_Chams->chams_player_backtrack.materials[matWorking].color); ImGui::ColorEdit("Chams Local Player", g_Chams->chams_player_local_player.materials[matWorking].color); ImGui::ColorEdit("Chams Weapons", g_Chams->chams_weapons.materials[matWorking].color); ImGui::ColorEdit("Chams Hands", g_Chams->chams_hands.materials[matWorking].color); ImGui::ColorEdit("Chams Sleeves", g_Chams->chams_sleeves.materials[matWorking].color); }; ImGui::EndChild(); } template <typename T> void PickCurrentWeapon(int* idx, int* vec_idx, std::vector<T> arr) { if (!g_LocalPlayer) return; if (!g_EngineClient->IsInGame()) return; auto weapon = g_LocalPlayer->m_hActiveWeapon(); if (!weapon) return; short wpn_idx = weapon->m_Item().m_iItemDefinitionIndex(); if (g_Options.is_knife(wpn_idx)) { *idx = g_Change::WeaponNamesFull.at(0).definition_index; *vec_idx = 0; return; } auto wpn_it = std::find_if(arr.begin(), arr.end(), [wpn_idx](const T& a) { return a.definition_index == wpn_idx; }); if (wpn_it != arr.end()) { *idx = wpn_idx; *vec_idx = std::abs(std::distance(arr.begin(), wpn_it)); } } void RenderChangerTab() { ImGui::Columns(3, nullptr, false); static char search_bar[32]; ImGui::Text("Selector:"); ImGui::BeginChild("##1", ImVec2(-1, -1), true); { if (ImGui::Button("Current", ImVec2(-1, 19)) || Menu::Get().SkinsFirstTimeRender) PickCurrentWeapon(&g_Options.weapon_index_skins, &g_Options.weapon_vector_index_skins, g_Change::WeaponNamesFull); int iter = 0; for (auto& weapon : g_Change::WeaponNamesFull) { if (ImGui::ButtonT(weapon.name, ImVec2(-1, 19), g_Options.weapon_index_skins, weapon.definition_index, false, false)) { g_Options.weapon_index_skins = weapon.definition_index; g_Options.weapon_vector_index_skins = iter; } iter++; } }; ImGui::EndChild(); ImGui::NextColumn(); auto& selected_entry = g_Options.Items[g_Change::WeaponNamesFull[g_Options.weapon_vector_index_skins].definition_index]; selected_entry.definition_index = g_Options.weapon_index_skins; selected_entry.definition_vector_index = g_Options.weapon_vector_index_skins; bool is_gloves = false; ImGui::Text("Params:"); ImGui::BeginChild("##2", ImVec2(-1, ((ImGui::GetCurrentWindow()->Size.y / 2) + 2)), true); { ImGui::InputInt("Seed", &selected_entry.seed); ImGui::Checkbox("Enable StatTrack", &selected_entry.enable_stat_track); ImGui::InputInt("StatTrak", &selected_entry.stat_trak); ImGui::InputText("Name##Skins", selected_entry.name, sizeof(selected_entry.name)); if (ImGui::SliderFloat("Wear", &selected_entry.wear, FLT_MIN, 1.f, "%.10f", 5)) selected_entry.wear = std::clamp(selected_entry.wear, FLT_MIN, 1.f); if (selected_entry.definition_index == WEAPON_KNIFE) { ImGui::Combo("Knife", &selected_entry.definition_override_vector_index, [](void* data, int idx, const char** out_text) { *out_text = g_Change::KnifeNames.at(idx).name; return true; }, nullptr, g_Change::KnifeNames.size(), 10); selected_entry.definition_override_index = g_Change::KnifeNames.at(selected_entry.definition_override_vector_index).definition_index; } else if (selected_entry.definition_index == GLOVE_T_SIDE) { ImGui::Combo("Glove", &selected_entry.definition_override_vector_index, [](void* data, int idx, const char** out_text) { *out_text = g_Change::GloveNames.at(idx).name; return true; }, nullptr, g_Change::GloveNames.size(), 10); selected_entry.definition_override_index = g_Change::GloveNames.at(selected_entry.definition_override_vector_index).definition_index; is_gloves = true; } else selected_entry.definition_override_vector_index = 0; static float next_enb_time = 0; float time_to_next_up = g_GlobalVars->curtime; time_to_next_up = std::clamp(next_enb_time - g_GlobalVars->curtime, 0.f, 1.f); std::string name = "Update ("; name += std::to_string(time_to_next_up); name.erase(12, 16); name += ")"; if (ImGui::Button(name.c_str(), ImVec2(-1, 19))) { if (next_enb_time <= g_GlobalVars->curtime) { Utils::ForceFullUpdate(); next_enb_time = g_GlobalVars->curtime + 1.f; } } }; ImGui::EndChild(); ImGui::Text("Preview:"); ImGui::BeginChild("##3", ImVec2(-1, -1), true, ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoScrollWithMouse); { if (m_skin_texture) { ImGui::Image(m_skin_texture, ImGui::GetCurrentWindow()->Size); } }; ImGui::EndChild(); ImGui::NextColumn(); ImGui::Text("Paintkit:"); ImGui::BeginChild("##4", ImVec2(-1, -1), true); { static bool showAllWeapons = false; ImGui::Checkbox("All paint kits", &showAllWeapons); ImGui::InputText("Filter##search_bar_skins", search_bar, sizeof(search_bar)); ImGui::ListBoxHeader("##paintkits", ImVec2(-1, -1)); if (ImGui::Selectable("Default", selected_entry.paint_kit_index == 0)) { selected_entry.paint_kit_index = 0; } static auto GetColRar = [&](int rar) -> ImVec4 { switch (rar) { case 1: return ImColor(150, 150, 150, 255); break; case 2: return ImColor(100, 100, 255, 255); break; case 3: return ImColor(50, 50, 255, 255); break; case 4: return ImColor(255, 64, 242, 255); break; case 5: return ImColor(255, 50, 50, 255); break; case 6: return ImColor(255, 50, 50, 255); break; case 7: return ImColor(255, 196, 46, 255); break; default: return ImColor(150, 150, 150, 255); break; } }; bool is_knife = selected_entry.definition_index == WEAPON_KNIFE || selected_entry.definition_index == WEAPON_KNIFE_T; int defindex = (is_knife || selected_entry.definition_index == GLOVE_T_SIDE || selected_entry.definition_index == GLOVE_CT_SIDE) ? selected_entry.definition_override_index : selected_entry.definition_index; std::string skinName = g_Change::GetWeaponNameById(defindex); if (skinName.compare("") != 0 || showAllWeapons) { std::string filter = std::string(search_bar); int curItem = -1; int s = 0; auto set = g_Options.weaponSkins[skinName]; std::vector<std::string> list(set.size()); std::vector<std::string> anti_repeat; std::copy(set.begin(), set.end(), list.begin()); if (showAllWeapons) { list = {}; for (auto [key, value] : g_Options.weaponSkins) { for (auto skin : value) { list.push_back(skin); } } } auto fnAntiRepeat = [&](std::string tx) -> bool { auto ret = std::find(anti_repeat.begin(), anti_repeat.end(), tx) == anti_repeat.end(); if (ret) anti_repeat.push_back(tx); return ret; }; for (auto skin : list) { int pk = g_Options.skinMap[skin].paintkit; if (pk == selected_entry.paint_kit_index) curItem = s; bool passed_filter = true; if (!filter.empty()) { std::string tempName = g_Options.skinNames[g_Options.skinMap[skin].tagName]; std::string tempQuery = filter; std::transform(tempName.begin(), tempName.end(), tempName.begin(), ::tolower); std::transform(tempQuery.begin(), tempQuery.end(), tempQuery.begin(), ::tolower); if (tempName.find(tempQuery) == std::string::npos) passed_filter = false; } if (passed_filter && fnAntiRepeat(g_Options.skinNames[g_Options.skinMap[skin].tagName])) { ImGui::PushStyleColor(ImGuiCol_Text, is_knife ? GetColRar(6) : GetColRar(g_Options.skinMap[skin].rarity)); if (ImGui::Selectable((g_Options.skinNames[g_Options.skinMap[skin].tagName] + "##" + skinName).c_str(), pk == selected_entry.paint_kit_index)) { selected_entry.paint_kit_index = pk; } ImGui::PopStyleColor(); } s++; } static int saved_pk_index = -1; static int saved_w_index = -1; static int saved_wo_index = -1; if (saved_pk_index != selected_entry.paint_kit_index || saved_w_index != selected_entry.definition_index || saved_wo_index != selected_entry.definition_override_index || Menu::Get().SkinsFirstTimeRender) { saved_pk_index = selected_entry.paint_kit_index; saved_w_index = selected_entry.definition_index; saved_wo_index = selected_entry.definition_override_index; std::string validFname = ""; if (saved_pk_index != 0) for (auto s : g_Options.weaponSkins[skinName]) { auto gg = g_Options.skinMap[s]; if (gg.paintkit == selected_entry.paint_kit_index) { validFname = s; break; } } std::string full_path; if (validFname == "") { full_path = "resource/flash/econ/weapons/base_weapons/"; if (!is_gloves) full_path += "weapon_"; full_path += skinName + ".png"; } else { full_path = ("resource/flash/econ/default_generated/"); if (!is_gloves) full_path += "weapon_"; full_path += skinName + "_" + validFname + "_light_large.png"; } const auto handle = g_FileSys->open(full_path.c_str(), "r", "GAME"); if (handle) { int file_len = g_FileSys->size(handle); char* image = new char[file_len]; g_FileSys->read(image, file_len, handle); g_FileSys->close(handle); D3DXCreateTextureFromFileInMemory(g_D3DDevice9, image, file_len, &m_skin_texture); delete[] image; } else m_skin_texture = nullptr; } } ImGui::ListBoxFooter(); }; ImGui::EndChild(); Menu::Get().SkinsFirstTimeRender = false; } void RenderMiscTab() { bool placeholder_true = true; auto& style = ImGui::GetStyle(); float group_w = ImGui::GetCurrentWindow()->Size.x - style.WindowPadding.x * 2; ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0, 0)); ImGui::ToggleButton("MISC", &placeholder_true, ImVec2{ group_w, 25.0f }); ImGui::PopStyleVar(); ImGui::BeginGroupBox("##body_content"); { ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2{ style.WindowPadding.x, style.ItemSpacing.y }); ImGui::Columns(3, nullptr, false); ImGui::SetColumnOffset(1, group_w / 3.0f); ImGui::SetColumnOffset(2, 2 * group_w / 3.0f); ImGui::SetColumnOffset(3, group_w); ImGui::Checkbox("Bunny hop", g_Options.misc_bhop); ImGui::Checkbox("Watermark##hc", g_Options.misc_watermark); ImGui::NextColumn(); ImGui::Checkbox("KeyBind", &g_Options.show_keybinds); ImGui::SliderInt("viewmodel_fov:", g_Options.viewmodel_fov, 68, 120); ImGui::Columns(1, nullptr, false); ImGui::PopStyleVar(); } ImGui::EndGroupBox(); } void Menu::Initialize() { CreateStyle(); _visible = true; } void Menu::Shutdown() { ImGui_ImplDX9_Shutdown(); ImGui_ImplWin32_Shutdown(); ImGui::DestroyContext(); } void Menu::OnDeviceLost() { ImGui_ImplDX9_InvalidateDeviceObjects(); } void Menu::OnDeviceReset() { ImGui_ImplDX9_CreateDeviceObjects(); } void SpectatorList() { int specs = 0; std::string spect = ""; if (g_EngineClient->IsInGame() && g_EngineClient->IsConnected()) { int localIndex = g_EngineClient->GetLocalPlayer(); C_BasePlayer* pLocalEntity = C_BasePlayer::GetPlayerByIndex(localIndex); if (pLocalEntity) { for (int i = 0; i < g_EngineClient->GetMaxClients(); i++) { C_BasePlayer* pBaseEntity = C_BasePlayer::GetPlayerByIndex(i); if (!pBaseEntity) continue; if (pBaseEntity->m_iHealth() > 0) continue; if (pBaseEntity == pLocalEntity) continue; if (pBaseEntity->IsDormant()) continue; if (pBaseEntity->m_hObserverTarget() != pLocalEntity) continue; player_info_t pInfo; g_EngineClient->GetPlayerInfo(pBaseEntity->EntIndex(), &pInfo); if (pInfo.ishltv) continue; spect += pInfo.szName; spect += "\n"; specs++; } } } ImGui::PushStyleVar(ImGuiStyleVar_WindowTitleAlign, ImVec2(0.5f, 0.5f)); if (ImGui::Begin("Spectator List", nullptr, ImVec2(0, 0), 0.4F, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar)) { if (specs > 0) spect += "\n"; ImVec2 size = ImGui::CalcTextSize(spect.c_str()); ImGui::SetWindowSize(ImVec2(200, 25 + size.y)); ImGui::Text(spect.c_str()); } ImGui::End(); ImGui::PopStyleVar(); } void Menu::Render() { ImGui::GetIO().MouseDrawCursor = _visible; if (g_Options.misc_spectators) SpectatorList(); if (!_visible) return; const auto sidebar_size = get_sidebar_size(); static int active_sidebar_tab = 0; g_KeyBinds->Draw(); ImGui::SetNextWindowPos(ImVec2{ 0, 0 }, ImGuiSetCond_Once); ImGui::SetNextWindowSize(ImVec2{ 1000, 400 }, ImGuiSetCond_Once); { ImGui::Begin("Rangeware", nullptr, ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoScrollWithMouse | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoTitleBar); { ImGui::SetWindowSize(ImVec2(716, 646)); decorations(); tabss(); if (tabs == 1) { bool a; bool aa; int g; ImGui::SetCursorPos(ImVec2(195, 10)); ImGui::BeginChild("1", ImVec2(250, 400)); { ImGui::SetCursorPos(ImVec2(22, 22)); ImGui::Checkbox("Checkbox1", &a); ImGui::SetCursorPos(ImVec2(22, 55)); ImGui::Checkbox("Checkbox2", &aa); ImGui::SetCursorPos(ImVec2(15, 99)); ImGui::SliderInt("Slider", &g, 1, 100); } ImGui::EndChild(); } ImGui::End(); } } } void Menu::Toggle() { _visible = !_visible; } void Menu::CreateStyle() { ImGui::StyleColorsDark(); ImGui::SetColorEditOptions(ImGuiColorEditFlags_HEX); _style.FrameRounding = 0.f; _style.WindowRounding = 0.f; _style.ChildRounding = 0.f; _style.Colors[ImGuiCol_Button] = ImVec4(0.260f, 0.590f, 0.980f, 0.670f); _style.Colors[ImGuiCol_Header] = ImVec4(0.260f, 0.590f, 0.980f, 0.670f); _style.Colors[ImGuiCol_HeaderHovered] = ImVec4(0.260f, 0.590f, 0.980f, 1.000f); _style.Colors[ImGuiCol_FrameBg] = ImVec4(0.20f, 0.25f, 0.30f, 1.0f); _style.Colors[ImGuiCol_WindowBg] = ImVec4(0.000f, 0.009f, 0.120f, 0.940f); _style.Colors[ImGuiCol_PopupBg] = ImVec4(0.076f, 0.143f, 0.209f, 1.000f); ImGui::GetStyle() = _style; }
c 86 строки до 106где у тебя имгуи таб объявлен?
функцию перенеси самуc 86 строки до 106
а как?функцию перенеси саму
найди функцию таб, где она объявляетсяа как?
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz