8y.old
-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Подключите 9-ю функцию от интерфейса VEngineRenderView014 в файле engine.dll:
Затем вам понадобится функция drawmodel из iclientrenderable (вставьте ее в класс сущности):
Внутри этой функции цикл всех объектов, на которые вы хотите наложить чамсы, форсить материал и вызывать entity-> DrawModel (i только игроки цикла):
Thx for thread on uc :
Код:
instance->m_render_view->hook( 9, &hooks::scene_end );
Код:
int draw_model( int flags, uint8_t alpha ) {
using fn = int( __thiscall* )( void*, int, uint8_t );
return util::get_vfunc< fn >( get_client_renderable( ), 9 )( get_client_renderable( ), flags, alpha );
}
Код:
void __fastcall scene_end( void* thisptr, void* edx ) {
static auto scene_end_o = g_instance.m_render_view->get_original< decltype( &scene_end ) >( 9 );
scene_end_o( thisptr, edx );
for ( int i = 1; i < g_instance.m_globals->m_maxclients; ++i ) {
auto ent = g_instance.m_entlist( )->GetClientEntity<>( i );
if ( ent && ent->is_valid( ) ) {
IMaterial* mat = g_materials->chams_flat;
if ( mat ) {
g_instance.m_model_render( )->ForceMaterialOverride( mat );
ent->draw_model( 0x1/*STUDIO_RENDER*/, 255 );
g_instance.m_modle_render( )->ForceMaterialOverride( nullptr );
}
}
}
}
Thx for thread on uc :
Пожалуйста, авторизуйтесь для просмотра ссылки.