• 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!

Rope (or move upstairs-downstairs) non-walkeable objects and stack it.

Terotrificy

Veteran OT User
Joined
Oct 18, 2020
Messages
401
Solutions
13
Reaction score
254
Location
Santiago, Chile.
I'm using Othire 1.0 and right now i'm trying to replicate a 7.4 mechanic. Back in the days, you were able to rope big tables or barrels from rope holes and stack them, same happened when you moved those items to upper or lower floors (in stairs for example), but at the momment i can't rope a non-walkeable item above another non-walkeable item, or for example, i can't rope a non-walkeable item if i'm standing in the sqm where the item should be roped.

Anyone have any idea where or how can it be fixed? Thanks.
 
Solution
UPDATE:

Since nobody gave a fuck about this thread, here is the solution in order to make this work in ladders/stairs:

Replace into game.cpp (Game::internalMoveItem):

This line (line 1259):

C++:
flags = 0;

For this:

C++:
flags |= FLAG_IGNOREBLOCKITEM; //Bypass moveable blocking item checks.


This fixes the ladders/stairs problem.

In order to fix the rope behaviour:

Replace into game.cpp (Game::internalTeleport):

This line (line 1999):

C++:
return internalMoveItem(item->getParent(), toTile, INDEX_WHEREEVER, item, item->getItemCount(), NULL, flags);

For this:

C++:
return internalMoveItem(item->getParent(), toTile, INDEX_WHEREEVER, item, item->getItemCount(), NULL, FLAG_NOLIMIT);

h9OkoBxHuC.gif
Bumb.

I will go deeper into what i want to fix and the behaviour:

How it's working now:

If i move a non-walkeable item into stairs and then i try to move one more non-walkeable item into the same stairs, i can't, because the non-walkeable item in the lower floor can't be above the non-walkeable item in the upper floor:


How it should work:


The same goes when i want to rope a non-walkeable item, if i'm standing right where the item is gonna be roped, i can't:


I'm trying to make it work like it once worked in tibia 7.4.


By the way, i shouldn't be able to move (and i'm not able right now, working fine) a non-walkeable object above a non-walkeable object (stack them) just by moving them, it must only be possible when i move them to stairs or rope them.

I'm using othire 1.0, i guess it's a tile.cpp issue, here are the sources:

 
UPDATE:

Since nobody gave a fuck about this thread, here is the solution in order to make this work in ladders/stairs:

Replace into game.cpp (Game::internalMoveItem):

This line (line 1259):

C++:
flags = 0;

For this:

C++:
flags |= FLAG_IGNOREBLOCKITEM; //Bypass moveable blocking item checks.


This fixes the ladders/stairs problem.

In order to fix the rope behaviour:

Replace into game.cpp (Game::internalTeleport):

This line (line 1999):

C++:
return internalMoveItem(item->getParent(), toTile, INDEX_WHEREEVER, item, item->getItemCount(), NULL, flags);

For this:

C++:
return internalMoveItem(item->getParent(), toTile, INDEX_WHEREEVER, item, item->getItemCount(), NULL, FLAG_NOLIMIT);

h9OkoBxHuC.gif
 
Last edited:
Solution
Back
Top