Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[SOLVED] External aimbot - obliczyć najlepszy cel do celu
#1
Cześć wszystkim, więc pracuję nad zewnętrznym hackiem zakodowanym w visual basic (tak, proszę, nie obwiniaj mnie za to, działa całkiem nieźle, nie chcę zaczynać płonącej nitki ^^)   Używam więc mojej pozycji x, y, z i ennemy x, y, z, aby obliczyć wysokość i odchylenie potrzebne do celowania w ten cel (zmodyfikowałem kod, który znalazłem gdzieś, nie pamiętam gdzie):   delta_x = my_x - nme_x delta_y = my_y - nme_y delta_z = my_z - nme_z   hyp = ((delta_x ^ 2) + (delta_y ^ 2) + (delta_z * delta_z)) ^ (1/2)   set_pitch = System.Math.Atan (delta_z / hyp) * 57.295779513082   set_yaw = System.Math.Atan (delta_y / delta_x) * 57.295779513082   Jeśli delta_x> 0 Następnie set_yaw = set_yaw + 180 Koniec, jeśli   Tak więc działa, jest dość prosty i wiem, że jest lepszy sposób obliczania wysokości i odchylenia za pomocą 4 porównań (jeśli my_x> nme_x coś takiego), ale w każdym razie używam tego.   Tak więc to, co próbuję zrobić, to wyliczyć z każdą pozycją wroga, która sprawi, że mój obrót (pomiędzy oryginalnym odchodzeniem i tyczeniem do tego, który sprawi, że będę celował w gracza) możliwie najniższy, tak musi w rzeczywistości złapać najbliższego gracza mojego celownika   Próbowałem to: Sqrt ((Abs (Val (set_pitch) - my_pitch) ^ 2) + (Abs (Val (set_yaw) - my_yaw) ^ 2))   nawet jeśli nie jest to dobry pomysł, zadziałało, gdy testowałem go z 2 graczami, ale w rzeczywistości uważam, że jest to całkowicie błędne.   Więc jakikolwiek pomysł, jak obliczyć kąt z tylko oryginalne odchylenie i skok Yaw & pitch Ja ustawię pozycja mnie i mojego wroga   Może to nie tak, że obliczyliśmy gracza, który jest najbliższy mojemu celownikowi, i tak wszelkie porady i wskazówki byłyby świetne   Mam nadzieję, że wyjaśniłem mój problem w sposób jasny ^^
Reply
#2
Kod: float Math_s :: GetRadius (PFLOAT pflEyePosition) {PFLOAT pflViewAngles; g_pEngine -> GetViewAngles (pflViewAngles); float flDirection [3], flDelta [3]; AngleVectors (pflViewAngles, flDirection); VectorSubtract (flDelta, g_pBaseClient -> m_flEyePosition, pflEyePosition); VectorNormalize (flDelta); float flDistance = RAD2DEG (acos (Dot (flDirection, flDelta))); return (flDistance> 0)? flDistance: 0; }
Reply
#3
Zacytować: Originally Posted by pze .. Czy właśnie przeczytałeś mój post w całości? : /
Reply
#4
Dziękuję za odpowiedź, ale precyzuję, że nie sprawdzam opóźnienia (tak, to jest natychmiastowa rotacja) Na przykład : my_pitch = 5 my_yaw = 10 set_yaw = 2 set_pitch = 25 Mogę więc obliczyć za pomocą tych dwóch informacji "odległość" między dwiema pozycjami. (Ale skoro to nie jest pozycja .. i tak to na pewno jest to zła droga ... nie mogę znaleźć słów do wyjaśnienia po angielsku) Ponieważ tak naprawdę nie rozumiem, jak to zrobić "proste sprawdzenie pola widzenia każdego celu" na zewnątrz. ^^ Ale dzięki za wszystkie odpowiedzi
Reply
#5
Bo powiedziałem, że koduję w visual basic Jestem naprawdę noob w c ++ Po prostu znam podstawy ... byłoby prostsze, gdyby matematyka została wyjaśniona słowami, a nie tym kodem. Po prostu nie rozumiem wszystkiego.
Reply
#6
ze słowami: przeprowadź pętlę przez wszystkie elementy, obliczyć potrzebne odchylenie i skok, aby na nie wycelować. sprawdź, który z nich różni się najmniej od bieżącego odchylenia i nachylenia.
Reply
#7
Zacytować: Originally Posted by learn_more ze słowami: przeprowadź pętlę przez wszystkie elementy, obliczyć potrzebne odchylenie i skok, aby na nie wycelować. sprawdź, który z nich różni się najmniej od bieżącego odchylenia i nachylenia. Tak właśnie robię, ale moja matematyka jest zła, bo używam odległości punktu (bo to był mój jedyny pomysł), ale czy muszę obliczyć jakiś kąt? Po prostu nie wiem, jak porównać wartość od -89 do 89 plus kolejną od -180 t 180 i wymieszać je razem: / EDYCJA: Spojrzałem przez Internet, w rzeczywistości po prostu muszę wiedzieć, co zrobić, aby porównać pozycję pochylenia i odchylenia z inną pozycją nachylenia i odchylenia (czy istnieje jakaś formuła: /) EDYCJA 2: ROZWIĄZANI! Przepraszam za głupią nitkę ... Właśnie odwracałem mój_pitch & set_pitch w obliczaniu odległości. Działa teraz świetnie (używając formuły odległości punktów 2D) dzięki za pomoc! <3 to forum
Reply
#8
cpp: float ty = extrainfo [p -> clientnum]. aimyaw - player1 -> yaw; float tp = extrainfo [p -> clientnum]. pitch - player1 -> pitch; CLAMPYAW (ty); CLAMPPITCH (tp); float di = (ty * ty) + (tp * tp); if (di
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)