{
float l, w, h, o;
l = 60f; w = 60f; h = 160f; o = 50f; //box size for standing player
float zOffset = -100f;
if (actor.Type == ActorTypes.Vehicle) //vehicles have a bigger box
{
zOffset = 50;
l = 200f; w = 160f; h = 80f; o = 0f;
}
//build box
Vector3 p00 = new Vector3(o, -w / 2,0f);
Vector3 p01 = new Vector3(o, w / 2, 0f);
Vector3 p02 = new Vector3(o - l, w / 2, 0f);
Vector3 p03 = new Vector3(o - l, -w / 2, 0f);
//rotate rectangle to match actor rotation
float theta1 = 2.0f * (float)Math.PI * (actor****tation.Y) / 180.0f;
Matrix rotM = Matrix****tationZ((float)(theta1 / 2)); // rotate around Z-axis
Vector3 curPos = new Vector3(actor.Location.X, actor.Location.Y, actor.Location.Z + zOffset);
p00 = Vector3.TransformCoordinate(p00, rotM) + curPos;
p01 = Vector3.TransformCoordinate(p01, rotM) + curPos;
p02 = Vector3.TransformCoordinate(p02, rotM) + curPos;
p03 = Vector3.TransformCoordinate(p03, rotM) + curPos;
RawVector2 s00 = W2S(p00, POV);
RawVector2 s01 = W2S(p01, POV);
RawVector2 s02 = W2S(p02, POV);
RawVector2 s03 = W2S(p03, POV);
RawVector2[] square0 = { s00, s01, s02, s03, s00 };
DrawLines(square0);
// top rectangle
p00.Z += h; s00 = W2S(p00, POV);
p01.Z += h; s01 = W2S(p01, POV);
p02.Z += h; s02 = W2S(p02, POV);
p03.Z += h; s03 = W2S(p03, POV);
RawVector2[] square1 = { s00, s01, s02, s03, s00 };
DrawLines(square1);
// upper/lower rectangles get connected
DrawLine(new RawVector2(square0[0].X, square0[0].Y), new RawVector2(square1[0].X, square1[0].Y));
DrawLine(new RawVector2(square0[1].X, square0[1].Y), new RawVector2(square1[1].X, square1[1].Y));
DrawLine(new RawVector2(square0[2].X, square0[2].Y), new RawVector2(square1[2].X, square1[2].Y));
DrawLine(new RawVector2(square0[3].X, square0[3].Y), new RawVector2(square1[3].X, square1[3].Y));
}
public void DrawLines(RawVector2[] point0)
{
if (point0.Length < 2)
return;
for (int x = 0; x < point0.Length - 1; x++)
DrawLine(point0[x], point0[x + 1],);
}
Bu kodu nerede kullanıcazMerhaba MH !!
Basit bir kutu düşmanın mesafesini tahmin etmeye yardımcı olur.
Bu konuda,
her sporcunun etrafında çizim yöntemi 3D kutusunu öğreneceksiniz.
Farklı boyutlardaki kolay / çömelmiş oyuncular için kutular ekleyebilirsiniz.
Her zaman bir kutu boyutuna sahip olmak istiyorsanız, kutunun boyutunu
kemikle hesaplayabilirsiniz: PUBG - ESP (iskelet) WallHack'te [aşağıdaki kodun kaynağı],
ancak gerçekte çok gerekli değildir .
Kod:public void Draw3DBox (FMinimalViewInfo POV, AActor aktör) { float l, w, h, o; 1 = 60f; w = 60f; h = 160f; o = 50f; // ayakta oyuncu için kutu boyutu float zOffset = -100f; if (actor.Type == ActorTypes.Vehicle) // araçların daha büyük bir kutusu varsa { zOffset = 50; 1 = 200f; w = 160f; h = 80f; o = 0f; } // yapı kutusu Vector3 p00 = yeni Vector3 (o, -w / 2,0f); Vector3 p01 = yeni Vector3 (o, w / 2, 0f); Vector3 p02 = yeni Vector3 (o - l, w / 2, 0f); Vector3 p03 = yeni Vector3 (o - l, -w / 2, 0f); // aktörü döndürmek için dikdörtgeni döndür float teta1 = 2.0f * (float) Math.PI * (aktör **** tation.Y) / 180.0f; Matris rotM = Matris **** tationZ ((şamandıra) (teta1 / 2)); // Z ekseni etrafında döndürme Vector3 curPos = yeni Vector3 (aktör.Location.X, aktör.Konum.Y, aktör.Konum.Z + zOfset); p00 = Vektör3.TransformCoordinate (p00, rotM) + curPos; p01 = Vektör3.TransformCoordinate (p01, rotM) + curPos; p02 = Vektör3.TransformCoordinate (p02, rotM) + curPos; p03 = Vektör3.TransformCoordinate (p03, rotM) + curPos; RawVector2 s00 = W2S (p00, POV); RawVector2 s01 = W2S (p01, POV); RawVector2 s02 = W2S (p02, POV); RawVector2s03 = W2S (p03, POV); RawVector2 [] kare0 = {s00, s01, s02, s03, s00}; DrawLines (square0); // üst dikdörtgen p00.Z + = h; s00 = W2S (p00, POV); p01.Z + = h; s01 = W2S (p01, POV); p02.Z + = h; s02 = W2S (p02, POV); p03.Z + = h; s03 = W2S (p03, POV); RawVector2 [] kare1 = {s00, s01, s02, s03, s00}; DrawLines (Square1); // üst / alt dikdörtgenler bağlanır DrawLine (yeni RawVector2 (kare0 [0] .X, kare0 [0] .Y), yeni RawVector2 (kare1 [0] .X, kare1 [0] .Y)); DrawLine (yeni RawVector2 (kare0 [1] .X, kare0 [1] .Y), yeni RawVector2 (kare1 [1] .X, kare1 [1] .Y)); DrawLine (yeni RawVector2 (kare0 [2] .X, kare0 [2] .Y), yeni RawVector2 (kare1 [2] .X, kare1 [2] .Y)); DrawLine (yeni RawVector2 (kare0 [3] .X, kare0 [3] .Y), yeni RawVector2 (kare1 [3] .X, kare1 [3] .Y)); } Kod:
Kod:genel void DrawLines (RawVector2 [] nokta0) { eğer (nokta0. uzunluk <2) dönüş; for (int x = 0; x <nokta0. uzunluk - 1; x ++) DrawLine (nokta0 [x], nokta0 [x + 1],); }
how do we use thisMerhaba MH !!
Basit bir kutu düşmanın mesafesini tahmin etmeye yardımcı olur.
Bu konuda,
her sporcunun etrafında çizim yöntemi 3D kutusunu öğreneceksiniz.
Farklı boyutlardaki kolay / çömelmiş oyuncular için kutular ekleyebilirsiniz.
Her zaman bir kutu boyutuna sahip olmak istiyorsanız, kutunun boyutunu
kemikle hesaplayabilirsiniz: PUBG - ESP (iskelet) WallHack'te [aşağıdaki kodun kaynağı],
ancak gerçekte çok gerekli değildir .
Kod:{ float l, w, h, o; l = 60f; w = 60f; h = 160f; o = 50f; //box size for standing player float zOffset = -100f; if (actor.Type == ActorTypes.Vehicle) //vehicles have a bigger box { zOffset = 50; l = 200f; w = 160f; h = 80f; o = 0f; } //build box Vector3 p00 = new Vector3(o, -w / 2,0f); Vector3 p01 = new Vector3(o, w / 2, 0f); Vector3 p02 = new Vector3(o - l, w / 2, 0f); Vector3 p03 = new Vector3(o - l, -w / 2, 0f); //rotate rectangle to match actor rotation float theta1 = 2.0f * (float)Math.PI * (actor****tation.Y) / 180.0f; Matrix rotM = Matrix****tationZ((float)(theta1 / 2)); // rotate around Z-axis Vector3 curPos = new Vector3(actor.Location.X, actor.Location.Y, actor.Location.Z + zOffset); p00 = Vector3.TransformCoordinate(p00, rotM) + curPos; p01 = Vector3.TransformCoordinate(p01, rotM) + curPos; p02 = Vector3.TransformCoordinate(p02, rotM) + curPos; p03 = Vector3.TransformCoordinate(p03, rotM) + curPos; RawVector2 s00 = W2S(p00, POV); RawVector2 s01 = W2S(p01, POV); RawVector2 s02 = W2S(p02, POV); RawVector2 s03 = W2S(p03, POV); RawVector2[] square0 = { s00, s01, s02, s03, s00 }; DrawLines(square0); // top rectangle p00.Z += h; s00 = W2S(p00, POV); p01.Z += h; s01 = W2S(p01, POV); p02.Z += h; s02 = W2S(p02, POV); p03.Z += h; s03 = W2S(p03, POV); RawVector2[] square1 = { s00, s01, s02, s03, s00 }; DrawLines(square1); // upper/lower rectangles get connected DrawLine(new RawVector2(square0[0].X, square0[0].Y), new RawVector2(square1[0].X, square1[0].Y)); DrawLine(new RawVector2(square0[1].X, square0[1].Y), new RawVector2(square1[1].X, square1[1].Y)); DrawLine(new RawVector2(square0[2].X, square0[2].Y), new RawVector2(square1[2].X, square1[2].Y)); DrawLine(new RawVector2(square0[3].X, square0[3].Y), new RawVector2(square1[3].X, square1[3].Y)); }
Kod:public void DrawLines(RawVector2[] point0) { if (point0.Length < 2) return; for (int x = 0; x < point0.Length - 1; x++) DrawLine(point0[x], point0[x + 1],); }
kaynak kodu bu zatenbu kodu programa aktarmayı bilmek lazım
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?