internal static void Postfix(byte __state, InteractableSentry __instance) { if (__state != default(byte)) { __instance.displayItem.state[AMMO_INDEX] = __state; } }
private void ApplyComponents() { if (Configuration.Instance.allSentriesInfinite) { return; } foreach (BarricadeRegion r in BarricadeManager.regions) { for (int i = r.drops.Count - 1; i >= 0; i--) { BarricadeDrop drop = r.drops[i]; InteractableSentry s = drop.interactable as InteractableSentry; if (s == null) { continue; } // Consider using reverse for loop here. SentryTrackerComponent can modify collection // Using foreach will cause an exception to be thrown if/when this happens foreach (SentryPosition pos in Configuration.Instance.sentries) { if (pos.CompareVector3(s.transform.position)) { s.gameObject.AddComponent <SentryTrackerComponent>(); } } } } }
internal static void Prefix(ref byte __state, InteractableSentry __instance) { SentryTrackerComponent s = __instance.gameObject.GetComponent <SentryTrackerComponent>(); if (s == null && !InfiniteSentry.Instance.Configuration.Instance.allSentriesInfinite) { return; } Item disp = __instance.displayItem; bool wep = HasWeapon(__instance); if (disp != null && wep) { __state = disp.state[AMMO_INDEX]; } }
// Token: 0x06000187 RID: 391 RVA: 0x00002B7C File Offset: 0x00000D7C public static IEnumerator UpdateObjectList() { for (;;) { bool flag = !DrawUtilities.ShouldRun(); bool flag5 = flag; if (flag5) { yield return(new WaitForSeconds(2f)); } else { List <ESPObject> objects = ESPVariables.Objects; objects.Clear(); List <ESPTarget> targets = (from k in ESPOptions.PriorityTable.Keys orderby ESPOptions.PriorityTable[k] descending select k).ToList <ESPTarget>(); int num; for (int i = 0; i < targets.Count; i = num + 1) { ESPTarget target = targets[i]; ESPVisual vis = ESPOptions.VisualOptions[(int)target]; bool flag2 = !vis.Enabled; bool flag6 = !flag2; if (flag6) { Vector3 pPos = OptimizationVariables.MainPlayer.transform.position; switch (target) { case ESPTarget.Игроки: { SteamPlayer[] objarray = (from p in Provider.clients orderby VectorUtilities.GetDistance(pPos, p.player.transform.position) descending select p).ToArray <SteamPlayer>(); bool useObjectCap = vis.UseObjectCap; bool flag7 = useObjectCap; if (flag7) { objarray = objarray.TakeLast(vis.ObjectCap).ToArray <SteamPlayer>(); } for (int j = 0; j < objarray.Length; j = num + 1) { SteamPlayer sPlayer = objarray[j]; Player plr = sPlayer.player; bool flag3 = plr.life.isDead || plr == OptimizationVariables.MainPlayer; bool flag8 = !flag3; if (flag8) { objects.Add(new ESPObject(target, plr, plr.gameObject)); sPlayer = null; plr = null; } num = j; sPlayer = null; plr = null; } break; } case ESPTarget.Зомби: { Zombie[] objarr = (from obj in ZombieManager.regions.SelectMany((ZombieRegion r) => r.zombies) orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <Zombie>(); bool useObjectCap2 = vis.UseObjectCap; bool flag9 = useObjectCap2; if (flag9) { objarr = objarr.TakeLast(vis.ObjectCap).ToArray <Zombie>(); } for (int k2 = 0; k2 < objarr.Length; k2 = num + 1) { Zombie obj9 = objarr[k2]; objects.Add(new ESPObject(target, obj9, obj9.gameObject)); obj9 = null; num = k2; obj9 = null; } break; } case ESPTarget.Предметы: { InteractableItem[] objarr2 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableItem>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableItem>(); bool useObjectCap3 = vis.UseObjectCap; bool flag10 = useObjectCap3; if (flag10) { objarr2 = objarr2.TakeLast(vis.ObjectCap).ToArray <InteractableItem>(); } for (int l = 0; l < objarr2.Length; l = num + 1) { InteractableItem obj10 = objarr2[l]; bool flag4 = ItemUtilities.Whitelisted(obj10.asset, ItemOptions.ItemESPOptions) || !ESPOptions.FilterItems; bool flag11 = flag4; if (flag11) { objects.Add(new ESPObject(target, obj10, obj10.gameObject)); } obj10 = null; num = l; obj10 = null; } break; } case ESPTarget.Турели: { InteractableSentry[] objarr3 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableSentry>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableSentry>(); bool useObjectCap4 = vis.UseObjectCap; bool flag12 = useObjectCap4; if (flag12) { objarr3 = objarr3.TakeLast(vis.ObjectCap).ToArray <InteractableSentry>(); } for (int m = 0; m < objarr3.Length; m = num + 1) { InteractableSentry obj11 = objarr3[m]; objects.Add(new ESPObject(target, obj11, obj11.gameObject)); obj11 = null; num = m; obj11 = null; } break; } case ESPTarget.Кровати: { InteractableBed[] objarr4 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableBed>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableBed>(); bool useObjectCap5 = vis.UseObjectCap; bool flag13 = useObjectCap5; if (flag13) { objarr4 = objarr4.TakeLast(vis.ObjectCap).ToArray <InteractableBed>(); } for (int n = 0; n < objarr4.Length; n = num + 1) { InteractableBed obj12 = objarr4[n]; objects.Add(new ESPObject(target, obj12, obj12.gameObject)); obj12 = null; num = n; obj12 = null; } break; } case ESPTarget.КлеймФлаги: { InteractableClaim[] objarr5 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableClaim>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableClaim>(); bool useObjectCap6 = vis.UseObjectCap; bool flag14 = useObjectCap6; if (flag14) { objarr5 = objarr5.TakeLast(vis.ObjectCap).ToArray <InteractableClaim>(); } for (int j2 = 0; j2 < objarr5.Length; j2 = num + 1) { InteractableClaim obj13 = objarr5[j2]; objects.Add(new ESPObject(target, obj13, obj13.gameObject)); obj13 = null; num = j2; obj13 = null; } break; } case ESPTarget.Транспорт: { InteractableVehicle[] objarr6 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableVehicle>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableVehicle>(); bool useObjectCap7 = vis.UseObjectCap; bool flag15 = useObjectCap7; if (flag15) { objarr6 = objarr6.TakeLast(vis.ObjectCap).ToArray <InteractableVehicle>(); } for (int j3 = 0; j3 < objarr6.Length; j3 = num + 1) { InteractableVehicle obj14 = objarr6[j3]; bool isDead = obj14.isDead; bool flag16 = !isDead; if (flag16) { objects.Add(new ESPObject(target, obj14, obj14.gameObject)); obj14 = null; } num = j3; obj14 = null; } break; } case ESPTarget.Ящики: { InteractableStorage[] objarr7 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableStorage>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableStorage>(); bool useObjectCap8 = vis.UseObjectCap; bool flag17 = useObjectCap8; if (flag17) { objarr7 = objarr7.TakeLast(vis.ObjectCap).ToArray <InteractableStorage>(); } for (int j4 = 0; j4 < objarr7.Length; j4 = num + 1) { InteractableStorage obj15 = objarr7[j4]; objects.Add(new ESPObject(target, obj15, obj15.gameObject)); obj15 = null; num = j4; obj15 = null; } break; } case ESPTarget.Генераторы: { InteractableGenerator[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableGenerator>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableGenerator>(); bool useObjectCap9 = vis.UseObjectCap; bool flag18 = useObjectCap9; if (flag18) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <InteractableGenerator>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { InteractableGenerator obj16 = objarr8[j5]; objects.Add(new ESPObject(target, obj16, obj16.gameObject)); obj16 = null; num = j5; obj16 = null; } break; } case ESPTarget.Животные: { Animal[] objarr9 = (from obj in UnityEngine.Object.FindObjectsOfType <Animal>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <Animal>(); bool useObjectCap10 = vis.UseObjectCap; bool flag19 = useObjectCap10; if (flag19) { objarr9 = objarr9.TakeLast(vis.ObjectCap).ToArray <Animal>(); } for (int j6 = 0; j6 < objarr9.Length; j6 = num + 1) { Animal obj17 = objarr9[j6]; objects.Add(new ESPObject(target, obj17, obj17.gameObject)); obj17 = null; num = j6; obj17 = null; } break; } case ESPTarget.Ловшуки: { InteractableTrap[] objarr10 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableTrap>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableTrap>(); bool useObjectCap11 = vis.UseObjectCap; bool flag20 = useObjectCap11; if (flag20) { objarr10 = objarr10.TakeLast(vis.ObjectCap).ToArray <InteractableTrap>(); } for (int j7 = 0; j7 < objarr10.Length; j7 = num + 1) { InteractableTrap obj18 = objarr10[j7]; objects.Add(new ESPObject(target, obj18, obj18.gameObject)); obj18 = null; num = j7; obj18 = null; } break; } case ESPTarget.Аирдропы: { Carepackage[] objarr11 = (from obj in UnityEngine.Object.FindObjectsOfType <Carepackage>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <Carepackage>(); bool useObjectCap12 = vis.UseObjectCap; bool flag21 = useObjectCap12; if (flag21) { objarr11 = objarr11.TakeLast(vis.ObjectCap).ToArray <Carepackage>(); } for (int j8 = 0; j8 < objarr11.Length; j8 = num + 1) { Carepackage obj19 = objarr11[j8]; objects.Add(new ESPObject(target, obj19, obj19.gameObject)); obj19 = null; num = j8; obj19 = null; } break; } case ESPTarget.Двери: { InteractableDoorHinge[] objarr12 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableDoorHinge>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableDoorHinge>(); bool useObjectCap13 = vis.UseObjectCap; bool flag22 = useObjectCap13; if (flag22) { objarr12 = objarr12.TakeLast(vis.ObjectCap).ToArray <InteractableDoorHinge>(); } for (int j9 = 0; j9 < objarr12.Length; j9 = num + 1) { InteractableDoorHinge obj20 = objarr12[j9]; objects.Add(new ESPObject(target, obj20, obj20.gameObject)); obj20 = null; num = j9; obj20 = null; } break; } case ESPTarget.Ягоды: { InteractableForage[] objarr13 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableForage>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableForage>(); bool useObjectCap14 = vis.UseObjectCap; bool flag23 = useObjectCap14; if (flag23) { objarr13 = objarr13.TakeLast(vis.ObjectCap).ToArray <InteractableForage>(); } for (int j10 = 0; j10 < objarr13.Length; j10 = num + 1) { InteractableForage obj21 = objarr13[j10]; objects.Add(new ESPObject(target, obj21, obj21.gameObject)); obj21 = null; num = j10; obj21 = null; } break; } case ESPTarget.астения: { InteractableFarm[] objarr14 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableFarm>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableFarm>(); bool useObjectCap15 = vis.UseObjectCap; bool flag24 = useObjectCap15; if (flag24) { objarr14 = objarr14.TakeLast(vis.ObjectCap).ToArray <InteractableFarm>(); } for (int j11 = 0; j11 < objarr14.Length; j11 = num + 1) { InteractableFarm obj22 = objarr14[j11]; objects.Add(new ESPObject(target, obj22, obj22.gameObject)); obj22 = null; num = j11; obj22 = null; } break; } case ESPTarget.C4: { InteractableCharge[] objarr15 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableCharge>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableCharge>(); bool useObjectCap16 = vis.UseObjectCap; bool flag25 = useObjectCap16; if (flag25) { objarr15 = objarr15.TakeLast(vis.ObjectCap).ToArray <InteractableCharge>(); } for (int j12 = 0; j12 < objarr15.Length; j12 = num + 1) { InteractableCharge obj23 = objarr15[j12]; objects.Add(new ESPObject(target, obj23, obj23.gameObject)); obj23 = null; num = j12; obj23 = null; } break; } case ESPTarget.Fire: { InteractableFire[] objarr16 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableFire>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableFire>(); bool useObjectCap17 = vis.UseObjectCap; bool flag26 = useObjectCap17; if (flag26) { objarr16 = objarr16.TakeLast(vis.ObjectCap).ToArray <InteractableFire>(); } for (int j13 = 0; j13 < objarr16.Length; j13 = num + 1) { InteractableFire obj24 = objarr16[j13]; objects.Add(new ESPObject(target, obj24, obj24.gameObject)); obj24 = null; num = j13; obj24 = null; } break; } case ESPTarget.Лампы: { InteractableSpot[] objarr17 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableSpot>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableSpot>(); bool useObjectCap18 = vis.UseObjectCap; bool flag27 = useObjectCap18; if (flag27) { objarr17 = objarr17.TakeLast(vis.ObjectCap).ToArray <InteractableSpot>(); } for (int j14 = 0; j14 < objarr17.Length; j14 = num + 1) { InteractableSpot obj25 = objarr17[j14]; objects.Add(new ESPObject(target, obj25, obj25.gameObject)); obj25 = null; num = j14; obj25 = null; } break; } case ESPTarget.Топливо: { InteractableObjectResource[] objarr18 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableObjectResource>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableObjectResource>(); bool useObjectCap19 = vis.UseObjectCap; bool flag28 = useObjectCap19; if (flag28) { objarr18 = objarr18.TakeLast(vis.ObjectCap).ToArray <InteractableObjectResource>(); } for (int j15 = 0; j15 < objarr18.Length; j15 = num + 1) { InteractableObjectResource obj26 = objarr18[j15]; objects.Add(new ESPObject(target, obj26, obj26.gameObject)); obj26 = null; num = j15; obj26 = null; } break; } case ESPTarget.Генератор_безопасной_зоны: { InteractableSafezone[] objarr19 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableSafezone>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableSafezone>(); bool useObjectCap20 = vis.UseObjectCap; bool flag29 = useObjectCap20; if (flag29) { objarr19 = objarr19.TakeLast(vis.ObjectCap).ToArray <InteractableSafezone>(); } for (int j16 = 0; j16 < objarr19.Length; j16 = num + 1) { InteractableSafezone obj27 = objarr19[j16]; objects.Add(new ESPObject(target, obj27, obj27.gameObject)); obj27 = null; num = j16; obj27 = null; } break; } case ESPTarget.Генератор_Воздуха: { InteractableOxygenator[] objarr20 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableOxygenator>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableOxygenator>(); bool useObjectCap21 = vis.UseObjectCap; bool flag30 = useObjectCap21; if (flag30) { objarr20 = objarr20.TakeLast(vis.ObjectCap).ToArray <InteractableOxygenator>(); } for (int j17 = 0; j17 < objarr20.Length; j17 = num + 1) { InteractableOxygenator obj28 = objarr20[j17]; objects.Add(new ESPObject(target, obj28, obj28.gameObject)); obj28 = null; num = j17; obj28 = null; } break; } } } num = i; vis = null; } yield return(new WaitForSeconds(5f)); objects = null; targets = null; objects = null; targets = null; } } yield break; }
public static bool Prefix(InteractableSentry __instance) { RocketPlayer ownerPlayer = new RocketPlayer(__instance.owner.ToString()); bool hasWeapon = (bool)hasWeaponField.GetValue(__instance); bool isFiring = (bool)isFiringField.GetValue(__instance); bool isAiming = (bool)isAimingField.GetValue(__instance); float lastScan = (float)lastScanField.GetValue(__instance); float lastFire = (float)lastFireField.GetValue(__instance); float fireTime = (float)fireTimeField.GetValue(__instance); float lastAim = (float)lastAimField.GetValue(__instance); ItemWeaponAsset displayAsset = displayAssetField.GetValue(__instance) as ItemWeaponAsset; Attachments attachments = attachmentsField.GetValue(__instance) as Attachments; bool interact = (bool)interactField.GetValue(__instance); var playersInRadius = (List <Player>)playersInRadiusField.GetValue(null); var zombiesInRadius = (List <Zombie>)zombiesInRadiusField.GetValue(null); var animalsInRadius = (List <Animal>)animalsInRadiusField.GetValue(null); var targetPlayer = targetPlayerField.GetValue(__instance) as Player; var targetZombie = targetZombieField.GetValue(__instance) as Zombie; var targetAnimal = targetAnimalField.GetValue(__instance) as Animal; var aimTransform = aimTransformField.GetValue(__instance) as Transform; if (__instance.isPowered) { Vector3 vector3_1 = __instance.transform.position + new Vector3(0.0f, 0.65f, 0.0f); Vector3 vector3_2; if ((double)Time.realtimeSinceStartup - (double)lastScan > 0.100000001490116) { lastScanField.SetValue(__instance, Time.realtimeSinceStartup); float a = 48f; if (hasWeapon) { a = Mathf.Min(a, ((ItemWeaponAsset)displayAsset).range); } float sqrRadius = a * a; float num = sqrRadius; Player player = (Player)null; Zombie zombie = (Zombie)null; Animal animal = (Animal)null; if (Provider.isPvP) { playersInRadius.Clear(); PlayerTool.getPlayersInRadius(vector3_1, sqrRadius, playersInRadius); for (int index = 0; index < playersInRadius.Count; ++index) { Player playersInRadiu = playersInRadius[index]; var currentRocketPlayer = new RocketPlayer(playersInRadiu.channel.owner.playerID.steamID.ToString()); if (currentRocketPlayer.HasPermission(GodPermission)) { continue; } if (!(playersInRadiu.channel.owner.playerID.steamID == __instance.owner) && !playersInRadiu.quests.isMemberOfGroup(__instance.group) && (!playersInRadiu.life.isDead && playersInRadiu.animator.gesture != EPlayerGesture.ARREST_START) && ((!playersInRadiu.movement.isSafe || !playersInRadiu.movement.isSafeInfo.noWeapons) && playersInRadiu.movement.canAddSimulationResultsToUpdates) && (!((UnityEngine.Object)player != (UnityEngine.Object)null) || playersInRadiu.animator.gesture != EPlayerGesture.SURRENDER_START) && (__instance.sentryMode != ESentryMode.FRIENDLY || (double)Time.realtimeSinceStartup - (double)playersInRadiu.equipment.lastPunching < 2.0 || playersInRadiu.equipment.isSelected && playersInRadiu.equipment.asset != null && playersInRadiu.equipment.asset.shouldFriendlySentryTargetUser)) { vector3_2 = playersInRadiu.look.aim.position - vector3_1; float sqrMagnitude = vector3_2.sqrMagnitude; if ((double)sqrMagnitude <= (double)num) { Vector3 vector3_3 = playersInRadiu.look.aim.position - vector3_1; float magnitude = vector3_3.magnitude; Vector3 vector3_4 = vector3_3 / magnitude; if (!((UnityEngine.Object)playersInRadiu != (UnityEngine.Object)targetPlayer) || (double)Vector3.Dot(vector3_4, aimTransform.forward) >= 0.5) { if ((double)magnitude > 0.025000000372529) { RaycastHit hit; PhysicsUtility.raycast(new Ray(vector3_1, vector3_4), out hit, magnitude - 0.025f, RayMasks.BLOCK_SENTRY, QueryTriggerInteraction.UseGlobal); if (!((UnityEngine.Object)hit.transform != (UnityEngine.Object)null) || !((UnityEngine.Object)hit.transform != (UnityEngine.Object)__instance.transform)) { PhysicsUtility.raycast(new Ray(vector3_1 + vector3_4 * (magnitude - 0.025f), -vector3_4), out hit, magnitude - 0.025f, RayMasks.DAMAGE_SERVER, QueryTriggerInteraction.UseGlobal); if ((UnityEngine.Object)hit.transform != (UnityEngine.Object)null && (UnityEngine.Object)hit.transform != (UnityEngine.Object)__instance.transform) { continue; } } else { continue; } } num = sqrMagnitude; player = playersInRadiu; } } } } } zombiesInRadius.Clear(); ZombieManager.getZombiesInRadius(vector3_1, sqrRadius, zombiesInRadius); for (int index = 0; index < zombiesInRadius.Count; ++index) { Zombie zombiesInRadiu = zombiesInRadius[index]; if (!zombiesInRadiu.isDead && zombiesInRadiu.isHunting) { Vector3 position = zombiesInRadiu.transform.position; switch (zombiesInRadiu.speciality) { case EZombieSpeciality.NORMAL: position += new Vector3(0.0f, 1.75f, 0.0f); break; case EZombieSpeciality.MEGA: position += new Vector3(0.0f, 2.625f, 0.0f); break; case EZombieSpeciality.CRAWLER: position += new Vector3(0.0f, 0.25f, 0.0f); break; case EZombieSpeciality.SPRINTER: position += new Vector3(0.0f, 1f, 0.0f); break; } vector3_2 = position - vector3_1; float sqrMagnitude = vector3_2.sqrMagnitude; if ((double)sqrMagnitude <= (double)num) { Vector3 vector3_3 = position - vector3_1; float magnitude = vector3_3.magnitude; Vector3 vector3_4 = vector3_3 / magnitude; if (!((UnityEngine.Object)zombiesInRadiu != (UnityEngine.Object)targetZombie) || (double)Vector3.Dot(vector3_4, aimTransform.forward) >= 0.5) { if ((double)magnitude > 0.025000000372529) { RaycastHit hit; PhysicsUtility.raycast(new Ray(vector3_1, vector3_4), out hit, magnitude - 0.025f, RayMasks.BLOCK_SENTRY, QueryTriggerInteraction.UseGlobal); if (!((UnityEngine.Object)hit.transform != (UnityEngine.Object)null) || !((UnityEngine.Object)hit.transform != (UnityEngine.Object)__instance.transform)) { PhysicsUtility.raycast(new Ray(vector3_1 + vector3_4 * (magnitude - 0.025f), -vector3_4), out hit, magnitude - 0.025f, RayMasks.DAMAGE_SERVER, QueryTriggerInteraction.UseGlobal); if ((UnityEngine.Object)hit.transform != (UnityEngine.Object)null && (UnityEngine.Object)hit.transform != (UnityEngine.Object)__instance.transform) { continue; } } else { continue; } } num = sqrMagnitude; player = (Player)null; zombie = zombiesInRadiu; } } } } animalsInRadius.Clear(); AnimalManager.getAnimalsInRadius(vector3_1, sqrRadius, animalsInRadius); for (int index = 0; index < animalsInRadius.Count; ++index) { Animal animalsInRadiu = animalsInRadius[index]; if (!animalsInRadiu.isDead) { Vector3 position = animalsInRadiu.transform.position; vector3_2 = position - vector3_1; float sqrMagnitude = vector3_2.sqrMagnitude; if ((double)sqrMagnitude <= (double)num) { Vector3 vector3_3 = position - vector3_1; float magnitude = vector3_3.magnitude; Vector3 vector3_4 = vector3_3 / magnitude; if (!((UnityEngine.Object)animalsInRadiu != (UnityEngine.Object)targetAnimal) || (double)Vector3.Dot(vector3_4, aimTransform.forward) >= 0.5) { if ((double)magnitude > 0.025000000372529) { RaycastHit hit; PhysicsUtility.raycast(new Ray(vector3_1, vector3_4), out hit, magnitude - 0.025f, RayMasks.BLOCK_SENTRY, QueryTriggerInteraction.UseGlobal); if (!((UnityEngine.Object)hit.transform != (UnityEngine.Object)null) || !((UnityEngine.Object)hit.transform != (UnityEngine.Object)__instance.transform)) { PhysicsUtility.raycast(new Ray(vector3_1 + vector3_4 * (magnitude - 0.025f), -vector3_4), out hit, magnitude - 0.025f, RayMasks.DAMAGE_SERVER, QueryTriggerInteraction.UseGlobal); if ((UnityEngine.Object)hit.transform != (UnityEngine.Object)null && (UnityEngine.Object)hit.transform != (UnityEngine.Object)__instance.transform) { continue; } } else { continue; } } num = sqrMagnitude; player = (Player)null; zombie = (Zombie)null; animal = animalsInRadiu; } } } } if ((UnityEngine.Object)player != (UnityEngine.Object)targetPlayer || (UnityEngine.Object)zombie != (UnityEngine.Object)targetZombie || (UnityEngine.Object)animal != (UnityEngine.Object)targetAnimal) { targetPlayerField.SetValue(__instance, player); targetZombieField.SetValue(__instance, zombie); targetAnimalField.SetValue(__instance, animal); lastFireField.SetValue(__instance, Time.realtimeSinceStartup + 0.1f); } } if ((UnityEngine.Object)targetPlayer != (UnityEngine.Object)null) { switch (__instance.sentryMode) { case ESentryMode.NEUTRAL: case ESentryMode.FRIENDLY: isFiringField.SetValue(__instance, targetPlayer.animator.gesture != EPlayerGesture.SURRENDER_START); break; case ESentryMode.HOSTILE: isFiringField.SetValue(__instance, true); break; } isAimingField.SetValue(__instance, true); } else if ((UnityEngine.Object)targetZombie != (UnityEngine.Object)null) { isFiringField.SetValue(__instance, true); isAimingField.SetValue(__instance, true); } else if ((UnityEngine.Object)targetAnimal != (UnityEngine.Object)null) { switch (__instance.sentryMode) { case ESentryMode.NEUTRAL: case ESentryMode.FRIENDLY: isFiringField.SetValue(__instance, targetAnimal.isHunting); break; case ESentryMode.HOSTILE: isFiringField.SetValue(__instance, true); break; } isAimingField.SetValue(__instance, true); } else { isFiringField.SetValue(__instance, false); isAimingField.SetValue(__instance, false); } if (isAiming && (double)Time.realtimeSinceStartup - (double)lastAim > (double)Provider.UPDATE_TIME) { lastAimField.SetValue(__instance, Time.realtimeSinceStartup); Transform transform = (Transform)null; Vector3 vector3_3 = Vector3.zero; if ((UnityEngine.Object)targetPlayer != (UnityEngine.Object)null) { transform = targetPlayer.transform; vector3_3 = targetPlayer.look.aim.position; } else if ((UnityEngine.Object)targetZombie != (UnityEngine.Object)null) { transform = targetZombie.transform; vector3_3 = targetZombie.transform.position; switch (targetZombie.speciality) { case EZombieSpeciality.NORMAL: vector3_3 += new Vector3(0.0f, 1.75f, 0.0f); break; case EZombieSpeciality.MEGA: vector3_3 += new Vector3(0.0f, 2.625f, 0.0f); break; case EZombieSpeciality.CRAWLER: vector3_3 += new Vector3(0.0f, 0.25f, 0.0f); break; case EZombieSpeciality.SPRINTER: vector3_3 += new Vector3(0.0f, 1f, 0.0f); break; } } else if ((UnityEngine.Object)targetAnimal != (UnityEngine.Object)null) { transform = targetAnimal.transform; vector3_3 = targetAnimal.transform.position + Vector3.up; } if ((UnityEngine.Object)transform != (UnityEngine.Object)null) { float yaw = Mathf.Atan2(vector3_3.x - vector3_1.x, vector3_3.z - vector3_1.z) * 57.29578f; double num = (double)vector3_3.y - (double)vector3_1.y; vector3_2 = vector3_3 - vector3_1; double magnitude = (double)vector3_2.magnitude; float pitch = Mathf.Sin((float)(num / magnitude)) * 57.29578f; BarricadeManager.sendAlertSentry(__instance.transform, yaw, pitch); } } if (isFiring && hasWeapon && (__instance.displayItem.state[10] > (byte)0 && !__instance.isOpen) && (double)Time.realtimeSinceStartup - (double)lastFire > (double)fireTime) { lastFireField.SetValue(__instance, lastFire + fireTime); if ((double)Time.realtimeSinceStartup - (double)lastFire > (double)fireTime) { lastFire = Time.realtimeSinceStartup; } float num1 = (float)__instance.displayItem.quality / 100f; if (attachments.magazineAsset == null) { return(false); } if (!ownerPlayer.HasPermission(IgnoreAmmoPermission)) { Console.WriteLine("Ammo reduction"); if ((__instance.sentryAsset.infiniteAmmo ? 1 : (((ItemGunAsset)displayAsset).infiniteAmmo ? 1 : 0)) == 0) { --__instance.displayItem.state[10]; } if (!__instance.sentryAsset.infiniteQuality && Provider.modeConfigData.Items.Has_Durability && (__instance.displayItem.quality > (byte)0 && (double)UnityEngine.Random.value < (double)((ItemWeaponAsset)displayAsset).durability)) { if ((int)__instance.displayItem.quality > (int)((ItemWeaponAsset)displayAsset).wear) { __instance.displayItem.quality -= ((ItemWeaponAsset)displayAsset).wear; } else { __instance.displayItem.quality = (byte)0; } } } if (attachments.barrelAsset == null || !attachments.barrelAsset.isSilenced || __instance.displayItem.state[16] == (byte)0) { AlertTool.alert(__instance.transform.position, 48f); } float num2 = ((ItemGunAsset)displayAsset).spreadAim * ((double)num1 < 0.5 ? (float)(1.0 + (1.0 - (double)num1 * 2.0)) : 1f); if (attachments.tacticalAsset != null && interact) { num2 *= attachments.tacticalAsset.spread; } if (attachments.gripAsset != null) { num2 *= attachments.gripAsset.spread; } if (attachments.barrelAsset != null) { num2 *= attachments.barrelAsset.spread; } if (attachments.magazineAsset != null) { num2 *= attachments.magazineAsset.spread; } if ((UnityEngine.Object)((ItemGunAsset)displayAsset).projectile == (UnityEngine.Object)null) { BarricadeManager.sendShootSentry(__instance.transform); byte pellets = attachments.magazineAsset.pellets; for (byte index1 = 0; (int)index1 < (int)pellets; ++index1) { EPlayerKill kill = EPlayerKill.NONE; uint xp = 0; float times = (float)(1.0 * ((double)num1 < 0.5 ? 0.5 + (double)num1 : 1.0)); Transform transform = (Transform)null; float num3 = 0.0f; if ((UnityEngine.Object)targetPlayer != (UnityEngine.Object)null) { transform = targetPlayer.transform; } else if ((UnityEngine.Object)targetZombie != (UnityEngine.Object)null) { transform = __instance.transform; } else if ((UnityEngine.Object)targetAnimal != (UnityEngine.Object)null) { transform = targetAnimal.transform; } if ((UnityEngine.Object)transform != (UnityEngine.Object)null) { vector3_2 = transform.position - __instance.transform.position; num3 = vector3_2.magnitude; } float num4 = (1f - num3 / ((ItemWeaponAsset)displayAsset).range) * (1f - ((ItemGunAsset)displayAsset).spreadHip) * 0.75f; if ((UnityEngine.Object)transform == (UnityEngine.Object)null || (double)UnityEngine.Random.value > (double)num4) { Vector3 forward = aimTransform.forward; forward += aimTransform.right * UnityEngine.Random.Range(-((ItemGunAsset)displayAsset).spreadHip, ((ItemGunAsset)displayAsset).spreadHip) * num2; forward += aimTransform.up * UnityEngine.Random.Range(-((ItemGunAsset)displayAsset).spreadHip, ((ItemGunAsset)displayAsset).spreadHip) * num2; forward.Normalize(); RaycastInfo raycastInfo = DamageTool.raycast(new Ray(aimTransform.position, forward), ((ItemWeaponAsset)displayAsset).range, RayMasks.DAMAGE_SERVER); if (!((UnityEngine.Object)raycastInfo.transform == (UnityEngine.Object)null)) { DamageTool.impact(raycastInfo.point, raycastInfo.normal, raycastInfo.material, (UnityEngine.Object)raycastInfo.vehicle != (UnityEngine.Object)null || raycastInfo.transform.CompareTag("Barricade") || raycastInfo.transform.CompareTag("Structure") || raycastInfo.transform.CompareTag("Resource")); if ((UnityEngine.Object)raycastInfo.vehicle != (UnityEngine.Object)null) { DamageTool.damage(raycastInfo.vehicle, false, Vector3.zero, false, ((ItemWeaponAsset)displayAsset).vehicleDamage, times, true, out kill, new CSteamID(), EDamageOrigin.Sentry); } else if ((UnityEngine.Object)raycastInfo.transform != (UnityEngine.Object)null) { if (raycastInfo.transform.CompareTag("Barricade")) { ushort result; if (ushort.TryParse(raycastInfo.transform.name, NumberStyles.Any, (IFormatProvider)CultureInfo.InvariantCulture, out result)) { ItemBarricadeAsset itemBarricadeAsset = (ItemBarricadeAsset)Assets.find(EAssetType.ITEM, result); if (itemBarricadeAsset != null && (itemBarricadeAsset.isVulnerable || ((ItemWeaponAsset)displayAsset).isInvulnerable)) { DamageTool.damage(raycastInfo.transform, false, ((ItemWeaponAsset)displayAsset).barricadeDamage, times, out kill, new CSteamID(), EDamageOrigin.Sentry); } } } else if (raycastInfo.transform.CompareTag("Structure")) { ushort result; if (ushort.TryParse(raycastInfo.transform.name, NumberStyles.Any, (IFormatProvider)CultureInfo.InvariantCulture, out result)) { ItemStructureAsset itemStructureAsset = (ItemStructureAsset)Assets.find(EAssetType.ITEM, result); if (itemStructureAsset != null && (itemStructureAsset.isVulnerable || ((ItemWeaponAsset)displayAsset).isInvulnerable)) { DamageTool.damage(raycastInfo.transform, false, raycastInfo.direction * Mathf.Ceil((float)attachments.magazineAsset.pellets / 2f), ((ItemWeaponAsset)displayAsset).structureDamage, times, out kill, new CSteamID(), EDamageOrigin.Sentry); } } } else if (raycastInfo.transform.CompareTag("Resource")) { byte x; byte y; ushort index2; if (ResourceManager.tryGetRegion(raycastInfo.transform, out x, out y, out index2)) { ResourceSpawnpoint resourceSpawnpoint = ResourceManager.getResourceSpawnpoint(x, y, index2); if (resourceSpawnpoint != null && !resourceSpawnpoint.isDead && (int)resourceSpawnpoint.asset.bladeID == (int)((ItemWeaponAsset)displayAsset).bladeID) { DamageTool.damage(raycastInfo.transform, raycastInfo.direction * Mathf.Ceil((float)attachments.magazineAsset.pellets / 2f), ((ItemWeaponAsset)displayAsset).resourceDamage, times, 1f, out kill, out xp, new CSteamID(), EDamageOrigin.Sentry); } } } else if (raycastInfo.section < byte.MaxValue) { InteractableObjectRubble componentInParent = raycastInfo.transform.GetComponentInParent <InteractableObjectRubble>(); if ((UnityEngine.Object)componentInParent != (UnityEngine.Object)null && !componentInParent.isSectionDead(raycastInfo.section) && (componentInParent.asset.rubbleIsVulnerable || ((ItemWeaponAsset)displayAsset).isInvulnerable)) { DamageTool.damage(componentInParent.transform, raycastInfo.direction, raycastInfo.section, ((ItemWeaponAsset)displayAsset).objectDamage, times, out kill, out xp, new CSteamID(), EDamageOrigin.Sentry); } } } } } else { Vector3 point = Vector3.zero; if ((UnityEngine.Object)targetPlayer != (UnityEngine.Object)null) { point = targetPlayer.look.aim.position; } else if ((UnityEngine.Object)targetZombie != (UnityEngine.Object)null) { point = targetZombie.transform.position; switch (targetZombie.speciality) { case EZombieSpeciality.NORMAL: point += new Vector3(0.0f, 1.75f, 0.0f); break; case EZombieSpeciality.MEGA: point += new Vector3(0.0f, 2.625f, 0.0f); break; case EZombieSpeciality.CRAWLER: point += new Vector3(0.0f, 0.25f, 0.0f); break; case EZombieSpeciality.SPRINTER: point += new Vector3(0.0f, 1f, 0.0f); break; } } else if ((UnityEngine.Object)targetAnimal != (UnityEngine.Object)null) { point = targetAnimal.transform.position + Vector3.up; } DamageTool.impact(point, -aimTransform.forward, EPhysicsMaterial.FLESH_DYNAMIC, true); Vector3 direction = aimTransform.forward * Mathf.Ceil((float)attachments.magazineAsset.pellets / 2f); if ((UnityEngine.Object)targetPlayer != (UnityEngine.Object)null) { DamageTool.damage(targetPlayer, EDeathCause.SENTRY, ELimb.SPINE, __instance.owner, direction, (IDamageMultiplier)((ItemWeaponAsset)displayAsset).playerDamageMultiplier, times, true, out kill, true, ERagdollEffect.NONE); } else if ((UnityEngine.Object)targetZombie != (UnityEngine.Object)null) { IDamageMultiplier damageMultiplier = ((ItemWeaponAsset)displayAsset).zombieOrPlayerDamageMultiplier; DamageZombieParameters parameters = DamageZombieParameters.make(targetZombie, direction, damageMultiplier, ELimb.SPINE); parameters.times = times; parameters.legacyArmor = true; parameters.instigator = (object)__instance; DamageTool.damageZombie(parameters, out kill, out xp); } else if ((UnityEngine.Object)targetAnimal != (UnityEngine.Object)null) { IDamageMultiplier damageMultiplier = ((ItemWeaponAsset)displayAsset).animalOrPlayerDamageMultiplier; DamageAnimalParameters parameters = DamageAnimalParameters.make(targetAnimal, direction, damageMultiplier, ELimb.SPINE); parameters.times = times; parameters.instigator = (object)__instance; DamageTool.damageAnimal(parameters, out kill, out xp); } } } } __instance.rebuildState(); } } return(false); }
public static IEnumerator UpdateObjectList() { while (true) { if (!DrawUtilities.ShouldRun()) { yield return(new WaitForSeconds(2)); continue; } List <ESPObject> objects = ESPVariables.Objects; objects.Clear(); List <ESPTarget> targets = ESPOptions.PriorityTable.Keys.OrderByDescending(k => ESPOptions.PriorityTable[k]).ToList(); for (int i = 0; i < targets.Count; i++) { ESPTarget target = targets[i]; ESPVisual vis = ESPOptions.VisualOptions[(int)target]; if (!vis.Enabled) { continue; } Vector3 pPos = OptimizationVariables.MainPlayer.transform.position; switch (target) { case ESPTarget.Players: { SteamPlayer[] objarray = Provider.clients .OrderByDescending(p => VectorUtilities.GetDistance(pPos, p.player.transform.position)).ToArray(); if (vis.UseObjectCap) { objarray = objarray.TakeLast(vis.ObjectCap).ToArray(); } for (int j = 0; j < objarray.Length; j++) { SteamPlayer sPlayer = objarray[j]; Player plr = sPlayer.player; if (plr.life.isDead || plr == OptimizationVariables.MainPlayer) { continue; } objects.Add(new ESPObject(target, plr, plr.gameObject)); } break; } case ESPTarget.Zombies: { Zombie[] objarr = ZombieManager.regions.SelectMany(r => r.zombies) .OrderByDescending(obj => VectorUtilities.GetDistance(pPos, obj.transform.position)).ToArray(); if (vis.UseObjectCap) { objarr = objarr.TakeLast(vis.ObjectCap).ToArray(); } for (int j = 0; j < objarr.Length; j++) { Zombie obj = objarr[j]; objects.Add(new ESPObject(target, obj, obj.gameObject)); } break; } case ESPTarget.Items: { InteractableItem[] objarr = Object.FindObjectsOfType <InteractableItem>() .OrderByDescending(obj => VectorUtilities.GetDistance(pPos, obj.transform.position)).ToArray(); if (vis.UseObjectCap) { objarr = objarr.TakeLast(vis.ObjectCap).ToArray(); } for (int j = 0; j < objarr.Length; j++) { InteractableItem obj = objarr[j]; if (ItemUtilities.Whitelisted(obj.asset, ItemOptions.ItemESPOptions) || !ESPOptions.FilterItems) { objects.Add(new ESPObject(target, obj, obj.gameObject)); } } break; } case ESPTarget.Sentries: { InteractableSentry[] objarr = Object.FindObjectsOfType <InteractableSentry>() .OrderByDescending(obj => VectorUtilities.GetDistance(pPos, obj.transform.position)).ToArray(); if (vis.UseObjectCap) { objarr = objarr.TakeLast(vis.ObjectCap).ToArray(); } for (int j = 0; j < objarr.Length; j++) { InteractableSentry obj = objarr[j]; objects.Add(new ESPObject(target, obj, obj.gameObject)); } break; } case ESPTarget.Beds: { InteractableBed[] objarr = Object.FindObjectsOfType <InteractableBed>() .OrderByDescending(obj => VectorUtilities.GetDistance(pPos, obj.transform.position)).ToArray(); if (vis.UseObjectCap) { objarr = objarr.TakeLast(vis.ObjectCap).ToArray(); } for (int j = 0; j < objarr.Length; j++) { InteractableBed obj = objarr[j]; objects.Add(new ESPObject(target, obj, obj.gameObject)); } break; } case ESPTarget.ClaimFlags: { InteractableClaim[] objarr = Object.FindObjectsOfType <InteractableClaim>() .OrderByDescending(obj => VectorUtilities.GetDistance(pPos, obj.transform.position)).ToArray(); if (vis.UseObjectCap) { objarr = objarr.TakeLast(vis.ObjectCap).ToArray(); } for (int j = 0; j < objarr.Length; j++) { InteractableClaim obj = objarr[j]; objects.Add(new ESPObject(target, obj, obj.gameObject)); } break; } case ESPTarget.Vehicles: { InteractableVehicle[] objarr = Object.FindObjectsOfType <InteractableVehicle>() .OrderByDescending(obj => VectorUtilities.GetDistance(pPos, obj.transform.position)).ToArray(); if (vis.UseObjectCap) { objarr = objarr.TakeLast(vis.ObjectCap).ToArray(); } for (int j = 0; j < objarr.Length; j++) { InteractableVehicle obj = objarr[j]; if (obj.isDead) { continue; } objects.Add(new ESPObject(target, obj, obj.gameObject)); } break; } case ESPTarget.Storage: { InteractableStorage[] objarr = Object.FindObjectsOfType <InteractableStorage>() .OrderByDescending(obj => VectorUtilities.GetDistance(pPos, obj.transform.position)).ToArray(); if (vis.UseObjectCap) { objarr = objarr.TakeLast(vis.ObjectCap).ToArray(); } for (int j = 0; j < objarr.Length; j++) { InteractableStorage obj = objarr[j]; objects.Add(new ESPObject(target, obj, obj.gameObject)); } break; } case ESPTarget.Generators: { InteractableGenerator[] objarr = Object.FindObjectsOfType <InteractableGenerator>() .OrderByDescending(obj => VectorUtilities.GetDistance(pPos, obj.transform.position)).ToArray(); if (vis.UseObjectCap) { objarr = objarr.TakeLast(vis.ObjectCap).ToArray(); } for (int j = 0; j < objarr.Length; j++) { InteractableGenerator obj = objarr[j]; objects.Add(new ESPObject(target, obj, obj.gameObject)); } break; } } } yield return(new WaitForSeconds(5)); } }
public void OnGUI() { if (Event.current.type != EventType.Repaint || !ESPOptions.Enabled) return; if (!DrawUtilities.ShouldRun()) return; GUI.depth = 1; if (MainCamera == null) MainCamera = OptimizationVariables.MainCam; Vector3 localPos = OptimizationVariables.MainPlayer.transform.position; Vector3 aimPos = OptimizationVariables.MainPlayer.look.aim.position; Vector3 aimForward = OptimizationVariables.MainPlayer.look.aim.forward; for (int i = 0; i < ESPVariables.Objects.Count; i++) { ESPObject obj = ESPVariables.Objects[i]; ESPVisual visual = ESPOptions.VisualOptions[(int)obj.Target]; GameObject go = obj.GObject; if (!visual.Enabled) { Highlighter highlighter = go.GetComponent<Highlighter>(); if (highlighter != null && highlighter != TrajectoryComponent.Highlighted) highlighter.ConstantOffImmediate(); continue; } if (obj.Target == ESPTarget.Items && ESPOptions.FilterItems) if (!ItemUtilities.Whitelisted(((InteractableItem)obj.Object).asset, ItemOptions.ItemESPOptions)) continue; Color c = ColorUtilities.getColor($"_{obj.Target}"); LabelLocation ll = visual.Location; if (go == null) continue; Vector3 position = go.transform.position; double dist = VectorUtilities.GetDistance(position, localPos); if (dist < 0.5 || (dist > visual.Distance && !visual.InfiniteDistance)) continue; Vector3 cpos = MainCamera.WorldToScreenPoint(position); if (cpos.z <= 0) continue; string text = ""; Vector3 scale = go.transform.localScale; Bounds b; switch (obj.Target) { case ESPTarget.Players: case ESPTarget.Zombies: b = new Bounds(new Vector3(position.x, position.y + 1, position.z), new Vector3(scale.x * 2, scale.y * 3, scale.z * 2)); break; case ESPTarget.Vehicles: b = go.transform.Find("Model_0").GetComponent<MeshRenderer>().bounds; Transform child = go.transform.Find("Model_1"); if (child != null) b.Encapsulate(child.GetComponent<MeshRenderer>().bounds); break; default: b = go.GetComponent<Collider>().bounds; break; } int size = DrawUtilities.GetTextSize(visual, dist); double rounded = Math.Round(dist); /*#if DEBUG DebugUtilities.Log(obj.Target.ToString()); //Holy f**k nuggets this is laggy #endif*/ string outerText = $"<size={size}>"; text = $"<size={size}>"; switch (obj.Target) { #region Players case ESPTarget.Players: { Player p = (Player)obj.Object; if (p.life.isDead) continue; if (visual.ShowName) text += GetSteamPlayer(p).playerID.characterName + "\n"; if (RaycastUtilities.TargetedPlayer == p && RaycastOptions.EnablePlayerSelection) text += "[Targeted]\n"; if (ESPOptions.ShowPlayerWeapon) text += (p.equipment.asset != null ? p.equipment.asset.itemName : "Fists") + "\n"; if (ESPOptions.ShowPlayerVehicle) text += (p.movement.getVehicle() != null ? p.movement.getVehicle().asset.name + "\n" : "No Vehicle\n"); b.size = b.size / 2; b.size = new Vector3(b.size.x, b.size.y * 1.25f, b.size.z); if (FriendUtilities.IsFriendly(p) && ESPOptions.UsePlayerGroup) c = ColorUtilities.getColor("_ESPFriendly"); break; } #endregion #region Zombies case ESPTarget.Zombies: { if (((Zombie)obj.Object).isDead) continue; if (visual.ShowName) text += $"Zombie\n"; break; } #endregion #region Items case ESPTarget.Items: { InteractableItem item = (InteractableItem)obj.Object; if (visual.ShowName) text += item.asset.itemName + "\n"; break; } #endregion #region Sentries case ESPTarget.Sentries: { InteractableSentry sentry = (InteractableSentry)obj.Object; if (visual.ShowName) { text += "Sentry\n"; outerText += "Sentry\n"; } if (ESPOptions.ShowSentryItem) { outerText += SentryName(sentry.displayItem, false) + "\n"; text += SentryName(sentry.displayItem, true) + "\n"; } break; } #endregion #region Beds case ESPTarget.Beds: { InteractableBed bed = (InteractableBed)obj.Object; if (visual.ShowName) { text += "Bed\n"; outerText += "Bed\n"; } if (ESPOptions.ShowClaimed) { text += GetOwned(bed, true) + "\n"; outerText += GetOwned(bed, false) + "\n"; } break; } #endregion #region Claim Flags case ESPTarget.ClaimFlags: { if (visual.ShowName) text += "Claim Flag\n"; break; } #endregion #region Vehicles case ESPTarget.Vehicles: { InteractableVehicle vehicle = (InteractableVehicle)obj.Object; if (vehicle.health == 0) continue; if (ESPOptions.FilterVehicleLocked && vehicle.isLocked) continue; vehicle.getDisplayFuel(out ushort displayFuel, out ushort MaxFuel); float health = Mathf.Round(100 * (vehicle.health / (float)vehicle.asset.health)); float fuel = Mathf.Round(100 * (displayFuel / (float)MaxFuel)); if (visual.ShowName) { text += vehicle.asset.name + "\n"; outerText += vehicle.asset.name + "\n"; } if (ESPOptions.ShowVehicleHealth) { text += $"Health: {health}%\n"; outerText += $"Health: {health}%\n"; } if (ESPOptions.ShowVehicleFuel) { text += $"Fuel: {fuel}%\n"; outerText += $"Fuel: {fuel}%\n"; } if (ESPOptions.ShowVehicleLocked) { text += GetLocked(vehicle, true) + "\n"; outerText += GetLocked(vehicle, false) + "\n"; } break; } #endregion #region Storage case ESPTarget.Storage: { if (visual.ShowName) text += "Storage\n"; break; } #endregion #region Generators case ESPTarget.Generators: { InteractableGenerator gen = (InteractableGenerator)obj.Object; float fuel = Mathf.Round(100 * (gen.fuel / (float)gen.capacity)); if (ESPOptions.ShowGeneratorFuel) { text += $"Fuel: {fuel}%\n"; outerText += $"Fuel: {fuel}%\n"; } if (ESPOptions.ShowGeneratorPowered) { text += GetPowered(gen, true) + "\n"; outerText += GetPowered(gen, false) + "\n"; } break; } #endregion } if (outerText == $"<size={size}>") outerText = null; if (visual.ShowDistance) { text += $"{rounded}m\n"; if (outerText != null) outerText += $"{rounded}m\n"; } if (visual.ShowAngle) { double roundedFOV = Math.Round(VectorUtilities.GetAngleDelta(aimPos, aimForward, position), 2); text += $"Angle: {roundedFOV}°\n"; if (outerText != null) outerText += $"{roundedFOV}°\n"; } text += "</size>"; if (outerText != null) outerText += "</size>"; Vector3[] vectors = DrawUtilities.GetBoxVectors(b); Vector2[] W2SVectors = DrawUtilities.GetRectangleLines(MainCamera, b, c); Vector3 LabelVector = DrawUtilities.Get2DW2SVector(MainCamera, W2SVectors, ll); if (MirrorCameraOptions.Enabled && W2SVectors.Any(v => MirrorCameraComponent.viewport.Contains(v))) { Highlighter highlighter = go.GetComponent<Highlighter>(); if (highlighter != null) highlighter.ConstantOffImmediate(); continue; } if (visual.Boxes) { if (visual.TwoDimensional) DrawUtilities.PrepareRectangleLines(W2SVectors, c); else { DrawUtilities.PrepareBoxLines(vectors, c); LabelVector = DrawUtilities.Get3DW2SVector(MainCamera, b, ll); } } if (visual.Glow) { Highlighter highlighter = go.GetComponent<Highlighter>() ?? go.AddComponent<Highlighter>(); //highlighter.OccluderOn(); //highlighter.SeeThroughOn(); highlighter.occluder = true; highlighter.overlay = true; highlighter.ConstantOnImmediate(c); Highlighters.Add(highlighter); } else { Highlighter highlighter = go.GetComponent<Highlighter>(); if (highlighter != null && highlighter != TrajectoryComponent.Highlighted) highlighter.ConstantOffImmediate(); } if (visual.Labels) DrawUtilities.DrawLabel(ESPFont, ll, LabelVector, text, visual.CustomTextColor ? ColorUtilities.getColor($"_{obj.Target}_Text") : c, ColorUtilities.getColor($"_{obj.Target}_Outline"), visual.BorderStrength, outerText); if (visual.LineToObject) ESPVariables.DrawBuffer2.Enqueue(new ESPBox2 { Color = c, Vertices = new[] { new Vector2(Screen.width / 2, Screen.height), new Vector2(cpos.x, Screen.height - cpos.y) } }); } GLMat.SetPass(0); GL.PushMatrix(); GL.LoadProjectionMatrix(MainCamera.projectionMatrix); GL.modelview = MainCamera.worldToCameraMatrix; GL.Begin(GL.LINES); for (int i = 0; i < ESPVariables.DrawBuffer.Count; i++) { ESPBox box = ESPVariables.DrawBuffer.Dequeue(); GL.Color(box.Color); Vector3[] vertices = box.Vertices; for (int j = 0; j < vertices.Length; j++) GL.Vertex(vertices[j]); } GL.End(); GL.PopMatrix(); GL.PushMatrix(); GL.Begin(GL.LINES); for (int i = 0; i < ESPVariables.DrawBuffer2.Count; i++) { ESPBox2 box = ESPVariables.DrawBuffer2.Dequeue(); GL.Color(box.Color); Vector2[] vertices = box.Vertices; bool Run = true; for (int j = 0; j < vertices.Length; j++) if (j < vertices.Length - 1) { Vector2 v1 = vertices[j]; Vector2 v2 = vertices[j + 1]; if (Vector2.Distance(v2, v1) > Screen.width / 2) { Run = false; break; } } if (!Run) continue; for (int j = 0; j < vertices.Length; j++) GL.Vertex3(vertices[j].x, vertices[j].y, 0); } GL.End(); GL.PopMatrix(); }
public IEnumerator updateStuff() { while (true) { float aim_distanceAway = float.MaxValue; object aim_nextTarget = null; MP_ESP.draw.Clear(); lock (collections) { for (int i = 0; i < collections.Count; i++) { if (collections[i] == null || collections[i].gameObject == null || collections[i].instance == null) { continue; } GOUpdate updateObject = collections[i]; #region Players if (updateObject.type == EGOUpdate.PLAYER) { if (!((SteamPlayer)updateObject.instance).player.life.isDead && ((SteamPlayer)updateObject.instance).player != Player.player) { int distance = (int)Tools.getDistance(updateObject.gameObject.transform.position); #region Aimbot & SilentAim if ((MP_Aimbot.aimbot || MP_Aimbot.silentAim) && MP_Aimbot.aim_players && !MP_Players.isFriend((SteamPlayer)updateObject.instance)) { if (aim_distanceAway > distance && (distance <= MP_Aimbot.distance || MP_Aimbot.ignoreDistance)) { aim_distanceAway = distance; aim_nextTarget = updateObject.instance; } } #endregion #region ESP if (MP_ESP.ESP_Enabled && MP_ESP.ESP_Players_Enabled && (((SteamPlayer)updateObject.instance).player != Player.player)) { if (distance <= MP_ESP.ESP_Distance || MP_ESP.ESP_IgnoreDistance) { bool isFriend = MP_Players.isFriend((SteamPlayer)updateObject.instance); updateObject.screenPosition = MainCamera.instance.WorldToScreenPoint(updateObject.gameObject.transform.position); updateObject.text = ""; updateObject.color = (isFriend ? MP_ESP.ESP_Friends_Color.selectedColor : MP_ESP.ESP_Players_Color.selectedColor); if (updateObject.screenPosition.z > 0) { updateObject.screenPosition.y = (Screen.height - (updateObject.screenPosition.y + 1f)) - 12f; SteamPlayer p = (SteamPlayer)updateObject.instance; if (MP_ESP.ESP_Players_ShowNames) { updateObject.text += p.playerID.characterName + "\n"; } if (MP_ESP.ESP_Players_ShowDistances) { updateObject.text += "Distance: " + distance + "\n"; } if (MP_ESP.ESP_Players_ShowWeapons) { updateObject.text += "Weapon: " + (p.player.equipment.asset == null ? "None" : p.player.equipment.asset.itemName) + "\n"; } if (MP_ESP.ESP_Players_ShowIsAdmin) { updateObject.text += "Is Admin: " + (p.isAdmin ? "Yes" : "No") + "\n"; } if (MP_ESP.ESP_Box) { updateObject.box = Tools.BoundsToScreenRect(new Bounds(p.player.transform.position + new Vector3(0, 1.1f, 0), p.player.transform.localScale + new Vector3(0, .95f, 0))); } MP_ESP.draw.Add(new ESPDraw(updateObject.text, updateObject.gameObject, EESPItem.PLAYER, updateObject.screenPosition, updateObject.box, updateObject.color, distance)); } } } #endregion #region Chams Renderer[] renderers = ((SteamPlayer)updateObject.instance).player.gameObject.GetComponentsInChildren <Renderer>(); for (int a = 0; a < renderers.Length; a++) { for (int b = 0; b < renderers[a].materials.Length; b++) { if (Variables.isSpying || !MP_ESP.ESP_Enabled || !MP_ESP.ESP_Chams || !MP_ESP.ESP_Players_Enabled || (distance > MP_ESP.ESP_Distance && !MP_ESP.ESP_IgnoreDistance)) { if (renderers[a].materials[b].shader == esp) { renderers[a].materials[b].shader = normal; } } else { if (renderers[a].materials[b].shader != esp) { renderers[a].materials[b].shader = esp; } } } } #endregion } } #endregion #region Zombies if (updateObject.type == EGOUpdate.ZOMBIE && !((Zombie)updateObject.instance).isDead) { int distance = (int)Tools.getDistance(updateObject.gameObject.transform.position); #region Aimbot & SilentAim if ((MP_Aimbot.aimbot || MP_Aimbot.silentAim) && MP_Aimbot.aim_zombies) { if (aim_distanceAway > distance && (distance <= MP_Aimbot.distance || MP_Aimbot.ignoreDistance)) { aim_distanceAway = distance; aim_nextTarget = updateObject.instance; } } #endregion #region ESP if (MP_ESP.ESP_Enabled && MP_ESP.ESP_Zombies_Enabled && (distance <= MP_ESP.ESP_Distance || MP_ESP.ESP_IgnoreDistance)) { updateObject.screenPosition = MainCamera.instance.WorldToScreenPoint(updateObject.gameObject.transform.position); updateObject.text = ""; updateObject.color = MP_ESP.ESP_Zombies_Color.selectedColor; if (updateObject.screenPosition.z > 0) { Collider collider = null; if (MP_ESP.ESP_Box) { collider = updateObject.gameObject.GetComponent <Collider>(); } updateObject.screenPosition.x -= 64f; updateObject.screenPosition.y = (Screen.height - (updateObject.screenPosition.y + 1f)) - 12f; if (MP_ESP.ESP_Zombies_ShowNames) { updateObject.text += Tools.getZombieName((Zombie)updateObject.instance) + "\n"; } if (MP_ESP.ESP_Zombies_ShowDistances) { updateObject.text += "Distance: " + distance + "\n"; } if (MP_ESP.ESP_Box && collider != null) { updateObject.box = Tools.BoundsToScreenRect(collider.bounds); } MP_ESP.draw.Add(new ESPDraw(updateObject.text, updateObject.gameObject, EESPItem.ZOMBIE, updateObject.screenPosition, updateObject.box, updateObject.color, distance)); } } #endregion } #endregion #region Animals if (updateObject.type == EGOUpdate.ANIMAL && !((Animal)updateObject.instance).isDead && MP_ESP.ESP_Enabled && MP_ESP.ESP_Animals_Enabled) { Animal animal = (Animal)updateObject.instance; int distance = (int)Tools.getDistance(updateObject.gameObject.transform.position); #region ESP if (distance <= MP_ESP.ESP_Distance || MP_ESP.ESP_IgnoreDistance) { updateObject.screenPosition = MainCamera.instance.WorldToScreenPoint(updateObject.gameObject.transform.position); updateObject.text = ""; updateObject.color = MP_ESP.ESP_Animals_Color.selectedColor; if (updateObject.screenPosition.z > 0) { Collider collider = null; if (MP_ESP.ESP_Box) { collider = updateObject.gameObject.GetComponent <Collider>(); } updateObject.screenPosition.x -= 64f; updateObject.screenPosition.y = (Screen.height - (updateObject.screenPosition.y + 1f)) - 12f; if (MP_ESP.ESP_Animals_ShowNames) { updateObject.text += animal.asset.animalName + "\n"; } if (MP_ESP.ESP_Animals_ShowDistances) { updateObject.text += "Distance: " + distance + "\n"; } if (MP_ESP.ESP_Box && collider != null) { updateObject.box = Tools.BoundsToScreenRect(collider.bounds); } MP_ESP.draw.Add(new ESPDraw(updateObject.text, updateObject.gameObject, EESPItem.ANIMAL, updateObject.screenPosition, updateObject.box, updateObject.color, distance)); } } #endregion } #endregion #region Items if (updateObject.type == EGOUpdate.ITEM) { InteractableItem item = (InteractableItem)updateObject.instance; bool on = false; if (MP_ESP.ESP_Items_Types.filter.TryGetValue(item.asset.type, out on)) { if (on) { int distance = (int)Tools.getDistance(updateObject.gameObject.transform.position); #region ESP if (MP_ESP.ESP_Enabled && MP_ESP.ESP_Items_Enabled && (distance <= MP_ESP.ESP_Distance || MP_ESP.ESP_IgnoreDistance)) { updateObject.screenPosition = MainCamera.instance.WorldToScreenPoint(updateObject.gameObject.transform.position); updateObject.text = ""; updateObject.color = MP_ESP.ESP_Items_Color.selectedColor; if (updateObject.screenPosition.z > 0) { Collider collider = null; if (MP_ESP.ESP_Box) { collider = updateObject.gameObject.GetComponent <Collider>(); } updateObject.screenPosition.x -= 64f; updateObject.screenPosition.y = (Screen.height - (updateObject.screenPosition.y + 1f)) - 12f; if (MP_ESP.ESP_Items_ShowNames) { updateObject.text += item.asset.itemName + "\n"; } if (MP_ESP.ESP_Items_ShowDistances) { updateObject.text += "Distance: " + distance + "\n"; } if (MP_ESP.ESP_Box && collider != null) { updateObject.box = Tools.BoundsToScreenRect(collider.bounds); } MP_ESP.draw.Add(new ESPDraw(updateObject.text, updateObject.gameObject, EESPItem.ITEM, updateObject.screenPosition, updateObject.box, updateObject.color, distance)); } } #endregion } } } #endregion #region Vehicles if (updateObject.type == EGOUpdate.VEHICLE && MP_ESP.ESP_Enabled && MP_ESP.ESP_Vehicles_Enabled) { InteractableVehicle vehicle = (InteractableVehicle)updateObject.instance; int distance = (int)Tools.getDistance(updateObject.gameObject.transform.position); #region ESP if (distance <= MP_ESP.ESP_Distance || MP_ESP.ESP_IgnoreDistance) { updateObject.screenPosition = MainCamera.instance.WorldToScreenPoint(updateObject.gameObject.transform.position); updateObject.text = ""; updateObject.color = MP_ESP.ESP_Vehicles_Color.selectedColor; if (updateObject.screenPosition.z > 0) { Collider collider = null; if (MP_ESP.ESP_Box) { collider = updateObject.gameObject.GetComponent <Collider>(); } updateObject.screenPosition.x -= 64f; updateObject.screenPosition.y = (Screen.height - (updateObject.screenPosition.y + 1f)) - 12f; if (MP_ESP.ESP_Items_ShowNames) { updateObject.text += vehicle.asset.vehicleName + "\n"; } if (MP_ESP.ESP_Vehicles_ShowFuel) { updateObject.text += "Fuel: " + vehicle.fuel + "\n"; } if (MP_ESP.ESP_Vehicles_ShowLocked) { updateObject.text += "Locked: " + (vehicle.isLocked ? "Yes" : "No") + "\n"; } if (MP_ESP.ESP_Vehicles_ShowDistances) { updateObject.text += "Distance: " + distance + "\n"; } if (MP_ESP.ESP_Box && collider != null) { updateObject.box = Tools.BoundsToScreenRect(collider.bounds); } MP_ESP.draw.Add(new ESPDraw(updateObject.text, updateObject.gameObject, EESPItem.VEHICLE, updateObject.screenPosition, updateObject.box, updateObject.color, distance)); } } #endregion } #endregion #region Storages if (updateObject.type == EGOUpdate.STORAGE && MP_ESP.ESP_Enabled && MP_ESP.ESP_Storages_Enabled) { InteractableStorage storage = (InteractableStorage)updateObject.instance; int distance = (int)Tools.getDistance(updateObject.gameObject.transform.position); #region ESP if (distance <= MP_ESP.ESP_Distance || MP_ESP.ESP_IgnoreDistance) { updateObject.screenPosition = MainCamera.instance.WorldToScreenPoint(updateObject.gameObject.transform.position); updateObject.text = ""; updateObject.color = MP_ESP.ESP_Storages_Color.selectedColor; if (updateObject.screenPosition.z > 0) { Collider collider = null; if (MP_ESP.ESP_Box) { collider = updateObject.gameObject.GetComponent <Collider>(); } updateObject.screenPosition.x -= 64f; updateObject.screenPosition.y = (Screen.height - (updateObject.screenPosition.y + 1f)) - 12f; if (MP_ESP.ESP_Items_ShowNames) { updateObject.text += "Storage\n"; } if (MP_ESP.ESP_Storages_ShowLocked) { updateObject.text += "Locked: " + (storage.checkUseable() ? "Yes" : "No") + "\n"; } if (MP_ESP.ESP_Storages_ShowDistances) { updateObject.text += "Distance: " + distance + "\n"; } if (MP_ESP.ESP_Box && collider != null) { updateObject.box = Tools.BoundsToScreenRect(collider.bounds); } MP_ESP.draw.Add(new ESPDraw(updateObject.text, updateObject.gameObject, EESPItem.STORAGE, updateObject.screenPosition, updateObject.box, updateObject.color, distance)); } } #endregion } #endregion #region Sentries if (updateObject.type == EGOUpdate.SENTRY && MP_ESP.ESP_Enabled && MP_ESP.ESP_Sentrys_Enabled) { InteractableSentry sentry = (InteractableSentry)updateObject.instance; int distance = (int)Tools.getDistance(updateObject.gameObject.transform.position); #region ESP if (distance <= MP_ESP.ESP_Distance || MP_ESP.ESP_IgnoreDistance) { updateObject.screenPosition = MainCamera.instance.WorldToScreenPoint(updateObject.gameObject.transform.position); updateObject.text = ""; updateObject.color = MP_ESP.ESP_Sentrys_Color.selectedColor; if (updateObject.screenPosition.z > 0) { Collider collider = null; if (MP_ESP.ESP_Box) { collider = updateObject.gameObject.GetComponent <Collider>(); } updateObject.screenPosition.x -= 64f; updateObject.screenPosition.y = (Screen.height - (updateObject.screenPosition.y + 1f)) - 12f; if (MP_ESP.ESP_Sentrys_ShowNames) { updateObject.text += "Sentry\n"; } if (MP_ESP.ESP_Sentrys_ShowDistances) { updateObject.text += "Distance: " + distance + "\n"; } if (MP_ESP.ESP_Box && collider != null) { updateObject.box = Tools.BoundsToScreenRect(collider.bounds); } MP_ESP.draw.Add(new ESPDraw(updateObject.text, updateObject.gameObject, EESPItem.SENTRY, updateObject.screenPosition, updateObject.box, updateObject.color, distance)); } } #endregion } #endregion } } if (MP_Aimbot.aimbot || MP_Aimbot.silentAim) { MP_Aimbot.attackNext = aim_nextTarget; } yield return(wfs); } }
public GOUpdate(InteractableSentry sentry) { this.instance = sentry; this.gameObject = sentry.gameObject; this.type = EGOUpdate.SENTRY; }
private static bool HasWeapon(InteractableSentry Sentry) => (bool)InfiniteSentry.HasWeapon.GetValue(Sentry);
public static IEnumerator UpdateObjectList() { for (; ;) { bool flag = !DrawUtilities.ShouldRun(); if (flag) { yield return(new WaitForSeconds(2f)); } else { List <ESPObject> objects = ESPVariables.Objects; objects.Clear(); List <ESPTarget> targets = (from k in ESPOptions.PriorityTable.Keys orderby ESPOptions.PriorityTable[k] descending select k).ToList <ESPTarget>(); int num; for (int i = 0; i < targets.Count; i = num + 1) { ESPTarget target = targets[i]; ESPVisual vis = ESPOptions.VisualOptions[(int)target]; bool flag2 = !vis.Enabled; if (!flag2) { Vector2 pPos = OptimizationVariables.MainPlayer.transform.position; switch (target) { case ESPTarget.Игроки: { SteamPlayer[] objarray = (from p in Provider.clients orderby VectorUtilities.GetDistance(pPos, p.player.transform.position) descending select p).ToArray <SteamPlayer>(); bool useObjectCap = vis.UseObjectCap; if (useObjectCap) { objarray = objarray.TakeLast(vis.ObjectCap).ToArray <SteamPlayer>(); } for (int j = 0; j < objarray.Length; j = num + 1) { SteamPlayer sPlayer = objarray[j]; Player plr = sPlayer.player; bool flag3 = plr.life.isDead || plr == OptimizationVariables.MainPlayer; if (!flag3) { objects.Add(new ESPObject(target, plr, plr.gameObject)); sPlayer = null; plr = null; } num = j; } break; } case ESPTarget.Зомби: { Zombie[] objarr = (from obj in ZombieManager.regions.SelectMany((ZombieRegion r) => r.zombies) orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <Zombie>(); bool useObjectCap2 = vis.UseObjectCap; if (useObjectCap2) { objarr = objarr.TakeLast(vis.ObjectCap).ToArray <Zombie>(); } for (int k2 = 0; k2 < objarr.Length; k2 = num + 1) { Zombie obj9 = objarr[k2]; objects.Add(new ESPObject(target, obj9, obj9.gameObject)); obj9 = null; num = k2; } break; } case ESPTarget.Предметы: { InteractableItem[] objarr2 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableItem>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableItem>(); bool useObjectCap3 = vis.UseObjectCap; if (useObjectCap3) { objarr2 = objarr2.TakeLast(vis.ObjectCap).ToArray <InteractableItem>(); } for (int l = 0; l < objarr2.Length; l = num + 1) { InteractableItem obj2 = objarr2[l]; bool flag4 = ItemUtilities.Whitelisted(obj2.asset, ItemOptions.ItemESPOptions) || !ESPOptions.FilterItems; if (flag4) { objects.Add(new ESPObject(target, obj2, obj2.gameObject)); } obj2 = null; num = l; } break; } case ESPTarget.Турели: { InteractableSentry[] objarr3 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableSentry>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableSentry>(); bool useObjectCap4 = vis.UseObjectCap; if (useObjectCap4) { objarr3 = objarr3.TakeLast(vis.ObjectCap).ToArray <InteractableSentry>(); } for (int m = 0; m < objarr3.Length; m = num + 1) { InteractableSentry obj3 = objarr3[m]; objects.Add(new ESPObject(target, obj3, obj3.gameObject)); obj3 = null; num = m; } break; } case ESPTarget.Кровати: { InteractableBed[] objarr4 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableBed>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableBed>(); bool useObjectCap5 = vis.UseObjectCap; if (useObjectCap5) { objarr4 = objarr4.TakeLast(vis.ObjectCap).ToArray <InteractableBed>(); } for (int n = 0; n < objarr4.Length; n = num + 1) { InteractableBed obj4 = objarr4[n]; objects.Add(new ESPObject(target, obj4, obj4.gameObject)); obj4 = null; num = n; } break; } case ESPTarget.КлеймФлаги: { InteractableClaim[] objarr5 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableClaim>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableClaim>(); bool useObjectCap6 = vis.UseObjectCap; if (useObjectCap6) { objarr5 = objarr5.TakeLast(vis.ObjectCap).ToArray <InteractableClaim>(); } for (int j2 = 0; j2 < objarr5.Length; j2 = num + 1) { InteractableClaim obj5 = objarr5[j2]; objects.Add(new ESPObject(target, obj5, obj5.gameObject)); obj5 = null; num = j2; } break; } case ESPTarget.Транспорт: { InteractableVehicle[] objarr6 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableVehicle>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableVehicle>(); bool useObjectCap7 = vis.UseObjectCap; if (useObjectCap7) { objarr6 = objarr6.TakeLast(vis.ObjectCap).ToArray <InteractableVehicle>(); } for (int j3 = 0; j3 < objarr6.Length; j3 = num + 1) { InteractableVehicle obj6 = objarr6[j3]; bool isDead = obj6.isDead; if (!isDead) { objects.Add(new ESPObject(target, obj6, obj6.gameObject)); obj6 = null; } num = j3; } break; } case ESPTarget.Ящики: { InteractableStorage[] objarr7 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableStorage>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableStorage>(); bool useObjectCap8 = vis.UseObjectCap; if (useObjectCap8) { objarr7 = objarr7.TakeLast(vis.ObjectCap).ToArray <InteractableStorage>(); } for (int j4 = 0; j4 < objarr7.Length; j4 = num + 1) { InteractableStorage obj7 = objarr7[j4]; objects.Add(new ESPObject(target, obj7, obj7.gameObject)); obj7 = null; num = j4; } break; } case ESPTarget.Генераторы: { InteractableGenerator[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableGenerator>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableGenerator>(); bool useObjectCap9 = vis.UseObjectCap; if (useObjectCap9) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <InteractableGenerator>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { InteractableGenerator obj8 = objarr8[j5]; objects.Add(new ESPObject(target, obj8, obj8.gameObject)); obj8 = null; num = j5; } break; } case ESPTarget.Животные: { Animal[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <Animal>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <Animal>(); bool useObjectCap9 = vis.UseObjectCap; if (useObjectCap9) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <Animal>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { Animal obj8 = objarr8[j5]; objects.Add(new ESPObject(target, obj8, obj8.gameObject)); obj8 = null; num = j5; } break; } case ESPTarget.Ловшуки: { InteractableTrap[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableTrap>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableTrap>(); bool useObjectCap9 = vis.UseObjectCap; if (useObjectCap9) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <InteractableTrap>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { InteractableTrap obj8 = objarr8[j5]; objects.Add(new ESPObject(target, obj8, obj8.gameObject)); obj8 = null; num = j5; } break; } case ESPTarget.Аирдропы: { Carepackage[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <Carepackage>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <Carepackage>(); bool useObjectCap9 = vis.UseObjectCap; if (useObjectCap9) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <Carepackage>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { Carepackage obj8 = objarr8[j5]; objects.Add(new ESPObject(target, obj8, obj8.gameObject)); obj8 = null; num = j5; } break; } case ESPTarget.Двери: { InteractableDoorHinge[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableDoorHinge>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableDoorHinge>(); bool useObjectCap9 = vis.UseObjectCap; if (useObjectCap9) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <InteractableDoorHinge>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { InteractableDoorHinge obj8 = objarr8[j5]; objects.Add(new ESPObject(target, obj8, obj8.gameObject)); obj8 = null; num = j5; } break; } case ESPTarget.Ягоды: { InteractableForage[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableForage>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableForage>(); bool useObjectCap9 = vis.UseObjectCap; if (useObjectCap9) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <InteractableForage>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { InteractableForage obj8 = objarr8[j5]; objects.Add(new ESPObject(target, obj8, obj8.gameObject)); obj8 = null; num = j5; } break; } case ESPTarget.астения: { InteractableFarm[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableFarm>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableFarm>(); bool useObjectCap9 = vis.UseObjectCap; if (useObjectCap9) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <InteractableFarm>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { InteractableFarm obj8 = objarr8[j5]; objects.Add(new ESPObject(target, obj8, obj8.gameObject)); obj8 = null; num = j5; } break; } case ESPTarget.C4: { InteractableCharge[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableCharge>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableCharge>(); bool useObjectCap9 = vis.UseObjectCap; if (useObjectCap9) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <InteractableCharge>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { InteractableCharge obj8 = objarr8[j5]; objects.Add(new ESPObject(target, obj8, obj8.gameObject)); obj8 = null; num = j5; } break; } case ESPTarget.Fire: { InteractableFire[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableFire>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableFire>(); bool useObjectCap9 = vis.UseObjectCap; if (useObjectCap9) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <InteractableFire>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { InteractableFire obj8 = objarr8[j5]; objects.Add(new ESPObject(target, obj8, obj8.gameObject)); obj8 = null; num = j5; } break; } case ESPTarget.Лампы: { InteractableSpot[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableSpot>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableSpot>(); bool useObjectCap9 = vis.UseObjectCap; if (useObjectCap9) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <InteractableSpot>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { InteractableSpot obj8 = objarr8[j5]; objects.Add(new ESPObject(target, obj8, obj8.gameObject)); obj8 = null; num = j5; } break; } case ESPTarget.Топливо: { InteractableObjectResource[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableObjectResource>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableObjectResource>(); bool useObjectCap9 = vis.UseObjectCap; if (useObjectCap9) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <InteractableObjectResource>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { InteractableObjectResource obj8 = objarr8[j5]; objects.Add(new ESPObject(target, obj8, obj8.gameObject)); obj8 = null; num = j5; } break; } case ESPTarget.Генератор_безопасной_зоны: { InteractableSafezone[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableSafezone>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableSafezone>(); bool useObjectCap9 = vis.UseObjectCap; if (useObjectCap9) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <InteractableSafezone>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { InteractableSafezone obj8 = objarr8[j5]; objects.Add(new ESPObject(target, obj8, obj8.gameObject)); obj8 = null; num = j5; } break; } case ESPTarget.Генератор_Воздуха: { InteractableOxygenator[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <InteractableOxygenator>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <InteractableOxygenator>(); bool useObjectCap9 = vis.UseObjectCap; if (useObjectCap9) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <InteractableOxygenator>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { InteractableOxygenator obj8 = objarr8[j5]; objects.Add(new ESPObject(target, obj8, obj8.gameObject)); obj8 = null; num = j5; } break; } case ESPTarget.NPC: { ResourceManager[] objarr8 = (from obj in UnityEngine.Object.FindObjectsOfType <ResourceManager>() orderby VectorUtilities.GetDistance(pPos, obj.transform.position) descending select obj).ToArray <ResourceManager>(); bool useObjectCap9 = vis.UseObjectCap; if (useObjectCap9) { objarr8 = objarr8.TakeLast(vis.ObjectCap).ToArray <ResourceManager>(); } for (int j5 = 0; j5 < objarr8.Length; j5 = num + 1) { ResourceManager obj8 = objarr8[j5]; objects.Add(new ESPObject(target, obj8, obj8.gameObject)); obj8 = null; num = j5; } break; } } } num = i; } yield return(new WaitForSeconds(5f)); objects = null; targets = null; } } }