Гайд Как переместить табы влево Insomnia

push me to the edge
Олдфаг
Статус
Оффлайн
Регистрация
22 Мар 2017
Сообщения
2,253
Реакции[?]
1,204
Поинты[?]
1K
Всем привет, последние время на форуме задают очень часто вопросы по типу "Как переместить табы влево"
Ну приступим.
Для начала надо зайти в файл CMenu.h
После чего копируем следующий код​
bool get_system_font_path(const std::string& name, std::string& path)
{
//
// This code is not as safe as it should be.
// Assumptions we make:
// -> GetWindowsDirectoryA does not fail.
// -> The registry key exists.
// -> The subkeys are ordered alphabetically
// -> The subkeys name and data are no longer than 260 (MAX_PATH) chars.
//

char buffer[MAX_PATH];
HKEY registryKey;

GetWindowsDirectoryA(buffer, MAX_PATH);
std::string fontsFolder = buffer + std::string("\\Fonts\\");

if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts", 0, KEY_READ, &registryKey)) {
return false;
}

uint32_t valueIndex = 0;
char valueName[MAX_PATH];
uint8_t valueData[MAX_PATH];
std::wstring wsFontFile;

do {
uint32_t valueNameSize = MAX_PATH;
uint32_t valueDataSize = MAX_PATH;
uint32_t valueType;

auto error = RegEnumValueA(
registryKey,
valueIndex,
valueName,
reinterpret_cast<DWORD*>(&valueNameSize),
0,
reinterpret_cast<DWORD*>(&valueType),
valueData,
reinterpret_cast<DWORD*>(&valueDataSize));

valueIndex++;

if (error == ERROR_NO_MORE_ITEMS) {
RegCloseKey(registryKey);
return false;
}

if (error || valueType != REG_SZ) {
continue;
}

if (_strnicmp(name.data(), valueName, name.size()) == 0) {
path = fontsFolder + std::string((char*)valueData, valueDataSize);
RegCloseKey(registryKey);
return true;
}
} while (true);

return false;
}

