Всем привет, пользователи священного сайта великих гениев и программистов, для которых не так уж и сложно написать свой чит с нуля и реализовать 10-тап в один тик. Я бы хотел помочь вам изгнать из "вашего" чита злых бесов, которые пытают опытных кодеров. Поэтому для начала, давайте ознакомимся с тем, что мы будем делать. Мы изменим базу и определения(Вам придётся попрощаться с тем, что вы понапихали в свои исходники). Мы излечим хуки, которые прямо-косвенно относятся к вызываемым ошибкам. И судя по тегу данного гайда, это будет не легко, потому что не понимание кода оставит вас с проблемами. Подмечу, что СКОПИРОВАТЬ + ВСТАВИТЬ, никто не отменял. Но не понимающему даже это не поможет. Теперь ваши мысли о том, что софтам на базе Антарио (а так же xy0 и последующие) пришёл конец, рассеялись. Но не стоит забывать тот факт, что ты ничего не сможешь.:kappa: И так, приступим, для начала нам нужно как вы уже знаете изменить базу (CEntity.h): Далее переходим в определения (Definitions.h): Теперь переходим сюда и добавляем следующие определения, если есть, заменяем (Hooks.cpp): Вауля, всё готово. Теперь те методы которые были мусором в вашей базе, которые вызываются с других классов, меняйте на имеющиеся. Если вы хотите что либо вернуть, делайте это аккуратно и тестируйте, крашнет ли метод. Ну а на этом всё, всем желаю удачи.:CoolStoryBob: ________________________________________________________________________________________________ Ниже будет обновляемая информация о всевозможных крашах и их решений, а так же добавление новых и интересных функций ________________________________________________________________________________________________ ________________________________________________________________________________________________ Только что потестил, всё работает, если где то у вас остался вызов метода GetValue - дайте знать :roflanEbalo: ________________________________________________________________________________________________ [CRASH SKIN] Устарелый адрес, реализован не в том месте [FIX SKIN] Отдельное спасибо ему - Likiorniok1234 Для этого перейдите в Hooks::FrameStageNotify Далее вы увидите следующий код: if (curStage == FRAME_NET_UPDATE_POSTDATAUPDATE_START) { skinsApply(); if (Globals::LocalPlayer && Globals::LocalPlayer->IsAlive()) { backtracking->Update(g_pGlobalVars->tickcount); } } Удалите строчку skinsApply(); Она у вас может быть по другому названа, либо реализована отдельно от FRAME_NET_UPDATE_POSTDATAUPDATE_START Но главное помнить, что в Hooks::FrameStageNotify, скинченджер быть не должен, это не правильная реализация Поэтому оставьте просто как должно быть: if (curStage == FRAME_NET_UPDATE_POSTDATAUPDATE_START) { if (Globals::LocalPlayer && Globals::LocalPlayer->IsAlive()) { backtracking->Update(g_pGlobalVars->tickcount); } } ________________________________________________________________________________________________ [CRASH FakeLag] Для тех у кого по сей видимости крашат фейк лаги, хотя я уже 4 сурс чекаю и не наблюдаю такого [FIX FakeLag] Отдельное спасибо ему - train67 public: void request_full_update() { delta_tick = -1; }; char pad_0000[0x9C]; CNetChannel* net_channel; uint32_t m_nChallengeNr; char pad_00A4[0x64]; uint32_t m_nSignonState; char pad_010C[0x8]; float m_flNextCmdTime; uint32_t m_nServerCount; uint32_t current_sequence; char pad_0120[4]; CClockDriftMgr clock_drift_mgr; int32_t delta_tick; bool m_bPaused; char pad_0179[7]; uint32_t m_nViewEntity; uint32_t m_nPlayerSlot; char m_szLevelName[260]; char m_szLevelNameShort[80]; char m_szGroupName[80]; char pad_02DC[92]; uint32_t m_nMaxClients; char pad_0314[18820]; float m_flLastServerTickTime; bool in_simulation; char pad_4C9D[3]; uint32_t oldtickcount; float m_tickRemainder; float m_frameTime; uint32_t last_command; uint32_t choked_commands; uint32_t last_command_ack; uint32_t command_ack; uint32_t m_nSoundSequence; char pad_4CC0[80]; Vector viewangles; char pad_4D14[0xD0]; CEventInfo* events; g_pClientState = reinterpret_cast< IClientState* > ( ( *reinterpret_cast< uintptr_t** > ( g_pEngine ) )[ 12 ] + 0x10 );