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

Вопрос Помогите пофиксить килку

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
23 Фев 2024
Сообщения
11
Реакции
0
Я даун-вайбкодер и ебучий дипсик уже не может мне помочь, ротация "уебанская" это типо под фт, но она бьет только если стоять рядом или быть близко к человеку и ходить рядом, а так же коррекции че то не работают, как можно пофиксить, помогите пж, я знаю что это хуета, но она так и называется почти
Килка:
Expand Collapse Copy
package zenith.zov.client.modules.impl.combat;

import com.darkmagician6.eventapi.EventTarget;
import lombok.Getter;
import net.minecraft.client.util.InputUtil;
import net.minecraft.entity.LivingEntity;
import net.minecraft.util.Pair;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.Vec3d;

import zenith.zov.Zenith;
import zenith.zov.base.events.impl.player.EventMoveInput;
import zenith.zov.base.events.impl.player.EventRotate;
import zenith.zov.base.player.AttackUtil;
import zenith.zov.base.rotation.RotationTarget;
import zenith.zov.client.modules.api.Category;
import zenith.zov.client.modules.api.Module;
import zenith.zov.client.modules.api.ModuleAnnotation;
import zenith.zov.client.modules.api.setting.impl.BooleanSetting;
import zenith.zov.client.modules.api.setting.impl.ModeSetting;
import zenith.zov.client.modules.api.setting.impl.MultiBooleanSetting;
import zenith.zov.client.modules.api.setting.impl.NumberSetting;
import zenith.zov.utility.game.player.*;
import zenith.zov.utility.game.player.rotation.Rotation;
import zenith.zov.utility.game.player.rotation.RotationUtil;

import java.util.ArrayList;
import java.util.List;

import static zenith.zov.utility.game.player.MovingUtil.fixMovement;

@ModuleAnnotation(name = "Aura", category = Category.COMBAT, description = "Бьет таргета")
public final class Aura extends Module {

    public static final Aura INSTANCE = new Aura();
    private Aura() {}

    // Режимы ротации
    private final ModeSetting rotationMode = new ModeSetting("Ротация");
    private final ModeSetting.Value hvh = new ModeSetting.Value(rotationMode, "ХВХ");
    private final ModeSetting.Value hollyworld = new ModeSetting.Value(rotationMode, "HollyWorld").select();
    private final ModeSetting.Value uebanskaya = new ModeSetting.Value(rotationMode, "Уебанская");

    // Режимы спринта
    private final ModeSetting sprintMode = new ModeSetting("Бег");
    private final ModeSetting.Value sprintHvh = new ModeSetting.Value(sprintMode, "ХВХ");
    private final ModeSetting.Value sprintNormal = new ModeSetting.Value(sprintMode, "Нормал").select();
    private final ModeSetting.Value sprintLegit = new ModeSetting.Value(sprintMode, "Легит");
    private final ModeSetting.Value sprintNone = new ModeSetting.Value(sprintMode, "Нет");

    // Коррекция движения
    private final ModeSetting correction = new ModeSetting("Коррекция");
    private final ModeSetting.Value correctionFocus = new ModeSetting.Value(correction, "Фокус");
    private final ModeSetting.Value correctionGood = new ModeSetting.Value(correction, "Свободная").select();
    private final ModeSetting.Value correctionNone = new ModeSetting.Value(correction, "Нет");

    // Дистанции
    private final NumberSetting distance = new NumberSetting("Дистанция", 3, 0.5f, 6, 0.1f, "Дистанция атаки");
    private final NumberSetting distanceRotation = new NumberSetting("Пре-дистанция", 0.1f, 0, 6, 0.1f);

    // Прочие настройки
    private final MultiBooleanSetting settings = new MultiBooleanSetting("Настройки");
    private final MultiBooleanSetting.Value shieldBreak = new MultiBooleanSetting.Value(settings, "Ломать щит", true);
    private final MultiBooleanSetting.Value shielRealese = new MultiBooleanSetting.Value(settings, "Отжимать щит", true);
    private final MultiBooleanSetting.Value eatUseAttack = new MultiBooleanSetting.Value(settings, "Бить и есть", true);
    private final MultiBooleanSetting.Value attackIgnoreWals = new MultiBooleanSetting.Value(settings, "Бить через стены", true);

    // Типы целей
    private final MultiBooleanSetting targetTypeSetting = MultiBooleanSetting.create("Атаковать", List.of("Игроков", "Враждебных", "Мирных"));

    // Криты
    private final BooleanSetting onlyCrit = new BooleanSetting("Только криты", true);
    private final BooleanSetting smartCrit = new BooleanSetting("Умные криты", "Бьет критами если зажата кнопка прыжка", false, onlyCrit::isEnabled);

    // НАСТРОЙКИ ДЛЯ "УЕБАНСКОЙ" РОТАЦИИ (исправлены float-литералы)
    private final NumberSetting multiPointsCount = new NumberSetting("Кол-во точек", 3f, 1f, 5f, 1f, () -> uebanskaya.isSelected());
    private final NumberSetting smoothSnapSpeed = new NumberSetting("Плавность снапа", 0.4f, 0.1f, 1.0f, 0.05f, () -> uebanskaya.isSelected());
    private final BooleanSetting adaptivePoint = new BooleanSetting("Адаптивная точка", true, () -> uebanskaya.isSelected());

    // private
    private final TargetSelector targetSelector = new TargetSelector();
    private final PointFinder pointFinder = new PointFinder();
    private LivingEntity target = null;
    private boolean legitBackStop = false;
    @Getter
    private boolean preAttack = false;
    @Getter
    private boolean isCanAttack = false;

