[C#] Enigma.D3 menu

Shout-Out

User Tag List

Page 38 of 63 FirstFirst ... 343536373839404142 ... LastLast
Results 556 to 570 of 940
  1. #556
    betenner's Avatar Member
    Reputation
    1
    Join Date
    May 2014
    Posts
    18
    Thanks G/R
    4/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Anyone knows how to transform a world position into screen position?

    [C#] Enigma.D3
  2. #557
    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 have edited code in my previous post. Check it out. Regarding screen position here is the code

    Code:
    Vec3 diff = pos - player_pos;
    
    float w = -0.515f * diff.X + -0.514f * diff.Y + -0.686f * diff.Z + 97.985f;
    float X = (-1.682f * diff.X + 1.683f * diff.Y + 0 * diff.Z + 7.045e-3f) / w;
    float Y = (-1.54f * diff.X + -1.539f * diff.Y + 2.307f * diff.Z + 6.161f) / w;
    float Z = (-0.515f * diff.X + -0.514f * diff.Y + -0.686f * diff.Z + 97.002f) / w;
    X = (X + 1) / 2 * Constants.SCREEN_SIZE[0];
    Y = (1 - Y) / 2 * Constants.SCREEN_SIZE[1];
    
    return new Point((int)X + Constants.BORDER_WIDTH, (int)Y + Constants.TITLE_HEIGHT);
    this assumes windowed mode and

    Code:
    public static readonly int[] SCREEN_SIZE = { 800, 600 };
    public const int BORDER_WIDTH = 8;
    public const int TITLE_HEIGHT = 30;

  3. Thanks HI5, betenner (2 members gave Thanks to CrEEzz for this useful post)
  4. #558
    betenner's Avatar Member
    Reputation
    1
    Join Date
    May 2014
    Posts
    18
    Thanks G/R
    4/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by CrEEzz View Post
    I have edited code in my previous post. Check it out. Regarding screen position here is the code

    Code:
    Vec3 diff = pos - player_pos;
    
    float w = -0.515f * diff.X + -0.514f * diff.Y + -0.686f * diff.Z + 97.985f;
    float X = (-1.682f * diff.X + 1.683f * diff.Y + 0 * diff.Z + 7.045e-3f) / w;
    float Y = (-1.54f * diff.X + -1.539f * diff.Y + 2.307f * diff.Z + 6.161f) / w;
    float Z = (-0.515f * diff.X + -0.514f * diff.Y + -0.686f * diff.Z + 97.002f) / w;
    X = (X + 1) / 2 * Constants.SCREEN_SIZE[0];
    Y = (1 - Y) / 2 * Constants.SCREEN_SIZE[1];
    
    return new Point((int)X + Constants.BORDER_WIDTH, (int)Y + Constants.TITLE_HEIGHT);
    this assumes windowed mode and

    Code:
    public static readonly int[] SCREEN_SIZE = { 800, 600 };
    public const int BORDER_WIDTH = 8;
    public const int TITLE_HEIGHT = 30;
    Thank you very much! How did you know so much~

  5. #559
    betenner's Avatar Member
    Reputation
    1
    Join Date
    May 2014
    Posts
    18
    Thanks G/R
    4/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I've tested your code. But the coords doesn't seem right. I have a fullscreen canvas (same size with D3 window). I want to show a certain ACD on this canvas. I used your code to calclate the coords but not right. (I used the canvas's width and height)
    What should I do to show the ACD at correct location on the canvas?

  6. #560
    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 raler View Post
    Code:
            public static Point FromD3toScreenCoords(Vector3 objectGameLocation)
            {
                Vector3 currentCharGameLoc = Game.Me.Location;
    
                double xd = objectGameLocation.X - currentCharGameLoc.X;
                double yd = objectGameLocation.Y - currentCharGameLoc.Y;
                double zd = objectGameLocation.Z - currentCharGameLoc.Z;
    
                double w = -0.515 * xd + -0.514 * yd + -0.686 * zd + 97.985;
                double X = (-1.682 * xd + 1.683 * yd + 0 * zd + 7.045e-3) / w;
                double Y = (-1.54 * xd + -1.539 * yd + 2.307 * zd + 6.161) / w;
    
                double width = Engine.Current.VideoPreferences.x0C_DisplayMode.x20_Width;
                double height = Engine.Current.VideoPreferences.x0C_DisplayMode.x24_Height;
    
                double aspectChange = (double)((double)width / (double)height) / (double)(4.0f / 3.0f); // 4:3 = default aspect ratio
    
                X /= aspectChange;
    
                float rX = (float)((X + 1) / 2 * width);
                float rY = (float)((1 - Y) / 2 * height);
    
                return new Point((int)rX, (int)rY);
            }
    Try this. Its more universal case code.

  7. Thanks betenner (1 members gave Thanks to CrEEzz for this useful post)
  8. #561
    betenner's Avatar Member
    Reputation
    1
    Join Date
    May 2014
    Posts
    18
    Thanks G/R
    4/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by CrEEzz View Post
    Try this. Its more universal case code.
    Thanks! It works!

  9. #562
    betenner's Avatar Member
    Reputation
    1
    Join Date
    May 2014
    Posts
    18
    Thanks G/R
    4/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    One more question, how can I get players' name (the names that shows on the party panel), and if I already got one player's character acd, how can I know which player it belongs to? More specificly, how to get a PlayerData from a certain ACD (or actor)?
    Last edited by betenner; 10-25-2015 at 12:10 AM.

  10. #563
    betenner's Avatar Member
    Reputation
    1
    Join Date
    May 2014
    Posts
    18
    Thanks G/R
    4/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I just figured out all monster affixes for the current version, I'll post them here in case anyone needs:

    Code:
    public enum MonsterAffix
    {
        None = 0,
        ArcaneEnchanted = -1669589516,
        Avenger = 1165197192,
        Electrified = -1752429632,
        ExtraHealth = -1512481702,
        Frozen = -163836908,
        Fast = 3775118,
        FireChains = -439707236,
        FrozenPulse = 1886876669,
        HealthLink = 1799201764,
        Horde = 127452338,
        Illusionist = 394214687,
        Jailer = -27686857,
        Knockback = -2088540441,
        Minion = 99383434,
        Molten = 106438735,
        Mortar = 106654229,
        Nightmarish = -1245918914,
        Orbiter = 1905614711,
        Plagued = -1333953694,
        PoisonEnchanted = 1929212066,
        Profane = -121983956,
        ProjectileRestrain = -1412750743,
        ReflectsDamage = -1374592233,
        Shield = -725865705,
        Teleport = -507706394,
        Thunderstorm = -50556465,
        Vampiric = 395423867,
        Vortex = 458872904,
        Waller = 481181063,
        WormHole = 1156956365,
    }

  11. #564
    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 found an infinite loop while getting an attribute value from ACD (which is most probably not existing anymore). Code is stuck on infinite loop in Map<int,Enigma.D3.AttributeValue>.TryGetValue. When I stop my thread I always get smth like:

    Code:
    Enigma.Memory.dll!Enigma.Memory.ProcessMemoryReader.UnsafeReadBytes(Enigma.Memory.MemoryAddress address, byte[] buffer, int offset, int count) Line 50 + 0x35 bytes	C#
    Enigma.Memory.dll!Enigma.Memory.MemoryReader.Read<int>(Enigma.Memory.MemoryAddress address) Line 65	C#
    Enigma.Memory.dll!Enigma.Memory.MemoryReader.ReadMemoryAddress(Enigma.Memory.MemoryAddress address) Line 197 + 0xc bytes	C#
    Enigma.Memory.dll!Enigma.Memory.MemoryObject.ReadMemoryAddress(int offset) Line 147 + 0x33 bytes	C#
    Enigma.Memory.dll!Enigma.Memory.MemoryObject.ReadPointer<Enigma.D3.Collections.Map<int,Enigma.D3.AttributeValue>.Entry>(int offset) Line 115 + 0x17 bytes	C#
    Enigma.Memory.dll!Enigma.Memory.MemoryObject.Dereference<Enigma.D3.Collections.Map<int,Enigma.D3.AttributeValue>.Entry>(int offset) Line 131 + 0x30 bytes	C#
    Enigma.D3.Memory.dll!Enigma.D3.Collections.Map<int,Enigma.D3.AttributeValue>.Entry.x00_Next.get() + 0x2b bytes	
    Enigma.D3.Memory.dll!Enigma.D3.Collections.Map<int,Enigma.D3.AttributeValue>.TryGetValue(int key, out Enigma.D3.AttributeValue value, System.Func<int,uint> hasher) + 0x12e bytes	
    Enigma.D3.Memory.dll!Enigma.D3.Helpers.AttributeHelper.TryGetAttributeValue(Enigma.D3.ActorCommonData acd, Enigma.D3.Enums.AttributeId attribId, int modifier, out Enigma.D3.AttributeValue value) + 0xdb bytes	
    Enigma.D3.Memory.dll!Enigma.D3.Helpers.Attributes.SimpleAttribute<float>.GetValue(Enigma.D3.ActorCommonData acd, int modifier) + 0x48 bytes	
    Enigma.D3.Memory.dll!Enigma.D3.Helpers.Attribute<float>.GetValue(Enigma.D3.ActorCommonData acd) + 0x2a bytes
    I guess there is no way to check if ACD is released. Could you add a fail safe counter inside TryGetValue? Maybe You have other idea?

  12. #565
    R3peat's Avatar Site Donator while(true) CoreCoins Purchaser
    Reputation
    215
    Join Date
    Aug 2012
    Posts
    429
    Thanks G/R
    0/155
    Trade Feedback
    141 (99%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Acd.Id != -1

  13. #566
    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)
    Yeah this might be a way. But after all I doubt any check before getting attribute value will be good enough as ACD may be released any time after check because we have no way of synchronizing operations on ACDs. Yeah I know we are ****ed xD

  14. #567
    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)
    Can someone supply me with snippet getting which elemental we get bonus to from Convention of Elements?

  15. #568
    BuloZB's Avatar Active Member
    Reputation
    20
    Join Date
    Nov 2008
    Posts
    263
    Thanks G/R
    26/4
    Trade Feedback
    17 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    guys can someone reupload last source code for me? I have blocked subversion website in work thanks

  16. #569
    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 BuloZB View Post
    guys can someone reupload last source code for me? I have blocked subversion website in work thanks
    Probably too late but here's latest source https://www.dropbox.com/sh/6leby1sgp...q418MEEga?dl=0

  17. Thanks BuloZB (1 members gave Thanks to CrEEzz for this useful post)
  18. #570
    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 figured out CoE :P here is the snippet that I asked for:

    Code:
    private Buff GetBuff(SnoPower power)
    {
        try
        {
            return Engine.Current.BuffManager.x1C_Buffs.FirstOrDefault(x => x.x000_PowerSnoId == (int)power);
        }
        catch (Exception)
        {
        }
    
        return null;
    }
    
    public enum ElementalType
    {
        Unknown     = 0xFF,
        Physical    = 0x00,
        Fire        = 0x01,
        Lightning   = 0x02,
        Cold        = 0x03,
        Poison      = 0x04,
        Arcane      = 0x05,
        Holy        = 0x06,
    }
    
    private static ElementalType[] CoE_mapping = new ElementalType[] { ElementalType.Unknown, 
                                                                       ElementalType.Arcane, 
                                                                       ElementalType.Cold, 
                                                                       ElementalType.Fire, 
                                                                       ElementalType.Holy, 
                                                                       ElementalType.Lightning, 
                                                                       ElementalType.Physical,
                                                                       ElementalType.Poison };
    
    public ElementalType GetConventionOfElementsElemental()
    {
        if (m_PlayerAcd == null)
            return ElementalType.Unknown;
    
        try
        {	
            // SnoPower.__Convention_Of_Elements == 0x69252
            Buff b = GetBuff(SnoPower.__Convention_Of_Elements); 
    
            if (b != null)
                return CoE_mapping[b.x004_Neg1];
        }
        catch (Exception)
        {
        }
    
        return ElementalType.Unknown;
    }
    Last edited by CrEEzz; 11-23-2015 at 01:57 AM. Reason: Fixed Arcane and Poison mapping

Page 38 of 63 FirstFirst ... 343536373839404142 ... 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 10:47 AM. 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