Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Zbiór kodów MW2 (przesunięcia 4D1)
#1
Przesunięcia:     Kod:   #define OFF_CG 0x7F0F78 #define OFF_CGS 0x7ED3B8 #define OFF_REFDEF 0x85B6F0 #define OFF_ENTITY_SIZE 0x204 #define OFF_ENTITY 0x8F3CA8 #define OFF_CLIENT_SIZE 0x52C #define OFF_CLIENT 0x8E77B0 #define OFF_CAMERA 0xB2F890 #define OFF_INPUT 0xB2F8DC #define OFF_CURRENTCMDNUM 0xB30CDC #define CMD_MASK 0x7F #define CMD_BACKUP 128 #define OFF_PLAYERSTATE 0x7F0F78 #define OFF_KBUTTONS 0xA1A9A8 #define OFF_PATCH_GUID 0x449A70 #define OFF_PING 0xB2F7D0 #define OFF_VIEWANGLEX 0xB2F8D4 #define OFF_VIEWANGLEY 0xB2F8D0 #define OFF_CHOPPERBOXES 0x59E710 #define OFF_BULLETPARAMS_CHECK 0x59D080 #define OFF_FIREBULLETPENETRATE 0x59F5A0 #define OFF_FX_ENABLE 0x16F0410 #define OFF_FX_DRAW 0x16F047C #define OFF_GETWEAPONSPREAD 0x4770F0 #define OFF_RANDOMBULLETDIR 0x5D51A0 #define OFF_SPREADMULTIPLIER 0x8EE0A4 #define OFF_REGISTERTAG 0x004BC450 #define OFF_REGISTERFONT 0x505670 #define OFF_REGISTERHANDLE 0x505E60 // RegisterShader #define OFF_DRAWENGINETEXT 0x509D80 #define OFF_DRAWSTRETCHPIC 0x509770 #define OFF_STRWIDTH 0x5056C0 #define OFF_GETPARAM 0x004C9CC0 #define OFF_GETSCREENMATRIX 0x4F8940 #define OFF_DRAWROTATEDPIC 0x004A6F00 #define OFF_APPLYRECT 0x4FBEC0 #define OFF_DEBUGLINE 0x424650 #define OFF_DEBUGCIRCLE 0x4E2E20 #define OFF_SCREENMATRIX_STATIC 0x1084378 #define OFF_GETPLAYERTAG 0x0056A020 #define OFF_TRACE 0x4B16B0 #define TRACE_MASK 0x803003 #define OFF_GETLOCALWEAPON 0x4BE4D0 #define OFF_SENDCMD 0x609540 #define OFF_LOCALINDEX 0x7F42C8 #define OFF_DRAWRADAR 0x004316E0 #define OFF_OVERLAYENEMY 0x46CCA0 #define OFF_OVERLAYFRIENDLY 0x4FE000 #define OFF_OVERLAYSENTRY 0x409110 #define OFF_OVERLAYPARTY 0x4FE000 #define OFF_OVERLAYUNK1 0x5003C0 #define OFF_OVERLAYUNK2 0x49B6F0 #define OFF_OVERLAYUNK3 0x4CD770 #define OFF_OVERLAYUNK4 0x45BD60 #define OFF_OVERLAYUNK5 0x4316E0 #define OFF_OVERLAYUNK6 0x483A30 #define OFF_WRITEPACKET 0x411900 #define OFF_OBITUARY 0x586C90 #define OFF_ERROR 0x4B22D0 #define OFF_RELIABLECMDS 0xA1E9B4 #define OFF_RELIABLECMDS_SIZE 0x400 #define MAX_RELIABLE_COMMANDS 0x80 #define OFF_SERVERCMDS 0xA3E9C0 #define OFF_SERVERCMDS_SIZE 0x400 #define OFF_CMDNUMBER 0xB30CDC #define OFF_OUTPACKETS 0xB34CF4 #define OFF_CMDS 0xB2F8DC #define OFF_SNAPSHOTS 0xB34E74 #define MAX_ENTITIES_IN_SNAPSHOT 768 #define OFF_INPUT 0xB2F8DC #define OFF_USERCMD_SIZE 0x28 #define PACKET_BACKUP 32 #define PACKET_MASK 0x1F #define CMD_MASK 0x7F #define CMD_BACKUP 128   Klasy:     Kod:   wyliczeniowe EntTypes {ET_GENERAL, ET_PLAYER, ET_PLAYER_CORPSE, ET_ITEM, ET_MISSILE, ET_INVISIBLE, ET_SCRIPTMOVER, ET_SOUND_MOVER, ET_FX, ET_LOOP_FX, ET_PRIMARY_LIGHT, ET_TURRET, ET_HELICOPTER, ET_PLANE, ET_VEHICLE, ET_VEHICLE_COLLMAP, ET_VEHICLE_CORPSE, ET_VEHICLE_SPAWNER}; class CEntity {public: char _0x0000 [24]; Vec3 v Orgin; // 0x0018 char _0x0024 [72]; __int32 IsZooming; // 0x006C char _0x0070 [12]; Vec3 vOldOrigin; // 0x007C char _0x0088 [84]; __int32 clientNum; // 0x00DC __int32 eType; // 0x00E0 __int32 eFlags; // 0x00E4 char _0x00E8 [12]; Vec3 vNewOrigin; // 0x00F4 char _0x0100 [108]; __int32 pickupItemID; // 0x016C __int32 clientNum2; // 0x0170 char _0x0174 [52]; BYTE weaponID; // 0x01A8 char _0x01A9 [51]; __int32 iAlive; // 0x01DC char _0x01E0 [32]; __int32 clientNum3; // 0x0200}; // Rozmiar = 0x0204 klasa CClient {public: __int32 IsValid; // 0x0000 __int32 IsValid2; // 0x0004 __int32 clientNum; // 0x0008 char szName [16]; // 0x000C __int32 iTeam; // 0x001C __int32 iTeam2; // 0x0020 __int32 iRank; // 0x0024 rank + 1 char _0x0028 [4]; __int32 iPerk; // 0x002C __int32 iKills; // 0x0030 __int32 iScore; // 0x0034 char _0x0038 [968]; Vec3 vAngles; // 0x0400 char _0x040C [136]; __int32 IsShooting; // 0x0494 char _0x0498 [4]; __int32 IsZoomed; // 0x049C char _0x04A0 [68]; __int32 weaponID; // 0x04E4 char _0x04E8 [24]; __int32 weaponID2; // 0x0500 char _0x0504 [40]; }; // Rozmiar = 0x052C klasa CRefdef {public: __int32 x; // 0x0000 __int32 y; // 0x0004 __int32 iWidth; // 0x0008 __int32 iHeight; // 0x000C float fovX; // 0x0010 float fovY; // 0x0014 Vec3 vOrigin; // 0x0018 Vec3 vViewAxis [3]; // 0x0024 char _0x0048 [4]; Vec3 vViewAngles; // 0x004C __int32 iTime; // 0x0058 __int32 iMenu; // 0x005C char _0x0060 [16128]; Vec3
Reply
#2
wow + rep
Reply
#3
Naprawiono problemy z skalowaniem podczas korzystania z DrawRotatedPic, ponieważ trzeba skalować je samodzielnie do rozdzielczości 640x480, a podczas korzystania z monitora szerokoekranowego może to być trudne. Więc odwróciłem sposób, w jaki silnik inicjuje strukturę CScreenPlacement, więc zrób to tak: Kod: typedef int (__cdecl * tSetupScr) (CScreenPlacement * scrPlace, int x, int y, int w, int h); tSetupScr SetupScr = (tSetupScr) 0x4B7830; Kod: CScreenPlacement _scrPlace; SetupScr (& _scrPlace, 0, 0, 640, 480); Pamiętaj, aby inicjować tylko raz, a nie każdą ramkę. Kod: int DrawRotatedPic (float x, float y, float w, float h, kąt float, float * color, qhandle_t shader) {if (! _init) return NULL; return DrawRotatedPic_ (& _scrPlace, x, y, w, h, 5.0f, 5.0f, kąt, kolor, cieniowanie); }
Reply
#4
Dziękuję człowieku. + Rep Tura pytań już teraz, po co i jak używasz klasy CEntityState? Nigdy wcześniej tego nie widziałem
Reply
#5
podczas próby zrobienia radaru pojawia się awaria. Kod: //CEngine.h ... CRadarHud * radarHud = new CRadarHud; //main.h ... if (radar) {radarHud -> PosX = 150.f; radarHud -> PosY = 50.f; radarHud -> Szerokość = 75.f; radarHud -> Wysokość = 75.f; // biały shader + zielony kolor służy tylko do testowania Lol CG_CompassDrawPlayerMap (0, 1, 0, radarHud, whiteShader, i zielony); // wypróbowane wszystkie możliwe wartości dla _unk0 i _unk1} offset powinien być poprawny - #define dwDrawRadar 0x4AB2E0 // DrawRadar func znalazłem to przez sig, a ciało func jest takie samo jak twoje P.S. próbowałem także: Kod: CRadarHud radarHud; radarHud. PosX = blablabla; ... if (radar) CG_CompassDrawPlayerMap (0, 1, 0, & radarHud, whiteShader, i zielony); itp., ale nadal nie działają. w wariancie powyżej gra mówi radarHud -> X lub radarHud -> Y ma wartość NULL ... P.P.S. to jest dla alterRevolution
Reply
#6
Zacytować: Wysłany przez pierwotnie CypherPresents Naprawiono problemy z skalowaniem podczas korzystania z DrawRotatedPic, ponieważ trzeba skalować je samodzielnie do rozdzielczości 640x480, a podczas korzystania z monitora szerokoekranowego może to być trudne. Więc odwróciłem sposób, w jaki silnik inicjuje strukturę CScreenPlacement, więc zrób to tak: Kod: typedef int (__cdecl * tSetupScr) (CScreenPlacement * scrPlace, int x, int y, int w, int h); tSetupScr SetupScr = (tSetupScr) 0x4B7830; Kod: CScreenPlacement _scrPlace; SetupScr (& _scrPlace, 0, 0, 640, 480); Pamiętaj, aby inicjować tylko raz, a nie każdą ramkę. Kod: int DrawRotatedPic (float x, float y, float w, float h, kąt float, float * color, qhandle_t shader) {if (! _init) return NULL; return DrawRotatedPic_ (& _scrPlace, x, y, w, h, 5.0f, 5.0f, kąt, kolor, cieniowanie); } Jaka jest wielkość struktury CScreenPlacement? Wiem, że jest w 0x1084460 ... po prostu nie mogłem znaleźć jego rozmiaru ...
Reply
#7
Zacytować: Napisał pierwotnie generał Shepher Jaka jest wielkość struktury CScreenPlacement? Wiem, że jest w 0x1084460 ... po prostu nie mogłem znaleźć jego rozmiaru ... Kod: klasa CScreenPlacement {public: char _pad [0x4]; // 0x0 float _unk0; // 0x4; Wysokość / 480.0 float _unk1; // 0x8; Szerokość / 640.0 float _unk2; // 0xC; Wysokość / 480.0 float _unk3; // 0x10; 640.0 / (wysokość * 1,33 / float_A80014) float _unk4; // 0x14; 480.0 / wysokość pływak X; // 0x18 float Y; // 0x1C float Width; // 0x20 float Height; // 0x24 char _pad1 [0x40]; // 0x28 float _unk5; // 0x68; (width - (height * 1.33 / float_A80014)) / 2}; // Rozmiar = 0x6B jeszcze go nie przetestowałem, ale powinno działać.
Reply
#8
przy okazji, masz takie same przesunięcia OverlayFriendly i OverlayParty. i dlaczego nie stosować jednego typedef do wszystkich nakładek? Kod: typedef void (__cdecl * RadarOverlay) (int a1, int a2, int a3, CRadarHud * hud, RGBA_COLOR * kolor); RadarOverlay OverlayFriendly = (RadarOverlay) 0xAAAAAAA; RadarOverlay OverlayEnemy = (RadarOverlay) 0xBBBBBBB; RadarOverlay OverlaySentry = (RadarOverlay) 0xCCCCCCC;
Reply
#9
Zacytować: Pierwotnie Wysłany przez patcherPRO przy okazji, masz takie same przesunięcia OverlayFriendly i OverlayParty. i dlaczego nie stosować jednego typedef do wszystkich nakładek? Kod: typedef void (__cdecl * RadarOverlay) (int a1, int a2, int a3, CRadarHud * hud, RGBA_COLOR * kolor); RadarOverlay OverlayFriendly = (RadarOverlay) 0xAAAAAAA; RadarOverlay OverlayEnemy = (RadarOverlay) 0xBBBBBBB; RadarOverlay OverlaySentry = (RadarOverlay) 0xCCCCCCC; Nie ma powodu, dlaczego pytasz lol
Reply
#10
Przesunięcie aRev M2: XUID: iw4m.dat + 609D698 Może być użyty do wykonania spooferów XUID / GUID.
Reply




Users browsing this thread: 1 Guest(s)