Начинающий
- Статус
- Оффлайн
- Регистрация
- 2 Янв 2024
- Сообщения
- 95
- Реакции
- 1
На SpookyTime обновили чеки,че да как? обясните кто знает
Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
понял,учту,спасиботам мх стоит, там динам ротку вроде как надо, я точно не уверен, я еще не скоро думаю сп ротку делать
не знаю я пробовал написать норму ротку и делал с движениями головы влево/вправо и тогда бан сделал просто повороты медленные влево-вправо всё воркНа SpookyTime обновили чеки,че да как? обясните кто знает
Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.
я ща у нейронки попросил сделать пиздато бупасит вроде как уже 5 минут бью пока не банитСкрытое содержимоеМожеж кинуть ротку под хайдом пж?
Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.
она банится ща переделываю но лучше чем прошлаяСкрытое содержимое
Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.
Друг и скинь мне плис ротку по хайдомСкрытое содержимое
найт 1.1.3Скрытое содержимоеУ тебя на какой базе?
а чё там сложного просто чуть ротку по питчу сделать супер маленький и yaw сделать медленный рандом и всё и там вроде причём аим чеки всё равно слабыеСкрытое содержимоеМожеж кинуть ротку под хайдом пж?
Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.
Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.
топ киллка, я бы если такую бы увидел, я бы повесилсяСкрытое содержимое говорю же она пока банится я её чиню а так
package dev.wh1tew1ndows.client.managers.module.impl.combat.rotation;
import dev.wh1tew1ndows.client.api.interfaces.IMinecraft;
import dev.wh1tew1ndows.client.managers.component.impl.rotation.Rotation;
import dev.wh1tew1ndows.client.managers.component.impl.rotation.RotationComponent;
import dev.wh1tew1ndows.client.managers.module.impl.combat.AttackAura;
import dev.wh1tew1ndows.client.utils.math.Mathf;
import lombok.experimental.UtilityClass;
import net.minecraft.entity.LivingEntity;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector3d;
import java.util.concurrent.ThreadLocalRandom;
import static dev.wh1tew1ndows.client.managers.module.impl.combat.AttackAura.*;
@UtilityClass
public class SpookyTimeRotation implements IMinecraft {
private float tick = 0; // счётчик для анимации атаки
public void rotation(LivingEntity target, boolean isAttack, float attackDistance, boolean check) {
// Позиция глаз игрока с учётом частичного тика
Vector3d eyePos = mc.player.getEyePosition(mc.getRenderPartialTicks());
// Текущая позиция цели и её скорость
Vector3d targetPos = target.getPositionVec();
Vector3d targetMotion = target.getMotion();
// Дистанция до цели
double distance = eyePos.distanceTo(targetPos);
// Время упреждения: зависит от расстояния (чем ближе, тем меньше упреждение)
double leadTime = MathHelper.clamp(distance / 5.0, 0.05, 0.3);
// Предсказанная позиция цели через leadTime секунд с учётом гравитации
Vector3d predictedTargetPos = targetPos.add(
targetMotion.x * leadTime,
targetMotion.y * leadTime + 0.5 * 0.08 * leadTime * leadTime,
targetMotion.z * leadTime
);
// Если цель на земле и не движется по вертикали, прижимаем предсказание к полу
if (target.isOnGround() && targetMotion.y == 0) {
predictedTargetPos = new Vector3d(predictedTargetPos.x, targetPos.y, predictedTargetPos.z);
}
// Динамическое отклонение для естественности (чем ближе цель, тем точнее нужно целиться)
double maxDeviation = MathHelper.clamp(0.5 * (1.0 - Math.min(1.0, distance / 6.0)), 0.05, 0.6);
double randomX = (ThreadLocalRandom.current().nextDouble() - 0.5) * maxDeviation;
double randomZ = (ThreadLocalRandom.current().nextDouble() - 0.5) * maxDeviation;
double randomY = (ThreadLocalRandom.current().nextDouble() - 0.5) * maxDeviation * 0.4;
Vector3d finalTargetPos = predictedTargetPos.add(randomX, randomY, randomZ);
// Направление от глаз к цели
Vector3d directionVec = finalTargetPos.subtract(eyePos).normalize();
// Базовые углы
float baseYaw = (float) Math.toDegrees(Math.atan2(-directionVec.x, directionVec.z));
float basePitch = (float) MathHelper.clamp(
-Math.toDegrees(Math.atan2(directionVec.y, Math.hypot(directionVec.x, directionVec.z))),
MIN_PITCH, MAX_PITCH
);
// Анимация атаки (сохраняем оригинальную логику с tick)
boolean attack = false;
if (isAttack) {
tick = 4;
attack = true;
}
if (tick > 0) {
attack = true;
tick--;
}
// Плавные волны для джиттера
long time = System.currentTimeMillis();
float wave1 = (float) Math.cos(time / 60.0);
float wave2 = (float) Math.sin(time / 90.0);
float wave3 = (float) Math.cos(time / 120.0);
// Сила джиттера зависит от расстояния (чем дальше, тем больше)
float jitterStrength = (float) MathHelper.clamp((distance - 2.0) / 8.0, 0.2, 1.5);
float yawJitter = (wave1 * 0.8f + wave2 * 0.4f) * jitterStrength;
float pitchJitter = (wave2 * 0.6f + wave3 * 0.3f) * jitterStrength * 0.5f;
// Дополнительное смещение во время атаки
float randomAttackShift = 0;
if (attack) {
randomAttackShift = ThreadLocalRandom.current().nextFloat() * 3.0f - 1.0f; // -1..2
yawJitter += randomAttackShift * 0.5f;
pitchJitter += randomAttackShift * 0.3f;
}
// Итоговые углы
float finalYaw = baseYaw + yawJitter;
float finalPitch = basePitch + pitchJitter;
// Динамическая скорость поворота: зависит от расстояния и атаки
float baseYawSpeed = (float) MathHelper.clamp(40 + distance * 5, 40, 80);
float basePitchSpeed = (float) MathHelper.clamp(5 + distance * 1.5, 5, 20);
float yawChangeSpeed = attack ? baseYawSpeed * 1.2f : baseYawSpeed;
float pitchChangeSpeed = attack ? basePitchSpeed * 1.2f : basePitchSpeed;
// Максимальные скорости поворота (случайные, как в оригинале, для естественности)
float maxYawSpeed = Mathf.randomValue(15, 22);
float maxPitchSpeed = Mathf.randomValue(5, 12);
// Приоритет и задержка (задержка 18 обеспечивает плавный возврат при выключении модуля)
int priority = 0;
int delay = 18;
boolean force = false;
Rotation newRotation = new Rotation(finalYaw, finalPitch);
RotationComponent.update(newRotation, yawChangeSpeed, pitchChangeSpeed, maxYawSpeed, maxPitchSpeed, priority, delay, force);
}
}
Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.
лучший пользователь хайда, тебе надо динамическую скорость ротации, и просто шум влево вправо маленький с отклоном, ибо у тебя ебанный мх банит даже обычных игроковСкрытое содержимоея тоже попробую починить,напишеш если вийдет
окей,щяс зделаюлучший пользователь хайда, тебе надо динамическую скорость ротации, и просто шум влево вправо маленький с отклоном, ибо у тебя ебанный мх банит даже обычных игроков
доделал побил 12 минут на спавне и до сих пор не забанилоСкрытое содержимое говорю же она пока банится я её чиню а так
package dev.wh1tew1ndows.client.managers.module.impl.combat.rotation;
import dev.wh1tew1ndows.client.api.interfaces.IMinecraft;
import dev.wh1tew1ndows.client.managers.component.impl.rotation.Rotation;
import dev.wh1tew1ndows.client.managers.component.impl.rotation.RotationComponent;
import dev.wh1tew1ndows.client.managers.module.impl.combat.AttackAura;
import dev.wh1tew1ndows.client.utils.math.Mathf;
import lombok.experimental.UtilityClass;
import net.minecraft.entity.LivingEntity;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector3d;
import java.util.concurrent.ThreadLocalRandom;
import static dev.wh1tew1ndows.client.managers.module.impl.combat.AttackAura.*;
@UtilityClass
public class SpookyTimeRotation implements IMinecraft {
private float tick = 0; // счётчик для анимации атаки
public void rotation(LivingEntity target, boolean isAttack, float attackDistance, boolean check) {
// Позиция глаз игрока с учётом частичного тика
Vector3d eyePos = mc.player.getEyePosition(mc.getRenderPartialTicks());
// Текущая позиция цели и её скорость
Vector3d targetPos = target.getPositionVec();
Vector3d targetMotion = target.getMotion();
// Дистанция до цели
double distance = eyePos.distanceTo(targetPos);
// Время упреждения: зависит от расстояния (чем ближе, тем меньше упреждение)
double leadTime = MathHelper.clamp(distance / 5.0, 0.05, 0.3);
// Предсказанная позиция цели через leadTime секунд с учётом гравитации
Vector3d predictedTargetPos = targetPos.add(
targetMotion.x * leadTime,
targetMotion.y * leadTime + 0.5 * 0.08 * leadTime * leadTime,
targetMotion.z * leadTime
);
// Если цель на земле и не движется по вертикали, прижимаем предсказание к полу
if (target.isOnGround() && targetMotion.y == 0) {
predictedTargetPos = new Vector3d(predictedTargetPos.x, targetPos.y, predictedTargetPos.z);
}
// Динамическое отклонение для естественности (чем ближе цель, тем точнее нужно целиться)
double maxDeviation = MathHelper.clamp(0.5 * (1.0 - Math.min(1.0, distance / 6.0)), 0.05, 0.6);
double randomX = (ThreadLocalRandom.current().nextDouble() - 0.5) * maxDeviation;
double randomZ = (ThreadLocalRandom.current().nextDouble() - 0.5) * maxDeviation;
double randomY = (ThreadLocalRandom.current().nextDouble() - 0.5) * maxDeviation * 0.4;
Vector3d finalTargetPos = predictedTargetPos.add(randomX, randomY, randomZ);
// Направление от глаз к цели
Vector3d directionVec = finalTargetPos.subtract(eyePos).normalize();
// Базовые углы
float baseYaw = (float) Math.toDegrees(Math.atan2(-directionVec.x, directionVec.z));
float basePitch = (float) MathHelper.clamp(
-Math.toDegrees(Math.atan2(directionVec.y, Math.hypot(directionVec.x, directionVec.z))),
MIN_PITCH, MAX_PITCH
);
// Анимация атаки (сохраняем оригинальную логику с tick)
boolean attack = false;
if (isAttack) {
tick = 4;
attack = true;
}
if (tick > 0) {
attack = true;
tick--;
}
// Плавные волны для джиттера
long time = System.currentTimeMillis();
float wave1 = (float) Math.cos(time / 60.0);
float wave2 = (float) Math.sin(time / 90.0);
float wave3 = (float) Math.cos(time / 120.0);
// Сила джиттера зависит от расстояния (чем дальше, тем больше)
float jitterStrength = (float) MathHelper.clamp((distance - 2.0) / 8.0, 0.2, 1.5);
float yawJitter = (wave1 * 0.8f + wave2 * 0.4f) * jitterStrength;
float pitchJitter = (wave2 * 0.6f + wave3 * 0.3f) * jitterStrength * 0.5f;
// Дополнительное смещение во время атаки
float randomAttackShift = 0;
if (attack) {
randomAttackShift = ThreadLocalRandom.current().nextFloat() * 3.0f - 1.0f; // -1..2
yawJitter += randomAttackShift * 0.5f;
pitchJitter += randomAttackShift * 0.3f;
}
// Итоговые углы
float finalYaw = baseYaw + yawJitter;
float finalPitch = basePitch + pitchJitter;
// Динамическая скорость поворота: зависит от расстояния и атаки
float baseYawSpeed = (float) MathHelper.clamp(40 + distance * 5, 40, 80);
float basePitchSpeed = (float) MathHelper.clamp(5 + distance * 1.5, 5, 20);
float yawChangeSpeed = attack ? baseYawSpeed * 1.2f : baseYawSpeed;
float pitchChangeSpeed = attack ? basePitchSpeed * 1.2f : basePitchSpeed;
// Максимальные скорости поворота (случайные, как в оригинале, для естественности)
float maxYawSpeed = Mathf.randomValue(15, 22);
float maxPitchSpeed = Mathf.randomValue(5, 12);
// Приоритет и задержка (задержка 18 обеспечивает плавный возврат при выключении модуля)
int priority = 0;
int delay = 18;
boolean force = false;
Rotation newRotation = new Rotation(finalYaw, finalPitch);
RotationComponent.update(newRotation, yawChangeSpeed, pitchChangeSpeed, maxYawSpeed, maxPitchSpeed, priority, delay, force);
}
}
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz