- Joined
- Jul 11, 2020
- Messages
- 0
- Reaction score
- 25
- Points
- 0
Ein bisschen Source für die Leute, die ihre Killaura verbessern wollen.
Diese Methode sucht den nächst besten Vector auf der Hitbox, um die Range zu maximieren und versucht gleichzeitig einen Punkt zu finden, wo die Killaura durch keine Blöcke schlägt.
Das Ganze sieht, bei richtiger Implementierung, wie folgt aus:
Achtung! Der Source ist über ein Jahr alt (stammt aus Despair) und ist daher nicht optimiert.
Ich selber habe in meinen alten Clients die Precision auf ca 10 ~ 20 gestellt, kann aber jeder für sich entscheiden.
LG Tru3.
Diese Methode sucht den nächst besten Vector auf der Hitbox, um die Range zu maximieren und versucht gleichzeitig einen Punkt zu finden, wo die Killaura durch keine Blöcke schlägt.
Das Ganze sieht, bei richtiger Implementierung, wie folgt aus:
Achtung! Der Source ist über ein Jahr alt (stammt aus Despair) und ist daher nicht optimiert.
Ich selber habe in meinen alten Clients die Precision auf ca 10 ~ 20 gestellt, kann aber jeder für sich entscheiden.
[HIDE]
[/HIDE]
Code:
public static Vec3 resolveBestHitVec(Entity enty, int precision, boolean evadeBlocks) {
try {
Vec3 headVec = mc.thePlayer.getPositionEyes(1.0f);
Vec3 bestHitVec = new Vec3(Double.MAX_VALUE, Double.MAX_VALUE, Double.MAX_VALUE);
int offset = precision / 3;
float height = enty.getEyeHeight() / precision;
float width = (enty.width * 0.5f) / offset;
for (int offsetY = 0; offsetY <= precision; offsetY++) {
for (int offsetX = -offset; offsetX <= offset; offsetX++) {
for (int offsetZ = -offset; offsetZ <= offset; offsetZ++) {
Vec3 possibleVec = new Vec3(enty.posX + width * offsetX, enty.posY + height * offsetY,
enty.posZ + width * offsetZ);
if (evadeBlocks) {
MovingObjectPosition movingObj = mc.thePlayer.getEntityWorld().rayTraceBlocks(headVec,
possibleVec);
if(movingObj != null) {
continue;
}
}
if (headVec.distanceTo(possibleVec) < headVec.distanceTo(bestHitVec)) {
bestHitVec = possibleVec;
}
}
}
}
if (bestHitVec.xCoord == Double.MAX_VALUE) {
bestHitVec = null;
}
return bestHitVec;
} catch (Throwable t) {
t.printStackTrace();
return enty.getPositionVector();
}
}
Last edited by a moderator: