Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Обход античита AimBot to FunTime/Vulcan/Other AC FABRIC Лучше чем то что ниже.

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
30 Мар 2020
Сообщения
20
Реакции
1
Выберите загрузчик игры
  1. Fabric
Держите ёпта

JavaScript:
Expand Collapse Copy
@ModuleInfo(
name = "AimBot",
category = Category.COMBAT,
desc = "Наведение прицела."
)
public class AimBot extends Module {

public BooleanSetting player = new BooleanSetting("Игроки", true);
public BooleanSetting golyPlayer = new BooleanSetting("Голые", true);
public BooleanSetting mobs = new BooleanSetting("Мобы", false);
public BooleanSetting friend = new BooleanSetting("Друзья", false);
public MultiBooleanSetting targets = new MultiBooleanSetting(this,"Цели",player,golyPlayer,mobs,friend);
public SliderSetting speed = new SliderSetting(this,"Скорость",0.08F,0.02F,1.2F,0.01F);
public SliderSetting random = new SliderSetting(this,"Рандом",0.1F,0.0F,0.5F,0.01F);
public SliderSetting delay = new SliderSetting(this,"Задержка",2,1,10,1);
public BooleanSetting eatPause = new BooleanSetting("Пауза при еде", true);
public BooleanSetting blockPause = new BooleanSetting("Пауза при блоке", true);
public BooleanSetting onlyAttack = new BooleanSetting("Только при атаке", false);
public BooleanSetting silent = new BooleanSetting("Silent", false);

private static LivingEntity target;
private int delayCounter = 0;
private boolean wasAttacking = false;

@EventHandler
public void onEvent(EventTick event) {
if (mc.player == null || mc.world == null) return;

if (eatPause.getValue() && mc.player.isUsingItem()) return;
if (blockPause.getValue() && mc.player.isBlocking()) return;

if (onlyAttack.getValue()) {
boolean attacking = mc.options.attackKey.isPressed();
if (!attacking) {
wasAttacking = false;
return;
}
if (!wasAttacking && attacking) {
delayCounter = 0;
wasAttacking = true;
}
}

if (target == null || !isValidTarget(target)) {
updateTarget();
}

if (target == null) return;

if (delayCounter < delay.getValue().intValue()) {
delayCounter++;
return;
}
delayCounter = 0;

float spd = speed.getValue().floatValue();
float rnd = random.getValue().floatValue();
float currentSpeed = spd + (float)(Math.random() * rnd - rnd / 2);

Vec3d vec = target.getPos().add(0, MathHelper.clamp(mc.player.getEyePos().y - target.getY(), 0, 1), 0).subtract(mc.player.getEyePos()).normalize();

float targetYaw = (float) Math.toDegrees(Math.atan2(-vec.x, vec.z));
float currentYaw = mc.player.getYaw();
float yawDelta = MathHelper.wrapDegrees(targetYaw - currentYaw);

if (silent.getValue()) {
mc.player.setYaw(currentYaw + yawDelta * currentSpeed);
} else {
float smoothYaw = currentYaw + yawDelta * currentSpeed;
mc.player.setYaw(GCDUtil.applyGCD(smoothYaw, currentYaw));
}
}

private void updateTarget() {
LivingEntity bestTarget = null;
double bestAngle = Double.MAX_VALUE;
Vec3d eyePos = mc.player.getEyePos();
Vec3d lookVec = mc.player.getRotationVec(1.0F).normalize();

for (Entity entity : mc.world.getEntities()) {
if (!(entity instanceof LivingEntity living)) continue;
if (!isValidTarget(living)) continue;
Vec3d targetPos = living.getPos().add(0, living.getHeight() * 0.5, 0);
Vec3d toTarget = targetPos.subtract(eyePos).normalize();
double angle = Math.acos(MathHelper.clamp(lookVec.dotProduct(toTarget), -1.0, 1.0));
if (angle < bestAngle) {
bestAngle = angle;
bestTarget = living;
}
}
target = bestTarget;
}

private boolean isValidTarget(LivingEntity entity) {
if (entity instanceof ClientPlayerEntity) return false;
if (mc.player.distanceTo(entity) > 3.2) return false;
if (!mc.player.canSee(entity)) return false;

if (entity instanceof PlayerEntity p) {
if (ClientInit.inst().friendManager().isFriend(p.getName().getString()) && !friend.getValue()) return false;
}
if (entity instanceof PlayerEntity && !player.getValue()) return false;
if (entity instanceof PlayerEntity && entity.getArmorVisibility() <= 0 && !golyPlayer.getValue()) return false;
if (entity instanceof PlayerEntity && ((PlayerEntity) entity).isCreative()) return false;
if ((entity instanceof Monster || entity instanceof SlimeEntity || entity instanceof VillagerEntity || entity instanceof AnimalEntity) && !mobs.getValue()) return false;

return !entity.isInvulnerable() && entity.isAlive() && !(entity instanceof ArmorStandEntity);
}
}
В прошлом посте человека:

Render2DEvent - говно. Используйте EventTick


float speed = this.speed.getValue(); // 0.08
float smoothYaw = currentYaw + yawDelta * speed;
Скорость должна быть от расстояния динамическая.
Отсутствовал overshoot
 
Назад
Сверху Снизу