use vocation functions instead of promotion like setplayervocation and getplayervocation
something like this
function onUse(cid, item, fromPosition, itemEx, toPosition)
local cfg = {level = 1, vocs = { 5, 6, 7, 8 }, storage = 45231, cost = 0, msgtype = MESSAGE_STATUS_CONSOLE_BLUE }
if...