namespace CMenu
{
bool legitTab = true;
bool visualsTab = false;
bool radarTab = false;
bool changerTab = false;
bool colorsTab = false;
bool miscTab = false;

bool visEspTab = true;
bool visChamsTab = false;
bool visHandsTab = false;
bool visMiscTab = false;

int windowWidth = 800;
int windowHeight = 525;
int curWidth = 1;
int curHeight = 1;
int curX = 0;
int curY = 0;
int tabHeight = 35;

LONGLONG LastFrameTime;
float deltaTime;

LONGLONG milliseconds_now() {
static LARGE_INTEGER s_frequency;
static BOOL s_use_qpc = QueryPerformanceFrequency(&s_frequency);
if (s_use_qpc) {
LARGE_INTEGER now;
QueryPerformanceCounter(&now);
return (1000LL * now.QuadPart) / s_frequency.QuadPart;
}
else {
return GetTickCount();
}
}

float GetDeltaTime()
{
LONGLONG ms = milliseconds_now();
float ret = ms - LastFrameTime;
LastFrameTime = ms;
return ret;
//return 1000.0f / ImGui::GetIO().Framerate;
}

int CalcTabWidth(int tabs)
{
ImGuiStyle& style = ImGui::GetStyle();
return ((windowWidth - (style.WindowPadding.x * 2)) / tabs) - (style.ItemSpacing.x * tabs);
//return (curWidth - ((style.WindowPadding.x) + (style.ItemSpacing.x * tabs))) / tabs;
//return windowWidth / tabs;
}

void SelectTab(bool* tab)
{
legitTab = false;
visualsTab = false;
radarTab = false;
changerTab = false;
colorsTab = false;
miscTab = false;

*tab = true;
}

void SelectVisualsSubTab(bool* tab)
{
visEspTab = false;
visChamsTab = false;
visHandsTab = false;
visMiscTab = false;

*tab = true;
}

bool DrawTab(char* name, int tabWidth, int tabHeight, bool *boole, bool forceTabs = true)
{
bool ret = false;
if (ImGui::Tab(name, ImVec2(tabWidth, tabHeight), *boole))
{
ret = true;
*boole = true;
if (forceTabs) SelectTab(boole);
}

//ImGui::SameLine(0);
return ret;
}

bool DrawTab(char* name, int tabWidth, int tabHeight, bool boole, bool forceTabs = true)
{
return DrawTab(name, tabWidth, tabHeight, &boole, forceTabs);
}

void DrawTabs()
{
int w, h;
Interface.Engine->GetScreenSize(w, h);

if (ImGui::Begin(XorStr("Your name"), &G::MenuOpened, ImVec2(700, 380), 1.0F, ImGuiWindowFlags_ShowBorders))
{
//ImGui::NewLine(3);

ImGuiContext* io = ImGui::GetCurrentContext();
ImGuiStyle& style = ImGui::GetStyle();
int tabWidth = CalcTabWidth(6) + 20;

float lastSize = io->FontSize;
io->FontSize = 20;


ImGui::BeginGroup(); //создаем группу объектовa
DrawTab(XorStr("Legit"), tabWidth, tabHeight, &legitTab);
DrawTab(XorStr("Visuals"), tabWidth, tabHeight, &visualsTab);
DrawTab(XorStr("Radar"), tabWidth, tabHeight, &radarTab);
DrawTab(XorStr("Paints"), tabWidth, tabHeight, &changerTab);
DrawTab(XorStr("Colors"), tabWidth, tabHeight, &colorsTab);
DrawTab(XorStr("Misc"), tabWidth, tabHeight, &miscTab);
io->FontSize = lastSize;

ImGui::Text(XorStr("Config"));
if (ImGui::Button(XorStr("Load"), ImVec2(120, 0))) Config::Read();
if (ImGui::Button(XorStr("Save"), ImVec2(120, 0))) Config::Save();

ImGui::EndGroup(); //объединяем объекты в группу

ImGui::SameLine(/*posX*/); //сдвигаем фрейм в право

ImGui::BeginGroup(); //создаем новую группу объектов

//ImGui::EndGroup(); //объединяем объекты в группу

}
//ImGui::End();
}
И вставляем в свой файл начиная с самого начала
Также нужно вам разобраться с этими строчками​
namespace CMenu
{
bool legitTab = true;
bool visualsTab = false;
bool radarTab = false;
bool changerTab = false;
bool colorsTab = false;
bool miscTab = false;
Предварительно замените все названия на свои !!!
Enjoy!​
P.S Не стоит писать что уже было и кидать кучу тем где просто оставляют код. Я сделал гайд для новичков которые хотят видеть табы слева.
 
dorothy.pro
Пользователь
Статус
Оффлайн
Регистрация
30 Окт 2016
Сообщения
331
Реакции[?]
79
Поинты[?]
0
А можно гайд как в индиго таблы слева сделать? )
:deilluminati:
 
В игре Source SDK
Забаненный
Статус
Оффлайн
Регистрация
10 Янв 2017
Сообщения
2,148
Реакции[?]
806
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
я выблядок
Забаненный
Статус
Оффлайн
Регистрация
15 Июн 2017
Сообщения
607
Реакции[?]
352
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
блэт, жди теперь 10+ софтов с табами слева, типа нью универсал топ хак
 
push me to the edge
Олдфаг
Статус
Оффлайн
Регистрация
22 Мар 2017
Сообщения
2,253
Реакции[?]
1,204
Поинты[?]
1K
я выблядок
Забаненный
Статус
Оффлайн
Регистрация
15 Июн 2017
Сообщения
607
Реакции[?]
352
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Я не против бесплатных паст, а новчикам хорошо
меня бесит то что некоторые их продают и говорят что они писали весь чит сами с нуля.
MOONSQUAD и PrimalHack - это две топ инсомнии
 
Сверху Снизу