Начинающий
-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Сама киллаура:
package russia.client.feature.impl.combat;
import net.minecraft.MathHelper;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.network.protocol.game.ServerboundInteractPacket;
import net.minecraft.world.InteractionHand;
import org.joml.Vector2f;
import russia.client.events.Event;
import russia.client.events.impl.player.EventInput;
import russia.client.events.impl.player.RotationEvent;
import russia.client.feature.Category;
import russia.client.feature.Feature;
import russia.client.feature.FeatureInfo;
import russia.client.settings.impl.BooleanSetting;
import russia.client.utility.game.Aura;
@FeatureInfo(name="Killaura",category = Category.COMBAT)
public class Killaura extends Feature {
private BooleanSetting grimcorrect = new BooleanSetting("GrimAC",true);
public Killaura() {
add(grimcorrect);
}
Vector2f vector;
AbstractClientPlayer target;
[USER=1367676]@override[/USER]
public void onEvent(Event event) {
if (event instanceof EventInput ei) {
if (mc.player == null) return;
if (target == null) return;
Aura.fixMovement(ei, this.vector.x);
}
if (event instanceof RotationEvent r/[I]expensive motion event[/I]/)
{
target = Aura.findClosestTarget(3.0f);
if (target == null) return;
assert target != null;
float[] rotation = getRotation(target);
vector = new Vector2f(rotation[0],rotation[1]);
if (!grimcorrect.get()) {
r.yaw = vector.x();
r.pitch = vector.y();
}
if (grimcorrect.get()) {
mc.player.setYRot(vector.x());
mc.player.setXRot(vector.y());
mc.player.setYHeadRot(rotation[0]);
}
if (!mc.player.onGround() && mc.player.fallDistance > 0.75) {
mc.player.connection.send(ServerboundInteractPacket.createAttackPacket(target, mc.player.isShiftKeyDown()));
mc.player.swing(InteractionHand.MAIN_HAND);
}
}
}
public float[] getRotation(AbstractClientPlayer target)
{
double x = target.getX() - mc.player.getX();
double y = target.getY() - (mc.player.getY() + mc.player.getEyeHeight()) + 1.5;
double z = target.getZ() - mc.player.getZ();
double u = MathHelper.sqrt( x * x + z * z);
float yaw = (float) (MathHelper.atan2(z,x) * (180D / Math.PI) - 90.0F);
float pitch = (float) (-MathHelper.atan2(y, u) * (180D / Math.PI));
return new float[]{yaw,pitch};
}
}
Изменения в утилках:
public static AbstractClientPlayer findClosestTarget(final float distance) {
for (AbstractClientPlayer livingEntity : mc.level.players()) {
if (livingEntity != mc.player && mc.player.distanceTo(livingEntity) <= distance) {
// mc.player.sendSystemMessage(Component.literal("Target: " + livingEntity.getName()));
return livingEntity;
}
}
return null;
}
За что детектит вулкан:
if (packet.isRotation() && this.hitTicks() < 3) {
final float deltaYaw = this.data.getRotationProcessor().getDeltaYaw();
final float deltaPitch = this.data.getRotationProcessor().getDeltaPitch();
final float lastDeltaYaw = this.data.getRotationProcessor().getLastDeltaYaw();
final float lastDeltaPitch = this.data.getRotationProcessor().getLastDeltaPitch();
final double divisorYaw = (double) MathUtil.getGcd((long)(deltaYaw * MathUtil.EXPANDER), (long)(lastDeltaYaw * MathUtil.EXPANDER));
final double divisorPitch = (double) MathUtil.getGcd((long)(deltaPitch * MathUtil.EXPANDER), (long)(lastDeltaPitch * MathUtil.EXPANDER));
final double constantYaw = divisorYaw / MathUtil.EXPANDER;
final double constantPitch = divisorPitch / MathUtil.EXPANDER;
final double currentX = deltaYaw / constantYaw;
final double currentY = deltaPitch / constantPitch;
final double previousX = lastDeltaYaw / constantYaw;
final double previousY = lastDeltaPitch / constantPitch;
if (deltaYaw > 0.1f && deltaPitch > 0.1f && deltaYaw < 20.0f && deltaPitch < 20.0f) {
final double moduloX = currentX % previousX;
final double moduloY = currentY % previousY;
final double floorModuloX = Math.abs(Math.floor(moduloX) - moduloX);
final double floorModuloY = Math.abs(Math.floor(moduloY) - moduloY);
final boolean invalidX = moduloX > 60.0 && floorModuloX > 0.1;
final boolean invalidY = moduloY > 60.0 && floorModuloY > 0.1;
final double sensitivity = this.data.getRotationProcessor().getSensitivity();
final boolean tooLowSensitivity = sensitivity < 100.0 && sensitivity > -1.0;
final boolean cinematic = this.isExempt(ExemptType.CINEMATIC);
if (invalidX && invalidY && !cinematic && !tooLowSensitivity) {
if (this.increaseBuffer() > this.MAX_BUFFER) {
this.fail("deltaYaw=" + deltaYaw + " deltaPitch=" + deltaPitch);
}
}
else {
this.decayBuffer();
}
}
}
AIM K
if (packet.isRotation() && this.hitTicks() < 3) {
final float deltaYaw = this.data.getRotationProcessor().getDeltaYaw();
final float deltaPitch = this.data.getRotationProcessor().getDeltaPitch();
final int sensitivity = this.data.getRotationProcessor().getSensitivity();
final boolean cinematic = this.isExempt(ExemptType.CINEMATIC);
final boolean invalid = sensitivity < -10 && deltaYaw > 1.25f && deltaPitch > 1.25f;
if (invalid && !cinematic) {
if (this.increaseBuffer() > this.MAX_BUFFER) {
this.fail("sens=" + sensitivity + " deltaYaw=" + deltaYaw + " deltaPitch=" + deltaPitch);
}
}
else {
this.decayBuffer();
}
}
AIM W Vulcan 2.6.7 sourse NOAD