[C#] Enigma.D3 menu

User Tag List

Page 25 of 63 FirstFirst ... 212223242526272829 ... LastLast
Results 361 to 375 of 940
  1. #361
    CrEEzz's Avatar Active Member
    Reputation
    66
    Join Date
    Jan 2014
    Posts
    153
    Thanks G/R
    10/40
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm afraid it won't work as I will get all items from
    Code:
    engine.SnoGroupsByCode[(int)groupId].x10_Container
    which in case of SnoGroupId.Scene contains also other types of SNO definitions like animations and conditions. So casting will misinterpret data (i mean i.e. animation SNO will be "reinterpret_casted" to scene SNO).

    [C#] Enigma.D3
  2. #362
    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 CrEEzz View Post
    I'm afraid it won't work as I will get all items from
    Code:
    engine.SnoGroupsByCode[(int)groupId].x10_Container
    which in case of SnoGroupId.Scene contains also other types of SNO definitions like animations and conditions. So casting will misinterpret data (i mean i.e. animation SNO will be "reinterpret_casted" to scene SNO).
    Seems I was wrong, they didn't remove group ID, they just joined 2 fields so it's now a byte on offset 7. SnoHelper is updated. I've also added the SnoHeader to all SNO types.

  3. #363
    XunTric's Avatar Site Donator
    Reputation
    63
    Join Date
    Nov 2006
    Posts
    65
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by enigma32 View Post
    I just updated BuffManager so you can use that to tell if you have a certain buff or not, but it must be visible in the UI to work. Keep in mind some buffs might not be the same power SNO ID as the actual skill. I also updated UXIcon so that can be used to tell if a skill is disabled (not having enough resources, warping, cinematic, CCed etc.). Regarding skill casts there might be something in PlayerInput, but you will have to try to figure that one out yourself.

    Code:
    ...
    Thanks again. Everything I wanted is working now except one thing. I'm still clueless on how to detect if a spell is being cast, so after looking at other stuff in this thread I figured the best alternative I can accomplish is to check if I'm in melee range of an enemy. Because then I'm most likely spamming spells anyway. The problem is that the method only works about 95% of the time. A few random mobs aren't detected. Doesn't seem to be any clear pattern. I've had the method return true only to return false on the same kind of mob later on. Even when I remove checks for ActorType and TeamId I can't find the missing acds. Any ideas?
    Code:
    private static bool EnemyClose(ActorCommonData Player)
    {
        float Dist;
        float ClosestDist = -1;
        float DeltaX;
        float DeltaY;
        float DeltaZ;
        ExpandableContainer<Actor> actors = Engine.Current.ObjectManager.x928_RActors;
    
        for (short i = 0; i < actors.x10C_Count; i++)
        {
            Actor currentActor = actors[i];
            ActorCommonData acd = ActorCommonDataHelper.GetAcd(currentActor.x088_AcdId);
    
            //if (acd != null)
                //Console.WriteLine(acd.x190_TeamId + "\t" + acd.x184_ActorType + "\t" + acd.x004_Name);
    
            if (acd != null && acd.x184_ActorType == ActorType.Monster && acd.x190_TeamId == 10)
            {
                DeltaX = acd.x0D0_WorldPosX - Player.x0D0_WorldPosX;
                DeltaY = acd.x0D4_WorldPosY - Player.x0D4_WorldPosY;
                DeltaZ = acd.x0D8_WorldPosZ - Player.x0D8_WorldPosZ;
                Dist = (float)Math.Sqrt(DeltaX * DeltaX + DeltaY * DeltaY + DeltaZ * DeltaZ);
        
                if (Dist < ClosestDist || ClosestDist == -1)
                {
                    ClosestDist = Dist;
         
                    if (ClosestDist <= 15)
                    {
                        return true;
                    }
                }
            }
        }
    
        //Console.WriteLine(ClosestDist);
        return false;
    }
    Last edited by XunTric; 09-09-2014 at 08:44 AM.

  4. #364
    CrEEzz's Avatar Active Member
    Reputation
    66
    Join Date
    Jan 2014
    Posts
    153
    Thanks G/R
    10/40
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by enigma32 View Post
    Seems I was wrong, they didn't remove group ID, they just joined 2 fields so it's now a byte on offset 7. SnoHelper is updated. I've also added the SnoHeader to all SNO types.
    Great job, now as I can obtain Sno.Scene data, I noticed some bug. I extract NavCells using following code:

    Code:
                Enigma.D3.Sno.Scene.NavCell[] nav_cells = sno_scene.x180_NavZoneDefinition.x08_NavCells;
    
                if (nav_cells == null)
                    return;
    
                foreach (Enigma.D3.Sno.Scene.NavCell nav_cell in nav_cells)
                {
                    // skip not walkable
                    if ((nav_cell.x18 & 1) == 0)
                        continue;
    
                    float min_x = nav_cell.x00_Vector3D.x00_X;
                    float min_y = nav_cell.x00_Vector3D.x04_Y;
                    float min_z = nav_cell.x00_Vector3D.x08_Z;
    
                    float max_x = nav_cell.x0C_Vector3D.x00_X;
                    float max_y = nav_cell.x0C_Vector3D.x04_Y;
                    float max_z = nav_cell.x0C_Vector3D.x08_Z;
    
                    cells.Add(new Nav.Cell(min_x, min_y, min_z, max_x, max_y, max_z));
                }
    After transition to 2.1 I have missing cells. It looks like NavCells from end of the array (cells are defined in NavCells array "row by row") have invalid AABB coordinates (almost zero) thus are invisible. For example in 166 element array cells from 154 up are invalid. There is some pattern here as you can clearly see on attached screenshot, any ideas? Maybe those 166 are not all cells, maybe array has more elements actually?

    https://www.dropbox.com/s/8nxk907tzz...cells.png?dl=0
    Last edited by CrEEzz; 09-09-2014 at 12:41 PM.

  5. #365
    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 XunTric View Post
    Thanks again. Everything I wanted is working now except one thing. I'm still clueless on how to detect if a spell is being cast, so after looking at other stuff in this thread I figured the best alternative I can accomplish is to check if I'm in melee range of an enemy. Because then I'm most likely spamming spells anyway. The problem is that the method only works about 95% of the time. A few random mobs aren't detected. Doesn't seem to be any clear pattern. I've had the method return true only to return false on the same kind of mob later on. Even when I remove checks for ActorType and TeamId I can't find the missing acds. Any ideas?
    You should use the EnumerateX methods on the helpers instead, they're better at handling collection changes (also better performance), and you could try calling TakeSnapshot() on each item to read all at once, so you don't have D3 modify stuff between reading the various properties. Also a good idea to check ID for non -1 after snapshot, -1 meaning a "disposed" item.

  6. #366
    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 CrEEzz View Post
    After transition to 2.1 I have missing cells. It looks like NavCells from end of the array (cells are defined in NavCells array "row by row") have invalid AABB coordinates (almost zero) thus are invisible. For example in 166 element array cells from 154 up are invalid. There is some pattern here as you can clearly see on attached screenshot, any ideas? Maybe those 166 are not all cells, maybe array has more elements actually?

    https://www.dropbox.com/s/8nxk907tzz...cells.png?dl=0
    Should be fixed now, my bad.

  7. #367
    CrEEzz's Avatar Active Member
    Reputation
    66
    Join Date
    Jan 2014
    Posts
    153
    Thanks G/R
    10/40
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just to let you know. Everything works like a charm now. Thanks a lot for support. Meanwhile how can I get item attributes. Suppose those are somewhere in game balance but I can't figure it out.

    Edit: Intelligence/Strength/Dexterity/Vitality can be read from attributes IntelligenceItem/StrengthItem/... but critical chance and other are not there
    Last edited by CrEEzz; 09-15-2014 at 11:18 PM.

  8. #368
    bastiflew's Avatar Active Member
    Reputation
    41
    Join Date
    Aug 2012
    Posts
    98
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    just a small piece of code for checking if a power is ready or is active :

    Code:
            public static bool IsPowerReady(this ActorCommonData acd, SnoPower power)
            {
                return acd.GetAttributeValue(AttributeId.PowerCooldown, (int) power) <= 0;
            }
    
            public static bool IsPowerActive(this ActorCommonData acd, SnoPower power)
            {
                for (var i = (int) AttributeId.BuffIconCount0; i <= (int) AttributeId.BuffIconCount31; i++)
                {
                    var active = acd.GetAttributeValue((AttributeId) i, (int) power);
                    if (active > 0)
                        return true;
                }
                return false;
            }
    Usage :

    Code:
    var akaratActive = ActorCommonDataHelper.GetLocalAcd().IsPowerActive(SnoPower.X1_Crusader_AkaratsChampion);
    here the list of powers : http://pastebin.com/ner7M5BH
    Last edited by bastiflew; 09-15-2014 at 09:58 AM.

  9. #369
    CrEEzz's Avatar Active Member
    Reputation
    66
    Join Date
    Jan 2014
    Posts
    153
    Thanks G/R
    10/40
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    So anyone can help me with getting item attributes?

  10. #370
    Dolphe's Avatar Contributor
    Reputation
    97
    Join Date
    Oct 2012
    Posts
    614
    Thanks G/R
    0/26
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by CrEEzz View Post
    So anyone can help me with getting item attributes?
    Crit C is Attrib.CritPercentBonusCapped (read it as float). Dunno what else you need

  11. #371
    bastiflew's Avatar Active Member
    Reputation
    41
    Join Date
    Aug 2012
    Posts
    98
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Every infos you need are in attributes, except the item level, or item type.

  12. #372
    CrEEzz's Avatar Active Member
    Reputation
    66
    Join Date
    Jan 2014
    Posts
    153
    Thanks G/R
    10/40
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I feel really lame now xD and what about displayed item info so I can check if its mystical Wand of Woh ?

    @Dolphe: I need CHD, sockets num, elemental damage, resource reduction, cooldown reduction, attack speed.
    Last edited by CrEEzz; 09-17-2014 at 01:00 PM.

  13. #373
    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)
    Maybe you can play with EnumerateAttributes in https://subversion.assembla.com/svn/...ibuteHelper.cs to figure out what attributes are interesting based on items you already have with those properties. Here is part of an attribute dump method I have:
    Code:
    Func<string> debugAttribDumpTest = () =>{
        var acd = ActorCommonData.Local;
        var attribDescriptors = Engine.Current.AttributeDescriptors;
        var q = acd.EnumerateAttributes().Select(a => new { Id = a.x04_Key & 0xFFF, Mod = a.x04_Key >> 24, Value = a.x08_Value, Descriptor = attribDescriptors.Single(d => d.x00_Id == (a.x04_Key & 0xFFF)) });
        return string.Join(Environment.NewLine, q.Select(a => string.Join("\t",
            a.Id,
            a.Mod == 0xFFFFF ? "-1" : a.Mod.ToString(),
            "0x" + a.Mod.ToString("X8").Substring(3),
            a.Descriptor.x1C_Name,
            a.Descriptor.x10_DataType == 1 ? a.Value.Int32 : a.Value.Single
        )));
    };

  14. #374
    CrEEzz's Avatar Active Member
    Reputation
    66
    Join Date
    Jan 2014
    Posts
    153
    Thanks G/R
    10/40
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks guys. I still need:
    1. item name (localized)
    2. item type (amu/ring/belt/boots/...)
    Last edited by CrEEzz; 09-18-2014 at 02:01 AM.

  15. #375
    bastiflew's Avatar Active Member
    Reputation
    41
    Join Date
    Aug 2012
    Posts
    98
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    1. You can extract Items.stl from file, and extract localized names.
    Or from memory with SNO, but I don't know exactly how to get the stringlist link.
    2. Item type can be readed from GameBalance, I don't know exactly how to read that with Enigma's framework.

Page 25 of 63 FirstFirst ... 212223242526272829 ... 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 09:29 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