- 123
- 19
- Версия MoonLoader
- .026-beta
Привет всем! В общем, у меня не большие знания C++. К чему же я это говорю? Я столкнулся с проблемой в чите "Silent Aimbot", который написан на Lua. В нем все работает так, что просто наноситься дамаг (
sampSendGiveDamage) игроку, конечно, сервер видит, будто вы реально попали по нему, но у меня же видно обратное: Я стреляю, попадаю в игрока, но моя пуля летит также, например, в стену. Соответственно, нет крови у игрока, трейсер летит хуй пойми куда, нет самого банального звука попадания. Взять этот же чит, который уже написан на C++, то там все иначе. Пуля действительно летит в игрока, кровь, звуки, станы, все это есть. И так, можете ли Вы мне помочь с написанием такого же аимбота, как на C++, только на луа?
Я же в своё время нашёл код, не знаю, соответствует ли он тому, что мне нужно, но он ниже.
sampSendGiveDamage) игроку, конечно, сервер видит, будто вы реально попали по нему, но у меня же видно обратное: Я стреляю, попадаю в игрока, но моя пуля летит также, например, в стену. Соответственно, нет крови у игрока, трейсер летит хуй пойми куда, нет самого банального звука попадания. Взять этот же чит, который уже написан на C++, то там все иначе. Пуля действительно летит в игрока, кровь, звуки, станы, все это есть. И так, можете ли Вы мне помочь с написанием такого же аимбота, как на C++, только на луа?
Я же в своё время нашёл код, не знаю, соответствует ли он тому, что мне нужно, но он ниже.
C++:
bool __stdcall CAimbot::hkFireInstantHit(void* this_, CEntity* pFiringEntity, CVector* pOrigin, CVector* pMuzzle, CEntity* pTargetEntity, CVector* pTarget, CVector* pVec, bool bCrossHairGun, bool bCreateGunFx)
{
if (pFiringEntity == (CEntity*)FindPlayerPed() && g_Config.g_Aimbot.bSilent && pAimbot->iTargetPlayer != -1 && g_Config.g_Aimbot.bAimbotEnabled[pSAMP->getPlayers()->pLocalPlayer->byteCurrentWeapon] && rand() % 100 <= g_Config.g_Aimbot.iAimbotConfig[pSAMP->getPlayers()->pLocalPlayer->byteCurrentWeapon][SILENT])
{
CPed* pPed = CPools::GetPed(pSAMP->getPlayers()->pRemotePlayer[pAimbot->iTargetPlayer]->pPlayerData->pSAMP_Actor->ulGTAEntityHandle);
if (pPed)
{
CVector vecCamera, vecOrigin, vecTarget;
Utils::getBonePosition(FindPlayerPed(), BONE_RIGHTWRIST, &vecOrigin);
TheCamera.Find3rdPersonCamTargetVector(100.f, vecOrigin, &vecCamera, &vecTarget);
if (pAimbot->bCrosshair)
pOrigin = &vecCamera;
CVector vecBone;
Utils::getBonePosition(pPed, (ePedBones)pAimbot->iTargetBone, &vecBone);
pTarget = &vecBone;
pSecure->memcpy_safe((void*)0x740B4E, g_Config.g_Aimbot.bLockThroughObjects || g_Config.g_Aimbot.bIgnoreEverything ? "\x6A\x00\x6A\x00" : "\x6A\x01\x6A\x01", 4);
pSecure->Write(0x8D6114, (float)(g_Config.g_Aimbot.fSilentAccuracy / 20.f));
}
}
else
{
Memory::memcpy_safe((void*)0x740B4E, "\x6A\x01\x6A\x01", 4);
*reinterpret_cast<float*>(0x8D6114) = 5.f;
}
return pAimbot->oFireInstantHit(this_, pFiringEntity, pOrigin, pMuzzle, pTargetEntity, pTarget, pVec, bCrossHairGun, bCreateGunFx);
}
bool __cdecl CAimbot::hkAddBullet(CEntity* pCreator, eWeaponType weaponType, CVector vecPosition, CVector vecVelocity)
{
if (pCreator == FindPlayerPed() && g_Config.g_Aimbot.bSilent && pAimbot->iTargetPlayer != -1 && g_Config.g_Aimbot.bAimbotEnabled[34] && rand() % 100 <= g_Config.g_Aimbot.iAimbotConfig[34][SILENT])
{
CPed* pPed = CPools::GetPed(pSAMP->getPlayers()->pRemotePlayer[pAimbot->iTargetPlayer]->pPlayerData->pSAMP_Actor->ulGTAEntityHandle);
if (pPed)
{
CVector vecBone;
Utils::getBonePosition(pPed, (ePedBones)pAimbot->iTargetBone, &vecBone);
vecVelocity = vecBone - vecPosition;
pSecure->memcpy_safe((void*)0x736212, g_Config.g_Aimbot.bLockThroughObjects || g_Config.g_Aimbot.bIgnoreEverything ? "\x6A\x00\x6A\x00" : "\x6A\x01\x6A\x01", 4);
}
}
else Memory::memcpy_safe((void*)0x736212, "\x6A\x01\x6A\x01", 4);
return pAimbot->oAddBullet(pCreator, weaponType, vecPosition, vecVelocity);
}