    // ========== МЕТОДЫ ДЛЯ МУЛЬТИПОИНТОВ И ПЛАВНОГО СНАПА ==========
    private List<Vec3d> getAttackPoints(LivingEntity entity) {
        List<Vec3d> points = new ArrayList<>();
        Box box = entity.getBoundingBox();
        int count = (int) multiPointsCount.getCurrent();

        if (count == 1) {
            points.add(box.getCenter());
        } else if (count == 2) {
            points.add(new Vec3d(box.getCenter().x, box.minY + 0.3, box.getCenter().z));
            points.add(new Vec3d(box.getCenter().x, box.maxY - 0.3, box.getCenter().z));
        } else if (count == 3) {
            points.add(new Vec3d(box.getCenter().x, box.minY + 0.2, box.getCenter().z)); // ноги
            points.add(box.getCenter()); // торс
            points.add(new Vec3d(box.getCenter().x, box.minY + entity.getEyeHeight(entity.getPose()), box.getCenter().z)); // голова
        } else if (count == 4) {
            points.add(new Vec3d(box.minX + 0.2, box.minY + 0.5, box.minZ + 0.2));
            points.add(new Vec3d(box.maxX - 0.2, box.minY + 0.5, box.minZ + 0.2));
            points.add(new Vec3d(box.minX + 0.2, box.minY + 1.2, box.minZ + 0.2));
            points.add(new Vec3d(box.maxX - 0.2, box.minY + 1.2, box.minZ + 0.2));
        } else { // 5 точек
            points.add(box.getCenter());
            points.add(new Vec3d(box.getCenter().x, box.minY + 0.2, box.getCenter().z));
            points.add(new Vec3d(box.getCenter().x, box.maxY - 0.2, box.getCenter().z));
            points.add(new Vec3d(box.minX + 0.3, box.minY + 0.8, box.getCenter().z));
            points.add(new Vec3d(box.maxX - 0.3, box.minY + 0.8, box.getCenter().z));
        }
        return points;
    }

    private Vec3d getBestPoint(LivingEntity entity, Rotation currentRot) {
        List<Vec3d> points = getAttackPoints(entity);
        if (points.isEmpty()) return entity.getBoundingBox().getCenter();
        if (!adaptivePoint.isEnabled()) {
            return points.get(points.size() / 2);
        }
        Vec3d eyes = mc.player.getEyePos();
        double bestDelta = Double.MAX_VALUE;
        Vec3d bestPoint = points.get(0);
        for (Vec3d point : points) {
            Rotation rot = RotationUtil.fromVec3d(point.subtract(eyes));
            float deltaYaw = Math.abs(rot.getYaw() - currentRot.getYaw());
            float deltaPitch = Math.abs(rot.getPitch() - currentRot.getPitch());
            double delta = Math.hypot(deltaYaw, deltaPitch);
            if (delta < bestDelta) {
                bestDelta = delta;
                bestPoint = point;
            }
        }
        return bestPoint;
    }

    private Rotation smoothSnap(Rotation target, Rotation current) {
        float yawDiff = target.getYaw() - current.getYaw();
        float pitchDiff = target.getPitch() - current.getPitch();
        while (yawDiff > 180) yawDiff -= 360;
        while (yawDiff < -180) yawDiff += 360;
        float step = smoothSnapSpeed.getCurrent();
        float newYaw = current.getYaw() + yawDiff * step;
        float newPitch = current.getPitch() + pitchDiff * step;
        return new Rotation(newYaw, newPitch);
    }

    @EventTarget
    public void eventRotate(EventRotate e) {
        if (legitBackStop) {
            legitBackStop = false;
            mc.options.forwardKey.setPressed(
                    InputUtil.isKeyPressed(mc.getWindow().getHandle(), mc.options.forwardKey.getDefaultKey().getCode())
            );
        }

        target = updateTarget();
        preAttack = false;
        isCanAttack = false;
        if (target == null) return;

        Pair<Vec3d, Box> point = pointFinder.computeVector(
                target,
                distance.getCurrent(),
                rotationManager.getCurrentRotation(),
                new Vec3d(0, 0, 0),
                attackIgnoreWals.isEnabled()
        );

        Vec3d eyes = SimulatedPlayer.simulateLocalPlayer(1).pos.add(0, mc.player.getDimensions(mc.player.getPose()).eyeHeight(), 0);
        Rotation angle = RotationUtil.fromVec3d(point.getLeft().subtract(eyes));

        Box box = point.getRight();
        preAttack = updatePreAttack();
        isCanAttack = isAttack();

        if (RaytracingUtil.rayTrace(rotationManager.getCurrentRotation().toVector(), distance.getCurrent(), box)
                && isCanAttack
                && (!Zenith.getInstance().getServerHandler().isServerSprint() || mc.player.isGliding() || AttackUtil.hasMovementRestrictions() || sprintHvh.isSelected() || sprintNone.isSelected())) {

            if (sprintHvh.isSelected()) {
                mc.player.setSprinting(false);
                mc.player.sendSprintingPacket();
            }

            AttackUtil.attackEntity(target);

            mc.options.sprintKey.setPressed(true);
        }
        preAttack = updatePreAttack();
        isCanAttack = isAttack();

        // НОВАЯ РОТАЦИЯ "УЕБАНСКАЯ"
        if (uebanskaya.isSelected()) {
            Vec3d bestPoint = getBestPoint(target, rotationManager.getCurrentRotation());
            Vec3d eyes2 = SimulatedPlayer.simulateLocalPlayer(1).pos.add(0, mc.player.getEyeHeight(mc.player.getPose()), 0);
            Rotation rawAngle = RotationUtil.fromVec3d(bestPoint.subtract(eyes2));
            Rotation currentRot = rotationManager.getCurrentRotation();
            Rotation smoothAngle = smoothSnap(rawAngle, currentRot);
            rotationManager.setRotation(
                    new RotationTarget(smoothAngle, () -> aimManager.rotate(aimManager.getAiSetup(), smoothAngle), aimManager.getAiSetup()),
                    3, this
            );
        }
        else if (hvh.isSelected()) {
            rotationManager.setRotation(
                    new RotationTarget(angle, () -> aimManager.rotate(aimManager.getInstantSetup(), angle), aimManager.getInstantSetup()),
                    3, this
            );
        }
        else if (hollyworld.isSelected() && (preAttack || isCanAttack)) {
            rotationManager.setRotation(
                    new RotationTarget(angle, () -> aimManager.rotate(aimManager.getAiSetup(), angle), aimManager.getAiSetup()),
                    3, this
            );
        }

        if (preAttack || isCanAttack) {
            updateSprint();
        }
    }

