• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Downgraded 13.x assets to .dat/.spr format

If i change these items names to id in loot list, will it be enough to make it fix?
yes that is enough and correct way to fix that error

worth error is because your tfs doesn't have that attribute, you can just remove that value from items
shoottype error is because those are not present in const.h and tools.cpp, copy them from tfs 1.5 and recompile
 
yes that is enough and correct way to fix that error

worth error is because your tfs doesn't have that attribute, you can just remove that value from items
shoottype error is because those are not present in const.h and tools.cpp, copy them from tfs 1.5 and recompile
hello,
i used your instruction and when i recompiled it i had an error. have you any idea how to fix it?

Lua:
[  1%] Checking the git repository for changes...
[  1%] Built target check_git
[  2%] Building CXX object CMakeFiles/tfs.dir/src/items.cpp.o
/home/OT/src/items.cpp:1457:62: error: redefinition of ‘const std::unordered_map<std::__cxx11::basic_string<char>, ItemParseAttributes_t> ItemParseAttributesMap’
 1457 | const std::unordered_map<std::string, ItemParseAttributes_t> ItemParseAttributesMap = {
      |                                                              ^~~~~~~~~~~~~~~~~~~~~~
/home/OT/src/items.cpp:55:62: note: ‘const std::unordered_map<std::__cxx11::basic_string<char>, ItemParseAttributes_t> ItemParseAttributesMap’ previously declared here
   55 | const std::unordered_map<std::string, ItemParseAttributes_t> ItemParseAttributesMap = {
      |                                                              ^~~~~~~~~~~~~~~~~~~~~~
/home/OT/src/items.cpp:1580:52: error: redefinition of ‘const std::unordered_map<std::__cxx11::basic_string<char>, ItemTypes_t> ItemTypesMap’
 1580 | const std::unordered_map<std::string, ItemTypes_t> ItemTypesMap = {
      |                                                    ^~~~~~~~~~~~
/home/OT/src/items.cpp:178:52: note: ‘const std::unordered_map<std::__cxx11::basic_string<char>, ItemTypes_t> ItemTypesMap’ previously declared here
  178 | const std::unordered_map<std::string, ItemTypes_t> ItemTypesMap = {
      |                                                    ^~~~~~~~~~~~
/home/OT/src/items.cpp:1593:52: error: redefinition of ‘const std::unordered_map<std::__cxx11::basic_string<char>, tileflags_t> TileStatesMap’
 1593 | const std::unordered_map<std::string, tileflags_t> TileStatesMap = {
      |                                                    ^~~~~~~~~~~~~
/home/OT/src/items.cpp:191:52: note: ‘const std::unordered_map<std::__cxx11::basic_string<char>, tileflags_t> TileStatesMap’ previously declared here
  191 | const std::unordered_map<std::string, tileflags_t> TileStatesMap = {
      |                                                    ^~~~~~~~~~~~~
/home/OT/src/items.cpp:1603:51: error: redefinition of ‘const std::unordered_map<std::__cxx11::basic_string<char>, RaceType_t> RaceTypesMap’
 1603 | const std::unordered_map<std::string, RaceType_t> RaceTypesMap = {
      |                                                   ^~~~~~~~~~~~
/home/OT/src/items.cpp:201:51: note: ‘const std::unordered_map<std::__cxx11::basic_string<char>, RaceType_t> RaceTypesMap’ previously declared here
  201 | const std::unordered_map<std::string, RaceType_t> RaceTypesMap = {
      |                                                   ^~~~~~~~~~~~
/home/OT/src/items.cpp:1611:53: error: redefinition of ‘const std::unordered_map<std::__cxx11::basic_string<char>, WeaponType_t> WeaponTypesMap’
 1611 | const std::unordered_map<std::string, WeaponType_t> WeaponTypesMap = {
      |                                                     ^~~~~~~~~~~~~~
/home/OT/src/items.cpp:209:53: note: ‘const std::unordered_map<std::__cxx11::basic_string<char>, WeaponType_t> WeaponTypesMap’ previously declared here
  209 | const std::unordered_map<std::string, WeaponType_t> WeaponTypesMap = {
      |                                                     ^~~~~~~~~~~~~~
/home/OT/src/items.cpp:1621:53: error: redefinition of ‘const std::unordered_map<std::__cxx11::basic_string<char>, FluidTypes_t> FluidTypesMap’
 1621 | const std::unordered_map<std::string, FluidTypes_t> FluidTypesMap = {
      |                                                     ^~~~~~~~~~~~~
/home/OT/src/items.cpp:219:53: note: ‘const std::unordered_map<std::__cxx11::basic_string<char>, FluidTypes_t> FluidTypesMap’ previously declared here
  219 | const std::unordered_map<std::string, FluidTypes_t> FluidTypesMap = {
      |                                                     ^~~~~~~~~~~~~
/home/OT/src/items.cpp:1643:1: error: redefinition of ‘Items::Items()’
 1643 | Items::Items()
      | ^~~~~
/home/OT/src/items.cpp:241:1: note: ‘Items::Items()’ previously defined here
  241 | Items::Items()
      | ^~~~~
/home/OT/src/items.cpp:1649:6: error: redefinition of ‘void Items::clear()’
 1649 | void Items::clear()
      |      ^~~~~
/home/OT/src/items.cpp:247:6: note: ‘void Items::clear()’ previously defined here
  247 | void Items::clear()
      |      ^~~~~
/home/OT/src/items.cpp:1657:6: error: redefinition of ‘bool Items::reload()’
 1657 | bool Items::reload()
      |      ^~~~~
/home/OT/src/items.cpp:255:6: note: ‘bool Items::reload()’ previously defined here
  255 | bool Items::reload()
      |      ^~~~~
/home/OT/src/items.cpp:1672:16: error: conflicting declaration ‘constexpr const auto OTBI’
 1672 | constexpr auto OTBI = OTB::Identifier{{'O','T', 'B', 'I'}};
      |                ^~~~
/home/OT/src/items.cpp:270:16: note: previous declaration as ‘constexpr const std::array<char, 4> OTBI’
  270 | constexpr auto OTBI = OTB::Identifier{{'O','T', 'B', 'I'}};
      |                ^~~~
/home/OT/src/items.cpp:1675:6: error: redefinition of ‘bool Items::loadFromOtb(const string&)’
 1675 | bool Items::loadFromOtb(const std::string& file)
      |      ^~~~~
/home/OT/src/items.cpp:272:6: note: ‘bool Items::loadFromOtb(const string&)’ previously defined here
  272 | bool Items::loadFromOtb(const std::string& file)
      |      ^~~~~
/home/OT/src/items.cpp:1920:6: error: redefinition of ‘bool Items::loadFromXml()’
 1920 | bool Items::loadFromXml()
      |      ^~~~~
/home/OT/src/items.cpp:501:6: note: ‘bool Items::loadFromXml()’ previously defined here
  501 | bool Items::loadFromXml()
      |      ^~~~~
/home/OT/src/items.cpp:1959:6: error: redefinition of ‘void Items::buildInventoryList()’
 1959 | void Items::buildInventoryList()
      |      ^~~~~
/home/OT/src/items.cpp:540:6: note: ‘void Items::buildInventoryList()’ previously defined here
  540 | void Items::buildInventoryList()
      |      ^~~~~
/home/OT/src/items.cpp:1981:6: error: redefinition of ‘void Items::parseItemNode(const pugi::xml_node&, uint16_t)’
 1981 | void Items::parseItemNode(const pugi::xml_node& itemNode, uint16_t id)
      |      ^~~~~
/home/OT/src/items.cpp:562:6: note: ‘void Items::parseItemNode(const pugi::xml_node&, uint16_t)’ previously defined here
  562 | void Items::parseItemNode(const pugi::xml_node& itemNode, uint16_t id)
      |      ^~~~~
/home/OT/src/items.cpp:2825:11: error: redefinition of ‘ItemType& Items::getItemType(size_t)’
 2825 | ItemType& Items::getItemType(size_t id)
      |           ^~~~~
/home/OT/src/items.cpp:1411:11: note: ‘ItemType& Items::getItemType(size_t)’ previously defined here
 1411 | ItemType& Items::getItemType(size_t id)
      |           ^~~~~
/home/OT/src/items.cpp:2833:17: error: redefinition of ‘const ItemType& Items::getItemType(size_t) const’
 2833 | const ItemType& Items::getItemType(size_t id) const
      |                 ^~~~~
/home/OT/src/items.cpp:1419:17: note: ‘const ItemType& Items::getItemType(size_t) const’ previously defined here
 1419 | const ItemType& Items::getItemType(size_t id) const
      |                 ^~~~~
/home/OT/src/items.cpp:2841:17: error: redefinition of ‘const ItemType& Items::getItemIdByClientId(uint16_t) const’
 2841 | const ItemType& Items::getItemIdByClientId(uint16_t spriteId) const
      |                 ^~~~~
/home/OT/src/items.cpp:1427:17: note: ‘const ItemType& Items::getItemIdByClientId(uint16_t) const’ previously defined here
 1427 | const ItemType& Items::getItemIdByClientId(uint16_t spriteId) const
      |                 ^~~~~
/home/OT/src/items.cpp:2851:10: error: redefinition of ‘uint16_t Items::getItemIdByName(const string&)’
 2851 | uint16_t Items::getItemIdByName(const std::string& name)
      |          ^~~~~
/home/OT/src/items.cpp:1437:10: note: ‘uint16_t Items::getItemIdByName(const string&)’ previously defined here
 1437 | uint16_t Items::getItemIdByName(const std::string& name)
      |          ^~~~~
make[2]: *** [CMakeFiles/tfs.dir/build.make:608: CMakeFiles/tfs.dir/src/items.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:144: CMakeFiles/tfs.dir/all] Error 2
make: *** [Makefile:103: all] Error 2
 
Hello,
Any tips on how to running this .dat and .spr on 8.00 protocol with otclientv8?
Greetings
 
Hello,
Any tips on how to running this .dat and .spr on 8.00 protocol with otclientv8?
Greetings
Downgrade to 8.0 on Object Builder and on otclientv8 you can add the features from this sprites on "modelus/game_features" and add at "if(version >= 790) then"
g_game.enableFeature(GameIdleAnimations)
g_game.enableFeature(GameEnhancedAnimations)
 
Downgrade to 8.0 on Object Builder and on otclientv8 you can add the features from this sprites on "modelus/game_features" and add at "if(version >= 790) then"
g_game.enableFeature(GameIdleAnimations)
g_game.enableFeature(GameEnhancedAnimations)
Hey thanks, I tried what you said, there is a problem when I compile to 8.00 version in object builder :
1645430404710.png

EDIT: But it seems to work in game, even with this 1009 error so thanks! :)
 
Last edited:
do we have to update this line in the clients.xml as well?

<otb client="10.98" version="3" id="57"/>

I mean, if we are going to use a new items.otb that is from 12.85 shouldn't we change the ID to 61?

<otb client="10.98" version="3" id="61"/> something like this?
 
do we have to update this line in the clients.xml as well?

<otb client="10.98" version="3" id="57"/>

I mean, if we are going to use a new items.otb that is from 12.85 shouldn't we change the ID to 61?

<otb client="10.98" version="3" id="61"/> something like this?
yes
 
Hello @Evil Puncker , guys, good morning/evening/night.

Got a question some of you might know the answer.

Trying to add the area of effect to a monster attack of "critical hit":

CONST_ME_CRITICAL_DAMAGE = 173,


Doing it like this, but does not seems to work:

<attack name="holy" interval="1000" chance="10" radius="5" target="0" min="-100" max="-215">
<attribute key="areaEffect" value="criticaldamage" />

Any idea how to make it work?.

Thanks, :D
 
Hello @Evil Puncker , guys, good morning/evening/night.

Got a question some of you might know the answer.

Trying to add the area of effect to a monster attack of "critical hit":

CONST_ME_CRITICAL_DAMAGE = 173,

Doing it like this, but does not seems to work:

<attack name="holy" interval="1000" chance="10" radius="5" target="0" min="-100" max="-215">
<attribute key="areaEffect" value="criticaldamage" />

Any idea how to make it work?.

Thanks, :D
I don't know what tfs you are using so I can't help... its working just fine here
asdasd.gif

make sure its added to tools.cpp as well, and if you need further help on this issue, open a new thread at support and I'll gladly help there
 
I don't know what tfs you are using so I can't help... its working just fine here
View attachment 66210

make sure its added to tools.cpp as well, and if you need further help on this issue, open a new thread at support and I'll gladly help there
TFS 1.4, and weird, i get the error of unknown effect.

Unknown areaEffect: criticaldamage

thanks for the test btw :D
 

Current Version: 12.85.11485​


What is this?​

These are Tibia.dat and Tibia.spr files in older format but with recent updates added, they can be used in old tools that still asks for them, like: RME, OTC, Object Builder etc.

How To Use​

  • !!!ALWAYS BACKUP EVERYTHING!!!
  • (Assuming you already have your TFS set up and THIS RME installed)
  • Download everything from this repository
  • Extract dat and spr.zip to your 10.98 client folder
  • Open your RME/data/clients.xml search for the 10.98 entry and change it to:
  • XML:
    <data format="10.57" dat="0x4A10" spr="0x59E48E02"/>
  • Now go into your RME/data/1098 and replace the items.otb and items.xml with the ones downloaded here

7k7hWRh.gif
lUI2Etm.gif
MpT2hQH.gif
after the actions mentioned above, when starting the server, I have this error. tell me how to fix it, please.
 

Attachments

Hi, any idea what am i doing wrong? once i do all steps shown in 1st post rme returns : "unknown item group declaration" TWICE. got item spites in the raw palette but items/other palettes like grounds etc are not working... any ideas?
 
I'm a bit lost, I don't know if I leave the rme right or not, but the only thing that works is to use this rower Release v3.8.2_z: version 12.85 · Zbizu/rme (https://github.com/Zbizu/rme/releases/tag/v3.8.2_z) as it comes and as for the client download the dat and spr from here GitHub - EPuncker/1098extended (https://github.com/EPuncker/1098extended) , and add a client.exe 10.98 and with that I use the rme in version 12.85, am I ok?

because I did the instructions on the first page and when I saved and reopened it it only showed an Unsupported client version message (8)
 
Back
Top