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

Гайд KillAura SpookyTime (Fork Grim)

Начинающий
Начинающий
Статус
Онлайн
Регистрация
27 Авг 2025
Сообщения
115
Реакции
1
1. Для рассмотрения AC СпукиТайма я использовал базу Javelin. Ибо свою базу я не писал, и делать чит особо не планирую, по слухам мне сказали что
там добавили новый античит, я зашел поиграл минут 10 составил базовую ротацию с модулем для ML'a ротации, и в итоге составил это.

2. Приступим к самому коду для начала, и затем объяснение его логики.

Java:
Expand Collapse Copy
private Rotation calculateSTRotation(Vec3d point) {
Vec3d eyes = mc.player.getEyePos();

// значения для каждого тика, можно было сделать в 1 метод, но я как то затупил и мне стало лень
float neuroRand1 = random.nextFloat();
float neuroRand2 = random.nextFloat();
float neuroRand3 = random.nextFloat();
float neuroRand4 = random.nextFloat();

float distToTarget = (float) eyes.distanceTo(point);

// на близкой дистнации понижаем скорость, на средней повышаем и на дальней очень понижаем
float distanceFactor;
if (distToTarget < 2.0f) {
distanceFactor = 0.8f + neuroRand1 * 0.4f; // 0.8-1.2
} else if (distToTarget < 4.0f) {
distanceFactor = 1.2f + neuroRand2 * 0.6f; // 1.2-1.8
} else {
distanceFactor = 0.9f + neuroRand3 * 0.5f; // 0.9-1.4
}

float tpsMultiplier = this.getTpsFactor();

// базированная ротация скорости
float baseSpeed = MathHelper.clamp(distToTarget * 0.25f, 0.8f, 3.0f) *
distanceFactor * tpsMultiplier;

// расчитываем угол цели
Rotation angle = RotationUtil.fromVec3d(point.subtract(eyes));
float targetYaw = angle.getYaw();
float targetPitch = MathHelper.clamp(angle.getPitch(), -90.0F, 90.0F);

// делаем ротацию 320 градусов в тик вместо 360 что детектит грим
float yawDiff = MathHelper.wrapDegrees(targetYaw - lastYaw);
float pitchDiff = targetPitch - lastPitch;

// лимит для AimModulo360
if (Math.abs(yawDiff) > 280) {
yawDiff = MathHelper.clamp(yawDiff, -280, 280);
}

float smoothFactorBase;
    
// если цель близко и мы почти навели прицел делаем замедление
if (distToTarget < 3.0f && Math.abs(yawDiff) < 10.0f) {
smoothFactorBase = 0.08f + neuroRand2 * 0.06f; // 0.08-0.14 медленная ротация
}
// если цель далеко или у нас разница то ускоряемся
else if (distToTarget > 5.0f || Math.abs(yawDiff) > 30.0f) {
smoothFactorBase = 0.18f + neuroRand3 * 0.12f; // 0.18-0.30 быстрая ротация
}
// если не, если ничего нам не подошло
else {
smoothFactorBase = 0.12f + neuroRand1 * 0.08f; // 0.12-0.20
}

// ну tps и в африке tps
float tpsAdapt = tpsMultiplier > 1.2f ? 0.9f : (tpsMultiplier < 0.8f ? 1.2f : 1.0f);
smoothFactorBase *= tpsAdapt;

// расчитываем движения для составления базовой ротации
float smoothYaw = yawDiff * smoothFactorBase * (baseSpeed * 0.7f);
float smoothPitch = pitchDiff * smoothFactorBase * (baseSpeed * 0.5f); // замедляем голову чтобы она не крутилась так часто, что детектит грим при повороте


// делаем небольшой рандомайз и поддергивания (jitter)
if (neuroRand4 < 0.02f) {
smoothYaw += (random.nextFloat() - 0.5f) * 1.2f;
smoothPitch += (random.nextFloat() - 0.5f) * 0.8f;
}
// делаем плавную синхру для ротации, делаем маленькую тряску
float breathX = (float) Math.sin(System.currentTimeMillis() / 300.0) * 0.03f;
float breathY = (float) Math.cos(System.currentTimeMillis() / 500.0) * 0.02f;

smoothYaw += breathX;
smoothPitch += breathY;

// имитируем промах и резкое движение с маленькой вероятностью, перекручиваем прицел при резких движениях
if (random.nextFloat() < 0.05f && Math.abs(yawDiff) > 5.0f) {
float overshootFactor = 1.1f + random.nextFloat() * 0.3f;
smoothYaw *= overshootFactor;
}

// ротируем базу для изменения
float newYaw = lastYaw + smoothYaw;
float newPitch = lastPitch + smoothPitch;

newPitch = MathHelper.clamp(newPitch, -90.0F, 90.0F);

// фиксим gcd
float gcd = Rotation.gcd();
newYaw = newYaw - (newYaw - lastYaw) % gcd;
newPitch = newPitch - (newPitch - lastPitch) % gcd;

// если разница с игроком слишком мала, оставляем старый угол и имитируем что нет движения
if (Math.abs(newYaw - lastYaw) < 0.01f && Math.abs(newPitch - lastPitch) < 0.01f) {
newYaw = lastYaw;
newPitch = lastPitch;
}

lastYaw = newYaw;
lastPitch = newPitch;

return new Rotation(newYaw, newPitch);
}

