SAMOWARE-PROJECT
-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Крч спастил пресерв киллфид из пандоры в веаве,всё бы ничего,но когда вкл чекбокс , то киллфид пропадает вовсе,если я его оффну,то всё вернётся на круги своя,но будет пропадать)
Перепробовал уже множество киллфидов,и все говно,буду очень признателен вам за код
namespace
Паттерны
Перепробовал уже множество киллфидов,и все говно,буду очень признателен вам за код
C++:
void KillFeed() {
static bool clear_notices = false;
static bool old_setting = vars.misc.killfeed;
if (!interfaces.engine->IsInGame() || !csgo->local)
return;
if (!csgo->local) {
// invalidate the clear death notice address if local goes invalid.
if (F::ZClearDeathNotices) {
F::ZClearDeathNotices = nullptr;
}
// invalidate the death notice address if local goes invalid.
if (F::deathNotice) {
F::deathNotice = nullptr;
}
// that's it, exit out.
return;
}
// only do the following if local is alive.
if (csgo->local->isAlive()) {
// get the death notice addr.
if (!F::deathNotice) {
F::deathNotice = FindHudElement<DWORD>("CCSGO_HudDeathNotice");
}
// get the clear death notice addr.
if (!F::ZClearDeathNotices) {
F::ZClearDeathNotices = (void(__thiscall*)(DWORD))csgo->Utils.FindPatternIDA(GetModuleHandleA(hs::client_dll::s().c_str()),
hs::death_notice::s().c_str());
}
// only do the following if both addresses were found and are valid.
if (F::ZClearDeathNotices && F::deathNotice) {
// grab the local death notice time.
float* local_death_notice_time = (float*)((DWORD)F::deathNotice + 0x50);
static float backup_local_death_notice_time = *local_death_notice_time;
// extend killfeed time.
if (csgo->round == true) {
if (local_death_notice_time && vars.misc.killfeed) {
*local_death_notice_time = vars.misc.preserve ? FLT_MAX : 1.5f;
}
}
// if we disable the option, clear the death notices.
if (old_setting != vars.misc.killfeed) {
if (!vars.misc.killfeed) {
if (local_death_notice_time) {
// reset back to the regular death notice time.
*local_death_notice_time = backup_local_death_notice_time;
}
clear_notices = true;
}
old_setting = vars.misc.killfeed;
}
// if we have the option enabled and we need to clear the death notices.
if (vars.misc.killfeed) {
if (csgo->round == false && F::deathNotice - 0x14) {
clear_notices = true;
}
}
// clear the death notices.
if (clear_notices) {
F::ZClearDeathNotices(((uintptr_t)F::deathNotice - 0x14));
clear_notices = false;
}
}
}
else {
// invalidate clear death notice address.
if (F::ZClearDeathNotices) {
F::ZClearDeathNotices = nullptr;
}
// invalidate death notice address.
if (F::deathNotice) {
F::deathNotice = nullptr;
}
}
}
C++:
namespace F
{
DWORD* deathNotice;
void(__thiscall* ZClearDeathNotices)(DWORD);
}
C++:
_(p_this, "B9 ? ? ? ? E8 ? ? ? ? 8B 5D 08"); // effects
_(hud, "55 8B EC 53 8B 5D 08 56 57 8B F9 33 F6 39"); // hud
_(death_notice, "55 8B EC 83 EC 0C 53 56 8B 71 58");