otland / forgottenserver

A free and open-source MMORPG server emulator written in C++
https://otland.net
GNU General Public License v2.0
1.57k stars 1.05k forks source link

moveUpStairs() #4652

Closed Fanghis closed 4 months ago

Fanghis commented 4 months ago

https://github.com/otland/forgottenserver/blob/31d6e85de2a86fb3f0e36c63509fba75b855b8bd/data/actions/scripts/other/teleport.lua#L4

Using a ladder, if there is no tile on top , but a tile at east/west, it teleports player correctly (swap). But it sends an error:

Lua Script Error: [Action Interface] data/actions/scripts/other/teleport.lua:onUse LuaScriptInterface::getNumber(). Argument -1 has out-of-range value for unsigned short: -1 stack traceback: [C]: in function '__add' data/lib/core/position.lua:42: in function 'moveUpstairs' data/actions/scripts/other/teleport.lua:4: in function <data/actions/scripts/other/teleport.lua:2>

Lua Script Error: [Action Interface] data/actions/scripts/other/teleport.lua:onUse LuaScriptInterface::getNumber(). Argument -1 has out-of-range value for unsigned short: -1 stack traceback: [C]: in function '__add' data/lib/core/position.lua:42: in function 'moveUpstairs' data/actions/scripts/other/teleport.lua:4: in function <data/actions/scripts/other/teleport.lua:2>

Until now the only fix i found is add tiles upper a ladder, but there is some ladders like Rathleton, they go to East/West and there is no a tile at north, using a ladder.

MillhioreBT commented 4 months ago

It is very likely that you need to update your library, specifically the file data/lib/core/position.lua

Fanghis commented 4 months ago

It is very likely that you need to update your library, specifically the file data/lib/core/position.lua

Thanks you for the tip, i downloaded latest 1.4 and i didn't see the function was bit different, fixed.