3. Принцип его работы таков:
смотрит дистанцию до цели, если ты находишься слишком близко скорость для поворота снижается, если же дистанция средняя становится быстрее, если далеко опять снижается.
потом рассматривает разницу между текущим углом и самой целью, от этого зависит плавность при малой разнице происходит стоп, при большой ускорение.
скорость поворота по вертикали сделана меньше чем по горизонтали.
добавляет редкие случайные подергивания и микротряску через синус чтобы не было в точь точь ровно и идеально как у базовых ротаций на плавной,
иногда прицел перекручивается для антидетекта, fix gcd и если угол считай что такой же как старый оставляю старый.

Если вам необходимы какие то методы, то пишите в пост.
если чет не понятно, пишите попробую объяснить понятнее, для справки по обходу использовал калькулятор ротаций на ML логике.
 
1. Для рассмотрения AC СпукиТайма я использовал базу Javelin. Ибо свою базу я не писал, и делать чит особо не планирую, по слухам мне сказали что
там добавили новый античит, я зашел поиграл минут 10 составил базовую ротацию с модулем для ML'a ротации, и в итоге составил это.

2. Приступим к самому коду для начала, и затем объяснение его логики.

Java:
Expand Collapse Copy
private Rotation calculateSTRotation(Vec3d point) {
Vec3d eyes = mc.player.getEyePos();

// значения для каждого тика, можно было сделать в 1 метод, но я как то затупил и мне стало лень
float neuroRand1 = random.nextFloat();
float neuroRand2 = random.nextFloat();
float neuroRand3 = random.nextFloat();
float neuroRand4 = random.nextFloat();

float distToTarget = (float) eyes.distanceTo(point);

// на близкой дистнации понижаем скорость, на средней повышаем и на дальней очень понижаем
float distanceFactor;
if (distToTarget < 2.0f) {
distanceFactor = 0.8f + neuroRand1 * 0.4f; // 0.8-1.2
} else if (distToTarget < 4.0f) {
distanceFactor = 1.2f + neuroRand2 * 0.6f; // 1.2-1.8
} else {
distanceFactor = 0.9f + neuroRand3 * 0.5f; // 0.9-1.4
}

float tpsMultiplier = this.getTpsFactor();

// базированная ротация скорости
float baseSpeed = MathHelper.clamp(distToTarget * 0.25f, 0.8f, 3.0f) *
distanceFactor * tpsMultiplier;

// расчитываем угол цели
Rotation angle = RotationUtil.fromVec3d(point.subtract(eyes));
float targetYaw = angle.getYaw();
float targetPitch = MathHelper.clamp(angle.getPitch(), -90.0F, 90.0F);

// делаем ротацию 320 градусов в тик вместо 360 что детектит грим
float yawDiff = MathHelper.wrapDegrees(targetYaw - lastYaw);
float pitchDiff = targetPitch - lastPitch;

// лимит для AimModulo360
if (Math.abs(yawDiff) > 280) {
yawDiff = MathHelper.clamp(yawDiff, -280, 280);
}

float smoothFactorBase;
   
// если цель близко и мы почти навели прицел делаем замедление
if (distToTarget < 3.0f && Math.abs(yawDiff) < 10.0f) {
smoothFactorBase = 0.08f + neuroRand2 * 0.06f; // 0.08-0.14 медленная ротация
}
// если цель далеко или у нас разница то ускоряемся
else if (distToTarget > 5.0f || Math.abs(yawDiff) > 30.0f) {
smoothFactorBase = 0.18f + neuroRand3 * 0.12f; // 0.18-0.30 быстрая ротация
}
// если не, если ничего нам не подошло
else {
smoothFactorBase = 0.12f + neuroRand1 * 0.08f; // 0.12-0.20
}

// ну tps и в африке tps
float tpsAdapt = tpsMultiplier > 1.2f ? 0.9f : (tpsMultiplier < 0.8f ? 1.2f : 1.0f);
smoothFactorBase *= tpsAdapt;

// расчитываем движения для составления базовой ротации
float smoothYaw = yawDiff * smoothFactorBase * (baseSpeed * 0.7f);
float smoothPitch = pitchDiff * smoothFactorBase * (baseSpeed * 0.5f); // замедляем голову чтобы она не крутилась так часто, что детектит грим при повороте


// делаем небольшой рандомайз и поддергивания (jitter)
if (neuroRand4 < 0.02f) {
smoothYaw += (random.nextFloat() - 0.5f) * 1.2f;
smoothPitch += (random.nextFloat() - 0.5f) * 0.8f;
}
// делаем плавную синхру для ротации, делаем маленькую тряску
float breathX = (float) Math.sin(System.currentTimeMillis() / 300.0) * 0.03f;
float breathY = (float) Math.cos(System.currentTimeMillis() / 500.0) * 0.02f;

smoothYaw += breathX;
smoothPitch += breathY;

// имитируем промах и резкое движение с маленькой вероятностью, перекручиваем прицел при резких движениях
if (random.nextFloat() < 0.05f && Math.abs(yawDiff) > 5.0f) {
float overshootFactor = 1.1f + random.nextFloat() * 0.3f;
smoothYaw *= overshootFactor;
}

// ротируем базу для изменения
float newYaw = lastYaw + smoothYaw;
float newPitch = lastPitch + smoothPitch;

newPitch = MathHelper.clamp(newPitch, -90.0F, 90.0F);

// фиксим gcd
float gcd = Rotation.gcd();
newYaw = newYaw - (newYaw - lastYaw) % gcd;
newPitch = newPitch - (newPitch - lastPitch) % gcd;

// если разница с игроком слишком мала, оставляем старый угол и имитируем что нет движения
if (Math.abs(newYaw - lastYaw) < 0.01f && Math.abs(newPitch - lastPitch) < 0.01f) {
newYaw = lastYaw;
newPitch = lastPitch;
}

lastYaw = newYaw;
lastPitch = newPitch;

return new Rotation(newYaw, newPitch);
}

