Вопрос Килка не бьет когда стоиш между 2 блоков,точнее не успевает ротейтится(expensive 3.1)

Начинающий
Статус
Оффлайн
Регистрация
23 Июн 2023
Сообщения
89
Реакции[?]
0
Поинты[?]
0

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Всем привет, я заметил что килка не бьет когда я стою между 2 блоков, я думал это из-за того что у меня килка слишком медленее так что вместо 2 тиков поставил 1 тик, но все равно не помогает. Буду рад тем кто поможет или подкинет идею, заранее спасибо! код ниже
Код:
@Subscribe
public void onUpdate(EventUpdate e) {
if (options.getValueByName("Фокусировать одну цель").get() && (target == null || !isValid(target)) || !options.getValueByName("Фокусировать одну цель").get()) {
updateTarget();
}


if (target != null && !(autoPotion.isState() && autoPotion.isActive())) {
isRotated = false;
if (shouldPlayerFalling() && (stopWatch.hasTimeElapsed())) {
updateAttack();
ticks = 1;
}
if (type.is("Reallyworld")) {
if (ticks > 0) {
updateRotation(true, 360, 90);
ticks--;
} else {
reset();
}
} else {
if (!isRotated) {
updateRotation(false, 80, 35);
}
}


} else {
stopWatch.setLastMS(0);
reset();
}
}

@Subscribe
private void onWalking(EventMotion e) {
if (target == null || autoPotion.isState() && autoPotion.isActive()) return;

float yaw = rotateVector.x;
float pitch = rotateVector.y;

e.setYaw(yaw);
e.setPitch(pitch);
mc.player.rotationYawHead = yaw;
mc.player.rotationYawOffset = yaw;
mc.player.rotationPitchHead = pitch;
}


private void updateTarget() {
List<LivingEntity> targets = new ArrayList<>();

for (Entity entity : mc.world.getAllEntities()) {
if (entity instanceof LivingEntity living && isValid(living)) {
targets.add(living);
}
}

if (targets.isEmpty()) {
target = null;
return;
}

if (targets.size() == 1) {
target = targets.get(0);
return;
}

targets.sort(Comparator.comparingDouble(object -> {
if (object instanceof PlayerEntity player) {
return -getEntityArmor(player);
}
if (object instanceof LivingEntity base) {
return -base.getTotalArmorValue();
}
return 0.0;
}).thenComparing((object, object2) -> {
double d2 = getEntityHealth((LivingEntity) object);
double d3 = getEntityHealth((LivingEntity) object2);
return Double.compare(d2, d3);
}).thenComparing((object, object2) -> {
double d2 = mc.player.getDistance((LivingEntity) object);
double d3 = mc.player.getDistance((LivingEntity) object2);
return Double.compare(d2, d3);
}));

target = targets.get(0);
}

float lastYaw, lastPitch;




private void updateRotation(boolean attack, float rotationYawSpeed, float rotationPitchSpeed) {
if (target == null) return;

Vector3d vec = target.getPositionVec().add(0, clamp(mc.player.getPosYEye() - target.getPosY(), 0.0,(double) target.getHeight() * (mc.player.getDistanceEyePos(target) / (double) ((Float) attackRange.get()).floatValue())), 0.0).subtract(mc.player.getEyePosition(0.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, hypot(vec.x, vec.z))));

float yawDelta = (wrapDegrees(yawToTarget - rotateVector.x));
float pitchDelta = (wrapDegrees(pitchToTarget - rotateVector.y));
int roundedYaw = (int) yawDelta;



switch (type.get()) {
case "Funtime": {
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), 0.0f);
} else {
clampedPitch /= 3f;
}

if (Math.abs(clampedYaw - this.lastYaw) <= 3.0f) {
clampedYaw = this.lastYaw + 3.1f;
}

float yaw = rotateVector.x + (yawDelta > 0 ? clampedYaw : -clampedYaw);
float pitch = clamp(rotateVector.y + (pitchDelta > 0.0f ? clampedPitch : -clampedPitch), -89.0f, 89.0f);

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() == false) break;
mc.player.rotationYawOffset = yaw;
break;
}
case "Reallyworld": {
float yaw = rotateVector.x + (float)roundedYaw;
float pitch = MathHelper.clamp(rotateVector.y + pitchDelta, -90.0f, 90.0f);

float gcd = SensUtils.getGCDValue();
yaw -= (yaw - rotateVector.x) % gcd;
pitch -= (pitch - rotateVector.y) % gcd;

rotateVector = new Vector2f(yaw, pitch);

if (options.getValueByName("Коррекция движения").get() == false) break;
mc.player.rotationYawOffset = yaw;
}
}
}
 
Начинающий
Статус
Оффлайн
Регистрация
5 Апр 2023
Сообщения
389
Реакции[?]
1
Поинты[?]
2K
Всем привет, я заметил что килка не бьет когда я стою между 2 блоков, я думал это из-за того что у меня килка слишком медленее так что вместо 2 тиков поставил 1 тик, но все равно не помогает. Буду рад тем кто поможет или подкинет идею, заранее спасибо! код ниже
Код:
@Subscribe
public void onUpdate(EventUpdate e) {
if (options.getValueByName("Фокусировать одну цель").get() && (target == null || !isValid(target)) || !options.getValueByName("Фокусировать одну цель").get()) {
updateTarget();
}


if (target != null && !(autoPotion.isState() && autoPotion.isActive())) {
isRotated = false;
if (shouldPlayerFalling() && (stopWatch.hasTimeElapsed())) {
updateAttack();
ticks = 1;
}
if (type.is("Reallyworld")) {
if (ticks > 0) {
updateRotation(true, 360, 90);
ticks--;
} else {
reset();
}
} else {
if (!isRotated) {
updateRotation(false, 80, 35);
}
}


} else {
stopWatch.setLastMS(0);
reset();
}
}