    private boolean updatePreAttack() {
        SimulatedPlayer simulatedPlayer = SimulatedPlayer.simulateLocalPlayer(1);

        if (mc.player.isUsingItem() && !eatUseAttack.isEnabled()) return false;
        if (mc.player.getAttackCooldownProgress(1) < 0.9) return false;

        if (onlyCrit.isEnabled() && !AttackUtil.hasPreMovementRestrictions(simulatedPlayer)) {
            return AttackUtil.isPrePlayerInCriticalState(simulatedPlayer) || (smartCrit.isEnabled() && !mc.options.jumpKey.isPressed());
        }
        return true;
    }

    private boolean isAttack() {
        if (mc.player.isUsingItem() && !eatUseAttack.isEnabled()) return false;
        if (mc.player.getAttackCooldownProgress(1) < 0.9) return false;

        if (onlyCrit.isEnabled() && !AttackUtil.hasMovementRestrictions()) {
            return AttackUtil.isPlayerInCriticalState() || (smartCrit.isEnabled() && !mc.options.jumpKey.isPressed());
        }
        return true;
    }

    public void updateSprint() {
        if (!hasStopSprint()) return;

        boolean sprint = mc.options.sprintKey.isPressed();
        boolean forward = mc.options.forwardKey.isPressed();

        if (sprintLegit.isSelected()) {
            sprint = false;
            if (mc.player.isSprinting()) {
                forward = false;
                legitBackStop = true;
            }
        }

        if (sprintNormal.isSelected()) {
            if (mc.player.isSprinting()) mc.player.setSprinting(false);
            sprint = false;
        }

        mc.options.sprintKey.setPressed(sprint);
        mc.options.forwardKey.setPressed(forward);
    }

    public boolean hasStopSprint() {
        return !sprintNone.isSelected() && !AttackUtil.hasMovementRestrictions();
    }

    private LivingEntity updateTarget() {
        TargetSelector.EntityFilter filter = new TargetSelector.EntityFilter(targetTypeSetting.getSelectedNames());
        targetSelector.searchTargets(mc.world.getEntities(), distance.getCurrent() + distanceRotation.getCurrent(), attackIgnoreWals.isEnabled());
        targetSelector.validateTarget(filter::isValid);
        return targetSelector.getCurrentTarget();
    }

    @EventTarget
    private void setCorrection(EventMoveInput eventMoveInput) {
        if (correctionNone.isSelected()) return;

        if (correctionFocus.isSelected()) {
            Rotation angle = RotationUtil.fromVec3d(target.getBoundingBox().getCenter().subtract(mc.player.getBoundingBox().getCenter()));
            fixMovement(eventMoveInput, rotationManager.getCurrentRotation().getYaw(), angle.getYaw());
        } else {
            fixMovement(eventMoveInput, rotationManager.getCurrentRotation().getYaw(), mc.player.getYaw());
        }
    }

    public LivingEntity getTarget() {
        return this.isEnabled() ? target : null;
    }
}
 
Я даун-вайбкодер и ебучий дипсик уже не может мне помочь, ротация "уебанская" это типо под фт, но она бьет только если стоять рядом или быть близко к человеку и ходить рядом, а так же коррекции че то не работают, как можно пофиксить, помогите пж, я знаю что это хуета, но она так и называется почти
Килка:
Expand Collapse Copy
package zenith.zov.client.modules.impl.combat;

import com.darkmagician6.eventapi.EventTarget;
import lombok.Getter;
import net.minecraft.client.util.InputUtil;
import net.minecraft.entity.LivingEntity;
import net.minecraft.util.Pair;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.Vec3d;

import zenith.zov.Zenith;
import zenith.zov.base.events.impl.player.EventMoveInput;
import zenith.zov.base.events.impl.player.EventRotate;
import zenith.zov.base.player.AttackUtil;
import zenith.zov.base.rotation.RotationTarget;
import zenith.zov.client.modules.api.Category;
import zenith.zov.client.modules.api.Module;
import zenith.zov.client.modules.api.ModuleAnnotation;
import zenith.zov.client.modules.api.setting.impl.BooleanSetting;
import zenith.zov.client.modules.api.setting.impl.ModeSetting;
import zenith.zov.client.modules.api.setting.impl.MultiBooleanSetting;
import zenith.zov.client.modules.api.setting.impl.NumberSetting;
import zenith.zov.utility.game.player.*;
import zenith.zov.utility.game.player.rotation.Rotation;
import zenith.zov.utility.game.player.rotation.RotationUtil;

import java.util.ArrayList;
import java.util.List;

import static zenith.zov.utility.game.player.MovingUtil.fixMovement;

@ModuleAnnotation(name = "Aura", category = Category.COMBAT, description = "Бьет таргета")
public final class Aura extends Module {

    public static final Aura INSTANCE = new Aura();
    private Aura() {}

    // Режимы ротации
    private final ModeSetting rotationMode = new ModeSetting("Ротация");
    private final ModeSetting.Value hvh = new ModeSetting.Value(rotationMode, "ХВХ");
    private final ModeSetting.Value hollyworld = new ModeSetting.Value(rotationMode, "HollyWorld").select();
    private final ModeSetting.Value uebanskaya = new ModeSetting.Value(rotationMode, "Уебанская");

