= reward.level and (reward.storage <= 0 or getPlayerStorageValue(cid, reward.storage) ~= 1)) then if(not reward.callback or reward.callback(cid, reward)) then local continue = true if(reward.item) then if(not reward.inside) then if(doPlayerAddItem(cid, reward.item, reward.count or 1) == false) then continue = false end elseif(isItemContainer(reward.item)) then local container = doCreateItemEx(reward.item, 1) for _, item in ipairs(reward.inside) do doAddContainerItem(container, item.id, item.count or 1) end if(doPlayerAddItemEx(cid, container, false) ~= RETURNVALUE_NOERROR) then continue = false end end end if(continue) then if(reward.storage > 0) then setPlayerStorageValue(cid, reward.storage, 1) end local message = reward.message or config.message if(type(reward.message) == 'boolean') then message = reward.message end if(message) then local t = { ["NAME"] = getCreatureName(cid), ["SKILL"] = SKILL_NAMES[skill], ["OLDLEVEL"] = oldLevel, ["NEWLEVEL"] = newLevel, ["LEVEL"] = reward.level } if(reward.item) then t["ITEM"] = getItemNameById(reward.item) if(reward.count) then t["ITEMCOUNT"] = reward.count end end local messageType = reward.messageType or config.messageType if(messageType) then doPlayerSendTextMessage(cid, messageType, tostring(message:gsub("{(.-)}", function(v) return t[v] end))) end end local effect = reward.effect or config.effect if(effect) then doSendMagicEffect(getCreaturePosition(cid), effect) end end end end end return true end ]]>