3. Принцип его работы таков:
смотрит дистанцию до цели, если ты находишься слишком близко скорость для поворота снижается, если же дистанция средняя становится быстрее, если далеко опять снижается.
потом рассматривает разницу между текущим углом и самой целью, от этого зависит плавность при малой разнице происходит стоп, при большой ускорение.
скорость поворота по вертикали сделана меньше чем по горизонтали.
добавляет редкие случайные подергивания и микротряску через синус чтобы не было в точь точь ровно и идеально как у базовых ротаций на плавной,
иногда прицел перекручивается для антидетекта, fix gcd и если угол считай что такой же как старый оставляю старый.

Если вам необходимы какие то методы, то пишите в пост.
если чет не понятно, пишите попробую объяснить понятнее, для справки по обходу использовал калькулятор ротаций на ML логике.
+реп
 
1. Для рассмотрения AC СпукиТайма я использовал базу Javelin. Ибо свою базу я не писал, и делать чит особо не планирую, по слухам мне сказали что
там добавили новый античит, я зашел поиграл минут 10 составил базовую ротацию с модулем для ML'a ротации, и в итоге составил это.

2. Приступим к самому коду для начала, и затем объяснение его логики.

Java:
Expand Collapse Copy
private Rotation calculateSTRotation(Vec3d point) {
Vec3d eyes = mc.player.getEyePos();

// значения для каждого тика, можно было сделать в 1 метод, но я как то затупил и мне стало лень
float neuroRand1 = random.nextFloat();
float neuroRand2 = random.nextFloat();
float neuroRand3 = random.nextFloat();
float neuroRand4 = random.nextFloat();

float distToTarget = (float) eyes.distanceTo(point);

// на близкой дистнации понижаем скорость, на средней повышаем и на дальней очень понижаем
float distanceFactor;
if (distToTarget < 2.0f) {
distanceFactor = 0.8f + neuroRand1 * 0.4f; // 0.8-1.2
} else if (distToTarget < 4.0f) {
distanceFactor = 1.2f + neuroRand2 * 0.6f; // 1.2-1.8
} else {
distanceFactor = 0.9f + neuroRand3 * 0.5f; // 0.9-1.4
}

float tpsMultiplier = this.getTpsFactor();

// базированная ротация скорости
float baseSpeed = MathHelper.clamp(distToTarget * 0.25f, 0.8f, 3.0f) *
distanceFactor * tpsMultiplier;

// расчитываем угол цели
Rotation angle = RotationUtil.fromVec3d(point.subtract(eyes));
float targetYaw = angle.getYaw();
float targetPitch = MathHelper.clamp(angle.getPitch(), -90.0F, 90.0F);

// делаем ротацию 320 градусов в тик вместо 360 что детектит грим
float yawDiff = MathHelper.wrapDegrees(targetYaw - lastYaw);
float pitchDiff = targetPitch - lastPitch;

// лимит для AimModulo360
if (Math.abs(yawDiff) > 280) {
yawDiff = MathHelper.clamp(yawDiff, -280, 280);
}

float smoothFactorBase;
  
// если цель близко и мы почти навели прицел делаем замедление
if (distToTarget < 3.0f && Math.abs(yawDiff) < 10.0f) {
smoothFactorBase = 0.08f + neuroRand2 * 0.06f; // 0.08-0.14 медленная ротация
}
// если цель далеко или у нас разница то ускоряемся
else if (distToTarget > 5.0f || Math.abs(yawDiff) > 30.0f) {
smoothFactorBase = 0.18f + neuroRand3 * 0.12f; // 0.18-0.30 быстрая ротация
}
// если не, если ничего нам не подошло
else {
smoothFactorBase = 0.12f + neuroRand1 * 0.08f; // 0.12-0.20
}

// ну tps и в африке tps
float tpsAdapt = tpsMultiplier > 1.2f ? 0.9f : (tpsMultiplier < 0.8f ? 1.2f : 1.0f);
smoothFactorBase *= tpsAdapt;

// расчитываем движения для составления базовой ротации
float smoothYaw = yawDiff * smoothFactorBase * (baseSpeed * 0.7f);
float smoothPitch = pitchDiff * smoothFactorBase * (baseSpeed * 0.5f); // замедляем голову чтобы она не крутилась так часто, что детектит грим при повороте


// делаем небольшой рандомайз и поддергивания (jitter)
if (neuroRand4 < 0.02f) {
smoothYaw += (random.nextFloat() - 0.5f) * 1.2f;
smoothPitch += (random.nextFloat() - 0.5f) * 0.8f;
}
// делаем плавную синхру для ротации, делаем маленькую тряску
float breathX = (float) Math.sin(System.currentTimeMillis() / 300.0) * 0.03f;
float breathY = (float) Math.cos(System.currentTimeMillis() / 500.0) * 0.02f;

smoothYaw += breathX;
smoothPitch += breathY;

// имитируем промах и резкое движение с маленькой вероятностью, перекручиваем прицел при резких движениях
if (random.nextFloat() < 0.05f && Math.abs(yawDiff) > 5.0f) {
float overshootFactor = 1.1f + random.nextFloat() * 0.3f;
smoothYaw *= overshootFactor;
}

// ротируем базу для изменения
float newYaw = lastYaw + smoothYaw;
float newPitch = lastPitch + smoothPitch;

newPitch = MathHelper.clamp(newPitch, -90.0F, 90.0F);

// фиксим gcd
float gcd = Rotation.gcd();
newYaw = newYaw - (newYaw - lastYaw) % gcd;
newPitch = newPitch - (newPitch - lastPitch) % gcd;

// если разница с игроком слишком мала, оставляем старый угол и имитируем что нет движения
if (Math.abs(newYaw - lastYaw) < 0.01f && Math.abs(newPitch - lastPitch) < 0.01f) {
newYaw = lastYaw;
newPitch = lastPitch;
}

lastYaw = newYaw;
lastPitch = newPitch;

return new Rotation(newYaw, newPitch);
}

3. Принцип его работы таков:
смотрит дистанцию до цели, если ты находишься слишком близко скорость для поворота снижается, если же дистанция средняя становится быстрее, если далеко опять снижается.
потом рассматривает разницу между текущим углом и самой целью, от этого зависит плавность при малой разнице происходит стоп, при большой ускорение.
скорость поворота по вертикали сделана меньше чем по горизонтали.
добавляет редкие случайные подергивания и микротряску через синус чтобы не было в точь точь ровно и идеально как у базовых ротаций на плавной,
иногда прицел перекручивается для антидетекта, fix gcd и если угол считай что такой же как старый оставляю старый.

Если вам необходимы какие то методы, то пишите в пост.
если чет не понятно, пишите попробую объяснить понятнее, для справки по обходу использовал калькулятор ротаций на ML логике.
+rep
 
1. Для рассмотрения AC СпукиТайма я использовал базу Javelin. Ибо свою базу я не писал, и делать чит особо не планирую, по слухам мне сказали что
там добавили новый античит, я зашел поиграл минут 10 составил базовую ротацию с модулем для ML'a ротации, и в итоге составил это.

2. Приступим к самому коду для начала, и затем объяснение его логики.

Java:
Expand Collapse Copy
private Rotation calculateSTRotation(Vec3d point) {
Vec3d eyes = mc.player.getEyePos();

// значения для каждого тика, можно было сделать в 1 метод, но я как то затупил и мне стало лень
float neuroRand1 = random.nextFloat();
float neuroRand2 = random.nextFloat();
float neuroRand3 = random.nextFloat();
float neuroRand4 = random.nextFloat();

float distToTarget = (float) eyes.distanceTo(point);

// на близкой дистнации понижаем скорость, на средней повышаем и на дальней очень понижаем
float distanceFactor;
if (distToTarget < 2.0f) {
distanceFactor = 0.8f + neuroRand1 * 0.4f; // 0.8-1.2
} else if (distToTarget < 4.0f) {
distanceFactor = 1.2f + neuroRand2 * 0.6f; // 1.2-1.8
} else {
distanceFactor = 0.9f + neuroRand3 * 0.5f; // 0.9-1.4
}

float tpsMultiplier = this.getTpsFactor();

// базированная ротация скорости
float baseSpeed = MathHelper.clamp(distToTarget * 0.25f, 0.8f, 3.0f) *
distanceFactor * tpsMultiplier;

// расчитываем угол цели
Rotation angle = RotationUtil.fromVec3d(point.subtract(eyes));
float targetYaw = angle.getYaw();
float targetPitch = MathHelper.clamp(angle.getPitch(), -90.0F, 90.0F);

// делаем ротацию 320 градусов в тик вместо 360 что детектит грим
float yawDiff = MathHelper.wrapDegrees(targetYaw - lastYaw);
float pitchDiff = targetPitch - lastPitch;

// лимит для AimModulo360
if (Math.abs(yawDiff) > 280) {
yawDiff = MathHelper.clamp(yawDiff, -280, 280);
}

float smoothFactorBase;
  
// если цель близко и мы почти навели прицел делаем замедление
if (distToTarget < 3.0f && Math.abs(yawDiff) < 10.0f) {
smoothFactorBase = 0.08f + neuroRand2 * 0.06f; // 0.08-0.14 медленная ротация
}
// если цель далеко или у нас разница то ускоряемся
else if (distToTarget > 5.0f || Math.abs(yawDiff) > 30.0f) {
smoothFactorBase = 0.18f + neuroRand3 * 0.12f; // 0.18-0.30 быстрая ротация
}
// если не, если ничего нам не подошло
else {
smoothFactorBase = 0.12f + neuroRand1 * 0.08f; // 0.12-0.20
}

// ну tps и в африке tps
float tpsAdapt = tpsMultiplier > 1.2f ? 0.9f : (tpsMultiplier < 0.8f ? 1.2f : 1.0f);
smoothFactorBase *= tpsAdapt;

// расчитываем движения для составления базовой ротации
float smoothYaw = yawDiff * smoothFactorBase * (baseSpeed * 0.7f);
float smoothPitch = pitchDiff * smoothFactorBase * (baseSpeed * 0.5f); // замедляем голову чтобы она не крутилась так часто, что детектит грим при повороте


// делаем небольшой рандомайз и поддергивания (jitter)
if (neuroRand4 < 0.02f) {
smoothYaw += (random.nextFloat() - 0.5f) * 1.2f;
smoothPitch += (random.nextFloat() - 0.5f) * 0.8f;
}
// делаем плавную синхру для ротации, делаем маленькую тряску
float breathX = (float) Math.sin(System.currentTimeMillis() / 300.0) * 0.03f;
float breathY = (float) Math.cos(System.currentTimeMillis() / 500.0) * 0.02f;

smoothYaw += breathX;
smoothPitch += breathY;

// имитируем промах и резкое движение с маленькой вероятностью, перекручиваем прицел при резких движениях
if (random.nextFloat() < 0.05f && Math.abs(yawDiff) > 5.0f) {
float overshootFactor = 1.1f + random.nextFloat() * 0.3f;
smoothYaw *= overshootFactor;
}

// ротируем базу для изменения
float newYaw = lastYaw + smoothYaw;
float newPitch = lastPitch + smoothPitch;

newPitch = MathHelper.clamp(newPitch, -90.0F, 90.0F);

// фиксим gcd
float gcd = Rotation.gcd();
newYaw = newYaw - (newYaw - lastYaw) % gcd;
newPitch = newPitch - (newPitch - lastPitch) % gcd;

// если разница с игроком слишком мала, оставляем старый угол и имитируем что нет движения
if (Math.abs(newYaw - lastYaw) < 0.01f && Math.abs(newPitch - lastPitch) < 0.01f) {
newYaw = lastYaw;
newPitch = lastPitch;
}

lastYaw = newYaw;
lastPitch = newPitch;

return new Rotation(newYaw, newPitch);
}