    // Режимы спринта
    private final ModeSetting sprintMode = new ModeSetting("Бег");
    private final ModeSetting.Value sprintHvh = new ModeSetting.Value(sprintMode, "ХВХ");
    private final ModeSetting.Value sprintNormal = new ModeSetting.Value(sprintMode, "Нормал").select();
    private final ModeSetting.Value sprintLegit = new ModeSetting.Value(sprintMode, "Легит");
    private final ModeSetting.Value sprintNone = new ModeSetting.Value(sprintMode, "Нет");

    // Коррекция движения
    private final ModeSetting correction = new ModeSetting("Коррекция");
    private final ModeSetting.Value correctionFocus = new ModeSetting.Value(correction, "Фокус");
    private final ModeSetting.Value correctionGood = new ModeSetting.Value(correction, "Свободная").select();
    private final ModeSetting.Value correctionNone = new ModeSetting.Value(correction, "Нет");

    // Дистанции
    private final NumberSetting distance = new NumberSetting("Дистанция", 3, 0.5f, 6, 0.1f, "Дистанция атаки");
    private final NumberSetting distanceRotation = new NumberSetting("Пре-дистанция", 0.1f, 0, 6, 0.1f);

    // Прочие настройки
    private final MultiBooleanSetting settings = new MultiBooleanSetting("Настройки");
    private final MultiBooleanSetting.Value shieldBreak = new MultiBooleanSetting.Value(settings, "Ломать щит", true);
    private final MultiBooleanSetting.Value shielRealese = new MultiBooleanSetting.Value(settings, "Отжимать щит", true);
    private final MultiBooleanSetting.Value eatUseAttack = new MultiBooleanSetting.Value(settings, "Бить и есть", true);
    private final MultiBooleanSetting.Value attackIgnoreWals = new MultiBooleanSetting.Value(settings, "Бить через стены", true);

    // Типы целей
    private final MultiBooleanSetting targetTypeSetting = MultiBooleanSetting.create("Атаковать", List.of("Игроков", "Враждебных", "Мирных"));

    // Криты
    private final BooleanSetting onlyCrit = new BooleanSetting("Только криты", true);
    private final BooleanSetting smartCrit = new BooleanSetting("Умные криты", "Бьет критами если зажата кнопка прыжка", false, onlyCrit::isEnabled);

    // НАСТРОЙКИ ДЛЯ "УЕБАНСКОЙ" РОТАЦИИ (исправлены float-литералы)
    private final NumberSetting multiPointsCount = new NumberSetting("Кол-во точек", 3f, 1f, 5f, 1f, () -> uebanskaya.isSelected());
    private final NumberSetting smoothSnapSpeed = new NumberSetting("Плавность снапа", 0.4f, 0.1f, 1.0f, 0.05f, () -> uebanskaya.isSelected());
    private final BooleanSetting adaptivePoint = new BooleanSetting("Адаптивная точка", true, () -> uebanskaya.isSelected());

    // private
    private final TargetSelector targetSelector = new TargetSelector();
    private final PointFinder pointFinder = new PointFinder();
    private LivingEntity target = null;
    private boolean legitBackStop = false;
    @Getter
    private boolean preAttack = false;
    @Getter
    private boolean isCanAttack = false;

    // ========== МЕТОДЫ ДЛЯ МУЛЬТИПОИНТОВ И ПЛАВНОГО СНАПА ==========
    private List<Vec3d> getAttackPoints(LivingEntity entity) {
        List<Vec3d> points = new ArrayList<>();
        Box box = entity.getBoundingBox();
        int count = (int) multiPointsCount.getCurrent();

        if (count == 1) {
            points.add(box.getCenter());
        } else if (count == 2) {
            points.add(new Vec3d(box.getCenter().x, box.minY + 0.3, box.getCenter().z));
            points.add(new Vec3d(box.getCenter().x, box.maxY - 0.3, box.getCenter().z));
        } else if (count == 3) {
            points.add(new Vec3d(box.getCenter().x, box.minY + 0.2, box.getCenter().z)); // ноги
            points.add(box.getCenter()); // торс
            points.add(new Vec3d(box.getCenter().x, box.minY + entity.getEyeHeight(entity.getPose()), box.getCenter().z)); // голова
        } else if (count == 4) {
            points.add(new Vec3d(box.minX + 0.2, box.minY + 0.5, box.minZ + 0.2));
            points.add(new Vec3d(box.maxX - 0.2, box.minY + 0.5, box.minZ + 0.2));
            points.add(new Vec3d(box.minX + 0.2, box.minY + 1.2, box.minZ + 0.2));
            points.add(new Vec3d(box.maxX - 0.2, box.minY + 1.2, box.minZ + 0.2));
        } else { // 5 точек
            points.add(box.getCenter());
            points.add(new Vec3d(box.getCenter().x, box.minY + 0.2, box.getCenter().z));
            points.add(new Vec3d(box.getCenter().x, box.maxY - 0.2, box.getCenter().z));
            points.add(new Vec3d(box.minX + 0.3, box.minY + 0.8, box.getCenter().z));
            points.add(new Vec3d(box.maxX - 0.3, box.minY + 0.8, box.getCenter().z));
        }
        return points;
    }

    private Vec3d getBestPoint(LivingEntity entity, Rotation currentRot) {
        List<Vec3d> points = getAttackPoints(entity);
        if (points.isEmpty()) return entity.getBoundingBox().getCenter();
        if (!adaptivePoint.isEnabled()) {
            return points.get(points.size() / 2);
        }
        Vec3d eyes = mc.player.getEyePos();
        double bestDelta = Double.MAX_VALUE;
        Vec3d bestPoint = points.get(0);
        for (Vec3d point : points) {
            Rotation rot = RotationUtil.fromVec3d(point.subtract(eyes));
            float deltaYaw = Math.abs(rot.getYaw() - currentRot.getYaw());
            float deltaPitch = Math.abs(rot.getPitch() - currentRot.getPitch());
            double delta = Math.hypot(deltaYaw, deltaPitch);
            if (delta < bestDelta) {
                bestDelta = delta;
                bestPoint = point;
            }
        }
        return bestPoint;
    }

    private Rotation smoothSnap(Rotation target, Rotation current) {
        float yawDiff = target.getYaw() - current.getYaw();
        float pitchDiff = target.getPitch() - current.getPitch();
        while (yawDiff > 180) yawDiff -= 360;
        while (yawDiff < -180) yawDiff += 360;
        float step = smoothSnapSpeed.getCurrent();
        float newYaw = current.getYaw() + yawDiff * step;
        float newPitch = current.getPitch() + pitchDiff * step;
        return new Rotation(newYaw, newPitch);
    }

    @EventTarget
    public void eventRotate(EventRotate e) {
        if (legitBackStop) {
            legitBackStop = false;
            mc.options.forwardKey.setPressed(
                    InputUtil.isKeyPressed(mc.getWindow().getHandle(), mc.options.forwardKey.getDefaultKey().getCode())
            );
        }

        target = updateTarget();
        preAttack = false;
        isCanAttack = false;
        if (target == null) return;

        Pair<Vec3d, Box> point = pointFinder.computeVector(
                target,
                distance.getCurrent(),
                rotationManager.getCurrentRotation(),
                new Vec3d(0, 0, 0),
                attackIgnoreWals.isEnabled()
        );

        Vec3d eyes = SimulatedPlayer.simulateLocalPlayer(1).pos.add(0, mc.player.getDimensions(mc.player.getPose()).eyeHeight(), 0);
        Rotation angle = RotationUtil.fromVec3d(point.getLeft().subtract(eyes));

        Box box = point.getRight();
        preAttack = updatePreAttack();
        isCanAttack = isAttack();

        if (RaytracingUtil.rayTrace(rotationManager.getCurrentRotation().toVector(), distance.getCurrent(), box)
                && isCanAttack
                && (!Zenith.getInstance().getServerHandler().isServerSprint() || mc.player.isGliding() || AttackUtil.hasMovementRestrictions() || sprintHvh.isSelected() || sprintNone.isSelected())) {

            if (sprintHvh.isSelected()) {
                mc.player.setSprinting(false);
                mc.player.sendSprintingPacket();
            }

            AttackUtil.attackEntity(target);

            mc.options.sprintKey.setPressed(true);
        }
        preAttack = updatePreAttack();
        isCanAttack = isAttack();

        // НОВАЯ РОТАЦИЯ "УЕБАНСКАЯ"
        if (uebanskaya.isSelected()) {
            Vec3d bestPoint = getBestPoint(target, rotationManager.getCurrentRotation());
            Vec3d eyes2 = SimulatedPlayer.simulateLocalPlayer(1).pos.add(0, mc.player.getEyeHeight(mc.player.getPose()), 0);
            Rotation rawAngle = RotationUtil.fromVec3d(bestPoint.subtract(eyes2));
            Rotation currentRot = rotationManager.getCurrentRotation();
            Rotation smoothAngle = smoothSnap(rawAngle, currentRot);
            rotationManager.setRotation(
                    new RotationTarget(smoothAngle, () -> aimManager.rotate(aimManager.getAiSetup(), smoothAngle), aimManager.getAiSetup()),
                    3, this
            );
        }
        else if (hvh.isSelected()) {
            rotationManager.setRotation(
                    new RotationTarget(angle, () -> aimManager.rotate(aimManager.getInstantSetup(), angle), aimManager.getInstantSetup()),
                    3, this
            );
        }
        else if (hollyworld.isSelected() && (preAttack || isCanAttack)) {
            rotationManager.setRotation(
                    new RotationTarget(angle, () -> aimManager.rotate(aimManager.getAiSetup(), angle), aimManager.getAiSetup()),
                    3, this
            );
        }

        if (preAttack || isCanAttack) {
            updateSprint();
        }
    }

    private boolean updatePreAttack() {
        SimulatedPlayer simulatedPlayer = SimulatedPlayer.simulateLocalPlayer(1);

        if (mc.player.isUsingItem() && !eatUseAttack.isEnabled()) return false;
        if (mc.player.getAttackCooldownProgress(1) < 0.9) return false;

        if (onlyCrit.isEnabled() && !AttackUtil.hasPreMovementRestrictions(simulatedPlayer)) {
            return AttackUtil.isPrePlayerInCriticalState(simulatedPlayer) || (smartCrit.isEnabled() && !mc.options.jumpKey.isPressed());
        }
        return true;
    }

    private boolean isAttack() {
        if (mc.player.isUsingItem() && !eatUseAttack.isEnabled()) return false;
        if (mc.player.getAttackCooldownProgress(1) < 0.9) return false;

        if (onlyCrit.isEnabled() && !AttackUtil.hasMovementRestrictions()) {
            return AttackUtil.isPlayerInCriticalState() || (smartCrit.isEnabled() && !mc.options.jumpKey.isPressed());
        }
        return true;
    }

    public void updateSprint() {
        if (!hasStopSprint()) return;

        boolean sprint = mc.options.sprintKey.isPressed();
        boolean forward = mc.options.forwardKey.isPressed();

        if (sprintLegit.isSelected()) {
            sprint = false;
            if (mc.player.isSprinting()) {
                forward = false;
                legitBackStop = true;
            }
        }

        if (sprintNormal.isSelected()) {
            if (mc.player.isSprinting()) mc.player.setSprinting(false);
            sprint = false;
        }

        mc.options.sprintKey.setPressed(sprint);
        mc.options.forwardKey.setPressed(forward);
    }

    public boolean hasStopSprint() {
        return !sprintNone.isSelected() && !AttackUtil.hasMovementRestrictions();
    }

