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

Вопрос Как сделать ккилку под CakeWorld на exp 3. 1

там полу живая килка "но ротейт-lonygrief" которая кикается лучше в чат гпт написать сделай мне ротацию "No Rotate" и все
Без ротации как вариант, так как она иногда бьёт спиной, но лучше все таки постараться и сделать нормальную ротацию.
 
Без ротации как вариант, так как она иногда бьёт спиной, но лучше все таки постараться и сделать нормальную ротацию.
в exsoware она слишком замудрена у мя с ней не идет ударов больше чем в ротация которая не поворачивает ниче и тупо бьет, так еще с ротацией из exoswarа меня пару раз кикнуло даже на пустом месте хз
 
там полу живая килка "но ротейт-lonygrief" которая кикается лучше в чат гпт написать сделай мне ротацию "No Rotate" и все
ну так по факту eто лучший вариант, сейчас и в кошке и в поуче и в других клиентах пот слотх такая же
 
ну так по факту то лучший вариант, сейчас и в кошке и в поуче и в других клиентах пот слотх такая же
не знаю на счет "лучший" но я проводил пару тестов ОБЫЧНАЯ но ротейт показывала лучше чем та которая была в клиенте
 
Без ротации как вариант, так как она иногда бьёт спиной, но лучше все таки постараться и сделать нормальную ротацию.
нормальную 360 ротку ты не сделаешь, а даже если сделаешь то она будет настолько неудобной в использовании что проще будет бить ансофтом как было с минцедом
 
не знаю на счет "лучший" но я проводил пару тестов ОБЫЧНАЯ но ротейт показывала лучше чем та которая была в клиенте
так как имено над сделать килку под кейк ворлд , no-rotate я не понял че эт значит и чат гпт тоже не понял
 
нормальную 360 ротку ты не сделаешь, а даже если сделаешь то она будет настолько неудобной в использовании что проще будет бить ансофтом как было с минцедом
ротку найти легко просто надо знать что детектит
 
private void updateRotation(boolean attack, float rotationYawSpeed, float rotationPitchSpeed) {
if (target == null) return;
//Ура векторы
Vector3d lookAt = getLegitLook(target);
Vector3d vec = lookAt.add(0, mc.player.getEyeHeight()-2, 0).subtract(mc.player.getEyePosition(1.0F));
isRotated = true;
float yawToTarget = (float) MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - 90);
float pitchToTarget = (float) (-Math.toDegrees(Math.atan2(vec.y, Math.hypot(vec.x, vec.z))));
mc.gameSettings.keyBindSprint.setPressed(false);
float yawDelta = wrapDegrees(yawToTarget - rotateVector.x);
float pitchDelta = wrapDegrees(pitchToTarget - rotateVector.y);
int roundedYaw = (int) yawDelta;

switch (type.get()) {
case "Плавная" -> {
if (Math.abs(yawDelta) == 0 && Math.abs(pitchDelta) > 0)
yawDelta += random(0.1f, 0.5f) + 0.1 * 1.0313f;
if (Math.abs(pitchDelta) == 0 && Math.abs(yawDelta) > 0)
pitchDelta += random(0.1f, 0.5f) + 0.1 * 1.0313f;
float clampedYaw = Math.min(Math.max(Math.abs(yawDelta), 1.0f), rotationYawSpeed);
float clampedPitch = Math.min(Math.max(Math.abs(pitchDelta), 1.0f), rotationPitchSpeed);
if (attack && selected != target && options.getValueByName("Ускорять ротацию при атаке").get()) {
clampedPitch = Math.max(Math.abs(pitchDelta), 1.0f);
} else {
clampedPitch /= 3f;
}
if (Math.abs(clampedYaw - lastYaw) <= 3.0f) {
clampedYaw = lastYaw + 3.1f;
}
float yaw = rotateVector.x + (yawDelta > 0 ? clampedYaw : -clampedYaw);
float pitch = MathHelper.clamp(rotateVector.y + (pitchDelta > 0 ? clampedPitch : -clampedPitch), -89, 89);
float gcd = SensUtils.getGCDValue();
yaw -= (yaw - rotateVector.x) % gcd;
pitch -= (pitch - rotateVector.y) % gcd;
rotateVector = new Vector2f(yaw, pitch);
lastYaw = clampedYaw;
lastPitch = clampedPitch;
if (options.getValueByName("Коррекция движения").get()) {
mc.player.rotationYawOffset = yaw;
}
}
case "Резкая" -> {
float yaw = rotateVector.x + roundedYaw;
float pitch = MathHelper.clamp(rotateVector.y + pitchDelta, -89, 89);
float gcd = SensUtils.getGCDValue();
yaw -= (yaw - rotateVector.x) % gcd;
pitch -= (pitch - rotateVector.y) % gcd;
rotateVector = new Vector2f(yaw, pitch);
if (options.getValueByName("Коррекция движения").get()) {
mc.player.rotationYawOffset = yaw;
}
}
}
}
public Vector3d getLegitLook(Entity target) {
float minMotionXZ = 0.003f;
float maxMotionXZ = 0.03f;
float minMotionY = 0.001f;
float maxMotionY = 0.01f;
double lengthX = target.getBoundingBox().getXSize();
double lengthY = target.getBoundingBox().getYSize();
double lengthZ = target.getBoundingBox().getZSize();
if (rotationMotion.equals(Vector3d.ZERO)) {
rotationMotion = new Vector3d(random(-0.05f, 0.05f), random(-0.01f, 0.01f), random(-0.05f, 0.05f));
}
rotationPoint = rotationPoint.add(rotationMotion);
if (rotationPoint.x >= (lengthX - 0.05) / 2f)
rotationMotion = new Vector3d(-random(minMotionXZ, maxMotionXZ), rotationMotion.y, rotationMotion.z);
if (rotationPoint.y >= lengthY)
rotationMotion = new Vector3d(rotationMotion.x, -random(minMotionY, maxMotionY), rotationMotion.z);
if (rotationPoint.z >= (lengthZ - 0.05) / 2f)
rotationMotion = new Vector3d(rotationMotion.x, rotationMotion.y, -random(minMotionXZ, maxMotionXZ));
if (rotationPoint.x <= -(lengthX - 0.05) / 2f)
rotationMotion = new Vector3d(random(minMotionXZ, maxMotionXZ), rotationMotion.y, rotationMotion.z);
if (rotationPoint.y <= 0)
rotationMotion = new Vector3d(rotationMotion.x, random(minMotionY, maxMotionY), rotationMotion.z);
if (rotationPoint.z <= -(lengthZ - 0.05) / 2f)
rotationMotion = new Vector3d(rotationMotion.x, rotationMotion.y, random(minMotionXZ, maxMotionXZ));
//rotationPoint = rotationPoint.add(random(-0.03f, 0.03f), random(-0.04, 0.21f), random(-0.03f, 0.03f));
rotationPoint = rotationPoint.add(random(-0.03f, 0.03f), random(-0.01f, 0.01f), random(-0.03f, 0.03f));
return target.getPositionVec().add(0, target.getEyeHeight(target.getPose()) / 2.0, 0).add(rotationPoint);
}
 
private void updateRotation(boolean attack, float rotationYawSpeed, float rotationPitchSpeed) {
if (target == null) return;
//Ура векторы
Vector3d lookAt = getLegitLook(target);
Vector3d vec = lookAt.add(0, mc.player.getEyeHeight()-2, 0).subtract(mc.player.getEyePosition(1.0F));
isRotated = true;
float yawToTarget = (float) MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - 90);
float pitchToTarget = (float) (-Math.toDegrees(Math.atan2(vec.y, Math.hypot(vec.x, vec.z))));
mc.gameSettings.keyBindSprint.setPressed(false);
float yawDelta = wrapDegrees(yawToTarget - rotateVector.x);
float pitchDelta = wrapDegrees(pitchToTarget - rotateVector.y);
int roundedYaw = (int) yawDelta;

