Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

AutoFarm Tree for Rust C#

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
9 Фев 2021
Сообщения
98
Реакции
27
C#:
Expand Collapse Copy
public static BufferList<BaseNetworkable> brrr()
        {
            ListDictionary<uint, BaseNetworkable> listDictionary = (ListDictionary<uint, BaseNetworkable>)test11111.GetValue(BaseNetworkable.clientEntities);
            return listDictionary.Values;
        }

        private static FieldInfo test11111 = typeof(BaseNetworkable.EntityRealm).GetField("entityList", BindingFlags.Instance | BindingFlags.NonPublic);
private IEnumerator farm()
        {
            while (true)
            {
                try
                {
                    if (LocalPlayer.Entity != null && BaseEntityEx.IsValid(LocalPlayer.Entity) && farm)
                    {
                        Vector3 vector = LocalPlayer.Entity.eyes.position;
                        HeldEntity heldEntity = LocalPlayer.Entity.GetHeldEntity();
                        if (heldEntity != null)
                        {
                            BaseEntity baseEntity = null;
                            BaseEntity baseEntity2 = null;
                            float num = float.MaxValue;
                            float num2 = float.MaxValue;
                            bool flag = false;
                            int itemid = heldEntity.GetItem().info.itemid;
                            if (itemid == -1506397857 || itemid == 1711033574 || itemid == -1583967946 || itemid == -1252059217 || itemid == -262590403 || itemid == 1104520648 || itemid == 963906841)
                            {
                                flag = true;
                            }
                            BufferList<BaseNetworkable> bufferList = brrr();
                            for (int i = 0; i < bufferList.Count; i++)
                            {
                                BaseEntity baseEntity3 = bufferList[i] as BaseEntity;
                                if (!(baseEntity3 == null) && BaseEntityEx.IsValid(baseEntity3))
                                {
                                    if (flag)
                                    {
                                        if (baseEntity3.prefabID == 954334883)
                                        {
                                            float num3 = Vector3.Distance(vector, baseEntity3.transform.position);
                                            if (num3 <= 5f && num3 < num)
                                            {
                                                baseEntity = baseEntity3;
                                                num = num3;
                                            }
                                        }
                                        else if (baseEntity3 is TreeEntity)
                                        {
                                            Vector3 position = baseEntity3.transform.position;
                                            position.y = vector.y;
                                            float num4 = Vector3.Distance(vector, position);
                                            if (num4 <= 3.5f && num4 < num2)
                                            {
                                                baseEntity2 = baseEntity3;
                                                num2 = num4;
                                            }
                                        }
                                    }
                                }
                            }
                            if (baseEntity2 != null)
                            {
                                Vector3 vector4;
                                RaycastHit raycastHit;
                                if (baseEntity != null)
                                {
                                    Vector3 vector3 = baseEntity2.transform.position - baseEntity.transform.position;
                                    vector3.y = 0f;
                                    vector3.Normalize();
                                    vector = baseEntity.transform.position - vector3;
                                    vector4 = baseEntity.transform.position;
                                }
                                else if (GamePhysics.Trace(new Ray(LocalPlayer.Entity.eyes.position, (baseEntity2.transform.position - LocalPlayer.Entity.eyes.position).normalized), 0f, out raycastHit, 15f, 1101212417, 0))
                                {
                                    vector4 = raycastHit.point;
                                }
                                else
                                {
                                    vector4 = baseEntity2.transform.position;
                                }
                                this.silent(vector, vector4, baseEntity2.net.ID, heldEntity);
                            }
                        }
                    }
                }
                catch (Exception)
                {
                }
                yield return new WaitForSeconds(0.1f);
            }
        }

        private void silent(Vector3 A_1, Vector3 A_2, uint A_3, HeldEntity A_4)
        {
            AttackEntity attackEntity = A_4 as AttackEntity;
            if (attackEntity == null)
            {
                return;
            }
            if (UnityEngine.Time.time - this.float_0 < attackEntity.repeatDelay)
            {
                return;
            }

            Ray ray = new Ray(A_1, (A_2 - A_1).normalized);
            using (PlayerAttack playerAttack = Facepunch.Pool.Get<PlayerAttack>())
            {
                using (Attack attack = Facepunch.Pool.Get<Attack>())
                {
                    playerAttack.attack = attack;
                    playerAttack.attack.hitID = A_3;
                    playerAttack.attack.hitPositionWorld = A_2;
                    playerAttack.attack.hitNormalWorld = ray.direction;
                    playerAttack.attack.pointStart = A_1;
                    playerAttack.attack.pointEnd = A_2;
                    attackEntity.ServerRPC<PlayerAttack>("PlayerAttack", playerAttack);
                }
            }
            this.float_0 = UnityEngine.Time.time;
        }
  private void Start()
        {
            StartCoroutine(farm());
  }
   private float float_0;
 
if (itemid == -1506397857 || itemid == 1711033574 || itemid == -1583967946 || itemid == -1252059217 || itemid == -262590403 || itemid == 1104520648 || itemid == 963906841)
ебанет? не должно
 
Назад
Сверху Снизу