3. Принцип его работы таков:
смотрит дистанцию до цели, если ты находишься слишком близко скорость для поворота снижается, если же дистанция средняя становится быстрее, если далеко опять снижается.
потом рассматривает разницу между текущим углом и самой целью, от этого зависит плавность при малой разнице происходит стоп, при большой ускорение.
скорость поворота по вертикали сделана меньше чем по горизонтали.
добавляет редкие случайные подергивания и микротряску через синус чтобы не было в точь точь ровно и идеально как у базовых ротаций на плавной,
иногда прицел перекручивается для антидетекта, fix gcd и если угол считай что такой же как старый оставляю старый.

Если вам необходимы какие то методы, то пишите в пост.
если чет не понятно, пишите попробую объяснить понятнее, для справки по обходу использовал калькулятор ротаций на ML логике.

1. не форк грима, а mx

2. нахуя
 
1. Для рассмотрения AC СпукиТайма я использовал базу Javelin. Ибо свою базу я не писал, и делать чит особо не планирую, по слухам мне сказали что
там добавили новый античит, я зашел поиграл минут 10 составил базовую ротацию с модулем для ML'a ротации, и в итоге составил это.

2. Приступим к самому коду для начала, и затем объяснение его логики.

Java:
Expand Collapse Copy
private Rotation calculateSTRotation(Vec3d point) {
Vec3d eyes = mc.player.getEyePos();

// значения для каждого тика, можно было сделать в 1 метод, но я как то затупил и мне стало лень
float neuroRand1 = random.nextFloat();
float neuroRand2 = random.nextFloat();
float neuroRand3 = random.nextFloat();
float neuroRand4 = random.nextFloat();

float distToTarget = (float) eyes.distanceTo(point);

// на близкой дистнации понижаем скорость, на средней повышаем и на дальней очень понижаем
float distanceFactor;
if (distToTarget < 2.0f) {
distanceFactor = 0.8f + neuroRand1 * 0.4f; // 0.8-1.2
} else if (distToTarget < 4.0f) {
distanceFactor = 1.2f + neuroRand2 * 0.6f; // 1.2-1.8
} else {
distanceFactor = 0.9f + neuroRand3 * 0.5f; // 0.9-1.4
}

float tpsMultiplier = this.getTpsFactor();

// базированная ротация скорости
float baseSpeed = MathHelper.clamp(distToTarget * 0.25f, 0.8f, 3.0f) *
distanceFactor * tpsMultiplier;

// расчитываем угол цели
Rotation angle = RotationUtil.fromVec3d(point.subtract(eyes));
float targetYaw = angle.getYaw();
float targetPitch = MathHelper.clamp(angle.getPitch(), -90.0F, 90.0F);

// делаем ротацию 320 градусов в тик вместо 360 что детектит грим
float yawDiff = MathHelper.wrapDegrees(targetYaw - lastYaw);
float pitchDiff = targetPitch - lastPitch;

// лимит для AimModulo360
if (Math.abs(yawDiff) > 280) {
yawDiff = MathHelper.clamp(yawDiff, -280, 280);
}

float smoothFactorBase;
   
// если цель близко и мы почти навели прицел делаем замедление
if (distToTarget < 3.0f && Math.abs(yawDiff) < 10.0f) {
smoothFactorBase = 0.08f + neuroRand2 * 0.06f; // 0.08-0.14 медленная ротация
}
// если цель далеко или у нас разница то ускоряемся
else if (distToTarget > 5.0f || Math.abs(yawDiff) > 30.0f) {
smoothFactorBase = 0.18f + neuroRand3 * 0.12f; // 0.18-0.30 быстрая ротация
}
// если не, если ничего нам не подошло
else {
smoothFactorBase = 0.12f + neuroRand1 * 0.08f; // 0.12-0.20
}

// ну tps и в африке tps
float tpsAdapt = tpsMultiplier > 1.2f ? 0.9f : (tpsMultiplier < 0.8f ? 1.2f : 1.0f);
smoothFactorBase *= tpsAdapt;

// расчитываем движения для составления базовой ротации
float smoothYaw = yawDiff * smoothFactorBase * (baseSpeed * 0.7f);
float smoothPitch = pitchDiff * smoothFactorBase * (baseSpeed * 0.5f); // замедляем голову чтобы она не крутилась так часто, что детектит грим при повороте


// делаем небольшой рандомайз и поддергивания (jitter)
if (neuroRand4 < 0.02f) {
smoothYaw += (random.nextFloat() - 0.5f) * 1.2f;
smoothPitch += (random.nextFloat() - 0.5f) * 0.8f;
}
// делаем плавную синхру для ротации, делаем маленькую тряску
float breathX = (float) Math.sin(System.currentTimeMillis() / 300.0) * 0.03f;
float breathY = (float) Math.cos(System.currentTimeMillis() / 500.0) * 0.02f;

smoothYaw += breathX;
smoothPitch += breathY;

// имитируем промах и резкое движение с маленькой вероятностью, перекручиваем прицел при резких движениях
if (random.nextFloat() < 0.05f && Math.abs(yawDiff) > 5.0f) {
float overshootFactor = 1.1f + random.nextFloat() * 0.3f;
smoothYaw *= overshootFactor;
}

// ротируем базу для изменения
float newYaw = lastYaw + smoothYaw;
float newPitch = lastPitch + smoothPitch;

newPitch = MathHelper.clamp(newPitch, -90.0F, 90.0F);

// фиксим gcd
float gcd = Rotation.gcd();
newYaw = newYaw - (newYaw - lastYaw) % gcd;
newPitch = newPitch - (newPitch - lastPitch) % gcd;

// если разница с игроком слишком мала, оставляем старый угол и имитируем что нет движения
if (Math.abs(newYaw - lastYaw) < 0.01f && Math.abs(newPitch - lastPitch) < 0.01f) {
newYaw = lastYaw;
newPitch = lastPitch;
}

lastYaw = newYaw;
lastPitch = newPitch;

return new Rotation(newYaw, newPitch);
}

