= 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
]]>