𝐈𝐎𝐒Morroco.Co v2 🇲🇦🇵🇸
Відкрити в Telegram
4 672
Підписники
Немає даних24 години
-197 днів
-7430 день
Триває завантаження даних...
Залучення підписників
серпень '26
серпень '26
+58
в 4 каналах
липень '26
+36
в 0 каналах
Get PRO
червень '26
+32
в 3 каналах
Get PRO
травень '26
+110
в 6 каналах
Get PRO
квітень '26
+371
в 11 каналах
Get PRO
березень '26
+383
в 17 каналах
Get PRO
лютий '26
+690
в 13 каналах
Get PRO
січень '26
+376
в 6 каналах
Get PRO
грудень '25
+165
в 11 каналах
Get PRO
листопад '25
+111
в 5 каналах
Get PRO
жовтень '25
+119
в 6 каналах
Get PRO
вересень '25
+220
в 10 каналах
Get PRO
серпень '25
+412
в 11 каналах
Get PRO
липень '25
+347
в 10 каналах
Get PRO
червень '25
+6 686
в 15 каналах
Get PRO
травень '250
в 10 каналах
Get PRO
квітень '25
+6
в 3 каналах
| Дата | Залучення підписників | Згадування | Канали | |
| 30 серпня | 0 | |||
| 29 серпня | +2 | |||
| 28 серпня | +4 | |||
| 27 серпня | +1 | |||
| 26 серпня | +1 | |||
| 25 серпня | +1 | |||
| 24 серпня | 0 | |||
| 23 серпня | +1 | |||
| 22 серпня | +1 | |||
| 21 серпня | +3 | |||
| 20 серпня | 0 | |||
| 19 серпня | +1 | |||
| 18 серпня | +2 | |||
| 17 серпня | 0 | |||
| 16 серпня | +1 | |||
| 15 серпня | +1 | |||
| 14 серпня | 0 | |||
| 13 серпня | +4 | |||
| 12 серпня | +11 | |||
| 11 серпня | 0 | |||
| 10 серпня | +3 | |||
| 09 серпня | +4 | |||
| 08 серпня | 0 | |||
| 07 серпня | 0 | |||
| 06 серпня | 0 | |||
| 05 серпня | +5 | |||
| 04 серпня | +4 | |||
| 03 серпня | +1 | |||
| 02 серпня | +3 | |||
| 01 серпня | +4 |
Дописи каналу
🚨 ATTENTION! 🚨
We are opening spots for Monite Migul free fire product resellers! 💰
📌 What you get:
✔ Access to an exclusive Panel
✔ A full management panel
✔ Support to start selling
💸 Minimum investment: 100 to start
⚠ Don’t apply if you don’t have the funds ready.
dms him
@vanhdzsss
Or
@Leminhanh2512
| 2 | Немає тексту... | 54 |
| 3 | Please share me crack sonic and lol for leak it 😔🤣 | 51 |
| 4 | You suck dick kabra or what? | 50 |
| 5 | and now you say “fluck is trash” | 55 |
| 6 | you dont remember the times when you suck my dick? hhhh | 52 |
| 7 | Немає тексту... | 59 |
| 8 | Fluck is trash guys | 60 |
| 9 | Mike please bypass hshshshsh | 60 |
| 10 | Немає тексту... | 69 |
| 11 | sticker.webp | 88 |
| 12 | Fluck External Antiblack/Antiban.
iOS 16-18.7.1 -26.0.1
ib @zexisyy | 106 |
| 13 | Magnet / Telekill 8m and Fly will be added to external soon. | 140 |
| 14 | IB external Fluck
- Aimbot
- Aimsilent
- ESP line/box/count
@zexisyy for API / Project details | 138 |
| 15 | aimkilltakeob54.h | 464 |
| 16 | domain_assembly_open = (void *(*)(void *, const char *))dlsym(h, "il2cpp_domain_assembly_open");
assembly_get_image = (void *(*)(void *))dlsym(h, "il2cpp_assembly_get_image");
domain_get_assemblies = (void *(*)(void *, size_t *))dlsym(h, "il2cpp_domain_get_assemblies");
break;
}
}
if (!object_new !class_from_name !domain_get || !assembly_get_image)
return nullptr;
void *domain = domain_get();
if (!domain) return nullptr;
auto tryImage = [&](void *image) -> void * {
if (!image) return nullptr;
void *klass = class_from_name(image, namesp, klassName);
if (!klass && namesp && namesp[0])
klass = class_from_name(image, "", klassName);
return klass ? object_new(klass) : nullptr;
};
if (domain_assembly_open) {
const char *asmNames[] = {"Assembly-CSharp", "Assembly-CSharp.dll", nullptr};
for (int i = 0; asmNames[i]; i++) {
void *assembly = domain_assembly_open(domain, asmNames[i]);
if (!assembly) continue;
void *obj = tryImage(assembly_get_image(assembly));
if (obj) return obj;
}
}
if (domain_get_assemblies) {
size_t n = 0;
void **asms = (void **)domain_get_assemblies(domain, &n);
for (size_t i = 0; asms && i < n; i++) {
if (!asms[i]) continue;
void *obj = tryImage(assembly_get_image(asms[i]));
if (obj) return obj;
}
}
return nullptr;
}
static void *AimkillVectorToNetPMF(const Vector3 &v) { Il2CppVec3HFA h = {v.x, v.y, v.z}; return ((void ()(Il2CppVec3HFA))getRealOffset(OFF_Vector3_ToNetPMF))(h); }
static void AimkillFillSendPacket(void *packet, void *local, void *target, const AimkillHitCtx &ctx) { if (!packet !local !target || !game_sdk) return;
uint32_t targetNetId = ctx.sendHitNetId ? ctx.sendHitNetId : AimkillSendHitNetId(target);
uint32_t localNetId = AimkillPlayerNetId(local);
void *weaponOnHand = ctx.weaponOnHand ? ctx.weaponOnHand : GetWeaponOnHand(local);
uint32_t weaponUniqueId = weaponOnHand
? *(uint32_t *)((uintptr_t)weaponOnHand + OFF_Weapon_UniqueID)
: 0;
int weaponDataID = ctx.weaponDataID > 0 ? ctx.weaponDataID : AimkillWeaponDataId(weaponOnHand);
int rawDmg = AimkillRawWeaponDamage(weaponOnHand);
if (rawDmg <= 0)
rawDmg = ctx.baseDamage;
if (rawDmg <= 0)
return;
if (rawDmg > 65535)
rawDmg = 65535;
int targetHp = game_sdk->GetHp(target);
if (targetHp < 0)
targetHp = 0;
void *simTimer = ((void *(*)())getRealOffset(OFF_CurrentGameSimulationTimer))();
uint32_t simTick = simTimer ? *(uint32_t *)((uintptr_t)simTimer + 0x20) : 0;
float realtime = ((float (*)())getRealOffset(OFF_Time_realtimeSinceStartup))();
*(uint32_t *)((uintptr_t)packet + 0x14) = targetNetId;
*(uint16_t *)((uintptr_t)packet + 0x18) = (uint16_t)(rawDmg & 0xFFFF);
*(uint16_t *)((uintptr_t)packet + 0x1A) = (uint16_t)(rawDmg & 0xFFFF);
*(uint32_t *)((uintptr_t)packet + 0x1C) = (uint32_t)targetHp;
*(uint32_t *)((uintptr_t)packet + 0x20) = localNetId;
*(int *)((uintptr_t)packet + 0x24) = weaponDataID;
*(uint32_t *)((uintptr_t)packet + 0x28) = weaponUniqueId;
*(uint8_t *)((uintptr_t)packet + 0x2C) = 1;
*(uint8_t *)((uintptr_t)packet + 0x2D) = 0;
*(uint8_t *)((uintptr_t)packet + 0x2E) = 0;
*(uint8_t *)((uintptr_t)packet + 0x2F) = 0;
*(uint32_t *)((uintptr_t)packet + 0x30) = simTick;
*(void **)((uintptr_t)packet + 0x38) = AimkillVectorToNetPMF(ctx.firePos);
*(void **)((uintptr_t)packet + 0x40) = AimkillVectorToNetPMF(ctx.hitPos);
*(void **)((uintptr_t)packet + 0x48) = ctx.checkParams;
*(uint64_t *)((uintptr_t)packet + 0x50) = 0x3f80000000000000ULL;
*(uint64_t *)((uintptr_t)packet + 0x58) = 0;
*(uint32_t *)((uintptr_t)packet + 0x60) = 0;
*(uint32_t *)((uintptr_t)packet + 0x64) = 0;
*(float *)((uintptr_t)packet + 0x70) = realtime;
*(uint8_t *)((uintptr_t)packet + 0x74) = 0;
}
static bool AimkillBuildCheckParams(void *local, void *target, AimkillHitCtx &ctx) { if (!local !target !ctx.weaponOnHand !ctx. | 2 |
| 17 | Vector3 toTgt = hp - cam;
float tl = sqrtf(toTgt.x * toTgt.x + toTgt.y * toTgt.y + toTgt.z * toTgt.z);
if (tl < 1e-3f)
return;
toTgt.x /= tl;
toTgt.y /= tl;
toTgt.z /= tl;
Vector3 nudged = hp + toTgt * (tl * 0.5f);
Transform_INTERNAL_SetPosition(ht, Vvector3(nudged.x, nudged.y, nudged.z));
}
static int AimkillBulkPassesForVis(int nVis) {
if (nVis <= 1)
return 2;
if (nVis >= 4)
return 7;
return 3;
}
static void AimkillBulkSwap(void *local, int bulkPasses) { if (!local || bulkPasses <= 0) return; if (bulkPasses > 7) bulkPasses = 7; void (*fn)(void *, int, bool, void ) = (void ()(void *, int, bool, void *))getRealOffset(OFF_SwapWeaponInt); for (int pass = 0; pass < bulkPasses; pass++) { for (int slot = 0; slot < 4; slot++) { if (fn) fn(local, slot, true, nullptr); else SwapWeapon(local, slot, true); } } for (int slot = 0; slot <= 2; slot++) { if (AimkillTryEquipGunSlot(local, slot)) break; } }
static void *AimkillPickClosest(void *local, void **visList, int nVis) { if (!localn pool;
}
staticnVis <= 0) return nullptr; Vector3 lp = getPosition(local); void *best = visList[0]; float bestD = 1e9f; for (int i = 0; i < nVis; i++) { void *e = visList[i]; if (!e) continue; float d = Vector3::Distance(lp, getPosition(e)); if (d < bestD) { bestD = d; best = e; } } return best; }
static bool AimkillStrikeEnemy(void *local, void *target) { if (!local || !target) return false;
void *weapon = GetWeaponOnHand(local);
void *pool = AimkillGetHitPool(local);
if (!weapon !pool !AimkillWeaponIsGun(weapon))
return false;
AimkillHitCtx ctx;
if (!AimkillPrepareHit(local, target, ctx))
return false;
return AimkillDeliverHit(local, target, ctx);
}
static void AimkillTick(void *match, void *local) { Dictionary<uint8_t *, void **> *players = *(Dictionary<uint8_t *, void **> **)((long)match + OFF_Match_Players); if (!players) return;
std::vector<void **> vals = players->getValues();
constexpr int kMaxSnap = 64;
void *visible[kMaxSnap];
int nVis = 0;
for (size_t i = 0; i < vals.size() && nVis < kMaxSnap; i++) {
void *enemy = vals[i];
if (!enemy)
continue;
if (!AimkillCanHitEnemy(enemy, local))
continue;
visible[nVis++] = enemy;
}
if (!nVis) {
g_AimkillLockTarget = nullptr;
return;
}
if (!AimkillWeaponIsGun(GetWeaponOnHand(local))) {
for (int slot = 0; slot < 3; slot++) {
if (AimkillTryEquipGunSlot(local, slot))
break;
}
}
void *weapon = GetWeaponOnHand(local);
if (!weapon || !AimkillWeaponIsGun(weapon))
return;
void *pool = AimkillGetHitPool(local);
if (!pool)
return;
void *aimTarget = AimkillPickClosest(local, visible, nVis);
if (aimTarget) {
AimkillSilentAimA(local, aimTarget);
AimkillSilentAimB(local, aimTarget);
g_AimkillLockTarget = aimTarget;
}
AimkillPrimeFramePool(local, weapon, pool);
void *firstHit = nullptr;
for (int i = 0; i < nVis; i++) {
void *enemy = visible[i];
if (!firstHit)
firstHit = enemy;
AimkillStrikeEnemy(local, enemy);
}
g_AimkillLockTarget = firstHit;
}
void Aimkill() {
if (!Vars.AimKill) {
AimkillSyncSendFlags(false);
g_AimkillLockTarget = nullptr;
return;
}
AimkillSyncSendFlags(true);
if (!Vars.Enable)
return;
g_TakeDamageHackLive = true;
if (!AimkillInGameReady())
return;
void *match = game_sdk->Curent_Match();
if (!match)
return;
void *local = GetLocalPlayer(match);
if (!local || !game_sdk->Component_GetTransform(local))
return;
AimkillTick(match, local);
} | 1 |
| 18 | struct AimkillHitCtx { void *weaponOnHand = nullptr; int weaponDataID = -1; int baseDamage = 0; Vector3 firePos{}; Vector3 hitPos{}; void *damageInfo = nullptr; monoList<float *> *checkParams = nullptr; COW_GamePlay_IHAAMHPPLMG_o playerID{}; uint32_t sendHitNetId = 0; uint32_t packetTargetId = 0; uint32_t targetNetId = 0; };
static void AimkillFillDamageInfo(void *damageInfo, const AimkillHitCtx &ctx) { if (!damageInfo) return;
*(int *)((char *)damageInfo + 0x10) = ctx.baseDamage;
*(int *)((char *)damageInfo + 0x14) = 1;
void *headStr = AimkillIl2CppStringNew("Head");
if (headStr)
*(void **)((char *)damageInfo + 0x18) = headStr;
*(uint8_t *)((char *)damageInfo + 0x20) = 0;
*(COW_GamePlay_IHAAMHPPLMG_o *)((char *)damageInfo + 0x28) = ctx.playerID;
*(void **)((char *)damageInfo + 0x40) = ctx.weaponOnHand;
*(int *)((char *)damageInfo + 0x48) = ctx.weaponDataID;
*(float *)((char *)damageInfo + 0x4C) = ctx.firePos.x;
*(float *)((char *)damageInfo + 0x50) = ctx.firePos.y;
*(float *)((char *)damageInfo + 0x54) = ctx.firePos.z;
*(float *)((char *)damageInfo + 0x58) = ctx.hitPos.x;
*(float *)((char *)damageInfo + 0x5C) = ctx.hitPos.y;
*(float *)((char *)damageInfo + 0x60) = ctx.hitPos.z;
*(float *)((char *)damageInfo + 0x64) = ctx.hitPos.x;
*(float *)((char *)damageInfo + 0x68) = ctx.hitPos.y;
*(float *)((char *)damageInfo + 0x6C) = ctx.hitPos.z;
*(uint16_t *)((char *)damageInfo + 0x70) = 0;
*(uint8_t *)((char *)damageInfo + 0x72) = 0;
}
static bool AimkillPrepareHit(void *local, void *target, AimkillHitCtx &ctx) { if (!local !target !game_sdk) return false;
ctx.weaponOnHand = GetWeaponOnHand(local);
if (!ctx.weaponOnHand) return false;
ctx.weaponDataID = AimkillWeaponDataId(ctx.weaponOnHand);
if (ctx.weaponDataID <= 0)
ctx.weaponDataID = GetWeapon(ctx.weaponOnHand);
int weaponDmg = AimkillRawWeaponDamage(ctx.weaponOnHand);
if (weaponDmg <= 0) return false;
ctx.baseDamage = weaponDmg;
if (ctx.weaponDataID <= 0) return false;
void *headCol = get_HeadCollider(target);
if (!headCol) return false;
if (!AimkillGetFireHitPos(local, target, &ctx.firePos, &ctx.hitPos)) return false;
void *objectPool = AimkillGetHitPool(local);
if (!objectPool) return false;
AimkillPrimeWeaponPool(local, ctx.weaponOnHand, objectPool);
ctx.playerID = *(PlayerID *)((uintptr_t)local + OFF_Player_PlayerID);
ctx.damageInfo = AimkillNewDamageInfo();
if (!ctx.damageInfo)
ctx.damageInfo = AimkillLiveDamageInfo(local);
if (!ctx.damageInfo)
ctx.damageInfo = AimkillGlobalDamageInfo();
if (!ctx.damageInfo) return false;
AimkillFillDamageInfo(ctx.damageInfo, ctx);
AimkillFillHitPool(objectPool, headCol, ctx.hitPos, ctx.firePos);
void *attackInstance = GKHECDLGAJA(local, objectPool);
if (!attackInstance) return false;
ctx.checkParams = LCLHHHKFCFP(ctx.weaponOnHand, attackInstance, headCol, false, ctx.damageInfo);
if (!ctx.checkParams) return false;
ctx.sendHitNetId = AimkillSendHitNetId(target);
ctx.packetTargetId = AimkillPacketTargetId(target);
ctx.targetNetId = ctx.sendHitNetId;
return ctx.sendHitNetId != 0;
}
static void *AimkillIl2CppObjectNew(const char *namesp, const char *klassName) { static void *(*object_new)(void *) = nullptr; static void *(*class_from_name)(void *, const char *, const char *) = nullptr; static void *(*domain_get)() = nullptr; static void *(*domain_assembly_open)(void *, const char *) = nullptr; static void *(*assembly_get_image)(void *) = nullptr; static void *(*domain_get_assemblies)(void *, size_t *) = nullptr;
if (!object_new) {
for (uint32_t i = 0; i < _dyld_image_count(); i++) {
const char *nm = _dyld_get_image_name(i);
if (!nm || !strstr(nm, "UnityFramework")) continue;
void *h = dlopen(nm, RTLD_NOLOAD);
if (!h) h = dlopen(nm, RTLD_NOW);
if (!h) break;
object_new = (void *(*)(void *))dlsym(h, "il2cpp_object_new");
class_from_name = (void *(*)(void *, const char *, const char *))dlsym(h, "il2cpp_class_from_name");
domain_get = (void *(*)())dlsym(h, "il2cpp_domain_get"); | 1 |
| 19 | damageInfo) return false; void *pool = AimkillGetHitPool(local); void *headCol = get_HeadCollider(target); if (!pool !headCol) return false; AimkillFillHitPool(pool, headCol, ctx.hitPos, ctx.firePos); AimkillWeaponPrimePoolKO(ctx.weaponOnHand, pool); void *attackInstance = GKHECDLGAJA(local, pool); if (!attackInstance) return false; ctx.checkParams = LCLHHHKFCFP(ctx.weaponOnHand, attackInstance, headCol, false, ctx.damageInfo); return ctx.checkParams != nullptr; }
static bool AimkillDeliverTakeDamagePath(void *local, void *target, AimkillHitCtx &ctx) { void *weapon = ctx.weaponOnHand ? ctx.weaponOnHand : GetWeaponOnHand(local); if (!weapon || !ctx.sendHitNetId) return false;
void *damageInfo = AimkillNewDamageInfo();
if (!damageInfo)
return false;
int weaponDmg = AimkillRawWeaponDamage(weapon);
if (weaponDmg <= 0)
return false;
COW_GamePlay_IHAAMHPPLMG_o damager = *(COW_GamePlay_IHAAMHPPLMG_o *)((uintptr_t)local + OFF_Player_PlayerID);
ctx.baseDamage = weaponDmg;
ctx.playerID = damager;
ctx.damageInfo = damageInfo;
AimkillFillDamageInfo(ctx.damageInfo, ctx);
if (!AimkillBuildCheckParams(local, target, ctx))
return false;
StartFiring(local, weapon);
((void (*)(void *, monoList<float *> *, uint32_t))getRealOffset(OFF_SendHit))(
weapon, ctx.checkParams, ctx.sendHitNetId);
Player_TakeDamage(target, ctx.baseDamage, damager, ctx.damageInfo, ctx.weaponDataID,
ctx.firePos, ctx.hitPos, ctx.checkParams, nullptr, 0);
AimkillStopFire(local, weapon);
AimkillSynsSwapWeapon(local);
return true;
}
static bool AimkillDeliverSendPath(void *local, void *target, AimkillHitCtx &ctx) { void *weapon = ctx.weaponOnHand ? ctx.weaponOnHand : GetWeaponOnHand(local); if (!weapon || !ctx.sendHitNetId) return false;
void *damageInfo = AimkillNewDamageInfo();
if (!damageInfo)
return false;
int weaponDmg = AimkillRawWeaponDamage(weapon);
if (weaponDmg <= 0)
return false;
ctx.baseDamage = weaponDmg;
ctx.playerID = *(COW_GamePlay_IHAAMHPPLMG_o *)((uintptr_t)local + OFF_Player_PlayerID);
ctx.damageInfo = damageInfo;
AimkillFillDamageInfo(ctx.damageInfo, ctx);
void *packet = AimkillNewTakeDamagePacket(local);
if (!packet)
return false;
if (!AimkillBuildCheckParams(local, target, ctx))
return false;
AimkillFillSendPacket(packet, local, target, ctx);
StartFiring(local, weapon);
((void (*)(void *, monoList<float *> *, uint32_t))getRealOffset(OFF_SendHit))(
weapon, ctx.checkParams, ctx.sendHitNetId);
((void (*)(uint32_t, void *, uint8_t, bool))getRealOffset(OFF_GameFacade_Send))(
(uint32_t)RUDP_TAKE_DAMAGE, packet, 2, false);
AimkillStopFire(local, weapon);
AimkillSynsSwapWeapon(local);
return true;
}
static bool AimkillDeliverHit(void *local, void *target, AimkillHitCtx &ctx) { bool ok = false; if (AimkillPrepLosClear(target)) ok = AimkillDeliverTakeDamagePath(local, target, ctx) ok; if (aimkillsSend && AimkillPrepLosClear(target)) ok = AimkillDeliverSendPath(local, target, ctx) ok; return ok; }
static void AimkillSilentAimA(void *local, void *target) { if (!local !target !game_sdk) return;
void *ht = GetHeadTF(target);
if (!ht)
return;
Vector3 head = game_sdk->get_position(ht);
Vector3 cam = AimkillLockCameraOrigin(local);
if (cam.x == 0 && cam.y == 0 && cam.z == 0)
cam = getPosition(local);
Vector3 dir = head - cam;
float dist = sqrtf(dir.x * dir.x + dir.y * dir.y + dir.z * dir.z);
if (dist <= 0.5f)
return;
Quaternion look = GetRotationToTheLocation(head, 0.0f, cam);
Player_SetAimRotation(local, look, true);
float step = dist > 10.f ? 10.f : dist;
float scale = step / dist;
Il2CppVec3HFA aimDir = {dir.x * scale, dir.y * scale, dir.z * scale};
typedef Il2CppVec3HFA (*MLIKKFn)(void *, Il2CppVec3HFA, int, float);
MLIKKFn mlikk = (MLIKKFn)getRealOffset(OFF_Player_MLIKKCIHJEC);
if (mlikk)
mlikk(local, aimDir, 0, 0.f);
}
static void AimkillSilentAimB(void *local, void *primary) { if (!localvoid **)((uintpt!game_sdk) return;
Vector3 cam = AimkillLockCameraOrigin(local);
void *ht = GetHeadTF(primary);
if (!ht)
return;
Vector3 hp = game_sdk->get_position(ht); | 1 |
| 20 | static void *AimkillNewDamageInfo() { void *info = AimkillIl2CppObjectNew("COW.GamePlay", "GLLLEDKLLDA"); if (!info) info = calloc(1, 0x90); return info; }
static void AimkillPrimeWeaponPool(void *local, void *weapon, void pool) { if (!local !weapon !pool) return; ((bool ()(void *, void *))getRealOffset(OFF_Weapon_ApplyHitInfo))(weapon, pool); }
static void AimkillPrimeFramePool(void *local, void *weapon, void pool) { if (!local !weapon !pool) return; ((bool ()(void *, void *))getRealOffset(OFF_Weapon_ApplyHitInfo))(weapon, pool); ((void ()(void *))getRealOffset(OFF_get_LastAimingInfoFromWeapon))(local); void *(*makePacket)(void *) = (void ()(void *))getRealOffset(OFF_AttackableEntity_MNLNIMBDCNP); if (makePacket) makePacket(local); }
static uint32_t AimkillPlayerNetId(void *player) { if (!player) return 0;
COW_GamePlay_IHAAMHPPLMG_o *pid =
(COW_GamePlay_IHAAMHPPLMG_o *)((uintptr_t)player + OFF_Player_PlayerID);
if (!pid) return 0;
uint32_t id = ((uint32_t (*)(COW_GamePlay_IHAAMHPPLMG_o *))getRealOffset(OFF_PlayerID_ToNetId))(pid);
if (!id)
id = pid->PAOLNBLAPJH;
if (!id)
id = pid->BLDIFPJGDCI;
return id;
}
static uint32_t AimkillSendHitNetId(void *target) { return AimkillPlayerNetId(target); }
static uint32_t AimkillPacketTargetId(void target) { if (!target) return 0; uint32_t id = ((uint32_t ()(void *))getRealOffset(OFF_GetAttackableID))(target); if (id) return id; return AimkillSendHitNetId(target); }
static int AimkillLethalDamage(void *target, int weaponDamage) {
if (!target || !game_sdk) return weaponDamage > 0 ? weaponDamage : 200;
int hp = game_sdk->GetHp(target);
int maxHp = game_sdk->get_MaxHP(target);
int killDmg = hp;
if (maxHp > killDmg)
killDmg = maxHp;
if (killDmg <= 0)
killDmg = weaponDamage;
if (killDmg <= 0)
killDmg = 200;
return killDmg;
}
static void *AimkillLiveDamageInfo(void *local) { if (!local) return nullptr; void *attrs = *(void **)((uintptr_t)local + OFF_Player_Attributes); if (!attrs) return nullptr; void *calc = *(void **)((uintptr_t)attrs + OFF_PlayerAttributes_DamageCalc); if (!calc) return nullptr; return *(void **)((uintptr_t)calc + OFF_DamageCalc_DamageInfo); }
static void AimkillSynsSwapWeapon(void *local) { if (!local) return;
void *weapon = GetWeaponOnHand(local);
if (!weapon) return;
uint32_t uniqueId = *(uint32_t *)((uintptr_t)weapon + OFF_Weapon_UniqueID);
uint32_t localNetId = AimkillPlayerNetId(local);
if (!localNetId) return;
void *packet = AimkillIl2CppObjectNew("message", "JDIHDLDIMCK");
if (packet) {
*(uint32_t *)((uintptr_t)packet + 0x14) = localNetId;
*(uint32_t *)((uintptr_t)packet + 0x18) = uniqueId;
((void (*)(uint32_t, void *, uint8_t, bool))getRealOffset(OFF_GameFacade_Send))(
(uint32_t)RUDP_CHANGE_INVENTORY_ON_HAND, packet, 2, false);
return;
}
void *invMgr = ((void *(*)(void *))getRealOffset(OFF_GetInventoryManager))(local);
if (invMgr) {
bool (*syncChange)(void *, uint32_t, uint32_t) =
(bool (*)(void *, uint32_t, uint32_t))getRealOffset(OFF_SyncChangeWeapon);
if (syncChange && syncChange(invMgr, localNetId, uniqueId))
return;
}
static uint8_t slotFlip = 0;
slotFlip ^= 1;
SwapWeapon(local, (int)slotFlip, true);
}
static bool AimkillTryEquipGunSlot(void *local, int slot) { if (!local slot < 0 slot > 2) return false; SwapWeapon(local, slot, true); return AimkillWeaponIsGun(GetWeaponOnHand(local)); }
static void AimkillDoFrameSwap(void *local) { if (!local) return; static bool seeded = false; if (!seeded) { srand((unsigned)time(nullptr)); seeded = true; }
int first = rand() % 3;
if (AimkillTryEquipGunSlot(local, first)) {
AimkillSynsSwapWeapon(local);
return;
}
for (int slot = 0; slot < 3; slot++) {
if (slot == first) continue;
if (AimkillTryEquipGunSlot(local, slot)) {
AimkillSynsSwapWeapon(local);
return;
}
}
} | 1 |