switch (type.get()) {
case "Плавная" -> {
if (Math.abs(yawDelta) == 0 && Math.abs(pitchDelta) > 0)
yawDelta += random(0.1f, 0.5f) + 0.1 * 1.0313f;
if (Math.abs(pitchDelta) == 0 && Math.abs(yawDelta) > 0)
pitchDelta += random(0.1f, 0.5f) + 0.1 * 1.0313f;
float clampedYaw = Math.min(Math.max(Math.abs(yawDelta), 1.0f), rotationYawSpeed);
float clampedPitch = Math.min(Math.max(Math.abs(pitchDelta), 1.0f), rotationPitchSpeed);
if (attack && selected != target && options.getValueByName("Ускорять ротацию при атаке").get()) {
clampedPitch = Math.max(Math.abs(pitchDelta), 1.0f);
} else {
clampedPitch /= 3f;
}
if (Math.abs(clampedYaw - lastYaw) <= 3.0f) {
clampedYaw = lastYaw + 3.1f;
}
float yaw = rotateVector.x + (yawDelta > 0 ? clampedYaw : -clampedYaw);
float pitch = MathHelper.clamp(rotateVector.y + (pitchDelta > 0 ? clampedPitch : -clampedPitch), -89, 89);
float gcd = SensUtils.getGCDValue();
yaw -= (yaw - rotateVector.x) % gcd;
pitch -= (pitch - rotateVector.y) % gcd;
rotateVector = new Vector2f(yaw, pitch);
lastYaw = clampedYaw;
lastPitch = clampedPitch;
if (options.getValueByName("Коррекция движения").get()) {
mc.player.rotationYawOffset = yaw;
}
}
case "Резкая" -> {
float yaw = rotateVector.x + roundedYaw;
float pitch = MathHelper.clamp(rotateVector.y + pitchDelta, -89, 89);
float gcd = SensUtils.getGCDValue();
yaw -= (yaw - rotateVector.x) % gcd;
pitch -= (pitch - rotateVector.y) % gcd;
rotateVector = new Vector2f(yaw, pitch);
if (options.getValueByName("Коррекция движения").get()) {
mc.player.rotationYawOffset = yaw;
}
}
}
}
public Vector3d getLegitLook(Entity target) {
float minMotionXZ = 0.003f;
float maxMotionXZ = 0.03f;
float minMotionY = 0.001f;
float maxMotionY = 0.01f;
double lengthX = target.getBoundingBox().getXSize();
double lengthY = target.getBoundingBox().getYSize();
double lengthZ = target.getBoundingBox().getZSize();
if (rotationMotion.equals(Vector3d.ZERO)) {
rotationMotion = new Vector3d(random(-0.05f, 0.05f), random(-0.01f, 0.01f), random(-0.05f, 0.05f));
}
rotationPoint = rotationPoint.add(rotationMotion);
if (rotationPoint.x >= (lengthX - 0.05) / 2f)
rotationMotion = new Vector3d(-random(minMotionXZ, maxMotionXZ), rotationMotion.y, rotationMotion.z);
if (rotationPoint.y >= lengthY)
rotationMotion = new Vector3d(rotationMotion.x, -random(minMotionY, maxMotionY), rotationMotion.z);
if (rotationPoint.z >= (lengthZ - 0.05) / 2f)
rotationMotion = new Vector3d(rotationMotion.x, rotationMotion.y, -random(minMotionXZ, maxMotionXZ));
if (rotationPoint.x <= -(lengthX - 0.05) / 2f)
rotationMotion = new Vector3d(random(minMotionXZ, maxMotionXZ), rotationMotion.y, rotationMotion.z);
if (rotationPoint.y <= 0)
rotationMotion = new Vector3d(rotationMotion.x, random(minMotionY, maxMotionY), rotationMotion.z);
if (rotationPoint.z <= -(lengthZ - 0.05) / 2f)
rotationMotion = new Vector3d(rotationMotion.x, rotationMotion.y, random(minMotionXZ, maxMotionXZ));
//rotationPoint = rotationPoint.add(random(-0.03f, 0.03f), random(-0.04, 0.21f), random(-0.03f, 0.03f));
rotationPoint = rotationPoint.add(random(-0.03f, 0.03f), random(-0.01f, 0.01f), random(-0.03f, 0.03f));
return target.getPositionVec().add(0, target.getEyeHeight(target.getPose()) / 2.0, 0).add(rotationPoint);
}
плавная час бегаю не банится
 
Последнее редактирование:
Назад
Сверху Снизу