Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
есть маленькая проблема
Я глов вообще не юзал ни разу если честно.есть маленькая проблема
При отресовке за стеной игориз не работает / при glowObject.m_nGlowStyle = 1; не видно из за стены /
Чекну отпишуть а на хеандс (руки) так же действует?Загружаешь материал
Прописываешь материал в отрисовке чамсов
Upd: Нумерация начинается с нуля. Вот скриншот
Прописываешь материал ещё раз перед чамсами для рукЧекну отпишуть а на хеандс (руки) так же действует?
materials.at(номер)materialsTestModels.at(номер)куда прописать TEXTURE_GROUP_MODEL?Прописываешь материал ещё раз перед чамсами для рук
И ставишь номер своего материала
Если ставишь тот материал который я скидывал выше то прописываешь не
materials.at(номер)
а
materialsTestModels.at(номер)
куда прописать TEXTURE_GROUP_MODEL?
#ifndef TEXTURE_GROUP_NAMES_H
#define TEXTURE_GROUP_NAMES_H
#ifdef _WIN32
#pragma once
#endif
// These are given to FindMaterial to reference the texture groups that show up on the
#define TEXTURE_GROUP_LIGHTMAP "Lightmaps"
#define TEXTURE_GROUP_WORLD "World textures"
#define TEXTURE_GROUP_MODEL "Model textures"
#define TEXTURE_GROUP_VGUI "VGUI textures"
#define TEXTURE_GROUP_PARTICLE "Particle textures"
#define TEXTURE_GROUP_DECAL "Decal textures"
#define TEXTURE_GROUP_SKYBOX "SkyBox textures"
#define TEXTURE_GROUP_CLIENT_EFFECTS "ClientEffect textures"
#define TEXTURE_GROUP_OTHER "Other textures"
#define TEXTURE_GROUP_PRECACHED "Precached" // TODO: assign texture groups to the precached materials
#define TEXTURE_GROUP_CUBE_MAP "CubeMap textures"
#define TEXTURE_GROUP_RENDER_TARGET "RenderTargets"
#define TEXTURE_GROUP_UNACCOUNTED "Unaccounted textures" // Textures that weren't assigned a texture group.
//#define TEXTURE_GROUP_STATIC_VERTEX_BUFFER "Static Vertex"
#define TEXTURE_GROUP_STATIC_INDEX_BUFFER "Static Indices"
#define TEXTURE_GROUP_STATIC_VERTEX_BUFFER_DISP "Displacement Verts"
#define TEXTURE_GROUP_STATIC_VERTEX_BUFFER_COLOR "Lighting Verts"
#define TEXTURE_GROUP_STATIC_VERTEX_BUFFER_WORLD "World Verts"
#define TEXTURE_GROUP_STATIC_VERTEX_BUFFER_MODELS "Model Verts"
#define TEXTURE_GROUP_STATIC_VERTEX_BUFFER_OTHER "Other Verts"
#define TEXTURE_GROUP_DYNAMIC_INDEX_BUFFER "Dynamic Indices"
#define TEXTURE_GROUP_DYNAMIC_VERTEX_BUFFER "Dynamic Verts"
#define TEXTURE_GROUP_DEPTH_BUFFER "DepthBuffer"
#define TEXTURE_GROUP_VIEW_MODEL "ViewModel"
#define TEXTURE_GROUP_PIXEL_SHADERS "Pixel Shaders"
#define TEXTURE_GROUP_VERTEX_SHADERS "Vertex Shaders"
#define TEXTURE_GROUP_RENDER_TARGET_SURFACE "RenderTarget Surfaces"
#define TEXTURE_GROUP_MORPH_TARGETS "Morph Targets"
#endif // TEXTURE_GROUP_NAMES_H
я прешил свою проблему добавление materials.at(1)->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);#include "SDK/texture_group_names.h"
C++:#ifndef TEXTURE_GROUP_NAMES_H #define TEXTURE_GROUP_NAMES_H #ifdef _WIN32 #pragma once #endif // These are given to FindMaterial to reference the texture groups that show up on the #define TEXTURE_GROUP_LIGHTMAP "Lightmaps" #define TEXTURE_GROUP_WORLD "World textures" #define TEXTURE_GROUP_MODEL "Model textures" #define TEXTURE_GROUP_VGUI "VGUI textures" #define TEXTURE_GROUP_PARTICLE "Particle textures" #define TEXTURE_GROUP_DECAL "Decal textures" #define TEXTURE_GROUP_SKYBOX "SkyBox textures" #define TEXTURE_GROUP_CLIENT_EFFECTS "ClientEffect textures" #define TEXTURE_GROUP_OTHER "Other textures" #define TEXTURE_GROUP_PRECACHED "Precached" // TODO: assign texture groups to the precached materials #define TEXTURE_GROUP_CUBE_MAP "CubeMap textures" #define TEXTURE_GROUP_RENDER_TARGET "RenderTargets" #define TEXTURE_GROUP_UNACCOUNTED "Unaccounted textures" // Textures that weren't assigned a texture group. //#define TEXTURE_GROUP_STATIC_VERTEX_BUFFER "Static Vertex" #define TEXTURE_GROUP_STATIC_INDEX_BUFFER "Static Indices" #define TEXTURE_GROUP_STATIC_VERTEX_BUFFER_DISP "Displacement Verts" #define TEXTURE_GROUP_STATIC_VERTEX_BUFFER_COLOR "Lighting Verts" #define TEXTURE_GROUP_STATIC_VERTEX_BUFFER_WORLD "World Verts" #define TEXTURE_GROUP_STATIC_VERTEX_BUFFER_MODELS "Model Verts" #define TEXTURE_GROUP_STATIC_VERTEX_BUFFER_OTHER "Other Verts" #define TEXTURE_GROUP_DYNAMIC_INDEX_BUFFER "Dynamic Indices" #define TEXTURE_GROUP_DYNAMIC_VERTEX_BUFFER "Dynamic Verts" #define TEXTURE_GROUP_DEPTH_BUFFER "DepthBuffer" #define TEXTURE_GROUP_VIEW_MODEL "ViewModel" #define TEXTURE_GROUP_PIXEL_SHADERS "Pixel Shaders" #define TEXTURE_GROUP_VERTEX_SHADERS "Vertex Shaders" #define TEXTURE_GROUP_RENDER_TARGET_SURFACE "RenderTarget Surfaces" #define TEXTURE_GROUP_MORPH_TARGETS "Morph Targets" #endif // TEXTURE_GROUP_NAMES_H
Так то не тебе было, а тому челу который спрашивал про TEXTURE_GROUP_MODELя прешил свою проблему добавление materials.at(1)->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
IMaterial *create_material(bool shade, bool wireframe, bool ignorez, int rimlight_boost = 0) {
static const std::string material_name = "glowOverlay.vmt";
const std::string material_type = shade ? "VertexLitGeneric" : "UnlitGeneric";
std::string material_data;
material_data += "\"" + material_type + "\"\n{\n";
//material_data += "\t\"$basetexture\" \"vgui/white_additive\"\n";
material_data += "\t\"$additive\" \"1\"\n";
material_data += "\t\"$envmap\" \"models/effects/cube_white\"\n";
//material_data += "\t\"$model\" \"1\"\n";
material_data += "\t\"$envmaptint\" \"[0 1 2]\"\n";
material_data += "\t\"$envmapfresnel\" \"1\"\n";
material_data += "\t\"$envmapfresnelminmaxexp\" \"[0 1 2]\"\n";
material_data += "\t\"$alpha\" \"0.8\"\n";
/*material_data += "\t\"$flat\" \"1\"\n";
material_data += "\t\"$nocull\" \"0\"\n";
material_data += "\t\"$selfillum\" \"1\"\n";
material_data += "\t\"$halflambert\" \"1\"\n";
material_data += "\t\"$znearer\" \"0\"\n";
material_data += "\t\"$rimlightboost\" \"" + std::to_string(rimlight_boost) + "\"\n";
material_data += "\t\"$rimlightexponent\" \"" + std::to_string(4) + "\"\n";
material_data += "\t\"$ambientreflectionboost\" \"0.2\"\n";
material_data += "\t\"$envmaplightscale\" \"" + std::to_string(0.1) + "\"\n";
material_data += "\t\"$wireframe\" \"" + std::to_string(wireframe) + "\"\n";*/
material_data += "\t\"$ignorez\" \"" + std::to_string(ignorez) + "\"\n";
material_data += "}\n";
auto init_key_values = [](KeyValuesv2 *keyvalues, const char *key_name) -> void {
using InitKeyValues_t = void(__thiscall *)(void *, const char *);
static InitKeyValues_t InitKeyValuesEx = nullptr;
static auto pThis = *reinterpret_cast<DWORD**>(Utils::FindSignature("client_panorama.dll", "B9 ? ? ? ? E8 ? ? ? ? 8B 5D 08") + 1);
if (!InitKeyValuesEx)
InitKeyValuesEx = *reinterpret_cast<InitKeyValues_t>(Utils::FindSignature("client_panorama.dll", "55 8B EC 51 33 C0 C7 45"));
InitKeyValuesEx(keyvalues, key_name);
};
auto load_from_buffer = [](KeyValuesv2 *key_values, const char *resource_name, const char *buf, void *file_sys = nullptr, const char *path_id = nullptr, void *eval_sym_proc = nullptr, void *unk = nullptr) -> void {
using LoadFromBuffer_t = void(__thiscall *)(void *, const char *, const char *, void *, const char *, void *, void *);
static LoadFromBuffer_t LoadFromBufferEx = nullptr;
if (!LoadFromBufferEx)
LoadFromBufferEx = *reinterpret_cast<LoadFromBuffer_t>(Utils::FindSignature("client_panorama.dll", "55 8B EC 83 E4 F8 83 EC 34 53 8B 5D 0C 89"));
LoadFromBufferEx(key_values, resource_name, buf, file_sys, path_id, eval_sym_proc, unk);
};
auto *key_values = new KeyValuesv2();
init_key_values(key_values, material_type.c_str());
load_from_buffer(key_values, material_name.c_str(), material_data.c_str());
return g_pMaterialSys->CreateMaterial(material_name.c_str(), key_values);
}
хуй знает зачем так много кода когда можно уместить всё в одну строчкуВы чё мозги ебёте, вот вам чамсы вантапа
C++:IMaterial *create_material(bool shade, bool wireframe, bool ignorez, int rimlight_boost = 0) { static const std::string material_name = "glowOverlay.vmt"; const std::string material_type = shade ? "VertexLitGeneric" : "UnlitGeneric"; std::string material_data; material_data += "\"" + material_type + "\"\n{\n"; //material_data += "\t\"$basetexture\" \"vgui/white_additive\"\n"; material_data += "\t\"$additive\" \"1\"\n"; material_data += "\t\"$envmap\" \"models/effects/cube_white\"\n"; //material_data += "\t\"$model\" \"1\"\n"; material_data += "\t\"$envmaptint\" \"[0 1 2]\"\n"; material_data += "\t\"$envmapfresnel\" \"1\"\n"; material_data += "\t\"$envmapfresnelminmaxexp\" \"[0 1 2]\"\n"; material_data += "\t\"$alpha\" \"0.8\"\n"; /*material_data += "\t\"$flat\" \"1\"\n"; material_data += "\t\"$nocull\" \"0\"\n"; material_data += "\t\"$selfillum\" \"1\"\n"; material_data += "\t\"$halflambert\" \"1\"\n"; material_data += "\t\"$znearer\" \"0\"\n"; material_data += "\t\"$rimlightboost\" \"" + std::to_string(rimlight_boost) + "\"\n"; material_data += "\t\"$rimlightexponent\" \"" + std::to_string(4) + "\"\n"; material_data += "\t\"$ambientreflectionboost\" \"0.2\"\n"; material_data += "\t\"$envmaplightscale\" \"" + std::to_string(0.1) + "\"\n"; material_data += "\t\"$wireframe\" \"" + std::to_string(wireframe) + "\"\n";*/ material_data += "\t\"$ignorez\" \"" + std::to_string(ignorez) + "\"\n"; material_data += "}\n"; auto init_key_values = [](KeyValuesv2 *keyvalues, const char *key_name) -> void { using InitKeyValues_t = void(__thiscall *)(void *, const char *); static InitKeyValues_t InitKeyValuesEx = nullptr; static auto pThis = *reinterpret_cast<DWORD**>(Utils::FindSignature("client_panorama.dll", "B9 ? ? ? ? E8 ? ? ? ? 8B 5D 08") + 1); if (!InitKeyValuesEx) InitKeyValuesEx = *reinterpret_cast<InitKeyValues_t>(Utils::FindSignature("client_panorama.dll", "55 8B EC 51 33 C0 C7 45")); InitKeyValuesEx(keyvalues, key_name); }; auto load_from_buffer = [](KeyValuesv2 *key_values, const char *resource_name, const char *buf, void *file_sys = nullptr, const char *path_id = nullptr, void *eval_sym_proc = nullptr, void *unk = nullptr) -> void { using LoadFromBuffer_t = void(__thiscall *)(void *, const char *, const char *, void *, const char *, void *, void *); static LoadFromBuffer_t LoadFromBufferEx = nullptr; if (!LoadFromBufferEx) LoadFromBufferEx = *reinterpret_cast<LoadFromBuffer_t>(Utils::FindSignature("client_panorama.dll", "55 8B EC 83 E4 F8 83 EC 34 53 8B 5D 0C 89")); LoadFromBufferEx(key_values, resource_name, buf, file_sys, path_id, eval_sym_proc, unk); }; auto *key_values = new KeyValuesv2(); init_key_values(key_values, material_type.c_str()); load_from_buffer(key_values, material_name.c_str(), material_data.c_str()); return g_pMaterialSys->CreateMaterial(material_name.c_str(), key_values); }
Далее в часах убирайте нахуй колор модулейшн ну или хуй знает
За цвет отвечает material_data += "\t\"$envmaptint\" \"[0 1 2]\"\n";
Посмотреть вложение 57515
materialsTestModels.push_back(g_pMaterialSys->FindMaterial("glowOverlay", TEXTURE_GROUP_MODEL, true));
И нахуй ты это высрал? А ключами шейдеров кто манипулировать будет?хуй знает зачем так много кода когда можно уместить всё в одну строчку
Будут почти такие же чамсы.C++:materialsTestModels.push_back(g_pMaterialSys->FindMaterial("glowOverlay", TEXTURE_GROUP_MODEL, true));
Это да я понял как можно сделать.И нахуй ты это высрал? А ключами шейдеров кто манипулировать будет?
Это да я понял как можно сделать.
чета вырви глаз


Как я понял я могу через static std::vector< IMaterial * > materials; сделать определение static std::vector< IMaterial * >(c_config::get().materials); и так далие или
Если хочешь чтобы основную модель небыло видно а только прозрачный чамс туши SetBlend![]()
Да там вообще похуй как по сути.Как я понял я могу через static std::vector< IMaterial * > materials; сделать определение static std::vector< IMaterial * >(c_config::get().materials); и так далие или
if (IsEnemy)
{
if (c_config::get().chams_enemies) {
if (c_config::get().chams_xqz_enemies ) {
g_pRenderView->SetBlend(c_config::get().chams_esp_color_a / 100.f);
g_pModelRender->ForcedMaterialOverride(materials.at(2));
pPlayerEntity->DrawModel(0x00000001, 255);
}
g_pRenderView->SetBlend(c_config::get().chams_xqz_esp_color_a / 100.f);
g_pModelRender->ForcedMaterialOverride(materials.at(0));
pPlayerEntity->DrawModel(0x00000001, 255);
}
}
хз у меня такДа там вообще похуй как по сути.
И кстати в гемини есть мем
C++:if (IsEnemy) { if (c_config::get().chams_enemies) { if (c_config::get().chams_xqz_enemies ) { g_pRenderView->SetBlend(c_config::get().chams_esp_color_a / 100.f); g_pModelRender->ForcedMaterialOverride(materials.at(2)); pPlayerEntity->DrawModel(0x00000001, 255); } g_pRenderView->SetBlend(c_config::get().chams_xqz_esp_color_a / 100.f); g_pModelRender->ForcedMaterialOverride(materials.at(0)); pPlayerEntity->DrawModel(0x00000001, 255); } }
Эта хуета вызывается два раза, здесь где if (c_config::get().chams_xqz_enemies ) - надо добавить условие наличия игрока за стеной
И второй вызов тоже с условием если игрок в зоне видимости
if (c_config::get().chams_enemies) {
if (c_config::get().chams_xqz_enemies) {
g_pRenderView->SetBlend(c_config::get().chams_esp_color_a / 100.f);
g_pModelRender->ForcedMaterialOverride(materials.at(1));
g_pRenderView->SetColorModulation(hid_color);
pPlayerEntity->DrawModel(0x00000001, 255);
}
g_pRenderView->SetBlend(c_config::get().chams_xqz_esp_color_a / 100.f);
g_pModelRender->ForcedMaterialOverride(materials.at(1));
g_pRenderView->SetColorModulation(vis_color);
materials.at(1)->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
pPlayerEntity->DrawModel(0x00000001, 255);
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz