Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Ротация под SpookyTime

привет, что получилось сделать? Хочу тоже киллку, не подскажешь что можно использовать? типо какие методы? и тд
Spooky:
Expand Collapse Copy
case "SpookyDuels" -> {
                if (target == null) return;

                if (rotationPauseTicks > 0) {
                    rotationPauseTicks--;
                    return;
                }

                // MX Bypass: Ломаем статистические паттерны (IQR, zFactor, Shannon Entropy)
                // Не используем фиксированные skip - они создают паттерны!

                Vector3d targetPos = (predict.get())
                        ? getPredictedPosition(target, 0.18F)
                        : target.getPositionVec();

                // MX проверяет "distinct values" - делаем каждый угол уникальным
                // Используем криптографически случайный seed для каждой ротации
                long uniqueSeed = System.nanoTime() ^ (hitCount * 31L);
                double seedNoise = ((uniqueSeed & 0xFFFF) / 65535.0) * 0.15 - 0.075;

                // Естественная высота цели (0.4-0.7 = живот-грудь) + уникальный offset
                float baseHeight = 0.45f + (float)((uniqueSeed % 250) / 1000.0); // 0.45-0.695
                float heightOffset = target.getHeight() * (baseHeight + (float)seedNoise * 0.1f);

                // Anti-Shannon Entropy: каждая позиция должна быть уникальна
                double posX = (ThreadLocalRandom.current().nextDouble() - 0.5) * 0.07 + seedNoise * 0.05;
                double posY = (ThreadLocalRandom.current().nextDouble() - 0.5) * 0.04;
                double posZ = (ThreadLocalRandom.current().nextDouble() - 0.5) * 0.07 - seedNoise * 0.05;

                // MX детектит "similar average" - добавляем асиммметрию
                long combatTime = System.currentTimeMillis() - startTime;
                if (hitCount > 15) {
                    // Постепенный drift вместо резкого (MX видит резкие изменения)
                    double driftFactor = Math.min(hitCount / 40.0, 0.3);
                    double asymX = Math.sin(hitCount * 0.7) * driftFactor * 0.15;
                    double asymZ = Math.cos(hitCount * 0.5) * driftFactor * 0.15;
                    posX += asymX;
                    posZ += asymZ;

                    // Сбрасываем постепенно, а не сразу
                    if (hitCount > 35 && ThreadLocalRandom.current().nextDouble() < 0.15) {
                        hitCount -= ThreadLocalRandom.current().nextInt(3, 8);
                    }
                }

                vec = targetPos.add(posX, heightOffset + posY, posZ)
                        .subtract(mc.player.getEyePosition(1.0F));

                yawToTarget = (float) wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - 90.0);
                pitchToTarget = (float) (-Math.toDegrees(Math.atan2(vec.y, hypot(vec.x, vec.z))));

                yawDelta = wrapDegrees(yawToTarget - this.rotateVector.x);
                pitchDelta = pitchToTarget - this.rotateVector.y;

                // MX проверяет "constant rotations" - НЕ должно быть одинаковых изменений!
                // Используем множественные источники случайности
                float speedVariation1 = (float)(Math.random() * 0.15 - 0.075);
                float speedVariation2 = (float)(ThreadLocalRandom.current().nextDouble() * 0.12 - 0.06);
                float speedVariation3 = (float)((System.nanoTime() % 100) / 500.0 - 0.1);

                float yawSpeed = 0.95f + speedVariation1 + speedVariation2 * 0.5f;
                float pitchSpeed = 0.90f + speedVariation2 + speedVariation3 * 0.3f;

                // "Усталость" для Long-term Analysis (MX анализирует 1000 тиков)
                float fatigue = Math.min((float)combatTime / 400000.0f, 0.08f); // 8% за ~6.5 мин
                yawSpeed *= (1.0f - fatigue * (0.3f + (float)Math.random() * 0.3f));
                pitchSpeed *= (1.0f - fatigue * (0.2f + (float)Math.random() * 0.25f));

                // Адаптивная скорость (но НЕ линейная - MX детектит линейность)
                float angularDist = (float) Math.sqrt(yawDelta * yawDelta + pitchDelta * pitchDelta);
                float distFactor = (float)(Math.pow(Math.min(angularDist / 15.0, 1.0), 0.8) * 0.5 + 0.5);

                // Шаги ротации с высокой вариативностью
                float minYawStep = Math.abs(yawDelta) < 0.8f ? (float)Math.random() * 0.5f + 0.8f : Math.abs(yawDelta);
                float minPitchStep = Math.abs(pitchDelta) < 0.6f ? (float)Math.random() * 0.4f + 0.6f : Math.abs(pitchDelta);

                float yawStep = Math.min(minYawStep, 90.0f + (float)Math.random() * 8.0f) * yawSpeed * distFactor;
                float pitchStep = Math.min(minPitchStep, 44.0f + (float)Math.random() * 6.0f) * pitchSpeed * distFactor;

                // Anti-Pattern noise: MX ищет повторяющиеся паттерны шума
                // Комбинируем разные распределения
                float yawNoise = (float)(Math.random() - 0.5) * 0.25f;
                yawNoise += (float)(ThreadLocalRandom.current().nextGaussian() * 0.08);

                float pitchNoise = (float)(Math.random() - 0.5) * 0.18f;
                pitchNoise += (float)(ThreadLocalRandom.current().nextGaussian() * 0.06);

                // Случайная "дрожь" без паттерна
                if ((uniqueSeed & 0x0F) < 3) { // ~18% вместо фиксированного %
                    yawNoise += (float)(Math.random() - 0.5) * 0.15f;
                    pitchNoise += (float)(Math.random() - 0.5) * 0.10f;
                }

                float yawResult = rotateVector.x + (yawDelta > 0 ? yawStep : -yawStep) + yawNoise;
                float pitchResult = clamp(rotateVector.y + (pitchDelta > 0 ? pitchStep : -pitchStep) + pitchNoise, -89.0F, 89.0F);

                // GCD correction (важно но не критично для MX)
                float gcd = SensUtils.getGCDValue();
                // Добавляем микро-вариацию в GCD для обхода "perfect GCD" детекта
                float gcdVariation = gcd * (0.998f + (float)Math.random() * 0.004f);
                yawResult -= (yawResult - rotateVector.x) % gcdVariation;
                pitchResult -= (pitchResult - rotateVector.y) % gcdVariation;

                // Overshoot correction
                yawResult += overshootYawCorrection;
                pitchResult += overshootPitchCorrection;
                overshootYawCorrection = 0.0f;
                overshootPitchCorrection = 0.0f;

                // Overshoot только при больших углах + случайность без паттерна
                if (angularDist > 12.0f && (uniqueSeed & 0x07) < 2) { // ~25% но не фиксировано
                    float intensity = (float)Math.min(angularDist / 50.0, 0.5) * (0.7f + (float)Math.random() * 0.6f);
                    float overshootYaw = (float)(Math.random() - 0.5) * intensity;
                    float overshootPitch = (float)(Math.random() - 0.5) * intensity * 0.8f;

                    yawResult += overshootYaw;
                    pitchResult += overshootPitch;

                    // Коррекция с вариацией
                    overshootYawCorrection = -overshootYaw * (0.5f + (float)Math.random() * 0.3f);
                    overshootPitchCorrection = -overshootPitch * (0.5f + (float)Math.random() * 0.3f);
                }

                // Очень редкие паузы БЕЗ паттерна (MX детектит регулярные паузы)
                if ((uniqueSeed & 0x3FF) < 3) { // ~0.3%
                    rotationPauseTicks = 1;
                }

                rotateVector = new Vector2f(yawResult, pitchResult);

                if (options.getValueByName("Коррекция движения").get()) {
                    mc.player.rotationYawOffset = yawResult;
                }
            }
Писал чатгпт. Если хочешь можешь доработать и сделать лучше
 
держу вкурсе в целестиале показывается фейк ротация.
И у меня байпасит просто наводка на шею с тряской головы, и чуть плавная наводка, и все, если не байпасит поменяй базу, либо перепиши компоненты. Там анти чит просто обычно повороты на противника как-то детектит, не знаю как правильно обьяснить, можешь просто базу менять, пока не получится на какой-то сделать киллауру
 
что под анку что под дуели сп это самый легкий сервер для байпасса, я под анку ворк килку за 2 минуты сделал
проблема в том что ротация под дуэли не работает на анархии, возможно там античит с более жесткой настройкой но я не думаю что МХ будет так детектить
 
проблема в том что ротация под дуэли не работает на анархии, возможно там античит с более жесткой настройкой но я не думаю что МХ будет так детектить
Так там разные ач чумба
 
Назад
Сверху Снизу