@Subscribe
private void onWalking(EventMotion e) {
if (target == null || autoPotion.isState() && autoPotion.isActive()) return;

float yaw = rotateVector.x;
float pitch = rotateVector.y;

e.setYaw(yaw);
e.setPitch(pitch);
mc.player.rotationYawHead = yaw;
mc.player.rotationYawOffset = yaw;
mc.player.rotationPitchHead = pitch;
}


private void updateTarget() {
List<LivingEntity> targets = new ArrayList<>();

for (Entity entity : mc.world.getAllEntities()) {
if (entity instanceof LivingEntity living && isValid(living)) {
targets.add(living);
}
}

if (targets.isEmpty()) {
target = null;
return;
}

if (targets.size() == 1) {
target = targets.get(0);
return;
}

targets.sort(Comparator.comparingDouble(object -> {
if (object instanceof PlayerEntity player) {
return -getEntityArmor(player);
}
if (object instanceof LivingEntity base) {
return -base.getTotalArmorValue();
}
return 0.0;
}).thenComparing((object, object2) -> {
double d2 = getEntityHealth((LivingEntity) object);
double d3 = getEntityHealth((LivingEntity) object2);
return Double.compare(d2, d3);
}).thenComparing((object, object2) -> {
double d2 = mc.player.getDistance((LivingEntity) object);
double d3 = mc.player.getDistance((LivingEntity) object2);
return Double.compare(d2, d3);
}));

target = targets.get(0);
}

float lastYaw, lastPitch;




private void updateRotation(boolean attack, float rotationYawSpeed, float rotationPitchSpeed) {
if (target == null) return;

Vector3d vec = target.getPositionVec().add(0, clamp(mc.player.getPosYEye() - target.getPosY(), 0.0,(double) target.getHeight() * (mc.player.getDistanceEyePos(target) / (double) ((Float) attackRange.get()).floatValue())), 0.0).subtract(mc.player.getEyePosition(0.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, hypot(vec.x, vec.z))));

float yawDelta = (wrapDegrees(yawToTarget - rotateVector.x));
float pitchDelta = (wrapDegrees(pitchToTarget - rotateVector.y));
int roundedYaw = (int) yawDelta;



switch (type.get()) {
case "Funtime": {
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), 0.0f);
} else {
clampedPitch /= 3f;
}

if (Math.abs(clampedYaw - this.lastYaw) <= 3.0f) {
clampedYaw = this.lastYaw + 3.1f;
}

float yaw = rotateVector.x + (yawDelta > 0 ? clampedYaw : -clampedYaw);
float pitch = clamp(rotateVector.y + (pitchDelta > 0.0f ? clampedPitch : -clampedPitch), -89.0f, 89.0f);

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() == false) break;
mc.player.rotationYawOffset = yaw;
break;
}
case "Reallyworld": {
float yaw = rotateVector.x + (float)roundedYaw;
float pitch = MathHelper.clamp(rotateVector.y + pitchDelta, -90.0f, 90.0f);

float gcd = SensUtils.getGCDValue();
yaw -= (yaw - rotateVector.x) % gcd;
pitch -= (pitch - rotateVector.y) % gcd;

rotateVector = new Vector2f(yaw, pitch);

if (options.getValueByName("Коррекция движения").get() == false) break;
mc.player.rotationYawOffset = yaw;
}
}
}
тики это скорость поворота камеры быстрее её не сделать
 
Начинающий
Статус
Оффлайн
Регистрация
23 Июн 2023
Сообщения
89
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
5 Апр 2023
Сообщения
389
Реакции[?]
1
Поинты[?]
2K
Начинающий
Статус
Оффлайн
Регистрация
23 Июн 2023
Сообщения
89
Реакции[?]
0
Поинты[?]
0
тики это скорость поворота камеры быстрее её не сделать
АА, а как сделать так что бы удары проходили или успевала, у меня нурик есть и он может бит между 2 блоков
 
Начинающий
Статус
Оффлайн
Регистрация
5 Апр 2023
Сообщения
389
Реакции[?]
1
Поинты[?]
2K
АА, а как сделать так что бы удары проходили или успевала, у меня нурик есть и он может бит между 2 блоков
ну 20 тиков это как плавная килка а 2-5 как снапы по сути для рв тебе нужно 4 тика
 
Начинающий
Статус
Оффлайн
Регистрация
23 Июн 2023
Сообщения
89
Реакции[?]
0
Поинты[?]
0
ну 20 тиков это как плавная килка а 2-5 как снапы по сути для рв тебе нужно 4 тика
А как у нурика удары проходят я запускал 2 майна и чекал, скорость одинаковая
ну 20 тиков это как плавная килка а 2-5 как снапы по сути для рв тебе нужно 4 тика
Пошли в дс можешь обьяснить плиззз
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
5 Апр 2023
Сообщения
389
Реакции[?]
1
Поинты[?]
2K
Сверху Снизу