[WoW] 1.12.1.5875 Info Dump Thread menu

User Tag List

Page 26 of 41 FirstFirst ... 222324252627282930 ... LastLast
Results 376 to 390 of 614
  1. #376
    Natrist's Avatar Member
    Reputation
    11
    Join Date
    Mar 2013
    Posts
    146
    Thanks G/R
    9/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Robske View Post
    GetPosition 5
    GetFacing 6
    GetName 28
    Does anyone have any more virtual functions they know about?

    [WoW] 1.12.1.5875 Info Dump Thread
  2. #377
    DarkLinux's Avatar Former Staff
    CoreCoins Purchaser Authenticator enabled
    Reputation
    1584
    Join Date
    May 2010
    Posts
    1,824
    Thanks G/R
    188/531
    Trade Feedback
    16 (100%)
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Swim and Fish

    Code:
    0x00609DA4     //JMP 00609DE3 [0xEB, 0x3D]
    Last edited by DarkLinux; 12-03-2016 at 12:40 AM.

  3. Thanks Corthezz, tutrakan, bone91 (3 members gave Thanks to DarkLinux for this useful post)
  4. #378
    DarkLinux's Avatar Former Staff
    CoreCoins Purchaser Authenticator enabled
    Reputation
    1584
    Join Date
    May 2010
    Posts
    1,824
    Thanks G/R
    188/531
    Trade Feedback
    16 (100%)
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Loot Mounted

    Code:
    0x0060BFA0       //nop

  5. Thanks tutrakan, Corthezz, bone91 (3 members gave Thanks to DarkLinux for this useful post)
  6. #379
    tutrakan's Avatar Contributor
    Reputation
    134
    Join Date
    Feb 2013
    Posts
    175
    Thanks G/R
    124/52
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Woot, Awesome!

    I imagine then there isn't a server-side check for possessed/vehicle at loot.
    Last edited by tutrakan; 11-23-2016 at 12:01 AM.

  7. #380
    DarkLinux's Avatar Former Staff
    CoreCoins Purchaser Authenticator enabled
    Reputation
    1584
    Join Date
    May 2010
    Posts
    1,824
    Thanks G/R
    188/531
    Trade Feedback
    16 (100%)
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    I patched something but still cant get mining to work. I think its b/c its a spell and the server has a check.

    Also cant get cast and moving to work, I patched one thing but it allows you to move a little b4 it stops you. Anyone have any tips?

    Code:
    0x515122
    0x609DF6
    Last edited by DarkLinux; 11-23-2016 at 01:09 AM.

  8. Thanks Corthezz, tutrakan (2 members gave Thanks to DarkLinux for this useful post)
  9. #381
    namreeb's Avatar Legendary

    Reputation
    658
    Join Date
    Sep 2008
    Posts
    1,023
    Thanks G/R
    7/215
    Trade Feedback
    0 (0%)
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by DarkLinux View Post
    I patched something but still cant get mining to work. I think its b/c its a spell and the server has a check.

    Also cant get cast and moving to work, I patched one thing but it allows you to move a little b4 it stops you. Anyone have any tips?

    Code:
    0x515122
    0x609DF6
    Before digging to far into the client, I would sniff incoming packets to make sure it's not the server cancelling the spell cast. If it is, no amount of client patching is likely to help.

  10. Thanks DarkLinux, Corthezz (2 members gave Thanks to namreeb for this useful post)
  11. #382
    tutrakan's Avatar Contributor
    Reputation
    134
    Join Date
    Feb 2013
    Posts
    175
    Thanks G/R
    124/52
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by DarkLinux View Post
    Also cant get cast and moving to work, I patched one thing but it allows you to move a little b4 it stops you.
    Maybe this server check is responsible
    Code:
    // check if the player caster has moved before the spell finished (exclude casting on vehicles)
        if (!m_caster->GetVehicle() && (m_caster->GetTypeId() == TYPEID_PLAYER && m_timer != 0) &&
            (m_castPositionX != m_caster->GetPositionX() || m_castPositionY != m_caster->GetPositionY() || m_castPositionZ != m_caster->GetPositionZ()) &&
            (m_spellInfo->Effect[EFFECT_INDEX_0] != SPELL_EFFECT_STUCK || !((Player*)m_caster)->m_movementInfo.HasMovementFlag(MOVEFLAG_FALLINGFAR)))
        {
            // always cancel for channeled spells
            if( m_spellState == SPELL_STATE_CASTING )
                cancel();
            // don't cancel for melee, autorepeat, triggered and instant spells
            else if(!IsNextMeleeSwingSpell() && !IsAutoRepeat() && !m_IsTriggeredSpell && (m_spellInfo->InterruptFlags & SPELL_INTERRUPT_FLAG_MOVEMENT))
                cancel();
    }
    Source

    Edit: Oups, it seems i posted at the same time with Namreeb. I would stick with his advices, he is a way clever than me.
    Last edited by tutrakan; 11-23-2016 at 02:36 AM.

  12. Thanks DarkLinux, Corthezz (2 members gave Thanks to tutrakan for this useful post)
  13. #383
    DarkLinux's Avatar Former Staff
    CoreCoins Purchaser Authenticator enabled
    Reputation
    1584
    Join Date
    May 2010
    Posts
    1,824
    Thanks G/R
    188/531
    Trade Feedback
    16 (100%)
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Does anyone know how to get the last valid cast time? I found an address and traced it back down but I think its UI related and I cant work my way back up. Or is there a better way of checking if your cast has been interrupted / delayed.

    Code:
    struct size 0xA4
    array size 0x4 ?
    00BC83A8 [] -> 0x90 -> 0x140 -> 0x20 (last updated)
                        -> 0x004 -> string (Interface\Cooldown\star4.blp)
                        -> 0x124 -> vtable
                        -> 0x154 -> previous
                        -> 0x158 -> next
    The timer is accessed by 00594D96.

    edit---

    odd b/c I dont see anything like "Interface\Cooldown\star4.blp"

    dump 1 Textures\Minimap\19fef36b8911de4c2730865da81d9b54.blp 2 Textures\Minimap\aa0d - Pastebin.com
    Code:
    for (int i = 0; i < 4; i++)
    {
    	DWORD _address = *(DWORD*)(0xBC83A8 + 0x90 + (i * 0xA4));
    
    	int counter = 0;
    
    	while (_address && (_address & 1) == 0)
    	{
    		counter++;
    
    		char _str[256] = { 0 };
    		memcpy(_str, (PVOID)(_address + 0xC), 250);
    
    		printf("%d %s\n", counter, _str);
    			
    		_address = *(DWORD*)(_address + 0x158);
    	}
    }
    Last edited by DarkLinux; 11-30-2016 at 12:04 AM.

  14. #384
    Corthezz's Avatar Elite User Authenticator enabled
    Reputation
    386
    Join Date
    Nov 2011
    Posts
    325
    Thanks G/R
    183/98
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by DarkLinux View Post
    Does anyone know how to get the last valid cast time? I found an address and traced it back down but I think its UI related and I cant work my way back up. Or is there a better way of checking if your cast has been interrupted / delayed.

    Code:
    struct size 0xA4
    array size 0x4 ?
    00BC83A8 [] -> 0x90 -> 0x140 -> 0x20 (last updated)
                        -> 0x158 -> next ?
    Does "valid cast time" mean you want the time the current cast already took?
    I should have something for this. I will post it later when at home.
    Last edited by Corthezz; 11-29-2016 at 04:20 AM.
    Check my blog: https://zzuks.blogspot.com

  15. #385
    DarkLinux's Avatar Former Staff
    CoreCoins Purchaser Authenticator enabled
    Reputation
    1584
    Join Date
    May 2010
    Posts
    1,824
    Thanks G/R
    188/531
    Trade Feedback
    16 (100%)
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    The value I am looking at updates when the cast is complete. I see one timer constantly updating, when a spell completes that timer updates the value. My idea was to read the 1 timer at the start of the cast and then compare until it was updated. I guess I could just check 0xCECA88 every frame and create my own timer. My problem is that I'm getting kicked, its not stopping my spell just setting the time back.

    --edit

    Using 0xCECA88 to solve my problem

    Also found a fix for AttackTarget() as it was a toggle and I could not find that state.

    Code:
    void AutoAttackGUID(__int64 GUID)
    {
    	*(__int64*)((DWORD)this + 0xC48) = GUID;
    }
    	
    void StopAutoAttacking()
    {
    	*(__int64*)((DWORD)this + 0xC48) = 0;
    }
    --edit

    AutoAttackGUID does not look to work all the time but is a good state check

    Code:
    __int64 GetAutoAttackGUID()
    {
    	return *(__int64*)((DWORD)this + 0xC48);
    }
    
    ....
    
    if (!m_LocalPlayer->GetAttackGUID())
    {
    	WoWClass::DoString("AttackTarget()");
    }
    Last edited by DarkLinux; 12-01-2016 at 03:01 AM.

  16. #386
    tutrakan's Avatar Contributor
    Reputation
    134
    Join Date
    Feb 2013
    Posts
    175
    Thanks G/R
    124/52
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by DarkLinux View Post
    Does anyone know how to get the last valid cast time? I found an address and traced it back down but I think its UI related and I cant work my way back up. Or is there a better way of checking if your cast has been interrupted / delayed.
    You can always detour these (see the SpellHandlersInitializer() at 006E7150 for the full list):
    Code:
    int __fastcall SMSG_SpellStartSpellGoHandler(int param, int opcode, int time, int dataStore) at 006E7640,
    int __fastcall SMSG_SpellGoHandler(int pItemOrCasterGuid, int pCasterGuid, int spellid, int datastore) at 006E7A70,
    int __fastcall SMSG_SPELL_DELAYEDHandler(int param, int opcode, int time, CDataStore *a2) at 006E74F0, ... etc.
    Here is an example of implementation server side for spell handlers.
    Last edited by tutrakan; 11-30-2016 at 12:41 PM.

  17. Thanks DarkLinux (1 members gave Thanks to tutrakan for this useful post)
  18. #387
    Natrist's Avatar Member
    Reputation
    11
    Join Date
    Mar 2013
    Posts
    146
    Thanks G/R
    9/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Does anyone know how to set the namestring of a player?
    I'd like to add a new line after the guild string. I was able to do it manually via a debugger, but I'd like to know if I can call a function to change it from my code.

  19. #388
    DarkLinux's Avatar Former Staff
    CoreCoins Purchaser Authenticator enabled
    Reputation
    1584
    Join Date
    May 2010
    Posts
    1,824
    Thanks G/R
    188/531
    Trade Feedback
    16 (100%)
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Must be a better way of get cast time, spell rank and distance. Or am I missing something key to this madness? Or is this just display info, and the real info is stored in a different place?

    Code:
    	class CSpellInfo
    	{
    	public:
    		__int32		m_SpellID;		//0x0000 
    		char		m_0x0004[68];
    		__int32		m_CastTimeType;		//0x0048 
    		__int32		m_CoolDown;		//0x004C 
    		__int32		m_CoolDown1;		//0x0050 
    		char		m_0x0054[44];
    		__int32		m_Cost;			//0x0080 
    		char		m_0x0084[12];
    		__int32		m_DistnaceType;		//0x0090 
    		char		m_0x0094[332];
    		char*		m_SpellName;    	//0x01E0 
    		char		m_0x01E4[32];
    		char*		m_SpellRank;   		//0x0204 
    		char		m_0x0208[172];	
    
    	};//Size=0x02B4
    
    	static CSpellInfo* GetSpellObjectByIndex(int index, bool isPet = false)
    	{
    		DWORD spellID = *(DWORD*)(isPet ? 0x0B6F098 : 0x00B700F0 + (index * 4));
    		if (spellID)
    		{
    			DWORD SpellList = *(DWORD*)(0x00C0D788);
    			if (SpellList)
    			{
    				DWORD SpellObject = *(DWORD*)(SpellList + (spellID * 4));
    				if (SpellObject)
    				{
    					return (CSpellInfo*)SpellObject;
    				}
    			}
    		}
    		return NULL;
    	}
    m_DistnaceType
    2 = 5 yd range
    3 = 20 yd range
    4 = 30 yd range
    5 = 40 yd range
    6 = 100 yd range
    7 = 10 yd range
    8 = 10-20 yd range
    9 = 10-30 yd range
    10 = 10-40 yd range
    11 = 15 yd range
    12 = 5 yd range
    13 = 50000 yd range
    14 = 60 yd range
    34 = 25 yd
    35 = 35 yd
    36 = 45 yd
    37 = 50 yd
    38 = 10-25 yd range
    38 = 10-25 yd range
    54 = 5-30 yd range
    74 = 8-30 yd range
    94 = 8-40 yd range
    95 = 8-25 yd range
    96 = 2 yd range
    114 = 8-35 yd range
    134 = 80 yd range
    135 = 100 yd range
    136 = 30-80 yd range

    m_CastTimeType
    0 = instant cast
    1 = instant cast
    2 = 0.25
    3 = 0.50
    4 = 1sec
    5 = 2sec
    6 = 5sec
    7 = 10sec
    8 = 20sec
    9 = 30sec
    10 = 7sec
    11 = 8sec
    12 = 11sec
    13 = 1.5min
    14 = 3sec
    15 = 4sec
    16 = 1.5sec
    17 = instant cast
    18 = instant cast
    19 = 2.5sec
    20 = 2.5sec
    21 = 2.6sec
    22 = 3.5sec
    23 = 1.8sec
    24 = 2.2sec
    25 = 2.9sec
    26 = 3.7sec
    27 = 4.1sec
    28 = 3.2sec
    29 = 4.7sec
    30 = 4.5sec
    ...
    70 = 5min
    90 = 1.7sec
    91 = 2.8sec
    Last edited by DarkLinux; 12-04-2016 at 05:27 AM.

  20. #389
    NotJuJuBoSc's Avatar Corporal
    Reputation
    51
    Join Date
    Dec 2016
    Posts
    18
    Thanks G/R
    3/24
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by DarkLinux View Post
    Must be a better way of get cast time, spell rank and distance. Or am I missing something key to this madness? Or is this just display info, and the real info is stored in a different place?

    Code:
    	class CSpellInfo
    	{
    	public:
    		__int32		m_SpellID;		//0x0000 
    		char		m_0x0004[68];
    		__int32		m_CastTimeType;		//0x0048 
    		__int32		m_CoolDown;		//0x004C 
    		__int32		m_CoolDown1;		//0x0050 
    		char		m_0x0054[44];
    		__int32		m_Cost;			//0x0080 
    		char		m_0x0084[12];
    		__int32		m_DistnaceType;		//0x0090 
    		char		m_0x0094[332];
    		char*		m_SpellName;    	//0x01E0 
    		char		m_0x01E4[32];
    		char*		m_SpellRank;   		//0x0204 
    		char		m_0x0208[172];	
    
    	};//Size=0x02B4
    
    	static CSpellInfo* GetSpellObjectByIndex(int index, bool isPet = false)
    	{
    		DWORD spellID = *(DWORD*)(isPet ? 0x0B6F098 : 0x00B700F0 + (index * 4));
    		if (spellID)
    		{
    			DWORD SpellList = *(DWORD*)(0x00C0D788);
    			if (SpellList)
    			{
    				DWORD SpellObject = *(DWORD*)(SpellList + (spellID * 4));
    				if (SpellObject)
    				{
    					return (CSpellInfo*)SpellObject;
    				}
    			}
    		}
    		return NULL;
    	}
    To me those simply looks like DBC row ?

  21. Thanks DarkLinux (1 members gave Thanks to NotJuJuBoSc for this useful post)
  22. #390
    tutrakan's Avatar Contributor
    Reputation
    134
    Join Date
    Feb 2013
    Posts
    175
    Thanks G/R
    124/52
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by DarkLinux View Post
    Must be a better way of get cast time, spell rank and distance. Or am I missing something key to this madness? Or is this just display info, and the real info is stored in a different place?
    The spell rank you get from the spellinfo structure, the cast time (i think this one was posted already) and range from here:
    Code:
    public delegate bool GetSpellCooldownDelegate(int spellId, bool isPet, ref int duration, ref int start, ref bool isEnabled) at 0x006E2EA0 (fastcall);
    public delegate void GetSpellRangeDelegate(uint player_pointer, int spellid, ref float minrange, ref float maxrange, int zero = 0); at 0x006E3480(fastcall)

    In fact the struct you posted is the spell info from the dbc:
    Code:
    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public unsafe struct SpellRecord
        {
            public uint Id;                                                     //0
            public uint School;                                                 //1
            public uint Category;                                               //2
            public uint CastUI;                                                 //3 not used
            public uint Dispel;                                                 //4
            public uint Mechanic;                                               //5
            public uint Attributes;                                             //6
            public uint AttributesEx;                                           //7
            public uint AttributesEx2;                                          //8
            public uint AttributesEx3;                                          //9
            public uint AttributesEx4;                                          //10
            public uint Stances;                                                //11
            public uint StancesNot;                                             //12
            public uint Targets;                                                //13
            public uint TargetCreatureType;                                     //14
            public uint RequiresSpellFocus;                                     //15
            public uint CasterAuraState;                                        //16
            public uint TargetAuraState;                                        //17
            public uint CastingTimeIndex;                                       //18
            public uint RecoveryTime;                                           //19
            public uint CategoryRecoveryTime;                                   //20
            public uint InterruptFlags;                                         //21
            public uint AuraInterruptFlags;                                     //22
            public uint ChannelInterruptFlags;                                  //23
            public uint procFlags;                                              //24
            public uint procChance;                                             //25
            public uint procCharges;                                            //26
            public uint maxLevel;                                               //27
            public uint baseLevel;                                              //28
            public uint spellLevel;                                             //29
            public uint DurationIndex;                                          //30
            public int powerType;                                               //31
            public uint manaCost;                                               //32
            public uint manaCostPerlevel;                                       //33
            public uint manaPerSecond;                                          //34
            public uint manaPerSecondPerLevel;                                  //35
            public uint rangeIndex;                                             //36
            public float speed;                                                 //37
            public uint modalNextSpell;                                         //38
            public uint StackAmount;                                            //39
            public fixed uint Totem[2];                                         //40-41
            public fixed int Reagent[8];                                        //42-49
            public fixed uint ReagentCount[8];                                  //50-57
            public int EquippedItemClass;                                       //58 (value)
            public int EquippedItemSubClassMask;                                //59 (mask)
            public int EquippedItemInventoryTypeMask;                           //60 (mask)
            public fixed int Effect[3];                                         //61-63
            public fixed uint EffectDieSides[3];                                //64-66
            public fixed int EffectBaceDice[3];                                 //67-69
            public fixed float EffectDicePerLevel[3];                           //70-72
            public fixed float EffectRealPointsPerLevel[3];                     //73-75
            public fixed int EffectBasePoints[3];                               //76-78
            public fixed uint EffectMechanic[3];                                //79-81
            public fixed uint EffectImplicitTargetA[3];                         //82-84
            public fixed uint EffectImplicitTargetB[3];                         //85-87
            public fixed uint EffectRadiusIndex[3];                             //88-90
            public fixed uint EffectApplyAuraName[3];                           //91-93
            public fixed uint EffectAmplitude[3];                               //94-96
            public fixed float EffectMultipleValue[3];                          //97-99
            public fixed uint EffectChainTarget[3];                             //100-102
            public fixed uint EffectItemType[3];                                //103-105
            public fixed int EffectMiscValue[3];                                //106-108
            public fixed uint EffectTriggerSpell[3];                            //109-111
            public fixed float EffectPointsPerComboPoint[3];                    //112-114
            public uint SpellVisual;                                            //115
            public uint SpellVisual2;                                           //116 not used
            public uint SpellIconID;                                            //117
            public uint activeIconID;                                           //118
            public uint spellPriority;                                          //119
    
            [MarshalAs(UnmanagedType.LPStr)] public string SpellName;           //120
            public fixed uint SpellNameTrash[7];                                //121-127
            public uint SpellNameFlag;                                          //128 
    
            [MarshalAs(UnmanagedType.LPStr)] public string Rank;                //129
            public fixed uint RankTrash[7];                                     //129-136
            public uint RankFlags;                                              //137
    
            [MarshalAs(UnmanagedType.LPStr)] public string Description;         //138
            public fixed uint DescriptionTrash[7];                              //139-145
            public uint DescriptionFlags;                                       //146
    
            [MarshalAs(UnmanagedType.LPStr)] public string ToolTip;             //147
            public fixed uint ToolTipTrash[7];                                  //148-154
            public uint ToolTipFlags;                                           //155     not used
    
            public uint ManaCostPercentage;                                     // 156
            public uint StartRecoveryCategory;                                  // 157
            public uint StartRecoveryTime;                                      // 158
            public uint MaxTargetLevel;                                         // 159
            public uint SpellFamilyName;                                        // 160
            public ulong SpellFamilyFlags;                                      // 161+162
            public uint MaxAffectedTargets;                                     // 163
            public uint DmgClass;                                               // 164 defenseType
            public uint PreventionType;                                         // 165
            public uint StanceBarOrder;                                         // 166 not used
            public fixed float DmgMultiplier[3];                                // 167-169
            public uint MinFactionId;                                           // 170 not used, and 0 in 2.4.2
            public uint MinReputation;                                          // 171 not used, and 0 in 2.4.2
            public uint RequiredAuraVision;                                     // 172 not used
        };
    Last edited by tutrakan; 12-04-2016 at 03:52 PM.

  23. Thanks DarkLinux (1 members gave Thanks to tutrakan for this useful post)
Page 26 of 41 FirstFirst ... 222324252627282930 ... LastLast

Similar Threads

  1. [WoW][3.3.5.12340] Info Dump Thread
    By Nesox in forum WoW Memory Editing
    Replies: 83
    Last Post: 04-28-2018, 03:32 PM
  2. [WoW][4.0.3.13329] Info Dump Thread
    By TOM_RUS in forum WoW Memory Editing
    Replies: 73
    Last Post: 02-06-2011, 06:37 AM
  3. [WoW][4.0.1.13164] Info Dump Thread
    By Seifer in forum WoW Memory Editing
    Replies: 29
    Last Post: 01-18-2011, 09:14 AM
  4. [WoW][4.0.1.13205] Info Dump Thread
    By DrGonzo in forum WoW Memory Editing
    Replies: 12
    Last Post: 11-11-2010, 02:34 PM
  5. [WoW][3.3.3.11723] Info Dump Thread
    By miceiken in forum WoW Memory Editing
    Replies: 2
    Last Post: 03-27-2010, 04:42 PM
All times are GMT -5. The time now is 09:03 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