3. Принцип его работы таков:
смотрит дистанцию до цели, если ты находишься слишком близко скорость для поворота снижается, если же дистанция средняя становится быстрее, если далеко опять снижается.
потом рассматривает разницу между текущим углом и самой целью, от этого зависит плавность при малой разнице происходит стоп, при большой ускорение.
скорость поворота по вертикали сделана меньше чем по горизонтали.
добавляет редкие случайные подергивания и микротряску через синус чтобы не было в точь точь ровно и идеально как у базовых ротаций на плавной,
иногда прицел перекручивается для антидетекта, fix gcd и если угол считай что такой же как старый оставляю старый.

Если вам необходимы какие то методы, то пишите в пост.
если чет не понятно, пишите попробую объяснить понятнее, для справки по обходу использовал калькулятор ротаций на ML логике.
/up
круто оч спс за тонну паст мне будет на чем учится
 
а
1. Для рассмотрения AC СпукиТайма я использовал базу Javelin. Ибо свою базу я не писал, и делать чит особо не планирую, по слухам мне сказали что
там добавили новый античит, я зашел поиграл минут 10 составил базовую ротацию с модулем для ML'a ротации, и в итоге составил это.

2. Приступим к самому коду для начала, и затем объяснение его логики.

Java:
Expand Collapse Copy
private Rotation calculateSTRotation(Vec3d point) {
Vec3d eyes = mc.player.getEyePos();

// значения для каждого тика, можно было сделать в 1 метод, но я как то затупил и мне стало лень
float neuroRand1 = random.nextFloat();
float neuroRand2 = random.nextFloat();
float neuroRand3 = random.nextFloat();
float neuroRand4 = random.nextFloat();

float distToTarget = (float) eyes.distanceTo(point);

// на близкой дистнации понижаем скорость, на средней повышаем и на дальней очень понижаем
float distanceFactor;
if (distToTarget < 2.0f) {
distanceFactor = 0.8f + neuroRand1 * 0.4f; // 0.8-1.2
} else if (distToTarget < 4.0f) {
distanceFactor = 1.2f + neuroRand2 * 0.6f; // 1.2-1.8
} else {
distanceFactor = 0.9f + neuroRand3 * 0.5f; // 0.9-1.4
}

float tpsMultiplier = this.getTpsFactor();

// базированная ротация скорости
float baseSpeed = MathHelper.clamp(distToTarget * 0.25f, 0.8f, 3.0f) *
distanceFactor * tpsMultiplier;

// расчитываем угол цели
Rotation angle = RotationUtil.fromVec3d(point.subtract(eyes));
float targetYaw = angle.getYaw();
float targetPitch = MathHelper.clamp(angle.getPitch(), -90.0F, 90.0F);

// делаем ротацию 320 градусов в тик вместо 360 что детектит грим
float yawDiff = MathHelper.wrapDegrees(targetYaw - lastYaw);
float pitchDiff = targetPitch - lastPitch;

// лимит для AimModulo360
if (Math.abs(yawDiff) > 280) {
yawDiff = MathHelper.clamp(yawDiff, -280, 280);
}

float smoothFactorBase;
   
// если цель близко и мы почти навели прицел делаем замедление
if (distToTarget < 3.0f && Math.abs(yawDiff) < 10.0f) {
smoothFactorBase = 0.08f + neuroRand2 * 0.06f; // 0.08-0.14 медленная ротация
}
// если цель далеко или у нас разница то ускоряемся
else if (distToTarget > 5.0f || Math.abs(yawDiff) > 30.0f) {
smoothFactorBase = 0.18f + neuroRand3 * 0.12f; // 0.18-0.30 быстрая ротация
}
// если не, если ничего нам не подошло
else {
smoothFactorBase = 0.12f + neuroRand1 * 0.08f; // 0.12-0.20
}

// ну tps и в африке tps
float tpsAdapt = tpsMultiplier > 1.2f ? 0.9f : (tpsMultiplier < 0.8f ? 1.2f : 1.0f);
smoothFactorBase *= tpsAdapt;

// расчитываем движения для составления базовой ротации
float smoothYaw = yawDiff * smoothFactorBase * (baseSpeed * 0.7f);
float smoothPitch = pitchDiff * smoothFactorBase * (baseSpeed * 0.5f); // замедляем голову чтобы она не крутилась так часто, что детектит грим при повороте


// делаем небольшой рандомайз и поддергивания (jitter)
if (neuroRand4 < 0.02f) {
smoothYaw += (random.nextFloat() - 0.5f) * 1.2f;
smoothPitch += (random.nextFloat() - 0.5f) * 0.8f;
}
// делаем плавную синхру для ротации, делаем маленькую тряску
float breathX = (float) Math.sin(System.currentTimeMillis() / 300.0) * 0.03f;
float breathY = (float) Math.cos(System.currentTimeMillis() / 500.0) * 0.02f;

smoothYaw += breathX;
smoothPitch += breathY;

// имитируем промах и резкое движение с маленькой вероятностью, перекручиваем прицел при резких движениях
if (random.nextFloat() < 0.05f && Math.abs(yawDiff) > 5.0f) {
float overshootFactor = 1.1f + random.nextFloat() * 0.3f;
smoothYaw *= overshootFactor;
}

// ротируем базу для изменения
float newYaw = lastYaw + smoothYaw;
float newPitch = lastPitch + smoothPitch;

newPitch = MathHelper.clamp(newPitch, -90.0F, 90.0F);

// фиксим gcd
float gcd = Rotation.gcd();
newYaw = newYaw - (newYaw - lastYaw) % gcd;
newPitch = newPitch - (newPitch - lastPitch) % gcd;

// если разница с игроком слишком мала, оставляем старый угол и имитируем что нет движения
if (Math.abs(newYaw - lastYaw) < 0.01f && Math.abs(newPitch - lastPitch) < 0.01f) {
newYaw = lastYaw;
newPitch = lastPitch;
}

lastYaw = newYaw;
lastPitch = newPitch;

return new Rotation(newYaw, newPitch);
}

3. Принцип его работы таков:
смотрит дистанцию до цели, если ты находишься слишком близко скорость для поворота снижается, если же дистанция средняя становится быстрее, если далеко опять снижается.
потом рассматривает разницу между текущим углом и самой целью, от этого зависит плавность при малой разнице происходит стоп, при большой ускорение.
скорость поворота по вертикали сделана меньше чем по горизонтали.
добавляет редкие случайные подергивания и микротряску через синус чтобы не было в точь точь ровно и идеально как у базовых ротаций на плавной,
иногда прицел перекручивается для антидетекта, fix gcd и если угол считай что такой же как старый оставляю старый.

Если вам необходимы какие то методы, то пишите в пост.
если чет не понятно, пишите попробую объяснить понятнее, для справки по обходу использовал калькулятор ротаций на ML логике.
сброс спринта как делать под спуки
 
1. Для рассмотрения AC СпукиТайма я использовал базу Javelin. Ибо свою базу я не писал, и делать чит особо не планирую, по слухам мне сказали что
там добавили новый античит, я зашел поиграл минут 10 составил базовую ротацию с модулем для ML'a ротации, и в итоге составил это.

2. Приступим к самому коду для начала, и затем объяснение его логики.

Java:
Expand Collapse Copy
private Rotation calculateSTRotation(Vec3d point) {
Vec3d eyes = mc.player.getEyePos();

// значения для каждого тика, можно было сделать в 1 метод, но я как то затупил и мне стало лень
float neuroRand1 = random.nextFloat();
float neuroRand2 = random.nextFloat();
float neuroRand3 = random.nextFloat();
float neuroRand4 = random.nextFloat();

float distToTarget = (float) eyes.distanceTo(point);

// на близкой дистнации понижаем скорость, на средней повышаем и на дальней очень понижаем
float distanceFactor;
if (distToTarget < 2.0f) {
distanceFactor = 0.8f + neuroRand1 * 0.4f; // 0.8-1.2
} else if (distToTarget < 4.0f) {
distanceFactor = 1.2f + neuroRand2 * 0.6f; // 1.2-1.8
} else {
distanceFactor = 0.9f + neuroRand3 * 0.5f; // 0.9-1.4
}

float tpsMultiplier = this.getTpsFactor();

// базированная ротация скорости
float baseSpeed = MathHelper.clamp(distToTarget * 0.25f, 0.8f, 3.0f) *
distanceFactor * tpsMultiplier;

// расчитываем угол цели
Rotation angle = RotationUtil.fromVec3d(point.subtract(eyes));
float targetYaw = angle.getYaw();
float targetPitch = MathHelper.clamp(angle.getPitch(), -90.0F, 90.0F);

// делаем ротацию 320 градусов в тик вместо 360 что детектит грим
float yawDiff = MathHelper.wrapDegrees(targetYaw - lastYaw);
float pitchDiff = targetPitch - lastPitch;

// лимит для AimModulo360
if (Math.abs(yawDiff) > 280) {
yawDiff = MathHelper.clamp(yawDiff, -280, 280);
}

float smoothFactorBase;
   
// если цель близко и мы почти навели прицел делаем замедление
if (distToTarget < 3.0f && Math.abs(yawDiff) < 10.0f) {
smoothFactorBase = 0.08f + neuroRand2 * 0.06f; // 0.08-0.14 медленная ротация
}
// если цель далеко или у нас разница то ускоряемся
else if (distToTarget > 5.0f || Math.abs(yawDiff) > 30.0f) {
smoothFactorBase = 0.18f + neuroRand3 * 0.12f; // 0.18-0.30 быстрая ротация
}
// если не, если ничего нам не подошло
else {
smoothFactorBase = 0.12f + neuroRand1 * 0.08f; // 0.12-0.20
}

// ну tps и в африке tps
float tpsAdapt = tpsMultiplier > 1.2f ? 0.9f : (tpsMultiplier < 0.8f ? 1.2f : 1.0f);
smoothFactorBase *= tpsAdapt;

// расчитываем движения для составления базовой ротации
float smoothYaw = yawDiff * smoothFactorBase * (baseSpeed * 0.7f);
float smoothPitch = pitchDiff * smoothFactorBase * (baseSpeed * 0.5f); // замедляем голову чтобы она не крутилась так часто, что детектит грим при повороте


// делаем небольшой рандомайз и поддергивания (jitter)
if (neuroRand4 < 0.02f) {
smoothYaw += (random.nextFloat() - 0.5f) * 1.2f;
smoothPitch += (random.nextFloat() - 0.5f) * 0.8f;
}
// делаем плавную синхру для ротации, делаем маленькую тряску
float breathX = (float) Math.sin(System.currentTimeMillis() / 300.0) * 0.03f;
float breathY = (float) Math.cos(System.currentTimeMillis() / 500.0) * 0.02f;

smoothYaw += breathX;
smoothPitch += breathY;

// имитируем промах и резкое движение с маленькой вероятностью, перекручиваем прицел при резких движениях
if (random.nextFloat() < 0.05f && Math.abs(yawDiff) > 5.0f) {
float overshootFactor = 1.1f + random.nextFloat() * 0.3f;
smoothYaw *= overshootFactor;
}

// ротируем базу для изменения
float newYaw = lastYaw + smoothYaw;
float newPitch = lastPitch + smoothPitch;

newPitch = MathHelper.clamp(newPitch, -90.0F, 90.0F);

// фиксим gcd
float gcd = Rotation.gcd();
newYaw = newYaw - (newYaw - lastYaw) % gcd;
newPitch = newPitch - (newPitch - lastPitch) % gcd;

// если разница с игроком слишком мала, оставляем старый угол и имитируем что нет движения
if (Math.abs(newYaw - lastYaw) < 0.01f && Math.abs(newPitch - lastPitch) < 0.01f) {
newYaw = lastYaw;
newPitch = lastPitch;
}

lastYaw = newYaw;
lastPitch = newPitch;

return new Rotation(newYaw, newPitch);
}

3. Принцип его работы таков:
смотрит дистанцию до цели, если ты находишься слишком близко скорость для поворота снижается, если же дистанция средняя становится быстрее, если далеко опять снижается.
потом рассматривает разницу между текущим углом и самой целью, от этого зависит плавность при малой разнице происходит стоп, при большой ускорение.
скорость поворота по вертикали сделана меньше чем по горизонтали.
добавляет редкие случайные подергивания и микротряску через синус чтобы не было в точь точь ровно и идеально как у базовых ротаций на плавной,
иногда прицел перекручивается для антидетекта, fix gcd и если угол считай что такой же как старый оставляю старый.

Если вам необходимы какие то методы, то пишите в пост.
если чет не понятно, пишите попробую объяснить понятнее, для справки по обходу использовал калькулятор ротаций на ML логике.
Как с тобой можно связаться?
 
Назад
Сверху Снизу