Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Prognozowanie silnika
#1
mój rozmiar struktury to 184, co powinno być poprawne.   Edycja: Okazało się, że przekazując encję jest trochę puste, wszystkie wartości są zerowe. jeśli sprawdzę przed hp to pokazuje 100 po 0. To ktoś ma pomysł, dlaczego?     Cześć, Zacząłem prognozować silnik. Tbr tylko c + p'ed z MarkHC (Global Offensive Structs / Offsets), ale szukałem indeksów vtable i więcej. Soo próbowałem go uruchomić. Ale ulega awarii podczas instalacji. Mój indeks vtable wynosi 20.         Zacytować:       typedef void * (__thiscall * SetupMoveFn) (void *, C_BasePlayer *, CUserCmd *, IMoveHelper *, CMoveData *); GetVFunc <SetupMoveFn> (this, 20) (this, pPlayer, cmd, movehelper, movedata);         Struct (dzięki MarkHC):     Zacytować:       klasa CMoveData { publiczny: bool m_bFirstRunOfFunctions: 1; bool m_bGameCodeMovedPlayer: 1; int m_nPlayerHandle; // edict index na serwerze, uchwyt jednostki klienta na client = int m_nImpulseCommand; // Wydano polecenie Impulse. Wektor m_vecViewAngles; // Kąty widoku poleceń (przestrzeń lokalna) Wektor m_vecAbsViewAngles; // Kąty widoku poleceń (przestrzeń światowa) int m_nButtons; // Przyciski ataku. int m_nOldButtons; // Od host_client-> oldbuttons; float m_flForwardMove; float m_flSideMove; float m_flUpMove; float m_flMaxSpeed; float m_flClientMaxSpeed; Wektor m_vecVelocity; // edict :: velocity // Aktualny kierunek ruchu. Vector m_vecAngles; // edict :: angle Wektor m_vecOldAngles; float m_outStepHeight; // jak bardzo wspiąłeś się na ten ruch Vector m_outWishVel; // Tu właśnie próbowałeś Wektor m_outJumpVel; // To jest twoja prędkość skoku Wektor m_vecConstraintCenter; float m_flConstraintRadius; float m_flConstraintWidth; float m_flConstraintSpeedFactor; float m_flUnknown [5]; Wektor m_vecAbsOrigin; };         Byłbym wdzięczny za podpowiedź.
Reply
#2
pokaż nam kod wklejony silnika pred
Reply
#3
Zacytować: Napisał początkowo ReactiioN pokaż nam kod wklejony silnika pred Kod: void Prediction (CUserCmd * cmd) { auto pPlayer = I :: Engine-> GetLocal (); I :: MoveHelper-> SetHost (pPlayer); float _flOldCurTime = I :: Globals-> curtime; float _flOldFrameTime = I :: Globals-> frametime; I :: Globals-> curtime = pPlayer-> m_nTickBase * I :: Globals-> interval_per_tick; I :: Globals-> frametime = I :: Globals-> interval_per_tick; I :: GameMovement-> StartTrackPredictionErrors (pPlayer); CMoveData moveData; I :: Prediction-> SetupMove (pPlayer, cmd, null, i moveData); I :: GameMovement-> ProcessMovement (pPlayer i moveData); I :: Prediction-> FinishMove (pPlayer, cmd i moveData); I :: GameMovement-> FinishTrackPredictionErrors (pPlayer); I :: Globals-> curtime = _flOldCurTime; I :: Globals-> frametime = _flOldFrameTime; I :: MoveHelper-> SetHost (nullptr); }
Reply
#4
Nie p, ale powinno działać. A co z wyjściami debuggera?
Reply
#5
Zacytować: Napisał początkowo ReactiioN Nie p, ale powinno działać. A co z wyjściami debuggera? Czy to możliwe, że podłączam createmove w trybie klienta, a nie klienta? Po prostu przeczytaj o tym ..
Reply
#6
Zacytować: Originally Posted by Miraculi Czy to możliwe, że podłączam createmove w trybie klienta, a nie klienta? Po prostu przeczytaj o tym .. Przypuśćmy, że teraz: dołącz debuggera, pozwól mu się zawiesić i powiedz nam, jaki jest wyjątek CS: GO rzuca się na ciebie
Reply
#7
Zacytować: Originally Posted by Miraculi Czy to możliwe, że podłączam createmove w trybie klienta, a nie klienta? Po prostu przeczytaj o tym .. Nigdy nie podłączyłem CreateMove z ClientMode, idk. Wystarczy dołączyć debugger ...
Reply
#8
Zacytować: Napisał początkowo ReactiioN Nigdy nie podłączyłem CreateMove z ClientMode, idk. Wystarczy dołączyć debugger ... Drukowanie i zawieszanie podczas instalacji: Kod: Wyjątek zgłoszony 0x3F80008B w csgo.exe: 0xC0000005: Dostęp do zapisu naruszenia w pozycji 0xB2F15DC1. Po prostu przeczytaj to tutaj z @ double _v Engine Prediction thats, dlaczego myślałem o tym.
Reply
#9
Zacytować: Originally Posted by Miraculi Drukowanie i zawieszanie podczas instalacji: Kod: Wyjątek zgłoszony 0x3F80008B w csgo.exe: 0xC0000005: Dostęp do zapisu naruszenia w pozycji 0xB2F15DC1. Po prostu przeczytaj to tutaj z @ double _v Engine Prediction thats, dlaczego myślałem o tym. możesz to zrobić gdzie chcesz, nie ma to znaczenia! dostajesz naruszenie zasad dostępu, które powinno sprawić, że stanie się cholernie jasne, dlaczego się zawiesił
Reply
#10
Dlaczego w końcu się tym zajmuję, zmagam się z tym, ale nie czuję potrzeby poproszenia o łyżkę lub stworzenia nici? @OP dla jednego, zapominasz zerwać swoje CMoveData, ale także twoje zamówienie jest popieprzone. Zacytować: Napisał początkowo ReactiioN Nie p, ale powinno działać. A co z wyjściami debuggera? Czego mu brakuje, z wyjątkiem m_pPredictionPlayer i m_pRandomSeed, które (o ile czytałem) nie są w ogóle przywoływane później?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)