Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Esp pozostaje w gęstych grupach
#1
Wciągam farbę, by narysować swoje esp, a wchodząc do walki, mój komputer znacznie spowalnia (zwykle ma ~ 170 fps) aż do ~ 40 fps i dodaje widoczne jąkanie. Dzieje się tak jednak tylko w walce lub w tłumie, a reszta czasu jest dandysa.   Pierwsza wersja tego esp była niezaprzeczalnie zła, jednak powoli została zrezygnowana z A. używam formuł matematycznych, które faktycznie rozumiem, oraz B. aby zmniejszyć ilość pracy wykonanej w haku, aby rzekomo naprawić opóźnienie. Jednak nic nie naprawia.   Hook:     Kod:   void __fastcall Hooked_PaintTraverse (void * ecx, void * edx, unsigned int VGUIPanel, bool forcerepaint, bool allowforce) {Hack. PanelHook -> GetMethod <PaintTraverseFn> (41) (ecx, VGUIPanel, force-fix, allowforce); static unsigned int panel = 0; if (! panel) {std :: string szPanelName = Interfejsy. Panel -> GetName (VGUIPanel); if (szPanelName find ("FocusOverlayPanel")! = std :: string :: npos) panel = VGUIPanel; } If (panel && VGUIPanel == panel) {if (! Ingame) // określony w osobnym wątku wraz z filtrem encji Hack. Rysunki -> DrawString (5, 5, Color :: White (), false, "Injected"); if (Ingame && Connected) // określone w osobnym wątku, wraz z filtrem encji {Hack. Rysunki -> DrawString (5, 25, Color :: White (), false, Esp? "Esp: true": "Esp: false"); if (Esp) {for (int i = 0; i <Interfejsy: Engine -> GetMaxClients (); i ++) {if (Entity [i]. valid == true) {Hack. Rysunki -> DynamicBox (Entity [i]. PPlayer, Player, pLocal, Color :: White (), Entity [i]. Hp); }}}}}}   Sprawdzanie gracza (osobny wątek):     Kod:   void Check () {while (true) {CPlayer * pLocal = Interfejsy. EntList -> GetClientEntity <CPlayer> (Interfejsy: Engine -> GetLocalPlayer ()); Gracz . pLocal = pLocal; for (int i = 0; i <Interfejsy: Engine -> GetMaxClients (); i ++) {CPlayer * pPlayer = Interfaces. EntList -> GetClientEntity <CPlayer> (i); if (! pPlayer -> IsValid ()) {Entity [i]. valid = false; dalej ; } if (pLocal -> GetTeam () == pPlayer -> GetTeam ()) {Entity [i]. valid = false; dalej ; } Entity [i]. valid = true; Podmiot [i]. pPlayer = pPlayer; Podmiot [i]. hp = pPlayer -> GetHealth (); } Sleep (100); }}
Reply
#2
Zacytować: Napisał Maddog19291 Wciągam farbę, by narysować swoje esp, a wchodząc do walki, mój komputer znacznie spowalnia (zwykle ma ~ 170 fps) aż do ~ 40 fps i dodaje widoczne jąkanie. Dzieje się tak jednak tylko w walce lub w tłumie, a reszta czasu jest dandysa. Pierwsza wersja tego esp była niezaprzeczalnie zła, jednak powoli została zrezygnowana z A. używam formuł matematycznych, które faktycznie rozumiem, oraz B. aby zmniejszyć ilość pracy wykonanej w haku, aby rzekomo naprawić opóźnienie. Jednak nic nie naprawia. Z mojego doświadczenia wynika, że niższe fps jest po prostu częścią tego, gdy patrzę na duże grupy, ale może to tylko ja.
Reply
#3
Zacytować: Napisał Pickles92 Z mojego doświadczenia wynika, że niższe fps jest po prostu częścią tego, gdy patrzę na duże grupy, ale może to tylko ja. Czuję, że bliskość jest również czynnikiem w tym, ponieważ mogę spojrzeć na całą drużynę wroga w spawn i nie doświadczam problemu.
Reply
#4
Dlaczego umieszczasz logikę poza painttraverse? painttraverse to funkcja krytyczna czasowo, która uruchamia każdą klatkę.
Reply
#5
Zacytować: Originally Posted by kila58 Dlaczego umieszczasz logikę poza painttraverse? painttraverse to funkcja krytyczna czasowo, która uruchamia każdą klatkę. Ummmm ..... Aby przyspieszyć. Zamiast umieszczać logikę wewnątrz PT, która z kolei musi wielokrotnie wywoływać wiele funkcji, co może spowolnić wykonywanie funkcji. (To samo dotyczy funkcji DrawRec, która znajduje się wewnątrz PT) Przechowuję wszystkie niezbędne informacje wewnątrz struktury, która jest aktualizowany o własny wątek co x milisekund. za każdym razem, gdy jest nazywany PT, należy czekać na wszystkie sprawdzenia jednostki, takie jak: żywy? zespół? klasa (tf2)? zdrowie? Ich pos? Mój pos? zamiast tego po prostu czyta ze struktury, która natychmiast dostarcza informacji i jest aktualizowana niezależnie od PT. Wydaje się, że jest to bardzo logiczne rozwiązanie i niezależnie od tego, czy działa (nie uwzględniając losowego opóźnienia, jak stwierdza stan nici), czy błędnie tutaj myślę? PT = PaintTraverse
Reply
#6
Proszę, z miłości do Boga ... nie ma powodu, aby używać twierdzeń podczas gdy są wewnętrzne, zwłaszcza gdy dosłownie masz zahaczenie PaintTraverse. Nie będzie dobrze. W ogóle. Wykonuj swoją logikę w PaintTraverse, a także, zamiast zapisywać swoje jednostki w tablicy struktur Entity, po prostu stwórz wektor istot, które są prawidłowe.
Reply
#7
Zacytować: Napisał Maddog19291 Ummmm ..... Aby przyspieszyć. Zamiast umieszczać logikę wewnątrz PT, która z kolei musi wielokrotnie wywoływać wiele funkcji, co może spowolnić wykonywanie funkcji. (To samo dotyczy funkcji DrawRec, która znajduje się wewnątrz PT) Przechowuję wszystkie niezbędne informacje wewnątrz struktury, która jest aktualizowany o własny wątek co x milisekund. za każdym razem, gdy jest nazywany PT, należy czekać na wszystkie sprawdzenia jednostki, takie jak: żywy? zespół? klasa (tf2)? zdrowie? Ich pos? Mój pos? zamiast tego po prostu czyta ze struktury, która natychmiast dostarcza informacji i jest aktualizowana niezależnie od PT. Wydaje się, że jest to bardzo logiczne rozwiązanie i niezależnie od tego, czy działa (nie uwzględniając losowego opóźnienia, jak stwierdza stan nici), czy błędnie tutaj myślę? PT = PaintTraverse Nic nie jest przyspieszane, ponieważ wciąż jesteś ograniczony przez framerate. Wywołania remisowe zajmują więcej czasu niż prosta pętla dla wszystkich graczy. Dodatkowo możesz zawrzeć gracza esp i world esp wewnątrz 1 pętli w ten sposób: Kod: for (int i = 0; i GetHighestEntityIndex (); i ++) {esp :: WeaponESP (localent, i); esp :: PlayerESP (localent, i); } Następnie wykonaj wszystkie testy poprawności w ramach tych funkcji.
Reply
#8
Zacytować: Napisał Maddog19291 Ummmm ..... Aby przyspieszyć. Zamiast umieszczać logikę wewnątrz PT, która z kolei musi wielokrotnie wywoływać wiele funkcji, co może spowolnić wykonywanie funkcji. (To samo dotyczy funkcji DrawRec, która znajduje się wewnątrz PT) Przechowuję wszystkie niezbędne informacje wewnątrz struktury, która jest aktualizowany o własny wątek co x milisekund. za każdym razem, gdy jest nazywany PT, należy czekać na wszystkie sprawdzenia jednostki, takie jak: żywy? zespół? klasa (tf2)? zdrowie? Ich pos? Mój pos? zamiast tego po prostu czyta ze struktury, która natychmiast dostarcza informacji i jest aktualizowana niezależnie od PT. Wydaje się, że jest to bardzo logiczne rozwiązanie i niezależnie od tego, czy działa (nie uwzględniając losowego opóźnienia, jak stwierdza stan nici), czy błędnie tutaj myślę? PT = PaintTraverse Jesteś wewnętrzna. Niezależnie od tego, czy czytasz pamięć z rzeczywistej gry (GetClientEntity (i)), czy też własną EntityArray [i], nie ma żadnej różnicy.
Reply
#9
Dlaczego tworzysz osobny wątek do sprawdzania gracza?
Reply
#10
Zacytować: Originally Posted by sppy Dlaczego tworzysz osobny wątek do sprawdzania gracza? Jak mówi wątek, próbując powstrzymać przypadkowe jąkanie za pomocą mojego haka PaintTraverse, jednak jak mówi wątek: nie ma to znaczenia. Zakładam, że pierwszy post powiedział: "Po prostu musisz sobie z tym poradzić", ale biorąc pod uwagę fakt, że dzieje się to przypadkowo, (mogę spojrzeć na całe lobby, mogę walczyć, nawet nie zdarza się to czasami), wierzę, że może nie nawet bądź moim esp. To może być moja wymówka dla bzdur dla wyzwalacza raytrace dla wszystkiego, co wiem, mogę to wyłączyć i zobaczyć.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)