nixware.cc
Уже пофиксил, но спасибо за помощь#pragma comment(lib, "Winmm.lib")
вставь это
Уже пофиксил, но спасибо за помощь#pragma comment(lib, "Winmm.lib")
вставь это
Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.
ну где гайд,на хитмайкер?В общем. Вот вам тру гайд для ваших ̶т̶р̶у̶ ̶2̶2̶8̶ ̶с̶а̶м̶о̶п̶и̶с̶а̶н̶н̶ы̶х̶ ̶п̶р̶и̶в̶а̶т̶о̶к̶ паст.
И так, приступим. Что же у нас есть:
Индус (любой сурц),
Прямые руки.
Начнём с добалвения CVar'ов в сурц:
Далее делаем нашу переменную в settings.cpp/h под названием NightModeИдём крче в sdk.h добавляем эта:
Далее в sdk.cpp:Код:#include "../CVar.h" // в столбик с инклудами static ConVar* GetConVar(); // в публик класс Interfaces static ConVar* g_pConVar; // в приват класс Interfaces
Далее создаём файл в проекте с названием CVar.hКод:ConVar* Interfaces::g_pConVar = nullptr; // в начало неймспейса SDK ConVar* Interfaces::GetConVar() // В конец неймспейса { if (!g_pConVar) { CreateInterfaceFn pfnFactory = CaptureFactory(VSTDLIB_DLL); g_pConVar = CaptureInterface<ConVar>(pfnFactory, VENGINEVCAR_INTERFACE_VERSION); } return g_pConVar; }
Код:#pragma once #include "SDK/SDK.h" #define FORCEINLINE_CVAR #pragma region CVAR Flags #define FCVAR_NONE 0 #define FCVAR_UNREGISTERED (1<<0) #define FCVAR_DEVELOPMENTONLY (1<<1) #define FCVAR_GAMEDLL (1<<2) #define FCVAR_CLIENTDLL (1<<3) #define FCVAR_HIDDEN (1<<4) // ConVar only #define FCVAR_PROTECTED (1<<5) #define FCVAR_SPONLY (1<<6) #define FCVAR_ARCHIVE (1<<7) #define FCVAR_NOTIFY (1<<8) #define FCVAR_USERINFO (1<<9) #define FCVAR_CHEAT (1<<14) #define FCVAR_PRINTABLEONLY (1<<10) #define FCVAR_UNLOGGED (1<<11) #define FCVAR_NEVER_AS_STRING (1<<12) #define FCVAR_REPLICATED (1<<13) #define FCVAR_DEMO (1<<16) #define FCVAR_DONTRECORD (1<<17) #define FCVAR_NOT_CONNECTED (1<<22) #define FCVAR_ARCHIVE_XBOX (1<<24) #define FCVAR_SERVER_CAN_EXECUTE (1<<28) #define FCVAR_SERVER_CANNOT_QUERY (1<<29) #define FCVAR_CLIENTCMD_CAN_EXECUTE (1<<30) #pragma endregion namespace SDK { class ConVar { public: char pad_0x0000[0x4]; //0x0000 ConVar* pNext; //0x0004 __int32 bRegistered; //0x0008 char* pszName; //0x000C char* pszHelpString; //0x0010 __int32 nFlags; //0x0014 char pad_0x0018[0x4]; //0x0018 ConVar* pParent; //0x001C char* pszDefaultValue; //0x0020 char* strString; //0x0024 __int32 StringLength; //0x0028 float fValue; //0x002C __int32 nValue; //0x0030 __int32 bHasMin; //0x0034 float fMinVal; //0x0038 __int32 bHasMax; //0x003C float fMaxVal; //0x0040 void* fnChangeCallback; //0x0044 void ConVar::SetValue(const char* value) { typedef void(__thiscall* OriginalFn)(void*, const char*); return GetMethod<OriginalFn>(this, 14)(this, value); } void ConVar::SetValue(float value) { typedef void(__thiscall* OriginalFn)(void*, float); return GetMethod<OriginalFn>(this, 15)(this, value); } void ConVar::SetValue(int value) { typedef void(__thiscall* OriginalFn)(void*, int); return GetMethod<OriginalFn>(this, 16)(this, value); } void ConVar::SetValue(Color value) { typedef void(__thiscall* OriginalFn)(void*, Color); return GetMethod<OriginalFn>(this, 17)(this, value); } char* ConVar::GetName() { typedef char*(__thiscall* OriginalFn)(void*); return GetMethod<OriginalFn>(this, 5)(this); } char* ConVar::GetDefault() { return pszDefaultValue; } void RegisterConCommand(ConVar* pCommandBase) { typedef ConVar*(__thiscall* FindVarFn)(void*, ConVar*); GetMethod< FindVarFn >(this, 12)(this, pCommandBase); } void UnRegisterConCommand(ConVar* pCommandBase) { typedef ConVar*(__thiscall* FindVarFn)(void*, ConVar*); GetMethod< FindVarFn >(this, 13)(this, pCommandBase); } ConVar* FindVar(const char *var_name) { typedef ConVar*(__thiscall* FindVarFn)(void*, const char*); return GetMethod< FindVarFn >(this, 15)(this, var_name); } }; }
(Я её добавил в неймспуйс Esp) (Писать как её сделать думаю не нужно)
Далее добавляем сам найтмуд в esp.cpp и esp.h:
Помимо этого ещё в esp.cpp реализуем такую х*йню:в esp.h добавляем в приват:Код:void CEsp::NightMode() { if (Settings::Esp::NightMode) { if (!done) { static auto sv_skyname = Interfaces::GetConVar()->FindVar("sv_skyname"); static auto r_DrawSpecificStaticProp = Interfaces::GetConVar()->FindVar("r_DrawSpecificStaticProp"); r_DrawSpecificStaticProp->SetValue(1); sv_skyname->SetValue("sky_csgo_night02"); for (MaterialHandle_t i = Interfaces::MaterialSystem()->FirstMaterial(); i != Interfaces::MaterialSystem()->InvalidMaterial(); i = Interfaces::MaterialSystem()->NextMaterial(i)) { IMaterial *pMaterial = Interfaces::MaterialSystem()->GetMaterial(i); if (!pMaterial) continue; const char* group = pMaterial->GetTextureGroupName(); const char* name = pMaterial->GetName(); if (strstr(group, "World textures")) { pMaterial->ColorModulate(0.10, 0.10, 0.10); } if (strstr(group, "StaticProp")) { pMaterial->ColorModulate(0.30, 0.30, 0.30); } if (strstr(name, "models/props/de_dust/palace_bigdome")) { pMaterial->SetMaterialVarFlag(MATERIAL_VAR_NO_DRAW, true); } if (strstr(name, "models/props/de_dust/palace_pillars")) { pMaterial->ColorModulate(0.30, 0.30, 0.30); } if (strstr(group, "Particle textures")) { pMaterial->SetMaterialVarFlag(MATERIAL_VAR_NO_DRAW, true); } done = true; } } } else { if (done) { for (MaterialHandle_t i = Interfaces::MaterialSystem()->FirstMaterial(); i != Interfaces::MaterialSystem()->InvalidMaterial(); i = Interfaces::MaterialSystem()->NextMaterial(i)) { IMaterial *pMaterial = Interfaces::MaterialSystem()->GetMaterial(i); if (!pMaterial) continue; const char* group = pMaterial->GetTextureGroupName(); const char* name = pMaterial->GetName(); if (strstr(group, "World textures")) { pMaterial->ColorModulate(1, 1, 1); } if (strstr(group, "StaticProp")) { pMaterial->ColorModulate(1, 1, 1); } if (strstr(name, "models/props/de_dust/palace_bigdome")) { pMaterial->SetMaterialVarFlag(MATERIAL_VAR_NO_DRAW, false); } if (strstr(name, "models/props/de_dust/palace_pillars")) { pMaterial->ColorModulate(1, 1, 1); } if (strstr(group, "Particle textures")) { pMaterial->SetMaterialVarFlag(MATERIAL_VAR_NO_DRAW, false); } } done = false; } } }
void NightMode();
bool done = false;
После этого делаем чекбокс в client.cpp и будет вам счастье и мир во всех пастах.
Ещё нам нужно обновить класс IMaterialSystem:
В IMaterialSystem.h в начале кода после строчки
#include "SDK.h"
добавляем
typedef unsigned short MaterialHandle_t;
Далее меняем класс IMaterialSystem на:
Код:class IMaterialSystem { public: IMaterial* CreateMaterial( const char* pMaterialName , KeyValues* pVMTKeyValues ) { VirtualFn( IMaterial* )( PVOID , const char* , KeyValues* ); return GetMethod< OriginalFn >( this , 83 )( this , pMaterialName , pVMTKeyValues ); } IMaterial* FindMaterial( const char* pMaterialName , const char* pTextureGroupName , bool complain = true , const char* pComplainPrefix = 0 ) { VirtualFn( IMaterial* )( PVOID , const char* , const char* , bool , const char* ); return GetMethod< OriginalFn >( this , 84 )( this , pMaterialName , pTextureGroupName , complain , pComplainPrefix ); } MaterialHandle_t FirstMaterial() { typedef MaterialHandle_t(__thiscall* FirstMaterialFn)(void*); return GetMethod <FirstMaterialFn>(this, 86)(this); } MaterialHandle_t NextMaterial(MaterialHandle_t h) { typedef MaterialHandle_t(__thiscall* NextMaterialFn)(void*, MaterialHandle_t); return GetMethod <NextMaterialFn>(this, 87)(this, h); } MaterialHandle_t InvalidMaterial() { typedef MaterialHandle_t(__thiscall* InvalidMaterialFn)(void*); return GetMethod <InvalidMaterialFn>(this, 88)(this); } IMaterial* GetMaterial(MaterialHandle_t h) { typedef IMaterial*(__thiscall* GetMaterialFn)(void*, MaterialHandle_t); return GetMethod <GetMaterialFn>(this, 89)(this, h); } };
UPD: ещё добавьте в CEsp::Render такую строчку:
NightMode();
UPDV2: hitmarker кому нибудь нужен? :D + grenade prediction скоро солью.
Лень делать, ща скоро запилю гайд на no visual recoil, no smoke, thirdperson.н
ну где гайд,на хитмайкер?
Буду весьма признателен, если ты это сделаешь :)Лень делать, ща скоро запилю гайд на no visual recoil, no smoke, thirdperson.
ооо,вид от 3-е лица у меня есть,но он ворк только с ботами)Лень делать, ща скоро запилю гайд на no visual recoil, no smoke, thirdperson.
Включить мозг для начала.Пожалуйста, авторизуйтесь для просмотра ссылки.Что делать?
Ну внатуре, я хз как это фиксить, что и где добавить надо? Часто выскакивали такие ошибки, вроде фиксил, но хз какВключить мозг для начала.
пропиши переменныеНу внатуре, я хз как это фиксить, что и где добавить надо? Часто выскакивали такие ошибки, вроде фиксил, но хз как
когда уже гайды будут? :3Включить мозг для начала.
Т.к. я л3нивая ж0па, то запилю вечером что то годненькоекогда уже гайды будут? :3
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz