Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
"Powolny" BorderInputNode
#1
"Powolny" BorderInputNode
Reply
#2
Jest powolny, ponieważ utworzyłeś wątek zamiast zahaczyć PreFrame lub jeden z innych dostępnych wirtualnych. http:
Reply
#3
Zacytować: Originally Posted by GU.Firehawk Jest powolny, ponieważ utworzyłeś wątek zamiast zahaczyć PreFrame lub jeden z innych dostępnych wirtualnych. http:
Reply
#4
Zacytować: Originally Posted by gamiie Zahaczam preFrame; BorderInputThread został utworzony w moim haku preFrame. Nawet gdy usuwam wątek, wciąż jest powolny. Prawdopodobnie pomogłoby, gdybyś dostarczył pełny kod haka.
Reply
#5
Zacytować: Originally Posted by GU.Firehawk Prawdopodobnie pomogłoby, gdybyś dostarczył pełny kod haka. Kod: BOOL APIENTRY DllMain (HMODULE hModule, DWORD dwReason, LPVOID lpReserved) {if (dwReason == DLL_PROCESS_ATTACH) {CreateThread (0, 0, (LPTHREAD_START_ROUTINE) OverlayThread, 0, 0, 0); oPreFrame = (tPreFrameUpdate) HookVTableFunction ((PDWORD64 *) BorderInputNode :: GetInstance () -> vtable_class_40, (PBYTE) i hkPreFrame, INPUTCACHEHOOK); } return TRUE; } Kod: podpisano int __stdcall hkPreFrame (float DeltaTime) {float rValue = oPreFrame (DeltaTime); if (GetAsyncKeyState (VK_LEFT)) {BorderInputNode * pBorderInputNode = BorderInputNode :: GetInstance (); jeśli (pBorderInputNode) {pBorderInputNode -> m_inputCache -> flInputBuffer [InputConceptIdentifiers :: ConceptFire] = 1.0f; }} return rValue; } Próbowałem bawić się różnymi wersjami mojej funkcji haka, z których każda albo zamarła grę, albo miała zauważalne opóźnienie pomiędzy.
Reply
#6
Pierwszą rzeczą, którą widzę źle, jest fakt, że zwracasz wartość float, kiedy powinieneś zwrócić int. Jedyne, co mogę wymyślić, ponieważ wszystko inne wygląda na ogół w porządku, to upewnić się, że podchodzisz do właściwego wirtualnego. Poza tym, z którą bronią próbujesz to zrobić?
Reply
#7
Zacytować: Originally Posted by GU.Firehawk Poza tym, z którą bronią próbujesz to zrobić? Próbuję go głównie ze strzelbami, aby zmniejszyć dokładność i KPM moich statystyk pistoletu. Testowałem go również na innych broniach, takich jak AK12, ale strzelanie wciąż było bardzo powolne. W każdym razie nie uważam, że float to int jest przyczyną mojego problemu, jeśli cokolwiek, co byłoby po prostu utratą precyzji. niezależnie, naprawiłem to.
Reply
#8
Zacytować: Originally Posted by gamiie W każdym razie nie uważam, że float to int jest przyczyną mojego problemu, jeśli cokolwiek, co byłoby po prostu utratą precyzji. niezależnie, naprawiłem to. Rozumiem, że nie udostępnisz swojego rozwiązania?
Reply
#9
Zacytować: Originally Posted by GU.Firehawk Rozumiem, że nie udostępnisz swojego rozwiązania? Nie, nie rozwiązałem problemu z faktem, że bieżący węzeł BorderInputNode jest wolny, naprawiłem błąd, który wskazałeś (zwracający typ nie będący int)
Reply
#10
Zacytować: Originally Posted by gamiie W każdym razie nie uważam, że float to int jest przyczyną mojego problemu, jeśli cokolwiek, co byłoby po prostu utratą precyzji. nie, to spowodowałoby konwersję w dół z liczby zmiennoprzecinkowej na liczbę całkowitą, tak, ale wartość zmiennoprzecinkowa jest zakodowana całkowicie inaczej (IEEE 754) w przeciwieństwie do zwykłego bezpośredniego kodowania szesnastkowego dla liczby całkowitej, która po interpretacji jako zmienna będzie zazwyczaj jest to naprawdę mała wartość
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)