Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2017
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.53 KB | None | 0 0
  1. #include "Client.h"
  2.  
  3. //[enc_string_enable /]
  4. //[junk_enable /]
  5.  
  6. namespace Client
  7. {
  8. //[swap_lines]
  9. int iScreenWidth = 0;
  10. int iScreenHeight = 0;
  11.  
  12. string BaseDir = "";
  13. string LogFile = "";
  14. string GuiFile = "";
  15. string IniFile = "";
  16.  
  17. vector<string> ConfigList;
  18.  
  19. Vector2D g_vCenterScreen = Vector2D(0.f, 0.f);
  20.  
  21. CPlayers* g_pPlayers = nullptr;
  22. CRender* g_pRender = nullptr;
  23. CGui* g_pGui = nullptr;
  24.  
  25. CAimbot* g_pAimbot = nullptr;
  26. CEsp* g_pEsp = nullptr;
  27. CSkin* g_pSkin = nullptr;
  28. CMisc* g_pMisc = nullptr;
  29.  
  30. bool bC4Timer = false;
  31. int iC4Timer = 40;
  32.  
  33. int iWeaponID = 0;
  34. int iWeaponSelectIndex = WEAPON_DEAGLE;
  35. int iWeaponSelectSkinIndex = -1;
  36. //[/swap_lines]
  37.  
  38. void ReadConfigs(LPCTSTR lpszFileName)
  39. {
  40. if (!strstr(lpszFileName, "gui.ini"))
  41. {
  42. ConfigList.push_back(lpszFileName);
  43. }
  44. }
  45.  
  46. void RefreshConfigs()
  47. {
  48. ConfigList.clear();
  49. string ConfigDir = BaseDir + "\\*.ini";
  50. SearchFiles(ConfigDir.c_str(), ReadConfigs, FALSE);
  51. }
  52.  
  53. bool Initialize(IDirect3DDevice9* pDevice)
  54. {
  55. g_pPlayers = new CPlayers();
  56. g_pRender = new CRender(pDevice);
  57. g_pGui = new CGui();
  58.  
  59. g_pAimbot = new CAimbot();
  60. g_pEsp = new CEsp();
  61. g_pSkin = new CSkin();
  62. g_pMisc = new CMisc();
  63.  
  64. GuiFile = BaseDir + "\\" + "gui.ini";
  65. IniFile = BaseDir + "\\" + "settings.ini";
  66.  
  67. g_pSkin->InitalizeSkins();
  68.  
  69. Settings::LoadSettings(IniFile);
  70.  
  71. iWeaponSelectSkinIndex = GetWeaponSkinIndexFromPaintKit(g_SkinChangerCfg[iWeaponSelectIndex].nFallbackPaintKit);
  72.  
  73. g_pGui->GUI_Init(pDevice);
  74.  
  75. RefreshConfigs();
  76.  
  77. return true;
  78. }
  79.  
  80. void Shutdown()
  81. {
  82. DELETE_MOD(g_pPlayers);
  83. DELETE_MOD(g_pRender);
  84. DELETE_MOD(g_pGui);
  85. DELETE_MOD(g_pAimbot);
  86. DELETE_MOD(g_pEsp);
  87. DELETE_MOD(g_pSkin);
  88. DELETE_MOD(g_pMisc);
  89. }
  90.  
  91. void OnRender()
  92. {
  93. if (g_pRender && !Interfaces::Engine()->IsTakingScreenshot() && Interfaces::Engine()->IsActiveApp())
  94. {
  95. g_pRender->BeginRender();
  96.  
  97. if (g_pGui)
  98. g_pGui->GUI_Draw_Elements();
  99.  
  100. Interfaces::Engine()->GetScreenSize(iScreenWidth, iScreenHeight);
  101.  
  102. g_vCenterScreen.x = iScreenWidth / 2.f;
  103. g_vCenterScreen.y = iScreenHeight / 2.f;
  104.  
  105. if (!Interfaces::Engine()->IsConnected())
  106. g_pRender->Text(3, 3, false, true, Color::Aqua(), HACK_NAME);
  107. {
  108. if (g_pEsp)
  109. g_pEsp->OnRender();
  110.  
  111. if (g_pMisc)
  112. {
  113. g_pMisc->OnRender();
  114. g_pMisc->OnRenderSpectatorList();
  115. }
  116. }
  117.  
  118. g_pRender->EndRender();
  119. }
  120. }
  121.  
  122. void OnLostDevice()
  123. {
  124. if (g_pRender)
  125. g_pRender->OnLostDevice();
  126.  
  127. if (g_pGui)
  128. ImGui_ImplDX9_InvalidateDeviceObjects();
  129. }
  130.  
  131. void OnResetDevice()
  132. {
  133. if (g_pRender)
  134. g_pRender->OnResetDevice();
  135.  
  136. if (g_pGui)
  137. ImGui_ImplDX9_CreateDeviceObjects();
  138. }
  139.  
  140. void OnCreateMove(CUserCmd* pCmd)
  141. {
  142. if (g_pPlayers && Interfaces::Engine()->IsInGame())
  143. {
  144. g_pPlayers->Update();
  145.  
  146. if (g_pEsp)
  147. g_pEsp->OnCreateMove(pCmd);
  148.  
  149. if (IsLocalAlive())
  150. {
  151. if (!bIsGuiVisible)
  152. {
  153. int iWeaponSettingsSelectID = GetWeaponSettingsSelectID();
  154.  
  155. if (iWeaponSettingsSelectID >= 0)
  156. iWeaponID = iWeaponSettingsSelectID;
  157. }
  158.  
  159. if (g_pAimbot)
  160. g_pAimbot->OnCreateMove(pCmd, g_pPlayers->GetLocal());
  161.  
  162.  
  163. if (g_pMisc)
  164. g_pMisc->OnCreateMove(pCmd);
  165. }
  166. }
  167. }
  168.  
  169. void OnFireEventClientSideThink(IGameEvent* pEvent)
  170. {
  171. if (!strcmp(pEvent->GetName(), "player_connect_full") ||
  172. !strcmp(pEvent->GetName(), "round_start") ||
  173. !strcmp(pEvent->GetName(), "cs_game_disconnected"))
  174. {
  175. if (g_pPlayers)
  176. g_pPlayers->Clear();
  177.  
  178. if (g_pEsp)
  179. g_pEsp->OnReset();
  180. }
  181.  
  182. if (Interfaces::Engine()->IsConnected())
  183. {
  184. if (g_pEsp)
  185. g_pEsp->OnEvents(pEvent);
  186.  
  187. if (g_pSkin)
  188. g_pSkin->OnEvents(pEvent);
  189. }
  190. }
  191.  
  192. void OnFrameStageNotify(ClientFrameStage_t Stage)
  193. {
  194. if (Interfaces::Engine()->IsInGame())
  195. {
  196. Skin_OnFrameStageNotify(Stage);
  197. Gloves_OnFrameStageNotify(Stage);
  198. }
  199. }
  200.  
  201. void OnDrawModelExecute(IMatRenderContext* ctx, const DrawModelState_t &state,
  202. const ModelRenderInfo_t &pInfo, matrix3x4_t *pCustomBoneToWorld)
  203. {
  204. if (Interfaces::Engine()->IsInGame() && ctx && pCustomBoneToWorld)
  205. {
  206. if (g_pEsp)
  207. g_pEsp->OnDrawModelExecute(ctx, state, pInfo, pCustomBoneToWorld);
  208.  
  209. if (g_pMisc)
  210. g_pMisc->OnDrawModelExecute();
  211. }
  212. }
  213.  
  214. void OnPlaySound(const Vector* pOrigin, const char* pszSoundName)
  215. {
  216. if (!pszSoundName || !Interfaces::Engine()->IsInGame())
  217. return;
  218.  
  219. if (!strstr(pszSoundName, "bulletLtoR") &&
  220. !strstr(pszSoundName, "rics/ric") &&
  221. !strstr(pszSoundName, "impact_bullet"))
  222. {
  223. if (g_pEsp && IsLocalAlive() && Settings::Esp::esp_Sound && pOrigin)
  224. {
  225. if (!GetVisibleOrigin(*pOrigin))
  226. g_pEsp->SoundEsp.AddSound(*pOrigin);
  227. }
  228. }
  229. }
  230.  
  231. void OnPlaySound(const char* pszSoundName)
  232. {
  233. if (g_pMisc)
  234. g_pMisc->OnPlaySound(pszSoundName);
  235. }
  236.  
  237. void OnOverrideView(CViewSetup* pSetup)
  238. {
  239. if (g_pMisc)
  240. g_pMisc->OnOverrideView(pSetup);
  241. }
  242.  
  243. void OnGetViewModelFOV(float& fov)
  244. {
  245. if (g_pMisc)
  246. g_pMisc->OnGetViewModelFOV(fov);
  247. }
  248.  
  249. void OnRenderGUI()
  250. {
  251. ImGui::SetNextWindowSize(ImVec2(560.f, 325.f));
  252.  
  253. if (ImGui::Begin(HACK_NAME, &bIsGuiVisible, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize))
  254. {
  255. if (Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_FovType > 1)
  256. Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_FovType = 1;
  257.  
  258. if (Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_BestHit > 1)
  259. Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_BestHit = 1;
  260.  
  261. if (Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_Spot > 5)
  262. Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_Spot = 5;
  263.  
  264. const char* tabNames[] = {
  265. AIMBOT_TEXT , VISUAL_TEXT , SKIN_TEXT , MISC_TEXT ,
  266. CONFIG_TEXT };
  267.  
  268. static int tabOrder[] = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 };
  269. static int tabSelected = 0;
  270. const bool tabChanged = ImGui::TabLabels(tabNames,
  271. sizeof(tabNames) / sizeof(tabNames[0]),
  272. tabSelected, tabOrder);
  273.  
  274. ImGui::Spacing();
  275. ImGui::Separator();
  276. ImGui::Spacing();
  277.  
  278. float SpaceLineOne = 120.f;
  279. float SpaceLineTwo = 220.f;
  280. float SpaceLineThr = 320.f;
  281.  
  282. if (tabSelected == 0) // Aimbot
  283. {
  284. ImGui::PushItemWidth(110.f);
  285. ImGui::Text("Current Weapon: ");
  286. ImGui::SameLine();
  287. ImGui::Combo("##AimWeapon", &iWeaponID, pWeaponData, IM_ARRAYSIZE(pWeaponData));
  288. ImGui::PopItemWidth();
  289.  
  290. ImGui::Spacing();
  291. ImGui::Separator();
  292. ImGui::Spacing();
  293.  
  294. ImGui::Checkbox("Deathmatch", &Settings::Aimbot::aim_Deathmatch);
  295. ImGui::SameLine(SpaceLineOne);
  296. ImGui::Checkbox("WallAttack", &Settings::Aimbot::aim_WallAttack);
  297. ImGui::SameLine(SpaceLineTwo);
  298. ImGui::Checkbox("CheckSmoke", &Settings::Aimbot::aim_CheckSmoke);
  299.  
  300. ImGui::Checkbox("AntiJump", &Settings::Aimbot::aim_AntiJump);
  301. ImGui::SameLine(SpaceLineOne);
  302. ImGui::Checkbox("Draw Fov", &Settings::Aimbot::aim_DrawFov);
  303. ImGui::SameLine(SpaceLineTwo);
  304. ImGui::Checkbox("DrawSpot", &Settings::Aimbot::aim_DrawSpot);
  305.  
  306. ImGui::Checkbox("Backtrack", &Settings::Aimbot::aim_Backtrack);
  307. ImGui::SameLine(SpaceLineOne);
  308. ImGui::SliderInt("Ticks", &Settings::Aimbot::aim_Backtracktickrate, 1, 16);
  309.  
  310. ImGui::Spacing();
  311. ImGui::Separator();
  312. ImGui::Spacing();
  313.  
  314. ImGui::Checkbox("Active", &Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_Active);
  315.  
  316. if (iWeaponID <= 9)
  317. {
  318. ImGui::SameLine();
  319. ImGui::Checkbox("Autopistol", &Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_AutoPistol);
  320. }
  321. ImGui::PushItemWidth(362.f);
  322. ImGui::SliderInt("Smooth", &Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_Smooth, 1, 300);
  323. ImGui::SliderInt("Fov", &Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_Fov, 1, 300);
  324. ImGui::PopItemWidth();
  325.  
  326. const char* AimFovType[] = { "Dynamic" , "Static" };
  327. ImGui::PushItemWidth(362.f);
  328. ImGui::Combo("Fov Type", &Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_FovType, AimFovType, IM_ARRAYSIZE(AimFovType));
  329. ImGui::PopItemWidth();
  330.  
  331. const char* BestHit[] = { "Disable" , "Enable" };
  332. ImGui::PushItemWidth(362.f);
  333. ImGui::Combo("BestHit", &Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_BestHit, BestHit, IM_ARRAYSIZE(BestHit));
  334.  
  335. if (ImGui::IsItemHovered())
  336. ImGui::SetTooltip("if disabled then used Aimspot");
  337.  
  338. ImGui::PopItemWidth();
  339.  
  340. const char* Aimspot[] = { "Head" , "Neck" , "Low Neck" , "Body" , "Thorax" , "Chest" };
  341. ImGui::PushItemWidth(362.f);
  342. ImGui::Combo("Aimspot", &Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_Spot, Aimspot, IM_ARRAYSIZE(Aimspot));
  343. ImGui::PopItemWidth();
  344.  
  345. ImGui::Spacing();
  346. ImGui::Separator();
  347. ImGui::Spacing();
  348.  
  349. ImGui::PushItemWidth(362.f);
  350. ImGui::SliderInt("ShotDelay", &Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_Delay, 0, 200);
  351. ImGui::SliderInt("Rcs", &Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_Rcs, 0, 100);
  352. ImGui::PopItemWidth();
  353.  
  354. ImGui::Spacing();
  355. ImGui::Separator();
  356. ImGui::Spacing();
  357.  
  358. if (iWeaponID >= 10 && iWeaponID <= 30)
  359. {
  360. ImGui::PushItemWidth(362.f);
  361. ImGui::SliderInt("Rcs Fov", &Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_RcsFov, 1, 300);
  362. ImGui::SliderInt("Rcs Smooth", &Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_RcsSmooth, 1, 300);
  363. ImGui::PopItemWidth();
  364.  
  365. const char* ClampType[] = { "All Target" , "Shot" , "Shot + Target" };
  366. ImGui::PushItemWidth(362.f);
  367. ImGui::Combo("Rcs Clamp", &Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_RcsClampType, ClampType, IM_ARRAYSIZE(ClampType));
  368. ImGui::PopItemWidth();
  369.  
  370. ImGui::Spacing();
  371. ImGui::Separator();
  372. ImGui::Spacing();
  373. }
  374. }
  375. else if (tabSelected == 1) // Visuals
  376. {
  377. string style_1 = "Box";
  378. string style_2 = "CoalBox";
  379.  
  380. const char* items1[] = { style_1.c_str() , style_2.c_str() };
  381.  
  382. ImGui::PushItemWidth(339.f);
  383. ImGui::Combo("Esp Type", &Settings::Esp::esp_Style, items1, IM_ARRAYSIZE(items1));
  384. ImGui::PopItemWidth();
  385.  
  386. ImGui::Spacing();
  387. ImGui::Separator();
  388. ImGui::Spacing();
  389.  
  390. ImGui::Checkbox("Esp Team", &Settings::Esp::esp_Team);
  391. ImGui::SameLine(SpaceLineOne);
  392. ImGui::Checkbox("Esp Enemy", &Settings::Esp::esp_Enemy);
  393. ImGui::SameLine(SpaceLineTwo);
  394. ImGui::Checkbox("Esp Bomb", &Settings::Esp::esp_Bomb);
  395. ImGui::SameLine(SpaceLineThr);
  396. ImGui::Checkbox("Esp Sound", &Settings::Esp::esp_Sound);
  397.  
  398. ImGui::Checkbox("Esp Line", &Settings::Esp::esp_Line);
  399. ImGui::SameLine(SpaceLineOne);
  400. ImGui::Checkbox("Esp OutLine", &Settings::Esp::esp_Outline);
  401. ImGui::SameLine(SpaceLineTwo);
  402. ImGui::Checkbox("Esp Name", &Settings::Esp::esp_Name);
  403. ImGui::SameLine(SpaceLineThr);
  404. ImGui::Checkbox("Esp Rank", &Settings::Esp::esp_Rank);
  405.  
  406. ImGui::Checkbox("Esp Weapon", &Settings::Esp::esp_Weapon);
  407. ImGui::SameLine(SpaceLineOne);
  408. ImGui::Checkbox("Esp Ammo", &Settings::Esp::esp_Ammo);
  409. ImGui::SameLine(SpaceLineTwo);
  410. ImGui::Checkbox("Esp Distance", &Settings::Esp::esp_Distance);
  411. ImGui::SameLine(SpaceLineThr);
  412. ImGui::Checkbox("Esp Skeleton", &Settings::Esp::esp_Skeleton);
  413.  
  414. ImGui::Spacing();
  415. ImGui::Separator();
  416. ImGui::Spacing();
  417.  
  418. ImGui::Checkbox("Esp World Weapon", &Settings::Esp::esp_WorldWeapons);
  419. ImGui::Checkbox("Esp World Grenade", &Settings::Esp::esp_WorldGrenade);
  420.  
  421. ImGui::Spacing();
  422. ImGui::Separator();
  423. ImGui::Spacing();
  424.  
  425. string visible_1 = "Enemy";
  426. string visible_2 = "Team";
  427. string visible_3 = "All";
  428. string visible_4 = "Only Visible";
  429.  
  430. const char* items2[] = { visible_1.c_str() , visible_2.c_str() , visible_3.c_str() , visible_4.c_str() };
  431.  
  432. ImGui::PushItemWidth(339.f);
  433. ImGui::Combo("Esp Visible", &Settings::Esp::esp_Visible, items2, IM_ARRAYSIZE(items2));
  434.  
  435. ImGui::Spacing();
  436. ImGui::Separator();
  437. ImGui::Spacing();
  438.  
  439. ImGui::SliderInt("Esp Size", &Settings::Esp::esp_Size, 0, 10);
  440. ImGui::SliderInt("Esp BombTimer", &Settings::Esp::esp_BombTimer, 0, 65);
  441. ImGui::SliderInt("Esp BulletTrace", &Settings::Esp::esp_BulletTrace, 0, 3000);
  442.  
  443. ImGui::Spacing();
  444. ImGui::Separator();
  445. ImGui::Spacing();
  446.  
  447. string hpbar_1 = "None";
  448. string hpbar_2 = "Number";
  449. string hpbar_3 = "Bottom";
  450. string hpbar_4 = "Left";
  451.  
  452. const char* items3[] = { hpbar_1.c_str() , hpbar_2.c_str() , hpbar_3.c_str() , hpbar_4.c_str() };
  453. ImGui::Combo("Esp Health", &Settings::Esp::esp_Health, items3, IM_ARRAYSIZE(items3));
  454.  
  455. string arbar_1 = "None";
  456. string arbar_2 = "Number";
  457. string arbar_3 = "Bottom";
  458. string arbar_4 = "Right";
  459.  
  460. const char* items4[] = { arbar_1.c_str() , arbar_2.c_str() , arbar_3.c_str() , arbar_4.c_str() };
  461. ImGui::Combo("Esp Armor", &Settings::Esp::esp_Armor, items4, IM_ARRAYSIZE(items4));
  462.  
  463. ImGui::Spacing();
  464. ImGui::Separator();
  465. ImGui::Spacing();
  466.  
  467. string chams_1 = "None";
  468. string chams_2 = "Flat";
  469. string chams_3 = "Texture";
  470.  
  471. const char* items5[] = { chams_1.c_str() , chams_2.c_str() , chams_3.c_str() };
  472. ImGui::Combo("Chams", &Settings::Esp::esp_Chams, items5, IM_ARRAYSIZE(items5));
  473.  
  474. ImGui::Spacing();
  475. ImGui::Separator();
  476. ImGui::Spacing();
  477.  
  478. ImGui::ColorEdit3("Esp Color CT", Settings::Esp::esp_Color_CT);
  479. ImGui::ColorEdit3("Esp Color TT", Settings::Esp::esp_Color_TT);
  480. ImGui::ColorEdit3("Esp Color Visible CT", Settings::Esp::esp_Color_VCT);
  481. ImGui::ColorEdit3("Esp Color Visible TT", Settings::Esp::esp_Color_VTT);
  482.  
  483. ImGui::ColorEdit3("Chams Color CT", Settings::Esp::chams_Color_CT);
  484. ImGui::ColorEdit3("Chams Color TT", Settings::Esp::chams_Color_TT);
  485. ImGui::ColorEdit3("Chams Color Visible CT", Settings::Esp::chams_Color_VCT);
  486. ImGui::ColorEdit3("Chams Color Visible TT", Settings::Esp::chams_Color_VTT);
  487. ImGui::PopItemWidth();
  488.  
  489. ImGui::Spacing();
  490. ImGui::Separator();
  491. ImGui::Spacing();
  492. }
  493.  
  494. //Fixed by smef#2433 and Troll Face#1136 on discord
  495. else if (tabSelected == 2) //skins
  496. {
  497. //[enc_string_disable /]
  498. const char* knife_models_items[] =
  499. {
  500. "Default","Bayonet","Flip","Gut","Karambit" ,"M9 Bayonet",
  501. "Huntsman","Falchion","Bowie","Butterfly","Shadow Daggers"
  502. };
  503.  
  504. const char* quality_items[] =
  505. {
  506. "Normal","Genuine","Vintage","Unusual","Community","Developer",
  507. "Self-Made","Customized","Strange","Completed","Tournament"
  508. };
  509.  
  510. const char* skins_items[] =
  511. {
  512. "", "", "2: Groundwater","3: Candy Apple", "",
  513. "5: Forest DDPAT","6: Arctic Camo", "",
  514. "8: Desert Storm","9: Bengal Tiger","10: Copperhead",
  515. "11: Skulls","12: Crimson Web","13: Blue Streak","14: Red Laminate"
  516. ,"15: Gunsmoke","16: Jungle Tiger","17: Urban DDPAT", "",
  517. "", "20: Virus","21: Granite Marbleized","22: Contrast Spray",
  518. "", "", "25: Forest Leaves","26: Lichen Dashed",
  519. "27: Bone Mask","28: Anodized Navy", "", "30: Snake Camo",
  520. "", "32: Silver","33: Hot Rod","34: Metallic DDPAT", "",
  521. "36: Ossified","37: Blaze","38: Fade","39: Bulldozer","40: Night",
  522. "41: Copper","42: Blue Steel","43: Stained","44: Case Hardened",
  523. "", "46: Contractor","47: Colony","48: Dragon Tattoo",
  524. "", "", "51: Lightning Strike", "",
  525. "", "", "", "", "",
  526. "", "59: Slaughter","60: Dark Water"
  527. ,"61: Hypnotic","62: Bloomstick", "", ""
  528. , "", "", "67: Cold Blooded", "", ""
  529. , "70: Carbon Fiber","71: Scorpion","72: Safari Mesh","73: Wings","74: Polar Camo"
  530. ,"75: Blizzard Marbleized","76: Winter Forest","77: Boreal Forest","78: Forest Night"
  531. , "", "", "", "", "83: Orange DDPAT","84: Pink DDPAT"
  532. , "", "", "", "", "", "90: Mudder", ""
  533. , "92: Cyanospatter","93: Caramel", "", "95: Grassland","96: Blue Spruce", ""
  534. , "98: Ultraviolet","99: Sand Dune","100: Storm","101: Tornado","102: Whiteout", ""
  535. , "104: Grassland Leaves", "", "", "107: Polar Mesh", "", ""
  536. , "110: Condemned","111: Glacier Mesh", "", "", "", "", "116: Sand Mesh", "", "", "119: Sage Spray", "", "", "122: Jungle Spray", "", "124: Sand Spray", ""
  537. , "", "", "", "", "", "", "", "", "", "135: Urban Perforated"
  538. ,"136: Waves Perforated", "", "", "", "", "141: Orange Peel", "", "143: Urban Masked", "", "", "", "147: Jungle Dashed"
  539. ,"148: Sand Dashed","149: Urban Dashed", "", "151: Jungle", "", "153: Demolition","154: Afterimage","155: Bullet Rain","156: Death by Kitty","157: Palm","158: Walnut","159: Brass", "", "", "162: Splash", "","164: Modern Hunter","165: Splash Jam","166: Blaze Orange","167: Radiation Hazard","168: Nuclear Threat","169: Fallout Warning","170: Predator","171: Irradiated Alert","172: Black Laminate", "","174: BOOM","175: Scorched","176: Faded Zebra","177: Memento","178: Doomkitty","179: Nuclear Threat","180: Fire Serpent","181: Corticera","182: Emerald Dragon","183: Overgrowth","184: Corticera","185: Golden Koi","186: Wave Spray","187: Zirka","188: Graven","189: Bright Water","190: Black Limba","191: Tempest","192: Shattered","193: Bone Pile","194: Spitfire","195: Demeter","196: Emerald","197: Anodized Navy","198: Hazard","199: Dry Season","200: Mayan Dreams","201: Palm","202: Jungle DDPAT","203: Rust Coat","204: Mosaico","205: Jungle","206: Tornado","207: Facets","208: Sand Dune","209: Groundwater","210: Anodized Gunmetal","211: Ocean Foam","212: Graphite","213: Ocean Foam","214: Graphite","215: X-Ray","216: Blue Titanium","217: Blood Tiger","218: Hexane","219: Hive","220: Hemoglobin","221: Serum","222: Blood in the Water","223: Nightshade","224: Water Sigil","225: Ghost Camo","226: Blue Laminate","227: Electric Hive","228: Blind Spot","229: Azure Zebra","230: Steel Disruption","231: Cobalt Disruption","232: Crimson Web","233: Tropical Storm","234: Ash Wood","235: VariCamo","236: Night Ops","237: Urban Rubble","238: VariCamo Blue", "", "240: CaliCamo","241: Hunting Blind","242: Army Mesh","243: Gator Mesh","244: Teardown","245: Army Recon","246: Amber Fade","247: Damascus Steel","248: Red Quartz","249: Cobalt Quartz","250: Full Stop","251: Pit Viper","252: Silver Quartz","253: Acid Fade","254: Nitro","255: Asiimov","256: The Kraken","257: Guardian","258: Mehndi","259: Redline","260: Pulse","261: Marina","262: Rose Iron","263: Rising Skull","264: Sandstorm","265: Kami","266: Magma","267: Cobalt Halftone","268: Tread Plate","269: The Fuschia Is Now","270: Victoria","271: Undertow","272: Titanium Bit","273: Heirloom","274: Copper Galaxy","275: Red FragCam","276: Panther","277: Stainless","278: Blue Fissure","279: Asiimov","280: Chameleon","281: Corporal","282: Redline","283: Trigon","284: Heat","285: Terrain","286: Antique","287: Pulse","288: Sergeant","289: Sandstorm","290: Guardian","291: Heaven Guard", "", "293: Death Rattle","294: Green Apple","295: Franklin","296: Meteorite","297: Tuxedo","298: Army Sheen","299: Caged Steel","300: Emerald Pinstripe","301: Atomic Alloy","302: Vulcan","303: Isaac","304: Slashed","305: Torque","306: Antique","307: Retribution","308: Kami","309: Howl","310: Curse","311: Desert Warfare","312: Cyrex","313: Orion","314: Heaven Guard","315: Poison Dart","316: Jaguar","317: Bratatat","318: Road Rash","319: Detour","320: Red Python","321: Master Piece","322: Nitro","323: Rust Coat", "", "325: Chalice","326: Knight","327: Chainmail","328: Hand Cannon","329: Dark Age","330: Briar", "", "332: Royal Blue","333: Indigo","334: Twist","335: Module","336: Desert-Strike","337: Tatter","338: Pulse","339: Caiman","340: Jet Set","341: First Class","342: Leather","343: Commuter","344: Dragon Lore","345: First Class","346: Coach Class","347: Pilot","348: Red Leather","349: Osiris","350: Tigris","351: Conspiracy","352: Fowl Play","353: Water Elemental","354: Urban Hazard","355: Desert-Strike","356: Koi","357: Ivory","358: Supernova","359: Asiimov","360: Cyrex","361: Abyss","362: Labyrinth","363: Traveler","364: Business Class","365: Olive Plaid","366: Green Plaid","367: Reactor","368: Setting Sun","369: Nuclear Waste","370: Bone Machine","371: Styx","372: Nuclear Garden","373: Contamination","374: Toxic","375: Radiation Hazard","376: Chemical Green","377: Hot Shot","378: Fallout Warning","379: Cerberus","380: Wasteland Rebel","381: Grinder","382: Murky","383: Basilisk","384: Griffin","385: Firestarter","386: Dart","387: Urban Hazard","388: Cartel","389: Fire Elemental","390: Highwayman","391: Cardiac","392: Delusion","393: Tranquility","394: Cartel","395: Man-o'-war","396: Urban Shock","397: Naga","398: Chatterbox","399: Catacombs","400: 龍王 (Dragon King)","401: System Lock","402: Malachite","403: Deadly Poison","404: Muertos","405: Serenity","406: Grotto","407: Quicksilver","", "409: Tiger Tooth","410: Damascus Steel","411: Damascus Steel", "", "413: Marble Fade","414: Rust Coat","415: Doppler","416: Doppler","417: Doppler","418: Doppler","419: Doppler","420: Doppler","421: Doppler","422: Elite Build","423: Armor Core","424: Worm God","425: Bronze Deco","426: Valence","427: Monkey Business","428: Eco","429: Djinn","430: Hyper Beast","431: Heat","432: Man-o'-war","433: Neon Rider","434: Origami","435: Pole Position","436: Grand Prix","437: Twilight Galaxy","438: Chronos","439: Hades","440: Icarus Fell","441: Minotaur's Labyrinth","442: Asterion","443: Pathfinder","444: Daedalus","445: Hot Rod","446: Medusa","447: Duelist","448: Pandora's Box","449: Poseidon","450: Moon in Libra","451: Sun in Leo","452: Shipping Forecast","453: Emerald","454: Para Green","455: Akihabara Accept","456: Hydroponic","457: Bamboo Print","458: Bamboo Shadow","459: Bamboo Forest","460: Aqua Terrace", "", "462: Counter Terrace","463: Terrace","464: Neon Kimono","465: Orange Kimono","466: Crimson Kimono","467: Mint Kimono","468: Midnight Storm","469: Sunset Storm 壱","470: Sunset Storm 弐","471: Daybreak","472: Impact Drill","473: Seabird","474: Aquamarine Revenge","475: Hyper Beast","476: Yellow Jacket","477: Neural Net","478: Rocket Pop","479: Bunsen Burner","480: Evil Daimyo","481: Nemesis","482: Ruby Poison Dart","483: Loudmouth","484: Ranger","485: Handgun","486: Elite Build","487: Cyrex","488: Riot","489: Torque","490: Frontside Misty","491: Dualing Dragons","492: Survivor Z","493: Flux","494: Stone Cold","495: Wraiths","496: Nebula Crusader","497: Golden Coil","498: Rangeen","499: Cobalt Core","500: Special Delivery","501: Wingshot","502: Green Marine","503: Big Iron","504: Kill Confirmed","505: Scumbria","506: Point Disarray","507: Ricochet","508: Fuel Rod","509: Corinthian","510: Retrobution","511: The Executioner","512: Royal Paladin", "", "514: Power Loader","515: Imperial","516: Shapewood","517: Yorick","518: Outbreak","519: Tiger Moth","520: Avalanche","521: Teclu Burner","522: Fade","523: Amber Fade","524: Fuel Injector","525: Elite Build","526: Photic Zone","527: Kumicho Dragon","528: Cartel","529: Valence","530: Triumvirate", "", "532: Royal Legion","533: The Battlestar","534: Lapis Gator","535: Praetorian","536: Impire","537: Hyper Beast","538: Necropos","539: Jambiya","540: Lead Conduit","541: Fleet Flock","542: Judgement of Anubis","543: Red Astor","544: Ventilators","545: Orange Crash","546: Firefight","547: Spectre","548: Chantico's Fire","549: Bioleak","550: Oceanic","551: Asiimov","552: Fubar","553: Atlas","554: Ghost Crusader","555: Re-Entry","556: Primal Saber","557: Black Tie","558: Lore","559: Lore","560: Lore","561: Lore","562: Lore","563: Black Laminate","564: Black Laminate","565: Black Laminate","566: Black Laminate","567: Black Laminate","568: Gamma Doppler","569: Gamma Doppler","570: Gamma Doppler","571: Gamma Doppler","572: Gamma Doppler","573: Autotronic","574: Autotronic","575: Autotronic","576: Autotronic","577: Autotronic","578: Bright Water","579: Bright Water","580: Freehand","581: Freehand","582: Freehand","583: Aristocrat","584: Phobos","585: Violent Daimyo","586: Wasteland Rebel","587: Mecha Industries","588: Desolate Space","589: Carnivore","590: Exo","591: Imperial Dragon","592: Iron Clad","593: Chopper","594: Harvester","595: Reboot","596: Limelight","597: Bloodsport","598: Aerial","599: Ice Cap","600: Neon Revolution","601: Syd Mead","602: Imprint","603: Directive","604: Roll Cage","605: Scumbria","606: Ventilator","607: Weasel","608: Petroglyph","609: Airlock","610: Dazzle","611: Grim","612: Powercore","613: Triarch","614: Fuel Injector","615: Briefing","616: Slipstream","617: Doppler","618: Doppler","619: Doppler","620: Ultraviolet","621: Ultraviolet","622: Polymer","623: Ironwork","624: Dragonfire","625: Royal Consorts","626: Mecha Industries","627: Cirrus","628: Stinger","629: Black Sand","630: Sand Scale","631: Flashback","632: Buzz Kill","633: Sonar","634: Gila","635: Turf","636: Shallow Grave","637: Cyrex","638: Wasteland Princess","639: Bloodsport","640: Fever Dream","641: Jungle Slipstream","642: Blueprint","643: Xiangliu","644: Decimator","645: Oxide Blaze","646: Capillary","647: Crimson Tsunami","648: Emerald Poison Dart","649: Akoben","650: Ripple","651: Last Dive","652: Scaffold","653: Neo-Noir","654: Seasons","655: Zander","656: Orbit Mk01","657: Blueprint","658: Cobra Strike","659: Macabre","660: Hyper Beast","661: Sugar Rush","662: Oni Taiji","663: Briefing","664: Hellfire","665: Aloha","666: Hard Water","667: Woodsman","668: Red Rock","669: Death Grip","670: Death's Head","671: Cut Out","672: Metal Flowers","673: Morris","674: Triqua","675: The Empress","676: High Roller","677: Hunter","678: See Ya Later","679: Goo","680: Off World","681: Leaded Glass","682: Oceanic","683: Llama Cannon","684: Cracked Opal","685: Jungle Slipstream","686: Phantom","687: Tacticat","688: Exposure","689: Ziggy"
  540. };
  541. const char* gloves_listbox_items[25] =
  542. {
  543. "default",
  544. "bloodhound_black_silver","bloodhound_snakeskin_brass","bloodhound_metallic","handwrap_leathery",
  545. "handwrap_camo_grey","slick_black","slick_military","slick_red","sporty_light_blue","sporty_military",
  546. "handwrap_red_slaughter","motorcycle_basic_black","motorcycle_mint_triangle","motorcycle_mono_boom",
  547. "motorcycle_triangle_blue","specialist_ddpat_green_camo","specialist_kimono_diamonds_red",
  548. "specialist_emerald_web","specialist_orange_white","handwrap_fabric_orange_camo","sporty_purple",
  549. "sporty_green","bloodhound_guerrilla","slick_snakeskin_yellow"
  550. };
  551. //[enc_string_enable /]
  552.  
  553.  
  554. ImGui::Text("Current Weapon: %s", pWeaponData[iWeaponID]);
  555.  
  556. ImGui::PushItemWidth(362.f);
  557.  
  558. ImGui::Separator();
  559.  
  560. ImGui::Combo("Knife CT Skin", &Settings::Skin::knf_ct_skin, skins_items, IM_ARRAYSIZE(skins_items));
  561. ImGui::Combo("Knife TT Skin", &Settings::Skin::knf_tt_skin, skins_items, IM_ARRAYSIZE(skins_items));
  562.  
  563. ImGui::Combo("Custom CT Knife", &Settings::Skin::knf_ct_skin, skins_items, IM_ARRAYSIZE(skins_items));
  564. ImGui::Combo("Custom TT Knife", &Settings::Skin::knf_tt_skin, skins_items, IM_ARRAYSIZE(skins_items));
  565.  
  566. ImGui::Separator();
  567.  
  568. static int iSelectKnifeCTSkinIndex = -1;
  569. static int iSelectKnifeTTSkinIndex = -1;
  570.  
  571. int iKnifeCTModelIndex = Settings::Skin::knf_ct_model;
  572. int iKnifeTTModelIndex = Settings::Skin::knf_tt_model;
  573.  
  574. static int iOldKnifeCTModelIndex = -1;
  575. static int iOldKnifeTTModelIndex = -1;
  576.  
  577. if (iOldKnifeCTModelIndex != iKnifeCTModelIndex && Settings::Skin::knf_ct_model)
  578. iSelectKnifeCTSkinIndex = GetKnifeSkinIndexFromPaintKit(Settings::Skin::knf_ct_skin, false);
  579.  
  580. if (iOldKnifeTTModelIndex != iKnifeTTModelIndex && Settings::Skin::knf_tt_model)
  581. iSelectKnifeTTSkinIndex = GetKnifeSkinIndexFromPaintKit(Settings::Skin::knf_ct_skin, true);
  582.  
  583. iOldKnifeCTModelIndex = iKnifeCTModelIndex;
  584. iOldKnifeTTModelIndex = iKnifeTTModelIndex;
  585.  
  586. string KnifeCTModel = knife_models_items[Settings::Skin::knf_ct_model];
  587. string KnifeTTModel = knife_models_items[Settings::Skin::knf_tt_model];
  588.  
  589. KnifeCTModel += " Skin##KCT";
  590. KnifeTTModel += " Skin##KTT";
  591.  
  592. ImGui::SliderFloat("Knife CT Wear", &g_SkinChangerCfg[WEAPON_KNIFE].flFallbackWear, 0.001f, 1.f);
  593. ImGui::Combo("Knife CT Quality", &g_SkinChangerCfg[WEAPON_KNIFE].iEntityQuality, quality_items, IM_ARRAYSIZE(quality_items));
  594. ImGui::ComboBoxArray(KnifeCTModel.c_str(), &iSelectKnifeCTSkinIndex, KnifeSkins[iKnifeCTModelIndex].SkinNames);
  595.  
  596. ImGui::Separator();
  597.  
  598. ImGui::SliderFloat("Knife TT Wear", &g_SkinChangerCfg[WEAPON_KNIFE_T].flFallbackWear, 0.001f, 1.f);
  599. ImGui::Combo("Knife TT Quality", &g_SkinChangerCfg[WEAPON_KNIFE_T].iEntityQuality, quality_items, IM_ARRAYSIZE(quality_items));
  600. ImGui::ComboBoxArray(KnifeTTModel.c_str(), &iSelectKnifeTTSkinIndex, KnifeSkins[iKnifeTTModelIndex].SkinNames);
  601.  
  602. ImGui::Separator();
  603.  
  604. static int iOldWeaponID = -1;
  605.  
  606. ImGui::Combo("Weapon##WeaponSelect", &iWeaponID, pWeaponData, IM_ARRAYSIZE(pWeaponData));
  607.  
  608. iWeaponSelectIndex = pWeaponItemIndexData[iWeaponID];
  609.  
  610. if (iOldWeaponID != iWeaponID)
  611. iWeaponSelectSkinIndex = GetWeaponSkinIndexFromPaintKit(g_SkinChangerCfg[iWeaponSelectIndex].nFallbackPaintKit);
  612.  
  613. iOldWeaponID = iWeaponID;
  614.  
  615. string WeaponSkin = pWeaponData[iWeaponID];
  616. WeaponSkin += " Skin";
  617.  
  618. ImGui::ComboBoxArray(WeaponSkin.c_str(), &iWeaponSelectSkinIndex, WeaponSkins[iWeaponID].SkinNames);
  619.  
  620. ImGui::Combo("Weapon Qality", &g_SkinChangerCfg[pWeaponItemIndexData[iWeaponID]].iEntityQuality, quality_items, IM_ARRAYSIZE(quality_items));
  621. ImGui::SliderFloat("Weapon Wear", &g_SkinChangerCfg[pWeaponItemIndexData[iWeaponID]].flFallbackWear, 0.001f, 1.f);
  622. ImGui::Combo("Weapon Skin", &g_SkinChangerCfg[pWeaponItemIndexData[iWeaponID]].nFallbackPaintKit, skins_items, IM_ARRAYSIZE(skins_items));
  623. ImGui::Combo("Custom Skin", &g_SkinChangerCfg[pWeaponItemIndexData[iWeaponID]].nFallbackPaintKit, skins_items, IM_ARRAYSIZE(skins_items));
  624.  
  625. ImGui::Separator();
  626.  
  627. ImGui::Combo("Gloves Skin", &Settings::Skin::gloves_skin, gloves_listbox_items,
  628. IM_ARRAYSIZE(gloves_listbox_items));
  629.  
  630. ImGui::Separator();
  631.  
  632. ImGui::PopItemWidth();
  633.  
  634. if (ImGui::Button("Apply##Skin"))
  635. {
  636. ForceFullUpdate();
  637. }
  638. }
  639. else if (tabSelected == 3) //misc
  640. {
  641. ImGui::InputText("Skyname", Settings::Misc::misc_SkyName, 64);
  642. ImGui::Checkbox("Disable PostProess", &Settings::Misc::misc_Postprocess);
  643. ImGui::Checkbox("Enable PostProess", &Settings::Misc::misc_EPostprocess);
  644. ImGui::Checkbox("Bhop", &Settings::Misc::misc_Bhop);
  645. ImGui::Checkbox("Punch", &Settings::Misc::misc_Punch);
  646. ImGui::Checkbox("AwpAim", &Settings::Misc::misc_AwpAim);
  647. ImGui::Checkbox("NoFlash", &Settings::Misc::misc_NoFlash);
  648. ImGui::Checkbox("AutoStrafe", &Settings::Misc::misc_AutoStrafe);
  649. ImGui::Checkbox("AutoAccept", &Settings::Misc::misc_AutoAccept);
  650. ImGui::Checkbox("Spectators", &Settings::Misc::misc_Spectators);
  651. ImGui::Checkbox("Fov Changer", &Settings::Misc::misc_FovChanger);
  652. ImGui::PushItemWidth(362.f);
  653. ImGui::SliderInt("Fov View", &Settings::Misc::misc_FovView, 1, 190);
  654. ImGui::SliderInt("Fov Model View", &Settings::Misc::misc_FovModelView, 1, 190);
  655. ImGui::Separator();
  656. ImGui::ColorEdit3("Awp Aim Color", Settings::Misc::misc_AwpAimColor);
  657. ImGui::PopItemWidth();
  658. }
  659. else if (tabSelected == 4);// Config
  660. {
  661. static int iConfigSelect = 0;
  662. static int iMenuSheme = 1;
  663. static char ConfigName[64] = { 0 };
  664.  
  665. ImGui::ComboBoxArray("Select Config", &iConfigSelect, ConfigList);
  666.  
  667. ImGui::Separator();
  668.  
  669. if (ImGui::Button("Load Config"))
  670. {
  671. Settings::LoadSettings(BaseDir + "\\" + ConfigList[iConfigSelect]);
  672. }
  673. ImGui::SameLine();
  674. if (ImGui::Button("Save Config"))
  675. {
  676. Settings::SaveSettings(BaseDir + "\\" + ConfigList[iConfigSelect]);
  677. }
  678. ImGui::SameLine();
  679. if (ImGui::Button("Refresh Config List"))
  680. {
  681. RefreshConfigs();
  682. }
  683.  
  684. ImGui::Separator();
  685.  
  686. ImGui::InputText("Config Name", ConfigName, 64);
  687.  
  688. if (ImGui::Button("Create & Save new Config"))
  689. {
  690. string ConfigFileName = ConfigName;
  691.  
  692. if (ConfigFileName.size() < 1)
  693. {
  694. ConfigFileName = "settings";
  695. }
  696.  
  697. Settings::SaveSettings(BaseDir + "\\" + ConfigFileName + ".ini");
  698. RefreshConfigs();
  699. }
  700.  
  701. ImGui::Separator();
  702.  
  703. const char* ThemesList[] = { "Purple" , "Default" , "Light Pink" , "Dark Blue" , "MidNight" , "Night" , "Dunno" , "Blue" , "Black" , "Green" , "Yellow" , "Light Blue" , "Light Grey" , "pHooK" };
  704.  
  705. ImGui::Combo("Menu Color Sheme", &iMenuSheme, ThemesList, IM_ARRAYSIZE(ThemesList));
  706.  
  707. ImGui::Separator();
  708.  
  709. if (ImGui::Button("Apply Color"))
  710. {
  711.  
  712. if (iMenuSheme == 0)
  713. {
  714. g_pGui->purple();
  715. }
  716. else if (iMenuSheme == 1)
  717. {
  718. g_pGui->DefaultSheme1();
  719. }
  720. else if (iMenuSheme == 2)
  721. {
  722. g_pGui->RedSheme();
  723. }
  724. else if (iMenuSheme == 3)
  725. {
  726. g_pGui->darkblue();
  727. }
  728. else if (iMenuSheme == 4)
  729. {
  730. g_pGui->MidNightSheme();
  731. }
  732. else if (iMenuSheme == 5)
  733. {
  734. g_pGui->NightSheme();
  735. }
  736. else if (iMenuSheme == 6)
  737. {
  738. g_pGui->DunnoSheme();
  739. }
  740. else if (iMenuSheme == 7)
  741. {
  742. g_pGui->BlueSheme();
  743. }
  744. //else if (iMenuSheme == 10)
  745. //{
  746. // g_pGui->MidNight2();
  747. //}
  748. else if (iMenuSheme == 8)
  749. {
  750. g_pGui->BlackSheme2();
  751. }
  752. else if (iMenuSheme == 9)
  753. {
  754. g_pGui->green();
  755. }
  756. else if (iMenuSheme == 10)
  757. {
  758. g_pGui->pink();
  759. }
  760. else if (iMenuSheme == 11)
  761. {
  762. g_pGui->blue();
  763. }
  764. else if (iMenuSheme == 12)
  765. {
  766. g_pGui->yellow();
  767. }
  768. else if (iMenuSheme == 13)
  769. {
  770. g_pGui->BlackSheme();
  771. }
  772. }
  773. }
  774.  
  775. ImGui::End();
  776. }
  777. }
  778. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement