There is a script for custom text position in the wiki:
But that is no dynamic positioning. I guess it is possible to get the characters Position, do some math and then set the text positon via variables.
Edit:
function adaptedTextPosition(text)
-- show texts of character Hero 10 pixel below character position
local owner = text:getLink(VTextOwner)
if owner:getId().tableId == eCharacters and owner:getName() == 'Hero' then
local pos = owner:getPoint(VCharacterPosition)
pos.y = pos.y + 10
text:setValue(VTextPosition, pos)
return true
end
return false
end
registerHookFunction("setTextPosition", "adaptedTextPosition")