Начинающий
- Статус
- Оффлайн
- Регистрация
- 9 Фев 2021
- Сообщения
- 98
- Реакции
- 27
C#:
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;