Potrzebuje pomocy z offsetami do listy z actionbar oraz listy spectators z pozycjami (w offsetach mam spectators, ale to nie są instancje klasy TCreature, jest tylko .distance .id .hppercent, spradziłem w kodzie gdzie jest zapisywany distance ale wszystko w tej nowej tibii zagmatwane, nie ogarniam jak dojść do posx, posy, posz wszystkich spec). No i chciałbym zahaczyć wszystkie kafelki z actionbar. O wywoływaniu funkcji wewnętrznych nawet nie marzę bo to trudne, ten kod jest jakiś arcytrudny.
Tu macie lokalny serwer z klientem dla którego robiłem offsety, nie trzeba tworzyć konta w real tibii czy otsie. Wystarczy uruchomić lokalny serwer, w paczce jest wgrany, wystarczy tylko uruchomić serwer i klienta, 10 sekund roboty.
https://otland.net/threads/portable-local-real-server-13-21-13839-no-need-to-setup-anything-just-download-and-run-portable-xampp-canary-tibia-client.286542/https://mega.nz/file/1QNkGSiA#MvRPkLCzJXQfpJDXPn-q88cCKdtgV8-j4wXmJ_depVsTu moje offsety do CE:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
<CheatEntries>
<CheatEntry>
<ID>0</ID>
<Description>"tibia::game::TGameserverGameSession"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"client_127.0.0.1.exe"+011D819C</Address>
</CheatEntry>
<CheatEntry>
<ID>27</ID>
<Description>"Pointer to instance of tibia::worldmap::TWorldMapStorage"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+144</Address>
</CheatEntry>
<CheatEntry>
<ID>20</ID>
<Description>"Pointer to instance of tibia::worldmap::TWorldMapGameActionHandler"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+B4</Address>
</CheatEntry>
<CheatEntry>
<ID>33</ID>
<Description>"Pointer to instance of tibia::skillwheel::TSkillWheelGameActionHandler"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+3DC</Address>
</CheatEntry>
<CheatEntry>
<ID>21</ID>
<Description>"Pointer to instance of tibia::input::TUseWithGameActionHandler"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+BC</Address>
</CheatEntry>
<CheatEntry>
<ID>35</ID>
<Description>"Pointer to instance of tibia::input::TPlayerMovementIntentHandler"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+4D8</Address>
</CheatEntry>
<CheatEntry>
<ID>34</ID>
<Description>"Pointer to instance of tibia::input::TPlayerMovementGameActionHandler"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+4D0</Address>
</CheatEntry>
<CheatEntry>
<ID>14</ID>
<Description>"Pointer to instance of tibia::input::TKeyboardShortcutHandler"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+88</Address>
</CheatEntry>
<CheatEntry>
<ID>17</ID>
<Description>"Pointer to instance of tibia::input::TGenericGameActionHandler"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+9C</Address>
</CheatEntry>
<CheatEntry>
<ID>11</ID>
<Description>"Pointer to instance of tibia::input::TGenericGameActionHandler"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+9C</Address>
</CheatEntry>
<CheatEntry>
<ID>36</ID>
<Description>"Pointer to instance of tibia::input::TActionButtonGameActionHandler"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+528</Address>
</CheatEntry>
<CheatEntry>
<ID>26</ID>
<Description>"Pointer to instance of tibia::gamewindow::TBattleListGameActionHandler"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+F4</Address>
</CheatEntry>
<CheatEntry>
<ID>75</ID>
<Description>"Pointer to instance of tibia::creatures::TBattleListRenderProvider"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+41C</Address>
<CheatEntries>
<CheatEntry>
<ID>76</ID>
<Description>"current_spectators_count_in_battlelist"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+41C]+34</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>70</ID>
<Description>"Pointer to instance of tibia::gamewindow::TBattleListControllerStorage"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[[[[["client_127.0.0.1.exe"+011D819C]+4]+24]+8]+34]+14</Address>
<CheatEntries>
<CheatEntry>
<ID>71</ID>
<Description>"spectators, 64bytes 1 spec"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[[[[[["client_127.0.0.1.exe"+011D819C]+4]+24]+8]+34]+14]+20</Address>
<CheatEntries>
<CheatEntry>
<ID>72</ID>
<Description>"[0] -> id"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[[[[[[["client_127.0.0.1.exe"+011D819C]+4]+24]+8]+34]+14]+20]+0</Address>
</CheatEntry>
<CheatEntry>
<ID>74</ID>
<Description>"[0] -> distance"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[[[[[[["client_127.0.0.1.exe"+011D819C]+4]+24]+8]+34]+14]+20]+58</Address>
</CheatEntry>
<CheatEntry>
<ID>73</ID>
<Description>"[0] -> health_percent"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Float</VariableType>
<Address>[[[[[[["client_127.0.0.1.exe"+011D819C]+4]+24]+8]+34]+14]+20]+8</Address>
</CheatEntry>
<CheatEntry>
<ID>80</ID>
<Description>"[1] -> id"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[[[[[[["client_127.0.0.1.exe"+011D819C]+4]+24]+8]+34]+14]+20]+64</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>15</ID>
<Description>"Pointer to instance of tibia::game::TSpellInfoStorage"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+90</Address>
</CheatEntry>
<CheatEntry>
<ID>23</ID>
<Description>"Pointer to instance of tibia::game::TPlayerGameActionHandler"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+CC</Address>
</CheatEntry>
<CheatEntry>
<ID>12</ID>
<Description>"Pointer to instance of tibia::game::TPlayerData"</Description>
<Options moActivateChildrenAsWell="1"/>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+68</Address>
<CheatEntries>
<CheatEntry>
<ID>45</ID>
<Description>"mana"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+68]+50</Address>
</CheatEntry>
<CheatEntry>
<ID>46</ID>
<Description>"max_mana"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+68]+54</Address>
</CheatEntry>
<CheatEntry>
<ID>47</ID>
<Description>"health"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+68]+C</Address>
</CheatEntry>
<CheatEntry>
<ID>48</ID>
<Description>"max_health"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+68]+10</Address>
</CheatEntry>
<CheatEntry>
<ID>49</ID>
<Description>"exp"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>8 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+68]+20</Address>
</CheatEntry>
<CheatEntry>
<ID>50</ID>
<Description>"cap"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+68]+14</Address>
</CheatEntry>
<CheatEntry>
<ID>51</ID>
<Description>"level"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>2 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+68]+28</Address>
</CheatEntry>
<CheatEntry>
<ID>52</ID>
<Description>"level_percent"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>2 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+68]+2A</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>16</ID>
<Description>"Pointer to instance of tibia::game::TPassiveAbilityInfoStorage"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+98</Address>
</CheatEntry>
<CheatEntry>
<ID>13</ID>
<Description>"Pointer to instance of tibia::game::TCooldownStorage"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+70</Address>
</CheatEntry>
<CheatEntry>
<ID>31</ID>
<Description>"Pointer to instance of tibia::cyclopedia::TCharacterInfoStorage"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+20C</Address>
</CheatEntry>
<CheatEntry>
<ID>28</ID>
<Description>"Pointer to instance of tibia::creatures::TCreatureStorage"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+154</Address>
<CheatEntries>
<CheatEntry>
<ID>60</ID>
<Description>"total_creatures_count_in_battlelist_from_game_start"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+154]+C</Address>
</CheatEntry>
<CheatEntry>
<ID>62</ID>
<Description>"player_id"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+154]+10</Address>
</CheatEntry>
<CheatEntry>
<ID>58</ID>
<Description>"creature_id_on_cursor"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+154]+14</Address>
</CheatEntry>
<CheatEntry>
<ID>59</ID>
<Description>"attacking_creature_id"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+154]+1C</Address>
</CheatEntry>
<CheatEntry>
<ID>85</ID>
<Description>"Pointer to instance of tibia::creatures::TCreature ??? maybe last creature found, but it's delayed, bad..."</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[[[["client_127.0.0.1.exe"+011D819C]+154]+8]+8]+14</Address>
<CheatEntries>
<CheatEntry>
<ID>89</ID>
<Description>"health"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Byte</VariableType>
<Address>[[[[["client_127.0.0.1.exe"+011D819C]+154]+8]+8]+14]+84</Address>
</CheatEntry>
<CheatEntry>
<ID>90</ID>
<Description>"x"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[[[[["client_127.0.0.1.exe"+011D819C]+154]+8]+8]+14]+24</Address>
</CheatEntry>
<CheatEntry>
<ID>91</ID>
<Description>"y"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[[[[["client_127.0.0.1.exe"+011D819C]+154]+8]+8]+14]+28</Address>
</CheatEntry>
<CheatEntry>
<ID>92</ID>
<Description>"z"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[[[[["client_127.0.0.1.exe"+011D819C]+154]+8]+8]+14]+2C</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>18</ID>
<Description>"Pointer to instance of tibia::creatures::TCreaturesGameActionHandler"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+A4</Address>
</CheatEntry>
<CheatEntry>
<ID>32</ID>
<Description>"Pointer to instance of tibia::creatures::TCreature (player)"</Description>
<Options moActivateChildrenAsWell="1"/>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+27C</Address>
<CheatEntries>
<CheatEntry>
<ID>61</ID>
<Description>"id"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+27C]+10</Address>
</CheatEntry>
<CheatEntry>
<ID>37</ID>
<Description>"posx"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+27C]+24</Address>
</CheatEntry>
<CheatEntry>
<ID>38</ID>
<Description>"posy"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+27C]+28</Address>
</CheatEntry>
<CheatEntry>
<ID>39</ID>
<Description>"posz"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+27C]+2C</Address>
</CheatEntry>
<CheatEntry>
<ID>41</ID>
<Description>"speed"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>2 Bytes</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+27C]+58</Address>
</CheatEntry>
<CheatEntry>
<ID>42</ID>
<Description>"is_out_of_pz"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Byte</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+27C]+3C</Address>
</CheatEntry>
<CheatEntry>
<ID>43</ID>
<Description>"dir"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Byte</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+27C]+54</Address>
</CheatEntry>
<CheatEntry>
<ID>44</ID>
<Description>"dir_on_walk"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Byte</VariableType>
<Address>[["client_127.0.0.1.exe"+011D819C]+27C]+55</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>30</ID>
<Description>"Pointer to instance of tibia::container::TObjectCountStorage"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+184</Address>
</CheatEntry>
<CheatEntry>
<ID>29</ID>
<Description>"Pointer to instance of tibia::container::TContainerStorage"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+174</Address>
</CheatEntry>
<CheatEntry>
<ID>19</ID>
<Description>"Pointer to instance of tibia::container::TContainerGameActionHandler"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+AC</Address>
</CheatEntry>
<CheatEntry>
<ID>22</ID>
<Description>"Pointer to instance of tibia::chat::TChatGameActionHandler"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>["client_127.0.0.1.exe"+011D819C]+C4</Address>
</CheatEntry>
</CheatEntries>
<UserdefinedSymbols/>
</CheatTable>
#tibia #ots #reverseengineering #cheatengine #ghidra
https://github.com/RevEngAI/reai-ghidra
https://github.com/philsajdak/decyx