    private LivingEntity updateTarget() {
        TargetSelector.EntityFilter filter = new TargetSelector.EntityFilter(targetTypeSetting.getSelectedNames());
        targetSelector.searchTargets(mc.world.getEntities(), distance.getCurrent() + distanceRotation.getCurrent(), attackIgnoreWals.isEnabled());
        targetSelector.validateTarget(filter::isValid);
        return targetSelector.getCurrentTarget();
    }

    @EventTarget
    private void setCorrection(EventMoveInput eventMoveInput) {
        if (correctionNone.isSelected()) return;

        if (correctionFocus.isSelected()) {
            Rotation angle = RotationUtil.fromVec3d(target.getBoundingBox().getCenter().subtract(mc.player.getBoundingBox().getCenter()));
            fixMovement(eventMoveInput, rotationManager.getCurrentRotation().getYaw(), angle.getYaw());
        } else {
            fixMovement(eventMoveInput, rotationManager.getCurrentRotation().getYaw(), mc.player.getYaw());
        }
    }

    public LivingEntity getTarget() {
        return this.isEnabled() ? target : null;
    }
}
пастерыыыы ааааааа

РАБОТАЙ МОЙ РОДНЕНЬКИЙ ЧАТ ДЖБТ
 
Потому что ротации в зените рекод НЕ В АУРЕ СУКА
мне крутой дип сик сказал что в ауре, но он меня заебал хз какой нейронкой пользоваться
Потому что ротации в зените рекод НЕ В АУРЕ СУКА
а где? я сам сколько искал так и не нашел
 
Я даун-вайбкодер и ебучий дипсик уже не может мне помочь, ротация "уебанская" это типо под фт, но она бьет только если стоять рядом или быть близко к человеку и ходить рядом, а так же коррекции че то не работают, как можно пофиксить, помогите пж, я знаю что это хуета, но она так и называется почти
Килка:
Expand Collapse Copy
package zenith.zov.client.modules.impl.combat;

import com.darkmagician6.eventapi.EventTarget;
import lombok.Getter;
import net.minecraft.client.util.InputUtil;
import net.minecraft.entity.LivingEntity;
import net.minecraft.util.Pair;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.Vec3d;

import zenith.zov.Zenith;
import zenith.zov.base.events.impl.player.EventMoveInput;
import zenith.zov.base.events.impl.player.EventRotate;
import zenith.zov.base.player.AttackUtil;
import zenith.zov.base.rotation.RotationTarget;
import zenith.zov.client.modules.api.Category;
import zenith.zov.client.modules.api.Module;
import zenith.zov.client.modules.api.ModuleAnnotation;
import zenith.zov.client.modules.api.setting.impl.BooleanSetting;
import zenith.zov.client.modules.api.setting.impl.ModeSetting;
import zenith.zov.client.modules.api.setting.impl.MultiBooleanSetting;
import zenith.zov.client.modules.api.setting.impl.NumberSetting;
import zenith.zov.utility.game.player.*;
import zenith.zov.utility.game.player.rotation.Rotation;
import zenith.zov.utility.game.player.rotation.RotationUtil;

import java.util.ArrayList;
import java.util.List;

import static zenith.zov.utility.game.player.MovingUtil.fixMovement;

@ModuleAnnotation(name = "Aura", category = Category.COMBAT, description = "Бьет таргета")
public final class Aura extends Module {

    public static final Aura INSTANCE = new Aura();
    private Aura() {}

    // Режимы ротации
    private final ModeSetting rotationMode = new ModeSetting("Ротация");
    private final ModeSetting.Value hvh = new ModeSetting.Value(rotationMode, "ХВХ");
    private final ModeSetting.Value hollyworld = new ModeSetting.Value(rotationMode, "HollyWorld").select();
    private final ModeSetting.Value uebanskaya = new ModeSetting.Value(rotationMode, "Уебанская");

    // Режимы спринта
    private final ModeSetting sprintMode = new ModeSetting("Бег");
    private final ModeSetting.Value sprintHvh = new ModeSetting.Value(sprintMode, "ХВХ");
    private final ModeSetting.Value sprintNormal = new ModeSetting.Value(sprintMode, "Нормал").select();
    private final ModeSetting.Value sprintLegit = new ModeSetting.Value(sprintMode, "Легит");
    private final ModeSetting.Value sprintNone = new ModeSetting.Value(sprintMode, "Нет");

    // Коррекция движения
    private final ModeSetting correction = new ModeSetting("Коррекция");
    private final ModeSetting.Value correctionFocus = new ModeSetting.Value(correction, "Фокус");
    private final ModeSetting.Value correctionGood = new ModeSetting.Value(correction, "Свободная").select();
    private final ModeSetting.Value correctionNone = new ModeSetting.Value(correction, "Нет");

    // Дистанции
    private final NumberSetting distance = new NumberSetting("Дистанция", 3, 0.5f, 6, 0.1f, "Дистанция атаки");
    private final NumberSetting distanceRotation = new NumberSetting("Пре-дистанция", 0.1f, 0, 6, 0.1f);

    // Прочие настройки
    private final MultiBooleanSetting settings = new MultiBooleanSetting("Настройки");
    private final MultiBooleanSetting.Value shieldBreak = new MultiBooleanSetting.Value(settings, "Ломать щит", true);
    private final MultiBooleanSetting.Value shielRealese = new MultiBooleanSetting.Value(settings, "Отжимать щит", true);
    private final MultiBooleanSetting.Value eatUseAttack = new MultiBooleanSetting.Value(settings, "Бить и есть", true);
    private final MultiBooleanSetting.Value attackIgnoreWals = new MultiBooleanSetting.Value(settings, "Бить через стены", true);

    // Типы целей
    private final MultiBooleanSetting targetTypeSetting = MultiBooleanSetting.create("Атаковать", List.of("Игроков", "Враждебных", "Мирных"));

    // Криты
    private final BooleanSetting onlyCrit = new BooleanSetting("Только криты", true);
    private final BooleanSetting smartCrit = new BooleanSetting("Умные криты", "Бьет критами если зажата кнопка прыжка", false, onlyCrit::isEnabled);

    // НАСТРОЙКИ ДЛЯ "УЕБАНСКОЙ" РОТАЦИИ (исправлены float-литералы)
    private final NumberSetting multiPointsCount = new NumberSetting("Кол-во точек", 3f, 1f, 5f, 1f, () -> uebanskaya.isSelected());
    private final NumberSetting smoothSnapSpeed = new NumberSetting("Плавность снапа", 0.4f, 0.1f, 1.0f, 0.05f, () -> uebanskaya.isSelected());
    private final BooleanSetting adaptivePoint = new BooleanSetting("Адаптивная точка", true, () -> uebanskaya.isSelected());

    // private
    private final TargetSelector targetSelector = new TargetSelector();
    private final PointFinder pointFinder = new PointFinder();
    private LivingEntity target = null;
    private boolean legitBackStop = false;
    @Getter
    private boolean preAttack = false;
    @Getter
    private boolean isCanAttack = false;

    // ========== МЕТОДЫ ДЛЯ МУЛЬТИПОИНТОВ И ПЛАВНОГО СНАПА ==========
    private List<Vec3d> getAttackPoints(LivingEntity entity) {
        List<Vec3d> points = new ArrayList<>();
        Box box = entity.getBoundingBox();
        int count = (int) multiPointsCount.getCurrent();

        if (count == 1) {
            points.add(box.getCenter());
        } else if (count == 2) {
            points.add(new Vec3d(box.getCenter().x, box.minY + 0.3, box.getCenter().z));
            points.add(new Vec3d(box.getCenter().x, box.maxY - 0.3, box.getCenter().z));
        } else if (count == 3) {
            points.add(new Vec3d(box.getCenter().x, box.minY + 0.2, box.getCenter().z)); // ноги
            points.add(box.getCenter()); // торс
            points.add(new Vec3d(box.getCenter().x, box.minY + entity.getEyeHeight(entity.getPose()), box.getCenter().z)); // голова
        } else if (count == 4) {
            points.add(new Vec3d(box.minX + 0.2, box.minY + 0.5, box.minZ + 0.2));
            points.add(new Vec3d(box.maxX - 0.2, box.minY + 0.5, box.minZ + 0.2));
            points.add(new Vec3d(box.minX + 0.2, box.minY + 1.2, box.minZ + 0.2));
            points.add(new Vec3d(box.maxX - 0.2, box.minY + 1.2, box.minZ + 0.2));
        } else { // 5 точек
            points.add(box.getCenter());
            points.add(new Vec3d(box.getCenter().x, box.minY + 0.2, box.getCenter().z));
            points.add(new Vec3d(box.getCenter().x, box.maxY - 0.2, box.getCenter().z));
            points.add(new Vec3d(box.minX + 0.3, box.minY + 0.8, box.getCenter().z));
            points.add(new Vec3d(box.maxX - 0.3, box.minY + 0.8, box.getCenter().z));
        }
        return points;
    }

    private Vec3d getBestPoint(LivingEntity entity, Rotation currentRot) {
        List<Vec3d> points = getAttackPoints(entity);
        if (points.isEmpty()) return entity.getBoundingBox().getCenter();
        if (!adaptivePoint.isEnabled()) {
            return points.get(points.size() / 2);
        }
        Vec3d eyes = mc.player.getEyePos();
        double bestDelta = Double.MAX_VALUE;
        Vec3d bestPoint = points.get(0);
        for (Vec3d point : points) {
            Rotation rot = RotationUtil.fromVec3d(point.subtract(eyes));
            float deltaYaw = Math.abs(rot.getYaw() - currentRot.getYaw());
            float deltaPitch = Math.abs(rot.getPitch() - currentRot.getPitch());
            double delta = Math.hypot(deltaYaw, deltaPitch);
            if (delta < bestDelta) {
                bestDelta = delta;
                bestPoint = point;
            }
        }
        return bestPoint;
    }

    private Rotation smoothSnap(Rotation target, Rotation current) {
        float yawDiff = target.getYaw() - current.getYaw();
        float pitchDiff = target.getPitch() - current.getPitch();
        while (yawDiff > 180) yawDiff -= 360;
        while (yawDiff < -180) yawDiff += 360;
        float step = smoothSnapSpeed.getCurrent();
        float newYaw = current.getYaw() + yawDiff * step;
        float newPitch = current.getPitch() + pitchDiff * step;
        return new Rotation(newYaw, newPitch);
    }

