示例#1
0
        private string MobNameFromGuid(ulong Guid, uint NpcID)
        {
            //Эмиль пидоблас прикол
            //Не забудьте переключить режим в Memory.Mode.ALL
            //{
            //Иначе читаем и добавляем в кэш
            //UIntPtr ObjectBase = GetObjectBaseByGuid(Guid);
            //UIntPtr pointer = WowReader.ReadPointer(ObjectBase + Offsets.Name.mobName);
            //UIntPtr finalPointer = WowReader.ReadPointer(pointer + Offsets.Name.mobNameEx);

            //string ReadedMobName = WowReader.ReadUTF8String(finalPointer, 34);

            ////Замена имени на свое
            //string toReplace = "Эмиль Пидоблас";
            //if (ReadedMobName.Length >= toReplace.Length)
            //{
            //    WowReader.WriteUTF8String(finalPointer, toReplace);
            //}

            //return ReadedMobName;
            //}

            string MobName = "";

            if (Caching.GetMobName(NpcID, ref MobName))
            {
                return(MobName);
            }
            else
            {
                //Иначе читаем и добавляем в кэш
                UIntPtr ObjectBase   = GetObjectBaseByGuid(Guid);
                UIntPtr pointer      = WowReader.ReadPointer(ObjectBase + Offsets.Name.mobName);
                UIntPtr finalPointer = WowReader.ReadPointer(pointer + Offsets.Name.mobNameEx);

                string ReadedMobName = WowReader.ReadUTF8String(finalPointer, 34);
                Caching.AddMobName(NpcID, ReadedMobName);

                return(ReadedMobName);
            }
        }