function onUse(player, item, fromPosition, target, toPosition, isHotkey)
chest = questChests[item:getAttribute('uid')]
if not chest then return true end
--------------Check if player has already opened the chest-----
if player:getStorageValue(item:getAttribute('uid')) == 1 then
return player:sendTextMessage(MESSAGE_STATUS_CONSOLE_GREEN, "The chest is empty.")
end
--------------Check if player has quest status-----------------
if chest.storage and chest.status then
if player:getStorageValue(chest.storage) ~= chest.status then
return player:sendTextMessage(MESSAGE_STATUS_CONSOLE_GREEN, chest.questMsg_fail)
end
end
---------------Check if player has level requirement------------
if chest.levelReq then
if player:getLevel() < chest.levelReq then
return player:sendTextMessage(MESSAGE_STATUS_CONSOLE_GREEN, "You must be level "..chest.levelReq.. " to open this chest.")
end
end
--------------Check if player has key required-------------------
if chest.keyReq then
if player:getItemCount(chest.keyReq) < 1 then
return player:sendTextMessage(MESSAGE_STATUS_CONSOLE_GREEN, "This chest requires a key to open.")
end
end
------------Give player EXP reward-------------------------------
if chest.expReward then
player:addExperience(chest.expReward, true)
end
------------Give player reward items---------------------
if quest.item_reward then
for i = 1, #quest.item_reward do
player:addItem(quest.item_reward[i].itemid, quest.item_reward[i].count, 1)
end
end
------------Give player outfit reward--------------------
if quest.outfit_reward then
for i = 1, #quest.outfit_reward do
if player:getSex() == 0 then
player:addOutfit(quest.outfit_reward[i].female, quest.outfit_reward[i].addons)
else
player:addOutfit(quest.outfit_reward[i].male, quest.outfit_reward[i].addons)
end
end
end
-----------Give player addon reward-----------------------
if quest.addon_reward then
for i = 1, #quest.addon_reward do
if player:getSex() == 0 then
if quest.addon_reward.addons = 1 then
player:addOutfitAddon(quest.addon_reward[i].female, 1)
else
player:addOutfitAddon(quest.addon_reward[i].female, 1)
player:addOutfitAddon(quest.addon_reward[i].female, 2)
end
else
if quest.addon_reward.addons = 1 then
player:addOutfitAddon(quest.addon_reward[i].male, 1)
else
player:addOutfitAddon(quest.addon_reward[i].male, 1)
player:addOutfitAddon(quest.addon_reward[i].male, 2)
end
end
end
end
----------Give player mount reward--------------------------
if quest.mount_reward then
for i = 1, #quest.mount_reward do
player:addMount(quest.mount_reward.mountId)
end
end
if quest.questStatus then
player:setStorageValue(quest.questStorage, quest.questStatus + 1)
end
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_GREEN, "You have recieved your reward.")
player:setStorageValue(item:getAttribute('uid'), 1)
return false
end