Начинающий
-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Обращаюсь тем кто шарит в ротации, пожалуйста скажите что нужно сделать чтобы меня не банило на холике уже перепробывал следущее: плавное возвращение к прежней ротации и три варианта наводки, getVector3d с экспы сказали что он самый правильный и его не трогать вот код:
Java:
public void onEvent(Event event) {
if (mc.player != null && mc.world != null) {
if (event instanceof EventInteractEntity) {
EventInteractEntity entity = (EventInteractEntity)event;
if (target != null) {
entity.setCancel(true);
}
}
if (event instanceof EventInput) {
EventInput e = (EventInput)event;
if (this.settings.get(1) && this.silent.get()) {
MoveUtil.fixMovement(e, this.rotYaw);
}
}
if (event instanceof EventUpdate) {
target = this.findTarget();
if (target == null) {
returnToOriginalRotation();
return;
}
switch (this.mode.getIndex()) {
case 0:
updateRotation(speedAim.getValue().floatValue(),3);
if (this.canAttack() && RayTraceUtil.getMouseOver(target, this.rotYaw, this.rotPitch, (double)this.range.getValue().floatValue()) == target) {
this.updateAttack(target);
}
break;
}
}
if (event instanceof EventMotion) {
EventMotion e = (EventMotion)event;
if (target == null) {
returnToOriginalRotation();
e.setPitch(this.rotPitch);
e.setYaw(this.rotYaw);
return;
}
e.setPitch(this.rotPitch);
e.setYaw(this.rotYaw);
this.updateClientRotation(this.rotYaw, this.rotPitch);
}
if (event instanceof EventWorldChange) {
}
if (event instanceof EventRender) {
EventRender e = (EventRender)event;
if (e.isRender3D() && target != null) {
}
}
}
}
private void returnToOriginalRotation() {
float targetYaw = mc.player.rotationYaw;
float targetPitch = mc.player.rotationPitch;
float currentYaw = this.rotYaw;
float currentPitch = this.rotPitch;
float deltaYaw = MathHelper.wrapDegrees(targetYaw - currentYaw);
float deltaPitch = targetPitch - currentPitch;
int yawDirection = deltaYaw > 0 ? 1 : -1;
int pitchDirection = deltaPitch > 0 ? 1 : -1;
if (Math.abs(this.rotYaw - targetYaw) > 0.1 || Math.abs(this.rotPitch - targetPitch) > 0.1) {
this.rotYaw += yawDirection * 0.5f;
this.rotPitch += pitchDirection * 0.5f;
if ((yawDirection == 1 && this.rotYaw >= targetYaw) || (yawDirection == -1 && this.rotYaw <= targetYaw)) {
this.rotYaw = targetYaw;
}
if ((pitchDirection == 1 && this.rotPitch >= targetPitch) || (pitchDirection == -1 && this.rotPitch <= targetPitch)) {
this.rotPitch = targetPitch;
}
this.updateClientRotation(this.rotYaw, this.rotPitch);
}
}
private final float minOffset = -5.0F;
private final float maxOffset = 5.0F;
private void updateRotation(float speed,int random) {
if (!this.isInHitBox(mc.player, target) && random==1) {
Vector3d vec3d = this.getVector3d(mc.player, target);
float rawYaw = (float) MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec3d.z, vec3d.x)) - 90.0);
float rawPitch = (float) MathHelper.wrapDegrees(Math.toDegrees(-Math.atan2(vec3d.y, Math.hypot(vec3d.x, vec3d.z))));
float yawDelta = MathHelper.wrapDegrees(rawYaw - this.rotYaw);
float pitchDelta = MathHelper.wrapDegrees(rawPitch - this.rotPitch);
if (Math.abs(yawDelta) > 180.0F) {
yawDelta -= Math.signum(yawDelta) * 360.0F;
}
float randomSpeedFactor = ThreadLocalRandom.current().nextFloat() * 0.5f + 0.75f;
speed *= randomSpeedFactor;
float additionYaw = MathHelper.clamp(yawDelta, -180.0F * speed, 180.0F * speed);
float additionPitch = MathHelper.clamp(pitchDelta, -90.0F * speed, 90.0F * speed);
float yaw = this.rotYaw + additionYaw;
float pitch = this.rotPitch + additionPitch;
pitch = MathHelper.clamp(pitch, -90.0F, 90.0F);
float errorYaw = ThreadLocalRandom.current().nextFloat() * 2.0f - 1.0f;
float errorPitch = ThreadLocalRandom.current().nextFloat() * 2.0f - 1.0f;
yaw += errorYaw;
pitch += errorPitch;
this.rotYaw = (yaw);
this.rotPitch =(pitch);
}else if(!this.isInHitBox(mc.player, target) && random ==2) {
Vector3d vec3d = this.getVector3d(mc.player, target);
float rawYaw = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec3d.z, vec3d.x)) - 90.0);
float rawPitch = (float)MathHelper.wrapDegrees(Math.toDegrees(-Math.atan2(vec3d.y, Math.hypot(vec3d.x, vec3d.z))));
float yawDelta = MathHelper.wrapDegrees(rawYaw - this.rotYaw);
float pitchDelta = MathHelper.wrapDegrees(rawPitch - this.rotPitch);
if (Math.abs(yawDelta) > 180.0F) {
yawDelta -= Math.signum(yawDelta) * 360.0F;
}
float additionYaw = MathHelper.clamp(yawDelta, -180.0F * speed, 180.0F * speed);
float additionPitch = MathHelper.clamp(pitchDelta, -90.0F * speed, 90.0F * speed);
float yaw = this.rotYaw + additionYaw;
float pitch = this.rotPitch + additionPitch;
pitch = MathHelper.clamp(pitch, -90.0F, 90.0F);
float offsetX = ThreadLocalRandom.current().nextFloat() * (maxOffset - minOffset) + minOffset;
float offsetY = ThreadLocalRandom.current().nextFloat() * (maxOffset - minOffset) + minOffset;
yaw += offsetX;
pitch += offsetY;
this.rotYaw = GCDUtil.getSensitivity(yaw);
this.rotPitch = GCDUtil.getSensitivity(pitch);
}else if (!this.isInHitBox(mc.player, target) && random == 3) {
Vector3d vec3d = this.getVector3d(mc.player, target);
float rawYaw = (float) MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec3d.z, vec3d.x)) - 90.0);
float rawPitch = (float) MathHelper.wrapDegrees(Math.toDegrees(-Math.atan2(vec3d.y, Math.hypot(vec3d.x, vec3d.z))));
float yawDelta = MathHelper.wrapDegrees(rawYaw - this.rotYaw);
float pitchDelta = MathHelper.wrapDegrees(rawPitch - this.rotPitch);
if (Math.abs(yawDelta) > 180.0F) {
yawDelta -= Math.signum(yawDelta) * 360.0F;
}
float offsetX = ThreadLocalRandom.current().nextFloat() * (maxOffset - minOffset) + minOffset;
float offsetY = ThreadLocalRandom.current().nextFloat() * (maxOffset - minOffset) + minOffset;
yawDelta += offsetX;
pitchDelta += offsetY;
float additionYaw = MathHelper.clamp(yawDelta, -180.0F * speed, 180.0F * speed);
float additionPitch = MathHelper.clamp(pitchDelta, -90.0F * speed, 90.0F * speed);
float yaw = this.rotYaw + additionYaw;
float pitch = this.rotPitch + additionPitch;
pitch = MathHelper.clamp(pitch, -90.0F, 90.0F);
float errorYaw = ThreadLocalRandom.current().nextFloat() * 2.0f - 1.0f;
float errorPitch = ThreadLocalRandom.current().nextFloat() * 2.0f - 1.0f;
yaw += errorYaw;
pitch += errorPitch;
this.rotYaw = (yaw);
this.rotPitch =(pitch);
}
}