Esempio n. 1
0
        public static NetworkEntityManagerPlayerProxy UpdateTargetSelector(NetworkEntityManagerPlayerProxy[] players, NetworkEntityManagerPlayerOwner owner)
        {
            NetworkEntityManagerPlayerProxy target = null;
            var mouseDistance = Mathf.Infinity; // dystans myszki do gracza

            foreach (var player in players)
            {
                if (player == null)
                {
                    continue;
                }
                var distance = Vector3.Distance(owner.transform.position, player.transform.position);
                if (distance > 500f)
                {
                    continue;
                }


                var distanceVec3 = Vector2.Distance(Input.mousePosition, Camera.main.WorldToScreenPoint(player.transform.position));

                Debug.Log($"{player.GetProxyName()} {distanceVec3}");

                if (distanceVec3 < mouseDistance)
                {
                    mouseDistance = distanceVec3;
                    target        = player;
                }
            }
            if (target != null)
            {
                Debug.Log($"{target.GetProxyName()} {mouseDistance}");
            }
            return(target);
        }
Esempio n. 2
0
        public static void AimCorrection(NetworkEntityManagerPlayerProxy target, ref Vector3 vector, float distance, float bulletSpeed, float gravity = 10f) //9,81f // 10 in game
        {
            vector = vector + target.GetVelocity() * (distance / Math.Abs(bulletSpeed));
            vector = vector - new Vector3(0f, 0f, 0f) * (distance / Math.Abs(bulletSpeed)); // vector to nasza predkosc
            var mDistanse = distance / Math.Abs(bulletSpeed);

            vector.y += 0.5f * Gravity * mDistanse * mDistanse;
        }
Esempio n. 3
0
        private void HuamnAimbot(NetworkEntityManagerPlayerProxy myTarget = null)
        {
            try
            {
                var target = myTarget ?? AimExtensions.UpdateTargetSelector(Players, ManagerPlayerOwner);

                if (target != null && target.IsNullOrDestroyed() == false)
                {
                    var     weapon = ManagerPlayerOwner.GetWeaponCode();
                    Vector3 bodyPosition;

                    switch (weapon)
                    {
                    case ItemCode.Shotgun:
                        bodyPosition = target.GetBone(EHitboxItem.Chest).transform.position;
                        break;

                    case ItemCode.Spear:
                        bodyPosition = target.GetBone(EHitboxItem.Heart).transform.position;
                        break;

                    default:
                        bodyPosition = target.GetBone(EHitboxItem.Head).transform.position;
                        break;
                    }

                    if (weapon != ItemCode.None)
                    {
                        AimExtensions.AimCorrection(target, ref bodyPosition, Vector3.Distance(bodyPosition, ManagerPlayerOwner.transform.position), ManagerPlayerOwner.GetWeaponBulletSpeed());
                    }


                    FpsInputController.AimAtVec3(bodyPosition);
                    _frameAimKey = true;
                    Target       = target;
                }
            }
            catch (Exception e)
            {
                Debug.Log(e);
            }
        }
Esempio n. 4
0
        /// <summary>
        ///     Get NetworkEntityManagerPlayerProxy velocity
        /// </summary>
        /// <param name="target">Target</param>
        /// <returns>Current velocity</returns>
        public static Vector3 GetVelocity(this NetworkEntityManagerPlayerProxy target)
        {
            try
            {
                var netMovementProxy = target.GetComponent <NetMovementProxy>();
                var time             = GetProxyTime(target);
                var delta            = GetProxyTime(target) - time;

                HistoryBufferTimeContainerNonSeq <NetMovementProxyState> historyBufferTimeContainerNonSeq;
                HistoryBufferTimeContainerNonSeq <NetMovementProxyState> historyBufferTimeContainerNonSeq2;
                if (netMovementProxy._history.FindTime(time + delta, out historyBufferTimeContainerNonSeq, out historyBufferTimeContainerNonSeq2) || historyBufferTimeContainerNonSeq != null && historyBufferTimeContainerNonSeq2 != null)
                {
                    var num3 = historyBufferTimeContainerNonSeq != historyBufferTimeContainerNonSeq2 ? historyBufferTimeContainerNonSeq.Time - historyBufferTimeContainerNonSeq2.Time : 1.0;
                    return((historyBufferTimeContainerNonSeq.Data.Position - historyBufferTimeContainerNonSeq2.Data.Position) / (float)(num3 * 0.05f));
                }
                return(new Vector3(0f, 0f, 0f));
            }
            catch (Exception e)
            {
                Debug.LogException(e);
                throw;
            }
        }