[C#] Enigma.D3 menu

User Tag List

Page 7 of 63 FirstFirst ... 3456789101157 ... LastLast
Results 91 to 105 of 940
  1. #91
    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:16 AM. Reason: Disabled Smilies

    [C#] Enigma.D3
  2. #92
    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
    Hi Enigma,

    been poking in SceneRevealInfo. Here some new fields and an updated definition. This is working with the current release:

    public int x00_SceneSnoId { get { return Field<int>(0x00); } }
    public int _x04 { get { return Field<int>(0x04); } }
    public int _x08 { get { return Field<int>(0x08); } }
    public int x0C_TextureSnoId { get { return Field<int>(0x0C); } }
    public float x10_SceneRangeMinX { get { return Field<float>(0x10); } }
    public float x14_SceneRangeMinY { get { return Field<float>(0x14); } }
    public float x18_SceneRangeMaxX { get { return Field<float>(0x18); } }
    public float x1C_SceneRangeMaxY { get { return Field<float>(0x1C); } }
    public int _x20 { get { return Field<int>(0x20); } }
    public byte[] x24_RevealedAlphaMap { get { return Dereference<byte>(0x24, x28_RevealedAlphaMapSizeX * x2C_RevealedAlphaMapSizeY); } }
    public int x28_RevealedAlphaMapSizeX { get { return Field<int>(0x28); } }
    public int x2C_RevealedAlphaMapSizeY { get { return Field<int>(0x2C); } }
    public int x30_FrameCounter { get { return Field<int>(0x30); } }
    public int _x34 { get { return Field<int>(0x34); } }
    public int _x38 { get { return Field<int>(0x38); } }

    Cheers,
    M
    Nice thanks :) I'll update that later. Not sure if you've seen, but https://subversion.assembla.com/svn/...y/LevelArea.cs also has some info on that struct. You're actually missing bytes at x24 since each pixel is 32-bit (at least used to be, but it's just grayscale).

  3. #93
    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:15 AM.

  4. #94
    raler's Avatar Member
    Reputation
    1
    Join Date
    Apr 2014
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    So I've been working on a basic map overlay and can't seem to figure something out. I can display mobs and other objects without any issue and now I am trying to display players names above them. But I can't seem to figure out how to get their character name!

    This is what I have, just need to figure out where to get the names! https://i.imgur.com/cZViojZ.png

    Also, it seems that reading UIControls is extremely slow at the moment. No idea why =/
    Last edited by raler; 05-17-2014 at 09:19 PM.

  5. #95
    raler's Avatar Member
    Reputation
    1
    Join Date
    Apr 2014
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Blargh.... accidental dbl post. Dammit.

  6. #96
    yondervaluabletuna's Avatar Private
    Reputation
    1
    Join Date
    Apr 2014
    Posts
    7
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Does anyone know of a way to determine if a particular ActorCommonData is a crafting material (and of what quality)?

  7. #97
    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
    I saw the reference to Legacy.LevelArea.RevealedScene. Thought that this is deprecated or so because of the legacy namespace which isn't referenced anymore. I will try to cross-check my code with the Legacy.LevelArea.RevealedScene.

    Anyway, the SceneRevealInfo I sent you works and the "fog-of-war" is currently actually 1 byte alpha channel encoded (255=visible).
    Yes the things in Legacy are from 1.0.8 so some structures are totally changed, while others only had a few fields added or removed. OK so they use 1 byte now, that makes much more sense Thanks again!

    Originally Posted by raler View Post
    So I've been working on a basic map overlay and can't seem to figure something out. I can display mobs and other objects without any issue and now I am trying to display players names above them. But I can't seem to figure out how to get their character name!

    This is what I have, just need to figure out where to get the names! https://i.imgur.com/cZViojZ.png

    Also, it seems that reading UIControls is extremely slow at the moment. No idea why =/
    Check "Output" in Visual Studio or attach something to listen on Debug.WriteLine, if reading is extremely slow there might be Win32 exceptions involved. You can get the name from playerData->xBEC8_HeroName (char[49]), not tested.

    Originally Posted by yondervaluabletuna View Post
    Does anyone know of a way to determine if a particular ActorCommonData is a crafting material (and of what quality)?
    I recommend you dump all ACDs, import into Excel and try to find a pattern. CodeGenerationHelper.GetDump(ActorCommonDataHelper.Enumerate().ToList().Apply(a => a.TakeSnapshot()).ToArray()); or something like it (not tested).

  8. #98
    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)
    Is there a way to use Engine.SnoGroups() to iterate over all scenes? I tried this with all Worlds and compared it to Enigma.D3.Helpers.WorldHelper.GetLocalWorld() and no success.

    To do this I added
    public class Container : Container<MemoryObject>
    {
    ...
    public S[] x11C_ItemsAs<S>() { return Dereference<S>(0x11C, x100_Capacity); }
    }

    Thanks...

  9. #99
    yondervaluabletuna's Avatar Private
    Reputation
    1
    Join Date
    Apr 2014
    Posts
    7
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by enigma32 View Post
    I recommend you dump all ACDs, import into Excel and try to find a pattern. CodeGenerationHelper.GetDump(ActorCommonDataHelper.Enumerate().ToList().Apply(a => a.TakeSnapshot()).ToArray()); or something like it (not tested).
    Thanks. That's really handy.

    No luck yet searching through Actor / ActorCommonData / AttributeHelper.EnumerateAttributes with that.

    Perhaps it's hiding in one of these?

    Code:
    x148_ListB_ItemRelated_Affixes_NodeSize12Bytes
    x15C_ListB_ItemRelated_AttributesOrSockets_NodeSize12Bytes
    x1D8_ListB_NodeSize52Bytes
    x1EC_ListB
    x200_ListB
    I'll keep looking.

    Edit: Those seem to be empty lists (perhaps just for crafting materials).
    Last edited by yondervaluabletuna; 05-18-2014 at 11:06 AM.

  10. #100
    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:15 AM.

  11. #101
    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 reintroduced a Scene getter in Storage (thanks to DarthTon's code and offsets):

    public class Storage : MemoryObject
    {
    ...
    public Enigma.D3.Collections.Container<Enigma.D3.Legacy.Scene> x1BC_Scenes { get { return Dereference<Enigma.D3.Collections.Container<Enigma.D3.Legacy.Scene>>(0x1BC); } }
    }
    Last edited by axlrose; 06-02-2014 at 10:15 AM.

  12. #102
    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
    Thanks. That's really handy.

    No luck yet searching through Actor / ActorCommonData / AttributeHelper.EnumerateAttributes with that.

    Perhaps it's hiding in one of these?

    Code:
    x148_ListB_ItemRelated_Affixes_NodeSize12Bytes
    x15C_ListB_ItemRelated_AttributesOrSockets_NodeSize12Bytes
    x1D8_ListB_NodeSize52Bytes
    x1EC_ListB
    x200_ListB
    I'll keep looking.

    Edit: Those seem to be empty lists (perhaps just for crafting materials).
    I had a look, couldn't really find anything. Item quality does exist in the SNO, maybe look at LootAlert to figure out how to access that info. Crafting material info could also be in the SNO, although a quick and dirty method would be to see if "Crafting" is contained in the slug (name).

    Originally Posted by axlrose View Post
    @ Enimga: Can you/we please revive the Scene class interface?
    I'll have a look at it later. I got quite confused last time, many structures within structures and multiple IDs for both scenes and worlds.

    Originally Posted by axlrose View Post
    Ok ok I figured it out. The "glue" I was missing was the old SnoDefinition class. I sublassed WorldSnoDefition which is 20 byte larger than the base. Then when using

    Container.x10_Container.x11C_ItemsAs<Enigma.D3.Legacy.WorldDefinition>().Where(a => a.x08_Unknown == (int)SnoGroupId.Worlds)

    it returns exactly one instance with the correct SnoId of the current local world. This is a different instance though, and contains only partial information contained in the WorldHelper.GetLocalWorld() instance. So things are starting to become clearer and correct me if I am wrong:

    -> SNO most probably stands for "Serializable Network Object" and is the instance used by the underlying protobuf implementation to write incoming data to. The real instance used by the game is synced with this one.

    So, I guess it's back to getting raw pointer addresses like ObjectManager etc... :-(

    M
    That might very well be the definition of SNO. The MPQs store data as SNOs and when they're loaded into D3 structs like Actor and ACD they take pieces here and there and mash them together into new structures.

  13. #103
    yondervaluabletuna's Avatar Private
    Reputation
    1
    Join Date
    Apr 2014
    Posts
    7
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Finally got around to playing with UIControls today and have this to contribute:

    Code:
    Index: UIControl.cs
    ===================================================================
    --- UIControl.cs	(revision 12)
    +++ UIControl.cs	(working copy)
    @@ -261,7 +261,18 @@
     		public int _xA4C { get { return Field<int>(0xA4C); } }
     		public int _xA50 { get { return Field<int>(0xA50); } }
     		public int _xA54 { get { return Field<int>(0xA54); } }
    +        public int _xA58_TextPtr { get { return Field<int>(0xA58); } }
    +        public int _xA68_TextLen { get { return Field<int>(0xA68); } }
     
    +        public string Text
    +        {
    +            get
    +            {
    +                int len = _xA68_TextLen;
    +                return Dereference(0xA58, len);
    +            }
    +        }
    +
     		public override string ToString()
     		{
     			return base.ToString() + " " + x030_Self.x008_Name;

  14. #104
    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)
    For some reason I couldn't get attachments working... 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.

    I expect to be busy with other things the nearest time to come, but there you have something to play with

  15. #105
    yondervaluabletuna's Avatar Private
    Reputation
    1
    Join Date
    Apr 2014
    Posts
    7
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I've been occasionally experiencing an infinite loop when using AttributeHelper.GetAttributeValue while iterating over ActorCommonDataHelper.EnumerateItems.

    Debug output looks like this:

    Code:
    ProcessMemory.Read(00000798): Only part of a ReadProcessMemory or WriteProcessMemory request was completed
    A first chance exception of type 'System.ComponentModel.Win32Exception' occurred in Enigma.D3.dll
    ProcessMemory.Read(00000794): Only part of a ReadProcessMemory or WriteProcessMemory request was completed
    A first chance exception of type 'System.ComponentModel.Win32Exception' occurred in Enigma.D3.dll
    ProcessMemory.Read(00000798): Only part of a ReadProcessMemory or WriteProcessMemory request was completed
    A first chance exception of type 'System.ComponentModel.Win32Exception' occurred in Enigma.D3.dll
    ProcessMemory.Read(00000794): Only part of a ReadProcessMemory or WriteProcessMemory request was completed
    A first chance exception of type 'System.ComponentModel.Win32Exception' occurred in Enigma.D3.dll
    ProcessMemory.Read(00000798): Only part of a ReadProcessMemory or WriteProcessMemory request was completed
    A first chance exception of type 'System.ComponentModel.Win32Exception' occurred in Enigma.D3.dll
    ProcessMemory.Read(00000794): Only part of a ReadProcessMemory or WriteProcessMemory request was completed
    A first chance exception of type 'System.ComponentModel.Win32Exception' occurred in Enigma.D3.dll
    Call stack:
    Code:
     	Enigma.D3.dll!Enigma.D3.Helpers.AttributeHelper.TryGetValue(Enigma.D3.Collections.Map<int,int> map, int key, out Enigma.D3.Memory.Pointer ptrValue) Line 88	C#
     	Enigma.D3.dll!Enigma.D3.Helpers.AttributeHelper.GetAttributeValuePtr(Enigma.D3.ActorCommonData acd, Enigma.D3.Enums.AttributeId attribId, int modifier) Line 68 + 0x5c bytes	C#
     	Enigma.D3.dll!Enigma.D3.Helpers.AttributeHelper.GetAttributeValue(Enigma.D3.ActorCommonData acd, Enigma.D3.Enums.AttributeId attribId, int modifier) Line 16 + 0xe bytes	C#
    >	Bounties.exe!Bounties.Program.getGroundItems(float range, int quality) Line 1353 + 0xf bytes	C#
    and the relevant code in getGroundItems is

    Code:
    var acds = Enigma.D3.Helpers.ActorCommonDataHelper.EnumerateItems();
    
    foreach (var a in acds)
    {
        var q = Enigma.D3.Helpers.AttributeHelper.GetAttributeValue(a, Enigma.D3.Enums.AttributeId.ItemQualityLevel);
        // ...
    }
    
    // ...
    This happens while I'm not doing anything special in-game. Just walking around.

    Any ideas?

Page 7 of 63 FirstFirst ... 3456789101157 ... 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 11:30 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search