blackd
09-17-2016, 18:16
All addresses are now complex paths (read more here (http://www.blackdtools.net/showthread.php?62963-Tibia-11-Dealing-with-the-memory-addresses)) You can test them with Cheat Engine (http://www.cheatengine.org/)
So far I found following addresses:
Shortest paths found so far:
adrXPos="Qt5Core.dll" + 004555C8 > 8 > 134 > 24 > 18
adrYPos="Qt5Core.dll" + 004555C8 > 8 > 134 > 24 > 1C
adrZPos="Qt5Core.dll" + 004555C8 > 8 > 134 > 24 > 20
adrMyHP="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 8
adrMyMaxHP="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > A
adrCapacity="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > C
adrMaxCapacity="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 10
adrExperience="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 18
adrLevel="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 20
adrMyMana="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 50
adrMyMaxMana="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 52
adrMySoul="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 54
adrSpeed_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 56
adrSpeed_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 58
adrStamina_InMinutes="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 5c
adrFood_InSeconds="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 60
adrOfflineTraining_InMinutes="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 68
adrSkills_CollectionStart="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c
adrSkills_AXE_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 14
adrSkills_AXE_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 16
adrSkills_AXE_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 18
adrSkills_CLUB_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 14
adrSkills_CLUB_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 16
adrSkills_CLUB_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 18
adrSkills_SHIELDING_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 14
adrSkills_SHIELDING_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 16
adrSkills_SHIELDING_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 18
adrSkills_MAGICLEVEL_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 0 > 14
adrSkills_MAGICLEVEL_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 0 > 16
adrSkills_MAGICLEVEL_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 0 > 18
adrSkills_FISHING_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 8 > 0 > 14
adrSkills_FISHING_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 8 > 0 > 16
adrSkills_FISHING_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 8 > 0 > 18
adrSkills_FIST_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 8 > 0 > 0 > 14
adrSkills_FIST_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 8 > 0 > 0 > 16
adrSkills_FIST_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 8 > 0 > 0 > 18
adrSkills_SWORD_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 8 > 14
adrSkills_SWORD_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 8 > 16
adrSkills_SWORD_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 8 > 18
adrSkills_DISTANCE_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 8 > 14
adrSkills_DISTANCE_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 8 > 16
adrSkills_DISTANCE_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 8 > 18
adrChatLog_tabStruct="Qt5Core.dll" + 4555C8 > 8 > 118
adrServerList_CollectionStart="Qt5Core.dll" + 004555C8 > 8 > 168 > 54 > 18 > 2c
randomServerNameInCollection="Qt5Core.dll" + 004555C8 > 8 > 168 > 54 > 18 > 2c > 0 > 18 > 10
adrSelectedCharName="Qt5Core.dll" + 004555C8 > 8 > C > 4 > 18 > 38 > 28
adrSelectedItem_currentScreenPositionY="Qt5Widgets .dll" + 00401DC4 > 70 > 4 > 68
' adrSelectedItem_currentScreenPositionY points to a 8 bytes DOUBLE, containing the Y position of the selected row.
adrSelectedItem_currentScreenPositionX="Qt5Widgets .dll" + 00401DC4 > 70 > 4 > 60
adrSelectedItem_width="Qt5Widgets.dll" + 00401DC4 > 70 > 4 > a0
adrSelectedItem_height="Qt5Widgets.dll" + 00401DC4 > 70 > 4 > a8
adrSelectedCharName_afterCharList="Qt5Core.dll" + 004555C8 > 8 > 320 > 18 > 60 > 0
adrSelectedServerURL_afterCharList="Qt5Core.dll" + 004555C8 > 8 > 320 > 18 > 60 > 4
adrSelectedServerPORT_afterCharList="Qt5Core.dll" + 004555C8 > 8 > 320 > 18 > 60 > 8
adrSelectedServerNAME_afterCharList="Qt5Core.dll" + 004555C8 > 8 > 320 > 18 > 60 > C
adrConnectionKey="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 2F0 > 7C > B8
adrBattlelist_CollectionStart="Qt5Core.dll" + 004555C8 > 8 > 1D8 > E4 > 8
adrNewBlueSquare="Qt5Core.dll" + 004555C8 > 8 > 1D8 > E4 > 14
adrNewRedSquare="Qt5Core.dll" + 004555C8 > 8 > 1D8 > E4 > 1C
// Your player ID can be obtained near:
adrNum="Qt5Core.dll" + 004555C8 > 8 > 1D8 > E4 > 10
// and it is *usually* the first ID in battlelist (NOT ALWAYS):
adrNum1="Qt5Core.dll" + 004555C8 > 8 > 1D8 > E4 > 8 > 0 > 14 > 10
// battlelist, ID of other creature there:
adrNum2="Qt5Core.dll" + 004555C8 > 8 > 1D8 > E4 > 8 > 8 > 14 > 10
Needs further testing and investigation:
adrSelectedCharIndex="Qt5Gui.dll"+00482EE4 > 20 > C > 58 > 4 > F8 > 418
WARNING: does not work after login into game: "Qt5Gui.dll"+00482EE4 > 20 > C > 58 > 4 > F8 = 0
However, when you are ingame you can read selected char name directly:
adrSelectedCharName="Qt5Core.dll" + 004555C8 > 8 > C > 4 > 18 > 38 > 28
' Note: this is address is set only while game is connected, being a good way to know if you are connected.
' adrSelectedCharName_afterCharList is set much faster, but it is not good as a way to know if you are connected.
adrSelectedCharIndex="Qt5Gui.dll"+00482EE4 > 20 > C > 58 > 4 > 108 > 4 > 28 > 0 > 4 > F8 > 418
adrFirstLocalChat_MsgStruct="Qt5Core.dll" + 004555C8 > 8 > 1D8 > FC > 14 > 18 > 0 > 0
LocalChat_FirstLineText_Unicode="Qt5Core.dll" + 004555C8 > 8 > 1D8 > FC > 14 > 18 > 0 > 8 > 10
SELECTEDCHANNEL_FirstLineText_Unicode="Qt5Gui.dll" + 00482EE4 > 28 > 0 > 118 > 64 > 18 > 0 > 8 > 10
SELECTEDCHANNEL_FirstLineText_Unicode="Qt5Core.dll" + 004555C8 > 8 > 118 > 64 > 18 > 0 > 8 > 10
SELECTEDCHANNEL_ChannelName_Unicode="Qt5Core.dll" + 004555C8 > 8 > 118 > 64 > 10 > 10 > 10
SELECTEDCHANNEL_FirstLineText_Unicode=adrChatLog_t abStruct> 64 > 18 > 0 > 8 > 10
SELECTEDCHANNEL_ChannelName_Unicode=adrChatLog_tab Struct > 64 > 10 > 10 > 8 > 10
So far I found following addresses:
Shortest paths found so far:
adrXPos="Qt5Core.dll" + 004555C8 > 8 > 134 > 24 > 18
adrYPos="Qt5Core.dll" + 004555C8 > 8 > 134 > 24 > 1C
adrZPos="Qt5Core.dll" + 004555C8 > 8 > 134 > 24 > 20
adrMyHP="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 8
adrMyMaxHP="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > A
adrCapacity="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > C
adrMaxCapacity="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 10
adrExperience="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 18
adrLevel="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 20
adrMyMana="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 50
adrMyMaxMana="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 52
adrMySoul="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 54
adrSpeed_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 56
adrSpeed_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 58
adrStamina_InMinutes="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 5c
adrFood_InSeconds="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 60
adrOfflineTraining_InMinutes="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 68
adrSkills_CollectionStart="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c
adrSkills_AXE_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 14
adrSkills_AXE_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 16
adrSkills_AXE_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 18
adrSkills_CLUB_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 14
adrSkills_CLUB_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 16
adrSkills_CLUB_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 18
adrSkills_SHIELDING_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 14
adrSkills_SHIELDING_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 16
adrSkills_SHIELDING_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 18
adrSkills_MAGICLEVEL_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 0 > 14
adrSkills_MAGICLEVEL_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 0 > 16
adrSkills_MAGICLEVEL_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 0 > 18
adrSkills_FISHING_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 8 > 0 > 14
adrSkills_FISHING_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 8 > 0 > 16
adrSkills_FISHING_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 8 > 0 > 18
adrSkills_FIST_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 8 > 0 > 0 > 14
adrSkills_FIST_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 8 > 0 > 0 > 16
adrSkills_FIST_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 8 > 0 > 0 > 18
adrSkills_SWORD_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 8 > 14
adrSkills_SWORD_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 8 > 16
adrSkills_SWORD_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 8 > 18
adrSkills_DISTANCE_Current="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 8 > 14
adrSkills_DISTANCE_Base="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 8 > 16
adrSkills_DISTANCE_Progress="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 60 > 9c > 4 > 0 > 0 > 8 > 18
adrChatLog_tabStruct="Qt5Core.dll" + 4555C8 > 8 > 118
adrServerList_CollectionStart="Qt5Core.dll" + 004555C8 > 8 > 168 > 54 > 18 > 2c
randomServerNameInCollection="Qt5Core.dll" + 004555C8 > 8 > 168 > 54 > 18 > 2c > 0 > 18 > 10
adrSelectedCharName="Qt5Core.dll" + 004555C8 > 8 > C > 4 > 18 > 38 > 28
adrSelectedItem_currentScreenPositionY="Qt5Widgets .dll" + 00401DC4 > 70 > 4 > 68
' adrSelectedItem_currentScreenPositionY points to a 8 bytes DOUBLE, containing the Y position of the selected row.
adrSelectedItem_currentScreenPositionX="Qt5Widgets .dll" + 00401DC4 > 70 > 4 > 60
adrSelectedItem_width="Qt5Widgets.dll" + 00401DC4 > 70 > 4 > a0
adrSelectedItem_height="Qt5Widgets.dll" + 00401DC4 > 70 > 4 > a8
adrSelectedCharName_afterCharList="Qt5Core.dll" + 004555C8 > 8 > 320 > 18 > 60 > 0
adrSelectedServerURL_afterCharList="Qt5Core.dll" + 004555C8 > 8 > 320 > 18 > 60 > 4
adrSelectedServerPORT_afterCharList="Qt5Core.dll" + 004555C8 > 8 > 320 > 18 > 60 > 8
adrSelectedServerNAME_afterCharList="Qt5Core.dll" + 004555C8 > 8 > 320 > 18 > 60 > C
adrConnectionKey="Qt5Core.dll" + 004555C8 > 8 > 1D8 > 2F0 > 7C > B8
adrBattlelist_CollectionStart="Qt5Core.dll" + 004555C8 > 8 > 1D8 > E4 > 8
adrNewBlueSquare="Qt5Core.dll" + 004555C8 > 8 > 1D8 > E4 > 14
adrNewRedSquare="Qt5Core.dll" + 004555C8 > 8 > 1D8 > E4 > 1C
// Your player ID can be obtained near:
adrNum="Qt5Core.dll" + 004555C8 > 8 > 1D8 > E4 > 10
// and it is *usually* the first ID in battlelist (NOT ALWAYS):
adrNum1="Qt5Core.dll" + 004555C8 > 8 > 1D8 > E4 > 8 > 0 > 14 > 10
// battlelist, ID of other creature there:
adrNum2="Qt5Core.dll" + 004555C8 > 8 > 1D8 > E4 > 8 > 8 > 14 > 10
Needs further testing and investigation:
adrSelectedCharIndex="Qt5Gui.dll"+00482EE4 > 20 > C > 58 > 4 > F8 > 418
WARNING: does not work after login into game: "Qt5Gui.dll"+00482EE4 > 20 > C > 58 > 4 > F8 = 0
However, when you are ingame you can read selected char name directly:
adrSelectedCharName="Qt5Core.dll" + 004555C8 > 8 > C > 4 > 18 > 38 > 28
' Note: this is address is set only while game is connected, being a good way to know if you are connected.
' adrSelectedCharName_afterCharList is set much faster, but it is not good as a way to know if you are connected.
adrSelectedCharIndex="Qt5Gui.dll"+00482EE4 > 20 > C > 58 > 4 > 108 > 4 > 28 > 0 > 4 > F8 > 418
adrFirstLocalChat_MsgStruct="Qt5Core.dll" + 004555C8 > 8 > 1D8 > FC > 14 > 18 > 0 > 0
LocalChat_FirstLineText_Unicode="Qt5Core.dll" + 004555C8 > 8 > 1D8 > FC > 14 > 18 > 0 > 8 > 10
SELECTEDCHANNEL_FirstLineText_Unicode="Qt5Gui.dll" + 00482EE4 > 28 > 0 > 118 > 64 > 18 > 0 > 8 > 10
SELECTEDCHANNEL_FirstLineText_Unicode="Qt5Core.dll" + 004555C8 > 8 > 118 > 64 > 18 > 0 > 8 > 10
SELECTEDCHANNEL_ChannelName_Unicode="Qt5Core.dll" + 004555C8 > 8 > 118 > 64 > 10 > 10 > 10
SELECTEDCHANNEL_FirstLineText_Unicode=adrChatLog_t abStruct> 64 > 18 > 0 > 8 > 10
SELECTEDCHANNEL_ChannelName_Unicode=adrChatLog_tab Struct > 64 > 10 > 10 > 8 > 10