- 1,296
- 1,179
Привет, достали люди, продающие дерьмо за 700 рублей в месяц с говно-триггерботом который стреляет через StartFire и StopFire (ha-ha-ha). Подгорело, пускай отдохнут)
use:
Удачи всем =)
C++:
typedef unsigned int EntityId;
C++:
class IActor
{
public:
EntityId GetTriggeredID()
{
DWORD64 offset_0 = *(DWORD64*)(DWORD64(this + 0x18));
if (!offset_0) return 0;
DWORD64 offset_1 = *(DWORD64*)(DWORD64(offset_0 + 0x60));
if (!offset_1) return 0;
DWORD64 offset_2 = *(DWORD64*)(DWORD64(offset_1 + 0x20));
if (!offset_2) return 0;
return *(EntityId*)(DWORD64(offset_2 + 0x170));
}
IItem* GetCurrentItem(bool includeVehicle = false)
{
return Function<IItem * (__thiscall*)(PVOID, bool)>(this, don`t paste)(this, includeVehicle); //Strings -> CurrentItemName
}
}
C++:
class IItem
{
public:
IWeapon* GetIWeapon()
{
// на югейме (не реклама) также можете найти как это найти там в теме где я ответил
return Function<IWeapon * (__thiscall*)(PVOID)>(this, don`t paste)(this);//OffHand (offset in return of last 'if' is GetIWeapon)
}
}
C++:
class IWeapon
{
public:
void StartFire() { return Function<void(__thiscall*)(PVOID)>(this, 11)(this); } //CScriptBind_Weapon::AutoShoot (first)
void StopFire() { return Function<void(__thiscall*)(PVOID)>(this, 12)(this); } //CScriptBind_Weapon::AutoShoot (second)
}
use:
C++:
if (auto mWeapon = m_pActor->GetCurrentItem()->GetIWeapon())
{
auto mTriggerId = m_pActor->GetTriggeredID();
if (mTriggerId && GetAsyncKeyState(VK_RBUTTON))
{
if (IActor * pActor = meFramework->GetIActorSystem()->GetActor(mTriggerId))
{
if (IsMyTeam(m_pActor, pActor)) { continue; }
// here
mWeapon->StartFire();
// and here
mWeapon->StopFire();
}
}
}
Удачи всем =)
Последнее редактирование: