예제 #1
0
        private static uint GetOffset_PlayerData_HeroName(uint sizeof_playerdata)
        {
            if (sizeof_playerdata == 0 || Engine.Current == null)
            {
                return(0);
            }

            var data    = PlayerData.Local.GetPointer().Cast <byte>().ToArray((int)sizeof_playerdata);
            var pattern = new BinaryPattern(Encoding.ASCII.GetBytes("Default"));

            //new byte[] { (byte)'D', (byte)'e', (byte)'f', (byte)'a', (byte)'u', (byte)'l', (byte)'t' });

            try
            {
                var match = pattern.NextMatch(data, 0);
                return((uint)(match - 49));
            }
            catch
            {
                return(0);
            }
        }
예제 #2
0
        private static uint GetOffset_PlayerData_LifePercentage(uint sizeof_playerdata)
        {
            if (sizeof_playerdata == 0 || Engine.Current == null)
            {
                return(0);
            }

            var actor  = Actor.Local;
            var player = PlayerData.Local;
            var data   = PlayerData.Local.GetPointer().Cast <byte>().ToArray((int)sizeof_playerdata);

            var signature = BitConverter.GetBytes(actor.x08C_ActorSnoId);
            var pattern   = new BinaryPattern(signature);

            try
            {
                var match = pattern.NextMatch(data, 0);
                return((uint)match + 4);
            }
            catch
            {
                return(0);
            }
        }