コード例 #1
0
        public void Initialize()
        {
            player              = new PlayerData();
            enemiesLeft         = new AddressObject <int>();
            enemiesLeft.address = Memory.GetAddressFromPointer(0xFCBCB0, 0x8, 0x40, 0x5DC, 0x434, 0x450);

            switch (version)
            {
            case SCCVersion.Steam:
            {
                mapNamePtr = (IntPtr)Memory.GetAddressFromPointer(0xF961D4, 5);
                break;
            }

            case SCCVersion.Uplay:
            {
                mapNamePtr = (IntPtr)Memory.GetAddressFromPointer(0xF96294, 5);
                break;
            }

            default:
                throw new Exception("Game version not set!");
                break;
            }
        }
コード例 #2
0
        public PlayerTransform(ulong playerObjectAddr, params ulong[] offsets)
        {
            ulong objectAddr = Memory.GetAddressFromPointer(playerObjectAddr, offsets);

            posx         = new AddressObject <float>();
            posx.address = objectAddr + 0x94;

            posy         = new AddressObject <float>();
            posy.address = objectAddr + 0x9C;

            posz         = new AddressObject <float>();
            posz.address = objectAddr + 0x98;

            roty         = new AddressObject <ushort>();
            roty.address = objectAddr + 0xA4;

            velx         = new AddressObject <float>();
            velx.address = objectAddr + 0x1C0;

            vely         = new AddressObject <float>();
            vely.address = objectAddr + 0x1C8;

            velz         = new AddressObject <float>();
            velz.address = objectAddr + 0x1C4;
        }
コード例 #3
0
 public void CheckIfReloaded()
 {
     sceneCounterAddr = Memory.GetAddressFromPointer(0xFCB49C, 0x18, 0x28);
     if (sceneCounterAddr != oldSceneCounterAddr)
     {
         Initialize();
         sceneCounter = new AddressObject <int>(sceneCounterAddr);
         if (cachedSceneCounter > 0)
         {
             Program.Log("Scene reloaded - previous counter at {0}", cachedSceneCounter);
         }
         oldSceneCounterAddr = sceneCounterAddr;
     }
 }
コード例 #4
0
        public ConvictionGame(SCCVersion ver)
        {
            if (Memory.handle == null)
            {
                throw new Exception("Must hook game before instantiating ConvictionGame object!");
            }

            version             = ver;
            sceneCounterAddr    = Memory.GetAddressFromPointer(0xFCB49C, 0x18, 0x28);
            oldSceneCounterAddr = sceneCounterAddr;
            sceneCounter        = new AddressObject <int>(sceneCounterAddr);
            Initialize();
            Program.Log("Program hooked! Version: {0}", version.ToString());
        }