MMOwned - World of Warcraft Exploits, Hacks, Bots and Guides

Homepage Register FAQ Members Mark Forums Read Advertise Marketplace FPSowned


Go Back   MMOwned - World of Warcraft Exploits, Hacks, Bots and Guides > World of Warcraft > Bots and Programs > WoW Memory Editing
Reload this Page combat stuff (cooldowns etc) - how to read?
WoW Memory Editing WoW Memory Editing for learning purposes only.

Reply
 
LinkBack Thread Tools
Camera & things with TLS (2.4.2)?
(#1)
Old
mrbrdo is Offline
Corporal
Rep Power: 1
Reputation: 5
mrbrdo is an unknown quantity at this point
 
Posts: 30
Join Date: Jun 2008
Camera & things with TLS (2.4.2)? - 06-19-2008

Hey,

How do you read/figure out the following things (i'm using TLS method):

- am i casting?
- what is the cooldown on spell nr. X on the action bar (or some other way if any is possible)
- how to see if you are in combat
- do mobs have a target field, or how can you check which mob is attacking you
- is it possible to check your buffs (like see if Seal of Righteousness is active etc)? also for drinking buff and so on

- current XP and max XP for the level, or XP %
- mob aggressive or very aggressive,?
- it is a player or NPC? also is there a way to know if a beast is a pet from someone or a real beast?
- am i in attacking mode (melee)?

Can't think of more things right now. I know it's a lot of info but all very useful so i'm sure someone else will find these handy.
I love this forum and u guys thx for all the help!!!

Last edited by mrbrdo; 06-21-2008 at 07:29 PM. Reason: changing title
Reply With Quote

Donate to remove ads.
(#2)
Old
Xarg0's Avatar
Xarg0 is Offline
Master Sergeant
Rep Power: 1
Reputation: 16
Xarg0 is on a distinguished road
 
Posts: 99
Join Date: Jan 2008
Location: Right behind you!
06-19-2008

As you're using the tls method I guess you know how to walk trough the ingame ObjectList, and this enumerations should be familar to you
enum eFilter
{
FILT_ALL=1,
FILT_PLAYERS=2,
FILT_UNITS=4,
FILT_ITEMS=8,
FILT_CORPSE=16,
FILT_GAMEOBJ=32,
FILT_DYNAMICOBJECT=64
};
This is the eFilter enumartion, you can use it to Check the Type of an Object in the Linkedlist, for all your other Questions check the UnitField enum and the PlayField enum.
enum eUnitFields {
UNIT_FIELD_CHARM=0x18,
UNIT_FIELD_SUMMON=0x20,
UNIT_FIELD_CHARMEDBY=0x28,
UNIT_FIELD_SUMMONEDBY=0x30,
UNIT_FIELD_CREATEDBY=0x38,
UNIT_FIELD_TARGET=0x40,
UNIT_FIELD_PERSUADED=0x48,
UNIT_FIELD_CHANNEL_OBJECT=0x50,
UNIT_FIELD_HEALTH=0x58,
UNIT_FIELD_POWER1=0x5C,
UNIT_FIELD_POWER2=0x60,
UNIT_FIELD_POWER3=0x64,
UNIT_FIELD_POWER4=0x68,
UNIT_FIELD_POWER5=0x6C,
UNIT_FIELD_MAXHEALTH=0x70,
UNIT_FIELD_MAXPOWER1=0x74,
UNIT_FIELD_MAXPOWER2=0x78,
UNIT_FIELD_MAXPOWER3=0x7C,
UNIT_FIELD_MAXPOWER4=0x80,
UNIT_FIELD_MAXPOWER5=0x84,
UNIT_FIELD_LEVEL=0x88,
UNIT_FIELD_FACTIONTEMPLATE=0x8C,
UNIT_FIELD_BYTES_0=0x90,
UNIT_VIRTUAL_ITEM_SLOT_DISPLAY=0x94,
UNIT_VIRTUAL_ITEM_INFO=0xA0,
UNIT_FIELD_FLAGS=0xB8,
UNIT_FIELD_FLAGS_2=0xBC,
UNIT_FIELD_AURA=0xC0,
UNIT_FIELD_AURAFLAGS=0x1A0,
UNIT_FIELD_AURALEVELS=0x1BC,
UNIT_FIELD_AURAAPPLICATIONS=0x1F4,
UNIT_FIELD_AURASTATE=0x22C,
UNIT_FIELD_BASEATTACKTIME=0x230,
UNIT_FIELD_RANGEDATTACKTIME=0x238,
UNIT_FIELD_BOUNDINGRADIUS=0x23C,
UNIT_FIELD_COMBATREACH=0x240,
UNIT_FIELD_DISPLAYID=0x244,
UNIT_FIELD_NATIVEDISPLAYID=0x248,
UNIT_FIELD_MOUNTDISPLAYID=0x24C,
UNIT_FIELD_MINDAMAGE=0x250,
UNIT_FIELD_MAXDAMAGE=0x254,
UNIT_FIELD_MINOFFHANDDAMAGE=0x258,
UNIT_FIELD_MAXOFFHANDDAMAGE=0x25C,
UNIT_FIELD_BYTES_1=0x260,
UNIT_FIELD_PETNUMBER=0x264,
UNIT_FIELD_PET_NAME_TIMESTAMP=0x268,
UNIT_FIELD_PETEXPERIENCE=0x26C,
UNIT_FIELD_PETNEXTLEVELEXP=0x270,
UNIT_DYNAMIC_FLAGS=0x274,
UNIT_CHANNEL_SPELL=0x278,
UNIT_MOD_CAST_SPEED=0x27C,
UNIT_CREATED_BY_SPELL=0x280,
UNIT_NPC_FLAGS=0x284,
UNIT_NPC_EMOTESTATE=0x288,
UNIT_TRAINING_POINTS=0x28C,
UNIT_FIELD_STAT0=0x290,
UNIT_FIELD_STAT1=0x294,
UNIT_FIELD_STAT2=0x298,
UNIT_FIELD_STAT3=0x29C,
UNIT_FIELD_STAT4=0x2A0,
UNIT_FIELD_POSSTAT0=0x2A4,
UNIT_FIELD_POSSTAT1=0x2A8,
UNIT_FIELD_POSSTAT2=0x2AC,
UNIT_FIELD_POSSTAT3=0x2B0,
UNIT_FIELD_POSSTAT4=0x2B4,
UNIT_FIELD_NEGSTAT0=0x2B8,
UNIT_FIELD_NEGSTAT1=0x2BC,
UNIT_FIELD_NEGSTAT2=0x2C0,
UNIT_FIELD_NEGSTAT3=0x2C4,
UNIT_FIELD_NEGSTAT4=0x2C8,
UNIT_FIELD_RESISTANCES=0x2CC,
UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE=0x2E8,
UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE=0x304,
UNIT_FIELD_BASE_MANA=0x320,
UNIT_FIELD_BASE_HEALTH=0x324,
UNIT_FIELD_BYTES_2=0x328,
UNIT_FIELD_ATTACK_POWER=0x32C,
UNIT_FIELD_ATTACK_POWER_MODS=0x330,
UNIT_FIELD_ATTACK_POWER_MULTIPLIER=0x334,
UNIT_FIELD_RANGED_ATTACK_POWER=0x338,
UNIT_FIELD_RANGED_ATTACK_POWER_MODS=0x33C,
UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER=0x340,
UNIT_FIELD_MINRANGEDDAMAGE=0x344,
UNIT_FIELD_MAXRANGEDDAMAGE=0x348,
UNIT_FIELD_POWER_COST_MODIFIER=0x34C,
UNIT_FIELD_POWER_COST_MULTIPLIER=0x368,
UNIT_FIELD_PADDING=0x384,
TOTAL_UNIT_FIELDS=226
};
enum ePlayerFields {
PLAYER_DUEL_ARBITER=0x388,
PLAYER_FLAGS=0x390,
PLAYER_GUILDID=0x394,
PLAYER_GUILDRANK=0x398,
PLAYER_BYTES=0x39C,
PLAYER_BYTES_2=0x3A0,
PLAYER_BYTES_3=0x3A4,
PLAYER_DUEL_TEAM=0x3A8,
PLAYER_GUILD_TIMESTAMP=0x3AC,
PLAYER_QUEST_LOG_1_1=0x3B0,
PLAYER_QUEST_LOG_1_2=0x3B4,
PLAYER_QUEST_LOG_2_1=0x3BC,
PLAYER_QUEST_LOG_2_2=0x3C0,
PLAYER_QUEST_LOG_3_1=0x3C8,
PLAYER_QUEST_LOG_3_2=0x3CC,
PLAYER_QUEST_LOG_4_1=0x3D4,
PLAYER_QUEST_LOG_4_2=0x3D8,
PLAYER_QUEST_LOG_5_1=0x3E0,
PLAYER_QUEST_LOG_5_2=0x3E4,
PLAYER_QUEST_LOG_6_1=0x3EC,
PLAYER_QUEST_LOG_6_2=0x3F0,
PLAYER_QUEST_LOG_7_1=0x3F8,
PLAYER_QUEST_LOG_7_2=0x3FC,
PLAYER_QUEST_LOG_8_1=0x404,
PLAYER_QUEST_LOG_8_2=0x408,
PLAYER_QUEST_LOG_9_1=0x410,
PLAYER_QUEST_LOG_9_2=0x414,
PLAYER_QUEST_LOG_10_1=0x41C,
PLAYER_QUEST_LOG_10_2=0x420,
PLAYER_QUEST_LOG_11_1=0x428,
PLAYER_QUEST_LOG_11_2=0x42C,
PLAYER_QUEST_LOG_12_1=0x434,
PLAYER_QUEST_LOG_12_2=0x438,
PLAYER_QUEST_LOG_13_1=0x440,
PLAYER_QUEST_LOG_13_2=0x444,
PLAYER_QUEST_LOG_14_1=0x44C,
PLAYER_QUEST_LOG_14_2=0x450,
PLAYER_QUEST_LOG_15_1=0x458,
PLAYER_QUEST_LOG_15_2=0x45C,
PLAYER_QUEST_LOG_16_1=0x464,
PLAYER_QUEST_LOG_16_2=0x468,
PLAYER_QUEST_LOG_17_1=0x470,
PLAYER_QUEST_LOG_17_2=0x474,
PLAYER_QUEST_LOG_18_1=0x47C,
PLAYER_QUEST_LOG_18_2=0x480,
PLAYER_QUEST_LOG_19_1=0x488,
PLAYER_QUEST_LOG_19_2=0x48C,
PLAYER_QUEST_LOG_20_1=0x494,
PLAYER_QUEST_LOG_20_2=0x498,
PLAYER_QUEST_LOG_21_1=0x4A0,
PLAYER_QUEST_LOG_21_2=0x4A4,
PLAYER_QUEST_LOG_22_1=0x4AC,
PLAYER_QUEST_LOG_22_2=0x4B0,
PLAYER_QUEST_LOG_23_1=0x4B8,
PLAYER_QUEST_LOG_23_2=0x4BC,
PLAYER_QUEST_LOG_24_1=0x4C4,
PLAYER_QUEST_LOG_24_2=0x4C8,
PLAYER_QUEST_LOG_25_1=0x4D0,
PLAYER_QUEST_LOG_25_2=0x4D4,
PLAYER_VISIBLE_ITEM_1_CREATOR=0x4DC,
PLAYER_VISIBLE_ITEM_1_0=0x4E4,
PLAYER_VISIBLE_ITEM_1_PROPERTIES=0x514,
PLAYER_VISIBLE_ITEM_1_PAD=0x518,
PLAYER_VISIBLE_ITEM_2_CREATOR=0x51C,
PLAYER_VISIBLE_ITEM_2_0=0x524,
PLAYER_VISIBLE_ITEM_2_PROPERTIES=0x554,
PLAYER_VISIBLE_ITEM_2_PAD=0x558,
PLAYER_VISIBLE_ITEM_3_CREATOR=0x55C,
PLAYER_VISIBLE_ITEM_3_0=0x564,
PLAYER_VISIBLE_ITEM_3_PROPERTIES=0x594,
PLAYER_VISIBLE_ITEM_3_PAD=0x598,
PLAYER_VISIBLE_ITEM_4_CREATOR=0x59C,
PLAYER_VISIBLE_ITEM_4_0=0x5A4,
PLAYER_VISIBLE_ITEM_4_PROPERTIES=0x5D4,
PLAYER_VISIBLE_ITEM_4_PAD=0x5D8,
PLAYER_VISIBLE_ITEM_5_CREATOR=0x5DC,
PLAYER_VISIBLE_ITEM_5_0=0x5E4,
PLAYER_VISIBLE_ITEM_5_PROPERTIES=0x614,
PLAYER_VISIBLE_ITEM_5_PAD=0x618,
PLAYER_VISIBLE_ITEM_6_CREATOR=0x61C,
PLAYER_VISIBLE_ITEM_6_0=0x624,
PLAYER_VISIBLE_ITEM_6_PROPERTIES=0x654,
PLAYER_VISIBLE_ITEM_6_PAD=0x658,
PLAYER_VISIBLE_ITEM_7_CREATOR=0x65C,
PLAYER_VISIBLE_ITEM_7_0=0x664,
PLAYER_VISIBLE_ITEM_7_PROPERTIES=0x694,
PLAYER_VISIBLE_ITEM_7_PAD=0x698,
PLAYER_VISIBLE_ITEM_8_CREATOR=0x69C,
PLAYER_VISIBLE_ITEM_8_0=0x6A4,
PLAYER_VISIBLE_ITEM_8_PROPERTIES=0x6D4,
PLAYER_VISIBLE_ITEM_8_PAD=0x6D8,
PLAYER_VISIBLE_ITEM_9_CREATOR=0x6DC,
PLAYER_VISIBLE_ITEM_9_0=0x6E4,
PLAYER_VISIBLE_ITEM_9_PROPERTIES=0x714,
PLAYER_VISIBLE_ITEM_9_PAD=0x718,
PLAYER_VISIBLE_ITEM_10_CREATOR=0x71C,
PLAYER_VISIBLE_ITEM_10_0=0x724,
PLAYER_VISIBLE_ITEM_10_PROPERTIES=0x754,
PLAYER_VISIBLE_ITEM_10_PAD=0x758,
PLAYER_VISIBLE_ITEM_11_CREATOR=0x75C,
PLAYER_VISIBLE_ITEM_11_0=0x764,
PLAYER_VISIBLE_ITEM_11_PROPERTIES=0x794,
PLAYER_VISIBLE_ITEM_11_PAD=0x798,
PLAYER_VISIBLE_ITEM_12_CREATOR=0x79C,
PLAYER_VISIBLE_ITEM_12_0=0x7A4,
PLAYER_VISIBLE_ITEM_12_PROPERTIES=0x7D4,
PLAYER_VISIBLE_ITEM_12_PAD=0x7D8,
PLAYER_VISIBLE_ITEM_13_CREATOR=0x7DC,
PLAYER_VISIBLE_ITEM_13_0=0x7E4,
PLAYER_VISIBLE_ITEM_13_PROPERTIES=0x814,
PLAYER_VISIBLE_ITEM_13_PAD=0x818,
PLAYER_VISIBLE_ITEM_14_CREATOR=0x81C,
PLAYER_VISIBLE_ITEM_14_0=0x824,
PLAYER_VISIBLE_ITEM_14_PROPERTIES=0x854,
PLAYER_VISIBLE_ITEM_14_PAD=0x858,
PLAYER_VISIBLE_ITEM_15_CREATOR=0x85C,
PLAYER_VISIBLE_ITEM_15_0=0x864,
PLAYER_VISIBLE_ITEM_15_PROPERTIES=0x894,
PLAYER_VISIBLE_ITEM_15_PAD=0x898,
PLAYER_VISIBLE_ITEM_16_CREATOR=0x89C,
PLAYER_VISIBLE_ITEM_16_0=0x8A4,
PLAYER_VISIBLE_ITEM_16_PROPERTIES=0x8D4,
PLAYER_VISIBLE_ITEM_16_PAD=0x8D8,
PLAYER_VISIBLE_ITEM_17_CREATOR=0x8DC,
PLAYER_VISIBLE_ITEM_17_0=0x8E4,
PLAYER_VISIBLE_ITEM_17_PROPERTIES=0x914,
PLAYER_VISIBLE_ITEM_17_PAD=0x918,
PLAYER_VISIBLE_ITEM_18_CREATOR=0x91C,
PLAYER_VISIBLE_ITEM_18_0=0x924,
PLAYER_VISIBLE_ITEM_18_PROPERTIES=0x954,
PLAYER_VISIBLE_ITEM_18_PAD=0x958,
PLAYER_VISIBLE_ITEM_19_CREATOR=0x95C,
PLAYER_VISIBLE_ITEM_19_0=0x964,
PLAYER_VISIBLE_ITEM_19_PROPERTIES=0x994,
PLAYER_VISIBLE_ITEM_19_PAD=0x998,
PLAYER_CHOSEN_TITLE=0x99C,
PLAYER_FIELD_INV_SLOT_HEAD=0x9A0,
PLAYER_FIELD_PACK_SLOT_1=0xA58,
PLAYER_FIELD_BANK_SLOT_1=0xAD8,
PLAYER_FIELD_BANKBAG_SLOT_1=0xBB8,
PLAYER_FIELD_VENDORBUYBACK_SLOT_1=0xBF0,
PLAYER_FIELD_KEYRING_SLOT_1=0xC50,
PLAYER_FARSIGHT=0xD50,
PLAYER__FIELD_KNOWN_TITLES=0xD58,
PLAYER_XP=0xD60,
PLAYER_NEXT_LEVEL_XP=0xD64,
PLAYER_SKILL_INFO_1_1=0xD68,
PLAYER_CHARACTER_POINTS1=0x1368,
PLAYER_CHARACTER_POINTS2=0x136C,
PLAYER_TRACK_CREATURES=0x1370,
PLAYER_TRACK_RESOURCES=0x1374,
PLAYER_BLOCK_PERCENTAGE=0x1378,
PLAYER_DODGE_PERCENTAGE=0x137C,
PLAYER_PARRY_PERCENTAGE=0x1380,
PLAYER_CRIT_PERCENTAGE=0x1384,
PLAYER_RANGED_CRIT_PERCENTAGE=0x1388,
PLAYER_OFFHAND_CRIT_PERCENTAGE=0x138C,
PLAYER_SPELL_CRIT_PERCENTAGE1=0x1390,
PLAYER_EXPLORED_ZONES_1=0x13AC,
PLAYER_REST_STATE_EXPERIENCE=0x14AC,
PLAYER_FIELD_COINAGE=0x14B0,
PLAYER_FIELD_MOD_DAMAGE_DONE_POS=0x14B4,
PLAYER_FIELD_MOD_DAMAGE_DONE_NEG=0x14D0,
PLAYER_FIELD_MOD_DAMAGE_DONE_PCT=0x14EC,
PLAYER_FIELD_MOD_HEALING_DONE_POS=0x1508,
PLAYER_FIELD_MOD_TARGET_RESISTANCE=0x150C,
PLAYER_FIELD_BYTES=0x1510,
PLAYER_AMMO_ID=0x1514,
PLAYER_SELF_RES_SPELL=0x1518,
PLAYER_FIELD_PVP_MEDALS=0x151C,
PLAYER_FIELD_BUYBACK_PRICE_1=0x1520,
PLAYER_FIELD_BUYBACK_TIMESTAMP_1=0x1550,
PLAYER_FIELD_KILLS=0x1580,
PLAYER_FIELD_TODAY_CONTRIBUTION=0x1584,
PLAYER_FIELD_YESTERDAY_CONTRIBUTION=0x1588,
PLAYER_FIELD_LIFETIME_HONORBALE_KILLS=0x158C,
PLAYER_FIELD_BYTES2=0x1590,
PLAYER_FIELD_WATCHED_FACTION_INDEX=0x1594,
PLAYER_FIELD_COMBAT_RATING_1=0x1598,
PLAYER_FIELD_ARENA_TEAM_INFO_1_1=0x15F4,
PLAYER_FIELD_HONOR_CURRENCY=0x1630,
PLAYER_FIELD_ARENA_CURRENCY=0x1634,
PLAYER_FIELD_MOD_MANA_REGEN=0x1638,
PLAYER_FIELD_MOD_MANA_REGEN_INTERRUPT=0x163C,
PLAYER_FIELD_MAX_LEVEL=0x1640,
PLAYER_FIELD_DAILY_QUESTS_1=0x1644,
PLAYER_FIELD_PADDING=0x166C,
TOTAL_PLAYER_FIELDS=1436
};
All enums are c&ped from madx.dk/wowdev/wiki
all credits go to who ever posted them first


We'll ride the spiral to the end and may just go where no one's been.
Reply With Quote
(#3)
Old
mrbrdo is Offline
Corporal
Rep Power: 1
Reputation: 5
mrbrdo is an unknown quantity at this point
 
Posts: 30
Join Date: Jun 2008
06-19-2008

Wow!!! Very nice, thank you. +rep

Can you explain a little more (i'm kind of new to this):
I'm confused about the eFilter enum - those are the values right? What is the offset they are read from?

Where to read the unit/playerfields? I read from the linked list into this record:
Quote:
TWoWObject = record
DontCare1: Integer;
DontCare2: Integer;
UnitData: Integer;
DontCare4: Integer;
DontCare5: Integer;
ObjectType: Integer;
DontCare7: Integer;
DontCare8: Integer;
DontCare9: Integer;
DontCare10: Integer;
DontCare11: Integer;
DontCare12: Integer;
GUID: Int64;
DontCare13: Integer;
NextPtr: Integer;
end;
Is ObjectType a pointer to the value from eFilter (or value itself), and UnitData a pointer to the base for the unitfields (base+unitfield value)? What about the playerfield, is it at the UnitData location if the type is player then?
Sorry to bother with this kind of stuff!

EDIT: i looked at the ObjectType from my record and for npcs and mobs it is '3'. I don't know what to make of this exactly (this would indicate it's a player but it's not?).

Thanks again!

Last edited by mrbrdo; 06-19-2008 at 11:42 AM.
Reply With Quote
(#4)
Old
Xarg0's Avatar
Xarg0 is Offline
Master Sergeant
Rep Power: 1
Reputation: 16
Xarg0 is on a distinguished road
 
Posts: 99
Join Date: Jan 2008
Location: Right behind you!
06-19-2008

enum eObjType
{
OT_ITEM=1,
OT_CONTAINER=2,
OT_UNIT=3,
OT_PLAYER=4,
OT_GAMEOBJ=5,
OT_DYNOBJ=6,
OT_CORPSE=7,
};
This is the ObjectType Enum, Players and units share the unit enum, so you can use it on a player and a unit Object.

the Unit and Player enumeration are offsets relative to the objects base address.
UNIT_FIELD_HEALTH+ObjectBase=Adress that stores the health of the Object, if it's a unit Object.

The Filter Enum is used to filter objecttypes if you for example only want to read unit data, make an if (FILT_UNITS&ObjectType!=0) to check if the Current Object is a Unit Object.


We'll ride the spiral to the end and may just go where no one's been.
Reply With Quote
(#5)
Old
mrbrdo is Offline
Corporal
Rep Power: 1
Reputation: 5
mrbrdo is an unknown quantity at this point
 
Posts: 30
Join Date: Jun 2008
06-19-2008

Thanks, now it works and i am able to read it. There is a few questions though that i still can't find an answer to.

First, the pos x and pos y etc, these are from which structure (for a unit or player for example)? Do i use eGameObjFields for that, does that work for units/players?

My previous questions i still can't find:
- am i casting?
- what is the cooldown on spell nr. X on the action bar (or some other way if any is possible)
- how to see if you are in combat
- is it possible to check your buffs (like see if Seal of Righteousness is active etc)? also for drinking buff and so on
- mob aggressive or very aggressive,? (red, yellow)
- is there a way to know if a beast is a pet from someone or a real beast?
- am i in attacking mode (melee)?

I'm sorry if this can be found in the structures, i can't seem to figure it out... Thanks again!
Reply With Quote
(#6)
Old
Xarg0's Avatar
Xarg0 is Offline
Master Sergeant
Rep Power: 1
Reputation: 16
Xarg0 is on a distinguished road
 
Posts: 99
Join Date: Jan 2008
Location: Right behind you!
06-19-2008

eGameObjFields is valid for all gameObjects, Players and Units are GameObjects, I guess you should learn a bit about oop...
[Only registered and activated users can see links. ]
this will help you to find out mobs reactions.
For all your other Questions take a closer look at the enumerations, everything that you're asking for is in there in someway.


We'll ride the spiral to the end and may just go where no one's been.
Reply With Quote
(#7)
Old
mrbrdo is Offline
Corporal
Rep Power: 1
Reputation: 5
mrbrdo is an unknown quantity at this point
 
Posts: 30
Join Date: Jun 2008
06-19-2008

Thank you. I know about oop (if you mean object orientated programming), but since the classes i've seen aren't related (not being descendants of the other class), i can't know this. Actually it's just a bunch of enums with addresses, so i don't see what it has to do with OOP. Please correct me if i am missing something though.
I will look further to find the other details i asked for, if anyone can give a hand about anything there it would be much appreciated though. Especially spell cooldowns?
Reply With Quote
(#8)
Old
mrbrdo is Offline
Corporal
Rep Power: 1
Reputation: 5
mrbrdo is an unknown quantity at this point
 
Posts: 30
Join Date: Jun 2008
06-21-2008

Hey guys.

I can't seem to find a way to apply the structures to find the Player/Unit PosX/Y/Z via TLS, i currently use a fixed value + the object pointer, but i want to find a pointer to the gameobject struct (it should contain it right?)...
Relative to the UnitData pointer (which i can use together with eUnitFields), the PosX/Y/Z is BEFORE the UnitData starts... So i don't see the connection here. I'm currently using ObjectPointer+0xBF0 to read the PosX, then add 4 for each coord (ObjectPointer is a pointer to the WoWObject struct, the one that has UnitData and GUID etc). So i don't see how to get PosX using the structures (like the game object structure). I looked at the values of the "DontCareX" fields of the WoWObject structure bot none seems to be of any help. Btw is PosX actually PosY? Because the way i'm reading it now, PosX changes when i go north/south and Y when i go west/east :S

Another thing i'd like to see is info on how to get the camera structure via TLS (struct by kynox)? To get cam position etc.

Thank you!

Last edited by mrbrdo; 06-21-2008 at 07:34 PM.
Reply With Quote
(#9)
Old
mrbrdo is Offline
Corporal
Rep Power: 1
Reputation: 5
mrbrdo is an unknown quantity at this point
 
Posts: 30
Join Date: Jun 2008
06-21-2008

I will answer the first part of my question. The X/Y/Z is actually part of the extended wow object structure it seems:
Code:
Func _wowUnitObject()
	return DllStructCreate ( 		_
		"dword var1;" 			&	_
		"dword var2;" 			&	_
		"dword DataPTR;" 		&	_
		"dword var4;" 			&	_
		"dword var5;" 			&	_
		"dword ObjectType;" 	&	_
		"dword var7;" 			&	_
		"dword var8;" 			&	_
		"dword var9;" 			&	_
		"dword var10;" 			&	_
		"dword var11;" 			&	_
		"dword var12;" 			&	_
		"uint64 GUID;" 			&	_
		"dword var13;" 			&	_
		"ptr NextObject;"		&	_
		"dword pool[744];" 		&	_
		"float x;" 				&	_
		"float y;" 				&	_
		"float z;" 				&	_
		"float rot" )
This is from AutoIt script posted by Whalemarte (thank you): [Only registered and activated users can see links. ]


But for camera i still do not know what is the proper way to find it trough using TLS instead of just static address.
Reply With Quote
(#10)
Old
kynox's Avatar
kynox is Online
Cypher's Pimp

Rep Power: 5
Reputation: 523
kynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of light
 
Posts: 263
Join Date: Dec 2006
Location: Raping your Stack
06-22-2008

Quote:
Another thing i'd like to see is info on how to get the camera structure via TLS (struct by kynox)? To get cam position etc.
It's not in the TLS, it's in the s_worldFrame structure.

((0xDDEFF4) + 0x732C)


Do not PM me about the ME fix or other ME questions
Reply With Quote
(#11)
Old
mrbrdo is Offline
Corporal
Rep Power: 1
Reputation: 5
mrbrdo is an unknown quantity at this point
 
Posts: 30
Join Date: Jun 2008
06-22-2008

You are the best Do you write this stuff anywhere, I've searched the forums for your posts but didn't find things like this? Or if you can refer me to a good resource about wow TLS, because mostly i can find info about the static addresses, and the basic structures (the linked list).

Thanks again +rep!
Reply With Quote
(#12)
Old
kynox's Avatar
kynox is Online
Cypher's Pimp

Rep Power: 5
Reputation: 523
kynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of light
 
Posts: 263
Join Date: Dec 2006
Location: Raping your Stack
06-22-2008

I just post wherever people request, though i might make a blog to blog about something i'm working on.


Do not PM me about the ME fix or other ME questions
Reply With Quote
(#13)
Old
mrbrdo is Offline
Corporal
Rep Power: 1
Reputation: 5
mrbrdo is an unknown quantity at this point
 
Posts: 30
Join Date: Jun 2008
06-22-2008

Kynox if you need any help with that or webspace or whatever, feel free to PM i will be glad to help you, i think your contribution here is just amazing!
Reply With Quote
(#14)
Old
mrbrdo is Offline
Corporal
Rep Power: 1
Reputation: 5
mrbrdo is an unknown quantity at this point
 
Posts: 30
Join Date: Jun 2008
06-23-2008

Hey so i tried your camera struct Kynox, with the address you gave.

It works great for getting the X,Y,Z of the camera, but what about the facing direction and tilt? I'm trying to implement the function posted by someone here to convert 3D coords to onscreen coords. However if i try cam+0x28 (he has 0x20 there but with your struct X is at 8 instead of 0 so i added 8) i should get the Tilt, but i always get 0. I actually seem to have found the tilt (range from -1 to 1) at cam+0x1C, but i can't find the facing direction for the camera.. There are values which could be it, but none which i found changes from 0 to 2*PI, the are usually from -0.xxxx to +0.xxxx and i can't figure which exact rotation changes them (because it's kinda hard to rotate perfectly on the x axis or so).

Any idea here Kynox maybe?
Reply With Quote
(#15)
Old
kynox's Avatar
kynox is Online
Cypher's Pimp

Rep Power: 5
Reputation: 523
kynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of light
 
Posts: 263
Join Date: Dec 2006
Location: Raping your Stack
06-24-2008

My 3d math isn't too good, but reading up on a 3x3 Matrix should help you, you can derive a rotation out of it.


Do not PM me about the ME fix or other ME questions
Reply With Quote
Reply

Donate to remove ads.

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are On




Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
vBulletin Skin developed by: vBStyles.com


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327