-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Смотрю, в одном чите добавили плавное появление теней на карте. Собственно, вот как это делается (знаю, можно было добавить просто параметры границ и клемпа и сделать таким образом функцию универсальной, но это как-то сами справитесь)
И, собственно, modern_clamp_shadows
Поясняю за числа 100 и -100: это просто границы ползунков в меню. По факту там может стоять что угодно. Я поставил 100 для примера.
При желании можно сделать и плавное исчезновение, но это если будет кому-то не лень :)
C++:
void visuals::custom_shadows()
{
static auto override_mode = g_interfaces.m_cvar->FindVar(_S("cl_csm_rot_override"));
static auto cl_csm_rot_x = g_interfaces.m_cvar->FindVar(_S("cl_csm_rot_x"));
static auto cl_csm_rot_y = g_interfaces.m_cvar->FindVar(_S("cl_csm_rot_y"));
static auto cl_csm_rot_z = g_interfaces.m_cvar->FindVar(_S("cl_csm_rot_z"));
static float x = cl_csm_rot_x->GetFloat();
static float y = cl_csm_rot_y->GetFloat();
static float z = cl_csm_rot_z->GetFloat();
if (config.m_custom_shadows && !config.remove_shadows)
{
override_mode->SetValue(1);
utils::modern_clamp_shadows(x, config.m_sunset_x, g_interfaces.m_globals->m_frame_time * 48.f);
utils::modern_clamp_shadows(y, config.m_sunset_y, g_interfaces.m_globals->m_frame_time * 48.f);
utils::modern_clamp_shadows(z, config.m_sunset_z, g_interfaces.m_globals->m_frame_time * 48.f);
cl_csm_rot_x->SetValue(x);
cl_csm_rot_y->SetValue(y);
cl_csm_rot_z->SetValue(z);
}
else
{
override_mode->SetValue(0);
utils::modern_clamp_shadows(x, 0, g_interfaces.m_globals->m_frame_time * 48.f);
utils::modern_clamp_shadows(y, 0, g_interfaces.m_globals->m_frame_time * 48.f);
utils::modern_clamp_shadows(z, 0, g_interfaces.m_globals->m_frame_time * 48.f);
}
}
C++:
inline void modern_clamp_shadows(float& target, float to, float step)
{
if (target > to)
{
target = clamp(target-step, to, 100.f);
}
else if (target < to)
{
target = clamp(target+step, -100.f, to);
}
}
При желании можно сделать и плавное исчезновение, но это если будет кому-то не лень :)