[C#] Enigma.D3 menu

User Tag List

Page 8 of 63 FirstFirst ... 45678910111258 ... LastLast
Results 106 to 120 of 940
  1. #106
    enigma32's Avatar Legendary
    Reputation
    912
    Join Date
    Jan 2013
    Posts
    551
    Thanks G/R
    4/738
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by yondervaluabletuna View Post
    Any ideas?
    Considering the low addresses, those are probably reads on a bad MemoryObject. ProcessMemory.Read(00000798) fits very well with Engine.Current.ObjectManager.x798_Storage, but what ProcessMemory.Read(00000794) could be I'm not sure, maybe -4 used as address to an ObjectManager.

    What does that mean? That would mean you have a bad ObjectManager instance that was initialized with address 0 or -4. How that happens I have no idea :S The best thing you can do is set breakpoint and try to find where the first bad read originates.

    You could add some code in the MemoryObject ctor, and make it break if address below 4096 or something.

    [C#] Enigma.D3
  2. #107
    axlrose's Avatar Member
    Reputation
    1
    Join Date
    May 2014
    Posts
    35
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Don't know if it is related, but I was getting infinite loops when iterating over IEnumerables when the last item was null. For some reason the loop started over. I did a .Where() selection to solve this problem...

  3. #108
    axlrose's Avatar Member
    Reputation
    1
    Join Date
    May 2014
    Posts
    35
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I have removed this post
    Last edited by axlrose; 06-02-2014 at 10:14 AM.

  4. #109
    enigma32's Avatar Legendary
    Reputation
    912
    Join Date
    Jan 2013
    Posts
    551
    Thanks G/R
    4/738
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by axlrose View Post
    Thanks Enigma for the update! Just wanted to revisit the x00 and x0C fields that you missed in your changeset. These are the sno ids of the correlating scene (/appearance/*.app) and texture (texture/*.tex) found in the clientdata.mpq resource files. I've extracted all and can confim these are correct. If the texture with the respective sno id is used, the map can be revealed...

    What i didn't understand what the ids in the x04 and 0x08 fields were?
    I have barely poked around inside the MPQs, you have any idea what appearance does for a scene? I mean, iirc there are also scene files *.scn, so maybe SceneSnoId is a misleading name.

    The IDs on x04 and x08 are for the items in the non-SNO containers, just like ACD and Actor IDs.

  5. #110
    axlrose's Avatar Member
    Reputation
    1
    Join Date
    May 2014
    Posts
    35
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I have removed this post
    Last edited by axlrose; 06-02-2014 at 10:14 AM.

  6. #111
    axlrose's Avatar Member
    Reputation
    1
    Join Date
    May 2014
    Posts
    35
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by enigma32 View Post
    I've updated SVN, nothing major, except for adding a whole bunch of auto-generated files based on the type descriptors of the SNO structures. Might remove it in the future, or integrate into Enigma.D3 if I feel the definitions are correct.
    Just as a note: the definitions of your check-in rev. 13 are the file format descriptors for the resource files. There is a 0x10 byte header and another few bytes, and then the rest is identical.
    Last edited by axlrose; 06-02-2014 at 10:12 AM.

  7. #112
    axlrose's Avatar Member
    Reputation
    1
    Join Date
    May 2014
    Posts
    35
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I have removed this post
    Last edited by axlrose; 06-02-2014 at 10:11 AM.

  8. #113
    enigma32's Avatar Legendary
    Reputation
    912
    Join Date
    Jan 2013
    Posts
    551
    Thanks G/R
    4/738
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by axlrose View Post
    Attachment 18145

    Here is the code for the SnoID extractor that I was talking about. (I will not compile this for anyone, so don't ask)

    1.) Use a MPQ Extractor (such as MPQEditor by Ladik) to extract the MPQ files from the game folder to ANOTHER folder somewhere else like C:\MPQFiles.
    2.) Compile and execute with "SNOAssetBuilder.exe C:\MPQFiles"
    3.) This should take some time to process and generate a single xml file for every asset folder contained within C:\MPQFiles
    Thank you!

  9. #114
    enigma32's Avatar Legendary
    Reputation
    912
    Join Date
    Jan 2013
    Posts
    551
    Thanks G/R
    4/738
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by axlrose View Post
    Attachment 18145

    Here is the code for the SnoID extractor that I was talking about. (I will not compile this for anyone, so don't ask)

    1.) Use a MPQ Extractor (such as MPQEditor by Ladik) to extract the MPQ files from the game folder to ANOTHER folder somewhere else like C:\MPQFiles.
    2.) Compile and execute with "SNOAssetBuilder.exe C:\MPQFiles"
    3.) This should take some time to process and generate a single xml file for every asset folder contained within C:\MPQFiles
    I found a faster solution If one only wants id, type and name.

    Code:
    unsafe struct Sno{
        public const int SizeOf = 4 + 4 + 128;
    
    
        public SnoGroupId Type;
        public int Id;
        private fixed sbyte Name_Buffer[128];
    
    
        public string Name { get { fixed (sbyte* p = Name_Buffer) return new string(p); } }
    }
    
    
    class Program
    {
        static void Main(string[] args)
        {
            var toc = File.ReadAllBytes(@"I:\mpqediten64\Work\CoreTOC.dat");
            var count = StructHelper<int>.UnsafeRead(toc, 0);
            var snos = new Sno[count];
    
    
            int offset = 4;
            for (int i = 0; i < count; i++)
            {
                snos[i] = StructHelper<Sno>.UnsafeRead(toc, offset);
                offset += Sno.SizeOf;
            }
    
    
            // ...
        }
    }

  10. #115
    Sutur's Avatar Private
    Reputation
    1
    Join Date
    May 2014
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi everyone,

    I just started to use this engine a few days ago and it is pretty cool self explaining and has some very good starting points in form of the helper.
    Thanks for that fantastic work!

    I am starting to get know to the different Actory Types and I am reading some of their attribs. Unfortunatly I cant see which actor (or ActorCommonHelper) has which attributes. So I worked through the thread to get some basic knowledge. Now I have a lot of questions so I will start with my urgent ones

    1. I am using this query to get out Chests and Breakable objects in the environment that are not yet opened:

    var chests = ActorCommonDataHelper.Enumerate(a => (a.x180_GizmoType == GizmoType.Chest || a.x180_GizmoType == GizmoType.BreakableChest)).Where(IsValidGizmoChest).ToList();

    where I found this function here on the forum:
    private static bool IsValidGizmoChest(ActorCommonData acd)
    {
    //return (acd.x24C_Flags & 0x400) == 0 && Attributes.ChestOpen.GetValue(acd) != 1;
    return Attributes.ChestOpen.GetValue(acd) != 1;
    }

    - I dont know what the acd.x24C_Flags & 0x400 means? Can someone help me?
    - When I click on the object they dont disapper from the query result (I am doing this every 100ms) until the animation is over. Is there another way to detect if an chest or breakable object is still clickable?

    2. I am trying to get all loot that pops out of the chests. Therefore I am using this query:
    var items = ActorCommonDataHelper.Enumerate(a => a.x180_GizmoType == GizmoType.Item && a.x0D4_WorldPosY > 0).ToList();

    The a.x0D4_WorldPosY > 0) is there to filter out all the (default?) items in the list. This works pretty fine to detect items on the ground (even gold and stuff). On thing remains:
    If I pickup an item with qualitylevel > 3 (blue, yellow...) then the item still remains as result of the query even if it is already in the inventory? How can I filter this out?


    Thanks so long!

  11. #116
    enigma32's Avatar Legendary
    Reputation
    912
    Join Date
    Jan 2013
    Posts
    551
    Thanks G/R
    4/738
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Sutur View Post
    Hi everyone,

    I just started to use this engine a few days ago and it is pretty cool self explaining and has some very good starting points in form of the helper.
    Thanks for that fantastic work!

    I am starting to get know to the different Actory Types and I am reading some of their attribs. Unfortunatly I cant see which actor (or ActorCommonHelper) has which attributes. So I worked through the thread to get some basic knowledge. Now I have a lot of questions so I will start with my urgent ones

    1. I am using this query to get out Chests and Breakable objects in the environment that are not yet opened:

    var chests = ActorCommonDataHelper.Enumerate(a => (a.x180_GizmoType == GizmoType.Chest || a.x180_GizmoType == GizmoType.BreakableChest)).Where(IsValidGizmoChest).ToList();

    where I found this function here on the forum:
    private static bool IsValidGizmoChest(ActorCommonData acd)
    {
    //return (acd.x24C_Flags & 0x400) == 0 && Attributes.ChestOpen.GetValue(acd) != 1;
    return Attributes.ChestOpen.GetValue(acd) != 1;
    }

    - I dont know what the acd.x24C_Flags & 0x400 means? Can someone help me?
    - When I click on the object they dont disapper from the query result (I am doing this every 100ms) until the animation is over. Is there another way to detect if an chest or breakable object is still clickable?

    2. I am trying to get all loot that pops out of the chests. Therefore I am using this query:
    var items = ActorCommonDataHelper.Enumerate(a => a.x180_GizmoType == GizmoType.Item && a.x0D4_WorldPosY > 0).ToList();

    The a.x0D4_WorldPosY > 0) is there to filter out all the (default?) items in the list. This works pretty fine to detect items on the ground (even gold and stuff). On thing remains:
    If I pickup an item with qualitylevel > 3 (blue, yellow...) then the item still remains as result of the query even if it is already in the inventory? How can I filter this out?


    Thanks so long!
    Hi Sutur!

    1. I haven't tried doing anything with breakable objects, but the (commented out) algorithm you have there should work fine for chests. The flag check came from trial and error. If going away and coming back to an opened chest, it will have no attribute but the flag will always be set (or something like that). I believe the flag has to do with if it's interactive or not.

    2. Hm, not sure what GizmoType.Item will filter out, see EnumerateItems for something that definately works, and add a constraint on x114_ItemLocation, should be -1 for ground items I believe.

    Good luck!


    EDIT: Yep, this works fine for ground items
    Code:
    public static IEnumerable<ActorCommonData> EnumerateGroundItems()
    {
        return EnumerateItems().Where(a => (int)a.x114_ItemLocation == -1);
    }
    Last edited by enigma32; 05-24-2014 at 04:09 PM.

  12. #117
    Sutur's Avatar Private
    Reputation
    1
    Join Date
    May 2014
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by enigma32 View Post

    Yep, this works fine for ground items
    Code:
    public static IEnumerable<ActorCommonData> EnumerateGroundItems()
    {
        return EnumerateItems().Where(a => (int)a.x114_ItemLocation == -1);
    }
    Hi Enigma,

    yes this works perfect. Thanks for the hint!
    The chests are working also, the only thing I am struggeling with are the breakables.
    I tried:
    - x24C_Flags
    - GizmoHasBeenOperated
    - GizmoState
    - BreakableShieldHP

    but all values dont change after the breakable object is clicked.
    It seems that the breakables "disapper" after the timeslot is over to collect items to get the bonus event.

    EDIT: the only thing which changes is the Untargetable attribute on the destroyable tower chains (Act V), but only on these breakables

    Any idea where to look at?
    Last edited by Sutur; 05-25-2014 at 11:16 AM.

  13. #118
    enigma32's Avatar Legendary
    Reputation
    912
    Join Date
    Jan 2013
    Posts
    551
    Thanks G/R
    4/738
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Sutur View Post
    Hi Enigma,

    yes this works perfect. Thanks for the hint!
    The chests are working also, the only thing I am struggeling with are the breakables.
    I tried:
    - x24C_Flags
    - GizmoHasBeenOperated
    - GizmoState
    - BreakableShieldHP

    but all values dont change after the breakable object is clicked.
    It seems that the breakables "disapper" after the timeslot is over to collect items to get the bonus event.

    EDIT: the only thing which changes is the Untargetable attribute on the destroyable tower chains (Act V), but only on these breakables

    Any idea where to look at?
    Hi, I did a very quick test, and from the looks of it, it could be enough just looking at x188_Hitpoint which should be 0.001 before breaking the object, and 0 after

    I used the following to get a dump
    Code:
    CodeGeneratorHelper.GetDump(ActorCommonDataHelper.Enumerate(a => a.x180_GizmoType == GizmoType.BreakableChest).ToArray())
    Inserted it into Excel, destroyed an object and made a new dump and pasted in new sheet. Then I added conditional formatting to fill with green on all fields that were identical in both sheets. Easy to spot changes
    Last edited by enigma32; 05-25-2014 at 02:08 PM.

  14. #119
    Sutur's Avatar Private
    Reputation
    1
    Join Date
    May 2014
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi Enigma,

    I got the same result in the meantime by coincidence Just wanted to tell everybody, yes the hitpoints is the solution But the way with the dump seems more intelligent. I will do it the next time I am looking for some attribs.

    That helps a lot!

    Next one I am working with: I hope this is easy, but atm I cant find any Attrib/Properties to get this: The kind of an item (or category) on the ground. I have seen that there is a GameBalanceType with an GameBalanceType.ItemTypes.... but does this help me?

  15. #120
    enigma32's Avatar Legendary
    Reputation
    912
    Join Date
    Jan 2013
    Posts
    551
    Thanks G/R
    4/738
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Sutur View Post
    Next one I am working with: I hope this is easy, but atm I cant find any Attrib/Properties to get this: The kind of an item (or category) on the ground. I have seen that there is a GameBalanceType with an GameBalanceType.ItemTypes.... but does this help me?
    Would have to find the SNO object and find an ID in there that corresponds to a group (afaik), but I can't help much there, haven't bothered much with the SNOs. Maybe you can look at FindersKeepers using ILSpy and figure something out.

Page 8 of 63 FirstFirst ... 45678910111258 ... LastLast

Similar Threads

  1. [Hack] Enigma TriggerBot - AutoIT
    By Zolyrica in forum Overwatch Exploits|Hacks
    Replies: 9
    Last Post: 09-12-2016, 02:37 PM
  2. [Release] [C#] 1.0.8.16603 Enigma.D3
    By enigma32 in forum Diablo 3 Memory Editing
    Replies: 33
    Last Post: 05-16-2015, 01:40 PM
  3. Enigma's Smartcast Manager
    By da_bizkit in forum League of Legends
    Replies: 3
    Last Post: 10-22-2012, 02:11 PM
  4. request Blue suede boots -> enigma boots
    By Geico in forum WoW ME Questions and Requests
    Replies: 0
    Last Post: 12-27-2007, 05:40 AM
All times are GMT -5. The time now is 01:20 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search