- Статус
- Оффлайн
- Регистрация
- 29 Фев 2020
- Сообщения
- 71
- Реакции
- 39
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ваще не испортил, куз длл была ничем не запротекченна и не зашифрованна, зареверсили открытую длл вау0____o
C++:// ne nu mnogo lishnih vizovov etc... // ubral cuz oni ne nuzni dopusim // if ( !(*(*engine + 108))(engine) || !(*(*engine + 104))(engine) ) // return original_setup_bones(ecx, bones, max_bones, mask, time); // kak bi za4em eto nuzno esli func vse ravno called tolko esli in game & connected // esli pereputal kakuu to 4ast koda s musorom to uvi 4elikam nuzno nau4itsya kodit.... // pastit gethades ksta kruto matrix3x4_t unk[128] = {}; void updateeeeee(int stage) { if (stage != 5) return; if (!local || !local->is_alive()) return; auto state = local->get_anim_state(); if (!state) return; auto sub_14020 = []() -> bool { static auto dword_97004 = 0; if ( dword_97004 == globals->m_tickcount ) return false; dword_97004 = globals->m_tickcount; return true; }; static auto abs_yaw = state->m_goal_feet_yaw; static std::array<float, 24> poses = {}; static std::array<c_animation_layer, 15> layers = {}; if (sub_14020()) { layers = local->get_anim_layers(); local->update_anim_state(state, cmd->m_viewangles); if (send_packet){ abs_yaw = state->m_goal_feet_yaw; poses = local->get_pose_params(); allow_bones = true; local->setup_bones(unk, 128, 0x0007FF00, 0); allow_bones = false; } } if (state->m_last_client_side_animation_update_framecount == globals->m_framecount) --state->m_last_client_side_animation_update_framecount; // 4ota kakoi prikol ne smeshnoi 4elik to no cap 2 raz obnovit ho4et local->update_client_side_animation(); // za4em 2 raz to call emae -_________- local->set_abs_angles(qangle_t(0.f, abs_yaw, 0.f)); local->set_anim_layers(layers); local->set_pose_params(poses); } bool __fastcall sub_29F80(i_client_renderable* ecx, void* edx, matrix3x4_t* bones, int max_bones, int mask, int time) { auto entity = ecx->get_client_unknown()->get_base_entity(); if (!entity || !entity->is_player()) return original(ecx, bones, max_bones, mask, time); if (time == 0.f) time = player->get_simulation_time(); if (entity != local) // 0___o return original(ecx, bones, max_bones, mask, time); if (!allow_bones) { if (bones) { auto origin = ecx->get_render_origin(); for (int i = 0; i < 128; i++ ) { unk[i][0][3] += origin.x; unk[i][1][3] += origin.y; unk[i][2][3] += origin.z; } bones->set(unk, 128); return true; } return original(ecx, bones, max_bones, mask, time); } *(int*)((uintptr_t)entity + 0xA68) = 0; *(int*)((uintptr_t)ecx + 0x269C) = 0; mask |= 0x200; static const auto ogo = cvar->find_var("r_jiggle_bones"); auto dword_1985D4 = ogo->get_int(); ogo->set_value(0); entity->get_effects() |= 8; *(int*)((uintptr_t)entity + 0xA68) = 0; static const auto force_bone = netvars::get_offset("DT_BaseAnimating", "m_nForceBone"); *(int*)((uintptr_t)entity + force_bone + 0x20) = 0; static const auto invalidate_bone_cache_fn = (void( __fastcall*)( void* ))(find_sig("client_panorama.dll", "80 3D ?? ?? ?? ?? ?? 74 16 A1 ?? ?? ?? ?? 48 C7 81")); invalidate_bone_cache_fn(entity); auto v10 = original(ecx, bones, max_bones, mask, time); entity->get_effects() &= ~8; ogo->set_value(dword_1985D4); return v10; }
блинб кажись продажи испортил.... извини....