In that case, isn't the function in compat.lua wrong? I mean, it will multiply twice if useMulti is true (one in that function and the other in onGainExperience event)
A free and open-source MMORPG server emulator written in C++ - otland/forgottenserver
github.com