BgStarted = 0xC55A28
In C# (seconds since the battleground started):
Code:uint bgStarted = ((uint)Environment.TickCount - Memory.ReadUInt(Offsets.BgStarted)) / 1000
BgStarted = 0xC55A28
In C# (seconds since the battleground started):
Code:uint bgStarted = ((uint)Environment.TickCount - Memory.ReadUInt(Offsets.BgStarted)) / 1000
Did these offset's change or are they still the same for 3.3.3a?
This was taken from the 3.3.3 dump.
Lua_DoString = 0x004B32B0, // 3.3.3
Lua_GetLocalizedText = 0x005CAE50, // 3.3.3
Thanks!
I guess I'm looking for?
004B32B0 FrameScript__Execute
Last edited by emanzer0; 05-18-2010 at 07:19 PM.
Read the rules ****tard. Kthx.
http://www.mmowned.com/forums/world-...ion-rules.html
I managed to find IsAutoAttacking Flag for a WoW Unit.
I reversed CGPlayer_C__SetCombatMode and CGPlayer_C__OnAttackIconPressed.
and I found 2 offsets :
[objBase+Ax24] ==> DWORD Flag
[objBase+Ax20] ==> DWORD Mask
if Flag | Mask != 0 ==> IsAutoAttack = True
Edit: posted offset wasn't working consistently
Last edited by sniper231x; 05-25-2010 at 08:19 PM.
my apologies for not knowing the usual name's for these:
KnownSpellsCounter = 0x00C52EB0 (number of known spells) :: ex: int Count = *(int*)KnownSpellsCounter;
KnownSpellsArray = 0x00C50EA0 (array of unsigned short int's == SpellID's)
Last edited by tymezz; 06-02-2010 at 03:30 AM.
Hello,
Skills on pet actionbar = C535B8
Usage:Code:00C535B8 07000002 [Attack] 00C535BC 07000001 [Follow] 00C535C0 07000000 [Stay ] 00C535C4 C1004D18 <- last 2 bytes = SpellID 00C535C8 C100D323 <- last 2 bytes = SpellID 00C535CC C1004CBF <- last 2 bytes = SpellID 00C535D0 C100E0DD <- last 2 bytes = SpellID 00C535D4 06000002 Aggressive 00C535D8 06000001 Defensive 00C535DC 06000000 PassivePHP Code:
007500DB |. 8D34B5 B835C50>LEA ESI,DWORD PTR DS:[ESI*4+C535B8] ; ESI = pet_actionbar_slot - 1
Hello,
Code:class MyPetClass { public: __int64 GUID; BYTE PADDING00[0x20-0x8]; __int64 Unknown00; int Unknown01; bool IsActive; //00C535AC __int64 * pPetGUID; //00C535B0 int PADDDING01; PET_ACTION_BAR ActionBar; int Unknown02; int Pet_SpellBook_Spell_Count; //00C535E4 includes "hidden" spells DWORD * pPetSpellBook; //00C535E8 ?? includes "hidden" and passive spells (avoidance) };MyPetClass * pPet = reinterpret_cast<MyPetClass*>(00C53580); or Read in struct using whatever memory lib if you're passive.Code:typedef struct _PetActionBar { struct ActionBarSlot { unsigned short ID; unsigned short SlotFlag; //lol /* SlotFlag * * [Attack/Follow/Stay] = 700, always. * [Aggressive/Defensive/Passive] = 600, always. * * [Pet Abilities] * Autocast on = C100 * Autocast off = 8100 * Not on ActionBar/empty = 100 * Unknown: * - A00/B00 for slots that never had anything in them? (low level pets) */ }; ActionBarSlot Slot[9]; } PET_ACTION_BAR;
It's incomplete because it's of no use to me, I just got sidetracked today..
Also, sub74CC40(PetSpellID) returns a pointer that you can use to determine if that spell is set to autocast or on the pets actionbar.
Example:
might return:PHP Code:
0074CC60 > 8B7481 FC MOV ESI,DWORD PTR DS:[ECX+EAX*4-4] ; pPetSpellBook + Counter * 4 - 4
0074CC64 . 83E8 01 SUB EAX,1 ; PetSpellsCount--
0074CC67 . 81E6 FFFFFF00 AND ESI,0FFFFFF ; last 2 bytes (SpellID)
0074CC6D . 3BF2 CMP ESI,EDX ; if ESI == SpellID_To_Find exit loop
0074CC6F . 74 09 JE SHORT Wow.0074CC7A ; ^
0074CC71 . 85C0 TEST EAX,EAX ; else if counter !=0 jump back up
0074CC73 .^75 EB JNZ SHORT Wow.0074CC60 ; ^
0074CC7A > 8D0481 LEA EAX,DWORD PTR DS:[ECX+EAX*4] ; return pPetSpell
C1004558, C100 = flags (see SlotFlag comments), 4558 = SpellID (hex)
Sorry for the long post and ugly code, was thrown together pretty fast. Hope someone could use this info..
LastGlueScreen is @ 0xC8F2E0
Figured out on my own, then found Kynox's post "[3.3.0a] Retrieve Interaction Type" when I double checked this info wasn't already available prior to posting it. Changed my enum to match Kynox's for simplicity:
Incomplete as that's all I needed.Code:enum InteractionType { None = 0, QuestFuture, //HighLevelQuest LowLevelQuest, LowLevelRepeatableHandin, LowLevelRepeatableAvailable, QuestUncompleted, //QuestIncomplete UNKNOWN0, //RepeatableHandin ? I don't know what RepeatableHandin means, but it might not be used anymore RepeatableAvailable, QuestAvailable, UNKNOWN1, QuestHandin, //QuestComplete }
TaxiPathAvailable = 7 @ Unit+0x94 //Didn't see any other uses
Although I'm uninterested in going further, if anyone gets more data please post for completeness.
Last edited by tymezz; 06-05-2010 at 04:34 PM. Reason: Forgot code tags.
This should belong to WoW Constant Data (Enums, Structs, Etc) I guess.
maybe anybody wants to use it, but you can get the offsets easily from lua_InCombatLockdown
bool InCombatLockdown = !(*(DWORD*)((*(DWORD*)0xCB8E0C) + 4684));
Epic fail on my part lols....
Last edited by DarkLinux; 07-05-2010 at 10:49 PM. Reason: Use the damn code tags
winner! +Rep+Rep+Rep