    @EventTarget
    public void eventRotate(EventRotate e) {
        if (legitBackStop) {
            legitBackStop = false;
            mc.options.forwardKey.setPressed(
                    InputUtil.isKeyPressed(mc.getWindow().getHandle(), mc.options.forwardKey.getDefaultKey().getCode())
            );
        }

        target = updateTarget();
        preAttack = false;
        isCanAttack = false;
        if (target == null) return;

        Pair<Vec3d, Box> point = pointFinder.computeVector(
                target,
                distance.getCurrent(),
                rotationManager.getCurrentRotation(),
                new Vec3d(0, 0, 0),
                attackIgnoreWals.isEnabled()
        );

        Vec3d eyes = SimulatedPlayer.simulateLocalPlayer(1).pos.add(0, mc.player.getDimensions(mc.player.getPose()).eyeHeight(), 0);
        Rotation angle = RotationUtil.fromVec3d(point.getLeft().subtract(eyes));

        Box box = point.getRight();
        preAttack = updatePreAttack();
        isCanAttack = isAttack();

        if (RaytracingUtil.rayTrace(rotationManager.getCurrentRotation().toVector(), distance.getCurrent(), box)
                && isCanAttack
                && (!Zenith.getInstance().getServerHandler().isServerSprint() || mc.player.isGliding() || AttackUtil.hasMovementRestrictions() || sprintHvh.isSelected() || sprintNone.isSelected())) {

            if (sprintHvh.isSelected()) {
                mc.player.setSprinting(false);
                mc.player.sendSprintingPacket();
            }

            AttackUtil.attackEntity(target);

            mc.options.sprintKey.setPressed(true);
        }
        preAttack = updatePreAttack();
        isCanAttack = isAttack();

        // НОВАЯ РОТАЦИЯ "УЕБАНСКАЯ"
        if (uebanskaya.isSelected()) {
            Vec3d bestPoint = getBestPoint(target, rotationManager.getCurrentRotation());
            Vec3d eyes2 = SimulatedPlayer.simulateLocalPlayer(1).pos.add(0, mc.player.getEyeHeight(mc.player.getPose()), 0);
            Rotation rawAngle = RotationUtil.fromVec3d(bestPoint.subtract(eyes2));
            Rotation currentRot = rotationManager.getCurrentRotation();
            Rotation smoothAngle = smoothSnap(rawAngle, currentRot);
            rotationManager.setRotation(
                    new RotationTarget(smoothAngle, () -> aimManager.rotate(aimManager.getAiSetup(), smoothAngle), aimManager.getAiSetup()),
                    3, this
            );
        }
        else if (hvh.isSelected()) {
            rotationManager.setRotation(
                    new RotationTarget(angle, () -> aimManager.rotate(aimManager.getInstantSetup(), angle), aimManager.getInstantSetup()),
                    3, this
            );
        }
        else if (hollyworld.isSelected() && (preAttack || isCanAttack)) {
            rotationManager.setRotation(
                    new RotationTarget(angle, () -> aimManager.rotate(aimManager.getAiSetup(), angle), aimManager.getAiSetup()),
                    3, this
            );
        }

        if (preAttack || isCanAttack) {
            updateSprint();
        }
    }

    private boolean updatePreAttack() {
        SimulatedPlayer simulatedPlayer = SimulatedPlayer.simulateLocalPlayer(1);

        if (mc.player.isUsingItem() && !eatUseAttack.isEnabled()) return false;
        if (mc.player.getAttackCooldownProgress(1) < 0.9) return false;

        if (onlyCrit.isEnabled() && !AttackUtil.hasPreMovementRestrictions(simulatedPlayer)) {
            return AttackUtil.isPrePlayerInCriticalState(simulatedPlayer) || (smartCrit.isEnabled() && !mc.options.jumpKey.isPressed());
        }
        return true;
    }

    private boolean isAttack() {
        if (mc.player.isUsingItem() && !eatUseAttack.isEnabled()) return false;
        if (mc.player.getAttackCooldownProgress(1) < 0.9) return false;

        if (onlyCrit.isEnabled() && !AttackUtil.hasMovementRestrictions()) {
            return AttackUtil.isPlayerInCriticalState() || (smartCrit.isEnabled() && !mc.options.jumpKey.isPressed());
        }
        return true;
    }

    public void updateSprint() {
        if (!hasStopSprint()) return;

        boolean sprint = mc.options.sprintKey.isPressed();
        boolean forward = mc.options.forwardKey.isPressed();

        if (sprintLegit.isSelected()) {
            sprint = false;
            if (mc.player.isSprinting()) {
                forward = false;
                legitBackStop = true;
            }
        }

        if (sprintNormal.isSelected()) {
            if (mc.player.isSprinting()) mc.player.setSprinting(false);
            sprint = false;
        }

        mc.options.sprintKey.setPressed(sprint);
        mc.options.forwardKey.setPressed(forward);
    }

    public boolean hasStopSprint() {
        return !sprintNone.isSelected() && !AttackUtil.hasMovementRestrictions();
    }

    private LivingEntity updateTarget() {
        TargetSelector.EntityFilter filter = new TargetSelector.EntityFilter(targetTypeSetting.getSelectedNames());
        targetSelector.searchTargets(mc.world.getEntities(), distance.getCurrent() + distanceRotation.getCurrent(), attackIgnoreWals.isEnabled());
        targetSelector.validateTarget(filter::isValid);
        return targetSelector.getCurrentTarget();
    }

    @EventTarget
    private void setCorrection(EventMoveInput eventMoveInput) {
        if (correctionNone.isSelected()) return;

        if (correctionFocus.isSelected()) {
            Rotation angle = RotationUtil.fromVec3d(target.getBoundingBox().getCenter().subtract(mc.player.getBoundingBox().getCenter()));
            fixMovement(eventMoveInput, rotationManager.getCurrentRotation().getYaw(), angle.getYaw());
        } else {
            fixMovement(eventMoveInput, rotationManager.getCurrentRotation().getYaw(), mc.player.getYaw());
        }
    }

    public LivingEntity getTarget() {
        return this.isEnabled() ? target : null;
    }
}
ПРИКИНЬ,ротации в зенит базе идут через другие классы,ты нахуя в ауру пихаешь
 
мне крутой дип сик сказал что в ауре, но он меня заебал хз какой нейронкой пользоваться
логично что если ты скажешь ДИПСИКУ ЗАЗХЫВАЗХ
"эй, ДИПСИК ЗАЫВЩЗАЫВ, где у меня ротка находится в чите?"
он логично ответит что в ауре
 
ты по папкам не можешь пройтись?
да нашел, там оказывается не совсем так как я думал, там же вот в этом?

1777194811030.png
 
да нашел, там оказывается не совсем так как я думал, там же вот в этом?

Посмотреть вложение 334223
да там, все верно просто убери из ауры код с rotationManager setRotation пусть аим менеджер сам считает и выдает углы а то ты в обход системы ставишь ротацию поэтому и не пашет норм
 
Назад
Сверху Снизу